Anerkennung benannter Entitäten (NER) ist eine Technik in Verarbeitung natürlicher Sprache (NLP) Das konzentriert sich auf die Identifizierung und Klassifizierung von Entitäten. Der Zweck von NER besteht darin, automatisch strukturierte Informationen aus unstrukturiertem Text zu extrahieren und es Maschinen zu ermöglichen, Entitäten auf sinnvolle Weise für verschiedene Anwendungen wie Textzusammenfassung, Erstellung von Wissensgraphen, Beantwortung von Fragen und Erstellung von Wissensgraphen zu verstehen und zu kategorisieren. Der Artikel untersucht die Grundlagen, Methoden und Umsetzung des NER-Modells.
Was ist Named Entity Recognition (NER)?
Name-Entity-Erkennung (NER) wird auch als bezeichnet Identifikation der Entität , Entitäts-Chunking, Und Entitätsextraktion . NER ist die Komponente der Informationsextraktion, die darauf abzielt, benannte Entitäten in unstrukturiertem Text zu identifizieren und zu kategorisieren. NER umfasst die Identifizierung wichtiger Informationen im Text und die Klassifizierung in eine Reihe vordefinierter Kategorien. Eine Entität ist das, worüber immer wieder gesprochen wird oder auf das im Text Bezug genommen wird, wie z. B. Personennamen, Organisationen, Orte, Zeitausdrücke, Mengen, Prozentsätze und weitere vordefinierte Kategorien.
Das NER-System bietet Anwendungen in verschiedenen Bereichen, einschließlich der Beantwortung von Fragen, des Informationsabrufs und der maschinellen Übersetzung. NER spielt eine wichtige Rolle bei der Verbesserung der Präzision anderer NLP Aufgaben wie Teil-of-Speech-Tagging und Parsing. Im Kern ist NLP nur ein zweistufiger Prozess. Im Folgenden sind die beiden Schritte aufgeführt, die erforderlich sind:
- Erkennen der Entitäten aus dem Text
- Sie werden in verschiedene Kategorien eingeteilt
Mehrdeutigkeit in NER
- Für einen Menschen ist die Kategoriedefinition intuitiv recht klar, für Computer gibt es jedoch einige Unklarheiten bei der Klassifizierung. Schauen wir uns einige mehrdeutige Beispiele an:
- England (Organisation) gewann die Weltmeisterschaft 2019 vs. Die Weltmeisterschaft 2019 fand in England (Ort) statt.
- Washington (Ort) ist die Hauptstadt der USA vs. Der erste Präsident der USA war Washington (Person).
Wie funktioniert die Named Entity Recognition (NER)?
Die Funktionsweise der Erkennung benannter Entitäten wird im Folgenden erläutert:
- Das NER-System analysiert den gesamten Eingabetext, um die benannten Entitäten zu identifizieren und zu lokalisieren.
- Das System identifiziert dann die Satzgrenzen unter Berücksichtigung der Großschreibungsregeln. Es erkennt das Satzende, wenn ein Wort mit einem Großbuchstaben beginnt, und geht davon aus, dass es sich um den Anfang eines neuen Satzes handeln könnte. Die Kenntnis der Satzgrenzen hilft bei der Kontextualisierung von Entitäten im Text und ermöglicht es dem Modell, Beziehungen und Bedeutungen zu verstehen.
- NER kann trainiert werden, um ganze Dokumente in verschiedene Typen zu klassifizieren, beispielsweise Rechnungen, Quittungen oder Reisepässe. Die Dokumentenklassifizierung erhöht die Vielseitigkeit von NER und ermöglicht es ihm, seine Entitätserkennung basierend auf den spezifischen Merkmalen und dem Kontext verschiedener Dokumenttypen anzupassen.
- NER verwendet Algorithmen für maschinelles Lernen, einschließlich überwachtem Lernen, um gekennzeichnete Datensätze zu analysieren. Diese Datensätze enthalten Beispiele für annotierte Entitäten, die dem Modell dabei helfen, ähnliche Entitäten in neuen, unsichtbaren Daten zu erkennen.
- Durch mehrere Trainingsiterationen verfeinert das Modell sein Verständnis von Kontextmerkmalen, syntaktischen Strukturen und Entitätsmustern und verbessert so seine Genauigkeit im Laufe der Zeit kontinuierlich.
- Die Fähigkeit des Modells, sich an neue Daten anzupassen, ermöglicht es ihm, mit Variationen in Sprache, Kontext und Entitätstypen umzugehen, was es robuster und effektiver macht.
Anerkennung benannter Entitäten (NER) Methoden
Lexikonbasierte Methode
Das NER verwendet ein Wörterbuch mit einer Liste von Wörtern oder Begriffen. Dabei wird überprüft, ob eines dieser Wörter in einem bestimmten Text vorhanden ist. Dieser Ansatz wird jedoch nicht häufig verwendet, da er eine ständige Aktualisierung und sorgfältige Pflege des Wörterbuchs erfordert, um korrekt und effektiv zu bleiben.
Regelbasierte Methode
Die regelbasierte NER-Methode verwendet eine Reihe vordefinierter Regeln, die die Extraktion von Informationen steuern. Diese Regeln basieren auf Mustern und Kontext. Musterbasierte Regeln konzentrieren sich auf die Struktur und Form von Wörtern und betrachten ihre morphologischen Muster. Andererseits berücksichtigen kontextbasierte Regeln die umgebenden Wörter oder den Kontext, in dem ein Wort im Textdokument vorkommt. Diese Kombination aus musterbasierten und kontextbasierten Regeln erhöht die Präzision der Informationsextraktion bei der Named Entity Recognition (NER).
Auf maschinellem Lernen basierende Methode
Mehrklassenklassifizierung mit maschinellen Lernalgorithmen
- Eine Möglichkeit besteht darin, das Modell zu trainieren Mehrklassenklassifizierung Es werden verschiedene Algorithmen für maschinelles Lernen verwendet, es ist jedoch eine umfangreiche Kennzeichnung erforderlich. Neben der Kennzeichnung erfordert das Modell auch ein tiefes Verständnis des Kontexts, um mit der Mehrdeutigkeit der Sätze umzugehen. Dies macht es zu einer anspruchsvollen Aufgabe für einen einfachen Algorithmus für maschinelles Lernen.
Bedingtes Zufallsfeld (CRF)
- Das bedingte Zufallsfeld wird sowohl von NLP Speech Tagger als auch implementiert NLTK. Es handelt sich um ein probabilistisches Modell, mit dem sequentielle Daten wie Wörter modelliert werden können.
- Das CRF kann ein tiefes Verständnis des Kontexts des Satzes erfassen. In diesem Modell ist die Eingabe

