38
12/09/2011 1 1 Introdução ao Processamento de Línguas Naturais (PLN) SCC0230 – Introdução à IA Prof. Thiago A. S. Pardo 2 Língua Natural Língua humana Em oposição às linguagens artificiais Matemática, lógica, linguagens de programação de computadores

355nguas Naturais.ppt [Modo de Compatibilidade])wiki.icmc.usp.br/images/0/0b/Aula6-230t.pdf · Palavras, expressões, orações, sentenças, textos Lexical, composicional, textual

  • Upload
    vudung

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 355nguas Naturais.ppt [Modo de Compatibilidade])wiki.icmc.usp.br/images/0/0b/Aula6-230t.pdf · Palavras, expressões, orações, sentenças, textos Lexical, composicional, textual

12/09/2011

1

1

Introdução ao Processamento de Línguas Naturais (PLN)

SCC0230 – Introdução à IA

Prof. Thiago A. S. Pardo

2

Língua Natural

� Língua humana

� Em oposição às linguagens artificiais

� Matemática, lógica, linguagens de programação de computadores

Page 2: 355nguas Naturais.ppt [Modo de Compatibilidade])wiki.icmc.usp.br/images/0/0b/Aula6-230t.pdf · Palavras, expressões, orações, sentenças, textos Lexical, composicional, textual

12/09/2011

2

3

PLN

� Processamento de Língua Natural

� Lingüística Computacional

� Engenharia das Línguas Naturais

� No Brasil, tradicionalmente visto como subárea da

Inteligência Artificial & Computação

� Habilidade lingüística é um tipo de inteligência

4

PLN e IA

O que tem PLN a ver com IA?

� Utiliza conhecimento

� Usa formalismos de representação de

conhecimento e raciocínio

� Pode usar técnicas de aprendizado de máquina

Page 3: 355nguas Naturais.ppt [Modo de Compatibilidade])wiki.icmc.usp.br/images/0/0b/Aula6-230t.pdf · Palavras, expressões, orações, sentenças, textos Lexical, composicional, textual

12/09/2011

3

5

PLN

� Instruir o computador a lidar com a língua� Entendimento

� Análise morfológica e sintática, semântica e discursiva

� Geração, síntese� Tradução, produção de resumos

� Correção gramatical

� Busca de respostas para perguntas

� Recuperação de informação da Internet

� Auxílio a escrita e ao aprendizado de línguas

� Interdisciplinar� Computação

� Lingüística

6

PLN: um pouco de história

� Nascimento na 2ª guerra mundial� Tradução automática

� Possíveis nomes� Computational Linguistics

� Mechanolinguistics

� Automatic Language Data Processing

� Natural Language Processing

Page 4: 355nguas Naturais.ppt [Modo de Compatibilidade])wiki.icmc.usp.br/images/0/0b/Aula6-230t.pdf · Palavras, expressões, orações, sentenças, textos Lexical, composicional, textual

12/09/2011

4

7

PLN: um pouco de história

� Trajetória da Inteligência Artificial

� Primeiros trabalhos � grande expectativa �

resultados pobres � desilusão e hibernação da

área � novos horizontes

� Relatório da ALPAC (Automatic Language Processing

Advisory Committee): Languages and Machines –

computers in translation and linguistics

8

PLN: um pouco de história

� Dicotomia

� Simbolismo vs. estatística (subsimbolismo)

� Globalização, internet, tecnologia da

informação, Google

Page 5: 355nguas Naturais.ppt [Modo de Compatibilidade])wiki.icmc.usp.br/images/0/0b/Aula6-230t.pdf · Palavras, expressões, orações, sentenças, textos Lexical, composicional, textual

12/09/2011

5

9

PLN

� Auxílio às tarefas humanas

� Não substitui o humano

� Não é possível automatizar a língua, apenas aspectos dela

� O computador é uma máquina estúpida!

VS.

10

PLN: programas de diálogo

� De ELIZA a Ed

� Sistemas automatizados

Page 6: 355nguas Naturais.ppt [Modo de Compatibilidade])wiki.icmc.usp.br/images/0/0b/Aula6-230t.pdf · Palavras, expressões, orações, sentenças, textos Lexical, composicional, textual

12/09/2011

6

11

PLN

� “Conversar” com uma máquina não é tão

difícil

� Fazer a máquina “entender” é difícil, talvez

impossível

� Futuro distante

� Muitas pesquisas

