🚀 ViHealthBERT:用於越南語醫療文本挖掘的預訓練語言模型
ViHealthBERT是醫療領域中用於越南語的強大基準語言模型。我們通過實驗研究了採用不同訓練策略的模型,在3個下游任務(命名實體識別(NER,包括COVID - 19和ViMQ)、縮略詞消歧和文本摘要)上取得了當前最優(SOTA)性能。
我們推出了兩個越南語數據集:醫療領域的縮略詞數據集(acrDrAid)和常見問題解答摘要數據集。我們的acrDrAid數據集標註了135組關鍵詞。
ViHealthBERT的通用方法和實驗結果可在我們即將更新的LREC - 2022海報論文中查看:
@article{vihealthbert,
title = {{ViHealthBERT: Pre-trained Language Models for Vietnamese in Health Text Mining}},
author = {Minh Phuc Nguyen, Vu Hoang Tran, Vu Hoang, Ta Duc Huy, Trung H. Bui, Steven Q. H. Truong },
journal = {13th Edition of its Language Resources and Evaluation Conference},
year = {2022}
}
🚀 快速開始
本部分將引導你瞭解ViHealthBERT的安裝、預訓練模型信息及使用示例。
✨ 主要特性
- 針對越南語醫療領域,提供強大的預訓練語言模型。
- 通過不同訓練策略,在多個下游任務上取得當前最優性能。
- 推出兩個越南語醫療領域數據集,且acrDrAid數據集標註了135組關鍵詞。
📦 安裝指南
- 環境要求:Python 3.6+,PyTorch >= 1.6
- 安裝
transformers
庫:
pip install transformers==4.2.0
📚 詳細文檔
預訓練模型
模型 |
參數數量 |
架構 |
分詞器 |
demdecuong/vihealthbert-base-word |
1.35億 |
基礎 |
詞級 |
demdecuong/vihealthbert-base-syllable |
1.35億 |
基礎 |
音節級 |
💻 使用示例
基礎用法
import torch
from transformers import AutoModel, AutoTokenizer
vihealthbert = AutoModel.from_pretrained("demdecuong/vihealthbert-base-word")
tokenizer = AutoTokenizer.from_pretrained("demdecuong/vihealthbert-base-word")
line = "Tôi là sinh_viên trường đại_học Công_nghệ ."
input_ids = torch.tensor([tokenizer.encode(line)])
with torch.no_grad():
features = vihealthbert(input_ids)
高級用法
原始文本使用示例
由於ViHealthBERT使用了來自VnCoreNLP的RDRSegmenter對預訓練數據進行預處理,我們強烈建議在ViHealthBERT的下游應用中使用相同的分詞器。
安裝步驟
pip3 install vncorenlp
mkdir -p vncorenlp/models/wordsegmenter
wget https://raw.githubusercontent.com/vncorenlp/VnCoreNLP/master/VnCoreNLP-1.1.1.jar
wget https://raw.githubusercontent.com/vncorenlp/VnCoreNLP/master/models/wordsegmenter/vi-vocab
wget https://raw.githubusercontent.com/vncorenlp/VnCoreNLP/master/models/wordsegmenter/wordsegmenter.rdr
mv VnCoreNLP-1.1.1.jar vncorenlp/
mv vi-vocab vncorenlp/models/wordsegmenter/
mv wordsegmenter.rdr vncorenlp/models/wordsegmenter/
VnCoreNLP - 1.1.1.jar
(27MB)和models/
文件夾必須放在同一工作目錄中。
使用示例
from vncorenlp import VnCoreNLP
rdrsegmenter = VnCoreNLP("/Absolute-path-to/vncorenlp/VnCoreNLP-1.1.1.jar", annotators="wseg", max_heap_size='-Xmx500m')
text = "Ông Nguyễn Khắc Chúc đang làm việc tại Đại học Quốc gia Hà Nội. Bà Lan, vợ ông Chúc, cũng làm việc tại đây."
sentences = rdrsegmenter.tokenize(text)
for sentence in sentences:
print(" ".join(sentence))