Я не думаю, что вы можете создать конвейер без токенизатора или остановить / запустить в середине конвейера, но поскольку все компоненты, не относящиеся к токенизатору, принимают и модифицируют 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
.