我正在做一些关于如何将文章聚合到'新闻报道'ala Google新闻的研究。用于分组新闻文章的递增聚类算法?
查看这里关于这个主题的以前的问题,我经常会看到它建议简单地从文章中提取单词的矢量,如果文章的某些部分(如标题),然后使用类似k-means算法的东西来聚集文章。
但是这会导致几个问题:
使用K-手段,你怎么提前知道有多少K在?在一个充满活力的新闻环境中,你可能会有不同数量的故事,而且事先并不知道一组文章所代表的故事数量。
随着层次聚类算法,你如何决定为你的故事要使用的集群?您将在树的底部显示只有单个文章的集群,您显然不想使用这些集群,并且在树的根目录下有一个集群,其中包含所有文章,而这些集群又是您不想要的......但你怎么知道应该用哪个集群来代表故事呢?
最后,无论是k-means还是层次算法,我所阅读的大多数文献似乎都假设您有一组预设的文档集合,并且它们会一次集中它们。但是,如果你经常收到新的文章,情况会怎样。怎么了?你是否必须从头开始整理所有文章,现在还有一个呢?这就是为什么我想知道是否有方法可以让您“随意添加”文章,而无需从头开始重新集群。我无法想象这非常有效。
感谢埃里克! 这是一个有用的文件:) 它解决了预先确定聚类数量的问题,并且我猜测阈值的选择对于聚类的质量来说是相当关键的......但它是可以实验的东西用。 我想知道,虽然......你知道,如果这个算法将在增量方面的工作呢?我的意思是,如果有新的文章出现,并根据与现有群集的距离最短的原则将其分配到群集,这将导致与从头开始重新计算群集相同的结果,还是针对所有意图和目的的结果“一样好'? – Peter 2010-08-31 21:40:40
根据他的结论段落,我相信答案是肯定的,它会执行“一样好”,就好像您从头重新计算了集群,假设您的距离计算已正确完成。我认为用脚本语言实现原型并不需要太长时间(很容易快速解析许多数据格式,并为集群可视化提供了很好的库)。那么你可以有一个战略模式,一个策略使用自适应k-means和一个策略使用正常的k-means每次重新计算。 – 2010-09-01 01:11:50
k-nearest-neighbors可能有助于在线聚类新文章。 – crizCraig 2012-07-23 22:59:47