炼数成金 门户 商业智能 自然语言处理 查看内容

HFL技术分享 #1 | 事件抽取概述

2019-5-31 09:58| 发布者: 炼数成金_小数| 查看: 25361| 评论: 0|来自: 哈工大讯飞联合实验室

摘要: 随着互联网信息爆炸式的增长,从非结构化的信息中提取出有用的结构化信息显得越来越重要,信息抽取(Information Extraction)任务便应运而生。信息抽取任务的本质是从无结构的自然文本中识别出事件描述(包括:实体 ...

网络 工具 模型 框架 神经网络 元素

1、引言
随着互联网信息爆炸式的增长,从非结构化的信息中提取出有用的结构化信息显得越来越重要,信息抽取(Information Extraction)任务便应运而生。信息抽取任务的本质是从无结构的自然文本中识别出事件描述(包括:实体、关系、事件),并抽取出与这些事件描述相关的信息,以结构化的形式存储,供用户查询以及供研究人员进一步分析利用[1]。而事件抽取(Event Extraction)是信息抽取任务中重要且富有挑战的一个研究方向,它旨在将无结构化文本中的事件以及事件所涉及到的人物、时间、地点等元素准确地抽取出来并以结构化的形式呈现,在自动文摘,自动问答,信息检索等领域有着广泛的应用。

2、任务定义
根据ACE(Automatic Content Extraction)的定义,事件由事件触发词(Trigger)和事件元素(Argument)构成,事件抽取任务主要包括事件类型识别和事件元素识别两个步骤。为了帮助理解事件抽取任务,首先介绍一些ACE术语:
实体(Entity):客观存在并可相互区别的事物,可以是具体的人、事、物,也可以是抽象的概念或联系。例如,职工、学生、教师、课程等都是实体。
实体提及(Entity mention):实体的引用。
事件提及(Event mention):描述一个具体的事件,包括触发词和元素。
事件类型(Event type):一个特定的事件类别。事件类型是人为定义的,ACE2005定义8个事件类型,33个子类型。
事件触发词(Event trigger):清晰表达事件发生的关键词语。
事件元素(Event arguments):事件中提及的实体。

图1  ACE事件的实例

图1是ACE事件的例子,事件触发词是出生,事件类型是出生,这个事件包含了人物、时间、地点三个事件元素。

3、研究现状
由于大数据时代的迫切需求,事件抽取的研究工作在近20年发展迅速,大致可以分为两个研究方向:基于规则的方法,基于统计的方法。
在早期发展阶段,信息抽取依赖于语言学家或领域专家手动编写规则和模板。(Riloff 1993)[2]提出了AutoSlog系统,通过13个启发式方法获得13个模板,然后再用这些模板去匹配文本,从而自动构建出领域词典;(Kim and Moldovan 1995)[3]提出了PALKA系统,融入了WordNet词典语义信息,从而使其更加擅长处理开放域信息抽取问题;(Joyce Yue Chai 1998)[4]提出了TIMES系统,WordNet和人工标注语料同时使用,起到了很好的效果;(Yangarber 2001)[5]提出了ExDisco系统,首先人工构造一些质量较高的种子模板,然后在语料库上增量式的学习新模板,几轮迭代后迅速构建了大量高质量模板。
在随后的发展过程中,研究者们认识到基于规则的方法很难胜任大规模复杂类型数据集上的抽取任务,再加上一些机构推动了相关领域的语料库构建。因此,基于统计的事件抽取方法被提出并逐渐被广泛使用。(H.L.Chieu and H.T.Ng 2002; Grishman et al. 2005)[6][7]都采用了较大熵模型,并引入unigram、bigram、命名实体、短语等简单特征,将事件抽取看成一个分类问题,取得了当时较好的效果;(Ahn 2006)[8]整合Timbl和MegaM两种机器学习的方法进行事件抽取,并加入词法特征、上下文词特征、WordNet辞典特征以及上下文相关实体及其类型等特征,完成了句子层表示;除了句子级的事件抽取,研究者们也尝试了很多更高级的特征,包括跨文档特征(Ji and Grishman 2008)[9]、跨语言特征(Ji 2009)[10]、跨事件特征(Liao and Grishman 2010)[11]、跨实体特征(Hong et al. 2011)[12]等;此外,(Li, Ji and Huang 2013)[13]提出了一个基于全局特征的联合框架,同时抽取事件触发词和事件元素,不再分步进行。

随着近几年硬件计算能力的提高,神经网络得以迅猛发展,研究者们便把目光转向了深度学习领域,来处理事件抽取任务。(Chen et al. 2015; Nguyen and Grishman 2015; Nguyen and Grishman2016)[14][15][16]相继采用了卷积神经网络(Convolutional Neural Networks,简:CNN)进行事件检测或事件抽取,在不进行人工干预的情况下取得了突破性的效果;(Nguyen, Cho and Grishman 2016)[17]基于循环神经网络(Recurrent Neural Networks,简:RNN)设计了一个联合模型,同时预测事件触发词和事件元素,并成功地把事件抽取任务从分类问题变成了序列标注问题;(Liu et al. 2017; Liu et al. 2018)[18][19]采用注意力(Attention)机制进行事件检测,取得了目前较好的结果。

4、方法介绍
传统事件抽取大致可以分为两个步骤:
事件类型识别:识别事件触发词并分类。
事件元素识别:识别事件元素并进行角色(人物、时间、地点)标注。这两个步骤是顺承关系,完成第一步称做事件检测(Event Detection),完成两步称做事件抽取。

传统的模式匹配的方法进行事件抽取时,流程大致为:
定义事件类别。
构建“触发词-事件类别”对应表:对每个类别事件选择若干种子触发词,然后基于同义词词林或者Word2vec的方法对种子触发词进行扩充,过滤后得到每个事件类别对应的触发词。

获取候选事件及其类别:通过匹配,含有触发词的句子即为候选事件句,根据2)中的对应表即可识别事件类型。
构建模式库:对每个类别的事件分别构建模式库,方法是把事件实例中的事件元素用特殊符号代替生成初始的模式,进一步的泛化与过滤后,选择置信度高的模式加入模式库。

