【联合抽取】Entity-Relation Extraction as Multi-turn Question Answering(ACL2019)

【联合抽取】Entity-Relation Extraction as Multi-turn Question Answering(ACL2019)

论文地址:https://arxiv.org/abs/1905.05529v4
论文代码:https://github.com/ShannonAI/Entity-Relation-As-Multi-Turn-QA

Abstract

本文提出将关系抽取任务看作一个多轮QA问题,其中有以下的好处三个好处:

  • 问题序列(Query)能对重要的信息更好地编码;
  • QA能作为一个很自然的途径来联合实体和关系进行抽取;
  • 很好地利用MRC模型

本文使用地实验数据集:ACE04、ACE05、CoNLL04,在这三个语料集上,模型提升了49.4 (+1.0)、
60.2 (+0.6) 、 68.9 (+1.1)。另外新开发了中文数据集RESUME,该数据集需要多轮推断来组织实体之间地依赖,本文模型在该数据集上也有很好的效果。

Introduction

任务定义:从自由文本中抽取结构化的数据插入知识库。并且提供了一个例子:

【联合抽取】Entity-Relation Extraction as Multi-turn Question Answering(ACL2019)_第1张图片

上述例子中要提取四种不同的实体类型(Person, Company, Time 和 Position)、三种不同的关系类型(FOUND、FOUNDING-TIME 、 SERVING-ROLE),最后转换成结构的数据如Table 1。

现有模型的模型的一些问题:

  1. Formalization Level:**关系三元组不能充分地表达结构化数据。**以上述例子为例,在不同地tags之间有一定的层次依赖:
  • Time 和 Position:一个Person会在不同时期,在同一家公司担任不同的职位
  • Position 和 Company:一个Person也是可以在不同的Company就职。
  1. Algorithm Level:现有的SOTA方法123很难从文本中捕捉到词法(lexical)、语义(semantic)和句法(syntatic)特征,特别是碰到以下情况:
  • 实体距离金鳌园
  • 一个实体在多个三元组中出现
  • relation span and overlap (in text A B C D, (A, C) is a pair and (B, D) is a pair.)

因此,本文通过QA模板对实体和关系进行叙述,并且通过回答模板来抽取实体和关系。回答又是针对篇章级的,所以使用MRC任务的框架。4567。以下是例子:

【联合抽取】Entity-Relation Extraction as Multi-turn Question Answering(ACL2019)_第2张图片

把关系抽取任务作为都偶你QA任务的重大好处是:

  1. 更好地解决了层次依赖问题,这就有点像使用槽填充(slot-filling)的对话系统89.
  2. 问题序列更好地编码重要信息,解决了远程监督中实体对和关系范围重叠(span overlap)问题
  3. QA任务能够同时抽取实体和关系、MRC模型支持输出None类型的答案,那么就很自然地:如果一个问题返回了对应的答案,那么就是存在关系;如果没有,则是None类型。

为什么要创建新的数据集RESUME? 因为,ACE等数据集是为了关系三元组设计的,其中的关系最多经过两轮的QA就被抽取出来了。

Related Work

这部分重点讲一下MRC任务,主流MRC模型的答案都是从给定的文本中寻求答案。Text span extraction可以简化为两个多分类任务,如预测答案的开始和答案的末尾。一般的MRC策略可以扩展到多篇章的MRC任务,多篇章MRC又可以通过拼接段变成单篇章的MRC任务:首先对篇章进行排序,然后在选中的篇章上做MRC。

然后现在有一个大的趋势是很多非QA任务当作QA任务来处理。然后受1011的启发,我们把关系抽取任务看作一个多轮QA任务来处理。

Datasets and Tasks

首先就介绍了ACE04、ACE05、CoNLL04这几个数据集,然后分好类的数据集可以从https://github.com/tticoin/LSTM-ER/ 获得。但以上数据集是为了进行关系抽取而建立,最多两轮QA就可以将他们的信息抽取出来,并且没有层次化的实体关系。
所以提出新的RESUME语料集,该语料集从IPO的招股章程中选取841个段落而来,每个段落都描述执行官的工作经历。以下是例子以及语料的统计数据:

