基于深度学习的篇章级事件抽取研究综述

2022-12-22 11:45胡瑞娟周会娟刘海砚
计算机工程与应用 2022年24期

胡瑞娟,周会娟,刘海砚,李 健

战略支援部队信息工程大学,郑州 450001

事件抽取主要研究从非结构化文本中抽取出结构化的事件信息,如何人、何时、在何地、做了何事。事件抽取是一项十分重要且具有挑战性的课题,可以为知识图谱构建[1-2]、推荐系统[3-4]、智能问答[5-6]以及其他任务[7-9]提供有效的结构化信息。按照文本抽取的粒度,事件抽取可分为句子级事件抽取和篇章级事件抽取。目前研究较多的是从一个句子中提取事件信息的句子级事件抽取,然而,由于事件的异质性和事件描述的多样性,会存在事件信息(事件数量、类型、要素)提取不全面、不完整的情况,而篇章级事件抽取是从文档级文本出发,侧重更为全面、完整的事件信息提取,这有助于用户从大量的信息中快速、准确地捕获感兴趣的内容。篇章级事件抽取在热点追踪、舆情监控、军事情报、金融投资等领域发挥着重要作用[10]。

根据文本抽取的领域范围,事件抽取通常分为限定域事件抽取和开放域事件抽取。限定域事件抽取是指在进行抽取前,预先定义好目标事件的类型及每种类型的事件元素,通常会给出一定量的标注数据,不同的领域背景知识和应用需求使得定义的事件类型和事件元素各不相同。开放域事件抽取是指在进行事件识别之前,可能的事件类型以及事件的结构都是未知的,所以这项任务通常没有标注数据,主要是基于无监督的方法和分布假设理论,如通过事件实例中的触发词事件元素进行聚类等方式进行抽取。由于开放域事件抽取没有预定义的事件类型和明确固定的场景,所用文本来自于类似社交媒体等大量复杂的语料,导致抽取难度大,且相关研究还不够深入,目前学术界研究较多较深的是限定域事件抽取。下文重点对篇章级事件抽取的任务、挑战、模型和方法等进行阐述。

1 主要任务及挑战

1.1 主要任务

事件抽取的主要任务包括事件检测和论元识别,此外还包括事件关系抽取、事件消歧等外延任务,当前针对于篇章级事件抽取,大部分研究聚焦于事件检测和论元识别两项主要任务。其中事件检测包括触发词识别和事件类型发现两个子任务,论元识别包括论元抽取和角色分配两个子任务,根据自动内容抽取评测会议(automatic content extraction,ACE)定义的与事件相关的概念,结合篇章级事件抽取的实际问题,梳理了几个任务之间的关系如图1所示。

图1 篇章级事件抽取的主要任务Fig.1 Main tasks of document-level event extraction

触发词识别:识别事件的触发词,触发词是最能代表或触发一个事件发生的词,一般是动词或是名词,事件触发词确定了事件类型。

事件类型发现:一个文档中通常包含任意数量、多种类型的事件,发现文档中的包含多少个事件(事件数量)并明确每个事件分别是属于何种事件类型(事件种类)。通常一个事件类型由触发词触发,能够根据识别出的触发词确定事件类型,但也会存在描述事件的文档中没有触发词的情况,则可以根据文档中描述事件的中心句来确定事件类型。

论元抽取:抽取事件的论元,论元指事件的参与者,是组成事件的核心部分,它与事件触发词构成了事件的整个框架。一个事件通常包含多个论元,这些论元可能分散在文档的多个不同句子中,这种现象称为“论元分散”,文档中不同的事件类型或相同事件类型可能共享一个事件论元,这种现象称为“论元重叠”,因此,篇章级论元抽取时会存在“论元分散”和“论元重叠”的问题。

角色分配:明确事件论元与事件触发词之间的语义关系,即论元在相应的事件中扮演什么角色。文档中同一个论元可能会出现在不同事件中且担任不同的角色,这种现象称为“角色重叠”,因此,篇章级事件抽取中会存在“角色重叠”的问题。

1.2 面临的挑战

目前很多测评和任务(如ACE)都为事件制定了事件类型[11],每个类型下又定义类若干子类型并为每个事件子类别制定了模板,方便事件论元的抽取及角色的分配。然而,从上述对四个子任务的分析可以得出,篇章级事件抽取面临的两个重大挑战:事件论元分散和多事件问题。

(1)论元分散问题,即指一个事件的论元分散在文档中多个不同的句子中。假设一个文档doc包含n个句子,用doc={S1,S2,…,Si,…,Sn}表示,如图2所示,文档中共有2个句子,包含一个捐赠事件,论元分散在两个句子中,其中S1中的“中国”“塞尔维亚”“15日”分别扮演捐赠方、接收方、时间的角色,S2中“新冠病毒检测试剂盒”“口罩”“呼吸机”“防护服”扮演着捐赠物的角色。

图2 文档doc1(触发词:“捐赠”)Fig.2 Document doc1(trigger word:donation)

(2)多事件问题,即一个文档中通常包含多种类型的事件或同一类型的多个事件,且存在论元重叠、角色重叠的问题。如“在巴格达,当一个美国坦克对着巴基斯坦酒店开火时,一个摄影师死去了”,包含“死亡”和“攻击”两种事件类型,“摄影师”这一论元分别在两个事件中担任着“受害者”和“攻击目标”两个不同的角色。很多情况下,论元分散和多事件问题并不是两个绝对独立的问题,二者同时存在于篇章级事件抽取任务中,如图3所示,粗斜体是分散在不同句子中的事件论元,文档中共有31个句子,包含两个股权质押事件,Event-1的论元分散在S12、S21和S22中,Event-2的论元分散在S18、S21和S22中,且Event-1和Event-2都 包含“塔城国际”这一论元。

图3 文档doc2(无触发词)Fig.3 Document doc2(no trigger words)

2 限定域事件抽取的模型和方法

目前研究较多的是句子级事件抽取,句子级事件抽取只使用句子内部获取的特征,传统基于特征工程的方法手工设计特征[12],无法适应依赖复杂语义关系的任务,最近的事件抽取工作基于深度学习框架自动学习特征,主要使用流水线(pipeline)模型[13-16]和联合抽取(joint)模型[17-20]两类。基于流水线模型的方法,不管是用卷积神经网络(convolutional neural networks,CNN)还是循环神经网络(recurrent neural network,RNN),均采用流水线的方式将抽取过程拆分为两个独立的过程,先抽取事件触发词、确定事件类型,根据事件类型和触发词的预测结果提取论元并分类论元角色。这种方法虽然能使论元识别部分充分利用事件触发词的语义信息,但也造成了误差传播的问题,触发词的预测结果直接影响论元识别的结果。为了克服由事件检测引起的错误传播,研究者提出了联合抽取模型,针对事件触发词之间、事件论元之间、事件触发词和事件论元之间的全局特性,通过联合训练事件检测和论元识别任务来减少误差的传播[21-22]。

这些方法核心思路是从句子级出发,难以应对“论元分散”和“多事件”等问题。为了应对“论元分散”和“多事件”的挑战,篇章级事件抽取相关研究陆续展开。

针对论元分散和多事件问题,可以从以下几个方面考虑:首先,从篇章全局感知上下文,通过获取不同粒度的语义表示(词语粒度、句子粒度、文档粒度),扩大感受野以更好地识别分散在多个句子中的触发词和事件论元;其次,文本序列中的句子结构信息(句法解析树)、语义信息(语义解析树)可以用于增强原始序列数据的表示,通过建模图结构来学习、捕获文档数据的独特特征,以获取篇章内事件的关联;再次,将前两类方法结合,融合不同层级的语义特征和不同粒度的结构特征,获取全面、完整的事件信息;最后,借鉴阅读理解、智能问答等自然语言处理任务或其他任务的有效解决方案,将事件抽取任务巧妙地转化为其他任务来解决。

鉴于以上考虑,将现有的篇章级事件抽取方法归纳为四类:获取不同粒度语义表示的方法、捕获结构特征的方法、融合语义和结构特征的方法以及任务转化的方法。

2.1 获取不同粒度语义表示的事件抽取方法

将文本的语义信息表示为低维稠密向量,在固定长度的稠密向量中编码词语、句子或文档,在获取词语、句子或文档的语义表示时,一篇文档的语义由其各组成部分的语义,以及它们之间的组合方法所确定。因此,从获取词语、句子、文档三种不同粒度的语义表示分析事件抽取典型模型和方法。

2.1.1 获取词语粒度语义表示

