如何从NLTK导入和使用停止语列表



我已经从nltk.corpus导入了stopwords,但我得到了STOPWORDS is not defined错误。以下是我的代码:

import nltk
from nltk.corpus import stopwords
#Create stopword list:
stopwords = set(STOPWORDS)

上面给出了以下错误:

NameError: name 'STOPWORDS' is not defined

第一次从NLTK包中使用stopwords时,您需要执行以下代码,以便将列表下载到您的设备:

import nltk
nltk.download('stopwords')

然后,每次需要使用stopwords时,只需从包中加载即可。例如,要加载英文stopwords列表,可以使用以下命令:

from nltk.corpus import stopwords
stop_words = list(stopwords.words('english'))

如果愿意,您甚至可以扩展列表,如下所示(注意:如果stopwords.words()返回set类型的对象,则需要转换为list(如上所示(,以便在stop_words对象上调用extend()方法(:

stop_words.extend(["best", "item", "fast"])

从文本中删除停止词,您可以使用以下方法(查看此处和此处的各种可用标记器(:

from nltk.tokenize import word_tokenize
word_tokens = word_tokenize(text)
clean_word_data = [w for w in word_tokens if w.lower() not in stop_words]

您需要下载想要使用的正确停止语。例如,如果你只是想打印英语中使用的停止语:

import nltk
from nltk.corpus import stopwords
nltk.download('stopwords')
print(stopwords.words('english'))

这应该会给你像'i', 'me', 'my', 'myself', 'we', 'our', 'ours', 'ourselves',....]这样的英语停止语的输出

最新更新