为什么这些词被视为停用词?

时间:2011-06-26 03:55:57

标签: language-agnostic machine-learning nlp nltk stop-words

我没有正式的自然语言处理背景,想知道来自NLP方面的人是否可以对此有所了解。我正在玩NLTK库,我专门研究了这个软件包提供的停用词功能:

  

在[80]中:   nltk.corpus.stopwords.words( '英语')

     

出[80]:

     

['我','我','我',   '我自己','我们','我们的','我们的',   '我们','你','你',   '你','你自己','你自己',   '他','他','他的','他自己',   '她','她','她','她自己',   '它','它','本身','他们',   '他们','他们','他们',   '自己','什么','哪个',   '谁','谁','这','那',   '这些','那些','是','是',   '是','是','是','是',   '一直','正在','有','有',   '有','有','做','做',   '做','做','做','做','','   '和','但','如果','或',   '因为','作为','直到','而',   'of','at','by','for','with',   'about','against','between',   '进入','通过','期间',   '之前','之后','上方',   '下','到','从','上',   'down','in','out','on','off',   'over','under','again',   '进一步','然后','一次','这里',   '那里','什么时候','哪里','为什么',   '怎么','全','任何','两者',   '每个','很少','更多','最',   '其他','某些','这样','不',   '不','不','只','拥有',   '相同','如此','比','也',   '非常','s','t','可以','会',   'just','don','should','now']

我不明白的是,“为什么”这个词不存在?是否有必要确定句子内的情绪?例如,这样的句子:

  

我不确定问题是什么。

删除禁用词not后,

完全不同,将句子的含义更改为相反(I am sure what the problem is)。如果是这种情况,那么在不使用这些停用词时我是否缺少一套规则?

1 个答案:

答案 0 :(得分:16)

停用词列表的概念没有通用含义,取决于您想要做什么。如果你有一个任务,你需要了解一个短语的极性,情绪或类似的特征,如果你的方法取决于检测否定(如你的例子),显然你不应该删除“不”作为一个停止词(请注意,您可能仍希望删除其他非常常见的无关单词,这些单词将构成您的新单词列表。

然而,要回答你的问题,大多数情绪分析方法都非常肤浅。他们寻找充满情感/情感的词语,并且 - 大部分时间 - 他们不会尝试对句子进行深入分析。

作为另一个你想要保留停止词的例子:如果你试图根据他们的作者(作者属性)或执行测针学来对文档进行分类,你应该保留这些功能词,因为他们描述了一个大的风格和话语的一部分。

然而,对于许多其他类型的分析(例如文字空间模型,文档相似性,搜索等),删除非常常见的功能性单词在计算上(您处理较少的单词)和在某些情况下实际上是有意义的(您甚至可能删除停用词后获得更好的结果)。如果我试图理解经常使用特定单词的上下文,我希望看到内容单词,而不是功能单词。