我正在尝试加载我使用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里面看到安装的语料库是什么?
另外,我应该安装哪个软件包来使用这个方法? http://nltk.googlecode.com/svn/trunk/doc/howto/portuguese_en.html
我无法在操作方法中找到模块nltk.examples
。
答案 0 :(得分:10)
试
import nltk.corpus
dir(nltk.corpus)
此时,它可能会告诉您一些关于__LazyModule__...
的事情,所以再次dir(nltk.corpus)
。
如果这不起作用,请在iPython中尝试tab-completion。
答案 1 :(得分:4)
NLTK包含一个包nltk.corpus
,其中包含语料库读者的定义(例如PlainTextCorpusReader
)。此软件包还包含一个可以使用nltk.downloader()
下载的语料库预定义访问点的大列表。无论相应的语料库是否已下载,都定义这些访问点(例如nltk.corpus.brown
)。
要在NLTK中查看定义了哪些接入点,请使用dir(nltk.corpus)
(在import nltk
之后)。
要在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找到它。