BIBM2019_Fine-tuning BERT for Joint Entity and Relation Extraction in Chinese Medical Text

论文.


摘要

  实体和关系抽取是构建医学文本的必要步骤。然而,现有模型中双向长短期记忆网络的特征提取能力并没有达到最好的效果。同时,语言模型在越来越多的自然语言处理任务中取得了优异的效果。本文针对实体关系联合抽取任务,提出了一种聚焦注意力模型。该模型通过动态范围注意机制将BERT语言模型集成到联合学习中,从而提高了共享参数层的特征表示能力。在曙光医院冠脉造影文本上的实验结果表明,命名实体识别和关系分类的F1值分别达到了96.89%和88.51%,分别比现有方法提高1.65%和1.22%。

索引词:命名实体识别、关系分类、联合模型、BERT语言模型、电子健康记录。

Ⅰ介绍

  近年来,随着电子健康档案的普及,大量的电子健康档案可以在不同的医疗环境中集成和共享,进一步支持临床决策和政府卫生政策的制定。然而,当前病例中的大部分信息存储在自然语言文本中,这使得数据挖掘算法无法直接处理这些数据。为了从文本中提取实体关系三元组,研究人员通常使用实体和关系提取算法,并依靠中心词将三元组转换为键值对,这可以直接由传统的数据挖掘算法进行处理。

  为了解决实体和关系抽取的问题,研究人员通常使用管道方法,将任务分解为命名实体识别任务和关系分类两个子任务。然而,管道方法通常无法捕获实体和关系类型之间的链接特征。例如,对于图1中的有效关系“存在情况”。其两个关系实体的类型必须是“疾病”、“症状”或“存在词”。为了捕捉这些特征,人们提出了大量的联合学习模型,其中,最常用的是将双向长短期记忆网络作为共享参数层。
图1 EHR文本中一个实体关系抽取的说明性例子
  然而,与语言模型相比,BiLSTM模型的泛化性能相对比较低,这些语言模型得益于大量的预训练知识和较强的特征提取能力。为了提高性能,解决方案之一是将语言模型作为共享参数层引入联合学习中。然而现有的模型只是将语言模型单独引入到NER或者RC任务中,导致实体类型和关系类型之间的联合特征无法捕获。

  鉴于上述研究现状,我们提出了一个基于BERT语言模型的聚焦注意模型,用于联合处理NER和RC任务。具体地说,通过动态范围注意机制,构建针对特定任务的掩码矩阵来控制BERT语言模型中最后 K K K层的注意范围,从而使模型聚焦于任务的单词。这个过程有助于获得相应的特定任务的上下文相关表示。这样,修改后的BERT语言模型可以作为NER和RC任务联合学习的共享参数层。本文将改进后的BERT语言模型称为共享任务表示编码器(STR-encoder)。我们工作的主要贡献如下:

  • 我们提出了一个集中注意力模型来共同学习NER和RC任务。该模型集成了BERT语言模型作为共享参数层,以实现更好的泛化性能。
  • 在提出的模型中,我们加入了一个新的结构,称为STR-encoder,它改变BERT语言模型中最后K层的注意范围,以获得特定任务上下文相关的表示。它可以充分利用BERT原始结构生成任务向量,直接利用预训练语言模型中包含的先验知识。
  • 对于RC任务,我们设计了两种不同的MASk矩阵来提取RC任务所需的特征表示。实验中对相应矩阵的性能进行了分析和比较。

Ⅱ相关工作

实体与关系抽取就是抽取关系三元组。完成任务的方法有两种,即管道方法和联合学习方法。前者将任务分解为NER和RC两个子任务,后者试图同时解决这两个任务。

A.NER

  在医疗领域,我们用NER来识别疾病、症状等。通常NER被定义为使用BIOES标记策略的序列标记任务。医学领域的传统方法可以分为统计方法和神经网络方法两大类。前者通常基于条件随机场(CRF),它依赖手工选取的特征和外部知识来提高准确性。神经网络方法通常使用神经网络计算特征,而不需要繁琐的特征工程,例如BILSTM。但是上述方法都不能利用大量的无监督语料库,导致泛化性能有限。

B.RC

  RC任务与NER任务密切相关,后者将文本中识别的实体之间的关系进行分类。该任务通常被定义为一个分类问题,将文本中的一段文本和两个实体作为输入,并将实体之间可能的关系作为输出。现有的RC方法大致可以分为传统方法和神经网络方法两大类。前者是基于feature-based和kernel-based的方法。这些模型通常在特征工程上花费大量的时间。神经网络方法不需要复杂的特征工程,就可以提取出关系特征。例如,递归胶囊网络和域不变卷积神经网络。但是这些方法不能利用实体和关系之间的联合特征,和联合学习方法相比,泛化性能较低。

