snumin44 commited on
Commit
203df2f
ยท
verified ยท
1 Parent(s): 677d92b

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +49 -0
README.md CHANGED
@@ -88,8 +88,57 @@ Fine-tuning์— ํ™œ์šฉํ•œ ๋ฒ ์ด์Šค ๋ชจ๋ธ ๋ฐ ํ•˜์ดํผ ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” ๋‹ค์Œ
88
  ## 4. Example
89
  ์ด ๋ชจ๋ธ์€ Context๋ฅผ ์ธ์ฝ”๋”ฉํ•˜๋Š” ๋ชจ๋ธ๋กœ, Question ๋ชจ๋ธ๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
90
  ๋™์ผํ•œ ์งˆ๋ณ‘์— ๊ด€ํ•œ ์งˆ๋ฌธ๊ณผ ํ…์ŠคํŠธ๊ฐ€ ๋†’์€ ์œ ์‚ฌ๋„๋ฅผ ๋ณด์ธ๋‹ค๋Š” ์‚ฌ์‹ค์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
 
91
 
92
  ```python
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
93
  ```
94
 
95
 
 
88
  ## 4. Example
89
  ์ด ๋ชจ๋ธ์€ Context๋ฅผ ์ธ์ฝ”๋”ฉํ•˜๋Š” ๋ชจ๋ธ๋กœ, Question ๋ชจ๋ธ๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
90
  ๋™์ผํ•œ ์งˆ๋ณ‘์— ๊ด€ํ•œ ์งˆ๋ฌธ๊ณผ ํ…์ŠคํŠธ๊ฐ€ ๋†’์€ ์œ ์‚ฌ๋„๋ฅผ ๋ณด์ธ๋‹ค๋Š” ์‚ฌ์‹ค์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
91
+ ํ•™์Šต ๋ฐ์ดํ„ฐ์˜ ํŠน์„ฑ ์ƒ, ์˜ˆ์‹œ ๋ณด๋‹ค ์ •์ œ๋œ ์˜๋ฃŒ ํ…์ŠคํŠธ์— ๋Œ€ํ•ด ๋” ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
92
 
93
  ```python
94
+ import numpy as np
95
+ from transformers import AutoModel, AutoTokenizer
96
+
97
+ # Question Model
98
+ q_model_path = 'snumin44/medical-biencoder-ko-bert-question'
99
+ q_model = AutoModel.from_pretrained(q_model_path)
100
+ q_tokenizer = AutoTokenizer.from_pretrained(q_model_path)
101
+
102
+ # Context Model
103
+ c_model_path = 'snumin44/medical-biencoder-ko-bert-context'
104
+ c_model = AutoModel.from_pretrained(c_model_path)
105
+ c_tokenizer = AutoTokenizer.from_pretrained(c_model_path)
106
+
107
+
108
+ query = 'high blood pressure ์ฒ˜๋ฐฉ ์‚ฌ๋ก€'
109
+
110
+ targets = [
111
+ """๊ณ ํ˜ˆ์•• ์ง„๋‹จ.
112
+ ํ™˜์ž ์ƒ๋‹ด ๋ฐ ์ƒํ™œ์Šต๊ด€ ๊ต์ • ๊ถŒ๊ณ . ์ €์—ผ์‹, ๊ทœ์น™์ ์ธ ์šด๋™, ๊ธˆ์—ฐ, ๊ธˆ์ฃผ ์ง€์‹œ.
113
+ ํ™˜์ž ์žฌ๋ฐฉ๋ฌธ. ํ˜ˆ์••: 150/95mmHg. ์•ฝ๋ฌผ์น˜๋ฃŒ ์‹œ์ž‘. Amlodipine 5mg 1์ผ 1ํšŒ ์ฒ˜๋ฐฉ.""",
114
+
115
+ """์‘๊ธ‰์‹ค ๋„์ฐฉ ํ›„ ์œ„ ๋‚ด์‹œ๊ฒฝ ์ง„ํ–‰.
116
+ ์†Œ๊ฒฌ: Gastric ulcer์—์„œ Forrest IIb ๊ด€์ฐฐ๋จ. ์ถœํ˜ˆ์€ ์†Œ๋Ÿ‰์˜ ์‚ผ์ถœ์„ฑ ์ถœํ˜ˆ ํ˜•ํƒœ.
117
+ ์ฒ˜์น˜: ์—ํ”ผ๋„คํ”„๋ฆฐ ์ฃผ์‚ฌ๋กœ ์ถœํ˜ˆ ๊ฐ์†Œ ํ™•์ธ. Hemoclip 2๊ฐœ๋กœ ์ถœํ˜ˆ ๋ถ€์œ„ ํด๋ฆฌํ•‘ํ•˜์—ฌ ์ง€ํ˜ˆ ์™„๋ฃŒ.""",
118
+
119
+ """ํ˜ˆ์ค‘ ๋†’์€ ์ง€๋ฐฉ ์ˆ˜์น˜ ๋ฐ ์ง€๋ฐฉ๊ฐ„ ์†Œ๊ฒฌ.
120
+ ๋‹ค๋ฐœ์„ฑ gallstones ํ™•์ธ. ์ฆ์ƒ ์—†์„ ๊ฒฝ์šฐ ๊ฒฝ๊ณผ ๊ด€์ฐฐ ๊ถŒ์žฅ.
121
+ ์šฐ์ธก renal cyst, ์–‘์„ฑ ๊ฐ€๋Šฅ์„ฑ ๋†’์œผ๋ฉฐ ์ถ”๊ฐ€์ ์ธ ์ฒ˜์น˜ ๋ถˆํ•„์š” ํ•จ."""
122
+ ]
123
+
124
+ query_feature = q_tokenizer(query, return_tensors='pt')
125
+ query_outputs = q_model(**query_feature, return_dict=True)
126
+ query_embeddings = query_outputs.pooler_output.detach().numpy().squeeze()
127
+
128
+ def cos_sim(A, B):
129
+ return np.dot(A, B) / (np.linalg.norm(A) * np.linalg.norm(B))
130
+
131
+ for idx, target in enumerate(targets):
132
+ target_feature = c_tokenizer(target, return_tensors='pt')
133
+ target_outputs = c_model(**target_feature, return_dict=True)
134
+ target_embeddings = target_outputs.pooler_output.detach().numpy().squeeze()
135
+ similarity = cos_sim(query_embeddings, target_embeddings)
136
+ print(f"Similarity between query and target {idx}: {similarity:.4f}")
137
+ ```
138
+ ```
139
+ Similarity between query and target 0: 0.2674
140
+ Similarity between query and target 1: 0.0416
141
+ Similarity between query and target 2: 0.0476
142
  ```
143
 
144