Sentence Similarity
sentence-transformers
Safetensors
Korean
xlm-roberta
patent
feature-extraction
text-embeddings-inference
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
| license: mit | |
| language: | |
| - ko | |
| base_model: | |
| - BAAI/bge-m3 | |
| pipeline_tag: sentence-similarity | |
| library_name: sentence-transformers | |
| tags: | |
| - patent | |
| - feature-extraction | |
| - sentence-similarity | |
| # KORPatent-BGE | |
| ## Model Summary[EN] | |
| This model is a KOREAN patent-domain embedding model fine-tuned from [BGE-M3](https://huggingface.co/BAAI/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. | |
| - Base model: [BGE-M3](https://huggingface.co/BAAI/bge-m3) | |
| - Post-hoc weight interpolation: initial fine-tuned model + [KURE-v1](https://huggingface.co/nlpai-lab/KURE-v1) | |
| ## Model Summary[KO] | |
| ์ด ๋ชจ๋ธ์ [BGE-M3](https://huggingface.co/BAAI/bge-m3)๋ฅผ ๊ธฐ๋ฐ์ผ๋ก, ๋ค๋ฅธ ๋ชจ๋ธ์ด ์์ฑํ ์์ฌ ์ ์ฌ๋ ์ ์(์์ฌ ๋ ์ด๋ธ, pseudo label)์ ์์กดํ์ง ์๊ณ ์ปค๋ฆฌํ๋ผ ํธ๋ฆฌํ๋ ํ์ต(curriculum triplet learning)์ผ๋ก ๋ฏธ์ธ์กฐ์ ํ ํ๊ตญ์ด ํนํ ๋๋ฉ์ธ ์๋ฒ ๋ฉ ๋ชจ๋ธ์ ๋๋ค. | |
| ๋ฐฉ๋ํ ํนํ ์์ ๋ํด ์๋ง๋ค ์กฐ๋ฐํ ์ ์ฌ๋ ์ ์๋ฅผ ์์งํ๋ ๋ฐฉ์์ ๋น์ฉ์ด ํฌ๊ณ ์ข ์ข ์คํ์ด ๋ถ๊ฐ๋ฅํฉ๋๋ค. ์ด๋ฐ ๋ฐฉ์ ๋์ , ๋ค์์ ๊ฐ๊ด์ ๊ท์น์ ๊ธฐ๋ฐํด ์ต์ปค(Anchor) / ํฌ์งํฐ๋ธ(Positive) / ๋ค๊ฑฐํฐ๋ธ(Negative) ํธ๋ฆฌํ๋ ์ ์ ์ํ์ต๋๋ค. | |
| - ์ฃผ(Main) IPC ๊ณ์ธต | |
| - ํ์(Sub) IPC ๊ณ์ธต | |
| - ํค์๋ ์ค๋ณต ์ ์ฝ | |
| ํ์ต์ 5๋จ๊ณ ์ปค๋ฆฌํ๋ผ ํ์ต(Curriculum Learning)์ ํตํด ์ฌ์ด ๊ตฌ๋ถ์์ ์ด๋ ค์ด ๊ตฌ๋ถ์ผ๋ก ์งํ๋๋ฉฐ, ๋ชจ๋ธ์ด ๊ฑฐ์น ์์ค์ ๊ธฐ์ ์ ๊ฒฝ๊ณ์ ๋ฏธ์ธํ ๊ธฐ์ ์ ์ฐจ์ด๋ฅผ ๋ชจ๋ ํ์ตํ๋๋ก ์ ๋ํฉ๋๋ค. | |
| - ๊ธฐ๋ฐ ๋ชจ๋ธ: [BGE-M3](https://huggingface.co/BAAI/bge-m3) | |
| - ์ฌํ ๊ฐ์ค์น ๋ณด๊ฐ(Post-hoc weight interpolation): ์ด๊ธฐ ๋ฏธ์ธ์กฐ์ ๋ชจ๋ธ + [KURE-v1](https://huggingface.co/nlpai-lab/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) | |
| - [ํนํ ๋ถ์ผ ์๋๋ถ๋ฅ ๋ฐ์ดํฐ](https://aihub.or.kr/aihubdata/data/view.do?dataSetSn=547) | |
| - [๊ตญ๊ฐ์ค์ ๊ธฐ์ ๋์ ํนํ ๋ฐ์ดํฐ](https://aihub.or.kr/aihubdata/data/view.do?currMenu=115&dataSetSn=71739) | |
| - [์ฐ์ ์ ๋ณด ์ฐ๊ณ ์ฃผ์๊ตญ ํนํ ์-ํ ๋ฐ์ดํฐ](https://aihub.or.kr/aihubdata/data/view.do?dataSetSn=563) | |
| - [๊ณผํ๊ธฐ์ ํ์ค๋ถ๋ฅ ๋์ ํนํ ๋ฐ์ดํฐ](https://aihub.or.kr/aihubdata/data/view.do?dataSetSn=71531) | |
| --- | |
| ## 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 | |
| ```python | |
| 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: | |
| ```bibtex | |
| @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: ํ๊ตญ์ด ํนํ ๊ฒ์์ ์ํ ์ฅ๋ฌธ ์๋ฒ ๋ฉ ๋ชจ๋ธ} | |
| } | |
| ``` |