APP下载

基于多头注意力机制的人物关系抽取方法

2020-04-20夏鹤珑严丹丹

成都工业学院学报 2020年1期
关键词:注意力机制自然语言处理神经网络

夏鹤珑 严丹丹

摘要:使用传统深度学习方法来进行信息抽取时,存在长距离依赖问题或者梯度弥散问题。针对以上问题,提出基于多头注意力机制的神经网络模型的关系抽取方法,利用文本向量和位置编码得到局部特征,将得到的局部特征作为输入导入到多头注意力机制的神经网络模型中,得到全局特征,最后使用分类器进行分类。通过该模型在中文语料库上进行人物关系抽取,并与多个模型进行对比实验,结果表明:基于多头注意力机制的神经网络模型在效果上有所提高。

关键词:信息抽取,注意力机制,深度学习,自然语言处理,神经网络

中图分类号:TP391 文献标志码:A 文章编号:2095-5383(2020)01-0032-05

Abstract:Information extraction is an important part of knowledge mapping,it mainly extracts entities,relationships and other structured information from text information. At present,traditional deep learning methods are widely used for information extraction,but it also has the problem of long distance dependence or gradients diffusion. In response to the above problems,a relationship extraction method based on the neural network model of Multiple Attention mechanism was proposed,it used text vector and position coding to obtain local features,and the obtained local features were input into the neural network model of Multiple Attention mechanism to obtain global feature. Finally,the classifier was applied for classification. The model was used to extract character relationships from Chinese corpus and compared with multiple models. The results show that the neural network model based on Multi-Head Attention mechanism is more effective.

Keywords:information extraction,attention mechanism,deep learning,natural language processing,neural network

信息的爆炸式增长是互联网快速发展的必然结果,有用的和无用的信息混杂在一起。无论是学术角度还是商业角度,如何从中提取有效信息都是一个重要课题。信息抽取技术[1]是通过计算机从非结构化的文本中抽取结构化信息,主要分为实体抽取、实体关系抽取和事件抽取。关系抽取是对于给定的两个或多个实体,从划分好的关系类型表中找到合适的关系类型。目前关系抽取方法主要分为传统的基于统计的机器学习方法和近些年来热门的深度学习方法。林压平等[2]利用马尔科夫模型对文本进行信息抽取,周晶等[3]使用条件随机场进行文本信息抽取,均取得不错的成绩。但随着信息的增多,传统的基于统计的机器学习方法开始逐渐显现弊端,人们必须对要信息文本中所述的领域非常了解才能制定出合適特征。深度学习的兴起,使信息抽取技术有了更好的发展。Socher等[4]利用递归神经网络(recursive neural network)的方法进行信息抽取,但其并未考虑多个实体之间的位置关系。区别于传统的机器学习方法,深度学习一般需要大量数据集,能够利用标记好的数据集实现对特征权重的调整,从而实现自动选取特征。本文以关系抽取技术为例,提出以注意力机制为整体架构的神经网络模型,对给定的文本通过位置关系获得其位置向量与对应的词向量作为该文本的输入特征,应用注意力机制提取输入特征作为输出特征,最后对提取后的特征进行分类。

1 基于Multi-Head Attention机制的人物关系抽取模型

Attention机制实质是学习一种概率分布,能够联系上下文,从而学习到更多的文本特征。Multi-Head Attention机制是Attention机制的一种变种[5],是在Attention机制的基础上增加了多个head,每个head能从不同的表征空间学习到不同的信息,从而捕捉到输入与输出之间的依赖性。本文模型框架如图1所示,主要包括两部分:1)词向量和位置编码。利用分词工具对中文语料库进行分词,再用Skip-gram模型进行Word2Vec训练[6],得到词向量。其后利用分词后的句子中每个单词与所要判断的2个人名的首位置的距离关系得到位置编码,词向量与位置编码作为输入向量进行训练。2)构建Multi-Head Attention神经网络模型。利用Multi-Head Attention机制对输入向量计算概率分布,根据计算得到的概率分布与输入向量进行加权计算从而获得文本特征,因为其有多个head能从不同表征空间学习到不同的信息,所以有多个特征向量,将多个特征向量进行拼接后再进行线性变换,以此作为最后的输出特征,导入到分类器,进行分类。

