A Survey of Open Domain Event Extraction


[TOC]

0. 摘要

为了从无结构的文本语料库中挖掘有用的结构化知识,人们创造了许多的信息抽取系统。其中一种十分重要的就是开放域事件抽取,它是在没有预先给定域假设(domain assumption)的情况下抽取有用的事件信息。

在这篇综述中,首先介绍事件抽取的pipeline是怎样一个流程,然后介绍一些目前比较好的开放域事件抽取。

1. 简介

事件抽取的主要任务有:

  1. 判别事件的类型
  2. **提取出事件的每一个role所对应的argument**。

一个简单的例子如下:

an example for event extraction

在整篇综述中:

  • Section 2介绍有哪些不同种类的事件抽取;
  • Section 3介绍两个东西,一是常用于事件抽取中的知识库,二是可自动生成用于事件抽取训练数据的技术;
  • Section 4,5,6介绍最近比较火的事件抽取方法和开放域事件抽取方法;
  • 最后就是总结

2. Types of Event Extraction

有两种划分事件抽取的方法:

  1. 根据事件抽取的目标划分成开放域和特定域;
  2. 根据事件抽取使用的方法划分成数据驱动方法语义驱动方法混合驱动方法

2.1 Event Extraction Types by Approaches

  • data-driven approach
  • semantic-driven approach
  • hybrid-driven approach

2.2 Event Extraction Types by Objectives

open domain的特点:

  • 社交媒体和大量文本语料库上的事件抽取常被看作是开放域的;
  • 缺乏相关的ontologies,以及存在着大量待发掘的事件类型和模式使得开放域事件抽取非常地困难;

specific domain的特点:

  • 有相关的ontologies和knowledge bases

3. Data and Ontologies

目前有许多的开放域事件抽取模型的训练数据是hand-labeled data,hand-labeled data存在三点弊端:

  1. 价格昂贵
  2. 事件类型的覆盖率少
  3. 数量有限

综上,自动产生标签数据是非常重要的,接下来首先安利一些有利于事件抽取的数据和ontologies资源,再讲解两种自动产生标签数据的方法:

  1. 通过识别出key argumentstrigger words来产生标签数据;
  2. 通过识别key arguments来产生标签数据。

3.1 Resources of Data for Event Extraction

为了产生labeled data,不仅需要word knowledge,也需要linguistic or semantic knowledge。下面是一些可以用于生成labeled data或者直接作为labeled data的knowledge base和ontologies:

3.1.1 FreeBase

FreeBase是一个semantic knowledge base。FreeBase使用Compound Value Types来将多个值组合成一个值。(有点类似于面向对象中,一个类有多个属性)

为了利用FreeBase来产生labeled data:

  • CVT常被看作是events
  • type of CVTs看作是event types
  • CVT instances看作是event instance
  • values in CVTs看作是arguments in events
  • roles of CVTs看作是roles of arguments in the event

An example sentence from Wikipedia

the corresponding CVT entry of the sentence in Figure 2 in FreeBase

3.1.2 FrameNet

FrameNet是一个语言库,FrameNet里面的每一个frame都可以看做一种event的语义框架。每一个frame都有许多的Lexical Units。例如在下面的句子中bake.v就是frame Cooking_creation的LU之一,这样的frame可以映射到FreeBase中,从而用作为文本数据打标签。

Michelle baked her mother a cake for her birthday.

FrameNet的介绍

3.1.3 Wikipedia

Table 1:Wikipedia Multilingual statics

维基百科是一个半结构化以及多语言的知识库,它每年的增长速度很快,关于它的作用,在Section 5中会详细提到。

3.2 Generate Labeled Data for Event Extraction Automatically

3.2.1 Generate labeled data for event extraction by identifying trigger words and key arguments

这种方法来产生的标注数据标注了trigger words,event types,arguments和arguments role。如下图所示:

figure4

关系抽取中,有一种称为distant supervision的方法,它假设:如果两个实体在知识库中存在关系,那么所有包含这两个实体的句子都会在一定程度上体现这种关系。

然后这种DS的思想,并不适用于事件抽取,主要有两个原因:

  1. 在现有的知识库中,事件的trigger words并没有被体现出来;
  2. 一个事件实例的arguments可能出现在文章的不同地方,而不是集中出现在一个句子之中,所以很难产生高质量的打标训练数据;

