Was ist der Unterschied zwischen wortbasierten und zeichenbasierten Textgenerierungs-RNNs?


15

Beim Lesen über die Texterzeugung mit wiederkehrenden neuronalen Netzen ist mir aufgefallen, dass einige Beispiele implementiert wurden, um Text Wort für Wort und andere Zeichen für Zeichen zu erzeugen, ohne dass tatsächlich angegeben wurde, warum.

Was ist also der Unterschied zwischen RNN-Modellen, die Text pro Wort und Text pro Zeichen vorhersagen ? Benötigen wortbasierte RNN eine größere Korpusgröße? Verallgemeinern char-basierte RNN besser? Vielleicht ist der einzige Unterschied die Eingabedarstellung (One-Hot-Codierung, Worteinbettungen)? Welche für die Texterstellung auswählen?

Antworten:


15

Folgendes habe ich kürzlich gelernt.

Wenn wir über RNNs zur Textgenerierung sprechen, sprechen wir natürlich über RNN-Sprachmodelle. Bei Fragen zu wort- / zeichenbasierten RNNs für die Texterzeugung fragen wir nach wort- / zeichenbasierten RNN-Sprachmodellen (LM).

Wortbasierte LMs zeigen eine höhere Genauigkeit und geringeren Rechenaufwand als char-basierte LMs.

Dieser Leistungsabfall ist unwahrscheinlich, da das Modell auf Zeichenebene nur schwer längeres Kurzzeitgedächtnis erfassen kann, da auch die wiederkehrenden Netzwerke mit längerem Kurzzeitgedächtnis (Longer Short Term Memory, LSTM) besser mit wortbasierter Eingabe funktionieren.

Dies liegt daran, dass char-basierte RNN-LMs eine viel größere verborgene Schicht benötigen, um langfristige Abhängigkeiten erfolgreich zu modellieren. Dies bedeutet höhere Rechenkosten.

Deshalb können wir das sagen

Einer der grundlegenden Unterschiede zwischen den Modellen auf Wort- und Zeichenebene besteht in der Anzahl der Parameter, auf die das RNN während des Trainings und Tests zugreifen muss. Je kleiner die Eingabe- und Ausgabeschicht von RNN ist, desto größer muss die vollständig verbundene verborgene Schicht sein, was das Training des Modells teuer macht.

Allerdings char-basierte RNN LMs bessere Modell Sprachen mit einer reichen Morphologie wie Fertig stellen , Türkisch, Russisch usw. Mit wortbasierten RNN LMs solchen Sprachen zu modellieren sind schwierig , wenn überhaupt und wird nicht empfohlen.

Die obige Analyse ist besonders dann sinnvoll, wenn Sie sich den Ausgabetext ansehen, der von char-basierten RNNs generiert wird :

Die überraschten Anleger wollten kein Geld sammeln. Ich bin nicht die Firma mit der Zeit, da sind alle schnell interessant, müssen nicht gleich Programmierer aussteigen.

Während einfaches char-basiertes Maximum Likelihood LM mit einem 13-stelligen Fenster Folgendes liefert:

Und als sie viele feste Steine ​​machte. Er stapelte sie in Stapeln und stampfte mit den Füßen auf. Der Arzt diagnostizierte eine Fledermaus. Das Mädchen und ihr Freund fragten sie aus.

Natürlich habe ich das Beispiel ausgewählt (tatsächlich sahen die meisten ML-LM-Beispiele besser aus als alle bisher von RNN generierten Texte), und dieses kleine ML-LM wurde auf einem einfacheren Korpus trainiert, aber man kommt auf die Idee: Eine einfache bedingte Wahrscheinlichkeit wird besser generiert Texte als weitaus komplexere char-basierte RNN.

Char-basierte RNN LMs kann grammatisch korrekte Sequenzen für eine Vielzahl von Sprachen imitieren, erfordern größere verborgene Schicht und rechnerisch teurer , während wortbasierte RNN LMs schneller trainieren und erzeugt mehr zusammenhängende Texte und doch auch diese generierten Texte sind weit von den tatsächlichen Sinn machen .


