Answers:
这主要取决于您想要多少“最先进”(SOTA)以及希望达到的深度(双关语...)。
如果您只能使用word2vec,Glove或fastText提供的浅层单词嵌入,则我认为单词移动距离(WMD [是,确实...])是一种用于测量(短)文档距离的好函数[1] 。我什至在过去也看过几本Python笔记本,它们为这种距离量度提供了“教程”,因此它真的很容易上手。
但是,如果您对SOTA更感兴趣,则必须使用某种从您的句子中学习主题模型的递归网络来研究深度(序列表示)学习。除了整合单词的(语义)嵌入之外,这些方法还通过使用依赖项学习主题表示法,从而超越了[老,旧]的“词袋”方法句子中的单词。例如,句子级别重复主题模型(SLRTM)是一个非常有趣的深度重复模型,它基于更传统的LDA(由Blei等人撰写)或LSA(Landauer等人)的思想,但它只是arXiv论文(因此,关于非同行评审研究的所有默认“带盐警告”)都应适用... [2]。但是,本文提供了许多出色的指导和参考,可以帮助您开始研究工作。
最后,应该澄清的是,我并不是说这些分别是针对词袋和序列模型的公认最佳性能方法。但是它们应该使您接近“最佳” SOTA,至少应该作为一个很好的起点。
[1] Matt J. Kusner等。从单词嵌入到文档距离。第32届国际机器学习会议论文集,JMLR,2015年。
[2]费天等。SLRTM:让话题自己说。arXiv 1604.02038,2016年。
https://github.com/RandyPen/TextCluster
这是特定于短文本的Cluster方法,其性能优于KMeans等。无需设置潜在变量号。
基本思想是将句子标记为单词。然后根据文本组件定向到不同的存储桶。在每个存储桶中,计算句子与存储桶之间的相似度。如果相似性得分高于特定值,则将此句子附加到该存储桶中,否则搜索下一个存储桶。