Auf Deep Learning basierende Methode
- Das Deep-Learning-NER-System ist viel genauer als die vorherige Methode, da es Wörter zusammensetzen kann. Dies liegt daran, dass eine Methode namens Worteinbettung verwendet wurde, die in der Lage ist, die semantische und syntaktische Beziehung zwischen verschiedenen Wörtern zu verstehen.
- Es ist auch in der Lage, themenspezifische und hochrangige Wörter automatisch zu erlernen und zu analysieren.
- Dadurch ist Deep Learning NER für die Ausführung mehrerer Aufgaben anwendbar. Tiefes Lernen kann den Großteil der repetitiven Arbeit selbst erledigen, sodass beispielsweise Forscher ihre Zeit effizienter nutzen können.
Wie implementiert man NER in Python?
Für die Implementierung des NER-Systems werden wir die Spacy-Bibliothek nutzen. Der Code kann jedoch zu Visualisierungszwecken auf Colab ausgeführt werden. Ich empfehle die lokale Umgebung. Wir können die erforderlichen Bibliotheken installieren mit:
!pip install spacy !pip install nltk ! python -m spacy download en_core_web_sm>
Installieren Sie wichtige Bibliotheken
Python3
import> pandas as pd> import> spacy> import> requests> from> bs4>import> BeautifulSoup> nlp>=> spacy.load(>'en_core_web_sm'>)> pd.set_option(>'display.max_rows'>,>200>)> |
>
>
NER mit Spacy
Im folgenden Code verwenden wir SpaCy, eine Bibliothek zur Verarbeitung natürlicher Sprache, um Text zu verarbeiten und benannte Entitäten zu extrahieren. Der Code durchläuft die im verarbeiteten Dokument identifizierten benannten Entitäten und gibt den Text, das Startzeichen, das Endzeichen und die Beschriftung jeder Entität aus.
Python3
content>=> 'Trinamool Congress leader Mahua Moitra has moved the Supreme Court against her expulsion from the Lok Sabha over the cash-for-query allegations against her. Moitra was ousted from the Parliament last week after the Ethics Committee of the Lok Sabha found her guilty of jeopardising national security by sharing her parliamentary portal's login credentials with businessman Darshan Hiranandani.'> doc>=> nlp(content)> for> ent>in> doc.ents:> >print>(ent.text, ent.start_char, ent.end_char, ent.label_)> |
>
>
Ausgabe:
Congress 10 18 ORG Mahua Moitra 26 38 PERSON the Supreme Court 49 66 ORG the Lok Sabha 94 107 PERSON Moitra 157 163 ORG Parliament 184 194 ORG last week 195 204 DATE the Ethics Committee 211 231 ORG Darshan Hiranandani 373 392 PERSON>
In der Ausgabe wurden die Namen der Entitäten, ihre Start- und Endpositionen im Text sowie ihre vorhergesagten Beschriftungen angezeigt.
Visualisieren
Derdisplacy.render>Die Funktion von spaCy wird verwendet, um die benannten Entitäten in einem Text zu visualisieren. Es generiert eine visuelle Darstellung mit farbigen Hervorhebungen, die die erkannten Entitäten und ihre jeweiligen Kategorien anzeigen.
Python3
from> spacy>import> displacy> displacy.render(doc, style>=>'ent'>)> |
>
>
Ausgabe:

