基于词分布表征的汉语框架排歧研究

2015-03-11 14:05党帅兵李国臣王瑞波李济洪
中北大学学报(自然科学版) 2015年3期
关键词:语料框架卷积

党帅兵,李国臣,2,王瑞波,李济洪

(1.山西大学 计算机与信息技术学院,山西 太原030006;2.太原工业学院 计算机工程系,山西 太原030008;3.山西大学软件学院,山西 太原030006)

0 引 言

自然语言中广泛存在着一词多义现象,比如“打酱油”中“打”是购买的意思,而在“打毛衣”中“打”是织的意思.这种现象对于自然语言处理中的语义分析有着至关重要的影响.作为语义分析中的中间环节,框架排歧是给定句子中的目标词,计算机自动识别出其所属框架,从而消除这种歧义现象.由于框架排歧研究起步较晚,目前大多数的研究工作[1-4]都是将其看作分类问题,通过人工设定特征模板来选取大量的词、基本块、句法标记等标记特征.这些标记特征主要存在两方面的问题.首先,每种特征的特征标记集合较大,从而导致最终的特征矩阵维度较高且非常稀疏;其次,特征标记之间被认为相互独立,没有任何关联.这显然是不对的,例如,词语“中国”和“美国”都是描述国家的名词,在语义上有很强的相关性.但在上述的标记特征集合中,这两个词被分别对待.针对这两方面问题,我们认为,在构建框架排歧模型时,应该构建维度较低的特征空间,并且在特征空间中,可以很好地勾连出特征之间的语义关系.因此,本文摒弃传统的标记特征,通过使用神经网络模型来预先学习出词语的低维、实值的分布表示信息,并把它们作为特征加入到最大熵[5]模型中.本文抽取出汉语框架网(Chinese FrameNet,简称CFN)中88个可以激起两个以上框架的词元中的2 077条句子作为语料来构造框架排歧实验.最终,使用词分布表征的框架消歧精确率(Accuracy)达到58.11%,比使用词特征时高出近11个百分点.

1 词分布表征

在建立框架排歧模型时,特征的选取是至关重要的.本文仅采用了词语特征.但在表示词语特征时,传统0-1表示方法是将模型的每条训练样例表示成一个很长的0-1向量.该向量中,不同的维度对应着不同的词语特征.如果某个词语特征在当前的训练样例中出现,则在相应的位置使用1表示,否则为0.这种表示方法存在两个严重的问题:①词与词被孤立地看成向量中两个不同的维度,它们之间的语义并没有得到体现;②每个样例的特征描述会随着词特征集合的增大而增大,从而导致特征集合稀疏且高维[6].本文摒弃了常用的0-1表示方法,转而采用词语的低维实值的分布表征.

简单来说,词分布表征就是用低维的实数向量来表示所有词语.例如,“打”这个词语可以被表示为:[-0.153 23,0.793 14,…,1.759 32].学习词语分布表征的主要手段就是将低维实值的词表示矩阵作为参数矩阵引入到不同的神经网络模型中,并在大规模语料上通过无监督学习来优化这些参数,从而将大规模语料中词语的语义信息隐式地编码到这些参数中.目前比较流行的词分布 表 征 学 习 方 法 有C&W[7],Word2Vec[8-10],RNNLM[11]和Glove[12].

本文使用C&W 方法[7]基于山西大学CFN 语料来学习词分布表征,并将其应用到最大熵模型中来进行汉语框架排歧研究.表1给出了使用夹角余弦求相似度的算法,基于C&W 训练方法迭代10亿次得到的词分布表征,抽取出的“中国”、“我”、“肝脏”、“苹果”和“一”,五个词的近邻词.

表1 近邻词抽取Tab.1 Neighbor word extraction

2 汉语框架排歧问题描述

汉语框架排歧任务是给定一条汉语句子、句中的目标词以及目标词的所属框架列表,要求计算机能够基于上下文信息,从该框架列表中,为该目标词自动地标注一个适合的框架.其形式化描述如下:

