NLP - 为什么“不是”是停用词?

数据挖掘 nlp 主题模型 情绪分析
2021-09-22 22:41:59

我试图在执行主题建模之前删除停用词。我注意到一些否定词(not,nor,never,none 等)通常被认为是停用词。例如,NLTK、spacy 和 sklearn 在它们的停用词列表中包含“not”。但是,如果我们从下面的这些句子中删除“不”,它们就会失去重要的意义,这对于主题建模或情感分析来说是不准确的。

1). StackOverflow is helpful      => StackOverflow helpful
2). StackOverflow is not helpful  => StackOverflow helpful

谁能解释为什么这些否定词通常被认为是停用词?

1个回答

停用词通常被认为是“一种语言中最常用的词”。然而,基于不同任务的其他定义是可能的。

如果您的任务是基于词频的(例如文档分类的tf-idf分析),那么将“not”视为停用词显然是有意义的。

如果您关心文本的上下文(例如情感分析),那么以不同方式处理否定词可能是有意义的。否定改变了文本的所谓这需要小心处理,通常不是微不足道的。一个例子是 Twitter 否定语料库。本文对该方法进行了解释