APP下载

中文事件抽取研究综述

2020-04-15威,王

计算机技术与发展 2020年2期
关键词:语料语义框架

项 威,王 邦

(华中科技大学 电子信息与通信学院,湖北 武汉 430074)

0 引 言

事件(event)来源于认知科学,在哲学、语言学、计算机科学等领域应用广泛。自动内容抽取(automatic content extraction,ACE)国际评测会议将事件定义为:发生在某个特定时间点或时间段,某个特定地域范围内,由一个或者多个角色参与的一个或者多个动作组成的事情或者状态的改变[1]。

事件抽取任务研究从非结构化的自然语言文本中自动抽取用户感兴趣的事件信息并以结构化的形式表示[2],对人们认知世界有着深远的意义,是信息检索、知识图谱构建等实际应用的基础。事件抽取在相关公开测评和语料的推动下展开,按照任务定义分为框架表示事件抽取和实例表示事件抽取。早期的事件抽取任务采用基于模式匹配的方法,随着机器学习的兴起,采用特征工程和神经网络的方法进行事件抽取受到越来越多的关注。中文事件抽取还存在中文语言特性方面的问题需要解决。

文中首先简要介绍了事件抽取的研究意义,再从事件抽取的任务定义和技术方法两个维度全面阐述事件抽取工作,最后展望事件抽取未来的发展趋势。

1 事件抽取研究意义

现实世界中发生的事情都可以被看成事件,人们通过事件和事件之间的关系来认知和了解世界。事件抽取对人们认知世界有着深远意义和重大应用价值,也是信息检索、智能问答、知识图谱构建等实际应用的基础。

事件抽取任务主要研究从非结构化的自然语言文本中抽取用户感兴趣的事件信息并以结构化的形式表示[2],如什么人,在什么时间,什么地方,做了什么事情。事件抽取首先得基于触发词识别出文本中的事件和事件类型,其次要从文本中识别出事件元素并判断元素角色。所以事件抽取依赖于命名实体识别、关系抽取等底层自然语言处理任务的结果,同时还需要深层次地分析上下文语义才能完成。

2 事件抽取任务定义

事件抽取在相关公开测评和语料的推动下展开,不同的公开测评和语料关注的领域和事件粒度不同。框架表示事件抽取任务是参照公开测评事件抽取任务,预先定义结构化的事件表示框架来进行的事件抽取任务,也称为限定域事件抽取。实例表示事件抽取是在没有预先定义结构化的事件表示框架下,通过事件实例的触发词和事件元素词用无监督方法聚类来进行的事件抽取任务,也称为开放域事件抽取。

2.1 公开评测事件抽取

ACE评测会议的事件抽取任务是国际上公认最具影响力的事件抽取公开评测,由美国国家标准技术研究所(national institute of standards and technology,NIST)于2000年开始举办,2009年被并入文本分析会议(text analysis conference,TAC),2005年起事件抽取任务被纳入ACE[3]。美国国防高级研究计划委员会DARPA的DEFT(deep exploration and filtering of text)计划制定的ERE(entities,relations,events)标准[4],被视为ACE标注的简化版本[3]。事件抽取同样是消息理解会议(message understanding conference,MUC)和知识库测评会议(knowledge base population,KBP)的重要任务。中文方面,上海大学语义智能实验室构建了中文突发事件语料库(Chinese event corpus,CEC),选取了地震、火灾、交通事故等5类事件的新闻报道进行标注。另外还有一些领域事件抽取公开评测,如生物医学领域的事件抽取评测BioNLP等。文中主要介绍研究最为广泛,影响最为深远的ACE事件抽取公开评测。

ACE认为事件是事物状态的改变或事情的发生,并将事件抽取任务定义为从非结构化的文本中识别并抽取事件信息并结构化表示,包括事件触发词、事件类型、事件元素、元素角色[1]。相关的术语说明如下:

实体(entity):语义类别中的一个或一组对象,包括人名、地名、组织机构、交通工具等。

事件提及(event mention):描述事件的短语或句子,包括事件触发词和事件元素。

事件触发词(event trigger):最清晰准确表达事件发生的关键词,通常是动词或名词。

事件元素(event arguments):参与一个具体事件的元素提及,包括概念、实体、数值、时间等。

元素角色(argument roles):事件元素与其参与事件的关系。

在例句1中,事件抽取任务需要检测到一个生活(life)类型和出生(be-born)子类型的事件,事件触发词“出生”,事件元素“金庸”、“1924年”、“浙江嘉兴”及其对应的元素角色“任务”、“时间”、“地点”,如图1所示。

