APP下载

基于多层次语义感知的中文关系抽取研究

2024-01-24付学敬丁肖摇

计算机技术与发展 2024年1期
关键词:歧义词义实体

付学敬,丁肖摇

(1.上海市市场监督管理局信息应用研究中心,上海 200032;2.战略支援部队信息工程大学,河南 郑州 450000)

0 引 言

关系抽取是信息抽取的一个重要子任务,关系抽取需要在理解语义的基础上从非结构化文本中抽取出实体对关系,其在知识图谱构建中扮演着重要角色。中文关系抽取作为关系抽取的重要分支,在中文语义理解、中文知识库构建等下游任务中至关重要,但是由于中文语义的复杂性以及汉语词意的多样性,导致专家学者对中文文本关系抽取的研究相对较少,更多放在了数据集丰富的英文文本的关系抽取上。但是在现实生活中,所接触的更多的是中文文本的表达,面对海量的中文文本数据,中文关系抽取技术可以更好地服务现实需求,是构建中文知识库的关键模块[1]。因此,构建一个高效且稳定的中文关系抽取模型就显得尤为重要。

目前,研究人员更多的是关注英文文本的关系抽取[2-5],但是中文文本的体量也是很庞大的,中文关系抽取的进展关系到中文文本知识图谱的构建水平,也会间接推动中文语料库的发展,所以构建行之有效的中文关系抽取模型也是当前的一项重要任务。鉴于此,该文对中文关系抽取模型开展研究。

与英文关系抽取相比,中文文本与之差别较大,中文关系抽取面临着更为严苛的挑战。首先,中文文本中包含着丰富的语义,而句子形式结构上较英文文本松散;其次,中文文本中有较多的虚词做为句子内或者句子间的连接,而英文文本依靠词汇序列的不同来表达句子语义和句子结构,这两方面的挑战说明理解句子语义对于中文文本的关系抽取至关重要。如图1例子所示,首先在“孟德尔研究所有杜鹃”这句话中,实体“孟德尔”和实体“杜鹃”的关系受到分词质量的影响,比如可以按照“孟德尔/研究/所有/杜鹃”这样划分,那么“孟德尔”和“杜鹃”的关系就是“研究”,另一种按照“孟德尔/研究所/有/杜鹃”划分方式,“孟德尔”和“杜鹃”就是“所有者”的关系,如果单独拿出来这个句子,这两种的分词结果都是正确的。其次,这句话中的“杜鹃”也有两种含义,分别是“杜鹃鸟”和“杜鹃花”,这两种含义放在句子中都是成立的,但是在中文这是有歧义的,而且是中文文本中很常见的歧义。这就对中文关系抽取模型提出了更高的要求,首先对于词的分割,要包含动态词向量,也就是说要根据句子的上下文对分词进行改进,其次要利用注意力机制,对实体的词义要包含句子的语义和整个文本的信息,这样实体的词义才是准确的,才能有效避免歧义情况。

图1 中文关系抽取例子

该文提出了基于多层语义感知的中文关系抽取模型。首先将含有目标实体的中文句子输入到ERNIE[6]预训练模型中得到动态词向量,然后利用注意力机制[7]进一步丰富句子中实体的词义,并且生成含有句子信息的向量表示;为了进一步降低中文词的歧义,模型引入外部知识,使句子中的实体在外部知识的引导下提高实体表达的准确性。这几个阶段也是有针对性地解决中文关系抽取中的实体语义缺乏以及实体歧义的问题,使模型能够将含有更为丰富的语义信息的实体传入到分类器中,实现中文关系抽取的更高性能。

所提模型在中文关系抽取数据集上进行了实验,实验结果表明所提模型在性能上优于现有的中文关系抽取模型。

1 相关工作

近年来,神经网络和深度学习技术得到了广泛和深入的应用,中文关系抽取在自然语言处理领域得到了迅速发展,相关的中文关系抽取文献数量也在不断增加。关系抽取模型的构建方法通常可以分为两类:基于传统神经网络模型和基于预训练语言模型。

1.1 基于传统神经网络的模型

