Kom igångKom igång gratis

EntityRuler med en tom spaCy-modell

EntityRuler låter dig lägga till entiteter i doc.ents. Den kan kombineras med EntityRecognizer – en spaCy-pipelinekomponent för igenkänning av namngivna entiteter – för att öka träffsäkerheten, eller användas fristående för ett helt regelbaserat system för entitetsigenkänning. I den här övningen tränar du på att lägga till en EntityRuler-komponent i en tom spaCy-modell för engelska och klassificera namngivna entiteter i den givna text-variabeln med hjälp av helt regelbaserad entitetsigenkänning.

Paketet spaCy är redan importerat och en tom spaCy-modell för engelska finns tillgänglig som nlp. En lista med patterns för att klassificera OpenAI och Microsoft (i gemener) som ORG är redan skapad och redo att använda.

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

Naturlig språkbehandling med spaCy

Visa kurs

Övningsinstruktioner

  • Skapa och lägg till en EntityRuler-komponent i pipelinen.
  • Lägg till de givna mönstren i EntityRuler-komponenten.
  • Kör modellen på den givna text-variabeln och skapa motsvarande Doc-behållare.
  • Skriv ut en tupel med (entitetens text och typ) för alla entiteter i Doc-behållaren.

Interaktiv övning med praktiskt arbete

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

nlp = spacy.blank("en")
patterns = [{"label": "ORG", "pattern": [{"LOWER": "openai"}]},
            {"label": "ORG", "pattern": [{"LOWER": "microsoft"}]}]
text = "OpenAI has joined forces with Microsoft."

# Add EntityRuler component to the model
entity_ruler = nlp.____("entity_ruler")

# Add given patterns to the EntityRuler component
entity_ruler.____(____)

# Run the model on a given text
doc = nlp(____)

# Print entities text and type for all entities in the Doc container
print([(ent.____, ent.____) for ent in doc.____])
Redigera och kör kod