asahi417 commited on
Commit
b235c25
1 Parent(s): e8e08b8

model update

Browse files
README.md ADDED
@@ -0,0 +1,256 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ datasets:
3
+ - relbert/semeval2012_relational_similarity
4
+ model-index:
5
+ - name: relbert/relbert-roberta-large-triplet-d-semeval2012
6
+ results:
7
+ - task:
8
+ name: Relation Mapping
9
+ type: sorting-task
10
+ dataset:
11
+ name: Relation Mapping
12
+ args: relbert/relation_mapping
13
+ type: relation-mapping
14
+ metrics:
15
+ - name: Accuracy
16
+ type: accuracy
17
+ value: 0.8682936507936508
18
+ - task:
19
+ name: Analogy Questions (SAT full)
20
+ type: multiple-choice-qa
21
+ dataset:
22
+ name: SAT full
23
+ args: relbert/analogy_questions
24
+ type: analogy-questions
25
+ metrics:
26
+ - name: Accuracy
27
+ type: accuracy
28
+ value: 0.6818181818181818
29
+ - task:
30
+ name: Analogy Questions (SAT)
31
+ type: multiple-choice-qa
32
+ dataset:
33
+ name: SAT
34
+ args: relbert/analogy_questions
35
+ type: analogy-questions
36
+ metrics:
37
+ - name: Accuracy
38
+ type: accuracy
39
+ value: 0.6884272997032641
40
+ - task:
41
+ name: Analogy Questions (BATS)
42
+ type: multiple-choice-qa
43
+ dataset:
44
+ name: BATS
45
+ args: relbert/analogy_questions
46
+ type: analogy-questions
47
+ metrics:
48
+ - name: Accuracy
49
+ type: accuracy
50
+ value: 0.7837687604224569
51
+ - task:
52
+ name: Analogy Questions (Google)
53
+ type: multiple-choice-qa
54
+ dataset:
55
+ name: Google
56
+ args: relbert/analogy_questions
57
+ type: analogy-questions
58
+ metrics:
59
+ - name: Accuracy
60
+ type: accuracy
61
+ value: 0.922
62
+ - task:
63
+ name: Analogy Questions (U2)
64
+ type: multiple-choice-qa
65
+ dataset:
66
+ name: U2
67
+ args: relbert/analogy_questions
68
+ type: analogy-questions
69
+ metrics:
70
+ - name: Accuracy
71
+ type: accuracy
72
+ value: 0.6798245614035088
73
+ - task:
74
+ name: Analogy Questions (U4)
75
+ type: multiple-choice-qa
76
+ dataset:
77
+ name: U4
78
+ args: relbert/analogy_questions
79
+ type: analogy-questions
80
+ metrics:
81
+ - name: Accuracy
82
+ type: accuracy
83
+ value: 0.6481481481481481
84
+ - task:
85
+ name: Analogy Questions (ConceptNet Analogy)
86
+ type: multiple-choice-qa
87
+ dataset:
88
+ name: ConceptNet Analogy
89
+ args: relbert/analogy_questions
90
+ type: analogy-questions
91
+ metrics:
92
+ - name: Accuracy
93
+ type: accuracy
94
+ value: 0.6190476190476191
95
+ - task:
96
+ name: Analogy Questions (TREX Analogy)
97
+ type: multiple-choice-qa
98
+ dataset:
99
+ name: TREX Analogy
100
+ args: relbert/analogy_questions
101
+ type: analogy-questions
102
+ metrics:
103
+ - name: Accuracy
104
+ type: accuracy
105
+ value: 0.7872023809523809
106
+ - task:
107
+ name: Lexical Relation Classification (BLESS)
108
+ type: classification
109
+ dataset:
110
+ name: BLESS
111
+ args: relbert/lexical_relation_classification
112
+ type: relation-classification
113
+ metrics:
114
+ - name: F1
115
+ type: f1
116
+ value: 0.9210486665662196
117
+ - name: F1 (macro)
118
+ type: f1_macro
119
+ value: 0.9162391821082241
120
+ - task:
121
+ name: Lexical Relation Classification (CogALexV)
122
+ type: classification
123
+ dataset:
124
+ name: CogALexV
125
+ args: relbert/lexical_relation_classification
126
+ type: relation-classification
127
+ metrics:
128
+ - name: F1
129
+ type: f1
130
+ value: 0.8685446009389672
131
+ - name: F1 (macro)
132
+ type: f1_macro
133
+ value: 0.7087997516468159
134
+ - task:
135
+ name: Lexical Relation Classification (EVALution)
136
+ type: classification
137
+ dataset:
138
+ name: BLESS
139
+ args: relbert/lexical_relation_classification
140
+ type: relation-classification
141
+ metrics:
142
+ - name: F1
143
+ type: f1
144
+ value: 0.695557963163597
145
+ - name: F1 (macro)
146
+ type: f1_macro
147
+ value: 0.6814413829639081
148
+ - task:
149
+ name: Lexical Relation Classification (K&H+N)
150
+ type: classification
151
+ dataset:
152
+ name: K&H+N
153
+ args: relbert/lexical_relation_classification
154
+ type: relation-classification
155
+ metrics:
156
+ - name: F1
157
+ type: f1
158
+ value: 0.9581971204006399
159
+ - name: F1 (macro)
160
+ type: f1_macro
161
+ value: 0.8922580894510105
162
+ - task:
163
+ name: Lexical Relation Classification (ROOT09)
164
+ type: classification
165
+ dataset:
166
+ name: ROOT09
167
+ args: relbert/lexical_relation_classification
168
+ type: relation-classification
169
+ metrics:
170
+ - name: F1
171
+ type: f1
172
+ value: 0.8940770918207458
173
+ - name: F1 (macro)
174
+ type: f1_macro
175
+ value: 0.8852411214961728
176
+
177
+ ---
178
+ # relbert/relbert-roberta-large-triplet-d-semeval2012
179
+
180
+ RelBERT based on [roberta-large](https://huggingface.co/roberta-large) fine-tuned on [relbert/semeval2012_relational_similarity](https://huggingface.co/datasets/relbert/semeval2012_relational_similarity) (see the [`relbert`](https://github.com/asahi417/relbert) for more detail of fine-tuning).
181
+ This model achieves the following results on the relation understanding tasks:
182
+ - Analogy Question ([dataset](https://huggingface.co/datasets/relbert/analogy_questions), [full result](https://huggingface.co/relbert/relbert-roberta-large-triplet-d-semeval2012/raw/main/analogy.forward.json)):
183
+ - Accuracy on SAT (full): 0.6818181818181818
184
+ - Accuracy on SAT: 0.6884272997032641
185
+ - Accuracy on BATS: 0.7837687604224569
186
+ - Accuracy on U2: 0.6798245614035088
187
+ - Accuracy on U4: 0.6481481481481481
188
+ - Accuracy on Google: 0.922
189
+ - Accuracy on ConceptNet Analogy: 0.6190476190476191
190
+ - Accuracy on T-Rex Analogy: 0.7872023809523809
191
+ - Lexical Relation Classification ([dataset](https://huggingface.co/datasets/relbert/lexical_relation_classification), [full result](https://huggingface.co/relbert/relbert-roberta-large-triplet-d-semeval2012/raw/main/classification.json)):
192
+ - Micro F1 score on BLESS: 0.9210486665662196
193
+ - Micro F1 score on CogALexV: 0.8685446009389672
194
+ - Micro F1 score on EVALution: 0.695557963163597
195
+ - Micro F1 score on K&H+N: 0.9581971204006399
196
+ - Micro F1 score on ROOT09: 0.8940770918207458
197
+ - Relation Mapping ([dataset](https://huggingface.co/datasets/relbert/relation_mapping), [full result](https://huggingface.co/relbert/relbert-roberta-large-triplet-d-semeval2012/raw/main/relation_mapping.json)):
198
+ - Accuracy on Relation Mapping: 0.8682936507936508
199
+
200
+
201
+ ### Usage
202
+ This model can be used through the [relbert library](https://github.com/asahi417/relbert). Install the library via pip
203
+ ```shell
204
+ pip install relbert
205
+ ```
206
+ and activate model as below.
207
+ ```python
208
+ from relbert import RelBERT
209
+ model = RelBERT("relbert/relbert-roberta-large-triplet-d-semeval2012")
210
+ vector = model.get_embedding(['Tokyo', 'Japan']) # shape of (n_dim, )
211
+ ```
212
+
213
+ ### Training hyperparameters
214
+
215
+ - model: roberta-large
216
+ - max_length: 64
217
+ - epoch: 1
218
+ - batch: 79
219
+ - random_seed: 0
220
+ - lr: 2e-05
221
+ - lr_warmup: 10
222
+ - aggregation_mode: average_no_mask
223
+ - data: relbert/semeval2012_relational_similarity
224
+ - data_name: None
225
+ - exclude_relation: None
226
+ - split: train
227
+ - split_valid: validation
228
+ - loss_function: triplet
229
+ - classification_loss: False
230
+ - loss_function_config: {'mse_margin': 1}
231
+ - augment_negative_by_positive: False
232
+
233
+ See the full configuration at [config file](https://huggingface.co/relbert/relbert-roberta-large-triplet-d-semeval2012/raw/main/finetuning_config.json).
234
+
235
+ ### Reference
236
+ If you use any resource from RelBERT, please consider to cite our [paper](https://aclanthology.org/2021.emnlp-main.712/).
237
+
238
+ ```
239
+
240
+ @inproceedings{ushio-etal-2021-distilling,
241
+ title = "Distilling Relation Embeddings from Pretrained Language Models",
242
+ author = "Ushio, Asahi and
243
+ Camacho-Collados, Jose and
244
+ Schockaert, Steven",
245
+ booktitle = "Proceedings of the 2021 Conference on Empirical Methods in Natural Language Processing",
246
+ month = nov,
247
+ year = "2021",
248
+ address = "Online and Punta Cana, Dominican Republic",
249
+ publisher = "Association for Computational Linguistics",
250
+ url = "https://aclanthology.org/2021.emnlp-main.712",
251
+ doi = "10.18653/v1/2021.emnlp-main.712",
252
+ pages = "9044--9062",
253
+ abstract = "Pre-trained language models have been found to capture a surprisingly rich amount of lexical knowledge, ranging from commonsense properties of everyday concepts to detailed factual knowledge about named entities. Among others, this makes it possible to distill high-quality word vectors from pre-trained language models. However, it is currently unclear to what extent it is possible to distill relation embeddings, i.e. vectors that characterize the relationship between two words. Such relation embeddings are appealing because they can, in principle, encode relational knowledge in a more fine-grained way than is possible with knowledge graphs. To obtain relation embeddings from a pre-trained language model, we encode word pairs using a (manually or automatically generated) prompt, and we fine-tune the language model such that relationally similar word pairs yield similar output vectors. We find that the resulting relation embeddings are highly competitive on analogy (unsupervised) and relation classification (supervised) benchmarks, even without any task-specific fine-tuning. Source code to reproduce our experimental results and the model checkpoints are available in the following repository: https://github.com/asahi417/relbert",
254
+ }
255
+
256
+ ```
analogy.bidirection.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"sat_full/test": 0.6550802139037433, "sat/test": 0.6498516320474778, "u2/test": 0.6973684210526315, "u4/test": 0.7083333333333334, "google/test": 0.944, "bats/test": 0.8171206225680934, "t_rex_relational_similarity/test": 0.8675595238095238, "conceptnet_relational_similarity/test": 0.6483516483516484, "sat/validation": 0.7027027027027027, "u2/validation": 0.6666666666666666, "u4/validation": 0.5625, "google/validation": 0.94, "bats/validation": 0.8341708542713567, "semeval2012_relational_similarity/validation": 0.7468354430379747, "t_rex_relational_similarity/validation": 0.6901709401709402, "conceptnet_relational_similarity/validation": 0.6631578947368421}
analogy.forward.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"sat_full/test": 0.6818181818181818, "sat/test": 0.6884272997032641, "u2/test": 0.6798245614035088, "u4/test": 0.6481481481481481, "google/test": 0.922, "bats/test": 0.7837687604224569, "t_rex_relational_similarity/test": 0.7872023809523809, "conceptnet_relational_similarity/test": 0.6190476190476191, "sat/validation": 0.6216216216216216, "u2/validation": 0.625, "u4/validation": 0.5416666666666666, "google/validation": 0.88, "bats/validation": 0.7889447236180904, "semeval2012_relational_similarity/validation": 0.7468354430379747, "t_rex_relational_similarity/validation": 0.6666666666666666, "conceptnet_relational_similarity/validation": 0.5947368421052631}
analogy.reverse.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"sat_full/test": 0.5855614973262032, "sat/test": 0.5816023738872403, "u2/test": 0.6710526315789473, "u4/test": 0.6597222222222222, "google/test": 0.922, "bats/test": 0.7887715397443024, "t_rex_relational_similarity/test": 0.8318452380952381, "conceptnet_relational_similarity/test": 0.5842490842490843, "sat/validation": 0.6216216216216216, "u2/validation": 0.5833333333333334, "u4/validation": 0.5625, "google/validation": 0.92, "bats/validation": 0.8241206030150754, "semeval2012_relational_similarity/validation": 0.6455696202531646, "t_rex_relational_similarity/validation": 0.6645299145299145, "conceptnet_relational_similarity/validation": 0.6263157894736842}
classification.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"lexical_relation_classification/BLESS": {"classifier_config": {"activation": "relu", "alpha": 0.0001, "batch_size": "auto", "beta_1": 0.9, "beta_2": 0.999, "early_stopping": false, "epsilon": 1e-08, "hidden_layer_sizes": [100], "learning_rate": "constant", "learning_rate_init": 0.001, "max_fun": 15000, "max_iter": 200, "momentum": 0.9, "n_iter_no_change": 10, "nesterovs_momentum": true, "power_t": 0.5, "random_state": 0, "shuffle": true, "solver": "adam", "tol": 0.0001, "validation_fraction": 0.1, "verbose": false, "warm_start": false}, "test/accuracy": 0.9210486665662196, "test/f1_macro": 0.9162391821082241, "test/f1_micro": 0.9210486665662196, "test/p_macro": 0.9148780516905698, "test/p_micro": 0.9210486665662196, "test/r_macro": 0.9179692582127968, "test/r_micro": 0.9210486665662196}, "lexical_relation_classification/CogALexV": {"classifier_config": {"activation": "relu", "alpha": 0.0001, "batch_size": "auto", "beta_1": 0.9, "beta_2": 0.999, "early_stopping": false, "epsilon": 1e-08, "hidden_layer_sizes": [100], "learning_rate": "constant", "learning_rate_init": 0.001, "max_fun": 15000, "max_iter": 200, "momentum": 0.9, "n_iter_no_change": 10, "nesterovs_momentum": true, "power_t": 0.5, "random_state": 0, "shuffle": true, "solver": "adam", "tol": 0.0001, "validation_fraction": 0.1, "verbose": false, "warm_start": false}, "test/accuracy": 0.8685446009389671, "test/f1_macro": 0.7087997516468159, "test/f1_micro": 0.8685446009389672, "test/p_macro": 0.7405076259015403, "test/p_micro": 0.8685446009389671, "test/r_macro": 0.6819423670117023, "test/r_micro": 0.8685446009389671}, "lexical_relation_classification/EVALution": {"classifier_config": {"activation": "relu", "alpha": 0.0001, "batch_size": "auto", "beta_1": 0.9, "beta_2": 0.999, "early_stopping": false, "epsilon": 1e-08, "hidden_layer_sizes": [100], "learning_rate": "constant", "learning_rate_init": 0.001, "max_fun": 15000, "max_iter": 200, "momentum": 0.9, "n_iter_no_change": 10, "nesterovs_momentum": true, "power_t": 0.5, "random_state": 0, "shuffle": true, "solver": "adam", "tol": 0.0001, "validation_fraction": 0.1, "verbose": false, "warm_start": false}, "test/accuracy": 0.695557963163597, "test/f1_macro": 0.6814413829639081, "test/f1_micro": 0.695557963163597, "test/p_macro": 0.700403799654643, "test/p_micro": 0.695557963163597, "test/r_macro": 0.6683291721139233, "test/r_micro": 0.695557963163597}, "lexical_relation_classification/K&H+N": {"classifier_config": {"activation": "relu", "alpha": 0.0001, "batch_size": "auto", "beta_1": 0.9, "beta_2": 0.999, "early_stopping": false, "epsilon": 1e-08, "hidden_layer_sizes": [100], "learning_rate": "constant", "learning_rate_init": 0.001, "max_fun": 15000, "max_iter": 200, "momentum": 0.9, "n_iter_no_change": 10, "nesterovs_momentum": true, "power_t": 0.5, "random_state": 0, "shuffle": true, "solver": "adam", "tol": 0.0001, "validation_fraction": 0.1, "verbose": false, "warm_start": false}, "test/accuracy": 0.9581971204006399, "test/f1_macro": 0.8922580894510105, "test/f1_micro": 0.9581971204006399, "test/p_macro": 0.8831042388119696, "test/p_micro": 0.9581971204006399, "test/r_macro": 0.9024914065003722, "test/r_micro": 0.9581971204006399}, "lexical_relation_classification/ROOT09": {"classifier_config": {"activation": "relu", "alpha": 0.0001, "batch_size": "auto", "beta_1": 0.9, "beta_2": 0.999, "early_stopping": false, "epsilon": 1e-08, "hidden_layer_sizes": [100], "learning_rate": "constant", "learning_rate_init": 0.001, "max_fun": 15000, "max_iter": 200, "momentum": 0.9, "n_iter_no_change": 10, "nesterovs_momentum": true, "power_t": 0.5, "random_state": 0, "shuffle": true, "solver": "adam", "tol": 0.0001, "validation_fraction": 0.1, "verbose": false, "warm_start": false}, "test/accuracy": 0.8940770918207458, "test/f1_macro": 0.8852411214961728, "test/f1_micro": 0.8940770918207458, "test/p_macro": 0.9071640115537046, "test/p_micro": 0.8940770918207458, "test/r_macro": 0.8754900223480014, "test/r_micro": 0.8940770918207458}}
config.json CHANGED
@@ -1,5 +1,5 @@
1
  {
2
- "_name_or_path": "relbert_output/ckpt/triplet_semeval2012/template-d/model",
3
  "architectures": [
4
  "RobertaModel"
5
  ],
 
1
  {
2
+ "_name_or_path": "roberta-large",
3
  "architectures": [
4
  "RobertaModel"
5
  ],
finetuning_config.json ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "template": "I wasn\u2019t aware of this relationship, but I just read in the encyclopedia that <subj> is the <mask> of <obj>",
3
+ "model": "roberta-large",
4
+ "max_length": 64,
5
+ "epoch": 1,
6
+ "batch": 79,
7
+ "random_seed": 0,
8
+ "lr": 2e-05,
9
+ "lr_warmup": 10,
10
+ "aggregation_mode": "average_no_mask",
11
+ "data": "relbert/semeval2012_relational_similarity",
12
+ "data_name": null,
13
+ "exclude_relation": null,
14
+ "split": "train",
15
+ "split_valid": "validation",
16
+ "loss_function": "triplet",
17
+ "classification_loss": false,
18
+ "loss_function_config": {
19
+ "mse_margin": 1
20
+ },
21
+ "augment_negative_by_positive": false
22
+ }
relation_mapping.json ADDED
The diff for this file is too large to render. See raw diff
 
tokenizer_config.json CHANGED
@@ -6,7 +6,7 @@
6
  "errors": "replace",
7
  "mask_token": "<mask>",
8
  "model_max_length": 512,
9
- "name_or_path": "relbert_output/ckpt/triplet_semeval2012/template-d/model",
10
  "pad_token": "<pad>",
11
  "sep_token": "</s>",
12
  "special_tokens_map_file": null,
 
6
  "errors": "replace",
7
  "mask_token": "<mask>",
8
  "model_max_length": 512,
9
+ "name_or_path": "roberta-large",
10
  "pad_token": "<pad>",
11
  "sep_token": "</s>",
12
  "special_tokens_map_file": null,