2. 中国科学院 沈阳计算技术研究所, 沈阳 110168;
3. 东北大学, 沈阳 110819
2. Shenyang Institute of Computing Technology, Chinese Academy of Sciences, Shenyang 110168, China;
3. Northeastern University, Shenyang 110819, China
信息抽取是自然语言处理领域的一项重要任务, 其目标是从普通的非结构化文本中抽取易于机器或程序理解的结构化信息, 从而将互联网上大量的信息存储成一个庞大的知识库, 提供给用户查看或者为其它自然语言处理任务提供服务. 随着信息技术的高速发展, 网络上的信息越来越庞大, 信息抽取任务就变得愈发重要.
关系抽取作为信息抽取的一个重要组成部分, 它旨在从语义层面发现实体之间的关系. 关系抽取可以使用一组三元组来描述<Entity1,Relation,Entity2>, 其中Entity1和Entity2表示实体, Relation表示两个实体之间的关系. 例如“<e1>叶莉</e1>是<e2>姚明</e2>的妻子”. 其中“<e1>”和“</e1>”这两个符号声明第一个实体为“叶莉”, “<e2>”和“</e2>”则声明第二个实体为“姚明”. 可以看出, 两个实体之间的关系是"配偶". 在无监督或半监督学习领域, 关系抽取是指从没有任何预先确定的实体和关系类别中提取事实以及关系短语; 在监督学习领域, 关系抽取又可以看作一项关系分类任务, 是指将包含已知实体对的文本的实体关系分类到一组已知的关系类别上. 本文的研究是在具有既定关系和已知实体对的数据集上进行关系抽取任务, 因此本文的关系抽取任务就是一项关系分类任务.
传统的关系分类方法常用的有两种, 基于规则的方法和基于特征向量的方法. 基于规则的方法需要领域专家的介入且需要人工构建大量的匹配规则, 可扩展性差. 基于特征的方法需要人工构建大量的特征, 费时费力, 且人工提取的特征都停留在词法和句法层面, 模型无法很好地捕获文本的语义特征. 近年来, 随着深度学习的发展, 神经网络模型开始应用在各类关系分类任务上,并取得出色表现. 本文在此研究基础上, 提出基于多头注意力机制(multi-head attention)和双向长短时记忆网络(Bi-LSTM)相结合的实体关系分类模型. 本文主要贡献如下:
(1) 引入aulti-head Attention. 它是self-attention的一种拓展, 能够从多个不同维度计算attention, 从而使模型在不同子空间学习特征.
(2) 模型的输入在已有的词向量和位置向量的基础上, 进一步引入依存句法特征和相对核心谓词依赖特征作为输入, 可以使模型更好地捕获句法信息, 进一步提高模型分类的精度.
1 相关研究目前, 已有的关系分类方法包括: 基于规则的方法、基于特征向量的方法、基于核函数的方法和基于深度学习模型的方法.
基于规则的方法需要依赖领域专家, 通过构建大量的模式匹配规则进行关系分类, 适合于特定领域的关系分类任务. Aone[1]等通过人工构建匹配规则开发了REES系统, 该系统可识别100多种关系. Humphreys[2]等对文本进行句法分析, 通过构建复杂的句法规则来识别实体间的关系. 基于规则的方法需要领域专家的指导, 耗时耗力, 且系统可移植性差.
基于特征向量的方法需要人工构造特征, 然后将特征转化为向量, 利用机器学习算法构建模型, 将特征向量作为模型的输入对实体对之间的关系进行分类. Kambhatla[3]等人通过结合词汇特征、句法特征和语义特征, 利用最大熵模型作为分类器, 在ACE RDC2003的评测数据集上, 最终分类的F值达到了52.8%. 车万翔[4]等人通过引入实体类型、两个实体的出现顺序、实体周围的w个词等特征, 利用支持向量机(SVM)作为分类器, 在ACE RDC2004的评测数据集上, 最终分类的F值达到了73.27%. 基于机器学习的方法依赖于人工构造特征, 其效果的好坏也严重依赖于特征选取的好坏, 且为达到较高的分类性能往往需要从不同层次构造大量特征.
基于核函数的方法不需要显示构造特征, 因此避免了人工构造特征的过程. 它将文本的字符串或者文本的句法树作为输入实例, 使用核函数计算实例间的相似度来训练分类器. 在关系分类任务中使用核函数的方法最早是由Zelenko[5]等人引入的,他们在文本的浅层解析表示上定义核函数, 并将核函数与支持向量机(SVM)和投票感知器学习算法相结合. 实验表明, 该方法取得了良好的效果.
近年来, 随着深度学习的兴起, 越来越多的研究工作都尝试使用神经网络模型去解决问题, 从而避免显式的人工构造特征的过程. Liu CY等人[6]在关系分类任务中最早尝试使用卷积神经网络自动学习特征. 它建立了一个端到端(End-to-End)的网络, 该网络利用同义词向量和词法特征对句子进行编码, 实验结果表明, 该模型在ACE 2005数据集上的性能比当时最先进的基于核函数的模型的F值高出9个百分点. Zeng DJ等人[7]也使用了卷积神经网络模型来进行关系分类, 他们使用了预先在大型未标记语料库上训练的词向量(Word Embedding), 并首次将位置向量(Position Embedding)引入模型的输入. 最终该模型在SemEval-2010任务8的评测数据集上的F值达到了82.7%.
卷积神经网络(CNN)虽然在关系抽取任务中取得了不错的表现, 然而CNN不适合具有长距离依赖信息的学习. 循环神经网络(RNN)适用于解决具有长距离依赖的问题, 但是它存在梯度消失问题, 对上下文的处理就受到限制. 为了解决这个问题, Hochreiter和Schmidhuber在1997年提出长短时记忆网络(LSTM), 该网络通过引入门控单元来有效缓解RNN的梯度消失问题. 另外, 近年来基于神经网络和注意力机制(attention)相结合的模型也被广泛应用在关系分类任务上. 注意力机制是对人类大脑注意力机制的一种模拟, 最早应用在图像处理领域, Bahdanau等人[8]最早将其应用在机器翻译任务上. 此后注意力机制就被广泛地应用到各种NLP任务中. Zhou P等人[9]提出一种用于关系分类的神经网络ATT-BLSTM. 该模型利用长短时记忆网络对句子进行建模, 并结合自注意力机制(self-attention)来进一步捕捉句子中重要的语义信息. 通过计算self-attention, 可以得到句子内部词之间依赖关系, 捕获句子内部结构. 本文的研究在文献[9]工作的基础上, 引入多头注意力机制(multi-head attention), 其本质是进行多次self-attention计算, 可以进一步提高实体关系分类精度.
2 基于Multi-head Attention和Bi-LSTM的关系分类算法本文采用双向长短时记忆网络(Bi-LSTM)对文本特征进行建模. 在将词向量和相对位置向量作为网络层输入的基础上, 进一步考虑将依存句法特征和相对核心谓词依赖特征引入网络输入层. 将这两个特征引入输入层的原因是:
(1) 依存句法分析可以很好地揭示文本句法结构, 并且反映出两个实体之间直接或间接的关系特征.
(2) 大量研究表明, 对一个句子的所有谓词, 核心谓词对于识别实体边界、承接实体关系起着至关重要的作用[10]. 因此每个词与核心谓词的相对依赖也是一种隐含特征, 这种依赖关系必然也能反映出实体间的关系特征.
同时在网络输出层引入multi-head attention. Multi-head attention 由Vaswani[11]等人提出, 基于Self-Attention. Self-Attention通过计算每个词和所有词的注意力概率来捕获句子的长距离依赖. 所谓multi-head, 就是进行多次Self-attention计算, 每次计算时使用的映射矩阵不同, 最后将每一次计算结果进行拼接, 作为最终multi head计算结果. 容易看出multi head attention和单头self-attention相比, 它可以学习多个映射器, 进而从不同维度, 不同子空间来表征特征. 最后通过将多个特征进行拼接进行特征融合, 可以使模型进一步提高特征表达能力. 文献[11]中的实验结果表明, 使用单头注意力机制可以学习得到句子内部词的某些长距离依赖关系, 而multi-head attention除了能够加强这种学习能力以外, 甚至能够理解句子的句法和语义结构信息. 因此本文引入multi-head attention思想, 来进一步提高模型建模能力, 从而提高实体关系分类的精度.
本文的模型包含以下5个部分, 模型结构图如图2所示.
(1) 文本预处理、特征提取.
(2) Embedding层: 将网络输入的各种特征全部映射为低维向量表示.
(3) Bi-LSTM层: 使用Bi-LSTM对输入信息进行建模, 获取高层特征表示.
(4) Multi-head attention层: 进行多次self-attention计算, 并将多次计算结果进行拼接和线性映射, 获取最终句子级特征表示.
(5) 输出层: 采用SoftMax函数作为分类器, 将上一步得到的特征向量作为输入, 可以得到最终的关系类别.
2.1 文本预处理、特征提取
以"<e1>叶莉</e1>是<e2>姚明</e2>的妻子"为例, 使用哈工大的LTP对句子进行分词和依存句法分析, 结果如下图所示, 抽取以下三个特征:
(1) 相对位置特征PF. 即句子中每个词分别到实体1和实体2的距离. 如例句中两个实体分别是“叶莉”、“姚明”. 每个词到实体1“叶莉”的距离PF1={0, 1, 2, 3, 4}; 每个词到实体2“姚明”的距离PF2={−2, −1, 0, 1, 2}
(2) 依存句法特征DP. 特征DP包含两部分DP_NAME和DP_PAR. DP_NAME要获取每一个词在句子中的依存句法属性值, 那么例句的DP_NAME={SBV, HED, ATT, RAD, VOB}; DP_PAR要获取每一个词所依赖的词在句子中的索引值, 那么例句的DP_PAR={2, 0, 5, 3, 2}
(3) 相对核心谓词依赖特征DEP. 根据句子中每个词与核心谓词是否存在依赖关系, 将DEP特征取值分为三类: DEP_S(核心谓词本身), DEP_C(核心谓词子节点), DEP_O(其它). 容易看出例句的核心谓词为“是”, 那么例句的DEP={DEP_C,DEP_S,DEP_O, DEP_O, DEP_C}.
2.2 Embedding层假定句子S由T个词组成,
$ e_i^j = {W^{{k_j}}}v_i^j $ | (1) |
其中,
$ embs = \{ {e_1},{e_2},\cdots,{e_T}\} $ | (2) |
LSTM是RNN的一种变体, 它通过引入门控单元克服RNN长期依赖问题从而缓解梯度消失. 一个LSTM单元由三个门组成, 分别是输入门
$ {i_t} = \sigma ({W_{xi}}{e_t} + {W_{hi}}{h_{t - 1}} + {W_{ci}}{c_{t - 1}} + {b_i}) $ | (3) |
$ {f_t} = \sigma ({W_{xf}}{e_t} + {W_{hf}}{h_{t - 1}} + {W_{cf}}{c_{t - 1}} + {b_f}) $ | (4) |
$ {g_t} = \tanh ({W_{xc}}{e_t} + {W_{hc}}{h_{t - 1}} + {W_{cc}}{c_{t - 1}} + {b_c}) $ | (5) |
$ {c_t} = {i_t}{g_t} + {f_t}{c_{t - 1}} $ | (6) |
$ {o_t} = \sigma ({W_{xo}}{x_t} + {W_{ho}}{h_{t - 1}} + {W_{co}}{c_t} + {b_o}) $ | (7) |
$ {h_t} = {o_t}\tanh ({c_t}) $ | (8) |
通过以上计算, 最终得到t时刻LSTM隐层状态的输出值
$ {h_t} = f\_{h_t} + b\_{h_t} $ | (9) |
Multi-head attention本质就是进行多次self-attention计算, 它可以使模型从不同表征子空间获取更多层面的特征, 从而使模型能够捕获句子更多的上下文信息. Multi-head attention模型结构如图3所示.
(1) 单次self-attention计算. 使用符号H表示一个矩阵, 它由Bi-LSTM层所有时刻输出向量组成
$ \partial = SoftMax({w^{{T}}}\tanh (H)) $ | (10) |
$ r = H{\partial ^{{T}}} $ | (11) |
其中,
$ {h^*} = \tanh (r) $ | (12) |
(2) Multi-head attention计算. 即进行k次self-attention计算. 在计算过程中, 针对式(10), 在每次使用H时, 需要先将H进行一次线性变换[11], 即
$ {h_s} = {w_{{s}}} \otimes Concat(h_1^*,h_2^*,\cdots,h_k^*) $ | (13) |
其中, 向量
在本文中, 关系分类为一个多分类问题. 使用SoftMax函数计算每一个类别的条件概率, 然后选取条件概率最大值所对应的类别作为预测输出类别. 计算过程如下:
$ p({y'}|S) = SoftMax({W_o}{h_{\rm{s}}} + {b_o}) $ | (14) |
$ y = \mathop {\arg \max }\limits_{{y'}} p({y'}|S) $ | (15) |
其中,
$ J(\theta ) = - \frac{1}{m}\sum\limits_{i = 1}^m {{t_i}\log (y_i') + \lambda ||\theta ||} _2^2 $ | (16) |
其中, m是样本的个数,
本次实验采用SemEval-2010任务8的数据集. 该数据集共包含10种关系类别, 其中有9种是明确的关系类别, 一种是未知类别“Other”. 数据集中共有10 717条人工标注实体和关系类别的数据, 包括8000条训练数据, 2717条测试数据. 关系类别如表1所示.
3.2 实验评价指标
在本次实验中采用官方评测标准F1值(F1-Score)作为模型性能评价指标. 表2为分类结果的混淆矩阵.
在计算
$ P = \frac{{TP}}{{TP + FP}} $ | (17) |
$ R = \frac{{TP}}{{TP + FN}} $ | (18) |
根据P、R值计算最终的
$ {F1} = \frac{{2PR}}{{P + R}} $ | (19) |
本文神经网络模型的优化方法采用Adam, 其学习率设置为1.0, 激活函数使用relu函数, 隐层节点数
3.4 实验结果
为将本文模型与其它模型效果进行对比实验, 所有模型均采用同一数据集, 关系类别个数为10. RNN模型、ATT-LSTM模型的输入词向量和位置向量、网络隐层节点数、网络激活函数、模型优化方法等均与本文实验中的参数设置保持一致. 另外CNN中与本文无关的参数设置参考其原论文. 实验结果如表4.
CNN: 该模型是文献[7]提出的. 使用CNN对句子进行建模, 同时引入位置特征和词汇特征, 使用SoftMax作为分类器. 最终实验结果
RNN: 该模型是文献[13]提出的. 使用双向RNN来进行关系分类, 使用SoftMax作为分类器. 最终实验结果
ATT-LSTM: 该模型文献[9]提出. 使用双向LSTM对句子进行建模, 并引入自注意力机制, 使用SoftMax作为分类器. 最终实验结果F1值达到83.4%.
以上四种模型相比, 本文提出的方法最终
本文从现有的基于深度学习模型的关系抽取方法出发, 使用Bi-LSTM和multi-head attention机制对文本进行建模, 同时为了使模型更好地学习到文本句法结构信息, 进一步引入句法结构特征和相对核心谓词依赖特征. 在公共评测语料上的实验结果证明该方法相较于其他深度学习模型性能有进一步提升. 未来的工作可考虑如何进一步改进attention以及如何将模型应用到无监督关系抽取研究上.
[1] |
Aone C, Ramos-Santacruz M. REES: A large-scale relation and event extraction system. Proceedings of the 6th Conference on Applied Natural Language Processing. Seattle, WA, USA. 2000. 76–83.
|
[2] |
Humphreys K, Gaizauskas R, Azzam S, et al. University of Sheffield: Description of the LaSIE-Ⅱ system as used for MUC-7. Proceedings of the 7th Message Understanding Conference. VA, USA. 1998.
|
[3] |
Kambhatla N. Combining lexical, syntactic, and semantic features with maximum entropy models for extracting relations. Proceedings of ACL 2004 on Interactive Poster and Demonstration Sessions. Barcelona, Spain. 2004. 22. 71–85.
|
[4] |
车万翔, 刘挺, 李生. 实体关系自动抽取. 中文信息学报, 2005, 19(2): 1-6. DOI:10.3969/j.issn.1003-0077.2005.02.001 |
[5] |
Zelenko D, Aone C, Richardella A. Kernel methods for relation extraction. The Journal of Machine Learning Research, 2003, 3: 1083-1106. |
[6] |
Liu CY, Sun WB, Chao WH, et al. Convolution neural network for relation extraction. Proceedings of the 9th International Conference on Advanced Data Mining and Applications. Hangzhou, China. 2013. 231–242.
|
[7] |
Zeng DJ, Liu K, Lai SW, et al. Relation classification via convolutional deep neural network. Proceedings of the 25th International Conference on Computational Linguistics. Dublin, UK. 2014. 2335–2344.
|
[8] |
Bahdanau D, Cho K, Bengio Y. Neural machine translation by jointly learning to align and translate. arXiv: 1409.0473, 2014.
|
[9] |
Zhou P, Shi W, Tian J, et al. Attention-based bidirectional long short-term memory networks for relation classification. Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics. Berlin, Germany. 2016. 207–212.
|
[10] |
郭喜跃, 何婷婷, 胡小华, 等. 基于句法语义特征的中文实体关系抽取. 中文信息学报, 2014, 28(6): 183-189. DOI:10.3969/j.issn.1003-0077.2014.06.026 |
[11] |
Vaswani A, Shazeer N, Parmar N, et al. Attention is all you need. Proceedings of Advances in Neural Information Processing Systems. Long Beach, CA, USA. 2017. 5998–6008.
|
[12] |
Turian J, Ratinov L, Bengio Y. Word representations: A simple and general method for semi-supervised learning. Proceedings of the 48th Annual Meeting of the Association for Computational Linguistics. Uppsala, Sweden. 2010. 384–394.
|
[13] |
Zhang DX, Wang D. Relation classification via recurrent neural network. arXiv: 1508.01006, 2015.
|