stringtranslate.com

Generación de lenguaje natural

La generación de lenguaje natural ( NLG , por sus siglas en inglés) es un proceso de software que produce un resultado en lenguaje natural . Una encuesta ampliamente citada sobre los métodos de NLG describe a esta última como "el subcampo de la inteligencia artificial y la lingüística computacional que se ocupa de la construcción de sistemas informáticos que puedan producir textos comprensibles en inglés u otros idiomas humanos a partir de alguna representación no lingüística subyacente de información". [1]

Si bien existe un amplio consenso en que el resultado de cualquier proceso NLG es texto, existe cierto desacuerdo sobre si las entradas de un sistema NLG deben ser no lingüísticas. [2] Las aplicaciones comunes de los métodos NLG incluyen la producción de diversos informes, por ejemplo, informes meteorológicos [3] y de pacientes; [4] subtítulos de imágenes; [5] y chatbots .

La NLG automatizada se puede comparar con el proceso que utilizan los humanos cuando convierten sus ideas en texto escrito o hablado. Los psicolingüistas prefieren el término producción de lenguaje para este proceso, que también se puede describir en términos matemáticos o modelar en una computadora para la investigación psicológica. Los sistemas NLG también se pueden comparar con los traductores de lenguajes informáticos artificiales, como los descompiladores o transpiladores , que también producen código legible para humanos generado a partir de una representación intermedia . Los lenguajes humanos tienden a ser considerablemente más complejos y permiten mucha más ambigüedad y variedad de expresión que los lenguajes de programación, lo que hace que la NLG sea más desafiante.

La NLG puede considerarse complementaria a la comprensión del lenguaje natural (NLU): mientras que en la comprensión del lenguaje natural el sistema necesita desambiguar la oración de entrada para producir el lenguaje de representación de la máquina, en la NLG el sistema necesita tomar decisiones sobre cómo poner una representación en palabras. Las consideraciones prácticas al construir sistemas NLU y NLG no son simétricas. La NLU necesita lidiar con la entrada ambigua o errónea del usuario, mientras que las ideas que el sistema quiere expresar a través de la NLG generalmente se conocen con precisión. La NLG necesita elegir una representación textual específica y autoconsistente de muchas representaciones potenciales, mientras que la NLU generalmente intenta producir una única representación normalizada de la idea expresada. [6]

La NLG existe desde que se desarrolló ELIZA a mediados de los años 1960, pero los métodos se utilizaron por primera vez comercialmente en los años 1990. [7] Las técnicas de NLG varían desde sistemas simples basados ​​en plantillas como una combinación de correspondencia que genera cartas modelo , hasta sistemas que tienen una comprensión compleja de la gramática humana. La NLG también se puede lograr entrenando un modelo estadístico utilizando aprendizaje automático , generalmente en un gran corpus de textos escritos por humanos. [8]

Ejemplo

El sistema de pronóstico de polen para Escocia [9] es un ejemplo sencillo de un sistema NLG simple que podría basarse básicamente en una plantilla. Este sistema toma como entrada seis números que indican los niveles de polen previstos en diferentes partes de Escocia. A partir de estos números, el sistema genera un breve resumen textual de los niveles de polen como salida.

Por ejemplo, utilizando los datos históricos del 1 de julio de 2005, el software produce:

Los niveles de polen de gramíneas para el viernes han aumentado desde los niveles moderados a altos de ayer con valores de alrededor de 6 a 7 en la mayor parte del país. Sin embargo, en las áreas del norte, los niveles de polen serán moderados con valores de 4.

En cambio, el pronóstico real (escrito por un meteorólogo humano) a partir de estos datos fue:

Se espera que los niveles de polen se mantengan altos, en el nivel 6, en la mayor parte de Escocia, e incluso en el nivel 7 en el sureste. El único alivio se da en las islas del norte y el extremo noreste de Escocia continental, con niveles medios de niveles de polen.

La comparación de ambos ilustra algunas de las elecciones que deben hacer los sistemas NLG; las cuales se analizan con más detalle a continuación.

