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
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 de Conhecimento Linguístico
Rede Léxico-Conceptual
{alimento}
Conj. de sinónimos
hiperonímia
{carne, chicha}
hiponíminia
{carne picada} ...
{carne branca}
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
Representação
Semântica das
unidades lexicais
Regras
Lexicais
Base de Dados
Léxico-Conceptual
(WordNet.PT)
Regras Sintácticas
Representação
Semântica da
Expressão
Forma Lógica
Regras
Sintagmáticas
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(FSem,Ltraços) ---> [Lex].
cat Fsem -
Categoria
Forma Semântica
Ltraços Lex -
Lista de traços
Unidade Lexical
Exemplos de Entradas Lexicais
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
spr: LSpr
elex(cat,LTraços, comp: LComps ,Representação Semântica)
gap: LGap
cat(Forma Semântica,Ltraços)^[Lista Restrições].
Meta – Entradas Lexicais
Meta-Entrada para determinantes indefinidos
Exemplo: um gato mia?
spr :
elex(det,Ltraços, comp : , (X^ P)^ (X^ Q)^ d(Palavra,Num, X, P
gap :
& Q))
det(Palavra, Ltraços)^[retira_elemento(Ltraços, tipo : exist, _),
extrai(Ltraços, num, Num)].
(Palavra = um; algum)
Regras Lexicais
Motivação:
Desdobram Meta-Entradas Lexicais permitindo generalizações
importantes
Economia do sistema
Esquema Geral
spr : LSpr
, Representação Semântica)
elex(Cat,Ltraços, comp :
gap : LComps
spr : LSpr
elex(Cat,Ltraços, comp : LComps , Representação Semântica)
gap :
Regras Lexicais
Regra Lexical para o gap de complemento
Exemplo: Os membros que o gato tem são patas?
spr :
elex(v, Ltraços, comp :
gap : r (C, _,
, X^ P)
, _, Y)
spr :
elex(v, Ltracos, comp : r(C, _,
gap :
, _, Y), X^ Y^ P)
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
Regras sintácticas que reconhecem sintagmas
Semântico
Regras semânticas que constroem representações de sintagmas
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.
Coordenação
As aranha e os gatos ...
X → X1, ..., Xn
Regras Sintagmáticas
Esquema Geral:
r(Cat, Ltraços,Predicados a
spr : LSpr
executar, comp : LComps , Representação Semântica)
gap : LGap
Parser Tabular
Ascendente
[ Lista de constituintes].
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'
spr : LSpr,
r(N,T, , comp : , , Sem)
gap : LGap
spr : LSpr,
comp : , , Sem).
elex(N,
T,
gap
:
LGap
Exemplo
Os gatos miam?
F
“os gatos miam?”
d(o, plu, A, gato(A) > miar(A))
SN
SV
“os gatos”
“miam”
(A^C)^d(o, plu, A, gato(A)>C)
D
“os”
(A^F)^(A^C)^d(o, plu, A, F>C)
N’
“gatos”
E^gato(E)
D^miar(D)
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