什么是短文本聚类的好方法?


15

我正在研究文本聚类问题。数据包含几个句子。有没有一种好的算法可以在短文本上达到较高的准确性?

您能提供良好的参考吗?

诸如KMeans,频谱聚类之类的算法不适用于此问题。

Answers:


10

这主要取决于您想要多少“最先进”(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年。


我尝试使用word2vec,它对于短文本效果不佳。
发烧友'18

只是要确保:我上面的答案不建议将word2vec(单独)用于短文本群集。相反,它建议使用WMD(基于嵌入式矢量)和/或深度学习方法。(但是,如果您可以训练自己的向量,则至少对于“可行的原型” ,使用余弦相似度,单独使用它们会获得非常好的结果。)
fnl

-1

https://github.com/RandyPen/TextCluster
这是特定于短文本的Cluster方法,其性能优于KMeans等。无需设置潜在变量号。
基本思想是将句子标记为单词。然后根据文本组件定向到不同的存储桶。在每个存储桶中,计算句子与存储桶之间的相似度。如果相似性得分高于特定值,则将此句子附加到该存储桶中,否则搜索下一个存储桶。

基本的


您需要详细说明您的答案。不要只是引用链接。
迈克尔·R·切尔尼克
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.