如何通过词向量技术来计算2个文档的相似度

 我来答
啥名字好呢呢呢
2015-08-12 · TA获得超过28.3万个赞
知道顶级答主
回答量:5.9万
采纳率:96%
帮助的人:2亿
展开全部
  最近正好组内做了一个文档相似度的分享。决定回答一发。
  首先,如果不局限于NN的方法,可以用BOW+tf-idf+LSI/LDA的体系搞定,也就是俗称的01或one hot representation。
  其次,如果楼主指定了必须用流行的NN,俗称word-embedding的方法,当然首推word2vec(虽然不算是DNN)。然后得到了word2vec的词向量后,可以通过简单加权/tag加权/tf-idf加权等方式得到文档向量。这算是一种方法。当然,加权之前一般应该先干掉stop word,词聚类处理一下。
  还有,doc2vec中的paragraph vector也属于直接得到doc向量的方法。特点就是修改了word2vec中的cbow和skip-gram模型。依据论文《Distributed Representations of Sentences and Documents》(ICML 2014)。
  还有一种根据句法树加权的方式,是ICML2011提出的,见论文《Parsing Natural Scenes and Natural Language with Recursive Neural Networks》,后续也有多个改编的版本。
  当然,得到词向量的方式不局限于word2vec,RNNLM和glove也能得到传说中高质量的词向量。
  ICML2015的论文《From Word Embeddings To Document Distances, Kusner, Washington University》新提出一种计算doc相似度的方式,大致思路是将词之间的余弦距离作为ground distance,词频作为权重,在权重的约束条件下,求WMD的线性规划最优解。
  最后,kaggle101中的一个word2vec题目的tutorial里作者如是说:他试了一下简单加权和各种加权,不管如何处理,效果还不如01,归其原因作者认为加权的方式丢失了最重要的句子结构信息(也可以说是词序信息),而doc2vec的方法则保存了这种信息。
  在刚刚结束的ACL2015上,似乎很多人提到了glove的方法,其思想是挖掘词共现信息的内在含义,据说是基于全局统计的方法(LSI为代表)与基于局部预测的方法(word2vec为代表)的折衷,而且输出的词向量在词聚类任务上干掉了word2vec的结果,也可以看看。《GloVe: Global Vectors forWord Representation》
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式