APP下载

基于混合表示的中文事件检测方法研究

2019-05-24秦彦霞王中卿郑德权

中文信息学报 2019年4期
关键词:字符向量词语

秦彦霞,王中卿,郑德权,张 民

(1. 哈尔滨工业大学 计算机科学与技术学院,黑龙江 哈尔滨 150001;2. 苏州大学 计算机科学与技术学院,江苏 苏州 215006)

0 引言

事件作为信息的一种表现形式,定义为特定的人、物在特定时间和特定地点相互作用的客观事实。事件的主要内容包括: ①触发词,是句子中能够表示事件发生的核心词,多为动词或名词;②事件类型,是事件所属的类别;③论元,是事件的参与元素;④论元角色,是论元在事件中扮演的角色。事件检测任务是从无结构化文本中识别事件发生并判断其事件类型的任务,即识别触发词和判断事件类型。事件检测在整个事件抽取任务中意义重大,是后续识别论元及其角色的前序任务,其效果决定了事件抽取的性能。

传统事件检测方法采用人工构建特征表示每个候选触发词的词法、句法、语义信息,并借助基于统计的分类模型判断其事件类型。然而,人工特征的构建比较耗时耗力,且依赖于专家知识[1-5]。

近年来,基于神经网络的特征学习方法在自然语言处理任务中展现出了巨大的优势。不同于传统的离散型特征,神经网络特征是连续型向量特征,不仅能够建模语义信息,还能自动组合构建更上层的特征。神经网络模型在事件检测任务中取得了突破性的进展。现有神经事件检测方法均是基于英文事件检测[6-13]。在中文事件检测任务上,只有极少的工作[14-15]初步探索了字级别和词级别的神经网络特征的应用。现有方法并未探索基于字和词的混合特征的作用。

经过统计分析,本文发现中文事件数据集中的未登录词现象比较显著,导致了较低的召回率。本文进一步发现未登录词中的字都是登录字,即该字在训练集中出现过。针对这一现象,本文研究了字符信息对于解决未登录词问题的作用,通过词语中的字符学习了词语的字符级表示,并和词语级表示一起组成混合表示。

词语的混合表示同时融合了词语级信息和字符级信息。一般来说,未登录词的词语级表示是特殊词“”对应的表示,没有区分性。然而,若未登录词中的字是登录字,则可以通过较为丰富的字符级信息弥补未登录词的词语级信息较少的问题。对于登录词,字符级信息也能够对词语级信息起到辅助作用。本文认为字信息不仅能够辅助词语的语义表示,还能够揭示词语的语法结构信息。

为了解决中文事件检测中的特征工程问题,本文实验了神经网络模型在中文事件检测任务中的特征学习能力,构建了基于词表示的中文神经事件检测模型。模型采用词向量表示句子中的词语的词法、语义信息,并通过基于词语的循环神经网络模型学习词语的历史和未来序列信息,然后通过softmax分类器判断词语是否是触发词,以及词语对应的事件类型。

进一步地,为了解决未登录词问题,本文采用基于字的循环神经网络学习词语的字符级表示,并和词语级表示拼接得到词语的混合表示,继而进行事件类型分类。在ACE2005中文事件数据集上的实验表明,本文提出的词语的混合表示模型在中文事件检测任务中优于词语级表示模型,验证了词语的字符表示模型的作用。

1 相关工作

作为一种有监督多元分类任务,事件检测方法包括两个步骤: 特征选择和分类模型。不论语言,传统事件检测方法的分类模型大多是最大熵模型和支持向量机分类模型。神经事件检测方法的分类模型是softmax分类模型。不同之处在于特征选择和学习方法的不同。

传统事件检测方法的重点在于研究人工构建特征表示触发词。英文事件检测方法[1-5]采用的具体特征包括:①词法特征。例如,当前词及周边词的一元、二元文法、词性标签、词干、同义词等;②句法特征。例如,当前词的依存词、核心词、依存弧、是否是代词、到论元的路径等;③实体信息。例如,实体类型、距离当前词最近的实体及其类型等;④篇章级特征。例如,相同/类似事件对应的论元一致性特征[2]、同一单词触发的事件类型一致性特征[3]、相同类型的实体参与的事件一致性特征[4]。

除了词法、句法、实体信息外,中文事件检测方法[16-18]针对未登录词、分词错误和伪触发词问题,探索了触发词的组合语义信息、触发词的形态结构信息、基于字的序列化标注、语义角色标注、触发词概率、零指代、触发词一致性、同义词扩展、跨语言信息等的作用。

