Named Entities (NER)

Benannte Entitäten erkennen

Neben POS-Informationen können die spaCy-Modelle auch benannte Entitäten erkennen und uns die Information zur Verfügung stellen. Eine benannte Entität kann zum Beispiel eine Person, Organisation, Firma oder ein Land sein.

import spacy

# Load English model
nlp = spacy.load("en_core_web_sm")

# Define the text and store it on a variable
text = "With Michael Jordan on the team, the Chicago Bulls won 6 NBA championship titles during the 1990s."

# Run the NLP process pipeline and save result on variable 'doc'
doc = nlp(text)

# Iterate over the predicted entities
for ent in doc.ents:
    # Print the entity text and its label
    print(ent.text, ent.label_)

Wenn die ner-Komponente ausgeführt wurde, können wir über doc.ents auf die Informationen bezüglich der gefundenen Entitäten zugreifen. Dabei beinhaltet ent.text den Token selbst und ent.label_ das Kürzel für den Typ der Entität.

Das Script oben erzeugt folgende Ausgabe:

Um herauszufinden, was die einzelnen Abkürzungen bedeuten, könnt ihr spacy.explain() aufrufen:

Visualisierung der erkannten Entitäten

Mit displaCy bietet spaCy eine Möglichkeit, erkannte Entitäten in einem Text visuell hervorzuheben:

Das Ergebnis sieht in Databricks so aus:

Visuelle Hervorhebung von erkannten Entitäten in Databricks.

Wir können auch nur bestimmte Entitäten hervorheben lassen sowie die Farbe ändern:

Das neue Ergebnis sieht dann so aus:

Visuelle Hervorhebung von erkannten Organisationen in Databricks.

Das Abkürzungs-Schema für das englische Modell findet ihr hier:

Mehr zu den Möglichkeiten der Visualisierung in spaCy findet ihr hier:

Last updated

Was this helpful?