Zacznij terazZacznij za darmo

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

Zobacz kurs

Instrukcje do ćwiczenia

  • Dodaj EntityRuler do potoku nlp przed komponentem ner.
  • Zdefiniuj wzorzec encji tokenowej, który klasyfikuje małymi literami zapisane new york group jako ORG.
  • Dodaj patterns do komponentu EntityRuler.
  • 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.____])
Edytuj i uruchom kod