赵 超,谢松县,曾道建,郑 菲,程 琛,彭立宏
(1. 长沙理工大学 计算机与通信工程学院,湖南 长沙 410114; 2. 湖南数定智能科技有限公司,湖南 长沙 410003; 3. 湖南师范大学 智能计算与语言信息处理湖南省重点实验室,湖南 长沙 410081; 4. 广州市公安局指挥中心情报信息处,广东 广州 510030)
关系抽取(Relation Extraction)既是信息抽取技术的重要环节,也是信息抽取领域重要的基础任务和难点问题之一。其任务是从非结构化文本中识别出实体和联系这对实体的语义关系,并构成关系三元组。
目前基于神经网络的关系抽取模型已经取得了较好的效果,但现有的方法都仅关注于目标实体对之间的关系而忽视了其他可能出现在该句子中的关系。实际上,真实世界中的句子总是包含丰富多样的关系标签,并且某些标签之间存在着明显的语义联系。这种标签间的联系称为关系标签依赖。关系标签依赖大致可分为两类: 弱标签依赖和强标签依赖[1]。以NYT数据集(1)New York Times,广泛应用于关系抽取任务,包含53种关系。[2]定义的关系标签为例,弱标签依赖主要与关系标签的层次结构相关,如NYT数据集中预定义的同属于人物属性层级下的关系标签,如国籍、出生于或总统等,当给定句子主题与人物属性相关时,这类标签通常存在着大量的共现情况。而强标签依赖指关系标签之间具有潜在的逻辑推理蕴涵,如首都和城市,创始人和所属公司等关系标签。以后者为例,如果一个实体对具有创始人的关系标签,则几乎必然有所属公司标签的存在,反之则不一定正确。
图1介绍了美国第45任总统特朗普的人物背景信息。首先,与个人属性(出生于,总统)相关的存在弱标签依赖的关系标签应该有更大概率在这句话中出现。其次,实体对特朗普和美国的两种关系“总统和国籍”之间存在强标签依赖。通过研究[3]发现,图是一种建模数据之间依赖信息的有效结构,而图卷积网络(GCN)能够学习图节点的嵌入表示。为了对标签之间的重要依赖信息进行建模和挖掘,本文提出了一种关系依赖图,并使用图卷积网络来学习关系标签的嵌入表示。
图1 特朗普的人物背景信息及关系事实
最近,预训练语言模型已被证明对许多自然语言处理任务带来了有效的提升。其中,Devlin等[4]提出的预训练模型BERT对NLP的各种领域的发展产生了深远的影响。通过大规模无标注语料库的训练,BERT可以对不同层次的信息和不同层次的信息之间的复杂交互进行建模,然后针对有监督的下游任务对其进行微调。BERT应用的任务通常被建模为分类问题或序列标记问题。与这些问题不同的是,关系抽取不仅需要考虑整个句子的信息,还需要考虑目标实体对的信息。此外,在关系抽取任务中,对复杂关系进行分类需要大量带标签的训练数据,而标注这些数据既耗时又困难。因此,使用预训练模型再利用少量的数据进行微调是一种有效的方法。
综上,本文提出了一种新的融合预训练模型BERT和标签依赖的关系抽取模型。在该模型中,首先使用预训练模型BERT得到句子的上下文语义编码信息,以及头实体和尾实体的实体编码信息。然后通过构建关系标签的有向图,并在其上应用多层图卷积捕获关系标签依赖的语义拓扑结构,将标签有向图映射为一组相互依赖的标签分类器。最后,联合句子级别和实体级别的编码信息,通过基于标签依赖的标签分类器完成最终的关系预测。
本文的主要贡献如下:
(1) 提出一种融合预训练语言模型BERT和标签依赖知识的端到端关系抽取模型;
(2) 提出了关系依赖图的概念,并使用图卷积神经网络学习标签之间的依赖信息;
(3) 在真实数据集上进行了验证实验,实验结果显示本文提出的方法在性能上相较基线方法有显著提升。
关系抽取是自然语言处理领域中的重要任务之一。近年来,研究人员已经在关系抽取方面做出了诸多工作,尤其是基于神经网络的有监督的关系抽取方法。与传统的关系分类方法相比,深度神经网络能够自动学习底层语义特征,减少了对预处理的依赖性,大大削弱了外部NLP工具的误差累计。受计算机视觉任务中各种卷积神经网络的启发,Zeng等[5]首次将卷积神经网络用于关系抽取,并被扩展到诸多变种模型。之后,为了更好地建模自然语言的序列型特征,Nguyen等[6-8]引入循环神经网络。从语言结构分析的角度出发,Cai等[9]提出基于依存关系的神经模型,通过语义依存分析来进行关系抽取。
近年来,图卷积网络在关系抽取领域的应用也取得了极大的成功。Zhang 等[10]使用图卷积网络(GCN)建模关系的依赖树,首次将图卷积神经网络应用至关系抽取领域。一些工作[11-13]将关系抽取建模为关系图,利用实体和关系的上下文信息对其进行抽象建模。Christopoulou等[14]提出了一种基于图的神经网络模型,该模型可以同时处理句子中的多个实体对。
随着最近预训练语言模型的崛起,大量研究聚焦于预训练模型和具体自然语言处理任务的结合。Alt等[15]首次将预训练模型引入关系抽取任务。Wu等[16]为了将预训练模型BERT更好地应用于关系抽取任务,提出了实体感知的概念和方法。进一步地,Soares等[17]在其基础上,采用6种不同结构来进行实体对的池化。相较于传统方法,基于预训练语言模型的关系抽取模型表现出更为先进的性能。
为从给定的语料库中挖掘出更多有用的信息以提高关系分类的性能,本文将预训练模型BERT和图卷积网络相结合,给出了一种能捕获更多有效上下文信息和关系间关联信息的抽取策略。
句子级别关系抽取的任务定义如下: 给定一个句子S和句子中给定的两个实体{E1,E2},其 中,E1为头实体,E2为尾实体。随后从一组预定义的关系R∪{None}中找到S中这两个实体之间的关系集合r⊂R∪{None}。None表示句子中的两个标记实体之间没有R关系。实体之间的关系的顺序是特定的,即r(E1,E2)和r(E2,E1)是不同的。系统的输入是一个句子S和两个实体(E1,E2),输出是关系集合r(E1,E2)⊂R∪{None}。
为了综合利用同一句子中出现的其他关系信息,本文提出一种基于图卷积网络的神经关系抽取模型,模型整体框架如图2所示。
模型由三部分组成: (1)句子和实体编码器,对输入的文本进行编码,得到句子以及实体的上下文语义表征; (2)图卷积神经网络,对关系标签依赖图进行建模; (3)关系分类器,完成最终的关系预测任务。接下来将进一步详细阐述本文所提出模型。
图2 模型的整体框架
最近,预训练模型BERT在各种NLP任务中展示了其惊人的有效性。BERT模型的结构是一个多层的双向Transformer,由若干个相同的编码器堆叠形成。其中,每个编码器由多头自注意层和位置全连接前馈层组成。BERT也是一个多任务模型,由掩码语言模型(Masked Language Model)和下一句预测(Next Sentence Prediction)两个自监督任务来进行训练。通过对大规模无标记语料库的训练,BERT对不同层次信息之间的复杂交互进行建模,学习深层语境化的词汇表征。使用BERT并针对下游任务对其进行微调是目前的主流做法。本文也使用BERT来获得输入语句的上下文表示。
首先,BERT使用WordPiece分词器对输入句子进行分词。输入单元为分词后的词、段和位置嵌入的总和。此外,BERT还添加了一个特殊标记“[CLS]”作为第一个标记,用于获取分类任务的聚合序列表示,以及一个用于区分同一输入序列中的句子的特殊标记“[SEP]”。为了让BERT对句子进行编码的同时更好地感知目标实体对的信息,本文遵循Wu和He[16]的方法,在头实体的开头和结尾插入一个特殊标记“$”,尾部实体则使用“#”。例如,图1中给定的句子需要在输入到BERT模型之前更改为以下形式。
[CLS]美国总统#特朗普#出生于$纽约市$皇后区。[SEP]
给定一个包含两个目标实体(E1,E2)的句子S={w0,w1,…,wl},经过分词和预处理得到标记序列X={x0,x1,…,xn}。随后,预训练模型BERT将每个标记映射成一个语义词向量,即H={h0,h1,…,hn}。本文使用“[CLS]”所映射的隐藏向量h0通过一个全连接网络得到句子级别的聚合序列表示,即句中所有关系的联合表示Hsen,如式(1)所示。
Hsen=f(W1h0+b1)
(1)
对于实体对的语义表征,或者说目标实体对所含关系集合的联合表示,使用如下运算捕获: 首先,假设Hi到Hj为BERT输出的头实体的隐藏向量序列,Hs到He为尾实体的隐藏向量序列,分别求得两个实体隐藏向量序列的平均,随后拼接平均后的头实体和尾实体表示,通过非线性前馈神经网络得到Hent,如式(2)~式(4)所示。
其中,f(·)指非线性激活函数(如tanh()),W1∈Rl×d,W2∈Rl×2d为可学习参数,b1,b2为偏置向量。
2.3 图卷积神经网络
图卷积神经网络(GCN)是挖掘图数据结构特征的有力方法。为了充分利用标签依赖知识,本节将描述标签依赖图的构造以及利用图卷积网络对标签依赖建模的详细过程。
2.3.1 邻接矩阵
一般用一个邻接矩阵A∈Rn×n来表示一个有n个节点的图。为了有效捕捉关系标签间的相关性,本文通过计算训练语料库中标签的共现情况,构造了类似于ML-GCN[18]的相关矩阵作为邻接矩阵。具体来说,首先将每个关系标签转换成一个向量,该向量被视为图节点的表示V,而关系之间的关联则存储在图的边上。如果两个关系同时出现在同一个句子中,那么将认为它们对应的标签同时出现,即两者间存在边。如果i关系与j关系同时出现的频率比k关系高,则i关系和j关系之间应具有更强的相关性。因此,本文使用两个关系标签之间的共现次数作为邻接矩阵中的连接权值。例如,如果i关系与j关系同时出现n次,则Aij=n。为了解决标签不平衡问题,将邻接矩阵规范化如式(5)所示。
MNom=M/F
(5)
其中,M是邻接矩阵,F是单个标签的频率向量。在训练过程中,由于固定了矩阵数值,因此它完全依赖于训练数据中的先验共现信息作为标签依赖知识。
2.3.2 关系依赖图
如何有效地捕捉关系标签间的依赖知识,并利用这些知识来提高关系分类的性能是非常重要的。本文使用图卷积网络来建立关系标签依赖的模型。关系标签节点V表示为d维向量V∈Rn×d,结合构造好的邻接矩阵A,则GCN层可以写成非线性函数f(V,A)。利用文献[3]中提出的标准卷积运算,标签依赖的编码过程如式(6)所示。
(6)
(7)
其中,aij代表邻接矩阵A的第i行,j列的元素,Vl表示第l层中i关系的标签嵌入。类似文献[18],本文使用一个多层图卷积网络来学习多个关系节点嵌入之间的相关性,如式(8)所示。
(8)
通过图卷积网络进行标签依赖编码后,得到一组相互依赖的标签嵌入表示R={r0,r1,…,rn}。
2.4 关系预测与模型训练
如图2所示,本文综合上述得到的句子表示Hsen和实体表示Hent,以及捕获了标签依赖拓扑结构的标签嵌入R进行最终的关系预测。由于实体对重叠(EPO)[19]的存在,这意味着给定实体对可能包含多种关系,因此模型使用sigmoid层来预测句子S中实体对e={E1,E2}的关系集合,如式(9)所示。
pr(r|S,e)=σ(Rf(W3[Hsen;Hent]+b3))
(9)
其中,σ指sigmoid函数,f(·)表示非线性激活函数[如tanh()],W3和b3是可学习参数和偏置量。在本模型中,R既是一组相互依赖的标签嵌入表示,也是一组相互依赖的二元分类器参数。在反向传播过程中,其梯度会同时影响图卷积模块以及句子与实体编码模块参数的更新。
本文采用随机梯度下降算法来最小化负对数似然函数的方式来进行模型训练,其目标函数定义如式(10)所示。
(10)
其中,Γ为模型训练参数集合,Δ是序列x的标准关系集合。
为了验证本文提出模型在真实应用场景下的性能,我们采用真实案件受理过程中产生的警情文本作为实验数据。我们与广州市公安系统合作,收集了2019年1月~8月期间某市的12 582条警情文本,每条文本都由专业人员进行了实体与关系的标注。该数据集预定义关系共12种,文本分词后平均长度为261。本文按照8∶1∶1的比例划分为训练集、验证集和测试集。
本文选取常用的精确率P、召回率R和F值对关系抽取结果进行评价。
为了验证本文方法的有效性,实验使用Pytorch实现本文的模型结构,模型训练使用的GPU型号为NVIDIA RTX2080TI。模型中所有的超参数都是通过交叉验证得到的。为防止神经网络过度拟合,我们分别在embedding层、非线性网络层以及隐藏层后引入dropout机制。为防止图卷积网络训练的过度平滑,本文使用两层图卷积建模关系标签依赖。详细超参数设置如表1所示。
表1 超参数设置
针对关系抽取任务,本文选择了不同的基线方法来进行对比:
CNN+Softmax[5]单词用单词嵌入和两个位置嵌入来表示。利用卷积神经网络采用最大池化方法提取句子级特征向量。该特征向量通过softmax传递给前馈神经网络层进行分类。
BiLSTM分词后的词嵌入送入深层BiLSTM网络获取其上下文语义信息,在时间步维度做最大池化降维获取其句子级别特征,最后结合实体尾部的隐藏向量进行分类。
EntityAttentionBiLSTM(E-A-BiLSTM)[8]与BiLSTM不同的是,E-A-BiLSTM在输入时先使用self-attention捕获长依赖语义,此外还引入一种实体感知的注意力机制计算实体对的权重。
Bert[4]使用预训练模型BERT得到句子和实体的聚合序列表征,通过全连接前馈网络进行分类。
本节通过多组实验来分析本文提出模型的有效性,表2展示了基线方法和本文等多个模型分别在警情文本数据集上的实验结果,Our Model表示本文提出的模型。由表2可以得出:
(1) 本文提出模型在该警情关系数据集的实验结果F1优于所有基线模型,说明本文提出的方法对关系抽取任务性能带来了有效的提升。
表2 警情关系数据集实验结果 (单位: %)
(2) 本文提出方法的F1值相较于最佳基线方法Bert高出两个百分点,召回率更是高出4个多百分点,这表明标签依赖知识对于关系抽取任务是十分有效的。
(3) 与其他三种方法相比,本文模型在准确率,召回率和F1值上都大幅领先。较为夸张的是,本文方法相较于CNN+Softmax在F1值上提高了近20个百分点,相较于BiLSTM在F1值上提高了10个多百分点。对于BiLSTM来说,可能是数据集中句子长度太长,上下文中存在大量的噪声,影响了实验结果。对于CNN+Softmax来说,是由于其无法良好捕获长距离相隔的两个目标实体的上下文语义信息。该实验结果也再一次表明,预训练语言模型BERT在特征提取上的优越性。
此外,为验证一个句子中存在多个三元组时,标签依赖知识可以有效提高关系抽取的性能,我们将测试集按照句子中包含三元组的数量划分为6个子集(1,2,3,4,5,>5)。各子集中,本文提出模型以及基线方法的性能如图3所示。由图可得,在警情关系数据集中,当句子不少于两个三元组时,本文提出模型性能优于所有其他基线模型。由此表明,在句子中关系事实丰富的情况下,标签依赖知识可以显著提升关系抽取性能。
图3 含不同数量关系事实的测试子集实验结果
主实验结果已经验证了所提出模型中GCN模块利用关系的标签依赖优化关系分类的有效性。由于GCN模块可作为一个独立的部件,本文考虑将其应用于其他关系分类模型,并进行消融实验,证明其可以作为一种有效的关系多标签分类技术。本文从基线方法中分别选取了以CNN、BiLSTM和BERT作为主干网络的三种不同的神经网络关系抽取模型,并在警情关系数据集上进行了实验。由于2.4节中介绍的实体对重叠(EPO)的存在,而且强标签依赖大都存在于其中,我们将所有基于Softmax的多分类模型更改为基于Sigmoid的多标签分类模型。消融实验结果见表3,其中,“w/o”表示不包含,“w/”表示包含。
表3 消融实验结果 (单位: %)
从表3可以看出,经过模型改造后,前两种模型通过融合基于GCN建模的标签依赖知识,使其性能提高了2%左右。对于已经获得了较高的F1分数的BERT模型和本文模型,提高了1.2%。本文模型与基于BERT的模型相比较,F1值提高了1.4%,这说明2.2节中所述实体感知对于关系抽取任务的有效性。
前文通过与基线模型之间详细的消融研究,定量地评价了该方法的有效性。为了进一步探究标签依赖知识的作用,我们对每种关系类型从测试集中随机选取了数量相同的样例,并将其最终进入分类层(即最后一个全连接网络)的特征向量应用t-SNE降维算法进行可视化。图4和图5分别为样例数据在本文模型上不包含和包含GCN组件对应的数据可视化。
图4 不包含GCN组件的样本特征t-SNE可视化
图5 包含GCN组件的样本特征t-SNE可视化
相较于图4,图5中各关系标签对应的位置表现出与真实警情数据集中数据分布相吻合的拓扑结构。警情数据集中包含大量笔录审问对象未知的警情笔录数据。而在图5中,以犯罪嫌疑人为审问对象的相关关系标签(如嫌疑人、骗取、钱财流入等)在空间中的表示更为靠近。以报案者为对象的相关关系标签(如受害人、被骗取、钱财流出等)和物品相关关系标签(如对象属主、拥有方、使用方)也表现为类似形式。
上述可视化图表明,本文提出模型可从给定的语料库中挖掘出更多关系标签之间的依赖信息,并利用其提高关系分类的性能。
综上,GCN是一种有效的建模关系标签依赖的方法。值得注意的是,GCN的深度并不是越深越好。如图6所示,当图卷积层数增加时,模型性能会持续下降。已有研究[20]表明,图卷积操作实际上是一种特殊形式的拉普拉斯平滑,随着多层图卷积网络的叠加使用,图网络结构中同一连通分量内的节点的表征会逐渐趋向于收敛到一个和输入无关的子空间,造成节点表示的过平滑,导致性能下降。
图6 包含不同深度GCN组件的实验结果
本文提出了一种结合预训练语言模型BERT和图卷积网络的关系抽取模型。相较于传统模型,该模型能更好地捕获上下文语义信息,并充分利用和挖掘关系标签之间的相关性。本文在真实警情数据集上进行了实验。实验结果表明,该框架进一步提高了关系抽取任务的性能。后续我们将在其他领域数据集上对本文算法进一步进行测评和改进。