传统词袋模型表征文本,依靠统计每个词在句子或文档里的频率,无法捕捉词语之间顺序和词语之间的语义关系。通过神经网络将稀疏的离散词向量表示为分布式的低维稠密向量,通过模型训练使向量包含语义信息,通过距离函数计算相似度来表示向量间的语义关系。2013年Google团队提出的word2vec[23],映射每一个词到一个固定的向量,包括通过上下文预测中心词(continuous bag of words,CBOW)和通过中心词预测上下文(Skip-gram)两种方法,word2vec词向量使相似的文本拥有相似的嵌入,可以较好地表达不同词之间的相似和类比关系,但只考虑了词的局部信息,且不能有效解决多义词的问题,Glove利用共现矩阵[24],同时考虑了局部信息和全局信息,但属于静态词向量,也不能表示一词多义,于是产生了根据上下文随时变化词向量的ELMO模型[25],该模型通过不同的语句对同一个词语训练得到不同的词向量,有效区分出同一个词在不同语境下表示的不同含义,从而解决了多义词的问题,但实质也没有很好地利用上下文。BERT利用双向transformer语言模型结合上下文语义采用mask方式训练从而得到语义更加丰富的词向量[26]。

Zhu等从词粒度出发设计高效的离散特征,包括特征词中包含的所有信息的局部特征,以及将触发词与论元连接起来的全局特征[27]。罗明等针对中文自然语言的歧义性、多样性等问题,提出了基于有限状态机驱动的层次化词汇-语义模式的金融事件抽取模型[28]。Liu等使用论元的局部特征来辅助角色分类,首次将实体识别和论元抽取作为联合任务学习[29]。

2.1.2 获取句子粒度语义表示

通过训练词向量或设计词语离散特征的方式可以获取词语的语义表示,这促进了单一地触发词识别和论元抽取任务,但对于句子中论元与触发词之间的语义关联、触发词与事件类型之间的语义关联等,仅仅依赖词语粒度的语义这种局部特征是远远不够的,因此需要获取句子粒度的上下文语义表示。

(1)通过CNN获取句子语义表示

将事件抽取看做分类任务,使用CNN进行事件分类(事件类型发现)和角色分类(论元角色分配)两个相对独立的任务是一种简单易实现的方式。CNN以ngram作为基本单位建立句子的表示,通过将多个卷积核的结果特征矩阵合并,再利用池化层对抽取的特征进行特征压缩(取最大或平均),减少模型参数,增强泛化能力。Nguyen等人使用CNN解决事件检测任务[13]。Chen等提出了动态多池化卷积神经网络模型(dynamic multi-pooling convolutional neural network,DMCNN)[14],在捕获词语级有意义的语义规则基础上,采用基于CNN的框架来学习句子级表示,并使用动态多池化策略抽取触发词和事件论元,动态多池化策略与普通最大池化机制相比,可以更好地保留有效的特征,有效应对句子级“多事件”和“论元重叠”问题,但却存在事件分类阶段的误差会传播至角色分类阶段的问题。

(2)通过RNN获取句子语义表示

将事件抽取视为序列标注任务,使用RNN对序列信息进行建模,考虑上下文语义信息,为句子中每个字标注对应的标签,能够同时区分触发词和事件论元,并且避免了CNN方式的误差传播问题。但RNN存在梯度爆炸或梯度消失问题,其改进的长短时记忆网络(long short term memory networks,LSTM)巧妙地使用遗忘门和记忆门存储远距离信息有效解决了RNN的长期依赖问题,但没有考虑上文信息,双向BiLSTM能够更好地依赖上下文获取句子的有效表示。Nguyen等基于RNN构建了局部特征和全局特征[18],用于触发词识别和论元分类的联合抽取;Feng等采用了添加CNN的RNN模型[15],分别获取文本的词语和序列特征,然后将词语特征和序列特性合并作为最后的特征进行事件抽取。游飞使用BiLSTM模型,融合词向量、词性、局部特征向量、句法分析结果和武器装备实体等特征,实现了军事领域事件抽取[30]。路扬使用BiLSTM模拟上下文输入,利用组合特征完成多任务的生物医学事件抽取[31-32]。

(3)注意力机制获取句子语义表示

CNN、RNN在建模句子语义表示时忽略了句子中不同部分关注程度的异同,而与事件类型、触发词密切相关论元分散、角色重叠等问题需要给予句子不同部分不同的关注度才能更好地表示它们之间的语义关联。注意力机制能够对结构化关系进行建模,通过控制模型对句子中不同部分的关注程度,注意力机制引导模型对句子中和事件相关的重要部分赋予更高权重,而对不相关部分赋予较低权重。Liu等将识别出的论元的特征添加到触发词抽取模型中[33]。黄细凤为了获取更多的上下文序列之间的信息,在双向RNN模型中增加了动态掩蔽注意力机制(DyMAN)[34-35],提升了抽取效果。针对句子级多事件,主要利用各种特征、保留更多的上下文特征、引入关系弧、引入篇章级的特征等,这些方法没有考虑到事件之间的关系。联合多事件抽取框架JMEE通过引入语法弧和注意力机制来实现词语之间的信息流联系,并利用上下文语法表示联合抽取触发词和事件论元,特别保留了多个事件之间的联系[36]。