Mit dem folgenden Code erstellen wir einen Datenrahmen aus den von spaCy extrahierten benannten Entitäten, einschließlich Text, Typ (Beschriftung) und Lemma jeder Entität.
Python3
entities>=> [(ent.text, ent.label_, ent.lemma_)>for> ent>in> doc.ents]> df>=> pd.DataFrame(entities, columns>=>[>'text'>,>'type'>,>'lemma'>])> print>(df)> |
>
>
Ausgabe:
text type lemma 0 Congress ORG Congress 1 Mahua Moitra PERSON Mahua Moitra 2 the Supreme Court ORG the Supreme Court 3 the Lok Sabha PERSON the Lok Sabha 4 Moitra ORG Moitra 5 Parliament ORG Parliament 6 last week DATE last week 7 the Ethics Committee ORG the Ethics Committee 8 Darshan Hiranandani PERSON Darshan Hiranandani>
Der Datenrahmen bietet eine strukturierte Darstellung der benannten Entitäten, ihrer Typen und lemmatisierten Formen.
Häufig gestellte Fragen (FAQs)
1. Was ist der Zweck des NER-Systems?
Der Zweck von NER besteht darin, strukturierte Informationen automatisch aus unstrukturiertem Text zu extrahieren und es Maschinen zu ermöglichen, Entitäten für verschiedene Anwendungen wie Textzusammenfassung, Erstellung von Wissensgraphen, Beantwortung von Fragen und Erstellung von Wissensgraphen sinnvoll zu verstehen und zu kategorisieren.
2. Was sind NER-Methoden im NLP?
Zu den NER-Methoden im NLP gehören:
- Lexikonbasiertes NER.
- Auf Regeln basierend
- ML-basiert
- Basierend auf Deep Learning.
3. Welche Verwendungsmöglichkeiten bietet NER im NLP?
NER spielt eine wichtige Rolle bei der Verbesserung der Präzision anderer NLP-Aufgaben wie der Kennzeichnung und Analyse von Wortarten.
4. Kann BERT eine benannte Entitätserkennung durchführen?
Ja, BERT kann für NER verwendet werden.
