如何基于主题聚类短消息[推文]? [基于主题的聚类]

时间:2010-05-28 16:58:06

标签: cluster-analysis tagging

我正在计划一个应用程序,它将根据主题制作短消息/推文集群。主题数量将受限于体育[NBA,NFL,板球,足球],娱乐[电影,音乐]等...

我可以想到两种方法

  • 要求用户标记Stackoverflow之类的问题。用户可以从预定义的标签列表中选择标签。然后在服务器端,我将基于标签对它们进行聚类。 优点: - 简单的设计。代码复杂度降低。 缺点: - 用户的选择将受到限制。    集群不会是动态的。如果发生新事件,预定义标签将会错过它。
  • 收听消息,删除[在词典中预定义]的停用词,对词干消息应用一些聚类算法来制作群集,并根据其流行度显示群集。群集将一直显示,直到它仍然流行[许多消息/分钟]。新消息将被删除并分配给相应的群集。 优点: - 基于事件/事故的流行度的动态聚类。 缺点: - 复杂性增加。需要更多服务器资源。

我想知道是否有其他方法可以解决这个问题。或者有没有办法改进上述方法?

还提出了一些很好的聚类算法。我认为“K-Nearest Clustering”算法适用于这种情况。

3 个答案:

答案 0 :(得分:3)

检查Carrot2,此工具从文本和群集中提取标签。您可以从here下载并查看已实施的算法(主要是Lingo)here

希望这对你有所帮助。

答案 1 :(得分:2)

使用Bayesian classification。使用一些预定义的语料库训练过滤器,并(可选)为用户提供一种方法,通过标记错误分类的内容来进一步优化它。

以下是examples中使用贝叶斯分类器的一些NLTK

答案 2 :(得分:0)

我也在做类似的事情。如果你专门谈论推特,我认为主题标签是一个好方法。你也可以进行一些分类,但应该用维基百科等一些外部知识库来丰富。    无论如何,如果您的解决方案更好,请在此处发布