Aan de slagGa gratis aan de slag

EntityRuler met een lege spaCy‑model

Met EntityRuler kun je entiteiten toevoegen aan doc.ents. Je kunt het combineren met EntityRecognizer, een spaCy-pijplijncomponent voor named entity recognition, om de nauwkeurigheid te verhogen, of het op zichzelf gebruiken voor een volledig regelgebaseerd entiteitsherkenningssysteem. In deze oefening ga je een EntityRuler-component toevoegen aan een leeg Engels spaCy-model en benoemde entiteiten in de gegeven text classificeren met puur regelgebaseerde named entity recognition.

Het spaCy-pakket is al geïmporteerd en een leeg Engels spaCy-model staat klaar als nlp. Er is al een lijst met patterns gemaakt om de lowercased OpenAI en Microsoft als ORG te classificeren.

Deze oefening maakt deel uit van de cursus

Natural Language Processing met spaCy

Cursus bekijken

Oefeninstructies

  • Maak een EntityRuler-component en voeg die toe aan de pipeline.
  • Voeg de gegeven patterns toe aan de EntityRuler-component.
  • Voer het model uit op de gegeven text en maak de bijbehorende Doc-container.
  • Print een tuple van (entiteitstekst en -typen) voor alle entiteiten in de Doc-container

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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.____])
Code bewerken en uitvoeren