Kom igångKom igång gratis

EntityRuler med flera mönster i spaCy

EntityRuler låter dig lägga till entiteter i doc.ents och förbättra prestandan för namngiven enhetsigenkänning. I den här övningen får du träna på att lägga till en EntityRuler-komponent till en befintlig nlp-pipeline för att säkerställa att flera entiteter klassificeras korrekt.

Modellen en_core_web_sm är redan laddad och tillgänglig som nlp. Du kan använda exempeltext via example_text samt nlp och doc för att komma åt en spaCy-modell respektive en Doc-behållare för example_text.

Den här övningen är en del av kursen

Naturlig språkbehandling med spaCy

Visa kurs

Övningsinstruktioner

  • Skriv ut en lista med tupler av entiteternas text och typer i example_text med hjälp av nlp-modellen.
  • Definiera flera mönster för att matcha brother och sisters i gemener mot etiketten PERSON.
  • Lägg till en EntityRuler-komponent i nlp-pipelinen och lägg till patterns i EntityRuler.
  • Skriv ut en tuppel med text och typ för entiteterna i example_text med hjälp av nlp-modellen.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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).____])
Redigera och kör kod