Instructions to use sttempler/KORPatent-BGE with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- sentence-transformers
How to use sttempler/KORPatent-BGE with sentence-transformers:
from sentence_transformers import SentenceTransformer model = SentenceTransformer("sttempler/KORPatent-BGE") sentences = [ "The weather is lovely today.", "It's so sunny outside!", "He drove to the stadium." ] embeddings = model.encode(sentences) similarities = model.similarity(embeddings, embeddings) print(similarities.shape) # [3, 3] - Notebooks
- Google Colab
- Kaggle
KORPatent-BGE
Model Summary[EN]
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.
Model Summary[KO]
์ด ๋ชจ๋ธ์ BGE-M3๋ฅผ ๊ธฐ๋ฐ์ผ๋ก, ๋ค๋ฅธ ๋ชจ๋ธ์ด ์์ฑํ ์์ฌ ์ ์ฌ๋ ์ ์(์์ฌ ๋ ์ด๋ธ, pseudo label)์ ์์กดํ์ง ์๊ณ ์ปค๋ฆฌํ๋ผ ํธ๋ฆฌํ๋ ํ์ต(curriculum triplet learning)์ผ๋ก ๋ฏธ์ธ์กฐ์ ํ ํ๊ตญ์ด ํนํ ๋๋ฉ์ธ ์๋ฒ ๋ฉ ๋ชจ๋ธ์ ๋๋ค.
๋ฐฉ๋ํ ํนํ ์์ ๋ํด ์๋ง๋ค ์กฐ๋ฐํ ์ ์ฌ๋ ์ ์๋ฅผ ์์งํ๋ ๋ฐฉ์์ ๋น์ฉ์ด ํฌ๊ณ ์ข ์ข ์คํ์ด ๋ถ๊ฐ๋ฅํฉ๋๋ค. ์ด๋ฐ ๋ฐฉ์ ๋์ , ๋ค์์ ๊ฐ๊ด์ ๊ท์น์ ๊ธฐ๋ฐํด ์ต์ปค(Anchor) / ํฌ์งํฐ๋ธ(Positive) / ๋ค๊ฑฐํฐ๋ธ(Negative) ํธ๋ฆฌํ๋ ์ ์ ์ํ์ต๋๋ค.
- ์ฃผ(Main) IPC ๊ณ์ธต
- ํ์(Sub) IPC ๊ณ์ธต
- ํค์๋ ์ค๋ณต ์ ์ฝ ํ์ต์ 5๋จ๊ณ ์ปค๋ฆฌํ๋ผ ํ์ต(Curriculum Learning)์ ํตํด ์ฌ์ด ๊ตฌ๋ถ์์ ์ด๋ ค์ด ๊ตฌ๋ถ์ผ๋ก ์งํ๋๋ฉฐ, ๋ชจ๋ธ์ด ๊ฑฐ์น ์์ค์ ๊ธฐ์ ์ ๊ฒฝ๊ณ์ ๋ฏธ์ธํ ๊ธฐ์ ์ ์ฐจ์ด๋ฅผ ๋ชจ๋ ํ์ตํ๋๋ก ์ ๋ํฉ๋๋ค.
- ๊ธฐ๋ฐ ๋ชจ๋ธ: BGE-M3
- ์ฌํ ๊ฐ์ค์น ๋ณด๊ฐ(Post-hoc weight interpolation): ์ด๊ธฐ ๋ฏธ์ธ์กฐ์ ๋ชจ๋ธ + KURE-v1
Key Features[EN]
- Patent-domain specialization: robust semantic similarity in patent text.
- No teacher-score dependency: not used external model similarity scores as pseudo labels.
- Curriculum triplet training: with custom loss function.
- Explicit hard negatives: negatives are intentionally selected using IPC/keyword rules.
- Post-hoc interpolation: improves general-purpose behavior while retaining patent-domain gains.
Key Features[KO]
- ํนํ ๋๋ฉ์ธ ํนํ: ํนํ ํ ์คํธ์์ ๊ฒฌ๊ณ ํ ์๋ฏธ ์ ์ฌ๋๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ๊ต์ฌ ์ ์ ๋น์์กด: ์ธ๋ถ ๋ชจ๋ธ์ ์ ์ฌ๋ ์ ์๋ฅผ ์์ฌ ๋ ์ด๋ธ๋ก ์ฌ์ฉํ์ง ์์์ต๋๋ค.
- ์ปค๋ฆฌํ๋ผ ํธ๋ฆฌํ๋ ํ์ต: ์ปค์คํ ์์ค ํจ์๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- ๋ช ์์ ํ๋ ๋ค๊ฑฐํฐ๋ธ: ๋ค๊ฑฐํฐ๋ธ๋ฅผ IPC/ํค์๋ ๊ท์น์ผ๋ก ์๋์ ์ผ๋ก ์ ๋ณํฉ๋๋ค.
- ์ฌํ ๋ณด๊ฐ: ํนํ ๋๋ฉ์ธ ์ฑ๋ฅ์ ์ ์งํ๋ฉด์ ๋ฒ์ฉ ์ฑ๋ฅ์ ๊ฐ์ ํฉ๋๋ค.
Intended Use[EN]
Recommended
- Patent semantic search / prior art retrieval based on dense retrieval
- Patent clustering, de-duplication, and nearest-neighbor exploration
- Patent-to-patent similarity scoring (cosine similarity)
- For RAG
Not recommended / out of scope
- Legal advice, patent validity judgments, infringement or claim scope interpretation
- High-stakes decisions without expert review
Intended Use[KO]
๊ถ์ฅ
- ๋ฐ์ง ๊ฒ์(dense retrieval) ๊ธฐ๋ฐ ํนํ ์๋ฏธ ๊ฒ์ / ์ ํ๊ธฐ์ ์กฐ์ฌ
- ํนํ ๊ตฐ์งํ, ์ค๋ณต ์ ๊ฑฐ, ์ต๊ทผ์ ์ด์ ํ์
- ํนํ ๊ฐ ์ ์ฌ๋ ์ฐ์ (์ฝ์ฌ์ธ ์ ์ฌ๋)
- RAG ์ฉ๋
๋น๊ถ์ฅ / ์ ์ฉ ๋ฒ์ ๋ฐ
- ๋ฒ๋ฅ ์๋ฌธ, ํนํ ์ ํจ์ฑ ํ๋จ, ์นจํด ๋๋ ์ฒญ๊ตฌ๋ฒ์ ํด์
- ์ ๋ฌธ๊ฐ ๊ฒํ ์๋ ์ค๋ํ ์์ฌ๊ฒฐ์
Training Data (Title + Abstract + Claims)
- ํนํ ๋ถ์ผ ์๋๋ถ๋ฅ ๋ฐ์ดํฐ
- ๊ตญ๊ฐ์ค์ ๊ธฐ์ ๋์ ํนํ ๋ฐ์ดํฐ
- ์ฐ์ ์ ๋ณด ์ฐ๊ณ ์ฃผ์๊ตญ ํนํ ์-ํ ๋ฐ์ดํฐ
- ๊ณผํ๊ธฐ์ ํ์ค๋ถ๋ฅ ๋์ ํนํ ๋ฐ์ดํฐ
UMAP Visualization by IPC Subclass
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
from sentence_transformers import SentenceTransformer
import torch
model = SentenceTransformer("sttempler/KORPatent-BGE", device="cuda" if torch.cuda.is_available() else "cpu")
sentences = [
"์ธ๊ฐ ์ ํธ ๋ฐ์ดํฐ๋ฅผ ์ด์ฉํ์ฌ ์๋ด ์ฑ๋ด ์๋ต์ ์ ๋ ฌํ๋ RLHF ๊ธฐ๋ฐ ํ์ต ๋ฐฉ๋ฒ.",
"์ ํธ ํผ๋๋ฐฑ์ผ๋ก ๋ณด์ ์ ํธ๋ฅผ ๊ตฌ์ฑํ์ฌ ์์ฑ ๋ชจ๋ธ์ ์ํ๋ ๋ฐฉํฅ์ผ๋ก ํ์ต์ํค๋ ๋ฐฉ๋ฒ."
]
emb = model.encode(sentences, normalize_embeddings=True)
score = float(emb[0] @ emb[1].T)
print(score)
# 0.7382504343986511
Citation
If you use this model in your research, please cite the following doctoral dissertation:
@phdthesis{kim2026koreanpatentembedding,
title = {A Study on Domain-Specific Long-Context Embedding Models for Advancing Korean Patent Retrieval},
author = {Kim, Yongwoo},
school = {Hanyang University},
department = {Graduate School of Technology & Innovation Management},
year = {2026},
type = {Doctoral dissertation},
note = {Korean title: ํ๊ตญ์ด ํนํ ๊ฒ์์ ์ํ ์ฅ๋ฌธ ์๋ฒ ๋ฉ ๋ชจ๋ธ}
}
- Downloads last month
- 143
Model tree for sttempler/KORPatent-BGE
Base model
BAAI/bge-m3