文档词频矩阵_Word Mover's Distance(WMD)的文档相似度计算解析

文档相似度计算在自然语言处理中广泛应用,本文介绍了Word Mover's Distance (WMD) 的原理和优化方法。WMD结合了BOW和Word2Vec,用于捕捉词与词之间的关系,解决线性规划问题,实现文本的高效匹配。通过WCD和RWMD的剪枝处理,能有效降低计算复杂度并提高效率。
摘要由CSDN通过智能技术生成

1. 文档相似度

文档相似度计算在自然语言处理的工业界有较多的应用,尤其应用在文本检索以及文本召回的场景当中。目前比较流行的算法都是在使用神经网络的表征作为文本特征,然后通过faiss快速检索来召回,或者直接通过计算BM25,编辑距离,proximity等文本特征的融合来作为文本召回的方式。但是使用神经网络的表征会带来许多超参数,而使用传统文本表征的方式,F1 score会偏低。今天带来的一个基于词传输的文档相似度的计算方式,既不存在超参数,又能达到一个比较好的分数。

ac31fd5d35bb75c027fdf0d334c70c39.png

ps. 这两个英文句子会贯穿全文

2. 预备知识

在说WMD之前需要说几个大家已经熟知但是早已忘记的点。

第一,word embedding & Word2Vec。说说历史吧,还记NNLM这个语言模型吗?这个就是大名鼎鼎的神经网络语言模型。预测任务很简单,就是下面这个东东:

04c6f08842bd3e78b7103b0845da2015.png

使用one-hot encoding 作为原始单词输入,之后乘以矩阵Q(这个是个网络参数) 获得向量
, 每个单词的
concat 到一起,上接hidden layer, 然后接softmax去预测后面该接哪个单词。
就是单词对应的word embedding的值。但是你用one-hot的问题就在于表征的
稀疏性。而机器学习跟深度学习都不太适合这种sparse-vector。谷歌爸爸于是发明了Word2Vec,其实跟这个NNLM就是很像。但是由于训练方法不同,很多人觉得没什么卵关系。 NNLM 是输入一个单词的上文,去预测单词。 Word2Vec则有两种,CBOW 和 Skip-gram CBOW核心思想是从一个句子里面把一个词抠掉,用上下文来预测这个词。(是不是想到了BERT,其实是有关系的但是这里跟主题无关) Skip-gram核心思想则正好反过来,输入某个单词,去预测上下文的单词。 大名鼎鼎的公式:

其实说这些就应该够了,关于WMD,大家只需要关心Word2Vec是一个能表达词跟词之间关系的比较好用的表征就可以。用不同语料不同网络train出来的Word2Vec也能对结果产生不同影响。

第二,BOW & TF-IDF

都是统计词频的方法,还有单词出现在不同文档中的概率。假设A 和 B 同时出现在同一个文档里,而且经常跟 C、D、E、F在一起,那么两个词向量就会很相似。两个最大的缺点就是,刚刚说到的稀疏性导致向量近似正交(near-orthogonality),以及 词跟词之间关系捕捉不到。这里就不过多赘述原理,介绍这个也是为了这俩给WMD做炮灰做铺垫

第三,Latent Dirichlet Allocation & Latent Semant

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值