Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nlp 在Spacy中创建和加载自定义管道_Nlp_Pipeline_Spacy - Fatal编程技术网

Nlp 在Spacy中创建和加载自定义管道

Nlp 在Spacy中创建和加载自定义管道,nlp,pipeline,spacy,Nlp,Pipeline,Spacy,我需要在多页文档上运行NLP管道。文本分类器对前N个句子进行操作,并基于文本分类器输出,需要向管道中添加新的自定义元素。当然,我可以用新元素重新启动管道,但这需要从一开始就重新运行所有内容(标记器、sentenizer等) 是否可以捕获管道的状态(例如,文档对象),修改管道,并在新管道及其新元素离开的地方继续 对于这种情况,推荐的方法是什么 谢谢 < p>我不认为你可以在流水线的中间创建一个没有标记器或停止/启动的流水线,但是因为所有的非令牌组件都需要修改和修改 doc/,你可以加载一个流水线,

我需要在多页文档上运行NLP管道。文本分类器对前N个句子进行操作,并基于文本分类器输出,需要向管道中添加新的自定义元素。当然,我可以用新元素重新启动管道,但这需要从一开始就重新运行所有内容(标记器、sentenizer等)

是否可以捕获管道的状态(例如,文档对象),修改管道,并在新管道及其新元素离开的地方继续

对于这种情况,推荐的方法是什么


谢谢

< p>我不认为你可以在流水线的中间创建一个没有标记器或停止/启动的流水线,但是因为所有的非令牌组件都需要修改和修改<代码> doc/<代码>,你可以加载一个流水线,你可以使用所有的组件,然后根据需要调用每个组件:

nlp = spacy.load('en')
# nlp.make_doc() is equivalent to nlp.tokenizer()
doc = nlp.make_doc("This is a sentence.")
# there are shortcuts for default model components
nlp.tagger(doc)
nlp.parser(doc)
nlp.ner(doc)
# but you can access any component with nlp.get_pipe(), also "tagger", etc.
nlp.get_pipe("your_component_name")(doc)
nlp.get_pipe("tagger")(doc)

API不会阻止您尝试,但您不希望应用作为不同管道的一部分加载的组件,而不是用于创建
Doc
,因为如果您正在寻找资源进行尝试,当
Doc
和组件不共享相同的
vocab
,您可能会遇到问题,也请参阅此