郑强先生,本公司监事,1973年出生,中国国籍,无境外永久居留权。1995年,毕业于南京大学经济管理专业;1995年至1998年,就职于江苏常州公路运输有限公司,任主办会计;1998年至2000年,就职于越秀会计师事务所,任项目经理;2000年至2010年,就职于国富浩华会计师事务所有限公司广东分所,历任项目经理、部门经理、合伙人及副主任会计师;2010年至2011年,就职于广东中科招商创业投资管理有限责任公司,任副总经理;2011年至今,任广东中广投资管理有限公司董事、总经理;2016年至今,任湛江中广创业投资有限公司董事、总经理;2016年3月至今,担任本公司监事.

【联合抽取】Entity-Relation Extraction as Multi-turn Question Answering(ACL2019)_第3张图片

其中主要分类以上四类实体,值得注意的是,一个人(Person)可以在不同时期(Time)在不同公司任职,也可以在不同时间在同一个公司(Company)任职不同岗位(Position)。

Model

System Overview

算法流程图如下:

【联合抽取】Entity-Relation Extraction as Multi-turn Question Answering(ACL2019)_第4张图片

算法大概分为两步:

  1. 头实体抽取(4-9行)

    多轮QA的每个阶段是通过一个实体进行触发。为了抽取开始的实体,我们将每个实体类型,使用EntityQuesTemplates(第四行)和实体e转换为一个问题,然后这个实体e是从问题的答案中抽取的。如果系统输出None标记,表明文本中无实体。

  2. 尾实体和关系抽取(10-24行)

    ChainOfRelTemplates定义了一系列的关系,我们需要遵循的顺序来运行多轮QA。因为一些实体的抽取依赖其他类型实体的抽取。因为不同实体之间还是存在依赖的,比如不同时间实体,同时抽取出来的岗位也是对应的。而抽取顺序则是手工预定义的。ChainOfRelTemplates为每个关系定义模板,每个模板包含许多待填槽值。为了能生成问题,我们需要插入之前抽取出来的实体到这些槽值中。而关系和尾实体会通过回答这些问题,联合地抽取出来。

    另外值得注意的是,头实体抽取步骤得到的不一定全部都是头实体,还有可能是None。

Generating Questions using Templates

不同类型的实体,通过模板,生成特定类型的问题。有两种基于模板生成问题的方法:

  1. natural language questions
    例子:对于Facility 类型,生成的问题可能是:Which facility is mentioned in the text
  2. pseudo-question
    例子:对于Facility类型,生成的可能只是:entity: facility

在关系和尾实体抽取中,一个问题的生成则要结合已经抽取出来的头实体类型,及其特定类型的模板。这样的问题则不属于上述两种情况。例子如下:

【联合抽取】Entity-Relation Extraction as Multi-turn Question Answering(ACL2019)_第5张图片

Extracting Answer Spans via MRC

许多MRC模型都已经被提出,如BiDAF12、QANet13。对于QA框架,我们使用BERT作为支撑。为了和BERT框架一致性,将Q和上下文C拼接到一个list: [CLS, Q, SEP, C, SEP]。

传统的MRC模型1415,通过在上下文上使用两个softmax层,来预测开始和结束位置的索引,但这种方式只适合简单回答抽取任务。但本文的设定是,一个句子或者段落可能会有多轮的回答。为了克服这样的问题,我们将任务看成一个 query-based的标注问题161718,在文本给定的序列的每个字,预测一个BMEO(beginning, inside, ending and outside)标签,这个标签是字表示通过一个softmax层后输出的。一方面可以认为是我们转化成了两个进行预测开始和结束位置的N分类问题(N表示句子长度)。

训练和测试方面,进行联合地训练两个步骤:

L = ( 1 − λ ) L ( h e a d e n t i t y ) + λ L ( t a i l e n t i t y , r e l ) \mathcal{L} = (1 - \lambda) \mathcal{L}(head entity) + \lambda \mathcal{L}(tail entity,rel) L=(1λ)L(headentity)+λL(tailentity,rel)

Reinforcement Learning

