Aktualisierte Antwort: NLTK funktioniert gut für 2.7. Ich hatte 3.2. Ich habe 3.2 deinstalliert und 2.7 installiert. Jetzt gehts!!
Ich habe NLTK installiert und versucht, NLTK-Daten herunterzuladen. Was ich tat, war, der Anleitung auf dieser Website zu folgen: http://www.nltk.org/data.html
Ich habe NLTK heruntergeladen, installiert und dann versucht, den folgenden Code auszuführen:
>>> import nltk
>>> nltk.download()
Es gab mir die Fehlermeldung wie folgt:
Traceback (most recent call last):
File "<pyshell#6>", line 1, in <module>
nltk.download()
AttributeError: 'module' object has no attribute 'download'
Directory of C:\Python32\Lib\site-packages
Versuchte sowohl nltk.download()
als auch nltk.downloader()
, beide gaben mir Fehlermeldungen.
Dann habe ich help(nltk)
benutzt, um das Paket herauszuziehen, es zeigt die folgenden Informationen:
NAME
nltk
PACKAGE CONTENTS
align
app (package)
book
ccg (package)
chat (package)
chunk (package)
classify (package)
cluster (package)
collocations
corpus (package)
data
decorators
downloader
draw (package)
examples (package)
featstruct
grammar
help
inference (package)
internals
lazyimport
metrics (package)
misc (package)
model (package)
parse (package)
probability
sem (package)
sourcedstring
stem (package)
tag (package)
test (package)
text
tokenize (package)
toolbox
tree
treetransforms
util
yamltags
FILE
c:\python32\lib\site-packages\nltk
Ich sehe dort Downloader, nicht sicher, warum es nicht funktioniert. Python 3.2.2, System Windows Vista.
Um einen bestimmten Datensatz/bestimmte Modelle herunterzuladen, verwenden Sie die Funktion nltk.download()
, z. Wenn Sie den punkt
-Satz-Tokenizer herunterladen möchten, verwenden Sie:
$ python3
>>> import nltk
>>> nltk.download('punkt')
Wenn Sie sich nicht sicher sind, welche Daten/Modelle Sie benötigen, können Sie mit der grundlegenden Liste der Daten + Modelle beginnen:
>>> import nltk
>>> nltk.download('popular')
Es wird eine Liste "beliebter" Ressourcen heruntergeladen. Dazu gehören:
<collection id="popular" name="Popular packages">
<item ref="cmudict" />
<item ref="gazetteers" />
<item ref="genesis" />
<item ref="gutenberg" />
<item ref="inaugural" />
<item ref="movie_reviews" />
<item ref="names" />
<item ref="shakespeare" />
<item ref="stopwords" />
<item ref="treebank" />
<item ref="Twitter_samples" />
<item ref="omw" />
<item ref="wordnet" />
<item ref="wordnet_ic" />
<item ref="words" />
<item ref="maxent_ne_chunker" />
<item ref="punkt" />
<item ref="Snowball_data" />
<item ref="averaged_perceptron_tagger" />
</collection>
Falls jemand Fehler beim Herunterladen größerer Datensätze von nltk
, von https://stackoverflow.com/a/38135306/610569 - verhindert,
$ rm /Users/<your_username>/nltk_data/corpora/panlex_lite.Zip
$ rm -r /Users/<your_username>/nltk_data/corpora/panlex_lite
$ python
>>> import nltk
>>> dler = nltk.downloader.Downloader()
>>> dler._update_index()
>>> dler._status_cache['panlex_lite'] = 'installed' # Trick the index to treat panlex_lite as it's already installed.
>>> dler.download('popular')
Ab v3.2.5 hat NLTK eine informativere Fehlermeldung wenn nltk_data
-Ressource nicht gefunden wird, z.
>>> from nltk import Word_tokenize
>>> Word_tokenize('x')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/l/alvas/git/nltk/nltk/tokenize/__init__.py", line 128, in Word_tokenize
sentences = [text] if preserve_line else sent_tokenize(text, language)
File "/Users//alvas/git/nltk/nltk/tokenize/__init__.py", line 94, in sent_tokenize
tokenizer = load('tokenizers/punkt/{0}.pickle'.format(language))
File "/Users/alvas/git/nltk/nltk/data.py", line 820, in load
opened_resource = _open(resource_url)
File "/Users/alvas/git/nltk/nltk/data.py", line 938, in _open
return find(path_, path + ['']).open()
File "/Users/alvas/git/nltk/nltk/data.py", line 659, in find
raise LookupError(resource_not_found)
LookupError:
**********************************************************************
Resource punkt not found.
Please use the NLTK Downloader to obtain the resource:
>>> import nltk
>>> nltk.download('punkt')
Searched in:
- '/Users/alvas/nltk_data'
- '/usr/share/nltk_data'
- '/usr/local/share/nltk_data'
- '/usr/lib/nltk_data'
- '/usr/local/lib/nltk_data'
- ''
**********************************************************************
Zum find nltk_data
-Verzeichnis (automatisch-magisch) siehe https://stackoverflow.com/a/36383314/610569
Um nltk_data
zu einem anderen Pfad herunterzuladen, siehe https://stackoverflow.com/a/48634212/610569
Zu config nltk_data
Pfad (d. H. Einen anderen Pfad für NLTK festlegen, um nltk_data
zu finden), siehe https://stackoverflow.com/a/22987374/610569
Versuchen
nltk.download('all')
dadurch werden alle Daten heruntergeladen und es ist nicht erforderlich, sie einzeln herunterzuladen.
Benennen Sie Ihre Datei nicht nltk.py. Ich habe den gleichen Code und den Namen nltk verwendet und die gleiche Fehlermeldung wie Sie erhalten.
Pip installieren: In Terminal ausführen: Sudo easy_install pip
Installieren Sie Numpy (optional): run: Sudo pip install -U numpy
NLTK installieren: run: Sudo pip install -U nltk
Testinstallation: run: python
geben Sie dann Folgendes ein: import nltk
Laden Sie den Korpus herunter
ausführen: python -m nltk.downloader all
Das hat für mich funktioniert:
nltk.set_proxy('http://user:[email protected]:8080')
nltk.download()
Es ist sehr einfach....
import nltk
nltk.download()
Wenn Sie eine wirklich alte Version von nltk verwenden, steht tatsächlich kein Download-Modul zur Verfügung ( reference )
Versuche dies:
import nltk
print(nltk.__version__)
Nach dem Verweis sollte alles nach 0.9.5 in Ordnung sein
Bitte versuche
import nltk
nltk.download()
Nachdem Sie das ausgeführt haben, erhalten Sie so etwas
NLTK Downloader
---------------------------------------------------------------------------
d) Download l) List u) Update c) Config h) Help q) Quit
---------------------------------------------------------------------------
Dann Press d
Wie folgt tun:
Downloader> d all
Sie erhalten die folgende Meldung, wenn Sie fertig sind, und dann Press q
.__
sie können keine gespeicherte Python-Datei mit dem Namen nltk.py
haben, da der Interpreter von dieser und nicht von der eigentlichen Datei liest.
Ändern Sie den Namen Ihrer Datei, aus der die Python-Shell liest, und versuchen Sie, was Sie ursprünglich getan haben:
import nltk
und dann nltk.download()
Ich hatte das ähnliche Problem. Prüfen Sie wahrscheinlich, ob Sie Proxy verwenden.
Wenn ja, richten Sie den Proxy vor dem Download ein:
nltk.set_proxy('http://proxy.example.com:3128', ('USERNAME', 'PASSWORD'))
sie sollten Python während der Installation von Python zu Ihrem PATH hinzufügen ... nach der Installation .. Öffnen Sie cmd Eingabeaufforderung geben Sie den Befehl -pip install nltk
.__ ein. Gehen Sie dann zu IDLE und öffnen Sie eine neue Datei. Speichern Sie sie als Datei.py. Dann öffnen Sie file.py Geben Sie Folgendes ein: import nltk
nltk.download()
wenn Sie bereits einen Dateinamen nltk.py gespeichert und erneut in my_nltk_script.py umbenannt haben. überprüfe ob du noch die datei nltk.py hast. Wenn ja, löschen Sie sie und führen Sie die Datei my_nltk.scripts.py aus. Es sollte funktionieren!
Laden Sie die ZIP-Dateien von http://www.nltk.org/nltk_data/ - herunter, und entpacken Sie sie, speichern Sie sie in Ihrem Python-Ordner, beispielsweise C:\ProgramData\Anaconda3\nltk_data
Ich denke, Sie müssen die Datei als nltk.py benannt haben (oder der Ordner besteht aus einer Datei mit diesem Namen). Ändern Sie sie also in einen anderen Namen und versuchen Sie es auszuführen.