为了解决DS算法用于事件抽取上的不足,有一种同时使用了world knowledge(FreeBase)和linguistic knowledge(FrameNet)的算法。它的pipeline如下:

  1. 选择key arguments;
  2. 只是用key arguments来标记events以及提取trigger words;
  3. 使用linguistic knowledge resource(FrameNet)来过滤噪声trigger words和扩大triggers;
  4. 使用Soft Distant Supervision来自动回标数据。

第一步选择key arguments的方法是计算key rate,计算key rate包含两个部分:

  1. Role Saliency(作用特点)

    given an event type, an argument A is more salient than another argument B if one tends to use an argument A to distinguish one event instance.

  2. Event Relevance(事件相关性)

    if an argument A only occurs in a speci c event type, the argument A has high event relevance.

基于key rate然后选取topK。

第二步使用key arguments来标记trigger word。首先找到所有包含了key arguments的句子,然后筛选出这些句子中的动词(verb),出现频率较高的动词就是我们要找的trigger words。

第三步是trigger words的过滤和扩展。使用的方法是将FreeBase中的event映射到FrameNet中的frame。

第四步是自动回标,产生训练数据。这一步基于两个假设:

  1. 对于句子中的一个事件,FreeBase中所有的key arguments和对应的trigger words代表了这个事件;
  2. 句子中出现的arguments承担了在事件中相应的role

基于上面的两个鸡舍,我们使用soft distant supervision来生成数据。

3.2.2 Generate labeled data for event extraction only by identifying key arguments

传统的事件抽取方法需要抽取trigger words和赋予事件类型。然而有些论文认为identification of trigger并不是必须的,仅仅只有key arguments就能够表示一个事件的类型!

由于这个方法只使用了key arguments,所以它的pipeline会短一些:

  1. 从一个CVT表中识别出key arguments;
  2. 通过已有的结构化表/列表,产生打标数据。

在第一步中,论文使用了一个叫做importance score的东西来度量arguments的重要性。

Figure 5

key arguments的筛选策略如下:

  • 计算importance score,然后排名最高的前二分之一的arguments;
  • 总是选择time-related的arguments作为key arguments;
  • 从得到的数据集中,删除dependency distance between two key arguments大于2的句子。

4. Contemporary Approaches Evaluation

4.1 Event Schema Extraction By Trigger Clustering

有一种事件抽取的方法叫做ACE,它的思想是人工地定义事件的schema。图6的左半部分表示了ACE中的一个event schema。这种方法非常的昂贵,因为消费者和专家在标注事件类型和arguments role之前需要浏览大量的数据。

Figure 6

paper[8]介绍了一种新的方法来进行事件抽取。为了从句子中抽取事件,论文首先从句子中抽取了trigger words和对应的arguments。对于每个trigger word,对它进行聚类然后使用聚类的名字作为事件类型。然后它基于事件类型来指定arguments。

在这种方法中最重要的一个子任务就是trigger words的表示。通常trigger words是通过distributional vectors进行表示的。更进一步,有两种word embedding的方法。

第一种是出现在相似上下文,同时有着相同的含义的trigger word可能有相似的类型,因此一个trigger word的distributional vectors应该包含语义信息。

第二种是trigger type是依赖于它的arguments,arguments role以及其他上下文中与这个trigger相关的单词,所以distributional vectors应该包含它的argument语义信息。为了获得arguments语义信息,paper[8]使用语义关系来说明distributional semantics of relevant word是怎样来促进全局的时间结构表示的。???

接下来讲解如何产生聚类,找到每个聚类的arguments和命名每个聚类。

第一步是识别candidate triggers和arguments。为了识别triggers,首先考虑被WSD赋予了一个OntoNotes意义的所有名字和动词作为candidate triggers,然后剩下的单词如果是FrameNet中的LU,那么也考虑为candidate triggers。为了为每一个trigger识别arguments,paper[8]使用了一种AMR的方法。

第二步是表示trigger和argument成distributional vectors。首先使用WSD在WordNet上找到每个word的释义,然后将WordNet的释义变成OntoNotes的释义。这样,对于每一个trigger candidate,都能得到得到它的OntoNotes释义,利用这个释义,学习得到embedding即可。在通常意义上,word embedding都是在大数据集上使用skip-gram model得到的。对于arguments,paper[8]使用一个一般的词法embedding来表示。

第三步是事件结构的组成和表示。对于每个事件trigger,使用一系列的compositional functions来产生trigger event结构表示。

