Kom igångKom igång gratis

EntityRuler för NER

EntityRuler kan kombineras med EntityRecognizer i en befintlig modell för att förbättra dess träffsäkerhet. I den här övningen får du öva på att kombinera en EntityRuler-komponent med en befintlig NER-komponent från modellen en_core_web_sm. Modellen är redan inläst som nlp.

När EntityRuler läggs till före NER-komponenten respekterar entitetsigenkännaren befintliga entitetsspann och anpassar sina förutsägelser baserat på de mönster som lagts till i EntityRuler, vilket förbättrar träffsäkerheten för namngivna entiteter.

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

Naturlig språkbehandling med spaCy

Visa kurs

Övningsinstruktioner

  • Lägg till en EntityRuler i nlp före ner-komponenten.
  • Definiera ett token-entitetsmönster som klassificerar gemena new york group som ORG.
  • Lägg till patterns i EntityRuler-komponenten.
  • Kör modellen och skriv ut tupeln med entiteternas text och typ för Doc-behållaren.

Interaktiv övning med praktiskt arbete

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

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