首页 文章

新闻文章的集群

提问于
浏览
13

我的场景非常简单:我有一堆新闻文章(目前约为1k),我知道有些文章涉及相同的故事/主题 . 我现在想根据共享的故事/主题对这些文章进行分组,即基于它们的相似性 .

到目前为止,我所做的是应用基本的NLP技术,包括删除词和删除词 . 我还计算了每篇文章的tf-idf向量,并且还可以基于这些tf-idf向量计算例如余弦相似度 . 但现在随着文章的分组我有点挣扎 . 我看到两种主要方式 - 可能是相关的 - 来做到这一点:

1)机器学习/集群:我已经对现有的集群库进行了一些尝试,或多或少取得了成功;见here . 一方面,诸如k-means之类的算法需要簇的数量作为输入,我不知道 . 其他算法需要的参数也不直观(对我而言) .

2)图算法:我可以将我的数据表示为图表,其中文章是节点,加权adges表示文章之间的成对(余弦)相似性 . 有了这个,例如,我可以先删除低于某个阈值的所有边,然后可以应用图算法来查找强连通的子图 .

简而言之,我不确定哪里最好离开这里 - 我在这方面仍然很新 . 我想知道是否有一些最佳实践,或者在某些情况下可以(不)应用某些方法/算法的指南 .

(编辑:忘了链接到我的相关问题)

3 回答

  • 1

    尝试使用单一和完整链接的分层凝聚聚类HAC算法 .

    这些算法不需要簇的数量作为输入 .

    基本原理类似于在给定的一组数据点上生成最小生成树,然后基于阈值标准停止 . 一个密切相关的类是Divisive聚类算法,它首先构建最小生成树,然后根据聚类间相似性比率修剪树的一个分支 .

  • 2

    由于您可以将数据集建模为图形,因此可以应用基于马尔可夫模型的随机聚类 . 以下是MCL算法资源的链接:

    Official thesis description and code base

    Gephi plugin for MCL (to experiment and evaluate the method)

  • 1

    您还可以尝试k-means上的冠层变化,以创建相对快速的簇数(k)估计值 .

    http://en.wikipedia.org/wiki/Canopy_clustering_algorithm

    你会重新计算一下,还是只关心一组静态的新闻?我问,因为你的k可能会随着时间的推移而改变 .

相关问题