Sumber daya u'tokenizers / punkt / english.pickle 'tidak ditemukan

96

Kode Saya:

import nltk.data
tokenizer = nltk.data.load('nltk:tokenizers/punkt/english.pickle')

Pesan eror:

[ec2-user@ip-172-31-31-31 sentiment]$ python mapper_local_v1.0.py
Traceback (most recent call last):
File "mapper_local_v1.0.py", line 16, in <module>

    tokenizer = nltk.data.load('nltk:tokenizers/punkt/english.pickle')

File "/usr/lib/python2.6/site-packages/nltk/data.py", line 774, in load

    opened_resource = _open(resource_url)

File "/usr/lib/python2.6/site-packages/nltk/data.py", line 888, in _open

    return find(path_, path + ['']).open()

File "/usr/lib/python2.6/site-packages/nltk/data.py", line 618, in find

    raise LookupError(resource_not_found)

LookupError:

Resource u'tokenizers/punkt/english.pickle' not found.  Please
use the NLTK Downloader to obtain the resource:

    >>>nltk.download()

Searched in:
- '/home/ec2-user/nltk_data'
- '/usr/share/nltk_data'
- '/usr/local/share/nltk_data'
- '/usr/lib/nltk_data'
- '/usr/local/lib/nltk_data'
- u''

Saya mencoba menjalankan program ini di mesin Unix:

Sesuai pesan kesalahan, saya masuk ke shell python dari mesin unix saya kemudian saya menggunakan perintah di bawah ini:

import nltk
nltk.download()

dan kemudian saya mendownload semua hal yang tersedia menggunakan opsi d-down loader dan l- list tetapi masalah tetap ada.

Saya mencoba yang terbaik untuk menemukan solusi di internet tetapi saya mendapatkan solusi yang sama dengan apa yang saya lakukan seperti yang saya sebutkan dalam langkah-langkah saya di atas.

Salam Meka
sumber

Jawaban:

171

Untuk menambah jawaban alva , Anda hanya dapat mengunduh punktkorpus:

nltk.download('punkt')

Mendownload allkedengarannya berlebihan bagi saya. Kecuali itu yang Anda inginkan.

yprez
sumber
Terima kasih atas nama korpus nltk.
Austin A
Saya harus meningkatkan ke versi nltk terbaru 3.2.5 agar nltk.download ('punkt') berfungsi.
charles gomes
Ini yang saya dapatkan setelah saya menjalankan kode di atas: [nltk_data] Error loading punkt: <urlopen error [Errno 111] Connection [nltk_data] reject>
Paul
Mengenai masalah saya sebelumnya, yang harus saya lakukan hanyalah mematikan VPN saya.
Paul
59

Jika Anda hanya ingin mengunduh punktmodel:

import nltk
nltk.download('punkt')

Jika Anda tidak yakin sedang yang data / memodelkan Anda butuhkan, Anda dapat menginstal populer dataset, model dan taggers dari NLTK:

import nltk
nltk.download('popular')

Dengan perintah di atas, tidak perlu menggunakan GUI untuk mengunduh kumpulan data.

alva
sumber
34

Saya mendapat solusinya:

import nltk
nltk.download()

setelah NLTK Downloader dimulai

d) Unduh l) Daftar u) Perbarui c) Konfigurasi h) Bantuan q) Keluar

Pengunduh> d

Unduh paket mana (l = list; x = cancel)? Pengenal> punkt

Salam Meka
sumber
25

Dari shell Anda dapat mengeksekusi:

sudo python -m nltk.downloader punkt 

Jika Anda ingin menginstal corpora / model NLTK yang populer:

sudo python -m nltk.downloader popular

Jika Anda ingin menginstal semua corpora / model NLTK:

sudo python -m nltk.downloader all

Untuk mendaftar sumber daya yang telah Anda unduh:

python -c 'import os; import nltk; print os.listdir(nltk.data.find("corpora"))'
python -c 'import os; import nltk; print os.listdir(nltk.data.find("tokenizers"))'
Franck Dernoncourt
sumber
11
import nltk
nltk.download('punkt')

Buka prompt Python dan jalankan pernyataan di atas.

Fungsi sent_tokenize menggunakan instance PunktSentenceTokenizer dari modul nltk.tokenize.punkt . Instance ini telah dilatih dan berfungsi dengan baik untuk banyak bahasa Eropa. Sehingga mengetahui tanda baca dan karakter apa yang menandai akhir kalimat dan awal kalimat baru.

