Métodos basados en Charts
description
Transcript of Métodos basados en Charts
PLN parsing charts 1
Métodos basados en Charts
• Extensiones a partir de Charts• Métodos Tabulares
• CKY
• Earley
PLN parsing charts 2
Extensiones a partir de Charts
• Desarrollo de las técnicas básicas de Charts (Kay) y de sus implementaciones tabulares (CKY, Earley)
• Problemas: • El tamaño del Chart aumenta con el tamaño de la gramática
(número de reglas, longitud)
• Se crean arcos activos e inactivos inútiles.
• Se dice que la técnica de los Charts aporta mayor flexibilidad a la estrategia de análisis pero realmente se utiliza casi siempre una estrategia ascendente, eventualmente corregida con predicciones descendentes
PLN parsing charts 3
Posibles soluciones
• Propagación de Restricciones• CSP (Quesada)
• Análisis bidireccionales• Dirigidos por el núcleo (Head driven)
• Dirigidos por functores
• Dirigidos por islas (Island driven)
• Uso de Charts para formalismos de unificación• Utilización de restrictores
• Backbone grammars para predecir
PLN parsing charts 4
CSP 1
• Ambigüedad de la gramática (externa) vs ambigüedad del analizador (interna)
• 2 estrategias:• Mecanismo básico bidireccional ascendente
• Predicciones descendentes• derivaciones parciales
• adyacencias
• Mecanismo horizontal de propagación de las restricciones
PLN parsing charts 5
CSP 2
S A1 bS A2 cA1 aA1 a A1
A2 aA2 a A2gramática
a a a b
oración a analizar
0 2 3 41a a a b
A2
A1
A2
A1
A2
A1
A2 a A2
A1 a A1
A2 a A2
A1 a A1
A2 a A2
A1 a A1
S A1 b
PLN parsing charts 6
CSP 3
0 2 3 41a a a b
A2
A1
A2
A1 A1
A2 a A2
A1 a A1
A2 a A2
A1 a A1
S A1 b
Restricciones en la posición 3
PLN parsing charts 7
CSP 4
0 2 3 41a a a b
A1
A1 a A1 A1 a A1
S A1 b
propagación de restricciones a las posiciones 2 y 1
PLN parsing charts 8
Head-driven Chart parsing
• Comenzar la aplicación de la regla por el constituyente más informativo/restrictivo• Motivación lingüística: HG, HPSG
• Adquisición automática
• Generalización de parsing LC
• Generalización de estrategias izquierda/derecha
• Extended Head Grammar
PLN parsing charts 9
Island-driven parsing
• Se comienza el análisis por algunas posiciones de la oración determinadas dinámicamente (islas)
• Cómo seleccionarlas• palabras no ambiguas
• base NPs
• Segmentos detectados con alta precisión (speech)
• Cómo extenderlas• aproximación local
• aproximación neighbouring
PLN parsing charts 10
Métodos tabulares
• Programación dinámica• Aplicables a Gramáticas independientes del contexto (sin
limitaciones)• CKI (Cocke, Kasami, Younger,1967)• Earley 1969• Extensibles a unificación, probabilísticas, etc...
PLN parsing charts 11
Esquemas de análisis
• Mecanismo unificado de descripción de analizadores• proceso constructivo
• Parser (esquema):• dada una oración, se construye un conjunto inicial de items.
• dada una gramática, existe un conjunto de reglas que permite construir nuevos items a partir de los antiguos.
• Parser (algoritmo): Esquema de parsing
+ estructuras de datos
+ estructuras de control
(+ estructuras de comunicación)
Sikkel, 1997
PLN parsing charts 12
Esquema CKY
G = <N, , P,S >, G CNF, w = a1 ... an
<X, H, D> X = {[A, i, j] | 0 i < j A NG }
H = {[A, j-1, j] | A aj PG 1 j n }
D = {[B, i, j], [C, j, k] [A, i, k] | A BC PG 0 i < k < j}
V (D) = {[A, i, j] | A * ai+1 ... aj}
dominio, conjunto de items
conjunto de hipótesis
conjunto de pasos deductivos
conjunto entidades válidas
PLN parsing charts 13
CKY 1
Complejidad espacial n2 temporal n3
Exigencia de Forma Normal de ChomskyConstrucción de la tabla de análisis
tij 1 i w1 j wi + 1
donde w = a1, ... an es la frase a analizar
PLN parsing charts 14
CKY 2
a1 a2 ... ai ... an
A ti,j
j
B C
PLN parsing charts 15
CKY 3
Que el símbolo A esté en la posición tij de la tabla significa que desde el símbolo A se puede derivar el fragmento del texto ai, ... ai+j-1 (cadena de longitud j que comienza en la posición i-ésima)
La condición de gramaticalidad es obviamente que el símbolo inicial de la gramática (F) cumpla que f t1|w|
PLN parsing charts 16
CKY 4
La forma de construcción es ascendenteSe construye la fila 1 utilizando las reglas unarias de la gramática:
fila j=1 ti1 = {A| [A --> ai] P}
A continuación se construyen las filas j=2,... La base del algoritmo es que al construir la fila j ya han sido construidas las anteriores:
fila j tij = {A| k, 1 k j, [A --> BC] P, B tik,C ti+k,j-k}
PLN parsing charts 17
CKY 5
1. Add the lexical edges
2. for w = 2 to N:
for i = 0 to N-w:
for k = 1 to w-1:
if:• ABC and
• B chart[i,i+k] and
• C chart[i+k,i+w]
then: • add ABC to chart[i,i+w]
3. If Schart[0,N], return the corresponding parse
tomada de Loper
PLN parsing charts 18
Gramática en CNF G2
Oracion GN, GV
GN A, B
GV C, GN
A det
B n
GN n
GV vi
C vt
PLN parsing charts 19
CKY 6
el gato come pescado
oracion
el gato come
oracion
el gato
GN
el (det)
A
gato come pescado
oracion
gato come
oracion
gato (n)
B, GN
come pescado
GV
come (vt, vi)
C, GVpescado (n)
B, GN
PLN parsing charts 20
Esquema Earley
scanning
Pearley = <I, H, D>I = {[A , i, j] | A PG 0 i
j}D = Dinit Dscan Dcompl Dpred H = { [a1, 0, 1],..., [an, n-1, n]}
Dinit = { [S , 0, 0]}Dscan = {[A a, i, j], [a, j, j+1] [A a, i, j+1]}Dcompl = {[A B, i, j], [B , j, k] [AB, i, k]}Dpred = {[A B, i, j] [B, j, j]}
V = {[A , i, j] | * ai+1 ... aj S * a1 ... ai A }F = {[S , 0, n]}C = {[S , 0, n] | * a1 ... an}
inicialización
compleción
predicción
PLN parsing charts 21
Earley 1
Complejidad espacial n2 temporal n3, n2 si la gramática no es ambiguaNo es preciso CNF
La estrategia de análisis es descendente
F SN, FV.SN *N.SN *DET, *N.FV *V, SN.
PLN parsing charts 22
Earley 2
Cada estado corresponde al consumo de una palabra de la cadena de entrada: I0, I1, ... Ii, ... I|w|
Los estados son conjuntos de “parse list” que indican grados de aplicación de las reglas para llegar a dicho estado.
[A --> , i] Ij quiere decir que S --> Adonde --> a1 a2 ... ai --> ai+1 ai+2 ... aj
La condición de gramaticalidad será [S --> , 0] I|w|
PLN parsing charts 23
Earley 3
a1 a2 ... ai ... aj an
S
S --> A[A --> , i] Ij
PLN parsing charts 24
Earley 4
proceso iterativo:construcción del estado I0
construcción del resto de estados (extensión)
operaciones:predicción descendentescanning (absorción de una palabra)compleción (final de una regla)
PLN parsing charts 25
Earley 5
Aw Aw
Scanner
ABE
ECD
Predictor
DEA DEA
ABC
Completer
SAB
Initialization
tomada de Loper
PLN parsing charts 26
Earley 6
Construcción de I0:1) si [S--> ] P entonces [S--> ] I0
2) si [B--> ] I0
(lo cual sólo es posible si [B--> ] I0) y [A--> ] I0 entonces [A--> ] I0 3) si [A--> ] I0 y [B--> ] P
entonces [B--> ] I0
PLN parsing charts 27
Earley 7
Extensión:4) si [B--> a, i] Ij-1 y a = aj entonces [B--> a, i] Ij
(scanning)5) si [A--> , i] Ij y [B--> , k] Ii entonces
[B--> , k] Ij (compleción)
6) si [A--> , i] Ij y [B--> ] P entonces [B--> , j] Ij
(predicción)
PLN parsing charts 28
Earley 8
For each rule S in the grammar:
Add S to chart[0,0]
For i = 0 to N:
for edge in queue[i]:
if edge is incomplete and edge.next is a part of speech:
scanner(edge)
if edge is incomplete and edge.next is not a POS:
predictor(edge)
if edge is complete:
completer(edge) tomada de Loper
PLN parsing charts 29
Earley 9
[F SN FV] I0
[SN *N] I0
[SN *DET *N] I0
ejemplo:
el gato come pescado
F
*DET *N
SN FV
inicializaciónpredicciónpredicción
PLN parsing charts 30
Earley 10
[F--> SN FV][SN--> *N][SN--> *DET *N]
I0
[SN--> *DET *N] I1
(4) el
[SN--> *DET *N ] I2
(4) gato
PLN parsing charts 31
Earley 11
[SN--> *DET *N ][F--> SNFV][FV--> *V SN]
I2
aplico (4)aplico (5), miro en I3
aplico (5), miro en I2
[FV--> *V SN][SN--> *DET *N ][SN--> *N ]
I3
aplico (4)aplico (6) dos veces
(4) come
[SN--> *N ][FV--> *V SN ][F--> SN FV ]
(4) pescado
aplico (5), miro en I0
añado el 2º itemaplico (6) añado el 3º