GLiNER: Generalistisches Modell zur Erkennung benannter Entitäten mithilfe eines bidirektionalen Transformers
Named Entity Recognition (NER) ist eine wichtige Aufgabe der Natural Language Processing (NLP), die Entitäten wie Namen, Orte und Organisationen in Texten identifiziert und klassifiziert. Dies ermöglicht die Extraktion strukturierter Informationen für verschiedene Anwendungen. NER kann auch Aufgaben wie den Aufbau von Knowledge Graphs, die Suche nach Informationen und die Analyse von Inhalten übernehmen.
Traditionelle NER-Modelle sind gut darin, vordefinierte Entitäten zu identifizieren. Im Gegensatz dazu können Large Language Models (LLMs) komplexere, vielfältigere Entitäten verarbeiten. LLMs sind jedoch oft ressourcenintensiv, was Herausforderungen für den praktischen Einsatz mit sich bringt. Bestehende feinabgestimmte Open-Source-LLMs für Named Entity Recognition (NER), wie InstructUIE, UniNER und GoLLIE, sind effektiv, stehen aber vor Herausforderungen wie großer Modellgröße, langsamer Token-Generierung und begrenzter paralleler Entitätsextraktion. Um diese Probleme anzugehen, entwickelten Forscher GLiNER, ein kompaktes und effizientes NER-Modell, das darauf ausgelegt ist, Effizienz, Skalierbarkeit und mehrsprachige Leistung zu verbessern und gleichzeitig die Genauigkeit beizubehalten.
GLiNER ist ein Open-Source-NER-Modell, das einen bidirektionalen Transformer-Encoder verwendet. Es ermöglicht parallele Entitätsextraktion und adressiert die Einschränkungen sowohl traditioneller als auch LLM-basierter NER-Ansätze. In Zero-Shot-Evaluierungen über verschiedene NER-Benchmarks hinweg, einschließlich solcher in mehreren Sprachen, übertrifft es sowohl ChatGPT als auch feinabgestimmte LLMs wie UniNER. Selbst die kleinste Version von GLiNER übertrifft große Modelle wie InstructUIE in Zero-Shot-Szenarien.
Abbildung: BiLM für offenes NER
Abbildung: BiLM für offenes NER | Quelle
Dieser Blog wird GLiNER, seinen Ansatz für NER und seine Auswirkungen auf den NLP-Bereich besprechen. Weitere Details finden sich im Paper GLiNER.
Überblick über Named Entity Recognition
Named Entity Recognition (NER) ist eine grundlegende Aufgabe in der Natural Language Processing (NLP), die benannte Entitäten innerhalb eines Textes identifiziert und klassifiziert. Diese Entitäten repräsentieren reale Objekte wie Personen, Organisationen, Orte, Daten usw.
Schlüsselkomponenten von NER
Entitätserkennung: Lokalisierung der Grenzen der benannten Entitäten im Text (z. B. Identifizierung von "Albert Einstein" als relevanter Textspanne).
Entitätsklassifikation: Zuweisung des korrekten Labels zu jeder erkannten Entität (z. B. Kennzeichnung von "Albert Einstein" als Person).
Verständnis der Architektur und Funktionalität von GLiNER
GLiNER verwendet bidirektionale Sprachmodelle (BiLMs) wie BERT und DeBERTa. Diese Modelle sind dafür bekannt, reichhaltige kontextuelle Repräsentationen aus Texten zu erfassen. Das Schlüsselkonzept hinter GLiNER besteht darin, die NER-Aufgabe als Matching-Problem zu formulieren, bei dem Entitätstyp-Embeddings mit textuellen Span-Repräsentationen in einem gemeinsamen latenten Raum verglichen werden. Dies steht im Gegensatz zu traditionellen Ansätzen, die NER als Generierungsaufgabe behandeln.
GLiNER besteht aus drei Hauptkomponenten:
Vortrainierter Textencoder: Die Grundlage von GLiNER ist ein vortrainiertes BiLM, wie DeBERTa, das als Textencoder dient. Das BiLM verarbeitet die Eingabesequenz, erfasst kontextuelle Beziehungen zwischen Wörtern und erzeugt kontextualisierte Repräsentationen (Embeddings) für jedes Token.
Span-Repräsentationsmodul: Diese Komponente ist dafür verantwortlich, eine Repräsentation für jede mögliche Spanne (eine zusammenhängende Folge von Wörtern) innerhalb des Eingabetextes zu berechnen. Die Span-Repräsentation wird abgeleitet, indem die Ausgaben des BiLM für die Start- und End-Token jeder Spanne kombiniert werden. Diese Einbettungen werden optimiert, um eng mit den Repräsentationen relevanter Entitätstypen übereinzustimmen.
Entitätsrepräsentationsmodul: Diese Komponente erzeugt Einbettungen für jeden Entitätstyp, den das Modell extrahieren soll. Spezielle Token, die Entitätstypen repräsentieren, werden durch das BiLM geleitet, und ihre Ausgaben werden mithilfe eines Feedforward-Netzwerks verfeinert. Diese Entitätseinbettungen werden dann mit Span-Einbettungen verglichen, um Übereinstimmungen zu bestimmen.
Figure: GLiNER architecture
Abbildung: GLiNER-Architektur | Quelle
So funktioniert GLiNER.
Eingabeformatierung
GLiNER erhält als Eingabe sowohl den Text, aus dem Entitäten extrahiert werden sollen, als auch eine Liste potenzieller Entitätstypen. Diese Elemente werden zu einer einzigen, einheitlichen Sequenz kombiniert. Spezielle Token, darunter [ENT] und [SEP], spielen in dieser Sequenz eine wichtige Rolle:
Das Token
[ENT]steht vor jedem Entitätstyp in der Liste.Das Token
[SEP]fungiert als Trennzeichen zwischen der Liste der Entitätstypen und dem Eingabetext.Sowohl die Token
[ENT]als auch[SEP]werden zu Beginn des Trainingsprozesses zufällig initialisiert.
Figure: Example input format
Abbildung: Beispiel-Eingabeformat | Quelle
Token-Repräsentation mit BiLMs
Ein vortrainiertes BiLM verarbeitet anschließend die einheitliche Eingabesequenz. Das BiLM analysiert die gesamte Sequenz, versteht die Beziehungen zwischen allen Token und gibt kontextualisierte Vektorrepräsentationen für jedes Token aus.
- Die Ausgabe für Entitätstyp-Token (die mit
[ENT]verbunden sind) wird als p dargestellt.
- Die Ausgabe für jedes Wort im Eingabetext wird als h dargestellt.
- Für Wörter, die während der Tokenisierung in Subwörter zerlegt werden, verwendet GLiNER die Repräsentation des ersten Subworts, eine gängige Praxis im NER.
Erzeugung von Entitäts- und Span-Einbettungen
GLiNER zielt darauf ab, sowohl Entitätstypen als auch Textspannen in einen einheitlichen latenten Raum zu kodieren, in dem sie effektiv verglichen werden können. Dazu gehört Folgendes:
- Verfeinerung der Entitätsrepräsentation: Die anfängliche Repräsentation von Entitätstypen (p) wird mithilfe eines zweischichtigen Feedforward-Netzwerks (FFN) verfeinert. Dies führt zu einer neuen Repräsentation, bezeichnet als q, die Entitätstypen in den latenten Raum abbildet.
- Berechnung der Span-Repräsentation: Eine Spanne ist eine Folge aufeinanderfolgender Wörter innerhalb des Eingabetextes. GLiNER berechnet eine Einbettung für jede mögliche Spanne mithilfe eines weiteren zweischichtigen FFN. Dieses FFN arbeitet auf den konkatenierten Repräsentationen der Start- und End-Token der Spanne. Dieser Prozess ermöglicht es GLiNER, die Bedeutung einer Spanne als Ganzes zu erfassen.
Zuordnung von Entitätstypen zu Spannen
Nachdem sowohl Entitätstypen als auch Spannen in denselben latenten Raum kodiert wurden, bestimmt GLiNER die Wahrscheinlichkeit, dass eine Spanne zu einem bestimmten Entitätstyp gehört, indem ein Matching-Score zwischen ihren entsprechenden Einbettungen berechnet wird. Der Matching-Score wird mithilfe des Skalarprodukts der Span-Einbettung Sij und der Entitätseinbettung qt berechnet, gefolgt von einer Sigmoid-Aktivierungsfunktion. Der resultierende Score (i, j, t) kann als die Wahrscheinlichkeit interpretiert werden, dass die Spanne (i, j) vom Typ t ist.
Während des Trainings maximiert das Modell unter Verwendung der binären Cross-Entropy Loss die Matching-Scores für korrekte (positive) Span-Entitäts-Paare und minimiert sie für inkorrekte (negative) Paare.
Positive Paare sind solche, bei denen der Span in den Trainingsdaten tatsächlich mit dem Entitätstyp gekennzeichnet ist.
Negative Paare werden erzeugt, indem Entitäten aus anderen Beispielen innerhalb desselben Batches zufällig gesampelt werden. Dies hilft dem Modell, effektiv zwischen wahren und falschen Entitätszuweisungen zu unterscheiden.
Der Trainingsverlust für ein einzelnes Beispiel ist definiert als:
Der Trainingsverlust für ein einzelnes Beispiel
Dekodierung mit Greedy Span Selection
GLiNER verwendet einen Greedy-Span-Selection-Algorithmus, um in der Dekodierungsphase die wahrscheinlichsten Entitäten aus dem Eingabetext zu extrahieren. Dieser Algorithmus priorisiert nicht überlappende Spans mit den höchsten Matching-Scores. Er unterstützt zwei Modi von NER:
Flat NER: Dieser Modus wählt nur nicht überlappende Spans aus und priorisiert diejenigen mit den höchsten Scores.
Nested NER: Dieser Modus ermöglicht die Auswahl verschachtelter Spans (Spans, die vollständig innerhalb anderer Entitäten enthalten sind), während partielle Überlappungen vermieden werden.
Dieser Greedy-Ansatz stellt sicher, dass GLiNER aufgabenspezifische Einschränkungen einhält und gleichzeitig relevante Entitäten effizient extrahiert.
GLiNERs Experiment- und Hyperparameter-Einstellungen
Ein sorgfältig konzipiertes experimentelles Setup und eine robuste Hyperparameter-Konfiguration wurden implementiert, um die Effektivität von GLiNER zu bewerten. Das Modell wird auf dem Pile-NER-Datensatz trainiert, einer Sammlung von 44.889 Passagen mit 240.000 Entitäts-Spans und 13.000 eindeutigen Entitätstypen. Dieser Datensatz wurde aus dem Pile-Korpus abgeleitet, wobei 50.000 Texte gesampelt und mit ChatGPT annotiert wurden. Die Annotationen wurden ohne vordefinierte Typbeschränkungen erzeugt, sodass der Datensatz vielfältige Entitäten erfassen kann.
Prompting von ChatGPT zur Entitätsextraktion
Abbildung: Prompting von ChatGPT zur Entitätsextraktion | Quelle
GLiNER verwendet das deBERTa-v3-Modell aufgrund seiner nachgewiesenen empirischen Stärke als Backbone. Das Modell integriert nicht vortrainierte Schichten mit einer dimensionalen Breite von 768 und wendet eine Dropout-Rate von 0,4 an, um Overfitting zu verringern.
Der Trainingsprozess läuft maximal 30.000 Schritte, beginnend mit einer 10%igen Warmup-Phase, gefolgt von einer Decay-Phase, die durch einen Cosine Scheduler gesteuert wird. Negative Entitätstypen werden während des Trainings zufällig aus anderen Beispielen im selben Batch gesampelt, um die Fähigkeit des Modells zu verbessern, Fälle zu behandeln, in denen bestimmte Entitätstypen fehlen.
Mehrere Regularisierungs-Strategien werden implementiert, um die Robustheit des Modells zu verbessern und Overfitting zu verhindern. Diese Strategien umfassen:
Mischen der Entitätsreihenfolge: Dies hilft dem Modell, Entitäten unabhängig von ihrer Position innerhalb der Eingabe zu identifizieren.
Zufälliges Entfernen von Entitäten: Dies zwingt das Modell, mit Instanzen umzugehen, in denen Informationen fehlen oder unvollständig sind.
Während des Trainings wird eine Beschränkung für die Anzahl der pro Satz verarbeiteten Entitätstypen auferlegt, um die rechnerische Komplexität zu steuern. Dieses Limit ist auf 25 festgelegt.
Analyse der Leistung von GLiNER
Nach dem Training wurde die Leistung von GLiNER auf verschiedenen NER-Benchmarks getestet, und die Faktoren, die zu seiner Effektivität beitragen, wurden analysiert.
Zero-Shot-Leistung auf englischen Datensätzen
GLiNER wurde in einem Zero-Shot-Setting evaluiert, was bedeutet, dass es auf dem Pile-NER-Datensatz trainiert und anschließend direkt auf unbekannten Datensätzen ohne weiteres Fine-Tuning getestet wurde.
OOD NER Benchmark
Der OOD-(Out-of-Domain)-NER-Benchmark, bestehend aus sieben unterschiedlichen NER-Datensätzen, wurde verwendet, um GLiNERs Fähigkeit zur Generalisierung auf verschiedene Domänen zu bewerten. GLiNER zeigte in all seinen Größenvarianten (small, medium und large) eine beeindruckende Leistung und übertraf Modelle wie ChatGPT, Vicuna und sogar das deutlich größere InstructUIE.
Bemerkenswerterweise erzielte das mittelgroße GLiNER Ergebnisse, die mit dem 13B-UniNER-Modell vergleichbar sind, obwohl es 140-mal kleiner ist. Das größte GLiNER-Modell übertraf seine Konkurrenten durchweg, darunter GoLLIE (das leistungsstärkste LLM) und USM.
Abbildung: Zero-Shot-Werte im Out-of-Domain-NER-Benchmark
Abbildung: Zero-Shot-Werte im Out-of-Domain-NER-Benchmark | Quelle
20-NER-Benchmark
GLiNER wurde außerdem anhand eines Benchmarks mit 20 NER-Datensätzen aus verschiedenen Domänen evaluiert. Es übertraf sowohl ChatGPT als auch UniNER bei den meisten dieser Datensätze und demonstrierte damit seine Robustheit und Anpassungsfähigkeit über verschiedene Domänen hinweg. Allerdings schnitt es im Vergleich zu UniNER bei tweetbasierten NER-Datensätzen schlechter ab, was auf einen potenziellen Verbesserungsbereich beim Umgang mit informellem und verrauschtem Text hinweist.
Zero-Shot-Leistung auf 20 NER-Datensätzen
Zero-Shot-Leistung auf 20 NER-Datensätzen | Quelle
Mehrsprachige Zero-Shot-Evaluierung
Um GLiNERs Generalisierbarkeit auf unbekannte Sprachen zu bewerten, wurde es auf dem Multiconer-Datensatz evaluiert, der Daten in 11 Sprachen enthält. Zwei Varianten von GLiNER wurden verwendet:
Eine mit einem englischen DeBERTa-Backbone (GLiNER-En).
Eine mit einem mehrsprachigen DeBERTa-Backbone (GLiNER-Multi).
GLiNER-Multi schnitt bemerkenswert gut ab und übertraf ChatGPT in den meisten Sprachen. Es
demonstrierte sprachübergreifende Transferfähigkeiten, obwohl es nicht in diesen Sprachen trainiert wurde. Es schnitt sogar auf Spanisch etwas besser ab als auf Englisch.
Zero-Shot-Werte in verschiedenen Sprachen
Zero-Shot-Werte in verschiedenen Sprachen | Quelle
Überwachtes In-Domain-Fine-tuning
GLiNER wurde außerdem auf den 20 NER-Datensätzen feinabgestimmt, um seine Leistung in einer überwachten Umgebung mit LLMs zu vergleichen. Seine zwei Varianten wurden getestet: eine, die mit Gewichten aus dem Zero-Shot-Modell initialisiert wurde (vortrainiert auf Pile-NER), und eine, die von Grund auf trainiert wurde. Die vortrainierte Variante übertraf die nicht vortrainierte Variante durchweg und zeigte damit die Vorteile des Vortrainings auf einem vielfältigen Datensatz.
Überwachte Leistung über verschiedene Datensatzgrößen hinweg
Überwachte Leistung über verschiedene Datensatzgrößen hinweg | Quelle
Das vortrainierte GLiNER übertraf außerdem das deutlich größere InstructUIE, was die Effizienz der GLiNER-Architektur hervorhebt. Obwohl es im Vergleich zu UniNER zurückblieb, erzielte GLiNER dennoch die höchsten Werte bei 7 von 20 Datensätzen.
Abbildung: Überwachtes In-Domain-Finetuning
Abbildung: Überwachtes In-Domain-Finetuning | Quelle
Die Abkürzung w/ steht für "with" und bedeutet, dass das GLiNER-Modell zuerst auf dem Pile-NER-Datensatz trainiert wurde, bevor es auf den 20 NER-Datensätzen feinabgestimmt wurde.
Die Abkürzung w/o steht für "without" und gibt an, dass das GLiNER-Modell nicht auf dem Pile-NER-Datensatz vortrainiert wurde.
Unterschiedliche Architekturentscheidungen und Trainingsstrategien
Mehrere Architektur- und Trainingsstrategien wurden untersucht, um GLiNERs Leistung zu optimieren und Anpassungsfähigkeit in verschiedenen Szenarien sicherzustellen.
Evaluierung verschiedener Backbones
GLiNER wurde weiter untersucht, indem verschiedene BiLM-Backbones verwendet wurden, um zu sehen, wie sie seine Leistung beeinflussen. Verschiedene Modelle wie BERT, RoBERTa, ALBERT und ELECTRA wurden getestet, wobei DeBERTa-v3 durchweg die beste Leistung zeigte. Allerdings erzielten alle Backbones im Vergleich zu bestehenden Modellen starke Ergebnisse. Dies deutete darauf hin, dass die Architektur von GLiNER über verschiedene BiLMs hinweg effektiv ist.
Abbildung: Zero-shot-Leistung für verschiedene Backbones
Abbildung: Zero-shot-Leistung für verschiedene Backbones | Quelle
Bewertung der Auswirkungen von negativem Entity-Sampling
Negatives Entity-Sampling wird während des Trainings eingeführt, um zu erkennen, dass realweltliche Daten häufig bestimmte Entity-Typen nicht enthalten. Die Leistung des Modells wird anschließend unter Verwendung verschiedener negativer Sampling-Verhältnisse (0 %, 50 % und 75 %) bewertet, wobei ein Verhältnis von 50 % das beste Gleichgewicht zwischen Präzision und Recall bietet. Training nur mit positiven Entities führt zu mehr False Positives (geringerer Präzision), während ein hohes negatives Sampling-Verhältnis das Modell übermäßig vorsichtig macht, was zu übersehenen Entities führt (geringerer Recall).
Abbildung: Effekt des Samplings negativer Entity-Typen
Abbildung: Effekt des Samplings negativer Entity-Typen | Quelle
Bewertung der Vorteile des zufälligen Weglassens von Entity-Typen
Das zufällige Weglassen von Entity-Typ-Prompts während des Trainings verbessert die Robustheit und Anpassungsfähigkeit eines Modells an unterschiedliche Anzahlen von Entities in realweltlichen Szenarien. Diese Technik führt zu einer durchschnittlichen Verbesserung um 1,4 Punkte bei der Out-of-Domain-Evaluierung.
Abbildung: Zufälliges Weglassen von Entity-Typen
Abbildung: Zufälliges Weglassen von Entity-Typen | Quelle
Implikationen der Entwicklung von GLiNER
Die Entwicklung von GLiNER hat erhebliche Auswirkungen auf das Gebiet der Named Entity Recognition (NER):
Ressourceneffizienz für NER: GLiNER bringt NER voran, indem es mit kleineren Modellgrößen als große LLMs eine starke Leistung erzielt. Diese Effizienz ist in ressourcenbeschränkten Umgebungen vorteilhaft und macht NER für verschiedene Anwendungen zugänglicher. GLiNER nutzt BiLMs effektiv ohne den rechnerischen Overhead von LLMs, indem es NER als Matching-Aufgabe zwischen Entity-Typ-Embeddings und textuellen Span-Repräsentationen in einem latenten Raum formuliert.
Zero-Shot-Generalisierung über Domänen und Sprachen hinweg: GLiNER schneidet in Zero-shot-Settings außergewöhnlich gut ab und erzielt auf NER-Benchmarks State-of-the-Art-Ergebnisse ohne aufgabenspezifisches Fine-Tuning. Seine Fähigkeit, über verschiedene Domänen und Sprachen hinweg zu generalisieren, macht es zu einer vielversprechenden Lösung für Szenarien mit begrenzten gelabelten Daten.
Verbesserte Leistung durch Pretraining: Pretraining auf dem Pile-NER-Datensatz vor dem Fine-Tuning für In-Domain-Aufgaben führt zu bemerkenswerten Leistungsverbesserungen. Dies gilt insbesondere, wenn die Menge an überwachten Daten begrenzt ist. Der Gewinn ist bei kleineren Datensätzen am größten. Dies deutet darauf hin, dass Pretraining einen effektiven Wissenstransfer ermöglicht und die Fähigkeit des Modells verbessert, zu generalisieren und sich an neue Domänen und Entity-Typen anzupassen.
Zukünftige Forschungsrichtungen
Mehrere Forschungsansätze können untersucht werden, um die Fähigkeiten von GLiNER weiter zu verbessern:
Erkundung alternativer Architekturen: Obwohl die aktuelle Architektur von GLiNER effektiv ist, gibt es Raum für Verbesserungen durch Experimente mit verschiedenen BiLM-Varianten (Bidirectional Language Models) oder durch die Einführung neuartiger Span-Repräsentationstechniken. Solche Innovationen könnten zu zusätzlichen Leistungsgewinnen führen und GLiNER in die Lage versetzen, komplexere Aufgaben mit höherer Effizienz zu bewältigen.
Umgang mit verrauschten und informellen Texten: Obwohl GLiNER in vielen Kontexten gut abschneidet, muss seine Fähigkeit zum Umgang mit verrauschten, informellen Texten verbessert werden. Inhalte in sozialen Medien enthalten häufig Slang, Abkürzungen und nicht standardisierte Grammatik, was besondere Herausforderungen mit sich bringt. Zukünftige Arbeiten könnten sich darauf konzentrieren, GLiNER weiter zu verfeinern, um diese Nuancen besser zu erfassen und seine Robustheit bei der Verarbeitung solcher unstrukturierten Texte zu verbessern.
Einbindung externen Wissens: Die Integration externer Wissensquellen wie Wissensgraphen oder domänenspezifischer Gazetteers könnte die Genauigkeit von GLiNER bei der Entitätsdisambiguierung erhöhen. Durch die Einbettung dieser Ressourcen in die Architektur des Modells könnten Forschende präzisere und kontextbewusstere Repräsentationen benannter Entitäten entwickeln und so die Leistung verbessern.
Fine-Tuning für domänenspezifische Anwendungsfälle: Während GLiNERs Zero-Shot-Leistung beeindruckend ist, besteht Potenzial für weitere Verfeinerung durch domänenspezifisches Fine-Tuning. Bereiche wie biomedizinisches Text Mining oder die Analyse juristischer Dokumente könnten von diesem Ansatz profitieren. Dadurch wird GLiNER anpassungsfähiger für spezialisierte Bereiche, in denen die Entitätserkennung komplexe und technische Sprachmuster erfassen muss.
Fazit
GLiNER stellt einen bedeutenden Fortschritt im Bereich NER dar. Durch seine kompakten bidirektionalen Transformer-Modelle kombiniert es Effizienz, Anpassungsfähigkeit und Zugänglichkeit. Es erzielt eine starke Zero-Shot- und mehrsprachige Leistung ohne die Rechenkosten größerer Modelle und übertrifft Alternativen wie ChatGPT und UniNER.
Zukünftige Forschung könnte alternative Architekturen untersuchen, die Robustheit bei verrauschten und informellen Texten verbessern, externes Wissen für eine bessere Entitätsdisambiguierung integrieren, Fine-Tuning für domänenspezifische Datensätze durchführen und die Leistung verbessern in ressourcenarmen Sprachen durch sprachübergreifenden Transfer. Diese Richtungen bieten großes Potenzial, die Wirksamkeit von GLiNER bei vielfältigen NER-Aufgaben weiter zu verbessern.
Weitere Ressourcen
Weiterlesen

Context Engineering Strategies for AI Agents: A Developer’s Guide
Learn practical context engineering strategies for AI agents. Explore frameworks, tools, and techniques to improve reliability, efficiency, and cost.

AI Agents Are Quietly Transforming E-Commerce — Here’s How
Discover how AI agents transform e-commerce with autonomous decision-making, enhanced product discovery, and vector search capabilities for today's retailers.

Demystifying the Milvus Sizing Tool
Explore how to use the Sizing Tool to select the optimal configuration for your Milvus deployment.



