SEE: Syntax-aware Entity Embedding for Neural Relation Extraction

Posted by thidtc on December 6, 2017

1. 来源

AAAI 2018

2. 作者信息

3. 概要

本文提出了一种半监督的关系抽取的方法。方法分为3个步骤:首先基于tree-GRU,在句子的语法依赖树上,获得实体的embedding,然后使用intra-sentence和inter-sentence的attention来获取得到包含目标实体对的句子的集合(bag)中每个句子的向量表示,最后使用句子的向量表示和实体的embedding来进行关系分类。在实验中,模型能够获取得到不错的效果

4. 模型

4.1 Entity embedding

Entity embedding的结构如下所示

  • dependency embedding

    本文使用skip-gram模型在NYT语料上训练得到word embedding。和传统方式不同的是,本文中定义上下文的方式,对应语法树中的一个节点,定义gp->p, c->gc1,…,c->gc_n(gp表示grandparent节点,c表示child节点,gc表示grandchildren节点)为上下文关系

  • attention over child embeddings( $ ATT_CE $)

    通过self-attention可以计算得到每个子节点的hidden representation

    其中attention coefficient为

    上式中的v和W均为模型参数

    所有子节点的hidden representation通过一个GRU,输出为父节点的表示

4.2 Augmented Relation Classification

对于一个实体对对应的N个句子(Bag),可以得到

第一行中的每一个对应着bag中一个句子的embedding

第二行中的每一个对应着bag中一个句子的第一个实体的embedding(由上述过程得到)

第三行中的每一个对应着bag中一个句子的第二个实体的embedding

  • Attention over entity embeddings (ATT_EE)

    得到的三种embedding都通过self-attention(同ATT_CE中的attention方法,参数不同)得到对应的hidden representation

  • The concatenation strategy (CAT)

    将hidden representation连接,并通过一个线性层,得到一种relation score vector

  • The translation strategy (TRANS)

    受到TransE的启发,使用两个实体的embedding之间的差进过线性变换可以得到另一种relation score vector

    最后的结果结合了两种relation socre vector

5. 实验结果

实验在freebase监督下的NYT(2005-2007)的数据上进行,其结果如下

6. 个人总结

这篇文章的一个很有意思的想法在于通过语法树来获取得到entity的embedding,从之前的relation classification的工作来看,entity的embedding是一个很重要的特征,但是在之前的工作中,大多直接使用输入sequence的embedding层来同时处理entity,这种方式有两个缺陷:1. entity比较独有,可能发生OOV。2. entity有时是一个序列(多个词),但是通常会直接取最后或者最前一个词的embedding作为entity的embedding。这篇文章首先,直接在目标数据集上训练了新的embedding,训练过程中使用了一种新的上下文定义,但文中没有对这种embedding的效果进行单独的测试,也无从知道其对效果的影响有多大。另外一点值得注意的是,这篇文章中使用了较多的attention机制,这一点也说明了attention在实际中的效果还是很好的