webentwicklung-frage-antwort-db.com.de

Wie ist die WordPiece-Tokenisierung hilfreich, um das Problem mit seltenen Wörtern in NLP effektiv zu lösen?

Ich habe gesehen, dass NLP-Modelle wie BERT WordPiece für die Tokenisierung verwenden. In WordPiece teilen wir die Token wie playing in play und ##ing. Es wird erwähnt, dass es ein breiteres Spektrum von OOV-Wörtern (Out-Of-Vocabulary) abdeckt. Kann mir bitte jemand helfen, zu erklären, wie die WordPiece-Tokenisierung tatsächlich durchgeführt wird und wie sie effektiv mit seltenen/OOV-Wörtern umgeht?

26
Harman

WordPiece und BPE sind zwei ähnliche und häufig verwendete Techniken, um Wörter in NLP-Aufgaben in Unterwortebenen zu segmentieren. In beiden Fällen wird das Vokabular mit allen einzelnen Zeichen in der Sprache initialisiert, und dann werden die häufigsten/wahrscheinlichsten Kombinationen der Symbole im Vokabular iterativ zum Vokabular hinzugefügt.

Betrachten Sie den WordPiece-Algorithmus aus dem Originalpapier (von mir leicht modifizierter Wortlaut):

  1. Initialisieren Sie das Inventar der Word-Einheiten mit allen Zeichen im Text.
  2. Erstellen Sie ein Sprachmodell aus den Trainingsdaten unter Verwendung des Inventars von 1.
  3. Generieren Sie eine neue Word-Einheit, indem Sie zwei Einheiten aus dem aktuellen Word-Inventar kombinieren, um das Word-Einheiten-Inventar um eins zu erhöhen. Wählen Sie die neue Word-Einheit aus allen möglichen aus, die die Wahrscheinlichkeit für die Trainingsdaten am meisten erhöhen, wenn sie dem Modell hinzugefügt werden.
  4. Gehe zu 2, bis eine vordefinierte Grenze von Worteinheiten erreicht ist oder der Wahrscheinlichkeitsanstieg unter einen bestimmten Schwellenwert fällt.

Der Algorithmus BPE unterscheidet sich nur in Schritt 3, in dem einfach die neue Worteinheit als Kombination des nächsthäufigsten Paares aus dem aktuellen Satz von Unterwörtern ausgewählt wird Einheiten.

Beispiel

Text eingeben: Sie ging. Er ist ein Hundewanderer. Ich laufe

Die ersten 3 BPE-Zusammenführungen:

  1. wa = wa
  2. lk = lk
  3. walk = walk

Zu diesem Zeitpunkt enthält Ihr Wortschatz also alle Anfangszeichen sowie wa, lk und walk. Normalerweise tun Sie dies für eine feste Anzahl von Zusammenführungsvorgängen.

Wie geht es mit seltenen/OOV-Wörtern um?

Ganz einfach, OOV-Wörter sind unmöglich, wenn Sie eine solche Segmentierungsmethode verwenden. Jedes Wort, das nicht im Wortschatz vorkommt, wird in Unterworteinheiten unterteilt. In ähnlicher Weise wird das Wort bei seltenen Wörtern nicht im Vokabular vorkommen, da die Anzahl der von uns verwendeten Unterwortzusammenführungen begrenzt ist, sodass es in häufigere Unterwörter aufgeteilt wird.

Wie hilft das?

Stellen Sie sich vor, das Modell sieht das Wort walking. Wenn dieses Wort nicht mindestens einige Male im Trainingskorpus vorkommt, kann das Modell nicht lernen, sehr gut mit diesem Wort umzugehen. Es kann jedoch die Wörter walked, walker, walks enthalten, die jeweils nur einige Male vorkommen. Ohne Unterwortsegmentierung werden alle diese Wörter vom Modell als völlig unterschiedliche Wörter behandelt.

Wenn diese jedoch als [email protected]@ ing, [email protected]@ ed Usw. segmentiert werden, beachten Sie, dass alle jetzt [email protected]@ Gemeinsam haben, was während des Trainings sehr häufig vorkommt, und Das Modell kann möglicherweise mehr darüber erfahren.

36
Proyag