培训网络以查找类似的文本正文

时间:2017-06-30 14:56:29

标签: nlp nltk gensim spacy doc2vec

我有多个文本文件,我正在尝试找到一种识别类似文本主体的方法。文件本身包含“平均”大小的段落。除此之外,我还有一些数据可以用作数据的标签,如果我要介绍像saimese网络这样的神经网络。

虽然这是一种选择,但我想知道的另一种可能性是使用诸如doc2vec之类的东西来处理所有段落(删除停用词等)然后尝试根据余弦找到类似的文本文件来自doc2vec。

我想知道上面列出的方法在产生的结果方面通常如何相互比较,并且doc2vec健壮且准确到足以认为它是一个可行的选择?此外,我可能会忽视一个很好的方法。

1 个答案:

答案 0 :(得分:0)

'段落向量'算法,在gensim库中名为Doc2Vec,可以为此工作。你不一定要删除停用词。对于非常小的文档(少于10-20个单词)或小型语料库(少于100,000个文档),结果可能有点不稳定。

鉴于您有标签,Facebook对word2vec的FastText细化还包括一个'分类器'模式,它优化单词向量,不仅可以预测它们的邻居,而且可以很好地预测已知标签,同时将所有单词向量平均为一组文本。他们也值得一试。

使用任何一组字向量,计算称为" Word Mover的距离"给出了文本之间相似性的有趣测量。但是,计算所有候选比赛的成本很高。

还有许多其他技术 - 其中包括“快速发送”,“发送过2次”,“跳过思维向量”以及更多优化。最有效的方法通常取决于您的语料库和特定的最终目标,以及您可以调整语料库和算法的程度,以及包括哪些方面的相似性'对您的用户来说最重要。你真的必须尝试它们,然后对你的项目目标进行严格的评估。