APP下载

融合注意力机制和指针标注的实体关系联合抽取方法

2023-02-17唐楠楠

小型微型计算机系统 2023年2期
关键词:三元组指针宾语

唐楠楠,陈 吉,侯 磊,王 星

1(辽宁工程技术大学 电子与信息工程学院,辽宁 葫芦岛 125105)2(临沂大学 信息科学与工程学院,山东 临沂 276000)3(清华大学 计算机科学与技术系,北京 100084)4(清华大学 人工智能研究院 知识智能研究中心,北京 100084)

1 引 言

知识图谱[1]本质是由实体结点相互连接形成的网状语义知识库.随着信息时代的发展,知识图谱已渗透到教育、医疗、金融等领域,在信息搜索[2]、智能问答[3]、推荐系统[4]等应用中发挥着重要的作用.知识图谱的构建离不开关系抽取,实体关系抽取[5,6]旨在从非结构化文本中抽取结构化的实体关系事实.这些事实以(主语,关系,宾语)的形式存在,称为关系三元组.关系三元组是构成知识图谱的基本单位,因此关系抽取被视作构建知识图谱的根基[7].

传统机器学习的关系抽取研究通常以基于统计和基于规则两种方法[8]为主.近年来,由于深度学习可以较精确地获取更深层的特征,基于深度学习的方法[9,10]成为了实体关系抽取领域的研究热点.基于深度学习的实体关系抽取根据实体识别和关系分类的完成顺序又可分为流水线方法和联合抽取方法两种.流水线方法[11-17]将实体识别与关系抽取视为两个独立的任务,首先由实体模型提取实体,再进行实体间的配对,最后将实体对进行关系分类,这种方法的优点在于灵活性强,易于操作,但往往存在误差积累和交互缺失.联合抽取方法[18-27]通过一个模型同时实现实体抽取和关系抽取,能更好地整合实体及其关系之间的信息,增加两个子任务间的联系,可获得较好的性能.

目前多数联合抽取模型使用双向长短时记忆网络(Bi-LSTM)编码[19,20],该网络可以捕获长距离信息,但存在无法挖掘出句子中重点信息的问题,对句子中蕴含的语义信息获取不够丰富,也不能并行运算,计算效率较低;以往大多数联合抽取模型将关系视为实体对上的离散函数[23-25],这种做法会由于训练样本有限,导致同一实体参与多个关系时很难得到正确的分类,无法较好地解决句子中包含相互重叠的多个关系三元组的问题.因此,本文提出了一种融合注意力机制和指针标注的实体关系联合抽取模型AMPA(Attention Mechanism and Pointer Annotation).本文利用预训练语言模型BERT编码词向量,通过多头自注意力机制多维度捕获句子中的关键信息,注意力模型可以不依赖前一时刻状态进行并行计算,在提高效率的同时充分获取长距离丰富的语义信息.模型将关系建模为主语到宾语的映射函数,通过指针标注器先抽取主语,然后在关系条件下依次对每一个主语对应的宾语进行标记,通过分层的指针标注可以自然地处理三元组重叠问题.在抽取宾语之前将主语的特征采用改进的层归一化方法融合到句子编码向量中,以此增强表达能力以及模型中主语与宾语抽取任务间的依赖性,最终本文的主要工作包括以下3点:

1)为了深入获取句子中词向量内部潜在的语义特征,提出了将多头注意力机制与指针网络相结合的AMPA模型,在一定程度解决三元组重叠问题的同时,获取更加丰富的语义信息,提高语义特征抽取能力.

2)为了增强模型依赖,将抽取的主语特征作为条件信息,通过层归一化方式融合到特征向量中,该特征融合方法取代简单的连接,为宾语和关系的抽取增强表达能力.

3)本文在公开数据集NYT和WebNLG分别进行测试,实验结果表明AMPA模型的各项评价指标均有较好的表现,在两个数据集上的F1值最高分别可达到92.1%、92.7%.

2 相关工作

2.1 实体关系流水线抽取方法