C.实体关系联合抽取

  与管道学习方法相比,联合学习方法能够捕获实体和关系之间的联合特征。

  目前最先进的联合学习方法可以分两类,即联合标记方法和参数共享方法。联合标记方法通过一种特殊设计的标记方案,将NER和RC任务转化为序列标记任务,例如,zhang等人提出的一种新颖的标记方案。在NER和RC模型中,参数共享方法共享特征提取层。与联合标记方法相比,参数共享方法能够有效地处理多映射问题。医疗领域中最常用的共享参数层是BiLSTM网络。但是与语言模型相比,BiLSTM的特征提取能力相对较弱,模型不能通过大量的无监督语料获取训练前的知识,这进一步降低了提取特征的鲁棒性。

Ⅲ方法

  在本节中,首先介绍经典的BERT语言模型和动态范围注意机制。然后,我们提出了一个联合实体和关系提取的集中注意模型。

A.BERT语言模型

  BERT是一种语言模型,它利用双向注意机制和大规模的无监督语料库来获得句子中每个单词的有效上下文敏感表示。由于其有效的结构和丰富的大规模语料库,BERT在各种自然语言处理任务上取得了最先进的结果。BERT的基本结构包括自注意编码(SA-encoder)和下游任务层。SA-encoder使用序列 S S S和MASK矩阵来获得对应的上下文相关表示:
在这里插入图片描述

  下游任务层因任务而异。在这项工作中,我们将重点放在NER和RC上,这两个问题将分别在Ⅲ- C 2 C_2 C2和Ⅲ- C 4 C_4 C4节中详细介绍。

B.动态范围注意机制

  在BERT中,MASk矩阵最初用于掩码文本的填充部分。然而,我们观察到,在特定掩码矩阵的帮助下,我们可以直接控制每个单词的注意范围,从而获得特定的上下文敏感表征。

  注意,当计算BERT中的关注度时,参数矩阵 M A S K ∈ { 0 , 1 } T × T MASK\in \left\{ 0,1 \right\} ^{T\times T} MASK{0,1}T×T,其中 T T T是序列长度,如果 M A S K i , j = 0 MASK_{i,j}=0 MASKi,j=0,我们有 ( M A S K i j − 1 ) × ∞ = − ∞ \left( MASK_{ij}-1 \right) \times \infty =-\infty (MASKij1)×=和公式2。这表明在计算注意力时,第 i i i个单词忽略了第 j j j个单词。
在这里插入图片描述
  当 M A S K i , j = 1 MASK_{i,j}=1 MASKi,j=1,我们有 ( M A S K i j − 1 ) × ∞ = 0 \left( MASK_{ij}-1 \right) \times \infty =0 (MASKij1)×=0和公式3。这表明在计算注意力时,第 i i i个单词会考虑第 j j j个单词。
在这里插入图片描述

C.聚焦注意模型

  该模型的体系结构如图2所示。聚焦注意模型本质上是一个基于共享参数方法的NER和RC的联合学习模型。它包括共享参数层、NER下游任务层、RC下游任务层。
在这里插入图片描述
  共享参数层,称为共享任务表示编码器(STR-encoder),通过在BERT基础上改进动态范围机制。它包含一个嵌入层和N个多头自注意层,分为两个块。前N-K层只负责获取上下文信息,单词的上下文相关表示被表示为 H N − K H_{N-K} HNK。根据NER和RC的特点,剩下的K层使用动态范围注意机制设置的MASK任务矩阵将注意力集中在单词上。通过这种表示我们可以获得特定于任务的表示 H N t a s k H^{task}_N HNtask,然后将它们传递到相应的下游任务层。此外分割点K是一个超参数,将在第Ⅴ-A节中讨论。

  给定一个序列,我们在序列前面添加一个[CLS]标记,在序列末尾添加一个[SEP]标记,就像BERT输入一样。在嵌入层之后,序列S中每个单词的初始向量被表示为 H 0 H_0 H0,与BERT一样。然后将 H 0 H_0 H0输入到第一个N-K多头自注意层。在这些层次中,每个词的的注意力均匀的分布在句子中所有的词上,以捕捉上下文信息。给定第 m − 1 m-1 m1层的输出 H m − 1 H_{m-1} Hm1,当前层的输出计算如下:
