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 modelnlp = spacy.load("en_core_web_sm")# Define the text and store it on a variabletext ="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 entitiesfor ent in doc.ents:# Print the entity text and its labelprint(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.
Links
Das Abkürzungs-Schema für das englische Modell findet ihr hier: