An alise sint atica { Parsing

62
An´ alise sint´ atica – Parsing IBM1088 Linguagens Formais e Teoria da Computa¸c˜ ao Evandro Eduardo Seron Ruiz [email protected] Departmento de Computac ¸˜ ao e Matem´ atica FFCLRP Universidade de S˜ ao Paulo Baseado em Jurafsky&Martin E.E.S Ruiz (DCM – USP) POS 1 / 59

Transcript of An alise sint atica { Parsing

Page 1: An alise sint atica { Parsing

Analise sintatica – ParsingIBM1088 Linguagens Formais e Teoria da Computacao

Evandro Eduardo Seron [email protected]

Departmento de Computacao e MatematicaFFCLRP

Universidade de Sao Paulo

Baseado em Jurafsky&Martin

E.E.S Ruiz (DCM – USP) POS 1 / 59

Page 2: An alise sint atica { Parsing

Pensamento do dia

Benjamin Franklin

We are all born ignorant, but one must work hard to remain stupid.

BF, polıtico, cientista e inventor norte-americano, 1706–1790.

E.E.S Ruiz (DCM – USP) POS 2 / 59

Page 3: An alise sint atica { Parsing

Conteudo

1 Motivacao

2 IntroducaoRecordando. . .

3 ParsingTop-down parsingBottom-up parsingCombinando as duas abordagensProblemas da abordagem combinada

E.E.S Ruiz (DCM – USP) POS 3 / 59

Page 4: An alise sint atica { Parsing

Motivacao

GLC e estruturas sintaticas

Estudamos as GLC

GLC e uma gramatica formal

Topicos de GLC podem ser adaptadas para textos livres

GLC atraves de regras podem determinar ou analisar estruturasgramaticais

E.E.S Ruiz (DCM – USP) POS 4 / 59

Page 5: An alise sint atica { Parsing

Introducao

1 Motivacao

2 IntroducaoRecordando. . .

3 ParsingTop-down parsingBottom-up parsingCombinando as duas abordagensProblemas da abordagem combinada

E.E.S Ruiz (DCM – USP) POS 5 / 59

Page 6: An alise sint atica { Parsing

Introducao

Analise sintatica (AS)

Parsing

O processo de analisar uma sequencia de sımbolos (palavras outermos) para determinar sua estrutura gramatical de acordo com umadeterminada gramatica

Resultado: arvore sintatica

F

N

Joao

SV

V

toca

N

piano

E.E.S Ruiz (DCM – USP) POS 6 / 59

Page 7: An alise sint atica { Parsing

Introducao

Analise sintatica (AS)

Parsing

O processo de analisar uma sequencia de sımbolos (palavras outermos) para determinar sua estrutura gramatical de acordo com umadeterminada gramatica

Resultado: arvore sintatica

F

N

Joao

SV

V

toca

N

piano

E.E.S Ruiz (DCM – USP) POS 6 / 59

Page 8: An alise sint atica { Parsing

Introducao Recordando. . .

1 Motivacao

2 IntroducaoRecordando. . .

3 ParsingTop-down parsingBottom-up parsingCombinando as duas abordagensProblemas da abordagem combinada

E.E.S Ruiz (DCM – USP) POS 7 / 59

Page 9: An alise sint atica { Parsing

Introducao Recordando. . .

AS: Analise componencial

Trabalha sobre unidades menores internas a frase, osconstituintes

Constituintes Exe: sintagmas e categorias gramaticais

Sintagmas Grupos de palavras em torno de um nucleo sintaticodominante

Exemplos

Nucleo=verbo: sintagma verbal (SV=VP)Nucleo=substantivo, adjetivo, pronome: sintagma nominal(SN=NP)

Categorias gramaticais: verbo, substantivo. . .

E.E.S Ruiz (DCM – USP) POS 8 / 59

Page 10: An alise sint atica { Parsing

Introducao Recordando. . .

Estrutura arborea de uma frase

F

SN

Det

o

N

Joao

SV

V

comprou

SN

Q

todos

SN

Det

os

N

livros

E.E.S Ruiz (DCM – USP) POS 9 / 59

Page 11: An alise sint atica { Parsing

Introducao Recordando. . .

recordando. . . Constituintes em todos lugar

Os constituintes sao modulares

Podem surgir em varios pontos das frases

Analisar a sentenca sob o ponto de vista de constituintes e umaforma de otimizar a analise

todos os livros do Joao foram doadosEu nao entendo como todos os livros foram doados?

Constituintes podem ser e expandidos

Eu nao entendo como todos aqueles livros maravilhosos foramdoados?

E.E.S Ruiz (DCM – USP) POS 10 / 59

Page 12: An alise sint atica { Parsing

Introducao Recordando. . .

GLC e Analise sintatica

Analise sintatica (AS) e um ponto central no ensino degramatica

AS e essencial em CC: analise sintatica das LP

AS e baseada numa gramatica

Gramatica e um conjunto de regras para a composicao de frases

E.E.S Ruiz (DCM – USP) POS 11 / 59

Page 13: An alise sint atica { Parsing

Introducao Recordando. . .

Onde estao as regras?

Pronominais, por Oswald de Andrade

De-me um cigarro

Diz a gramatica

Do professor e do aluno

E do mulato sabidoMas o bom negro e o bom brancoDa Nacao BrasileiraDizem todos os diasDeixa disso camaradaMe da um cigarro

E.E.S Ruiz (DCM – USP) POS 12 / 59

Page 14: An alise sint atica { Parsing

Introducao Recordando. . .

GLC e Analise sintatica

Gramaticas livres de contexto (GLC) de sao gramaticasdeclarativas de LP

Mas as GLC nao especificam como fazer o parsing

Existem diversos tipos de parsers e algoritmos

Dois grandes grupos:

Top-down parsersBottom-up parsers

E.E.S Ruiz (DCM – USP) POS 13 / 59

Page 15: An alise sint atica { Parsing

Introducao Recordando. . .

AS: utilidades

Verificacao gramatical em processadores de texto

Estagio intermediario para Analise Semantica

Importante para:

Traducao automaticaSistemas de Question AnsweringExtracao de informacao

E.E.S Ruiz (DCM – USP) POS 14 / 59

Page 16: An alise sint atica { Parsing

Parsing

1 Motivacao

2 IntroducaoRecordando. . .

3 ParsingTop-down parsingBottom-up parsingCombinando as duas abordagensProblemas da abordagem combinada

E.E.S Ruiz (DCM – USP) POS 15 / 59

Page 17: An alise sint atica { Parsing

Parsing

AS: o problema

F

SN

Det

o

N

Joao

SV

V

comprou

SN

Q

todos

SN

Det

os

N

livros

Encontrar todas as arvores sintaticas com raıs em F.Problema de busca, passeio em arvore

E.E.S Ruiz (DCM – USP) POS 16 / 59

Page 18: An alise sint atica { Parsing

Parsing

AS: distincoes

Aplicacoes diferentes, parsers distintos

Parsers para linguagens naturais sao distintos de parsers paracompiladores de linguagens formais.

Grande parte da teoria de aplicacao de parsers para compiladores naoe adequada para PLN

E.E.S Ruiz (DCM – USP) POS 17 / 59

Page 19: An alise sint atica { Parsing

Parsing

AS: Objetivo

S

NP

John

VP

V

loves

NP

Mary

Encontrar todas as arvores sintaticas com raıs em S .

Pode haver ambiguidade

Condicoes de contorno:1 As folhas da arvore devem ser as palavras da frase2 Arvore deve ter uma raız S

E.E.S Ruiz (DCM – USP) POS 18 / 59

Page 20: An alise sint atica { Parsing

Parsing

Uma pequena gramatica + lexico (corrigir)

Gramatica(regras de producao)

S → NP VPS → Aux NP VPS → VPNP → Det NOM(inal)NOM → NoumNOM → Noum NOMNP → ProperNoumVP → VerbVP → Verb NP

Lexico

Det → that | this | aNoum → book | flight | meal | moneyVerb → book | include | preferAux → doesPrep → from | to | onProperNoum → Huston | TWANOM → NOM PP

E.E.S Ruiz (DCM – USP) POS 19 / 59

Page 21: An alise sint atica { Parsing

Parsing Top-down parsing

1 Motivacao

2 IntroducaoRecordando. . .

3 ParsingTop-down parsingBottom-up parsingCombinando as duas abordagensProblemas da abordagem combinada

E.E.S Ruiz (DCM – USP) POS 20 / 59

Page 22: An alise sint atica { Parsing

Parsing Top-down parsing

Top-down: basico

Busca por uma arvore sintatica a partir do no S

Explora todos os espacos de busca, os ramos da arvore

Assume que a partir de S ele encontrar as folhas no lexico

Busca por todas as arvores possıveis

E.E.S Ruiz (DCM – USP) POS 21 / 59

Page 23: An alise sint atica { Parsing

Parsing Top-down parsing

Top-down: inıcio

Parte do no S e busca todas suas constituintes (sintagmas)derivados

Tenta expandir estes sintagmas

Busca as derivacoes mais a esquerda da cadeia de entrada

Do inıcio da frase para o final

Veja figura a seguir

E.E.S Ruiz (DCM – USP) POS 22 / 59

Page 24: An alise sint atica { Parsing

Parsing Top-down parsing

Top-down: expansao de arvores

Abordagem top-down buscando analisar Book that flight.

So a expansao da quinta arvore da camada mais baixa (VP→ VerbNP) casara com a frase Book that flight.

E.E.S Ruiz (DCM – USP) POS 23 / 59

Page 25: An alise sint atica { Parsing

Parsing Top-down parsing

Top-down: comentarios

LL-parser (com ou sem recursao) e o tipo de top-down maiscomum

LL-parser interessantes para LP

Pode ter O(exp)1 em GLC ambıguas

Escalabilidade e muito ruim

Gramaticas mais amplas: qual arvore escolher?

Gramaticas mais rıgidas: muitas arvores derivadas, muitamemoria

GLC com 10 regras podem surgir 592 arvores de derivacao

1Complexidade de tempo exponencialE.E.S Ruiz (DCM – USP) POS 24 / 59

Page 26: An alise sint atica { Parsing

Parsing Top-down parsing

Top-down: comentarios

LL-parser (com ou sem recursao) e o tipo de top-down maiscomum

LL-parser interessantes para LP

Pode ter O(exp)1 em GLC ambıguas

Escalabilidade e muito ruim

Gramaticas mais amplas: qual arvore escolher?

Gramaticas mais rıgidas: muitas arvores derivadas, muitamemoria

GLC com 10 regras podem surgir 592 arvores de derivacao

1Complexidade de tempo exponencialE.E.S Ruiz (DCM – USP) POS 24 / 59

Page 27: An alise sint atica { Parsing

Parsing Bottom-up parsing

1 Motivacao

2 IntroducaoRecordando. . .

3 ParsingTop-down parsingBottom-up parsingCombinando as duas abordagensProblemas da abordagem combinada

E.E.S Ruiz (DCM – USP) POS 25 / 59

Page 28: An alise sint atica { Parsing

Parsing Bottom-up parsing

Bottom-up: basico

Forma mais antiga de AS (Victor H. Yngve, U. Chicago, 1955)

AS inicia pela cadeia de entrada e tenta gerar arvore sintaticaate S aplicando as regras de producao

Sucesso se consegue chagar ao S

E.E.S Ruiz (DCM – USP) POS 26 / 59

Page 29: An alise sint atica { Parsing

Parsing Bottom-up parsing

Bottom-up: na pratica

Abordagem top-down buscando analisar Book that flight.

Problema: book pode ser verbo ou substantivo

Gera duas possıveis arvores de derivacao

Bottom-up busca o casamento das regras a partir do lado direitodas regras de producao

Diferente do top-down que busca o lado esquerdo das regras

E.E.S Ruiz (DCM – USP) POS 27 / 59

Page 30: An alise sint atica { Parsing

Parsing Bottom-up parsing

Bottom-up: expansao de arvores

Abordagem top-down buscando analisar Book that flight.

E.E.S Ruiz (DCM – USP) POS 28 / 59

Page 31: An alise sint atica { Parsing

Parsing Bottom-up parsing

Bottom-up: primeira expansao

Abordagem top-down buscando analisar Book that flight.

E.E.S Ruiz (DCM – USP) POS 29 / 59

Page 32: An alise sint atica { Parsing

Parsing Bottom-up parsing

Bottom-up: segunda expansao

Abordagem top-down buscando analisar Book that flight.

E.E.S Ruiz (DCM – USP) POS 30 / 59

Page 33: An alise sint atica { Parsing

Parsing Bottom-up parsing

Bottom-up: derivacoes finais

Abordagem top-down buscando analisar Book that flight.

E.E.S Ruiz (DCM – USP) POS 31 / 59

Page 34: An alise sint atica { Parsing

Parsing Bottom-up parsing

Bottom-up: comentarios

Se a gramatica tem multiplas regras que comecam com omesmo sımbolo

mas tem producoes diferentes

Entao podemos usar bottom-up determinıstico

Top-down nao e adequado sem backtracking2

2Correlacionar com a busca em profundidade.E.E.S Ruiz (DCM – USP) POS 32 / 59

Page 35: An alise sint atica { Parsing

Parsing Bottom-up parsing

Bottom-up: + comentarios

LR parser e um tipo de bottom-up parser que analisa GLCdeterminıstica em tempo linear

LR criado por Donald Knuth

LR e um acronimo: le cadeia pela esquerda, regras de producaopela direita

LR sao determinısticos. Nao usam backtracking

Existem variacoes do LR que usam diversas estrategias

E.E.S Ruiz (DCM – USP) POS 33 / 59

Page 36: An alise sint atica { Parsing

Parsing Combinando as duas abordagens

1 Motivacao

2 IntroducaoRecordando. . .

3 ParsingTop-down parsingBottom-up parsingCombinando as duas abordagensProblemas da abordagem combinada

E.E.S Ruiz (DCM – USP) POS 34 / 59

Page 37: An alise sint atica { Parsing

Parsing Combinando as duas abordagens

Top-down + bottom-up: Introducao

Ambos, top-down e bottom-up, tem suas vantagens edesvantagens

Combinacao de ambas abordagens e uma estrategia valida

Segredo: escolher a melhor caracterıstica de cada uma

Combinacao escolhida:

Estrategia de controle: Top-downFiltragem: aspectos do Bottom-up

E.E.S Ruiz (DCM – USP) POS 35 / 59

Page 38: An alise sint atica { Parsing

Parsing Combinando as duas abordagens

Busca em profundidade

Explorando o potencial do Top-down. . .

Usar a busca em profundidade para explorar cada ramo da arvore

Buscar uma sub-arvore consistente a cada ramo

Se sub-arvore for inconsistente, backtrack

Deixar o bottom-up fazer a filtragem (casamento) das folhas

E.E.S Ruiz (DCM – USP) POS 36 / 59

Page 39: An alise sint atica { Parsing

Parsing Combinando as duas abordagens

Opcoes da busca em profundidade

Arvore de derivacao nao sao especificadas por esta combinacao

Duas escolhas devem ser feitas:

Qual sub-arvore expandir primeiro (pre-ordem, in-ordem,pos-ordem)Qual a ordem de aplicacao das regras da gramatica

E.E.S Ruiz (DCM – USP) POS 37 / 59

Page 40: An alise sint atica { Parsing

Parsing Combinando as duas abordagens

Opcao: pre-ordem

Fazer a busca em profundidade a partir da sub-arvore mais aesquerda

Casa com a ordem de entrada das palavras na cadeia decaracteres

Quanto as regras: aplica-las na ordem textual da gramatica

E.E.S Ruiz (DCM – USP) POS 38 / 59

Page 41: An alise sint atica { Parsing

Parsing Combinando as duas abordagens

Derivacao top-down depht-first (1/4)

Analisar Does this flight include a meal.

E.E.S Ruiz (DCM – USP) POS 39 / 59

Page 42: An alise sint atica { Parsing

Parsing Combinando as duas abordagens

Derivacao top-down depht-first (2/4)

Analisar Does this flight include a meal.

E.E.S Ruiz (DCM – USP) POS 40 / 59

Page 43: An alise sint atica { Parsing

Parsing Combinando as duas abordagens

Derivacao top-down depht-first (3/4)

Analisar Does this flight include a meal.

E.E.S Ruiz (DCM – USP) POS 41 / 59

Page 44: An alise sint atica { Parsing

Parsing Combinando as duas abordagens

Derivacao top-down depht-first (4/4)

Analisar Does this flight include a meal.

e segue. . .E.E.S Ruiz (DCM – USP) POS 42 / 59

Page 45: An alise sint atica { Parsing

Parsing Combinando as duas abordagens

Comentarios: Derivacao top-down depht-first

Notem que, a medida que a primeira palavra e aceita um‘apontador’ muda para a segunda palavra

Se a analise for bem sucedida. . .

A palavra corrente deve ser a primeira palavra nas regras deproducao que irao derivar a proxima sub-arvore

O parser nao pode considerar uma palavra que nao esteja naleft-corner tree

Recorde a figura a seguir:

E.E.S Ruiz (DCM – USP) POS 43 / 59

Page 46: An alise sint atica { Parsing

Parsing Combinando as duas abordagens

Derivacao top-down depht-first (2/4)

Analisar Does this flight include a meal.

E.E.S Ruiz (DCM – USP) POS 44 / 59

Page 47: An alise sint atica { Parsing

Parsing Combinando as duas abordagens

Left-corner rule

Considernado A e B nao terminais e α terminal

A producaoA→∗ Bα

tem B no left-corner se existe uma derivacao de A tal quecomeca com B .

E.E.S Ruiz (DCM – USP) POS 45 / 59

Page 48: An alise sint atica { Parsing

Parsing Combinando as duas abordagens

Recordando as regras de producao

Retornando para a frase: Does this flight include a meal

S → NP VP

S → Aux NP VP

S → VP

Aqui e facil ver que Does so se encaixa na terceira regra e naonas demais

E.E.S Ruiz (DCM – USP) POS 46 / 59

Page 49: An alise sint atica { Parsing

Parsing Combinando as duas abordagens

Recordando as regras de producao

Caso analisassemos a frase: prefer a bagel

VP

Verb

prefer

NP

Det

a

Noum

bagel

A regra S → VP deveria anteceder as demais

E.E.S Ruiz (DCM – USP) POS 47 / 59

Page 50: An alise sint atica { Parsing

Parsing Problemas da abordagem combinada

1 Motivacao

2 IntroducaoRecordando. . .

3 ParsingTop-down parsingBottom-up parsingCombinando as duas abordagensProblemas da abordagem combinada

E.E.S Ruiz (DCM – USP) POS 48 / 59

Page 51: An alise sint atica { Parsing

Parsing Problemas da abordagem combinada

Problemas da abordagem combinada

Mesmo com a abordagem top-down incrementada, o parser aindasofre de 3 problemas

1 Recursao a esquerda

2 Ambiguidade

3 Parsing repetitivo das sub-arvores

E.E.S Ruiz (DCM – USP) POS 49 / 59

Page 52: An alise sint atica { Parsing

Parsing Problemas da abordagem combinada

Recursao a esquerda

Gramaticas recursivas a esquerda: Formalmente. . .

A→∗ αAβ

A→∗ ε

Para A nao terminal e α e β terminais.

Contem um nao-terminal para qual existe uma derivacao mais aesquerda que inclui o proprio sımbolo

Regra introduz uma recursao a esquerda que pode levar a umpercurso infinito e nunca fazer um backtrack

E.E.S Ruiz (DCM – USP) POS 50 / 59

Page 53: An alise sint atica { Parsing

Parsing Problemas da abordagem combinada

Recursao a esquerda: exemplo

NP → NP PP

VP → VP PP

S → S and S

Reparem que a primeira regra de producao habilita a recursao aesquerda

S

NP VP

S

NP

NP PP

VP

S

NP

NP

NP PP

PP

VP

E.E.S Ruiz (DCM – USP) POS 51 / 59

Page 54: An alise sint atica { Parsing

Parsing Problemas da abordagem combinada

Recursao a esquerda: Resolvendo o problema

Ideia e eliminar a recursao rescrevendo a gramatica originaltransformado-a numa gramatica fracamente nao recursiva a esquerda

Com recursao

A→ A β | α

Sem recursao

A→ αA′

A′ → βA′ | ε

Problema

A gramatica rescrita pode nao mais representar o modo natural deexpressao da lıngua.

E.E.S Ruiz (DCM – USP) POS 52 / 59

Page 55: An alise sint atica { Parsing

Parsing Problemas da abordagem combinada

Recursao a esquerda: Resolvendo o problema

Ideia e eliminar a recursao rescrevendo a gramatica originaltransformado-a numa gramatica fracamente nao recursiva a esquerda

Com recursao

A→ A β | α

Sem recursao

A→ αA′

A′ → βA′ | ε

Problema

A gramatica rescrita pode nao mais representar o modo natural deexpressao da lıngua.

E.E.S Ruiz (DCM – USP) POS 52 / 59

Page 56: An alise sint atica { Parsing

Parsing Problemas da abordagem combinada

Ambiguidade

Novo tipo de ambiguidade: ambiguidade estrutural

Gramatica associa mais de uma arvore de derivacao a uma frase

Tres tipos se destacam:

Ambiguidade por qualificacao, aposto, ligacaoAmbiguidade por coordenacaoAmbiguidade por sintagmas nominais

Vejamos um exemplo de ambiguidade por qualificacao:

E.E.S Ruiz (DCM – USP) POS 53 / 59

Page 57: An alise sint atica { Parsing

Parsing Problemas da abordagem combinada

Ambiguidade estrutural: exemplo

Analisando a ambiguidade em: I once shot an elephant in mypajamas.

Sentido: While I was wearing my pajamas, I once shot an elephant.

E.E.S Ruiz (DCM – USP) POS 54 / 59

Page 58: An alise sint atica { Parsing

Parsing Problemas da abordagem combinada

Ambiguidade estrutural: exemplo

Analisando a ambiguidade em: I once shot an elephant in mypajamas.

Sentido: I once shot an elephant that was in my pajamas.

E.E.S Ruiz (DCM – USP) POS 55 / 59

Page 59: An alise sint atica { Parsing

Parsing Problemas da abordagem combinada

Ambiguidade: solucao

Sintagma preposicional e uma grande fonte de ambiguidade

SP= locucao prepositiva. Modificador de qualquer outrosintagmaExe: Ontem eu e Maria caminhamos pela cidade

Desambiguar: problema difıcil!

Tarefa exige conhecimento estatıstico e/ou semantico

Possibilidade: usar GLC probabilıstica

E.E.S Ruiz (DCM – USP) POS 56 / 59

Page 60: An alise sint atica { Parsing

Parsing Problemas da abordagem combinada

Parsing repetitivo das sub-arvores

Considere S=a flight from NYC to Chicago on Delta

O parse ideal e a frase inteira, mas

Como usamos a abordagem top-down, depth-first, left-to-right

Algumas sub-arvores falham no parse

Segundo a ordem, as primeiras regras de producao fomentamarvores que eventualmente nao cobrem todos os termos

Varios backtrack, os mesmos sintagmas sao derivados variasvezes

E.E.S Ruiz (DCM – USP) POS 57 / 59

Page 61: An alise sint atica { Parsing

Parsing Problemas da abordagem combinada

Outros parsers

Nao estao no escopo desta aula

Parser (algoritmo) de Earley (1970)

Programacao dinamica (reparticao do problema)Melhorias: recursao a esquerda, ambiguidade e parsingrepetitivoPior caso: O(N3), N numero de palavras

Cocke–Younger–Kasami (CYK) parser

Trabalha sobre forma normal de Chomsky (FNC)Pior caso: O(N3 × |G |), N numero de palavras, |G | tamanhoda FNC

Top: Parsers probabilısticos

E.E.S Ruiz (DCM – USP) POS 58 / 59

Page 62: An alise sint atica { Parsing

Finalizando. . .

Continuem estudando

Leiam as notas de aula e os livros texto!

E.E.S Ruiz (DCM – USP) POS 59 / 59