论文笔记 Entity-Relation Extraction as Multi-turn Question Answering | ACL2019

论文链接:https://arxiv.org/pdf/1905.05529.pdf

论文作者:

  • Xiaoya Li1 , Fan Yin1 , Zijun Sun1 , Xiayu Li1 Arianna Yuan1,2 , Duo Chai1 , Mingxin Zhou1 and Jiwei Li1
  • 1 Shannon.AI
  • 2 Computer Science Department, Stanford University

该论文是香侬科技发表在ACL2019上的一篇文章,主要思想是将实体-关系提取任务转换为多轮问答任务

文章中指出多轮问答形式具有以下几个优点:

  1. 问题查询对我们想要识别出的实体、关系类别编码了重要信息;

  2. 问答为实体和关系联合建模提供了一种自然的方法;

  3. 能使我们很好的运用机器阅读理解(MRC)模型。

作者在ACE、CoNLL04语料上进行了实验,证明了所提出的方法比先前的SOTA模型表现要好。

另外,作者构建了新开发的中文数据集RESUME,这需要多步推理构建实体依赖,与先前数据集的三元组提取中的单步依赖提取相反。提出的多轮QA模型在RESUME上也达到了最好的性能。

介绍

实体-关系提取的目标就是将给定文本转化为结构化知识库

例如,给定以下文本:

扫描二维码关注公众号,回复: 11740851 查看本文章

   In 2002, Musk founded SpaceX, an aerospace manufacturer and space transport services Company, of which he is CEO and lead designer. He helped fund Tesla, Inc., an electric vehicle and solar panel manufacturer, in 2003, and became its CEO and product architect. In 2006, he inspired the creation of SolarCity, a solar energy services Company, and operates as its chairman. In 2016, he co-founded Neuralink, a neurotechnology Company focused on developing brain–computer interfaces, and is its CEO. In 2016, Musk founded The Boring Company, an infrastructure and tunnel construction Company.

我们需要提取 Person, Company, Time, Position 这四类实体以及 FOUND, FOUNDING-TIME, SERVING-ROLE 这三类关系,Table1 展示了由文本转化来的结构化数据。

现有的大多模型都是通过从文本中提取三元组列表来完成该任务的,也就是提取 REL(e1, e2) ,这代表e1、e2之间的关系为REL。

先前模型主要分为两类:

  1. pipeline:这种方法先用tagging模型识别出实体,再用关系提取模型识别每一个实体对之间的关系;
  2. joint:通过约束或参数共享等策略将实体和关系模型结合起来。

但在任务形式和算法上都存在一些关键问题。

在形式化方面,REL(e1, e2)三元组结构并不能完全在文本上表达数据结构,以 Musk 为例,在 tags 之间有层次依赖,时间的提取取决于职位,因为一个人可以在不同的时间段内在公司中担任多个职位;职位的提取要取决于公司,因为一个人可以为多个公司工作。

在算法方面,对于大多数现有的关系-提取模型,模型的输入是具有两个标记过实体提及的原始句子,输出是两个实体提及之间是否存在关系。在这种形式中,捕捉所有的词汇、语义、句法线索对于神经模型来说是困难的,尤其是在(1)实体离得太远;(2)一个实体涉及在多个三元组中;(3)关系跨度有重叠的情况下。

在本论文中,我们将实体-关系提取任务形式化为一个多轮问答任务:每一个实体类型和关系类型都被一个问答模板特征化,通过回答模板问题来提取实体和关系,答案是文本跨度,使用现有的标准机器阅读理解(MRC)框架来提取。为了提取 Table1 那样的结构化数据,模型需要按顺序回答下列问题:

文中指出,把实体-关系提取任务看作多轮QA任务具有如下优点:(1)多轮QA设置提供了一种可以捕捉tags之间层次依赖的方法。随着多轮QA进程,我们可以逐步获得下一轮需要的实体; (2)问题查询对于我们想要识别的关系类别编码了重要的先验信息。这种信息可以潜在的解决现有的关系提取模型所不能解决的问题,比如分隔很远的实体对,关系跨度重叠等等;(3)QA框架提供了同时提取实体和关系的一种自然方式:大多数 MRC 模型支持输出特殊的NONE,表示问题没有答案。通过这个,原始的两个任务,实体提取和关系提取可以被合并为一个单一的QA任务:如果与该关系相对应的问题的返回答案不是NONE,则该关系成立,并且返回答案是我们希望提取的实体。

数据和任务

ACE04,ACE05 and CoNLL04

ACE04定义了7个实体类别:Person (PER), Organization (ORG), Geographical Entities (GPE), Location (loc), Facility (FAC), Weapon (WEA), Vehicle (VEH)。7个关系类别:Physical (PHYS), Person-Social (PERSOC), Employment-Organization (EMP-ORG), Agent-Artifact (ART), PER/ORG Affiliation (OTHER-AFF), GPE- Affiliation (GPE-AFF), Discourse (DISC).

ACE05保留了ACE04的PER-SOC, ART, GPE-AFF,把PHYS划分为了PHYS和新的关系类别PART-WHOLE,删除了DISC ,把EMP-ORG和OTHER-AFF合并为新的类别EMP-ORG。

在CoNLL04中,预定义了四个实体类别(LOC, ORG, PER, OTHERS) ,5个关系类别(LOCATED IN, WORK FOR, ORGBASED IN, LIVE IN ]and KILL)。

RESUME(新构建的数据集)

数据集是从IPO prospectuses中描述管理团队的章节中提取的841个段落,每一段落描述一个管理人员的一些工作经历。我们想要从这个简历中提取结构化数据。该数据集为中文数据集。下面给出一个例子:

1973中国国籍1995业于南专业19951998,就职运输任主办会计19982000事务所20002010于国富广, 历任主任会计20102011广东中科招商经理;2011广东中广公司董2016广创业投20163至今,事。

Mr. Zheng Qiang, a supervisor of the Company. He was born in 1973. His nationality is Chinese with no permanent residency abroad. He graduated from Nanjing University with a major in economic management in 1995. From 1995 to 1998, he worked for Jiangsu Changzhou Road Transportation Co., Ltd. as an organizer of accounting. From 1998 to 2000, he worked as a project manager in Yuexiu Certifified Public Accountants. In 2010, he worked in the Guangdong branch of Guofu Haohua Certifified Public Accountants Co.,Ltd., and served as a project manager, department manager, partner and deputy chief accountant. From 2010 to 2011, he worked for Guangdong Zhongke Investment Venture Capital Management Co., Ltd. as a deputy general manager; since 2011, he has served as thedirector and general manager of Guangdong Zhongguang Invest-ment Management Co., Ltd.; since 2016, he has served as director and general manager of Zhanjiang Zhongguang Venture Capital Co., Ltd.; since March 2016, he has served as the supervisor of the Company.

我们从上边的文本识别4个实体类型:Person, Company, Positon, Time。值得注意的是,一个人可以在不同时间段为不同公司工作,在同一个公司不同时段可以担任不同职位。

该数据集的统计信息如 Table2 所示,我们将数据集随机划分为训练集,验证集和测试集(8:1:1)

模型

系统概述

下图 Algorithm1 为该论文所提方法的算法,包含两个阶段:

(1)头实体提取阶段(4-9行):多轮QA的每一步都由一个实体触发,为了提取开始的实体,我们使用EntityQuesTemplates将每个实体类型转化为一个问题(第4行),并通过回答问题来提取实体e(第5行)。如果我们的系统输出了NONE,这就意味着s不包含那个类型的任何实体。