在基于传统神经网络的模型中主要应用卷积神经网络(Convolutional Neural Network,CNN)和循环神经网络(Recurrent Neural Network,RNN)。Liu等人[8]开创性地提出应用CNN学习文本语义特征最终实现关系抽取。之后,研究人员对CNN进行丰富和扩展,相继提出带有最大池化的CNN抽取模型[9]、结合注意力机制的CNN抽取模型[10]和多通道的CNN抽取模型[11]。虽然CNN模型在并行计算上有着独特的优势,但是在中文文本的语义理解和语境建模方面有着明显的劣势。接下来研究人员将目标放在了RNN上,Zhang等人[12]率先提出将RNN应用在关系抽取模型上并取得了更好的抽取性能。作为RNN变体的LSTM(Long Short-Term Memory)在中文关系抽取模型上也得到了广泛应用,Zhang和Yang[13]提出Lattice+LSTM模型,在LSTM上引入了词汇信息可以更好地解决字符和词汇特征融合问题,但是在分割词义上仍然受到分词质量的制约。针对此问题,Li等人[14]提出多粒度格框架模型,将字符和字符序列的潜在词义信息作为输入,在一定程度上解决实体中的歧义问题。但是传统的神经网络在处理实体对长距离依赖上有着天然的劣势,所以更多的研究者尝试利用预训练语言模型来解决中文关系抽取中的实体对长距离依赖问题。

1.2 基于预训练语言的模型

近年来,预训练语言模型在自然语言处理领域中大放异彩,其在中文关系抽取任务上的应用实现了更好的性能。针对上述Li等人[14]使用LSTM造成字符信息丢失以及词汇信息不能共享的问题,Kong等人[15]提出在编码层将LSTM和BERT[16]相结合的方式,以实现字符表示包含所有匹配信息词,这样也就缓解了信息丢失问题。Eberts和Ulges[17]提出以预训练语言模型BERT为基础同时引入跨度(Span)思想的关系抽取模型。由于需要计算每个字符之间的跨度,造成时间复杂度较高。Zhong和Chen[18]提出对实体模型和关系模型分别使用两个不同的编码器来学习不同特征,这里的编码器是BERT和ALBERT[19]。采用不同的编码器有助于不同特征信息的表示但是却割裂了实体表示和关系抽取之间的信息共享。Zhou和Chen[20]提出实体表示改进技术进而提高抽取性能,其中在编码器上分别使用预训练语言模型BERT和RoBERTa[21],RoBERTa在BERT基础上进行了全面优化,包括应用动态掩码技术以及使用整句输入等。Cui等人[22]提出预训练语言模型MacBERT,在中文关系抽取上获得了比RoBERTa更好的效果,需要注意的是MacBERT也是对BERT的进一步改进。但是该模型仍然缺乏外部知识,对于歧义的词义判断效果不佳。Yang等人[23]提出了以BERT作为编码器的混合视角专家框架,框架可以动态学习语义的多视角特征。将不同粒度和视图信息与预训练模型相结合,有利于中文关系抽取。Zhao等人[24]提出一种多义性回馈机制来解决词的多义性问题,模型在编码模块采用了CNN和RoBERTa相结合的方式有效表示了不同粒度的信息特征,但是可以发现基于词的表示性能要低于基于字符的表示。基于字符和词的融合模型虽然很好地解决了两者的缺点,但是利用上下文信息仍然有限,导致实体词义表示不清,从而产生歧义。2019年,百度公司推出基于BERT的改进模型ERNIE[6],ERNIE是一种针对中文文本的预训练语言模型,它通过对连续的实体词和短语进行掩码训练,使其能够学习到更好的语义知识以提高性能。李天昊等人[25]利用ERNIE和注意力机制相结合的方式提高中文文本特征的表示。但是对于词的歧义问题仍然没有较好地解决。