从一轮问答中提取答案,不仅仅影响它自己地精度,也会影响到后续的轮数。所以决定使用强化学习来解决,然后这方法已经在多轮对话生成证实好用192021

  1. Action 和 Policy
    在多轮QA中,Action就是在每一轮文本的范围;Policy则是定义选择给定问题和上下文所确定的范围的概率。但由于依赖上述BMEO标记输出,选择确定的范围 { w 1 , w 2 , … , w n } \{w_1,w_2,\dots,w_n\} {w1,w2,,wn} w 1 w_1 w1属于B的联合概率; w 2 , w 3 , … , w n − 1 w_2,w_3,\dots,w_{n-1} w2,w3,,wn1属于M的联合概率; w n w_n wn属于E的联合概率分布:

p ( y ( w 1 , … , w n ) = a n s w e r ∣ q u e s t i o n , s ) = p ( w 1 = B ) × p ( w n = E ) ∏ i ∈ [ 2 , n − 1 ] p ( w i = M ) p(y(w_1,\dots,w_n)=answer|question,s) = p(w_1=B) \times p(w_n=E) \prod_{i \in [2,n-1]} p(w_i=M) p(y(w1,,wn)=answerquestion,s)=p(w1=B)×p(wn=E)i[2,n1]p(wi=M)

  1. Reward
    对于句子s,我们使用正确检索三元组的数量作为奖励。使用REINFORCE 算法22,一种策略梯度方法来找到最优策略和找到最大化的奖励函数。策略和梯度的计算如下公式:

▽ E ( θ ) ≈ [ R ( w ) − b ] ▽ l o g π ( y ( w ) ∣ q u e s t i o n s ) \bigtriangledown E(\theta) \approx [R(w)-b] \bigtriangledown log \pi (y(w)|question s) E(θ)[R(w)b]logπ(y(w)questions)
其中b表示基线的值,每轮QA,正确回答则奖励+1,最后的奖励是多轮累积的结果。这个基线值是所有前面的奖励的平均。并且不初始化策略网络,而是使用预训练的头尾实体抽取模型来描述之前的部分。同时我们也使用了 experience replay strategy23:对于每个batch,一半的样本用于模拟,另一半从之前生成的样本随机生成。
对于RESUME语料,我们还采用了curriculum learning24,我们从2到4逐步提升训练的轮数。

Experimental Results

有图有真相

【联合抽取】Entity-Relation Extraction as Multi-turn Question Answering(ACL2019)_第6张图片