Etapas

El proceso de generación de texto puede ser tan simple como mantener una lista de texto predefinido que se copia y pega, posiblemente enlazado con algún texto de unión. Los resultados pueden ser satisfactorios en dominios simples como las máquinas de horóscopos o los generadores de cartas comerciales personalizadas. Sin embargo, un sistema de NLG sofisticado necesita incluir etapas de planificación y fusión de información para permitir la generación de texto que parezca natural y no se vuelva repetitivo. Las etapas típicas de la generación de lenguaje natural, según lo propuesto por Dale y Reiter, [6] son:

Determinación del contenido : decidir qué información mencionar en el texto. Por ejemplo, en el ejemplo del polen anterior, decidir si se debe mencionar explícitamente que el nivel de polen es 7 en el sudeste.

Estructura del documento : organización global de la información que se quiere transmitir. Por ejemplo, decidir describir primero las zonas con niveles altos de polen, en lugar de las zonas con niveles bajos de polen.

Agregación : fusión de oraciones similares para mejorar la legibilidad y la naturalidad. Por ejemplo, fusionar las dos oraciones siguientes:

en la siguiente frase única:

Elección léxica : poner palabras a los conceptos. Por ejemplo, decidir si se debe utilizar el término medio o moderado para describir un nivel de polen de 4.

Generación de expresiones de referencia : creación de expresiones de referencia que identifiquen objetos y regiones. Por ejemplo, decidir utilizar en las Islas del Norte y el extremo noreste de Escocia continental para referirse a una determinada región de Escocia. Esta tarea también incluye tomar decisiones sobre pronombres y otros tipos de anáforas .

Realización : Creación del texto real, que debe ser correcto según las reglas de sintaxis , morfología y ortografía . Por ejemplo, se utiliza will be para el tiempo futuro de to be .

Un enfoque alternativo al NLG es utilizar el aprendizaje automático "de extremo a extremo" para construir un sistema, sin tener etapas separadas como las anteriores. [10] En otras palabras, construimos un sistema NLG entrenando un algoritmo de aprendizaje automático (a menudo un LSTM ) en un gran conjunto de datos de entrada y textos de salida correspondientes (escritos por humanos). El enfoque de extremo a extremo quizás haya sido más exitoso en los subtítulos de imágenes , [11] que genera automáticamente un subtítulo textual para una imagen.

Aplicaciones

Generación automática de informes

Desde una perspectiva comercial, las aplicaciones de NLG más exitosas han sido los sistemas de conversión de datos a texto que generan resúmenes textuales de bases de datos y conjuntos de datos; estos sistemas generalmente realizan análisis de datos además de generación de texto. Las investigaciones han demostrado que los resúmenes textuales pueden ser más efectivos que los gráficos y otros elementos visuales para el apoyo a la toma de decisiones, [12] [13] [14] y que los textos generados por computadora pueden ser superiores (desde la perspectiva del lector) a los textos escritos por humanos. [15]

Los primeros sistemas comerciales de conversión de datos en texto generaron pronósticos meteorológicos a partir de datos meteorológicos. El primer sistema de este tipo que se implementó fue FoG [3] , que fue utilizado por Environment Canada para generar pronósticos meteorológicos en francés e inglés a principios de la década de 1990. El éxito de FoG impulsó otros trabajos, tanto de investigación como comerciales. Entre las aplicaciones recientes se incluye el pronóstico mejorado con texto de la Oficina Meteorológica del Reino Unido [16] .

Desde entonces, los sistemas de conversión de datos a texto se han aplicado en una variedad de entornos. Tras el pequeño terremoto ocurrido cerca de Beverly Hills, California, el 17 de marzo de 2014, Los Angeles Times informó detalles sobre la hora, la ubicación y la fuerza del terremoto a los 3 minutos del evento. Este informe fue generado automáticamente por un "robo-periodista", que convirtió los datos entrantes en texto a través de una plantilla preestablecida. [17] [18] Actualmente, existe un considerable interés comercial en el uso de NLG para resumir datos financieros y comerciales. De hecho, Gartner ha dicho que NLG se convertirá en una característica estándar del 90% de las plataformas modernas de BI y análisis. [19] NLG también se está utilizando comercialmente en periodismo automatizado , chatbots , generación de descripciones de productos para sitios de comercio electrónico, resumen de registros médicos, [20] [4] y mejora de la accesibilidad (por ejemplo, describiendo gráficos y conjuntos de datos a personas ciegas [21] ).

Un ejemplo de un uso interactivo de NLG es el marco WYSIWYM . Significa " Lo que ves es lo que quieres decir" y permite a los usuarios ver y manipular la vista generada continuamente (salida NLG) de un documento de lenguaje formal subyacente (entrada NLG), editando así el lenguaje formal sin tener que aprenderlo.

De cara al futuro, los avances actuales en la generación de datos a texto abren el camino para adaptar los textos a públicos específicos. Por ejemplo, los datos de bebés en cuidados neonatales se pueden convertir a texto de forma diferente en un entorno clínico, con distintos niveles de detalle técnico y lenguaje explicativo, según el destinatario previsto del texto (médico, enfermero, paciente). La misma idea se puede aplicar en un entorno deportivo, con distintos informes generados para los aficionados de equipos específicos. [22]

Subtítulos de imágenes

En los últimos años, ha habido un creciente interés en la generación automática de subtítulos para imágenes, como parte de un esfuerzo más amplio por investigar la interfaz entre la visión y el lenguaje. Un caso de generación de datos a texto, el algoritmo de subtítulos de imágenes (o descripción automática de imágenes) implica tomar una imagen, analizar su contenido visual y generar una descripción textual (normalmente una frase) que verbalice los aspectos más destacados de la imagen.

Un sistema de subtítulos de imágenes implica dos subtareas. En el análisis de imágenes, se detectan y etiquetan las características y atributos de una imagen, antes de asignar estos resultados a estructuras lingüísticas. Investigaciones recientes utilizan enfoques de aprendizaje profundo a través de características de una red neuronal convolucional preentrenada como AlexNet, VGG o Caffe, donde los generadores de subtítulos utilizan una capa de activación de la red preentrenada como sus características de entrada. La generación de texto, la segunda tarea, se realiza utilizando una amplia gama de técnicas. Por ejemplo, en el sistema Midge, las imágenes de entrada se representan como triples que consisten en detecciones de objetos/cosas, detecciones de acción/ pose y relaciones espaciales. Estos se asignan posteriormente a triples <sustantivo, verbo, preposición> y se realizan utilizando una gramática de sustitución de árboles. [22]

A pesar de los avances, la investigación en captura de imágenes aún enfrenta desafíos y oportunidades. A pesar de la reciente introducción de Flickr30K, MS COCO y otros grandes conjuntos de datos que han permitido el entrenamiento de modelos más complejos, como redes neuronales, se ha argumentado que la investigación en subtítulos de imágenes podría beneficiarse de conjuntos de datos más grandes y diversificados. El diseño de medidas automáticas que puedan imitar los juicios humanos al evaluar la idoneidad de las descripciones de imágenes es otra necesidad en el área. Otros desafíos abiertos incluyen la respuesta a preguntas visuales (VQA), [23] así como la construcción y evaluación de repositorios multilingües para la descripción de imágenes. [22]

Chatbots

Otro ámbito en el que se ha aplicado ampliamente la NLG son los sistemas de diálogo automatizados , frecuentemente en forma de chatbots. Un chatbot o chatterbot es una aplicación de software que se utiliza para llevar a cabo una conversación de chat en línea mediante texto o conversión de texto a voz , en lugar de proporcionar un contacto directo con un agente humano en vivo. Mientras que las técnicas de procesamiento del lenguaje natural (PLN) se aplican para descifrar la entrada humana, la NLG informa la parte de salida de los algoritmos del chatbot para facilitar los diálogos en tiempo real.

