主要贡献:
- SDP对于关系分类很有用,它包含了大量对关系分类有用的信息。
- 自然语言的歧义性会提高这个任务的难度,因此整合异构语言知识对任务是有益的。
- 将SDP按照公共子节点分成两段子路径能够捕捉到关系的有向性。
- LSTM单元能够有效的检测到特征并沿着SDP传播。
摘要
这篇文章中,作者提出了SDP-LSTM模型来对一句句子中的两个实体进行关系分类。这种生机网络架构利用了两个实体间的最短依赖路径(shortest dependency path,SDP),而LSTM能够从SDP中选出异构信息。这种模型有一下几个特征:
1. SDP能够消除一句话中无用的单词,保留最有用的信息。
2. 多通道LSTM网络能够将异构信息进行有效的集成。
3. 采用了定制的dropout策略,能够防止神经网络过拟合。
引言
传统的关系分类方法非常依赖特征表示,它们需要大量的特征,并且如果特征集不好的话,很难提升模型的性能。而前几年的方法非常依赖设计的kernel,这是对整体数据信息把控的关键。现在,随着深度学习的兴起,它提供了一种自动提取特征的学习方法,并且表现相当好。
这篇文中,作者提出了一种新的神经网络,使用SDP以及LSTM来进行关系分类,它有一下几个优点:
1. SDP具有大量的信息,它完全能够确定两个实体间的关系。在SDP上面的单词是对原始句子的简略表示,它包含了大量目标关系的信息。
2. 方向很重要。依赖树是一种有向树。并且实体间的关系是有向的, r(a,b) r ( a , b ) 与 r(b,a) r ( b , a ) 是不一样的。因此,作者认为让神经网络有能力处理这种有向性式非常必要的。处于这种考虑,作者将SDP分成两个子路径,每个路径都是从一个实体当公共祖先节点。而沿着这两条路径的提取出来的特征进行拼接之后,再进行分类。
3. 用语言信息来帮助分类。为了获取异构信息,作者设计了一种多通道的循环神经网络,它充分利用了各种各样的信息,包括单词、命名实体识别的tags,上位词以及语法关系。作者使用LSTM来传播有效信息,还用dropout防止过拟合。这是第一次使用基于LSTM的RNN结合来进行关系分类。
相关工作
在之前的工作中,NLP领域的关系分类主要分为3类:基于特征、基于kernel、基于神经网络。
在基于特征的方法中,需要提取各种各样的特征,然后喂给分类器。一般来说,词法特征(实体属性、标签、相邻实体信息)、句法特征(分块、解析树)以及语义特征是最常用的三类特征。
基于kernel的方法制定了两个数据集上的相似性度量方式。例如zelenko通过两棵树的公共子树来计算它们的相似性;Bunescu and Mooney提出使用SDP kernel来进行关系分类,主要思路是两个实体间的关系会很大程度上依赖SDP。Wang对多种kernel进行了系统性的分析,他得出将卷积核与语义特征结合能够提升关系分类效果的结论。Plank and Moschitti除了考虑了结构信息以外,还将语义信息引如kernel中。kernel方法的一个难点是,它需要将所有的信息都包含进来,因此设计一个有效的kernel非常重要。
深度神经网络能够自动挖掘特征。Socher提出在句子解析树上使用RNN来进行情感分析,这种模型也可以用来进行关系分类。Hashimoto明确了带权短语对提升RNN性能的重要性。Ebrahimi and Dou重构了RNN,用于发现两个实体之间的依赖路径。Zeng在序列化的句子信息中使用卷积神经网络。 dos Santos也使用卷积网络,除此以外,他们还提出了一个ranking loss function用于数据清洗。
SDP-LSTM模型
Overview
首先,使用斯坦福的解析器将句子解析成依赖树,然后从中提取最短依赖路径(SDP)作为网络的输入。对于SDP上的每个单词,作者主要用到了每个单词的word embedding、POS tags、语法关系、上位词。
用两个LSTM网络分别从SDP的两个子路径中提取信息,然后接一个max pooling层将不同通道(每个单词的word embedding、POS tags、语法关系、上位词)的信息拼接起来,之后再链接一个隐藏层。最后用softmax进行分类。
最短依赖路径(SDP)
作者观察到两个实体的公共节点到这两个节点的两条子路径,能够对有向关系的确定提供大量的信息。根据这个发现,作者设计了两个RNN来传播从实体到公共节点的信息。并且这个模型是对方向敏感的。
通道(Channels)
LSTM
对于子路径中的 t t -th个单词,它会有hidden state 由, ht h t 由 ht−1 h t − 1 与当前单词 xt x t 构成。其公式如下: