Named-entity recognition (NER), auch bekannt als Entity-Identifikation, Entity-Chunking und Entity-Extraktion, ist eine Teilaufgabe der Informationsextraktion, die darauf abzielt, benannte Entitäten in unstrukturiertem Text zu lokalisieren und in vordefinierte Kategorien einzuordnen, wie Personennamen (PER), Organisationen (ORG), Orte (LOC), geopolitische Entitäten (GPE), Fahrzeuge (VEH), medizinische Codes, Zeitangaben, Mengen, Geldbeträge und Prozentsätze. Die meiste Forschung zu NER-Systemen ist so strukturiert, dass ein nicht annotierter Textblock als Eingabe dient, beispielsweise die Umwandlung von „Jim kaufte 2006 300 Aktien von Acme Corp." in einen annotierten Block, der die Namen der Entitäten hervorhebt: „[Jim]Person kaufte 300 Aktien von [Acme Corp.]Organisation in [2006]Zeit." In diesem Beispiel wurden ein Personenname, der aus einem Token besteht, ein Firmenname aus zwei Token und ein zeitlicher Ausdruck erkannt und klassifiziert.
Der Begriff „benannte Entität" schränkt die Aufgabe auf Entitäten ein, für die eine oder mehrere Zeichenfolgen, wie Wörter oder Phrasen, ziemlich konsistent auf ein bestimmtes Referenzobjekt verweisen. Dies ist eng mit starren Bezeichnern verwandt, wie sie von Saul Kripke definiert wurden, obwohl NER in der Praxis viele Namen und Referenzobjekte behandelt, die philosophisch nicht „starr" sind. Beispielsweise kann das Automobilunternehmen, das Henry Ford 1903 gründete, als „Ford" oder „Ford Motor Company" bezeichnet werden, obwohl „Ford" auch auf viele andere Entitäten verweisen kann. Starre Bezeichner umfassen Eigennamen sowie Begriffe für bestimmte biologische Arten und Substanzen, schließen jedoch Pronomen (siehe Koreferenzauflösung), Beschreibungen, die ein Referenzobjekt anhand seiner Eigenschaften auswählen, und Namen für Arten von Dingen im Gegensatz zu Individuen aus.
Problemdefinition
Die vollständige Named-entity recognition wird oft, konzeptionell und möglicherweise auch in Implementierungen, in zwei getrennte Probleme unterteilt: die Erkennung von Namen und die Klassifizierung der Namen nach dem Typ der Entität, auf die sie verweisen (z. B. Person, Organisation oder Ort). Die erste Phase wird typischerweise auf ein Segmentierungsproblem vereinfacht: Namen werden als zusammenhängende Token-Spannen definiert, ohne Verschachtelung, sodass „Bank of America" ein einzelner Name ist, ungeachtet der Tatsache, dass innerhalb dieses Namens die Teilzeichenfolge „America" selbst ein Name ist. Dieses Segmentierungsproblem ist formal ähnlich zum Chunking. Die zweite Phase erfordert die Wahl einer Ontologie, um Kategorien von Dingen zu organisieren.
Zeitliche Ausdrücke und einige numerische Ausdrücke (z. B. Geld, Prozentsätze) können im Kontext der NER-Aufgabe ebenfalls als benannte Entitäten betrachtet werden. Während einige Instanzen dieser Typen gute Beispiele für starre Bezeichner sind (z. B. das Jahr 2001), gibt es auch viele ungültige (z. B. „Ich mache meinen Urlaub im Juni"). Im ersten Fall bezieht sich das Jahr 2001 auf das 2001. Jahr des gregorianischen Kalenders. Im zweiten Fall kann der Monat Juni auf den Monat eines undefinierten Jahres verweisen (vergangener Juni, nächster Juni, jeder Juni). Es ist vertretbar, dass die Definition von benannten Entitäten in solchen Fällen aus praktischen Gründen gelockert wird. Die Definition des Begriffs „benannte Entität" ist daher nicht streng und muss oft im Kontext erklärt werden, in dem sie verwendet wird.
Bestimmte Hierarchien von Typen benannter Entitäten wurden in der Literatur vorgeschlagen. Die BBN-Kategorien, die 2002 vorgeschlagen wurden, werden für die Beantwortung von Fragen verwendet und bestehen aus 29 Typen und 64 Untertypen. Sekines erweiterte Hierarchie, ebenfalls 2002 vorgeschlagen, umfasst 200 Untertypen. In jüngerer Zeit, im Jahr 2011, verwendete Ritter eine Hierarchie, die auf gängigen Freebase-Entitätstypen basiert, in bahnbrechenden Experimenten zur NER über Social-Media-Texten.
Schwierigkeiten
NER kann Referenzauflösungs-Mehrdeutigkeiten aufweisen, bei denen derselbe Name auf verschiedene Entitäten desselben Typs verweisen kann. Beispielsweise kann „JFK" auf den ehemaligen Präsidenten der Vereinigten Staaten oder seinen Sohn verweisen. Derselbe Name kann auf völlig unterschiedliche Typen verweisen: „JFK" könnte den Flughafen in New York bezeichnen, und „IRA" kann für Individual Retirement Account, International Reading Association oder Irish Republican Army stehen. Dies kann durch Metonymie verursacht werden; beispielsweise kann „Das Weiße Haus" auf eine Organisation statt auf einen Ort verweisen.
Formale Bewertung
Um die Qualität der Ausgabe eines NER-Systems zu bewerten, wurden mehrere Maße definiert. Die üblichen Maße werden als Präzision, Recall und F1-Score bezeichnet. Es bleiben jedoch mehrere Fragen offen, wie diese Werte genau berechnet werden sollen. Diese statistischen Maße funktionieren recht gut für die offensichtlichen Fälle, in denen eine echte Entität genau gefunden oder übersehen wird, sowie für das Finden einer Nicht-Entität. NER kann jedoch auf viele andere Arten fehlschlagen, von denen viele argumentativ „teilweise korrekt" sind und nicht als vollständiger Erfolg oder Misserfolg gewertet werden sollten. Beispielsweise das Identifizieren einer echten Entität mit weniger Token als gewünscht (z. B. das letzte Token von „John Smith, M.D." fehlt), mit mehr Token als gewünscht (z. B. das erste Wort von „The University of MD" einschließen), das unterschiedliche Aufteilen benachbarter Entitäten (z. B. „Smith, Jones Robinson" als 2 statt 3 Entitäten behandeln), das Zuweisen eines völlig falschen Typs (z. B. einen Personennamen als Organisation bezeichnen), das Zuweisen eines verwandten, aber ungenauen Typs (z. B. „Substanz" statt „Medikament" oder „Schule" statt „Organisation") oder das korrekte Identifizieren einer Entität, wenn der Benutzer eine Entität mit kleinerem oder größerem Umfang wollte (z. B. „James Madison" als Personennamen identifizieren, wenn er Teil von „James Madison University" ist). Einige NER-Systeme legen die Einschränkung fest, dass sich Entitäten niemals überlappen oder verschachteln dürfen, was bedeutet, dass in einigen Fällen willkürliche oder aufgabenspezifische Entscheidungen getroffen werden müssen.
Eine übermäßig einfache Methode zur Messung der Genauigkeit besteht darin, lediglich zu zählen, welcher Anteil aller Token im Text korrekt oder inkorrekt als Teil von Entitätsreferenzen (oder als Entitäten des korrekten Typs) identifiziert wurde. Dies leidet unter mindestens zwei Problemen: Erstens ist die überwiegende Mehrheit der Token in realen Texten nicht Teil von Entitätsnamen, sodass die Basisgenauigkeit (immer „keine Entität" vorhersagen) extravagant hoch ist, typischerweise über 90 %; zweitens wird das falsche Vorhersagen der vollständigen Spanne eines Entitätsnamens nicht angemessen bestraft (das Finden nur des Vornamens einer Person, wenn der Nachname folgt, könnte als halbe Genauigkeit gewertet werden).
In akademischen Konferenzen wie CoNLL wurde eine Variante des F1-Scores wie folgt definiert: Präzision ist die Anzahl der vorhergesagten Entitätsnamenspannen, die exakt mit Spannen in den Goldstandard-Bewertungsdaten übereinstimmen. Beispielsweise, wenn [Person Hans] [Person Blick] vorhergesagt wird, aber [Person Hans Blick] erforderlich war, ist die Präzision für den vorhergesagten Namen null. Die Präzision wird dann über alle vorhergesagten Entitätsnamen gemittelt. Recall ist entsprechend die Anzahl der Namen im Goldstandard, die an genau derselben Stelle in den Vorhersagen erscheinen. Der F1-Score ist das harmonische Mittel dieser beiden. Aus der obigen Definition folgt, dass jede Vorhersage, die ein einzelnes Token übersieht, ein zusätzliches Token enthält oder den falschen Typ hat, als vollständiger Fehlschlag für diese Spanne gewertet wird.
Ansätze und Anwendungen
Traditionelle NER-Systeme stützten sich auf handgefertigte Regeln und feature-basierte statistische Modelle wie Conditional Random Fields. Mit dem Aufstieg von maschinellem Lernen und Deep Learning verwenden moderne Systeme oft neuronale Netzwerk-Architekturen, einschließlich Transformer (architecture)-basierter Modelle, die zum Standard für modernste Leistung geworden sind. Diese Modelle werden oft auf großen Korpora vortrainiert und für NER-Aufgaben feinabgestimmt, wobei sie von Fortschritten bei großen Sprachmodellen profitieren, die von Organisationen wie OpenAI, Anthropic und Google DeepMind entwickelt wurden. NER wird häufig in Informationsextraktions-Pipelines für Fragebeantwortung, Suche und Wissensbasis-Konstruktion verwendet und ist eine Schlüsselkomponente in vielen Anwendungen der Verarbeitung natürlicher Sprache.
Siehe auch
- information extraction
- coreference resolution
- chunking
- conditional random fields
- Transformer (architecture)
- großes Sprachmodell