Geração de linguagem natural - Natural language generation
A geração de linguagem natural ( NLG ) é um processo de software que produz saída em linguagem natural . Embora seja amplamente aceito que a saída de qualquer processo de NLG é um texto, há alguma discordância sobre se as entradas de um sistema de NLG precisam ser não linguísticas. As aplicações comuns dos métodos NLG incluem a produção de vários relatórios, por exemplo, relatórios do tempo e do paciente; legendas de imagens; e chatbots .
O NLG automatizado pode ser comparado ao processo que os humanos usam quando transformam ideias em escrita 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 NLG também podem ser comparados a tradutores de linguagens de computador artificiais, como descompiladores ou transpiladores , 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 ambigüidade e variedade de expressões do que as linguagens de programação, o que torna o NLG mais desafiador.
O NLG pode ser visto como complementar ao entendimento da linguagem natural (NLU): enquanto no entendimento da linguagem natural, o sistema precisa desambiguar a sentença de entrada para produzir a linguagem de representação da máquina, no NLG o sistema precisa tomar decisões sobre como colocar um representação em palavras. As considerações práticas na construção de sistemas NLU vs. NLG não são simétricas. O NLU precisa lidar com entradas ambíguas ou erradas do usuário, ao passo que as idéias que o sistema deseja expressar por meio do NLG geralmente são conhecidas com precisão. O NLG precisa escolher uma representação textual específica e autoconsistente de muitas representações potenciais, ao passo que o NLU geralmente tenta produzir uma representação única e normalizada da ideia expressa.
O NLG existe desde que o ELIZA foi desenvolvido em meados da década de 1960, mas os métodos foram usados pela primeira vez comercialmente na década de 1990. As técnicas de NLG variam de sistemas simples baseados em modelos, como uma mala direta que gera cartas padrão , a sistemas que têm um entendimento complexo da gramática humana. O NLG também pode ser realizado treinando um modelo estatístico usando aprendizado de máquina , normalmente em um grande corpo de textos escritos por humanos.
Exemplo
O sistema Pollen Forecast for Scotland é um exemplo simples de um sistema NLG simples que poderia ser essencialmente um modelo. Este sistema leva como entrada seis números, que fornecem os níveis de pólen previstos em diferentes partes da Escócia. A partir desses números, o sistema gera um breve resumo textual dos níveis de pólen como sua saída.
Por exemplo, usando os dados históricos de 1º de julho de 2005, o software produz:
Os níveis de pólen da grama para sexta-feira aumentaram dos níveis moderados para altos de ontem, com valores em torno de 6 a 7 na maior parte do país. No entanto, nas áreas do Norte, os níveis de pólen serão moderados com valores de 4.
Em contraste, a previsão real (escrita por um meteorologista humano) a partir desses dados foi:
As contagens de pólen devem permanecer altas no nível 6 na maior parte da Escócia, e até mesmo no nível 7 no sudeste. O único relevo está nas ilhas do norte e no extremo nordeste da Escócia continental, com níveis médios de contagem de pólen.
A comparação desses dois ilustra algumas das escolhas que os sistemas de GNL devem fazer; estes são discutidos mais detalhadamente abaixo.
Estágios
O processo de geração de texto pode ser tão simples quanto manter uma lista de texto enlatado que é copiado e colado, possivelmente vinculado a algum texto colado. Os resultados podem ser satisfatórios em domínios simples, como máquinas de horóscopo ou geradores de cartas comerciais personalizadas. No entanto, um sistema NLG sofisticado precisa incluir estágios de planejamento e combinação de informações para permitir a geração de texto que pareça natural e não se torne repetitivo. Os estágios típicos de geração de linguagem natural, conforme proposto por Dale e Reiter, são:
Determinação do conteúdo : decidir quais informações mencionar no texto. Por exemplo, no exemplo do pólen acima, decidir se menciona explicitamente que o nível de pólen é 7 no sudeste.
Estruturação do documento : Organização geral da informação a transmitir. Por exemplo, decidir descrever primeiro as áreas com altos níveis de pólen, em vez das áreas com baixos níveis de pólen.
Agregação : mesclagem de frases semelhantes para melhorar a legibilidade e a naturalidade. Por exemplo, mesclando as duas frases a seguir:
- Os níveis de pólen da grama para sexta-feira aumentaram dos níveis moderados para altos de ontem e
- Os níveis de pólen das gramíneas estarão em torno de 6 a 7 na maior parte do país
na seguinte frase única:
- Os níveis de pólen da grama para sexta-feira aumentaram dos níveis moderados para altos de ontem, com valores em torno de 6 a 7 na maior parte do país .
Escolha lexical : colocando palavras nos conceitos. Por exemplo, decidir se médio ou moderado deve ser usado ao descrever um nível de pólen de 4.
Geração de expressão de referência : Criação de expressões de referência que identificam objetos e regiões. Por exemplo, decidir usar nas Ilhas do Norte e no extremo nordeste da Escócia continental para se referir a uma determinada região na Escócia. Essa tarefa também inclui a tomada de decisões sobre pronomes e outros tipos de anáfora .
Realização : 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 de ser .
Uma abordagem alternativa ao NLG é usar o aprendizado de máquina "ponta a ponta" para construir um sistema, sem ter estágios separados, como acima. Em outras palavras, construímos um sistema NLG 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 ponta a ponta talvez tenha sido mais bem-sucedida na legendagem de imagens , ou seja, gerando automaticamente uma legenda textual para uma imagem.
Formulários
A mídia popular tem prestado mais atenção aos sistemas de NLG que geram piadas (ver humor computacional ), mas de uma perspectiva comercial, os aplicativos de NLG mais bem-sucedidos têm sido os sistemas de dados para texto 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, e que os textos gerados por computador podem ser superiores (da perspectiva do leitor) aos textos escritos por humanos.
Os primeiros sistemas comerciais de dados para texto produziram previsões meteorológicas a partir de dados meteorológicos. O mais antigo sistema a ser implantado foi o FoG, usado pela Environment Canada para gerar previsões do tempo em francês e inglês no início da década de 1990. O sucesso do FoG desencadeou outros trabalhos, tanto de pesquisa quanto comercial. As aplicações recentes incluem a previsão aprimorada por texto do UK Met Office .
Atualmente, existe um interesse comercial considerável em usar o NLG para resumir dados financeiros e de negócios. Na verdade, o Gartner disse que o NLG se tornará um recurso padrão de 90% das plataformas modernas de BI e analítica. O NLG 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 e melhorando a acessibilidade (por exemplo, descrevendo gráficos e conjuntos de dados para cegos).
Um exemplo de uso interativo de NLG é a estrutura WYSIWYM . Significa O que você vê é o que você quis dizer e permite que os usuários vejam e manipulem a visualização continuamente renderizada (saída NLG) de um documento de linguagem formal subjacente (entrada NLG), editando assim a linguagem formal sem aprendê-la.
Avaliação
Como em outros campos científicos, os pesquisadores de NLG 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 NLG:
- Avaliação baseada em tarefas (extrínseca) : dê o texto gerado a uma pessoa e avalie o quão bem isso a ajuda a realizar uma tarefa (ou de outra forma atingir seu objetivo comunicativo). 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 tomar melhores decisões.
- Avaliações humanas : dê o texto gerado a uma pessoa e peça-lhe que 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 , ROUGE e LEPOR .
O objetivo final é a utilidade dos sistemas de GNL para 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). Conseqüentemente (como em outras áreas da PNL) as avaliações baseadas em tarefas são a exceção, não a norma.
Recentemente, pesquisadores estão avaliando o quão bem as avaliações e métricas humanas se correlacionam com as avaliações baseadas em tarefas (prever). O trabalho está sendo conduzido no contexto de eventos de tarefa compartilhada do Generation Challenges. Os resultados iniciais sugerem que as avaliações humanas são muito melhores do que as métricas nesse aspecto. Em outras palavras, as classificações humanas geralmente prevêem a eficácia da tarefa pelo menos em algum grau (embora haja exceções), enquanto as classificações produzidas por métricas muitas vezes não prevêem bem a eficácia da tarefa. Esses resultados são preliminares. Em qualquer caso, as classificações humanas são a técnica de avaliação mais popular em NLG; isso é o contraste com a tradução automática , onde as métricas são amplamente utilizadas.
Veja também
- Preenchimento Automático
- Jornalismo automatizado
- Paráfrase automatizada
- Geradores de texto Markov
- Teoria do texto de significado
- Arte generativa § Literatura
Referências
Leitura adicional
- Dale, Robert; Reiter, Ehud (2000). Construindo sistemas de geração de linguagem natural . Cambridge, Reino Unido: Cambridge University Press. ISBN 978-0-521-02451-8.
- Evans, Roger; Piwek, Paul; Cahill, Lynne (2002). O que é NLG? . INLG2002. Nova York, EUA. papel
- Gatt, Albert; Krahmer, Emiel (2018). "Levantamento do Estado da Arte em Geração de Linguagem Natural: Tarefas centrais, aplicações e avaliação" . Journal of Artificial Intelligence Research . 61 : 65-170. arXiv : 1703.09902 . doi : 10.1613 / jair.5477 . S2CID 16946362 .
- Reiter, Ehud (16/01/2018). "Como faço para aprender sobre NLG?" .
links externos
- ACL Grupo de Interesse Especial sobre Geração ( SIGGEN )
- SIGGEN parte da ACL Anthology (contém artigos de pesquisa de NLG)
- Portal ACL NLG (contém lista de recursos NLG)
- A lista 'quase completa' de Bateman e Zock de sistemas NLG agora mantida como um Wiki com uma variedade de visualizações e tabelas de visão geral disponíveis sob demanda
- Blog de Ehud Reiter sobre Natural Language Generation
- Explicação multimídia interativa para manutenção e reparo de equipamentos - artigo que descreve a bancada de teste de explicação multimídia coordenada (COMET)