Kaynak u'tokenizers / punkt / english.pickle 'bulunamadı


100

Kodum:

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

Hata mesajı:

[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''

Bu programı Unix makinesinde çalıştırmaya çalışıyorum:

Hata mesajına göre, unix makinemden python kabuğuna giriş yaptım ve aşağıdaki komutları kullandım:

import nltk
nltk.download()

ve sonra indirilebilir yükleyici ve liste seçeneklerini kullanarak mevcut tüm şeyleri indirdim ama sorun hala devam ediyor.

Çözümü internette bulmak için elimden geleni yaptım ama yukarıdaki adımlarımda bahsettiğimle aynı çözümü aldım.


Yanıtlar:


172

Alvas'ın cevabına eklemek için sadece punktkülliyatı indirebilirsiniz :

nltk.download('punkt')

İndirmek allbana aşırı geliyor. İstediğin bu değilse.


Nltk corpus adı için teşekkürler.
Austin A

Nltk.download ('punkt') çalışmasını sağlamak için En son nltk sürüm 3.2.5'e yükseltmek zorunda kaldım.
charles gomes

Yukarıdaki kodu çalıştırdıktan sonra elde ettiğim şey bu: [nltk_data] punkt yüklenirken hata oluştu: <urlopen hatası [Errno 111] Bağlantı [nltk_data] reddedildi>
Paul,

Önceki sorunumla ilgili olarak, tek yapmam gereken VPN'imi kapatmaktı.
Paul

61

Yalnızca punktmodeli indirmek istiyorsanız :

import nltk
nltk.download('punkt')

Hangi veriye / modele ihtiyacınız olduğundan emin değilseniz , NLTK'dan popüler veri kümelerini, modelleri ve etiketleyicileri yükleyebilirsiniz:

import nltk
nltk.download('popular')

Yukarıdaki komutla, veri setlerini indirmek için GUI kullanmaya gerek yoktur.


34

Çözümü aldım:

import nltk
nltk.download()

NLTK Downloader başladığında

d) İndir l) Liste u) Güncelle c) Yapılandır h) Yardım q) Çık

İndirici> d

Hangi paket indirilsin (l = liste; x = iptal)? Tanımlayıcı> punkt


27

Kabuktan şunları çalıştırabilirsiniz:

sudo python -m nltk.downloader punkt 

Popüler NLTK corpora / modellerini kurmak istiyorsanız:

sudo python -m nltk.downloader popular

Tüm NLTK corpora / modellerini kurmak istiyorsanız :

sudo python -m nltk.downloader all

İndirdiğiniz kaynakları listelemek için:

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"))'

12
import nltk
nltk.download('punkt')

Python istemini açın ve yukarıdaki ifadeleri çalıştırın.

Sent_tokenize fonksiyonu örneğini kullanır PunktSentenceTokenizer gelen nltk.tokenize.punkt modülü. Bu örnek zaten eğitilmiş ve birçok Avrupa dili için iyi çalışıyor. Böylece bir cümlenin sonunu ve yeni bir cümlenin başlangıcını hangi noktalama işaretlerinin ve karakterlerin işaretlediğini bilir.


9

Geçenlerde bana da aynı şey oldu, sadece "punkt" paketini indirmen gerekiyor ve çalışmalı.

"Mevcut tüm şeyleri indirdikten" sonra "list" (l) 'i çalıştırdığınızda, her şey aşağıdaki satır gibi işaretlenir mi ?:

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

Bu çizgiyi yıldızla birlikte görürseniz, bu ona sahip olduğunuz anlamına gelir ve nltk onu yükleyebilir.


1
Hey @ supreeth-meka, çözümü bulduğunuza sevindim, size önerdim, cevabımı "Kabul edildi" olarak işaretler misiniz lütfen?
eeelnico

5

Yazarak python konsoluna gidin

$ python

terminalinizde. Ardından, ilgili paketleri kurmak için python kabuğunuza aşağıdaki 2 komutu yazın:

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

Bu benim için sorunu çözdü.


3

Bu kod satırını ekledikten sonra sorun çözülecektir:

nltk.download('punkt')

3

Aşağıdakileri içe aktarmama rağmen bir hata alıyordum,

import nltk
nltk.download()

ancak google colab için bu sorunumu çözdü.

   !python3 -c "import nltk; nltk.download('all')"

2

Sorunum nltk.download('all')kök kullanıcı olarak aramamdı, ancak sonunda nltk'yi kullanan işlem, içeriğin indirildiği / root / nltk_data'ya erişimi olmayan başka bir kullanıcıydı.

Bu yüzden, indirme konumundan NLTK'nin onu bulmaya çalıştığı yollardan birine her şeyi yinelemeli olarak kopyaladım:

cp -R /root/nltk_data/ /home/ubuntu/nltk_data


2
  1. Aşağıdaki kodu yürütün:

    import nltk
    nltk.download()
    
  2. Bundan sonra, NLTK indiricisi çıkacaktır.

  3. Tüm paketler'i seçin.
  4. Punkt'ı indirin.

1

Klasörlerinizi yeniden düzenlemeniz gerekiyor tokenizersKlasörünüzü klasöre taşıyın nltk_data. Eğer varsa, bu işe yaramazsa nltk_dataiçeren klasörü corporaiçeren klasör tokenizersklasör


1

Benim için yukarıdakilerin hiçbiri işe yaramadı, bu yüzden tüm dosyaları el ile http://www.nltk.org/nltk_data/ web sitesinden indirdim ve ayrıca onları "nltk_data" içindeki bir "belirteçler" dosyasına elle koydum. " Klasör. Güzel bir çözüm değil ama yine de bir çözüm.


0

Ben de aynı sorunla karşılaştım. Her şeyi indirdikten sonra, hala 'punkt' hatası vardı. Windows makinemde C: \ Users \ vaibhav \ AppData \ Roaming \ nltk_data \ tokenizers konumunda paket aradım ve orada bulunan 'punkt.zip'i görebiliyorum. Bir şekilde zip dosyasının C: \ Users \ vaibhav \ AppData \ Roaming \ nltk_data \ tokenizers \ punk'a çıkartılmadığını fark ettim. Zipi çıkardıktan sonra müzik gibi çalıştı.



Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.