Downloads · 30 days
59
9% of all-time downloads
Yoonyoul/fine-tuned-e5-small-drugproduct
fine-tuned-e5-small-drugproduct is a feature extraction model from Yoonyoul. Use it when you need embeddings to search or compare text. It is set up for sentence-transformers. The card lists the license as mit.
이 모델은 intfloat/multilingual-e5-small 기반으로, 의약품 요약·상세 데이터(drugsummary, drugdetails) 및 제품 유형 정의(drugtypedefinition), DUR 규제 정의(drugdurtypedefinition)를 활용하여 한국어 의약품 도메인에 맞게 3단계 파인튜닝(fine-tuning) 된 SentenceTransformer 모델입니다.
Downloads · 30 days
59
9% of all-time downloads
All-time downloads
649
Public
Parameters
118M
958 MB on disk
Likes
8
Public
Click a slice to open those files.
.safetensors471 MB · 96%
From the Hugging Face model README
이 모델은 intfloat/multilingual-e5-small 기반으로,
의약품 요약·상세 데이터(drug_summary, drug_details) 및 제품 유형 정의(drug_type_definition), DUR 규제 정의(drug_dur_type_definition)를 활용하여
한국어 의약품 도메인에 맞게 3단계 파인튜닝(fine-tuning) 된 SentenceTransformer 모델입니다.
이 프로젝트는 다국어 환경에서도 의약품 명칭, 효능, DUR 규제의 복잡한 의미 관계를 정확히 임베딩하기 위해
E5(multilingual-E5) 계열 모델 중 intfloat/multilingual-e5-small을 선택했습니다.
선정 이유는 다음과 같습니다:
다국어 문장 표현력
효율적 성능 대비 파라미터 크기 (Small Variant)
small 모델은 약 33M 파라미터로, M1/M2 맥북 등 로컬 환경에서도 안정적으로 fine-tuning 가능했습니다.문장 단위 의미 검색(semantic retrieval)에 최적화
"기침약", "열 내리는 약")와 제품명("판콜에이", "타이레놀") 간 의미 매칭에 뛰어난 성능을 보입니다.Sentence-Transformers와 완벽한 호환성
SentenceTransformer 인터페이스와 100% 호환되어, PyTorch 기반 pipeline 통합이 용이했습니다.drug_type_def_list.csv"해열제" → "체온을 낮추는 약" 과 같은 개념 매핑 학습/model/fine_tuned_e5_small_drugtypedrug_dur_type_similarity_train.csv"임부금기", "노인주의", "병용금기" 등 DUR 타입과 전문적 설명 간 의미 매핑 학습/model/fine_tuned_e5_small_drugdurtypedrug_product_similarity_train.csv (약 3,000건 샘플)"판콜에이내복액" 같은 실제 제품과 "열을 내리는 약" 같은 질의 간 의미 매칭 강화/model/fine_tuned_e5_small_drugproduct_accumfine_tuned_e5_small_drugdurtype 모델을 기반으로,
의약품 성분(ingredient_name)과 제품 유형(product_type)을 결합한
임베딩 학습(fine_tuned_e5_small_drug_ptype_ingredients)을 추가로 수행하였습니다.
| 항목 | 값 |
|---|---|
| 학습 데이터 | "성분명은(는) 제품유형 제제에서 사용되는 의약 성분이다." |
| 샘플 사이즈 | 1,289 |
| 평균 손실 | 0.0012 |
| 유사도 평가 | 의미적 구분이 충분히 이루어지지 않음 |
| 관찰 예시 | “소염·진통제” 계열의 이부프로펜과 비관련 성분인 염화나트륨, 세티리진이 모두 0.91~0.94 수준의 유사도를 보임 |
from sentence_transformers import SentenceTransformer, util
model = SentenceTransformer("Yoonyoul/fine-tuned-e5-small-drugproduct")
query = "열을 내리는 약은?"
docs = [
"판콜에이내복액은 해열진통제입니다.",
"마이암부톨정은 항결핵제입니다.",
"지르텍정은 항히스타민제입니다."
]
emb_q = model.encode(query, convert_to_tensor=True)
emb_d = model.encode(docs, convert_to_tensor=True)
scores = util.cos_sim(emb_q, emb_d)[0]
for doc, score in zip(docs, scores):
print(f"{doc} → 유사도: {score.item():.4f}")
| 항목 | 버전 |
|---|---|
| Python | 3.12.4 |
| torch | 2.4.1 |
| transformers | 4.44.2 |
| sentence-transformers | 3.0.1 |
| accelerate | 0.27.0 |
| pandas | 2.2.3 |
intfloat/multilingual-e5-smallYoonyoul/fine-tuned-e5-small-drugproduct