新闻分类

数据挖掘 机器学习 Python 分类 nlp
2022-03-04 14:19:02

目前,我有一堆提取的新闻文章。我想确定特定新闻文章是否与特定公司有关。例如,“苹果股票下跌 15%”应该与苹果公司有关。除此之外,“蒂姆库克涉性骚扰案”也应该与苹果公司有关。可以向我推荐一些策略来实现这一目标吗?

2个回答

看看 20ng 数据集及其分类技术。它是新闻文章的集合,分为 20 类。它与您的不完全相同,但相似。你提到的关于蒂姆库克的第二行可能是一个很难分类的句子,所以我建议你在开始之前有一个好的训练数据集。

对于简单的开始,您可以尝试文本清理和标记化。请参阅this,已经提供了一个先前的答案,其中包含相关链接和更多信息。

对于进一步的主题分类技术,我发现这个在 20ng 上的表现非常好

我为您提供了一些执行此任务的步骤:

  1. 从新闻中提取纯内容,例如使用dragnet

  2. 标记每个文本并使用词袋技术用向量表示它们。执行此操作的一种简单方法是使用sklearn中的 TfidfVectorizer。

  3. 使用诸如k-NN(k 最近邻)之类的分类技术对它们进行聚类。您会发现 k-NN sklearn 实现非常有帮助。

执行该任务的关键是使用TfidfVectorizer,它对仅出现在少数通知中的令牌进行加权,例如“Apple”和“Tim Cook”。使用简单的计数矢量化器将没有用处。