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


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 in Unix-Maschine auszuführen:

Gemäß der Fehlermeldung habe ich mich von meiner Unix-Maschine aus in die Python-Shell eingeloggt 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, was ich getan habe, wie ich in meinen obigen Schritten erwähnt habe.


74
2017-10-26 07:52


Ursprung


Antworten:


Hinzufügen zu Alvas 'Antwort, Sie können nur die herunterladen punkt Korpus:

nltk.download('punkt')

wird heruntergeladen all klingt für mich nach Overkill. Es sei denn, das ist was du willst.


152
2017-12-09 15:01



Wenn Sie nur das herunterladen möchten punkt Modell:

import nltk
nltk.download('punkt')

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

import nltk
nltk.download('popular')

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


47
2017-10-26 22:40



Ich habe die Lösung:

import nltk
nltk.download()

sobald der NLTK Downloader gestartet wird

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

Downloader> d

Download welches Paket (l = list; x = cancel)?   Kennung> punkt


28
2017-10-26 17:20



Von der Shell aus 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 installieren möchten alle NLTK Korpora / Modelle:

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

19
2017-12-19 22:00



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

Wenn Sie "list" (l) ausführen, nachdem Sie alle verfügbaren Dinge heruntergeladen haben, ist alles wie die folgende Zeile markiert:

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

Wenn Sie diese Zeile mit dem Stern sehen, bedeutet das, dass Sie sie haben, und nltk sollte sie laden können.


9
2017-10-26 08:18



Wechseln Sie zur Python-Konsole, indem Sie eingeben

$ Python

in deinem 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')

Das hat das Problem für mich gelöst.


5
2018-06-11 06:09



Mein Problem war, dass ich anrief nltk.download('all') als Root-Benutzer, aber der Prozess, der schließlich nltk verwendet wurde, 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-Ort in einen der Pfade kopiert, wo NLTK es so finden wollte:

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

2
2018-02-28 21:57



  1. Führen Sie den folgenden Code aus:

    import nltk
    nltk.download()
    
  2. Danach erscheint der NLTK Downloader.

  3. Wählen Sie Alle Pakete.
  4. Download

2
2018-04-03 20:32



import nltk
nltk.download('punkt')

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

Das send_tokenize Funktion verwendet eine Instanz von PunktSentenceTokenizer von dem nltk.tokenize.punkt Modul. Diese Instanz wurde bereits trainiert und funktioniert gut für viele europäische Sprachen. So weiß es, was Interpunktion und Zeichen das Ende eines markieren Satz und der Beginn eines neuen Satzes.


2
2017-12-13 08:46