Le BERT peut-il être utilisé pour des tâches générant des phrases?


12

Je suis un nouvel apprenant en PNL. Je suis intéressé par la tâche de génération de phrases. En ce qui me concerne, une méthode de pointe est le CharRNN , qui utilise RNN pour générer une séquence de mots.

Cependant, BERT est sorti il ​​y a plusieurs semaines et est très puissant. Par conséquent, je me demande si cette tâche peut également être effectuée avec l'aide du BERT? Je suis un nouvel apprenant dans ce domaine, et merci pour tout conseil!


1
OpenAI GPT peut-il être utilisé pour cela? Je crois que OpenAI GPT a une architecture différente et est utilisé pour la génération de texte
Sandeep Bhutani

Je crois que CharRNN n'est certainement pas SOTA, en raison de la longueur limitée du contexte, de travailler à l'échelle des caractères. Au lieu de cela, il y a du travail sur les sous-mots et les encodages par paire d'octets
information_interchange

Réponses:


21

Pour les débutants, NON.

La génération de phrases nécessite un échantillonnage à partir d'un modèle de langage, qui donne la distribution de probabilité du mot suivant compte tenu des contextes précédents. Mais le BERT ne peut pas le faire en raison de sa nature bidirectionnelle.


Pour les chercheurs avancés, OUI.

Vous pouvez commencer par une phrase de tous les jetons [MASK] et générer des mots un par un dans un ordre arbitraire (au lieu de la décomposition en chaîne de gauche à droite). Bien que la qualité de génération de texte soit difficile à contrôler.

Voici le rapport technique BERT a une bouche, et il doit parler: BERT comme un modèle de langage de champ aléatoire Markov , ses errata et le code source .


En résumé:

  • Si vous souhaitez faire des recherches dans le domaine du décodage avec BERT, il y a un immense espace à explorer
  • Si vous souhaitez générer des textes de haute qualité, personnellement, je vous recommande de vérifier GPT-2 .

3

cette expérience de Stephen Mayhew suggère que BERT est moche à la génération séquentielle de texte:

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

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

Comme auparavant, j'ai masqué «faim» pour voir ce que le BERT prédirait. S'il pouvait le prédire correctement sans aucun bon contexte, nous pourrions être en bonne forme pour la génération.

Cela a échoué. Le BERT a prédit «beaucoup» comme dernier mot. C'est peut-être parce que le BERT pense que l'absence de règles signifie que la peine devrait continuer. Peut-être qu'il est tellement utilisé pour terminer des phrases qu'il se confond. Je ne suis pas sûr.

On pourrait dire que nous devrions continuer de prévoir après «beaucoup». Peut-être que cela va produire quelque chose de significatif. À cela, je dirais: d'abord, cela devait être un cadeau mort, et tout être humain prédirait «faim». Deuxièmement, je l'ai essayé, et il continue de prédire des trucs stupides. Après «beaucoup», le jeton suivant est «,».

Ainsi, au moins en utilisant ces méthodes triviales, BERT ne peut pas générer de texte.


2

Non. La génération de phrases est directement liée à la modélisation du langage (étant donné les mots précédents de la phrase, quel est le mot suivant). En raison de la bidirectionnalité de BERT, BERT ne peut pas être utilisé comme modèle de langage. S'il ne peut pas être utilisé comme modèle de langage, je ne vois pas comment générer une phrase en utilisant BERT.


1
Ma réponse n'est plus correcte. Vous voudrez peut-être accepter la réponse de
@soloice

1

Quelles options alternatives existent pour cela?

Non. La génération de phrases est directement liée à la modélisation du langage (étant donné les mots précédents de la phrase, quel est le mot suivant). En raison de la bidirectionnalité de BERT, BERT ne peut pas être utilisé comme modèle de langage. S'il ne peut pas être utilisé comme modèle de langage, je ne vois pas comment générer une phrase en utilisant BERT.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.