使用 tf-idf 功能进行文档分类时,停用词有用吗?

数据挖掘 nlp tfidf
2021-10-09 05:58:29

我有纯自然语言文本的文档。这些文件相当短。例如 20 - 200 字。我想对它们进行分类。

一个典型的表示是一个词袋(BoW)。BoW 特征的缺点是某些特征可能总是存在/具有很高的价值,仅仅是因为它们是语言的重要组成部分。像下面这样的停用词是示例:is, are, with, the, a, an, ...

解决这个问题的一种方法是简单地定义这个列表并删除它们,例如通过查看最常见的词并确定其中哪些词对给定任务没有意义。基本上凭直觉。

另一种方式是 TF-IDF 特征。他们根据单词在整个训练集中出现的频率与在特定文档中出现的频率对单词进行加权。这样,即使是可能不直接携带有意义信息的单词也可能是有价值的。

最后一部分是我的问题:我应该在使用 TF-IDF 功能时删除停用词吗?有没有关于这个主题的出版物?(我很确定我不是第一个想知道这个问题的人)

3个回答

从 TfIdf 分数的设置方式来看,删除停用词应该没有任何显着差异。Idf 的重点就是从语料库中删除没有语义价值的词。如果您确实添加了停用词,则 Idf 应该摆脱它。

但是,在文档中不使用停用词会使特征数量减少,这可能具有轻微的计算优势。

除了Icaro的回答,请参考这个链接。

停用词删除的优点/缺点?

我同意 tf-idf 分数不会过于容易受到停用词的影响。

但仍然删除它们可能是有益的。特别是要学习的文档数量很少。因为它降低了输入空间的维度。

两者都可以尝试。

根据您的分类方法,您可以获得特征重要性(如朴素贝叶斯),然后删除不重要的单词。