簡體   English   中英

NLTK - 如何找出python中安裝的語料庫?

[英]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 )。

  1. 要查看在NLTK 中定義哪些接入點 ,請使用dir(nltk.corpus) (在import nltk )。

  2. 要查看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 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM