判断两个颜色相似度_计算两个语句相似度的WMD算法实现

在完成第二篇论《From Word Embeddings To Document Distances》文阅读之后,需要完成相应论文词数据的测试计算,另外这个文章中涉及线性规划的一部分内容,所以就趁着算法细节没有忘记,完成了相关算法的实现。由于年底很忙,这个简单的文档也拖了很久还没有写完,趁没有遗忙的时候赶紧记录下来,尽管很简单。

假设有三个句子,需要通过WMD来判断句子之间的相似度,具体三个句子分别为:

(1)sentence1: "Boys like eating apples"

(2)sentence2: "He wants some fruits"

(3)sentence3: "A boy speaks French"

为完成上述目标,具体的算法实现流程如图1所示。

62cdfab7ae5a85cec1bae8da2cf93a26.png
图1 利用WMD计算不同语句相似度的算法流程

1、获取词embedding向量文件

为了完成每个单词的词向量特征提取,需要利用公共数据进行预训练,形成了embedding向量文件。目前英文文档中较常用的是斯坦福大学提供的Glove(Golobal Vectors for word Representation)词embedding文件,便于映射形成各个单词的多维度词向量,该文件包括了50维、100维、200维、300维等四种词向量维度。一般而言,维度越多,越能够表现出每个词之间的差异。上述embeeding向量文件,一般是读取之后用dictionary的方式进行存储。

常规英文对应embedding向量文件下载链接为:Global Vectors for Word Representation常规英文对应embedding向量文件下载链接为:

Global Vectors for Word Representation​nlp.stanford.edu
6f381d56199263ca60c1b876d72ed429.png

2、 句子单词分析与nBow构建

由于英文单词跟中文单词有典型的差异,因此直接利用空格对单词进行分割,然后利用nBow进行统计,并计算每一个单词在该句子中的占比概率。

这个概率后面在进行句子间的比例计算时,需要用来衡量与之对应的那个新词对应的占比,是计算WMD最短距离的重要约束。

3、句子单词embedding向量预处理

参照embedding向量文件对应的dictionary,获取每一个单词对应的词向量。本文实验部分利用的是50维的词向量特征进行评估。例如单词boys与he对应的50维词向量为:

  • boys: [-0.74203 0.6797 -0.56667 -1.1968 0.3358 0.29851 -0.70912 -0.14211 -0.40529 0.097625 -0.082705 -0.21598 -0.33956 -0.63261 0.54714 -0.32945 -0.037783 0.88213 -0.36467 -0.0061634 -0.39807 1.2246 0.66922 1.3295 -0.56906 -1.0283 -0.3655 -0.18287 -0.13597 -1.1708 2.2974 0.626 -0.015633 -0.32109 0.88654 0.4967 0.45373 -0.82939 0.28069 -0.92905 -0.60766 -0.74002 0.12943 0.2404 1.0691 -0.27271 0.29008 -1.2301 -0.091389 -0.2003 ]
  • he: [-0.20092 -0.060271 -0.61766 -0.8444 0.5781 0.14671 -0.86098 0.6705 -0.86556 -0.18234 0.15856 0.45814 -1.0163 -0.35
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值