如何通过抓取整个网站来选择与我的句子相似的句子?

时间:2018-05-11 06:48:52

标签: nlp artificial-intelligence chatbot word2vec doc2vec

如果我给出一个句子如何将所有相似的句子归还给它? 例如:
面试需要多长时间? 类似的句子应该是
1.面试持续多久。
2.面试时间。

怎么做?
我想到的一种方法是抓取30到40个公司职业网站的常见问题解答页面并使用doc2vec嵌入问题,我会将所有类似的向量保存在一个集群中。

有比这更好的方法吗?

2 个答案:

答案 0 :(得分:0)

我认为那里的输出是随机的。为什么不在这样的几十个输入上手动训练它。结果可能很快就会很好。

答案 1 :(得分:0)

一旦你有了单词向量 - 从其他地方重用的通用单词,或者(更好)有些人训练我们你的文本域 - 你也可以使用" Word Mover的距离" (WMD)评估句子(或其他短文本)的相似性。一些演示表明,即使使用非常不同的单词,它也可以通过类似的含义对句子进行排序。

然而,请注意,与简单的向量距离方法相比,WMD的计算成本相对较高,这些方法为每个文本提供了单个向量,如Doc2Vec。因此,它可能仅适用于较小的文本集,或者如果可以专用大量计算能力,或者额外的首次通过优化限制了成对WMD计算的数量。

(还有另一个可能更便宜地接近WMD性能的指标,称为“软余弦相似性”。在最近的Python gensim版本中可以使用WMD和软余弦相似度计算包装,但它们尚未完全优化,也没有明确描述的最佳实践。)