网络新闻分类

数据挖掘 分类 scikit-学习 文本挖掘 tfidf
2021-09-21 04:02:26

我正在执行在线新闻分类。这个想法是识别同一主题的一组新闻。我的算法有以下步骤:

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

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

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

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

我在使用 TfidfVectorizer 时遇到了问题,因为它对只出现在少数新闻中的特殊词赋予了更多权重,比如Apple,而谈论Aple的新闻即使处理不同的主题也会被归为一组。

那么,有没有比我使用的更有效的通用方法?

2个回答

通常的规则是每个帖子只问一个问题。我会回答你的第一个问题。

提前建立字典一次。通过一些努力,您应该能够构建一个字典,其中包含将来可能出现的所有单词。拿过去一年的所有新闻文章,或所有维基百科,或其他一些非常大的集合,它可能包含您需要的所有单词;您遗漏一些重要单词的可能性非常低。现在,每次你看到一篇文章,把字典里没有的词都扔掉。这样,您就不需要每次都对旧新闻进行矢量化;你可以做一次就完成了。那应该会提高性能。

另一种变化:如果有一天你看到一个新词,你可以把那个词加到字典里;在一天结束时重新标记你那天看到的一切。

我们对财经新闻分类做了类似的事情,我怀疑这与您正在尝试做的事情相似,我们在使用完全自动化的分类时遇到的问题是您必须考虑许多规则,即有两个 Tesco - 英国超级市场连锁店和一家位于美国的拖拉机公司。

相反,我们基于 Tf-Idf 结果构建字典,我们将使用规则进行管理,即Apple -pie.

希望有帮助