APP下载

基于Gate机制与Bi-LSTM-CRF的汉语语义角色标注

2018-05-09张苗苗张玉洁刘明童徐金安陈钰枫

计算机与现代化 2018年4期
关键词:谓词标签语义

张苗苗,张玉洁,刘明童,徐金安,陈钰枫

(北京交通大学计算机与信息技术学院,北京 100044)

0 引 言

自然语言处理中的句子级分析技术分为3个层面:词法分析(Lexical Analysis)、句法分析(Syntactic Parsing)以及语义分析(Semantic Parsing)。其中,语义分析是自然语言处理研究的关键问题,其目标是理解句子表达的真实语义[1]。受限于当前技术手段,很难对自然语言进行深层的语义分析。因此,许多研究者开始关注较为浅层的语义分析任务。目前,语义角色标注(Semantic Role Labeling, SRL)是浅层语义分析的一种主要实现方式,即标注句子中的一些成分为给定谓词的语义角色,并且赋予这些角色一定的语义含义,如施事、受事、时间、地点、原因等。图1所示为语义角色标注示例。语义角色标注技术在机器翻译、信息抽取、问答系统等领域都有着广泛的应用,其深入研究对自然语言处理领域的整体发展有着重要意义。

图1 汉语语义角色标注示例

传统的基于特征的统计机器学习方法,通常将语义角色标注任务转换为有监督的分类问题。这类方法通常需要抽取很多人工设定的特征,存在特征稀疏、模型复杂和容易过拟合等问题。而深度学习由于可以自动学习特征,有效地减少特征工程工作,近年来被广泛应用到自然语言处理领域中。

目前,在多种神经网络模型中,一种特殊循环神经网络(Recurrent Neural Network, RNN)——长短时记忆网络(Long-Short Term Memory, LSTM)[2]因为能有效利用序列数据中长距离依赖信息,在序列标注问题中表现出强大的优势。因此,本文使用基于LSTM的深度学习模型来解决汉语语义角色标注问题。

在很多基于神经网络的语义角色标注模型中,词向量表示通常是由上下文窗口中的词嵌入拼接得到的。在这种情况下,词向量表示可能依赖于左右词嵌入同时出现的联合作用,由此引入上下文中的无用信息。例如,句子“…其中,出口额最大的商品是服装…”,给定谓词“大”,在对“出口额”进行语义角色标注时,其左边词“其中”是无用的信息,甚至对“出口额”的标注会产生负面影响。针对这一问题,本文引入Gate机制对词向量表示进行调整。

本文采用Gate机制与深度Bi-LSTM神经网络模型相结合的方法实现汉语语义角色标注。该方法首先将词、词性等特征映射为实数向量,并将该向量作为神经网络的输入。为了对输入信息进行去噪,本文引入Gate机制对特征向量进行调整。然后采用2层Bi-LSTM获取待标注词在句子中的上下文依赖。为了防止出现标注偏置问题,引入标签转移概率矩阵,并且使用CRF融合全局标签信息得出最优标注序列。此外,为了缓解神经网络模型在训练过程中出现的过拟合问题,引入Dropout正则化方法。

1 相关研究

2004年,Sun等[3]对汉语语义角色标注做了初步探索,从CTB中选取频率较高的10个动词,并在含有这些动词的句子句法树上人工标注语义角色,构造含有1138个句子的语料集,使用支持向量机进行语义角色的分类,为之后的工作提供了依据和经验。随着中文语义角色标注语料库Chinese PropBank(CPB)的出现,汉语语义角色标注取得了很大进展。Xue等[4]使用丰富的句法特征和最大熵分类器,在CPB语料集上,基于标准分词、词性标注和自动句法分析,F1值达到71.90%。Sun等[5]使用部分句法树上的特征,基于浅层句法分析对汉语语义角色标注做了研究,性能提高到74.12%。Yang等[6]对句中包含多个谓词的现象进行了研究,充分考虑了多谓词之间的相互关系和共享论元的全局信息,提出基于判别式重排序的多谓词语义角色标注方法,显著提升了共享论元分类的效果。

