陈彦光 GraphRel: Modeling Text as Relational Graphs for Joint Entity and Relation Extraction
新闻来源:IR实验室       发布时间:2019/10/9 15:49:04

1. 介绍

这篇论文是台湾国立中央研究院团队的工作,发表于ACL2019。

本文针对文本进行建模构建关系图,完成实体和关系联合抽取的任务。实体和关系联合提取的任务主要是完成识别句子中的实体,以及两个实体之间的语义关系,得到实体关系三元组的过程。一般对实体和关系进行提取使用的是流水线的方式,首先进行命名实体识别,然后进行关系预测,但流水线中进行关系抽取的方法存在一些问题,它们不是端到端的联合抽取模型,默认实体对是已知的。流水线的方法在实际应用中会造成错误传播的问题,即实体识别的错误会累积传到关系抽取模块,并且也没有很好的运用实体识别任务中的信息。

使用联合学习进行关系抽取的方法目前存在的一个关键问题是重叠关系(overlapping relation)的问题。这里是把重叠关系分为了两类,EPO:两个实体之间有多种关系,多个三元组共用两个实体;SEO:多个关系涉及到同一个实体,即多个三元组共享一个实体。作者认为这种overlapping relation实际上是由于关系之间有互相影响,这种相互影响对于实体关系联合抽取模型还是很难识别的,因为联合抽取中实体不会直接在输入中就被标记出来。

image.png

1 重叠关系示例

2. 相关工作

随着深度学习方法的出现,逐渐出现使用神经网络模型进行实体关系联合提取的方法。

Miwa等人在2016年提出的一个双向LSTM+TreeLSTM结构的模型,利用了依存树特征,通过共享参数进行联合学习来完成实体的标注和关系的分类,但这种共享参数的方法本质上还是流水线的模式,先提取出来两个实体,然后预测实体对之间的关系。

Zheng等人提出了一个基于新的标注策略的方法进行实体和关系联合提取,是将关系抽取转化为了一个序列标注任务,他们定义的标注策略可以将实体的边界信息、实体的角色信息和关系类型信息很好地包含进去,如图2所示,这样对输入的每个词进行标注,然后提取出每个实体的同时,也可以得到实体所对应的关系。

image.png

2 标注策略示例

但这个方法只关注于存在唯一关系的情况,它对于唯一的关系类型提取还是比较准确的,后面实验结果也能看出这个方法的精确率P值是很高的。但它对之前所述的重叠关系是完全放弃的,因为对每一个单词只赋予了一个标签,不能用于多个关系。

针对overlapping relation,Zeng等人又提出了一个MultiDecoder的方法,发表于ACL2018。他们对overlapping relation的定义和本文是相同的,正常的关系,EPO是两个三元组共用两个实体,SEO是两个三元组共用一个实体。

这个方法的整体架构如图3所示。

image.png

3 MultiDecoder框架图

首先输入向量通过一个双向RNN,然后利用了一个复制机制,对关系和预测的实体词分别进行复制,Decoder也是使用的RNN,是按时间步进行的,首先预测一个关系,再根据这个关系的embedding和Attention向量以及前一时刻计算下一个输出,下面的输出是用于预测第一个实体,再像之前一样根据这个实体的embedding和Attention向量以及前一时刻计算下一个输出,接下来是预测第二个实体,这样就得到了一个三元组,再接下来继续预测关系,以此往复,直到预测出来的关系和实体都是NA(负例),或者Decoder到序列最后。这样一次可以预测出多种关系,每次预测关系和两个实体都是没有限制条件的,这样就利于得到重叠关系。

但是这个方法存在的一个问题是,每次解码时,是一个关系接着一个关系逐步解码的,这样造成了关系之间的依赖性只利用到单向的。

3. 方法

下面再介绍一下图卷积网络(GCN)。在卷积神经网络(CNN)中的卷积计算,本质上就是利用一个共享参数的过滤器(kernel),通过计算中心像素点以及相邻像素点的加权和来构成feature map实现空间特征的提取。

