INQUER Interacção Pessoa-Máquina em Linguagem Natural Módulo I Análise Sintáctico-Semântica Catarina Ribeiro
Tópicos Inquer WordNet.PT Módulo I - Análise Sintáctico-Semântica Tratamento da Base de Dados Lexical Implementação do analisador gramatical
INQUER Desenvolvido no CLG (CLUL) Objectivo: Desenvolvimento de um Sistema Pergunta-Resposta que permita interagir em Linguagem Natural com a WordNet.PT
INQUER - Arquitectura Geral Pergunta (Português) INQUER Base de Dados Lexical MÓDULO I Analisador Forma Lógica Base de Dados Léxico-Conceptual (WordNet.PT) MÓDULO II Motor de Inferência Forma Lógica Resposta MÓDULO III Gerador Resposta (Português)
WordNet.PT Base de Dados de Conhecimento Linguístico Rede Léxico-Conceptual {alimento} {carne, chicha} {carne picada} ... {carne branca} Conj. de sinónimos hiperonímia hiponíminia Conj. de sinónimos
Módulo I Análise Sintáctico-Semântica Objectivo Geral: Selecção e modelização de estruturas sintácticas Construção de um analisador gramatical que: Recebe uma pergunta em LN Analisa-a e Reconhece-a sintacticamente Constrói uma representação semântica para cada interpretação possível
Módulo I Análise Sintáctico-Semântica Especificidades do módulo: Formalismo Sintáctico: Inspirado no modelo de HPSG (subcategorização representada através de estruturas de traços) Formalismo Semântico: Linguagem de Lógica de Primeira Ordem + Termos Lambda Linguagem de Programação Prolog
Módulo I - Arquitectura Pergunta (Expressão em Português) Analisador Gramatical Base de Dados Lexical Processamento da Pergunta Meta-Entradas Lexicais Herança de Traços Base de Dados Léxico-Conceptual (WordNet.PT) Representação Semântica das unidades lexicais Regras Sintagmáticas Regras Sintácticas Representação Semântica da Expressão Regras Lexicais Forma Lógica
Base de Dados Lexical Entradas Lexicais retiradas da WordNet.PT Expressões nominais (ex. cão, planta) Expressões verbais (ex. ladrar, andar) Entradas Lexicais e Funcionais introduzidas Verbos (ex. ser, ter) Determinantes (ex. o, todos) Preposições (ex. de) Pronomes relativos e interrogativos (ex. que, qual) Nomes (ex. tipo, raça) Conjunções (ex. e) Operador de negação (não)
Base de Dados Lexical Inclusão de traços morfológicos e semânticos nas entradas lexicais Necessários para o processamento sintáctico e morfológico Exemplo: * um vaca um → [gen: mas; num:sing] vaca → [gen:fem; num:sing, cont:s] Implementação de um mecanismo de herança de traços utilizando a estrutura hierárquica da WordNet.PT
Base de Dados Lexical Formato das Entradas Lexicais cat - Categoria cat(FSem,Ltraços) ---> [Lex]. cat - Categoria Fsem - Forma Semântica Ltraços - Lista de traços Lex - Unidade Lexical
Exemplos de Entradas Lexicais animal n(’animal',[num:sing,gen:mas,cont:s,abst:n,anim:s, ser_vivo:s, hum:n])---> [animal]. vaca n(’vaca',[num:sing,gen:fem]) ---> [vaca]. Utilizando o mecanismo de herança de traços n(’vaca',[num:sing,gen:fem,cont:s,abst:n,anim:s,ser_vivo:s,hum:n]).
Pré-Processamento da Pergunta Verificação da existência do ponto de interrogação (?) Conversão da string introduzida numa lista de unidades lexicais Tratamento de contracções Exemplo: do → de + o
Pré-Processamento da Pergunta Reconhecimento do Léxico (através da Base de Dados Lexical) Identificação de lexicalizações não atómicas As fatias douradas são comida? [[as,‘fatias douradas’,são,comida], [as,fatias,douradas,são,comida]] O gato persa é um animal ? [[o,‘gato persa’,é,um,animal]]
Meta – Entradas Lexicais Motivação: Adicionam às entradas lexicais informação necessária à aplicação de regras sintácticas e semânticas Economia do sistema Esquema Geral
Meta – Entradas Lexicais Meta-Entrada para determinantes indefinidos Exemplo: um gato mia? (Palavra = um; algum)
Regras Lexicais Motivação: Esquema Geral Desdobram Meta-Entradas Lexicais permitindo generalizações importantes Economia do sistema Esquema Geral
Regras Lexicais Regra Lexical para o gap de complemento Exemplo: Os membros que o gato tem são patas?
Fenómenos Linguísticos Concordância núcleo - especificador (género e número) Construções com Orações relativas restritivas (de sujeito e complemento) Coordenações Negação frásica Inversão de sujeito (verbo “existir”) Construções com predicados de um ou dois lugares
Regras Sintagmáticas Número de Regras: 10 Níveis: Sintáctico Semântico Regras sintácticas que reconhecem sintagmas Semântico Regras semânticas que constroem representações de sintagmas
Núcleo - Especificador Regras Sintagmáticas Esquema geral Regra Exemplo X → Y, X Núcleo - Especificador Os gatos são animais X → X, Y Núcleo - Complemento ... são animais. X → X1, ..., Xn Coordenação As aranha e os gatos ...
Parser Tabular Ascendente Regras Sintagmáticas Esquema Geral: Parser Tabular Ascendente
Parser Tabular Ascendente Melhores resultados com a gramática utilizada Problemas As regras podem ser chamadas antes de todas as variáveis dos seus constituintes estarem devidamente instanciadas o que provoca falhas Solução: Guardar, numa lista, as acções a tomar quando todas as variáveis dos seus constituintes estiverem instanciados
Regras Sintagmáticas Promoção de X para X'
Exemplo Os gatos miam? F “ os gatos miam? ” d(o, plu, A, gato( A ) > miar( )) SN SV os gatos miam ( ^ C )^d(o, plu, A, gato( )> ) D miar( N’ os “gatos” )^( ^C)^d(o, plu, , F> C) E gato(E)
Demonstração
Em Síntese... Extracção do léxico da WordNet.PT Tratamento da base de dados (herança de traços) Construção e implementação do analisador gramatical
Trabalho Futuro Desenvolver regras capazes de lidar com: Inversões de sujeito Adjunções de sintagmas adjectivais a N’ Estruturas com complementos causais Estruturas que envolvem comparação Desenvolvimento do Módulo III-Geração