Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 为什么“nltk.corpus”停止词中的语言数量因操作系统而异?_Python 3.x_Nlp_Nltk - Fatal编程技术网

Python 3.x 为什么“nltk.corpus”停止词中的语言数量因操作系统而异?

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

我在两台不同的机器(Mac和Linux)上运行相同的代码,尽管这两台机器运行相同版本的
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的主要思想。尝试用答案回答,并让它为下一个用户提供信息=)