TASLP2021-Reinforcement Learning-based Dialogue Guided Event Extraction to Exploit Argument Relations
论文:https://arxiv.org/abs/2106.12384
代码:https://github.com/xiaoqian19940510/TASLP-EAREE
期刊/会议:TASLP2021
摘要
事件抽取是自然语言处理的一项基本任务。找到事件论元(如事件参与者)的角色对于事件抽取至关重要。然而,对于现实生活中的事件描述来说,这样做是很有挑战性的,因为一个论元的作用往往在不同的背景下有所不同。虽然多个论元之间的关系和交互对于确定论元角色很有用,但现有方法在很大程度上忽略了这些信息。本文通过显式地利用事件论元的关系,提出了一种更好的事件抽取方法。我们通过精心设计的以任务为导向的对话系统来实现这一目标。为了对论元关系进行建模,我们采用强化学习和增量学习,通过多次迭代过程抽取多个论元。我们的方法利用已经抽取的同一句子的论元的知识来确定难以单独决定的论元的作用。然后,它使用新获得的信息来改进先前抽取的论元的决策。这种双向反馈过程使我们能够利用论元关系来有效地确定论元角色,从而更好地理解句子和抽取事件。实验结果表明,在事件分类、论元角色和论元识别方面,我们的方法始终优于七种最先进的事件抽取方法。
1、简介
事件抽取的目的是抽取每一个事件对应的所有论元及其对应的论元角色。这样做的话存在一个巨大挑战,一个事件经常会存在多个论元,它们的角色在不同文本中可能是不一样的。如图1中的troops所示,其在三个句子中扮演了不同的论元角色。
关键见解是,与一个事件相关的多个论元通常是强相关的。还是如图1所示,在S1中可以通过use和weapons,来对troops进行预测,提高了预测的准确率。论元之间的关系是非常有利于事件的抽取,很多工作却忽视了这种关系。先前的工作都是同时抽取论元,或者按照顺序抽取排序的论元,都没有考虑论元抽取的顺序影响。
如图2所示,本文在面向人物的对话系统中制定事件抽取任务。将事件抽取任务转化为槽填充任务,从输入句子中抽取相关的论元及其对应的角色。为此,开发了一个具有两个代理的多回合对话系统,以迭代地解决槽填充问题。在每个回合中,一个代理选择一个论元角色,并通过对话生成器生成一个查询。这种迭代生成和回答范式使我们能够在抽取当前论元时引入从先前回合中获得的知识。虽然我们的多回合对话系统提供了潜在的强大事件抽取功能,但只有以正确的顺序处理论元,它的潜力才能完全释放。由于我们抽取论元并通过利用从先前抽取的论元中获得的知识按顺序确定它们的作用,因此论元抽取的顺序至关重要。理想情况下,我们希望从事件论元开始,这些论元的作用可能会使用已经抽取的信息准确决定,一旦我们从其他论元那里获得了足够的信息,就把更具挑战性的论元留到后面。
我们通过使用强化学习(RL)对论元进行排序,以最佳地利用论元关系,来应对论元抽取顺序的挑战。为了让RL能够在潜在的大问题空间中导航,我们需要找到目标句子中每个单词的正确表示,并使用该表示来预测每个论元的开始和结束位置。为此,我们使用基于词典的图注意力网络和基于事件的BERT模型从语义和上下文两个角度学习单词表示。然后,我们利用学习到的表示来确定抽取哪个论元以及以什么顺序抽取。我们进一步设计了一种增量学习策略,通过跨回合不断更新事件表示,将论元关系迭代地纳入多回合事件抽取过程。通过这样做,随着论元抽取过程的进行,表示变得越来越准确,这反过来又提高了生成的论元和事件抽取的质量。
本文主要的贡献:
- 开发一个多回合、面向任务的对话引导事件抽取框架,旨在为特定的论元角色填充从输入文本中抽取的论元。
- 使用强化学习去排序论元抽取的次序,并利用论元相关性去事件抽取。
- 在增量学习框架下,利用基于词典的图形注意力网络和基于事件的BERT来学习单词表示,以便进行事件抽取。
2、事件抽取框架
图3概述了我们的框架,该框架由三个组成部分组成,用于(1)双视角事件表示,(2)排序论元抽取和(3)事件分类。论元抽取模块基于事件类型和所选择的预测论元自动生成对话。所选择的论元是通过增量事件学习方法产生的,以添加伪标签作为训练数据,并将伪关系附加到字典化图。伪标签是由我们的排序论元抽取模型预测的论元。伪关系是预测论元的论元角色。
我们通过在事件类型的预测论元中添加一条边来添加伪边,以使用现有的预测结果更新单词表示。它将句子和事件类型作为输入。事件分类模块检测输入句子是否为事件,并对文本所属的事件类型进行分类。我们设计了一个多任务学习模块来计算两个任务的组合损失,以克服事件类型不平衡导致的低召回率。对于不同的事件类型,设计了不同的事件模式,用于根据模式抽取不同的论元。我们的框架首先是使用少量标记数据离线训练的。为了扩展训练数据,我们设计了一个对话生成模块,为每个触发词或论元生成多个问答对,以增强数据。然后可以应用经过训练的模型来抽取事件类型和相关联的事件论元。
在训练阶段,基于强化学习的、对话引导的论元抽取模型学习如何通过将目标句子和事件类型的标签作为输入来抽取事件论元。我们的框架将首先根据事件类型和句子学习几轮会话论元抽取,并根据事件论元训练事件分类模型。在每一轮中,预测的论元被提供为基于词典的图中的伪关系和增量事件学习方法所使用的基于事件的BERT的角色嵌入中的伪标签。它通过添加伪论元知识来更新文本表示。然后训练事件分类模型以使用由事件抽取模块提供的伪关系知识来预测事件类型。
在部署过程中,我们在迭代过程中使用经过训练的模型来执行事件抽取。我们将首先用事件分类模型预测事件类型,然后根据预测的事件类型实现论元抽取。因此,该模型最终会运行所有预测的事件类型。为此,我们首先使用事件分类模型来预测没有伪标签和关系的事件类型。接下来,我们使用论元抽取模型来识别与预测的事件类型相关联的所有论元。然后,我们返回,再次要求事件分类模块使用论元抽取模型抽取的伪标签和论元关系来更新事件类型。这个两阶段迭代过程使用预测的事件类型来抽取论元,抽取的信息有助于事件分类模型改进其预测。
2.1 双视角事件表示
我们的论元抽取管道的第一步是学习用于论元选择的表示(或嵌入)。我们首先构建了一个基于词典的图,从中我们学习了单个单词的基于词典的表示。然后,我们在句子层次上学习多个单词的上下文表示。然后,我们使用基于词典的的图注意力网络和基于事件的BERT模型,从语法和上下文两个层面去学习词表示。
基于词典的表示:基于词法的图神经网络已被设计用于节点分类任务,被证明是学习全局语义的有效方法。因此,我们使用词汇知识来连接捕获局部成分的字符,并使用全局中继节点来捕获长程依赖。
我们将句子转换为有向图(如图4所示),其中每个单词都表示为图节点,图边表示五种关系之一:词汇中的单词;词典对词典;中继节点,所述中继节点连接到所有节点;共现词;以及事件的论元之间的伪关系。第一个单词按顺序连接短语中的单词,直到最后一个单词。第二个是在短语之间创建一条线,即当前短语的最后一个单词与后一个短语相连,每条边代表可能存在的单词的潜在特征。我们还使用中继节点作为虚拟集线器,它连接到所有其他节点。它收集了所有边缘和节点的信息,消除了单词之间的边界歧义,并学习了长期依赖性。因此,中继节点的表示可以被视为句子的表示。第四条边通过连接事件中预测的论元来表示伪论元关系。最后一个是计算语料库中滑动窗口内单词的共现概率。边缘权重是通过逐点互信息(PMI)来测量的:
2.2 论元抽取排序
给定事件类型,我们的论元抽取组件旨在通过对论元抽取顺序进行排序并利用历史对话内容来生成高质量的对话内容。它由四个主要模块组成:对话生成、论元抽取、增量事件学习和基于强化学习的对话管理。对话引导的论元抽取模型通过输入实际事件类型和文本来自动抽取论元。增量事件学习模块然后添加伪标签作为训练数据,并将伪关系附加到基于词典的图中。在生成目标句子的事件表示后,我们遵循对话引导的策略进行论元抽取。具体而言,代理A使用问题集来生成关于事件或所选论元的查询(或问题)(例如,“事件X的触发词是什么?”)。然后,代理B通过预测论元角色或事件类型来回答查询。根据答案,代理A将在下一轮论元抽取中生成一个新的查询。该迭代过程由基于RL的对话管理系统驱动,旨在优化论元抽取的顺序。代理B给出的答案也将被输入后面描述的增量事件学习模块,以更新之前的答案,用于下一轮的论元抽取。稍后在表III中,我们给出了由我们的方法产生的对话示例。自动生成的对话会产生额外的信息,以便在下一轮论元抽取过程中使用。我们的方法非常灵活,允许通过用领域知识填充问题集,将事件抽取框架定制到特定的领域。
对话生成:我们的对话生成模块使用两个代理(A和B)通过一系列问答对话来帮助事件抽取。这里,代理A根据当前处理的角色生成对话内容。对于每个当前角色,它生成一个问题集[7],以创建更多用于论元抽取的训练数据。例如,当代理A的目标是为论元角色“Instrument”生成对话时,我们选择一个预先设计的问题集模板来生成对话。我们所需要做的就是为给定的模板填充论元角色。代理A生成由当前论元角色和已抽取的论元组成的混合内容。然后,代理B生成内容,包括由论元抽取给出的预测论元(在下一段中描述)。然后将预测的论元输入到代理A中,以生成用于下一轮论元抽取的新对话。与代理A类似,代理B也提供了一个对话框内容生成模板,并且只需要用预测的论元填充该模板。如果预测的论元满足置信度条件,则它将是代理A的内容的一部分。代理B的内容也将被馈送到稍后描述的增量事件学习模块中,以添加高置信度结果,用于下一轮论元抽取。
增量学习:我们的增量论元学习模块试图合并在当前论元抽取回合中获得的信息,以在下一回合中抽取新的论元。我们通过将其奖励(由RL评估)大于可配置阈值的抽取的论元角色(即伪标签)添加到输入文本来提供用于抽取新论元的附加信息。我们还添加了一个新的边(即伪关系)来连接事件的基于词典的图中抽取的论元,这样我们就可以更新下一轮对话中使用的词典表示。
基于强化学习的对话系统:在迭代、对话引导的论元抽取过程中,我们使用RL来优化论元抽取顺序。
对话行动。对话引导的事件抽取方法将动作定义为一组事件模式和论元。这表明强化学习算法需要确定从当前论元到下一个论元的论元角色。与以前的基于强化学习的方法不同,我们设计了两个具有不同行动空间的智能体。对于代理A,动作a A 是事件架构中的一个角色,这是代理A的动作。对于代理B,动作a B 是论元,它是代理B的动作。但必须确定当前对话回合的事件类型是否需要转换为下一个事件类型。这意味着我们的方法可以很好地确定事件类型的变化。
可以使用奖励信号来有效地优化策略代理。请注意,我们在最后一轮中同时识别奖励小于阈值的所有剩余论元,以避免错误传播。我们模型中的阈值是0.75。
2.3 事件分类
事件分类检测输入句子是否是事件,并对句子所属的事件类型进行分类。每个句子被输入到基于词典的图神经网络模型和基于事件的BERT模型中,以分别学习句子的全局知识和上下文知识。事件分类模型通过添加伪论元关系知识来检测句子中包含哪些类型的事件。如果语句不包含事件,则输出NULL,并且不执行后续模块。使得其能够区分预测误差。
我们使用全连接层去计算上下文感知话语表示y i :
y i = RELU ( W ( L T i ⊕ S T i ) + b ) (15)
其中W 和b是可训练的参数,而⊕ 表示向量串联运算。对于事件分类子任务,使用ReLU激活来加强稀疏性。为了提高事件分类性能,我们设计了一个额外的任务来预测事件类型的数量。我们的多任务事件分类模型计算两个任务的组合损失,以克服事件类型失衡导致的低召回率。
触发词识别:现有的事件分类是基于触发词识别来识别事件类型的,但我们的方法是直接根据输入语句来识别事件的类型。因此,当我们评估触发词分类的性能时,我们使用在前面的排序论元抽取的中预测的触发词。我们将预测的触发词和输入句子连接起来,对事件类型进行分类。
事件分类的多任务联合损失:多任务联合损失函数估计预测结果和真实值之间的差异。我们设计了两个任务来学习预测误差之间的区别。对于事件分类任务,我们使用交叉熵损失函数,定义为:
3、实验
实验结果:
消融实验:
4、总结
我们提出了一种利用事件论元关系进行事件抽取的新方法。我们在一个面向任务的对话指导框架内解决这个问题,该框架旨在抽取事件。我们的框架是由强化学习驱动的。我们使用RL来决定抽取句子论元的顺序,旨在最大限度地提高成功推断论元角色的可能性。然后,我们利用已经抽取的论元来帮助解决那些难以通过孤立地考虑论元来解决其角色的论元。我们的多回合事件抽取过程还使用新获得的论元信息来更新先前抽取的论元的决策。这种双向反馈过程使我们能够利用事件论元之间的关系,对自变量在不同文本上下文中的作用进行分类。我们在ACE 2005数据集上评估了我们的方法,并与之前的7种事件抽取方法进行了比较。实验结果表明,我们的方法可以增强事件抽取,在大多数任务中都优于竞争方法。未来,我们计划通过引入常识知识来改进对话引导的事件抽取的多语义表示。