BioBERT:用于生物医学文本挖掘的预训练生物医学语言表示模型

原文题目: BioBERT: a pre-trained biomedical language representation model for biomedical text mining
原文网址: https://academic.oup.com/bioinformatics/advance-article-abstract/doi/10.1093/bioinformatics/btz682/5566506
背景
因为生物医疗数据的特殊性,普通的文本挖掘方法不能很好的处理这些医疗词汇,所以作者研究了最近引进的预训练语言模型BERT如何适用于生物医学语料库。作者通过预先在大规模生物医学语料库上训练的领域特定语言表示模型用在BERT对于生物医学文本的挖掘。BioBERT的任务架构几乎相同,在生物医学语料库上进行预培训时,它在各种生物医学文本挖掘任务上的表现在很大程度上超过了BERT和之前的先进模型。
BERT的方法见:Bert: pre-training of deep bidirectional transformers for language understanding.
BioBERT 模型框架(来自论文原文):
在这里插入图片描述

实验步骤:
用BERT基础模型在英语维基百科和BooksCorpus上进行预训练为了1M steps。BioBERT v1.0 (+PubMed +PMC) 是 BioBERT (+ PubMed +PMC) 训练了470K steps。在使用PubMed和PMC语料库时,发现PubMed和PMC分别采用200K和270K的预训练steps是最优的。初始释放BioBERT v1.0之后,预训练 BioBERT 在PubMed上1M steps,将这个版本称为BioBERT v1.1(+PubMed)。其他超参数,如批大小和训练前生物样本的学习速率调度与训练前BERT的相同,除非另有说明。
使用Naver Smart Machine Learning (NSML)对BioBERT进行预训练(Sung et al., 2017),该方法用于需要在多个GPU上运行的大型实验, 使用8个NVIDIA V100 (32GB) GPU进行预训练。最大序列长度固定为512,小批量大小设置为192,每次迭代得到98 304个单词。需要超过10天pre-train BioBERT v1.0(+PubMed+PMC)近23天BioBERT v1.1(+PubMed)在这个设置中。因为BERT (LARGE)的复杂性,这里仅仅用了基础的BERT。
我们使用一个NVIDIA Titan Xp (12GB) GPU微调每个任务的BioBERT。微调过程的计算效率比预训练的BioBERT更高。对于微调,选择批处理大小为10、16、32或64,学习率为5e-5,3e-5或者1e-5。对QA和RE任务的BioBERT进行微调所花费的时间不到一个小时,因为训练数据的大小远远小于Devlin等人(2019)使用的训练数据。另一方面,BioBERT在NER数据集上达到最高性能需要超过20个epochs。
实验结果
NER的结果如表1所示。首先,我们观察到BERT在一般域语料库上进行预处理是非常有效的,但是BERT的micro averaged F1 score分数比最先进的模型低(低了2.01分)。另一方面,BioBERT在所有数据集上的得分都高于BERT。9个数据集中BioBERT在6个数据集上超过最先进的模型,BioBERT v1.1(+PubMed)优于最先进的模型0.62在micro averaged F1 评分上。LINNAEUS数据集得分相对较低的原因是:(i)缺乏用于训练以前的最先进模型的silver-standard数据集,(ii)以前工作中使用的不同的训练/测试集分割(Giorgi和Bader, 2018),这些数据集是不可用的。
表1(来自原文):
在这里插入图片描述

各模型的RE结果如表2所示。在CHEMPROT数据集上,BERT实现更好的性能比最先进的模型,这表明RE的有效性。在F1 平均的分数上,BioBERT v1.0(+PubMed)获得一个更高的F1得分(高了2.80)优于最先进的模型。此外,BioBERT在2 / 3的生物医学数据集中取得了最高的F1分数。
表2(来自原文):
BioBERT:用于生物医学文本挖掘的预训练生物医学语言表示模型_第1张图片
QA结果如表3所示。从每一批最先进的模型中取了最高分的平均值。BERT获得了比最先进模型更高的微观平均MRR评分(7.0分)。所有版本的BioBERT显著优于BERT和最先进的模型,特别是BioBERT v1.1(+PubMed)获得了精度为38.77到53.81,平均得分是44.77。在所有的生物医学质量保证数据集上,BioBERT在MRR方面实现了新的最先进的性能。
表3(来自原文);
BioBERT:用于生物医学文本挖掘的预训练生物医学语言表示模型_第2张图片

讨论
使用了不同大小的额外语料库进行预训练,并研究它们对成绩的影响。BioBERT v1.0(+ PubMed),将训练的步骤的数目设置为200 k和各式各样的PubMed语料库的大小。图2 (a)显示的性能BioBERT v1.0(+PubMed)在三个NER数据集(NCBI疾病、BC2GM BC4CHEMD)变化与PubMed语料库的大小相关。对10亿个单词进行预处理是非常有效的,每个数据集的性能在45亿个单词之前都有很大的提高。我们也保存了pre-trained权重从BioBERT v1.0(+PubMed)在不同训练的步骤测量训练的步骤的数目是如何影响其性能微调任务。图2 (b)显示的性能变化BioBERT v1.0(+PubMed)在相同三个NER数据集训练的步骤的数目。结果清楚地表明,随着训练前步骤数量的增加,每个数据集的性能也会提高。最后,图2 ©显示了改进的BioBERT v1.0(+PubMed+PMC)性能有了绝对的提升,优于BERT在所有15个数据集上的结果。NER/RE采用F1分,QA采用MRR分。BioBERT显著提高了在大多数数据集上的性能。
(图片来自论文原文中)
BioBERT:用于生物医学文本挖掘的预训练生物医学语言表示模型_第3张图片
结论
在这篇文章中,介绍了BioBERT,这是一种用于生物医学文本挖掘的预训练语言表示模型。作者证明了对BERT进行生物医学语料库的预培训是将其应用于生物医学领域的关键。在生物医学文本挖掘任务(如NER、RE和QA)方面,BioBERT需要对特定于任务的架构进行最小程度的修改,其性能优于以前的模型。
BioBERT的预发布版本(2019年1月)已经被证明在许多生物医学文本挖掘任务中非常有效,如NER for clinical notes 、人类表型基因RE 和临床时间RE。BioBERT的以下更新版本将提供给bioNLP社区:(i) BioBERTBASE和BioBERTLARGE只接受PubMed摘要的训练,而没有对现有的BERT模型进行初始化;(ii) BioBERTBASE和BioBERTLARGE接受基于wordpiece的领域特定词汇的训练。

你可能感兴趣的:(文本挖掘)