图卷积网络(GCNs)将卷积运算从传统数据(图像或网格)推广到图数据。

image.png

4 GCN示意图

文本中的图神经网络的使用一般是先通过自然语言处理工具将文本进行依存解析,得到文本的依存树,这就是文本的图结构,然后进行卷积操作,逐步得到当前节点距离为1、距离为2的结点信息。GCN能聚合每个邻居节点的特征信息,传递节点的特征给邻居节点,达到提取每个节点的局部特征的目的。

本文提出的GraphRel是一个基于图神经网络的端到端的联合抽取模型,整体流程如图5所示。模型分为两个阶段,两个阶段都进行了实体边界识别和关系预测,第一阶段由一个双向LSTM和一个GCN组成,目的是提取到序列的和局部的特征;第二个阶段是基于第一阶段的关系提取的结果为每一类关系构建一个带权图,然后进行第二阶段的图卷积,两个阶段一起进行训练。下面将分别说明一下这两个阶段的工作。

image.png

图5 GraphRel流程图

第一阶段通过一个双向LSTM和一个基于依存树的GCN进行特征提取,分别进行实体边界的识别和词对之间的关系提取,得到一个实体loss和一个关系loss值。

双向LSTM用于提取序列性的特征,LSTM的输入是使用词向量拼接词性特征。

image.png

图6 LSTM输入

双向GCN是用于提取局部的依存特征,GCN的输入是句子的依存树构成的邻接矩阵,所以要先为输入构建依存树,考虑了依存树上两个方向的词特征,最后进行拼接。

image.png

7 双向GCN计算

第一阶段就要进行实体的边界识别和关系提取,实体识别是将GCN输出的特征通过一个单层的LSTM网络直接进行预测,得到一个loss值称为eloss1p,关系提取是对每个词对之间的语义关系进行预测,计算每个词对之间的关系的得分,得到的loss值为rloss1p。注意第一阶段的实体和关系的loss值不会被用于作为最后的预测,但是他们对于训练第一阶段很有帮助。

image.png

图8 词对关系预测

第二阶段首先以第一阶段的关系预测结果为每一类关系都构建一个关系加权图,比如NYT数据集一共有24类关系,那就分别建25个全连接图,每个图的结点是单词,边是带权边两两连接每个词,权重是第一阶段中预测的每两个词之间的权重大小。

作者解释进行第二阶段是为了更好地考虑到实体和关系之间的相互作用、以及词对之间的隐藏特征。图10就是构建的全连接图的示例。

image.png

9 第二阶段图卷积

image.png

10 构建全连接图示例

第二阶段也使用了双向GCN的结构,模型的结构和第一阶段中双向GCN的结构一样,然后对每一个关系图都进行图卷积,这个过程如公式所示。在每个邻居结点隐层表示部分考虑了词的双向。和第一阶段一样在提取特征之后分别进行了实体识别和关系提取,loss分别为eloss2p,rloss2p。

训练过程中实体识别部分是只考虑是否为实体词BIOES中的一种,使用交叉熵计算损失函数;关系抽取是针对词对之间关系类型进行预测,这里引入了ground truth,是一个基于词对是one-hot向量,大小是batch_size*seq_len*seq_len,代表每个词对之间是否存在关系,用于更好地进行训练。这种基于词对的方法可以更好地学习到提取关系的信息。最后两个阶段的loss值进行一个加权计算,共同训练这两个阶段。

image.png

11 两个阶段损失函数计算

最后在计算得到三元组时采取了三种策略。Head prediction:如果三元组被提取,则两个实体都被识别出来,并且关系R是这两个实体最后一个词组成的词对所对应的的最大可能的关系。Average prediction:实体中所有的词对组合都被考虑,关系是在这些词对中的各个关系的可能性平均起来得到的关系类型。Threshold prediction:任何实体对的所有词对也都被被考虑到,但是互不影响。比如:四个词对之中,有两个词对预测了关系2/4=50%>theta,就将这个关系考虑进来,这里theta选取0,也就是说,只要有一个词对预测出了关系,就把这个关系和实体对组成的三元组加入到结果里。