上述方法主要是基于特征的有指导机器学习方法,利用丰富的语言学知识抽取特征,并使用统计机器学习方法对特征及特征组合进行自动学习。这类方法虽然可以得到比较不错的效果,但需要人工指定特征,难以提取更有效的特征;对训练语料的依赖性强,易出现数据稀疏问题;对训练语料中未出现的实例,分类效果较差。此外,由于特征个数较多,导致模型的特征矩阵维度很高,容易造成模型的过拟合。

近几年,随着深度学习技术的成熟,很多研究者开始使用神经网络模型来解决自然语言处理领域的任务。Collobert等[7-8]使用CNN模型在英文上进行语义角色标注,避免了过多的人为介入,实验结果接近英文语义角色标注的最好水平。Zhou等[9]使用深度Bi-LSTM模型对英文语义角色标注进行了研究。Roth等[10]将依存句法路径作为特征加入LSTM模型中,取得了不错的效果。

神经网络在汉语语义角色标注的研究上也取得了很大进展。王臻等[11]使用分层输出的神经网络模型,将角色识别和角色分类分开进行,最终得到64.19%的F1值。Wang等[12]使用Bi-LSTM模型,在不引入其它资源的情况下,超过了当时已知的最好结果。Sha等[13]引入依存信息用于论元关系的识别,在CPB上取得了77.69的F1值。Guo等[14]重点关注句法路径信息并使用Bi-LSTM对其进行建模,从而提高了系统的性能。

目前,性能较好的语义角色标注系统大多基于Bi-LSTM神经网络模型。受到LSTM[2]中的门控单元以及Tu等[15]在机器翻译模型中使用的上下文门(Context Gates)的启发,本文提出在深度Bi-LSTM层之前,加入Gate机制对词向量表示进行过滤去噪。考虑标签之间的依赖关系,引入标签转移概率矩阵;此外,使用最大间隔准则(Max-Margin Criterion)对模型进行训练,并引入Dropout正则化方法来缓解标注模型的过拟合现象。最终在不引入其它任何异构资源的情况下,汉语语义角色标注模型的F1值达到79.40%,比Sha等[13]给出的结果高出1.71%。

2 基于Gate机制与Bi-LSTM-CRF的SRL

本文将语义角色标注视为序列标注问题,采用IOB序列表示法和CPB中的语义角色标注体系。这种标注体系将所有的语义角色分为2类:1)核心语义角色ARG0~ARG5。ARG0表示动作的施事,ARG1表示动作的受事,ARG2~ARG5则根据谓语动词的不同具有不同的语义含义。2)附加语义角色。包括时间、地点、原因、方式等13个子类型,标记为ARGM-X,如时间被标记为ARGM-TMP,地点为ARGM-LOC。

本文采用Gate机制与深度Bi-LSTM-CRF模型相结合的方法进行汉语语义角色标注,如图2所示。首先,句中每个单词的词向量表示作为Gate机制的输入。然后Gate机制对输入信息进行调整,之后Bi-LSTM获取每个词长距离的上下文特征。最后CRF层考虑单词标签之间的制约关系,加入标签转移概率矩阵,给出全局最优标注序列。此外,对神经网络的深度进行扩展,即在第1层Bi-LSTM的基础上,再叠加一层Bi-LSTM,叠加时找到每个输入对应的第1层Bi-LSTM的输出,连接到第2层Bi-LSTM相应节点的输入。

图2 基于Gate机制与2层Bi-LSTM-CRF模型的汉语语义角色标注框架

2.1 词的特征向量表示

利用神经网络处理序列标注问题时,首先需要获得词的特征向量表示。本文中,为了减少大量的特征选择工作,采用的特征有:当前词、当前词的词性、谓词、当前词到谓词的距离。另外,针对一句话中可能存在多个相同谓词的情况,设置了是否为谓词(0/1)这一特征,即若当前词为谓词,则为1,否则为0。本文对当前词、词性这2个特征设置了特征窗口[-1,1],表示当前词和左右各一个词及其词性作为特征。将上述特征通过嵌入式向量引入模型,拼接后生成词的特征向量表示。

2.2 Gate机制

