深入理解wmd算法
深入理解wmd算法 WMD(Word Mover’s Distance) 1 是2015年提出的一种衡量文本相似度的方法。它具有以下几个优点: 效果出色:充分利用了 word2vec 的领域迁移能力 无监督:不依赖标注数据,没有冷启动问题 模型简单:仅需要词向量的结果作为输入,没有任何超参数 可解释性:将问题转化成线性规划,有全局最优解 灵活性:可以人为干预词的重要性 当然它也有一些缺点: 词袋模型 ,没有保留语序信息 不能很好的处理词向量的OOV(Out of vocabulary)问题 处理否定词能力偏差 处理领域同义词互斥词的能力偏差 时间复杂度较高:O(p3logp)O(p3logp)(其中,p代表两篇文本分词去重后词表的大小) 在利用WMD计算两条文本的相似度时,会进行以下步骤: 利用word2vec将词编码成词向量 去掉停用词 计算出每个词在文本中所占权重,一般用词频来表示 对于每个词,找到另一条文本中的词,确定移动多少到这个词上。如果两个词语义比较相近,可以全部移动或移动多一些。如果语义差异较大,可以少移动或者不移动。用词向量距离与移动的多少相乘就是两个词的转移代价 保证全局的转移代价加和是最小的 文本1的词需要全部移出,文本2的词需要全部移入 我们先把文档看成词的一个分布(比如使用归一化的词频特征)。首先考虑如何令“文档 1