【问题标题】:Online clustering of news articles新闻文章的在线聚类
【发布时间】:2018-09-13 07:10:40
【问题描述】:

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

我使用的算法如下:

1) 我浏览了一组来自新闻网站的提要,我认出了新闻链接。

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

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

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

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

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

【问题讨论】:

  • 它甚至不能可靠地离线工作,你想要一个在线算法吗?
  • 是的,我使用的算法可以离线工作。带有 knn 聚类的 tfidf 矢量化是一种常见的方法,众所周知,它可以正常工作。我不明白你为什么对我的问题投了不好的一票,我正在研究另一个主题,在线集群,我需要一些想法。
  • 没有“knn 聚类”。只有 kNN 分类。
  • 好的,感谢您的 cmets!
  • 我投了反对票,因为这个问题不是独立的,因此可能对未来的访问者没有用处。你现在已经改进了这个问题,所以我不赞成。尽管如此,您所做的“聚类”仍然无法重现。第二个文档将第一个作为最近的邻居,并且所有内容都是相同的“集群”(无论如何这里有一个集群)

标签: machine-learning nlp cluster-analysis information-retrieval unsupervised-learning


【解决方案1】:

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

  1. 您可以轻松地将新词添加为新列,对于所有早期文档,这些新词都只是 0。
  2. 不要应用 idf 权重,而仅将它们用作动态权重。

这方面的实现是众所周知的,而且速度非常快。

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

【讨论】:

  • 好的,这个方法可能非常有用!
猜你喜欢
  • 2014-10-03
  • 1970-01-01
  • 2010-10-21
  • 2014-05-09
  • 2011-04-06
  • 1970-01-01
  • 1970-01-01
  • 2019-08-30
  • 1970-01-01
相关资源
最近更新 更多