� Programas especializados

� Recursos lingüísticos e lingüístico-computacionais

12

PLN

� De que um computador necessita para ser capaz de entender uma fala humana e interagir adequadamente?� Como nós, humanos, fazemos isso?

Quem é Lula?

Que preguiça!

Está calor aqui.

Quem é Lula? Sei que não é o molusco.

Page 7: 355nguas Naturais.ppt [Modo de Compatibilidade])wiki.icmc.usp.br/images/0/0b/Aula6-230t.pdf · Palavras, expressões, orações, sentenças, textos Lexical, composicional, textual

12/09/2011

7

13

PLN

� De que um computador necessita para ser capaz de entender uma fala humana e interagir adequadamente?� Como nós, humanos, fazemos isso?

Quem é Lula?

Que preguiça!

Está calor aqui.

Quem é Lula? Sei que não é o molusco.

Informata: O que Mark Zuckerberg fez?

Cientista social: O que Mark Zuckerberg fez?

Mãe: O que Mark Zuckerberg fez?

14

PLN

� Vários níveis de conhecimento

� Tradicionalmente distinguidos em PLN, apesar

dos limites entre eles serem nebulosos na maioria dos casos

Pragmática / Discurso

Semântica

Sintaxe

Morfologia

Abstração &

Complexidade

Fonética / Fonologia

Page 8: 355nguas Naturais.ppt [Modo de Compatibilidade])wiki.icmc.usp.br/images/0/0b/Aula6-230t.pdf · Palavras, expressões, orações, sentenças, textos Lexical, composicional, textual

12/09/2011

8

PLN

Pragmática / DiscursoSemânticaSintaxeMorfologiaFonética / Fonologia

� Fonética: estuda como os humanos produzem, transmitem e recebem sons, independente de língua; sistema físico

� Fonologia: estudo dos sons em uma língua específica, como os sons são construídos

� Fones, fonemas, local (bilabial, palatal, etc.) e modo de

articulação (pausa, nasal, fricativo, etc.), etc.

16

PLN

Ele queria jogar tênis com Janete,

mas também queria jantar com

Suzana. Sua indecisão o

deixou louco.

Transcrição fonética

Pragmática / DiscursoSemânticaSintaxeMorfologiaFonética / Fonologia

Page 9: 355nguas Naturais.ppt [Modo de Compatibilidade])wiki.icmc.usp.br/images/0/0b/Aula6-230t.pdf · Palavras, expressões, orações, sentenças, textos Lexical, composicional, textual

12/09/2011

9

17

PLN

Ele queria jogar tênis com Janete,

mas também queria jantar com

Suzana. Sua indecisão o

deixou louco.

Transcrição fonética

Pragmática / DiscursoSemânticaSintaxeMorfologiaFonética / Fonologia

Reconhecimento de voz

Síntese de voz

18

PLN

Pragmática / DiscursoSemânticaSintaxeMorfologiaFonética / Fonologia

� Palavra: construção, componentes de formação

� Morfema, grafema, raiz, afixo (prefixo, sufixo, etc.), vogal temática, desinência

Page 10: 355nguas Naturais.ppt [Modo de Compatibilidade])wiki.icmc.usp.br/images/0/0b/Aula6-230t.pdf · Palavras, expressões, orações, sentenças, textos Lexical, composicional, textual

12/09/2011

10

19

PLN

Pragmática / DiscursoSemânticaSintaxeMorfologiaFonética / Fonologia

� Interação entre morfologia e sintaxe: classes

gramaticais ou etiquetas morfossintáticas

� Substantivo/nome, verbo, adjetivo, advérbio, pronome, preposição, conjunção, interjeição, etc.

20

PLN

Ele queria jogar

tênis com Janete,

mas também queria

jantar com Suzana.

Sua indecisão o deixou louco.

Pragmática / DiscursoSemânticaSintaxeMorfologiaFonética / Fonologia

Ele [ele] PERS M 3S NOM

queria [querer] <fmc> V IMPF 3S IND VFIN

jogar [jogar] V INF

tênis [tênis] N M S/P

com [com] PRP

Janete [Janete] PROP M/F S

,

mas "mas" <co-vfin> <co-fmc> KC

também [também] ADV

queria [querer] <fmc> V IMPF 3S IND VFIN

jantar [jantar] V INF

com [com] PRP

Suzana [Suzana] PROP F S

.

Sua [seu] <poss 3S> DET F S

indecisão [indecisão] N F S

o [ele] PERS M 3S ACC

deixou [deixar] <fmc> V PS 3S IND VFIN

louco [louco] ADJ M S

.

Page 11: 355nguas Naturais.ppt [Modo de Compatibilidade])wiki.icmc.usp.br/images/0/0b/Aula6-230t.pdf · Palavras, expressões, orações, sentenças, textos Lexical, composicional, textual

12/09/2011

11

21

PLN

Ele queria jogar

tênis com Janete,

mas também queria

jantar com Suzana.

Sua indecisão o deixou louco.

Pragmática / DiscursoSemânticaSintaxeMorfologiaFonética / Fonologia

Ele [ele] PERS M 3S NOM

queria [querer] <fmc> V IMPF 3S IND VFIN

jogar [jogar] V INF

tênis [tênis] N M S/P

com [com] PRP

Janete [Janete] PROP M/F S

,

mas "mas" <co-vfin> <co-fmc> KC

também [também] ADV

queria [querer] <fmc> V IMPF 3S IND VFIN

jantar [jantar] V INF

com [com] PRP

Suzana [Suzana] PROP F S

.

Sua [seu] <poss 3S> DET F S

indecisão [indecisão] N F S

o [ele] PERS M 3S ACC

deixou [deixar] <fmc> V PS 3S IND VFIN

louco [louco] ADJ M S

.

Analisadores sintáticos

Corretores gramaticais

22

PLN

Pragmática / DiscursoSemânticaSintaxeMorfologiaFonética / Fonologia

� Como as sentenças são formadas, como as

palavras podem se combinar

� Função: sujeito, predicado, objetos, predicativos, etc.

� Estruturação: sintagma nominal, sintagma verbal, etc.

Page 12: 355nguas Naturais.ppt [Modo de Compatibilidade])wiki.icmc.usp.br/images/0/0b/Aula6-230t.pdf · Palavras, expressões, orações, sentenças, textos Lexical, composicional, textual

12/09/2011

12

23

PLN

Ele queria jogar

tênis com Janete,

mas também

queria jantar com

Suzana. Sua indecisão o

deixou louco.

Pragmática / DiscursoSemânticaSintaxeMorfologiaFonética / Fonologia

24

PLN

Ele queria jogar

tênis com Janete,

mas também

queria jantar com

Suzana. Sua indecisão o

deixou louco.

Pragmática / DiscursoSemânticaSintaxeMorfologiaFonética / Fonologia

Análise sintática

Corretores Gramaticais

Sumarizadores

Tradução Automática

Page 13: 355nguas Naturais.ppt [Modo de Compatibilidade])wiki.icmc.usp.br/images/0/0b/Aula6-230t.pdf · Palavras, expressões, orações, sentenças, textos Lexical, composicional, textual

12/09/2011

13

25

PLN

Pragmática / DiscursoSemânticaSintaxeMorfologiaFonética / Fonologia

� Significado

� Palavras, expressões, orações, sentenças,

textos

� Lexical, composicional, textual

26

PLN

Pragmática / DiscursoSemânticaSintaxeMorfologiaFonética / Fonologia

� Traços semânticos, classificações ontológicas

Mesa Cavalo Garota Mulher

Animado - + + +

Humano - - + +

Fêmea - - + +

Adulto - + - +

Tudo

Concreto Abstrato

Animado Inanimado

Page 14: 355nguas Naturais.ppt [Modo de Compatibilidade])wiki.icmc.usp.br/images/0/0b/Aula6-230t.pdf · Palavras, expressões, orações, sentenças, textos Lexical, composicional, textual

12/09/2011

14

27

PLN

Pragmática / DiscursoSemânticaSintaxeMorfologiaFonética / Fonologia

� Papéis semânticos/temáticos

� Agente, tema, instrumento, experienciador,

fonte, etc.

� [O menino]AGENTE chutou [a bola]TEMA

28

PLN

Pragmática / DiscursoSemânticaSintaxeMorfologiaFonética / Fonologia

� Classes/categorias/tipos semânticos

� Humano, local, data, organização, etc.

� O [menino]HUMANO chutou a bola

� Entidades nomeadas

Page 15: 355nguas Naturais.ppt [Modo de Compatibilidade])wiki.icmc.usp.br/images/0/0b/Aula6-230t.pdf · Palavras, expressões, orações, sentenças, textos Lexical, composicional, textual

