web-dev-qa-db-ja.com

NLTK:プロキシサーバーを設定します

私は学ぼうとしています [〜#〜] nltk [〜#〜] -Pythonで書かれたNaturalLanguage Toolkitで、実行するサンプルデータセットをインストールしたいいくつかの例。

私のWeb接続はプロキシサーバーを使用しており、次のようにプロキシアドレスを指定しようとしています。

_>>> nltk.set_proxy('http://proxy.example.com:3128' ('USERNAME', 'PASSWORD'))
>>> nltk.download()
_

しかし、エラーが発生します:

_Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'str' object is not callable
_

nltk.download()を呼び出す前にProxyBasicAuthHandlerを設定することにしました。

_import urllib2

auth_handler = urllib2.ProxyBasicAuthHandler(urllib2.HTTPPasswordMgrWithDefaultRealm())
auth_handler.add_password(realm=None, uri='http://proxy.example.com:3128/', user='USERNAME', passwd='PASSWORD')
opener = urllib2.build_opener(auth_handler)
urllib2.install_opener(opener)

import nltk
nltk.download()
_

しかし今、私は_HTTP Error 407 - Proxy Autentification Required_を取得します。

ドキュメント says プロキシがNoneに設定されている場合、この関数はシステムプロキシの検出を試みます。しかし、それは機能していません。

NLTKのサンプルデータセットをインストールするにはどうすればよいですか?

15
ymn

最初の試行でこれらのコード行を取得したWebサイトにエラーがあります(同じエラーが発生しました)

エラーの行は

nltk.set_proxy('http://proxy.example.com:3128' ('USERNAME', 'PASSWORD'))

引数を区切るにはコンマが必要です。正しい行は次のようになります

nltk.set_proxy('http://proxy.example.com:3128', ('USERNAME', 'PASSWORD'))

これは問題なく動作します。

17
demongolem

私も同じエラーが発生していましたが、完全に機能するソリューションが得られました。nltk_dataを手動でダウンロードし、Linuxおよびc:\ nltk_dataのusr/lib/nltk_dataディレクトリに配置する必要があります。 windowsを使用します。
従う必要のある手順は次のとおりです。
1。このGithubリンクからnltk_dataZipファイルをダウンロードします
https://github.com/nltk/nltk_data/tree/gh-pages
2。データはZip形式であるため、抽出する必要があります。
3。特にubuntuユーザー向け、コマンドに従ってファイルシステムを便利にナビゲートします。
Sudo nautilusコピー/貼り付けプロセスが便利になります。これで、usr/shareに簡単にコピーしたり、フォルダーを簡単に作成したりできます。
4。Linuxユーザーの場合は、usr/shareにnltk_dataという名前のフォルダーを作成し、Windowsを使用する場合は、c:/に同じフォルダーを作成します。
5。次に、nltk_data-gh-pages(抽出したばかり)のすべてのコンテンツを、作成したnltk_dataフォルダーに貼り付けます。
6。次に、nltk_data/packagesフォルダーを作成し、すべてのフォルダーをコピーして、nltk_dataフォルダーに貼り付けます。これで完了です。

これが私の最初の答えなので、プロセスを正しく説明できない可能性があります。したがって、これらの手順を実行するのに問題がある場合は、コメントを実行してください。

11
Ankit Maurya

Windows10環境でNLTK3.2.5とpython 3.6を実行します。次のスクリプトを使用します:

nltk.set_proxy('http://user:[email protected]:3128')
nltk.download()
10
jcpg

上で提案されたオプションは私にはうまくいきませんでした。これが私のWindows環境で私のために働いたものです。中括弧を削除してみてください。今は動作します!

nltk.set_proxy('http://proxy.example.com:3128', 'USERNAME', 'PASSWORD')
5
DACW

Windows環境でNLTK3.0とpython 3.4を実行します。ブランチを削除すると、プロキシ認証が正常に実行されます。このスクリプトを使用してください。

nltk.set_proxy('http://proxy.example.com:3128', 'username', 'password')
2
diah_stis

適切な環境変数を変更することによっても、bashでシステムのプロキシを設定します。

私が保持しているプロキシ設定のいくつかは次のとおりです。

http_proxy=http://127.0.0.1:3129/
ftp_proxy=http://127.0.0.1:3129/
all_proxy=socks://127.0.0.1:3129/
https_proxy=http://127.0.0.1:3129/

〜/ .bashrcファイルを編集することにより、環境変数の変更を永続的にすることができます。サンプル編集:

export http_proxy=http://127.0.0.1:3129/
0
Sibi

正直なところ、受け入れられた解決策は私にはうまくいきません。また、パスワードを明示的に指定する必要があるため、パスワードが漏洩することも恐れています。

python console内でnltk.download()を使用するのではなく、cmd(Windowsの場合)でpython -m nltk.downloader allを実行すると非常にうまくいきます!

ps:Windowsユーザーの場合、コマンドを実行する前にプロキシサーバーの電源を切ることを忘れないでください。 Internet Explorer->右上の歯車アイコンに移動します-> インターネットオプション->接続->LAN設定->uncheck "プロキシを使用するサーバー... VPN接続)。」 ->[〜#〜] ok [〜#〜]

リソースも公式ドキュメントからのものです: https://www.nltk.org/data.html#command-line-installation

0
Castiel Wong

NLTKコーパスを手動でインストールする場合。

1) http://www.nltk.org/nltk_data/ に移動し、目的のNLTKコーパスファイルをダウンロードします。

2)ここでPythonシェルでnltk.data.pathの値を確認します

3)マシンに存在するパスの1つを選択し、データファイルを内部のcorporaサブディレクトリに解凍します。

4)これでデータをインポートできますfrom nltk.corpos import stopwords

参照: https://medium.com/@satorulogic/how-to-manually-download-a-nltk-corpus-f01569861da9

0
SVK