Tempo de leitura
Geração de linguagem natural (NLG) é o uso de inteligência artificial (IA) para criar saídas em linguagem natural a partir de dados estruturados e não estruturados. A NLG permite que computadores e aplicações de IA generativa (gen AI) interajam com os usuários em linguagem humana compreensível. Junto com a Natural Language Understanding (NLU), a NLG é uma subcategoria do Processamento de Linguagem Natural (NLP).
Os sistemas NLG já estão em uso generalizado em produtos empresariais e de consumo, como ferramentas de business intelligence (BI) e chatbot . Os assistentes de voz se comunicam com os usuários através de NLG.
Os líderes de negócios usam o NLG para transformar dados complexos em texto gerado para refinar insights importantes. Sempre que um modelo de IA gera produção em linguagem humana, isso é NLG em ação.
Os dois principais tipos de NLG são extrativos e abstrativos:
Extractive NLG utiliza palavras e expressões idênticas às do texto original. Ela é usada quando a redação exata é essencial, como em documentos jurídicos. Em comparação com a NLG abstrativa, a NLG extrativa é mais simples, pois copia diretamente dos textos de origem em vez de gerar novos conteúdos.
Abstractive NLG cria novos textos com base em documentos originais, reescrevendo e gerando novos conteúdos. Esse processo é mais complexo e exige modelos mais avançados, como transformações. Enquanto a NLG extrativa se destaca em ambientes técnicos, a NLG abstrativa é ideal para aplicações criativas.
A NLG funciona seguindo um processo em várias etapas para refinar dados estruturados e não estruturados e gerar saídas em linguagem natural. Como descreve o cientista da computação Ehud Reiter,1 as etapas típicas do processo de NLG são:
Análise de sinais: o sistema de NLG identifica quais dados de entrada são necessários para gerar a resposta final. Na etapa de análise de sinais ou dados, o reconhecimento de padrões determina o tema do conteúdo e as relações entre os tópicos. Os dados de entrada incluem prompts de usuário, conteúdos de banco de dados e informações linguísticas não estruturadas, como PDFs, documentos e gravações de fala. O reconhecimento de entidades ajuda os sistemas de PLN a compreender o assunto tratado.
Interpretação de dados: os modelos de PLN geram insights a partir dos resultados da etapa de análise de dados. Se os insights já tiverem sido gerados no pré-processamento, essa fase é ignorada. Os sistemas de PLN identificam as classes gramaticais e usam NLU para analisar a sintaxe e a semântica, compreendendo o significado.
Planejamento do documento: esta fase define quais informações devem ser comunicadas e como formatá-las. O sistema de NLG determina a abordagem para o texto final com base nos dados disponíveis e no prompt do usuário.
Microplanejamento: após definir o conteúdo e o formato, o sistema de NLG planeja a estrutura das frases e dos parágrafos para gerar o texto final.
Realização superficial: o sistema NLG coloca seu plano em ação e gera produções em linguagem natural de acordo com os resultados das etapas anteriores.
O NLG faz parte da disciplina de ciência da computação de processamento de linguagem natural (PNL): o uso de modelos de aprendizado de máquina (ML) para entender e trabalhar com a linguagem humana.
A NLG é a parte da PNL que se preocupa com a geração de conteúdo, especificamente com a produção de romances escritos ou falados. Por exemplo, chatbots de IA conversacional usam NLG para responder às entradas do usuário em tempo real.
O NLP converte inputs de linguagem natural em dados, e NLG usa dados para gerar produções de linguagem natural.
O NLP faz parte da linguística computacional, que estuda como os computadores analisam e entendem a linguagem humana. O NLP representa a aplicação prática da linguística computacional.
O avanço do deep learning e dos grandes modelos de linguagem (LLMs) impulsionou o desenvolvimento de aplicações de IA generativa voltadas para a criação de conteúdo.
A Natural Language Understanding (NLU) é outro subcampo do processamento de linguagem natural (NLP). Em vez de focar no significado gramatical e linguístico, a NLU busca entender a linguagem humana de forma abrangente. Ela utiliza análise semântica e sintática para compreender, de maneira completa e contextual, entradas de linguagem natural, incluindo emoção, sentimento e intenção.
A NLU permite que computadores compreendam entradas em linguagem natural de maneira mais próxima à forma como os humanos interpretam. Quando as pessoas conversam, elas captam mais do que o simples significado das palavras; entendem naturalmente o sentido mais profundo por trás da fala literal.
Quando uma aplicação de software oferece opções de texto preditivo, ele utiliza a NLU para entender a intenção do usuário e, em seguida, aplica a NLG para completar a frase. NLP, NLU e NLG atuam juntos para permitir que computadores se comuniquem com usuários.
Muitos sistemas NLG usam modelos avançados de IA, como transformadores, para criar novos textos a partir de dados de treinamento e input.
Entretanto, antes que esses modelos fossem desenvolvidos, o NLG era possível por outros meios. Os modelos e técnicas de NLG incluem:
Modelos
Sistemas baseados em regras
Algoritmos de aprendizado de máquina estatísticos
Modelos dedeep learning
Transformadores
Sistemas baseados em templates utilizam estruturas de frases pré-definidas com variáveis para dados de entrada. Esses templates representam uma das formas mais antigas e simples de NLG, adequadas para contextos em que a estrutura de frases e documentos se mantém consistente. Contudo, sistemas baseados em templates não conseguem se adaptar fora dos usos previamente definidos.
Um exemplo de modelo pode ser: Em [mês],[ano], nossa loja em [localização] vendeu [quantidade] unidades de [item].
Embora esse modelo seja excelente em relatórios de vendas com base na localização, não é possível aplicá-lo para gerar uma receita culinária.
Sistemas baseados em regras geram texto seguindo uma série de regras e lógicas pré-definidas. Os primeiros sistemas desse tipo foram criados para imitar a maneira como especialistas em determinado domínio falavam ou escreviam. Programadores entrevistavam os especialistas e, a partir disso, criavam regras correspondentes para a geração de texto.
Sistemas “if-then” são um exemplo comum de programação baseada em regras. Por exemplo, um software de NLG para previsões do tempo pode ser programado para descrever o clima como “abaixo de zero” se a temperatura estiver abaixo de 32 graus Fahrenheit ou 0 grau Celsius.
Algoritmos estatísticos de aprendizado de máquina, como cadeias de Markov ocultas, identificam padrões em grandes conjuntos de dados para fazer previsões e tomar decisões com novos dados.
Eles geram novas instâncias com base na instância atual. Para o NLG, as cadeias de Markov e outros modelos estatísticos geram palavras que provavelmente seguirão umas das outras.
Modelos estatísticos oferecem mais flexibilidade do que templates e sistemas baseados em regras, mas exigem grandes volumes de dados para treinamento.
Os modelos de deep learning são um avanço na tecnologia de IA em relação aos algoritmos estatísticos e podem gerar textos de aparência mais natural. As redes neurais recorrentes (RNNs) são um exemplo de modelos de deep learning aplicados ao NLG.
Os RNNs processam dados sequenciais, como as palavras em uma frase, e podem transferir conhecimento, como na tradução automática
A arquitetura do modelo de transformador alimenta algumas das tecnologias NLG mais eficazes disponíveis. Modelos baseados em transformadores, como GPT e BERT, usam mecanismos de autoatenção para capturar dependências de longo alcance em sequências de input para maior compreensão contextual.
ChatGPT, Claude e outros chatbots impulsionados por transformadores podem gerar saídas realistas de linguagem humana.
A NLG está presente em todo o cenário da IA generativa, em qualquer situação em que a IA se comunique diretamente com humanos usando linguagem natural. De assistentes como a Siri a aplicações de análise de sentimento, os casos de uso da NLG incluem:
Assistentes de voz: Siri, Alexa e outros assistentes de voz usam NLG para responder aos pedidos dos usuários em linguagem falada. Eles também utilizam NLP e NLU para reconhecimento de fala e interpretar o que os usuários desejam.
Assistentes virtuais: Chatbots e assistentes virtuais aplicam NLG para automatizar as interações com clientes. Muitas organizações usam assistentes virtuais para atender solicitações iniciais antes de encaminhar o atendimento ao cliente para representantes humanos. Agentes virtuais também utilizam NLG para se comunicar com os usuários.
Tradução automática: A tradução automática é o uso de modelos de aprendizado de máquina para traduzir automaticamente entre idiomas. Os sistemas NLG lidam com a produção e simplificam o demorado processo de tradução. Tradutores humanos e especialistas podem então verificar e editar os resultados conforme necessário.
Resumos de dados e geração de relatórios: sistemas de NLG transformam dados complexos em resumos e esquemas fáceis de entender. Ao agilizar a consolidação e o resumo de artigos e relatórios, eles tornam a previsão mais eficiente. Líderes de negócios utilizam ferramentas de BI com NLG para tomada de decisões baseadas em dados. Outras empresas usam IA e NLG para criar esse conteúdo para seus clientes.
Geração de conteúdo: sempre que um modelo de IA generativa produz conteúdo em linguagem natural, é o NLG atuando. Empresas podem usar NLG para automatizar descrições de produtos, campanhas de e-mail marketing, postagens em redes sociais e outros tipos de conteúdo de curta duração.
Análise de sentimentos: sistemas de NLG geram resumos de textos e relatórios baseados em feedbacks e comunicações da audiência. Empresas podem coletar conteúdos de usuários em avaliações de produtos, redes sociais, fóruns e outros meios on-line, utilizando NLP e NLG para identificar o sentimento dos usuários.
1 Natural Language Generation, Ehud Reiter, Springer, 2024.