Transformer使用注意力机制结构代替了LSTM对序列进行表示,摒弃了之前传统的encoder-decoder模型必须结合CNN或RNN的固有模式,可以综合考虑句子两个方向的信息,在减少计算量和提高并行效率的同时取得了更好的效果。预训练语言模型BERT等采用Transformer进行编码的同时双向综合地考虑上下文特征。针对多事件中存在论元角色重叠问题,采用预训练语言模建模句内和句间上下文信息,从整体上提高了任务的准确度[37]。DYGIE++是一个基于BERT的框架,它对文本跨度建模并学习句内和句间上下文信息[38]。MLBiNET使用基于encoder-decoder模型的多层双向网络同时识别篇章内的多个事件,该模型包括语义编码器、双向解码器、信息集成层、多层双向打标器四个部分[39]。其中,语义编码层由BiLSTM和自注意力机制构成;双向解码层融合前向解码和后向解码来捕获双向事件依赖关系;信息集成层基于简单的LSTM结构,将事件标签信息和语义信息集成到句子中;多层双向打标器逐层传递相邻句子信息,最终捕获较大邻域中的语义和事件信息,从而实现跨句子事件的联合抽取。

2.1.3 句子和文档多粒度混合语义表示

从词粒度、句子粒度出发获取词语、句子的有效特征进行事件抽取,可以提升句子级事件抽取的效果,但不能有效解决论元分散和多事件问题。如果将整篇文档作为输入,输出事件元素,是否可以在一定程度上提升篇章级事件抽取的效果呢?Du等通过实验证明了这种方法效果并不好。随着输入长度的增加,即一次输入一个句子、k个句子(k取2,3,4,5)和整篇文档,其准确率先上升后下降,而召回率先下降后上升,最终F1值并没有得到改善。这表明,篇章级事件抽取不仅要关注整个文档,还要关注句子层面的语境[40]。因此,出现了使用句子和文档多粒度混合的抽取方法。

思路一是从整体角度将篇章级事件抽取转换为序列标注任务,其输入是句子级表示和文档级表示的融合特征。如图4所示,左半部分逐句将句子进行编码,并将其输入至句子级BiLSTM,然后拼接产生的编码以获取这k个句子的句子级表示。右半部分将这k个句子编码在一起,同时将它们输入到文档级BiLSTM,以获得这k个句子的文档级表示,然后通过门控机制将两者融合。实验表明,与单独输入句子或单独输入文档相比,使用门控机制动态结合来自不同级别文档的信息可以获得更好的效果。

图4 句子和文档多粒度混合方法(思路一)Fig.4 Sentence and document multi-granularity hybrid approach(idea 1)

思路二是先将句子级抽取转化为序列标注,然后将句子级抽取的输入与输出拼接作为文档级别抽取的输入。一般来说,一个事件在一个文本中通常会有一个最能表达该事件的句子,也就是事件的中心句,从语义层面看,该句子包含了该事件的最多的元素和信息,如触发词和较多的论元。如果能在句子识别的基础上将论元补充完整,那么论元分散问题就会得到解决。基于“事件中心句+论元补充”的方法构建了一个DCFEE框架[17],如图5所示,将事件抽取过程分成了句子级抽取和文档级抽取两部分。句子级抽取采用BiLSTM-CRF序列标注模型,将句子分割成字符输入模型抽取触发词和论元。然后,将句子级抽取的输入与得到的序列标注结果拼接起来,作为文档级抽取的输入。对于输入的句子,判断其是否为事件的中心句,在中心句基础上,获取文档中该句周围句子中的论元,对事件进行补充。

图5 句子和文档多粒度混合方法(思路二)Fig.5 Sentence and document multi-granularity hybrid approach(idea 2)

2.2 捕获结构特征的事件抽取方法

语义特征和结构特征是文档的两种表示方式,2.1节从词语、句子和文档等不同粒度来获取语义特征的方式,局限于从词语本身、句子的语法关系、前后位置的序列关系等角度捕获语义信息,对于任意位置、更深层次的语义关系却无能为力。文档中的句子结构信息(如句法解析树)可以增强原始文本序列数据的表示,同时,文本序列中的语义信息(如语义解析图)也可以用来增强原始文本序列数据。这些图结构的数据能够编码事件元素之间的复杂关系,将文本表示成图后,就不再局限于前后位置的序列关系,可以捕获到任意两个位置之间的关系,除了位置关系、语法关系,还可以捕获更深层次的语义关系。因此,篇章级事件抽取可以从结构特征考虑,用图结构捕捉文本元素之间更丰富的关系进行最佳表达。