神经网络模型的特征学习能力在英文事件检测任务中得到了验证。英文神经事件检测方法[6-13]首先通过预训练的词向量作为每个单词的初始向量表示,建模了单词的语义和语法信息[19]。除了词向量表示外,还通过向量化实体类型特征和位置特征融入更丰富的特征。至于上层特征学习,他们使用卷积神经网络(convolutional neural network, CNN[20])学习短语级别特征,并通过循环神经网络(recurrent neural network, RNN[21-22])学习句子级别的特征。此外,研究者们还探索并验证了论元信息[10]、外部语义知识[11]、跨语言信息[12]、依存信息[13]等对于事件检测的影响。

现有的中文神经网络事件抽取方法初步探索了词级别的信息和字级别的信息对于事件检测的作用[14-15]。Zeng等[14]将中文事件检测任务通过两种方式解决:基于词的分类模型和基于字的序列化标注模型,并比较了两种模型的效果。两种模型的特征表示分别用基于词的混合表示模型和基于字的混合表示模型来解决。Zeng等[14]认为基于卷积神经网络和循环神经网络的混合模型能够同时学习句子级特征和短语级特征。Lin等[15]提出基于字的事件块模型来解决词和触发词的不匹配问题。在基于字的事件块模型中,他们采用DMCNN的框架分别学习基于词的表示和基于字的表示,并将词表示融合到字表示中。

和以往神经事件检测方法相同,本文采用词向量作为词语的初始向量表示,并通过循环神经网络学习上层特征,然后用softmax模型进行分类。和以往工作不同的是,本文采用循环神经网络分别学习基于词和字的信息,并将二者融合得到词语的混合表示,用于解决事件检测中的未登录词问题。

2 任务定义

给定一个句子W=(w1,w2,…,wn),事件检测任务是判断句子中每个词语wt是否是触发词,并识别其对应的事件类型lt,最后得到事件类型序列L=(l1,l2,…,ln)。本文使用的ACE2005数据集定义了8种事件类型和33种子类型。和以往方法一致,本文的事件检测方法采用33种子类型。本文将触发词的识别(二元分类问题)和事件类型分类(33元分类问题)合并成一个联合任务,即K(34)类分类问题。

本文在图1中展示ACE2005数据集中事件样例。该句中包含三个事件,分别为“扫射”(攻击类型事件)、“打”(攻击类型事件)和“死”(死亡类型事件)。图中的弧表示事件的论元及其角色。

图 1 ACE2005中文事件样例

ACE2005中文数据集中未登录词现象较为严重,即测试集中出现的词语未在训练集中出现。未登录词一般用统一的特殊字符“”替换,其特征表示包含的信息量较少,没有区分性。更特别地,如果触发词本身是未登录词,会影响到触发词识别模型的学习能力,进而导致触发词识别召回率较低的问题。表1展示了ACE2005中文数据集中未登录现象的统计,包括词语、触发词和字的未登录比例。

表 1 ACE2005数据集中未登录现象

可以看到,未登录词语的比例高达28.1%。触发词的未登录比例达10.5%。表2展示了部分未登录词语和触发词的例子。

表 2 未登录的词语、触发词实例

虽然未登录词的比例较高,但未登录词包含的字则不一定是未登录字。首先由表1可知,字的未登录现象较少。其次经过统计,属于未登录词的触发词中包含至少一个登录字(即在训练集中出现过的字)的词语比例是100%。

例如,“烫伤”是未登录词,只出现在测试集中。“烫”和“伤”两个字均出现在训练集中,通过“烫”和“伤”的表示,可以推断出“烫伤”是一种由“烫”导致的伤害。

除了通过词表扩展同义词、建立触发词勘误表等方式外,传统事件检测方法[17]还采用词语的形态学构成等信息来扩大测试集中候选触发词的范围,以缓解未登录词问题。本文提出基于神经网络模型的字符表示学习模型来辅助未登录词的特征学习。

3 基于混合表示的神经事件检测模型

本文提出的基于混合表示的神经事件检测模型框架如图2所示。模型包括: ①映射层,用于得到词语的词向量表示;②双向GRU层,用于学习词语级别的上层特征;③混合表示层,用于得到词语的混合表示;④分类层,用于得到词语的事件类型。

图 2 中文神经网络事件检测模型框架

3.1 词语表示

和传统方法一样,本文设计的神经网络事件检测方法以词语为基本单位进行特征表示和分类。传统方法中采用离散型特征表示每个词语,本文则采用连续型实值向量表示每个词语。具体地,本文通过查询预训练词向量矩阵D获得词语的初始向量表示。本文通过Word2Vec工具采用skip-gram模型在大规模文本中学习到词向量矩阵。预训练的词向量能够学习到词语的词法、语义信息。例如,上述例句中词语“扫射”,本文通过在矩阵D中查找词语“扫射”并获得其对应的词向量。

