Was ist Tokenisierung?? Methoden zum Durchführen von Tokenisierung

Inhalt

Überblick

  • Möchten Sie mit der Verarbeitung natürlicher Sprache beginnen? (NLP)? Das ist der perfekte erste Schritt
  • Erfahren Sie, wie Sie Tokens erstellen, ein wichtiger Aspekt bei der Aufbereitung Ihrer Daten zur Erstellung von NLP-Modellen
  • Wir präsentieren 6 verschiedene Möglichkeiten zum Tokenisieren von Textdaten

Einführung

Fasziniert Sie die Fülle an Textdaten im Internet?? Sie suchen nach Möglichkeiten, mit diesen Textdaten zu arbeiten, wissen aber nicht, wo Sie anfangen sollen? Schließlich, Maschinen erkennen Zahlen, nicht die Buchstaben unserer Sprache. Und das kann eine schwierige Landschaft sein, um beim maschinellen Lernen zu navigieren..

Dann, Wie können wir diese Textdaten manipulieren und bereinigen, um ein Modell zu erstellen?? Die Antwort liegt in der wunderbaren Welt von Verarbeitung natürlicher Sprache (NLP).

Die Lösung eines NLP-Problems ist ein mehrstufiger Prozess. Wir müssen zuerst die unstrukturierten Textdaten bereinigen, bevor wir darüber nachdenken können, zur Modellierungsphase zu gelangen. Die Datenbereinigung besteht aus wenigen wichtigen Schritten:

  • Wort-Tokenisierung
  • Wortarten für jedes Token vorhersagen
  • Textstemmen
  • Stoppwörter erkennen und entfernen und vieles mehr.

comp-2-0_00_13_15-8303848

In diesem Artikel, Wir werden über den ersten Schritt sprechen: Tokenisierung. Wir werden zuerst sehen, was Tokenisierung ist und warum sie im NLP notwendig ist.. Später, Wir werden uns sechs einzigartige Möglichkeiten zur Tokenisierung in Python ansehen.

Dieser Artikel hat keine Voraussetzungen. Jeder, der sich für NLP oder Data Science interessiert, kann dem folgen. Wenn Sie nach einer umfassenden Ressource zum Erlernen von NLP suchen, Sie sollten unseren umfassenden Kurs konsultieren:

Inhaltsverzeichnis

  • Was ist Tokenisierung im NLP?
  • Warum ist die Tokenisierung erforderlich??
  • Verschiedene Methoden zur Durchführung der Tokenisierung in Python
    • Tokenisierung mit der Split-Funktion () von Python
    • Tokenisierung mit regulären Ausdrücken
    • Tokenisierung mit NLTK
    • Tokenisierung mit Spacy
    • Tokenisierung mit Keras
    • Tokenisierung mit Gensim

Was ist Tokenisierung im NLP?

Die Tokenisierung ist eine der häufigsten Aufgaben beim Arbeiten mit Textdaten. Aber, Was bedeutet der Begriff "Tokenisierung" wirklich??

Die Tokenisierung besteht im Wesentlichen darin, eine Phrase zu teilen, Gebet, Absatz oder ein Volltextdokument in kleineren Einheiten, als einzelne Wörter oder Begriffe. Jede dieser kleineren Einheiten wird Token genannt.

Sehen Sie sich das Bild unten an, um diese Definition zu visualisieren:

screenshot-from-2019-07-05-13-50-56-1778299

Token können Worte sein, Zahlen oder Satzzeichen. In Tokenisierung, kleinere Einheiten werden durch das Auffinden von Wortgrenzen erzeugt. Warten, Was sind die Grenzen von Wörtern?

Dies sind der Endpunkt eines Wortes und der Anfang des nächsten. Diese Token gelten als erster Schritt für die Ableitung und das Stemming (die nächste Stufe der Textvorverarbeitung, die wir im nächsten Artikel behandeln werden).

Schwer? Mach dir keine Sorgen! Das 21. Jahrhundert hat den Zugang zu Lernen und Wissen erleichtert. Jeder Kurs zur Verarbeitung natürlicher Sprache kann verwendet werden, um sie leicht zu lernen.

Warum ist in NLP eine Tokenisierung erforderlich??

