Relation Classification via Convolutional Deep Neural Network 论文研读
0. 个人浅谈
该文是ACL会议(NLP国际顶级会议之一)的录用论文,所以具有一定的研究意义。但它的发表时间是在2014年,也就是在AlexNet(2012年)和VGG-Net(2014年)已经在图像分类任务中成功应用之后的事。使用CNN来解决NLP中的关系抽取(关系分类)任务也是情理之中的。当然,中间有很多具体的细节,还需要精雕细琢才能够成功应用。
1. 摘要
现有的统计分类是采用统计机器学习的方法,而效果在很大程度上取决于提取特征的质量。特征都是从已有的NLP系统进行提取的,而现有的NLP系统往往会有一些错误。在这篇论文中,我们使用卷积神经网络去提取词法和句子特征。我们的方法并不会对词进行复杂的预处理。首先,先把词转换成词嵌入的向量。然后词法特征是对给定的名词进行提取。同时,采用句子特征是通过卷积神经网络来学习的。然后把这两方面的特征连接到一起构成最终的特征向量。最后,把特征向量输入softmax层,从而预测两个实体之间的关系。
2. 引言
第一段描述的是关系抽取的具体定义,在这里不做展开。
在关系分类中,最常用的是有监督的方法。有监督的方法通常被划分为基于特征的方法和基于核的方法。基于核的方法会对数据进行预处理,例如把输入数据划分到不同结构的树。但是现有的基于特征的方法都是从现有的NLP系统中进行提取的,所以NLP系统的错误就会延续下来,最终影响任务的效果。
为了能够识别关系对之间的关系,常见做法是从词法和句子特征中寻找线索,如利用标记的单词和整个句子的语义。在这篇文章中,我们采用的是CNN来提取词法和句子的特征。但我们并不会加入一些复杂信息,例如词性标注和语法解析。
CNN已经成功使用到词性标注、命名实体识别、语义角色标注上。我们也是受到上述任务的启发,然后将其使用到关系分类中。区别之处在于,关系分类可以看做是多分类问题,所以将会使用不同的目标函数。另外,我们加入了距离实体对的相对位置特征。
我们使用的数据集是SemEval-2010 Task 8 dataset。
3. 相关工作
关系分类是NLP中最重要的任务之一,它是构建知识图谱的基础工作。为了完成关系分类,可采用有监督学习和无监督学习两大类的方法。
在无监督学习中,通常会使用上下文特征。分布式假设理论表明了具有相同上下文的单词往往具有相似的含义。因此,我们可以假设具有相似上下文的实体对具有相似的关系。在2004年,Hasegawa提出了一种层次聚类的方法来对上下文进行聚类,并把上下文中最常用的单词表示实体对之间的关系。在2005年,Chen提出了模型顺序选择和判别标签识别的方法来解决此问题。
在受监督学习中,关系分类通常会被看成是多分类问题,研究者努力构建各种复杂的特征。通常可以被分为两大类的方法,基于特征的方法和基于核的方法。基于核的方法,如卷积核、子序列核、依赖树核。然而这些方法受限于匮乏的训练数据,在2009年,Mintz提出了使用远程监督的方法来解决此问题。远程监督的方法是选择和知识库中相匹配的句子作为正例。但远程监督有时候也会将噪声数据作为正例。在2012年,Takamatsu表明relaxed DS assumption是不正确的,并提出了一种生成式的方法来模拟启发式标注的过程,从而减少错误的标注数据的数量。
在2012年,Socher提出了对实体对语法树中间的路径进行RNN分类。 在2013年,Hashimoto采用RNN对句子中的重要短语进行加权计算,从而达到关系分类的效果。
4. 方法论
4.1 神经网络架构
下图为神经网络架构图。它包括了三个基本组成部分:单词表示、特征提取、输出。其中单词表示就是词嵌入的向量表示。
4.3 词法特征
这篇文章中采用的是通用的词嵌入来作为词法特征。具体为实体对1、实体对2、实体对1和2的左右一个词、实体对的WordNet hypernyms特征。
4.4 句子特征
根据窗口长度,我们把句子表示为向量的列表。举例来说,为一个句子,窗口长度为3,则结果(WF)下所示(其中表示的是句子的开始,而表示的是句子的结束。):
每个单词的位置特征(PF)是对距离两个实体的位置进行编码。
将WF和PF拼接到一起,然后进行卷积运算,再经过最大池化运算,最终再经过**函数得到g。其中这里的卷积是一维卷积。
4.5 输出
5. 实验结果
使用SemEval 2010 Task 8 Dataset的数据集,考虑方向共19种关系。 实验结果如下所示:
这个表格的比较有点小尴尬,如果有CNN使用POS、NER、WordNet的特征结果和CNN不加词法特征(78.9,不如其他方法啊)的两个结果会更有说服力。其他方法也应该有word pair等特征的对比。(横向加纵向更有说服力)。
L5(word net)和PF两个特征比较重要。
6. 总结
- 使用词法和句子两大类特征,然后将两大类特征拼接到一起,最后接全连接层+softmax得到分类结果。
- 嵌入层使用了预训练的词向量,而不是随机初始化,不过用的不是word2vec,而是(Turian 2010 Word representations: a simple and general method for semi-supervised learning)提供的词嵌入。
- 加入了Position Feature,因为CNN更多强调的是局部信息,而Position Feature强调了实体信息。
7. 不足
- 这篇文章并不是纯粹的end-to-end学习,而是加入了一些手造特征,如上位词。
- 卷积核的windows-size只为单个,多个集成效果可能会更好。