【联合抽取】Entity-Relation Extraction as Multi-turn Question Answering(ACL2019)_第7张图片


  1. Makoto Miwa and Mohit Bansal. 2016. End-to-end relation extraction using lstms on sequences and tree structures. arXiv preprint arXiv:1601.00770 ↩︎

  2. Linlin Wang, Zhu Cao, Gerard de Melo, and Zhiyuan Liu. 2016a. Relation classification via multi-level attention cnns. ↩︎

  3. Hai Ye, Wenhan Chao, Zhunchen Luo, and Zhoujun Li. 2016. Jointly extracting relations with class ties via effective deep ranking. arXiv preprint arXiv:1612.07602. ↩︎

  4. Minjoon Seo, Aniruddha Kembhavi, Ali Farhadi, and Hannaneh Hajishirzi. 2016. Bidirectional attention flow for machine comprehension. arXiv preprint arXiv:1611.01603. ↩︎

  5. Shuohang Wang and Jing Jiang. 2016. Machine comprehension using match-lstm and answer pointer. arXiv preprint arXiv:1608.07905. ↩︎

  6. Caiming Xiong, Victor Zhong, and Richard Socher. 2017. Dcn+: Mixed objective and deep residual coattention for question answering. arXiv preprint arXiv:1711.00106. ↩︎

  7. Zhiguo Wang, Haitao Mi, Wael Hamza, and Radu Florian. 2016b. Multi-perspective context matching for machine comprehension. arXiv preprint arXiv:1612.04211. ↩︎

  8. Jason D Williams and Steve Young. 2005. Scaling up pomdps for dialog management: The“summary pomdp”method. In IEEE Workshop on Automatic Speech Recognition and Understanding, 2005., pages 177–182. IEEE. ↩︎

  9. Oliver Lemon, Kallirroi Georgila, James Henderson, and Matthew Stuttle. 2006. An isu dialogue system exhibiting reinforcement learning of dialogue policies: generic slot-filling in the talk in-car system. In Proceedings of the Eleventh Conference of the European Chapter of the Association for Computational Linguistics: Posters & Demonstrations, pages 119– 122. Association for Computational Linguistics. ↩︎

  10. Omer Levy, Minjoon Seo, Eunsol Choi, and Luke Zettlemoyer. 2017. Zero-shot relation extraction via reading comprehension. arXiv preprint arXiv:1706.04115 ↩︎

  11. Bryan McCann, Nitish Shirish Keskar, Caiming Xiong, and Richard Socher. 2018. The natural language decathlon: Multitask learning as question answering. arXiv preprint arXiv:1806.08730. ↩︎

  12. Minjoon Seo, Aniruddha Kembhavi, Ali Farhadi, and Hannaneh Hajishirzi. 2016. Bidirectional attention flow for machine comprehension. arXiv preprint arXiv:1611.01603. ↩︎

  13. Adams Wei Yu, David Dohan, Minh-Thang Luong, Rui Zhao, Kai Chen, Mohammad Norouzi, and Quoc V Le. 2018. Qanet: Combining local convolution with global self-attention for reading comprehension. arXiv preprint arXiv:1804.095 ↩︎

  14. Shuohang Wang and Jing Jiang. 2016. Machine comprehension using match-lstm and answer pointer. arXiv preprint arXiv:1608.07905 ↩︎

  15. Caiming Xiong, Victor Zhong, and Richard Socher. 2017. Dcn+: Mixed objective and deep residual coattention for question answering. arXiv preprint arXiv:1711.00106. ↩︎

  16. John Lafferty, Andrew McCallum, and Fernando CN Pereira. 2001. Conditional random fields: Probabilistic models for segmenting and labeling sequence data. ↩︎

  17. Zhiheng Huang, Wei Xu, and Kai Yu. 2015. Bidirectional lstm-crf models for sequence tagging. arXiv preprint arXiv:1508.01991 ↩︎

  18. Xuezhe Ma and Eduard Hovy. 2016. End-to-end sequence labeling via bi-directional lstm-cnns-crf. arXiv preprint arXiv:1603.01354. ↩︎

  19. Nikola Mrkˇsi´c, Diarmuid O S´eaghdha, Blaise Thomson, Milica Gaˇsi´c, Pei-Hao Su, David Vandyke, Tsung-Hsien Wen, and Steve Young. 2015. Multidomain dialog state tracking using recurrent neural networks. arXiv preprint arXiv:1506.07190 ↩︎

  20. Jiwei Li, Alexander H Miller, Sumit Chopra, Marc’Aurelio Ranzato, and Jason Weston. 2016. Dialogue learning with human-in-the-loop. arXiv preprint arXiv:1611.09823. ↩︎

  21. Tsung-Hsien Wen, David Vandyke, Nikola Mrksic, Milica Gasic, Lina M Rojas-Barahona, Pei-Hao Su, Stefan Ultes, and Steve Young. 2016. A networkbased end-to-end trainable task-oriented dialogue system. arXiv preprint arXiv:1604.04562. ↩︎

  22. Ronald J Williams. 1992. Simple statistical gradientfollowing algorithms for connectionist reinforcement learning. Machine learning, 8(3-4):229–256. ↩︎

  23. Volodymyr Mnih, Koray Kavukcuoglu, David Silver, Andrei A Rusu, Joel Veness, Marc G Bellemare, Alex Graves, Martin Riedmiller, Andreas K Fidjeland, Georg Ostrovski, et al. 2015. Human-level control through deep reinforcement learning. Nature, 518(7540):529. ↩︎

  24. Yoshua Bengio, J´er ˆome Louradour, Ronan Collobert, and Jason Weston. 2009. Curriculum learning. In Proceedings of the 26th annual international conference on machine learning, pages 41–48. ACM ↩︎

你可能感兴趣的:(关系抽取,机器学习,自然语言处理)