LoslegenKostenlos loslegen

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

Kurs anzeigen

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 text aus und erzeuge den entsprechenden Doc-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.____])
Code bearbeiten und ausführen