熊 皓, 刘 群, 吕雅娟
(1. 中国科学院计算技术研究所,北京 100190; 2. 橙译中科信息技术有限公司,北京100010)
传统的语义角色标注方法[1]通常是将语义角色映射到句法树中的相应节点,通过抽取句法节点和谓词之间的一些本地特征进行角色分类。Toutanova[2]等人的工作证明,在利用语义角色初步分类的基础上,保留最好的5个分析结果,通过抽取一些全局特征对5个分析结果进行重新排序,最后能将标注的F值提高1.5%左右。但是Toutanova等人在文献中也提到过,虽然可以利用初步分类的更多最好结果,如10个最优结果进行重排序,理论上来说最后标注的上限可以更高,但是在实际实验中反而带来更多的分类噪声,实验结果不甚理想。在本文中我们提出另外一种重排序的方法,在保留更多初步最优分析结果的情况下,仍然能够提高最终标注的综合性能。
在传统的标注模型中,对角色的标注通常是单独进行的,并且一般对于一个句子中的多个谓词也是分别进行角色标注。因此对于同样的谓词来说,或者语义上相近的谓词来说,由于标注时抽取的都是本地特征,所以最后的全局标注结果无法保证所有的角色标注都是一致的。例如,我们从测试集中找出了关于谓词“spur”的三个不同例句,使用一般的基准系统[3]进行标注,标注的结果如下:
For weeks, the market had been nervous about takeovers, after [Campeau Corp.’s cash crunch]ARG1spurred[concern about the prospects for future highly leveraged takeovers]ARG2.
2. [Friday’s market tumble]ARG2[could]ARGM-MODspur[action on reconciling the House and Senateversions of the deficit-reduction measure]ARG1, a process that is not expected to begin until tomorrow at the soonest.
3. Beginning in mid-1987, prices began accelerating as [a growing U.S. economy and the weak dollar]ARG2spurred[demand]ARG1.
在上面的标注结果中,第1个句子错误的将谓词前半部分的名词短语标注为了ARG1而将谓词后面的名词短语标注为了ARG2,而后面的两个句子则完全正确的标注了谓词“spur”的所有角色。至于第1个句子为什么会被标注错误,原因比较难以分析,一种可能的解释是前半部分的中心词相关的特征在训练语料中更多可能的是被标注为了ARG1。
不过如图1所示,我们通过对比第1个句子和第2个句子的句法分析结果,发现两个句子的候选节点之间无论从语义上还是句法上来说都存在很大的相似度。例如,第1个句子中的“cash crunch”和第2个句子中的“market tumble”在语义中都和经济、金融等语义概念相关,因此具有很强的语义相似性;并且在两个句子中,谓词后面的名词短语具有很强的句法相似性。因此很自然的想法是能否利用在给定相同谓词或者语义相近的谓词情况下,通过候选节点之间的相似度,将错误的标注结果纠正过来。为了实现这个想法,本文提出一种基于图模型的迭代算法,通过节点之间的相似度约束,循环迭代的调整标注的结果,最终达到相似度高的节点标注一致性。
注: 上面的例子是自动标注错误的,下面的例子是标注正确的。 图1 两个带有谓词“spur”的句子标注结果
本文的组织结构如下: 在第2节中我们将详细介绍我们的重排序模型中使用的相似度算法以及标记传播迭代算法;在第3节中将给出实验结果;在第4节中将简单介绍相关工作;最后在第5节中总结本文工作。
如前文所述,我们希望在输出初步标注结果的情况下,利用一些候选节点之间的相似度关系,重新对标注的结果进行排序,使得给定相同谓词或者语义相近谓词的情况下,相似度高的候选节点标注的结果更一致。因此我们在针对每个谓词的标注过程中,在生成当前最优标注结果的同时,保留每个节点的前k个分类结果。值得注意的是,在这里我们不对所有候选节点输出前k个分类结果,而仅针对那些最后生成最优标注结果的节点输出多个分类结果,这样做的原因是尽可能的减少其他非语义角色节点带来的噪声。
如图2所示,我们首先对每个谓词进行初步角色标注,然后对每个谓词中标注为语义角色的节点输出k个分类结果。在完成整个测试集的初步标注后,我们计算每个谓词和标注节点之间的相似度,并且构建图模型,最后通过循环迭代,优化标注的结果。需要说明的是,我们利用测试集中的每个句子中每个谓词的所有候选节点,来构造图模型。在实际应用中可以根据输入的篇章信息对集合进行切割,由于我们使用的PropBank[4]并没有篇章标记,因此在本文的后面实验部分,我们采用的是利用整个测试集中候选节点建立图模型。
在后面几节中我们将重点讨论如何建立节点之间的图模型,以及节点之间的相似度计算等主要问题。
图2 基于图模型重排序的流程
2.1 图模型基本定义
我们建立的标注图模型定义如下:
定义1标注图模型G由二元组
以第1节中的谓词“spur”的前两个句子标注结果为例,图3给出了标注节点构建的图模型示例,其中节点A和B为第1个句子标注的结果,C, D, E为第2个句子标注的结果,在图3中,我们没有将第3个句子的标注结果加入到图模型中,以免图规模太大难以解释。
注: 图中圆点为标注节点,边权重为节点之间相似度,旁边的弧形框为初步标注结果。图3 标注图模型
在下面一小节中我们将主要讨论如何计算图模型中的边权重,即如何计算两个节点之间的相似度。
2.2 相似度计算
在我们的标注图模型框架中,最重要的一个环节是计算节点之间的相似度,相似度定义的好坏直接决定了图模型中的标注节点能否收敛到最优值。为了衡量两个节点是否标记为同一语义角色,我们采用如下插值公式,如式(1)所示。
Simi,j=
其中SimPrei,j为两个节点的谓词之间相似度,SimArgi,j为节点之间的相似度。由于最后形成的图非常巨大,因此我们通过SimPrei,j之间的大小来限制节点间的连线,提高运行效率的同时减少了噪声,此外对于同一个句子的不同节点,我们也不进行连边,因为在初步标注时已经考虑过同一句子内部的节点信息。对于SimPre和SimArg的计算,受Roth和Frank工作[5]的启发,我们分别计算节点谓词以及节点中心词之间的WordNet相似度SimWN,VerbNet相似度SimVN, 分布相似性(Distributional Similarity)SimDist,并且计算节点句法树之间的树核相似度SimKernel,最后通过插值得到两个节点之间的标注相似度。下面我们将分别介绍以上四类相似度的计算方法。
WordNet相似度: 对于给定的两个谓词pre1和pre2,我们可以利用WordNet[6]获取出他们的所有同义词集合Syn1以及Syn2,我们计算两个集合之间任意词之间的最大值,即
其中SimWN_Lin为Lin[7]提出的利用WordNet计算两个词之间相似度的方法。在这里,为了计算两个词之间的WordNet距离,我们采用和Roth等人相同的方法: 首先获取两个词在WordNet里面的最近公共包含LCS(Syni,Synj),以两个常见的名词“dog”和“cat”为例,图4给出了它们的上位词树(Hypernyms Tree),并且将最近公共包含“carnivore”加粗标记出来。
对于Syni,Synj以及LCS(Syni,Synj)来说,我们利用Information Content(IC)[8]来计算它们之间的相似度。IC值是用来衡量WordNet中一个语义概念出现概率的方法之一,一般来说,对于WordNet分类C(taxonomy)中的一个概念c1和他的上位词c2(c1IS-Ac2)来说,他们出现的概率一般满足p(c1) ≤p(c2),并且分类中的最顶层节点的概率为1。Resnik定义的IC计算方式为式(3)。
其中N为语料库中的所有单词个数,freq(c)为
其中words(c)为概念c包含的所有单词,count(w)为单词在语料库中出现的次数。因此按照上面两个公式计算,上位词的出现概率要高于下位词。
注: 其中实线为IS-A链接,虚线表示为了节省表述空间,中间省略了很多节点。图4 WordNet中dog和cat的最近公共包含为carnivore
因为Pedersen等人[9]预先已经计算好了WordNet中所有词的IC值,并且提供了IC文件*http://www.d.umn.edu/~tpederse/similarity.html下载,因此我们直接从里面检索结果来计算下面的公式,如式(5)所示。
VerbNet相似度: 由于在WordNet中对于动词的标注存在一些设计错误[10],如Richens发现的在WordNet中有些动词在上位词树中的关系形成了一个环,因此为了更准确的计算谓词之间的相似度,我们利用VerbNet[11]来进一步计算谓词之间的语义距离。VerbNet中的动词根据他们的一些句法特性将其归为了多个类别,并且形成一个类别树,即一个类别C可能存在多个子类别Cs使得Cs∈sub(C),我们采用Roth和Frank相同的特征函数计算两个谓词之间的SimVN(prei,prej)值:
SimVN(prei,prej)
分布相似性: 毕竟WordNet和VerbNet的覆盖面有限,对于节点中的一些中心词或者谓词不一定出现在上面两个资源库中, 因此我们利用Giga- Word*http://www.ldc.upenn.edu/Catalog/catalogEntry.jsp?catalogId=LDC2003T05来计算词之间的分布相似性。分布相似性可以看作是给定大小的语义向量空间内的语义距离[12],是一种通过大规模语料统计计算任意词之间语义相似度的有效方法之一。我们参照一些成熟工作的做法[13-14],提取每个谓词prei左右上下文单词,并且利用从GigaWord中计算的频度中选取最高频的2 000个单词(c1,c2,...,c2000)作为向量维度,通过计算每个谓词和高频词之间的点间互信息(PMI)构成每个谓词的向量空间:
PMI(prei,c2000))(7)
其中
freq(prei),freq(cj)以及freq(prei,cj)为谓词、高频词在语料库中单独出现和共现的次数。
利用每个谓词的向量空间值,我们采用最简单的Cosin距离计算他们之间的分布相似性数值。
树核相似度: 对于论元来说,通常包含多个单词,仅仅使用词级别的特征来衡量他们之间的相似度是不够的,因此我们利用他们之间的句法树来计算句法距离,即通过卷积树核计算两棵句法树之间的相似度。不同于树结构的字符串表示形式,卷积树核[15]通过特征向量来表示不同的句法树。一般来说,一棵句法树t可以使用特征向量f来表示,f可以表示为f(t)=(st1(t), …,sti(t), …,stn(t),其中sti(t)表示的是句法树t中第i棵子树出现的次数。图5给出了一棵句法树拆分为子树的例子,可以看出尽管图例的句法片段很小,但是枚举出来的子树规模仍然多达5棵。
图5 第一棵树为句法树片段,后面5棵树为其拆分后的所有子树。
一般而言,对于树高度为l的满二叉树来说,其可以拆分枚举的子树个数为2l+1。因此对于一般的句法树片段而言,直接枚举所有子树是不可能的,因此Collins和Duffy提出了使用卷积树核来高效计算两棵句法树相似度的方法。
其中N1和N2分别是句法树t1和t2的节点集合,Ii(n)表示句法树的子树是否以n作为根节点,是则为1,反之为0;表示两棵句法树中分别以n1和n2作为根节点的子树个数。并且C(n1,n2)可以通过下面的定义在多项式时间内计算出来:
其中nc(n1)表示节点n1包含的推导中子节点个数,由于节点n1和n2的推导相同,所以nc(n1)=nc(n2),此外h(n1,j)表示n1包含的推导中第j个子节点。λ(0≤λ≤1)是惩罚因子,用来降低子树规模对C(n1,n2)大小的影响。上面的式子可以通过动态规划在多项式时间内计算得出。
因此最后我们通过归一化计算出图模型中节点ai,aj之间的树核相似度。
归一化: 对于图模型中的任意两个节点ai,aj及其对应的谓词prei,prej,我们通过式(12)计算节点之间边权重:
Simai,aj=α·SimPrei,j+(1-α)·SimArgi,j
=α·(λ1SimWN(prei,prej)
+λ2SimVN(prei,prej)
+λ3SimDist(prei,prej))(12)
+(1-α)(θ1SimWN(hai,haj)
+θ2SimVN(hai,haj)
+θ3SimDist(hai,haj)
+θ4SimKernel(ai,aj))(13)
其中hai和haj分别为节点ai和aj的中心词。并且当SimPrei,j< 0.5时,我们不建立ai和aj之间的边。
为了便于参数调整我们对λ和θ两组参数进行归一化,即满足λ1+λ2+λ3= 1.0和θ1+θ2+θ3+θ4=1.0。
2.3 标记传播迭代算法
对于一个带有标记的图模型来说,根据每个节点的一些本地信息,我们通常利用一些迭代算法,也可以称之为标记传播,对节点的本地信息进行互相传播,最终优化到一个全局稳定的最优分布。标记传播算法在自然语言处理中已经被广泛的使用,例如,用于词性标注[16-17],无监督语义角色标注[18]语义分析[19],机器翻译[20],指代消解等问题[21-22]。
在前面小节中我们已经对图模型给出了基本的定义,在这里我们再定义一个表示节点vi标记为角色标注l的兼容度Sil。对于一个节点标记为某一标注的兼容度,可以有多种计算方式[23],在本文中,我们采取最简单的计算方式,即一个节点的标注兼容度表示为和其相邻的节点标记为同一标注的概率与边权重之和,如式(14)所示。
其中A(vi)表示为和节点vi相连接的其他节点。
迭代算法的目标在于找到一组标注概率分布,使得图模型中的节点最大可能的满足标注一致性,也可以等价为最大化每个节点的标注兼容度。因此要达到一个全局最优的标注概率分布H*必须满足下面的约束条件。
Algorithm 1标记传播迭代算法
1:输入: 图G,节点的初步标注概率分布H
2:输出: 节点的全局最优标注概率分布H*
3: for 循环次数t≤1000 do
4: for 对于图中每个节点vido
5: for 对于节点的每个可能标注ldo
▷计算每个节点的标注兼容度Sil
7: for 对于节点的每种可能标注ldo
▷更新节点vi的标注概率分布
算法1给出了迭代算法的详细过程,我们对图中的每个节点迭代1 000轮,首先在第6行计算每个节点的当前标注兼容度,在第8行通过重新计算的标注兼容度归一化后更新当前的标注概率分布,最后迭代1 000轮达到全局最优概率分布。
3.1 实验数据 我们采用PropBank数据集,根据CoNLL-2005的切分策略和自动句法分析树进行实验,使用PropBank中的02-21分块作为训练集,第24块用于开发集,第23块用于测试集。整个数据集由43 594个句子组成,其中有262 281个论元角色,包含35种语义角色,分别是ARG0-ARG5, AA, 14个修饰角色ARGM-X以及14个引用论元R-X。
3.1实验结果
我们采用前人工作总结的比较有效的判别特征[1,24,25,2,26]设计基准对比系统,并且我们进行性能测试时做了一些细微调整,以此来查看重排序潜在的提升空间。例如,如果准确的标注结果是ARG0,ARG1,ARG2,ARGM-MOD,ARGM-TMP这五个语料中分布最多的角色时,当我们将基准系统的最优标注结果的节点输出前k个概率最高的角色标注集合里面包含这五个角色时,则无论其是否为最优的,我们都认为标注准确,以此来查看这个角色重排序时能达到的最高性能。例如某节点输出的前2个标注结果是ARG1=0.5,ARG0=0.4,而此节点的正确标注是ARG0,则我们仍认为此标注结果正确。表1给出了输出1,2,3,5个概率最高角色标注结果时(去除标记为NULL的标注结果),在五个主要角色中重排序模型在开发集中所能达到的最高性能(F值),k=1实际上就是基准系统的性能。
从图1中可以看出,随着输出的候选结果越多,几个主要的语义角色都有了不少性能提升,并且仅输出2个候选结果时,总体的性能上限都可以提升3个点左右。同时我们也发现,最优的标注结果一般都在前3个候选结果中,当k=5时性能已不再发生太大的变化,因此在后面的实验中我们都只输出标注的前3个结果。
特征参数实验
由于我们使用了α,β,θ三组参数进行控制相似度计算,因此参数很不好调节。我们的参数调整策略为,每次剔除一个相似度计算方法,其他权重采用平均化处理,通过查看实验结果大致给出每个相似度计算方法的权重比例。最后通过固定β和θ的值,每次对α调整0.1个单位。表2给出了以上实验配置思路的不同实验结果,其中WordNet_表示去除WordNet特征后的实验结果,其他类似。优化为根据前面几组实验结果优化调整参数后的结果。从表2的实验结果中,我们可以看出在前三个语义特征中Dist起到的作用最大,因为去除这个特征后系统所能取得的性能提升最小。此外我们发现去除kernel特征后,系统性能反而比基准系统还差了。一个可能的解释在于去除这个特征后,对于节点的相似度只能完全依靠节点的中心词相似度进行计算,而句法错误时中心词也有可能是错的,因此句法错误将会影响到图中节点的相似度计算,但是采用树核计算则可以减少句法分析错误的影响。因此根据上面四组的特征贡献度,我们根据经验性的调整每个权重的大小,最后在如下权重设置时:α=0.6,λ1=0.2,λ2=0.3,λ3=0.5,θ1=0.1,θ2=0.15,θ3=0.25,θ4=0.5,如表2所示,系统达到了80%的F值。虽然最后的结果距离可能达到的系统性能上限82.08具有一定的距离,但是已经超过基准系统2.4个点,并且超过了Toutanova等人得到的性能提升。
表1 重排序可能达到的最高性能
利用重排序改进语义角色标注性能的方法最有效的工作为前文详细介绍过的Toutanova等人[2]的工作,和本文不同的是他们是对一个谓词整体标注的前k个最好标注结果利用语言模型重排序,而本文是通过节点之间的相似度对标注结果进行重新排序。
类似的使用图模型对问题建模,并且根据节点间的相似度对节点标注结果进行迭代的思想最早由Zhu和Zoubin于2002年[27]提出,最早用于解决半监督的学习问题。
和本文较为相近的工作为Lang和Lapta[18]提出的利用图分割算法对语义角色标注进行无监督学习,他们通过利用词汇和句法两个插值特征来衡量候选论元之间的相似度,并且将最后的聚类问题转化为图分割算法进行求解。
表2 采用不同相似度公式配置下的实验结果
本文提出了一种利用图模型算法对语义角色标注结果进行重新排序的方法,通过对标注节点之间的相似度计算,利用标记传播算法将不同节点的标注信息进行互相传递,最终达到全局标注结果的一致性。并且本文分析了理想情况下,迭代算法所能达到的最好性能,最后的实验证明,使用标记传播算法迭代调整后,在篇章级别上的语义角色标注性能有了2.4个F值的显著提升。此外本文的工作还表明语义角色标注的标准结果基本保留在语义角色候选节点的前3个标注结果中,这个结论有利于将语义角色标注应用于如机器翻译等应用中,进而弥补当前语义角色标注性能不足的缺陷。
[1] Daniel Gildea, Daniel Jurafsky. Automatic labeling of semantic roles[J]. Computational Linguistics, 2002, 8(3):245-288.
[2] Kristina Toutanova, Aria Haghighi, Christopher D Manning. A global joint model for semantic role labeling[J]. Computational Linguistics, 2008, 34(2):161-191.
[3] Sameer Pradhan, WayneWard, Kadri Hacioglu, et al. Semantic role labeling using different syntactic views[C]//Proceedings of the 43rd Annual Meeting on Association for Computational Linguistics. Michigan State, USA: ACL Publication Chairs, 2005: 581-588.
[4] Martha Palmer, Daniel Gildea, and Paul Kingsbury. The proposition bank: an annotated corpus of semantic roles[J]. Computational Linguistics, 2005, 31(1):71-106.
[5] Michael Roth and Anette Frank. Aligning predicates across monolingual comparable texts using graph-based clustering[C]//Proceedings of the 2012 Joint Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning. Jeju Island, Korea: ACL Publication Chairs, July 2012: 171-182.
[6] Christiane Fellbaum. Wordnet. Theory and Applications of Ontology: Computer Applications[M]. USA: Springer, 2010: 231-243.
[7] Dekang Lin. An information-theoretic definition of similarity[C]//Proceedings of the 15th International Conference on Machine Learning. San Francisco: ICML Publication Chairs, 1998, (1): 296-304.
[8] Philip Resnik. Using information content to evaluate semantic similarity in a taxonomy[C]//Proceedings of the Fourteenth International Joint Conference on Artificial Intelligence. Montréal Québec, Canada: Morgan Kaufmann, 1995, (2): 448-453.
[9] Ted Pedersen, Siddharth Patwardhan, and Jason Michelizzi. Wordnet::similarity—measuring the relatedness of concepts[C]//Proceedings of HLT-NAACL 2004 Demonstration Papers. Boston, Massachusetts, USA: NAACL Publication Chairs, 2004: 38-41.
[10] Tom Richens. Anomalies in the WordNet verb hierarchy[C]//Proceedings of the 22nd International Conference on Computational Linguistics (Coling 2008). Manchester, UK: Coling 2008 Organizing Committee, August 2008: 729-736.
[11] Karin Kipper, Anna Korhonen, Neville Ryant, et al. A large-scale classification of english verbs[J]. Language Resources and Evaluation, 2008, 42(1):21-40.
[12] Thomas K Landauer, Susan T Dumais. A solution to plato’s problem: the latent semantic analysis theory of acquisition, induction, and representation of knowledge[J]. Psychological Review, 1997, 104(2):211.
[13] Jeff Mitchell, Mirella Lapata. Composition in distributional models of semantics[J]. Cognitive Science, 2010, 34(8):1388-1429.
[14] Weiwei Guo, Mona Diab. Semantic topic models: Combining word distributional statistics and dictionary definitions[C]//Proceedings of the 2011 Conference on Empirical Methods in Natural Language Processing. Edinburgh, Scotland, UK: EMNLP Publication Chairs, July 2011: 552-561.
[15] Michael Collins, Nigel Duffy, et al. Convolution kernels for natural language[C]//Proceedings of NIPS. Granada, Spain: NIPS Publication Chairs, 2001, (14): 625-632.
[16] Lluis Marquez, Lluis Padro, Horacio Rodriguez. A machine learning approach to pos tagging[J]. Machine Learning, 2000, 39(1):59-91.
[17] Dipanjan Das, Slav Petrov. Unsupervised part-of-speech tagging with bilingual graph-based projections[C]//Proceedings of the 49th Annual Meeting of the Association for Computational Linguistics:Human Language Technologies. Portland, Oregon, USA: ACL Publication Chairs, June 2011: 600-609.
[18] Joel Lang, Mirella Lapata. Unsupervised semantic role induction with graph partitioning[C]//Proceedings of the 2011 Conference on Empirical Methods in Natural Language Processing. Edinburgh, Scotland, UK: EMNLP Publication Chairs, July 2011: 1320-1331.
[19] J Atserias. Towards Robustness in Natural Language Understanding[D]. Donosti, Spain:Dept. Lenguajes y Sistemas Inform′aticos. Euskal Herriko Unibertsitatea, 2006.
[20] Shujie Liu, Chi-Ho Li, Mu Li, et al. Learning translation consensus with structured label propagation[C]//Proceedings of the 50th Annual Meeting of the Association for Computational Linguistics, Jeju Island, Korea: ACL Publication Chairs, July 2012: 302-310.
[21] GuoDong Zhou, Fang Kong. Global learning of noun phrase anaphoricity in coreference resolution via label propagation[C]//Proceedings of the 2009 Conference on Empirical Methods in Natural Language Processing. Singapore: EMNLP Publication Chairs, 2009: 978-986.
[22] Emili Sapena, Llu′?s Padr′o, Jordi Turmo. A global relaxation labeling approach to coreference Resolution[C]//Proceedings of Coling 2010: Posters. Beijing, China: Coling 2010 Organizing Committee, August 2010, pages 1086-1094.
[23] Carme Torrasi Gems. Relaxation and neural learning: points of convergence and divergence[J]. Journal of Parallel and Distributed Computing, 1989, 6(2):217-244.
[24] Mihai Surdeanu, Sanda Harabagiu, John Williams, Paul Aarseth. Using predicate-argument structures for information extraction[C]//Proceedings of the 41st Annual Meeting on Association for Computational Linguistics-Volume 1. Japan: ACL Publication Chairs, 2003, 8-15.
[25] Sameer Pradhan, Wayne Ward, Kadri Hacioglu, James Martin, and Dan Jurafsky. Shallow semantic parsing using support vector machines[C]//Proceedings of HLT/NAACL. Boston, USA: 2004, page 233.
[26] 刘挺,车万翔,李生. 基于最大熵分类器的语义角色标注[J]. 软件学报, 2007, 18(3):565-573.
[27] Xiaojin Zhu, Zoubin Ghahramani. Learning from labeled and unlabeled data with label propagation[N]. Technical report, Technical Report CMU-CALD-02-107, Carnegie Mellon University, 2002.