APP下载

基于双向LSTM和自注意力机制的中文关系抽取研究

2020-04-01刘鉴张怡张勇

关键词:双向实例向量

刘鉴,张怡,张勇

(华中师范大学 计算机学院,湖北 武汉 430079)

0 引言

随着大数据时代的到来,数据规模不断增大,信息过载的问题日益严重,因此快速准确地获取关键信息有着重大意义。实体关系抽取作为文本挖掘和信息抽取[1]的核心任务,其任务是识别句子中两个命名实体之间的语义关系。实体关系抽取作为自然语言处理(NLP)的一项基本任务,近年来对海量信息处理、中文信息检索、知识图谱、自动问答、机器翻译和自动文摘等领域提供了技术支持。根据论元个数不同,关系一般可以分为二元关系和多元关系,目前主要研究为二元关系,二元关系是两个实体之间存在某种语义关系。两个实体加上关系,则构成一个三元组[2]。

关于经典的实体关系抽取方法主要有四类,分别是有监督、半监督、弱监督和无监督。传统的有监督实体关系抽取主要分为基于特征和基于核函数的方法。Zhou[3]和郭喜跃[4]等人利用支持向量机(SVM)作为分类器分别研究词汇、句法和语义特征对实体语义关系抽取的影响,取得了一定的成果。但有监督的方法需要手工标注大量的训练数据,要花费大量的时间和精力。因此人们提出了基于半监督[5]、弱监督和无监督的关系抽取方法来解决人工标注语料问题。其中Brin[6]利用Bootstrapping方法对命名实体之间的关系进行抽取。在研究从文本中抽取结构化数据、建立生物学知识库的过程中,Craven等人[7]首次提出了弱监督机器学习思想。Hasegawa等人[8]在ACL会议上首次提出了一种无监督的命名实体关系抽取方法。在这些经典的方法中,有监督的方法在标注语料完善的情况下综合利用各种特征对关系分类的模型进行改进,可以获得较好的效果,但标注语料十分耗费人力。其他的方法虽然在一定程度上解决了标注数据的问题,但在效果上仍然不太理想。

为在较少人工干预的条件下得到高性能的关系抽取模型,基于远程监督[9]的关系抽取方法开始得到广泛关注。该方法假设“如果两个实体间具有关系,那么至少有一个包含该实体对的句子描述了这个关系[10]”,利用现有知识库中所包含的具有关系的实体对,对文本中包含该实体对的句子进行回标,以自动获取大量训练实例,较好地解决了缺少标注训练数据的问题。然而,由于远程监督的假设并不严密,自动构建的训练语料中存在大量噪声数据,对关系抽取的效果具有一定的影响。

近年来,随着深度学习中的注意力机制快速发展,对远程监督数据的处理研究工作已经被大量提出,并取得显著的进展。Lin[11]等人提出实例级的注意力机制,通过对各个训练实例的权重进行动态地调整来降低噪音,使模型效果得到了显著提升。Yang[12]等人采用了双向循环神经网络(RNN)加上词级和句级注意力机制,用基于词的注意力机制来学习模型在各个词上的权重分布,得到更好的面向实体对的上下文表示。用基于句子的注意力机制来学习各实例上的权重分布,给有效的实例更高的权重,给嘈杂的实例较低的权重。在纽约时报(NYT)数据集上取得了很好的效果。这些深度学习模型主要解决两个问题:(1)从实例中学习更好的面向实体对的上下文表示;(2)从多个实例上选择更好的实例。

在以往的远程监督任务研究中,采用的词级注意力机制都是简单的一维向量,一维向量的缺点在于它只关注一个句子的某一方面,结果导致句子的不同语义方面不能被有效利用。

本文提出一种结构化自注意力机制和双向LSTM结合的模型,在词级注意力机制上采用二维矩阵。它包含多个向量,每个向量都聚焦于句子的不同方面以便更好地学习面向实体对的上下文表示。而由于远程监督的单个实体对的实例数量不多,所以在句子级别依然采用传统的句级注意力机制。同时针对中文的特点,在词向量表示阶段采用结合HowNet中的义原训练的词向量资源。利用远程监督的方法在在线知识库,百度百科等资源获取的中文人物关系语料库进行实验。

目前对远程监督数据的研究大多集中在对数据进行去噪,主要是学习一个句子的表示向量,然后选择一个或多个有效的实例进行关系分类。Zeng[13]等人提出了一种分段卷积神经网络(PCNN)方法自动学习句子级特征,并选择一个有效的实例进行关系分类。由于单句选择策略没有充分利用多个实例之间的信息,Lin[11]和Ji[14]等人提出实例级的注意力机制,通过对各个训练实例的权重进行动态的调整来降低噪音,使效果得到显著提升。然而他们的注意机制只关注到句子层面,没有包含词汇层面的注意机制。Zhou[15]提出一种基于Bi-LSTM的词级注意力机制模型,在有监督的数据集上取得了很好的效果,但这个模型不是针对远程监督数据集。Yang[12]等人采用了双向RNN加上词级和句级注意力机制模型,在NYT数据集上取得了很好的效果。但是词级和句级注意力机制模型都是一维向量,没有关注句子的多个方面。