本文对当前词及词性特征设置了特征窗口,即利用固定上下文窗口内词语表示当前词。但是固定窗口内的词之间可能会有协同作用,使得模型在测试集上的性能下降。因此,引入Gate机制对词向量表示进行调整,使得固定窗口内的词嵌入以一定概率出现,不再依赖于左右联合词嵌入的共同作用。

由于本文的模型基于带有门控单元的LSTM神经网络结构,在这种情况下,Gate机制的引入显得有些多余。但是,它们是互补的:Gate机制调节传输到Bi-LSTM的词向量表示,而LSTM中的门控单元则捕获上下文之间的长距离依赖信息。该假设的正确性在实验中得到验证。

Gate机制由一个Sigmoid神经网络层和逐点乘积操作组成。Sigmoid层的输出在0~1之间,定义了信息通过的程度。设xt是第t个词的原始特征向量表示,经过Gate机制gt的选择,得到输出zt:

zt=gt⊙xt

(1)

其中,⊙表示逐点乘积操作。而gt的定义如下:

gt=σ(Wgxt+bg)

(2)

其中,σ取Sigmoid函数,Wg表示当前层的权值矩阵,bg表示偏置向量。

2.3 多层Bi-LSTM神经网络模型

RNN是一种时序网络结构,能够对大量历史信息进行记忆并应用于当前输出的计算中,但由于梯度消失和梯度爆炸问题,使得训练一个长距离依赖的RNN比较困难。

LSTM作为一种能捕捉长距离依赖信息的RNN网络表现出其有效性。LSTM专门设计了记忆单元(Memory Cell)用于保存历史信息。历史信息的更新和利用分别受到3个门(Gate)的控制:输入门(Input Gate)、遗忘门(Forget Gate)、输出门(Output Gate),有效捕捉长距离特征。

设h为LSTM单元的输出,C为LSTM记忆单元的值,z为输入数据。LSTM单元的更新可以分为以下6个步骤:

(3)

2)计算输入门的值it,输入门用于控制当前数据输入对记忆单元状态值的影响。

it=σ(Wizt+Uiht-1+bi)

(4)

3)计算遗忘门的值ft,遗忘门用于控制历史信息对当前记忆单元状态值的影响。

ft=σ(Wfzt+Ufht-1+bf)

(5)

4)计算当前时刻记忆单元状态值Ct,⊙表示逐点乘积。

(6)

5)计算输出门的值ot,输出门用于控制记忆单元状态值的输出。

ot=σ(Wozt+Uoht-1+bo)

(7)

6)得到t位置的输出状态ht。

ht=ot⊙tanh(Ct)

(8)

(9)

如同普通的神经网络可以建立多个隐藏层得到深度神经网络,Bi-LSTM同样可以建立多层。考虑训练时间与标注效果之间的平衡,本文使用2层Bi-LSTM作为语义角色标注架构,将第1层Bi-LSTM的输出作为第2层Bi-LSTM神经网络层相应节点的输入。

2.4 标签推断

在序列标注问题中,相邻词的标签间存在很强的依赖关系。例如,在IOB序列表示法中,标签B_ARG0之后只能是I_ARG0、O或者B_X,其余的标签都是非法的;而标签I_ARG0之前只能是B_ARG0或I_ARG0。在这种情况下,单独考虑每个词标记的得分是不合适的。为此,在神经网络计算出输入序列的各个词的标签概率之后,加上一层CRF[16],对整个标签序列进行全局归一化处理,找到概率最大的最优序列。

为充分利用标签之间的依赖关系,Collobert等[8]提出了引入标签转移概率矩阵的方法。因此,本文在实验中也加入了转移概率矩阵A,用于排除不可能的标签序列。令A表示标签之间的转移概率矩阵,则元素Aij表示标签i在下一时刻转移到标签j的概率,对于不可能发生转移的元素赋值为-10000,其余转移则在模型训练中获得。

对于一个输入句子序列x=(x1,x2,…,xn),其标签序列为y=(y1,y2,…,yn),P为双向LSTM神经网络的计算得分矩阵,Pij表示句中第i个词标为第j个角色标签的得分,θ是模型中需要学习的参数。另外,用Ay0y1表示序列的第一个标签为y1的概率。于是,该标签序列的得分定义为:

(10)

本文使用Viterbi算法来推断最优标签序列。

3 模型训练