基于流水线的方法进行关系抽取是指实体识别与关系分类两个任务分开进行,可以描述为对已经标注好目标实体对的句子进行关系抽取,之后把存在实体关系的三元组作为预测结果输出.这类模型主要采用基于CNN[11]、RNN[12]、LSTM[13]及其改进模型的网络结构.Zeng等人[14]提出分段的卷积神经网络PCNN模型,将句子按照两个实体分割成3段分别进行最大池化,来自动提取特征,并采用多示例学习的方式对远程监督降噪;Lin等人[15]提出PCNN与注意力机制的融合方法,通过构建句子级注意力加权的关系提取向量,有效地降低了错误标记的影响;Shikhar等人[16]提出在图卷积网络GCN基础上添加实体类型和关系别名信息,通过施加软约束来辅助学习提高抽取效果;Peng等人[17]提出动态改变损失函数的方法,提高远程监督的准确率.虽然流水线的方法相对易于实现,灵活性强,两个模型可以使用独立的数据集,但是实体抽取产生的错误往往会影响关系抽取的性能,造成误差累积;其次它忽略了两个任务之间的内在联系与依赖关系;此外因为模型需要先对抽取的实体进行两两配对,然后再进行关系分类,这样没有关系的候选实体对会产生实体冗余,冗余信息不但会提高错误率,还会增加模型计算的复杂度.

2.2 实体关系联合抽取方法

流水线的方法虽然操作简单,但是模型的局限性影响了抽取效果,随后有学者提出了实体关系联合抽取的方法.基于联合抽取的方法是指将实体识别和关系分类进行联合建模,即用单一模型抽取出文本中的实体关系三元组,这种方法能增强两个子任务之间的联系.2016年,Miwa等人[18]首次提出将神经网络用于联合抽取实体和关系.Katiyar等人[19]提出将Bi-LSTM用于联合提取实体关系三元组,但模型存在无法抽取其他关系类型的问题.Katiyar等人[20]改进模型无法扩展的问题,将Bi-LSTM与注意力机制结合来联合抽取,改善了Miwa等人[18]模型中依赖词性标签等缺点,同时该方法可扩展应用于提取各种已定义的关系类型.Bekoulis等人[21]将关系抽取任务建模为多头选择问题,模型可以不依赖外部自然语言处理工具,在训练中自动提取特征.然而,这些模型多数使用Bi-LSTM网络,无法并行运算,由于模型结构问题导致编码能力较弱,语义信息获取不够丰富.

2017年,Zheng等人[22]提出将联合抽取任务转换成序列标注任务,该方法优于当时大多数抽取模型,为关系抽取打开了新思路,然而该模型忽略了句子中包含相互重叠的多个关系三元组的问题.2018年,Zeng[23]首先提出解决三元组重叠问题,通过带有复制机制的Seq2seq模型解决重叠问题,但模型依赖解码的结果存在实体识别不全的缺点.Fu等人[24]采用加权的图卷积神经网络GCN考虑命名实体和关系之间的交互.Zeng等人[25]优化之前的模型,考虑到关系事实的提取顺序,将强化学习应用到模型中,可自动生成关系事实.Yu等人[26]提出将联合抽取分解为两个相互关联的子任务的分解策略,更好地捕获头尾实体的相关性.Wei等人[27]提出了一种新的级联二进制指针标注框架处理重叠问题,为关系三元组抽取提供了新的视角,但此模型将主语向量取平均后连接到特征向量中,存在特征丢失问题.

综上所述,现有的联合抽取模型已经取得了较好的抽取效果,但仍存在语义信息获取不充分,模型依赖不足的问题,而且多数模型不能较好地解决三元组重叠的情况.针对现存的问题,本文提出了一种基于多头注意力机制和指针标注结合的联合抽取模型.

3 AMPA实体关系联合抽取模型

关系三元组提取的目标是识别句子中所有可能的(s,r,o)三元组,其中s为主语,o为宾语,r为关系.根据 Seq2Seq 模型的解码思路,关系三元组抽取可以表示为公式(1),即先预测主语s,然后通过主语s预测对应的宾语o,最终传入主语s、宾语o预测对应的关系r.

P(s,r,o)=P(s)P(o|s)P(r|s,o)

(1)

从句子x中抽取关系三元组时,可以设计将宾语o和关系r的预测合并为一步,即先抽取主语s,再根据主语s同时抽取宾语o及关系r.可以得出三元组抽取的公式(2).

P(s,r,o|x)=P(s|x)P(r,o|s,x)

(2)