Los primeros sistemas de chatbot, incluido Cleverbot creado por Rollo Carpenter en 1988 y publicado en 1997, [ cita requerida ] responden a las preguntas identificando cómo un humano ha respondido a la misma pregunta en una base de datos de conversaciones utilizando técnicas de recuperación de información (IR). [ cita requerida ] Los sistemas de chatbot modernos se basan predominantemente en modelos de aprendizaje automático (ML), como el aprendizaje de secuencia a secuencia y el aprendizaje de refuerzo para generar resultados en lenguaje natural. También se han explorado modelos híbridos. Por ejemplo, el asistente de compras de Alibaba primero usa un enfoque IR para recuperar los mejores candidatos de la base de conocimiento, luego usa el modelo seq2seq impulsado por ML para volver a clasificar las respuestas de los candidatos y generar la respuesta. [24]

Escritura creativa y humor computacional

La generación de lenguaje creativo mediante NLG ha sido una hipótesis desde los orígenes de este campo. Un pionero reciente en este campo es Phillip Parker, que ha desarrollado un arsenal de algoritmos capaces de generar automáticamente libros de texto, crucigramas, poemas y libros sobre temas que van desde la encuadernación hasta las cataratas. [25] La aparición de grandes modelos de lenguaje preentrenados basados ​​en transformadores, como GPT-3, también ha permitido avances, y estos modelos han demostrado una capacidad reconocible para tareas de creación y escritura. [26]

Un área relacionada con la aplicación de NLG es la producción de humor computacional. JAPE (Joke Analysis and Production Engine) es uno de los primeros sistemas de producción de humor automatizados de gran tamaño que utiliza un enfoque basado en plantillas codificadas a mano para crear acertijos con juegos de palabras para niños. HAHAcronym crea reinterpretaciones humorísticas de cualquier acrónimo dado, además de proponer nuevos acrónimos adecuados dadas algunas palabras clave. [27]

A pesar de los avances, aún quedan muchos desafíos en la producción automatizada de contenido creativo y humorístico que rivalice con la producción humana. En un experimento para generar titulares satíricos, los resultados de su mejor modelo basado en BERT se percibieron como graciosos el 9,4% de las veces (mientras que los titulares reales de The Onion lo fueron el 38,4%) y un modelo GPT-2 ajustado con precisión para titulares satíricos logró el 6,9%. [28]   Se ha señalado que dos problemas principales con los sistemas de generación de humor son la falta de conjuntos de datos anotados y la falta de métodos de evaluación formales, [27] que podrían ser aplicables a la generación de otros contenidos creativos. Algunos han argumentado que, en relación con otras aplicaciones, ha habido una falta de atención a los aspectos creativos de la producción del lenguaje dentro de la NLG. Los investigadores de NLG se beneficiarán de los conocimientos sobre lo que constituye la producción creativa del lenguaje, así como de las características estructurales de la narrativa que tienen el potencial de mejorar la producción de NLG incluso en sistemas de datos a texto. [22]

Evaluación

Al igual que en otros campos científicos, los investigadores de NLG necesitan probar qué tan bien funcionan sus sistemas, módulos y algoritmos. Esto se llama evaluación . Existen tres técnicas básicas para evaluar sistemas NLG:

Un objetivo último es comprobar la utilidad de los sistemas de PNL para ayudar a las personas, que es la primera de las técnicas mencionadas anteriormente. Sin embargo, las evaluaciones basadas en tareas requieren mucho tiempo y son caras, y pueden resultar difíciles de llevar a cabo (especialmente si requieren sujetos con conocimientos especializados, como los médicos). Por lo tanto (como en otras áreas de la PNL) las evaluaciones basadas en tareas son la excepción, no la norma.

Recientemente, los investigadores están evaluando qué tan bien se correlacionan las calificaciones y métricas humanas con (predicen) las evaluaciones basadas en tareas. El trabajo se está llevando a cabo en el contexto de los eventos de tareas compartidas de Generation Challenges [29] . Los resultados iniciales sugieren que las calificaciones humanas son mucho mejores que las métricas en este sentido. En otras palabras, las calificaciones humanas generalmente predicen la efectividad de la tarea al menos hasta cierto punto (aunque hay excepciones), mientras que las calificaciones producidas por métricas a menudo no predicen bien la efectividad de la tarea. Estos resultados son preliminares. En cualquier caso, las calificaciones humanas son la técnica de evaluación más popular en NLG; esto contrasta con la traducción automática , donde las métricas se utilizan ampliamente.

