Geração de linguagem natural
A geração de linguagem natural (GLN) é o subcampo da inteligência artificial e linguística computacional que se concentra em sistemas de computador que podem produzir textos compreensíveis em línguas humanas. Normalmente partindo de alguma representação não linguística da informação como entrada, os sistemas GLN usam o conhecimento sobre a linguagem e o domínio da aplicação para produzir, automaticamente, documentos, relatórios, explicações, mensagens de ajuda e outros tipos de textos. GLN também pode ser usada para gerar pequenas notas de texto em conversas interativas (um chatbot) que podem até ser lidas por um sintetizador de voz.[1]
Introdução
[editar | editar código-fonte]GLN pode ser comparado ao processo que os humanos usam quando transformam ideias em texto ou fala. Os psicolinguistas preferem o termo produção da linguagem para esse processo, que também pode ser descrito em termos matemáticos ou modelado em um computador para pesquisas psicológicas. Os sistemas GLN também podem ser comparados a descompiladores, que também produzem código legível por humanos gerado a partir de uma representação intermediária. As linguagens humanas tendem a ser consideravelmente mais complexas e permitem muito mais ambiguidade e variedade de expressões do que as linguagens de programação, o que torna a GLN mais desafiadora.[2]
A GLN está intimamente relacionada ao Entendimento da Linguagem Natural (ELN), que é o estudo dos sistemas de computador que entendem a linguagem humana. Tanto o ELN quanto o GLN estão interessados nos modelos computacionais de linguagem e seu uso, eles compartilham muitos dos mesmos fundamentos teóricos e são frequentemente usados em conjunto em programas de computador. Juntos, o ELN e a GLN formam o campo do processamento de linguagem natural (PLN).[1]
Etapas
[editar | editar código-fonte]O processo de geração de texto pode ser tão simples quanto manter uma lista de texto que é copiado e colado. Os resultados podem ser satisfatórios em domínios simples, como geradores de cartas comerciais personalizadas. No entanto, um sistema GLN sofisticado precisa incluir etapas de planejamento e combinação de informações para permitir a geração de um texto que pareça natural e não se torne repetitivo. As etapas típicas de geração de linguagem natural, conforme proposto por Dale e Reiter, são:[1]
Determinação do conteúdo
[editar | editar código-fonte]Decidir quais informações mencionar no texto. Talvez a questão mais fundamental seja o objetivo do texto, ou seja, o que o texto quer comunicar. O tamanho e o nível de detalhe do texto gerado é outro aspecto a se considerar. A determinação do conteúdo é muito importante para os usuários, na verdade, em muitos casos, a qualidade da determinação do conteúdo é o fator mais importante (da perspectiva do usuário) para determinar a qualidade geral do texto gerado.
Estruturação de Documentos
[editar | editar código-fonte]Organização e estrutura geral das informações a se transmitir. Existem três abordagens básicas para a estruturação de documentos: esquemas, baseados em corpus e heurística.
Os esquemas são modelos que especificam explicitamente a ordem e o agrupamento das frases para um documento (assim como a determinação do conteúdo). Normalmente, eles são construídos analisando manualmente um corpus de textos escritos por humanos no gênero desejado e extraindo um modelo de documento desses textos. Os esquemas funcionam bem na prática para textos curtos (5 frases ou menos) e/ou com uma estrutura padronizada, mas apresentam problemas para gerar textos mais longos e sem estrutura fixa.[2]
As técnicas de estruturação baseadas em corpus usam técnicas de análise estatística de corpus para construir automaticamente modelos de ordenação e/ou agrupamento. Essas técnicas são comuns na geração de resumos automáticos, em que um programa de computador gera automaticamente um resumo de um documento textual. Em princípio, eles poderiam ser aplicados a textos gerados a partir de dados não linguísticos, mas este trabalho ainda está incipiente. Geralmente se espera que os textos gerados por GLN sejam de qualidade razoavelmente alta, o que nem sempre é o caso para textos gerados por sistemas de geração de resumos automáticos.[3]
A estruturação baseada em heurística se baseiam em regras heurísticas, que podem vir de teorias da retórica,[4] modelos psicolinguísticos[5] e/ou uma combinação de intuição e resultados de experimentos com usuários em potencial.[6] A estruturação baseada em heurística é chamativa, mas pode ser difícil fazer com que funcione bem na prática, em parte porque as heurísticas frequentemente dependem de informações semânticas (como as sentenças se relacionam) que nem sempre estão disponíveis. Por outro lado, as regras heurísticas podem focar no que é melhor para leitores de texto, enquanto as outras abordagens focam na imitação de autores (e muitos textos de autoria humana não são bem estruturados).
Agregação
[editar | editar código-fonte]Fusão de frases semelhantes para melhorar a legibilidade e a naturalidade. Por exemplo, mesclando as duas frases seguintes:
- João foi ao supermercado.
- João comprou um detergente.
em uma única frase:
- João foi ao supermercado e comprou um detergente.
Escolha Léxica
[editar | editar código-fonte]É a subtarefa da GLN que envolve a escolha da classificação das palavras (substantivos, verbos, adjetivos e advérbios) em um texto gerado. Os modos de escolha léxica devem ser informados pelo conhecimento linguístico de como os dados de entrada do sistema são mapeados nas palavras. Esta é uma questão de semântica, mas também é influenciada pela sintaxe (como efeitos de colocação) e fatores pragmáticos (como contexto).
Geração de Expressão de Referência
[editar | editar código-fonte]A geração de expressão de referência é a subtarefa da GLN que se concentra apenas na criação de expressões referenciais que identificam entidades específicas chamadas alvos. Esta tarefa pode ser dividida em duas partes. A parte de seleção de conteúdo determina qual conjunto de propriedades distingue o alvo pretendido e a parte de realização linguística define como essas propriedades são traduzidas em linguagem natural.
Realização
[editar | editar código-fonte]Criação do texto propriamente dito, que deve ser correto de acordo com as regras de sintaxe, morfologia e ortografia. Por exemplo, usando será para o tempo futuro do verbo ser.
Uma abordagem alternativa ao GLN é usar o aprendizado de máquina de ponta a ponta para construir um sistema, sem ter estágios separados, como acima. Em outras palavras, construirmos um sistema GLN treinando um algoritmo de aprendizado de máquina (geralmente um LSTM) em um grande conjunto de dados de entrada e textos de saída correspondentes (escritos por humanos). A abordagem de ponta a ponta talvez tenha tido mais sucesso na geração de legendas de imagens.[7]
Aplicações
[editar | editar código-fonte]Do ponto de vista comercial, as aplicações GLN mais bem-sucedidos têm sido os sistemas que geram resumos textuais de bancos de dados e conjuntos de dados, esses sistemas geralmente realizam análise de dados, bem como geração de texto. A pesquisa mostrou que resumos textuais podem ser mais eficazes do que gráficos e outros recursos visuais para apoio à decisão, [8][9][10] e que os textos gerados por computador podem ser superiores (da perspectiva do leitor) aos textos escritos por humanos.[11]
Os primeiros sistemas comerciais de GLN produziram previsões meteorológicas a partir de dados meteorológicos. O mais antigo sistema a ser implantado foi o FoG, que foi usado pela Environment Canada para gerar previsões do tempo em francês e inglês no início dos anos 90. O sucesso do FoG desencadeou outros trabalhos, tanto de pesquisa quanto comercial.[12]
Atualmente, há um interesse comercial considerável em usar GLN para resumir dados financeiros e de negócios. De fato, o Gartner disse que o GLN se tornará um recurso padrão de 90% das plataformas analíticas e de BI modernas.[13] GLN também está sendo usado comercialmente em jornalismo automatizado, chatbots, gerando descrições de produtos para sites de comércio eletrônico, resumindo registros médicos, [14][15] e melhorando a acessibilidade (por exemplo, descrevendo gráficos e conjuntos de dados para pessoas cegas).
Os sistemas de geração de conteúdo auxiliam as pessoas e tornam o processo de escrita mais eficiente e eficaz. Uma ferramenta de geração de conteúdo baseada em mineração web usando APIs de motores de busca foi construída.[16] A ferramenta imita o processo de recortar e colar, em que um escritor forma seu conteúdo a partir de vários resultados de pesquisa. A verificação de relevância é essencial para filtrar resultados de pesquisa irrelevantes, é baseado na técnica árvore de decisão através de uma consulta das respostas candidatas nessa árvore.[17] Em uma abordagem alternativa, uma estrutura de textos de alto nível (de autoria humana) é usada para construir automaticamente um modelo de conteúdo específico (ou modelo de documento específico) para um novo artigo da Wikipedia escrito automaticamente.[18]
Avaliação
[editar | editar código-fonte]Como em outros campos científicos, os pesquisadores de GLN precisam testar o quão bem seus sistemas, módulos e algoritmos funcionam. Isso é chamado de avaliação. Existem três técnicas básicas para avaliar sistemas de GLN:
- Avaliação baseada em tarefas (extrínsecas): dê o texto gerado a uma pessoa e avalie o quão bem isso a ajuda a executar uma tarefa (ou de outra forma a ajuda a atingir seu objetivo de comunicar algo). Por exemplo, um sistema que gera resumos de dados médicos pode ser avaliado fornecendo esses resumos aos médicos e avaliando se os resumos ajudam os médicos a tomarem melhores decisões.[15]
- Avaliações humanas: dê o texto gerado a uma pessoa e peça que ela avalie a qualidade e a utilidade do texto.
- Métricas: compare os textos gerados com os escritos por pessoas, a partir dos mesmos dados de entrada, usando uma métrica automática como BLEU, METEOR ou ROUGE.
O objetivo principal é saber o quão úteis os sistemas de GLN são em ajudar as pessoas, o que é a primeira das técnicas acima. No entanto, as avaliações baseadas em tarefas são demoradas e caras, e podem ser difíceis de realizar (especialmente se exigirem sujeitos com conhecimentos especializados, como médicos). Consequentemente (como em outras áreas do PLN), as avaliações baseadas em tarefas são a exceção, não a norma.
Pesquisadores estão avaliando o quão bem as técnicas de avaliação e as métricas humanas se correlacionam (conseguem prever) com as avaliações baseadas em tarefas. O trabalho está sendo conduzido no contexto do Generation Challenges em um evento de tarefas compartilhadas.[19][20][21][22]
Ver também
[editar | editar código-fonte]Referências
- ↑ a b c Dale, Robert; Reiter, Ehud (2000). Building natural language generation systems. Cambridge, U.K.: Cambridge University Press. ISBN 0521620368
- ↑ a b McKeown, Kathleen R. (1985). Text generation. [S.l.]: Cambridge University Press. ISBN 0521301165
- ↑ Lapata, Mirella (2003). Probabilistic Text Structuring: Experiments with Sentence Ordering. [S.l.]: Department of Computer Science University of Sheffield artigo
- ↑ Scott, Donia R.; Souza, Clarisse S. (1990). Getting the message across in RST-based text generation. [S.l.]: Departamento de Informática da PUC Rio artigo
- ↑ Karamanis, Nikiforos; Poesio, Massimo; Mellish, Chris; Oberlander, Jon (2004). Evaluating Centering-based metrics of coherence for text structuring using a reliably annotated corpus. [S.l.]: School of Informatics University of Edinburgh UK artigo
- ↑ Williams, Sandra; Reiter, Ehud (2008). Generating basic skills reports for low-skilled readers. [S.l.]: Natural Language Engineering Cambridge University Press UK. p. 495-525 artigo
- ↑ Hochreiter, Sepp; Schmidhuber, Jürgen (1997). Long Short-Term Memory. [S.l.]: Neural Computation Massachusetts Institute of Technology. p. 1735-1780
- ↑ Law, Anna S.; Freer, Yvonne; Hunter, Jim (2005). A Comparison of Graphical and Textual Presentations of Time Series Data to Support Medical Decision Making in the Neonatal Intensive Care Unit. [S.l.]: Journal of Clinical Monitoring and Computing. p. 183-194. doi:10.1007/s10877-005-0879-3
- ↑ Gkatzia, Dimitra; Lemon, Oliver; Rieser, Verena (2017). Data-to-Text Generation Improves Decision-Making Under Uncertainty. [S.l.]: IEEE Computational Intelligence Magazine. p. 10-17. doi:10.1109/MCI.2017.2708998
- ↑ Reiter, Ehud (2016). Text or Graphics?. [S.l.]: Ehud Reiter's Blog
- ↑ Reiter, Ehud; Sripada, Somayajulu; Hunter, Jim; Yu, Jin; Davy, Ian (2005). Choosing words in computer-generated weather forecasts. [S.l.]: Elsevier BV. pp. 137–169. doi:10.1016/j.artint.2005.06.006
- ↑ Goldberg, E.; Driedger, N.; Kittredge, R.I. (1994). Using natural-language processing to produce weather forecasts. [S.l.]: IEEE Expert. pp. 45–53. doi:10.1109/64.294135
- ↑ Panetta, Kasey (16 de janeiro de 2017). «Neural Networks and Modern BI Platforms Will Evolve Data and Analytics». Gartner Group. Consultado em 29 de outubro de 2020
- ↑ Harris, Mary D. (2008). Building a Large-scale Commercial NLG System for an EMR (PDF). [S.l.]: Catalis, Inc.
- ↑ a b Portet, François; Reiter, Ehud; Gatt, Albert; Hunter, Jim; Sripada, Somayajulu; Freer, Yvonne; Sykes, Cindy (2008). Automatic generation of textual summaries from neonatal intensive care data. [S.l.]: Elsevier B.V. pp. 789–816
- ↑ Galitsky, Boris A.; Kuznetsov, Sergei O. (2013). A Web Mining Tool for Assistance with Creative Writing. [S.l.]: Serdyukov P. et al. (eds) Advances in Information Retrieval. ECIR 2013. Lecture Notes in Computer Science, vol 7814. Springer, Berlin, Heidelberg. doi:10.1007/978-3-642-36973-5_95
- ↑ Galitsky, Boris A.; De La Rosa, Josep L.; Dobrocsi, Gábor (2012). Inferring the semantic properties of sentences by mining syntactic parse trees. [S.l.]: Elsevier B.V. doi:10.1016/j.datak.2012.07.003
- ↑ Sauper, Christina; Barzilay, Regina (2009). Automatically Generating Wikipedia Articles: A Structure-Aware Approach (PDF). [S.l.]: Proceedings of the 47th Annual Meeting of the ACL and the 4th IJCNLP of the AFNLP. pp. 208–216. ISBN 978-1-932432-45-9
- ↑ «Generation Challenges 2009». University of Brighton. 19 de janeiro de 2009. Consultado em 19 de novembro de 2020
- ↑ «Generation Challenges 2010». University of Brighton. 14 de janeiro de 2010. Consultado em 19 de novembro de 2020
- ↑ «Generation Challenges 2011». University of Brighton. 13 de junho de 2011. Consultado em 19 de novembro de 2020
- ↑ «Generation Challenges 2012». University of Brighton. 1 de março de 2012. Consultado em 19 de novembro de 2020