Geração de texto a partir de RDF


(Abelardo Vieira Mota) #1

Me chamo Abelardo e comecei em 2018 o mestrado em Ciência da Computação na UFC, pesquisando sobre geração de texto, Natural Language Generation(NLG), a partir de bases RDF, Semantic Web(SW).

Natural Language Generation é um ramo de Natural Language Processing que engloba o estudo de geração automatizada de textos(informação linguística) a partir de informações não linguísticas, como tabelas e imagens. Como exemplos de uso há:

Já Semantic Web é uma área de pesquisa que engloba o estudo de meios para tornar o conteúdo da web mais semântico para que computadores possam processá-los e extrair informações.

Como referência sobre NLG comecei pelo survey Survey of the State of the Art in Natural Language Generation: Core tasks, applications and evaluation
Como referência sobre Web Semantic vi o Semantic Web: Concepts, Technologies and Applications

Atualmente estou estudando a competição WebNLG cuja task consiste em gerar textos a partir de conjuntos de triplas RDF(tuplas <Sujeito, Predicado, Objeto>). Meu objetivo é utilizar essa competição como guia para os estudos sobre NLG com SW. Mantenho um repositório no github com os datasets da competição, artigos sobre a competição, códigos para leitura deles, algumas análises e modelos.

Qualquer sugestão ou discussão é muito bem vinda!


(Christian S. Perone) #2

Muito bom o projeto cara. Uma curiosidade, como que eles avaliam na competição a qualidade do texto gerado ? Por coincidência eu vi uma palestra bem legal da Microsoft em um meetup aqui só sobre essa parte de avaliação de NLG, não tem o vídeo da palestra mas tem os slides se tu tiver interesse.


(Abelardo Vieira Mota) #3

@christian.perone Vou copiar o trecho da descrição da competição que trata de avaliação(http://webnlg.loria.fr/pages/challenge.html):

Evaluation of the generated texts will be done both with automatic evaluation metrics (BLEU, TER or/and METEOR) and using human judgements obtained through crowdsourcing. The human evaluation will seek to assess such criteria as fluency, grammaticality and appropriateness (does the text correctly verbalise the input data?).

As métricas automáticas são métricas baseadas em referências, avaliando um texto gerado em comparação com um conjunto de textos ‘esperados’/referência. A BLEU, por exemplo, calcula uma espécie de precisão sobre N-grams do texto gerado e os textos de referência. O relatório sobre o resultado para essa forma de avaliação encontra-se no The WebNLG Challenge - Generating Text from RDF Data. Pelo que li, muitas das métricas utilizadas em NLG nasceram em outras tasks de NLP, como a BLEU surgiu para avaliar Machine Translation. Há uma discussão sobre a correlação entre métricas automáticas e a avaliação humana. No Human vs Automatic Metrics: on the Importance of Correlation Design há uma discussão sobre isso.

Já a avaliação humana é feita via crowdsource. O resultado encontra-se no WebNLG Challenge - Human Evaluation.

Muito obrigado pela referência do meetup! No momento estou usando essa competição como ‘guia’ para os estudos. Minha ideia é, usando o setup da competição, ir aprendendo sobre NLG partindo de modelos mais simples e naive, como esse, e ir aprendendo sobre modelos mais complexos. No momento estou estudando sobre modelos template-based, cuja abordagem consiste em extrair uma base de templates de um corpus e através de algum modelo associar templates a inputs, e com isso gerar o output.