基于注意力机制的远程监督实体关系抽取

2021-02-25 01:17邢毅雪朱永华高海燕
关键词:向量卷积实体

邢毅雪,朱永华,高海燕, 周 金, 张 克

(1. 上海大学上海电影学院, 上海 200072; 2. 上海大学生命科学学院, 上海 200444)

近年来, 由于信息技术发展迅速, 需要处理的文本信息量成倍增长, 构成了一个巨大的信息资源库, 如何从海量开放领域数据中快速提取出所需有效信息变得尤为重要. 实体关系抽取(relation extraction)是信息抽取和文本挖掘的核心任务之一, 其在实体识别的基础上通过对文本信息建模, 自动地从大量非结构化文本中抽取实体对间预先定义的语义关系. 美国组织的自动内容抽取(automatic content extraction, ACE)评测会议于2000 年将关系抽取作为其评测的任务之一. ACE 的目标是关注新闻领域的实体和实体关系抽取, 为抽取任务提供评测语料和实体关系类型, ACE 标志着关系抽取研究开始进一步细化. ACE 在2009 年被归入TAC(Text Analysis Conference)的一个专题, 从此关系抽取任务成为构建知识库的重要组成部分, 其研究成果被广泛应用于机器翻译、知识图谱[1]、问答系统、文本摘要等领域.

经典的实体关系抽取技术中, 监督学习能更有效地抽取特征, 获得较高的准确率和召回率, 但这种方法所需的大量训练语料要人工标注, 非常耗费时间和人力, 增加了成本. 针对这个局限, Mintz等[2]提出了将远程监督(distant supervision)应用于实体关系抽取任务中, 将纽约时报中的新闻文本与已存在的知识库Freebase 进行了实体对齐, 并将对齐结果作为实体关系的标注; Zeng 等[3]使用卷积神经网络(convolutional neural network, CNN)对实体进行了关系抽取, 将词向量和词位置向量串接后输入网络, 并根据2 个实体将句子分成3 段这一特点对池化层做了修改.

本工作提出了一种基于注意力机制的端到端的分段卷积神经网络(piecewise CNN,PCNN)方法. 为了检测更加细微的特征, 在网络输入层添加了注意力机制, 自动学习句子中与关系抽取相关的内容; 基于位置特征和词向量特征对句子进行编码, 使用CNN 抽取句子特征并进行分类, 并在网络中使用了效率较高的最大边界损失函数衡量模型的性能. 实验结果表明, 该模型准确率相比于几种基线模型表现更出色.

1 相关工作

经典的实体关系抽取方法有监督、无监督、弱监督、半监督4 种[17]. 由于经典方法的特征提取误差传播问题很大程度上影响了抽取结果, 故学者们逐渐开始采用深度学习方法进行实体关系抽取[4]. 基于深度学习的有监督方法是近年来关系抽取的研究热点, 通过有效避免人工选择特征过程改善误差积累问题. 根据实体识别和实体关系抽取2 个子任务完成的先后顺序区别, 基于深度学习的有监督学习方法可分为联合学习(joint learning)[19-20]方法和流水线(pipeline)[10,20]方法. Zeng 等[5]首次提出了使用CNN 进行实体关系分类; Katiyar 等[6]首次在联合提取实体和实体关系中运用了注意力机制和双向递归神经网络. 目前监督学习方法在关系抽取任务中效果较好.

然而在监督学习中, 大量的训练数据需要耗费大量时间和人力去手工标注, 成本大大增加. 为了解决这一问题, 基于深度学习的远程监督[7]关系抽取方法逐渐被提出. 该方法主要应用神经网络, 包括CNN、循环神经网络(recurrent neural network, RNN)、长短时记忆网络(long short term memory network, LSTM)等结构[18]. 使用远程监督方法进行实体关系抽取时存在2 个问题. 首先, 远程监督是将语料库中的文本与已存在的大型知识库(Freebase)进行启发式对齐, 并将对齐结果作为文本的标注. 然而启发式对齐的假设过于强烈, 会不可避免地造成大量标签错误. 其次, 目前基于统计学的方法过于依赖自然语言处理工具提取特征, 特征处理过程中生成的噪声积累严重影响抽取结果. 因此, 一些学者在传统方法上进行了很多改进, 初步解决了错误标签和特征抽取误差积累问题. Zeng 等[3]提出了一种PCNN 方法, 在词向量基础上融合了词位置向量, 对句子进行更详细的向量表示, 并且提出了分段max-pooling层自动学习相关特征; Lin 等[8]提出了将PCNN 与注意力机制融合的方法; Ji 等[9]提出了在PCNN 和Attention 基础上添加知识库中实体的描述信息来进行实体关系抽取. 这些方法在实体关系抽取任务中均效果较好.

