【问题标题】:NLTK - Download all nltk data except corpara from command line without Downloader UINLTK - 从没有下载器 UI 的命令行下载除 corpara 之外的所有 nltk 数据
【发布时间】:2016-10-28 02:16:33
【问题描述】:

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

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

或使用特定数据:

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

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

在没有下载器 UI 的情况下有什么方法可以做到这一点?比如,

> nltk.download('all-taggers')

【问题讨论】:

  • 我想我在某个时候调查过这个问题,但找不到办法。源代码是here,物有所值。

标签: python nlp nltk corpus nltk-trainer


【解决方案1】:

列出所有语料库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)

【讨论】:

    猜你喜欢
    • 2021-11-25
    • 1970-01-01
    • 1970-01-01
    • 2014-04-08
    • 1970-01-01
    • 1970-01-01
    • 2018-08-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多