Construção de Sistemas de Geração Automática de Língua Natural

From HLT@INESC-ID

David Martins de Matos

Resumo

Este trabalho procura melhorar aspectos da construção de aplicações de língua natural, especialmente – embora não exclusivamente – no que respeita a língua Portuguesa. Abordam-se os aspectos de engenharia de software respeitantes a construção e manutenção de aplicações modulares e o da criação e gestão de recursos linguísticos multiusos. Considerando que a motivação partiu do problema de desenvolvimento de aplicações de geração automática de língua natural, e este campo que guia a progressão do trabalho. Constituiram aspectos motivadores para o trabalho (i) a existência de poucos recursos para o Português que fossem utilizáveis na area de geração; (ii) as dificuldades de reutilização de recursos linguísticos; (iii) as dificuldades de integracao de componentes existentes em novas arquitecturas; (iv) a potencial dificuldade de manutenção e de reutilização de componentes que possam vir a ser construídos.

As contribuições são uma plataforma abstracta que permite a construção e execução de aplicações distribuídas e um repositório de recursos linguísticos que permite a integração e acesso a dados provenientes de múltiplas fontes. Foram desenvolvidos dois protótipos: o primeiro, o sistema Galinha, actua ao nível da gestão da arquitectura das aplicações e da comunicação entre componentes; o segundo actua ao nível do armazenamento e da gestão de recursos linguísticos.

Apresenta-se um pequeno demonstrador da infra-estrutura.

Palavras Chave: Aplicacoes de processamento de língua natural; Arquitecturas de software; Aplicações modulares e distribuídas; Repositórios para recursos linguísticos; Gestão e reutilização de recursos linguísticos; Geração automática de língua natural

Abstract

This work seeks to improve construction aspects of natural language applications, especially – although not exclusively – in what concerns the Portuguese language. The focus is on software engineering aspects concerning construction and maintenance of modular applications, and on the creation and management of multi-functional linguistic resources. The field of natural language generation, in general, and the problems associated with the development of natural language generation applications, in particular, were the initial motivation and they guide the progress of the work.

Motivating factors for the work were (i) the existence of few resources for Portuguese suitable for use in generation applications; (ii) the difficulties associated with reusing linguistic resources; (iii) the difficulties associated with the integration of existing components in new architectures; (iv) the potential difficulties associated with maintaining and reusing new components.

The contributions are an abstract platform that allows construction and execution of distributed applications, and a repository for linguistic resources that allows multi-source data to be integrated and accessed. Two prototypes were built: the first, the Galinha system, acts at the application architecture management level, and at the component communication level; the second acts at the level of language resources storage and management.

A small demonstrator for the infrastructure is also presented.

Keywords: Natural language processing applications; Software architectures; Distributed modular applications; Repositories for language resources; Reuse and management of language resources; Automatic natural language generation

Full Text