🚀 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 |
标签 |
生物医学、词汇语义、跨语言 |