[BUG]ValueError: [E090] Extension 'similarity' already exists on Span. To overwrite the existing extension, set `force=True` on `Span.set_extension`.
Describe the bug Hi, I use the example in the demo.
I'm facing this error:
ValueError: [E090] Extension 'similarity' already exists on Span. To overwrite the existing extension, set force=True on Span.set_extension.
To Reproduce
common English pipeline
nlp = spacy.load('en_core_web_sm')
@Language.component('quickumls_component') def quickumls_component(doc): return SpacyQuickUMLS(nlp, umls_path1)(doc)
quickumls_component = SpacyQuickUMLS(nlp, umls_path1) nlp.add_pipe('quickumls_component', last=True)
doc = nlp('Pt c/o shortness of breath, chest pain, nausea, vomiting, diarrrhea')
for ent in doc.ents: print('Entity text : {}'.format(ent.text)) print('Label (UMLS CUI) : {}'.format(ent.label_)) print('Similarity : {}'.format(ent..similarity)) print('Semtypes : {}'.format(ent..semtypes))
**Environment **
- OS: Unbuntu
- QuickUMLS version 1.4.0
- UMLS version 2023
Thanks :)
I am facing the same issue.
Got the same error code here.
Same issue
You define multiple SpacyQuickUMLS instances in your code:
@Language.component('quickumls_component')
def quickumls_component(doc):
quickumls_component = SpacyQuickUMLS(nlp, umls_path1)
The Span.set_extension method is called repeatedly during each instantiation, and Spacy does not allow repeated definition of the same extension attributes (like similarity and semtypes), so delete quickumls_component.