[英]NLTK - how to find out what corpora are installed from within python?
我正在嘗試加載我使用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
我找不到在how-to中nltk.examples
的模塊nltk.examples
。
嘗試
import nltk.corpus
dir(nltk.corpus)
在這一點上,它可能會告訴你關於__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") ) )
這只是轉儲包含文件夾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找到它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.