基于组合神经网络的中文事件抽取
2021-03-01季忠祥
季忠祥,吴 悦
(上海大学计算机工程与科学学院,上海 200444)
近年来,信息抽取作为自然语言处理领域的重要研究课题受到了越来越多的关注.事件抽取[1]是信息抽取研究的重要问题之一,旨在从非结构化文本中抽取出人们感兴趣的事件信息,并以结构化的形式呈现出来,在信息检索、自动问答、知识图谱等领域有着广泛应用.
自动内容抽取(automatic content extraction,ACE)测评会议是在事件抽取领域具有权威影响的会议.2005 年,ACE 会议首次将事件抽取作为主要任务之一,定义了事件由事件触发词和事件要素组成,事件抽取任务包括事件识别和事件要素识别.事件识别是确定事件触发词是否与真实事件相关;事件要素识别是识别时间、地点和对象要素.表1 是ACE 中文标注指南中事件触发词和事件要素的示例[2].
表1 ACE 中文标注指南中事件触发词和事件要素的一个例子Table 1 An example of event trigger and event arguments in ACE Chinese annotation guidelines for events
目前,对事件抽取的方法主要分为3 类:基于规则模式的方法、基于机器学习的方法和基于深度学习的方法.基于规则模式的方法的优点是所需标注语料少,在特定领域中准确率较高,但需要依赖领域知识来制定大量的事件抽取规则,灵活性与可移植性较差.这类研究采用的主要方法有:正则表达式方法[3]、词汇-句法模式方法[4]、词汇-语义模式方法[5].
与基于规则模式的方法相比,基于机器学习的方法克服了过度依赖领域规则的问题,具有较好的鲁棒性和灵活性,但在很大程度上依赖于语料库规模和标注质量,容易产生数据矩阵稀疏问题.Chieu 等[6]最早提出使用机器学习的模型进行事件抽取,主要采用最大熵分类器进行事件及事件要素的识别.Ahn[7]提出将事件要素识别的问题转换为分类问题,并采用基于分类学习的模型在ACE 英文语料库上实现了事件识别和事件要素识别.付剑锋等[8]采用一种基于特征加权的事件要素识别算法,对分类算法中的Relie 特征选择算法进行了改进,有效提高了事件要素识别的准确率.
基于深度学习的事件抽取模型具有广阔的应用前景.该模型具有学习特征表示的能力,能自动从自然语言中抽取特征,避免了复杂的特征工程以及人工干预带来的问题.Zeng 等[9]使用双向循环神经网络来提取句子特征,使用卷积神经网络来提取词汇特征,降低了中文分词错误带来的影响,提高了中文事件抽取的性能.张亚军等[10]提出了混合监督的深度信念网络模型来识别触发词,通过深度信念网络抽取词的深层语义信息,并由反向传播(back-propagation,BP)神经网络识别事件,在事件识别中取得了不错的成果.Wu 等[11]提出了基于语义特征和注意力机制的神经网络模型,利用字向量信息搭配注意力机制来生成字词向量,并结合外部语义特征提高词向量的质量,在事件抽取任务中取得较好的成果.
目前,对中文事件抽取的研究依然存在两大问题亟需解决:①汉语词形复杂,其中包含大量长度较长的词语,目前对这类词语的事件识别效果较差;②汉语一词多义现象严重,同一个词在不同的句子中有着不同的含义或是不同的作用.
本工作在上述研究的基础上,提出了一种组合卷积神经网络(convolutional neural network,CNN)与双向长短期记忆(bidirectional long short-term memory,Bi-LSTM)网络的中文事件抽取模型CNN-Bi-LSTM-CRF(CRF(conditional random field)为条件随机场)来进行事件抽取,提高词语特征质量,提高长度较长的词语识别的准确性;并结合基于注意力机制和语义特征的字词联合向量提高词向量表达的准确性,降低一词多义的影响.本工作主要识别事件的触发词和3 类事件要素(事件对象要素、事件地点要素和事件时间要素).
1 模 型
1.1 模型整体框架
将事件抽取任务形式化如下:
W=w1w2···wn表示一个句子,其中n 表示句子长度;
E=e1e2···en表示这个句子的标签.
根据ACE 会议对于事件抽取的定义,本工作主要研究识别事件触发词和3 类事件要素(事件对象要素、事件事件要素和事件地点要素).本工作使用BIO(B 表示实体开头,I 表示实体中间或尾部,O 表示非实体单词)标注模式来标记所识别的对象.对于句子中的每个词语,需要预测其标签E,并使预测最准确.
本工作提出的CNN-Bi-LSTM-CRF 模型组合了Bi-LSTM 和CNN 模型以改进抽取性能.图1 给出了CNN-Bi-LSTM-CRF 的整体架构,主要包括4 个部分:①词向量生成;②Bi-LSTM;③CNN;④CRF.首先,基于注意力机制和语义特征产生字词联合向量,将该向量作为Bi-LSTM 和CNN 的输入,并将二者的结果进行拼接,产生词语的隐含表示.然后,通过全连接层与softmax 得到概率序列.最后,由CRF 模型计算标注序列的得分,得分最高的标注序列即为最终的预测结果.
图1 事件抽取模型CNN-Bi-LSTM-CRF 框架Fig.1 Framework of event extraction model CNN-Bi-LSTM-CRF
1.2 词向量生成
文献[11]已经给出如何产生基于注意力机制和语义特征的字词联合向量,模型结构如图2所示.通过Bi-LSTM 提取字符的向量信息,并将注意力机制与原有词向量进行拼接,最后与语义特征向量进行结合,构成最终向量.
图2 基于注意力机制和语义特征的字词联合向量Fig.2 Joint vector of characters and words based on attention mechanism and semantic features
该模型特点在于:①能够充分挖掘字向量和词向量的信息,并适当考虑二者之间的权重问题;②涵盖了词向量外部的语义特征,以改善词向量的表示效果.
对句子序列中的每个词语wi,通过词嵌入的方式映射到一个分布式向量空间,并得到改进的词向量序列(i1,i2,···,in),
1.3 Bi-LSTM 模型
双向循环神经网络模型(Bi-LSTM)因其长短期记忆能力而更擅长上下文处理,模型接受词向量序列作为输入(i1,i2,···,in),并得出词语的隐含表示,模型结构如图3 所示.
图3 Bi-LSTM 模型Fig.3 Bi-LSTM model
将1.2 节词向量序列按照设置好的窗口参数进行连接,对于超出长度的序列进行裁剪,对于不足窗口大小的序列进行补齐.然后,将向量序列输入正向LSTM 模型和反向LSTM 模型进行处理.为了避免出现过拟合的现象,在LSTM 的输出层之前加入dropout 层.
式中:LSTM(·)表示LSTM 模型内部的计算;[,]表示向量连接.最终得到的表示为第i 个词语的隐含表示(由前向表示和后向表示组成).
1.4 CNN 模型
卷积神经网络(CNN)弥补了循环神经网络长期记忆存在的一系列问题,能更好地获取词语的局部特征.模型接收词向量序列作为输入(i1,i2,···,in),并得出词语的隐含表示,模型结构如图4 所示.
图4 CNN 模型Fig.4 CNN model
首先,将词向量序列通过的h×k 卷积核在输入层从上到下滑动进行等长卷积操作,得到特征图c,其中k 为词向量长度,h 为卷积长度.h×k 的意义在于根据不同h 大小提取不同长度相邻单词的特征,类似n-gram 语言模型.为防止过拟合,通过dropout 层来随机丢弃隐含层的某些节点,
接着,通过池化层对特征进行进一步提取,将最重要的特征提取出来.本工作使用max-overtime pooling 操作,即提取出特征图c 中的最大值作为最重要的特征,
1.5 CRF 模型
CRF 模型的主要作用就是为每个词语分配标记,然后计算整个序列的得分.首先,将Bi-LSTM 和CNN 的结果进行拼接,将二者的特征结合起来,并通过全连接层得到概率分布.本工作使用softmax 分类器将概率分布映射到m 维(m 为标记的类型数),得到一个概率序列(p1,p2,···,pn).pi,j表示单词wi分类到第j 个标签的概率.
然后,通过CRF 模型来计算序列标签得分,最终的预测结果就是得分最高的标注序列.序列得分由两部分组成:词语标记得分和标记转移得分.在这一体系结构中,最后一个隐藏层用于预测每个可能标签的单词的置信度得分.用一个独立的权重矩阵来学习不同标签之间的转移概率,并用Viterbi 算法来寻找最优的权重序列.假设y 是标签序列(y1,y2,···,yn),那么该序列的CRF 分数可以计算为
式中:Pi,yi表示wi的标签是yi的可信度;Ayi−1,yi表示从标签yi−1过渡到标签yi的概率,这些值在训练期间都会进行优化.模型的输出是具有最大score(x,y)的标签序列,使Viterbi 算法可以有效找到该序列.为了优化CRF 模型,损失函数将最大化正确标签序列的得分,同时最小化所有其他序列的得分,
式中:Y 表示所有可能标签序列的集合.
2 实 验
2.1 实验预处理
本实验使用中文突发事件(Chinese emergency corpus,CEC)语料库进行处理.CEC 语料库(https://github.com/shijiebei 2009/CEC-Corpus)是由上海大学智能信息处理展示技术研究所构建,共包括332 篇国内外突发事件新闻报道.与ACE 中文语料库相比,CEC 语料库的标注结果更加完整,更贴近中文日常语法规范,且CEC 语料库已在多项研究中得到使用.
通过外部语料库训练得到的领域专用词向量和基于位置信息的字向量(分为B,M,E 3个向量)均为100 维.在对CEC 语料库进行句子拆分后,共得到8 802 个句子.把经过预处理的语料按照8∶2 的比例进行训练集和测试集的划分,在训练集中又按照8∶2 的比例进行训练集和验证集的划分,最终得到训练集、验证集、测试集三者的比例为6.4∶1.6∶2.0.
2.2 参数设置
本实验的主要参数参考了其他实验的参数设置(见表2).
表2 实验参数Table 2 Experimental parameters
2.3 对比实验
本工作使用以下方法作为对比实验.
CWEP:Chen 等[12]提出的基于位置信息的字向量加强模型.CWEP在生成字向量时,根据字在词中的不同位置生成不同的字向量,字向量也按照位置信息进行叠加.但字词向量也仅以相加的方式结合.
Char-Bi-LSTM-CRF:Misawa 等[13]提出的一种神经模型,使用单词和字符信息预测每个字符的标签.该模型与CWEP 模型类似,但是用一种不同的模型来连接词向量和字向量.
Segment-level Neural CRF:Sato 等[14]展示了Segment-level 的CRF,将神经网络与CRF相结合,用于段级序列建模任务,如命名实体识别(named entity recognition,NER)和句法分块.该模型效果略好于基准的LSTM-CNN-CRF 模型,且实验参数遵循文献[14]原本设置.
CWFA:Wu 等[11]提出的基于语义特征和注意力机制的神经网络模型,主要通过LSTMCRF模型进行事件识别,在词向量中添加注意力机制和语义特征来增强词向量的语义信息.
2.4 实验结果与分析
本工作主要采用召回率(R)、准确率(P) 和F 值来评价事件识别的结果.几个模型的事件抽取效果如表3 所示.可以看到,本工作提出的CNN-Bi-LSTM-CRF 模型达到了最好的效果,得到了最高的F 值.
表3 几种模型的F 值Table 3 F score of the models
本工作统计了事件各个要素的平均长度,如表4 所示.可以看到,触发词平均长度最短,而事件地点要素最长.由对比实验可知,改进的CNN-Bi-LSTM-CRF 模型在触发词识别以及各个事件要素识别都具有更优异的识别效果,且对长度较长词语取得了最好的识别效果(见表5).
表4 事件要素的平均长度Table 4 Average length of event arguments
表5 不同事件要素中的F 值Table 5 F score of different event arguments
本工作还统计分析了识别错误的信息,结果发现导致错误的原因如下.
(1) 分词错误.例如“停车”,这是一个不及物动词,然而根据传统语义,“停”是动词,而“车”是名词.分词的错误最终造成识别失败.在这方面需要改进分词工具的性能,完善语言规范等.
(2) 语义特征表达不充分.词向量所包含的语义信息不够充分,从而出现错误的句子标记结构,因此需要进一步加强外部语义特征,此外可以尝试增加主题特征等.
3 结束语
本工作提出了一种基于组合神经网络的中文事件抽取模型CNN-Bi-LSTM-CRF.本模型结合了Bi-LSTM 和CNN 的特点,能提取词语的隐含表示,并使用CRF 进行标记预测.实验结果显示,本工作提出的CNN-Bi-LSTM-CRF 模型与其他模型相比具有更高的准确率,且对词型复杂的事件要素具有较好的识别效果.但CNN-Bi-LSTM-CRF 模型训练耗时较长,并依赖大量训练集,未来的工作将主要针对这两个目标进行改进.另外,将尝试更加高效地进行事件抽取,减少模型冗余度,同时探索在小规模数据集中进行事件抽取.