曹明宇 A Walk-based Model on Entity Graphs for Relation Extraction
新闻来源:IR实验室       发布时间:2019/3/28 13:29:59

一:引言

关系抽取是自然语言处理领域的常见任务,也是进一步搭建知识图谱及相关研究的基础。实际上,研究者通常使用关系分类的方式进行句子级别的关系抽取。关系分类的定义如下:给定句子和已标注位置、类型的两个实体,从预定义的关系类别集合中为该实体对选择一个类别。当前state-of-the-art的方法由Miwa等人于2016年提出(SPTree方法),该方法使用句子的序列信息和实体对的句法依存信息作为输入,结合sequence LSTMtree LSTM模型,在ACE2005ACE2004SemEval2010-Task8等常见关系抽取数据集上均取得了先进的表现。

然而该方法仍然存在理论上的不足,它仍然将同一个的句子中的每个实体对的独立地进行关系分类,而没有考虑不同实体对的关系间的相互影响。以图1为例,实体“Toefting”和实体“capital”间存在PHYS关系,这个关系可以通过句子中的另外两个关系推导得到,这便体现了关系间的相互影响。

1547379056(1)

1 一句话中不同关系间具有相互影响的样例(来自ACE2005数据集)

基于这样的前提,本文提出了一个基于实体图的神经网络模型。实体图的顶点即实体,边则是两个实体间的edge representation。同时提出了一个迭代过程,将两个实体间的直接edge representation和间接edge representation进行融合,再对每个edge representation进行分类。实验表明,本文方法在ACE2005数据集上取得了与SPTree方法接近的性能,并且不依赖句法分析工具。

二:模型

本文方法的基本模型包含了5个层:embedding层、BLSTM 层、edge representation层、 walk aggregation层和classification层,如图2所示,下面是对5个层分别的描述:

1547380266(1)

2 本文的模型结构

 

embedding:将句子的单词序列映射为预训练的词向量序列(将作为BLSTM层的输入),将实体的类型、实体的相对位置、每个词的语义类型映射为随机初始化的实体类型向量相对位置向量、语义类型向量(将作为edge层的输入)。

BLSTM:使用一个双向的LSTM词向量序列进行学习,得到当前句子的词特征序列(将作为edge层的输入)。

edge representation:该层为每个目标实体对生成一个向量来表示,该向量由2个实体向量和上下文向量拼接得到。

l  实体向量:代表该实体对的两个组成实体,由实体类型向量、相对位置向量、实体token的词特征均值拼接得到。

l  上下文向量:将每个上下文单词的词特征、语义类型向量和相对于两个实体的位置向量拼接,使用一个简单的attention机制,对所有非当前实体对的单词求加权值得到。

walk aggregation层:对于每条边,都经过n轮迭代来融合其他边的信息,每次迭代的操作如下:

(1)对于每个实体对:实体i和实体j,将这两个实体间的通过图中其他实体k间接相连的边路径进行融合,得到n个间接的边向量。

(2)将实体i、实体j直接相连的边的向量,和上一步得到的n个间接的边向量进行融合,得到该实体对新的向量表示,完成一次迭代。

classification层:对于每个实体对的边向量,通过一个全连接层和softmax进行分类。

三:实验

SOTA方法对比(Baseline是只使用两个实体向量进行分类的情况)

3展示了在ACE05数据集上,与SPTree方法对比的实验结果。可以看到,在Walks length=4(即迭代两次)的情况下,本文方法达到了与SPTree方法相差1.1%F值。

4  句子中实体数不同时,不同迭代次数的F

本文进一步对包含不同实体数量的句子的F值分别进行了统计。可以看到,当句子中实体数增多(>=4)时,直接进行分类F值是较低的,而通过1次或2次的迭代融合,则有效提升了关系分类的F值。