更新的答案:NLTK适用于2.7井。我有3.2。我卸载了3.2并安装了2.7。现在它有效!!
我已安装NLTK并尝试下载NLTK数据。我所做的是按照本网站上的说明进行操作:http://www.nltk.org/data.html
我下载了NLTK,安装了它,然后尝试运行以下代码:
>>> import nltk
>>> nltk.download()
它给出了如下错误消息:
Traceback (most recent call last):
File "<pyshell#6>", line 1, in <module>
nltk.download()
AttributeError: 'module' object has no attribute 'download'
Directory of C:\Python32\Lib\site-packages
尝试了nltk.download()
和nltk.downloader()
,两者都给了我错误消息。
然后我使用help(nltk)
取出包,它显示以下信息:
NAME
nltk
PACKAGE CONTENTS
align
app (package)
book
ccg (package)
chat (package)
chunk (package)
classify (package)
cluster (package)
collocations
corpus (package)
data
decorators
downloader
draw (package)
examples (package)
featstruct
grammar
help
inference (package)
internals
lazyimport
metrics (package)
misc (package)
model (package)
parse (package)
probability
sem (package)
sourcedstring
stem (package)
tag (package)
test (package)
text
tokenize (package)
toolbox
tree
treetransforms
util
yamltags
FILE
c:\python32\lib\site-packages\nltk
我确实在那里看到了Downloader,不知道为什么它不起作用。 Python 3.2.2,系统Windows vista。
答案 0 :(得分:68)
要下载特定数据集/模型,请使用nltk.download()
功能,例如如果您要下载punkt
句子标记生成器,请使用:
$ python3
>>> import nltk
>>> nltk.download('punkt')
如果您不确定需要哪种数据/模型,可以从基本的数据+模型列表开始:
>>> import nltk
>>> nltk.download('popular')
它将下载“热门”资源列表,其中包括:
<collection id="popular" name="Popular packages">
<item ref="cmudict" />
<item ref="gazetteers" />
<item ref="genesis" />
<item ref="gutenberg" />
<item ref="inaugural" />
<item ref="movie_reviews" />
<item ref="names" />
<item ref="shakespeare" />
<item ref="stopwords" />
<item ref="treebank" />
<item ref="twitter_samples" />
<item ref="omw" />
<item ref="wordnet" />
<item ref="wordnet_ic" />
<item ref="words" />
<item ref="maxent_ne_chunker" />
<item ref="punkt" />
<item ref="snowball_data" />
<item ref="averaged_perceptron_tagger" />
</collection>
如果有人避免从nltk
下载较大数据集时出错,请https://stackoverflow.com/a/38135306/610569
$ rm /Users/<your_username>/nltk_data/corpora/panlex_lite.zip
$ rm -r /Users/<your_username>/nltk_data/corpora/panlex_lite
$ python
>>> import nltk
>>> dler = nltk.downloader.Downloader()
>>> dler._update_index()
>>> dler._status_cache['panlex_lite'] = 'installed' # Trick the index to treat panlex_lite as it's already installed.
>>> dler.download('popular')
nltk_data
资源时From v3.2.5, NLTK has a more informative error message,例如:
>>> from nltk import word_tokenize
>>> word_tokenize('x')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/l/alvas/git/nltk/nltk/tokenize/__init__.py", line 128, in word_tokenize
sentences = [text] if preserve_line else sent_tokenize(text, language)
File "/Users//alvas/git/nltk/nltk/tokenize/__init__.py", line 94, in sent_tokenize
tokenizer = load('tokenizers/punkt/{0}.pickle'.format(language))
File "/Users/alvas/git/nltk/nltk/data.py", line 820, in load
opened_resource = _open(resource_url)
File "/Users/alvas/git/nltk/nltk/data.py", line 938, in _open
return find(path_, path + ['']).open()
File "/Users/alvas/git/nltk/nltk/data.py", line 659, in find
raise LookupError(resource_not_found)
LookupError:
**********************************************************************
Resource punkt not found.
Please use the NLTK Downloader to obtain the resource:
>>> import nltk
>>> nltk.download('punkt')
Searched in:
- '/Users/alvas/nltk_data'
- '/usr/share/nltk_data'
- '/usr/local/share/nltk_data'
- '/usr/lib/nltk_data'
- '/usr/local/lib/nltk_data'
- ''
**********************************************************************
要查找nltk_data
目录(自动神奇地),请参阅https://stackoverflow.com/a/36383314/610569
要将nltk_data
下载到其他路径,请参阅https://stackoverflow.com/a/48634212/610569
要配置nltk_data
路径(即为NLTK设置不同路径以查找nltk_data
),请参阅https://stackoverflow.com/a/22987374/610569
答案 1 :(得分:9)
不要命名你的文件nltk.py我使用相同的代码并将其命名为nltk,并且得到了与你相同的错误,我更改了文件名并且进展顺利。
答案 2 :(得分:9)
尝试
nltk.download('all')
这将下载所有数据,无需单独下载。
答案 3 :(得分:7)
安装Pip:在终端中运行:sudo easy_install pip
安装Numpy(可选):运行:sudo pip install -U numpy
安装NLTK:运行:sudo pip install -U nltk
测试安装:运行:python
然后输入:import nltk
下载语料库
运行:python -m nltk.downloader all
答案 4 :(得分:4)
请尝试
import nltk
nltk.download()
运行此命令后,您会得到类似的信息
NLTK Downloader
---------------------------------------------------------------------------
d) Download l) List u) Update c) Config h) Help q) Quit
---------------------------------------------------------------------------
然后,Press d
执行以下操作:
Downloader> d all
您将在完成时收到以下消息,然后提示Press q
全部完成下载收藏
答案 5 :(得分:3)
如果您运行的是非常旧版本的nltk,那么确实没有可用的下载模块(reference)
试试这个:
import nltk
print(nltk.__version__)
根据参考文献,0.9.5之后的任何内容都应该没问题
答案 6 :(得分:3)
你不能拥有一个名为nltk.py
的已保存的python文件,因为解释器正在从中读取而不是从实际文件中读取。
更改python shell正在读取的文件的名称并尝试最初执行的操作:
import nltk
然后nltk.download()
答案 7 :(得分:3)
这很简单......
import nltk
nltk.download()
答案 8 :(得分:3)
这对我有用:
nltk.set_proxy('http://user:password@proxy.example.com:8080')
nltk.download()
答案 9 :(得分:2)
我有类似的问题。可能检查您是否使用代理。
如果是,请在下载之前设置代理:
nltk.set_proxy('http://proxy.example.com:3128', ('USERNAME', 'PASSWORD'))
答案 10 :(得分:2)
你应该在安装python期间将python添加到你的PATH ...安装后...打开cmd提示符类型命令 - pip install nltk
然后转到IDLE并打开一个新文件。将其保存为file.py ..然后打开file.py
输入以下内容:
import nltk
nltk.download()
答案 11 :(得分:0)
我认为您必须将文件命名为nltk.py(或文件夹由具有该名称的文件组成),因此请将其更改为任何其他名称并尝试执行....
答案 12 :(得分:0)
尝试从http://www.nltk.org/nltk_data/下载zip文件,然后解压缩,保存在Python文件夹中,例如C:\ ProgramData \ Anaconda3 \ nltk_data
答案 13 :(得分:0)
如果您已经保存了文件名nltk.py,然后再次将其重命名为my_nltk_script.py。检查是否还存在文件nltk.py。如果是,请删除它们并运行文件my_nltk.scripts.py,它应该可以工作!
答案 14 :(得分:-3)
您可以尝试:
>> $ import nltk
>> $ nltk.download_shell()
>> $ d
>> $ *name of the package*
快乐的nlp'ing。