是否有常用的在线算法对新闻进行动态分类?我有按主题分类的大量新闻数据集。我认为每个主题都是一个集群。现在,我需要对突发新闻进行分类。可能,我将需要动态生成新主题或新集群。

我正在使用的算法如下:

1)我浏览了新闻站点的一组提要,并且识别了新闻链接。

2)对于每个新链接,我使用Dragnet提取内容,然后将其标记化。

3)我使用sklearn的TfidfVectorizer找到了所有旧新闻和最后一个新闻的矢量表示。

4)我在我的数据集中找到了最近的邻居,它计算了从最后一个新闻向量表示和旧新闻的所有向量表示的欧几里德距离。

5)如果该距离小于阈值,则将其放入邻居所属的群集中。否则,我将创建一个包含最新新闻的新集群。

每次新闻到来时,我都会使用TfidfVectorizer重新拟合所有数据,因为可以建立新的维度。我迫不及待地想每天重新适应一次,因为我需要检测重大事件,这可能与未知主题有关。有没有一种比我使用的方法更有效的通用方法?

最佳答案

如果您自己构建矢量化,则添加新数据将容易得多。

  • 您可以平凡地将新单词作为新列添加,对于所有较早的文档而言,它们只是0。
  • 不应用idf权重,而仅将其用作动态权重。

  • 有众所周知的,并且非常快的实现。

    例如Apache Lucene。它可以在线添加新文档,并且使用tfidf的变体进行搜索。

    关于machine-learning - 在线聚集新闻文章,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49638869/

    10-16 12:59