INQUER Interacção Pessoa-Máquina em Linguagem Natural MÓDULO II Inferência e Extracção de Informação Ricardo Santos, 2003 Tópicos INQUER WordNet.PT Módulo II - Inferência e Extracção de Informação Extracção e Tratamento da Base de Dados Alg. de Consulta e Extracção de Informação Inferência e Extraccão de Informação Interface (site do INQUER) Arquitectura Geral do INQUER Pergunta (Português) INQUER MÓDULO I Analisador Base de Dados Lexical Forma Lógica Forma Lógica MÓDULO II Motor de Inferência Resposta MÓDULO III Gerador Resposta (Português) Base de Dados Léxico-Conceptual (WordNet.PT) WordNet.PT Base de Dados do Conhecimento Linguístico Rede Léxico-Conceptual Capta padrões da organização do léxico mental Relações entre conceitos lexicalizados Relações estruturantes Sinonímia ex. borrego-cordeiro; rabanada-fatia dourada Hiperonímia / Hiponímia {animal} ex. gato-mamífero; mamífero-animal hiperonímia/ generalização {mamífero} hiponímia/ especialização {cão} ... {gato} Cada conceito tem uma glosa associada Relações de Todo-Parte Holonímia / Meronímia Holo-parte / Mero-parte ex. açorda-pão; sangria-açúcar ex. árvore-tronco; leão-juba Holo-membro / Mero-membro ex. enxame-abelha; pinhal-pinheiro Holo-porção / Mero-porção ex. bolo-fatia; melão-talhada Holo-matéria / Mero-matéria ex. carne de porco-fiambre Holo-localização / Mero-localização ex. cidade-baixa Relações internas à estrutura do evento Role / Involved ex. gordura-fritar Agente / Envolve Agente ex. cão-ladrar; gato-miar Paciente (Objecto) / Envolve Paciente (Objecto) ex. vaca-ordenhar; almoço-almoçar Resulta / Tem Resultado ex. bolo-cozer; fumado-fumar Arquitectura Geral - Módulo II Representação Semântica (Forma Lógica - LPO) INFERÊNCIA e EXTRACÇÃO de INFO. Processamento da FL PERG. POLARES PERG. SOBRE ARG. Alg. Satisf. da FL Alg. Segm. da FL INFERÊNCIA Alg. de Consulta Alg. de Extracção Base de Dados Léxico-Conceptual (WordNet.PT) Resposta (em linguagem artificial) Extracção e Tratamento da BD Construção de ficheiros consultáveis pelo Prolog Extracção de Dados WordNet.PT Ficheiros de Texto Polaris Detonador Base de Dados INQUER Geração de Ficheiros Prolog Ficheiros Prolog Ordenação e Remoção de redundâncias Algoritmos de Consulta e Extracção de Informação Correspondência entre Termos/Expressões em LN e relações da WN.PT Termos/Exps em LN WN.PT sinónimo; “o mesmo”; variante Sinonímia hipónimo; tipo; subtipo; raça; espécie Hiponímia hiperónimo; supertipo Hiperonímia glosa; definição; significado/significar Glosa Ex. Perguntas - Quais são os sinónimos de fatia dourada? - “Borrego” é o mesmo que carneiro? - Quantos (sub)tipos de felino há? - Quais são as raças de gatos que existem? - “Carnívoro” é hiperónimo/supertipo de cão? - Qual é a definição/glosa de gato siamês? - O que significa fritar? Correspondências LN-WN.PT (cont.) LN ser ter “feito de”; levar “feito com”; levar Verbos da WN.PT (miar,ladrar,comer,...) Relações da WN.PT Hiper/Hiponímia; Sinonímia; Glosa Meronímia; Mero-parte; Mero-porção Mero-matéria Holonímia/Meronímia Role/Involved Ex. Perguntas - Os cães são carnívoros? - Um borrego é um cordeiro? - O que é um gato? - A açorda tem pão? - Os gatos têm patas? - O pão tem migalhas? - O fiambre é feito de carne de porco? - Um enchido leva carne? - Os doces são feitos com açúcar? - Quais são os pratos que levam bacalhau? - Os gatos miam? Algoritmos de Consulta e Extracção de Informação Implementação dos algoritmos usando predicados que representam relações da WN.PT Predicados: has_hyponym/2 has_meronym/2 gloss/2 etc. Inferência & Extracção de Info. Dois tipos de pergunta Polares (consulta) Sobre argumentos (consulta e extracção) Inferência (Porquê?) A Base de Dados não contém todo o conhecimento de forma explícita Necessário mecanismo capaz de inferir informação implícita Inferência Factos Prolog Forma Lógica has_hyponym(gato,'gato siamês'). x (gato_siamês(x) gato(x)) has_hyponym(felino,gato). x (gato(x) felino(x)) has_mero_part(felino,pata). x (felino(x) (y (pata(y) ter(x,y))) felino pata gato gato siamês Perguntas Polares Uma Forma Lógica é verdadeira ou falsa num determinado modelo (WN.PT) Pressuposto de Mundo Fechado Satisfação da Forma Lógica A sse B - A é satisfazível em WN.PT se e só se a condição B se verifica R(t1,..,tn) sse t1 a tn são conceitos lexic. da WN e R/n um pred. exec. P Q sse P é satisfazível e Q é satisfazível em WN.PT P sse P não é satisfazível em WN.PT x P(x) sse Existe pelo menos um x tq P(x) é sat. em WN.PT x P(x) sse Não existe um x tq P(x) não seja sat. em WN.PT -Todos os felinos miam? - Não | -Alguns felinos miam? - Sim Perguntas sobre Argumentos Algoritmo: 1- Segmenta a FL devolvendo uma lista com os predicados executáveis que a compõem 2- Executa os predicados extraindo conjuntos de conceitos 3- Faz a intersecção desses conjuntos 4- Devolve resultado Exemplo Quais são os carnívoros que têm focinho? [qual(A)*>d(o,plu,B,carnívoro(B)&d(exi,sing,C,felino(C) &ter(B,C))>ser_v(A,B)))] 1- [ter(D,focinho), ser_v(E,carnívoro)] 2- conj1 (ter_focinho) [canídeo, marsupial, coelho, lebre, doninha, felino, equídeo, urso, roedor, ruminante, toupeira, ...] conj2 (ser_carnívoro) [canídeo, ave de rapina, fuínha, furão, marta, orca, felino, crocodilo, jacaré, tubarão branco, ...] Exemplo (cont.) 3- [canídeo, diabo da Tasmânia, felino, fuínha, furão hiena, marta, ouriço-cacheiro] 4- canídeo, diabo da Tasmânia, felino, fuínha, furão hiena, marta, ouriço-cacheiro Resposta à pergunta: Quais são os carnívoros que têm focinho? Processamento da Forma Lógica Integração dos Módulos (Perg. Polares e Perg. Sobre Argumentos) Análise da FL e reencaminhamento para o respectivo Módulo Perguntas Ambíguas Uma resposta para cada interpretação Coordenações (ex. Os gatos e os cães são animais?) Aplicação do processo de inferência e extracção de informação a cada componente da coordenação Interface Site do INQUER - Arquitectura Form HTML Pergunta Pedido HTTP Prolog-CGI Script Página HTML Página HTML Resposta Web Browser Servidor CLUL Demonstração do site http://www.clul.ul.pt/clg/inquer Em síntese Estudo da WordNet.PT Extracção e Tratamento da Base de Dados Implementação dos Algoritmos de Consulta e Extracção Implementação dos mecanismos de obtenção de resposta para os dois tipos de pergunta Construção do site do INQUER Trabalho Futuro – Módulo II Melhorar a rapidez dos algoritmos de busca e extracção de info. Cobrir todas as relações semânticas utilizadas pela WN.PT Considerar: Interrogativas de Alternativa - ex. os gatos são felinos ou canídeos? Interrogativas sobre Adjuntos Causais - ex. por que é que os peixes têm guelras? Interrogativas que envolvem comparação - ex. o que têm em comum um gato e um cão? Trabalho Futuro - INQUER Desenvolvimento do Módulo III – Geração em LN Módulo de Fala (Reconhecimento e Síntese) Rumo ao HAL9000...