NLTK - 从命令行下载除corpara之外的所有nltk数据,不使用Downloader UI

时间:2016-06-25 16:46:29

标签: python nlp nltk corpus nltk-trainer

我们可以使用以下方式下载所有nltk数据:

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

或使用以下特定数据:

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

但我想下载除'corpara'文件以外的所有数据, 例如 - 所有chunkers,grammers,model,stemmers,taggers,tokenizer等

没有Downloader UI,有没有办法这样做?像,

> nltk.download('all-taggers')

1 个答案:

答案 0 :(得分:2)

列出所有语料库ID并设置_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)