2016-06-25 76 views
5

我們可以通過下載所有NLTK數據:NLTK - 下載所有NLTK數據,除了在命令行corpara無需下載UI

> import nltk 
> nltk.download('all') 

或特定的數據使用:

> nltk.download('punkt') 
> nltk.download('maxent_treebank_pos_tagger') 

但我想下載所有數據除了'corpara'文件,例如 - 所有chunkers,文法,模型,詞幹,taggers,tokenizer等

是否有任何方式沒有Downl oader UI?例如,

> nltk.download('all-taggers') 
+0

我想我在某個時候看過這個,並且找不到辦法做到這一點。源代碼是[這裏](http://www.nltk.org/_modules/nltk/downloader.html),它的價值。 – patrick

回答

2

列出所有的語料庫標識並設置_status_cache[pkg.id] = 'installed'

它將設置所有語料庫的狀態值爲「已安裝」,當我們使用nltk.download()時,語料庫包將被跳過。

而不是下載所有語料庫和模型,如果您不確定需要哪種語料庫/包,請使用nltk.download('popular')

import nltk 

dwlr = nltk.downloader.Downloader() 

for pkg in dwlr.corpora(): 
    dwlr._status_cache[pkg.id] = 'installed' 

dwlr.download('popular') 

要下載特定文件夾的所有包裝。

import nltk 

dwlr = nltk.downloader.Downloader() 

# chunkers, corpora, grammars, help, misc, 
# models, sentiment, stemmers, taggers, tokenizers 
for pkg in dwlr.packages(): 
    if pkg.subdir== 'taggers': 
     dwlr.download(pkg.id)