2 模型求解

2.1 词向量的生成

由于计算机程序不能直接处理文本数据,因此需要将文本数据转换成数字数据。对于给定的一个文本S,其中包含单词集,n为文本S中的单词数。

2.2 位置编码

位置编码能反映句中所要判断关系的2个词语的距离关系。对于文本S,有:

将得到的Eword,EPos1,EPos2的各个词向量进行拼接,得到Econcat∈Rn×3m。

2.3 Multi-Head Attention层

Multi-Head Attention机制是Attention机制的一个变种,在原来Attention机制的基础上,增加了多个head,使其能在不同表征空间并行地获取不同文本信息,增加了对文本信息特征的提取能力。Multi-Head Attention层结构如图2所示,以下以一个head为例。

2.3.1 线性变换

对于给定矩阵Q,V,K,因为使用Self-Attention机制,所以令Q=V=K=X。其中X为上文词向量拼接后所得到的Econcat。进行线性变换:

表示参数W所属于headi。得到的Qi,Ki,Vi∈Rn×r,经过线性变换的矩阵保持着维度一致,以方便后面计算。

2.3.2 缩放点积模型

缩放点积操作是使用点积进行相似度计算,主要是被用于计算概率分布。其步骤是利用Q对K进行相似度计算,再利用Soft max函数得到K关于Q的注意力分布,最后把其与V进行加权求和。

其中:

Q,K,V均是X进行不同线性变换后所得到的矩阵,r为K的维度,除以r是为了把数值缩放在合适范围,不至于太大。将得到的多个head进行拼接,得到文本全局特征。Soft max是歸一化函数,其公式为:

2.3.3 层标准化(Layer Normalization)

Layer Normalization是一种横向规范化,是针对同一层的隐藏单元进行计算,同层的输入拥有相同的方差与均值,不同的训练样本则是不同的方差和均值。它能够改良数据的分布,加速训练损失的收敛。

2.3.4 损失函数

关系抽取可以看作是多分类问题,本文使用交叉熵损失函数对分类结果进行损失(Loss)计算,并在训练过程中以Adam优化算法降低损失。交叉熵损失函数为:

2.3.5 关于梯度弥散

随着网络层数的加深反向传播时链式求导项会变得越长,同时选取不当的激活函数都可能会造成梯度趋近于0的问题[7]。而本文模型能在一定程度缓解梯度弥散问题是因为模型网络层简单,并不会使反向传播链很长,并且选用relu激活函数,在x正区间不饱和,缓解了此问题,同时还引入了Layer Normalization层标准化,能把输入的数据拉入relu激活函数的非饱和区,同样能在一定程度上缓解梯度弥散。

3 实验部分

3.1 实验环境

本实验在Ubuntu系统下进行的,实验所使用的CPU为i7-7 700 k,内存32 GB,显存8 GB,所使用编

程语言为Python 3.5版本,开发工具为Jupyter Notebook。使用的深度学习框架为Tensorflow 1.9。

3.2 实验数据

本实验人物关系数据集总共89 183条,划分的训练集、验证集、测试集数量分别为71 346条、8 918条、8 919条。其中包含11类人物关系,如父母、师生、合作、好友等,如表1所示。样本的示例如表2所示。

3.3 评判指标

本实验采用精准率(precision),召回率(recall),F1值作为实验结果的评判标准,其中精准率P、召回率R、F1值公式为:

其中:TP为预测正确的个数,FP是实际为负但预测为正的错误个数,FN是实际为正但预测为负的错误个数。P值反应的是在预测为正的样本中有多少预测正确,R值反应的是在所有正例中有多少被预测出来。

3.4 实验设计

