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

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

Paulo B. Oliva, DI-UFPE 11 de fev. de 1999

Apresentações semelhantes


Apresentação em tema: "Paulo B. Oliva, DI-UFPE 11 de fev. de 1999"— Transcrição da apresentação:

1 Paulo B. Oliva, DI-UFPE www.di.ufpe.br/~pbo 11 de fev. de 1999
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 Arquitetura de Sistemas PLN Conclusão Demo ao vivo
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: gramática para parsing da sub-linguagem
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 Tradução em LIFE:
sn --> num=>sing)) --> [“a”]? --> [“pera”]? Tradução em LIFE: => defArt, agreeFt => fem, num => sing)), in_dcg => ["a"|_A], out_dcg => _A) :- succeed. => comNoun, in_dcg => ["pera"|_A],

8 Arquitetura de Sistemas de PLN

9 Morfologia: flexão e derivaçã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

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")}? {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: 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

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: categorias sintáticas dos sintágmas = símbolos não terminais 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 => 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 Nominal VG Pronoun Verb NP PerPron Det Noun Article I see a glitter

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 => @(situation => 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 => @(situation => 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 => Pred, args => Subj, dobj => DObj))), semr(themRoles => @(situation => 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 => Pred, args => agreeFt=> pers=>2)) obj => Obj))), semr(themRoles => @(situation => 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 That’s all folks!


Carregar ppt "Paulo B. Oliva, DI-UFPE 11 de fev. de 1999"

Apresentações semelhantes


Anúncios Google