Ich möchte, dass du hier in englischer Sprache denkst. Wählen Sie einen Satz aus, der Ihnen in den Sinn kommt, und denken Sie daran, wenn Sie diesen Abschnitt lesen. Dies wird Ihnen helfen, die Bedeutung der Tokenisierung viel einfacher zu verstehen.

Vor der Verarbeitung einer natürlichen Sprache, wir müssen die identifizieren Wörter die eine Zeichenfolge darstellen. Deshalb bist duOkenisierung ist der grundlegendste Schritt, um mit NLP fortzufahren (Textdaten). Dies ist wichtig, da die Bedeutung des Textes durch die Analyse der im Text vorhandenen Wörter leicht interpretiert werden könnte..

Nehmen wir ein Beispiel. Betrachten Sie die folgende Zeichenfolge:

“Das ist eine Katze.”

Was glauben Sie, wird passieren, nachdem wir diese Kette tokenisiert haben?? Wir erhalten ['Dies', 'ist', 'ein', Katze'].

Dafür gibt es zahlreiche Einsatzmöglichkeiten. Wir können dieses tokenisierte Formular verwenden, um:

  • Zähle die Anzahl der Wörter im Text.
  • Zähle die Häufigkeit des Wortes, nämlich, wie oft ein bestimmtes Wort vorkommt.

Und so weiter. Wir können viel mehr Informationen extrahieren, die wir in zukünftigen Artikeln ausführlich besprechen werden.. Zur Zeit, Es ist an der Zeit, in das Wesentliche dieses Artikels einzutauchen: die verschiedenen Methoden zur Tokenisierung in NLP.

Methoden zur Tokenisierung in Python

Wir werden uns sechs einzigartige Möglichkeiten ansehen, wie wir Textdaten tokenisieren können. Ich habe den Python-Code für jede Methode bereitgestellt, damit Sie ihn auf Ihrem eigenen Computer verfolgen können.

1. Tokenisierung mit der Split-Funktion () von Python

Beginnen wir mit dem auseinander brechen() Methode, da es die einfachste ist. Gibt eine Liste von Strings zurück, nachdem der angegebene String durch das angegebene Trennzeichen geteilt wurde. Standardmäßig, Teilt () breche eine Kette in jedem Raum. Wir können das Trennzeichen in alles ändern. Wir werden sehen.

Wort-Tokenisierung

Ausgabe : ['Gegründet', 'in', '2002', 'SpaceX's', 'Mission', 'ist', 'zu', 'aktivieren', 'Menschen', 
          'zu', 'werden', 'ein', 'Raumfahrt', 'Zivilisation', 'und', 'ein', 'Mehrplaneten', 
          'Spezies', 'von', 'Gebäude', 'ein', 'selbständig', 'Stadt', 'An', 'Mars.', 'In', 
          '2008', 'SpaceX's', 'Falke', '1', 'wurden', 'das', 'Erste', 'privat', 
          'entwickelten', 'flüssigen Brennstoff', 'Start', 'Fahrzeug', 'zu', 'Orbit', 'das', 'Erde.']

Anweisungs-Tokenisierung

Dies ist vergleichbar mit der Wort-Tokenisierung. Hier, Wir studieren die Struktur von Sätzen in der Analyse. Ein Satz endet normalerweise mit einem Punkt (.), Für was wir verwenden können “.” als Trenner um das Seil zu brechen:

Ausgabe : ['Gegründet in 2002, Die Mission von SpaceX ist es, den Menschen zu ermöglichen, ein Weltraumfahrer zu werden
           Zivilisation und eine Multi-Planet-N-Spezies durch den Bau einer selbsttragenden Stadt auf
           Mars', 
          'In 2008, Der Falke von SpaceX 1 wurde der erste privat entwickelte Flüssigkraftstoff
           Trägerrakete, um die Erde zu umkreisen.']

Ein großer Nachteil bei der Verwendung von Python auseinander brechen() Die Methode ist, dass wir jeweils nur ein Trennzeichen verwenden können. Noch was zu beachten: in Wort-Tokenisierung, auseinander brechen() betrachtete Satzzeichen nicht als eigenständiges Symbol.

2. Tokenisierung mit regulären Ausdrücken (RegEx)

Zuerst, Lassen Sie uns verstehen, was ein regulärer Ausdruck ist. Grundsätzlich, ist eine spezielle Zeichenfolge, die Ihnen hilft, andere Zeichenfolgen oder Zeichenfolgengruppen zu finden oder zu finden, indem Sie diese Zeichenfolge als Muster verwenden.

Wir können die nutzen betreffend Python-Bibliothek zum Arbeiten mit regulären Ausdrücken. Diese Bibliothek ist mit dem Python-Installationspaket vorinstalliert.

Jetzt, Lassen Sie uns Wort-Tokenisierung und Satz-Tokenisierung durchführen, wobei wir die Regex im Hinterkopf behalten.

Wort-Tokenisierung

Ausgabe : ['Gegründet', 'in', '2002', 'SpaceX', 'S', 'Mission', 'ist', 'zu', 'aktivieren', 
          'Menschen', 'zu', 'werden', 'ein', 'Raumfahrt', 'Zivilisation', 'und', 'ein', 
          'mehrfach', 'Planet', 'Spezies', 'von', 'Gebäude', 'ein', 'selbst', 'unterhalten', 
          'Stadt', 'An', 'Mars', 'In', '2008', 'SpaceX', 'S', 'Falke', '1', 'wurden', 
          'das', 'Erste', 'privat', 'entwickelten', 'flüssig', 'Kraftstoff', 'Start', 'Fahrzeug', 
          'zu', 'Orbit', 'das', 'Erde']

das wiederfinden () Die Funktion findet alle Wörter, die dem übergebenen Muster entsprechen und speichert sie in der Liste.

Das “w"Repräsentiert" ein beliebiges Wortzeichen "was normalerweise alphanumerisch bedeutet (Briefe, Zahlen) und unterstreichen (_). ‘+’ bedeutet beliebig oft. Dann [w’]+ gibt an, dass der Code alle alphanumerischen Zeichen finden soll, bis ein anderes Zeichen gefunden wird.

screenshot-from-2019-07-05-13-31-01-1727408

Anweisungs-Tokenisierung

Um eine Satz-Tokenisierung durchzuführen, wir können das gebrauchen re.split () Funktion. Dadurch wird der Text in Sätze unterteilt, indem ihm ein Muster übergeben wird.

Ausgabe : ['Gegründet in 2002, Die Mission von SpaceX ist es, den Menschen zu ermöglichen, ein Weltraumfahrer zu werden
           Zivilisation und eine Multi-Planet-N-Spezies durch den Bau einer selbsttragenden Stadt auf
           Mars.', 
          'In 2008, Der Falke von SpaceX 1 wurde der erste privat entwickelte Flüssigkraftstoff
           Trägerrakete, um die Erde zu umkreisen.']

Hier, wir sind ihm gegenüber im Vorteil auseinander brechen() -Methode, da wir mehrere Trennzeichen gleichzeitig übergeben können. Im obigen Code, wir nehmen das neu kompilieren () Funktion, in der wir passieren [.?!]. Das bedeutet, dass die Sätze geteilt werden, sobald eines dieser Zeichen gefunden wird.

Möchten Sie mehr über den regulären Ausdruck erfahren?? Die folgenden Ressourcen helfen Ihnen bei den ersten Schritten mit regulären Ausdrücken in NLP:

3. Tokenisierung mit NLTK

Jetzt, Dies ist eine Bibliothek, die Sie schätzen werden, je mehr Sie mit Textdaten arbeiten. NLTK, Abkürzung für Natural Language ToolKit, ist eine in Python geschriebene Bibliothek für die symbolische und statistische Verarbeitung natürlicher Sprache.

Sie können NLTK mit dem folgenden Code installieren:

pip install --user -U nltk

NLTK enthält ein Modul namens tokenizar () die ebenfalls in zwei Unterkategorien unterteilt ist:

  • Wort-Tokenisierung: Wir verwenden die Methode word_tokenize () einen Satz in Zeichen oder Wörter unterteilen
  • Tokenisierung des Satzes: Wir verwenden die Methode sent_tokenize () ein Dokument oder einen Absatz in Sätze aufteilen

Sehen wir uns beide einzeln an.

Wort-Tokenisierung

Ausgabe: ['Gegründet', 'in', '2002', ',', 'SpaceX', ''', 'S', 'Mission', 'ist', 'zu', 'aktivieren', 
         'Menschen', 'zu', 'werden', 'ein', 'Raumfahrt', 'Zivilisation', 'und', 'ein', 
         'Mehrplaneten', 'Spezies', 'von', 'Gebäude', 'ein', 'selbständig', 'Stadt', 'An', 
         'Mars', '.', 'In', '2008', ',', 'SpaceX', ''', 'S', 'Falke', '1', 'wurden', 
         'das', 'Erste', 'privat', 'entwickelten', 'flüssigen Brennstoff', 'Start', 'Fahrzeug', 
         'zu', 'Orbit', 'das', 'Erde', '.']

Anweisungs-Tokenisierung

Ausgabe: ['Gegründet in 2002, Die Mission von SpaceX ist es, den Menschen zu ermöglichen, ein Weltraumfahrer zu werden
          Zivilisation und eine Multi-Planet-N-Spezies durch den Bau einer selbsttragenden Stadt auf
          Mars.', 
         'In 2008, Der Falke von SpaceX 1 wurde der erste privat entwickelte Flüssigkraftstoff
          Trägerrakete, um die Erde zu umkreisen.']

4. Tokenisierung mit der spaCy-Bibliothek

Ich liebe die SpaCy-Bibliothek. Ich kann mich nicht erinnern, wann ich es das letzte Mal nicht benutzt habe, als ich an einem NLP-Projekt arbeitete. Es ist so nützlich.

spaCy ist ein Open-Source-Bibliothek für Fortgeschrittene Verarbeitung natürlicher Sprache (PNL). Unterstützt mehr als 49 Sprachen und bietet modernste Rechengeschwindigkeit.

spacig-2586479

So installieren Sie Spacy unter Linux:

pip install -U spacy
python -m spacy herunterladen de

Um es auf anderen Betriebssystemen zu installieren, gehe zu dieser Link.

Dann, Sehen wir uns an, wie wir das Genie von spaCy für die Tokenisierung nutzen können. wir werden verwenden spacy.lang.de das unterstützt die englische sprache.

Wort-Tokenisierung

Ausgabe : ['Gegründet', 'in', '2002', ',', 'SpaceX', ''S', 'Mission', 'ist', 'zu', 'aktivieren', 
          'Menschen', 'zu', 'werden', 'ein', 'Raumfahrt', 'Zivilisation', 'und', 'ein', 
          'mehrfach', '-', 'Planet', 'n', 'Spezies', 'von', 'Gebäude', 'ein', 'selbst', '-', 
          'unterhalten', 'Stadt', 'An', 'Mars', '.', 'In', '2008', ',', 'SpaceX', ''S', 
          'Falke', '1', 'wurden', 'das', 'Erste', 'privat', 'entwickelten', 'n', 
          'flüssig', '-', 'Kraftstoff', 'Start', 'Fahrzeug', 'zu', 'Orbit', 'das', 'Erde', '.']

Anweisungs-Tokenisierung

Ausgabe : ['Gegründet in 2002, Die Mission von SpaceX ist es, den Menschen zu ermöglichen, ein Weltraumfahrer zu werden
           Zivilisation und eine Multi-Planet-N-Spezies durch den Bau einer selbsttragenden Stadt auf
           Mars.', 
          'In 2008, Der Falke von SpaceX 1 wurde der erste privat entwickelte Flüssigkraftstoff
           Trägerrakete, um die Erde zu umkreisen.']

spaCy ist im Vergleich zu anderen Bibliotheken bei NLP-Aufgaben ziemlich schnell (Jawohl, sogar NLTK). Ich ermutige Sie, den folgenden DataHack Radio-Podcast zu hören, um die Geschichte hinter der Entstehung von spaCy zu erfahren und wo Sie es verwenden können.:

Und hier ist ein ausführliches Tutorial für den Einstieg in spaCy:

5. Tokenisierung mit Keras

Schwer! Eines der derzeit beliebtesten Deep-Learning-Frameworks in der Branche. Es ist eine Open-Source-Bibliothek für neuronale Netze für Python. Keras ist sehr einfach zu bedienen und kann auch auf TensorFlow ausgeführt werden.

Im Rahmen von NLP, Wir können Keras verwenden, um die unstrukturierten Textdaten zu bereinigen, die wir normalerweise sammeln.

keras_tokenization-4173569

Sie können Keras mit nur einer Codezeile auf Ihrem Computer installieren:

pip installieren Hard

Lass uns zur Arbeit gehen. So führen Sie eine Wort-Tokenisierung mit Keras . durch, wir nehmen das text_to_word_sequence Methode von keras.preprocessing.text Klasse.

Lass uns Keras in Aktion sehen.

Wort-Tokenisierung

Ausgabe : ['Gegründet', 'in', '2002', 'spacex', 'Mission', 'ist', 'zu', 'aktivieren', 'Menschen', 
          'zu', 'werden', 'ein', 'Raumfahrt', 'Zivilisation', 'und', 'ein', 'mehrfach', 
          'Planet', 'Spezies', 'von', 'Gebäude', 'ein', 'selbst', 'unterhalten', 'Stadt', 'An', 
          'Mars', 'in', '2008', 'spacex', 'Falke', '1', 'wurden', 'das', 'Erste', 
          'privat', 'entwickelten', 'flüssig', 'Kraftstoff', 'Start', 'Fahrzeug', 'zu', 'Orbit', 
          'das', 'Erde']

Keras reduziert die Box aller Alphabete, bevor er sie tokenisiert. Das spart uns einiges an Zeit, wie Sie sich vorstellen können!!

6. Tokenisierung mit Gensim

Die letzte Tokenisierungsmethode, die wir hier behandeln, ist die Verwendung der Gensim-Bibliothek. Es ist eine Open-Source-Bibliothek für die unbeaufsichtigte Themenmodellierung und die Verarbeitung natürlicher Sprache. und wurde entwickelt, um automatisch semantische Themen aus einem bestimmten Dokument zu extrahieren.

So installieren Sie Gensim:

pip install gensim

Wir können die nutzen gensim.utils Klasse zum Importieren der tokenizar Methode zum Durchführen von Wort-Tokenisierung.

Wort-Tokenisierung

Ausgang : ['Gegründet', 'in', 'SpaceX', 'S', 'Mission', 'ist', 'zu', 'aktivieren', 'Menschen', 'zu', 
          'werden', 'ein', 'Raumfahrt', 'Zivilisation', 'und', 'ein', 'mehrfach', 'Planet', 
          'Spezies', 'von', 'Gebäude', 'ein', 'selbst', 'unterhalten', 'Stadt', 'An', 'Mars', 
          'In', 'SpaceX', 'S', 'Falke', 'wurden', 'das', 'Erste', 'privat', 
          'entwickelten', 'flüssig', 'Kraftstoff', 'Start', 'Fahrzeug', 'zu', 'Orbit', 'das', 
          'Erde']

Anweisungs-Tokenisierung

Um eine Satz-Tokenisierung durchzuführen, wir nehmen das split_sätze Methode von gensim.summerization.texttcleaner Klasse:

Ausgabe : ['Gegründet in 2002, Die Mission von SpaceX ist es, den Menschen zu ermöglichen, ein Weltraumfahrer zu werden
           Zivilisation und ein Multi-Planet ', 
          'Arten durch den Bau einer sich selbst tragenden Stadt auf dem Mars.', 
          'In 2008, Der Falke von SpaceX 1 wurde der erste privat entwickelte ', 
          'Trägerrakete mit flüssigem Treibstoff, um die Erde zu umkreisen.']

Sie haben vielleicht bemerkt, dass Gensim in Bezug auf Satzzeichen ziemlich streng ist. Teilt jedes Mal, wenn eine Punktzahl gefunden wird. Auch bei der Satzteilung, Gensim hat den Text tokenisiert, indem es gefunden wurde ” n” während andere Bibliotheken es ignorierten.

Abschließende Anmerkungen

Tokenisierung ist ein kritischer Schritt in der gesamten Pipeline von NLP. Wir können nicht einfach zum Build-Teil des Modells springen, ohne zuerst den Text zu bereinigen.

In diesem Artikel, wir haben sechs verschiedene Methoden der Tokenisierung gesehen (Wort und Satz) eines bestimmten Textes. Es gibt auch andere Möglichkeiten, Aber sie sind gut genug, um dir den Einstieg zu erleichtern.

Ich werde andere Schritte zur Textbereinigung behandeln, wie das Entfernen von Stoppwörtern, Wortarten markieren und benannte Entitäten in meinen zukünftigen Beiträgen erkennen. Bis dann, Lerne weiter!

Abonniere unseren Newsletter

Wir senden Ihnen keine SPAM-Mail. Wir hassen es genauso wie du.