2010-08-31 103 views
14

我正在做一些关于如何将文章聚合到'新闻报道'ala Google新闻的研究。用于分组新闻文章的递增聚类算法?

查看这里关于这个主题的以前的问题,我经常会看到它建议简单地从文章中提取单词的矢量,如果文章的某些部分(如标题),然后使用类似k-means算法的东西来聚集文章。

但是这会导致几个问题:

  • 使用K-手段,你怎么提前知道有多少K在?在一个充满活力的新闻环境中,你可能会有不同数量的故事,而且事先并不知道一组文章所代表的故事数量。

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

  • 最后,无论是k-means还是层次算法,我所阅读的大多数文献似乎都假设您有一组预设的文档集合,并且它们会一次集中它们。但是,如果你经常收到新的文章,情况会怎样。怎么了?你是否必须从头开始整理所有文章,现在还有一个呢?这就是为什么我想知道是否有方法可以让您“随意添加”文章,而无需从头开始重新集群。我无法想象这非常有效。

回答

2

我会做一个自适应K均值聚类算法的搜索。有很多专门研究你所描述的问题的研究。这里有一个这样的paper(PDF)

+0

感谢埃里克! 这是一个有用的文件:) 它解决了预先确定聚类数量的问题,并且我猜测阈值的选择对于聚类的质量来说是相当关键的......但它是可以实验的东西用。 我想知道,虽然......你知道,如果这个算法将在增量方面的工作呢?我的意思是,如果有新的文章出现,并根据与现有群集的距离最短的原则将其分配到群集,这将导致与从头开始重新计算群集相同的结果,还是针对所有意图和目的的结果“一样好'? – Peter 2010-08-31 21:40:40

+0

根据他的结论段落,我相信答案是肯定的,它会执行“一样好”,就好像您从头重新计算了集群,假设您的距离计算已正确完成。我认为用脚本语言实现原型并不需要太长时间(很容易快速解析许多数据格式,并为集群可视化提供了很好的库)。那么你可以有一个战略模式,一个策略使用自适应k-means和一个策​​略使用正常的k-means每次重新计算。 – 2010-09-01 01:11:50

+0

k-nearest-neighbors可能有助于在线聚类新文章。 – crizCraig 2012-07-23 22:59:47

3

我对建正是这种初创工作:新闻文章增量聚类引擎。我们在本文中基于我们的算法:使用文档索引图的Web文档聚类(http://ieeexplore.ieee.org/xpl/articleDetails.jsp?reload=true&arnumber=4289851)。我们为每天10K篇文章工作得很好。

它有两个主要优点: 1)它是渐进的,其具有处理输入的物品流(而不是集群一次性解决你的问题) 2)它采用了基于短语的造型,而不仅仅是“一言一行”,这导致了更高的准确性。

谷歌搜索弹出http://www.similetrix.com,他们也许知道你在找什么。