Ressource u'tokenizers / punkt / english.pickle 'nicht gefunden


96

Mein Code:

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

Fehlermeldung:

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

Ich versuche, dieses Programm auf einem Unix-Computer auszuführen:

Gemäß der Fehlermeldung habe ich mich von meinem Unix-Computer aus bei der Python-Shell angemeldet und dann die folgenden Befehle verwendet:

import nltk
nltk.download()

und dann habe ich alle verfügbaren Dinge mit D-Downloader- und L-List-Optionen heruntergeladen, aber das Problem bleibt bestehen.

Ich habe mein Bestes versucht, um die Lösung im Internet zu finden, aber ich habe die gleiche Lösung erhalten, die ich in den obigen Schritten erwähnt habe.


Antworten:


170

Um die Antwort von alvas zu ergänzen , können Sie nur den punktKorpus herunterladen :

nltk.download('punkt')

Das Herunterladen allklingt für mich nach Overkill. Es sei denn, das ist was du willst.


Danke für den Namen des nltk-Korpus.
Austin A

Ich musste auf die neueste nltk-Version 3.2.5 aktualisieren, damit nltk.download ('punkt') funktioniert.
Charles Gomes

Folgendes erhalte ich, nachdem ich den obigen Code ausgeführt habe: [nltk_data] Fehler beim Laden des Punktes: <urlopen error [Errno 111] Verbindung [nltk_data] abgelehnt>
Paul

In Bezug auf meine vorherige Ausgabe musste ich lediglich mein VPN ausschalten.
Paul

59

Wenn Sie nur das punktModell herunterladen möchten:

import nltk
nltk.download('punkt')

Wenn Sie sich nicht sicher sind, welche Daten / Modelle Sie benötigen, können Sie die gängigen Datensätze, Modelle und Tagger von NLTK installieren :

import nltk
nltk.download('popular')

Mit dem obigen Befehl muss die GUI nicht zum Herunterladen der Datensätze verwendet werden.


34

Ich habe die Lösung:

import nltk
nltk.download()

Sobald der NLTK Downloader startet

d) Download l) Liste u) Update c) Konfiguration h) Hilfe q) Beenden

Downloader> d

Welches Paket herunterladen (l = Liste; x = Abbrechen)? Kennung> Punkt


25

Über die Shell können Sie Folgendes ausführen:

sudo python -m nltk.downloader punkt 

Wenn Sie die beliebten NLTK-Korpora / -Modelle installieren möchten:

sudo python -m nltk.downloader popular

Wenn Sie alle NLTK-Korpora / -Modelle installieren möchten :

sudo python -m nltk.downloader all

So listen Sie die heruntergeladenen Ressourcen auf:

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

10
import nltk
nltk.download('punkt')

Öffnen Sie die Python-Eingabeaufforderung und führen Sie die obigen Anweisungen aus.

Die Funktion sent_tokenize verwendet eine Instanz von PunktSentenceTokenizer aus dem Modul nltk.tokenize.punkt . Diese Instanz wurde bereits geschult und funktioniert gut für viele europäische Sprachen. Es weiß also, welche Satzzeichen und Zeichen das Ende eines Satzes und den Anfang eines neuen Satzes markieren.


9

Das gleiche ist mir kürzlich passiert, Sie müssen nur das "punkt" -Paket herunterladen und es sollte funktionieren.

Wenn Sie "Liste" (l) ausführen, nachdem Sie "alle verfügbaren Dinge heruntergeladen" haben, wird alles wie in der folgenden Zeile markiert?:

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

Wenn Sie diese Linie mit dem Stern sehen, bedeutet dies, dass Sie sie haben und nltk sie laden kann.


1
Hey @ supreeth-meka, ich bin froh, dass du die Lösung gefunden hast. Ich habe dir vorgeschlagen, kannst du meine Antwort bitte als "Akzeptiert" markieren?
Eeelnico

5

Gehen Sie zur Python-Konsole, indem Sie Folgendes eingeben

$ python

in Ihrem Terminal. Geben Sie dann die folgenden 2 Befehle in Ihre Python-Shell ein, um die entsprechenden Pakete zu installieren:

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

Dies löste das Problem für mich.


2

Mein Problem war, dass ich angerufen habe nltk.download('all') als Root-Benutzer , aber der Prozess, der schließlich nltk verwendete, war ein anderer Benutzer, der keinen Zugriff auf / root / nltk_data hatte, wo der Inhalt heruntergeladen wurde.

Also habe ich einfach alles rekursiv vom Download-Speicherort auf einen der Pfade kopiert, auf denen NLTK danach gesucht hat:

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

2
  1. Führen Sie den folgenden Code aus:

    import nltk
    nltk.download()
  2. Danach wird der NLTK-Downloader angezeigt.

  3. Wählen Sie Alle Pakete.
  4. Laden Sie punkt herunter.

2

Ich habe eine Fehlermeldung erhalten, obwohl ich Folgendes importiert habe:

import nltk
nltk.download()

Aber für Google Colab löste dies mein Problem.

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


1

Sie müssen Ihre Ordner neu anordnen. Verschieben Sie Ihren tokenizersOrdner in einen nltk_dataOrdner. Das funktioniert nicht , wenn Sie nltk_dataOrdner mit corporaOrdnern mit tokenizersOrdnern


1

Für mich hat nichts davon funktioniert, also habe ich einfach alle Dateien von Hand von der Website http://www.nltk.org/nltk_data/ heruntergeladen und sie auch von Hand in eine Datei "Tokenizer" innerhalb von "nltk_data" eingefügt " Ordner. Keine schöne Lösung, aber dennoch eine Lösung.


1

Nach dem Hinzufügen dieser Codezeile wird das Problem behoben:

nltk.download('punkt')

0

Ich stand vor dem gleichen Problem. Nach dem Herunterladen war immer noch ein Punktfehler vorhanden. Ich habe das Paket auf meinem Windows-Computer unter C: \ Users \ vaibhav \ AppData \ Roaming \ nltk_data \ tokenizers durchsucht und sehe dort "punkt.zip". Ich habe festgestellt, dass die Zip-Datei irgendwie nicht in C: \ Users \ vaibhav \ AppData \ Roaming \ nltk_data \ tokenizers \ punk extrahiert wurde. Nachdem ich den Reißverschluss herausgezogen hatte, funktionierte es wie Musik.



Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.