Soy un nuevo alumno en PNL. Estoy interesado en la tarea de generación de oraciones. En lo que a mí respecta, un método de vanguardia es el CharRNN , que utiliza RNN para generar una secuencia de palabras.
Sin embargo, BERT salió hace varias semanas y es muy poderoso. Por lo tanto, me pregunto si esta tarea también se puede hacer con la ayuda de BERT. Soy un nuevo alumno en este campo, y gracias por cualquier consejo.
Respuestas:
Para los novatos, NO.
La generación de oraciones requiere un muestreo de un modelo de lenguaje, que proporciona la distribución de probabilidad de la siguiente palabra en contextos previos. Pero BERT no puede hacer esto debido a su naturaleza bidireccional.
Para investigadores avanzados, SÍ.
Puede comenzar con una oración de todos los tokens [MASK] y generar palabras una por una en orden arbitrario (en lugar de la descomposición de cadena de izquierda a derecha común). Aunque la calidad de generación de texto es difícil de controlar.
Aquí está el informe técnico BERT tiene una boca, y debe hablar: BERT como un modelo de lenguaje de campo aleatorio de Markov , sus erratas y el código fuente .
En resumen:
fuente
Este experimento de Stephen Mayhew sugiere que BERT es pésimo en la generación secuencial de texto:
http://mayhewsw.github.io/2019/01/16/can-bert-generate-text/
fuente
No. La generación de oraciones está directamente relacionada con el modelado del lenguaje (dadas las palabras anteriores en la oración, cuál es la siguiente palabra). Debido a la bidireccionalidad de BERT, BERT no puede usarse como modelo de lenguaje. Si no se puede usar como modelo de lenguaje, no veo cómo puede generar una oración usando BERT.
fuente
¿Qué opciones alternativas existen para esto?
fuente