Raf*_*ini 8 python nlp corpus nltk
我正在尝试加载我使用NLTK安装程序安装的一些语料库,但我得到了:
>>> from nltk.corpus import machado
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: cannot import name machado
Run Code Online (Sandbox Code Playgroud)
但是在下载管理器(nltk.download()
)中,包machado被标记为已安装,我有一个nltk_data/corpus/machado
文件夹.
我如何从python intepreter里面看到安装的语料库是什么?
另外,我应该安装哪个软件包来使用这个方法? http://nltk.googlecode.com/svn/trunk/doc/howto/portuguese_en.html
我找不到该方法中nltk.examples
提到的模块.
Han*_*Gay 10
尝试
import nltk.corpus
dir(nltk.corpus)
Run Code Online (Sandbox Code Playgroud)
在这一点上,它可能会告诉你一些关于__LazyModule__...
这样做的事情dir(nltk.corpus)
.
如果这不起作用,请在iPython中尝试tab-completion.
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") ) )
Run Code Online (Sandbox Code Playgroud)
这只是转储包含文件夹内容的列表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$")
Run Code Online (Sandbox Code Playgroud)
但是在这种情况下,您可以将自己的语料库放在任何地方,mypath
直接指向它,而不用要求NLTK来找到它。