Views
No views yet
1import numpy as np
2from transformers import AutoModel, AutoTokenizer
3
4model_path = 'snumin44/sap-bert-ko-en'
5model = AutoModel.from_pretrained(model_path)
6tokenizer = AutoTokenizer.from_pretrained(model_path)
7
8query = '간경화'
9
10targets = [
11 'liver cirrhosis',
12 '간경변',
13 'liver cancer',
14 '간암',
15 'brain tumor',
16 '뇌종양'
17]
18
19query_feature = tokenizer(query, return_tensors='pt')
20query_outputs = model(**query_feature, return_dict=True)
21query_embeddings = query_outputs.pooler_output.detach().numpy().squeeze()
22
23def cos_sim(A, B):
24 return np.dot(A, B) / (np.linalg.norm(A) * np.linalg.norm(B))
25
26for idx, target in enumerate(targets):
27 target_feature = tokenizer(target, return_tensors='pt')
28 target_outputs = model(**target_feature, return_dict=True)
29 target_embeddings = target_outputs.pooler_output.detach().numpy().squeeze()
30 similarity = cos_sim(query_embeddings, target_embeddings)
31 print(f"Similarity between query and target {idx}: {similarity:.4f}")Similarity between query and target 0: 0.7145
Similarity between query and target 1: 0.7186
Similarity between query and target 2: 0.6183
Similarity between query and target 3: 0.6972
Similarity between query and target 4: 0.3929
Similarity between query and target 5: 0.4260@inproceedings{liu2021self,
title={Self-Alignment Pretraining for Biomedical Entity Representations},
author={Liu, Fangyu and Shareghi, Ehsan and Meng, Zaiqiao and Basaldella, Marco and Collier, Nigel},
booktitle={Proceedings of the 2021 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies},
pages={4228--4238},
month = jun,
year={2021}
}