2 输入表示

由于该实验的输入是原始的词表示(word token), 故如果在实验中使用神经网络, 则需要将句子中的单词转换成低维向量. 在该模型中, 首先使用词向量表示对输入的句子进行编码,为了更详细地挖掘上下文语义和捕获词语顺序, 在编码中加入每个词的位置向量. 为了捕获每个单词与目标实体间更详细的潜在关系, 在输入向量上添加了一个基于对角矩阵的注意力机制.

2.1 输入向量表示

2.1.1 词向量

词向量表示将文本中的每一个词映射成一个m维分布式实值向量, 目的在于捕获每个单词的句法和语义信息. 给定一个包含m个词的句子S={w1,w2,··· ,wm}和2 个句子中已标注的目标实体e1和e2, 每个词wi均以实值向量形式表示, 最后得到一个维度为dw×|V|的词向量矩阵Wv, 其中V是输入的词汇,dw是词向量的维度, 每个词wi被映射成一个列向量∈Rdw.

2.1.2 位置向量

在实体关系抽取中, 单词距离目标实体越近, 其包含决定实体对间关系的信息就越多.本工作使用了每个单词相对于目标实体对位置信息编码了位置向量, 以便帮助神经网络捕获每个词相对于头部实体e1和尾部实体e2的位置, 由2 个位置共同构成位置向量. 比如在句子“Bill Gates is the founder of Microsoft”中, 第i(i=4)个词“foun der”与头部实体“Bill Gates”距离为-3, 与尾部实体“Microsoft”距离为2:

对于一个给定词i, 分别得到2 个与实体e1和e2相关的位置向量wPi,1和wPi,2, 将词向量和位置向量串接起来得到第i个词的向量, 表示为. 假设位置向量的维度为dp,wMi ∈Rd(d=dw+dp×2), 所有词语最终编码的向量形式为

2.2 输入注意力机制

本工作对输入句子中的词汇做了处理, 在词向量基础上加入了位置向量的编码, 但是仍然无法非常准确及全面地捕获句子中特殊词语与目标实体间的关系及其对目标关系的影响.Attention 机制和多示例方法都被用来减弱错误标签带来的噪声问题, 但多示例只用了包中1条语句信息, 而Attention 机制则综合利用了包中所有的示例语句信息[16,21], 能够更好地提升远程监督在实体关系抽取任务中的效果. 由于每个句子的长度不一样, 无论句子多长, 可能只有少量单词包含决定了目标实体间关系的有用信息, 因此本模型在整个句子和2 个已标注的实体上添加了Attention 机制, 来决定句子中哪部分对2 个实体间关系影响最深, 从而自动识别输入句子中包含决定实体关系的丰富信息的单词. 输入表示和输入层上加的注意力机制结构如图1 所示.

图1 网络输入层加入注意力机制Fig.1 Attention-based network input representation

比如, 在例子“Bill Gates is the founder of Microsoft”中, 非实体单词“founder”对实体关系的抽取有重要的影响, 而根据语料库也能发现“founder”和尾部实体“Microsoft”之间存在特殊的联系. 因此本工作在输入层加入了2 个对角矩阵Pj, 对角矩阵的值是第i个词wi向量表示和第j个实体ej向量表示的内积, 记为f(ej,wi), 这里函数f为内积函数, 随训练过程不断更新. 计算第i个词wi和第j个目标实体ej的关联度(j ∈{1,2}), 定义因子为

在得到2 个目标实体相关因子α1i和α2i后, 将2 个因子与上面得到的向量表示进行3 种不同形式的联合计算, 得到神经网络的最终输入形式. 这里, 第1 种处理形式是将2 个因子直接进行简单的平均操作:

第2 种处理方式是将2 个向量直接串联来获得每个词与实体e1和e2关系之间的丰富语义信息:

第3 种处理方式是将关系看成2 个实体间的映射, 通过计算实体间的距离来捕获2 个实体间的关系:

最终融合注意力机制的神经网络模型的输入表示为R= [r1,r2,··· ,rm], 这里m为句子长度.

3 分段卷积神经网络模型