3.1 最大间隔准则

(11)

(12)

(13)

最后,本文采用随机梯度下降法(Stochastic Gradient Descent, SGD)优化目标函数。

3.2 Dropout正则化

Dropout是Srivastava等[18]提出的一种防止神经网络过拟合的正则化方法。王瑞波等[19]在汉语框架语义角色识别模型中引入Dropout正则化技术,证明了该方法的有效性。Dropout正则化的主要思想是:在训练神经网络时,将神经网络结构中的隐藏层节点按照给定概率进行丢弃,且每次训练过程中随机丢弃的隐藏层节点都不相同,这就使得每次训练的网络是不一样的。这样,权值的更新不再依赖于有固定关系隐含节点的共同作用,阻止了某些特征仅仅在其它特定特征下才有效果的情况。

本文对经过Gate机制选择的特征向量表示以及双向LSTM层中的连接进行随机丢弃,其余的网络结构保持不变。

4 实验设计与结果分析

4.1 实验数据

本文采用CPB数据集,它是在Chinese TreeBank(CTB)的基础上,对句法树的成分标注语义角色。实验数据设置与前人工作[4-6,12-13]一致:训练集819个文件(chtb_081.fid~chtb_899.fid);开发集40个文件(chtb_041.fid~chtb_080.fid);测试集72个文件(chtb_001.fid~chtb_040.fid, chtb_900.fid~chtb_931.fid)。

此外,本文采用语义角色标注中广泛使用的正确率(Precision)、召回率(Recall)和F1值作为评测指标。

4.2 超参数设置

神经网络模型中超参数设置对模型性能会产生显著影响。受前人工作启发,本文对超参数设定如下:

1)维度设置。将当前词以及谓词这2个特征的向量维度设置为150维;对于当前词词性、是否为谓词以及当前词到谓词的距离,向量维度则为50维。

2)其它超参数设置。学习率ɑ=0.01,隐藏层节点个数Hdim=300。对经过Gate机制的特征向量表示,本文将Dropout的丢弃率设置为0.2;Bi-LSTM层的Dropout丢弃率则设置为0.5。最大间隔准则中的比例调节参数η=0.2,正则化系数λ=0.0002。

本文使用Glorot等[20]提出的方法对词的特征向量表示进行初始化,然后在模型训练过程中学习更新。

4.3 实验结果分析

本文基于Bi-LSTM神经网络进行汉语语义角色标注,而Bi-LSTM本身可以获取长距离的上下文信息。在这种情况下,对当前词以及词性特征设置上下文窗口是否有必要呢?因此,本文设置了相应实验来验证上下文窗口对Bi-LSTM的影响,实验结果如表1所示。

表1 上下文窗口对Bi-LSTM的影响/%

方法准确率召回率F1-ContextWindow79.2975.4077.30+ContextWindow79.5875.9977.74

从表1可以看出:不加上下文窗口时F1值仅为77.30%;而对当前词及词性特征设置[-1,1]的上下文窗口后,模型的性能提高到77.74%(此时未加Gate机制)。由此可见,当前词的左右两边词及其词性对语义角色标注的性能有一定的影响。因此,在Bi-LSTM网络中,对词、词性等特征设置上下文窗口是有必要的。在接下来的实验中,对词以及词性特征都设置了上下文窗口。

在对词以及词性特征设置上下文窗口的基础上,在模型中加入Gate机制和标签转移概率矩阵,采用2层Bi-LSTM对汉语语义角色标注进行实验,实验结果如表2中序号1所示。此外,为了测试Gate机制、神经网络的深度以及标签转移概率矩阵对语义角色标注性能的贡献度,设置了3组对比实验:

1)验证Gate机制(GM)的效果。加入Gate机制与不加Gate机制的性能比较。

2)验证深度神经网络的效果。2层Bi-LSTM与1层Bi-LSTM的性能比较。

3)验证标签转移概率矩阵(TM)的效果。加入标签转移概率矩阵与不加的性能比较。

表2 对比实验结果

序号方法准确率/%召回率/%F1/%1GM+2Bi-LSTM+TM82.4476.5779.4022Bi-LSTM+TM79.5875.9977.743GM+1Bi-LSTM+TM81.9476.6379.204GM+2Bi-LSTM79.6076.5278.03