给定目标词wt,其可以激起的框架集合记为F={f1,f2,…,fm},该目标词的上下文信息记为C,那么,框架排歧的任务为寻找唯一的f∈F,使其满足

3 算法描述及建模

基于汉语框架排歧任务的形式化描述,本文将该任务看作分类问题来解决,采用最大熵思想来构建分类模型.由于本文的主要意图在于研究词分布表征对于汉语框架排歧任务的影响,在特征提取时,仅将词对应的分布表征作为特征加入到最大熵模型中去.

实验中,用Y 表示当前目标词所能激起的框架集合,用X 表示当前目标词所对应的上下文信息的集合,模型的目标是:给定上下文x∈X,计算出y∈Y 的条件概率p(y|x).最大熵的思想就是从满足条件的模型中选择最为均匀的模型.对于条件概率p(y|x),其均匀性可以用条件熵来度量,其定义为

则最大熵的形式化表示为

采用拉格朗日乘数法来求解最大熵,其公式为式中:f(x,y)是表示x 和y 存在某种关系的特征函数,是个二值函数;λi是特征fi所对应的权重参数,也称为拉格朗日算子;Z(x)是归一化因子,其公式为

本文在利用最大熵算法建模时,其输入是从人工标注的训练语料中抽取到的训练样本集合{(x1,y1),(x2,y2),…,(xn,yn)}.其中,(xi,yi)表示上下文信息xi所对应的框架为yi.本文仅使用词特征时的xi表示目标词前后固定窗口的词序列,使用词分布表示实验时,xi是固定窗口内的词对应的分布表征拉直后构成的多维的特征向量.具体实例如下:

例句:公元前12世纪末、11世纪 初 产生 了犹太教.

其中,目标词“产生”能够激起“使形成”、“形成”、“因果”和“创造”四个框架,本例句中,与之匹配的框架是“创造”框架.本文的窗口设定为[-2,2],词分布表征的维数为100.则仅使用词特征时的xi为[世纪,初,产生,了,犹太教],yi为“创造”.使用词分布表征实验时xi为[f1∶-0.102 59,f2∶0.489 02,…,f500∶0.553 91],

fi表示特征名,其所对应的特征值是由词序列中各个词的分布表征提供.

模型的训练过程其实是对于权重λ 的参数估计过程.由于语料规模较小,为了防止在训练时模型对于数据的过度拟合,本文在模型训练时引入了均值为0、方差为C 的高斯惩罚.实验时通过调节高斯参数C 来得到最优模型.图1 为本文汉语框架排歧实验的具体流程.

图1 汉语框架排歧流程图Fig.1 Flow chart of Chinese frame disambiguation

受有实验语料所限,为了保证模型的稳定性,本文采用3-fold交叉验证,因此系统在抽取3 次训练集和测试集后将结束.在利用词分布表征来提取上下文信息时,本文分别使用了4种方法:

1)直接将[-2,2]窗口内的词对应的分布表征作为特征值加入到最大熵模型中;

2)将目标词所在的句子中的所有词依次替换为分布表征后,经过递归卷积运算得到的100维的实值向量作为特征值加入到最大熵模型中,卷积公式为

式中:n表示当前卷积层的节点个数,这种递归卷积方法的图示化表示如图2 所示.

图2 递归卷积运算示意图Fig.2 Recursive convolution operation schematic

图2 中最下层是句子中的词序列,通过查找小节1中已经训练好的词分布表征将词序列中词转换为各自对应的词分布表征.然后通过递归卷积运算最后得到一个100维度的实值向量,即图2中的最顶层.

3)首先将目标词所在句子中的所有词赋予权重,然后采用方法2对其进行卷积运算,同样得到一个100维的实值向量,并将其作为特征值加入到最大熵模型中.赋权重的方法具体是:将目标词与句子两端的最远距离加1作为目标词的权重,目标词左右两边的词随着离目标词距离增大权重依次减1.比如例句“公元前12 世纪末、11世纪初 产生 了 犹太教.”的目标词“产生”与句子左端“公元前”的距离最远,其值是7,则目标词“产生”的权重为8,整个句子中所有词的权重为:1,2,3,4,5,6,7,8,7,6,5.

