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
構成または追加のパッケージがありませんか?
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', ...]
>>>
ソースコードを変更せずにこれを修正することは可能です。 Pythonでカスタムダウンローダーを作成します。
>>> dl = nltk.downloader.Downloader("http://nltk.github.com/nltk_data/")
次に、GUIダイアログを開きます。
>>> dl.download()
ダウンロードディレクトリへの書き込みアクセス権があることを確認し、必要なものをダウンロードします。
pip install nltk --upgrade
これによりnltkが更新され、nltk.download()
が再び機能します。