吴方磊,李军辉,朱巧明,李培峰
(苏州大学 计算机科学与技术学院,江苏 苏州 215006;江苏省计算机信息处理技术重点实验室,江苏 苏州 215006)
作为自然语言处理的一项研究重点,语义角色标注(Semantic Role Labeling, 简称SRL)是一种浅层的语义分析,其任务是找出句子中谓词的相应语义角色成分,包括中心语义角色,如主语(Argent)、宾语(Patient)、工具(Instrument)等,和附属语义角色,如地点(Locative)、时间(Temporal)、方式(Manner)、原因(Cause)等。语义角色标注已广泛应用于信息抽取、自动问答 、机器翻译、信息检索、自动文摘等领域,具有广泛的前景。目前大多数语义角色标注的研究都基于特征向量的方法,探索了各类词法特征、句法特征及语义特征在语义角色标注中的应用,取得了较好的效果。代表工作包括: Gildea等[1]、Xue等[2]、Pradhan等[3]、刘挺等[4]、刘怀军等[5]、丁金涛等[6]、李军辉等[7]。然而该方法存在着一些明显的局限性,包括: (1)特征需要人工的选择和定义,哪些结构化信息是有效的以及如何在具体研究中有效地体现结构化的句法信息依然是悬而未决的问题;(2)将结构化特征转换为平面特征,通常仅仅反映了待标注单元的局部信息,容易造成特征的稀疏,丢失一些重要的结构化信息。
目前的一种研究趋势是探索基于核函数的方法,与基于特征向量的方法不同,基于核函数的方法更能有效地反映全局信息和结构化句法信息,不需要构造高维特征向量空间,它将低维线性不可分问题映射到高维空间,使之成为线性可分问题。近年来,一些树核函数已被陆续提出并应用于自然语言处理,如卷积树核函数、浅层树核函数、依存树核函数等,其应用领域包括句法分析、语义角色标注、实体语义关系抽取[8]、指代消解[9]等。早前的相关研究均表明,基于树核函数的方法可以有效地减轻特征工程的负担。
本文探索了树核函数方法在中文语义角色标注中的应用。文章结构组织如下: 第2节阐述了基于树核函数的SRL的相关工作;第3节探索了基于树核函数的中文语义角色分类,在基于谓词—论元的最小句法树结构的基础上,提出并比较了三种句法树结构的裁剪方法;第4节给出并分析实验结果;最后在第5总结全文,并对下一步工作进行了展望。
与基于特征向量方法的SRL相比,基于树核函数方法的SRL研究相对较少。Moschitti[10]首次探索了基于核函数方法的SRL,将卷积树核应用于SRL,提出了PAF(Predicate Augument Feature)特征空间和SCF(Subcategorization Feature)特征空间,并在PAF特征空间上定义了PAK(Predicate Augument structure Kernel)核函数,利用SVM在PropBank和FrameNet语料库上分别进行实验,并与基于特征的方法进行了比较。在Moschitti 基础上,Che等[11]指出PAF 核不利于进行语义角色标注尤其是角色识别的问题,进一步提出了一个混合卷积核函数,该核将PAF核分解为路径核和句法成分结构核两部分,在CoNLL Shared Task 2005 WSJ语料库上的实验表明该混合核取得的性能优于PAF核。Zhang等[12]考虑到标准的卷积树核函数使用“硬匹配”,没有考虑语言学知识,这使得该方法不能处理相似的短语结构(例如“buy a car”和“buy a red car”)以及相似的句标记(例如“high/JJ degree/NN”和“higher/JJR degree/NN”)。在Che等的基础上,提出了一种新的句法驱动的卷积树核,在核函数的设计过程中融入了语言学知识,克服了以上问题,进一步提高了基于核函数的SRL性能。在中文方面,车[13]在其博士论文中首次将混合卷积树核与句法驱动的卷积树核应用在中文语义角色标注中,探索了核方法在中文SRL中的有效性。
基于树核函数的方法存在两个关键问题: 一是如何获取句法分析树中有效的结构化信息特征,二是使用怎样的核函数来比较两个结构化信息的相似度。尽管Che等和Zhang等在Moschitti的PAF核函数上提出了新的相似度计算函数,但是他们对于句法分析树中结构化信息的选取仍然采用了Moschitti的PAF特征空间,本文重点研究结构化信息对于语义角色分类的影响,深入探索了不同的树核特征空间在中文SRL中的应用。
卷积树核函数最初由Collins[14]引入到自然语言处理领域,该方法是一种通过卷积的操作,将解析树分解成子树,然后先计算子树之间的相似度,再根据各子树相似度的结果来计算解析树的相似度。例如有两棵解析树T1和T2,它们之间的相似度可由下列公式来计算:
(1)
其中,Nj是Tj的节点集合,Δ(n1,n2)计算以n1和n2为根的共同子树个数,可以按照下面递归的方法进行计算:
(1) 如果n1和n2节点处的产生式不同, 则Δ(n1,n2)=0,否则转向(2) ;
(2) 如果n1和n2子节点相同且都是叶子节点, 则Δ(n1,n2)=λ,否则转向(3);
(3) 重复计算Δ(n1,n2)如下:
(2)
其中#ch(n1) 是节点n1孩子节点的数目,ch(n,k)是节点n的第k个孩子节点,λ(0<λ<1)是衰退因子,可以控制核函数的值不会随着树的规模增大而急剧变大。
所谓树核特征空间,也就是前面提到的句法树结构化信息。Moschitti选择只包含谓词和论元的句法分析树的子结构作为谓词-论元特征(PAF) 空间,并在PAF空间上定义了卷积树核。与英文一样,中文句法分析树同样具有谓词—论元结构,图1给出了一个中文句法分析树的PAF结构的例子。
图1 谓词—论元特征空间示例
基于树核函数的方法以结构树为处理对象,通过直接计算两个离散对象(如句法结构树)之间的相似度来计算两实例之间的点积,这使得基于树核函数的方法理论上可探索隐含的高维特征空间,从而可以有效地利用句法树中的结构化信息。在基于树核函数的语义角色分类中,关键问题是如何表示谓词及其论元之间的结构化信息,即抽取句法树中的哪些部分作为谓词—论元的表达方式。为此,本文在Moschitti[10]定义的PAF空间的基础上,根据谓词-论元之间的关系,进一步提出了三种句法结构的扩充与裁剪方法。以图2.a的句法树为例,假设当前的谓词为“VV/撤掉”,论元为“NP/全盟”,以上四种句法结构分别描述为 (如图2所示):
(1) 最小树(Minimum Tree, MT): 也就是Moschitti定义的PAF空间(见图2.b),连接谓词和论元的各节点的最小子树,作为本文的基础特征空间。
(2) 完整扩展树(Full Extended Tree, FET): 在MT树的基础上,扩充位于根节点以下,各叶子节点的父辈节点的孩子节点,如果该孩子节点为叶子节点且不属于当前谓词和论元,那么不予保留(如图2.c所示)。
(3) 谓词—论元关联扩展树(Related-node Extended Tree, RET): 在FET树的所有的扩展节点中,只保留处于谓词和论元路径之间的节点(如图2.d所示)。
(4) 谓词部分扩展树(Predicate-part Extended Tree, PET ): 在FET树的所有的扩展节点中,只保留谓词叶子节点的兄弟节点(如图2.e所示)。
包含谓词及其论元的子句法树能够提供丰富的结构化信息应用于语义角色的分类[10],那么选择哪一种裁剪方法来提取句法结构?如果使用较为完整的子树,那么系统的开销很大,并且包含很多噪音;如果节点被裁剪的过多,可能丢掉一些有用的信息。下面讨论本文使用的几种裁剪树。
为了与Moschitti的工作进行比较,本文使用PAF空间作为基础特征空间,并定义为MT树。MT树是包含谓词及其论元的最小生成子树,相应的节点最少,噪音也是最小的,但是在裁剪过程中被剪去很多重要的结构化信息, 不利于语义角色分类。所以本文考虑修改MT树裁剪算法,扩充其结构化信息量,提高分类的精度。
图2 树核特征空间示意图
在MT树的基础上,扩充位于根节点以下、叶子节点以上的每个节点的孩子节点,为了使当前需要标注的论元与其他论元信息有所区别,如果该孩子节点为叶子节点且不属于谓词及其论元部分,那么则不需要保留,得到一个比较完整的信息扩展树FET。FET树的信息量相对较全,但是同时也引入了很多噪音。卷积树核函数是通过比较相同子树来计算两棵树的相似度,两棵树越大,它们的相似性反而就越小。于是本文再考虑对FET树进行一些必要的剪枝策略。
在完整扩展树FET的基础上,只保留谓词与其论元路径间的节点,其余扩充的节点均剪去,得到一棵RET树。RET树可以反映谓词与其论元的间上下文环境信息,相比FET噪音减少。在FET树的基础上,只保留谓词叶子节点的兄弟节点,其余扩充的节点均剪去,又得到一棵PET树。PET树对句法树的中心词(即谓词)部分的信息作了补充,相比FET其噪音也较少。
尽管基于特征向量的方法有明显的局限性,但由于其效率和准确率较高,仍然是目前最通用的语义角色标注方法。为了便于与基于树核函数的方法进行比较,本文首先构造了一个基于特征向量方法的语义角色分类系统,使用多项式核对特征进行多阶组合(阶数等于多项式的次数)。特征的选取则按照Xue[15]的特征构造方法。
卷积树核只能获取结构化信息,而基本特征所表示的常规信息则需要通过基本核(本文中为二次多项式核)去捕捉。为了充分利用句法结构化信息和平面特征信息,本文构造了一个复合核:
KCOMP=δK1+(1-δ)K2
(3)
其中K1表示由结构化信息所得的卷积树核,K2表示由平面特征所得的基本核。δ取值为0<δ<1,通过改变δ的值,可以调整树核特征和基本核特征各自的贡献度。本文在开发集上进行实验,当δ为0.3时,复合核性能最好。
复合核在语义角色分类中有很高的价值。复合核中的卷积树核为角色分类提供结构化信息,而基本核则可以包含一些无法通过卷积树核获取的信息,例如句法成分中心词等。复合核可以很好的结合平面特征与结构化特征,使语义角色分类更加准确。
实验使用来自Chinese PropBank (中文PropBank,或简称CPB)的数据。CPB是宾夕法尼亚大学在Penn Chinese Treebank句法分析语料库基础上标注的语义角色标注语料库,在句法分析树的句法成分中加入了对应的谓词及其语义角色信息。对所有的谓词,中文PropBank定义了多种语义角色,其中中心语义角色为Arg0-5 六种,如: Arg0 通常表示动作的施事者,Arg1 表示受事者等。其余为附属语义角色,用前缀ArgM 表示,如: ArgM-LOC 表示地点,ArgM-TMP 表示时间等。中文PropBank基于中文Penn TreeBank手工标注的句法分析结果,因此标注结果几乎不受句法分析错误的影响,准确率较高,而且它几乎对中文Penn TreeBank中的每个动词及其语义角色进行了标注,因此覆盖范围更广。
为了与Xue的实验进行比较,本文参照他的划分,选取CPB1.0语料库中的72个文件(chtb_001.fid到chtb_040.fid和chtb_900.fid到chtb_931.fid)作为测试数据,40个文件(chtb_041.fid到chtb_080.fid)作为开发数据,648个文件(chtb_081.fid-chtb_899.fid)作为训练数据。
实验使用SVM-Light-TK*http://dit.unitn.it/~moschitt/Tree-Kernel.htm作为分类模型,特别地,由于SVM-Light-TK分类器本质上是一个二元分类器,采用一对多方法(one vs. others)将其重新包装为多元分类器,例如,本文共涉及16类语义角色,将分别构造16个二元分类模型。训练参数的调整设置均在开发集上进行。本文首先使用卷积树核,在树核实验中当正则化参数c取5时,分类的精确率达到峰值。接着使用多项式核,同车[13]一样采用二次多项式核对特征向量进行组合,设置d为2。最后使用复合核,设置 C为“+”、T为0.43、d为2,使其按照3.3节中复合核的格式将卷积树核与二次多项式核结合起来。实验中的其余参数都按照默认设置。
(4)
为了查看不同句法结构信息对中文语义角色分类的影响,对3.2节定义的四种树核特征空间分别进行实验,表1给出了各种树核特征空间在各类语义角色上取得的性能。
表1的第一列和第二列为16类语义角色的名称以及它们的数量在全部训练集中所占比例,后四列为各类角色在四种树空间上的F1值。从表1可以看出,语义角色Arg0、Arg1、ArgM-ADV、ArgM-LOC、 ArgM-MNR和ArgM-TMP所占比例最多,总数达92.4%, 因此, 这些类别的语义角色能否正确识别将会很大程度上影响整体分类的性能。
表1 各角色在不同树空间上的性能
从表1中还可以看出,中心角色Arg0、Arg1、Arg2、Arg4在PET空间上取得的性能最优。占所有角色数量比重最大的Arg0和Arg1,在PET空间上比在基础空间(MT)上的F1值分别提高了1.4%和1.6%。其主要原因是,树核函数将树结构特征空间作为唯一的特征来比较相似度,PET树空间由于增加了谓词的兄弟节点,可以有效地区别Arg0和Arg1。例如: 在图3中,两个子句分别为“开发区成立企业”和“自开发区成立以来”,句a中Arg0的MT树空间与句b中Arg1的MT树空间结构完全相同,那么在计算两棵树相似度的时候,很有可能将Arg0识别为Arg1。而PET树很好的避免了这类问题,句a中Arg0的PET树空间和句b中Arg1的PET树空间结构不再相同。在中心角色的 46 183条训练实例中,有18 188个子句法树需要扩充谓词的兄弟节点,占约39.4%。其中出现图3所示问题的实例数目为11 565,占约25.0%,由此可见,扩充谓词的兄弟节点十分重要,这些节点能够帮助核函数对论元的NP短语的角色作出正确的识别。
图3 子句(a)“开发区成立企业”和(b)“自开发区成立以来”的MT树与PET树结构空间的比较
在附属角色中数量较多的ArgM-ADV、ArgM-LOC、ArgM-MNR、ArgM-PRP,它们的树结构一般都有着比较明显的句法特征,例如: ArgM-ADV中大多含有ADVP短语,ArgM-LOC中通常含有表示地点的介词短语,ArgM-MNR中一般都有以“据”、“通过”、“经”、“按”、“用”等介词开头的表示方法的介词短语。表1显示,这些角色在MT树这种最简结构上的性能最好,其余的树结构反而会增加不少冗余信息导致性能下降。
每个二元分类模型的性能可以从不同角度反映四种树结构的优缺点,本文还需要通过整体分类的精确率来评价系统性能。各种树核空间在测试集上的整体分类的性能见表2。
表2 各种树核空间在测试集上的分类的性能
通过表2可以看出:
树核函数在不同的树核特征空间上对于中文语义角色标注都是有效的。FET、RET、PET与MT树比较,分类的精确率都有提高,分别提高了 0.58%、0.09%、1.17%,由此可见,对MT树进行句法信息扩充是很有必要的。
虽然MT树有着最为简单的句法结构,只包含连接谓词和论元的最少节点,噪音是最小的,但同时信息量也最少,很多重要的信息都被删去(例如: 能有效区别Arg0和Arg1的谓词的兄弟节点)。所以在MT树空间上进行语义角色分类的精确率在四种特征空间中最低。在MT基础上改进的FET,分类的精度提高了0.58%,再次说明了MT树由于信息量较少而导致分类精度降低。
在FET基础上剪枝后的RET树虽比MT树的性能提高了一些,但是跟FET树相比,精确率却下降了0.49%。主要原因是,谓词和论元的上下文环境的信息对语义角色分类的作用很小,虽然RET树的噪音较少,但却裁剪掉了FET中的一些重要信息(如谓词的兄弟节点)。
在FET基础上剪枝后的PET树,在四种树空间中的性能是最好的,整体分类的精确率达到了91.79%,说明了谓词的兄弟节点信息对于语义角色分类非常重要。谓词的兄弟节点可以有效地区别Arg0和Arg1的树结构,避免因信息量少造成树结构的类似,进而造成角色分类的错误。同时,谓词的兄弟节点通常也是谓词的其他语义角色的祖先节点,说明某个角色的谓词—论元结构中如果包含该谓词的其他语义角色信息,会对当前角色的识别带来很大帮助,我们将在之后的工作中深入研究。
表3 各种方法在测试集上的性能比较
为了与目前同类系统进行比较,本文使用二次多项式核实现了一个基于特征向量的语义角色分类系统,如表3中所示,性能与Xue相当。由于车重点研究使用怎样的核函数来比较结构化信息的相似度,而本文的重点研究如何获取句法分析树中有效的结构化信息特征,且两文实验数据的选取也不相同,所以暂不进行比较。
从表2和表3中可以看出,尽管PET在树核中取得了最高的性能,但仍比使用多项式核的基于特征的方法差了很多,约两个百分点。原因是,树核只包含结构化句法信息,而基于特征的方法使用了大量不同的平面特征,如中心词、谓词类别等以及它们的组合特征,这些特征无法被树核获取。
因此本文期待使用复合核进一步提高语义角色分类的性能。从表3中看出,将树核MT、FET、RET和PET分别与特征复合,相比各自树核方法的性能都有了显著的提高(采用χ2显著性检验),且分类性能的高低趋势仍与单独使用树核方法相同,说明这四种树核方法都能与多项式核较好地融合。使用PET+ p2的复合核的性能最好,分类精确率达到94.28%,比基于特征的方法有明显的提高(提高了0.43%),比只使用树核PET要高出许多(提高了2.49%),通过4.2节描述的χ2显著性检验,性能显著调高。主要原因是,基于树核的方法可以更好的挖掘句法结构化信息,而基于特征的方法可以捕获树核无法获取的一些重要的平面特征信息。这两种方法相互补充,将它们结合起来,更加有利于语义角色的分类。
本文重点研究如何获取有效的结构化信息,表明了卷积树核函数在不同的树核特征空间上对于语义角色标注都是有效的。在最小句法结构的基础上定义了三种不同的树核空间,分析并比较了它们在不同语义角色上的性能及在整体分类上的性能,在中文PropBank语料上进行语义角色分类取得了较好的性能。最后使用复合核将PET与特征向量结合,性能优于目前同类系统。
本文的下一步工作是更为详细的树核空间的研究,现有的树空间的扩充与裁剪主要基于观察和经验,没有充分利用语法、句法等语言学信息。考虑借鉴基于特征向量的方法中对于平面特征挖掘的一些方法,相信能取得更好的性能。
[1] D. Gildea, D. Jurafsky. Automatic Labeling of Semantic Roles[J]. Computational Linguistics.. 2002, 28(3):245-288.
[2] N. Xue, M. Palmer. Automatic Semantic Role Labeling for Chinese Verbs[C]//IJCAI-2005.2005.
[3] S. Pradhan, K. Hacioglu, V. Krugler, W. Ward, James H. Martin, D. Jurafsky. Support Vector Learning for Semantic Argument Classification[J]. Machine Learning Journal. 2005,60(1):11-39.
[4] 刘挺, 车万翔, 李生. 基于最大熵分类器的语义角色标注[J]. 软件学报,2007, 18(3):565-573.
[5] 刘怀军, 车万翔, 刘挺. 中文语义角色标注的特征工程[J]. 中文信息学报,2007, 21(2):79-85.
[6] 丁金涛, 周国栋, 王红玲, 朱巧明,钱培德. 语义角色标注中特征优化组合研究[J].计算机应用与软件,2009, 26(5):17-21.
[7] 李军辉, 王红玲, 周国栋, 朱巧明, 钱培德. 语义角色标注中句法特征的研究 [J]. 中文信息学报, 2009, 23(6): 11-18.
[8] M. Zhang, J. Zhang, J. Su. Exploring Syntactic Features for Relation Extraction using a Convolution Tree Kernel[C]//COLING-ACL-2006: 288-295.
[9] F. Kong, Y. Li, G. Zhou, Q. zhu. Exploring Syntactic Features for Pronoun Resolution Using Context-Sensitive Convolution Tree Kernel[C]//IALP-2009.
[10] A. Moschitti. A Study on Convolution Kernels for Shallow Statistic Parsing[C]//ACL-2004. 2004:335-342.
[11] W. Che, M. Zhang, T. Liu, S. Li. A Hybrid Convolution Tree Kernel for Semantic Role Labeling[C]//COLING-ACL-2006.
[12] M. Zhang, W. Che, A. T. AW, C. L. TAN, T. Liu, S. Li. A Grammar-driven Convolution Tree Kernel for Semantic Role Classification[C]//ACL-2007:200-207.
[13] 车万翔.基于核方法的语义角色标注研究[D].哈尔滨: 哈尔滨工业大学,2008.
[14] M. Collins, N. Duffy. Convolution Kernels for Natural Language[C]//Proceedings of NIPS-2001.
[15] N. Xue. Labeling Chinese Predicates with Semantic Roles[J]. Computational Linguistics, 2008,34(2): 225-255.