Ein n-Gramm ist eine zusammenhängende Sequenz von n Elementen aus einer gegebenen Stichprobe von Text oder Sprache. Die Elemente können Zeichen, Silben, Wörter, Phoneme oder sogar biologische Sequenzen wie Basenpaare in einem Genom sein. N-Gramme werden aus einem Textkorpus oder Sprachkorpus gesammelt und sind grundlegend für die statistische Verarbeitung natürlicher Sprache, da sie es Modellen ermöglichen, lokale Muster und Abhängigkeiten in sequenziellen Daten zu erfassen.
Der Begriff leitet sich von lateinischen Zahlenpräfixen ab: Ein Unigramm ist eine Sequenz aus einem Element, ein Bigramm (oder Digramm) aus zwei, ein Trigramm aus drei und so weiter. Für größere Größen werden englische Kardinalzahlen verwendet, wie Vier-Gramm oder Fünf-Gramm. In der Computerbiologie werden ähnliche Sequenzen als k-Mere bezeichnet, wobei griechische Präfixe wie Monomer, Dimer, Trimer oder englische Formen wie Ein-Mer, Zwei-Mer verwendet werden. Wenn die Elemente Wörter sind, werden n-Gramme manchmal als Shingles bezeichnet.
Historische Entwicklung
Das Konzept der n-Gramm-Modelle in der Sprache geht auf das Jahr 1951 zurück, als Claude Shannon sie im Kontext der Informationstheorie diskutierte. Shannon zeigte, wie n-Gramm-Modelle auf Zeichen- und Wortebene plausiblen englischen Text erzeugen konnten, indem sie aus Wahrscheinlichkeitsverteilungen beobachteter Sequenzen Stichproben zogen. Beispielsweise könnte ein 3-Gramm-Zeichenmodell Text wie „in no ist lat whey cratict froure birs grocid pondenome" erzeugen, während ein 2-Gramm-Wortmodell „the head and in frontal attack on an english writer" generieren könnte. Diese frühen Experimente etablierten n-Gramme als praktisches Werkzeug zur statistischen Modellierung von Sprache.
Anwendungen in der Verarbeitung natürlicher Sprache
In der Verarbeitung natürlicher Sprache ermöglichen n-Gramme Bag-of-Words-Modellen, Wortreihenfolgeinformationen zu erfassen, die sonst verloren gehen würden. Eine traditionelle Bag-of-Words-Darstellung behandelt ein Dokument als eine ungeordnete Menge von Wörtern, aber n-Gramm-Features bewahren lokalen Kontext. Diese Fähigkeit ist für Aufgaben wie Sprachmodellierung, Rechtschreibkorrektur, maschinelle Übersetzung und Textklassifikation unerlässlich. N-Gramm-Sprachmodelle schätzen die Wahrscheinlichkeit eines Wortes gegeben die vorhergehenden n-1 Wörter und bilden die Grundlage für viele statistische Ansätze vor dem Aufstieg der neuronalen Netze.
Moderne große Sprachmodelle, die auf Transformer-Architekturen basieren, haben explizite n-Gramm-Modelle für viele Aufgaben weitgehend ersetzt, aber n-Gramme bleiben in Bereichen wie Autorschaftsattribution, Stylometrie und Bioinformatik relevant. Der Google Books Ngram Viewer, der die Häufigkeit von n-Grammen in Millionen digitalisierter Bücher darstellt, zeigt ihren anhaltenden Nutzen für kulturelle und linguistische Analysen.
Computerbiologie
In der Genomik werden k-Mere (das biologische Äquivalent zu n-Grammen) zur Analyse von DNA- und RNA-Sequenzen verwendet. Ein k-Mer ist eine zusammenhängende Teilsequenz der Länge k, und die k-Mer-Häufigkeitsanalyse ist eine Standardtechnik für Genomassemblierung, Sequenzalignment und Qualitätskontrolle. Beispielsweise verwenden Algorithmen für DNA-Sequenzierungsprojekte oft k-Mer-Verteilungen, um Fehler zu erkennen oder die Genomgröße zu schätzen. Die Wahl von k beeinflusst Sensitivität und Spezifität: Kleinere k-Mere sind häufiger, aber weniger spezifisch, während größere k-Mere eindeutigere Übereinstimmungen liefern, aber aufgrund von Sequenzierungsfehlern fehlen können.
Statistische Eigenschaften und Varianten
N-Gramm-Modelle können geglättet werden, um ungesehene Sequenzen zu behandeln, wobei Techniken wie Add-One-Smoothing oder fortgeschrittenere Methoden wie Kneser-Ney-Smoothing verwendet werden. Sie können auch nach Häufigkeit gewichtet werden, wie im Google-n-Gramm-Korpus zu sehen ist, das Zählungen für Phrasen wie „serve as the independent" (794 Vorkommen) oder „ceramics collectables fine" (130 Vorkommen) bereitstellt. Diese Häufigkeitsverteilungen ermöglichen probabilistische Vorhersagen und werden in Anwendungen von prädiktiver Texteingabe bis zur Spracherkennung verwendet.
Einschränkungen und Erweiterungen
Eine wesentliche Einschränkung von n-Grammen ist ihre Unfähigkeit, langreichweitige Abhängigkeiten jenseits der festen Fenstergröße zu erfassen. Eine Erhöhung von n verbessert den Kontext, führt aber zu Datenknappheit, da viele mögliche Sequenzen nie in den Trainingsdaten vorkommen. Um dies zu adressieren, haben Forscher Backoff-Modelle, Interpolation und neuronale Sprachmodelle entwickelt, die verteilte Repräsentationen lernen. Dennoch bleiben n-Gramme eine einfache, interpretierbare Basislinie und werden oft in hybriden Systemen zusammen mit Methoden des maschinellen Lernens verwendet.
Zusätzlich zu Text und Sprache wurden n-Gramme auf Musikanalyse angewendet, wo Sequenzen von Noten oder Akkorden als Elemente behandelt werden, sowie auf Netzwerksicherheit zur Erkennung von Anomalien in Paketsequenzen. Ihre Allgemeinheit macht sie zu einem vielseitigen Werkzeug in Disziplinen, die sich mit sequenziellen Daten befassen.
Siehe auch
- Künstliche Intelligenz
- Maschinelles Lernen
- Verarbeitung natürlicher Sprache
- statistical-model|Statistisches Modell
- google-books-ngram-viewer|Google Books Ngram Viewer