Domanda

Sto cercando di caricare un po 'di corpora ho installato con il programma di installazione NLTK ma ho avuto una:

>>> from nltk.corpus import machado
      Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      ImportError: cannot import name machado

Ma nel download manager (nltk.download()) il Machado pacchetto è marcato come installato e ho una cartella nltk_data/corpus/machado.

Come posso vedere da dentro l'interprete python quali sono i corpi installato?

Inoltre, quale pacchetto devo installare per lavorare con questo how-to? http://nltk.googlecode.com/svn/trunk/doc/howto /portuguese_en.html

Non riesco a trovare il modulo di nltk.examples refered nel how-to.

È stato utile?

Soluzione

try

import nltk.corpus
dir(nltk.corpus)

a quel punto, probabilmente ti ha detto qualcosa a proposito __LazyModule__... in modo da fare di nuovo dir(nltk.corpus).

Se questo non funziona, provare scheda di completamento in ipython.

Altri suggerimenti

Il NLTK comprende un pacchetto, nltk.corpus, che contiene le definizioni di lettori corpus (come PlainTextCorpusReader). Questo pacchetto include anche una lunga lista di punti di accesso predefiniti per corpora che possono essere scaricati con nltk.downloader(). Questi punti di accesso (per esempio, nltk.corpus.brown) sono definite se il corpus corrispondente è stato scaricato.

  1. Per vedere che i punti di accesso sono definiti nella NLTK, uso dir(nltk.corpus) (dopo import nltk).

  2. Per vedere che corpora avete nella vostra zona nltk_data, provate questo:

    import os
    import nltk
    print( os.listdir( nltk.data.find("corpora") ) )
    

    Questa discariche solo un elenco con il contenuto della cartella di nltk_data/corpora. Si può prendere da lì.

  3. Se è stato installato il proprio corpus nella zona nltk_data/corpora e il NLTK non sa a questo proposito, è necessario accendere il lettore appropriata da soli. Per esempio, se si tratta di un corpus di testo in chiaro in corpora/mycorpus e tutti i file finiscono in .txt, faresti in questo modo:

    import nltk
    from nltk.corpus import PlaintextCorpusReader
    
    mypath = nltk.data.find("corpora/mycorpus")
    mycorpus = PlaintextCorpusReader(mypath, r".*\.txt$")
    

    Ma in questo caso si potrebbe mettere il proprio corpus ovunque, e il punto mypath ad esso direttamente invece di chiedere al NLTK per trovarlo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top