【问题标题】:How can I cluster short messages [Tweets] based on topic ? [Topic Based Clustering]如何根据主题对短消息 [Tweets] 进行聚类? [基于主题的聚类]
【发布时间】:2010-05-28 16:58:06
【问题描述】:

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

我可以想到两种方法

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

我想知道是否有其他方法可以解决此问题。或者有什么方法可以改进上述方法?

还建议一些好的聚类算法。我认为“K-Nearest Clustering”算法适合这种情况。

【问题讨论】:

    标签: cluster-analysis tagging


    【解决方案1】:

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

    希望对您有所帮助。

    【讨论】:

      【解决方案2】:

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

      以下是examplesNLTK 中使用贝叶斯分类器的一些内容。

      【讨论】:

      • 感谢您的回复...实际上我想让它尽可能简单地为用户提供。我认为如果用户可以只输入一些消息并且服务器会找出放置它的位置会很好。虽然将这么多的智能放在服务器中会很困难。
      • 您不必提供对过滤器进行持续训练的方法;这只会使过滤器更好。如果你有一个好的语料库,分类应该是可以接受的,无需持续调整。
      【解决方案3】:

      我也在做类似的事情。如果您专门谈论 Twitter,我认为主题标签是一个好方法。您也可以执行一些分类,但应该使用一些外部知识库(如 Wikipedia 等)来丰富它。 无论如何,如果您的解决方案更好,请在此处发布

      【讨论】:

        猜你喜欢
        • 2013-04-20
        • 2021-05-30
        • 2011-12-05
        • 2012-10-01
        • 1970-01-01
        • 2013-05-25
        • 2011-09-24
        • 1970-01-01
        • 2018-11-22
        相关资源
        最近更新 更多