目前,捕获结构特征的事件抽取解决方法有三种:一是将原始文本的句法、语义等特征转化为图结构的数据,以利用底层结构信息使用图神经网络(graph neural network,GNN)解决,如构建句法依赖图。图神经网络是基于消息传递的学习框架,通过对节点、边的特征进行转换、传播和聚合,从而学习更好的图表示,可以为任意的图结构数据建模。二是有效地建模复杂的篇章级文本序列数据,学习基于图的输入和高度结构化的输出数据之间的映射,如构建篇章级事件连通图。三是进行恰当的图表示学习,利用专门设计的GNN来学习不同图结构数据的独特特征,如无向、有向、多关系和异质图,如构建句子和实体提及的异质图。

2.2.1 构建句法与语义图

句法表示为事件检测提供了一种有效的机制,根据句法依存关系直接将词语链接到上下文,句法依存关系可以捕捉句子的句法信息,更注重两个词之间的句法关系,用图表示整个文档,可以结合连续边的信息来表示文档中句子之间的前后关系,如图6所示。语义角色图(abstract meaning representation parsing,AMR)是有根、有标注、有向、无环的图,用于表示非结构化的具体自然文本的抽象概念之间的高级语义关系,如图7所示,AMR图由AMR解析树衍生出来,在语义上相似的不同句子可能共享相同的AMR解析结果。

图6 句法依存关系Fig.6 Syntactic dependencies

图7 语义依存关系Fig.7 Semantic dependencies

DBRNN通过桥接句法依存树上相关联的词语来增强表示[41],从依存分析树中提取依赖关系,并将其转换为依赖图,使用GCN融合句法信息以提升模型性能,同时引入了句法依存边来增强信息流并结合注意力机制和GCN以对图进行表示学习[42-43]。Cao等通过GCN融合句法信息从局部和全局视角更好地融合信息[20],进行多事件监测。此外,Ahmad等提出了GATE框架[44],将依赖关系嵌入到上下文表示中,引入自注意力机制学习不同句法依存距离的关系表示,该表示和语言无关,在跨语言场景下具有更好的效果。

2.2.2 构造篇章级连通图

将文档有效建模为篇章级事件连通图[45],通过叠加句子级事件抽取结果来提取最能代表篇章核心内容的事件(不一定是最频繁发生的事件,但篇章中的所有事件都一定与核心事件有关联),但由于一篇文章经常描述多个事件,简单地叠加无法获取核心事件。同一论元可以对应多个事件,以论元为桥梁,构建篇章事件连通图,并使用计算网页重要度的PageRank方法挖掘连通图以获取重要信息。

篇章级事件表示基于以句子级事件,首先利用句法树结构提取句子级触发词和事件论元,将其作为节点构造句子级事件多边形,然后根据节点的共现性和词语的词汇相似性或相关性连接事件多边形,构造篇章级事件连通图,然后使用随机游走计算节点权重,从而计算事件相关度。连通图的作用仅限于提取权重较高的节点,而没有充分利用到图结构信息来计算事件相关度。

2.2.3 建模事件异质图

与仅有一类节点与一类边构成的同质图不同,异质图是由多种节点和多种边构成的网络如AMR图、知识图谱等。将事件抽取转化为构建基于实体的有向无环图[46],首先识别出文档中所有的事件论元,然后通过文档级信息融合解决句子级抽取造成的信息没有跨句流通的问题。然后根据设定的事件类型,判断文档中是否包含某一事件类型的事件,如果是,则逐步生成该事件类型的有向无环图。有向无环图的生成更类似于表格的填写,每个事件类型的论元都是根据设定好的一步步填写的。由于所有设定的事件类型都是逐个判断的,理论上可以提取一个文档中的多个事件,这就解决了单文档多事件的问题。

Doc2EDAG忽略了事件之间内在关联性,考虑将当前篇章中抽取的事件记录存储下来,在预测时使用。GIT方法考虑构建句子和实体提及的异质图[47],将实体之间、句子之间、实体和句子之间的信息建模构图(节点:句子、候选实体提及;边:句-句关系、句内属性之间关系、属性-句关系、跨句同名属性关系),使用GNN网络进行编码,增强实体提及和句子向量表示。GIT方法基于异质图网络完成篇章内句子、实体提及之间的交互,并引入tracker跟踪预测事件记录。

2.3 融合语义和结构特征的事件抽取方法

文档中的语义特征和结构特征并不是孤立地对事件抽取起作用的,通常会综合考虑上下文语义信息和结构特征两个方面来共同应对“论元分散”和“多事件”问题[39,46-48]。