在这里插入图片描述
  其中MASk,PosFF和LN表示多头自注意、前馈和层归一化,而 M A S K a l l ∈ { 1 } T × T MASK^{all}\in \left\{ 1 \right\} ^{T\times T} MASKall{1}T×T表示每个单词与序列的所有其它单词一起计算注意力。

  其余的K层,通过基于动态范围注意机制的任务特定矩阵 M A S K t a s k MASK^{task} MASKtask集中于下游任务的单词。给定前 m − 1 m-1 m1层的输出 H m − 1 t a s k H^{task}_{m-1} Hm1task,当前输出 H m t a s k H^{task}_{m} Hmtask的计算如下:
在这里插入图片描述
  其中, H N − K t a s k = H N − K H^{task}_{N-K}=H_{N-K} HNKtask=HNK t a s k ∈ { n e r , r c } task\in \left\{ ner,rc \right\} task{ner,rc}.

  对于STR-encoder,我们只输入不同的MASK任务矩阵,用相同的参数计算不同下游任务 H N t a s k H^{task}_{N} HNtask所需单词的各种表示:
在这里插入图片描述
这种结构有两个优点:

  • 它通过BERT强大的特征提取能力得到任务的表示向量。与复杂表示转换层相比,该结构更易于优化。
  • 它没有对BERT语言模型的结构进行重大调整,因此该结构可以直接使用预先训练的语言模型中包含的先验知识。

