EntityRuler mit leerem spaCy-Modell
Mit EntityRuler kannst du Entitäten zu doc.ents hinzufügen. Er lässt sich mit dem EntityRecognizer, einer spaCy-Pipeline-Komponente für die Erkennung benannter Entitäten, kombinieren, um die Genauigkeit zu erhöhen, oder allein verwenden, um ein rein regelbasiertes System zur Erkennung benannter Entitäten zu implementieren. In dieser Übung fügst du einer leeren englischen spaCy-Modellpipeline eine EntityRuler-Komponente hinzu und klassifizierst die benannten Entitäten des gegebenen text mithilfe einer rein regelbasierten Erkennung.
Das Paket spaCy ist bereits importiert und ein leeres englisches spaCy-Modell steht dir als nlp zur Verfügung. Eine Liste von patterns, die kleingeschriebenes OpenAI und Microsoft als ORG klassifiziert, ist bereits vorbereitet.
Diese Übung ist Teil des Kurses
Natural Language Processing mit spaCy
Anleitung zur Übung
- Erstelle eine
EntityRuler-Komponente und füge sie der Pipeline hinzu. - Füge die gegebenen Patterns zur
EntityRuler-Komponente hinzu. - Führe das Modell auf dem gegebenen
textaus und erzeuge den entsprechendenDoc-Container. - Gib für alle Entitäten im
Doc-Container ein Tupel aus (Entitätstext und Typ) aus.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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.____])