metadata
datasets:
- relbert/semeval2012_relational_similarity
model-index:
- name: relbert/roberta-large-semeval2012-mask-prompt-e-nce-classification
results:
- task:
name: Relation Mapping
type: sorting-task
dataset:
name: Relation Mapping
args: relbert/relation_mapping
type: relation-mapping
metrics:
- name: Accuracy
type: accuracy
value: 0.8073809523809524
- task:
name: Analogy Questions (SAT full)
type: multiple-choice-qa
dataset:
name: SAT full
args: relbert/analogy_questions
type: analogy-questions
metrics:
- name: Accuracy
type: accuracy
value: 0.5213903743315508
- task:
name: Analogy Questions (SAT)
type: multiple-choice-qa
dataset:
name: SAT
args: relbert/analogy_questions
type: analogy-questions
metrics:
- name: Accuracy
type: accuracy
value: 0.5222551928783383
- task:
name: Analogy Questions (BATS)
type: multiple-choice-qa
dataset:
name: BATS
args: relbert/analogy_questions
type: analogy-questions
metrics:
- name: Accuracy
type: accuracy
value: 0.6964980544747081
- task:
name: Analogy Questions (Google)
type: multiple-choice-qa
dataset:
name: Google
args: relbert/analogy_questions
type: analogy-questions
metrics:
- name: Accuracy
type: accuracy
value: 0.83
- task:
name: Analogy Questions (U2)
type: multiple-choice-qa
dataset:
name: U2
args: relbert/analogy_questions
type: analogy-questions
metrics:
- name: Accuracy
type: accuracy
value: 0.5701754385964912
- task:
name: Analogy Questions (U4)
type: multiple-choice-qa
dataset:
name: U4
args: relbert/analogy_questions
type: analogy-questions
metrics:
- name: Accuracy
type: accuracy
value: 0.5555555555555556
- task:
name: Lexical Relation Classification (BLESS)
type: classification
dataset:
name: BLESS
args: relbert/lexical_relation_classification
type: relation-classification
metrics:
- name: F1
type: f1
value: 0.9285821907488323
- name: F1 (macro)
type: f1_macro
value: 0.9245313355619169
- task:
name: Lexical Relation Classification (CogALexV)
type: classification
dataset:
name: CogALexV
args: relbert/lexical_relation_classification
type: relation-classification
metrics:
- name: F1
type: f1
value: 0.8676056338028169
- name: F1 (macro)
type: f1_macro
value: 0.7160526589344361
- task:
name: Lexical Relation Classification (EVALution)
type: classification
dataset:
name: BLESS
args: relbert/lexical_relation_classification
type: relation-classification
metrics:
- name: F1
type: f1
value: 0.6939328277356447
- name: F1 (macro)
type: f1_macro
value: 0.6839321873211963
- task:
name: Lexical Relation Classification (K&H+N)
type: classification
dataset:
name: K&H+N
args: relbert/lexical_relation_classification
type: relation-classification
metrics:
- name: F1
type: f1
value: 0.9678653404743688
- name: F1 (macro)
type: f1_macro
value: 0.8987867094809483
- task:
name: Lexical Relation Classification (ROOT09)
type: classification
dataset:
name: ROOT09
args: relbert/lexical_relation_classification
type: relation-classification
metrics:
- name: F1
type: f1
value: 0.9025383892196804
- name: F1 (macro)
type: f1_macro
value: 0.901704052042147
relbert/roberta-large-semeval2012-mask-prompt-e-nce-classification
RelBERT fine-tuned from roberta-large on
relbert/semeval2012_relational_similarity.
Fine-tuning is done via RelBERT library (see the repository for more detail).
It achieves the following results on the relation understanding tasks:
- Analogy Question (dataset, full result):
- Accuracy on SAT (full): 0.5213903743315508
- Accuracy on SAT: 0.5222551928783383
- Accuracy on BATS: 0.6964980544747081
- Accuracy on U2: 0.5701754385964912
- Accuracy on U4: 0.5555555555555556
- Accuracy on Google: 0.83
- Lexical Relation Classification (dataset, full result):
- Micro F1 score on BLESS: 0.9285821907488323
- Micro F1 score on CogALexV: 0.8676056338028169
- Micro F1 score on EVALution: 0.6939328277356447
- Micro F1 score on K&H+N: 0.9678653404743688
- Micro F1 score on ROOT09: 0.9025383892196804
- Relation Mapping (dataset, full result):
- Accuracy on Relation Mapping: 0.8073809523809524
Usage
This model can be used through the relbert library. Install the library via pip
pip install relbert
and activate model as below.
from relbert import RelBERT
model = RelBERT("relbert/roberta-large-semeval2012-mask-prompt-e-nce-classification")
vector = model.get_embedding(['Tokyo', 'Japan']) # shape of (1024, )
Training hyperparameters
The following hyperparameters were used during training:
- model: roberta-large
- max_length: 64
- mode: mask
- data: relbert/semeval2012_relational_similarity
- split: train
- data_eval: relbert/conceptnet_high_confidence
- split_eval: full
- template_mode: manual
- template: I wasn’t aware of this relationship, but I just read in the encyclopedia that is ’s
- loss_function: nce_logout
- classification_loss: True
- temperature_nce_constant: 0.05
- temperature_nce_rank: {'min': 0.01, 'max': 0.05, 'type': 'linear'}
- epoch: 30
- batch: 128
- lr: 5e-06
- lr_decay: False
- lr_warmup: 1
- weight_decay: 0
- random_seed: 0
- exclude_relation: None
- exclude_relation_eval: None
- n_sample: 640
- gradient_accumulation: 8
The full configuration can be found at fine-tuning parameter file.
Reference
If you use any resource from RelBERT, please consider to cite our paper.
@inproceedings{ushio-etal-2021-distilling-relation-embeddings,
title = "{D}istilling {R}elation {E}mbeddings from {P}re-trained {L}anguage {M}odels",
author = "Ushio, Asahi and
Schockaert, Steven and
Camacho-Collados, Jose",
booktitle = "EMNLP 2021",
year = "2021",
address = "Online",
publisher = "Association for Computational Linguistics",
}