如此,每一时刻的向量表示不仅包含当前时刻的信息,还包含前面时刻的历史信息,使得特征更丰富。例如,词语“扫射”的隐层向量表示由“扫射”的词向量信息和前文“两名武装分子向士兵”的历史信息共同学习得到,并代表着文本“两名武装分子向士兵扫射”的信息。

对于事件检测任务,不仅历史信息有帮助,未来时刻的信息也对触发词识别和事件类型分类有辅助作用。故而,本文采用循环神经网络模型学习反向序列中的特征,计算如式(2)所示。

对于循环神经网络,本文选择门循环单元网络(gated recurrent units, GRU)[22]进行特征学习。

3.2 词语的字符表示

本节提出采用神经网络模型学习词语中的字符序列信息得到词语的字符表示。词语的字符表示模型如图3所示。

图 3 词语的字符表示模型

对于包含m个字符的词语w=(c1,c2,…,cm),映射成字向量后得到序列X=(x1,x2,…,xm),然后通过双向GRU模型学习序列的双向隐层表示。本文将最后一个字符cm的双向隐层表示进行拼接,作为词语的隐层表示,如式(4)所示。

例如,词语“扫射”的字符级向量表示是最后一个字符“射”的正向隐层向量和反向隐层向量拼接而成。

3.3 混合表示

3.4 事件检测

本文采用softmax分类层对句子中词语进行分类,得到其事件类型。

对于句子中词语wt,隐层表示为ht,通过前向神经网络映射到标签空间,具体见式(6)。其中权重W′∈RK×d,K是事件类型个数,d是词语的混合表示向量维度。

然后通过softmax得到词语的事件类别概率。词语wt属于事件类别i的概率计算如式(7)所示。

词语wt的事件类别计算如式(8)所示。

以词语“扫射”为例,其属于事件类别“攻击”的概率应该大于其他事件类别的概率,对应的l6应该是“攻击”。

3.4 模型训练

本文采用最优化目标函数的方法,学习最优的模型参数。假设句子W=(w1,w2,…,wn)的事件类型序列为Y=(y1,y2,…,yn),本文采用交叉熵计算目标函数如式(9)所示。

其中,θ是模型参数,包括预训练词向量矩阵、词语级表示模型参数、字符级表示模型参数和softmax分类器参数。

为计算模型参数θ,本文通过随机梯度下降法(SGD)最小化目标J(θ)。本文采用反向传播(back propagation)更新参数。为避免过拟合问题,本文采用Dropout机制随机删除一定比例p的输入向量表示单元。

4 实验结果及分析

4.1 实验数据

本文在ACE2005中文数据集进行实验。 该数据集包括633篇来自于Broadcast News,Weblog,Newswire的文档。和文献[16]相同,选择66篇文档作为测试集,并从剩下的567篇文档中随机选择33篇作为开发集,并将剩余的534篇作为训练集。本文采用中文分词工具ICTCLAS对句子进行分词,并保留句子中实体作为一个词语。本文将ACE提供的实体、时间、值统称为实体。相关数据统计如表3所示。

表 3 ACE2005中文数据集统计

4.2 评价方法

和文献[16]相同,本文采用如下评价标准来判断触发词和论元识别分类正确与否。

(1) 触发词识别正确的前提是其位置匹配到一个标准触发词的位置。

(2) 事件类型分类正确的前提是触发词的位置和事件类型匹配到一个标准触发词的位置和类型。

本文采用准确率P(Precision)、召回率R(Recall)和F1值作为评价指标。

4.3 模型参数

本文采用基于大规模中文混合语料训练的词向量、字向量[注]https://github.com/Embedding/Chinese-Word-Vectors。该向量表示基于skip-gram模型采用Word2Vec训练,语料包括百科、新闻、问答、微博、文学作品等。

词级别的特征学习模型中,词向量维度为300,隐层表示维度为100,dropout概率为0.5。字级别的特征学习模型中,字向量维度为300,隐层表示维度为50,dropout概率为0.5。学习率为0.5。

4. 4 实验数据

4.4.1 实验效果及对比

本节将提出的中文神经网络事件检测方法和已有事件检测方法进行对比。本文选择如下系统:

(1) Rich-C,是文献[18]中的包含丰富语言学特征的传统事件检测系统,特征包括语义角色标注、触发词概率、零指代、触发词一致性等。

(2) Joint-L,是Li等在文献[16]中提出的传统事件检测方法,该方法联合学习触发词识别和事件类型分类任务。

(3) HNN,是文献[9]中的神经事件检测系统,该混合模型同时采用双向LSTM和CNN模型学习特征。