理论上,该公式只能从句子中抽取一个三元组,为了处理多个主语s、宾语o以及多个关系r的情况,本文将三元组抽取问题转化成指针标注问题.首先通过指针标注从一个句子中抽取出n个主语s.然后在抽取宾语o和关系r时采用分层的指针标注方式,预先定义好关系,依次将抽取到的各个主语s在每一种关系条件下对宾语o进行预测.最终完整地抽取出句子中所包含的三元组.

本文提出的AMPA模型通过预训练语言模型BERT编码词向量,设计多头自注意力层来丰富语义特征,将序列标注转化为指针网络标注处理三元组实体重叠问题.模型总体框架如图1所示,模型可分为BERT词嵌入层、多头注意力层和指针网络层.其中,向量hN表示BERT编码的句子向量;向量M为经过多头注意力网络层训练的特征向量;0/1标记表示该位置是否对应起始或结束.虚线框内的部分表示抽取出的主语.以第1个抽取出的主语“Scarlett Johansson”为例,在“Birth_place”关系条件下对应宾语为“New York”和“the United States”,在其他的关系条件下没有对应的宾语,所以主语“Scarlett Johansson”可以抽取出(Scarlett Johansson,Birth_place,New York)和(Scarlett Johansson,Birth_place,the United States)两个关系三元组.在每个主语和每种关系下依次操作,最终抽取出句子中潜在的全部三元组.

图1 AMPA实体关系三元组抽取模型结构Fig.1 AMPA entity relation triples extraction model structure

3.1 BERT词嵌入层

2018年,Devlin等人[28]提出了BERT语言模型,该模型是基于多层Transformer[29]的双向编码表征模型,以往通过Word2vec、Glove训练的词向量为静态的,BERT模型通过动态地训练词向量可以充分地学习深层表征信息.因此本文采用预先训练的BERT模型作为词向量嵌入层来编码上下文信息.

本文抽取任务输入的是单个句子而不是句子对,所以输入向量中不包括分割嵌入,因此BERT输入向量为输入句子的子词嵌入和每个词的位置嵌入之和.本文将Transformer表示为Trans(·),具体操作可以表示为公式(3)、公式(4).其中WS是子词嵌入矩阵,WP是位置嵌入矩阵,N是Transformer的数目,本文中N=12,hα是隐藏层状态,也就是输入句子在α层的上下文信息.hN表示最终经过N层Transformer编码得到的句子向量.

h0=WS+WP

(3)

hα=Trans(hα-1),α∈[1,N]

(4)

3.2 多头注意力层

自注意力机制[30]可以学习句子的内部结构,通过计算两个词之间的相似度,学习到句子中任意两个词之间潜在的依赖信息.通常采用缩放点积注意力进行计算,如公式(5)所示.

(5)

图2 多头自注意力模型Fig.2 Multi-head self-attention model

(6)

M(Q,K,V)=Concat(head1,…,headt)Wo

(7)

3.3 指针网络层

本文采用指针标注方式解码.首先通过指针标注抽取句子中的所有主语,然后采用分层的指针标注抽取关系和宾语,将每一个主语作为先验条件,利用层归一化将主语与句子向量进行特征融合,依次在每一种关系条件下标注主语对应的宾语.

3.3.1 主语标注

将多头注意力层的输出向量输入到两个相同的二进制指针标注器,分别预测句子中主语的起始位置和结束位置,通过0/1指针确定该标记是否对应于主语起始和结束位置.具体操作如公式(8)、公式(9)所示.

(8)

(9)

(10)

3.3.2 主语特征融合

为了加强模型的依赖性,在抽取宾语时要考虑主语的特征,但是采用简单的连接会导致特征表达效果不佳.本文把主语特征作为条件采用层归一化LN(Layer Normalization)方法将主语特征与句子向量进行更有效的融合.层归一化可以避免批归一化中受批量大小的影响,适用于小批量场景.LN计算如式(11).

(11)

其中,mi为输入向量M中对应第i个位置的向量,μ为均值,σ为标准差,ε是接近0的正数,α与β是模型训练参数.本模型改进的层归一化ILN(Improved Layer Normalization)进行特征融合时将主语向量s通过两个不同的变换矩阵,转换成与α、β同样的维度,然后将两个变换结果分别加到α和β上.其计算过程如公式(12)所示.

(12)

3.3.3 宾语标注