Una IA puede ser calificada en función de su fidelidad a sus datos de entrenamiento o, alternativamente, en función de su veracidad . Una respuesta que refleja los datos de entrenamiento pero no la realidad es fiel pero no veraz. Una respuesta segura pero infiel es una alucinación . En el procesamiento del lenguaje natural, una alucinación se define a menudo como "contenido generado que no tiene sentido o es infiel al contenido fuente proporcionado". [30]

Véase también

Referencias

  1. ^ Reiter, Ehud; Dale, Robert (marzo de 1997). "Construcción de sistemas de generación de lenguaje natural aplicados". Ingeniería del lenguaje natural . 3 (1): 57–87. doi :10.1017/S1351324997001502. ISSN  1469-8110. S2CID  8460470.
  2. ^ Gatt A, Krahmer E (2018). "Estudio del estado del arte en la generación de lenguaje natural: tareas básicas, aplicaciones y evaluación". Revista de investigación en inteligencia artificial . 61 (61): 65–170. arXiv : 1703.09902 . doi :10.1613/jair.5477. S2CID  16946362.
  3. ^ ab Goldberg E, Driedger N, Kittredge R (1994). "Uso del procesamiento del lenguaje natural para producir pronósticos meteorológicos". IEEE Expert . 9 (2): 45–53. doi :10.1109/64.294135. S2CID  9709337.
  4. ^ abc Portet F, Reiter E, Gatt A, Hunter J, Sripada S, Freer Y, Sykes C (2009). "Generación automática de resúmenes textuales a partir de datos de cuidados intensivos neonatales" (PDF) . Inteligencia artificial . 173 (7–8): 789–816. doi :10.1016/j.artint.2008.12.002.
  5. ^ Farhadi A, Hejrati M, Sadeghi MA, Young P, Rashtchian C, Hockenmaier J, Forsyth D (5 de septiembre de 2010). Cada imagen cuenta una historia: Generar oraciones a partir de imágenes (PDF) . Conferencia europea sobre visión artificial. Berlín, Heidelberg: Springer. pp. 15–29. doi :10.1007/978-3-642-15561-1_2.
  6. ^ ab Dale, Robert; Reiter, Ehud (2000). Construcción de sistemas de generación de lenguaje natural . Cambridge, Reino Unido: Cambridge University Press. ISBN 978-0-521-02451-8.
  7. ^ Ehud Reiter (21 de marzo de 2021). Historia de NLG. Archivado desde el original el 12 de diciembre de 2021.
  8. ^ Perera R, Nand P (2017). "Avances recientes en la generación de lenguaje natural: un estudio y clasificación de la literatura empírica". Computing and Informatics . 36 (1): 1–32. doi :10.4149/cai_2017_1_1. hdl : 10292/10691 .
  9. ^ R Turner, S Sripada, E Reiter, I Davy (2006). Generación de descripciones espacio-temporales en pronósticos de polen. Actas de EACL06
  10. ^ "Desafío NLG E2E".
  11. ^ "DataLabCup: Título de la imagen".
  12. ^ Law A, Freer Y, Hunter J, Logie R, McIntosh N, Quinn J (2005). "Una comparación de presentaciones gráficas y textuales de datos de series temporales para respaldar la toma de decisiones médicas en la unidad de cuidados intensivos neonatales". Revista de monitoreo clínico y computación . 19 (3): 183–94. doi :10.1007/s10877-005-0879-3. PMID  16244840. S2CID  5569544.
  13. ^ Gkatzia D, Lemon O, Reiser V (2017). "La generación de datos a texto mejora la toma de decisiones en condiciones de incertidumbre" (PDF) . Revista IEEE Computational Intelligence . 12 (3): 10–17. doi :10.1109/MCI.2017.2708998. S2CID  9544295.
  14. ^ "¿Texto o gráficos?". 26-12-2016.
  15. ^ Reiter E, Sripada S, Hunter J, Yu J, Davy I (2005). "Elección de palabras en pronósticos meteorológicos generados por computadora". Inteligencia artificial . 167 (1–2): 137–69. doi : 10.1016/j.artint.2005.06.006 .
  16. ^ S Sripada, N Burnett, R Turner, J Mastin, D Evans (2014). Generación de un estudio de caso: NLG satisface la demanda de la industria meteorológica de calidad y cantidad de pronósticos meteorológicos textuales. Actas de INLG 2014
  17. ^ Schwencke, Ken Schwencke Ken; Periodista, A.; Programador, Computadoras; en 2014, dejó Los Angeles Times (17 de marzo de 2014). "Replica del terremoto: un terremoto de 2,7 grados cerca de Westwood". Los Angeles Times . Consultado el 3 de junio de 2022 .{{cite web}}: CS1 maint: nombres numéricos: lista de autores ( enlace )
  18. ^ Levenson, Eric (17 de marzo de 2014). "Periodista de Los Angeles Times explica cómo un robot escribió su artículo sobre el terremoto". The Atlantic . Consultado el 3 de junio de 2022 .
  19. ^ "Las redes neuronales y las plataformas de BI modernas harán evolucionar los datos y el análisis".
  20. ^ Harris MD (2008). "Building a Large-Scale Commercial NLG System for an EMR" (PDF) . Actas de la Quinta Conferencia Internacional de Generación de Lenguaje Natural . pp. 157–60.
  21. ^ "Bienvenidos a la página de iGraph-Lite". www.inf.udec.cl . Archivado desde el original el 16 de marzo de 2010.
  22. ^ abcd Gatt, Albert; Krahmer, Emiel (29 de enero de 2018). "Estudio del estado del arte en la generación de lenguaje natural: tareas básicas, aplicaciones y evaluación". arXiv : 1703.09902 [cs.CL].
  23. ^ Kodali, Venkat; Berleant, Daniel (2022). "Avances recientes y rápidos en la arquitectura de respuesta visual a preguntas: una revisión". Actas de la 22.ª Conferencia Internacional IEEE sobre EIT . págs. 133–146. arXiv : 2203.01322 .
  24. ^ Mnasri, Maali (21 de marzo de 2019). "Avances recientes en PNL conversacional: hacia la estandarización de la construcción de chatbots". arXiv : 1903.09025 [cs.CL].
  25. ^ "Cómo escribir más de un millón de libros". HuffPost . 2013-02-11 . Consultado el 2022-06-03 .
  26. ^ "Explorando GPT-3: un nuevo avance en la generación de lenguajes". KDnuggets . Consultado el 3 de junio de 2022 .
  27. ^ ab Winters, Thomas (30 de abril de 2021). "Las computadoras que aprenden humor no son ninguna broma". Harvard Data Science Review . 3 (2). doi : 10.1162/99608f92.f13a2337 . S2CID  235589737.
  28. ^ Horvitz, Zachary; Do, Nam; Littman, Michael L. (julio de 2020). "Generación de noticias satíricas impulsada por el contexto". Actas del segundo taller sobre procesamiento del lenguaje figurativo . En línea: Association for Computational Linguistics: 40–50. doi : 10.18653/v1/2020.figlang-1.5 . S2CID:  220330989.
  29. ^ Desafíos generacionales
  30. ^ Ji, Ziwei; Lee, Nayeon; Frieske, Rita; Yu, Tiezheng; Su, Dan; Xu, Yan; Ishii, Etsuko; Bang, Yejin; Madotto, Andrea; Fung, Pascale (17 de noviembre de 2022). "Encuesta sobre alucinaciones en la generación del lenguaje natural". Encuestas de Computación ACM . 55 (12): 3571730. arXiv : 2202.03629 . doi : 10.1145/3571730 . S2CID  246652372.

Lectura adicional