(4) HNN-errata,是文献[14]中的神经事件检测系统,该模型是基于双向LSTM和CNN的混合模型。不同于HNN,该模型加入了触发词勘误表以修正事件类型。触发词勘误表中记录了训练集中常见触发词及其事件类别,若勘误表中触发词出现在测试集中则直接将该词的事件类别设定为勘误表中对应的事件类别。

(5) CNN-hybrid,是文献[15]的基于CNN模型的神经事件检测系统,该模型考虑了基于词表示和字表示的混合表示。

(6) RNN-hybrid是本文提出的基于混合表示的神经网络模型。本文用RNN学习句子和词语中的序列信息,并使用词语的混合表示作为特征。RNN-word是基于词语表示的神经网络模型。

实验结果对比如表4所示。ACE2005数据集上的测试方法有两种: 10折交叉验证和随机选择10%的文档做测试集。和英文中固定测试集不同,随机选择的10%测试集也不统一。

首先,Rich-C是10折交叉验证法,其他方法均采用了不同的随机测试集。由表4可以看到,当前事件类型分类方法的F1值大约在63%~64%。神经网络方法HNN、HNN-errata和CNN-hybrid均达到了和Rich-C相当或更优的结果,初步验证了神经网络特征的有效性。

其次,本文选择了和Joint-L完全相同的测试集,以进行公平的对比。由表4可知,本文的RNN-word能够达到和Joint-L相当的结果,进一步验证了神经网络特征的有效性。加入了字符信息的混合表示模型RNN-hybrid的效果则优于RNN-word,进一步验证了词语的字符表示学习模型的有效性。

表 4 事件检测系统实验结果

4.4.2 不同混合表示模型实验

本文在表5中展示了只使用词语级表示的方法效果(RNN-word)和使用不同的混合表示模型的实验效果。混合表示模型的目的是通过词语的词语级表示和字符级表示得到混合表示。本文采用拼接、最大池化、最小池化和相加四种操作获得词语的混合表示。拼接方式具体见式(5)。最大池化是指取词语级向量和字符级向量的最大值。最小池化是指取两个向量的最小值。相加是取两个向量之和。

相比于其他三种方式,拼接能够同时保留词语级和字符级语义信息,获得的混合表示信息更多。由表5可知,拼接方式获得了最好的效果,说明字符表示和词语表示都重要。

表 5 词语的不同混合表示模型实验

4.4.3 样例分析

本节以具体实例展示使用字符信息与否对事件检测的影响。

句子“浓烟呛烧了20几名公寓住户”中“呛烧”是一个受伤(Injure)事件的触发词,但“呛烧”是未登录词。不使用字符信息时,模型只能学习到“呛烧”作为“”的统一词向量表示,无法识别受伤事件。由“呛烧”组成结构和含义可知,“呛”和“烧”两个字的含义组合能够完整地表示“呛烧”的含义。因而,本文学习到的“呛烧”的字符级信息表示了其语义信息,有助于事件检测。

类似样例还有“这名少年在涩谷地铁站的卫生间内用棒球棒打伤一名32岁的男子后跑上街道,并攻击了其他7名行人。”中的“跑上”,其含义可以由“跑”和“上”的字信息组合得到。又如,“有着丰富缉毒经验的张江涛、刘海龙感到纳闷,广东盛产梅子,他们为什么要远到云南腾冲来采购?”中的“远到”的含义可以由“到”获得。

5 结论

针对中文事件检测任务,本文采用循环神经网络模型自动学习词语级别的特征表示,避免了人工构建特征,达到了和传统事件检测方法一致的效果。进一步地,针对中文事件数据集中未登录词比例很高的问题,本文研究了基于神经网络的字符级特征表示模型,用于辅助词语级别的特征表示。实验表明,基于神经网络的混合表示模型能够提高未登录词的表示,加强登录词的表示能力,进而提高事件检测的效果。本文提出的基于混合表示的中文神经事件检测方法效果比当前最好事件检测方法在F1值上高2.5%。

除了未登录词问题,中文事件数据集还有较为严重的未登录触发词问题。未登录触发词是指,测试集中出现的触发词从未在训练集中作为触发词出现。该问题限制了模型的学习能力。探索通过注意力模型显式学习触发词的上下文信息以解决未登录触发词问题将是本文下一步的研究方向。

猜你喜欢

字符向量词语
容易混淆的词语
向量的分解
聚焦“向量与三角”创新题
找词语
论高级用字阶段汉字系统选择字符的几个原则
字符代表几
一种USB接口字符液晶控制器设计
图片轻松变身ASCⅡ艺术画
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线