如何正确使用NLTK停用词?

2024-05-08 04:43:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在做一个单词包项目,我想从NLTK停止词列表中删除停止词。现在,我在做这个:

words.difference_update(set(stopwords.words("english")))

(单词是包含语料库中所有单词的集合)

然而,当我看stopwords.words("english")的内容时,我看到了像“能”和“不”这样的词。我假设这些是单词的前缀,比如“不能”和“不”,也许还有其他单词。在

所以,我假设有一种方法可以检查单词是否在停止词列表中,它比纯字符串相等更复杂,但我无法确定它是什么。感谢任何帮助。在


Tags: 项目方法字符串内容列表englishupdate单词
1条回答
网友
1楼 · 发布于 2024-05-08 04:43:30

没有正确的方法来使用停止语。这取决于你想完成什么任务。然而,根据您提供的信息,NLTK似乎在假设您正在用空格和标点符号分割文档。但是,我可以猜测非索引字列表也将包含诸如could和{}之类的单词。我的方法是先使用NLTK的tokenize包创建语料库的标记,然后运行difference_update

words = set(nltk.word_tokenize(document))

请注意,根据标记化模型,函数可以将诸如couldn't等否定词拆分为['could',"n't"]。因此,如果stopword列表不包括n't字符串,那么您也必须将其从集合中删除。在

我的另一个假设是你的语料库只包含小写单词。在

希望有帮助!在

相关问题 更多 >