fewrel-zero-shot / README.md
Fractalego
updated README
509e315
|
raw
history blame
2.37 kB

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