Proposta sem aluno

DEI - FCTUC
Gerado a 2024-05-07 19:14:49 (Europe/Lisbon).
Voltar

Titulo Estágio

Classificação Preliminar de Texto para Chatbots

Áreas de especialidade

Sistemas Inteligentes

Local do Estágio

DEI / CISUC

Enquadramento

O Processamento de Linguagem Natural (PLN) é uma sub-área da Inteligência Artificial que tem como objetivo final capacitar as máquinas a comunicar através da linguagem humana.
Para tal, é muitas vezes necessário passar por várias fases de processamento, tais como a análise morfológica (caraterísticas das palavras), análise sintática (funções das palavras) ou a análise semântica (significado das palavras).

A ideia do PLN está materializada em agentes conversacionais / chatbots, que interagem precisamente atrvés da linguagem humana. Entre os modelos seguidos para um agente deste tipo, destacam-se os baseados em regras e os baseados em corpos. De forma a lidar com os vários fenómenos da linguagem natural, os primeiros implicam uma grande quantidade de trabalho manual. No segundoss, 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) e Resposta Automática a Perguntas, que procuram mapear frases com perguntas a que conseguem responder, recorrendo, por exemplo, a uma base de conhecimento.
Os primeiros são normalmente escaláveis e normalmente capazes de gerar uma resposta para qualquer interação. Por outro lado, tendem a ser repetitivos e, por fazerem poucas assumpções acerca do domínio, raramente conseguem lidar com informação factual.
Já os segundos, permitem um maior controlo e são, por isso, mais adequados a realizar uma tarefa ou esclarecer questões acerca de um domínio.

A RI é actividade de obter informação de acordo com necessidades expressas, normalmente, através de texto, como no Google. Interessa, por um lado, estudar a melhor forma de associar um texto do utilizador a textos relevantes e, por outro, a melhor forma de indexar toda a informação disponível (normalmente documentos textuais), com vista a uma comparação eficiente e à sua rápida obtenção.
Neste contexto, pode interessar explorar modelso de Similaridade Semântica Textual (SST), que procuram atribuir um valor à similaridade entre dois fragmentos de texto, tirando para isso partido de uma vasto conjunto de características (e.g., lexicais, sintáticas, semânticas).

Outra área relacionada é a Classificação Automática de Texto, que tem como objetivo atribuir uma classe, de um conjunto pré-definido, a um documento textual. Segue normalmente uma abordagem de aprendizagem supervisionada, onde um classificador é treinado com um conjunto de textos já associados a classes. Neste processo, podem explorar-se diferentes características, começando pelas palavras e sequências de palavras utilizadas.

Este trabalho será integrado num projeto onde se estão actualmente a explorar soluções para o esclarecimento automático de dúvidas associadas ao Balcão do Empreendedor / Espaço Empresa (https://eportugal.gov.pt/inicio/espaco-empresa), um portal do Governo Português que tem como objetivo apoiar empreendedores na criação e gestão do seu negócio.

Objetivo

O trabalho tem como objetivo principal a exploração de abordagens para classificar textos curtos / interações em linguagem natural num vasto conjunto de classes, para as quais nem sempre haverá grandes quantidades de texto, e a sua integração num agente conversacional / chatbot focado num domínio.

Uma abordagem frequente no desenvolvimento de agentes deste tipo passa pela aplicação de técnicas de RI e SST que procuram associar interações do utilizador, em linguagem natural, com intenções / perguntas numa base de conhecimento, para as quais ele tem a resposta (e.g., em texto) ou forma de obter (e.g., através de uma query SQL). Uma vez associada a interação a uma pergunta, o agente obtém a sua resposta e dá-a ao utilizador.

Porém, num contexto de muita informação, incompleta, desequilibrada e espalhada por diversas fontes de dados, será vantajoso fazer uma classificação inicial onde, com base na interação (inserida, por exemplo, num chatbot), seja reduzido o espaço de procura.
O classificador a desenvolver terá precisamente esse objetivo: a atribuição de uma classe a cada interação do utilizador poderá permitir que o agente se foque apenas numa parte dos dados, ou até eliminar algumas fontes de dados que, para a classe em questão, não serão úteis. No mesmo cenário, poderá haver perguntas a que o agente não consegue responder, mas que, ainda assim, poderá prestar auxílio, por exemplo, direcionando o utilizador para um documento / página web com informação sobre essa classe.

As experiências no âmbito deste trabalho deverão ser realizadas, primeiramente, sobre dados do Catálogo de Entidades e Serviços (CES) da plataforma Balcão do Empreendedor.
Ou seja, o classificador será treinado com textos associados a cada serviço (por exemplo, a sua descrição) e avaliá-lo no contexto das interações do utilizador.
Um desafio será o grande número de serviços existentes e a pouca quantidade de textos associados. Uma análise do CES deverá identificar todos os campos textuais ou campos que possam ser traduzidos para texto ou listas de palavras, para que todos eles sejam aproveitados e considerados.
Deverá ainda ser feita uma análise das melhores características do texto a usar, se as palavras serão suficientes, ou se será necessário um processamento inicial para, por exemplo, normalizar o texto ou identificar entidades relevantes.

O classificador deverá ser finalmente integrado num chatbot com quem o utilizador poderá interagir. No caso de não conseguir responder a uma questão colocada, por não ter confiança na sua associação a perguntas da base de conhecimento, ou por se tratar de um serviço sem perguntas associadas, o bot deverá informar o utilizador do(s) serviço(s) identificado(s), eventualmente pedir-lhe para fornecer mais informação, de forma a obter mais contexto que possa usar na classificação, e, se possível, fornecer informação genérica acerca do serviço, possivelmente encaminhando o utilizador para um documento na web, associado a esse serviço.

Plano de Trabalhos - Semestre 1

- Levantamento do estado da arte na área do Processamento de Linguagem Natural e sub-áreas de interesse para o trabalho
- Análise do modelo de dados do BDE (CES)
- Familiarização com os modelos ferramentas a usar
- Elaboração da proposta de dissertação

Plano de Trabalhos - Semestre 2

- Experimentação e análise de caraterísticas
- Avaliação de uma seleção de modelos
- Integração num chatbot e experimentação neste contexto
- 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 aplicar técnicas de Inteligência Artificial à Administração Pública. Nesse contexto, poderá ser remunerado através de uma bolsa de investigação para licenciado (752€/mês) com a duração de 6 meses.

Observações

Durante a fase de candidatura, dúvidas relacionadas com esta proposta, nomeadamente acerca dos objectivos e condições, devem ser esclarecidas com o orientador, através de e-mail (hroliv@dei.uc.pt) ou de uma reunião presencial, a marcar após um contacto por e-mail.

Orientador

Hugo Gonçalo Oliveira e Ana Alves
hroliv@dei.uc.pt 📩