机器学习/情感分析——是否可以有效安全地从文本中删除停用词?

Machine learning / sentiment analysis - is it possible to effectively and safely remove stopwords from text?

根据我对文本学习的了解,我们想要阻止和删除停用词以减少数据的熵。但是,像 "not" 这样的停用词可能会对评论的含义和情绪产生巨大影响。例如:

I did not like the movie

变成:

I did like the movie

如果我只在文本中留下停用词,那么我假设它们的重要性足够小以至于无关紧要,只是训练我的分类器需要更长的时间。

我认为这两个权衡是否准确,或者在减少无关紧要的功能而不扰乱文本情绪方面是否有两全其美的方法?

是否需要全有或全无的决定?如果停用词列表只有几千个词长,您可以手动浏览列表并仅保留可能信息量较低的词用于情感分析。例如修剪 "the" 和 "a",但保留 "not"。

从停用词列表中删除您认为 可能 提供有用信息的任何词时,我可能会出错。如果这个词实际上没有用,学习者会弄清楚。

否定词首先要转化为肯定词,比如我不喜欢->我不喜欢。 只有执行此过程后,您才能删除停用词。为此,请使用 wordnet.synsets。