12/09/2011

15

29

PLN

Pragmática / DiscursoSemânticaSintaxeMorfologiaFonética / Fonologia

� Relações “lexicais”

� Sinonímia, antonímia, hiperonímia/hiponímia,

meronímia/holonímia, etc.

30

PLN

Pragmática / DiscursoSemânticaSintaxeMorfologiaFonética / Fonologia

� Diversos fenômenos

� Metáforas, expressões idiomáticas, polissemia

Page 16: 355nguas Naturais.ppt [Modo de Compatibilidade])wiki.icmc.usp.br/images/0/0b/Aula6-230t.pdf · Palavras, expressões, orações, sentenças, textos Lexical, composicional, textual

12/09/2011

16

31

PLN

Pragmática / DiscursoSemânticaSintaxeMorfologiaFonética / Fonologia

� Semântica composicional

� Análise de seqüência de palavras, sentenças

32

PLN

Ele queria jogar tênis com Janete, mas também queria

jantar com Suzana. Sua indecisão o deixou louco.

Pragmática / DiscursoSemânticaSintaxeMorfologiaFonética / Fonologia

“Ele”, “Janete” e “Suzana” = humanos.

Jogar tênis = praticar o esporte tênis ≠ arremessar o calçado.

...

Page 17: 355nguas Naturais.ppt [Modo de Compatibilidade])wiki.icmc.usp.br/images/0/0b/Aula6-230t.pdf · Palavras, expressões, orações, sentenças, textos Lexical, composicional, textual

12/09/2011

17

33

PLN

Ele queria jogar tênis com Janete, mas também queria

jantar com Suzana. Sua indecisão o deixou louco.

Pragmática / DiscursoSemânticaSintaxeMorfologiaFonética / Fonologia

queria(exper(ele),objetivo(jogar(tênis),comutativo(Janete)))...

34

PLN

Ele queria jogar tênis com Janete,

mas também queria jantar com

Suzana. Sua indecisão o deixou

louco.

Pragmática / DiscursoSemânticaSintaxeMorfologiaFonética / Fonologia

[Ele queria jogar tênis com Janete], [mas também queria

jantar com Suzana].

[Sua indecisão o deixou louco].

contraste

causa

Page 18: 355nguas Naturais.ppt [Modo de Compatibilidade])wiki.icmc.usp.br/images/0/0b/Aula6-230t.pdf · Palavras, expressões, orações, sentenças, textos Lexical, composicional, textual

12/09/2011

18

35

PLN

Ele queria jogar tênis com Janete,

mas também queria jantar com

Suzana. Sua indecisão o deixou

louco.

Pragmática / DiscursoSemânticaSintaxeMorfologiaFonética / Fonologia

[Ele queria jogar tênis com Janete], [mas também queria

jantar com Suzana].

[Sua indecisão o deixou louco].

contraste

causa

Analisadores semânticos

Corretores gramaticais

Sumarizadores

Tradução automática

36

PLN

Pragmática / DiscursoSemânticaSintaxeMorfologiaFonética / Fonologia

� Discurso

� Aquilo que está além da sentença

� Semântica textual

� Relacionamento proposicional, correferência e expressões

referenciais, marcadores textuais, intenções, etc.

Page 19: 355nguas Naturais.ppt [Modo de Compatibilidade])wiki.icmc.usp.br/images/0/0b/Aula6-230t.pdf · Palavras, expressões, orações, sentenças, textos Lexical, composicional, textual

12/09/2011

19

37

PLN

Ele queria jogar tênis com Janete, mas também queria

jantar com Suzana. Sua indecisão o deixou louco.

Pragmática / DiscursoSemânticaSintaxeMorfologiaFonética / Fonologia

38

PLN

Ele queria jogar tênis com Janete, mas também queria

jantar com Suzana. Sua indecisão o deixou louco.

Pragmática / DiscursoSemânticaSintaxeMorfologiaFonética / Fonologia

Page 20: 355nguas Naturais.ppt [Modo de Compatibilidade])wiki.icmc.usp.br/images/0/0b/Aula6-230t.pdf · Palavras, expressões, orações, sentenças, textos Lexical, composicional, textual

12/09/2011

20

39

PLN

Ele queria jogar tênis com Janete, mas também queria

jantar com Suzana. Sua indecisão o deixou louco.

Pragmática / DiscursoSemânticaSintaxeMorfologiaFonética / Fonologia