4. 实验

实验设置如图12所示。

image.png

图12 实验设置

实验使用了两个数据集分别是NYT和WebNLG,这里使用的数据集和multidecoder论文中使用的数据集一样,对于NYT:过滤掉句子长度大于100的句子;对于WebNLG,这是一个文本生成评测数据集,是根据给定的三元组和几个标准语句来进行文本生成的任务,这里将每组中的三元组和第一句标准句留下形成数据集,两个数据集的规模如表1所示。

1 数据集

image.png

Baseline方法采取了前文所述的NovelTagging和MultiDecoder两个方法,评估方式采用F1值。

整体的实验结果如表2所示,实验证明GCN提取的局部特征,还有加入第二阶段进行预测可以有效地提高关系抽取的性能,注意到Noveltagging方法在webnlg上的准确率还是很高的,因为这个方法的特点针对于关系提取的准确率很高,但召回率特别的低。

2 实验结果

image.png

整体的实验结果如表2所示,实验证明GCN提取的局部特征,还有加入第二阶段进行预测可以有效地提高关系抽取的性能,注意到Noveltagging方法在webnlg上的准确率还是很高的,因为这个方法的特点针对于关系提取的准确率很高,但召回率特别的低。

图13给出了三类三元组下不同方法的F1值对比,可以看到本文的方法都优于baseline,noveltagging方法在重叠上的结果很低。尽管MultiDecoder考虑了多个关系的情况,但是本文的方法从词对来预测关系,重叠关系的问题得到了进一步改善。

image.png

13 三类三元组下的结果

图14给出了一句中由不同数量三元组的情况下不同方法的结果, NovelTagging方法针对只有一种关系的实例效果很好,但关系数量增多就会大大降低它的性能,而MultiDecoder虽然解决了一些影响,仍没有本文的方法性能好。

image.png

14   不同数量三元组下的结果

图15给出了不同计算方法生成三元组的策略对比,在threshold方法中阈值取0结果最好,也就是只要词对有可能的语义关系,就将其加入到预测结果中。

image.png

15   不同生成三元组方法下的结果

由表3和表4可以看出,第二阶段的加入在实体识别性能上有提升,以及本文的方法在两个阶段下的效果最好,其中第一阶段采用2层GCN,第二阶段采用1层GCN。

3   两个阶段的NER结果比较

image.png

4   不同阶段、层数GCN对比

image.png

最后是一个案例分析,第一句是一个正常的例子,第二句there指代意大利,通过加入第二阶段可以学习到这种隐含的语义。第三句是一个SEO的例子,第二阶段对于三元组的提取更全面,可以提高召回率

image.png

16   案例分析

5. 结论

  本文提出了一个基于GCN的端到端联合抽取模型,针对文本的词对进行关系提取,采用了两个阶段的GCN,第二阶段的GCN没有按照以往针对文本建图的方式使用依存树,而是根据第一阶段的结果构建了关系加权图,这也是对GCN在NLP领域的应用方面有一点创新

参考文献

[1] Xiangrong Zeng, Daojian Zeng, Shizhu He, Kang Liu, and Jun Zhao. 2018. Extracting relational facts by an end-to-end neural model with copy mechanism. In Proceedings of ACL.

[2] Suncong Zheng, Feng Wang, Hongyun Bao, Yuexing Hao, Peng Zhou, and Bo Xu. 2017. Joint extraction of entities and relations based on a novel tagging scheme. In Proceedings of ACL.
[3]
CNNGCN的联系与区别——GCN从入门到精(fang)通(qi)https://blog.csdn.net/weixin_40013463/article/details/81089223