Pergunta

Estou tentando carregar alguns corpora I instalado com o instalador NLTK mas eu tenho um:

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

Mas no gerenciador de download (nltk.download()) o machado pacote é marcado como instalado e eu tenho uma pasta nltk_data/corpus/machado.

Como posso ver de dentro do python intepreter quais são os corpora instalado?

Além disso, o pacote deve instalar ao trabalho com este how-to? http://nltk.googlecode.com/svn/trunk/doc/howto /portuguese_en.html

Não consigo encontrar o nltk.examples módulo referiu no how-to.

Foi útil?

Solução

try

import nltk.corpus
dir(nltk.corpus)

em que ponto, ele provavelmente lhe disse algo sobre __LazyModule__... assim fazer dir(nltk.corpus) novamente.

Se isso não funcionar, tente guia-conclusão em ipython.

Outras dicas

O NLTK inclui um pacote, nltk.corpus, que contém definições de leitores corpus (como PlainTextCorpusReader). Este pacote inclui também uma grande lista de pontos de acesso pré-definidas para a corpora que podem ser baixados com nltk.downloader(). Esses pontos de acesso (por exemplo, nltk.corpus.brown) são definidos ou não o corpus correspondente já foi baixado.

  1. Para ver que os pontos de acesso são definidos na NLTK, uso dir(nltk.corpus) (após import nltk).

  2. Para ver que corpora você tem em sua área nltk_data, tente o seguinte:

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

    Isto apenas despeja uma lista com o conteúdo do nltk_data/corpora pasta. Você pode levá-lo de lá.

  3. Se você instalou seu próprio corpus na área de nltk_data/corpora e não o NLTK não sei sobre isso, você precisa acender o leitor apropriado si mesmo. Por exemplo, se é um corpus de texto simples em corpora/mycorpus e todos os arquivos terminam em .txt, você faria assim:

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

    Mas, nesse caso, você poderia colocar o seu próprio lugar corpus, e ponto mypath a ele diretamente, em vez de pedir o NLTK para encontrá-lo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top