Formalismos gramaticais

Propaganda
Parte 2 - Sintaxe - T1 e T2
Formalismos gramaticais
Indice
• Formalismos gramaticais alternativos às GLC
• Gramáticas categoriais
• Gramáticas de dependências
• ...
• TreeBanks
• Gramáticas Probabilísticas
Jurafsky
• Capítulo 12, secção 12.7 (versão draft), páginas
31 - 34
GRAMÁTICAS CATEGORIAIS
• As categorias gramaticais podem ser:
• Argumentos
•
ex: nomes
• Funções
•
ex: verbos e determinantes
• Motivação: o determinante pode ser visto como
uma função que se aplica a um nome à sua
direita para produzir um SN.
GRAMÁTICAS CATEGORIAIS
• Componentes:
• Léxico categorial: associa cada palavra a uma
categoria sintáctica e semântica
• Regras de combinação: permite combinar funções e
argumentos
•
X/Y: função de Y para X, isto é, algo que se combina com
um Y à direita e produz um X
•
X\Y: uma função de Y para X, isto é, algo que se combina
com um Y à esquerda e produz um X
GRAMÁTICAS CATEGORIAIS
• Exemplos de associações
• determinantes: SN/N, isto é, são funções que recebem
um N à direita e produzem um SN
• verbos transitivos: SV/SN
•
ou, mais elaborado, (S\SN)/SN
• verbo bitransitivo (ex: dar): (VP/NP)/NP
GRAMÁTICAS CATEGORIAIS
• Exemplo:
• Léxico categorial:
•
o, as: SN/N
•
João, maçãs: N
•
come: (S\SN)/SN
• Análise de: o João come as maçãs
•
o João: SN/N . N --> SN
•
as maçãs: SN/N . N --> SN
•
come as maçãs: (S\SN)/SN . SN --> (S\SN)
•
o João come as maçãs: (SN . (S\SN)) --> S
GRAMÁTICAS DE CATEGORIAS
—EXEMPLO—
João
SN
come
(S\SN)/SN
S\SN
S
maçãs
SN
Exercício
• E para representar a “O João come sopa” com a
gramática anterior? O que tinha de ser
acrescentado/alterado?
Actualmente
• As gramáticas categoriais actuais incluem regras
combinatórias mais complexas que são
necessárias para lidar com coordenação e com
outros fenómenos.
GRAMÁTICAS DE DEPENDÊNCIA
• Não usam o conceito de constituinte, sendo a
sintaxe descrita em termos de:
• Palavras
• Relações binárias (sintácticas ou semânticas) entre
palavras
GRAMÁTICAS DE DEPENDÊNCIA
• Exemplos de relações:
• Sujeito (suj)
• Objecto directo (obj)
• Objecto indirecto (dat)
• Advérbios temporais (tmp)
• Atributos nominais (attr)
• ...
GRAMÁTICAS DE DEPENDÊNCIA
• eu perdi o meu telefone
• perdi -> eu (seta etiquetada por subj)
• perdi -> telefone (seta etiquetada por obj)
• telefone -> meu (seta etiquetada por attr)
• root -> perdi (seta etiquetada por main)
GRAMÁTICAS DE DEPENDÊNCIA
• Como não consideram a ordem em que surgem
as palavras, lidam bem com alterações de ordem
entre as palavras como acontece em algumas
línguas como o checo
OUTROS FORMALISMOS
• Gramáticas que conjugam constituintes
nucleares com dependências
• (vi)SV(o homem)SN(no monte)SP1(com os binóculos)SP2
• SP1 -> SN ou SP1 -> SV
• etc.
• ... e tantos, tantos, tantos outros formalismos
(GPSG, HPSG, FCG, CG, ...)
Indice
• Formalismos gramaticais alternativos às GLC
• Gramáticas categoriais
• Gramáticas de dependências
• ...
• TreeBanks
• Gramáticas Probabilísticas
Jurafsky
• Capítulo 12, secção 12.4 (versão draft), páginas
20 - 25
• Página da Linguateca
• http://www.linguateca.pt/Floresta/
Treebanks
• Uma gramática pode ser usada para calcular uma
(ou mais) estruturas sintácticas de uma frase.
• Pode-se assim construir um CORPUS denominado TREEBANK - em que cada frase está
sintacticamente anotada.
• Tipicamente, a anotação sintáctica é feita
automaticamente e depois corrigida manualmente
Treebanks
• Penn Treebank (reúne textos do Brown corpus,
entre outros)
• Prague dependency Treebank (Checo - gramática
de dependências)
• Negra treebank (Alemão)
• Susanne (Inglês)
• Floresta Sintáctica (Linguateca) (Português)
Projecto Floresta Sintáctica
• Corpora:
• Floresta Virgem — texto jornalístico em português
europeu e brasileiro (dos corpora CETEMPúblico e
CETENFolha, respectivamente), 1.639.585 palavras.
• Bosque — subconjunto da Floresta, visto manual e
intelectualmente, 184.985 palavras.
• Selva — texto literário, científico e transcrição de fala,
em português europeu e brasileiro, com cerca de
300.000 palavras e parcialmente revisto por linguistas.
Projecto Floresta Sintáctica
• A menina gulosa jantou duas tigelas de sopa de
legumes
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
A1
STA:fcl
=SUBJ:np
==>N:art('a' <artd> F S) a
==H:n('menina' F S)
menina
==N<:adj('guloso' F S)
gulosa
=P:v-fin('jantar' PS 3S IND) jantou
=ACC:np
==>N:num('duas' <card> F P)
duas
==H:n('tigela' F P)
tigelas
==N<:pp
===H:prp('de')
de
===P<:np
====H:n('sopa' F S) sopa
====N<:pp
=====H:prp('de')
de
=====P<:np
======H:n ('legume' M P)
legumes
Utilização de um Treebank como uma
gramática
• As frases anotadas sintacticamente no TreeBank
constituem uma gramática implícita.
Utilização de um Treebank como uma
gramática
• Por exemplo, a gramática tirada do Penn
Treebank resulta em muitas e longas regras
gramaticais.
• Ex: 4500 regras para VPs
•
VP -> VBD PP
•
VP -> VBD PP PP
•
VP -> VBD PP PP PP
•
VP -> VBD ADV PP
•
VP -> VBD PP ADV
•
...
•
VP -> VBD PP PP PP PP PP ADV PP
Utilização de um Treebank como uma
gramática
• A regra
• VP -> VBD PP PP PP PP PP ADV PP
• vem de
• “we go from football in the fall to lifting in the winter
to football again in the spring”
Utilização de um Treebank como uma
gramática
• Sendo visto como uma gramática, o Penn
TreeBank III Wall Street Journal corpus
(aproximadamente 1 milhão de palavras) tem
cerca de 17 500 tipos de regras distintas e 1
milhão de regras não lexicais.
• Tipicamente, há muitas alterações a fazer a uma
gramática retirada de um TreeBank.
Pesquisa num Treebank
• Os TreeBanks são também muito usados na pesquisa
de certos fenómenos sintácticos.
Pesquisa num Treebank
• TGrep/TGrep2
•
NP: devolve a sub-árvore com nó NP
•
NN|NNS: devolve nomes no singular ou no plurar
(também é possível fazer /NN?/)
•
NP < PP: apanha todos os NPs que dominam
imediatamente um PP
•
NP << PP: apanha todos os NPs que dominam um PP
•
NP < JJ . VP: apanha os NP que dominam imediatamente
um JJ e que é seguido de um VP
Pesquisa num Treebank
• Para a Floresta Sintáctica existem as seguintes
interfaces:
• Milhafre e Águia: interfaces de busca para os corpora
da Floresta Sintáctica
•
tgrepeye: sistema de procura sobre o formato do Penn
Treebank que permite também a visualização das
árvores em formato gráfico
Indice
• Formalismos gramaticais alternativos às GLC
• Gramáticas categoriais
• Gramáticas de dependências
• ...
• TreeBanks
• Gramáticas Probabilísticas
Jurafsky
• Capítulo 14, secção 14.1 (versão draft), páginas 1
-5
GRAMÁTICAS PROBABILÍSTICAS
(motivação)
• Relebrar o clássico:
• vi o homem no monte com os binóculos
• Supondo a gramática:
• S -> SV | SV SP
• SV -> v SN | v SN SP
• SN -> SN SP | SN SP SP | SN SP SP SP
• Vejam lá a quantidade de árvores geradas
• E seria possível relacionar “o homem” com “os
binóculos” e “vi” com “no monte”?
GRAMÁTICAS PROBABILÍSTICAS
(motivação)
• O caso anterior é genuinamente ambíguo, mas há
muitos casos de ambiguidade que se devem
apenas à gramática em si.
• Ex: Indique-me um hotel com piscina com água quente
•
S -> SV | SV SP
•
SV -> SN SP | SN SP SP
• O hotel é que tem água quente?
GRAMÁTICAS PROBABILÍSTICAS
(motivação)
• Portanto, temos um problema: como é que
conseguimos descobrir a árvore de análise
correcta?
GRAMÁTICAS PROBABILÍSTICAS
(motivação)
• Soluções possíveis:
• Deixar que as situações de ambiguidade sejam resolvidas
pela análise semântica?
• Usar regras de desambiguação manuais?
• Usar modelos probabilísticos para atribuir
probabilidades às diferentes arvores?
GRAMÁTICAS PROBABILÍSTICAS
(motivação)
• Como calcular estas probabilidades?
GRAMÁTICAS LIVRES DE CONTEXTO
PROBABILÍSTICAS
• Uma gramática livre de contexto probabilística
(PGLC) é um tuplo (N, T, S0, R) composta por:
• N: Conjunto de símbolos não-terminais
• T: Conjunto de símbolos terminais
• S0: símbolos não-terminal, designado por símbolo
inicial
• R: Conjunto de regras da forma A → α [p], onde:
•
A é um símbolo não terminal;
•
α é uma cadeia de zero ou mais símbolos terminais e não
terminais;
•
p é um número entre 0 e 1 que representa P(α |A)
GRAMÁTICAS LIVRES DE CONTEXTO
PROBABILÍSTICAS
• p = P(α |A) = probabilidade de um dado não
terminal A ser expandido na expressão α.
• p = P(α |A) = P(A -> α) = P(A-> α | A) =
• P(RHS | LHS), em que:
• RHS = right-hand-side
• LHD = left-hand-side
GRAMÁTICAS LIVRES DE CONTEXTO
PROBABILÍSTICAS
• Atenção que:
GRAMÁTICAS LIVRES DE CONTEXTO
PROBABILÍSTICAS
• E agora, o que fazemos com isto?
• Podemos usar uma PCFG para estimar a
probabilidade associada a uma dada árvore, o que vai
permitir arranjar uma solução para os casos de
ambiguidade.
GRAMÁTICAS LIVRES DE CONTEXTO
PROBABILÍSTICAS
• Mas antes, temos de calcular as probabilidades
associadas a cada regra. Como fazê-lo?
GRAMÁTICAS LIVRES DE CONTEXTO
PROBABILÍSTICAS
• Supondo n regras da forma A→ αi
• Calcula-se P(A→αi|A)
• Podem-se calcular estes valores, fazendo
contagens... num TreeBank
GRAMÁTICAS LIVRES DE CONTEXTO
PROBABILÍSTICAS
• Estas contagens podem ser feitas através da
seguinte fórmula:
GRAMÁTICAS LIVRES DE CONTEXTO
PROBABILÍSTICAS
• Consegue-se deste modo associar
probabilidades às regras e construir uma
gramática probabilística:
• SV → Verbo
[.50]
• SV → Verbo SN [.45]
• SV → Verbo SN SN [.05]
GRAMÁTICAS LIVRES DE CONTEXTO
PROBABILÍSTICAS
S → NP VP[.80] | Aux NP VP[.15] | VP[.05]
NP → Det Nom [.20] | Proper-Noun [.35] | Nom[.05] | Pronoun [.40]
Nom → Noun [.75] | Noun Nom [.20] | Proper-Noun Nom [.05]
VP → Verb [.55] | Verb NP [.40] | Verb NP NP [.05]
Det → that [.05] | the [.80] | a [.15]
Noun → book [.10] | flights [.50] | meal [.40]
Verb → book [.30] | include [.30] | want [.40]
Aux → can [.40] | does [.30] | do [.30]
Proper-Noun → TWA [.40] | Denver [.60]
Pronoun → you [.40] | I [.60]
GRAMÁTICAS LIVRES DE CONTEXTO
PROBABILÍSTICAS
• Pronto, e agora que construímos a gramática
probabilística, como é que associamos probabilidades
às árvores?
GRAMÁTICAS LIVRES DE CONTEXTO
PROBABILÍSTICAS
• Considerando que a probabilidade de cada
constituinte é independente do contexto em que
aparece na árvore global de análise, temos que a
probabilidade do constituinte A, obtido a partir
de α1,…,αn, através da regra A→ α1…αn é
dada por:
• P(A) = P(A→ α1…αn|A) * P(α1) * … * P(αn)
• Adicionalmente.
• Nas folhas da árvore, usam-se as probabilidades POS
P(αi|wi)
GRAMÁTICAS LIVRES DE CONTEXTO
PROBABILÍSTICAS
• Dado que uma árvore é constituída pelo
conjunto de regras que participam na sua
derivação, a probabilidade associada a cada
árvore é o produto das probabilidades das
regras usadas na sua derivação.
EXEMPLO
• Considere a gramática:
• F → SN SV [0.6] | SV[0.4]
• SN → Nome[1.0]
• SV → Verbo [0.3] | Verbo SN [0.7]
• Nome → nota [0.1] | ... [0.9]
• Verbo → nota
[0.2] | ... [0.8]
• Calcule a probabilidade associada às árvores de
derivação da frase “nota nota”
EXEMPLO
• Árvores para a frase “nota nota”
• Caso 1: [F [SN [Nome nota]] [SV [Verbo nota]]]
• P([Nome nota]) = P(Nome→nota) = 0.1
• P([Verbo nota]) = P(Verbo→nota) = 0.2
• P([SN [Nome nota]])=P(SN→Nome)P([Nome nota])
=1.0*0.1=0.1
• P([SV [Verbo nota]])=P(SV→Verbo)P([Verbo nota])
=0.3*0.2=0.06
• P [F [SN [Nome nota]] [SV [Verbo nota]]]) = P(F→SN
VP)*0.1*0.06 = 0.6*0.1*0.06 = 0.0036
EXEMPLO
• Árvores para a frase “nota nota”
• Caso 2: [F [SV [Verbo nota] [SN [Nome nota]]]]
• P([SV [Verbo nota] [SN [Nome nota]]]) = P(SV→Verbo
SN) * 0.2 * 0.1 = 0.7 * 0.2 * 0.1= 0.014
• P([F [SV [Verbo nota] [SN [Nome nota]]]]) = P(F→VP)
*0.014=0.4*.014=0.0056
•
=> Esta árvore é mais provável
EXERCÍCIO
• Considerando a seguinte gramática
•
F → SN COORD SV [0.6] | SN COORD SN [0.4]
•
SN → Nome [1.0]
•
SV → Verbo[0.3] |Verbo COORD SN
•
Nome → bucha[0.1] | estica [0.2] | ...
•
Verbo → estica [0.2] | ...
•
COORD → e
[0.7]
[0.7]
[0.8]
[1.0]
• Calcular a probabilidade associada às árvores da
seguinte expressão
• “bucha e estica”
Download