NLTK Tokenize: Tokenizer für Wörter und Sätze mit Beispiel
Was ist Tokenisierung?
Tokenisierung ist der Prozess, bei dem eine große Textmenge in kleinere Teile, sogenannte Token, aufgeteilt wird. Diese Token sind sehr nützlich zum Auffinden von Mustern und gelten als Basisschritt für die Stammbildung und Lemmatisierung. Die Tokenisierung hilft auch dabei, sensible Datenelemente durch nicht sensible Datenelemente zu ersetzen.
Die Verarbeitung natürlicher Sprache wird zum Erstellen von Anwendungen wie der Textklassifizierung verwendet. intelligenter Chatbot, sentimentale Analyse, Sprachübersetzung usw. Es ist wichtig, das Muster im Text zu verstehen, um den oben genannten Zweck zu erreichen.
Machen Sie sich vorerst keine Gedanken über Stemming und Lemmatisierung, sondern betrachten Sie sie als Schritte zur Textdatenbereinigung mithilfe von NLP (Natural Language Processing). Wir werden Stemming und Lemmatisierung später im Tutorial besprechen. Aufgaben wie Textklassifizierung oder Spam-Filterung nutzt NLP zusammen mit Deep-Learning-Bibliotheken wie Keras und Tensorflow.
Das Natural Language Toolkit verfügt über ein sehr wichtiges Modul NLTK tokenisieren Sätze, die außerdem aus Untermodulen bestehen
- Wort tokenisieren
- Satz tokenisieren
Tokenisierung von Wörtern
Wir verwenden die Methode word_tokenize() einen Satz in Wörter zerlegen. Die Ausgabe der Wort-Tokenisierung kann für ein besseres Textverständnis in maschinellen Lernanwendungen in einen Datenrahmen konvertiert werden. Es kann auch als Eingabe für weitere Schritte zur Textbereinigung bereitgestellt werden, z. B. zum Entfernen von Satzzeichen, zum Entfernen numerischer Zeichen oder zum Entfernen von Wortstämmen. Modelle für maschinelles Lernen benötigen numerische Daten, um trainiert zu werden und eine Vorhersage zu treffen. Die Wort-Tokenisierung wird zu einem entscheidenden Teil der Konvertierung von Text (Zeichenfolge) in numerische Daten. Bitte lesen Sie darüber Bag of Words oder CountVectorizer. Um die Theorie besser zu verstehen, lesen Sie bitte das folgende Beispiel für die Wort-Tokenisierung von NLTK.
from nltk.tokenize import word_tokenize text = "God is Great! I won a lottery." print(word_tokenize(text)) Output: ['God', 'is', 'Great', '!', 'I', 'won', 'a', 'lottery', '.']
Code Erklärung
- Das Modul „word_tokenize“ wird aus der NLTK-Bibliothek importiert.
- Eine Variable „text“ wird mit zwei Sätzen initialisiert.
- Die Textvariable wird im Modul word_tokenize übergeben und das Ergebnis gedruckt. Dieses Modul unterbricht jedes Wort mit Satzzeichen, die Sie in der Ausgabe sehen können.
Tokenisierung von Sätzen
Das dafür verfügbare Untermodul ist sent_tokenize. Eine offensichtliche Frage in Ihrem Kopf wäre Warum eine Satz-Tokenisierung erforderlich ist, wenn wir die Möglichkeit der Wort-Tokenisierung haben. Stellen Sie sich vor, Sie müssten die durchschnittlichen Wörter pro Satz zählen. Wie berechnen Sie das? Um eine solche Aufgabe zu erfüllen, benötigen Sie sowohl einen NLTK-Satz-Tokenizer als auch einen NLTK-Wort-Tokenizer, um das Verhältnis zu berechnen. Eine solche Ausgabe ist ein wichtiges Merkmal für das maschinelle Training, da die Antwort numerisch wäre.
Sehen Sie sich das folgende NLTK-Tokenizer-Beispiel an, um zu erfahren, wie sich die Satz-Tokenisierung von der Wort-Tokenisierung unterscheidet.
from nltk.tokenize import sent_tokenize text = "God is Great! I won a lottery." print(sent_tokenize(text)) Output: ['God is Great!', 'I won a lottery ']
Unser Teram besteht aus 12 Worte und zwei Sätze für die gleiche Eingabe.
Erläuterung des Programms
- Importieren Sie in einer Zeile wie im vorherigen Programm das Modul sent_tokenize.
- Wir haben den gleichen Satz genommen. Ein weiterer Satz-Tokenizer im NLTK-Modul analysiert diese Sätze und zeigt die Ausgabe an. Es ist klar, dass diese Funktion jeden Satz unterbricht.
Obiger Wort-Tokenizer Python Beispiele sind gute Grundsteine, um die Mechanismen der Wort- und Satz-Tokenisierung zu verstehen.
Zusammenfassung
- Tokenisierung in NLP ist der Prozess, bei dem eine große Textmenge in kleinere Teile, sogenannte Token, aufgeteilt wird.
- Die Verarbeitung natürlicher Sprache wird zum Erstellen von Anwendungen wie Textklassifizierung, intelligenten Chatbots, Sentimentanalysen, Sprachübersetzungen usw. verwendet.
- Das Natural Language Toolkit verfügt über ein sehr wichtiges NLTK-Modul zur Tokenisierung von Sätzen, das außerdem aus Untermodulen besteht
- Wir verwenden die Methode word_tokenize(), um einen Satz in Wörter aufzuteilen. Die Ausgabe des Wort-Tokenizers in NLTK kann für ein besseres Textverständnis in maschinellen Lernanwendungen in einen Datenrahmen konvertiert werden.
- Das dafür verfügbare Untermodul ist sent_tokenize. Satz-Tokenizer in Python NLTK ist eine wichtige Funktion für das Maschinentraining.