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

RAV*_*AVI 6 python nlp corpus nltk nltk-trainer

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

> import nltk
> nltk.download('all')
Run Code Online (Sandbox Code Playgroud)

或使用以下具体数据:

> nltk.download('punkt')
> nltk.download('maxent_treebank_pos_tagger')
Run Code Online (Sandbox Code Playgroud)

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

没有Downloader用户界面有什么办法吗?就像是,

> nltk.download('all-taggers')
Run Code Online (Sandbox Code Playgroud)

RAV*_*AVI 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')
Run Code Online (Sandbox Code Playgroud)

下载特定文件夹的所有包。

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)
Run Code Online (Sandbox Code Playgroud)