Event Extraction as Machine Reading Comprehension阅读笔记

Motivation

  • 很多研究忽视了事件抽取和阅读理解之间的关系
  • 之前的使用阅读理解的工作都有监督地手动设计问题模板

本文的方法制造的模板与上下文相关

Approach

Trigger extraction

因为trigger word一般是动词,不好设计问题,因此使用一个特殊标记[EVENT]来表示需要查找trigger word。

将带有[EVENT]标记的序列通过编码器,得到每个token的向量表示,通过一个分类器得到各个类别的概率\(p(l|c_i) = o_{c_i}^l\)\(c_i\)表示Token,\(o\)表示token向量,\(l\)为事件类型。

无监督问题生成

假设每个问题由两部分组成:query topic和question-style event statement。

  • query topic generation
    • 以模板的方式定义每个argument对应的wh- word,如victim用“who”
  • 剩余部分称为Question Contextualization
    • 将其视为一个无监督的翻译任务,目标是将一个描述性句子映射为疑问性句子(也可以视为风格迁移)
    • 首先构造对应于这个翻译任务的数据集。作者从wiki和QA网站收集了大量的未对齐的问题和陈述语句。限制所有的陈述语句都是关于一个动词的窗口,并去掉所有问题语句的疑问部分(wh- word)。
    • 构建从疑问句到陈述句和从陈述句到疑问句的两个模型,每个模型都有编码器和解码器。
    • 训练使用了
      • In-domain auto-encoding
      • De-noising auto-encoding
      • Cross-domain online-back translation
    • 预测时选择对应陈述概率最大的疑问句部分,和之前的wh-短语连接起来,就完成了问题的生成

Event Argument Extraction

将问题表示为\(q={q_1,\dots,q_m}\),输入序列表示为\([CLS]q[SEP]c\),另外考虑到问题和描述中的公共部分可能表达和事件有关的信息,因此引入2个新的向量表示这个单词是否在\(q,c\)中均出现。

\[p_{w_i} = \left \{ \begin{matrix} p_{sh} \in \mathbb{R}^{d_1} & \text{ if } w_i \text{ shared by }q \text{ and } c\\ p_{no} \in \mathbb{R}^{d_2} & \text{otherwise} \end{matrix} \right . \]

从BERT的最后一层得到编码向量\(H_c^q\)

Adaptive Argument Generation

计算每一个token是否属于argument的开始或结尾。

\[p_{start} = \text{softmax} (H_c^q W_{start})\\ p_{end} = \text{softmax} (H_c^q W_{end}) \]

由于问题可能没有答案,因此,使用\([SEP]\)对应的位置来表示是否是“no-answer”,只有当start+end的分数和大于CLS位置的分数,才认为start到end是合法的span。

Comment

问题生成部分认为解释比较抽象,包含如“如何将role的信息引入到问题生成中;如何对其问题和答案”等疑问。需要进一步看代码才能理解。

posted @ 2022-09-09 16:18  TABball  阅读(94)  评论(0编辑  收藏  举报