目前关系抽取技术主要是针对英文,对中文关系抽取的研究较少,但依旧有一些进展。如Li等[16]提出一种基于特征的中文实体关系抽取方法, 选取特征时不仅考虑实体的特征,上下文特征和单词列表特征, 还定义了两个实体之间的位置结构特征,以及基于关系层次和共同参考信息提出的校正和推理机制。肜博辉等[17]提出一种基于卷积神经网络的实体关系抽取模型。该方法采用不同的词向量来表示语句, 输入到模型的不同通道, 使用卷积神经网络来提取句子的特征信息, 最后通过softmax分类器得到关系类型。

本文提出一种基于双向LSTM和结构化自注意力机制模型,用于中文文本人物关系抽取,模型图如图1所示。首先对句子进行分词,将结合义原训练的词向量输入到双向LSTM,提取句子的语义特征,对句子进行编码。然后利用词级结构化的自注意力机制,获得面向实体对的句子表示,再加上句级注意力机制,对各个训练实例的权重进行动态的调整。最后通过softmax分类器输出关系类型。

1 模型

本文提出的Bi_LSTM_SATT模型见图1,其结构主要是:

(1)输入层:将句子输入到模型;

(2)向量映射层:将句子的词语映射成低维向量;

(3)双向LSTM 层:通过双向LSTM获取句子的语义特征;

(4)自注意力机制层:分为结构化词级注意力机制和句级注意力机制;

(5)输出层:通过softmax函数输出关系类型。

1.1 向量映射层

向量映射层主要是将原始的输入语句转换为模型需要的向量形式,以便进行后面的特征抽取等操作。它主要包括两个部分:词向量表示、位置向量表示。

1.1.1 词向量表示

相对于传统的one-hot编码,由Mikolov[18]等人提出的分布式词向量表示方法经过模型训练可以将每个词映射成低维的实数向量。由于分布式词向量都包含了丰富的语义信息,在多种自然语言处理任务中都取得了优越的效果。目前大部分任务都采用分布式词向量。

由于大量的中文词都有多种语义,词向量表示不够准确,而义原是词义的最小语义单位,每个词的意义通常由几个义原组成。本文采取Niu等人[19]利用Sogou-T语料库以及HowNet中词语包含的义原训练的词向量。对于一个包含t个词语的输入句子s={w1,w2,…,wt},每个词语wi都被转换为一个dw维度的实数向量x(wi)。

图1 Bi_LSTM_SATT模型图Fig.1 Model diagram

1.1.2 位置向量表示

在关系抽取任务中,句子中的词到命名实体的距离能够影响关系抽取的结果。采用位置特征来指定句子中的词,即当前单词到实体一和实体二的相对距离的组合。举例来说,句子“蔡加赞父亲是香港玩具大王蔡志明,其父亲身家过百亿,有三个姐姐,是家中独子。”实体蔡加赞和实体蔡志明分别是实体一和实体二,词“父亲”到这两个实体的相对距离分别是1和-5。所以词语wi到两个实体的相对距离会被分别映射转换成dr维度的向量d1,d2。通过组合得到词的位置向量pwi=[d1,d2]。

最终我们将词语表示和位置表示连接起来作为网络的输入ei=(x(wi),pwi)。

1.2 双向LSTM层

LSTM网络是循环神经网络的变形,最早是由Hochreiter[20]为了克服梯度消失的问题提出来的,其主要思想是引入一种自适应门控机制,这种门控机制控制了LSTM单元保留以前状态的程度以及记住当前数据输入的提取特征。LSTM神经网络模型有3个门:输入门、遗忘门和输出门。输入门用于控制保留多少当前时刻的输入信息到当前时刻的单元状态,遗忘门用于控制保存多少上一时刻的单元状态到当前时刻的单元状态;输出门用于控制当前时刻的单元状态有多少输出。LSTM网络前向传播的公式见式(1-6)。

g(t)=φ(Wgxx(t)+Wghh(t-1)+bg)

(1)

i(t)=σ(Wixx(t)+Wihh(t-1)+bi)

(2)

f(t)=σ(Wfxx(t)+Wfhh(t-1)+bf)

(3)

o(t)=σ(Woxx(t)+Wohh(t-1)+bo)

(4)

s(t)=g(t)·i(t)+s(t-1)·f(t)

(5)

