diff --git a/WSD/embeddings/wsd_node_emb.py b/WSD/embeddings/wsd_node_emb.py index 24963df7dc3bd8f8e563c76a0f7ac65a0f1217cc..078d321028573b53a97e5590a24906237f9bb7f6 100644 --- a/WSD/embeddings/wsd_node_emb.py +++ b/WSD/embeddings/wsd_node_emb.py @@ -27,8 +27,11 @@ if __name__ == '__main__': wsd_node_embeddings = [] - for x, y, z in zip(lemma_emb, gloss_emb, pos_emb): - wsd_node_embeddings.append(np.concatenate((x, y, z))) + #for x, y, z in zip(lemma_emb, gloss_emb, pos_emb): + # wsd_node_embeddings.append(np.concatenate((x, y, z))) + + for x, y in zip(lemma_emb, gloss_emb): + wsd_node_embeddings.append(np.concatenate((x, y))) wsd_node_embeddings = np.array(wsd_node_embeddings) diff --git a/WSD/method1_experiments/generate_exp_emb.py b/WSD/method1_experiments/generate_exp_emb.py index 2cfa6da57e60823ed09faaa883d3a36cb3c2ea6f..d04dd4719f1a44d22853b1e78ce5b2448cdb10cb 100644 --- a/WSD/method1_experiments/generate_exp_emb.py +++ b/WSD/method1_experiments/generate_exp_emb.py @@ -48,7 +48,7 @@ def concatenate_embeddings(emb_list, name_list): if __name__ == '__main__': - gloss_emb = load_pickle('node_embeddings_glossdummy') + gloss_emb = load_pickle('node_embeddings_gloss') lemma_emb = load_pickle('node_embeddings_lemma') lexfile_emb = load_pickle('node_embeddings_lex_file') pos_emb = load_pickle('node_embeddings_pos') @@ -57,4 +57,4 @@ if __name__ == '__main__': embs = [gloss_emb, lemma_emb, lexfile_emb, pos_emb, id_emb] names = ['gloss', 'lemma', 'lexfile', 'pos', 'id'] - concatenate_embeddings(embs, names) \ No newline at end of file + concatenate_embeddings(embs, names) diff --git a/WSD/wsd2_exp.py b/WSD/wsd2_exp.py index e3dfb81cdca8b619914a29df12464fe7ce994aee..297ee45763c1d7875fea1864185d7a7249133d7e 100644 --- a/WSD/wsd2_exp.py +++ b/WSD/wsd2_exp.py @@ -133,15 +133,15 @@ def run_experiment(window_size, document, output_file, mfs=False): if __name__ == '__main__': - windows = [5] - output_file = "method2_experiments/output_senseval3_context_" - ''' + windows = [5,10,15,20,25] + output_file = "method2_experiments/output_senseval3_nopost_" + for win in windows: for i in senseval_3: run_experiment(win, i, output_file) - ''' - output_file = "method2_experiments/output_senseval2_mfs" + + output_file = "method2_experiments/output_senseval2_nopos_" for win in windows: for i in senseval_2: run_experiment(win, i, output_file, mfs=True) diff --git a/WSD/wsd_method2.py b/WSD/wsd_method2.py index 127bb46bf4c18936837a6d5f11af1afeb546aed1..7a4c637bfdc80f9899ffceca9423d8599b4fe739 100644 --- a/WSD/wsd_method2.py +++ b/WSD/wsd_method2.py @@ -111,8 +111,11 @@ class WSD: return no_context # embed head POS-tag as POS + pos = self.pos_mapping[head[wn_tag]] pos_repr = self.pos_embedding[pos] + + # concatenate the above for a node representation of the contextS node_repr = np.concatenate((lemma_repr, gloss_repr, pos_repr)) @@ -121,7 +124,7 @@ class WSD: for sense_id in EP_synset_ids: ep_node = self.node_embeddings[sense_id] distances.append(np.linalg.norm(ep_node - node_repr)) - # return synset_id with nearest + # return synset_id that is nearest to node representation nearest_sense = EP_synset_ids[distances.index(min(distances))] wn_nearest = self.reverse_id_mapping[nearest_sense][::-1] pred_pos = wn_nearest[0]