基于word2vec与Word Mover Distance的文档相似度计算

一、通过词向量进行文档相似度判定的背景与意义 

随着人类对自身秘密的探索与研究的不断深入,以生物技术为基石的人工智能技术也在快速的发展。通过对自身的神经以及思维的研究,人们创造出人工智能,来使在各个领域中创造出能替自己完成工作的“机器”成为可能,从而减轻人们因繁重的体力或脑力劳动而产生的压力。就目前来讲,人工智能的热门领域集中在自然语言生成,语音识别,机器学习,决策管理,和文本分析NLP等等。本文将就文本分析进行展开。文本分析主要应用于问答系统的开发,如基于知识的问答系统(Knowledge-based QA),基于文档的问答系统(Documen-based QA),以及基于FAQ的问答系统(Community-QA)等。无论哪一种问答系统的开发,都离不开自然语言的理解,而文档相似度的判断对这个方面有着重要影响。对于问题的内容,需要进行相似度匹配,从而选择出与问题最接近,同时最合理的答案。其中,基于Google开源软件word2vec训练生成词向量后进行文档相似度匹配是较重要的方向之一。

二、文档相似度判定的研究内容

2.1利用Google开源工具word2vec训练词向量

word2vec是Google在2013推出的一款用于获取词向量的工具包,它的简单与高效引起了大量从事相关工作的开发者的关注。它的特点如下:

   (1)word2vec的模型通过一种神经网络语言模型(Neural Network Language Model)对语料中的所有词汇进行训练并生成相应的词向量(Word Embedding),通过对词向量的距离(如余弦值或者欧氏距离)的计算即可得出两个词的相似度。             

   (2)与CBOW(连续词袋模型)利用词语的上下文来预测词语相反,word2vec利用的Skip-Gram模型利用词语来预测其上下文。通过把一个个的词语当做特征,将特征映射到K维向量空间中去,来获得文本数据更精确的特征显示。

   (3)根据词频用Huffman编码,使得出现频率越高的词语,他们激活的隐藏层数目越少,这样有效的降低了计算的复杂度

   (4)综上,word2vec高效的实现了词向量的训练,甚至在优化好的单机版本中一天就可训练上亿个词汇,这是我选择word2vec来生成词向量的原因。

2.2利用WMD(Word Mover Distance)模型计算文档相似度

2.2.1WMD模型原理介绍

WMD的模型基于EMD(Earth Mover Distance)模型。EMD和欧式距离一样,它们都是一种距离度量的定义、可以用来测量某两个分布之间的距离。其主要应用在图像处理和语音信号处理领域,WMD的模型正是基于EMD,将该模型的适用范围延伸到了自然语言处理领域。对EMD的详细原理不再此赘述。

Matt等人(见参考文献)将词嵌入与EMD相联系,用来度量文档距离。提出了WMD(word mover’s distance)算法,以及WCD(word centroid distance)、RWMD(relaxed word mover’s distance)两种牺牲精度降低复杂度的算法。

   (1)WMD算法利用NBOW(normalized bag-of-words即归一化的词袋模型)表示分布P。其中P1表示词语本身,用来计算该词在当前文档中的权重,其中表示词语i在所属文档中出现了几次,P1的特征量用该词语的词向量表示。

   (2)WMD算法利用求一个Word travel cost来计算词

  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值