基于预训练语言模型的方法实现了更有竞争力的性能,但仍需要解决两个问题。第一个问题是虽然后期的预训练语言模型能够将输入序列转化为动态向量表示,从而一定程度上缓解一词多义问题,但还是无法满足对于句子中词义的深入理解,而这一步骤又是中文关系抽取的基础。第二个问题是对于句子中的目标实体,其所包含的语义信息还相对匮乏,在某些情况下,实体的表示还是会产生歧义,最终影响关系的抽取。对于这两点问题,文中模型都提出了具体的解决办法。

对于第一个问题,目前的ERNIE预训练模型可以较好地解决词向量的问题,然而仅仅依靠ERNIE模型是不够的,还应该针对下游任务进一步利用注意力机制解决词义的单薄问题,通过将动态向量中重要的词以及词之间的相互依赖性利用权重凸显出来。对于第二个问题,目标实体如果想更好地避免歧义问题,还需要外部知识的助力,外部知识可以在实体存在歧义时给予一定的辅助,使得实体即使在上下文信息很少的句子中,也可以尽可能地理解并补充词义。通过这两个关键问题的解决,最终丰富了句子的语义表示,提高了中文关系抽取的性能。

2 多层次语义感知的中文关系抽取模型

该文提出的模型框架如图2所示,主要分为三个层次,分别是:编码层、多层次语义感知层、分类层。

图2 模型框架

在编码层,首先将需要判断实体关系的句子进行实体标记,然后将其放入到ERNIE预训练模型中得到输出的动态词向量。这样词向量在编码阶段就具有了实体感知能力和上下文捕捉能力。在多层次语义感知层,首先利用自注意力机制计算句子中的其他词对目标实体对的影响,也就是其他词与目标实体对的交互权重,这样句子中的语义就能够被目标实体对所吸收。然后为了进一步避免目标实体的词义歧义,利用HowNet[26]知识库作为外部知识对目标实体表示进行补充,这样进一步丰富了目标实体所在的句子表示。在分类层中,将含有多层次语义的句子表示放入到分类器中,计算目标实体对所属的关系类型。

2.1 编码层

为了使预训练模型能够精确地识别出需要判断关系的实体对,首先对句子中需要判断关系的实体对进行标记,如句子“市场监督管理局于2022年5月20日对当事人所销售口罩进行抽检”,这里想知道实体“市场监督管理局”和“口罩”的关系,那么在对该句子进行词向量变换之前,就需要对目标实体对(市场监督管理局,口罩)进行标记,标记结果为:“ES_1市场监督管理局ED_1于2022年5月20日对当事人所销售ES_2口罩ED_2进行抽检。”其中“ES_1”和“ED_1”分别是第一个目标实体“市场监督管理局”的左右两边的标记,“ES_2”和“ED_2”分别是第二个目标实体“口罩”的左右两边的标记,将需要判断实体对关系的句子标记完毕后,就可以进行下一步向量化的处理。假设句子经过标记后由n个字符组成,其中wi表示句子中的第i个字符,将句子放入到ERNIE预训练模型中得到如下的向量化表示:

H=[h1,h2,…,hn]=ERNIE([w1,w2,…,wn])

(1)

其中,H∈n*dh,dh是隐藏状态hi的维度。

2.2 多层次语义感知层

对于多层次语义感知层,是将实体相关的多粒度的语义感知融入到句子表示中,多粒度具体是以词、句子以及概念为建模对象。

经ERNIE预训练模型输出的动态词向量在一定程度上确实包含了实体对所在句子的上下文信息,但是这些语义对于更精确地预测实体对关系是不够的,实体所在的句子表示信息还应该涵盖更为丰富的语义信息,所在多层次语义感知层中通过注意力机制和外部知识共同丰富句子语义信息。

句子中的每一个字符对目标实体的贡献度是不同的,也就是说有些字符更有利于判断实体对的关系,比如在“市场监督管理局于2022年5月20日对当事人所销售口罩进行抽检”句子中,“抽检”相对于“销售”对判断实体对(市场监督管理局,口罩)关系的影响是不同的,那么对实体对影响大的字符应该被赋予更大的权重,反之则赋予更小的权重,那么利用注意力机制来计算实体所在句子的初始表示:

S=tanh(H)

