Sammeln Sie Erkenntnisse und bereichern Sie Ihre Textdaten mit dieser einfachen Technik.
N-Gramme sind ein grundlegendes Konzept im NLP, das sequentielle Muster im Textual content erfasst. Sie haben ein breites Anwendungsspektrum und liefern wertvolle Einblicke in den Sprachgebrauch und seine Struktur. Das „n“ in n-Gramm gibt die Anzahl der Token in der Sequenz an. Token sind eine bestimmte Anzahl von Zeichen. Ein Token kann ein ganzes Wort, eine Phrase oder eine Anzahl von Zeichen sein. Ein 2-Gramm (auch Bigramm genannt) besteht aus Paaren aufeinanderfolgender Token, ein 3-Gramm (Trigramm) besteht aus Drillingen aufeinanderfolgender Token und so weiter. Die Wahl von n hängt von der Aufgabe und dem zu analysierenden Textual content ab.
Beispiel für Bigramme für den Satz „der schnelle braune Fuchs“:
["the", "quick"], ["quick", "brown"], ["brown", "fox"]
N-Gramme erfassen lokale Muster im Textual content und liefern nützliche statistische Informationen über die Kombination von Wörtern oder Zeichen im Textual content. Durch die Analyse der Häufigkeiten von N-Grammen können Modelle Muster lernen, die Wahrscheinlichkeit bestimmter Wörter oder Phrasen vorhersagen und Textual content generieren, der den Eingabedaten ähnelt.
Eine häufige Anwendung von N-Grammen ist die Sprachmodellierung, bei der das Ziel darin besteht, das nächste Wort in einer Sequenz im vorherigen Kontext vorherzusagen.
N-Gramme werden auch bei Textklassifizierungsaufgaben verwendet, beispielsweise bei der Stimmungsanalyse oder der Spam-Erkennung.
Wir werden ein Beispiel für die Verwendung von N-Grammen mit Python erstellen, um besser zu verstehen, wie N-Gramme funktionieren und welche potenziellen Verwendungsmöglichkeiten sie haben.
Wie bereits erwähnt, wirft Bigrams einen Blick auf die beiden aufeinanderfolgenden Token (oder in unserem Fall Wörter) im gesamten Textual content.
# Create a perform to generate bigrams from textual content
def generate_bigrams(textual content):
# Cut up the textual content for every phrase
phrases = textual content.break up()
bigrams = []
# Iterate by the phrases
for i in vary(len(phrases) - 1):
# Append every bigram or 2 consecutive phrases as a tuple
bigrams.append((phrases[i], phrases[i + 1]))return bigrams
# Instance textual content
textual content = "That is an instance bigram use case in Python."
end result = generate_bigrams(textual content)
# Print every bigram
for bigram in end result:
print(bigram)
(‚Das ist‘)
(‚ist ein‘)
(‚ein Beispiel‘)
(„Beispiel“, „Bigramm“)
(„Bigramm“, „Verwendung“)
(‚Anwendungsfall‘)
(‚Fall‘, ‚in‘)
(‚in‘, ‚Python.‘)
Wir haben jetzt Bigramme für jeden Eingabetext generiert, und zwar in reinem Python!
Für dieses Beispiel verwenden wir NLTK.
Über NLTK
NLTK (Pure Language Toolkit) ist eine beliebte Python-Bibliothek für die Verarbeitung natürlicher Sprache (NLP). Es bietet verschiedene Funktionen, Klassen und Instruments für NLP-Aufgaben wie Tokenisierung, Stemming, Tagging von Wortarten usw.
# Library Imports
from nltk import ngrams# Instance utilization
textual content = "An instance n-gram use case in Python. This time utilizing nltk."
# Generate trigrams this time utilizing the NLTK ngrams perform
ngram_result = record(ngrams(textual content.break up(), 3))
# Print every ngram
for ngram in ngram_result:
print(ngram)
(„An“, „Beispiel“, „n-Gramm“)
(„Beispiel“, „n-Gramm“, „Verwendung“)
(’n-gram‘, ‚use‘, ‚case‘)
(„use“, „case“, „in“)
(‚case‘, ‚in‘, ‚Python.‘)
(‚in‘, ‚Python.‘, ‚This‘)
(‚Python.‘, ‚Dies‘, ‚Zeit‘)
(„Dies“, „Zeit“, „Verwendung“)
(„time“, „utilizing“, „nltk.“)
Dieses Mal haben wir Trigramme generiert, aber beachten Sie, wie viel weniger Code wir benötigen, wenn wir NLTK verwenden!
Die Stärke von N-Grammen liegt darin, dass sie als eine Type von Wahrscheinlichkeit oder Kontext verwendet werden. Sobald die N-Gramm generiert sind, können wir identifizieren, welche Sequenzen am beliebtesten sind, und die Wörter davor und danach identifizieren. Dadurch wird Ihr Textual content in eine umfassendere Type von Informationen umgewandelt, die er anschließend für Modelle oder andere NLP-Aufgaben bereitstellen kann.
Beispielsweise können wir aus unserem vorherigen Beispiel erkennen, dass das Wort „Python“ in 33 % der Fälle vorkommt. Durch die Verwendung der Informationen über Ihre N-Gramme werden Informationen zu einer breiten Palette von NLP-Aufgaben hinzugefügt, darunter Sprachmodellierung, Textgenerierung, Informationsabruf, maschinelle Übersetzung, Textklassifizierung und mehr.
Entdecken Sie, welche Informationen Ihr N-Grams Ihnen geben kann!
- Spielen Sie mit NLTK herum! Wie bereits erwähnt, ist NLTK eine leistungsstarke und beliebte NLP-Bibliothek in Python. Ich empfehle dringend, mehr darüber zu erfahren und herauszufinden, welche NLP-Aufgaben mit der Bibliothek erledigt werden können.
- Schauen Sie sich Themenmodellierung, Textklassifizierung und andere NLP-Themen an. Da große Sprachmodelle immer beliebter werden, ist es hilfreich, die Funktionsweise von NLP und die Entwicklung des Fachgebiets zu verstehen.
N-Gramme in der Verarbeitung natürlicher Sprache (Pure Language Processing, NLP) sind kontinuierliche Sequenzen von N Elementen (typischerweise Wörter), die lokale sprachliche Erkenntnisse erfassen und für verschiedene nachgelagerte Aufgaben wie Sprachmodellierung, Textgenerierung und Informationsabruf verwendet werden.