本文介绍一篇18年EMNLP的文章Neural Relation Extraction via Inner-Sentence Noise Reduction and Transfer Learning。对知识图谱关系抽取前世了解一下,再来看今天的文章哦。还需了解一下用神经网络做依存句法分析。
一、问题描述
这篇文章是做知识图谱中的关系抽取的,创新点有三个:
1. 通过Sub-Tree Parse (STP)来移除句子内的噪音的,还可以降低句子长度。
2. 通过entity-wise attention来帮助句子捕捉句子内的重点的。
3. 通过迁移学习,在entity type分类上预训练后,再迁移到关系分类的任务上帮助模型提高鲁棒性。
看不懂没关系,下面会一一介绍。
二、什么是句子内的噪音
先来看一个句子:
[It is no accident that the main event will feature the junior welterweight champion miguel cotto, a puerto rican, against Paul Malignaggi, an Italian American from Brooklyn.]
其实光看橘色的部分就知道Paul Malignaggi出生在Brooklyn,也就是/people/person/place of birth关系,那么除了橘色部分的其他单词都是句子内噪音啦,多余的哎!
三、为什么从实体种类识别迁移学习有用呢
先来看一个句子:
[Alfead Kahn, the Cornell-University economist who led the fight to deregulate airplanes.]
如果不知道Alfead Kahn是个人,不知道Cornell-University是公司,还不好预测关系呢。
四、模型架构
可以看到先将句子用 STP处理以后,将其转化为词向量后,输入到双向GRU内转化为hidden state,然后利用entity-wise attention+Hierarchical-level Attention(Word-level Attention和Sentence-level Attention的综合)后将包含一个实体对的所有句子转化为一个向量,然后将这个向量经过全连接和softmax就可以做entity type分类或者关系分类了。
1.Sub-Tree Parse (STP)
先画出句子的依存句法关系树,找到两个实体最近的共同祖先(非自身),以该祖先为根将子句法树提取出来即可,则该子树的单词啦,单词位置啦都可以作为输入了,我觉得这招很高!
举个例子,看上图,有个句子:
[In 1990, he lives in Shanghai, China.]
实体为Shanghai和China,看图中他们的共同祖先为in,则橘色部分in Shanghai, China就被提取出来,这三个单词的word和position就要被换成词向量输入到双向GRU中了。
这个方法比Shortest Dependency Path (SDP)好,在SDP中,上述句子因为Shanghai和China在句法树中直接相连,则最短嘛,就是提取出Shanghai, China。没有“in”了,但in这个单词才是预测这个关系最重要的单词,但是被SDP忽略了,但是在STP中就被保留了。
2.word an position embedding
包含一个实体对的所有句子叫包,一个包内的第条句子的第