赞
踩
本文主要是介绍由微软研究人员针对生物医学NLP的领域特定语言模型预训练PubMedBERT。
新冠凸显了全球科学家面临的一个长期问题:我们如何与最新的科学知识保持同步?自病情发生以来的短短几个月内,学者就新冠和SARS病毒发表了成千上万的研究论文。这种爆炸性的增长激发了新冠开放研究数据集的创建,以促进研究和发现。但是,新冠大流行只是在医学界普遍挑战中的一个明显例子。PubMed是生物医学研究论文的标准存储库,每天增加4,000篇新论文,每年增加一百万篇。
仅靠人工就不可能跟踪如此迅速的进展。在大数据和精密医学时代,推进自然语言处理发展的紧迫性比以往任何时候都高,NLP可以帮助研究人员快速识别大量论文中的重要发现,而不是通过手动筛选论文以获取相关发现。
质疑对通用领域文本进行预训练然后再对生物医学等领域进行微调的方法。这是因为生物医学文本与新闻文本和网络文本有很大的差异。 通过从头开始对生物医学文本进行预训练,PubMedBERT模型优于先前所有的预训练语言模型,并在生物医学应用中获得了最新的技术成果。 为了加快这一领域的进展,微软创建了一个综合基准,并发布了生物医学NLP的第一个排行榜。 上述发现也可能适用于其他高价值领域,例如金融和法律。
预训练的神经语言模型是最新NLP方法的基础。 预训练的工作原理是遮住文本中的某些单词,并通过训练语言模型来预测它们。 然后,可以使用特定于任务的训练数据针对各种下游任务进行微调。 与主流的NLP任务一样,预训练的先前工作在很大程度上与网络有关。 对于此类通用领域中的应用程序,先验知识是未知的,因此使用尽可能多的文本来训练模型是有利的。
对于像生物医学这样的专业领域,该领域具有丰富的文本,而这些文本与通用领域的语料库完全不同,因此该原理不再适用。 PubMed包含超过3000万篇摘要,PubMed Central(PMC)包含数百万篇全文文章。 不过,一般性的假设是,域外文本可能会有所帮助,因此,现有工作通常从通用域语言模型开始采用混合域方法。
图1:神经语言模型预训练的两种范例。 图中的上半部分:流行的混合域范例假设域外文本仍然有用,并且通常使用通用域语言模型初始化特定于域的预训练并继承其词汇。 下半部分:从头开始的针对特定领域的预训练可以导出词汇表,并且仅使用域内文本进行预训练。
表1:标准BERT、SciBERT和PubMedBERT使用的词汇中常用的生物医学术语的比较。 复选标记表示生物医学术语出现在相应的词汇中,否则该术语将分解成小的子词。
我们对此假设提出了质疑,并提出了一种新的范例,该范例将从头开始完全只针对特定领域内的域内文本进行预训练。 我们观察到生物医学文本与普通领域文本有很大不同。 如上图所示,在通用域文本上预训练的标准BERT模型仅涵盖最常见的生物医学术语。 其他的将被分解为无意义的子词。 例如,lymphoma(淋巴瘤)被表示为l,##ym,##ph或##oma。Acetyltransferase(乙酰转移酶)还原为ace,##ty,## lt,##ran,##sf,##eras或##e。 相比之下,我们的PubMedBERT将生物医学术语视为“一流公民”,并避免将宝贵的建模和计算带宽转移到无关的域外文本上。
例如GLUE之类的综合性的基准和排行榜大大加快了NLP的进步。 但是,对于生物医学而言,之前并没有这样的基准和排行榜。 先前的工作倾向于使用不同的任务和数据集进行下游评估,这使得很难评估生物医学预训练策略的真正影响。
表2:先前语言模型预训练研究和BLURB中生物医学数据集的比较。
为了解决此问题,我们为基于PubMed的生物医学NLP创建了生物医学语言理解和推理基准(BLURB)的数据集。BLURB由13个可公开获得的数据集组成,这些数据集包含6个不同的任务,包括:命名实体识别、基于证据的医学信息提取、关系提取、句子相似度、文档分类和问题解答(参见表3)。 为了避免过分强调具有许多可用数据集的任务,例如命名实体识别(NER),BLURB将所有任务的宏观平均值作为主要得分。 我们还创建了一个排行榜,以跟踪社区的进度。 BLURB排行榜与模型无关。 任何能够使用相同的训练和开发数据生成测试预测的系统都可以参与。 BLURB的主要目标是降低生物医学NLP的进入壁垒,并加速这一对社会和人类影响至关重要的重要领域的进步。
表3:组成BLURB的13个可公开获得的数据集涵盖了各种NLP的任务。
表4:我们的实验中使用的各种BERT模型的详细信息摘要。 以前的BERT模型的统计信息是从出版物中获取的。 文本语料库(例如PubMed)的大小可能会有所不同,具体取决于下载时间和预处理
我们从头开始在生物医学文本上训练我们的PubMedBERT模型。在过滤掉空的或简短的摘要之后,预训练语料库包含1400万篇摘要,其中包含30亿个单词(21 GB)。为了进行公平的比较,我们使用与以前的生物医学预训练工作相同的计算量。我们还通过添加PubMed Central的全文文章来对另一个版本的PubMedBERT进行预训练,使预训练语料库大幅增加至168亿字(107 GB)。
如表5所示,在生物医学NLP应用中,PubMedBERT的效果始终优于先前所有的语言模型,而且差距比较大。最值得注意的是,尽管RoBERTa使用的是最大的预训练语料库,但它在生物医学NLP任务上的表现却是最差的,与原始BERT模型的效果是类似的。在预训练中使用生物医学文本的模型通常效果更好。但是,在预训练中混合域外文本通常会导致效果下降。尤其是,尽管临床注释与生物医学领域的关系比普通领域的文本更为重要,但将其添加不会带来任何优势,如ClinicalBERT和BlueBERT的结果所示。毫不奇怪,BioBERT最接近PubMedBERT,因为它也使用PubMed文本进行预训练。但是,通过从头开始进行特定于域的预训练,PubMedBERT能够在大多数任务中获得比BioBERT一致的收益。
除了在特定领域进行预训练具有优越性以外,我们还对预训练和任务特定的微调策略进行了详尽的分析,并得出了一些有趣的发现:
与仅使用摘要进行预训练相比,对文章全文进行预训练通常会导致效果略有下降。 我们猜想原因是可能双重的。 首先,全文通常比摘要的噪声会更大。 由于现有的生物医学NLP任务主要基于摘要,因此与摘要相比,全文甚至可能会稍微超出域范围。 而且,即使全文本可以有所帮助,将其包括在内也需要额外的预训练周期才能利用更多信息。 实际上,通过将预训练延长60%,总体结果比仅使用摘要的标准PubMedBERT更好。
图6:评估预训练文本对PubMedBERT在BLURB上的效果的影响。 第一结果列对应于使用PubMed摘要预训练的标准PubMedBERT。 第二个对应于使用PubMed摘要和PubMed Central全文训练的PubMedBERT。 最后一个对应于使用PubMed摘要和PubMed Central全文训练的PubMedBERT,时间延长了60%。
对抗性预训练已被证明在提升通用领域应用上的效果非常有效。 令人惊讶的是,它通常会导致PubMedBERT效果略有下降(请参见表7)。 我们假设原因可能与我们在全文预训练中观察到的原因相似。 也就是说,如果与下游任务相比,预训练语料库更多样化且相对域外,则对抗训练将更有用。
表7:使用标准和对抗性预训练的PubMedBERT在BLURB上的效果比较。
命名实体识别和关系提取中的一些常用算法并没有使用神经语言模型。 具体而言,通过使用self-attention机制,显式顺序建模中的实用变得值得怀疑。 在消融研究中,我们发现线性层的性能与顺序建模方法(例如双向LSTM)相当或更好。 对于命名实体识别,只需区分实体内部和外部的标记方案就足够了。
表8:在命名实体识别和关系提取中使用特定PubMedBERT进行的针对特定任务的微调的线性层与递归神经网络的比较。
表9:使用不同的标记方案和标准PubMedBERT进行生物医学命名实体识别(NER)效果(F1)的比较。
重申一下,提出了一种针对特定领域预训练的新范式,它是通过完全在一个特定领域内从头学习神经语言模型来实现的。我们表明,对于生物医学等大批量、高价值的领域,这种策略优于所有先前的语言模型,并在生物医学NLP应用中全面获得了最新技术成果。
该策略与通用的预训练语言模型没有冲突。这两者是相辅相成的,并且适用于不同的情况。在许多开放域应用程序(例如搜索,广告,生产力套件等)中,人们无法预期应用程序实例的域。因此,必须使用占所有域尽可能多的通用语言模型。另一方面,对于具有丰富文本的专业领域中的应用程序,特定领域的预训练效果更佳。在生物医学领域,突出的例子包括提取PubMed规模的知识图谱并从电子病历中提取有效证据。
这项工作建立在Microsoft Research在生物医学NLP和深度学习方面的发展之上。我们在http://aka.ms/blurb上分享了我们的综合基准BLURB和生物医学NLP的第一个排行榜。我们希望这些资源将有助于降低这一重要领域的门槛,并促进这一进程。我们还在BLURB网站上发布了最新的PubMedBERT和特定于任务的模型,可在此处的“模型”选项卡下找到它们。我们鼓励研究人员参加排行榜,并希望您将PubMedBERT和特定于任务的模型下载并应用到自己的工作中。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。