图1 事件抽取样例

ACE事件抽取任务通常分为事件检测和元素识别两个子任务:(1)事件检测,通过识别文本中的事件触发词检测事件,并判断事件类型。每种事件类型对应唯一的事件表示框架,例如生活-出生类型事件表示框架为{人物,时间,地点}。(2)元素识别,根据事件表示框架判断文本中的实体是否为事件元素,并确定元素角色。

ACE语料没有指定具体的领域和场景,主要来自新闻语料,包括新闻专线、广播新闻等6个来源,同时包含英语、汉语、西班牙语三种语言,由美国宾夕法尼亚大学的语言数据联盟(linguistic data consortium,LDC)标注。ACE定义了8种类型和33种子类型事件及其对应的表示框架。

事件抽取任务往往依赖于文本的命名实体识别、共指消解、关系抽取等自然语言处理任务结果,但其并不是事件抽取任务本身所关注的。ACE数据集同时对实体及其类型、关系、共指等内容进行了标注,在ACE事件抽取任务中通常直接使用实体标注内容。ACE事件抽取任务通常采用以下标准评估正确性[5]:

·如果一个事件触发词的位置偏移和事件类型与标注内容匹配,则正确识别该事件触发词。

·如果一个事件元素词的位置偏移和对应事件与标注内容匹配,则正确识别该事件元素。

·如果一个事件元素词的位置偏移、对应事件及元素角色与标注内容匹配,则正确识别并分类该事件元素。

公开评测极大推动了事件抽取的研究和发展,但公开评测语料通常面向通用背景,没有特定的领域背景,如ACE仅对新闻语料中关注的33种常用事件类型进行了标注。虽然有少量的特定领域事件抽取语料,如BioNLP生物医学领域语料等,但不能满足丰富多样的实际应用需求。同时公开评测语料还存在数据量级小、事件类型稀疏和语料时效性差等问题,目前最优性能也无法满足知识图谱构建等应用需求。

2.2 框架表示事件抽取

框架表示事件抽取通过自顶向下的方式,预先定义事件表示框架,包括事件类型、事件触发词、事件元素、元素角色等,然后制作相应的标注语料数据进行事件抽取。Petroni等在2018年[5]提出一种从新闻报道和社交媒体中抽取突发事件的框架表示,用于公共安全预警、政府组织决策支持等。文章定义了“洪水”、“风暴”、“火灾”等7种突发事件类型,并结合六何分析法(5W1H:Who,What,Where,When,Why,How)设计各类事件元素的表示框架。Yang等在2018年[6]提出一种从金融机构的公告信息中抽取金融事件的框架表示方法,用于辅助决策和市场预测等。文章定义了“股权质押”、“股权冻结”、“股权回购”等9种金融事件类型,和对应的“股东名称”、“日期”等事件元素的表示框架。刘振等在2018年[7]提出了常见科技政策领域内的事件类型与对应的事件表示框架,帮助获取科研领域内有价值的信息,把握学科发展趋势。文章列出了“组织设立”、“会议”、“宣布事件”等6种科技事件类型,和对应的“机构”、“时间”、“地点”等事件元素的表示框架。

框架表示事件抽取任务按照不同的领域背景和应用需求自由灵活地构建事件框架表示,解决了公开评测语料的事件类型稀疏,数据量级小等问题。框架表示的事件类型可扩展性强,结合远程监督的方法可以自动生成大规模标注数据,提高语料的时效性[8]。但事件的框架表示通常结构复杂,通用性差,不同的领域背景和实际应用需要不同的事件框架表示,这都需要耗费大量的人力劳动和时间,并且严重依赖领域专家系统。所以框架表示事件的标注语料虽然可以保证每种事件类型的数量,但大部分标注语料规模仍然较小。

2.3 实例表示事件抽取

实例表示事件抽取可以面向不同领域背景和应用需求的事件,也可以面向通用领域的事件语料。通过自底向上的方式,利用文本的上下文语境、句法依存结构等信息,采用无监督的方法聚类事件类型和事件元素,自动发现新的事件实例,不需要人工制作标注数据。例如,如果事件触发词具有相似的上下文语境,那么它们可能属于同类事件;如果事件元素与事件触发词具有类似的句法依存结构,那么它们可能具有相同的事件元素角色。