对于给定的句子集合{x1,x2,··· ,xn}和每个句子中标注的目标实体e1和e2, 本工作提出的模型预测是实体对间所有可能关系r的概率. 关系抽取任务中存在的最大挑战是句子中任何单词都可能成为包含决定目标实体间关系的重要信息, 故需要利用句子中都有的局部特征进行学习. 在对句子进行向量表示后, 本工作使用了Zeng 等[3]提出的PCNN 对句子进行特征提取, 其网络结构如图2 所示. 图中,W为卷积核,R为输入序列,b表示偏置向量. 本工作使用滑动窗口从卷积层提取局部特征, 长度为l. 将提取的局部特征全部结合, 输入改进的分段池化操作层, 最终得到一个已定义尺寸的向量. 最后在Softmax 层定义了网络预测输出g与候选关系y的距离函数, 基于此函数提出基于边界的损失函数对网络进行迭代训练.

图2 用于句子编码的PCNN 网络结构Fig.2 PCNN network structure for sentence encoding

3.1 卷积

卷积操作是求权重矩阵w和输入序列R的内积. 这里, 权重矩阵又叫做卷积核W ∈Rdc×(l×d), 其中dc为句子向量. 对于输入句子序列R = [r1,r2,··· ,rm], 定义向量qi ∈Rl×d作为第i个窗口内的m个词向量的串接

由于滑动窗口存在滑到句子边界之外的可能, 故本工作给句子边界设置了填充边距, 即所有超出输入向量范围的部分都看作是零向量. 考虑到需要抽取不同特征, 本工作使用了多个卷积核. 假设实验过程中本工作使用了n个卷积核(W={w1,w2,··· ,wn}),b为偏置向量, 卷积层第i个卷积核提取特征为

可见, 卷积操作得到的结果是一个矩阵P={p1,p2,··· ,pn}∈Rn×(m+l-1).

3.2 分段最大池化

为了避免特征抽取过程受句子长度影响, 需要将卷积层抽取到的特征结合起来. 传统的CNN 中通常使用最大池化操作来解决句子长度多变的问题, 捕捉每个特征图中的最有效特征.但是, 单层的最大池化操作过于粗糙, 难以捕捉关系抽取中的细粒度特征和2 个实体间的结构信息. 在利用远程监督进行关系提取时, 输入句子中已标注的2 个目标实体将句子划分为3 个部分, 因此提出一种分段最大池化操作返回每一部分最大值的方法. 每个过滤器的输出pi被头部实体e1和尾部实体e2分为3 部分:{pi1,pi2,pi3}, 分别在3 个部分中进行池化操作, 最终输出结果为

每个过滤器的输出经过分段最大池化操作后得到一个3 维向量ci={ci1,ci2,ci3}, 然后将所有向量串接为ci:n, 最后采用一个双曲正切非线性激活函数. 池化层最终输出向量为

此时g的大小固定, 不再与句子长度有关,g ∈R3m.

3.3 损失函数

学习过程存在2 个向量, 一个是将输入句子编码后映射到关系空间中得到的向量g, 另一个是模型自动学习的实体对对应的所有关系y ∈Y的向量My. 基于这2 个向量, 本工作定义了模型输出g与候选关系y的距离函数

基于上述目标函数设计了一个基于边界的损失函数L, 其中1 为边界,δθ(S,-)为g和一个不正确的关系标签-的距离,δθ(S,-)为从所有不正确类中选出的得分最高项:

这种基于边界的损失函数和其他损失函数相比具有较高的效率, 基于前面求出的距离函数, 本工作最小化了预测输出与ground-truth 标签之间的差距, 同时最大化了与所选错误类别之间的距离, 参数θ′随着随机梯度下降(stochastic gradient descent, SGD)迭代更新, 最终使δθ(S,y)逐渐减小, 而δθ()逐渐增大. 参数更新为

式中:λ和λ1为学习率,

4 实 验

4.1 数据集及评价标准

本实验使用的数据集是Riedel 等[11]提出的NYT-FB,Hoffmann 等[12]和Surdeanu 等[13]也在该数据集上进行了实验. NTY-FB 是实体关系抽取的标准语料库, 包含自己标注命名实体的纽约时报语料库文本, 该语料库使用斯坦福的命名实体识别系统[14]标注, 并且自动将实体链接到Freebase 知识库中, 通过将NYT 中成对的命名实体与Freebase 对齐来标记实体的关系类型. 数据集中的关系被分为2 个部分, 分别用来训练和测试. 训练数据为知识库对齐2005 年、2006 年文本获得的, 测试数据为知识库对齐2007 年文本获得的. NYTFB 数据集中共有53 种关系, 包括一个特殊的关系NA(NA 表示头部实体和尾部实体间没有关系). 数据集中共有695 059 条数据, 其中训练集包含522 611 条训练数据, 281 270个实体对和18 252 个实体关系, 训练数据中有接近80% 的句子标签为NA. 测试集包含172 448 条测试语句, 96 678 个实体对和1 950 个关系事实.

