ValueError: [E966] nlp.add_pipe now takes the string name of the registered component factory

1.问题描述

ValueError: [E966] nlp.add_pipe now takes the string name of the registered component factory, not a callable component. Expected string, but got (name: ‘None’).

ValueError: [E966] nlp.add_pipe now takes the string name of the registered component factory_第1张图片


2.问题分析

错误发生的代码:

    nlp = spacy.load('en_core_web_sm', disable=['ner', 'parser', 'textcat'])
    nlp.add_pipe(nlp.create_pipe('sentencizer'))

是spacy和en_core_web_sm的版本太高,而add_pipe方法的工作方式在v3中发生了变化,此代码使用的是v2样式。


3.解决方案

方法一:将代码改为:

	nlp.add_pipe('sentencizer')

方法二:降低版本,将spacy和en_core_web_sm的版本同时将为v2版本,作者这里将这两个都降为2.2.0版本。

安装spacy和en_core_web_sm


本文参考:ValueError: [E966] nlp.add_pipe now takes the string name of the registered

你可能感兴趣的:(自然语言处理,python,人工智能)