基于可靠词汇语义约束的词语向量表达修正研究
2019-02-25梁泳诗黄沛杰黄培松杜泽峰
梁泳诗,黄沛杰,黄培松,杜泽峰
(华南农业大学 数学与信息学院,广东 广州 510642)
0 引言
词语向量表达(word vector representation)是机器翻译[1]、文本分类[2]、情感分析[3]等自然语言处理(natural language processing,NLP)下游应用中的重要基础。作为词语的向量化形式,词语向量表达通过计算后能够捕捉语言的特性,因此其被用于解决各种NLP的任务。近年来,以分布假说——词的语义由其上下文决定[4-5]作为理论基础,由神经网络模型训练语言模型时生成的词分布表示[6-7],又叫词嵌入(word embedding)或词向量,在许多NLP任务上,取得超越传统的词袋(BOW)特征表达方法的效果,这一提升归功于神经网络语言模型可以使用组合方式,以线性复杂度对复杂的n元上下文进行建模,解决了传统BOW特征表达方法高维稀疏的问题。然而,上下文不等同于真正的语义,词分布表示也存在局限性。
近年来,研究者们采用各种词汇分类体系提供的词汇语义约束(如词语间的同义关系或者反义关系),对海量语料训练得到的词向量进行修正,改善了词向量的语义表达能力。词向量的修正主要分为两种方法:一种方法是直接在训练词向量的过程中加入词汇语义约束[8-12]。另一类方法则是对训练好的词向量根据词汇语义约束进行后处理[13-16]。相比于前者,后者适用于任何模型训练得到的词向量的修正,并且效率较高,被称为轻量级后修正方法。然而,人工编制或者自动构建的词汇分类体系,普遍存在一些词语类划分或者词语语义构成不完善的地方,一定程度上影响了从中提取的语义约束的正确性。而训练词向量时词频稀疏的词语容易产生不可靠的原始词向量,也影响了词汇语义约束在词汇向量表达修正中的效果。针对词汇语义约束的可靠性问题,本文提出一种提炼可靠性词汇语义约束的方法。该方法适用于各种不同的词向量修正方法,是对词语向量表达修正研究领域的有益补充。其主要贡献包括:
(1) 提出可靠词汇语义约束的提炼方法。本文目前针对的是同义语义约束的可靠性提炼。在给定词汇语义源(如本文采用《同义词词林(扩展版)》[17])提供的词汇语义约束的基础上,采用词汇分类体系与词向量之间及异构词汇分类体系之间交互确认的方法,确定了核心约束,剔除了不可靠约束,有效地降低了错误词汇语义约束以及训练不充分的词向量在基于语义约束的词向量修正中的不良影响。
(2) 在中文词语相似性评测的公开数据集PKU 500上进行实验。将本文提出的方法提炼的可靠词汇语义约束应用到两个轻量级后修正的研究进展方法,修正后的词向量都获得更好的词语相似度计算性能,取得了0.649 7的Spearman 等级相关系数,比NLPCC-ICCPOL 2016词语相似度评测比赛第一名的方法结果提高了25.4%。
(3) 本文方法提炼的可靠词汇语义约束,不仅有助于词语向量表达修正方法获得更符合词汇语义约束的词向量,其核心词约束传递机制也阻隔了原始词向量不够可靠的词语在词向量修正中的信息传递,提高了修正后词汇向量表达的质量。
本文后续部分安排如下:第1节介绍相关工作,第2节介绍本文提出的方法,第3节给出测试结果及分析,最后在第4节总结了本文的工作并做出了简要的展望。
1 相关工作
词语向量表达修正中语义信息的来源,一般是人工或者半人工的方法构建的词汇分类体系,如在英文上的WordNet[18]、PPDB(paraphrase database)[19],中文上的HowNet[20]、《同义词词林(扩展版)》[17]等。
基于词汇语义约束的词向量修正主要分为两种:一种方法是直接在训练词向量的过程中加入词汇语义约束,使词向量在学习上下文信息的过程中保持语义约束信息。这类方法是通过修改词向量训练的神经网络模型的目标函数实现的,如Xu等[10]提出的RC-NET模型,通过改造skip-gram模型[7]的目标函数把相关语义知识与分类知识注入词向量训练过程;Bollegala等[11]在Glove模型[21]的基础上使用同义、反义的语义约束对词向量进行训练。
上述的基于词汇语义约束的词向量修正方法,都在一定程度上改善了词向量的语义表达能力。然而,由于词汇语义约束一般是来自于人工编制或者半自动构建的词汇分类体系,其可靠性不稳定。此外,对于相对正确的词汇语义约束,如果约束包含的词语在训练原始词向量时词频稀疏,依然容易产生不可靠的原始词向量,也会影响词汇语义约束在词汇向量表达修正中的效果。针对词汇语义约束的可靠性问题,本文提出一种提炼可靠性词汇语义约束的方法。值得注意的是,虽然本文只将提出的方法提炼到的可靠词汇语义约束应用在两个轻量级后修正的研究进展方法上,但本文的方法适用于各种不同的词向量修正方法。
2 基于可靠词汇语义约束的词语向量表达修正
2.1 总体技术架构
图1是本文提出的方法的总体技术架构。加粗部分是本文的主要工作。
图1 总体技术架构
本文的工作包括两个主要部分:
(1) 词汇语义约束的可靠性提炼。首先利用词汇同义语义源(如本文采用的《同义词词林(扩展版)》)获得大量的词汇语义约束(也就是同义词语类,具体来讲是《同义词词林(扩展版)》中的原子词群);然后利用词向量与词汇语义约束进行交互确认,计算和评估类内词语的可靠性,将词语类中的词语按一定比例划分成核心词(提供可靠的词向量修正来源的词语)、非核心可靠词(潜在的原始词向量不够可靠的词语)、不可靠词(潜在的词语类划分不够准确的词语);最后,针对划分到不可靠词的词语,通过不同词汇分类体系(本文中是《同义词词林(扩展版)》与HowNet)的交互确认,恢复了一部分词语到非核心可靠词中,也即恢复了部分误剔除的语义约束。由最终确定的核心词和非核心可靠词共同构成了可靠的词汇语义约束。
(2) 词语向量表达修正阶段。根据可靠的同义语义约束、反义语义约束(本文的反义语义源采用了《小学生反义词词典》),以及原始词向量,采用轻量级后修正方法得到修正后的词语向量表达。
2.2 词语向量表达的轻量级后修正方法
在研究进展中,词向量的轻量级后修正方法的代表包括Retrofitting[13]和Counter-fitting[14]。两个方法的主要区别在于:在计算两个词向量的距离时Retrofitting采用的是欧氏距离,Counter-fitting采用的是余弦距离。Counter-fitting比Retrofitting多采用了反义语义约束,尽管效果并不明显。
在本文实验中发现Counter-fitting的效果优于Retrofitting,下面简要介绍一下Counter-fitting的轻量级后修正方法,Retrofitting方法参见文献[13]。
(1) 同义词拉近:将同义词约束(i,j)∈S指向的词对词向量vi、vj尽可能地拉近,如式(1)所示。
(1)
其中,d(vu,vw)来自于余弦相似度,d(vi,vj)=1-cos(vi,vj);τ(x)≜max(0,x)是损失函数,γ定义了同义词词向量间理想的距离,文献[14]中设置γ=0,使得单因素优化的目标是vi、vj的词向量相同。
(2) 反义词推远:将反义词约束(i,j)∈A指向的词对词向量vi、vj尽可能地推开,如式(2)所示。
(2)
其中,d(vu,vw)来自于余弦相似度,d(vi,vj)=1-cos(vi,vj);τ(x)≜max(0,x)是损失函数,δ定义了反义词词向量间理想的距离,文献[14]中设置δ=1.0,使得单因素优化的目标是vi、vj的词向量正交。
(3) 保持自身信息:使词向量一定程度上也保持初始词向量的值,一定程度上可避免不完全同义或者反义的语义约束的过度拉和推,如式(3)所示。
(3)
其中,τ(x)≜max(0,x)是损失函数,代表新词向量与原词向量之间的理想距离。我们设置λ=0,确保在加入语义约束的同时保持词向量本身所具有的信息与价值。
综上,轻量级后修正模型的总体目标函数为如式(4)所示。
(4)
其中,k1、k2和k3用于控制不同部分损失之间的权重。k1,k2,k3>0且k1+k2+k3=1。本文在k1、k2和k3上使用grid search,并用随机梯度下降法(stochastic gradient descent)对目标函数的最小值进行求解,迭代20次,选取 Spearman相关系数在PKU 500中的最高分数的模型超参数。
2.3 可靠词汇语义约束的提炼
人工编制或者半自动构建的词汇分类体系普遍存在语义约束可靠性不稳定的问题,通过分析本文语义约束基础来源的《同义词词林(扩展版)》的同义词语类,以及相应词语的原始词向量,发现问题主要来自两个方面:一方面是由于现实生活中语义是渐变且存在多义,人很难精准地判定词语之间的语义界限,所以对于人工构造的同义词语类很容易会出现划分潜在不够准确的词语(如词语“分解”划分到了“解释”、“说明”等词语所在的词语类)。另一方面是由于训练词向量的语料中,不同词语的词频存在差异,词频稀疏的词语容易产生不可靠的原始词向量,这些词语就算是词语类划分正确,在采用词语类词汇语义约束进行类内词语的词向量修正时也会带来不良影响。
基于上述分析,本文提出的词汇语义约束的可靠性提炼机制包括以下几个主要方面:
(1) 基于语义约束源《同义词词林(扩展版)》提取同义语义约束(词语类),并基于词向量计算和评估类内词语的可靠性;
(2) 通过剔除不可靠语义约束机制避免词语类划分潜在不够准确的词语的错误修正;
(3) 通过不同词汇分类体系(本文中为HowNet)的交互确认恢复了部分误剔除的语义约束;
(4) 通过核心词约束传递机制避免原始词向量不够可靠的词语在词向量修正中的不良影响。
2.3.1 基础的词汇同义语义约束的提取
《同义词词林(扩展版)》是比较著名的中文词汇分类体系,它是哈尔滨工业大学信息检索实验室在《同义词词林》[22]基础上修正与扩充而成[17]。《同义词词林(扩展版)》包含约7万条词语,按照词语的意思进行编码,是一部同义词语类词典,例子如图2所示。图中每一行为一个原子词群,提供具有同义语义的词语类。
Aa01C01=众人 人人 人们Aa01C02=人丛 人群 人海 人流 人潮Aa01C03=大家 大伙儿 大家伙儿 大伙 一班人 众家 各户Aa01C04=们 辈 曹 等Aa01C05@众学生Aa01C06#妇孺 父老兄弟 男女老少 男女老幼
图2 《同义词词林(扩展版)》示例图
《同义词词林(扩展版)》按照树状层次结构把词条进行组织,把词语分为大、中、小、词群和原子词群五类,大类有12组,中类有95组,小类有1 425组,词群有4 223组,原子词群有17 807组。每一个原子词群中都有若干个词语,同一原子词群的词语不是语义相同或十分接近就是语义有很强的相关性。每一行都有自身所属的编码,在《同义词词林(扩展版)》中词语的相似性是根据每一行的编码计算得到的,编码的最后一位有三种符号:“=”、“#”、“@”,用于说明同一个原子词群中的词语关系,分别代表语义相等、语义相关(同行词语是同类,但不能视为相等)、独立(表示在词典中该词语既没有同义词也没有相关词)。本文以最后一位标记符号为“=”的语义相等原子词群提供基础的同义语义约束。
2.3.2 同义词语类内词语的可靠性评估
本文基于词向量与词汇语义约束的交互确认,对《同义词词林(扩展版)》中获得的每个同义原子词群的词语类中的词语进行类内评估,算法流程如图3所示。
在图3的算法中,(1)~(6)步采用原子词群中全体词语的词向量计算出代表该原子词群中心的中心词向量。(8)~(12)步分别计算该原子词群中每个词语的词向量与中心词向量的距离,并由小到大排序。离中心词向量越近的同义词的向量表达越能反映该原子词群的类语义,而远离中心词向量的词语则可能是人工错误划分的词语(与该词语类中其他词语不够同义),或者也可能是词向量训练时词频稀疏导致的向量表达不好。算法第(13)和(14)步分别根据一定的阈值从话语类中划分出核心词和可靠词。考虑到《同义词词林(扩展版)》具有较好的质量,尽管存在一定的噪声,本文实验中α%和β%分别设为60%和85%。
图3 同义词语类的类内评估算法
根据算法的输出,可以进一步将每个原子词群的词语类中的词语按一定比例划分成:
• 核心词:距离词语类中心最近的α%的词语,一般有着正确词语类归属,以及训练良好的词向量,因此代表着提供可靠的词向量修正来源的词语。
• 非核心可靠词:距离词语类中心α%之外,但在β%之内的词语,仍然较大可能是正确词语类归属,但潜在存在原始词向量不够可靠的问题。因此,在根据语义约束修正词向量时,我们通过核心词约束传递机制限制了非核心可靠词的词向量在修正中的影响。
• 不可靠词:距离词语类中心β%之外的词语,较大概率属于潜在的词语类划分不够准确的词语。这类词语被判定为不可靠词,从同义语义约束中剔除。
下面,我们以“Hg12A01=”原子词群为例介绍词语类的划分,如图4所示。
图4 “Hg12A01=”原子词群词语排序
图4中给出了该原子词群中每个词语的词向量与中心词向量的距离排序情况(缺失词向量的词语没有展示)。从图4可以看到,整体上,原子词群中的词语随着与中心词向量的距离增大,其词语与词语类语义的关联强度也在逐步弱化。排序的前5名,分别是“解释”“讲”“说明”“释疑”“说”,都表达着说明、阐明的核心概念,其语义紧密相关,但是离中心向量较远的词语如“分解”“阐明”“说”等的语义概念不在其常用语义中,“分解”属于潜在的误划分词语。实际上,在PKU 500数据集中,词语对(“解释”“分解”)的人工标注的相似度也只有1.7 (范围为0~10,10代表最相似)。当然,也确实存在一些词语属于词语类归属正确,但是因为训练词向量时的词频过于稀疏导致词向量不准确而远离中心词向量,如上面例子中的“释”,这属于误剔除词语,我们将通过恢复误剔除词语机制将它们“恢复”进语义约束。
2.3.3 基于异构词汇分类体系交互确认的误剔除词语恢复
一般可以认为,被不同的词汇分类体系同时认为是同义关系较大概率是可靠的同义约束。本文通过异构词汇分类体系(HowNet与《同义词词林(扩展版)》)的交互确认恢复了部分误剔除的语义约束。
HowNet[20]是一部用一个或者多个“义原”去描述词语概念的中文词汇分类体系。“义原”是描述概念的最基本单位,不同的义原集合表述不同的概念,HowNet中的词语有一个或多个概念[23-24]。如图5所示为词语“家庭”在HowNet中的表述。
图5 HowNet中词语示例图
词语“家庭”的概念是DEF=community|团体,family|家,团体、家就是组成概念的义原。
HowNet中的义原有1 600多个[24],HowNet中的词语概念由这些义原的组合进行描述。义原之间又以树状结构的层次体系进行组织,通过义原在层次体系中的深度求出义原的相似度,进而逐步求出词语间概念的相似度以及词语间的相似度,本文就是利用李峰等[24]关于HowNet的词语相似性的计算方法计算出HowNet的关于每个词语的近义词词集。
经过前面的词语类内词语的可靠性评估,一个原子词群上的词语被分为三类:核心词部分(设为{W1,W2,…,Wi})、非核心可靠词(设为{Wi+1,Wi+2,…,Wt})、以及排序在β%之后的准备剔除的不可靠词{Wt+1,Wt+2,…,Wn}。对于候选剔除词{Wt+1,Wt+2,…,Wn},本文利用HowNet与《同义词词林(扩展版)》的交互确认,对其中的部分词进行恢复,如式(5)所示。
(H1∪H2∪…∪Hi)∩{Wt+1,Wt+2,…,Wn}
(5)
其中,Hj={w|HowNet近义词词典中关于Wj的近义词}。
该原子词群中的候选剔除词中,属于核心词在HowNet中的近义词词集的并集的词语将被恢复到非核心可靠词中。如图4列举的“Hg12A01=”原子词群为例,候选剔除词{“分解”,“释”},“释”被恢复成非核心可靠词,而“分解”因为在HowNet角度也没有被视为是核心词的同义词而被最终删除。
2.3.4 核心词的约束传递机制
在留下的可靠词中,相比于非核心可靠词,核心词一般既有着正确的词语类归属,又具有训练良好的原始词向量,因此代表着提供可靠的词向量修正来源的词语。图6展示了核心词约束传递机制示意图。
在核心词分界线左边的为靠近中心词向量的核心词,在核心词分界线右边的为经过提炼的非核心可靠词,箭头的指向为约束引导下的词向量修正时的约束作用方向。核心词的约束传递机制使得核心词的词向量修正时,只接受核心词的语义约束,而“阻止”了来自非核心可靠词的词向量影响;非核心可靠词修正时,同样只接受核心词的语义约束引导下来自于核心词的词向量影响。这个机制下可预期能使得词语修正后的词向量,朝着核心词原始词向量的方向靠拢,远离非核心可靠词原始词向量,获得质量较好的词语向量表达。
图6 核心词约束传递机制示意图
3 实验
3.1 实验数据集
本文采用中国中文信息学会社会媒体专委会提供的SMP2015微博数据集(SMP 2015 Weibo DataSet)中的10GB微博作为原始词向量的训练语料库。运用Word2Vec的CBOW模型[7]在语料上进行词向量的训练,获得400维的词向量。
可靠同义词约束的提炼运用到以下两个词汇分类体系:
(1) 《同义词词林(扩展版)》:来自于哈工大信息检索研究室的《同义词词林(扩展版)》最大的特点是它是一部类语词典,同一词语类之间通过相互组合可以获得多对同义词词对约束,并且质量较好。本文以最后一位标记符号为“=”的原子词群作为基础的同义语义约束来源。
(2) HowNet:用义原标记每个词语概念的中文知识库。本文用李峰等[24]关于HowNet词语相似性的计算方法计算出HowNet中所有词语两两之间的相似性,对于每一个词语,把与之相似度最高的词语组织起来,得到每个词语的最高相似度词集,也视为该词语的近义词词集。词语最高相似度达到0.75的近义词词集组合成HowNet的近义词词典,用于对误剔除词语的恢复。
反义词约束来源:由于在中文语言中还没有覆盖比较全面的反义词语义信息的语义词典,本文在Counter-fitting相关实验中,选择从《小学生反义词词典》中抽取反义词约束。
利用HowNet计算词语相似度的参数设置见表1。
表1 HowNet相似性计算参数设置
在实验效果评价方面,采用了中文词语相似度评测数据集PKU 500数据集[25]。PKU 500共有500对词语,每对词语都有人工标注的相似度(范围为0~10)。PKU 500被采用到第五届国际自然语言处理与中文计算会议暨第24届国际东方语言计算机处理会议(NLPCC-ICCPOL 2016)的词语相似度计算评测比赛中。
3.2 实验设置
本文采用斯皮尔曼等级相关系数(Spearman rank correlation coefficient)去衡量词向量计算词语相似性的效果。通过计算PKU 500中人工标注的分数列和词向量计算词语相似性的列之间的Spearman等级相关系数ρ,借以判断各实验方案对词语相似性的计算效果。本文的实验方案围绕词语向量表达修正过程中运用的可靠词汇语义约束的效果,以及核心词约束传递机制的价值两个方面展开,实验方案如下:
(1) 研究进展方法中中文词语相似性上的性能对比:对比了本文提出的方法与研究进展方法在词语相似性计算上的性能。
(2) 典型词对在可靠词汇语义约束下的探讨:通过对典型词对的观察,展示本文的方法可靠词汇语义约束的保持和不可靠词汇语义约束的去除情况。
(3) 核心词语义传递对词汇向量表达质量的影响:通过典型词对的观察,展示本文采用核心词约束传递机制对词汇向量表达质量的影响。
3.3 实验结果与分析
3.3.1 研究进展方法中中文词语相似性上的性能对比
本实验中基线方法Retrofitting及Counter-fitting采用的同义词汇语义约束为来自于《同义词词林(扩展版)》中标记有“=”的原子词群,另外Counter-fitting中采用的反义词词汇语义来自于《小学生反义词词典》。研究进展方法在中文词语相似性上的性能对比如表2所示。“Core”代表采用了核心词约束传递机制(本文以靠近每个原子词群中心向量前60%的词语作为核心词);“DEL”代表采用了剔除不可靠语义约束机制,即对离中心词向量最远的15%的词语判为不可靠词,不参加词语向量表达修正;“REC”代表恢复了部分误剔除的语义约束机制。NLPCC-ICCPOL 2016测评比赛第一名的方法的结果直接采用了其文献中的结果。
表2 研究进展方法在中文词语相似性上的性能对比
从表2中可以看到,基线方法Retrofitting及Counter-fitting 在PKU 500上分数都超过60,比原始词向量的41.8高出20,表明了轻量级后修正方法的良好效果;本文的方法取得最好的PKU 500分数,比NLPCC-ICCPOL 2016测评比赛第一名的方法高出25.4%。将本文提出的方法中的“Core”“DEL”“REC” 逐步应用到Retrofitting及Counter-fitting上后,PKU 500的分数都得到逐步提升,累计分别提高了3.63和0.84。从提升数值上看不是太显著,主要是因为本文的方法目标是有效地减少错误词汇语义约束,以及降低训练不充分的词向量在基于语义约束的词向量修正中的不良影响,这部分词语在语义约束中占的只是有限的比例。在下面的实验中,我们将进一步展示具体的改善效果。
此外,我们观察了反义语义约束的价值,“Counter-fitting+Core+DEL+REC -Antonyms”代表在“Counter-fitting+Core+DEL+REC”的基础上去除了反义约束。从结果可以看到,影响非常微弱,其主要原因可能是词语的反义语义约束覆盖面过小(相比于来自于《同义词词林(扩展版)》的同义约束)。实际上,目前在英文的词汇向量表达修正的研究中,反义约束的应用效果也不太理想[11,14]。这意味着在语料库建设方面,急需构建足够覆盖面的反义词典,尤其是提供中文反义语义约束的反义词典。
3.3.2 典型词对的词汇语义约束的分析
我们进一步通过PKU 500中典型词对的观察,展示本文的方法可靠词汇语义约束的保持和不可靠词汇语义约束的去除情况。表3上显示了PKU 500中的17对高误差词对(原始词向量词对相似度计算排序在300名之后,人工评分分数排名在前100名)的修正情况。
表3 PKU 500中基于原始词向量计算的高误差词对(修正后词向量词语相似度计算排序进入前200名,用“√”表示)
在“Counter-fitting”“Counter-fitting+Core”“Counter-fitting+Core+DEL”和“Counter-fitting+Core+DEL+REC”方案中,被有效修正(本文以从后200名前进到前200名为标准)的高误差词对都是15对。由此可以看出,“Counter-fitting+Core+DEL”及“Counter-fitting+Core+DEL+REC”方案在采用了不可靠词剔除之后,依然能保证有效约束的实现。
表4显示了PKU 500中的11对相对低误差词对(原始词向量词对相似度计算排序在300名之后,人工评分分数排名也在300名之后)是否能不被不可靠约束影响的情况。
在“Counter-fitting”方案及在“Counter-fitting+Core”方案中,分别有7对、8对词语对被错误修正,而在“Counter-fitting+Core+DEL”和“Counter-fitting+Core+DEL+REC”方案中,仅有两对和4对词语被错误修正。由此可以看出,不可靠词的剔除机制可以有效地从同义约束中剔除部分不可靠词语的影响。
表4 PKU 500中基于原始词向量的相对低误差词对(修正后词向量词语相似度计算排序进入前200名,用“×”表示)
3.3.3 核心词约束传递机制对词汇向量表达质量的影响
最后我们继续通过典型词对的观察,展示具体词对在采用核心词约束传递机制对词汇向量表达质量的影响。我们选取在表3中均被“Counter-fitting”“Counter-fitting +Core”两个方案有效修正的词对进行观察。
每个词对的词语均来自于同一个“=”号原子词群。为了观察词汇向量表达的修正质量,我们给每个词对所在原子词群都定义一个核心词代表和非核心词代表。如图7所示的词对(“出神”,“发楞”)所在的原子词群“Ic04B01=”中,设定第一位为核心词代表(本例中为“愣住”),最后一位为非核心词代表(本例中为“泥塑木雕”)。核心代表词能反映该词所在原子词群的语义核心,而非核心代表词明显地与原子词群的语义核心出现了偏离,所以从词语向量表达修正的角度,词语更应该往该原子词群中的核心词靠近,而远离非核心词(甚至是边缘词)。
图7 “Ic04B01=”原子词群词语排序
我们以“与核心代表词的相似度”表示与核心词代表的原始词向量的相似度,“与非核心代表词的相似度”表示与非核心词代表的原始词向量的相似度。通过计算可以得到,采用核心词约束传递机制(Counter-fitting+Core)修正的词向量和没有采用核心词约束传递机制(Counter-fitting)修正的词向量,与核心词代表词和非核心词代表词的原始词向量的距离关系,结果如表5所示。
从表5中可以看到,Counter-fitting+Core和Counter-fitting都可以取得相近的词语语义约束修正效果。两种方法修正后的词对的词向量相似度均值分别达到了0.650和0.664。
然而,核心词约束传递机制的优势在于使得修正的词向量往核心代表词靠拢。从表5可以看到,Counter-fitting+Core修正后的词对词向量,普遍都要比Counter-fitting修正后的词对词向量更靠近核心代表词的原始词向量(与核心词代表的原始词向量的相似度高),以及更远离非核心词代表词的原始词向量(与非核心词代表的原始词向量的相似度低)。
表5 修正后词对词向量与核心词代表、非核心词代表原词向量的距离情况
例如第一对词,“出神”在“Counter-fitting+Core”中与核心代表词相似度为0.451,相似度比“出神”在“Counter-fitting”中与核心代表词的相似度(0.397)大;“发楞”在“Counter-fitting+Core”中与核心代表词相似度为0.383,相似度也比“发楞”在“Counter-fitting”中与核心代表词的相似度(0.331)大。而“出神”在“Counter-fitting +Core”中与非核心代表词相似度为0.114,相似度比“出神”在“Counter-fitting”中与非核心代表词的相似度(0.200)小;“发楞”在“Counter-fitting +Core”中与非核心代表词相似度为0.046,相似度也比“发楞”在“Counter-fitting”中与非核心代表词的相似度(0.137)小。
由此我们可以得到这样的观察结论:采用核心词约束传递机制的词语向量表达修正,可以在有效保持同义语义约束效果的条件下,获得质量更好的词语向量表达。
4 总结
本文研究了适用于词语向量表达修正的可靠词汇语义约束提炼方法。通过基于词汇分类体系与词向量之间、以及异构词汇分类体系之间的交互确认,对《同义词词林(扩展版)》提供的基础同义语义约束进行可靠性评估和可靠词选取。提炼得到的可靠词汇语义约束应用到两个轻量级后修正的研究进展方法,修正后的词向量都获得更好的词语相似度计算性能,在公开数据集PKU 500数据集的评测上,比NLPCC-ICCPOL 2016词语相似度测评比赛第一名的方法的结果提高25.4%。此外,核心词约束传递机制有效地帮助词语向量表达修正方法在有效实现同义语义约束效果的条件下,获得质量更好的词语向量表达。
未来的工作主要集中在进一步完善同义语义约束的可靠性提炼方法(比如通过评估同义词语类的质量,有差异性地对待不同词语类的可靠词划分标准),以及尝试人工或半人工的方式构建较好覆盖面的反义词典,并研究反义语义约束的可靠性提炼方法。