h(t)=s(t)·o(t)

(6)

对于大量的序列建模任务来说,同时访问过去和未来的上下文对于提高模型的准确率都是有益的。然而,标准的LSTM网络按时间顺序处理序列,忽略了未来的上下文。双向LSTM网络通过引入第二层LSTM,对单向LSTM网络进行扩展,其中一个采取正向学习,另外一个采取反向学习的方式,最后将正向和反向的输出向量连接起来。因此,双向LSTM能够充分利用过去和未来的信息。

将句子向量输入到双向LSTM网络后,输出如式7。

(7)

1.3 注意力机制

最近几年,注意力机制在深度学习的各个领域取得了成功,无论是图像处理、语音识别、还是自然语言处理的各种任务。从本质上讲,深度学习中的注意力机制和人类的选择性注意力类似,都是从繁多的信息中选择出对当前任务目标更重要的信息。各种实验证明,加入了注意力机制的循环神经网络模型比传统的神经网络模型的准确率有了明显提升。因此在本文中我们将采用注意力机制。

设由双向LSTM网络产生的输出向量H组成矩阵[h1,h2,h3,…,hT],其中T是句子的长度,每个单向LSTM的大小为u,那么H的大小为2u。

基于词级的自注意力机制的句子表示由公式(8-9)得到。

M=tanh(ws1H)

(8)

α=softmax(ws2M)

(9)

其中ws1权重矩阵的大小为da×2u,da是注意力网络中神经元的数量。ws2的权重矩阵大小为r×da,r表示二维注意力矩阵中向量多少的超参数,r的大小是根据需要关注句子多少的不同方面来定义的。考虑到句子的长度较长,我们这里将其设置为9。

将不同词的权重和Bi_LSTM的隐状态H相乘,如公式10所示。

f=αHT

(10)

将f的每一行连接起来形成一个扁平的结构化句子表示向量fFT。

最后基于词级别的结构化注意力机制的句子表示如公式11所示:

X=ReLU(wofFT+bo)

(11)

在基于词的结构化注意力机制的句子表示上加入基于句子级别的注意力机制如公式12所示:

(12)

其中βi是句子级的注意力机制的权重。

1.4 输出层

(13)

y=argmaxp(Y/S)

(14)

损失函数采用交叉熵来计算模型输出结果分布和真实结果分布的差距,如公式15所示:

(15)

其中λ是L2正则化参数,ti是用one-hot表示的真实标签,yi是通过softmax函数得到的每个类别的概率。

2 实验

2.1 数据收集

由于公开的中文关系抽取语料库的缺乏,目前还没有较为通用且权威的中文远程监督关系抽取数据集,本文基于在线知识库复旦知识工厂确定实体对,借助百度百科,互动百科等资源,获得包含实体对的句子。将其经过整理,构建了人物关系语料,并将该语料作为实验数据,其中共包含12类关系,8 492个人物的关系。实验随机选取了人物关系语料中的16 000个实例作为训练集,2 400个实例作为验证集,1 200个实例作为测试集。关系类别如下表1所示。

表1 人物关系类别

2.2 结果分析

为了验证加入结构化自注意力机制的双向LSTM网络模型在中文关系抽取上的效果,本文设置了4组实验:CNN_ATT,Bi_LSTM,Bi_LSTM_ATT,Bi_LSTM_SATT,分别是结合注意力机制的CNN模型,传统的双向LSTM模型,结合了注意力机制的双向LSTM模型以及本文提出的结合了结构化自注意力机制的LSTM模型,同时将F1值作为各个模型效果的评价标准。通过这几种模型效果的对比,来验证本文提出模型的有效性。

我们将各个模型在测试集上的准确性,召回率和F1值汇总到表2,将实验的具体参数汇总到表3中。

表2 实验的结果

表3 实验的参数

从实验结果看,由于注意力机制能够使模型关注到句子更重要的部分,加上注意力机制的CNN模型比没加上注意力机制的双向LSTM模型效果要好。但是由于LSTM在处理序列数据上的天然优势,加上了注意力机制的双向LSTM效果比加上注意力机制的CNN模型要好。而加上结构化注意力机制的双向LSTM由于关注了句子更多方面,效果优于以上这些深度学习模型。

3 结论

本文提出了一种结构化注意力机制和双向LSTM网络用于中文人物关系抽取,实验结果表明由于关注了词和句子的更多方面,结构化的注意力机制相对于一般注意力机制的网络模型效果有了明显提升。

猜你喜欢

双向实例向量
双向度的成长与自我实现
向量的分解
降低寄递成本需双向发力
用“双向宫排除法”解四宫数独
聚焦“向量与三角”创新题
完善刑事证据双向开示制度的思考
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线
完形填空Ⅱ
完形填空Ⅰ