¿Qué es la generación de lenguaje natural (NLG)?
La generación de lenguaje natural (NLG) es el uso de programación de inteligencia artificial (IA) para producir narrativas escritas o habladas a partir de un conjunto de datos. NLG está relacionado con la interacción de persona a máquina y de máquina a persona, incluida la lingüística computacional, el procesamiento del lenguaje natural (NLP) y la comprensión del lenguaje natural (NLU).
La investigación sobre NLG a menudo se centra en la creación de programas informáticos que proporcionan puntos de datos con contexto. El software sofisticado de NLG puede extraer grandes cantidades de datos numéricos, identificar patrones y compartir esa información de una manera que sea fácil de entender para los humanos. La velocidad del software NLG es especialmente útil para producir noticias y otras historias urgentes en Internet. En el mejor de los casos, los resultados de NLG se pueden publicar literalmente como contenido web.
Cómo funciona NLG
NLG es un proceso de varias etapas, en el que cada paso refina aún más los datos que se utilizan para producir contenido con un lenguaje que suena natural. Las seis etapas de NLG son las siguientes:
- Análisis de contenido. Los datos se filtran para determinar qué se debe incluir en el contenido producido al final del proceso. Esta etapa incluye la identificación de los temas principales en el documento fuente y las relaciones entre ellos.
- Comprensión de datos. Los datos se interpretan, se identifican patrones y se contextualizan. El aprendizaje automático se usa a menudo en esta etapa.
- Estructuración documental. Se crea un plan de documento y se elige una estructura narrativa en función del tipo de datos que se interpretan.
- Agregación de oraciones. Las oraciones o partes de oraciones relevantes se combinan de manera que resuman con precisión el tema.
- Estructuración gramatical. Se aplican reglas gramaticales para generar texto con un sonido natural. El programa deduce la estructura sintáctica de la oración. Luego usa esta información para reescribir la oración de una manera gramaticalmente correcta.
- Presentación del idioma. La salida final se genera en base a una plantilla o formato que el usuario o programador ha seleccionado.
¿Cómo se usa NLG?
La generación de lenguaje natural se está utilizando de diversas formas. Algunos de los muchos usos incluyen los siguientes:
- generar las respuestas de chatbots y asistentes de voz como Alexa de Google y Siri de Apple;
- convertir informes financieros y otros tipos de datos comerciales en contenido de fácil comprensión para empleados y clientes;
- automatizar el correo electrónico, la mensajería y las respuestas de chat para el desarrollo de clientes potenciales;
- personalizar las respuestas a los correos electrónicos y mensajes de los clientes;
- generar y personalizar scripts utilizados por representantes de servicio al cliente;
- agregar y resumir informes de noticias;
- informes sobre el estado de los dispositivos de Internet de las cosas; y
- creación de descripciones de productos para páginas web de comercio electrónico y mensajes para clientes.
NLG frente a NLU frente a PNL
PNL es un término general que se refiere al uso de computadoras para comprender el lenguaje humano tanto en forma escrita como verbal. La PNL se basa en un marco de reglas y componentes, y convierte datos no estructurados en un formato de datos estructurados.
NLP abarca tanto NLG como NLU, que tienen las siguientes capacidades distintas pero relacionadas:
- NLU se refiere a la capacidad de una computadora para usar análisis sintáctico y semántico para determinar el significado del texto o del habla.
- NLG permite que los dispositivos informáticos generen texto y voz a partir de la entrada de datos.
Los chatbots y las funciones de «texto sugerido» en los clientes de correo electrónico, como Smart Compose de Gmail, son ejemplos de aplicaciones que utilizan tanto NLU como NLG. La comprensión del lenguaje natural permite que una computadora comprenda el significado de la entrada del usuario, y la generación del lenguaje natural proporciona la respuesta de texto o voz de una manera que el usuario puede entender.
NLG está conectado tanto a NLU como a la recuperación de información. También está relacionado con el resumen de texto, la generación de voz y la traducción automática. Gran parte de la investigación básica en NLG también se superpone con la lingüística computacional y las áreas relacionadas con la interacción de persona a máquina y de máquina a persona.
Modelos y metodologías de NLG
NLG se basa en algoritmos de aprendizaje automático y otros enfoques para crear texto generado por máquina en respuesta a las entradas del usuario. Algunas de las metodologías utilizadas incluyen las siguientes:
Cadena de Markov. El modelo de Markov es un método matemático utilizado en estadística y aprendizaje automático para modelar y analizar sistemas que pueden realizar elecciones aleatorias, como la generación de idiomas. Las cadenas de Markov comienzan con un estado inicial y luego generan aleatoriamente estados posteriores basados en el anterior. El modelo aprende sobre el estado actual y el estado anterior y luego calcula la probabilidad de pasar al siguiente estado basándose en los dos anteriores. En un contexto de aprendizaje automático, el algoritmo crea frases y oraciones eligiendo palabras que, estadísticamente, es probable que aparezcan juntas.
Red neuronal recurrente (RNN). Estos sistemas de IA se utilizan para procesar datos secuenciales de diferentes formas. Los RNN se pueden utilizar para transferir información de un sistema a otro, como traducir frases escritas en un idioma a otro. Los RNN también se utilizan para identificar patrones en los datos que pueden ayudar a identificar imágenes. Se puede entrenar a un RNN para reconocer diferentes objetos en una imagen o para identificar las distintas partes del habla en una oración.
Memoria larga a corto plazo (LSTM). Este tipo de RNN se utiliza en el aprendizaje profundo donde un sistema necesita aprender de la experiencia. Las redes LSTM se utilizan comúnmente en tareas de PNL porque pueden aprender el contexto necesario para procesar secuencias de datos. Para conocer las dependencias a largo plazo, las redes LSTM utilizan un mecanismo de activación para limitar el número de pasos anteriores que pueden afectar al paso actual.
Transformador. Esta arquitectura de red neuronal es capaz de aprender dependencias de largo alcance en el lenguaje y puede crear oraciones a partir del significado de las palabras. Transformer está relacionado con la IA. Fue desarrollado por OpenAI, una empresa de investigación de inteligencia artificial sin fines de lucro en San Francisco. Transformer incluye dos codificadores: uno para procesar entradas de cualquier longitud y otro para generar las sentencias generadas.
Los tres modelos principales de transformadores son los siguientes:
- Transformador generativo preentrenado (GPT) es un tipo de tecnología NLG que se utiliza con software de inteligencia empresarial (BI). Cuando GPT se implementa con un sistema de BI, utiliza tecnología NLG o algoritmos de aprendizaje automático para escribir informes, presentaciones y otro contenido. El sistema genera contenido basado en la información que se alimenta, que podría ser una combinación de datos, metadatos y reglas de procedimiento.
- Representaciones de codificador bidireccional de transformadores (BERT) es el sucesor del sistema Transformer que Google creó originalmente para su servicio de reconocimiento de voz. BERT es un modelo de lenguaje que aprende el lenguaje humano aprendiendo la información sintáctica, que es la relación entre las palabras, y la información semántica, que es el significado de las palabras.
- XLNet es una red neuronal artificial que se entrena en un conjunto de datos. Identifica patrones que utiliza para llegar a una conclusión lógica. Un motor de PNL puede extraer información de una simple consulta en lenguaje natural. XLNet tiene como objetivo aprender por sí mismo para poder leer e interpretar texto y utilizar este conocimiento para escribir texto nuevo. XLNet tiene dos partes: un codificador y un decodificador. El codificador usa las reglas sintácticas del lenguaje para convertir oraciones en representaciones basadas en vectores; el decodificador usa estas reglas para convertir la representación basada en vectores nuevamente en una oración significativa.
Más información sobre por qué La PNL está a la vanguardia de la adopción de IA y el papel clave que juegan NLP y NLG en la aplicación de la IA en la empresa.