(Intend E (Believe L “o desejo

de fazer duas coisas

incompatíveis o deixou louco”))

40

PLN

Ele queria jogar tênis com Janete, mas também queria

jantar com Suzana. Sua indecisão o deixou louco.

Pragmática / DiscursoSemânticaSintaxeMorfologiaFonética / Fonologia

(Intend E (Believe L “o desejo

de fazer duas coisas

incompatíveis o deixou louco”))

Analisadores discursivos

Corretores estilísticos

Categorizadores de texto

Sumarizadores

Resolução anafórica

Page 21: 355nguas Naturais.ppt [Modo de Compatibilidade])wiki.icmc.usp.br/images/0/0b/Aula6-230t.pdf · Palavras, expressões, orações, sentenças, textos Lexical, composicional, textual

12/09/2011

21

41

PLN

Pragmática / DiscursoSemânticaSintaxeMorfologiaFonética / Fonologia

� Pragmática

� Língua em uso, interação, contexto

� Fatores como força, educação, hierarquia, crença, cooperação, atitude

� Estilos de escrita e de fala

� Suposições sobre produtor e receptor, nível de conhecimento, interesses

� Modelagem do usuário

42

PLN

Pragmática / DiscursoSemânticaSintaxeMorfologiaFonética / Fonologia

� Pragmática

� Língua em uso, interação, contexto

� Fatores como força, educação, hierarquia, crença, cooperação, atitude

� Estilos de escrita e de fala

� Suposições sobre produtor e receptor, nível de conhecimento, interesses

� Modelagem do usuário

Corretores estilísticos

Sistemas adaptativos

Page 22: 355nguas Naturais.ppt [Modo de Compatibilidade])wiki.icmc.usp.br/images/0/0b/Aula6-230t.pdf · Palavras, expressões, orações, sentenças, textos Lexical, composicional, textual

12/09/2011

22

43

PLN

� Considerações para uso por um computador

� Os níveis de conhecimento precisam ser representados (formalizados) e manipulados automaticamente

� Interação entre os níveis� Morfologia e sintaxe� Sintaxe e semântica� Semântica e discurso

44

PLN

� Considerações para uso por um computador

� Os níveis de conhecimento precisam ser representados (formalizados) e manipulados automaticamente

� Interação entre níveis mais distantes� Morfologia e semântica (goleiro e porteiro vs. padeiro)� Morfologia e pragmática (são carlense vs. são carlino,

laranjada e limonada vs. cajuada)� Sintaxe e discurso (subordinadas)

Page 23: 355nguas Naturais.ppt [Modo de Compatibilidade])wiki.icmc.usp.br/images/0/0b/Aula6-230t.pdf · Palavras, expressões, orações, sentenças, textos Lexical, composicional, textual

12/09/2011

23

PLN e humanos

� Processamento sequencial vs.

paralelo

� Arquiteturas em pipeline vs. integradas

45

PLN e humanos

� Humanos lidam naturalmente com

� Ambigüidade

� Irregularidade

� Vagueza

� Dinamicidade

� Variabilidade

� ... máquinas não!46

Page 24: 355nguas Naturais.ppt [Modo de Compatibilidade])wiki.icmc.usp.br/images/0/0b/Aula6-230t.pdf · Palavras, expressões, orações, sentenças, textos Lexical, composicional, textual

12/09/2011

24

Exemplos de dificuldades

� O homem viu a mulher na montanha de binóculos

� Filme recente: Knight and Day

� Você sabe as horas?

� O coelho foi servido

� O homem foi servido

� A caneta está na caixa

� A caixa está na caneta

47

Exemplos de dificuldades

48

Page 25: 355nguas Naturais.ppt [Modo de Compatibilidade])wiki.icmc.usp.br/images/0/0b/Aula6-230t.pdf · Palavras, expressões, orações, sentenças, textos Lexical, composicional, textual

12/09/2011

25

49

PLN

� Trabalho em PLN

Fase

lingüística

Fase

representacional

Fase

implementacional

50

PLN

� Trabalho em PLN

Fase

lingüística

Fase

representacional

Fase

implementacional

Sintaxe de sentenças da língua portuguesa

Regras sintáticas e formalismos sintáticos

Desenvolvimento do analisador sintático

Resumos de artigos de jornais

Formalização das regras para resumir

Desenvolvimento do sumarizador automático

Tradução espanhol-português

Regras de tradução, dicionários bilíngues

