Zacznij terazZacznij za darmo

EntityRuler z wieloma wzorcami w spaCy

EntityRuler pozwala dodawać encje do doc.ents i zwiększać skuteczność rozpoznawania nazwanych encji. W tym ćwiczeniu przećwiczysz dodawanie komponentu EntityRuler do istniejącego potoku nlp, aby kilka encji było poprawnie klasyfikowanych.

Model en_core_web_sm jest już wczytany i dostępny jako nlp. Przykładowy tekst znajdziesz w zmiennej example_text. Użyj nlp i doc, aby uzyskać dostęp odpowiednio do modelu spaCy i kontenera Doc dla example_text.

To ćwiczenie jest częścią kursu

Przetwarzanie języka naturalnego z użyciem spaCy

Zobacz kurs

Instrukcje do ćwiczenia

  • Wyświetl listę krotek zawierających tekst i typ encji z example_text przy użyciu modelu nlp.
  • Zdefiniuj wiele wzorców dopasowujących tokeny brother i sisters zapisane małymi literami do etykiety PERSON.
  • Dodaj komponent EntityRuler do potoku nlp i przypisz do niego zmienną patterns.
  • Wyświetl krotki zawierające tekst i typ encji dla example_text przy użyciu modelu nlp.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

nlp = spacy.load("en_core_web_md")

# Print a list of tuples of entities text and types in the example_text
print("Before EntityRuler: ", [____ for ____ in nlp(____).____], "\n")

# Define pattern to add a label PERSON for lower cased sisters and brother entities
patterns = [{"label": ____, "pattern": [{"lower": ____}]},
            {"label": ____, "pattern": [{"lower": ____}]}]

# Add an EntityRuler component and add the patterns to the ruler
ruler = nlp.____("entity_ruler")
ruler.____(____)

# Print a list of tuples of entities text and types
print("After EntityRuler: ", [(ent.____, ent.____) for ent in nlp(example_text).____])
Edytuj i uruchom kod