【问题标题】:Incremental clustering algorithm for grouping news articles?用于对新闻文章进行分组的增量聚类算法?
【发布时间】:2011-04-06 10:32:19
【问题描述】:

我正在研究如何将文章归类为“新闻故事”(例如 Google 新闻)。

查看此处有关该主题的先前问题,我经常看到建议从文章中简单地提取单词向量,如果某些单词位于文章的某些部分(例如标题),则加重它们的权重,然后使用类似 k-means 的算法对文章进行聚类。

但这会引出几个问题:

  • 使用 k-means,您如何提前知道 k 应该是多少?在动态新闻环境中,您可能拥有非常多变的故事,并且您不会事先知道一组文章代表了多少故事。

  • 使用层次聚类算法,您如何决定将哪些聚类用作您的故事?您将在树的底部有一个集群,这些集群只是您显然不想使用的单个文章,而在树的根部有一个集群,其中包含所有文章,您又不想使用它...但是您怎么知道应该使用中间的哪些集群来表示故事?

  • 最后,无论是 k-means 还是分层算法,我读过的大多数文献似乎都假设您有一个要聚类的预设文档集合,并且它会一次将它们全部聚类。但是,如果您每隔一段时间就会有新文章出现,那又如何呢?发生什么了?您是否必须从头开始对所有文章进行聚类,现在又多了一篇?这就是为什么我想知道是否有一些方法可以让您随时“添加”文章而无需从头开始重新聚类。我无法想象这是非常有效的。

【问题讨论】:

    标签: cluster-analysis


    【解决方案1】:

    我会搜索自适应 K 均值聚类算法。有一个很好的研究部分专门针对您描述的问题。这是一个这样的paper (pdf)

    【讨论】:

    • 谢谢埃里克!那是一篇有用的论文 :) 它解决了预先确定集群数量的问题,我想阈值的选择对于集群的质量非常关键……但这是可以试验的。不过我想知道......你知道这个算法在增量环境中是否能很好地工作吗?我的意思是,如果出现了一篇新文章,并且我根据与现有集群的最小距离将它分配给一个集群,这会导致与从头开始重新计算集群相同的结果,还是一个适用于所有意图和目的的结果一样好吗?
    • 根据他的结论段落,我相信答案是肯定的,假设您的距离计算正确完成,就好像您从头开始重新计算集群一样,它的性能“一样好”。我认为用脚本语言实现原型不会花费您太长时间(易于快速解析多种数据格式,并为集群可视化提供了良好的库)。然后你可以有一个策略模式,一个使用自适应 k-means 的策略,一个使用每次重新计算的正常 k-means 的策略。
    • k-nearest-neighbors 可能有助于新文章的在线聚类。
    【解决方案2】:

    我曾在一家初创公司工作,该公司正是这样做的:新闻文章的增量集群引擎。我们的算法基于这篇论文:Web Document Clustering Using Document Index Graph (http://ieeexplore.ieee.org/xpl/articleDetails.jsp?reload=true&arnumber=4289851)。每天 10000 篇文章对我们很有效。

    它有两个主要优点: 1)它是增量的,它解决了您必须处理传入文章流的问题(而不是一次全部聚类) 2) 它使用基于短语的建模,而不是仅仅使用“词袋”,从而获得更高的准确性。

    一个谷歌搜索弹出http://www.similetrix.com,他们可能有你要找的东西。

    【讨论】:

      猜你喜欢
      • 2014-05-09
      • 2014-10-03
      • 2020-09-28
      • 2018-09-13
      • 2019-08-30
      • 2011-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多