本文介绍事件抽取,并引出篇章级事件抽取任务及一个较新的研究课题。
事件抽取作为NLP中信息抽取领域的研究热点之一,要求从半结构化、非结构化的文本数据中,将与目标事件相关的重要元素识别出来。事件抽取的目标可概括如下4个子任务:
- Event Detection(事件检测)
- Classify event types
- Identity trigger words
- Event Argument Extraction(事件要素抽取)
- Identity arguments
- Classify arguments' roles
我们首先阐述事件抽取任务的相关概念,如下表所示:
名称 | 描述 | |
1 | Event Type(事件类型) | 根据数据集所预定义的事件类别,如金融领域的“股权冻结”事件类型 |
2 | Argument(事件要素) | 用于描述事件的属性,如时间、地点、犯罪嫌疑人、受害者等 |
3 | Role(事件要素的角色) | 描述Argument的类型 |
4 | Event Mention(事件描述) | 描述事件的短语或句子 |
5 | Span | Span类似于Event Mention,是包含Arguments的短语 |
6 | Trigger(触发词) | 标志、触发事件的短语,一般为动词 |
下图为一个简单的例子:
给定一条文本:CNN's Kelly Wallace reports on today's attack in Netanya.我们需识别出袭击事件类型、Attack触发词、today等事件要素、Time-within等要素角色。
上述例子中仅用单条文本描述了一个事件,可称之为单文本单事件,对应的任务为句子级的事件抽取。但在实际情况中,一篇新闻报道中的多个句子共同描述一或多个事件,即单文档多事件,篇章级任务本身的特点是篇章级事件抽取任务的难点之一。
二、事件抽取任务的发展历史
1.基于规则的特征工程方法(~2015)
此阶段主要通过手工方式来建立模式,抽取时只需通过各种匹配算法找出符合约束条件的信息即可。显然,其核心是抽取模式的构建。
还可以采用经典机器学习中的方法识别事件,通过将事件类型和事件要素的抽取任务视为多分类问题,即可引入传统文本分类任务中的模型。此类思路的核心问题在于分类器的构造和特征的选取。
2.基于神经网络的深度学习方法(2015~2019)
随着以CNN为代表的深度学习方法的兴起,以15年为切点,事件抽取任务开始引入深度学习模型,典型代表为DMCNN(ACL, 2015),它提出一种基于动态池化的卷积神经网络模型以处理事件抽取任务。MOGANED(EMNLP, 2019)则提出一种基于图神经网络的模型。
3.基于PLM的特征表示方法(2019~)
随着BERT论文于18年发表,一系列的预训练语言模型被相继提出,它们借助大量相关训练数据的铺垫,能够大幅提升下游任务中模型的表现。以DMBERT(ACL, 2019)为代表的工作将BERT类模型引入事件抽取领域。
三、事件抽取任务的数据集
1.ACE2005
ACE2005定义了8种事件类别以及33种子类别,如下图所示。每个事件类型和子类型都有自己的Arguments,并用模版的方式进行描述。
到目前为止,大多数基于监督学习的方法皆采用 ACE2005作为数据集,作为一个公布于2006年的小样本数据集,它仅包含1800个英文、阿拉伯文和中文混合体裁的文本文件。再者,ACE2005大多以单个句子描述一个事件,对应的方法基本为句子级的事件抽取模型。此外,作为开放域下的综合型数据集,ACE2005不具备特定领域(如金融、医疗等)数据集的丰富信息。
2.金融领域中文数据集
Doc2EGAG(EMNLP, 2019)公布了迄今为止最大规模的金融领域中文数据集Chinese Financial Announcement(CFA)。该工作从我国股票市场的上市公司公告中提取出结构化与非结构化数据,使用了远程监督的思想完成数据集的自动标注,并进行了提高标注质量的相关工作。CFA数据集的简要描述如下:
CFA数据集共包含32040篇文档,共定义了5中事件类型,分别为股权冻结、股权回购、股权减持、股权增持和股权质押,共包含35种事件要素。据统计,每个样本含约20个句子、912个词、3个事件。
CFA作为大样本数据集,训练难度大,事件类型与事件要素丰富,单文档多事件与论元分散的特点亦大幅提升了事件抽取的难度。
四、前沿工作
CFA数据集提出至今,仅有三份工作围绕其展开。分别是Doc2EGAG(EMNLP,2019)、GIT(ACL,2021)、DE-PNN(ACL,2021)。因GIT与DE-PNN均是在Doc2EDAG模型上的改进框架,下面简要介绍后二者。
1.GIT
GIT可以理解为句子编码、Event与Argument的信息融合以及序列预测的过程。
具体而言,首先使用Transformer对文档中的子句进行编码,然后通过NER识别每个子句中的事件要素。NER过程使用了经典的Transformer+CRF方式。
第二,在信息融合过程中,GIT将事件的Mention与子句表示视为无向图中的节点,将子句与子句视为一种边、子句与Mention视为另一种边,通过图神经网络GCN进行交互。如此,Mention便与sentence捕获了依赖关系,也完成了事件;类型的检测。
第三,此过程可简单视为按照给定顺序(即role)预测事件要素的过程。
2.DE-PNN
DE-PNN实际上也是句子编码、Event与Argument的信息融合以及序列预测的过程。
论文原文中未指明NER所用的方法,但不难猜测,应该是经典的Transformer+CRF,识别出所有的事件要素Arguments。
第二,对得出的事件要素Arguments与子句的特征表示,使用Transformer进行信息融合,将新的子句表示进行分类。至此,完成事件类型的分类。
第三,将一个可学习的权重矩阵引入与上一步中的字句表示进行拼接,使用完整的Transformer Encoder-Decoder结构进行处理。讲故事时,论文借用了Attention中的Query向量的概念。沿用此模式,对第二步中的Arguments进行处理,并对字句特征表示与Arguments依然使用此方式处理。至此,完成了对Arguments和子句的特征融合。个人认为,为每种特征及其组合都引入可学习的权重矩阵进行处理,是一种不折不扣地过度拟合。
第四,共同运用第三步得出的蕴含综合信息的特征与Arguments,进行多标签分类任务,即按顺序预测事件要素。
总结
在序列建模层面,三者均使用了Transformer+CRF,这是一种经典的做法;就信息融合角度而言,GIT首先定义节点与边,进而使用图的方式进行特征融合,而DE-PNN运用了完整的Transformer Encoder-Decoder,具备了生成式方法的特点;在最后的标签解码过程中,三者皆为按照预定义的role次序以完成多次二分类任务。
五、个人工作
对此课题,笔者会从以下四个方面进行展开。一方面可以对序列标注部分进行改进尝试使用其他的BERT类模型进行编码;再者,从篇章级事件抽取本身的难点(即单文档多事件与论元分散)作为切入点;此外,还可以构造新的特征,如组合的方式;最后,可以设计新的信息交互框架,如基于依存句法分析等。