Titulo Estágio
Pré-processamento e Extração de Características em texto para a utilização por Agentes Conversacionais
Áreas de especialidade
Sistemas Inteligentes
Local do Estágio
DEI/CISUC
Enquadramento
A forma mais natural de interagir com um sistema computacional será através da nossa língua, escrita ou falada. Aliado a este facto, recentes avanços tecnológicos no âmbito do Processamento de Linguagem Natural (PLN) e Inteligência Artificial têm levado a um crescente desenvolvimento e adopção de sistemas de diálogo, agentes conversacionais inteligentes, ou chatbots, pelas mais variadas entidades, a operar sobre diversos domínios.
Apesar de utilizada no dia-a-dia para a comunicação entre humanos, a Linguagem Natural (LN) é rica em fenómenos que dificultam o seu processamento e interpretação por programas de computador. Destaca-se a ambiguidade – a mesma palavra pode ser usada para referir dois conceitos diferentes (e.g. banco: instituição/assento) – e a homonímia – o mesmo conceito pode ser referido através de palavras diferentes (e.g. carro e automóvel). Isto para além de diferentes registos de linguagem (e.g. formal e informal), figuras de estilo (e.g. metáfora, ironia), ou de terminologia específica de determinados domínios, entre outros.
Entre os modelos seguidos para o funcionamento de agente conversacional destacam-se os baseados em regras e os baseados em corpos. De forma a lidar com os vários fenómenos da LN, os primeiros implicam uma grande quantidade de trabalho manual.
Nos segundos, há dois tipos principais de agente: (i) generativos, que analisam grandes quantidades de conversas (e.g. em redes sociais ou legendas de filmes) e aprendem a traduzir perguntas em respostas; (ii) baseados em Recuperação de Informação (RI), que procuram mapear frases com perguntas a que conseguem responder, recorrendo, por exemplo, a uma base de conhecimento.
Os agentes baseados em RI têm semelhanças a um motor de pesquisa com uma maior capacidade de interpretar pedidos em LN e de interagir com os utilizadores. São também os mais adequados para responder a perguntas concretas, dentro de um domínio mais fechado.
A sua base de conhecimento pode basear-se em texto, organizado em perguntas e respostas, ou corrido, sem grande estrutura.
Em qualquer caso, será necessário identificar e extrair características do texto, que permitam a sua utilização por um agente conversacional. Estas incluem, por exemplo palavras, sintagmas ou sequências mais relevantes, suas funções na frase, seus possíveis sinónimos ou outras palavras relacionadas.
No caso de texto corrido, será ainda fundamental extrair factos e perceber que perguntas podem ser respondidas pelo texto.
A maior parte das características pode ser extraída com recurso a ferramentas PLN para tarefas com diferentes níveis de complexidade, tais como separação em frases, tokenização, anotação morfo-sintática (part-of-speech tagging), reconhecimento de entidades mencionadas, anotação de papéis semãnticos (semantic role labelling), ou extração de relações.
Muitas das ferramentas anteriores são dependentes da língua, e a sua adaptação a diferentes línguas pode requerer a definição de novas regras, o treino de novos modelos, ou a exploração de diferentes recursos computacionais, entre outros.
Especificamente para português, existem ferramentas para algumas destas tarefas, desenvolvidas em diferentes linguagens de programação e com diferentes níveis de maturidade, algumas desenvolvidas no grupo CMS do CISUC, para além de recursos computacionais.
Para outras tarefas, desconhecemos a existência de ferramentas livres para o português.
Objetivo
O objectivo desta dissertação passa por montar uma cadeia de pré-processamento que permita a extração de um diverso leque de características a partir de texto escrito em português e organizado em pergunta-resposta ou corrido.
As características a extrair devem ser combinadas numa representação do significado do texto processado, de forma a permitir a sua utilização por agentes conversacionais.
Uma vez seleccionadas as características a extrair, será necessário identificar ferramentas existentes que possam ser utilizadas na sua extração, compreender eventuais limitações, e procurar resolver algumas.
Para algumas características (e.g. semantic role labelling), poderá ser necessário desenvolver ferramentas de raíz, ainda que possivelmente inspiradas em trabalhos para outras línguas.
No caso do processamento de texto corrido, deve ser dada especial atenção à sua estruturação em perguntas e respostas, o que pode recorrer a extração automática de factos. Apesar de existirem algumas ferramentas com este objectivo, e feitas para o português, todas têm limitações. Por isso, um dos objectivos deste trabalho passará também por desenvolver um novo extrator de factos em português, eventualmente partindo do extrator FactPORT, desenvolvido no CMS.
Por fim, a utilização das características extraídas deverá ser experimentada através da sua utilização, por um agente conversacional que deverá responder a perguntas sobre coleções de texto a que tenha acesso.
Apesar de se pretender chegar a uma solução flexível, o agente será testado com textos associadas ao Balcão do Empreendedor (https://bde.portaldocidadao.pt).
O trabalho terá uma forte componente experimental, que deverá abranger os seguintes passos: (i) identificação de ferramentas PLN para português e suas limitações; (ii) seleção e melhorias em ferramentas PLN para português e respetiva validação; (iii) organização das várias ferramentas numa cadeia; (iv) geração automática de perguntas e respostas a partir de texto corrido; (v) implementação de um protótipo de agente que explore as características extraídas; (vi) validação do protótipo.
Plano de Trabalhos - Semestre 1
- Levantamento do estado da arte de PLN, com foco no português
- Levantamento do estado da arte de chatbots / agentes conversacionais inteligentes
- Definição das características a extrair
- Identificação de ferramentas PLN para português e suas limitações, através de experimentação
- Elaboração da proposta de dissertação
Plano de Trabalhos - Semestre 2
- Seleção de ferramentas PLN, implementação de melhorias, e integração em pipeline
- Geração automática de perguntas
- Integração num protótipo (incluindo representação dos dados)
- Experimentação usando diferentes características
- Elaboração da dissertação
- Escrita de artigo científico
Condições
O local de trabalho será o laboratório de investigação do grupo CMS do CISUC onde haverá um acompanhamento regular por parte dos orientadores.
Há a possibilidade de este trabalho ser integrado num projecto de investigação que visa demonstrar a aplicação de Inteligência Artificial à Administração Pública. Nesse contexto, poderá ser remunerado através de uma bolsa de investigação para licenciado (745€/mês) com a duração de, pelo menos, 6 meses.
Orientador
Hugo Gonçalo Oliveira e Ricardo Rodrigues
hroliv@dei.uc.pt 📩