한국 특허-KOS 소분류 검색 임베딩 모델
Embedding-Factory에서 한국 특허와 KOS 소분류 설명의 의미적 검색을 위해 fine-tuning한 모델입니다.
모델 정보
| 항목 | 내용 |
|---|---|
| Base model | nvidia/Nemotron-3-Embed-1B-BF16 |
| 학습 데이터 | 특허 2,002건 |
| 학습 epoch | 3 |
| cutoff length | 32,768 |
| 최종 학습 loss | 0.2505 |
| Loss | Cached Multiple Negatives Ranking Loss |
| 검색 대상 | KOS 소분류 2,522개 |
| positive 정의 | 특허에 매핑된 소분류코드 전체 |
입력 형식
특허 anchor는 초록 + 기술구성 + 배경기술을 이어 붙인 텍스트입니다.
query:
query: {patent_anchor}
taxonomy document:
passage: {taxonomy_text}
Nemotron은 query에 query: , document에 passage: 를 사용합니다. Qwen3는 query instruction을 정확히 한 번만 사용하며 taxonomy document에는 prefix를 붙이지 않습니다.
사용 예시
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("elplaguister/patent_classifier_en_nemotron_embed_1b_bf16", trust_remote_code=True)
model.max_seq_length = 32768
patent_anchor = "초록 내용 기술구성 내용 배경기술 내용"
taxonomy_text = "대분류명:...-중분류명:...-소분류명:...:소분류 설명..."
query = [f"query: {{patent_anchor}}"]
document = [f"passage: {{taxonomy_text}}"]
q_vec = model.encode(query, normalize_embeddings=True)
d_vec = model.encode(document, normalize_embeddings=True)
similarity = q_vec @ d_vec.T
평가 정보
전체 taxonomy를 검색 풀로 사용하고, 각 특허의 매핑 소분류 전체를 정답(positive)으로 평가했습니다. 평가 지표는 nDCG@10, MRR@10, Hit@1, Recall@10입니다.
업로드 파일 구성
이 폴더는 inference에 필요한 파일만 포함합니다. optimizer.pt, scheduler.pt, rng_state.pth, trainer_state.json, training_args.bin은 제외했습니다.