Desenvolvimento do tradutor automático

Page 26: 355nguas Naturais.ppt [Modo de Compatibilidade])wiki.icmc.usp.br/images/0/0b/Aula6-230t.pdf · Palavras, expressões, orações, sentenças, textos Lexical, composicional, textual

12/09/2011

26

51

PLN

� Trabalho em PLN

� Aspectos da língua que são possíveis capturar e

automatizar

� Maioria das teorias lingüísticas são sofisticadas demais para o PLN

Fase

lingüística

Fase

representacional

Fase

implementacional

Teorias e dados lingüísticos

Formalismos/esquemas de representação

Métodos e modelos computacionais

52

NILC

� Revisão

ortográfica

� Dicionários

� Regras para

ordenar sugestões

Page 27: 355nguas Naturais.ppt [Modo de Compatibilidade])wiki.icmc.usp.br/images/0/0b/Aula6-230t.pdf · Palavras, expressões, orações, sentenças, textos Lexical, composicional, textual

12/09/2011

27

53

NILC

� Revisão

gramatical

� Analisador sintático

� Léxico

� Regras

gramaticais

54

NILC

� Revisão

estilística

� Regras estilísticas

Page 28: 355nguas Naturais.ppt [Modo de Compatibilidade])wiki.icmc.usp.br/images/0/0b/Aula6-230t.pdf · Palavras, expressões, orações, sentenças, textos Lexical, composicional, textual

12/09/2011

28

55

NILC

� Análise

sintática

� Léxico

� Regras

sintáticas

56

NILC

� Sumarização

automática

� Métodos

profundos e

superficiais

Page 29: 355nguas Naturais.ppt [Modo de Compatibilidade])wiki.icmc.usp.br/images/0/0b/Aula6-230t.pdf · Palavras, expressões, orações, sentenças, textos Lexical, composicional, textual

12/09/2011

29

57

NILC

� Auxílio à escrita de textos científicos

� Regras de estrutura textual

� Exemplos da estrutura de outros textos

� Crítica de cada parte do texto

58

Page 30: 355nguas Naturais.ppt [Modo de Compatibilidade])wiki.icmc.usp.br/images/0/0b/Aula6-230t.pdf · Palavras, expressões, orações, sentenças, textos Lexical, composicional, textual

12/09/2011

30

59

60

Page 31: 355nguas Naturais.ppt [Modo de Compatibilidade])wiki.icmc.usp.br/images/0/0b/Aula6-230t.pdf · Palavras, expressões, orações, sentenças, textos Lexical, composicional, textual

12/09/2011

31

61

NILC

� Wordnet.Br: base de dados lexicais e conceituais

� Relações semânticas entre palavras

� Sinonímia

� Antonímia

� Etc.

� Relações ontológicas

� Hiperonímia

� Hiponímia

� Etc.

62

Page 32: 355nguas Naturais.ppt [Modo de Compatibilidade])wiki.icmc.usp.br/images/0/0b/Aula6-230t.pdf · Palavras, expressões, orações, sentenças, textos Lexical, composicional, textual

12/09/2011

32

63

Conhecimento de mundo

64

Senso comum

Page 33: 355nguas Naturais.ppt [Modo de Compatibilidade])wiki.icmc.usp.br/images/0/0b/Aula6-230t.pdf · Palavras, expressões, orações, sentenças, textos Lexical, composicional, textual

12/09/2011

33

65

Recursos e ferramentas

� Portais de córpus

� Diversas ferramentas e toolkits� GATE

� NLTK (Natural Language Toolkit)

� Vários ambientes de processamento de córpus

� GIZA++

� WEKA

� Etc.

� Prolog!

66

PLN e Prolog

• Suporte à escrita e processamento de gramáticas

– Análise sintática, semântica, discursiva

– Tradução

– Etc.

Page 34: 355nguas Naturais.ppt [Modo de Compatibilidade])wiki.icmc.usp.br/images/0/0b/Aula6-230t.pdf · Palavras, expressões, orações, sentenças, textos Lexical, composicional, textual

12/09/2011

34

67

Análise Sintática em Prolog

• Analisador sintático

– Léxico: composto por um conjunto de palavras e suas classes gramaticais

– Gramática: mecanismo formal usado para definir conjuntos de seqüências de símbolos, utilizando regras de produção

68

Análise Sintática em Prolog

• Gramáticas podem ser usadas para gerar um seqüência de símbolos, chamada sentença

