是否有一种通用的在线算法来动态分类新闻?我有一个按主题分类的大量新闻数据集 . 我认为每个主题都是一个集群 . 现在我需要对突发新闻进行分类 . 可能,我需要动态生成新主题或新集群 .
我正在使用的算法如下:
1)我通过新闻网站的一组提要,我认识到新闻链接 .
2)对于每个新链接,我使用dragnet提取内容,然后对其进行标记 .
3)我使用sklearn的TfidfVectorizer找到所有旧消息的矢量表示和最后一个 .
4)我在我的数据集中找到最近的邻居,计算距离上一个新闻向量表示的欧氏距离以及旧新闻的所有向量表示 .
5)如果该距离小于阈值,我将其放入邻居所属的集群中 . 否则,我创建一个新的集群,带有突发新闻 .
每次新闻到达时,我都会使用TfidfVectorizer重新拟合所有数据,因为可以 Build 新的维度 . 我迫不及待地每天重新适合一次,因为 I need to detect breaking events, which can be related to unknown topics . 是否有一种比我使用的方法更有效的通用方法?
1 回答
如果您自己构建矢量化,则添加新数据将更加容易 .
您可以简单地将新单词添加为对于所有早期文档仅为0的新列 .
不应用idf权重,但仅将它们用作动态权重 .
这是众所周知的,非常快速的实现 .
例如Apache Lucene . 它可以在线添加新文档,并使用tfidf的变体进行搜索 .