(2)关系和尾实体提取阶段(10-24行):ChainOfRelTemplates定义了一个关系链,我们需要遵循这个顺序去执行我们的多轮QA,因为一些实体的提取依赖其他实体的提取。比如,在RESUME中,一个管理人员的职位由他所在的公司决定。时间实体的提取依赖于公司和职位。提取顺序是手工预定义的。ChainOfRelTemplates还定义了每一个关系的模板,每个模板包含一些要填充的slots。为了生成问题(14行),我们将先前提取到的实体插入到模板的slot部分。通过回答生成的问题(15行),我们可以联合提取关系REL和尾实体e。返回的NONE值代表给定句子中没有答案。

需要注意的是,从头实体提取阶段提取的实体可能不全是头实体。在后续的关系和尾实体提取阶段,从第一阶段提取的实体最初假定为头实体,然后喂到模板中生成问题。如果从第一阶段提取的实体e确实是一个关系的头实体,那么QA模型将会通过回答相应的问题提取尾实体。否则,得到的答案会是NONE,被忽视掉。

通过MRC提取答案跨度

在标准MRC设置中,给定一个问题Q = { q1, q2, ..., qNq } ,上下文C = { c1, c2, ..., cNc }, Nq 指的是Q中的单词数, Nc指的是C中的单词数,我们需要预测答案跨度。对于QA框架,我们使用 BERT 作为 backbone。为了与 BERT 框架对齐,我们将问题Q与上下文C拼接成列表[CLS, Q, SEP, C, SEP]的形式,CLS 与 SEP 是特殊 token。每一个上下文token的表达都是使用多层transformer获得的。

传统MRC模型预测开始和结束索引是在上下文tokens上使用两个softmax层得到的。但是基于softmax的跨度提取策略仅适用于一个答案的提取任务,不适于我们的任务,在我们的设置中,一个句子/段落可能包含多个答案。为了解决这个问题,我们将任务形式化为一个基于查询的tagging问题。给定一个查询,我们为上下文的每一个token预测一个BMEO label,BMEO(beginning, inside, ending and outside)。每个单词表达被喂到softmax层后输出一个BMEO label。可以认为我们把预测开始和结束索引的两个N分类任务(N代表句子长度)转化为了N个5分类任务。

训练和测试

在训练阶段,我们联合训练两个阶段的目标:

参数 λ 的范围在0-1之间,用来权衡两个目标,参数在验证集上调整。这两个模型都使用标准BERT模型来初始化并在训练期间共享参数。在测试阶段,头实体和尾实体分别基于两个目标提取。

强化学习

在我们的设置中,从一轮提取出的答案不仅会影响它自己的准确率,也决定了后几轮的问题如何构建,进而对之后的准确率也会产生影响,我们使用强化学习去解决这个问题。

Action and Policy

在我们的强化学习设置中,我们需要定义action 和 policy。在多轮QA设置中,action就是在每一轮中选择一个文本跨度,policy定义了在给定问题和上下文的条件下,选择一个确定跨度的概率。因为算法依赖BMEO tagging输出,选择一个确定跨度{ w1, w2, ..., wn}的概率就是w1被分配为B,w2到wn-1被分配为M,wn被分配为E的联合概率,如下:

Reward

对于给定句子s,我们使用正确检索到的三元组数目作为rewards。我们使用一种策略梯度方法REINFORCE算法,来找到可以最大化期望收益Eπ[R(w)]的最佳策略。期望值是通过从策略π采样来近似的,并使用似然比来计算梯度:

这里的b代表基值。对多轮QA设置中的每一轮,得到一个正确答案导致一个+1的reward。最后的reward是所有轮积累的reward。基值设为先前所有轮的平均值。我们并不从头初始化策略网络,而是用先前小节中描述的预训练的头实体和尾实体提取模型。我们还使用了经验重播策略(Mnih等人,2015):对于每个batch,将模拟一半示例,另一半是从先前生成的示例中随机选择的。