Doc2EDAG模型[46]使用命名实体识别模型将所有的事件论元识别出来,然后在添加位置编码后,将句子编码向量与事件论元编码拼接一起输入Transformer中,以促进文档级上下文信息的互通,并获得文档级跨句子信息,然后按照预定义的事件角色顺序为触发的事件类型创建一个有向无环图,最后转化为事件抽取的二分类问题,一定程度上解决了论元分散和多事件问题。GIT[47]基于异质图网络完成篇章内句子、实体提及之间的交互,并引入tracker跟踪预测事件记录以及论元对应抽取记录;DE-PPN设计了基于编码器/解码器结构的端到端模型[48],其中文档级编码器用于获取对整个文档的感知表示,多粒度解码器用于并行地生成事件。对每个句子分别进行编码,经过池化(max-pooling)操作后拼接为文档编码,将事件抽取过程划分为候选论元识别、事件预测、角色填充等多个步骤。面向新冠新闻的三阶段篇章级事件抽取方法将抽取过程分为事件类型分类、事件句抽取和篇章级论元抽取三个阶段。

2.4 任务转化的事件抽取方法

一些研究人员试图借鉴阅读理解[49-54]、智能问答[55-58]等其他任务的有效解决方案来应对复杂的篇章级事件抽取问题。

2.4.1 转化为阅读理解问题

将论元抽取当作机器阅读理解任务[53],把论元角色表述为自然语言描述的问题,通过在上下文中回答这些问题来抽取论元,更好地利用了论元角色类别的先验信息。模型主要包含四个部分:输入层、编码层、跨度预测层和论元分配层。其中,输入层是按照机器阅读理解的设置,利用语料中的事件模式信息生成具有论元表征的问题和原句子作为初始输入表示;编码层通过BERT预训练模型编码字级别特征,利用双向GRU学习序列特征;跨度预测层根据编码层的输出,对每个字进行二分类来确定答案的跨度;论元分配层利用实体提及过滤抽取结果,最后给实体提及分配论元角色。如,问题模板见表1。

表1 问题模板Table 1 Question template

Du和Cardie采用了模板方法[51],表明构建的问题更自然,事件提取性能更好。然而,这些方法都没有一种直接通过简化来解决长期依赖问题。针对长距离依赖问题,通过句子简化方法研究了基于阅读理解的事件抽取[56]。

2.4.2 转化为多轮问答问题

基于多轮问答范式的事件抽取,充分利用触发词、事件类型和论元之间的交互信息,同时多轮的策略可以捕捉相同事件类型中不同论元角色之间的依赖。将事件抽取分成三轮递进式问答:第一轮问触发词是什么?第二轮基于触发词问事件类型是什么?第三轮基于事件类型和触发词问论元[58-59]。

2.4.3 转化为其他任务

以前的一些方法试图从图像中转移视觉知识以改进纯文本事件提取,或者从文本和图像中联合抽取多模态事件,图像包含事件的快照,但可能无法在单个快照中捕获事件的所有论元或参与者。因此,提出视频多模体事件抽取,使用多模体Transformer结构,利用特定的解码器进行联合文本和视频事件以及论元提取,同时构造了一个新的数据集(包含事件类型、事件论元和角色、论元边界、文本和视频中事件的跨模态共指解析)。文献[60]认为写作风格是文件内容组织的一种特殊方式,在具有特殊领域的文件(如财务、医疗文件等)中相对固定,因此将文档中的写作风格建模为论元角色的分布,即角色-等级分布,由此提出了一种基于角色-等级分布的监督机制的事件抽取模型。

3 开放域事件抽取的模型和方法

在事件模式是未知的情况下,开放域事件抽取不拘泥于精确地将事件具体要素全部抽取,其主要目的一般是从开放的文本数据中分析、检测出事件,其目标事件类型和结构不受限制,有更好的事件覆盖率。大多数情况下,开放域事件抽取没有人工标注数据,采用无监督的方法,通常假设当事件触发词和事件论元相似时,其表达的事件类型也相似。开放域事件抽取一般流程是先通过关键词识别进行事件类型发现,关键词进一步分为触发词和事件论元,然后通过关键词聚类相似的事件,最后进行事件模式归纳,如图8所示。

图8 开放域事件抽取一般流程Fig.8 General process of open domain event extration

按照特征提取方式,将开放域事件抽取方法分为两类:基于传统聚类的方法和基于神经网络的方法。

3.1 基于传统聚类的方法

