interpretação de mensagens entre agentes exploradores no mundo do wumpus paulo b. oliva, di-ufpe...

29
Interpretação de Mensagens Interpretação de Mensagens entre Agentes Exploradores no entre Agentes Exploradores no Mundo do Wumpus Mundo do Wumpus Paulo B. Oliva, DI-UFPE www.di.ufpe.br/~pbo 11 de fev. de 1999

Upload: internet

Post on 17-Apr-2015

102 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Interpretação de Mensagens entre Agentes Exploradores no Mundo do Wumpus Paulo B. Oliva, DI-UFPE pbo 11 de fev. de 1999

Interpretação de Mensagens Interpretação de Mensagens entre Agentes Exploradores no entre Agentes Exploradores no

Mundo do WumpusMundo do Wumpus

Paulo B. Oliva, DI-UFPEwww.di.ufpe.br/~pbo11 de fev. de 1999

Page 2: Interpretação de Mensagens entre Agentes Exploradores no Mundo do Wumpus Paulo B. Oliva, DI-UFPE pbo 11 de fev. de 1999

ConteúdoConteúdo

Introdução• Gramáticas DCG• Acumuladores

Arquitetura de Sistemas PLN• Processamento morfológico• Processamento sintático de superfície• Processamento sintático profundo

Conclusão• Dificuldades

Demo ao vivo

Page 3: Interpretação de Mensagens entre Agentes Exploradores no Mundo do Wumpus Paulo B. Oliva, DI-UFPE pbo 11 de fev. de 1999

Gramáticas DCGGramáticas DCG

Definite Clause Grammar• Formalismo built-in de Prolog e LIFE para

representação de estruturas lingüisticas.• Pode ser usado diretamente para os

processamentos morfológico e sintático no parsing de linguagens naturais.

• Também pode ser utilizado para os processamentos semântico e pragmático.

Page 4: Interpretação de Mensagens entre Agentes Exploradores no Mundo do Wumpus Paulo B. Oliva, DI-UFPE pbo 11 de fev. de 1999

Gramáticas DCGGramáticas DCG Sintaxe: const(...,X:, ...,Y:, ...) --> subconst1(...,X,...) , ... , subconstM(...,Y,...) {pred1(...,X,...,Y,...), ..., predN(...,X,...,Y,...)} Expansão em LIFE const(...,X:, ...,Y:, ..., in_dcg=>_A, out_dcg=>_Z]) :- subconst1(...,X,..., in_dcg=>_A, out_dcg=>B), ... , subconst25(...,Y,..., in_dcg=>_Y,

out_dcg=>_Z), pred1(...,X,...,Y,...), ..., predN(...,X,...,Y,...)

Page 5: Interpretação de Mensagens entre Agentes Exploradores no Mundo do Wumpus Paulo B. Oliva, DI-UFPE pbo 11 de fev. de 1999

Gramáticas DCGGramáticas DCG

Exemplo:frase --> sn, gv?sn --> nome?sn --> det, subs?nome --> [“Ana”]?det --> [“a”]?subs --> [“pera”]?gv --> verb?verb --> [“come”]?verb --> [“canta”]?

gramática para parsing da sub-linguagem“Ana canta”“Ana come a pera”

Em LIFE:frase(in_dcg => _A,out_dcg => _B) :- sn(in_dcg => _A,out_dcg => _C), gv(in_dcg => _C,out_dcg => _B).

nome(in_dcg => ["Ana"|_A],out_dcg => _A)

:- succeed.

Page 6: Interpretação de Mensagens entre Agentes Exploradores no Mundo do Wumpus Paulo B. Oliva, DI-UFPE pbo 11 de fev. de 1999

Acumuladores em LIFEAcumuladores em LIFE

Ferramenta poderosa para simplificar o desenvolvimento de grandes programas

São usados como difference lists.

Exemplo de uso não lingüístico:

> import(“accumulators”)?> acc_info(myacc, X, In, Out, acc_pred=>(Out=[X|In]))?> pred_info(loop, myacc)?> loop(0) :-- !?> loop(N) :-- N + myacc, loop(N-1)?> main(N, L) :- loop(N) with myacc([], L)?

Programa é traduzido para:

loop(0, in_myacc=>A, out_myacc=>A) :- !,

succeed.loop(N, in_myacc=>B, out_myacc=>C) :- D=[N|

B], loop(N-1, in_myacc=>D, out_myacc=>C).main(N, L) :- loop(N, in_myacc=>[], out_myacc=>L).

