基于WMD(词移距离)的句子相似度分析简介

word2vec

word2vec是只有一个隐层的全连接神经网络,对语料中的所有词汇进行训练并生成相应的词向量(Word Embedding)WI 的大小是VxN, V是单词字典的大小, 每次输入是一个单词, N是设定的隐层大小。word2vec的模型通过一种神经网络语言模型(Neural Network Language Model)

word2vec详解

NLP之word2vec简介

词袋模型(Bag of Words)

词袋模型(Bag-of-words model)是个在自然语言处理和信息检索(IR)下被简化的表达模型。此模型下,像是句子或是文件这样的文字可以用一个袋子装着这些词的方式表现,这种表现方式不考虑文法以及词的顺序。最近词袋模型也被应用在计算机视觉领域。词袋模型被广泛应用在文件分类,词出现的频率可以用来当作训练分类器的特征。关于”词袋”这个用字的由来可追溯到泽里格·哈里斯于1954年在Distributional Structure的文章。

连续词袋模型(CBOW)

  1. 移除前向反馈神经网络中非线性的hidden layer,直接将中间层的embedding layer与输出层的softmax layer连接;
  2. 忽略上下文环境的序列信息:输入的所有词向量均汇总到同一个embedding layer;
  3. 将future words纳入上下文环境

例子:苏宁易购/是/国内/著名/的/B2C/电商/之一词移距离(Word Mover’s Distance)

举例:

文档1: Obama speaks to the media in Illinois

文档2: The President greets the press in Chicago

先去除Stop-words,保留加粗的动词、名词

需要有一种约束,将文档1中的每个词,以不同的权重强制地分配到文档2的所有词上去。

WMD的优化

现在计算两个文档之间的 WMD 距离,如果用 k-NN来计算距离就非常耗时。如果当前待检查文档跟中心query文档的 WMD 下界已经大到可以确定它不在query 文档的 k-NN 列表里,那就直接扔掉而不用再花时间求当前文档的 WMD 距离了。

Word Centroid Distance(WCD,定义在最后一个等号处,公式中的X是词向量, X是词向量组成的矩阵):

注意上述公式只需要用绝对值不等式与WMD约束定义计算即可。推导出的公式只需要进行矩阵运算,极大地减少了计算消耗。

RWMD(Relaxed word moving distance )

先去掉一个约束,计算相应的WMD,最终取最大值。

这两个 relax 过的优化问题的解,恰好对应于词向量矩阵的行空间和列空间上的最近邻问题,也是很好算的。最后定义 RWMD 为这两个 relaxed 优化问题的两个目标值中的最大值。

参考资料

Kusner M, Sun Y, Kolkin N, et al. From word embeddings to document distances[C]//International Conference on Machine Learning. 2015: 957-966.

注意:本文章PPT为2018年机器学习课程期末作业

一条评论

留下评论

您的电子邮箱地址不会被公开。 必填项已用*标注