本文利用中文分词工具Jieba对数据集进行中文分词,得到分词后的数据集。然后使用Skip-gram模型对位置编码和分词后的数据集训练其词向量,将3个词向量拼接后作为模型的输入。经过多次训练,观察Loss值的迭代,记录每次的参数和性能指标,最后从中选取性能最好的一组作为最终数据。

3.5 实验结果

选取实验数据中的训练集作为训练数据,以测试集作为最终模型结果的评判数据,其实验结果如图3、表3所示。

可以看出关系类型“夫妻”的精准率、召回率、F1值均优于其他关系类型,关系类型“亲戚”的精准率、召回率、F1值相较于其他关系类型更低。这主要是由于数据集样本的分布不平衡所造成,关系类型为“夫妻”的数据量占了整个数据集总量的32%,但关系类型为“亲戚”的数据量只占有数据集总量的1.5%,数据量的大小很大程度决定了模型的性能。其次关系类型为夫妻的大部分句子中包含特征鲜明的词,如“嫁”“娶”“丈夫”等,多头注意力机制能分配更多的注意力在类似词语上。

3.6 模型对比

应用在自然语言处理的神经网络模型有很多,本实验利用基于多头注意力机制的神经网络模型与传统的深度学习模型在相同数据集上进行对比,如表4所示。

由表4可知,基于Multi-Head Attention的神经网络模型在性能上优于其他3种传统神经网络模型,其原因是传统的GRU、LSTM模型无法捕捉到长序列之间的依赖关系,而Multi-Head Attention机制能够缓解长距离依赖问题,多个head能获得文本不同表征空间的更多特征。

4 结束语

关系抽取作为信息抽取的其中的一部分,利用传统的深度学习模型不能有效地捕捉到长距离关系。针对所述问题,本文提出了基于多头注意力的神经网络模型,该模型的优点在于多个head能提取得到更加全面的文本特征,同时也能够考虑到输入与输出之间的关系,所以在相同数据集的实验中获得了相比较而言更好的效果。但其只能应用在传统的信息抽取上,对于开放式实体关系抽取,将来会做进一步研究。

参考文献:

[1]李枫林,柯佳.基于深度学习框架的实体关系抽取研究进展[J].情报科学,2018,36(3):169-176.

[2]周晶,吴军华,陈佳,等.基于条件随机域CRF模型的文本信息抽取[J].计算机工程与设计,2008,29(23):6094-6097.

[3]林亚平,刘云中,周顺先,等.基于最大熵的隐马尔可夫模型文本信息抽取[J].电子学报,2005(2):236-240.

[4]SOCHER R,HUVAL B,MANNING C D,et al. Semantic compositionality through recursive Matrix-vector spaces[C]// Proceedings of the 2012

Joint Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning,2012.

[5]劉峰,高赛,于碧辉,等.基于Multi-head Attention和Bi-LSTM的实体关系分类[J]. 计算机系统应用,2019,28(6):118-124. http://www.c-s-a.org.cn/1003-3254/6944.html.

[6]MIKOLOV T,CHEN K,CORRADO G,et al. Efficient estimation of word representations in vector space[J]. Computer Science,2013. https://www.researchgate.net/publication/234131319_Efficient_Estimation_of_Word_Representations_in_Vector_Space.

[7]HE K,ZHANG X,REN S,et al. Deep residual learning for image recognition[C]// 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). IEEE Computer Society,2016.

猜你喜欢

注意力机制自然语言处理神经网络
基于人工智能LSTM循环神经网络的学习成绩预测
基于图像处理与卷积神经网络的零件识别
基于自适应神经网络的电网稳定性预测
基于深度学习的问题回答技术研究
基于LSTM?Attention神经网络的文本特征提取方法
基于注意力机制的双向LSTM模型在中文商品评论情感分类中的研究
InsunKBQA:一个基于知识库的问答系统
三次样条和二次删除相辅助的WASD神经网络与日本人口预测
基于组合分类算法的源代码注释质量评估方法
面向机器人导航的汉语路径自然语言组块分析方法研究