Page 7: Interpretação de Mensagens entre Agentes Exploradores no Mundo do Wumpus Paulo B. Oliva, DI-UFPE pbo 11 de fev. de 1999

Gramáticas EDCGGramáticas EDCG

Extended Definite Clause Grammar

sn --> det(@(agreeFt=>Agf)), sub(@(agreeFt=>Agf))?

det(@(syntcat=>defArt, agreeFt=>@(gen=>fem, num=>sing)) --> [“a”]?sub(@(syntcat=>comNoun,

agreeFt=>@(gen==>fem, num=>sing)) --> [“pera”]?

Tradução em LIFE:

det(@(syntcat => defArt, agreeFt => @(gen => fem, num =>

sing)), in_dcg => ["a"|_A], out_dcg => _A) :- succeed.

sub(@(syntcat => comNoun, agreeFt => @(gen => fem, num =>

sing)), in_dcg => ["pera"|_A], out_dcg => _A) :- succeed.

Page 8: Interpretação de Mensagens entre Agentes Exploradores no Mundo do Wumpus Paulo B. Oliva, DI-UFPE pbo 11 de fev. de 1999

Arquitetura de Sistemas de PLNArquitetura de Sistemas de PLN

Page 9: Interpretação de Mensagens entre Agentes Exploradores no Mundo do Wumpus Paulo B. Oliva, DI-UFPE pbo 11 de fev. de 1999

Morfologia: flexão e derivaçãoMorfologia: flexão e derivação Flexão:

• Palavra = lexema + morfema sintático• Análise morfológica baseada em dicionário fornece:

categoria sintática das palavras (Parts-Of-Speech Tagging) algumas propriedades do uso sintático da palavra na frase Conjugação, concordância, caso, ex, “Eles deram” x “Ele deu” x “Lhe deram”

Derivação:• Palavra = lexema + morfema sintático para mudança de

categoria sintática com mesma semântica ex, descobriram x descobrimento

• ou palavra = lexema + morfema(s) semânticos aglutinado(s),

ex, redesfazer = re+des+fazer?

• ou palavra = vários lexemas aglutinado(s) ex, otorino-laringologista = oto+rino+laringo+logista

Page 10: Interpretação de Mensagens entre Agentes Exploradores no Mundo do Wumpus Paulo B. Oliva, DI-UFPE pbo 11 de fev. de 1999

Análise Morfológica em LIFEAnálise Morfológica em LIFEVerbos (3a. Pessoa do Sing)Verbos (3a. Pessoa do Sing)

const (syntr(syntcat => main,

agreeFt => @(num=>sing, pers=>3),

conjug => @(tense => present),

lex => Lex),

semr(semcat=>Semcat)) --> [PVerb],

{rverb(lex=>Lex,

semcat=>Semcat),

PVerb=strcon(Lex,"s")}?

rverb(lex=>"smell",

semcat=>percep) --> ["smell"]?

rverb(lex=>"walk",

semcat=>action) --> ["walk"]?

Page 11: Interpretação de Mensagens entre Agentes Exploradores no Mundo do Wumpus Paulo B. Oliva, DI-UFPE pbo 11 de fev. de 1999

Análise Morfológica em LIFEAnálise Morfológica em LIFEVerbos (Formação do Particípio)Verbos (Formação do Particípio)

const (syntr(syntcat => main,

conjug => @(tense => {past;pastPart}),

lex => Lex),

semr(semcat=>Semcat)) --> [PVerb],

{rverb(lex=>Lex,

semcat=>Semcat),

PVerb=strcon(Lex,"ed")}?

rverb(lex=>"smell",

semcat=>percep) --> ["smell"]?

rverb(lex=>"walk",

semcat=>action) --> ["walk"]?

Page 12: Interpretação de Mensagens entre Agentes Exploradores no Mundo do Wumpus Paulo B. Oliva, DI-UFPE pbo 11 de fev. de 1999

Análise Morfológica em LIFEAnálise Morfológica em LIFEFlexão dos SubstantivosFlexão dos Substantivos

const (syntr(syntcat=>commonN,

num=>plural,

lex=Lex)) --> [Plural],

{Lex = lexNoun1,

Plural = strcon(Lex,"s")}?

const (syntr(syntcat=>commonN,

num=>plural,

lex=Lex)) --> [Plural],

{Lex = lexNoun2,

Plural = strcon(Lex,"es")}?

lexNoun1 -> {"pit"; "breeze"; "smell";

"monster"; "gold"; "glitter"}.

lexNoun2 -> {"wumpus"; "stench"}.

Page 13: Interpretação de Mensagens entre Agentes Exploradores no Mundo do Wumpus Paulo B. Oliva, DI-UFPE pbo 11 de fev. de 1999

Sintaxe de Superfície: Sintaxe de Superfície: palavras de categorias aberta e fechadapalavras de categorias aberta e fechada

Especifica combinação de símbolos em orações Categorias sintáticas dos lexemas

• Lexemas classificadas em função das sua distribuição nas orações gramaticais

• Categorias abertas: substantivos, verbos, adjetivos, alguns advérbios milhares de membros e constantemente estendidas por

neologismos membros com papel essencialmente semântico

• Categorias fechadas artigos, pronomes, preposições, conectivas, verbos

auxiliares, alguns advérbios, cardinais, ordinais, etc. dezenas de membro e quase nunca estendido membros com papel essencialmente sintático

Page 14: Interpretação de Mensagens entre Agentes Exploradores no Mundo do Wumpus Paulo B. Oliva, DI-UFPE pbo 11 de fev. de 1999

Sintaxe de Superficie: Sintaxe de Superficie: constituintes sintáticosconstituintes sintáticos

Constituintes sintáticos (ou sintagmas): • orações não são constituídas diretamente de lexemas,• mas de sintagmas que são pelas suas vez constituídas de

sub-sintagmas (ou sub-constituintes) etc. até os lexemas• Sintagmas também tem categorias sintáticas baseadas nas

suas distribuições em orações gramaticais• Em termos de teoria das linguagens:

categorias sintáticas dos sintágmas = símbolos não terminais lexemas = símbolos terminais

Page 15: Interpretação de Mensagens entre Agentes Exploradores no Mundo do Wumpus Paulo B. Oliva, DI-UFPE pbo 11 de fev. de 1999

Sintaxe de Superficie:Sintaxe de Superficie:propriedades da cláusulapropriedades da cláusula

tempo: presente, pretérito, imperfeito, futuro etc.

modo: • indicativo/subjuntivo/condicional• declarativo/interrogativo/imperativo• principal/subordinada/embutida

voz: ativo, passivo com agente, passivo sem agente• ex, “Matei o wumpus”, “O wumpus foi morto (por mim)”

extraposição: • ex, “Foi eu quem matou o wumpus”, “Quem matou o

wumpus foi eu” polaridade:

• ex, “”(Não) matei o wumpus (de jeito nenhum)”

Page 16: Interpretação de Mensagens entre Agentes Exploradores no Mundo do Wumpus Paulo B. Oliva, DI-UFPE pbo 11 de fev. de 1999

Sintaxe de Superficie:Sintaxe de Superficie:propriedades dos nominaispropriedades dos nominais

referência: • definita/indefinita, genérica/específica• ex, “{um;o;esse;este;aquele} wumpus”

numero, gênero: ex, “{um;uns;uma;umas} wumpus{Ø;es;a;as}”

contabilidade: ex, * “o wumpus comprou uma gasolina”

* “o wumpus comprou carro”

Page 17: Interpretação de Mensagens entre Agentes Exploradores no Mundo do Wumpus Paulo B. Oliva, DI-UFPE pbo 11 de fev. de 1999

Análise Sintática de Superfície em LIFEAnálise Sintática de Superfície em LIFE% “I see a glitter at 1 2”

const (syntr(syntcat => clause,

conjug => Conjug:@(mood=>declar, voice=>active),

syntRoles =>

@(pred => Pred,

args => @(subj => Subj, dobj => DObj))

mods => @(frtAd1 => FAd1, endAd1 => EAd1))))

--> const(FAd1:syntr(syntcat=>pp, optional=>yes)),

const(Subj:syntr(syntcat=>nominal, funct=>subj,

optional=>no, agreeFt=>Sva)),

const(Pred:syntr(syntcat=>vg, optional=> no,

conjug=>Conjug, agreeFt=>Sva),

semr(semcat=>percep)),

const(DObj:syntr(syntcat=>nominal, funct=>dobj,

optional=>no))

const(EAd1:syntr(syntcat=>pp, optional=>yes))?

Page 18: Interpretação de Mensagens entre Agentes Exploradores no Mundo do Wumpus Paulo B. Oliva, DI-UFPE pbo 11 de fev. de 1999

Análise Sintática de Superfície em LIFEAnálise Sintática de Superfície em LIFE

ClauseClause

NominalNominal VGVG NominalNominal

I see a I see a glitterglitter

VerbVerb

DetDet NounNoun

PronounPronoun NPNP

PerPronPerPron

ArticleArticle

Page 19: Interpretação de Mensagens entre Agentes Exploradores no Mundo do Wumpus Paulo B. Oliva, DI-UFPE pbo 11 de fev. de 1999

Análise Sintática de Superfície em LIFEAnálise Sintática de Superfície em LIFEnominal := {np; pronoun}.

pronoun := {perPron; indPron; demPron}.

const (syntr(syntcat => np,

det => Det,

agreeFt => @(pers => 3, num => Num),

head => Noun,

preMod => PMod)) -->

const(Det:syntr(syntcat=>determ,

optional=>no, num=>Num)),

const(PMod:syntr(syntcat=>ap, optional=>yes)),

const(Noun:syntr(syntcat=>noun,

optional=>no, num=>Num))?

const (syntr(syntcat=>perPron,

func=>subj,

agreeFt=> @(pers => 1,

num => sing))) --> ["I"]?

Page 20: Interpretação de Mensagens entre Agentes Exploradores no Mundo do Wumpus Paulo B. Oliva, DI-UFPE pbo 11 de fev. de 1999

Análise Sintática de Superfície em LIFEAnálise Sintática de Superfície em LIFE

const (syntr(syntcat => vg, conjug => Conjug,

agreeFt=>Agree, head => Main),

semr(semcat=>Sem))

--> const(Main:syntr(syntcat=>verb, agreeFt=>Agree

conjug=>Conjug),

semr(semcat=>Sem))?

determ := {article}.

const (syntr(syntcat=>article, lex=>"a", ref=>indef,

num=>sing)) --> ["a"]?

const (syntr(optional=>yes)) --> []?

Page 21: Interpretação de Mensagens entre Agentes Exploradores no Mundo do Wumpus Paulo B. Oliva, DI-UFPE pbo 11 de fev. de 1999

Sintaxe Profunda: Sintaxe Profunda: papeis sintáticos x papeis temáticospapeis sintáticos x papeis temáticos

Algumas alternativas sintáticas mudam o mapeamento entre um elemento de conteúdo C e função sintática (ou papel sintático) S que o expressa, ex, passivo:• []@subj Cheiro@GV [um fedor]@dirObj• [Um fedor]@subj [é cheirada]@GV [por mim]@passiveObj

Capturar sistematicamente e abstratamente tais paráfrases sintáticas requer introdução de papeis temáticos associados a um tipo dado de elemento de conteúdo independentemente das alternativas sintáticas, ex, passivo:• []@agent Cheiro@perception [um fedor]@percept• [Um fedor]@percept [é cheirada]@perception [por

mim]@agent

Page 22: Interpretação de Mensagens entre Agentes Exploradores no Mundo do Wumpus Paulo B. Oliva, DI-UFPE pbo 11 de fev. de 1999

Sintaxe Profunda: Papeis temáticosSintaxe Profunda: Papeis temáticos

Pre-semânticos, ie,• Motivados por regularidades “cross-linguistic”• Independente do domínio enciclopédico (ontologia) de aplicação

5 tipos:• tipo de situação: relação (entidade-propriedade, entidade-

entidade), acontecimentos sem agentes, ações (físicas, de percepção, de raciocínio, de sentir emoção)

• participantes da situação: agente, paciente, entidade, atributo,• modificadores qualificando a situação: maneira, instrumento,• circunstâncias da situação: lugar, tempo, causa, resultado, • conectores com outras situações: causa, efeito, lista, • Apenas participantes diretamente dependentes do tipo de

situação

Page 23: Interpretação de Mensagens entre Agentes Exploradores no Mundo do Wumpus Paulo B. Oliva, DI-UFPE pbo 11 de fev. de 1999

Sintaxe profunda: hierarquia de Sintaxe profunda: hierarquia de situações situações

e participantes associadose participantes associados relações:

• atribuição: [O wumpus]@carrier é perigoso@attr• identidade: [Você]@ided é [quem matou o wumpus?]@ided• locativa: [O wumpus]@located está [em [3.2]]@location • possessiva: [O ouro]@possessed será [nosso]@possessor

eventos:• acontecimento: [A porta da caverna]@paciente fechou []@paciente Tomei [um susto!]@emoção• ação física: []@agente Atirei [minha flecha]@paciente• ação de percepção: []@agente Cheiro [um fedor]@percept• ação de raciocínio: []@agente Conclui [que o wumpus está

em [1,2]]@conhecimento• ação de comunicação: []@agente avisei [agente 2]@ouvinte [da morte do wumpus]@mensagem

Page 24: Interpretação de Mensagens entre Agentes Exploradores no Mundo do Wumpus Paulo B. Oliva, DI-UFPE pbo 11 de fev. de 1999

Representação Sintática Profunda em Representação Sintática Profunda em LIFELIFE

% “I see the gold”

const (syntr(conjug => @(mood => declar, voice => active),

semr(themRoles =>

@(situation => Pred,

partic => @(agent => Subj,

percept => DObj)

--> const(Subj:syntr(syntcat=>nominal, funct=>subj,

optional=>no, agreeFt=>Sva)),

const(Pred:syntr(syntcat=>vg, optional=> no,

conjug=>Conjug, agreeFt=>Sva),

semr(semcat=>percep)),

const(DObj:syntr(syntcat=>nominal, funct=>dobj,

optional=>no))

Page 25: Interpretação de Mensagens entre Agentes Exploradores no Mundo do Wumpus Paulo B. Oliva, DI-UFPE pbo 11 de fev. de 1999

Representação Sintática Profunda em Representação Sintática Profunda em LIFELIFE

% “the gold is seen by me”

const (syntr(conjug => @(mood => declar, voice => active)

semr(themRoles =>

@(situation => Pred,

partic => @(agent => Comp,

percept => Subj))))

--> const(Subj:syntr(syntcat=>nominal, funct=>subj,

optional=>no, agreeFt=>Sva)),

const(Pred:syntr(syntcat=>vg, optional=>no,

conjug=> Conjug, agreeFt=>Sva),

semr(semcat=>percep)),

const(Comp:syntr(syntcat=>pp, optional=>no))?

Page 26: Interpretação de Mensagens entre Agentes Exploradores no Mundo do Wumpus Paulo B. Oliva, DI-UFPE pbo 11 de fev. de 1999

Frases interrogativasFrases interrogativas% “do you smell a stench?”

const (syntr(syntcat => clause,

conjug => Conjug:@(mood=>inter, voice=>active),

syntRoles =>

@(pred => Pred,

args => @(subj => Subj, dobj => DObj))),

semr(themRoles =>

@(situation => Pred,

partic => @(agent=>Subj,percept => DObj))))

--> const(QAux:syntr(syntcat=>auxiliar)),

const(Subj:syntr(syntcat=>nominal, agreeFt=>Sva)),

const(Pred:syntr(syntcat=>vg,

conjug=>Conjug,

agreeFt=>Sva, aux => QAux)

semr(semcat=>percep)),

const(DObj:syntr(syntcat=>nominal))?

Page 27: Interpretação de Mensagens entre Agentes Exploradores no Mundo do Wumpus Paulo B. Oliva, DI-UFPE pbo 11 de fev. de 1999

Frases imperativasFrases imperativas% “shoot the wumpus”

const (syntr(syntcat => clause,

conjug => Conjug:@(mood=>imper, voice=>active),

syntRoles =>

@(pred => Pred,

args => @(subj =>

Ocult:@(syntr(syntcat=>nominal,

agreeFt=>

Sva:@(num=>sing, pers=>2))

obj => Obj))),

semr(themRoles =>

@(situation => Pred,

partic => @(agent => Ocult, comp => Comp))))

--> const(Pred:syntr(syntcat=>vg,

conjug=>Conjug, agreeFt=>Sva)

const(Obj:syntr(syntcat=>{pp;adv;nominal}))?

Page 28: Interpretação de Mensagens entre Agentes Exploradores no Mundo do Wumpus Paulo B. Oliva, DI-UFPE pbo 11 de fev. de 1999

Dificuldades, dúvidas, demos,....Dificuldades, dúvidas, demos,....

Page 29: Interpretação de Mensagens entre Agentes Exploradores no Mundo do Wumpus Paulo B. Oliva, DI-UFPE pbo 11 de fev. de 1999

That’s all That’s all folks!folks!