本实验使用Mintz 等[15]提出的留出评估法对模型进行评估. 这种方法通过比较测试语料库中学习到的关系与Freebase 中的关系事实来评估模型的性能. 该评估方法不需要耗费大量时间去人工评估, 也能达到很高的精确度. 将准确率(precision)和召回率(recall)作为模型评估的基本评价指标:

4.2 实验参数设置

4.2.1 词向量

本工作中使用词袋模型Word2vec 在NYT 语料库上训练词向量. 首先从训练文本数据中构造一个词汇库, 然后学习单词的向量表示. 训练过程中只保留在语料库中出现的频率超过100 的词汇, 对于由多个词组成的实体, 将多个词向量进行串接.

4.2.2 参数设置

根据之前的工作, 本工作使用网格搜索确定最优参数, 选择随机梯度下降方法的学习率λ ∈{0.3,0.03,0.003,0.000 3},λ1∈{0.1,0.01,0.001,0.000 1}, 滑动窗口长度l ∈{1,2,3,4,5,6,7,8}, 句子向量大小n ∈{50,60,··· ,300}, batch sizeB ∈{40,160,640,1 280}. 由于其他参数对实验结果影响非常小, 故本工作采用Zeng 等[5]实验中的参数设置, 所有训练数据迭代训练25 次(见表1).

表1 参数设置Table 1 Parameter setting

4.3 实验结果分析

表2 展示了本工作提出的基于注意力的PCNN 模型与当前其他方法实验结果比较. 经过比较发现, 本工作提出的新的基于注意力的网络结构在实体关系分类数据集上取得了显著的效果. 该网络结构在神经网络的输入层加入了注意力机制, 卷积操作完成后经过分层最大池化操作生成固定大小的输出向量, 然后在Softmax 层对输出向量应用了一个基于边界的新的损失函数, 这种方法在NYT 数据集上取得了88.2%的准确率. 为了解决标签错误问题, Jiang等[16]提出了一种多示例多标签CNN(multi-instance multi-label CNN, MIMLCNN) 模型对实体关系抽取进行分类, 而本工作提出的模型结果准确率比MIMLCNN 模型(69.0%)高了很多.后来, Zeng 等[3]提出了广泛应用于实体关系抽取的远程监督模型PCNN, 被用作实体关系抽取的基线模型, 该模型将PCNN 模型与多示例学习结合, 取得了不错的成果, 但本工作结果比经典的PCNN+MIL 模型(86.0%)提高了2.0%, 相比于Ji 等[9]提出的在模型中加入实体描述信息和在网络输出加入注意力机制的APCNN+D 模型(87.0%)也提高了1.0%.

表2 不同方法分类结果准确率比较Table 2 Precision comparison of accuracy for relation extraction in the entity pairs with different methods

为了更好地衡量模型中各部分的不同组合效果, 本工作还在另外几个简化模型上进行了实验. 第1 种简化模型是将模型输入层的注意力机制去掉, 将词向量和位置向量的串接直接输入网络中训练; 第2 种是将基于边界的损失函数换成一个简单的基于内积的损失函数. 实验结果可以看出, 这2 种简化模型相对于基线模型准确率都有所提升.

表3 主模型和简化模型变体结果准确率比较Table 3 Comparison of accuracy between main and simplified models

5 结束语

本工件没有使用复杂的自然语言预处理工具, 而是在应用于实体关系抽取任务的经典远程监督模型PCNN 输入层中添加了注意力机制, 并且在Softmax 层使用了一种新的基于边界的损失函数. 实验结果表明, 与过于依赖结构化模型和NLP 资源先验知识的各种方法相比, 本工作提出的这种简单高效的模型性能更加优异. 在以后的研究中, 如何进一步提高实体关系分类的准确率和模型的学习效率, 如何改进本模型使其可以应用于更多其他自然语言处理子任务是要继续努力的方向.

猜你喜欢
向量卷积实体
向量的分解
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
聚焦“向量与三角”创新题
从滤波器理解卷积
实体书店步入复兴期?
2017实体经济领军者
两会进行时:紧扣实体经济“钉钉子”
振兴实体经济地方如何“钉钉子”