字符串相似度TF-IDF单词或Word2vec

时间:2017-04-21 15:24:33

标签: python nlp tf-idf word2vec sentence-similarity

我正在尝试创建一个计算2个字符串之间相似性的应用程序。 字符串不长。 3句话长达最多。 我做了一些研究,我遇到了一些可能的解决方案。

第一个使用词袋:计算单词并比较2个生成的向量(余弦相似度)

第二次使用TF-IDF并比较产生的载体。

第三种是使用word2vec并比较矢量。

现在提出问题。

性能明智是word2vec性能比短句更好吗?

训练word2vec模型的最佳方法是什么?我应该使用大量的文本(例如维基百科转储)还是仅使用被比较的句子来训练它。

如何从word2vec获得句子相似性。我应该平均每个句子中的单词还是有更好的解决方案?

1 个答案:

答案 0 :(得分:2)

  • 凭借良好的列车数据,word2vec必须具有更好的性能。 (我从中得到了很好的结果)

  • 您必须拥有大量数据才能获得良好的模型。如果您正在使用英语,最好的方法是使用预先训练的数据。您可以使用this link中的好模型。据我所知,谷歌新闻预训练的模型非常完美。

  • 通常使用部分文本中的单词平均值,如句子。更好的方法可以是加权平均值,如tf-idf加权平均值。还有一个关于语义文本相似性的热门研究,你可以从它Wiki Page

  • 跟随它。