NLTK - so finden Sie heraus, was Korpora sind installiert in python?
Frage
Ich bin versucht zu laden einige Korpora ich installiert mit dem NLTK-installer, aber ich habe einen:
>>> from nltk.corpus import machado
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: cannot import name machado
Aber in den download-manager (nltk.download()
) das Paket machado gekennzeichnet ist installiert und ich habe einen nltk_data/corpus/machado
Ordner.
Wie kann ich sehen, aus dem inneren des python-intepreter was sind die installierten corpora?
Auch, welche Pakete sollte ich installieren für die Arbeit mit diesem how-to?http://nltk.googlecode.com/svn/trunk/doc/howto/portuguese_en.html
Ich kann nicht finden Modul nltk.examples
verwiesen auf die in der how-to.
Lösung
versuchen Sie es
import nltk.corpus
dir(nltk.corpus)
an welcher Stelle, ist es wahrscheinlich, sagte Sie etwas über __LazyModule__...
so tun dir(nltk.corpus)
wieder.
Wenn das nicht funktioniert, versuchen Sie Registerkarte-Abschluss in iPython.
Andere Tipps
Die NLTK umfasst ein Paket, nltk.corpus
, die Definitionen von Corpus Leser (wie PlainTextCorpusReader
) enthält. Dieses Paket enthält auch eine große Liste von vordefinierten Zugriffspunkten für Korpora, die mit nltk.downloader()
heruntergeladen werden können. Diese Zugriffspunkte (zum Beispiel nltk.corpus.brown
) definiert, ob der entsprechende Korpus heruntergeladen wurde.
-
Um zu sehen, , der Access Points definiert in der NLTK, Verwendung
dir(nltk.corpus)
(nachimport nltk
). -
Um zu sehen, , welche Korpora Sie haben in Ihrem
nltk_data
Bereich, versuchen Sie dies:import os import nltk print( os.listdir( nltk.data.find("corpora") ) )
Diese Dumps nur eine Liste mit dem Inhalt des Ordners
nltk_data/corpora
. Sie können es von dort. -
Wenn Sie Ihre eigenen Korpus installiert haben in den
nltk_data/corpora
Bereich und der NLTK weiß nicht darüber nach, müssen Sie die entsprechenden Leser selbst feuern. Zum Beispiel, wenn es ein Klartext corpus incorpora/mycorpus
ist und alle Dateien in.txt
enden, würden Sie es tun, wie folgt:import nltk from nltk.corpus import PlaintextCorpusReader mypath = nltk.data.find("corpora/mycorpus") mycorpus = PlaintextCorpusReader(mypath, r".*\.txt$")
Aber in diesem Fall, dass Sie Ihre eigenen Korpus überall setzen konnten, und Punkt
mypath
, um es direkt, anstatt die NLTK zu fragen, es zu finden.