This model is a KOREAN patent-domain embedding model fine-tuned from BGE-M3 using curriculum triplet learning without relying on pseudo similarity scores (pseudo labels) generated by other models.
Instead of collecting dense, per-pair similarity scores for massive patent pairs—which is costly and often infeasible—we define Anchor / Positive / Negative triplets using objective rules based on:
Main IPC hierarchy
Sub IPC hierarchy
Keyword overlap constraints
Training progresses from easy discrimination to hard discrimination via 5-stage Curriculum Learning, encouraging the model to learn both coarse technical boundaries and fine-grained technical distinctions.
Patent documents inherently share highly overlapping terminology, making it fundamentally difficult to separate them based on surface-level text alone.
As an illustrative example to demonstrate our model's capability to capture true semantic context, we selected five IPC subclasses for UMAP visualization: G01D (General Measurement), G01R (Measuring Electric Variables), H03K (Pulse Techniques), G05B (Control Systems), and H01L (Semiconductor Devices).
These subclasses represent a continuous technical workflow: Measurement → Signal Processing → Control → Hardware Manufacturing. While their textual vocabularies are heavily intertwined, they have distinctly different functional roles from a domain knowledge perspective.
특허 문서는 본질적으로 매우 중첩된 용어를 공유하기 때문에, 표면적인 텍스트만으로 구분하기가 근본적으로 어렵습니다.
모델이 실제 의미적 맥락을 포착하는 능력을 보여주기 위한 예시로, UMAP 시각화에 다섯 개의 IPC 서브클래스를 선택했습니다: G01D(일반 측정), G01R(전기 변량 측정), H03K(펄스 기술), G05B(제어 시스템), H01L(반도체 소자).
이 서브클래스들은 측정 → 신호 처리 → 제어 → 하드웨어 제조로 이어지는 연속적인 기술 흐름을 나타냅니다. 텍스트 어휘는 서로 크게 얽혀 있지만, 도메인 지식 관점에서는 기능적 역할이 뚜렷이 다릅니다.
Usage
Sentence-Transformers
python
1from sentence_transformers import SentenceTransformer
2import torch
34model = SentenceTransformer("sttempler/KORPatent-BGE", device="cuda"if torch.cuda.is_available()else"cpu")56sentences =[7"인간 선호 데이터를 이용하여 상담 챗봇 응답을 정렬하는 RLHF 기반 학습 방법.",8"선호 피드백으로 보상 신호를 구성하여 생성 모델을 원하는 방향으로 학습시키는 방법."9]10emb = model.encode(sentences, normalize_embeddings=True)11score =float(emb[0] @ emb[1].T)12print(score)13# 0.7382504343986511
Citation
If you use this model in your research, please cite the following doctoral dissertation:
bibtex
1@phdthesis{kim2026koreanpatentembedding,
2 title = {A Study on Domain-Specific Long-Context Embedding Models for Advancing Korean Patent Retrieval},
3 author = {Kim, Yongwoo},
4 school = {Hanyang University},
5 department = {Graduate School of Technology & Innovation Management},
6 year = {2026},
7 type = {Doctoral dissertation},
8 note = {Korean title: 한국어 특허 검색을 위한 장문 임베딩 모델}
9}