基于传统聚类方法的开放域事件抽取[61-64]主要采用LDA(隐含狄利克雷分别)和基于单词距离的层次聚类算法进行聚类。Sha等采用归一化割的聚类算法计算事件论元所属角色的类别[61],Huang等将触发词和论元的组合表示进行谱聚类,同时发现事件类型并进行事件模式归纳[62],Ferguson等采用半监督的方法,首先将提及同一事件的文本聚类,然后给每个聚类中贴上一个标签,最后,将新示例与原始训练集一起重新训练事件抽取器[63]。这几种方法都是先识别出触发词和论元,再为论元进行角色分类,Ahn等则采用逆向思维,提出先利用表示学习进行角色分类,再进行事件类别聚类的方法[64]。

3.2 基于神经网络的方法

传统聚类的方法依赖人工提取特征,且没有充分利用文本语义信息,事件模式归纳的性能严重依赖依存句法分析、AMR语义分析等工具的性能,而神经网络及其增强的模型能够有效利用上下文语义信息进行自动特征提取[65-70]。Liu等提出一种基于神经网络的深度隐变量模型,对开放域新闻数据进行聚类抽取[65];Wang等提出生成对抗网络的事件抽取模型,使用狄利克雷(Dirichlet)分布对事件建模,利用生成器网络捕获潜在事件模式,利用鉴别器区分原始文档和从潜在事件中重建的文档[66];文献[70]尝试使用对抗域自适应模型采用对抗训练的方法,按照表示学习、事件分类和领域预测三个步骤进行触发词识别。最近的一些研究将零样本学习(zero-shot learning)应用于事件抽取[71-72],将其视为分类问题。把带有标签事件提及的事件类型视为可见类型,将其他事件类型视为不可见类型,利用神经网络架构通过最小化事件类型之间的距离来共同学习,并将二者的结构表示映射到共享的语义空间中,以此完成事件抽取。随着prompt技术的发展,信息抽取任务中命名实体识别、关系抽取等使用prompt learning达到了较好的效果[73-76],同时也有些学者开始研究利用prompt进行事件抽取。

4 数据集和评价指标

4.1 数据集

篇章级事件抽取常用数据集有以下几种:

ACE2005数据集,包含599篇文档,18 117个句子。

MUC-4数据集[77]是在第四次信息理解会议中提出的,定义了5种事件类型,包含1 700篇发生在拉丁美洲的恐怖袭击的新闻报道。

Google数据集是GDELT[78]事件数据库的一个子集,与事件相关的包含30种事件类型,11 909篇新闻文章。

Twitter数据集是从2010年12月发布的应用Twitter流媒体API发布的推文中收集的,包括20种事件类型和1 000条推文。

NO.ANN,NO.POS,NO.NEG(DCFEE),在文献[17]中定义了5种金融事件类型:股权冻结、股权质押、股权回购和股权增持。通过远程监督的方法自动标注了2 976个公告(文档)。NO.ANN表示每种事件类型标记的公告数量,NO.POS表示正例数,NO.NEG表示负例数。其中91%的事件的论元均分散在多个句子中。

ChFinAnn(Doc2EDAG),中文金融领域数据集ChFinAnn,共包含32 040篇文档,5种事件类型同DCFEE定义。

RAMS数据集。跨多个句子的角色(RAMS)由Ebner等人[79]发布,用于论元链接任务,包含139种事件类型,3 194个文档和65个角色。

WIKIEVENTS,由Li等人作为文档级基准数据集发布[80]。该数据集收集自描述真实世界事件的英文维基百科文章。

DuEE是百度发布的金融领域数据集[81],包含13种事件类型,11 700篇文档。

CEC是由上海大学语义智能实验室构建的中文突发事件数据集[82]。共332篇文档,5类突发事件(地震、火灾、交通事故、恐怖袭击和食物中毒)。

MAVEN是一个大规模通用领域事件检测数据集[83],包含168种事件类型,4 480篇文档,49 873个句子。

表2列出了常用数据集的语种、文档数量、句子数量和事件类型种类。

表2 篇章级事件抽取数据集Table 2 Datasets of document-level event extraction

4.2 评价指标

事件抽取三个基本的评价指标为准确率P、召回率R和F1值。其中,准确率是指抽取出的正确个数占抽取出总数的比例,用来衡量抽取的准确程度;召回率是指正确抽取的个数占所有正确总数的比例,用来衡量抽取的全面程度;F1值是准确率和召回率的加权平均值,用于系统性能的总体评估,F1值越大,模型性能越好。这三个评价指标的具体公式如下:

其中,TP是正确抽取的正例数,FP是错误抽取的正例数,FN则是错误抽取负例数。

