BERT può essere utilizzato per attività generatrici di frasi?


12

Sono un nuovo studente in PNL. Sono interessato all'attività generatrice di frasi. Per quanto mi riguarda, un metodo all'avanguardia è il CharRNN , che utilizza RNN per generare una sequenza di parole.

Tuttavia, BERT è uscito diverse settimane fa ed è molto potente. Pertanto, mi chiedo se questo compito può essere svolto anche con l'aiuto di BERT? Sono un nuovo studente in questo campo e grazie per qualsiasi consiglio!


1
OpenAI GPT può essere utilizzato per questo? Credo che OpenAI GPT abbia un'architettura diversa e venga utilizzato per la generazione di testo
Sandeep Bhutani

Credo che CharRNN non sia sicuramente SOTA, a causa della limitata lunghezza del contesto, dal lavorare su scala di personaggi. Invece, c'è del lavoro su parole d'ordine e codifiche di coppie di byte
information_interchange il

Risposte:


21

Per i neofiti, NO.

La generazione della frase richiede il campionamento da un modello linguistico, che fornisce la distribuzione probabilistica della parola successiva dati i contesti precedenti. Ma il BERT non può farlo a causa della sua natura bidirezionale.


Per ricercatori avanzati, SÌ.

Puoi iniziare con una frase di tutti i token [MASK] e generare le parole una per una in ordine arbitrario (invece della comune decomposizione della catena da sinistra a destra). Sebbene la qualità di generazione del testo sia difficile da controllare.

Ecco il rapporto tecnico che BERT ha una bocca e deve parlare: BERT come Markov Random Field Language Model , i suoi errata e il codice sorgente .


In sintesi:

  • Se desideri fare qualche ricerca nell'area della decodifica con BERT, c'è un enorme spazio da esplorare
  • Se desideri generare testi di alta qualità, personalmente ti consiglio di controllare GPT-2 .

3

questo esperimento di Stephen Mayhew suggerisce che BERT è pessimo nella generazione sequenziale di testi:

http://mayhewsw.github.io/2019/01/16/can-bert-generate-text/

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

Come prima, ho mascherato "fame" per vedere cosa avrebbe predetto il BERT. Se fosse in grado di prevederlo correttamente senza alcun giusto contesto, potremmo essere in buona forma per la generazione.

Questo è fallito. BERT ha predetto "molto" come ultima parola. Forse questo perché BERT pensa che l'assenza di un punto significhi che la frase dovrebbe continuare. Forse è così usato per completare le frasi che viene confuso. Non ne sono sicuro.

Si potrebbe sostenere che dovremmo continuare a prevedere dopo "molto". Forse produrrà qualcosa di significativo. A questo direi: in primo luogo, questo doveva essere un omaggio morto e qualsiasi essere umano avrebbe predetto "fame". Secondo, l'ho provato e continua a prevedere cose stupide. Dopo "molto", il token successivo è ",".

Quindi, almeno usando questi metodi banali, BERT non può generare testo.



1

Quali opzioni alternative esistono per questo?

No. La generazione della frase è direttamente correlata alla modellizzazione del linguaggio (date le parole precedenti nella frase, qual è la parola successiva). A causa della bidirezionalità di BERT, BERT non può essere utilizzato come modello di linguaggio. Se non può essere utilizzato come modello di linguaggio, non vedo come sia possibile generare una frase usando BERT.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.