每一个compositional function是语义关系特异的,而且函数是操作在embedding空间上的。对于每个argument,它的表示是以一种附属产物的形式生成的。

第四步是使用一个联合的约束聚类框架来聚类arguments和triggers。有一个关于trigger的假说是如果两个triggers,arguments有相同的类型和role,那么他们很肯定属于同一个type。因此,论文[8]使用一个限制函数来执行互依赖triggers和arguments来有相同的type。至于聚类函数,paper[8]设计了一个联合约束聚类方法,这种方法迭代地生产新的聚类结果。

最后一步是命名triggers和每个trigger arguments。paper[8]使用meaning representation与semantic role description之间的映射来解决这个问题。

4.2 Deep Learning Approaches

4.2.1 基于RNN的方法

RNN是啥呢~

4.2.2 基于CNN的方法

这一部分,我们介绍一篇论文,这篇论文是使用了Zero-Shot Learning的CNN。许多传统的监督学习方法无法处理新的event type,因为新的event type意味着无法使用到老的events。特别地,这些方法通常将事件抽取任务当做是分类问题,将事件的特征用事件和老事件的相似性大小来表示。模型中的事件类型和参数角色扮演强制限制的原子符号角色。然而在这篇论文中,作者提出了一个新的方法,能够帮助解决这种问题。

他们发现的有意思的事情是无论是event types还是event mentions都能够通过一些结构形式表示出来。例如,如果我们用AMR表示每个event mention,用Entity Relation Entity structure表示event types,我们能够发现两种结构之间是有一定的关联关系的。事件类型中的事件提及共享类似的结构信息。根据理论“事件结构的语义可以以系统和可预测的方式概括和映射到事件提到结构。”他们采取的方法主要是将每一事件映射到本体中语义上最接近的事件类型。(迷迷糊糊)

  • Event mention:描述事件信息的短语或者句子,即同时包含了触发词(trigger)和论元(argument)。
  • Event trigger: 短语或者句子中,最能表示一个事件出现的单词,在ACE数据中,这个词通常是动词或名词。
  • Event argument:短语或者句子中,包含的实体、时间表达式、或者数值。
  • Argument role: 一个论元在事件中扮演的角色。

一些概念定义

Close-domain

Closed-domain事件抽取使用预定义的事件模式从文本中发现和提取所需的特定类型的事件。事件模式包含多个事件类型及其相应的事件结构。我们使用ACE术语来介绍如下事件结构:

事件提及

描述事件的短语或句子,包括触发词和几个参数。

事件触发词

最清楚地表达事件发生的主要词,尤指动词或名词

事件论元

在事件(即参与者)中涉及的实体提及、时间表达或值(例如工作头衔)。

论元角色

论元与它所参与的事件之间的关系。

D.Ahn首先提出将ACE事件提取任务分成四个子任务:触发词检测事件/触发词类型识别事件参数检测参数角色识别

Open-domain

没有预定义的事件模式的情况下,开放域事件提取的目的是从文本中检测事件,在大多数情况下,还可以通过提取的事件关键字聚类相似的事件。事件关键字指的是那些主要描述事件的词/短语,有时关键字还进一步分为触发器和参数。

故事分割

从新闻中检测故事的边界。

第一个故事检测

检测新闻流中讨论新话题的故事。

话题检测

根据讨论的主题将故事分组。

话题追踪

检测讨论先前已知话题的故事。

故事链检测

决定两个故事是否讨论同一个主题。

前两个任务主要关注事件检测;其余三个任务用于事件集群。虽然这五项任务之间的关系很明显,但每一项任务都需要一个不同的评价过程,并鼓励采用不同的方法来解决特定问题。

What is ontology?

outside philosophy,ontology is used in a different,more narrow meaning。

Here,an ontology is the description of what exist specifically within a determined field. For example,every part that exists in a specific information system. This includes the relationship and hierarchy between these parts.

Unlike the philosophers,these researchers are not primarily interested in discussing if these things are the true essence,core of the system.

Nor are they discussing if the parts within the system are more real compared to the processes that take place within the system.

Rather,they focus on naming parts and processed and grouping similar ones together into categories.

The word ontology is also use,for example,in social ontology. Here,the idea is to describe society and its different parts and processes. The purpose of this is to understand and describe the underlying structures that affect individuals and group.


文章作者: CarlYoung
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 CarlYoung !
  目录