缪梓敬,梅 欣
(华南师范大学计算机学院,广东 广州 510631)
自动内容抽取(Automatic Content Extraction, ACE)测评会议将事件定义为:发生在某个特定的时间点或时间段,某个特定的地域范围内,由一个或多个角色参与的一个或多个动作组成的事情或状态的改变[1]。事件抽取研究从非结构化文本中自动抽取用户感兴趣的事件信息并以结构化形式表示[2],是构建事件知识图谱的关键技术[3-6],其在信息检索、智能问答等场景有着重要意义[7-8]。事件检测是事件抽取的关键子任务,旨在从文本中自动识别事件触发词并将其分类为对应的事件类型,本文主要研究面向中文的事件检测方法。
由于中文与英文在语言特性上的差异,2种语言的事件检测方法存在很大的不同。与英文相比,中文事件检测更加困难,原因在于:
1)中文最小自然语义单位为词汇,词汇对上下文语义的理解非常重要,但与英文中单词以空格相隔不同,中文词汇间不存在自然分隔[9],对序列不同的分词结果就容易产生不同的语义。如对于句子“原苏联在前民主德国驻扎军队”,分词结果为“原/苏联/在/前民主德国/驻扎/军队”,就产生了边界错误。
2)中文事件检测还包含“分词-触发词”不匹配的问题,包括“词内部触发词”和“多词组合的触发词”2种情况。如图1所示,第1条句子中对于分词“打死”,存在2个事件的触发词,其中“打”为袭击事件的触发词,“死”为死亡事件的触发词;触发词还可能为多词组合的形式,图1中第2条句子中“受”“了”“伤”共同构成“受伤”类型事件的触发词。
图1 触发词与分词不匹配的情况
基于中文的特性,本文选择字级别模型进行事件检测,并提出一种基于多词汇特征增强的方法,将多词汇信息引入到字模型的字符表示中以充分保留和利用词汇信息。然后,通过设计的词汇特征权重决策方法进一步确定词汇的重要性,保证符合当前语义的词汇信息得到合理利用。本文模型也避免了词模型因分词边界错误导致的直接错误累积。
早期事件检测的研究大多是基于模式匹配或传统机器学习的方法。模式匹配主要基于规则的方法实现,如Riloff[10]开发的AutoSlog模式、姜吉发[11]提出的IEPAM、谭红叶[12]提出的GenPAM模式等。常用的机器学习模型如支持向量机[13]、条件随机场[14]、最大熵模型[15]等也被用于事件检测任务中。
近年基于深度学习的方法成为事件检测研究的主要手段,主流研究尝试引入多种维度的语义特征增强性能。Chen等人[16]提出了动态多池化卷积神经网络模型,在多事件句子中根据当前候选事件触发词和事件论元保留关键信息。Zeng等人[17]通过结合卷积神经网络和双向长短期记忆模型融合了字与词的语义信息。Lin等人[18]利用动态多池化卷积网络分别学习字与词的表示,并设计了门机制来融合2种表示,通过构建的触发词生成块与事件分类块进行事件检测。朱培培等人[19]以词语为输入单位,利用双向门控循环单元网络学习句子及上下邻近句子的特征。吴凡等人[20]分别编码字和词表示,以字词的关系构建边,使用了图卷积模型融合字词的语义信息。这些工作虽然考虑了词汇信息对模型触发词识别的作用,但仅考虑了一种分词结果,容易因词汇边界错误造成触发词与词汇不匹配问题。丁玲等人[21]针对该问题,为模型保留了序列的多种分词结果,通过字与词融合门机制获取混合表示,但在多于3种分词结果的情况下采用丢弃处理,容易造成准确词汇语义的丢失。
与前面方法不同,本文提出的方法可以保留并利用序列所有可匹配的词汇信息。该方法结合词典的多词汇信息与自动分词工具的高精度特点,通过词典为序列匹配所有可能存在的词汇,并基于词频统计与自动分词工具协同决策词汇权重,进一步保证了词汇信息的高准确性,同时引入多词汇信息加以补充,避免单一分词结果容易造成的错误累积问题。
本文提出的模型(Multiple Lexicon Cooperative Determination, MLCD)的基本框架如图2所示,主要分为以下模块:结合字符特征、多词汇特征和实体特征的特征融合层;学习上下文特征的序列建模层;预测触发词标注结果的标注计算层。
图2 模型的基本框架
本文基于字级别建模,将字符转化为分布式表示的向量嵌入。基于BERT模型[22]强大的动态编码和语义表达能力,本文利用BERT预训练模型获取中文字符的编码表示,可以更好地表征字符的多义性。给定输入序列Input={c1,c2,…,cn},其中ci,i∈[1,n]为输入序列中的字符,则对于字符ci有:
xi=BERT(ci)
(1)
其中,xi表示字符ci通过BERT模型得到的向量表示。
2.1.1 多词汇信息
词汇包含丰富的局部上下文信息,单纯基于字级别特征的模型无法利用词汇信息。为了引入词汇信息,前人的工作[23-24]大多是通过自动分词工具获取序列分词结果,根据字符在词汇的相对位置引入对应的标签。以“BMES”标记为例:
xi=[BERT(ci);eseg(seg(ci))]
(2)
其中,seg(ci)表示字符ci经自动分词工具获得的分词标签,eseg表示分词标签“BMES”的查找表。
这种分词方法可以引入字符上下文相关的词汇信息,但直接依赖分词工具的分词结果。如果分词工具对当前上下文的分词效果存在错误,就会导致词汇信息的错误利用。
受到Ruotian等人[25]启发,本文采用外部词典匹配的方法,为字符引入丰富的多词汇信息。对输入序列的每一个字构建4个集合,分别为:{B}、{M}、{E}、{S},表示该字位于匹配词的相应位置的词汇集合。{B}记录了在词典中可匹配以该字为开头的子序列的所有词汇,{M}、{E}、{S}同理,分别表示该字处于词中间、词结尾、单字符的匹配词汇的集合。以图3为例,假设当前子序列片段为“中国人民大学”,对于“国”字在词典中匹配词汇,{B}匹配到的词汇有“国人”,{M}匹配到的有“中国人”“中国人民”和“中国人民大学”,{E}和{S}同理。如果集合为空,则用特殊的空词汇表示。4个集合的构建分别为:
图3 获取词汇信息
B(c)={wi,j,∀wi,j∈D,1≤c=i (3) M(c)={wi,j,∀wi,j∈D,1≤i (4) E(c)={wi,j,∀wi,j∈D,1≤i (5) S(c)={wi,j,∀wi,j∈D,1≤c=i=j≤n} (6) 其中,D表示包含字符c的子序列在词典中可匹配的所有词汇。 对集合中每个词编码,再对集合中的词汇进行聚合表示。如果采用模型动态加权的方法确定词汇权重容易增加模型复杂度和时间性能的损失。考虑方法的时间性能问题,由词汇在统计文本中出现的频率作为该匹配词汇的权重。统计文本可以是训练集,或与任务需求所属垂直领域的文本。然后,再以此获得每个词汇集的聚合可表示为: (7) (8) 其中,VS(A)表示词汇集A的聚合表示。hw表示词汇w的权重,即其在静态文本中的出现频率。ew(w)表示从词典中查找词汇w的向量表示,而H则表示4个词汇集的所有词频之和。 然而,单纯依靠词频来确定词汇重要性的方法无法保证对当前上下文语义的正确理解。当词汇集中存在词频较高但不贴切当前上下文语义的词汇时,容易引入错误的词汇信息。因此,本文提出一种采用静态文本词频统计与自动分词工具协同计算词汇权重的方法。该方法利用自动分词工具对序列分词与词汇集中的其它匹配词汇相比,该字对应的自动分词结果在多数情况下具有更高的置信度,可作为协同决策匹配词汇重要性的软依据。利用分词工具得到的词汇应具有更高的权重。如图3的例子,对于“国”字,自动分词工具的分词结果为“中国人民大学”,与其它匹配词汇相比,明显更符合当前上下文的语义。通过自动分词工具与静态文本词频协同决策词汇的权重,可以尽可能保证词汇语义的精确利用,即: hws=hws+K·max(A) (9) A={hw,∀w∈B∪M∪E∪S} (10) 其中,ws表示自动分词工具得到的分词。max(A)表示字符对应词汇集的词频最大值,K则表示其系数。 引入多词汇特征之后,新的字符xi表示为: xi=[BERT(ci);el] (11) el=[VS(B);VS(M);VS(E);VS(S)] (12) 2.1.2 实体标签信息 利用自动分词工具还可以引入实体标签信息。实体信息可以反映作为实体的词汇在序列上下文中充当的角色。考虑现实中的数据在大多数情况下并不存在已标注好的实体标签,本文并未如前人直接引用数据集中已标注的实体标签[26-27],而是基于分词工具的实体标签引入实体信息。以百度LAC分词工具[28]为例,可标注的常用实体信息有“人名”“地名”“机构团体”和“时间”。根据字符所在实体引入实体标签信息,最终字符表示为: xi=[BERT(ci);el;eentity(entity(ci))] (13) 其中,entity(ci)表示获取字符ci对应的实体标签,eentity表示实体标签的查找表。 (14) (15) (16) 将得到的序列表示H={h1,h2,…,hn}输入到标注计算层预测触发词标签序列。 考虑连续序列标注之间的依赖性,本文采用条件随机场(Conditional Random Field, CRF)预测触发词标注结果。条件随机场在标注列表中选择标注结果并进行打分,再将特征函数的分数进行加权求和,分数越高,表明该标注结果越可信,选择可信度最高的标注作为最终结果。条件随机场根据标签之间的依赖关系信息,为最后预测的标签添加约束,这些约束在训练的过程中通过CRF层自动学习,保证预测标签序列合理,降低预测错误的概率。 3.1.1 实验数据和评价方法 ACE2005是事件检测研究中最常用的数据集,本文将ACE2005中文数据集作为实验数据,该数据集包含633篇中文文档,其中包含了事件触发词、事件类型、事件元素和实体等标注信息。为进行公平对比,本文采用与前人的工作相同的划分方法,将569/64篇文档分别作为训练集/测试集,并从训练集中随机选择33篇文档作为验证集。 本文采用与先前工作一样的方法定义模型预测结果的评价标准。如果预测触发词与标注触发词的偏移量相同,则说明触发词被正确识别;在偏移量相同的情况下,如果预测触发词被分类为正确的事件类型,则证明触发词被正确分类。本文采用精确率(Precision)、召回率(Recall)和F1值作为事件检测任务的评价指标。 3.1.2 实验超参数设置 本文以大规模中文预训练词向量作为词典,获取词汇以及其向量表示,利用百度LAC分词工具[28]获取自动分词结果和常用实体标签信息。在实验中,公式(9)中的K设置为1.2,模型采用的超参数设置如表1所示。 表1 模型超参数设置 3.2.1 对比模型 本文将提出的基于多词汇特征增强的中文事件检测模型MLCD与前人的模型进行比较,实验结果如表2所示。 表2 事件检测的实验结果 单位:% 从表2可知: 1)本文提出的模型MLCD在触发词识别和触发词分类任务中均取得了最好的效果,在触发词识别任务上F1值提升了0.7个百分点,在触发词分类任务上提升了2.6个百分点。 2)DMCNN和C-BiLSTM分别基于字和词进行了实验,结果均表明基于词的模型在事件检测任务上的性能优于基于字的模型,这说明单纯基于字的模型缺乏利用序列的词汇信息理解上下文的能力,反映了词汇特征的重要性。 3)本文方法在触发词识别与分类的精确率上低于Bi-GRU-doc,但在触发词识别与分类的其它指标上均优于Bi-GRU-doc,这表明本文方法有更好的综合性能。 4)虽然NPNs、JRCW-GCN和文献[21]提出的分层次多粒度语义融合模型都联合了字词信息,但NPNs和JRCW-GCN仅使用单一分词结果的词汇信息,相对容易遭受分词错误的影响。而分层次多粒度语义融合模型在可匹配词语的数量超过3时直接采用丢弃的方式处理,容易丢失正确的词汇信息。本文方法则考虑融入所有可匹配词汇,并通过静态文本词频统计及分词工具协同决策词汇特征的重要性,尽可能获取准确的语义信息,从而提高了最终性能。 3.2.2 特征增强的有效性 为验证本文提出的特征增强方法在中文事件检测任务上的作用,本文进行了一系列的语义特征增强方法对比实验,包括本文提出的以及前人研究中常用的语义特征引入方法,方法描述如表3所示,实验结果如表4所示。 表3 对比模型的设置 表4 对比实验结果 单位:% 由表4可知: 1)Baseline模型在触发词识别与分类的F1值分别可以达到74.3%和71%的性能,说明与其它获取字特征的方法相比,BERT根据上下文动态提取字向量特征的特点使其具有更强大的表征能力;而与基于词的模型相比,则避免了分词与触发词不匹配的问题。 2)为字符向量引入Bi-Char特征表示之后,模型的触发词识别与分类的F1值均有所下降,说明二元字符Bi-Char在中文事件检测任务上并未带来积极的语义信息。 3)传统利用自动分词工具引入词汇特征的方法对中文事件检测有提升作用,在触发词识别和分类任务上F1值分别提升了0.9个百分点和1.1个百分点;而本文提出的引入多词汇特征的方法在2个任务的F1值分别提升了2.5个百分点和2.9个百分点,说明本文的方法能够为模型带来更加丰富和准确的语义信息。 4)本文进一步尝试引入实体维度特征,除了触发词识别的精确率略微下降0.2个百分点以外,2个任务的其余指标均有一定的提升,说明引入实体特征在一定程度上能提升了事件检测模型的性能。 3.2.3 词汇特征的权重决策 本文在词汇特征重要性决策上进行了相应的对比实验,确定词汇权重的方法如下: 1)词平均加权Avg-weighted:取词汇集中所有词汇表示的平均值直接作为该词汇集的特征向量表示。 2)词频加权Fre-weighted:通过静态文本词频统计为词汇表示加权求和获取词汇特征表示的方法。 3)协同决策加权Co-determination:本文的模型MLCD采用的方法,即利用静态文本词频统计与分词结果协同决策词汇集中的词汇权重。 此处,本文通过3种不同的决策方式为Baseline模型(Baseline模型设置同表3所述)的字符表示引入多词汇特征,实验结果如表5所示。 表5 词汇特征权重决策方式的实验结果 单位:% 从表5可看出,词平均加权法在ACE2005中文数据集上带来的性能提升有限,说明平均加权的方法无法让模型判断更符合当前上下文语义的词汇信息;静态文本词频统计加权的方式则在多数情况下给予了模型可靠分析词汇信息的能力;而本文提出通过外部词典与自动分词工具协同决策词汇重要性的方法进一步提高了触发词检测和触发词分类任务的性能。由此可见,多词汇特征信息的引入需要选择合适的词汇权重决策方式,才能准确利用词汇语义提高模型性能。 本文提出了一种基于多词汇特征增强的中文事件检测模型。通过外部词典匹配多个词汇并嵌入到对应位置的词汇集中,并利用静态文本词频统计与自动分词工具协同决策词汇重要性,将字符表示与词汇特征进行融合,增强模型的语义能力。在ACE2005中文数据集上的实验结果显示,与当前最好的模型相比,本文模型在事件触发词识别和触发词分类上都有一定的提升。当前中文事件检测任务上还存在其它的一些问题,如事件触发词为未登录词的情况。因此,笔者的下一步研究方向是探索如何处理未登录事件触发词的事件检测问题。2.2 序列建模层
2.3 标注计算层
3 实验与结果分析
3.1 数据集与实验设置
3.2 实验结果与分析
4 结束语