Kann BERT für satzgenerierende Aufgaben verwendet werden?


11

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!


1
Kann OpenAI GPT dafür verwendet werden? Ich glaube, OpenAI GPT hat eine andere Architektur und wird für die
Texterzeugung

Ich glaube, dass CharRNN aufgrund der begrenzten Kontextlänge definitiv keine SOTA ist, wenn man auf der Skala von Charakteren arbeitet. Stattdessen wird an Unterwörtern und Bytepaar-Codierungen gearbeitet
information_interchange

Antworten:


21

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:

  • Wenn Sie mit BERT recherchieren möchten, gibt es einen riesigen Raum zum Erkunden
  • Wenn Sie qualitativ hochwertige Texte erstellen möchten, empfehle ich Ihnen persönlich, GPT-2 zu überprüfen .

3

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/

although he had already eaten a large meal, he was still very hungry

Nach wie vor maskierte ich „hungrig“, um zu sehen, was BERT vorhersagen würde. Wenn es es ohne richtigen Kontext richtig vorhersagen könnte, wären wir möglicherweise in guter Verfassung für die Generierung.

Dies ist fehlgeschlagen. BERT sagte als letztes Wort „viel“ voraus. Vielleicht liegt dies daran, dass BERT der Meinung ist, dass das Fehlen eines Punktes bedeutet, dass der Satz fortgesetzt werden sollte. Vielleicht wird es nur so verwendet, um Sätze zu vervollständigen, dass es verwirrt wird. Ich bin mir nicht sicher.

Man könnte argumentieren, dass wir nach „viel“ weiter vorhersagen sollten. Vielleicht wird es etwas Sinnvolles hervorbringen. Dazu würde ich sagen: Erstens sollte dies ein totes Werbegeschenk sein, und jeder Mensch würde „hungrig“ vorhersagen. Zweitens habe ich es versucht und es sagt immer wieder dummes Zeug voraus. Nach "viel" ist das nächste Token ",".

Zumindest mit diesen trivialen Methoden kann BERT keinen Text generieren.



1

Welche alternativen Optionen gibt es dafür?

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.

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.