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 como chatGPT .
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]
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.
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.
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]
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]
Un método común en el subtitulado de imágenes es utilizar un modelo de visión (como un ResNet ) para codificar una imagen en un vector y luego utilizar un modelo de lenguaje (como un RNN ) para decodificar el vector en un subtítulo. [23] [24]
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), [25] así como la construcción y evaluación de repositorios multilingües para la descripción de imágenes. [22]
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. [26]
La generación creativa de lenguaje 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. [27] 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. [28]
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. [29]
A pesar de los avances, aún quedan muchos desafíos en la producción automatizada de contenido creativo y humorístico que compita 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 a titulares satíricos logró el 6,9%. [30] 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, [29] 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]
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 [31] . 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". [32]
{{cite web}}
: CS1 maint: nombres numéricos: lista de autores ( enlace ){{cite journal}}
: Requiere citar revista |journal=
( ayuda ){{cite journal}}
: Requiere citar revista |journal=
( ayuda )