小编TR5*_*517的帖子

如何加速 spaCy 词形还原?

我在 NLP 管道的第一步中使用 spaCy(版本 2.0.11)进行词形还原,但不幸的是它需要很长时间。这显然是我的处理流程中最慢的部分,我想知道我是否可以进行改进。我使用管道作为:

nlp.pipe(docs_generator, batch_size=200, n_threads=6, disable=['ner'])
Run Code Online (Sandbox Code Playgroud)

在 8 核机器上,我已验证该机器正在使用所有内核。

在大约 300 万个短文本的语料库中,总大小接近 2GB,需要将近 24 小时来词形还原和写入磁盘。合理的?

我尝试禁用处理管道的几个部分,发现它破坏了词形还原(解析器、标记器)。

除了命名实体识别之外,默认处理管道的任何部分是否不需要词形还原?

还有其他方法可以加快 spaCy 词形还原过程吗?

在旁边:

文档似乎也没有列出解析管道中的所有操作。在 spacy Language 类的顶部,我们有:

factories = {
    'tokenizer': lambda nlp: nlp.Defaults.create_tokenizer(nlp),
    'tensorizer': lambda nlp, **cfg: Tensorizer(nlp.vocab, **cfg),
    'tagger': lambda nlp, **cfg: Tagger(nlp.vocab, **cfg),
    'parser': lambda nlp, **cfg: DependencyParser(nlp.vocab, **cfg),
    'ner': lambda nlp, **cfg: EntityRecognizer(nlp.vocab, **cfg),
    'similarity': lambda nlp, **cfg: SimilarityHook(nlp.vocab, **cfg),
    'textcat': lambda nlp, **cfg: TextCategorizer(nlp.vocab, **cfg),
    'sbd': lambda nlp, **cfg: SentenceSegmenter(nlp.vocab, **cfg),
    'sentencizer': lambda nlp, …
Run Code Online (Sandbox Code Playgroud)

performance nlp spacy

11
推荐指数
2
解决办法
4631
查看次数

标签 统计

nlp ×1

performance ×1

spacy ×1