宾语标注采用分层的指针,首先预定义若干种关系,在每一种关系下都建立两个二进制指针标注器,实际操作与主语标注类似,不同的是输入向量改为融合了主语特征的句子向量ILN,特定关系下的详细操作如公式(13)、公式(14)所示.

(13)

(14)

(15)

3.4 损失函数

AMPA模型的整体损失值为主语抽取任务和关系条件下宾语抽取任务两部分任务的损失之和.损失函数表示为公式(16).

(16)

其中,|D|表示训练集大小,xj是训练集D中的一个句子,Tj={(s,r,o)}是句子中的潜在三元组.模型使用Adam优化器对损失函数进行优化.

4 实 验

4.1 数据集和评价指标

为了验证AMPA模型的实验效果,本文在NYT[31](New York Times)和WebNLG[32]两个经典的实体关系联合抽取公共数据集上进行验证.NYT数据集由远程监督的方式产生,WebNLG数据集最初为自然语言处理任务而创建.为了与先前的模型进行公正的对比,本文采用Zeng等人[23]预处理版本的两个数据集.其中NYT数据集包括24种预定义的关系,共有56195个实例用于训练,5000个实例用于测试,5000个实例用于验证.WebNLG数据集包括246种预定义的关系,总共包含5019个实例,测试集包含703个实例,验证集包含500个实例.根据句子不同的重叠情况,将句子分为正常情况、实体对重叠EPO情况和单一实体重叠SEO情况,具体数据如表1所示.

表1 数据集统计Table 1 Statistics of datasets

为了验证AMPA模型的有效性,本文采用准确率P,召回率R和调和平均值F1来评估本文的模型,其中F1为主要的评价指标.定义模型预测产生的关系三元组与真实的三元组完全相同时为正确抽取的数量.评价指标公式具体如公式(17)-公式(19).

(17)

(18)

(19)

4.2 实验设置

AMPA模型在服务器Ubuntu18.04操作系统上运行,处理器为Inter(R)Core i7-6800K@3.40GHZ,运行内存16GB(RAM),显卡为GIGA-BYTE GeForce GTX1080Ti.采用TensorFlow1.15和Keras2.2.4搭建深度学习神经网络.

实验中初始词向量的维度为预训练语言模型BERT的向量维度768.模型采用小批量学习训练,批量大小为6.模型采用Adam优化器来更新优化参数.在验证集上确定参数,当验证集上F1结果连续15个训练周期不发生改变时停止训练.通过调整参数对比结果,AMPA模型的最优参数如表2所示.

表2 模型参数值Table 2 Model parameter values

4.3 实验结果与分析

4.3.1 整体结果

为了验证AMPA模型的有效性,将其与目前较好的几个联合抽取基线模型进行对比,分别为Zheng提出的NovelTagging模型[21]、Zeng 提出的CopyRE模型[22]、Fu提出的GraphRel模型[23]、Zeng提出的CopyRRL模型[24]、Yu提出的ETL-Span模型[25],以及Wei提出的CasRel模型[26].在两个数据集的对比实验结果如表3、表4所示, 加粗字体为最优数据结果.

表3 在NYT数据集上的对比实验结果Table 3 Comparison of experimental results on NYT dataset

表4 在WebNLG数据集上的对比实验结果Table 4 Comparison of experimental results on WebNLG dataset

通过表3和表4数据可见,AMPA模型在3项评价上的结果指标均超过了基线模型.在NYT和WebNLG数据集上,F1得分比最优的基线模型分别提高了2.5%和0.9%.特别地,在WebNLG数据集上F1值达到了92.7%.证明了AMPA模型在实体关系联合抽取中的有效性.本模型性能较优是因为BERT语言模型比静态编码能更充分地学习表征信息,多头注意力机制相比其他网络在特征提取方面更优秀,主语特征融合可以加强指针标注模型中主语和宾语的依赖.对比两表发现AMPA模型在NYT数据集上的提升更为明显,而在WebNLG数据集上的提升较弱.这与数据集的本身性质有关,因为WebNLG数据集预定义的关系较多,而且本身训练数据较少,所以WebNLG数据集可以达到较好结果但提升的空间有限.

4.3.2 消融实验

为了验证多头注意力机制和条件层归一化对AMPA模型性能的影响,本文在两个数据集上进行了消融实验,对比结果如表5所示.其中,AMPA-LN表示指针网络中将主语向量与句子向量直接连接代替特征融合;AMPA-ATT表示消去多头注意力网络.

