🚀 SapBERT-XLMR
SapBERT-XLMR是一個用於生物醫學領域的跨語言模型,它基於SapBERT進行擴展,使用UMLS 2020AB數據集進行訓練,以xlm - roberta - base為基礎模型,能夠在多語言環境下處理生物醫學詞彙語義相關任務。
🚀 快速開始
提取SapBERT嵌入
以下腳本可將字符串列表(實體名稱)轉換為嵌入向量:
import numpy as np
import torch
from tqdm.auto import tqdm
from transformers import AutoTokenizer, AutoModel
tokenizer = AutoTokenizer.from_pretrained("cambridgeltl/SapBERT-from-PubMedBERT-fulltext")
model = AutoModel.from_pretrained("cambridgeltl/SapBERT-from-PubMedBERT-fulltext").cuda()
all_names = ["covid-19", "Coronavirus infection", "high fever", "Tumor of posterior wall of oropharynx"]
bs = 128
all_embs = []
for i in tqdm(np.arange(0, len(all_names), bs)):
toks = tokenizer.batch_encode_plus(all_names[i:i+bs],
padding="max_length",
max_length=25,
truncation=True,
return_tensors="pt")
toks_cuda = {}
for k,v in toks.items():
toks_cuda[k] = v.cuda()
cls_rep = model(**toks_cuda)[0][:,0,:]
all_embs.append(cls_rep.cpu().detach().numpy())
all_embs = np.concatenate(all_embs, axis=0)
如需瞭解更多關於訓練和評估的詳細信息,請參閱SapBERT github倉庫。
✨ 主要特性
- 跨語言能力:能夠處理多種語言的生物醫學實體鏈接任務。
- 領域專業化:基於UMLS數據集訓練,針對生物醫學領域進行了優化。
📦 安裝指南
文檔未提及安裝步驟,跳過此章節。
💻 使用示例
基礎用法
import numpy as np
import torch
from tqdm.auto import tqdm
from transformers import AutoTokenizer, AutoModel
tokenizer = AutoTokenizer.from_pretrained("cambridgeltl/SapBERT-from-PubMedBERT-fulltext")
model = AutoModel.from_pretrained("cambridgeltl/SapBERT-from-PubMedBERT-fulltext").cuda()
all_names = ["covid-19", "Coronavirus infection", "high fever", "Tumor of posterior wall of oropharynx"]
bs = 128
all_embs = []
for i in tqdm(np.arange(0, len(all_names), bs)):
toks = tokenizer.batch_encode_plus(all_names[i:i+bs],
padding="max_length",
max_length=25,
truncation=True,
return_tensors="pt")
toks_cuda = {}
for k,v in toks.items():
toks_cuda[k] = v.cuda()
cls_rep = model(**toks_cuda)[0][:,0,:]
all_embs.append(cls_rep.cpu().detach().numpy())
all_embs = np.concatenate(all_embs, axis=0)
高級用法
文檔未提及高級用法相關內容,跳過此部分。
📚 詳細文檔
模型介紹
SapBERT (Liu et al. 2020) 使用 UMLS 2020AB 進行訓練,並以 [xlm - roberta - base](https://huggingface.co/xlm - roberta - base) 作為基礎模型。請使用 [CLS] 作為輸入的表示。
最新消息
- [news] SapBERT的跨語言擴展版本將在 ACL 2021 主會議上亮相!
- [news] SapBERT將出現在 NAACL 2021 的會議論文集中!
🔧 技術細節
文檔未提供足夠的技術實現細節,跳過此章節。
📄 許可證
文檔未提及許可證信息,跳過此章節。
📚 引用
@inproceedings{liu2021learning,
title={Learning Domain-Specialised Representations for Cross-Lingual Biomedical Entity Linking},
author={Liu, Fangyu and Vuli{\'c}, Ivan and Korhonen, Anna and Collier, Nigel},
booktitle={Proceedings of ACL-IJCNLP 2021},
month = aug,
year={2021}
}
📋 模型信息
屬性 |
詳情 |
模型類型 |
基於xlm - roberta - base的跨語言生物醫學模型 |
訓練數據 |
UMLS 2020AB |
標籤 |
生物醫學、詞彙語義、跨語言 |