NLTK- Python 내에서 어떤 Corpora가 설치되어 있는지 찾는 방법은 무엇입니까?
문제
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
)는 해당 코퍼스가 다운로드되었는지 여부에 정의됩니다.
보다 어떤 액세스 포인트가 정의됩니다 NLTK에서 사용하십시오
dir(nltk.corpus)
(후에import nltk
).보다 당신이 가진 Corpora 당신의
nltk_data
영역, 이것을 시도하십시오 :import os import nltk print( os.listdir( nltk.data.find("corpora") ) )
이것은 폴더의 내용으로 목록을 버립니다.
nltk_data/corpora
. 거기에서 가져갈 수 있습니다.만약에 당신은 자신의 코퍼스를 설치했습니다 에서
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에게 그것을 찾도록 요청하는 대신 직접적으로 그것에.