抽取事件元素:基于最长公共序列(Longest Common Sequence),把3)中的候选事件句与对应类别模式库中的模式相匹配,匹配成功后即可抽取对应位置的事件元素。

由上述可见,模式匹配的方法流程繁琐,会产生级联错误,人工干预过多,对特定领域有不错的效果,但泛化性能很差,所以研究者们逐渐更多地尝试自学习能力强大的深度学习方法。神经网络有很强的非线性拟合能力,可映射任意复杂的非线性关系,而且学习规则简单,不用人工抽取复杂的特征,不用丰富的领域专家知识,泛化性能好,鲁棒性强,记忆能力出众等,诸多优点使得神经网络越来越受重视。下面将重点介绍一些基于神经网络进行事件抽取的代表模型。

动态多池化(Dynamic Multi-Pooling,简:DM)CNN[14]的提出开启了用神经网络进行事件抽取的新篇章。这个模型用词的分布式表示(Word Embedding)捕获语义信息,用CNN捕获句子层信息,但传统的CNN只能捕获一句话中最重要的信息,当句子中含有多个事件时可能会有信息丢失。DM-CNN依据触发词和元素的位置,动态切分卷积操作后的特征图,然后再分别对切分后的每部分做max-pooling,这样就能保存更多关键地事件信息。模型图如图2,输入包括CWF(词语的Word embedding)、PF(上下文词与候选词的相对距离)、EF(词语的实体类型)三个特征,输出就是词语的预测结果,是否是触发词,或者是否是事件元素。

图2 DM-CNN结构示意图[14]

紧接着,非连续(Non-consecutive,简:NC)CNN[16]的提出大大提升了事件检测的效果。一句话作为输入,传统的CNN模型只能对连续的k个词语进行卷积操作,这样的机制不能捕获大范围或非连续词语之间的依赖关系。NC-CNN就很好地解决了这个问题,NC-CNN是对一句话中的任意k个词语进行卷积操作,然后再获取最重要的特征,结果显示建模Skip-Grams对事件检测很有效。

虽然CNN抽取关键特征的能力很强大,但RNN的时序特点对自然语言处理任务有天然的优势,所以就有研究者尝试用RNN的模型进行事件抽取,同样取得了良好的效果。RNN联合框架[17]的提出大大简化了事件抽取的流程,能够同时预测事件触发词和事件元素,避免了串行化导致的级联错误,此外,还能够利用触发词和事件元素之间的内部依赖关系。模型的输入特征包括词的分布式表示、词的实体类型、依存句法关系;模型的内部设有记忆矩阵,用来记忆先行出现的事件类别特征;模型的输出相当于序列标注,给每个词标注对应的预测信息。

最后再介绍一个基于Attention机制的事件检测框架(GMLATT)[19],这个框架较大的创新点是通过聚合多语信息来消除触发词的歧义,进而提高预测准确率,同时多语信息的加入还弥补了数据匮乏的问题。例,Fired on the hotel和The staffwere fired,同样是fired,对应的中文却分别是“开火”和“解雇”,整合中文信息后,使得触发词的特征信息更明显,进而有助于预测准确。

GMLATT框架的结构示意图如图3,大致分四个模块:1) 多语映射:利用机器翻译和多语对齐技术,完成源语言与目标语言的映射;2) 句子表示:利用Bi-GRU完成源语言句和目标语言句的向量表示;3) 多语信息整合:基于上下文Attention完成候选词与句中其它词之间的信息整合,基于跨语言Attention完成源语言和目标语言的信息整合;4) 事件类型预测:把整合后的信息通过线性转换,得到预测的每个事件类型的概率。

图3 GMLATT框架结构示意图[19]

4、未来展望
事件抽取的根本目的是从无结构的文本中抽取出人们感兴趣的事件,并转换成结构化的文本进行存储。在信息化时代蓬勃发展的今天,快速过滤垃圾信息,进而提取出有用的信息,显得尤为迫切和重要。在上层应用方面,不管是构建事理图谱,还是事件驱动的领域预测,事件抽取任务都起着举足轻重的作用。相信随着市场需求的推动、硬件性能的提升以及算法模型的改进,事件抽取领域的研究将取得重大的突破和长足的发展,未来将在智慧化生活中大有作为。

声明:本文版权归原作者所有,文章收集于网络,为传播信息而发,如有侵权,请联系小编及时处理,谢谢!

欢迎加入本站公开兴趣群
商业智能与数据分析群
兴趣范围包括:各种让数据产生价值的办法,实际应用案例分享与讨论,分析工具,ETL工具,数据仓库,数据挖掘工具,报表系统等全方位知识
QQ群:81035754

鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论

热门频道

  • 大数据
  • 商业智能
  • 量化投资
  • 科学探索
  • 创业

即将开课

 

GMT+8, 2019-9-17 11:18 , Processed in 0.178696 second(s), 24 queries .