我已经使用 apt-get 在 Ubuntu Server 12.04 上安装了 python-nltk。
但是当我尝试下载语料库时,出现以下错误:
$ python
Python 2.7.3 (default, Feb 27 2014, 19:58:35)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import nltk
>>> nltk.download('brown')
[nltk_data] Error loading brown: HTTP Error 401: Authorization
[nltk_data] Required
False
我是否缺少一些配置或者附加包?
答案1
Ubuntu 打包版本DEFAULT_URL
中使用的仍然使用:downloader.py
DEFAULT_URL = 'http://nltk.googlecode.com/svn/trunk/nltk_data/index.xml'
但当前的数据服务器是:
DEFAULT_URL = "http://nltk.github.com/nltk_data/"
您当然可以从源代码安装或...修改已安装的版本以指向新服务器,如下所示:
sudo perl -pi -e 's#DEFAULT_URL = .*#DEFAULT_URL = "http://nltk.github.com/nltk_data/"#' /usr/lib/python2.7/dist-packages/nltk/downloader.py
然后您可以安装“棕色”语料库:
$ python
Python 2.7.6 (default, Mar 22 2014, 22:59:56)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import nltk
>>> nltk.download('brown')
[nltk_data] Downloading package 'brown' to /home/sylvain/nltk_data...
[nltk_data] Unzipping corpora/brown.zip.
True
>>> from nltk.corpus import brown
>>> brown.words()
['The', 'Fulton', 'County', 'Grand', 'Jury', 'said', ...]
>>>
答案2
无需更改源代码即可修复此问题。使用 Python 创建自定义下载器:
>>> dl = nltk.downloader.Downloader("http://nltk.github.com/nltk_data/")
然后打开一个 GUI 对话框:
>>> dl.download()
检查您是否具有下载目录的写权限并下载所需内容。
答案3
pip install nltk --upgrade
这一个更新了nltk然后nltk.download()
再次工作。