提出了一种基于有序词语移动距离的中文文本蕴含识别方法,该方法基于word2vec词向量计算有序词语移动距离特征,进而利用有序词语移动距离特征和传统语言学特征通过支持向量机生成分类模型,然后使用分类模型进行蕴含识别,最终得到蕴含结果.该方法在RITE-VAL评测任务的CS数据上的MacroF1为0.629,超过RITE-VAL的最优评测结果(BUPTTeam,0.615).实验结果表明,该方法可以提升中文文本蕴含识别系统的性能.
Chinese textual entailment recognition method based on ordered word mover distance was proposed. The ordered word mover distance was computed based on word2vec. The ordered word mover distance feature, grammar feature, and semantic feature were used to generate classification module based support vector machine (SVM). With use of classification module, the entailment result was obtained. An experiment was conducted in the CS data of RITE-VAL evaluation task in 2014, the MacroF1 of the experiment is 0.629, outperforming optimal value (BUPTTeam, 0.615), which illustrates the effectiveness of the method to lifting the performance of Chinese textual entailment.
文本蕴含识别(RTE,recognizing textual entailment)是一项针对计算机“理解”文本语义的研究.如果文本H的意义(置于T的语境下解释时)可以从文本T的语义中推断出来,那么文本T蕴含文本H,记作T≥H[1].
提出一种基于有序词语移动距离的中文文本蕴含识别方法,该方法通过word2vec词向量计算文本间的词语移动距离,再使用词语顺序信息进行加权,得到有序词语移动距离特征,并提取传统语言学特征,然后使用支持向量机(SVM,support vector machine)构建模型,进行蕴含识别.该方法在2014年的RITE-VAL评测的中文数据集进行了实验,MacroF1值为0.629,高于评测最优结果(BUPTTeam, 0.615),说明了该方法的有效性.
1 相关工作 1.1 文本蕴含截止到目前,国外已经举办了10次文本蕴含的评测.其中中文文本蕴含评测包括2011年NTCIR-9的RITE,2013年NTCIR-10的RITE-2,2014年NTCIR-11的RITE-VAL[2].
对于文本蕴含,人们提出了很多解决方法,包括基于文本相似度的方法[3]、基于机器学习的方法[4-5]、基于规则的方法[6].
1.2 word2vecMikolov于2013年提出word2vec的概念,word2vec模型为每一个单词用神经网络训练一种向量表示[7]. Mikolov使用了一种包含输入层、隐藏层、输出层的神经网络结构来预测邻近词.由于对模型的良好优化,word2vec可以在很短的时间内用单机训练十亿数级的词.在大规模数据集的训练使得该模型可以学习一些复杂的词语关系,如:vec(法国)-vec(巴黎)+vec(英国)≈vec(伦敦).
1.3 词语移动距离词语移动距离(WMD, word mover distance)是Kusner等[8]基于word2vec词向量提出的一种计算文本语义距离的方法.给定两文本A、B,首先计算将A所有词通过移动得到B的所有词的词语移动损耗;词的移动损耗(WTC,word travel cost)定义为词向量之间的欧氏距离.对于A中的第i个单词wi和B中的第j个单词wj,其词移动损耗可以表示为
$ {\rm{cost}}\left( i, j \right)=\sqrt{({{\mathit{\boldsymbol{x}}}_{i}}-{{\mathit{\boldsymbol{x}}}_{j}}){{({{\mathit{\boldsymbol{x}}}_{i}}-{{\mathit{\boldsymbol{x}}}_{j}})}^{\rm{T}}}} $ | (1) |
其中xi, xj是wi、wj的word2vec词向量.
除此之外,每一个词的词移动损耗,需要根据词语的重要程度进行加权;对于词wi移动到词wj,Kushner使用词袋模型(bag of words),定义权重pi为
$ {{p}_{i}}=\frac{{{c}_{i}}}{{{c}_{\rm{all}}}} $ | (2) |
其中:ci为单词wi在A中出现的频次数,call为A的单词总数. pi即为单词wi在A中出现的概率.
词wi、wj移动的权重定义为
$ {{T}_{ij}}={{p}_{i}}{{p}_{j}} $ | (3) |
对于2个句子A,B,构建一个n×n的矩阵R,n值为较长句单词数.
$ \left[\begin{matrix} {}&\cdots &{} \\ \vdots &{{\mathit{\boldsymbol{R}}}_{ij}}&\vdots \\ {}&\cdots &{} \\ \end{matrix} \right] $ |
Rij的值为A句第i个词wi移动到B句第j个词wj的词语移动距离,定义为
$ {{\mathit{\boldsymbol{R}}}_{ij}}={{T}_{ij}}{\rm{cost}}\left( i, j \right) $ | (4) |
根据矩阵R,从A句移动到B句的词语移动距离定义为
$ {\rm{min}}\left( \sum\limits_{i, j=1}^{n}{{{\mathit{\boldsymbol{R}}}_{ij}}} \right) $ | (5) |
最终结果为从矩阵R选出n个值,并使得求和结果最小,求和结果即为从A句到B句的词语移动距离.
1.4 支持向量机支持向量机(support vector machine)是Vapnik于1995年首先提出的[9],它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中[10].
假定大小为l的训练样本集{(xi,yi),i=1,2, …,l},由二类别组成,如果属于正类,则标记为1,如果属于负类,则标记为-1.
以线性情况为例,如果存在分类超平面
$ \mathit{\boldsymbol{\omega x}} + b = 0 $ | (6) |
使得
$ \mathit{\boldsymbol{\omega }}{\mathit{\boldsymbol{x}}_i} + b \ge 1, {y_i} = 1 $ | (7) |
$ \mathit{\boldsymbol{\omega }}{\mathit{\boldsymbol{x}}_i} + b \le - 1, {y_i} = - 1 $ | (8) |
则称训练集是线性可分的,其中ωxi表示向量ω和向量xi的内积.对于式(7)(8),可以写成如下形式:
$ {y_i}(\mathit{\boldsymbol{\omega }}{\mathit{\boldsymbol{x}}_i} + b) \ge 1 $ | (9) |
由此得到决策函数
$ f\left( x \right) = {\rm{sign}}\left( {\mathit{\boldsymbol{\omega x}} + b} \right) $ | (10) |
最优超平面的求解需要最大化2/ω, 即最小化
$ {{\rm{min}}}\frac{1}{2}{\left\| \mathit{\boldsymbol{\omega }} \right\|^2} $ | (11) |
其中
$ {y_i}(\mathit{\boldsymbol{\omega }}{\mathit{\boldsymbol{x}}_i} + b) \ge 1 $ | (12) |
中文文本蕴含识别系统包括文本预处理模块、文本处理模块、特征提取模块、分类模型模块.系统架构图如图 1所示.
1) 字符统一
字符统一主要有以下操作:
① 删除连续冗余标点以及特殊符号;
② 对数字、字母、标点符号的全角及半角进行统一.
2) 时间统一
由于描述时间的方式多样,需要进行归一化处理.如把一九八六年四月二十五日转换为“1986-04-25”.使用数字转换结合正则表达式匹配的方式进行时间统一.
3) 数字统一
由于描述数字的方式不同,需要对文本中的数字进行统一:统一后的结果为表述相同含义的数字,比如将“八百四十”转换为“840”.
使用中文数字转换阿拉伯数字的程序进行数字统一,以数字“三百二十七”为例,其中,“三”“二”“七”为数字,“百”“十”为数字单位,对于该数字表达式,从右向左进行识别,如为零到九则乘以数字单位再进行累加,遇到新的单位(十、百、千等)则替换旧单位.
4) 单位统一
由于计量单位的多样,需要对文本中的计量单位进行统一,如“公尺”和“米”等.
使用字典处理的方式进行单位统一,通过互联网搜集并构建计量单位词典,将不同表述的同等计量单位进行统一.
2.2 文本处理对预处理之后的文本进行进一步的文本处理,包括中文分词、词性标注和命名实体识别.
2.3 特征提取特征定义如下:
1) 词语移动距离
过去的衡量文本之间蕴含关系的方法往往忽略了词语之间的相似度信息,鉴于此,使用基于word2vec的词语移动距离来衡量文本间的蕴含关系.通过词向量的使用,可以弥补以往方法对于词语间相似度衡量的不足.研究表明[11],基于skip-gram的word2vec词向量可以有效地反映单词之间的语义关系.
使用skip-Gram模型生成200维word2vec词向量.通过训练出的词向量计算文本之间的词语移动距离得分,定义如式(1)~式(4)所示.
2) 有序词语移动距离(OWMD, ordered word mover distance)
使用WMD,无法解决语序不一致的问题.以下面两句为例:
T:水蕴草是一种水生植物,主要分布在湖边.
H:水生植物是一种水蕴草,主要分布在湖边.
因为WMD不考虑句子的词语顺序信息,如果使用WMD计算上述两句分值,那么两句话的词语移动距离是0,表明两句的语义相同.
为了解决这一问题,加入了词语顺序权重.通过词语顺序权重,可以增加T、H语序不一致的词语之间移动的距离,从而缓解T、H两句中语序不一致的问题.
对于词语顺序权重,使用高斯函数定义.文本T和文本H中的词相距越远, 其语义相关度越低, 并且这种降低趋势随距离增大先缓慢降低, 到一定距离后再加速降低, 最后再缓慢降低, 高斯函数满足这种下降趋势.定义如下:
$ F\left( {i, j} \right) = 1 - {\rm{exp}}\left( {{\rm{}} - \frac{{{{\left( {i - j} \right)}^2}}}{{2{\sigma ^2}}}} \right) $ | (13) |
对于文本T中的第i个单词wi和文本H中的第j个单词wj,F(i, j)为单词wi到单词wj的词语顺序权重.
根据式(1)~(3)得到词语移动权重Tij和词语移动损耗cost(i, j).
构建n×n的矩阵O,从单词wi到单词wj的有序词语移动距离定义为
$ {\mathit{\boldsymbol{O}}_{ij}} = {T_{ij}}{{\rm{cost}}}\left( {i, j} \right) + F\left( {i, j} \right) $ | (14) |
根据矩阵O,有序词语移动距离定义为
$ {{\rm{min}}}\left( {\sum\limits_{i, j = 1}^n {{\mathit{\boldsymbol{O}}_{ij}}} } \right) $ | (15) |
从矩阵O中选出n个值,并使求和结果最小.求和结果即为从句T到句H的有序词语移动距离.
3) 否定词特征(Negative Intention)
定义N为句子出现否定性词汇的个数. NT为T中否定词的个数;NH为H中否定词的个数. NegativeIntention定义为
$ |{N_T} - {N_H}| $ | (16) |
本次实验提取其他传统语言学特征如表 1所示.其中,选择时间、数字、实体等信息,原因是上述信息是一个短句子中的重要信息,如果T、H两文本的时间、数字或实体信息不一致,将很大程度上导致T、H不蕴含.一个长文本更倾向于推断出一个短文本,而反之一个短文本很难推断出一个包含更多信息的长文本,因此选择句子长度差作为特征.
括号内或引号内的信息往往是一个句子的核心内容,通过判断假设H括号、引号内的词是否出现在T中,是衡量T、H蕴含关系的侧面依据.
当T、H两文本出现反义词时,意味着T和H句子所描述的含义可能相反.当T、H两文本出现近义词时,意味着T和H句子所描述的含义可能相同.
2.4 分类模型将以上提取的特征作为输入向量,然后使用SVM构建分类模型.
利用SVM进行分类包括训练和预测两步,训练是根据训练数据生成分类模型,而预测是根据分类模型判断位置样本所属类别[12].首先通过训练数据生成特征向量,再根据特征向量训练分类模型,在训练过程中依赖交叉验证结果进行核函数选择及参数的调整.对于测试数据,生成特征向量之后利用SVM分类模型进行预测分类,得到分类结果.
3 实验 3.1 实验设置使用斯坦福分词(Stanford word segmenter①)进行分词,斯坦福词性标注(Stanford POS②)进行词性标注,采用斯坦福命名实体识别(Stanford ner③)进行命名实体识别,使用libsvm④生成SVM分类模型.实验选择了径向基核函数(RBF,radial basis function),采用网格搜索法确定惩罚因子以及核函数参数.所使用的word2vec词向量基于中文维基⑤的数据进行训练.使用了word2vec工具包⑥进行训练.
① http://nlp.stanford.edu/software/segmenter.shtml
② http://nlp.stanford.edu/software/tagger.shtml
③ http://nlp.stanford.edu/software/ner.shtml
④ http://www.csie.ntu.edu.tw/~cjlin/libsvm/
⑤ https://dumps.wikimedia.org/zhwiki/latest/zhwiki-latest-pages-articles.xml.bz2
⑥ https://github.com/RaRe-Technologies/gensim
3.2 实验语料使用NTCIR-11的RITE-VAL评测任务的简体中文语料进行实验,语料统计如表 2所示.每对文本包含一句文本T和一句文本H.
系统的性能的评估使用评测举办方给定的指标,定义为
$ F1 = \frac{1}{{\left| C \right|}}\sum\limits_{c \in C} {F{1_c}} = \frac{1}{{\left| C \right|}}\sum\limits_{c \in C} {\frac{{2{P_c}{R_c}}}{{{P_c} + {R_c}}}} $ | (17) |
其中C为分类集合,取值为“Y”和“N”;|C|=2,指类别的个数;Pc与Rc分别表示类别c的准确率和召回率,其定义如式(18)、式(19)所示.
$ {P_c} = \frac{{{N_{c, {\rm{correct}}}}}}{{{N_{c, {\rm{predict}}}}}} $ | (18) |
$ {R_c} = \frac{{{N_{c, {\rm{correct}}}}}}{{{N_{c, {\rm{target}}}}}} $ | (19) |
以c类为例,Nc, correct是正确预测为c类的集合,Nc, predict是全部预测为c类的集合,Nc, target是标准答案为c类的全部集合.
3.4 实验结果实验结果如表 3所示.
通过分析实验结果可以看出,使用词语移动距离比单纯使用传统语言学特征的效果要更好,其MacroF1达到0.616,比单纯使用传统语言学特征的MacroF1值提升了0.005.
同时,与本研究所使用的词语移动距离方法相比,有序词语移动距离的蕴含判断效果有一定提升.和前者相比,有序词语移动距离的MacroF1提升了0.013.以下面的T、H句子为例:
T:恐龙可能是鸟类祖先,在1868年由汤玛斯·亨利·赫胥黎首次提出.
H:鸟类可能是恐龙祖先,在1868年由汤玛斯·亨利·赫胥黎首次提出.
上句使用词语移动距离特征判断蕴含结果为蕴含,使用有序词语移动距离特征判断蕴含结果为不蕴含,说明该方法对于T、H两句语序不一致的蕴含判断是有效的.
对比结果如表 4所示.其中,BUPTTeam[8]、NWNU[9]分别为RITE第1名、第2名的评测结果.
通过实验结果可以看出,本研究所使用的有序词语移动距离的MacroF1为0.629,为0.631,均高于评测的最好结果,说明了该方法的有效性.
通过分析实验结果,可以发现还有很多识别错误的文本对.举例如下:
1) 同义描述
T:布朗尼的发明就像很多的美食,很可能只是无心插柳所带来的结果.
H:布朗尼的发明就像很多的美食,很可能只是一个意外的结果.
2) 范围错误
T:檀香山为美国夏威夷州最大的城市暨首府.
H:檀香山为美国最大的城市暨首府.
3) 互斥词语
T:芥川龙之介的《地狱变》通过极端化的人间悲剧描写了权力与艺术的冲突.
H:芥川龙之介的《地狱变》通过极端化的人间悲剧描写了财富与艺术的冲突.
4 结束语提出了一种基于有序词语移动距离特征的中文文本蕴含识别方法.该方法首先对文本进行了预处理,降低了文本表述的多样性.接下来对文本进行中文分词等处理,之后对文本提取了有序词语移动距离特征和传统语言学特征,然后使用SVM分类模型进行了建模,最后利用构建好的分类模型对测试数据进行了预测.实验结果高于RITE评测的最好成绩,说明了该方法对文本蕴含识别是有效的.
提出的方法未来还可以在以下方面进行改进:
1) 逻辑推理问题,举例说明如下:
T:水母没有心脏、血液、鳃和骨骼.
H:水母不属于脊椎动物.
T、H两句表面上没有蕴含关系,但是通过逻辑推理可以得出没有骨骼的动物是无脊椎动物,而水母没有骨骼,因此水母不属于脊椎动物,蕴含关系应判断为蕴含.
2) 对互斥词语的分析判断,如“物理”和“数学”,两者并非反义词,但在文本T、H中分别出现则是对立关系.
立足于文本,从文本中充分挖掘出各种相关信息,对文本蕴含识别具有非常重要的作用,另一方面由于“大数据”时代的到来,如何从大规模的自然语言文本中获取更多、更丰富的外部资源,解决文本蕴含识别中由于知识缺乏而导致的错误正在成为一个重要的研究课题.
[1] |
袁毓林, 王明华. 文本蕴含的推理模型与识别模型[J]. 中文信息学报, 2010, 24(2): 3–13.
Yuan Yulin, Wang Minghua. The inference and identification models for textual entailment[J]. Journal of Chinese Information Processing, 2010, 24(2): 3–13. |
[2] | Matsuyoshi S, Miyao Y, Shibata T, et al. Overview of the NTCIR-11 recognizing inference in text and validation (RITE-VAL) task[C]//Proceedings of the 11th NTCIR Conference. Tokyo:[s.n.], 2014:223-232. |
[3] |
王宝鑫, 郑德权, 王晓雪, 等. 基于文本蕴含的选择类问题解答技术研究[J]. 北京大学学报:自然科学版, 2016, 52(1): 134–140.
Wang Baoxin, Zheng Dequan, Wang Xiaoxue, et al. Multiple-choice question answering based on textual entailment[J]. Acta Scientiarum Naturalium Universitatis Pekinensis, 2016, 52(1): 134–140. |
[4] | Liu Maofu, Zhang Luming, Hu Huijun, et al. A classification model for semantic entailment recognition with feature combination[J]. Neurocomputing, 2016, 208(C): 127–135. |
[5] |
张晗, 盛雅琦, 吕晨, 等. 基于短文本隐含语义特征的文本蕴涵识别[J]. 中文信息学报, 2016, 30(3): 163–171.
Zhang Han, Sheng Yaqi, Lü Chen, et al. Recognizing textual entailment based on short text latent semantic feature[J]. Journal of Chinese Information Processing, 2016, 30(3): 163–171. |
[6] | Siblini R, Kosseim L. Using ontology alignment for the TAC RTE challenge[C]//Text Analysis Conference (TAC 2008) Workshop-RTE-4 Track. Gaithersburg:[s.n.], 2008. |
[7] | Mikolov T, Sutskever I, Chen K, et al. Distributed representations of words and phrases and their compositionality[C]//Advances in Neural Information Processing Systems, 2013:3111-3119. |
[8] | Kusner M J, Sun Y, Kolkin N I, et al. From word embeddings to document distances[C]//International Conference on Machine Learning. Lille:[s.n.], 2015:957-966. |
[9] | Vapnik V. The Nature of statistical learning theory[M]. Berlin: Springer, 1995. |
[10] |
张学工. 关于统计学习理论与支持向量机[J]. 自动化学报, 2000, 26(1): 3243.
Zhang Xuegong. Introduction to statistical learning theory and support vector machines[J]. Acta Automatica Sinica, 2000, 26(1): 3243. |
[11] | Mikolov T, Chen K, Corrado G, et al. Efficient estimation of word representations in vector space[EB/OL]. 2013. https://arxiv.org/abs/1301.3781. |
[12] |
李妍, 刘茂福, 姬东鸿. 基于支持向量机的中文文本蕴涵识别研究[J]. 计算机应用与软件, 2014, 31(4): 51–55.
Li Yan, Liu Maofu, Ji Donghong. On SVM-based Chinese textual entailment recognition[J]. Computer Application and Software, 2014, 31(4): 51–55. |