Python 3.x 为什么“nltk.corpus”停止词中的语言数量因操作系统而异?
我在两台不同的机器(Mac和Linux)上运行相同的代码,尽管这两台机器运行相同版本的Python 3.x 为什么“nltk.corpus”停止词中的语言数量因操作系统而异?,python-3.x,nlp,nltk,Python 3.x,Nlp,Nltk,我在两台不同的机器(Mac和Linux)上运行相同的代码,尽管这两台机器运行相同版本的nltk,但它们提供了不同语言的停止词列表(Mac为14种,Linux为17种) 两台机器中的nltk版本相同,但语言数量不同: Mac: dict_keys(['danish', 'dutch', 'english', 'finnish', 'french', 'german', 'hungarian', 'italian', 'norwegian', 'portuguese', 'russian', 'sp
nltk
,但它们提供了不同语言的停止词列表(Mac为14种,Linux为17种)
两台机器中的nltk版本相同,但语言数量不同:
Mac:
dict_keys(['danish', 'dutch', 'english', 'finnish', 'french', 'german', 'hungarian', 'italian', 'norwegian', 'portuguese', 'russian', 'spanish', 'swedish', 'turkish'])
14
dict_keys(['kazakh', 'swedish', 'spanish', 'danish', 'english', 'italian', 'portuguese', 'dutch', 'turkish', 'arabic', 'romanian', 'russian', 'french', 'hungarian', 'german', 'finnish', 'norwegian'])
17
Linux:
dict_keys(['danish', 'dutch', 'english', 'finnish', 'french', 'german', 'hungarian', 'italian', 'norwegian', 'portuguese', 'russian', 'spanish', 'swedish', 'turkish'])
14
dict_keys(['kazakh', 'swedish', 'spanish', 'danish', 'english', 'italian', 'portuguese', 'dutch', 'turkish', 'arabic', 'romanian', 'russian', 'french', 'hungarian', 'german', 'finnish', 'norwegian'])
17
我试图在
nltk
文档中找到答案,但没有成功。我完全忘记了nltk
和“它为几十个语料库和经过训练的模型提供的内置支持”是两码事。这解释了为什么即使nltk
版本相同,语料库也可能不同
正如@alvas在评论中指出的,解决方案只是更新nltk\U数据
nltk.download("stopwords")
可以找到nltk_数据
提供的完整资源列表。在Mac上更新您的nltk_数据
!很好,你完全正确。下载(“stopwords”)
在我的例子中解决了它。我忘了nltk数据是分开处理的@阿尔瓦斯,你能回答我一个问题吗?这样我们就不会把它当作一个未回答的问题了?我知道这个解决方案很琐碎,但它可能对其他人有帮助,这样我们就遵循了SO的主要思想。尝试用答案回答,并让它为下一个用户提供信息=)