Skip to main content

Introduction

This is a zero-shot relation extractor based on the paper Exploring the zero-shot limit of FewRel.

Installation

$ pip install zero-shot-re

Run the Extractor

from transformers import AutoTokenizer
from zero_shot_re import RelTaggerModel, RelationExtractor

model = RelTaggerModel.from_pretrained("fractalego/fewrel-zero-shot")
tokenizer = AutoTokenizer.from_pretrained("fractalego/fewrel-zero-shot")

relations = ['noble title', 'founding date', 'occupation of a person']
extractor = RelationExtractor(model, tokenizer, relations)
ranked_rels = extractor.rank(text='John Smith received an OBE', head='John Smith', tail='OBE')
print(ranked_rels)

with results

[('noble title', 0.9690611883997917),
 ('occupation of a person', 0.0012609362602233887),
 ('founding date', 0.00024014711380004883)]

Accuracy

The results as in the paper are

Model 0-shot 5-ways 0-shot 10-ways
(1) Distillbert 70.1±0.5 55.9±0.6
(2) Bert Large 80.8±0.4 69.6±0.5
(3) Distillbert + SQUAD 81.3±0.4 70.0±0.2
(4) Bert Large + SQUAD 86.0±0.6 76.2±0.4

This version uses the (4) Bert Large + SQUAD model

Cite as

@inproceedings{cetoli-2020-exploring,
    title = "Exploring the zero-shot limit of {F}ew{R}el",
    author = "Cetoli, Alberto",
    booktitle = "Proceedings of the 28th International Conference on Computational Linguistics",
    month = dec,
    year = "2020",
    address = "Barcelona, Spain (Online)",
    publisher = "International Committee on Computational Linguistics",
    url = "https://www.aclweb.org/anthology/2020.coling-main.124",
    doi = "10.18653/v1/2020.coling-main.124",
    pages = "1447--1451",
    abstract = "This paper proposes a general purpose relation extractor that uses Wikidata descriptions to represent the relation{'}s surface form. The results are tested on the FewRel 1.0 dataset, which provides an excellent framework for training and evaluating the proposed zero-shot learning system in English. This relation extractor architecture exploits the implicit knowledge of a language model through a question-answering approach.",
}

Metadata

Release files for zero-shot-re 0.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for zero-shot-re 0.0.4
File Size Uploaded
zero-shot-re-0.0.4.tar.gz 4.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for zero-shot-re 0.0.4
File Interpreter ABI Platform
zero_shot_re-0.0.4-py3-none-any.whl Python 3 none any Details

Total release size: 10.6 kB

Release files / zero-shot-re-0.0.4.tar.gz

Download URL zero-shot-re-0.0.4.tar.gz
Size 4.0 kB
Tags Source
SHA-256 checksum
How to use checksums
8963c6b186a0582b200c8afdc17f5a9ec3ef399ff1f7a2107ddeea59c4ab989d
BLAKE2b-256 checksum
How to use checksums
c98a088aa86607c062543fcb0d990b6aa1d22a6c9e8d338184c7bc3b6b7cf861
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.6.9

Release files / zero_shot_re-0.0.4-py3-none-any.whl

Download URL zero_shot_re-0.0.4-py3-none-any.whl
Size 6.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
eb185bb86d3116fd320f3e1e92bcbd248087c737b0a635556d77de62095adeb6
BLAKE2b-256 checksum
How to use checksums
3a30fb452a4ae973eb13f18afd90d0437c1e953bf7824fa0a64025b861be576d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.6.9

Release history Release notifications | RSS feed

This release

0.0.4 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page