NLTK- Python 내에서 어떤 Corpora가 설치되어 있는지 찾는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/1902967

  •  19-09-2019
  •  | 
  •  

문제

NLTK 설치 프로그램에 설치 한 일부 코퍼라를로드하려고하지만 다음과 같습니다.

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

그러나 다운로드 관리자에서 (nltk.download()) 패키지 Machado는 설치로 표시되어 있으며 nltk_data/corpus/machado 폴더.

Python Intepreter 내부에서 설치된 Corpora는 무엇입니까?

또한이 방법으로 작업하려면 어떤 패키지를 설치해야합니까?http://nltk.googlecode.com/svn/trunk/doc/howto/portuguese_en.html

모듈을 찾을 수 없습니다 nltk.examples 방법에 대해 언급했습니다.

도움이 되었습니까?

해결책

노력하다

import nltk.corpus
dir(nltk.corpus)

어느 시점에서 아마도 당신에게 뭔가를 말했을 것입니다. __LazyModule__... 그래서 dir(nltk.corpus) 다시.

그래도 작동하지 않으면 ipython에서 Tab-Completion을 사용해보십시오.

다른 팁

NLTK에는 패키지가 포함되어 있으며 nltk.corpus, 여기에는 코퍼스 독자의 정의가 포함되어 있습니다 (예 : PlainTextCorpusReader). 이 패키지는 또한 다운로드 할 수있는 Corpora의 사전 정의 된 액세스 포인트 목록도 포함되어 있습니다. nltk.downloader(). 이러한 액세스 포인트 (예 : nltk.corpus.brown)는 해당 코퍼스가 다운로드되었는지 여부에 정의됩니다.

  1. 보다 어떤 액세스 포인트가 정의됩니다 NLTK에서 사용하십시오 dir(nltk.corpus) (후에 import nltk).

  2. 보다 당신이 가진 Corpora 당신의 nltk_data 영역, 이것을 시도하십시오 :

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

    이것은 폴더의 내용으로 목록을 버립니다. nltk_data/corpora. 거기에서 가져갈 수 있습니다.

  3. 만약에 당신은 자신의 코퍼스를 설치했습니다 에서 nltk_data/corpora 지역과 NLTK는 그것에 대해 알지 못합니다. 적절한 독자를 직접 해고해야합니다. 예를 들어, 일반 텍스트 코퍼스 인 경우 corpora/mycorpus 그리고 모든 파일이 끝납니다 .txt, 당신은 다음과 같이 할 것입니다 :

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

    하지만이 경우 자신의 코퍼스를 어디에나 넣을 수 있으며 mypath nltk에게 그것을 찾도록 요청하는 대신 직접적으로 그것에.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top