ESCOLA POLITÉCNICA DA UNIVERSIDADE DE SÃO PAULO Departamento de Engenharia de Computação e Sistemas Digitais Implementação de buscas utilizando Linguagem Natural através de Algoritmos Adaptativos Alencar Jr. Cerqueira André Martini Diniz Carolina Dorta Paulo Shindi Kuniyoshi Motivação Objetivos Vídeo 1: Complexidade PLN(Mostrar todas as combinações possíveis) Aspectos Conceituais ▪ Linguagem Natural ▪ Técnicas de Processamento de Linguagem Natural ▪ Autômato de Pilha estruturado ▪ Adaptatividade ▪ Rede semântica Implementação ▪ Vídeo 2: Funcionamento (Montar árvore sintatica, rede semantica) ▪ Escolha do método / técnica(Metodologia) ▪ Sistema ▪ Modo de funcionamento / Modo de aprendizado / Mode de utilização ▪ Arquitetura: Simplificada / Detalhada ▪ Analisador Morfológico: Jspell / Dicionário IBLINAA ▪ Analisador Sintático ▪ Ações semânticas Limitação das buscas por palavras-chaves Busca por semântica Técnicas de Processamento de Linguagens Naturais Técnicas: Simbólica Estatística Híbrida Comparação técnicas PLN / Aquisição de dados Simbólico Menos dados para gerar um sistema maduro Estatístico Connectionist Mais dados para gerar sistema maduro Criação de regras Possuem critérios Pouco especificadas Teoria ou Modelo Baseada em regras Parametrizado Robustez Vulnerável aos ruídos Flexibilidade Não adaptável Mais tolerantes a ruídos Mais indicados para tratar textos irrestritos Extensão do Autômato Finito para ter aninhamento sintáticos Chamada de Sub-máquina + Pilha APE Adaptativo Redes semânticas • O usuário insere um artigo no sistema Inserção Artigo Inserção gradual de novas estruturas PréProcessamento • O sistema realiza um pré-processamento que identifica informações relevantes em estruturas de frases conhecidas pelo analisador da linguagem Rede Semântica • O sistema armazenará as informações retiradas da etapa anterior em uma rede semântica que orientará a busca destas informações Inserção gradual de novas estruturas Estrutura de Pergunta • O usuário seleciona uma estrutura de pergunta reconhecida pelo sistema Pergunta • Neste momento o usuário faz a pergunta em si e o sistema irá buscar a resposta dentro de sua rede semântica Resposta • O sistema retorna a resposta para o usuário, bem como a fonte de onde esta resposta foi retirada e um link para acessar este documento Analisador Sintático Algorítmo Adaptativo Rede Semântica IBLINAA View View ... View Controller Controller ... Controller Analisador Morfológico Interface de Comunicação Analisador Sintático Adaptativo Model história biologia ... BDs Figura 5- Diagrama Classes módulo Análise Sintática Jspell : Framework de análise morfológica mais utilizado na língua portuguesa Dicionário IBLINAA: Construção para suprir as deficiências do Jspell Figura 5- Diagrama Classes módulo Análise Sintática Autômato de pilha estruturado Gramática simplificada do Português pelo professor João José Neto baseada no livro do Luft Gramática projetada pelo grupo Classes do módulo de Análise Sintática Sub-máquinas Figura 9- Máquina V Estrutura semântica do Banco de Dados Exemplo estruturado em rede semântica Quem Exemplo de pergunta: Quem ofereceu café? Para as perguntas iniciadas por Quem, deve-se seguir a seguinte estratégia de busca: • Identifica-se o verbo: ofereceu • Identifica-se o objeto (conceito 2): café • Identifica-se a Ligação Semântica cujo conceito 2 seja café e o verbo seja ofereceu -> José. • Identifica-se o texto de Sujeito a que o conceito 2 se refere -> O lindo José. Resposta: O lindo José. Figura 5- Diagrama Classes módulo Análise Sintática Teste das sentenças (Sub-máquinas) Teste Adaptatividade(Aprendizado) Teste para extração de informação(Busca) Testes já realizados Caminho Exemplo: Submáquina Det Frase OK? Det(0123) Todos os meus OK Det(0123) Primeiro o meu OK Det(0123) Primeiro aquele seu OK Det(0123) Todo aquele nosso OK Det(0123) Todos os primeiros OK Det(0123) Primeiro o terceiro OK Det(0123) Primeiro esse terceiro OK Det(0123) Todos estes primeiros OK Det(012) Todas as OK Det(012) Todos nossos OK Det(012) Primeiro as OK Figura 5- Diagrama Classes módulo Análise Sintática Figura 5- Diagrama Classes módulo Análise Sintática Gramática Luft vs Gramática IBLINAA Comparação árvore entre Luft e IBLINAA Desempenho das „pétalas“ Mostrar os casos de reconhecimento Pergunta / Resposta Figura 5- Diagrama Classes módulo Análise Sintática Adaptatividade Dicionário IBLINAA Gramática da língua portuguesa Estrutura Semântica Reconhecimento de estruturas da língua portuguesa Pesquisa na Internet Figura 5- Diagrama Classes módulo Análise Sintática Vantagens desta técnica: Flexível a outras gramáticas ▪ Fácil de reconhecer sentenças de outras linguagens naturais Modular ▪ Fácil de mudar as sub-máquinas „Inteligente“ ▪ Adaptativo … Laboratório de Linguagens e Técnicas Adaptativas da USP http://www.pcs.usp.br/~lta/union/index.php?cp=4 World Wide Web Consortium (W3C) http://www.w3.org/ DBpedia http://dbpedia.org/About Teste de Reconhecimento Texto:Coelhinho esperto Tempo de Processamento : 4 minutos Quantidade de frases: 50 Quantidade de frases reconhecidas: Possibilidade de reconhecimento com pequenas modificações : 5 + 5 frases Não reconhecimento por: Gramática não reconheceu (com possibilidade de mudanças) 20 Gramática não reconheceu (mudanças complicadas) 12 Período composto 29 Erro no Jspell (verbo) 6 Erro no Jspell (outras classes) 8 Erro do Analisador Sintático 0 ( Não foram contabilizados os períodos compostos aqui )