|
引用本文
李小涛, 游树娟, 陈维. 一种基于词义向量模型的词语语义相似度算法. 自动化学报, 2020, 46(8): 1654−1669 doi: 10.16383/j.aas.c180312
Li Xiao-Tao, You Shu-Juan, Chen Wai. An algorithm of semantic similarity between words based on word single-meaning embedding model. Acta Automatica Sinica, 2020, 46(8): 1654−1669 doi: 10.16383/j.aas.c180312
http://www.aas.net.cn/cn/article/doi/10.16383/j.aas.c180312
关键词
词语语义相似度,Word2vec,同义词词林,词义消歧,词义向量
摘要
针对基于词向量的词语语义相似度计算方法在多义词、非邻域词和同义词三类情况计算准确性差的问题, 提出了一种基于词义向量模型的词语语义相似度算法.与现有词向量模型不同, 在词义向量模型中多义词按不同词义被分成多个单义词, 每个向量分别与词语的一个词义唯一对应.我们首先借助同义词词林中先验的词义分类信息, 对语料库中不同上下文的多义词进行词义消歧; 然后基于词义消歧后的文本训练词义向量模型, 实现了现有词向量模型无法完成的精确词义表达; 最后对两个比较词进行词义分解和同义词扩展, 并基于词义向量模型和同义词词林综合计算词语之间的语义相似度.实验结果表明本文算法能够显著提升以上三类情况的语义相似度计算精度.
文章导读
词语的语义相似度作为自然语言处理领域的重要研究方向, 已经广泛应用于词义消歧、知识管理中信息抽取、语义标注以及本体学习与合并、Web服务发现等相关领域[1].词语语义相似度计算的准确性直接影响以上领域相关算法的性能.
目前, 词语语义相似度的计算方法大部分基于本体和语义词典, 利用词语节点间的位置关系来衡量词语间的语义相似程度, 但存在着词汇量不足、扩展性差和准确性不高的问题.基于词向量的语义相似度算法通过从包含海量词汇的语料库中训练词向量模型, 利用词语对应的向量之间的距离来计算词语之间的语义相似度.这种方法能够有效解决现有的基于本体和基于语义词典的方法存在的缺陷, 但是随之也引入了一些新的问题.首先, 许多词语能够表达多个词义, 如"仪表"既可以表示人的外表, 也可以表示测量仪器, 这类词语称为多义词.现有的词向量模型对于每个词语使用单一的词向量表示, 多义词也不例外.每个多义词的词向量实际上是多个词义的一个折中, 这在一定程度上弱化了每个单独的词义, 利用词向量的距离计算的多义词之间的语义相似度并不准确.其次, 在词向量模型训练过程中, 一个词的词向量只受训练文本中以该词为中心的固定窗口内的上下文词语的影响, 造成一个词与窗口外的词语相似度较低.因此一些词义上相似度较高的词对由于不经常在同一窗口内出现, 使得基于词向量计算的语义相似度和词语之间真实的语义相似度之间存在着误差, 这种情况我们称之为非邻域词.例如"旅行"和"宾馆"两个词语, 通过Word2vec算法[2-3]在搜狗新闻语料库1训练的连续词带模型(Continuous bag-of-words model, CBOW)词向量计算的语义相似度(范围0 ~ 1)仅为0.003, 几乎不相似, 显然和人的主观判断不一致.另外, 词向量既无法像本体那样通过等价关系来表示同义词关系, 也无法通过语义词典中同义词分组的方式来表达同义词, 单纯利用词向量的距离不能准确计算同义词的相似度.例如"西红柿"和"番茄"两个词属于同义词, 理论上语义相似度应为1.在词向量空间中, 两个词语分别对应空间中的两个点, 而且"西红柿"在词向量空间中和"黄瓜"的距离相对"番茄"更近, 造成"西红柿—黄瓜"的语义相似度大于"西红柿—番茄"的语义相似度.显然, 由于词向量无法表达同义词关系, 导致了上述语义相似度的计算结果缺乏准确性.
针对上述问题, 本文提出了一种基于词义向量模型的词语语义相似度算法(An algorithm of semantic similarity between words based on word single-meaning embedding model, WSME).本文的词义向量模型和现有的词向量模型最大的区别是:词义向量模型中的每个向量对应的词语只表达唯一的词义, 多义词按不同词义被分成多个词, 并利用同义词词林(Tongyici Cilin, TC)的词义编码作为前缀进行标识, 每个词义的词分别对应唯一的向量.基于词义向量模型, 可以计算多义词不同词义之间的相似度, 避免了词义的混淆.例如, 对于多义词"仪表", 在词义向量模型中分为"Dc04A01 =仪表"和"Bo18A01 =仪表"两个词, 分别由唯一的词义向量表示, 词语前的标识为同义词词林中的词义编码. "Dc04A01 =仪表"表示人的外表, "Bo18A01 =仪表"表示测量仪器.当计算"仪表"和其他词语之间的相似度时, 就可以分别利用"仪表"的两个词义向量进行更为精确的计算.此外根据词义向量模型中词语的标识, 可以进一步利用同义词词林中先验的词义分类信息和同义词分组信息, 对不同词义的词语进行同义词扩展, 借助同义词信息校正非邻域词的相似度计算误差, 以及直接判断两个词语是否为同义词关系, 从而进一步提升非邻域词和同义词的语义相似度计算精度.例如, 非邻域词"旅行"和"宾馆", 在词义向量模型中分别对应"Hf04A01 =旅行"和"Dm04A12 =宾馆"两个词语, 根据词语的标识, 可以从同义词词林中获取两个词语的同义词集合. "旅行"的同义词包含"行旅"和"远足", "宾馆"的同义词包含"旅馆"、"旅店"和"旅社"等词.虽然"旅行"和"宾馆"之间的语义相似度较小, 但可以通过"旅行"和"旅店"以及"旅行"与"旅馆"等词语之间的语义相似度对其进行修正, 弥补语义关系的缺失.同义词"西红柿"和"番茄"在词义向量模型中对应"Bh06A32 =番茄"和"Bh06A32 =西红柿"两个词, 它们的词义标识使用相同的同义词词林编码, 据此可以判断两个词语为同义词, 语义相似度为1, 有效弥补了词向量模型无法表示词语之间同义词关系的缺陷.经过上述处理, 多义词、非邻域词和同义词的语义相似度计算准确性能够得到有效提升.
本文组织结构如下:第1节介绍了词语语义相似度算法的相关工作; 第2节描述了本文提出的词义向量模型的构建过程; 第3节阐述了基于词义向量的词语相似度算法; 第4节描述了对比实验并对实验结果进行了分析; 第5节对本文工作进行总结, 并展望未来的工作.
图 1 词义向量模型的构建流程
图 2 训练词义向量的神经网络结构
图 3 基于词义向量的词语语义相似度计算过程
本文提出了一种基于词义向量模型的词语语义相似度算法(WSME), 实现了对多义词、同义词和非邻域词相似度计算精度的提升.通过词义消歧算法明确了语料库中的每个多义词表达的词义, 并基于消歧后的语料利用Word2vec算法训练词义向量模型.在计算词语的语义相似度时, 综合利用了词义向量信息和同义词词信息, 通过扩展的最大值融合方式得到了对词语相似度更准确的衡量.为了验证本文方法的有效性, 分别进行了词义消歧精度、相似度计算精度和以及同义词、多义词和非邻域词三种情况下相似度计算结果的对比实验, 实验结果表明: 1)本文提出的基于同义词词林和词向量的词义消歧方法相对其他基于知识库的词义消歧方法具有更好的准确度; 2)相对基于同义词词林和词向量简单叠加的相似度计算方法算法、基于词向量的相似度算法以及基于多元词向量的相似度算法, 本文基于词义向量方法均取得了更好的计算精度, 而且具有较高的稳定性; 3)本文方法对于多义词、同义词和非邻域词能够取得更接近人主观判断的相似度评价, 具有更好的合理性.
下一步的工作方向是利用WordNet英文语义词典对英文语料库进行语义消歧, 通过WordNet编码对语料库词语进行词义标识, 训练英文词义向量模型, 基于此模型提升英文词语相似度算法的计算精度.
作者简介
游树娟
中国移动研究院助理工程师. 2016年获得中国海洋大学硕士学位.主要研究方向为知识图谱, 语义相似度计算. E-mail: youshujuan@chinamobile.com
陈维
中国移动研究院首席科学家, 主持物联网领域的创新研发工作.主要研究方向为机器智能和边缘计算. E-mail: wai.w.chen@gmail.com
李小涛
中国移动研究院工程师. 2016年获得北京航空航天大学博士学位.主要研究方向为物联网语义, 知识图谱.本文通信作者. E-mail: lixiaotao@chinamobile.com
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-12-26 04:35
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社