Skip to main content

A zero-shot relation extractor

Project description

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.",
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zero-shot-re-0.0.4.tar.gz (4.0 kB view details)

Uploaded Source

Built Distribution

zero_shot_re-0.0.4-py3-none-any.whl (6.6 kB view details)

Uploaded Python 3

File details

Details for the file zero-shot-re-0.0.4.tar.gz.

File metadata

  • Download URL: zero-shot-re-0.0.4.tar.gz
  • Upload date:
  • Size: 4.0 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for zero-shot-re-0.0.4.tar.gz
Algorithm Hash digest
SHA256 8963c6b186a0582b200c8afdc17f5a9ec3ef399ff1f7a2107ddeea59c4ab989d
MD5 55c5ee054fb538c057deb472ca22c629
BLAKE2b-256 c98a088aa86607c062543fcb0d990b6aa1d22a6c9e8d338184c7bc3b6b7cf861

See more details on using hashes here.

File details

Details for the file zero_shot_re-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: zero_shot_re-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 6.6 kB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for zero_shot_re-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 eb185bb86d3116fd320f3e1e92bcbd248087c737b0a635556d77de62095adeb6
MD5 cd0f2590bbedb66766ebb628e66fbc8f
BLAKE2b-256 3a30fb452a4ae973eb13f18afd90d0437c1e953bf7824fa0a64025b861be576d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page