(2)

α=softmax(bΤS)

(3)

H*=HαΤ

(4)

其中,b∈Rdh是可训练参数,α∈Rn是权重参数。

实体所在句子的句向量初始表示的具体计算过程如图3所示。

图3 计算实体所在句子的初始表示的过程

在模型训练过程中,首先对句子的向量化表示进行tanh激活处理,从而缓解模型训练中的梯度消失问题;然后将此过程的输出S与可训练参数b转置相乘,计算每个字符对于句子中实体的权重a大小;根据所得权重值更新句子的向量化表示,将基于新的句向量的模型预测结果与数据实际标签进行比较,计算损失函数值,通过将误差以反向传播的方式计算参数梯度,通过梯度下降法更新模型可训练参数,这样就通过注意力机制将字符级特征融入到句子级特征中。

考虑到中文词义的特殊性和复杂性,即同一个词在不同的语义下有着不同的含义,如图1中的例子,“杜鹃”这个词在不同的语境下有着不同的词义,所以需要根据不同的语境区分“杜鹃花”或者“杜鹃鸟”,但是之前的模型由于没有先验知识所以无法正确地区分出这个词义,而文中模型引入HowNet这个外部知识库,旨在进一步提高模型应对词义歧义的能力。对于HowNet知识库,官方提供了API接口,这里可以直接调用使用,比如用API接口去搜索“口罩”相关的词义,会得到如下“[eat|吃,protect|保护,MakeSound|发声,tool|用具,mouth|口,PutOn|穿戴,viscera|脏,part|部件,AnimalHuman|动物]”与口罩相关的外部知识,这些知识对口罩有着较好的补充丰富的作用,那么假设实体通过HowNet遍历得到k个相关的概念,这k个概念经过ERNIE编码得到k个动态词向量。同样地,利用注意力机制增强实体所对应的外部知识的语义表示:

(5)

(6)

最后将得到的外部知识表示和句子表示相连接得到富含多层次语义感知的句子表示:

h=[H*;Ohn]

(7)

其中,[ ; ]是连接操作符。

2.3 分类层

经过多层次语义感知的作用,得到了实体对所在句子的最终表示,将预定义的中文关系的抽取任务作为二分类任务分别进行处理,利用sigmoid函数得到关系r在关系集合中的概率:

pr=sigmoid(Wrh+br)

(8)

其中,pr∈R|R|,W和b是可训练参数。

最后利用二元交叉熵来定义损失函数并且在模型训练中通过Adam优化器[27]来调节损失函数。损失函数定义如下:

(9)

其中,yr∈{0,1}表示关系标签r的真实值。

3 实 验

3.1 数据集

所提模型选取在多个论文中都使用的数据集SanWen[28]和FinRE[29]进行实验。

SanWen是人工标注的中文数据集,包含837篇文档共计21 240句话,随机选取其中的81.1%作为训练集,8.4%作为验证集,剩余10.5%作为测试集。实体之间有九种关系,包括定位、接近、部分-整体、一般-特殊关系、家庭、社会、所有权、使用、创造。

FinRE由2 647条新浪财经新闻的18 702个实例组成。其中的13 486条作为训练集,1 489条作为验证集,剩余的3 727条作为测试集。包含了44种实体之间的关系,包括竞争、合作、减持等金融领域的特定关系。

3.2 评 估

对于模型评估,采用此类模型常用的性能指标:F1值。F1值的应用主要为了调和精确率和召回率,使其尽可能地兼顾精确率和召回率。三个性能计算方式如下:

(10)

(11)

(12)

其中,TP表示模型预测结果为正实例,实际也为正实例;FP表示模型预测结果为正实例,但是实际为负实例;FN表示模型预测结果为负实例,但是实际为正实例。

3.3 实验设置

表1给出了模型在最好性能下的参数设置。模型在ERNIE编码器下进行,所以输出动态向量的维度为768,这个维度和BERT是一致的,在不断调整参数过程中,丢弃率设置为0.5,初始学习率设置为1.0,最优学习率为5e-5,进行50轮次可以达到最优训练模型。