表5 在两个数据集上消融实验结果Table 5 Results of ablation experiments on two datasets

对比实验结果发现不添加多头注意力和不采用主语特征融合时,多数评价指标会有不同程度的下降.其中多头注意力网络对于准确率的影响较大,说明注意力网络通过丰富特征向量提高了模型的抽取准确性;观察数据发现,AMPA-LN模型的准确率和召回率相差悬殊,进行主语特征融合后因为其增加主语与宾语的依赖性,一定程度上使得模型的准确率和召回率结果更加平衡.总体来说,多头注意力机制和主语特征融合对AMPA模型性能的提升具有明显效果.

4.3.3 重叠问题实验

为了进一步验证AMPA模型具有解决三元组重叠问题的能力,本文将AMPA模型在正常、单个实体重叠、实体对重叠的3种不同重叠模式下与基线模型进行对比,在两个数据集中F1结果的对比情况如图3、图4所示.

图3 在NYT数据集上的不同重叠模式的F1得分Fig.3 F1 scores for different overlapping patterns on the NYT dataset

由图3可见,在NYT数据集中AMPA模型在3种不同重叠模式下的F1值均优于其他模型,观察图4可见,在WebNLG数据集中,AMPA模型在单一实体重叠和实体对重叠情况下分别提高了0.3%和1.4%.但在正常情况下的F1得分不及CasRel模型.其次,还可以观察到,之前的多数模型在重叠情况下的抽取效果相比正常情况会有下降趋势,而AMPA在重叠情况下的结果相比正常情况表现更好.这是因为这些模型的结构存在缺陷,它们将关系建模为实体对上的离散函数,当同一实体参与多种关系时,模型无法对关系进行正确分类,从而出现三元组缺失的情况.虽然CasRel模型对于重叠情况也有较好的表现,但AMPA模型对于处理复杂句子有更大的优势.原因在于分层的指针标注可以通过映射关系处理重叠问题,而多头注意力机制能够从多个维度获取句子的特征信息,可以更好地解读复杂句式中的关键信息.同时在主语宾语标注中采用主语特征融合,可以增强模型依赖.综上所述,AMPA模型可以较好的处理复杂的文本,对于处理实体关系联合抽取中存在的三元组重叠问题时具备有效性.

图4 在WebNLG数据集上的不同重叠模式的F1得分Fig.4 F1 scores for different overlapping patterns on the WebNLG dataset

5 结 论

本文融合多头注意力机制和指针网络提出了一种可以解决关系三元组重叠问题的实体关系联合抽取模型AMPA.该模型通过多头的注意力机制多个维度地捕捉句子中潜在的特征信息,在指针网络中添加了主语特征融合层,将主语向量融合到句子向量中,强化了主语抽取与关系宾语抽取任务之间的联系,提高模型性能.实验结果表明,AMPA模型可以解决三元组重叠问题,并且相比基线模型可以在实体关系联合抽取任务上取得较好的效果.

该模型虽然取得了一定的效果,但当数据集存在较大噪声和长尾问题时,模型训练效果会产生波动;并且训练时间较长,成本较高;由于本模型进行联合抽取时涉及顺序相关的步骤,从而不可避免的存在曝光偏差问题.所以在后续的工作中,将从提高模型抽取效率,增强模型稳定性入手改进抽取模型,并且寻求一种一阶段的重叠实体关系联合抽取方法,尽可能避免曝光偏差问题带来的影响,更好地处理重叠问题,进一步解决复杂文本的关系抽取难题.本研究的模型是对通用数据集进行实体关系抽取,而领域知识图谱的构建更有意义,特别地,医疗领域知识图谱对于完善医疗问答系统至关重要,所以接下来会深入医疗领域对关系抽取模型进行改进,为之后的医疗领域知识图谱工作做好铺垫.

猜你喜欢

三元组指针宾语
连词that引导的宾语从句
特征标三元组的本原诱导子
垂悬指针检测与防御方法*
关于余挠三元组的periodic-模
宾语从句及练习
一个时态RDF存储系统的设计与实现
为什么表的指针都按照顺时针方向转动
中考试题中的宾语从句
浅析C语言指针
三元组辐射场的建模与仿真