• Uma gramática também pode ser usada para reconheceruma dada sentença (parsing)

Page 35: 355nguas Naturais.ppt [Modo de Compatibilidade])wiki.icmc.usp.br/images/0/0b/Aula6-230t.pdf · Palavras, expressões, orações, sentenças, textos Lexical, composicional, textual

12/09/2011

35

69

Análise Sintática em Prolog

• DCG (Definite Clause Grammar): notação especial de regras gramaticais

– Incorporada ao Prolog

sentença

sintagma nominal sintagma verbal

pronome verbo

ela chorouNós terminais

Nós não

terminais

70

Análise Sintática em Prolog

• Exemplos mais interessantes vêm da língua natural

sentenca --> sintagma_nominal, sintagma_verbal.

sintagma_nominal --> artigo, substantivo.

sintagma_verbal --> verbo, sintagma_nominal.

artigo --> [o].

substantivo --> [gato].

substantivo --> [rato].

verbo --> [matou].

• Sentenças geradas

[o, gato, matou, o, gato]

[o, gato, matou, o, rato]

[o, rato, matou, o, gato]

[o, rato, matou, o rato]

Page 36: 355nguas Naturais.ppt [Modo de Compatibilidade])wiki.icmc.usp.br/images/0/0b/Aula6-230t.pdf · Palavras, expressões, orações, sentenças, textos Lexical, composicional, textual

12/09/2011

36

71

Análise Sintática em Prolog

• Quando interpretada, a gramática é mapeada automaticamente em cláusulas Prolog

sentenca(List1,Rest) :- sintagma_nominal(List1,List2),

sintagma_verbal(Lista2,Rest).

sintagma_nominal(List1,Rest) :- artigo(List1,List2),

substantivo(List2,Rest).

sintagma_verbal(List1,Rest) :- verbo(List1,List2),

sintagma_nominal(List2,Rest).

artigo([o|Rest],Rest).

substantivo([gato|Rest],Rest).

substantivo([rato|Rest],Rest).

verbo([matou|Rest],Rest).

72

Análise Sintática em Prolog

• Para reconhecer sentença

– sentenca([o,gato,matou,o,rato],[]).

• Para gerar sentenças

– sentenca(S,[]).

Page 37: 355nguas Naturais.ppt [Modo de Compatibilidade])wiki.icmc.usp.br/images/0/0b/Aula6-230t.pdf · Palavras, expressões, orações, sentenças, textos Lexical, composicional, textual

12/09/2011

37

73

Análise Sintática em Prolog

• Expandindo a gramática com as formas no plural

artigo --> [os].

substantivo --> [gatos].

substantivo --> [ratos].

verbo --> [mataram].

• Algumas sentenças geradas

[os, gatos, mataram, o, gato] OK

[o, ratos, matou, os, gato] ERRADA

[o, rato, mataram, o, ratos] ERRADA

...

74

Análise Sintática em Prolog

• No exemplo dado, o verbo tem que concordar em gênero e número com o sujeito (dependência de contexto)

sentenca(G,N) --> sintagma_nominal(G,N), sintagma_verbal(N).

sintagma_nominal(G,N) --> artigo(G,N), substantivo(G,N).

sintagma_verbal(N) --> verbo(N), sintagma_nominal(G1, N1).

artigo(masculino, singular) --> [o].

artigo(masculino, plural) --> [os].

substantivo(masculino, singular) --> [gato].

substantivo(masculino, plural) --> [ratos].

verbo(singular) --> [matou].

verbo(plural) --> [mataram].

Page 38: 355nguas Naturais.ppt [Modo de Compatibilidade])wiki.icmc.usp.br/images/0/0b/Aula6-230t.pdf · Palavras, expressões, orações, sentenças, textos Lexical, composicional, textual

12/09/2011

38

75

Análise Sintática em Prolog

• Sentenças geradas pela gramática anterior

[o, gato, matou, o, gato]

[o, gato, matou, os, ratos]

[os, ratos, mataram, o, gato]

[os, ratos, mataram, os, ratos]

...

76

Análise Sintática em Prolog

• Mapeamento automático em cláusulas Prolog

sentenca(G,N) --> sintagma_nominal(G,N), sintagma_verbal(N).

é convertido em

sentenca(G, N, List1, Rest) :-

sintagma_nominal(G, N, List1, List2),

sintagma_verbal(N, List2, Rest).