表1 超参数设置

3.4 比较模型

为了更好地研究所提模型,在相同数据集下与其他模型进行了比较,比较的模型包括基于传统神经网络的模型和基于预训练语言的模型。

(1)基于传统神经网络的模型:PCNN+Att[10],Lattice+LSTM[13],Lattice+MG[14],PCNN[30],MGRSA[31]。

(2)基于预训练语言的模型:ERNIE[6],PURE[18],IERE[20],PRM[24],OPT-FLAT[32]。

3.5 实验结果

3.5.1 SanWen数据集实验结果

所提模型在SanWen数据集上的结果如表2所示,可以发现所提模型优于现有模型,比目前最好模型的F1值高0.62%。这显示出对实体所在句子的语义进行处理至关重要,并且仅仅依靠句子本身的语义无法得到良好的性能,必须将外部知识作为补充,因为当模型对产生歧义的词义模糊不清时,外部知识就可以很好地起到应有的效果,再者ERNIE预训练模型对实体词的理解起到了丰富作用。

表2 SanWen数据集上的实验结果(带有*的表示引用文献[24]中的结果,其他均为原论文中提及的结果)

续表2

3.5.2 FinRE数据集实验结果

所提模型在FinRE数据集上的结果如表3所示,可以发现所提模型同样优于现有模型,比目前最好模型的F1值高0.09%。同时可以看出所提模型在FinRE数据集上的优势要低于在SanWen数据集上的优势,经过分析主要是两个数据集在关系类型数量上是不同的,SanWen数据集包含了9种关系类型,而FinRE数据集包含了44种关系,这一差别造成了模型抽取难度的增大,对于相近的关系类似给模型提出更高的要求,而所提模型的多层次语义感知中的外部知识是将实体抽象为概念,间接地也放大了实体对所属的关系类型。这也给以后改进模型指明了方向,在引用外部知识时尽可能精确化。

表3 FinRE数据集上的实验结果(带有*的表示引用文献[24]中的结果,其他均为原论文中提及的结果)

3.6 消融实验

通过表2和表3可以看出,所提模型在与其他模型的对比中有着较强的竞争力。为了进一步探究模型中三个部分所起到的作用,在SanWen数据集上进行消融实验。经过上述理论分析,模型中重要的模块分别是:ERNIE编码器、句子表示模块以及外部知识表示模块。为了明显地看出三大模块在模型中的作用,依次关闭其中的某个模块。首先,对于ERNIE编码器,使用BERT-base中文版本对ERNIE进行替换,结果发现模型下降了1.04%,说明ERNIE编码器有助于模型从基础上缓解语义不丰富的问题。当去掉句子表示模块时,模型直接大幅度下降1.86%,说明模型中的句子表示模块对模型性能的提升起到关键作用,句子表示模块通过利用注意力机制将句子中对实体词有用的字符进一步增强,实体词的语义得到了有针对性的丰富。最后去掉外部知识表示模块,发现模型性能有着小幅度的降低,表明外部知识有利于缓解词的歧义,但是也带来了一定的噪声,所以对模型的提升效果不是那么明显。

表4 消融实验

通过表4可以看出,模型中的三个模块对模型整体的性能提升都有一定的作用,三者的有机结合最后使模型的性能与之前的模型相比有着较大的提高。

4 结束语

该文提出了基于多层次语义感知的中文关系抽取模型,通过实验表明该模型在处理中文关系抽取中可以取得较好的性能。在未来的研究中,将进一步思考外部知识的引入,在尽可能小地引入噪声的前提下使外部知识更有效地提高中文关系抽取模型的性能。

猜你喜欢

歧义词义实体
西夏语“头项”词义考
前海自贸区:金融服务实体
eUCP条款歧义剖析
词义辨别小妙招——看图辨词
实体的可感部分与实体——兼论亚里士多德分析实体的两种模式
两会进行时:紧扣实体经济“钉钉子”
振兴实体经济地方如何“钉钉子”
English Jokes: Homonyms
“那么大”的语义模糊与歧义分析
字意与词义