为什么在NLTK中,"not "在英语中被认为是停顿词?

问题描述 投票:0回答:1

我目前正在学习Python中的nltk,我正在写一个用于情感分析的程序。在工作的时候,我发现 "not,nor,never "被认为是停顿词。所以我的问题是,为什么会这样,因为这类词会改变整个句子的意思,可能会导致情感分析的失败。

python nltk sentiment-analysis stop-words
1个回答
0
投票

这取决于你正在做的分析类型,以及数据集的大小。

  1. 如果你的分析是为了寻找主题(例如,在文档检索中),将它们视为停止词可能是有意义的,因为如果某事是 "从不X",它很可能与主题 "X "相关。所以 "不是X "在这种环境下并不完全是 "X "的反义词。
  2. 对于情感分析来说,"不是X "可能确实更像是 "X "的反义词,所以在这种情况下,它可能不应该成为停止词。

NLTK做了一个判断,可能源于谁写相关模块的重点。

你可以在 根据你的NLP任务,区别对待否定止语。.


0
投票

停顿词通常是基于对语言中最常见的词的分析而创建的(这也是 "不 "在其中的主要原因)。它们背后的想法是让分析(通常是一袋词的方法)专注于文档中更有趣的词。

它们被用于多种目的:它们不是专门为情感分析而设计的。这也是 "不是 "在里面的另一个原因。

不管有没有停止词,用词袋法进行情感分析的结果总是会有点粗糙。如:用否定词创造出听起来很真实的正面影评并不难。

"这部电影和我想象的完全不一样。"。"我通常讨厌汤姆・克鲁斯 但他让这部电影成功了"

"我从来不看小鸡电影,但正如他们所说,永远不要说永远。"

总之尝试自定义你的停止词列表,去掉 "不是 "和 "从不",看看是否能改善结果。然后再尝试完全不使用停止词。

© www.soinside.com 2019 - 2024. All rights reserved.