近年来事件抽取领域部分经典模型的效果如表3所示,由于所使用数据集和方法的不同评估指标不尽相同,有些只给出了触发词检测结果(T),有些则给出了论元角色分配结果(Rl),表中P、R、F1均来自对应方法的原文实验结果。

表3 在测试集上的准确率(P)、召回率(R)和F1值Table 3 Overall event-level precision(P),recall(R)and F1-score(F1)evaluated on test set

单事件与多事件评估结果见表4。其中S表示一个句子中只有一个事件,M代表多事件,S&M表示测试数据中既包含单事件也包含多事件。EF、ER、EU、EO、EP是ChFinAnn数据集的5种事件类型。

表4 所有事件类型在单事件(S.)和多事件(M.)的F1值Table 4 F1-score for all event types on single-event(S.)and multi-event(M.)set 单位:%

5 未来研究方向

篇章级事件抽取从文档级文本出发进行事件检测和论元识别,主要面临“论元分散”和“多事件”问题,相关研究针对这两个问题陆续开展。获取不同粒度语义表示的方法限于从词本身、语法关系、前后位置关系的角度捕获语义特征,但对于任意位置、更深层次的语义关系显得苍白无力;通过建模句法语义图、事件连通图和异构图等图模型,利用GCN等来捕获文档结构特征的方法能够有效捕捉文本元素之间更丰富更深层的关系;融合语义表示和结构特征的方法将两者有机结合进行最佳表达来完成事件抽取;同时,也可以将抽取任务转化为阅读理解、智能问答等其他任务来有效应对。尽管这些方法一定程度上解决论元分散和多事件的问题,但抽取效果还有很大的上升空间。因此,未来的研究工作可以关注以下几个方面:

(1)改进基于预训练语言模型的事件抽取。针对目前采用的预训练语言模型BERT作为编码器进行事件抽取的方法,由于事件抽取任务和BERT预训练阶段的任务存在较大差距,且BERT编码过程由于文本片段长度的限制导致缺乏片段之间的交互,不能有效地感知篇章全局信息并建模事件间关系,因而模型学习到的特征表示在事件语义层面可能出现偏差。因此,研究如何使用基于transformer的长文本编码,如Reformer、Longformer等模型作为编码器,充分利用文档中事件之间的关系建模整个文档的全局编码,有利于更好地感知上下文信息有效应对“论元分散”和“多事件”问题。

(2)小样本事件抽取。目前的事件抽取方法多是基于深度学习,需要大量地标注数据,然而,由于标注成本高、数据来源多样等问题,导致事件数据存在稀疏性问题。现有事件抽取数据集大多存在标注数据少的问题,如最主流的数据集ACE2005,只有33种事件类型,599篇文档,其中有些事件类型的标注数据少于10条,在深度学习时代,这么小规模的数据集是难以支持训练比较复杂的模型,测试结果也常常不稳定。因此,一些学者开始研究小样本关系抽取、小样本领域知识抽取等[84-86],未来研究可以更加关注这项富有研究价值和高挑战度的小样本事件抽取。

(3)数据增强的事件抽取。为了解决事件抽取标注数据规模有限的问题,除了研究小样本学习外,还可以从数据增强的角度来缓解,对于文本数据,常用的数据增强方法有回译法、简单数据增强(easy data augmen‐tation,EDA)。回译法是将原来的句子翻译为其他语言,然后再翻译回原语言,可以进行一到两次的翻译,这种方法能够增加文本数据的多样性,但产生的数据依赖于翻译的质量;EDA是通过同义词替换、随机插入、随机交换和随机删除的方式产生新数据,这种方法操作过程中有可能改变句子原来的意思,导致模型性能的降低。2022年最新的研究提出了基于数据增强和弱监督对抗训练的中文事件检测[87],但文中的数据增强采用的是回译和Mix-Text等常用方法,因此,研究新的数据增强方法为模型提供充足的数据支撑是一项有意义的工作,基于此深入研究模型结构、性能,比如能否将事件论元与现有知识图谱中实体融合采用知识增强的方法、能否使用对比学习、多任务学习来训练模型,进而提高模型的鲁棒性。

(4)开放域事件抽取。现有大多数事件抽取关注的是预定义好事件类型的限定域事件抽取,然而预定义的事件模式毕竟有限,事件类型覆盖率较低,抽取模型泛化性不理想,不能推广到新的领域。面对大数据时代积累并随时产生的多源异构数据和多域多元事件,开放域事件抽取的研究势在必行,如何从海量复杂的数据中发现丰富的事件类型和结构,构建高质量的事件模式,并实现事件模式自动归纳与学习,是值得进一步思考和研究的内容。