当前位置: 代码迷 >> 综合 >> BioBERT: a pre-trained biomedical language representation model for biomedical text mining
  详细解决方案

BioBERT: a pre-trained biomedical language representation model for biomedical text mining

热度:37   发布时间:2023-12-29 05:58:21.0

Abstract

        Motivation:词汇分布从一般领域语料库转移到生物医学语料库,将自然语言处理的进步直接应用于生物医学文本挖掘往往会导致结果不理想。在本文中,我们研究了最近引入的预训练语言模型BERT如何适用于生物医学语料库。

        Result:BioBERT在以下三种具有代表性的生物医学文本挖掘任务上的性能明显优于它们:生物医学命名实体识别(F1评分提高0.62%)、生物医学关系提取(F1评分提高2.80%)和生物医学问题回答(MRR提高12.24%)。(这里未给出BioBERT达到的指标,不够清晰的反映出真实的情况。)

        Availability and implementation:We make the pre-trained weights of BioBERT freely available at pre-trained BioBERT , and the source code for fine-tuning BioBERT available at BioBERT fine-tuning.

Introduction

        直接将sota模型用于生物医学文本挖掘有局限性。目前的Word2Vec、ELMo和BERT主要包含在一般领域中文本的数据集上进行训练和测试。

Approach

        首先用BERT的权重初始化BioBERT,BERT在通用语料库中(Wikipedia和BooksCorpus)训练;然后,BioBERT在生物医学领域语料库(PubMed Abstract和PMC全文)上进行预训练。

        contributions:

                a.BioBERT是一个特定领域的基于预训练的BERT模型,在8块V100GPU上训练了23天。

                b.在生物学语料库上对BERT进行训练。显著提高了BERT的学习效果。

                c.与大部分之前医药文本挖掘工具不同的是,之前的模型主要关注单个任务,例如NER 或者QA。BioBERT在不同的医药文本挖掘任务上都达到了SOTA性能,同时仅需要很少的修改。

                d.公开了预处理数据集,预训练BioBERT权重参数和微调的源代码。

        Overview:

Materials and methods

        BERT:bidirectional encoder representations from transformers

        从大量的未标注文本中学习词表示是一个长期建立的过程。之前的Word2Vec和GloVe模型仅仅专注于学习上下文独立的单词表示,最近的工作专注于学习上下文依赖文本表示。例如,ELMo使用了一个双向语言模型,同时,CoVe使用机器翻译去将上下文信息embed到单词表示。

        BERT是一个上下文的词表示模型,基于掩码模型和双向的Transformers训练方法。由于语言模型无法预知未来的词,之前的语言模型都被限制于结合两个单向的语言模型。BERT使用一个掩码模型可以预测句子中被随意遮住的词,并且可以用于学习双向词表示。并且,在大多数的NLP任务上拥有sota性能,同时在针对特定领域时仅需更少的结构改变。BERT的作者认为,整合来自双向表示而不是单向表示的信息对于表示自然语言中的单词至关重要。我们假设这种双向表示在生物医学文本挖掘中也很重要,因为生物医学术语之间的复杂关系经常存在于生物医学语料库中(kallinger et al., 2017)。由于篇幅有限,我们建议读者参考devlin et al.(2019)来了解BERT的更详细描述。

        Pre-training BioBERT

        BETR作为一种通用的语言表示模型,在wikipedia和bookscorpus上进行了预训练。然而,然而,医药领域的文本包含了相当数量特定领域的专有名词和术语。因此针对通用语言理解设计的NLP模型在生物医学文本挖掘任务中往往表现不佳。在这项工作中,我们在PubMed Abstracts(PubMed)和Pubmed Central (PMC)全文中训练了BioBERT,用于预训练的文本语料库位于table1,测试的文本语料库位于table2.

 

         分词方面,BioBERT使用了WordPiece tokenization,减轻了单词不在单词表中的问题。WordPiece tokenization可以将新出现的词可以使用频繁出现的子词表示。其中,大小写词汇可以略微提高下游任务的性能。虽然我们可以基于生物医学语料库构建新的WordPiece词汇表,但我们还是使用了原始的BERTbase词汇表,原因如下:(i)兼容性BioBERT,它允许BERT pre-trained的结果被重用,并使它容易互换使用现有的模型基于BERT和BioBERT,(ii)任何新单词可能任然被代表并且微调用于医药领域,通过使用原始的BERT WordPiece 词汇表。

        Fine-tuning BioBERT

        只需要在结构上微小的改变,BioBERT模型就可被应用在各种各样的文本挖掘的下游任务中。这里在NER,RE,QA3个文本挖掘任务上去微调BioBERT。

                NER:NER任务是文本挖掘任务的最基础任务,难点是包含了大量生物医药领域的专有名词。先前的工作都是围绕LSTM和CRFs展开的。BERT是一个简单的基于双向transformers模型的结构,在BERT的最后一层使用了单个输出层去计算单个token的BIO概率。和之前不一样的是,这里使用的是在预训练和微调阶段直接学习WordPiece enbeddings,而之前使用的都是在PubMed或者PMC上训练得到的词向量。这里使用PRF去评价NER性能。

                RE:关系抽取是对生物医学语料库中命名实体之间的关系进行分类。这里使用了原始版本BERT中的分类器,使用了[CLS] token 用于关系分类。句子分类是使用基于BERT中的[CLS]标记表示的单一输出层来执行的。我们使用预定义的标签(如@GENE$或@DISEASE$)在句子中匿名化目标命名实体。例如,含有两个目标实体(本例中为基因和疾病)的句子被表示为“@GENE$的986位丝氨酸可能是血管造影@DISEASE$的独立遗传预测因子”。报告了RE任务的精度、召回率和F1得分。

                QA:问答是用自然语言对相关段落提出的问题进行回答。为了针对QA调整BioBERT,我们使用了与SQuAD相同的BERT架构。我们使用BioASQ factoid数据集是因为它们的格式与SQuAD类似。使用单个输出层计算回答短语开始/结束位置的令牌级别概率。然而,我们观察到大约30%的BioASQ伪命题在抽取的QA设置中是无法回答的,因为准确的答案没有出现在给定的段落中。与wieseet al.(2017)一样,我们从训练集中排除了具有不可回答问题的样本。此外,我们使用了与wieseet al.(2017)相同的训练前流程,其中使用了SQuAD,它极大地提高了BERT和BioBERT的性能。我们使用BioASQ的以下评估指标:严格准确性、宽松准确性和平均倒数排名。

Results

        Datasets

        NER数据集:

         RE数据集:

         QA数据集:

...

  相关解决方案