Error applying ner.correct to a dataset

I've trained a model and now would like to use ner.correct to work on it further. However, when I attempt to run the command I get the following error message:

command: prodigy ner.correct counternext3 blank:en defenseaerospace.jsonl --label [LABELS]

Error: "Can't find component 'ner' in pipeline. Make sure that the pipeline
you're using includes a trained entity recognizer that you can correct. If your
component has a different name, you can use the --component option to specify

When I check in spacy, there is an NER entity in the package.

[('tok2vec', <spacy.pipeline.tok2vec.Tok2Vec object at 0x7ff4a82b47c0>), ('ner', <spacy.pipeline.ner.EntityRecognizer object at 0x7ff4484b1120>)]

Any help would be appreciated.

Hi @nextfedinsights1!

Thanks for your post and welcome to the Prodigy community :wave:

Your using the blank:en, which doesn’t include any components except a tokenizer. Change that in your command to your new pipeline.

For example, you can try using en_core_web_sm pipeline instead (eg install with python -m spacy download en_core_web_sm).

Alternatively, if you’re using your own custom pipeline via prodigy train, typically you’d be pointing to the output folder (eg /model-best).

1 Like

Thank you for the reply, this is really helpful. I am using a custom pipeline. So does that mean that I should remove the "blank:en" and just have it refer to the model-best location?

Yes, that's correct.

1 Like