NLTK ダウンロード エラー [nltk_data] ロイターの読み込みエラー: <urlopen エラー [Errno 11004] [nltk_data] getaddrinfo

cs224n の課題 1 を完了するときは、nltk ライブラリのロイター コーパスを使用する必要がありますが、コード内で nltk.download("reuters") を実行すると、ネットワークの問題によりエラーが表示され、ダウンロードできません。

[nltk_data] Error loading reuters: <urlopen error [Errno 11004] 
[nltk_data]     getaddrinfo

オンラインチュートリアルに従って長い間悩んだ結果、効果的で最小限の解決策を見つけるために多くの落とし穴を踏みました。ntlk パッケージ全体 (700 M 以上) をダウンロードする必要はなく、必要に応じて対応するファイルをダウンロードするだけで済みます。

失敗方法 1: HOST を変更する

この方法では、グローバル マジックを使用してプロキシを追加する必要があります。ブログ投稿「NLTK 異常問題」に従ってHOSTS に IP アドレスを追加すると、199.232.68.133 raw.githubusercontent.comこの IP の有効期限が切れているため無効になります。
ブラウザ側のラダーしかないのでグローバルラダーがないのでこのままPASS

失敗方法 2: NLTK パッケージをダウンロードしたが使用できない

通常の方法は、Gitee リンクに移動して NLTK パッケージをダウンロードすることですが、ほとんどのブロガーはパッケージ全体 (700 M 以上) を直接ダウンロードするため、大量のメモリを消費します。ここでは、オンデマンドでファイルをリクエストする方法と、特に注意が必要な詳細を説明します。(ピットを踏んだ)

1. まず自分の NLTK ディレクトリを確認し、ない場合は作成します。

Python インタープリターを入力します

import nltk
nltk.download(".")

次の戻り値が表示されます。

 Searched in:
    - 'C:\\Users\\YayingLuo/nltk_data'
    - 'C:\\Users\\ghost\\anaconda3\\envs\\cs224n\\nltk_data'
    - 'C:\\Users\\ghost\\anaconda3\\envs\\cs224n\\share\\nltk_data'
    - 'C:\\Users\\ghost\\anaconda3\\envs\\cs224n\\lib\\nltk_data'
    - 'C:\\Users\\YayingLuo\\AppData\\Roaming\\nltk_data'
    - 'C:\\nltk_data'
    - 'D:\\nltk_data'
    - 'E:\\nltk_data'

これらのパスは、それぞれのユーザー名によって異なります。このような戻りは、関連する nltk_data パスが見つからないことが原因で発生します。これらのパスのいずれかを選択し、その下に
C:\Users\ghost\anaconda3\envs\cs224n\nltk_dataなどの nltk_data フォルダーを作成します。

2. 必要なコーパス ファイルをダウンロードします。

たとえば、元のコードでダウンロードする必要があるのは、金融ニュース データセットであるロイター コーパスです。

nltk.corpus('reuters')

上記の gitee リンクのパスの下にファイルをpacages/corporaダウンロードします。 gitee でダウンロードされるため、圧縮パッケージ内には多くのパス接頭辞名があり、実際の reuters フォルダーはまだこのレイヤーの下にあります。変更する必要があります。変更しないと正しく使用できません。reuters.zip
ダウンロード後のロイター パッケージの名前は xxx_reuters.zip になります。

3. 【重要】該当ファイルのパス名を変更し、ダウンロードしたファイルを正しく配置してください

  • 以前に作成したパスの下に/nltk_data新しいcorporaサブフォルダー (コーパスを意味します)を作成します。
  • ダウンロードした圧縮パッケージの名前を次のように変更します。reuters.zip
  • このreuters.zipフォルダーを再圧縮し、/nltk_data/corpora` のパスに移動します。
  • Pro テストは解凍する必要がなく、zip を直接使用するだけです

このように、普通に使えるようになります。それでも問題が解決しない場合は、jupyter Notebook を再起動し、tarball の名前とパスを確認してください。

述べる

anaconda が新しい環境を作成しても、jupyter Notebook がカーネルに接続できない場合、
解決策は、まず anaconda をアクティブにして対応する環境に入り、それから jupyter Notebook を開くことです。(ベース) 環境で開く代わりに。

おすすめ

転載: blog.csdn.net/weixin_43846562/article/details/129663863