Gate机制对语义角色标注性能的影响如表2所示。不加Gate机制时(序号2),模型的F1值仅为77.74%;然而,当加入Gate机制后(序号1),模型的性能得到显著提升,F值达到79.40%,提高了1.66%,证明了Gate机制的有效性。此外,这也说明了Gate机制与LSTM中的3种门(Input, Forget, Output)具有不同的作用。Gate机制主要用于对词向量表示进行调整,从而减弱由固定窗口引入的不确定信息;而LSTM则是通过门使上下文信息选择性通过,从而解决信息保存问题,获取长距离的上下文信息。Gate机制与LSTM中的门控单元在功能上互补,从而使得语义角色标注的性能得到显著提升。

图3为是否加入Gate机制实验中的一组标注结果。句子“…其中,出口额最大的商品是服装…”对谓词“大”进行语义角色标注:不加Gate机制时,“出口额”受特征窗口中“其中,”的影响,得到错误的标签“B_ARGM-LOC”;而加入Gate机制后,模型对词向量表示进行调整,“出口额”标注为正确标签“B_ARG0”。

图3 是否加入Gate机制的标注对比结果

本文对多层Bi-LSTM网络对模型性能的影响进行了实验,设置了2种网络结构:1层Bi-LSTM和2层Bi-LSTM,具体实验结果如表2所示。实验结果表明,当网络层数增加时,2层Bi-LSTM(序号1)能够进一步提取词之间的深层次特征,与1层Bi-LSTM(序号3)相比,F1值提升0.20%。实验中,本文尝试进一步增加Bi-LSTM的层数。但是,随着深度的增加,神经网络变得难以训练,训练时间加倍,并且容易出现过拟合问题,使得泛化能力变差。因此,本文采用2层Bi-LSTM网络模型。

影响语义角色标注性能的另一个重要因素是是否加入标签转移概率矩阵。从表2可以看出,不加标签转移概率矩阵(序号4)时F1值为78.03%,加入后(序号1)F1值提升了1.37%,语义角色标注的性能也得到明显提升。

标签转移概率矩阵能够考虑标签之间的制约关系,给标注结果添加一种限制,保证了标记序列的合法性。图4给出了是否加入标签转移概率矩阵实验中的一组标注结果。“去年实现进出口总值达一千零九十八点二亿美元”对谓词“达”进行语义角色标注:当不使用标签转移概率矩阵时,“去年实现”的标签“B_ARGM-TMP I_ARG0”是不合法的;而加入标签转移概率矩阵后,“去年实现”得到了正确的标签序列“B_ARG0 I_ARG0”。

图4 是否加入Gate机制的标注对比结果

此外,将本文所得到的语义角色标注模型的最优性能与前人工作进行比较,对比结果如表3所示。从表3中可以看出,在不引入任何其它资源的情况下,采用Gate机制与2层Bi-LSTM-CRF网络相结合的模型,并且加入标签转移概率矩阵,采用Dropout正则化来进行训练,模型的标注性能有了1.71%的提升(F1值),证明了本文方法的有效性。

表3 语义角色标注在CPB标注集上的结果对比/%

模型准确率召回率F1值文献[4]79.5065.6071.90文献[5]79.2569.6174.12文献[6]--75.31文献[12]--77.09文献[13]--77.69本文82.4476.5779.40

5 结束语

针对已有的基于神经网络模型方法的局限性,本文给出了一种融合Gate机制与深度Bi-LSTM-CRF的汉语语义角色标注模型,并在CPB上进行验证。实验结果表明:Gate机制的加入使F1值提高了1.66%,显著提升了语义角色标注的性能;Bi-LSTM的深度在一定程度上也会对标注结果产生影响;考虑标签之间的依赖关系,在模型中引入标签转移概率矩阵,F1值提升了1.37%。此外,为了缓解模型过拟合现象,本文在模型训练过程中使用Dropout正则化方法。最终所得到的汉语语义角色标注模型的F1值达到79.40%。

今后,将扩大实验规模,进一步验证本文所提方法的有效性,同时探索依存句法信息在语义角色标注中的使用。

参考文献:

[1] 中国中文信息学会. 中文信息处理发展报告(2016)[R]. 北京:中国中文信息学会, 2016.

[2] Hochreiter S, Schmidhuber J. Long short-term memory[J]. Neural Computation, 1997,9(8):1735-1780.

[3] Sun Honglin, Jurafsky D. Shallow semantic parsing of Chinese[C]// Proceedings of the 2004 Human Language Technology Conference of the North American Chapter of the Association for Computational Linguistics. 2004:249-256.

[4] Xue Nianwen. Labeling Chinese predicates with semantic roles[J]. Computational Linguistics, 2008,34(2):225-255.

[5] Sun Weiwei, Sui Zhifang, Wang Meng, et al. Chinese semantic role labeling with shallow parsing[C]// Proceedings of the 2009 Conference on Empirical Methods in Natural Language Processing. 2009,3:1475-1483.

[6] Yang Haitong, Zong Chengqing. Multi-predicate semantic role labeling[C]// Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing. 2014:363-373.

[7] Collobert R, Weston J. A unified architecture for natural language processing: Deep neural networks with multitask learning[C]// Proceedings of the 25th International Conference on Machine Learning. 2008:160-167.

[8] Collobert R, Weston J, Bottou L, et al. Natural language processing (almost) from scratch[J]. The Journal of Machine Learning Research, 2011,12:2493-2537.

[9] Zhou Jie, Xu Wei. End-to-end learning of semantic role labeling using recurrent neural networks[C]// Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics. 2015:1127-1137.

[10] Roth M, Lapata M. Neural semantic role labeling with dependency path embeddings[C]// Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics. 2016,1:1192-1202.

[11] 王臻,常宝宝,穗志方. 基于分层输出神经网络的汉语语义角色标注[J]. 中文信息学报, 2014,28(6):56-61.

[12] Wang Zhen, Jiang Tingsong, Chang Baobao, et al. Chinese semantic role labeling with bidirectional recurrent neural networks[C]// Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing. 2015:1626-1631.

[13] Sha Lei, Jiang Tingsong, Li Sujian, et al. Capturing argument relationships for Chinese semantic role labeling[C]// Proceedings of the 2016 Conference on Empirical Methods in Natural Language Processing. 2016:2011-2016.

[14] Guo Jiang, Che Wanxiang, Wang Haifeng, et al. A unified architecture for semantic role labeling and relation classification[C]// Proceedings of the 26th International Conference on Computational Linguistics. 2016:1264-1274.

[15] Tu Zhaopeng, Liu Yang, Lu Zhengdong, et al. Context gates for neural machine translation[J]. Transactions of the Association for Computational Linguistics, 2017,5:87-99.

[16] Lafferty J, McCallum A, Pereira F. Conditional random fields: Probabilistic models for segmenting and labeling sequence data[C]// Proceedings of the 18th International Conference on Machine Learning. 2001:282-289.

[17] Taskar B, Chatalbashev V, Koller D, et al. Learning structured prediction models: A large margin approach[C]// Proceedings of the 22nd International Conference on Machine Learning. 2005:896-903.

[18] Srivastava N, Hinton G, Krizhevsky A, et al. Dropout: A simple way to prevent neural networks from overfitting[J]. The Journal of Machine Learning Research, 2014,15:1929-1958.

[19] 王瑞波,李济洪,李国臣,等. 基于Dropout正则化的汉语框架语义角色识别[J]. 中文信息学报, 2017,31(1):147-154.

[20] Glorot X, Bengio Y. Understanding the difficulty of training deep feedforward neural networks[C]// Proceedings of the 13th International Conference on Artificial Intelligence and Statistics. 2010:249-256.

猜你喜欢

谓词标签语义
被遮蔽的逻辑谓词
——论胡好对逻辑谓词的误读
党项语谓词前缀的分裂式
语言与语义
无惧标签 Alfa Romeo Giulia 200HP
不害怕撕掉标签的人,都活出了真正的漂亮
“上”与“下”语义的不对称性及其认知阐释
标签化伤害了谁
也谈“语言是存在的家”——从语言的主词与谓词看存在的殊相与共相
基于多进制查询树的多标签识别方法
认知范畴模糊与语义模糊