- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种基于Word2Vector与编辑距离的句子相似度计算方法
摘要:随着各种问答系统的流行与聊天机器人的火热,对句子相似性的比较和处理越来越成为各类类似系统的核心部分。因此,研究并设计出一种好的句子相似性比较方法变得越来越关键。该文基于一种深度学习模型Word2Vector并且结合编辑距离算法提出了一种句子相似度计算方法,给出了具体的设计思路,并且通过实验验证了该方法的有效性,最后总结了该方法的优缺点。
关键词:句子相似度计算;Word2Vector;编辑距离;Edit Distance
中图分类号:TP18 文献标识码:A 文章编号:1009-3044(2017)05-0146-02
1 背景
句子的相似度计算在自然语言处理中有着十分广泛的运用。例如,机器翻译中相似性文档的判断和提取,在问答系统中相似性问题的匹配或者问题与答案之间的匹配判断等。对于这个相似度的刻画,主要分为几个不同的等级,具体为语法层面的相似度,语义层面的相似度,与语用层面的相似度。其计算难度也是层层递进。在具体的应用中,只要能达到语义层面的判断基本上就可以达到基本的需求了。目前对句子的语义层面的相似度计算方法主要有基于相同词汇的方法,使用语义词典的方法、使用编辑距离的方法,以及基于统计的方法等。其中,基于相同词汇的方法比较简单,但是其缺点也十分的明显,就是对于句子中同义词的判断存在不足。相对于基于相同词汇的方法,使用语义词典可以很好的处理句子中同义词的情形,但是语义词典也存在着需要不断地更新和维护词典库的缺点,而且如果只是单一的使用语义词典会缺乏对句子本身结构的分析,对最后的计算结果也有较大的影响。编辑距离一般使用在对句子的快速模糊匹配上,由于其规定的编辑操作有限,而且对于同义词的替换也缺乏判断,因此最后的准确率也不是很理想。本文基于编辑距离的方法,利用深度学习模型Word2Vector来增强其编辑操作的灵活程度,从而克服了单纯使用编辑距离对句子的语义理解不足的缺点。本文的第一部分主要介绍了相关的算法和基础知识。第二部分主要描述了基于Word2Vector与编辑距离的句子相似度计算方法,第三部分给出了测试结果以及对该方法的优缺点讨论,最后第四部分是结语。
2 基础知识
2.1 编辑距离
编辑距离方法是指两个句子间,由一个句子转换到另一个句子所需的最少的编辑操作次数。这里的编辑操作共有“插入”、“删除”和“替换”三种。例如:
我是中国人 - 你是中国人 (把“我”替换为“你”)
我是中国人 - 我爱中国人 (把“是”替换为“爱”)
我是中国人 - 是中国人(把”我”删除)
利用这种方法对两个句子进行相似度比较就像引言中分析的,其优点是简单,速度快。但是缺点也十分明显,由于编辑操作缺乏一定的灵活性,使得其无法进一步的判断语义层面的含义,比如同义词,同类、异类词等,因此,该方法适合于句子间的模糊匹配。
2.2 Word2Vector
Word2Vector是一种将词汇表示转化为空间向量的技术,主要利用了深度学习的思想对语料进行训练,通过将句子进行分词,然后将每个词汇映射成N维的向量,这样可以将两个词汇的相似度比较转化为对两个向量的相似度比较,可以利用cosine 相似度、欧氏距离等数学工具对词汇进行语义分析,其采用了一个具有三层的神经网络,并且根据词频用Huffman编码技术将相似词频词汇的隐藏层激活的内容出于大致相同的位置,如果哪个词汇出现的频率很高,那么它激活的隐藏层的数目就很少,通过这样处理可以使得计算的复杂度大幅度的降低。最后,通过Kmeans聚类方法,将相似的词向量聚在一起,最后形成了Word2Vector的词聚类模型。
Word2Vector的输出结果可以利用在NLP的很多地方,比如聚类,查找一个词的同义词,或者进行词性的分析等。
3 基于Word2Vector与编辑距离的句子相似度计算方法
3.1 问题描述
3.2 定?x编辑操作
3.3 按照Word2Vector的词向量距离来定义编辑操作的系数
由Word2Vector训练好的模型会将各个词汇生成一个与其相对应的词向量,计算两个词汇对应的词向量便可以知道这两个词汇的相似度。如果值为1,说明这两个词汇完全一致,如果为0,则表示完全没有关系。
这里考虑一种情形,当利用替换操作进行两个词汇的替换时,如果两个词汇意思是相近的,那么它的替换代价会相应的低一点,反之,则会相应的高。举个例子:
我爱故宫
我爱天安门
我爱苹果
这三个句子我们可以知道1,2两句更加的接近,因为它代表的都是景点。因此待匹配的句子1应该会匹配上句子2。为了将词语的相似度考虑进去,这里引
文档评论(0)