Huang等在2016年[9]提出一种自由事件抽取模型,适用于所有语料输入,利用符号特征和分布式语义自动生成输入语料的事件表示,检测事件并结构化表示。Zhou等在2017年[10]从推特(Twitter)中用无监督模型抽取有价值的新闻事件并结构化表示,文章假设相同的事件拥有相似的实体和词语,用无监督的方法抽取结构化事件信息。Yuan等在2018年[11]利用新闻语料中的实体和实体类型建立槽值对(slot-value)来检测事件,相似的实体槽值对句子属于相同的事件类型,最后生成事件结构化的表示框架。

由于语言的结构复杂性,实例表示事件抽取很难准确地获得语义信息,并且难以用统一的结构化标准表示,需要一定的人工方式加以辅助,其结果仍然很难应用到其他自然语言处理任务中。

事件抽取任务对比如图2所示。

3 中文事件抽取技术方法

事件抽取任务在方法上可以分为基于模式匹配的方法和基于机器学习的方法两大类。基于模式匹配的方法是在一些模式的指导下进行的某类事件的识别和抽取方法,在特定领域中表现出了良好的性能。基于机器学习的方法将事件抽取建模成多分类任务,通过提取的特征进行分类完成事件抽取。中文事件抽取中还需考虑语言特性的问题,主要通过建立勘误表和序列标注方法来解决。

3.1 基于模式匹配的方法

基于模式匹配事件抽取主要分为有监督的模式匹配方法和弱监督的模式匹配方法两大类。

有监督的模式匹配方法依赖于人工标注语料进行事件模式学习。Ellen等在1993年[12]通过建立触发词词典和13种事件匹配模式进行事件识别与抽取,事件匹配模式主要利用事件元素初始描述和事件元素上下文语义进行构建,并开发了AutoSlog模式匹配事件抽取系统,在MUC语料上性能优异。Kim等在1995年[13]引入WordNet语义词典,利用语义框架和短语结构进行事件抽取,并开发了PALKA模式匹配事件抽取系统。

图2 事件抽取任务对比

弱监督的模式匹配方法只需对语料进行预分类或制定种子模式的少量人工标注工作,然后自动进行事件模式学习。Ellen等在1995年[14]在AutoSlog基础上开发出AutoSlog-ST系统,不需要对语料中的所有事件元素进行标注,只需标注事件类型,然后利用预分类语料自动学习事件模式。姜吉发在2005年[15]提出一种领域通用事件模式匹配方法IEPAM,将事件抽取模式分为语义模式、触发模式、抽取模式,在MUC-7语料的飞行事故事件抽取中获得优异结果。

模式匹配事件抽取方法在领域事件抽取任务中性能优异,但模板的制作需要耗费大量人力和时间,且模板局限于领域背景,很难在通用领域事件抽取任务中应用。

3.2 基于机器学习的方法

基于机器学习的方法将事件抽取建模成分类任务,是目前的主流研究方向。尤其是深度学习和神经网络,已经成为事件抽取的主要手段,全连接神经网络[16]、卷积神经网络[17-18]和循环神经网络[19-21]都已经成功应用到事件抽取任务中。此外,弱监督的方法能够自动生成标注语料数据,缓解数据稀疏问题,也逐步应用到事件抽取任务中。

(1)基于特征工程的方法。

传统的机器学习方法将事件抽取任务建模为多分类问题,提取文本的语义特征,然后输入分类器进行事件抽取。Ahn等在2006年[2]率先将事件抽取分为4个阶段的多分类子任务,包括:(1)事件触发词分类,判断词语是否为事件触发词和事件类型;(2)事件元素分类,判断实体词语是否为事件元素;(3)事件属性分类,判断事件属性;(4)事件共指消解,判断两个事件实例是否属于同一事件。Ahn等用Timbl和MegaM模型进行分类,利用词汇特征、字典特征、句法特征、实体特征完成触发词分类子任务,利用事件类型、触发词特征、实体特征、句法特征完成事件元素分类子任务。常用的机器学习分类模型还有最大熵模型、支持向量机模型、隐马尔可夫模型等。

传统的机器学习事件抽取多分类方法中,各个阶段的子分类任务是相互独立的,导致误差从前面的环节向后面的环节传递,性能也因此逐级衰减,并且无法处理全局的依赖关系。Li等在2013年[21]和2014年[22]提出基于结构预测的事件抽取联合模型,从全局特征和整体结构中同时抽取所有的事件信息,避免了误差传递导致的性能下降。

(2)基于神经网络的方法。

事件抽取的机器学习传统方法不仅需要人工设计特征,而且需要借助外部的NLP工具抽取特征,并且部分语言和领域缺少相关的NLP工具。在各种特征的抽取过程中会产生误差,造成误差的累积和传播。神经网络的方法将事件抽取建模成端到端的系统,使用包含丰富语言特征的词向量作为输入自动提取特征,不需要或者极少的依赖外部的NLP工具,避免了人工设计特征的繁琐工作。

