🚀 FremyCompany/BioLORD-2023-C
BioLORD-2023-Cは、臨床文や生物医学概念に対して意味のある表現を生成する新しい事前学習戦略であるBioLORDを用いて学習されたモデルです。このモデルは、臨床文書や生物医学概念のテキスト類似度に関して新たな最先端技術を確立しています。
🚀 クイックスタート
BioLORD-2023-Cは、臨床文や生物医学概念に対して、より意味のある表現を生成することができます。このモデルは、sentence-transformers/all-mpnet-base-v2をベースに、BioLORD-DatasetとAutomatic Glossary of Clinical Terminology (AGCT)から生成された定義を用いてさらに微調整されています。
✨ 主な機能
- 意味のある表現の生成:BioLORDは、定義や生物医学オントロジーから構成される多関係知識グラフから導出された短い説明を用いて、概念表現を基盤とすることで、非意味的な表現の問題を克服し、オントロジーの階層構造により密接に一致するより意味的な概念表現を生成します。
- 最先端のテキスト類似度:BioLORD-2023は、臨床文(MedSTS)と生物医学概念(EHR-Rel-B)の両方において、テキスト類似度に関して新たな最先端技術を確立しています。
- 多言語対応:BioLORD-2023シリーズには、多言語モデルであるBioLORD-2023-Mも含まれています。
📦 インストール
sentence-transformersをインストールすることで、このモデルを簡単に使用することができます。
pip install -U sentence-transformers
💻 使用例
基本的な使用法
from sentence_transformers import SentenceTransformer
sentences = ["Cat scratch injury", "Cat scratch disease", "Bartonellosis"]
model = SentenceTransformer('FremyCompany/BioLORD-2023-C')
embeddings = model.encode(sentences)
print(embeddings)
高度な使用法
from transformers import AutoTokenizer, AutoModel
import torch
import torch.nn.functional as F
def mean_pooling(model_output, attention_mask):
token_embeddings = model_output[0]
input_mask_expanded = attention_mask.unsqueeze(-1).expand(token_embeddings.size()).float()
return torch.sum(token_embeddings * input_mask_expanded, 1) / torch.clamp(input_mask_expanded.sum(1), min=1e-9)
sentences = ["Cat scratch injury", "Cat scratch disease", "Bartonellosis"]
tokenizer = AutoTokenizer.from_pretrained('FremyCompany/BioLORD-2023-C')
model = AutoModel.from_pretrained('FremyCompany/BioLORD-2023-C')
encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt')
with torch.no_grad():
model_output = model(**encoded_input)
sentence_embeddings = mean_pooling(model_output, encoded_input['attention_mask'])
sentence_embeddings = F.normalize(sentence_embeddings, p=2, dim=1)
print("Sentence embeddings:")
print(sentence_embeddings)
📚 ドキュメント
兄弟モデル
このモデルには、BioLORD-2023シリーズの他のモデルも付属しています。
また、昨年のモデルと論文も参照できます。
学習戦略
3フェーズの概要

対照学習フェーズの詳細

自己蒸留フェーズの詳細

引用
このモデルは、BioLORD-2023: Learning Ontological Representations from Definitionsという論文に付随しています。このモデルを使用する際には、以下のように元の論文を引用してください。
@article{remy-etal-2023-biolord,
author = {Remy, François and Demuynck, Kris and Demeester, Thomas},
title = "{BioLORD-2023: semantic textual representations fusing large language models and clinical knowledge graph insights}",
journal = {Journal of the American Medical Informatics Association},
pages = {ocae029},
year = {2024},
month = {02},
issn = {1527-974X},
doi = {10.1093/jamia/ocae029},
url = {https://doi.org/10.1093/jamia/ocae029},
eprint = {https://academic.oup.com/jamia/advance-article-pdf/doi/10.1093/jamia/ocae029/56772025/ocae029.pdf},
}
🔧 技術詳細
このモデルは、sentence-transformers/all-mpnet-base-v2をベースに構築されており、文や段落を768次元の密ベクトル空間にマッピングすることができます。このモデルは、生物医学ドメイン用に微調整されており、一般的なテキストの埋め込みを生成する能力も維持しつつ、EHRレコードや臨床ノートなどの医療文書を処理する際により有用です。
📄 ライセンス
このモデルに対する私自身の貢献は、MITライセンスの対象となります。ただし、このモデルの学習に使用されたデータはUMLSとSnomedCTに由来するため、このモデルを使用する前に、UMLSとSnomedCTの適切なライセンスを取得していることを確認する必要があります。UMLSとSnomedCTはほとんどの国で無料ですが、有効なライセンスを維持するために、アカウントを作成し、データの使用状況を毎年報告する必要がある場合があります。
⚠️ 重要提示
このモデルの学習に使用されたデータはUMLSとSnomedCTに由来するため、使用する前に適切なライセンスを取得してください。
💡 使用建议
このモデルは生物医学ドメイン用に微調整されているため、医療文書の処理に特に有用です。