Determinação do Grau de Similaridade entre Frases UC 21095 Projeto Final Licenciatura em Informática Estudante nº 1100194: Helena Sofia Felisberto Coelho Orientadora: Prof.ª Gracinda Carvalho Lisboa, setembro de 2016
Introdução Apresentação do Problema 2 O processamento de linguagem natural integra um grande número de aplicações: sistemas de prospeção de dados (data mining), pergunta-resposta, sumarização automática de textos, deteção de plágio A determinação do grau de semelhança entre frases é uma tarefa com grande impacto nesse processamento, pois uma recolha de informação adequada depende da existência de métricas de similaridade para a avaliação da associação entre cada string e textos num corpus. Perante a variedade existente na linguagem natural, os sistemas que fazem uma avaliação semântica além da lexical afiguram-se mais relevantes.
Introdução Objetivos 3 Adicionar uma funcionalidade de comparação de frases ao sistema de pergunta-resposta IdSay (Carvalho, 2011) Analisar a literatura científica para selecionar um algoritmo Implementar o algoritmo, integrando-o no sistema IdSay Realizar testes ao sistema Escrever um artigo científico acerca do trabalho realizado
Considerações Teóricas O Sistema IdSay 4 Sistema de pergunta-resposta para a língua portuguesa Palavras representadas por números inteiros em vez de strings Criação e carregamento de índices (bases de informação) Níveis sucessivos de processamento: normalização de palavras lematização / stemming (agregar palavras morfologicamente relacionadas) determinação de entidades (base WES_PT) determinação de equivalências semânticas (base TeP) Aceita perguntas via consola ou ficheiros XML Bom desempenho em eventos internacionais
Considerações Teóricas A Tarefa ASSIN 2016 Primeira competição de sistemas de avaliação da similaridade semântica textual em português, no Workshop de Avaliação de Similaridade Semântica e de Inferência Textual (ASSIN) Atribuir a um par de frases uma pontuação numérica (1 5) que avalia quão similar é o seu conteúdo Criação do primeiro corpus anotado para tal tarefa em português (variantes brasileira e europeia), com frases retiradas de textos reais Inclui secções de treino e teste para sistemas de aprendizagem automática Script em Python para avaliação de resultados 5
Procedimentos Decisões Tomadas Linguagem de programação: C++ (programação orientada por objetos) Ambiente de desenvolvimento integrado: Visual Studio Sistema operativo: Windows Comparação de frases: Algoritmo Levenshtein Distance adaptado Três níveis de comparação: básica, ao nível das raízes e semântica Adição da opção de comparação de frases ao menu principal do IdSay 6 Submenus para escolha do nível de comparação e da via de leitura de frases (consola ou ficheiro XML) Avaliação de resultados: script da tarefa ASSIN
O Algoritmo Levenshtein Distance 7 Concebido pelo cientista russo Vladimir Levenshtein (1966) Avalia a similaridade entre duas strings com base no número de operações necessárias para transformar uma na outra (inserção, deleção e substituição de caracteres) Para cálculo da distância de edição, o custo de cada operação é normalmente 1 Para strings idênticas, a distância será 0 Aplicações: correção ortográfica, comparação de dialetos, análise de DNA, autenticação de assinaturas
Procedimentos Escrita de Código 8 Não
Resultados Exemplos de Utilização 9 Os testes funcionais empíricos mostram que o sistema produz os resultados esperados Exemplos de execução: Paulo Moreno excluído por dois minutos. / Alexis Borges volta a ser excluído por 2 minutos. A Lua é bonita / A lua é bela
Exemplo de aplicação do algorimto LD 10 Frase 1 (m = 7) Frase 2 (n = 10) Alexis Borges volta a ser excluído por 2 minutos. 0 1 2 3 4 5 6 7 8 9 10 Paulo 1 1 2 3 4 5 6 7 8 9 10 Moreno 2 2 2 3 4 5 6 7 8 9 10 excluído 3 3 3 3 4 5 5 6 7 8 9 por 4 4 4 4 4 5 6 5 6 7 8 dois 5 5 5 5 5 5 6 6 5/6 6/7 7/8 minutos 6 6 6 6 6 6 6 7 6/7 5/6 6/7. 7 7 7 7 7 7 7 7 7/8 6/7 5/6
Resultados Testes Estatísticos 11 L1 L2 L2 - S L4 L4 - S Pearson 0,27 0,27 0,27 0,29 0,27 MSE 1,03 0,95 0,96 0,93 0,96 L1 comparação básica L2 comparação ao nível das raízes L4 comparação semântica S uso de stemming em vez de lematização Pearson Coeficiente de Correlação de Pearson (teste de associação linear) MSE Mean Square Error (Erro Quadrático Médio) diferença entre uma estimativa e a realidade estimada
Considerações Finais 12 A associação linear é mais fraca do que se desejaria, mas a progressão das métricas estatísticas segundo os níveis de comparação corresponde ao esperado (associação menor para a comparação básica e maior para comparação semântica). Os testes estatísticos não permitam validar a adequação deste algoritmo à tarefa em causa Mas isso não significa que não serve para o fim pretendido. É preciso considerar que existe subjetividade na atribuição humana de um grau de similaridade a um par de frases. Deduz-se que a via seguida para adição ao sistema IdSay da funcionalidade de comparação de frases não reproduziu tão bem quanto se esperava uma avaliação humana do grau de similaridade entre frases.
Considerações Finais Perspetivas Futuras 13 Prossecução do desenvolvimento do sistema IdSay Aplicação de técnicas de aprendizagem automática combinando vários indicadores Exemplos de indicadores: distância de edição do par + número de elementos de diversas categorias gramaticais + relação entre as palavras partilhadas e o total de palavras diferentes nas duas frases, com e sem análise de sinónimos e raízes. Método dos k vizinhos mais próximos, com cálculo da distância de Manhattan ou euclideana para decidir, com base nos dados dos pares dum conjunto de treino, a pontuação a atribuir aos pares dum conjunto de teste.