对于RESUME数据集,我们使用curriculum learning策略,也就是说,我们在训练过程中从2到4逐渐增加turns的数量。

实验结果

在RESUME上的结果

我们根据 Person(第一轮), Company(第二轮), Position(第三轮), Time(第四轮) 的顺序提取答案,每一个答案的提取还依赖于它们前面的部分。

对于baselines,我们首先实现一个实体提取和关系提取一起训练的联合模型(tagging+relation),通过BERT tagging模型提取实体,并通过将CNN应用于BERT transformers输出的表示来提取关系。

现有的涉及实体和关系识别阶段(pipeline或joint)的baselines很适合三元组提取,但是并不适用于我们的设置,因为在三四轮的时候,我们需要更多信息决定关系而不仅仅是两个实体。比如,要提取positon,我们需要person和company,要提取time,我们需要person,company和position,这与依赖解析任务类似,因此我们提出下边的baseline,将先前的entity+relation调整为entity+dependency,记为tagging+dependency。我们使用BERT tagging模型为每一个单词分配一个tagging label,并将当前的SOTA依赖解析模型Biaffine调整为构建tags之间的依赖。Biaffine依赖模型和实体提取模型被联合训练。

Table5展示了结果,我们可以看到,tagging+dependency模型要比tagging+relation模型表现要好。提出的多轮QA模型表现最好,加上强化学习后表现更佳。对于仅需要单轮QA提取的Person来说,多轮QA+RL模型与多轮QA模型表现一样,在tagging+relation与tagging+dependency中也是如此。

在ACE04,ACE05和CoNLL04上的结果

对于ACE04,ACE05和CoNLL04,只需要两轮QA。我们使用micro-F1 scores,precision和recall在实体和关系上评估。结果分别展示在下边的Table6,Table7,Table8中。

对于ACE04,多轮QA模型相比于先前的SOTA模型在实体和关系提取上分别提升了1.8%和1.0%;对于ACE05,多轮QA模型相比于先前的SOTA模型在实体和关系提取上分别提升了1.2%和0.6%;对于CoNLL04,多轮QA模型相比于先前的SOTA模型在关系提取上有1.1%的提升。

消融研究

问题生成策略的影响

我们对自然语言问题和伪问题的影响做了比较,结果如Table9所示。

我们可以看到自然语言问题使得在所有数据集上的F1值都得到了提升。这是因为自然语言问题提供了细粒度的语义信息,有助于实体/关系提取。相比之下,伪问题为实体和关系提取提供了粗粒度、模糊和隐式提示,甚至可能会使模型混乱。

联合训练的影响

我们将实体关系提取任务分解为两个子任务:头实体提取的多答案任务、关系和尾实体联合提取的单答案任务。通过共享参数联合训练两个模型,参数λ控制两个子任务之间的均衡。

我们在ACE05数据集上进行实验,λ取不同值时的结果如下:

当λ为0时,本质上只有头实体预测任务被训练,有趣的是,此时实体提取的表现并不是最好的,这证明了第二阶段的关系提取对第一阶段的实体提取确实有所帮助,再次证明了将两个子任务一起考虑的必要性。对于关系提取,λ取0.7时表现最好。

案例研究

Table10比较了多轮AQ模型与先前SOTA模型之一的MRT的输出。在第一个例子中,MRT没能识别出 john scottsdale 和 iraq 之间的关系,因为两个实体离得太远,但我们提出的QA模型可以解决这个问题。在第二个例子中,句子包含两对相同的关系,MRT很难识别处理这种情况,不能定位ship实体以及和它相关的关系,多轮QA模型可以处理这种情况。

总结

在本文中,我们为实体关系提取任务提出了一个多轮QA方法。在三个benchmark数据集上都得到了SOTA结果,我们还构建了一个需要层次关系推理的新数据集,并且提出的模型也实现了最好的性能。

 

猜你喜欢

转载自blog.csdn.net/weixin_41297561/article/details/108101793