7

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

我可以想到两种方法

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

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

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

4

3 回答 3

3

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

希望这对您有所帮助。

于 2011-04-27T17:51:53.773 回答
2

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

这是在NLTK中使用贝叶斯分类器的一些示例

于 2010-05-28T17:05:59.200 回答
0

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

于 2012-10-02T09:14:11.123 回答