Byte-Paar-Kodierung

Bevor wir also Worteinbettungen erstellen, die Bedeutungsdarstellungen von Wörtern erzeugen und die Dimensionalität reduzieren, wie schaffen wir ein gutes Vokabular, das etwas von der Essenz in unserer Sprache einfängt. Es gibt verschiedene Sprachen auf der ganzen Welt und unterschiedliche Struktur zu jeder Sprache. Agglutinative Sprachen wie Türkisch agglutinieren (oben hinzufügen) jedes Wortes, um aus demselben Anfangswort eine andere Bedeutung zu erstellen. Ähnlich ist im Englischen der Suffixteil von smart – est est, wo er in vielen Wörtern verwendet werden kann.

Zum Beispiel haben wir in unserem Vokabular möglicherweise nicht das Wort loudest , aber möglicherweise das Wort loud , wenn es als loud- est die Einbettung von token wird eine Darstellung von est haben, so dass es eine Information für das Wort loudest .

In child findet ebenfalls eine ähnliche Struktur statt. Ein Kind muss nicht jedes Wort und seine Pluralform hören, um es zu verstehen. Nachdem das Kind viele Pluralformen von Objekten wie Autos, Bienen und anderen Objekten gehört hat, strukturiert es das Gehirn so, dass ein Kind, wenn es weiß, was ein Hut ist, das Wort Hüte nicht hören muss, um es zu verwenden. Sprachmodelle sollten auch den strukturellen Mechanismus unseres Vokabulars symbolisieren.

BPE hat zwei Vorteile es weiß, wie man mit unbekannten Wörtern umgeht und kann Bedeutung aus unbekannten Wörtern ableiten

Wie funktioniert es?

Wir brauchen eine Datei, die ein guter Vertreter der Sprache ist, die Sie tokenisieren möchten.

  1. Rufen Sie die .txt-Datei Teilen Sie jedes Wort in der Zeichenfolge auf und fügen Sie </w> am Ende jedes Wortes hinzu. Erstellen Sie ein Wörterbuch der Häufigkeit von Wörtern.

2. Erstellen Sie eine Funktion, die das Vokabular erhält und in jedem Wort im Vokabular jedes Wort in Zeichen aufteilt und ein Frequenzwörterbuch mit den meisten gepaarten Zeichen erstellt.

3. Während unseres Trainingsprozesses werden wir unseren Wortschatz ständig aktualisieren. Die Funktion merge_vocabulary ruft das alte Vokabelwörterbuch ab und aktualisiert es mit dem häufigsten Zeichenpaar.

4. Get Tokens werden später verwendet, um Eingabestrings zu tokenisieren

Erstellen des Vokabulars

Also nach dem Füttern unseres anfänglichen Vokabulars und der Häufigkeit der Wörter. Wir werden eine Schleife erstellen, die eine Tokenisierung aus dem Vokabular erstellt. Jede Iteration wird es das Zeichen finden, die zusammen auftritt, und fügen Sie sie in den Wortschatz.

Im Beispiel sagen wir, unser Vokabular ist

  • Wir fügen unser Ende des Wort-Tokens hinzu
  • Die anfänglichen Token sind
  • Wir gehen zum Vokabular und suchen nach Bigrammen und zählen die Häufigkeit von Bigrammen In diesem Fall ist es das ‚r‘ und ‚</w>‘ Wir aktualisieren wörterbuch
  • Wir fügen das neue Zeichen zu unserem Vokabular hinzu ‚r</w>‘

Sie entscheiden, wie viele Iterationen dies stattfinden soll. Es kann 10.000 oder 100 sein.000. Sie entscheiden, wie groß Ihr Wortschatz sein soll.

Kodierung und Dekodierung

Um den gegebenen Satz zu kodieren, müssen wir zuerst unser Token-Wörterbuch vom längsten Wort in das kürzeste Wort konvertieren. Wir fügen jedes Wort im Satz hinzu und fügen </w> am Ende des Wortes hinzu. Wir durchlaufen jedes Token und wenn der Teilstring des Wortes das Token enthält, setzen wir dieses Token als Tokenisierungsprozess ein. Dekodierung ist unsere Token gegeben wir verschmelzen das Wort nicht </w> und fügen Sie ‚ ‚, wenn das Wort </w> am Ende.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.