随后,我们将分块介绍MASK任务的构建以及NER和RC的下游任务层。

  1. M A S K n e r MASK^{ner} MASKner的构建:在NER中,模型需要输出序列中每个单词对应的BIEOS标签。为了提高准确率,应该通过参数优化来学习合适的注意力权重,而不是限制每个单词的注意力范围。因此根据动态范围注意机制, M A S K n e r MASK^{ner} MASKner的矩阵应该设置为 M A S K n e r ∈ { 1 } T × T MASK_{ner}\in \left\{ 1 \right\} ^{T\times T} MASKner{1}T×T,表示每个单词可以与序列中任何其它单词一起计算注意力。
  2. NER下游任务层的构建:在NER中,下游任务层需要将STR-encoder输出的每个单词的表示向量转化为相应的BIEOS标签的概率分布。与单层神经网络相比,CRF模型能够捕捉两个标签之间的连接关系。因此,我们通过CRF层来得到标签的概率分布。具体地说,将STR-encoder输出中除[CLS]token之外的所有字向量表示输入到CRF层。首先,CRF层通过对这些向量进行线性变换,来计算发射概率。然后,根据发射概率和转移概率对标签序列进行排序。最后,通过softmax函数得到标签序列的概率分布:
    在这里插入图片描述
    NER的损失函数如公式12所示,我们训练目标是最小化 L n e r L_{ner} Lner,其中 L ′ L^{'} L表示真实的标签序列。
    在这里插入图片描述
  3. M A S K r c MASK^{rc} MASKrc的构建:在RC中,两个实体之间的关系用一个矢量表示。为了获得向量,我们将[CLS]标记的注意范围限制在两个实体上,[CLS]标记最初用于概括序列的总体表示。因此,[CLS]token向量可以准确的概括两个实体之间的关系。基于动态范围注意机制,我们提出两种 M A S K r c MASK^{rc} MASKrc,分别记为公式13和公式14。
    在这里插入图片描述
    训练的目标是最小化损失函数 L r c L_{rc} Lrc,表示为公式17,其中,KaTeX parse error: Expected group after '^' at position 2: R^̲'表示真实关系类型。
    在这里插入图片描述

D.联合学习

  需要注意的是,除了NER和RC下游任务之外,模型中的参数都是共享的,这使得STR-encoder能够学习实体和关系的联合特征。此外,已有的参数共享模型相比,利用BERT的特征提取能力和通过预训练获得的知识,提高了STR-encoder的特征表示能力。联合模型的损失函数如下:
在这里插入图片描述

Ⅳ实验

A.数据集和评价指标

  实体和关系提取的数据集来自上海曙光医院冠状动脉造影报告。有五种类型的实体,即Negation、Body Part、Degree、Quantifier、Location。同时还包括Negation、Modifier、Position、Precentage、No Relation五种关系,为了平衡数量,丢弃85%的No Relation。实体和关系的统计数据如表一所示。
在这里插入图片描述
  为了保证实验的有效性,将数据集按照8:1:1的比例训练集、验证集、测试集。在接下来的实验中,我们使用了P、R、F1等常用指标来评价NER、RC和联合模型。

B.实验设置

  本文提出的聚焦注意模型的训练可以分为两个阶段。在第一阶段,需要对共享参数层进行训练。由于BERT的预训练成本较高,我们在中文通用语料库中直接采用了Google预先训练的参数。第二阶段,我们需要共同微调NER和RC任务。随机初始化两个下层任务层的参数。模型中的两个超参数K和 M A S K r c MASK^{rc} MASKrc将在V-A接种进一步研究。

C.实验结果

  为了评估我们的聚焦注意模型的性能,分别在NER、RC和联合实体和关系提取任务上与最新的方法进行了比较。

  基于NER,我们通过实验将我们的聚焦注意模型与其他参考算法进行了比较。这些算法包括医学领域的两个NER模型和通用领域的一个联合模型。另外,原本计划在医学领域使用联合模型,但是字符集表示不能用中文实现。我们将其替换为类似结构的通用领域模型。如表2所示,该模型的性能最好,其准确率、召回率和F1分别达到96.69%,97.09%,96.89%,分别比第二种方法提高0.2%,0.4%和1.2%。
在这里插入图片描述
  为了进一步研究该模型在RC上的有效性,我们使用了医学领域的两个RC模型(CNN和RCN)和通用领域的一个联合模型作为基线方法。由于RCN和CNN方法只适用于RC任务,不能从文本中提取实体,所以我们直接使用文本中正确的实体来评估RC模型。表3显示,聚焦注意模型性能最好,其准确率、召回率和F1分别达到96.6%、96.83%和96.44%,分别比第二个模型高出1.57%、1.59%和1.58%。
在这里插入图片描述
  对于实体和关系的联合抽取,采用了joint-BiLSTM作为基线方法。由于这两个模型是联合学习,所以我们使用NER中预测的实体作为RC的输入。从表4可以看出,我们的聚焦注意力模型取得了最好的效果,其中F1分别达到了96.89%和88.51%,分别比第二种方法提高了1.65%和1.22%。实验结果表明,STR-encoder的特征表示能力确实强于现有的常用模型。

在这里插入图片描述

Ⅴ.实验分析

  在这一部分,进行了额外的实验,分析了不同设置对分割点K的影响,以及不同设置对 M A S K r c MASK^{rc} MASKrc和联合学习的影响。

A. 超参数分析

  我们进一步研究了不同设置对Ⅲ-C节中定义的分割点K的影响以及第Ⅲ-C3节中定义的不同设置对 M A S K r c MASK^{rc} MASKrc的影响。如表5所示,当k=4, M A S K r c MASK^{rc} MASKrc使用公式14,RC的F1得分最高,为92.18%。当k=6, M A S K r c MASK^{rc} MASKrc使用公式13,NER的F1得分最高,为96.77%。一个可能原因是在公式13中定义 M A S K r c MASK^{rc} MASKrc不限制实体1和实体2 的注意范围,使得模型能够进一步学习共享参数层的上下文信息,从而使得NER的F1值更高。对于RC,K=4, M A S K r c MASK^{rc} MASKrc使用公式13时,F1最低,而 M A S K r c MASK^{rc} MASKrc使用公式14时F1最高,一个可能原因是这两个超参数彼此密切相关。然而,在焦点注意模型中,它们如何相互作用仍是一个悬而未决的问题。

在这里插入图片描述

B. 消融分析

  为了评估联合学习的影响,我们分别训练NER和RC模型作为消融实验。此外,还使用正确的实体来评估RC,排除NER结果对RC结果的影响,并独立比较NER和RC任务。
在这里插入图片描述

  如表6所示,与单独训练相比,NER的F1得分为0.52%,RC的F1的得分为0.82%,实验结果表明,联合学习有助于学习NER和RC之间的联合特征,同时提高两项任务的准确性。对于NER,精确度提高了1.55%,但召回率降低了0.55%。一个可能原因是,尽管关系类型可以指导模型学习更准确的实体类型,但它也引入了一些不可控的噪声。总之,联合学习是获得最佳表现的有效方法。


总结

  为了医学文本结构化,实体和关系抽取是必不可少的一步。本文提出了一种联合学习NER和RC任务的动态聚焦注意模型,该模型基于共享任务表示编码器,该编码器通过动态范围注意机制将BERT转换为共享任务表示编码器,该编码器通过动态范围注意机制将BERT转换为共享任务表示编码器。与现有模型线相比,该模型能够更准确地从医学文本中提取实体和关系。在冠状动脉造影文本上的实验结果验证了该模型的有效性。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

All in .

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值