NLTK - cómo averiguar lo corpus se instalan desde el interior de pitón?
Pregunta
Estoy tratando de cargar algunos corpus He instalado el instalador NLTK pero tengo una:
>>> from nltk.corpus import machado
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: cannot import name machado
Pero en el gestor de descargas (nltk.download()
) machado paquete está marcado como instalado y tengo una carpeta nltk_data/corpus/machado
.
¿Cómo puedo ver desde el interior del pitón intepreter cuáles son los corpus instalado?
Además, ¿qué paquete debo instalar para trabajar con este how-to? http://nltk.googlecode.com/svn/trunk/doc/howto /portuguese_en.html
No puedo encontrar el módulo referido a nltk.examples
en el cómo-a.
Solución
try
import nltk.corpus
dir(nltk.corpus)
y en ese momento, es probable que te ha dicho algo acerca de __LazyModule__...
también lo hacen dir(nltk.corpus)
de nuevo.
Si esto no funciona, trate de rellenar la ficha de IPython.
Otros consejos
El NLTK incluye un paquete, nltk.corpus
, que contiene definiciones de los lectores corpus (tales como PlainTextCorpusReader
). Este paquete también incluye una larga lista de puntos de acceso predefinidos para los cuerpos que se pueden descargar con nltk.downloader()
. Estos puntos de acceso (por ejemplo, nltk.corpus.brown
) se definen si o no el corpus correspondiente se ha descargado.
-
Para ver que los puntos de acceso se definen en la NLTK, el uso
dir(nltk.corpus)
(después deimport nltk
). -
Para ver corpus, que tiene en su área
nltk_data
, intente lo siguiente:import os import nltk print( os.listdir( nltk.data.find("corpora") ) )
Esto se vuelca una lista con el contenido de la carpeta
nltk_data/corpora
. Puede tomar desde allí. -
Si ha instalado su propio corpus en la zona
nltk_data/corpora
y la NLTK no sabe de ello, es necesario encender el lector apropiado a sí mismo. Por ejemplo, si se trata de un corpus de texto plano encorpora/mycorpus
y todos los archivos terminan en.txt
, usted lo haría así:import nltk from nltk.corpus import PlaintextCorpusReader mypath = nltk.data.find("corpora/mycorpus") mycorpus = PlaintextCorpusReader(mypath, r".*\.txt$")
Sin embargo, en ese caso se puede poner su propio corpus en cualquier lugar, y
mypath
punto a ella directamente en lugar de pedir al NLTK para encontrarlo.