Métodos basados en Charts

31
LN parsing charts 1 Métodos basados en Charts Extensiones a partir de Charts Métodos Tabulares • CKY • Earley

description

Métodos basados en Charts. Extensiones a partir de Charts Métodos Tabulares CKY Earley. Extensiones a partir de Charts. Desarrollo de las técnicas básicas de Charts (Kay) y de sus implementaciones tabulares (CKY, Earley) Problemas: - PowerPoint PPT Presentation

Transcript of Métodos basados en Charts

Page 1: Métodos basados en Charts

PLN parsing charts 1

Métodos basados en Charts

• Extensiones a partir de Charts• Métodos Tabulares

• CKY

• Earley

Page 2: Métodos basados en Charts

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

Page 3: Métodos basados en Charts

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

Page 4: Métodos basados en Charts

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

Page 5: Métodos basados en Charts

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

Page 6: Métodos basados en Charts

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

Page 7: Métodos basados en Charts

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

Page 8: Métodos basados en Charts

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

Page 9: Métodos basados en Charts

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

Page 10: Métodos basados en Charts

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...

Page 11: Métodos basados en Charts

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

Page 12: Métodos basados en Charts

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

Page 13: Métodos basados en Charts

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

Page 14: Métodos basados en Charts

PLN parsing charts 14

CKY 2

a1 a2 ... ai ... an

A ti,j

j

B C

Page 15: Métodos basados en Charts

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|

Page 16: Métodos basados en Charts

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}

Page 17: Métodos basados en Charts

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

Page 18: Métodos basados en Charts

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

Page 19: Métodos basados en Charts

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

Page 20: Métodos basados en Charts

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

Page 21: Métodos basados en Charts

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.

Page 22: Métodos basados en Charts

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|

Page 23: Métodos basados en Charts

PLN parsing charts 23

Earley 3

a1 a2 ... ai ... aj an

S

S --> A[A --> , i] Ij

Page 24: Métodos basados en Charts

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)

Page 25: Métodos basados en Charts

PLN parsing charts 25

Earley 5

Aw Aw

Scanner

ABE

ECD

Predictor

DEA DEA

ABC

Completer

SAB

Initialization

tomada de Loper

Page 26: Métodos basados en Charts

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

Page 27: Métodos basados en Charts

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)

Page 28: Métodos basados en Charts

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

Page 29: Métodos basados en Charts

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

Page 30: Métodos basados en Charts

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

Page 31: Métodos basados en Charts

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º