4)首先去除目标词所在句子中的停用词,然后采用方法三对其进行加权、卷积处理,最后同样得到一个100维的实值向量作为特征值加入到最大熵模型中.

4 评价指标

本文在三折交叉验证试验下,全部目标词的框架分类精确率(Accuracy)计算公式如下

式中:n是所选用词元总数(本文n=88);Nij是目标词ti的第j 份交叉验证实验中测试例句的个数;cij是目标词ti的第j 份交叉验证实验中框架分类正确的测试例句个数.

5 实 验

5.1 实验设置

实验采用mallet工具包中的最大熵模型作为分类器,所用语料来自山西大学CFN 语料库.训练词分布表征时输入序列长度为5,即当前词和与它相邻的前后各两个词.在预处理时,将语料中所有外文字母换成“WORD”,所有阿拉伯数字替换为“NUMBER”,抽取该训练预料中词频数大于1的词构成词表,对于其他词用“UNKNOWN”字符表示,人为设定词向量的维度为100.训练时,在不断的迭代优化过程中,词分布表征中某些维数的值会不断增大.为了避免其对最大熵模型的影响,将得到的词分布表征进行规范化[13],其形式化描述为

式中:E 表示词表中所用词分布表征构成的矩阵;σ是常数因子;stddev(E)表示矩阵E 的标准差.

本文所用语料是从汉语框架语义知识库中抽取出的可以激起两个以上框架的88 个词元中的2 077条句子,并按照词元所述框架将所有句子均匀切分为3份.实验时,任选其中2份做训练集,另外1份做测试集,进行三折交叉验证,使用开窗口技术时,窗口大小为[-2,2].

5.2 实验结果及分析

经统计发现,本文所用的所有方法得到最好结果时的Gauss平滑参数都在1,2,…5之内.为了简便,本文只列出Gauss平滑参数在1,2,…5之内的实验结果.表2 给出了仅使用词特征的实验结果.

表2 使用词特征的实验结果Tab.2 The results of using the word feature

从表2 可以看出,仅使用开窗口的词特征时,模型最好的实验结果仅为47.47%.参考文献[3],本文将该实验作为基准实验.

表3 给出了Gauss平滑参数为1时,采用方法1,在规范化常数因子分别为1,0.1,0.01,0.001 的实验结果.

表3 不同迭代次在不同常数因子下的实验结果Tab.3 The results based on different iterations and constant factors

分析表3,可以发现,在常数因子为0.01时,使用迭代7千万次的词分布表征得到了最高的实验结果.此时结果要比仅使用词特征(47.47%)时高出将近11个百分点,这说明使用词分布表征比使用词特征在进行框架排歧研究时更有优势.后续都基于迭代7千万次的词分布表征,规范化常数因子为0.01时进行实验.

表4 给出的是上下文信息提取是采用方法2的实验结果.从表4 可以看出,当以句子中所有词分布表征卷积后的特征表示作为特征时,模型的性能与只使用词分布表征作为特征时相比,结果并无差异.究其原因,可以认为这种简单的卷积运算并没用很好地利用整个句子中的语义和句法信息.

表4 基于方法2的实验结果Tab.4 The results based on the second method

表5 是采用方法3来对目标词的上下文信息进行提取,并将得到的实值向量作为特征值加入到最大熵模型进行汉语框架排歧的实验结果.

表5 基于方法3的实验结果Tab.5 The results based on the third method

从表5 可以看出,将整个句子中所有词分布表征经过加权、卷积处理后作为特征时可以达到58.11%的准确率.与仅使用词分布表征作为特征相比,有一定的提高.

表6 给出了采用方法4,去掉句子中停用词后作为特征值的实验结果.表6 中可以看出,其最好的实验结果也仅为54.31%.在使用词分布表征进行框架排歧实验时,停用词不能忽略.

表6 基于方法4的实验结果Tab.6 The results based on the fourth method

