nltk.word_tokenize()给出AttributeError:'module'对象没有属性'defaultdict'

Kan*_*jit 4 nltk attributeerror defaultdict

我是nltk的新手.我正在尝试一些基础知识.

import nltk
nltk.word_tokenize("Tokenize me")
Run Code Online (Sandbox Code Playgroud)

给我以下错误

Traceback (most recent call last):
File "<pyshell#27>", line 1, in <module>
nltk.word_tokenize("hi im no onee")
File "C:\Python27\lib\site-packages\nltk\tokenize\__init__.py", line 101, in word_tokenize
return [token for sent in sent_tokenize(text, language)
File "C:\Python27\lib\site-packages\nltk\tokenize\__init__.py", line 85, in sent_tokenize
tokenizer = load('tokenizers/punkt/{0}.pickle'.format(language))
File "C:\Python27\lib\site-packages\nltk\data.py", line 786, in load
resource_val = pickle.load(opened_resource)
AttributeError: 'module' object has no attribute 'defaultdict'
Run Code Online (Sandbox Code Playgroud)

请有人帮忙.请告诉我如何解决此错误.

Man*_*dey 8

我刚刚在我的系统上查看了它.

固定:

>> import nltk
>> nltk.download('all')
Run Code Online (Sandbox Code Playgroud)

一切都很好.

>> import nltk
>> nltk.word_tokenize("Tokenize me")
['Tokenize', 'me']
Run Code Online (Sandbox Code Playgroud)


小智 5

我遇到了同样的错误,然后我意识到我已将文件另存为tokenize.py,这就是为什么当我用其他名称更改python文件的名称时会出现此错误的原因。希望这会有所帮助。


Kan*_*jit 1

后来我发现我使用的是回溯的 nltk 数据。当我更新数据后,程序就开始正常工作。