Chen等在2015年[23]提出基于动态多池化卷积神经网络的事件抽取方法,利用动态多池化方法学习出一个句子中包含的多个事件。Feng等在2016年[18]提出用双向长短期记忆网络进行事件检测,但没有探索事件元素的抽取方法。Nguyen等在2016年[19]利用双向LSTM抽取句子中的语义特征,然后联合句子结构特征同时抽取事件触发词和事件元素。

(3)弱监督的方法。

弱监督的事件抽取方法希望通过结构化知识库或者少量人工标注数据,自动生成大规模、高质量的标注数据。Chen等在2009年[24]提出利用少量人工标注数据训练模型,在未标注数据上反复迭代自动扩充标注数据。Liu等在2016年[16]提出利用ACE语料数据训练模型,再结合FrameNet知识库扩充标注数据。Chen等在2017年[9]提出利用Freebase、Wikipedia、FrameNet等知识库的远程监督方法,自动生成大规模的标注数据进行事件抽取,并将其应用到金融领域的事件抽取问题中[6]。

3.3 中文事件抽取的方法

中文事件抽取除了方法层面的问题外,还存在语言特性层面的问题。中文语言特性问题主要来自中文词句意合特性,中文语言词语间没有显式间隔,而分词会带来明显的错误和误差。Chen等在2009年[24]提出中文事件抽取触发词不一致问题,并将中文触发词分词不一致问题分为跨词语(cross-word)不一致和内词语(inside-word)不一致两种类型,如表1所示。Zeng等在2016年[20]用不同的中文分词工具对ACE中文语料进行分词,结果显示至少有14%的触发词分词结果与语料标注不一致。

表1 中文触发词分词不一致问题示例

Chen等在2009年[24]提出两种方法解决触发词分词不一致地问题:(1)基于词语的触发词标注,通过在训练集上建立触发词的全局勘误表修正测试集中分词不一致的触发词;(2)基于字符的触发词标注,将触发词检测转化为序列标注问题。Zeng等在2016年[20]在Chen等[24]的字符序列标注方法地基础上,使用双向长短期记忆网络和条件随机场[25]抽取句子特征,并结合卷积神经网络抽取上下文语义特征完成中文事件抽取,进一步提高了性能。Lin等[26]认为序列标注模型中的字符区别于词语,无法准确表达句子的语义,提出将每个字符与上下文的若干字符组合生成多个候选触发词块,然后从候选触发词块中检测触发词。

另外,中文事件抽取还存在比英文更加严重的数据稀疏问题。中文语言的复杂性和灵活性使得相同语义的词语有更多表达方式,即同一类型事件触发词可以用更多词语表达。因此中文触发词数量要远多于英文,导致测试集中有更多在训练集中没出现过的未知触发词。Li等在2012年[27]利用中文语言的组合语义和语言一致性识别未知触发词和分词错误触发词,进而提高系统性能。

4 结束语

中文事件抽取目前仍然面临着巨大的挑战。技术层面,由于事件复杂的内部结构,需要依靠专家系统设计事件框架,目前仍然没有形成通用的事件框架体系。另外,依靠人工标注语料数据不仅耗时费力而且成本高昂,导致现有的事件语料数据规模不大、类型较少。现阶段各个类型的事件抽取任务性能较低,不能满足产业应用的需要。语言层面,中文语言表述的灵活多样给事件抽取任务带来很大的挑战,依赖的底层自然语言处理技术,如分词、命名实体识别、句法分析等在中文语言上的性能都会影响到事件抽取的结果。

基于神经网络的事件抽取方法自动提取特征,避免了人工设计特征的繁琐工作。事件抽取任务被构建成端到端的系统,使用包含了丰富语言特征的词向量作为输入,减少了底层自然语言处理工具带来的误差。中文事件抽取工作目前还处于起步阶段,虽然在中文词语的形态结构和组合语义的利用方面取得了一些进展,但仍亟待开发更多的中文语言特性应用到中文事件抽取中。

猜你喜欢

语料语义框架
真实场景水下语义分割方法及数据集
有机框架材料的后合成交换
海量标注语料库智能构建系统的设计与实现
框架
浅谈视频语料在对外汉语教学中的运用
可比语料库构建与可比度计算研究综述
浅谈框架网页的学习
“吃+NP”的语义生成机制研究
我国在WYO框架下面对的贸易保护现状及应对
汉语依凭介词的语义范畴