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
Download

INQUER - Interacção Pessoa-Máquina em Linguagem Natural