1
Hervorragender Kommentar. Es sollte hinzugefügt werden, dass für einige Probleme das eine oder andere, unabhängig von rechnerischen Bedenken, sinnvoller sein kann. Wenn Sie beispielsweise Wortvektoren untersuchen möchten, um Zusammenhänge zwischen Wörtern zu finden, oder wenn Sie einen Text basierend auf einem Wortthema generieren möchten, müssen Sie sich für ein wortbasiertes RNN entscheiden. Und umgekehrt gibt es wahrscheinlich Probleme, bei denen char-basiertes RNN der richtige Weg ist. Dies hängt auch davon ab, was der Benutzer versucht.
Ricardo Cruz

Ich habe Ihren letzten Kommentar nicht verstanden: "Char-based RNN LM (...) ist nicht ausreichend sinnvoll." Ich habe auch kein wortbasiertes RNN gesehen, das Sinn ergibt. Warum haben Sie hier char-basierte Modelle isoliert?
Ricardo Cruz

Ich habe das mehrdeutige Ende aktualisiert.
Mineralien

Gute Antwort! Tatsächlich könnte jemand leicht hinzufügen, dass dies in hohem Maße von der jeweiligen Aufgabe, der Größe Ihres Datensatzes, den Sprachen und dem Grad der Vorverarbeitung abhängt, zu der Sie bereit sind. Beispielsweise können Sie zur Verarbeitung umfangreicherer Morphologiesprachen und zum Verwalten von OOV-Wörtern (Out of Vocabulary) auch das
Wortmodell

5

Es gibt einen schönen Artikel über die Sprachmodellierung von einer Milliarde Wörtern . Nachfolgend einige Auszüge:

Modelle auf Wortebene haben einen wichtigen Vorteil gegenüber Modellen auf Zeichenebene.
Nehmen Sie die folgende Sequenz als Beispiel (ein Zitat von Robert A. Heinlein):

Fortschritte machen Frühaufsteher nicht. Es wird von faulen Männern gemacht, die versuchen, einfachere Wege zu finden, um etwas zu tun.

Nach der Tokenisierung sieht das Wortmodell diese Sequenz möglicherweise als 22 Token enthaltend an. Auf der Zeichenebene wird diese Sequenz dagegen als 102 Token enthaltend angezeigt. Diese längere Sequenz macht die Aufgabe des Zeichenmodells schwieriger als das Wortmodell, da Abhängigkeiten zwischen mehr Token über mehr Zeitschritte berücksichtigt werden müssen. Ein weiteres Problem bei Zeichensprachenmodellen besteht darin, dass sie zusätzlich zu Syntax, Semantik usw. Rechtschreibung lernen müssen. In jedem Fall weisen Wortsprachenmodelle in der Regel einen geringeren Fehler auf als Zeichenmodelle

Der Hauptvorteil von Charakteren gegenüber wörtlichen Sprachmodellen besteht darin, dass sie ein sehr kleines Vokabular haben. Beispielsweise enthält der GBW-Datensatz ungefähr 800 Zeichen im Vergleich zu 800.000 Wörtern (nach dem Beschneiden von Token mit niedriger Frequenz). In der Praxis bedeutet dies, dass Zeichenmodelle weniger Speicher benötigen und eine schnellere Inferenz haben als ihre Wort-Gegenstücke. Ein weiterer Vorteil ist, dass sie keine Tokenisierung als Vorverarbeitungsschritt erfordern.


1

Meiner Meinung nach werden die zeichenbasierten RNNs auch eine bessere Leistung erbringen, benötigen jedoch viel mehr Daten als die wortbasierten Modelle und zeichenbasierten Modelle, die für einen viel längeren Zeitraum trainiert werden müssen. Ich würde sagen, es ist eher ein Versuch und Irrtum sowie ein Kompromiss zwischen verfügbaren Daten und Rechenleistung.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.