I've annotated sentences for joint entity and relation by following this page: https://prodi.gy/docs/dependencies-relations#ner-joint
This page states that it is possible to do "entity and relation annotation at the same time."
Specifically, I annotated 10k+ sentences using the command from the #ner-joint section of the docs above:
prodigy rel.manual annotations en_core_web_sm sentences.jsonl --span-label country,language --label EXP,NEG
My goal is now to train a named entity recognition model to predict only the label of "country". How might I do this?
Here is what I've tried:
-
prodigy train --spancat annotations
yields the error:
File "/home/jaan/miniconda3/envs/dev/lib/python3.8/site-packages/prodigy/recipes/data_utils.py", line 951, in infer_spancat_suggester
char_span = doc.char_span(span["start"], span["end"])
KeyError: 'start'
-
prodigy train --ner annotations
yields the error:
✘ Invalid data for component 'ner'
- I used
prodigy train --parser annotations
to successfully train a model to do dependency parsing. However, this model only predicts the labels EXP,NEG and does not predict the span labels that have been annotated.
Is it true that it is impossible to train a named entity recognition system if data has been annotated using the rel.manual
recipe?
Does this mean that data must be re-annotated using the ner.manual
recipe?
Thanks so much! Currently blocked on this.