【发布时间】:2017-04-21 15:24:32
【问题描述】:
我正在尝试创建一个计算 2 个字符串之间相似度的应用程序。 琴弦不长。 3 句子最长。 我做了一些研究,发现了一些可能的解决方案。
第一个使用词袋:计算词并比较生成的 2 个向量(余弦相似度)
第二个使用 TF-IDF 并比较生成的向量。
第三个是使用word2vec,比较向量。
现在回答问题。
在性能方面,word2vec 的短句性能是否优于 TF-IDF?
训练 word2vec 模型的最佳方法是什么?我应该使用大量文本(例如维基百科转储)还是只使用正在比较的句子来训练它。
如何从 word2vec 中获取句子相似度。我应该平均每个句子中的单词还是有更好的解决方案?
【问题讨论】:
-
这里有几件事。这不是一个编程问题,所以你不应该在这里问它,它会被标记为离题。我不知道性能比较。但是对于 word2vec,您可以将其用作单词的嵌入矩阵,然后让循环网络生成句子的表示。这可能超出了您的问题,但是这些模型是为了构建序列的表示,就像您想要做的那样。但是,您需要一个训练集来学习表示。否则你可以用无人监督的方式训练这个模型吗?
-
我不擅长神经网络,请您提供一个示例链接,以使用 word2vec 和循环网络生成句子的表示。对于训练集应该有多少数据。我目前没有可使用的大型数据集。任何想法如何以无人监督的方式进行。谢谢
标签: python nlp tf-idf word2vec sentence-similarity