Prodigy 1.10 - custom recipe for entity linker adding extra text to the annotation sentences

Hi Prodigy team,
We have recently come across this amazing tool and are very much impressed by its features. Started using Prodigy for annotations and have couple of questions here.

1.) How to enable UI to run continuously without showing "No Tasks available" after finishing a batch of sentences.
2.) Custom Entity Linker Model training leads to run time error [E188] Could not match the gold entity links to entities in the doc... I have prodigy-1.10.8 with spacy-2.3.1 installed.

Followed the forum and tried different solutions. But could n't resolve these issues.
Appreciate your kind response and help.
Thanks
Sirisha

Hi and thanks!

Could you share some more details on your workflow? What command are you running, and how is your recipe configured? Did you make any modifications to the recipe? And what does your input data format look like?

Just copy-pasting the full E188 message here for reference, since it's likely relevant:

Could not match the gold entity links to entities in the doc - make sure the gold EL data refers to valid results of the named entity recognizer in the nlp pipeline.

This error is raised by the entity linker if it comes across annotations that refer to entities that are not actually present in the data/document. This typically happens if you're training a model without any NER annotations or an entity recognizer in the pipeline. So double-check that your entity recognizer is available and that you're using the same entities during annotation and training – othewise, you end up with invalid entity links.

Hi Ines,
Thank you so much for your valuable inputs and quick response.
I was able to solve my issues. Reason was that my input data was not in the correct format.
Turns out, prodigy ner.manual takes input in jsonl format where as custom recipe EntityLinker.manual considers a text file for annotations.
Basically, our project was building a custom entity linking model and the work flow I came up with is as follows.

  1. Prepare an input sentences file containing the dictionary terms.
  2. Prepare a patterns file with the dictionary terms
  3. Annotate the input sentences to train an NER model on pre-determined entity label
  4. Create a Knowledgebase using the trained NER model as the base spacy model.
  5. Create a Prodigy custom recipe to annotate the sentences for Entity Linking
  6. Train Entity Linker model.

I followed the YouTube videos of You and Mat for understanding Prodigy.
And I followed Sophie's Custom Entity Linking video for the rest.

Regards
Sirisha

Happy to hear you got it working!