NLTK - 在没有下载器的情况下从命令行下载除 corpara 之外的所有 nltk 数据 UI

NLTK - Download all nltk data except corpara from command line without Downloader UI

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

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

或使用特定数据:

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

但是我想下载除'corpara'个文件以外的所有数据, 例如 - 所有词块分析器、语法分析器、模型、词干分析器、标记器、分词器等

没有下载器 UI 有什么方法可以这样做吗?类似

> nltk.download('all-taggers')

列出所有语料库 ID 并设置 _status_cache[pkg.id] = 'installed'

它会将所有语料库的状态值设置为'installed',当我们使用nltk.download().

时语料库包将被跳过

如果您不确定 corpora/package 需要哪个,请使用 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)