Ich lerne neu in NLP. Ich interessiere mich für die satzgenerierende Aufgabe. Für mich ist das CharRNN eine Methode nach dem Stand der Technik , bei der RNN zur Erzeugung einer Wortfolge verwendet wird.
Allerdings BERT hat vor einigen Wochen kommen und ist sehr mächtig. Daher frage ich mich, ob diese Aufgabe auch mit Hilfe von BERT erledigt werden kann? Ich bin ein neuer Lerner auf diesem Gebiet und danke Ihnen für jeden Rat!
Antworten:
Für Neulinge NEIN.
Die Satzerzeugung erfordert eine Stichprobe aus einem Sprachmodell, das die Wahrscheinlichkeitsverteilung des nächsten Wortes in früheren Kontexten angibt. BERT kann dies jedoch aufgrund seiner bidirektionalen Natur nicht.
Für fortgeschrittene Forscher JA.
Sie können mit einem Satz aller [MASK] -Token beginnen und Wörter einzeln in beliebiger Reihenfolge generieren (anstelle der üblichen Zerlegung der Kette von links nach rechts). Die Qualität der Texterzeugung ist jedoch schwer zu kontrollieren.
Hier ist der technische Bericht BERT hat einen Mund und es muss sprechen: BERT als Markov Random Field Language Model , seine Errata und den Quellcode .
Zusammenfassend:
quelle
Dieses Experiment von Stephen Mayhew legt nahe, dass BERT bei der sequentiellen Texterzeugung mies ist:
http://mayhewsw.github.io/2019/01/16/can-bert-generate-text/
quelle
Nein. Die Satzerzeugung steht in direktem Zusammenhang mit der Sprachmodellierung (angesichts der vorherigen Wörter im Satz, was ist das nächste Wort). Aufgrund der Bidirektionalität von BERT kann BERT nicht als Sprachmodell verwendet werden. Wenn es nicht als Sprachmodell verwendet werden kann, sehe ich nicht, wie Sie mit BERT einen Satz generieren können.
quelle
Welche alternativen Optionen gibt es dafür?
quelle