A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


Apresentação em tema: "Interpretação de Mensagens entre Agentes Exploradores no Mundo do Wumpus Paulo B. Oliva, DI-UFPE www.di.ufpe.br/~pbo 11 de fev. de 1999."— Transcrição da apresentação:

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

2 Conteú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

3 Gramá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.

4 Gramá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,...)

5 Gramá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.

6 Acumuladores 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).

7 Gramáticas EDCG * Extended Definite Clause Grammar sn --> num=>sing)) --> [a]? num=>sing)) --> [pera]? * Tradução em LIFE: => defArt, agreeFt => fem, num => sing)), in_dcg => ["a"|_A], out_dcg => _A) :- succeed. => comNoun, agreeFt => fem, num => sing)), in_dcg => ["pera"|_A], out_dcg => _A) :- succeed.

8 Arquitetura de Sistemas de PLN

9 Morfologia: flexão e derivação * Flexão: Palavra = lexema + morfema sintático Análise morfológica baseada em dicionário fornece: t categoria sintática das palavras (Parts-Of-Speech Tagging) t algumas propriedades do uso sintático da palavra na frase t Conjugação, concordância, caso, t 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 t ex, descobriram x descobrimento ou palavra = lexema + morfema(s) semânticos aglutinado(s), t ex, redesfazer = re+des+fazer? ou palavra = vários lexemas aglutinado(s) t ex, otorino-laringologista = oto+rino+laringo+logista

10 Análise Morfológica em LIFE Verbos (3a. Pessoa do Sing) const (syntr(syntcat => main, agreeFt pers=>3), conjug => 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"]?

11 Análise Morfológica em LIFE Verbos (Formação do Particípio) const (syntr(syntcat => main, conjug => {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"]?

12 Análise Morfológica em LIFE Flexã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"}.

13 Sintaxe de Superfície: palavras 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: t substantivos, verbos, adjetivos, alguns advérbios t milhares de membros e constantemente estendidas por neologismos t membros com papel essencialmente semântico Categorias fechadas t artigos, pronomes, preposições, conectivas, verbos auxiliares, alguns advérbios, cardinais, ordinais, etc. t dezenas de membro e quase nunca estendido t membros com papel essencialmente sintático

14 Sintaxe de Superficie: constituintes 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: t categorias sintáticas dos sintágmas = símbolos não terminais t lexemas = símbolos terminais

15 Sintaxe de Superficie: propriedades 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)

16 Sintaxe de Superficie: propriedades 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

17 Análise Sintática de Superfície em LIFE % I see a glitter at 1 2 const (syntr(syntcat => clause, conjug => voice=>active), syntRoles => Pred, args => Subj, dobj => DObj)) mods => 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))?

18 Análise Sintática de Superfície em LIFE Clause Nominal VG Nominal I see a glitter Verb DetNoun PronounNP PerPron Article

19 Análise Sintática de Superfície em LIFE nominal := {np; pronoun}. pronoun := {perPron; indPron; demPron}. const (syntr(syntcat => np, det => Det, agreeFt => 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, => 1, num => sing))) --> ["I"]?

20 Aná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)) --> []?

21 Sintaxe Profunda: papeis 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: [um [Um [é [por * 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: [um [Um [é [por

22 Sintaxe 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

23 Sintaxe profunda: hierarquia de situações e participantes associados * relações: atribuição: [O é identidade: é [quem matou o locativa: [O está [em possessiva: [O será * eventos: acontecimento: [A porta da fechou Tomei [um ação física: Atirei [minha ação de percepção: Cheiro [um ação de raciocínio: Conclui [que o wumpus está em ação de comunicação: avisei [agente [da morte do

24 Representação Sintática Profunda em LIFE % I see the gold const (syntr(conjug => declar, voice => active), semr(themRoles => Pred, partic => 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))

25 Representação Sintática Profunda em LIFE % the gold is seen by me const (syntr(conjug => declar, voice => active) semr(themRoles => Pred, partic => 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))?

26 Frases interrogativas % do you smell a stench? const (syntr(syntcat => clause, conjug => voice=>active), syntRoles => Pred, args => Subj, dobj => DObj))), semr(themRoles => Pred, partic => 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))?

27 Frases imperativas % shoot the wumpus const (syntr(syntcat => clause, conjug => voice=>active), syntRoles => Pred, args => agreeFt=> pers=>2)) obj => Obj))), semr(themRoles => Pred, partic => Ocult, comp => Comp)))) --> const(Pred:syntr(syntcat=>vg, conjug=>Conjug, agreeFt=>Sva) const(Obj:syntr(syntcat=>{pp;adv;nominal}))?

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

29 Thats all folks!


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

Apresentações semelhantes


Anúncios Google