An alise sint atica { Parsing
Transcript of 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Finalizando. . .
Continuem estudando
Leiam as notas de aula e os livros texto!
E.E.S Ruiz (DCM – USP) POS 59 / 59