Ramineni Ravi Teja
sumber
9

Hal yang sama terjadi pada saya baru-baru ini, Anda hanya perlu mengunduh paket "punkt" dan itu akan berfungsi.

Ketika Anda menjalankan "list" (l) setelah "mendownload semua hal yang tersedia", apakah semuanya ditandai seperti baris berikut ?:

[*] punkt............... Punkt Tokenizer Models

Jika Anda melihat baris ini dengan bintang, itu berarti Anda memilikinya, dan nltk harus dapat memuatnya.

eeelnico.dll
sumber
1
Hai @ supreeth-meka, saya senang Anda menemukan solusinya, itu yang saya sarankan kepada Anda, dapatkah Anda menandai jawaban saya sebagai "Diterima"?
eeelnico
5

Buka konsol python dengan mengetik

$ python

di terminal Anda. Kemudian, ketik 2 perintah berikut di shell python Anda untuk menginstal paket masing-masing:

>> nltk.download ('punkt') >> nltk.download ('averaged_perceptron_tagger')

Ini memecahkan masalah saya.

Dharani Manne
sumber
2

Masalah saya adalah saya menelepon nltk.download('all')sebagai pengguna root, tetapi proses yang akhirnya menggunakan nltk adalah pengguna lain yang tidak memiliki akses ke / root / nltk_data tempat konten diunduh.

Jadi saya hanya menyalin semuanya secara rekursif dari lokasi unduhan ke salah satu jalur di mana NLTK ingin menemukannya seperti ini:

cp -R /root/nltk_data/ /home/ubuntu/nltk_data
Raj
sumber
2
  1. Jalankan kode berikut:

    import nltk
    nltk.download()
  2. Setelah ini, pengunduh NLTK akan muncul.

  3. Pilih Semua paket.
  4. Unduh punkt.
Mayank Kumar
sumber
2

Setelah menambahkan baris kode ini, masalah akan diperbaiki:

nltk.download('punkt')
Ankit Rai
sumber
2

Saya mendapatkan kesalahan meskipun mengimpor yang berikut ini,

import nltk
nltk.download()

tapi untuk google colab ini menyelesaikan masalah saya.

   !python3 -c "import nltk; nltk.download('all')"
Kripalu Sar
sumber
1

Nltk.download () sederhana tidak akan menyelesaikan masalah ini. Saya mencoba yang di bawah ini dan itu berhasil untuk saya:

di folder nltk buat folder tokenizers dan salin folder punkt Anda ke folder tokenizers.

Ini akan berhasil.! struktur folder harus seperti yang ditunjukkan pada gambar

Deepthi Karnam
sumber
1

Anda perlu mengatur ulang folder Anda. Pindahkan tokenizersfolder Anda ke dalam nltk_datafolder. Ini tidak berfungsi jika Anda memiliki nltk_datafolder yang berisi corporafolder yang berisi tokenizersfolder

sekutu
sumber
1

Bagi saya tidak ada yang berhasil di atas, jadi saya hanya mengunduh semua file dengan tangan dari situs web http://www.nltk.org/nltk_data/ dan saya meletakkannya juga dengan tangan di file "tokenizers" di dalam "nltk_data "folder. Bukan solusi yang bagus tapi tetap solusi.

Camille
sumber
0

Saya menghadapi masalah yang sama. Setelah mengunduh semuanya, masih ada kesalahan 'punkt'. Saya mencari paket di mesin windows saya di C: \ Users \ vaibhav \ AppData \ Roaming \ nltk_data \ tokenizers dan saya dapat melihat 'punkt.zip' ada di sana. Saya menyadari bahwa entah bagaimana zip belum diekstraksi ke C: \ Users \ vaibhav \ AppData \ Roaming \ nltk_data \ tokenizers \ punk. Setelah saya mengekstrak zip, itu berfungsi seperti musik.

vaibhav singh
sumber
0

Pastikan Anda menggunakan JupyterNotes dan di dalam notebook, lakukan hal berikut:

import nltk

nltk.download()

Kemudian akan muncul satu jendela popup (menampilkan info https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/index.xml ) Dari situ Anda harus mendownload semuanya.

Kemudian jalankan kembali kode Anda.

Divyanshu Parkhe
sumber