Titulo Estágio
Exploração de técnicas de Similaridade Semântica em Chatbots
Áreas de especialidade
Sistemas Inteligentes
Local do Estágio
DEI-FCTUC
Enquadramento
Hoje em dia estamos mais que acostumados a interagir com um sistema computacional através de um teclado, rato, ou com o nosso dedo. No entanto, a forma mais natural de interagir com este tipo de sistemas 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 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 é 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.
Um dos vários problemas no âmbito do Processamento de Linguagem Natural, alvo de abordagens computacionais, é o cálculo de Similaridade Semântica. Dado um par de palavras, expressões ou frases, o objectivo consiste em quantificar a proximidade do significado transmitido por cada uma. A identificação de frases com significado próximo é de extrema utilidade para vários sistemas que lidam com linguagem natural, tais como motores de pesquisa ou sistemas de diálogo.
Para além de várias formas de transmitir a mesma intenção, e dos outros fenómenos da linguagem natural, o diálogo deve ser tolerante a falta de informação e / ou adaptado ao contexto em que se desenvolve. Por exemplo, ao nível de frases, intenções muito semelhantes podem ser transmitidas de formas diferentes (e.g. “Quanto ficou o Benfica?”, “Qual foi o resultado do Benfica-Porto?”), e muitas vezes uma palavra é suficiente para alterar o significado transmitido (e.g. “No jogo de ontem, o Sporting perdeu” vs “No jogo de ontem, o Sporting não perdeu”).
Nos últimos anos têm sido organizadas tarefas de avaliação conjunta em Similaridade Semântica. Nestas avaliações, vários sistemas, desenvolvidos por diferentes equipas, procuram aproximar ao máximo os seus cálculos de similaridade a valores atribuídos por humanos. Destaca-se a tarefa Semantic Textual Similarity (STS), para o inglês e outras línguas, no âmbito das avaliações SemEval (ver edição de 2017: http://alt.qcri.org/semeval2017/task1/), e a tarefa ASSIN, para português (ver http://propor2016.di.fc.ul.pt/?page_id=381). Equipas do grupo CMS, do CISUC, participaram na última e em edições anteriores da tarefa STS do SemEval.
Objetivo
O objectivo desta dissertação passa por tirar partido do conhecimento obtido com a participação anterior em tarefas que envolviam o cálculo de similaridade semântica e explorar a sua aplicação a sistemas de diálogo ou chatbots.
Entre frases, a similaridade semântica é normalmente calculada com base num conjunto de características, tais como palavras e sequências de palavras em comum, ou palavras relacionadas, entre outras. As abordagens que têm revelado mais sucesso nesta tarefa tiram partido de aprendizagem computacional supervisionada (Supervised Machine Learning). Muito resumidamente, baseiam-se num conjunto de pares de frases e a respectiva similaridade, anotada por humanos, de onde as características a explorar são extraídas automaticamente, e utilizadas na aprendizagem de um modelo de similaridade, também de forma automática. Após a aprendizagem, o modelo poderá ser usado para calcular a similaridade de frases para as quais se desconhece o valor de similaridade.
Nesta dissertação, pretende-se explorar os modelos anteriores num chatbot que consiga responder a perguntas, em domínio fechado, pelo menos numa fase inicial. Assumindo que o chatbot tem acesso a uma base de conhecimento com perguntas e suas respostas ou forma de as obter, pretende-se tirar partido da similaridade semântica para associar uma interacção do utilizador, feita através de linguagem natural, com uma das perguntas conhecidas pelo sistema e, nessa sequência, fornecer a respectiva resposta. Em casos de maior incerteza, o sistema poderá apresentar ao utilizador um conjunto de opções ou pedir-lhe para clarificar algum aspecto da pergunta. Numa fase mais avançada, deverão estudar-se formas de tirar partido de interacções anteriores, na mesma sessão, para colmatar eventuais faltas de informação.
Este trabalho terá uma forte componente experimental, que deverá abranger: (i) avaliação e melhoria de abordagens para o cálculo da similaridade semântica (e.g. extração de características, seleção de algoritmos de aprendizagem); (ii) escolha de um modelo a aplicar aos sistemas de diálogo; (iii) análise de plataformas disponíveis que facilitem o desenvolvimento de chatbots (e.g. LUIS.ai, Wit.ai, API.ai); (iii) desenvolvimento de um protótipo que integre o modelo anterior e permita a resposta a um pequeno conjunto de perguntas; (iv) estudo de formas para explorar interações anteriores; (v) avaliação do protótipo.
O protótipo a desenvolver deverá focar-se numa língua, a escolher entre português e inglês, mas será importante a identificação dos requisitos necessários para a sua adaptação à língua não adoptada. Será ainda considerada a participação numa tarefa relacionada do SemEval 2018 (inglês) ou numa futura edição da ASSIN, dependendo da disponibilidade de tempo e da calendarização dessas mesmas tarefas.
Plano de Trabalhos - Semestre 1
- Levantamento do estado da arte de similaridade semântica
- Levantamento do estado da arte de chatbots / agentes conversacionais inteligentes
- Experimentação das abordagens de similaridade semântica seguidas no CMS e identificação de melhorias possíveis
- Planeamento da integração das abordagens anteriores num chatbot
- Elaboração da proposta de dissertação
Plano de Trabalhos - Semestre 2
- Implementação e avaliação de melhorias ao nível da similaridade semântica
- Desenvolvimento base do chatbot
- Integração dos modelos de similaridade no chatbot
- Experimentação e avaliação de diferentes modelos de similaridade e outras melhorias (e.g. exploração de interações anteriores), focadas no diálogo com o chatbot
- 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 com a indústria e, nesse contexto, de 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 Ana Oliveira Alves
hroliv@dei.uc.pt 📩