NLTK - comment savoir ce corpus sont installés à partir de python?
Question
Je suis en train de charger des corpora j'ai installé avec le programme d'installation NLTK mais je suis arrivé un:
>>> from nltk.corpus import machado
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: cannot import name machado
Mais dans le gestionnaire de téléchargement (de nltk.download()
) le paquet est machado marqué comme installé et j'ai un dossier nltk_data/corpus/machado
.
Comment puis-je voir à l'intérieur du intepreter python ce sont les corpora installés?
En outre, quel paquet dois-je installer pour travailler avec ce how-to? http://nltk.googlecode.com/svn/trunk/doc/howto /portuguese_en.html
Je ne peux pas trouver le module nltk.examples
refered dans la façon à.
La solution
essayer
import nltk.corpus
dir(nltk.corpus)
à quel point, il vous a probablement dit quelque chose __LazyModule__...
donc faire dir(nltk.corpus)
à nouveau.
Si cela ne fonctionne pas, essayez l'onglet d'achèvement dans ipython.
Autres conseils
Le NLTK comprend un paquet, nltk.corpus
, qui contient des définitions de lecteurs corpus (comme PlainTextCorpusReader
). Ce forfait comprend également une grande liste de points d'accès prédéfinis pour les corpus qui peuvent être téléchargés avec nltk.downloader()
. Ces points d'accès (par exemple, nltk.corpus.brown
) sont définis ou non le corpus correspondant a été téléchargé.
-
Pour voir quels points d'accès sont définis dans le NLTK, l'utilisation
dir(nltk.corpus)
(aprèsimport nltk
). -
Pour voir que vous avez corpora dans votre zone
nltk_data
, essayez ceci:import os import nltk print( os.listdir( nltk.data.find("corpora") ) )
Cette juste dumps une liste avec le contenu du dossier
nltk_data/corpora
. Vous pouvez le prendre à partir de là. -
Si vous avez installé votre propre corpus dans la zone
nltk_data/corpora
et le NLTK ne connaît pas, vous devez lancer le lecteur approprié vous. Par exemple, si elle est un corpus clair danscorpora/mycorpus
et tous les fichiers se terminent par.txt
, vous feriez comme ceci:import nltk from nltk.corpus import PlaintextCorpusReader mypath = nltk.data.find("corpora/mycorpus") mycorpus = PlaintextCorpusReader(mypath, r".*\.txt$")
Mais dans ce cas, vous pouvez mettre votre propre corps partout, et le point
mypath
à directement au lieu de demander au NLTK de le trouver.