EntityRuler do rozpoznawania encji
EntityRuler można łączyć z EntityRecognizer istniejącego modelu, aby zwiększyć jego dokładność. W tym ćwiczeniu przećwiczysz połączenie komponentu EntityRuler z istniejącym komponentem NER modelu en_core_web_sm. Model jest już załadowany jako nlp.
Gdy EntityRuler zostanie dodany przed komponentem NER, rozpoznawanie encji uwzględni istniejące zakresy encji i dostosuje swoje przewidywania na podstawie wzorców dodanych do EntityRuler — co pozwala poprawić dokładność rozpoznawania nazwanych encji.
To ćwiczenie jest częścią kursu
Przetwarzanie języka naturalnego z użyciem spaCy
Instrukcje do ćwiczenia
- Dodaj
EntityRulerdo potokunlpprzed komponentemner. - Zdefiniuj wzorzec encji tokenowej, który klasyfikuje małymi literami zapisane
new york groupjakoORG. - Dodaj
patternsdo komponentuEntityRuler. - Uruchom model i wyświetl krotki zawierające tekst i typ encji dla kontenera
Doc.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
nlp = spacy.load("en_core_web_sm")
text = "New York Group was built in 1987."
# Add an EntityRuler to the nlp before NER component
ruler = nlp.____("entity_ruler", ____="ner")
# Define a pattern to classify lower cased new york group as ORG
patterns = [{"label": "ORG", "pattern": [{"lower": ____}]}]
# Add the patterns to the EntityRuler component
ruler.____(____)
# Run the model and print entities text and type for all the entities
doc = ____
print([(ent.____, ent.____) for ent in doc.____])