由表3~表6 可以看出,使用词分布表征来进行框架排歧实验最高可以达到58.11%的准确率,其与表2中仅使用词特征时(47.47%)的结果相比有大幅度提高,但与文献[6]中实验结果(69.64%)相比仍有些差距.究其原因,是由于模型没有使用词性、句法等重要的特征信息,而如何获取这些特征的分布表征是下一步要研究的内容.

6 总结与展望

本文将汉语框架排歧任务看作分类问题,使用最大熵对其进行建模,首次将由神经语言模型学习到的词的分布表征应用到了框架排歧研究中,提供了一种新的研究思路.最终,得到了58.11%的精确率.

在下一步的研究中,首要工作是将由Word2Vec、RNNLM 和Glove等多种方法得到的词分布表征应用到汉语框架排歧中,并对这些分布表征进行比较与分析;其次,要研究学习到其他示性特征(比如词性、依存关系等)分布表征的方法,并将学习到的分布表征应用到框架排歧以及自然语言处理的其它子任务中.

[1]Ken Litkowski.CLP:Integration of frame net in a text representation system[C].Proceedings of the 4th International Workshop on Semantic Evaluations,2007:113-116.

[2]Cosmin Adrian Bejan,Hathaway Chris.UTD-SRL:a pipeline architecture for extracting frame semantic structures[C].Proceedings of the 4th International Workshop on Semantic Evaluations,2007:460-463.

[3]李济洪,高亚慧,王瑞波,等.汉语框架自动识别中的歧义消解[J].中文信息学报,2011,25(3):38-44.Li Jihong,Gao Yahui,Wang Ruibo,et al.Frame disambiguation in automatic identification of Chinese frame[J].Journal of Chinese Information Processing,2011,25(3):38-44.(in Chinese)

[4]李国臣,张立凡,李茹,等.基于词元语义特征的汉语框架排歧研究[J].中文信息学报,2013,27(4):44-51.Li Guocheng,Zhang Lifan,Li Ru,et al.Chinese frame disambiguation based on the semantic feature of lexical units[J].Journal of Chinese Inforamtion Processing,2013,27(4):44-51.(in Chinese)

[5]Berger A L,Pietra V J,Pietra S A.A maximum entropy approach to natural language processing[J].Computational Linguistic,1996,22(1):39-71.

[6]Bengio Y,Ducharme R,Vincent P,et al.A neural probabilistic language model[J].Journal of Machine Learning Research(JMLR),2003(3):1137-1155.

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

[8]Mikolov T,Chen K,Corrado G,et al.Efficient Estimation of Word Representations in Vector Space[DB].arXiv preprint arXiv,2013:1301-3781.

[9]Mikolov T,Sutskever I,Chen K,et al.Distributed representations of words and phrases and their compositi-onality[DB].arXiv preprint arXiv,2013:1310-4546.

[10]Mikolov T,Yih W,Zweig G.Linguistic Regularities in Continuous Space Word Representations[C].In NAACL-HLT-2013,2013.

[11]Mikolov T,Karfiat M,Burget L,et al.Recurrent neural network based language model[C].In INTERSPEECH,2010:26-30.

[12]Pennington J,Socher R,Manning C D.GloVe:Global Vectors for Word Representation[C].In EMNLP2014,2014.

[13]Joseph T,Ratinov L,Bengio Y.Word representations:a simple and general method for semi-supervised learning[C].Proceedings of the 48th Annual Meeting of the Association for Computational Linguistics(ACL),2010.

猜你喜欢
语料框架卷积
有机框架材料的后合成交换
基于归一化点向互信息的低资源平行语料过滤方法*
框架
基于3D-Winograd的快速卷积算法设计及FPGA实现
卷积神经网络的分析与设计
从滤波器理解卷积
濒危语言与汉语平行语料库动态构建技术研究
基于傅里叶域卷积表示的目标跟踪算法
关于原点对称的不规则Gabor框架的构造
我国在WYO框架下面对的贸易保护现状及应对