Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

54
Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano

Transcript of Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

Page 1: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

Parsing de Dependencias

CoNLL 2006 y 2007

Guillermo Nebot Troyano

Page 2: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

¿Qué es hacer Parsing de dependencias?

Consiste en formar una estructura sintáctica para una

oración identificando el HEAD (sólo uno) de cada

palabra de la oración. Esto define el Grafo de

Dependencia donde sus nodos son las palabras de la

oración y los arcos son las relaciones de las palabras

dependientes hacia su Head.

Page 3: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

Ejemplo de Grafo de dependencias (1)

1De 7

2 aí 1

3 que 7

4 a 5

5 Cameron_Hall 6

6 tenha 0

7 caído 6

8 de 7

9 o 10

10 céu 8

11 . 6 Unlabeled Parsing de Dependencias

roottenha

caído

de

que de

cèu

o

Cameron_Hall .

a

Page 4: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

Ejemplo de Grafo de dependencias (2)1De 7 ADVL

2 aí 1 P<

3 que 7 FOC

4 a 5 >N

5 Cameron_Hall 6 SUBJ

6 tenha 0 STA

7 caído 6 MV

8 de 7 ADVL

9 o 10 >N

10 céu 8 P<

11 . 6 PUNC Labeled Parsing de Dependencias

roottenha

caído

de

que de

cèu

o

Cameron_Hall .

a

MVPUNC

ADVLADVL

SUBJ

FOC>N

P<

>N

P<

Page 5: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

Arco Proyectivo

Definición: Un arco (i,j) es proyectivo si y sólo si

todos los nodos entre i y j están dominados por i.

Ejemplo:

Page 6: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

Ejemplo de Arco No-Proyectivo

Page 7: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

Proyectivo vs. No-ProyectivoSingle vs. Multiple root

Page 8: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

¿Porqué hacer Parsing de dependencias?

Una de las ventajas del Parsing de dependencia, en comparación Parsing de constituyentes, es que se extiende de manera natural a los idiomas con orden de las palabras libre o flexible y en algunos idiomas el output se parece al del Parsing de constituyentes. Esto explica el interés actual para la evaluación multilingüe de los programas de Parsing de dependencias.

Otra ventaja es que es más eficiente y rápido que el Parsing de constituyentes.

También se puede usar para solucionar el problema WSD.

Page 9: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

CoNLL 2006La décima edición de CoNLL consistió en un shared

task de Parsing de Dependencias Multilingüe.

Los idiomas que se trataron fueron 13: Alemán, Árabe,

Castellano, Checo, Chino, Danés, Esloveno, Holandés,

Japonés, Portugués, Sueco, Turco y Búlgaro (opcional).

Pertenecen a 7 familias de idiomas: Eslávica,

Germánica, Japónica, Latina, Semítica, Sino-Tibetan y

Ural-Altaica.

Se presentaron 19 grupos de participantes.

Page 10: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

CoNLL 2006

Para entrenar a los programas de análisis, Parsers, son

necesarias recopilaciones sintácticamente anotadas,

Treebanks, de millares de oraciones para cada idioma.

Se establece un formato de los Treebanks estándar

para todos los idiomas: ID, FORM, LEMMA,

CPOSTAG, POSTAG, FEATS, HEAD, DEPREL,

PHEAD, PDEPREL.

Page 11: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

CoNLL 2006

Los Parsers fueron evaluados mediante labeled

attachment score (LAS), es decir, el porcentaje de

aciertos del HEAD y relación de dependencia

(DEPREL) predichos por el Parser para los tokens.

Los tokens de puntuación fueron excluidos de la

evaluación.

Page 12: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

Parser de McDonald (CoNLL 2006)

Presentó un Parser de Dependencias multilingüe de

dos etapas y lo evaluó en los 13 idiomas.

La primera etapa se basa en Unlabeled Parsing de

Dependencias.

La segunda etapa toma el output de la primera y

etiqueta todos los arcos del grafo de dependencia

usando un clasificador.

Page 13: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

Denotaremos por x = x1,...,x

n una frase de n palabras e

y su grafo de dependencia correspondiente.

El grafo de dependencia esta representado por parejas

, donde xj es la palabra dependiente y x

i es el

Head.

Cada arco se le puede asignar una etiqueta l(i,j)

de un

conjunto predefinido y finito L de etiquetas.

yj)(i,

Page 14: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

Etapa 1: Unlabeled ParsingPara la mayoría de los idiomas, la no-proyectividad es un fenómeno común.

Tratar el Parsing de dependencias como una búsqueda del máximo scoring maximum spanning tree (MST) en un gráfico rinde algoritmos eficientes para los árboles proyectivos y no-proyectivos.

Cuando se combinan con un algoritmo discriminativo que aprende online y con un conjunto rico de features, estos modelos proporcionan funcionamiento avanzado a través de idiomas múltiples.

Page 15: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

Maximum Spannig Tree (1)

Primer Orden: Llamamos esta dependencia de primer orden puesto que los scores se restringen a un solo arco en el árbol de la dependencia.

El problema MST es encontrar el grafo de dependencias G que maximice y satisfaga la restricción del árbol.

yj)(i,

j)s(i,=y)s(x,

>j)f(i,w,j)s(i, =<

Page 16: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

Maximum Spannig Tree (2) Segundo Orden: Estos modelos el score del árbol es la suma de los scores de pares adyacente de arcos. , xi es el Head de xj y xk.

Escribimos si xj es la primera o última palabra dependiente de xi.

Si tenemos

Entonces

j)k,s(i,j)s(i _,,

)is(i+)i,i,s(i+)is(i+)is(i+)i,i,s(i m

m

+j=k+kk+jj

j

=k+kk _,,_,,_,, 0

1

110100

1

110

Page 17: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

Maximum Spannig Tree (3)

El score de un árbol para el segundo orden que analiza ahora es:

donde k y j son adyacentes, y dependientes de la misma i en el árbol y

yj)k,(i,

j)k,s(i,=y)s(x,

Page 18: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

Maximum Spannig Tree Proyectivo

El algoritmo de primer orden puede extenderse al segundo orden (Eisner).

Para el algoritmo de segundo orden, la clave está en retrasar el scoring de los arcos hasta que han recolectado a los pares de dependientes. Esto permite que la colección de pares dependientes adyacentes en una sola etapa, que permite la incorporación de las cuentas second-order (O(N3)).

Page 19: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

Maximum Spannig Tree No-Proyectivo

Desafortunadamente, MST no-proyectivo de segundo orden es NP-hard. Para evitar esto, diseñan un algoritmo aproximado basado en el algoritmo proyectivo de segundo orden exacto de Eisner.

La aproximación busca primero el mayor scoring parser proyectivo. Entonces cambia los arcos en el árbol, uno a la vez, mientras tales cambios aumentan la cuenta total y no violan la restricción del árbol.

Así, tenemos normalmente un número pequeño de transformaciones para el árbol no-proyectivo de mayor scoring.

Page 20: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

Maximum Spannig Tree No-ProyectivoPodemos imponer M

vueltas máximo en el while (sino tiempo exponencial). Es fácil ver que cada iteración del bucle es O(N2), y por tanto, el algoritmo es O(N3 +MN2).En la práctica, la aproximación termina después de un número pequeño de transformaciones y no necesitaron limitar el número de iteraciones .

Page 21: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

Etapa 2: Label Classifiaction (1)

Versión 1

El más simple etiquetador debería tomar como input un arco (i, j) de la frase x y encontrar la etiqueta con mayor puntuación:

Hacer esto para cada arco del grafo y produciría el output final. Tal modelo se podría entrenar fácilmente usando los datos de entrenamiento proporcionados para cada lengua.

x)y,j),(i,s(l,=ll

j)(i, maxarg

Page 22: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

Etapa 2 : Label Classifiaction (2)

Versión 2

Sin embargo, puede ser que sea ventajoso saber las etiquetas de otros arcos próximos. Por ejemplo, sea xi es el Head de xj1,…,xjM, pasa a menudo que muchas de estas dependencias tienen etiquetas correlacionadas. Para modelar esto tratamos el etiquetado de los arcos (i,j1),…,(i,jM), como un problema de secuencia etiquetada,

),,,(maxarg),...,( ),(),( 1xyilslll

ljiji M

Page 23: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

Etapa 2 : Label Classifiaction (3)

Usando una factoriazación de primer orden de Markov del score

Podemos encontrar la secuencia con mayor score de la etiqueta con el algoritmo de Viterbi. Factorizaciones de mayor orden de Markov no mejoraron el funcionamiento.Usa MIRA (online learner) para calcular los pesos.

),,,,(,),,,,(

),,,,(maxarg

),(),(),(),(

2),(),(

11

1

xyillfwxyills

xyillsl

mmmm

mm

jijijiji

M

mjiji

l

Page 24: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

Resultados CoNLL 2006

Page 25: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

CoNLL 2006

Page 26: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

CoNLL 2006 (Conclusiones) En general, hay una alta correlación entre los

mejores resultados y los resultados del promedio.

Esto significa que los data sets son intrínsecamente

fáciles o difíciles, sin importar el planteamiento de

análisis.

El "más fácil" es claramente el data set japonés. Sin

embargo, sería incorrecto concluir de esto que el

japonés en general es fácil de analizar.

El “más difícil” es claramente el data set turco.

Page 27: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

CoNLL 2007

En el shared task se presentaron dos cuestiones:

1. Parsing de Dependencias Multilingüe

2. Parsing de Dependencias de Adaptación del Dominio

Comparten un mismo formato para los datos (el mismo

que en 2006) y la métrica de evaluación oficial LAS

(aunque también se dieron los resultados en unlabeled

attachement score, UAS). Los tokens de puntuación

este año si que fueron incluidos para la evaluación.

Page 28: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

1.Parsing de Dependencias Multilingüe

Este año se trataron 10 idiomas y fueron: Árabe,

Catalán, Checo, Chino, Griego, Húngaro, Inglés,

Italiano, Turco y Vasco.

Los Training Data Sets tenían entre 50.000 y 500.000

de tokens.

Se presetaron 23 grupos de Participantes.

Page 29: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

Parser de Nilsson (CoNLL 2007)

Consiste en una optimización de dos etapas del sistema de

MaltParser para los diez idiomas.

La primera etapa consiste en encontrar un single-parser para

cada lengua optimizando los parámetros (Single Malt)

La segunda etapa consiste en un construir un sistema que

combina el output de 6 parsers deterministas (variaciones del

Single Malt), extrapolando los parámetros óptimos para cada

lengua (Blended Parser)

Este sistema supera perceptiblemente el single-parser y alcanza

el promedio más alto con LAS en el CoNLL 2007.

Page 30: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

Single Malt Parser

Los parámetros disponibles en el MaltParser se pueden dividir en tres grupos: parámetros del algoritmo de parsing. parámetros del modelo de features. parámetros del algoritmo de aprendizaje.

La estrategia de optimización del Single Malt parser usada es: Definir un buen sistema base con los mismos ajustes del parámetro para todos los idiomas. Ajustar los parámetros del algoritmo de parsing de una vez por todas para cada lengua (con el sistema base) . Optimizar el modelo de features y los parámetros del algoritmo de aprendizaje para cada lengua.

Page 31: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

Algoritmo de Parsing (1)Usan el mismo algoritmo que en el Parser de Nivre del CoNLL 2006.El algoritmo construye un gráfico de dependencias con paso de izquierda a derecha sobre la entrada, usando una pila (stack) para almacenar tokens parcialmente procesados y agregando arcos usando cuatro acciones elementales: SHIFT: Pone next token en el stack. REDUCE: Elimina el top token del stack. RIGHT-ARC(r): Añade un arco etiquetado r del top token al next token; pone el next token en el stack. LEFT-ARC(r): Añade un arco etiquetado r del next tokenal top token y lo elimina del stack.El Parser deriva sólo gráficos proyectivos, el hecho de que los gráficos esten etiquetados permite que las dependencias no-proyectivas sean capturadas usando el algoritmo pseudo-proyectivo.

Page 32: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

Algoritmo de Parsing (2)El algoritmo Pseudo-Proyectivo, proyectiviza los datos de entrenamiento con una transformación mínima, levantando arcos no-proyectivos y extendiendo la etiqueta del arco de los arcos “levantados” que usaban el esquema de codificación llamado HEAD.

Las dependencias no-proyectivas se pueden recuperar aplicando la inversa de la transformación del output, usando la etiqueta extendida.

Cuando el Parser se entrena en los datos transformados, aprenderá idealmente construir no sólo las estructuras proyectivas de la dependencia sino también asignar las etiquetas del arco que codifican la información sobre elevaciones.

Page 33: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

Algoritmo de Parsing (3)Definimos:

R={r1,…,rm} el conjunto de todas las etiquetas de los arcos.

Un grafo de dependencias para una frase W=w1,…,wn

es D=(W,A) donde W es el conjunto de nodos, A el conjunto de arcos etiquetados r(wi,wj) y cumpliendo que para toda wj sólo tiene un único Head wi.El grafo D está bien formado si y solo si es acíclico y está conectado.

Page 34: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

Algoritmo de Parsing (4)D’=(W,A’) es el grafo de dependencia no-proyectivo de D=(W,A).La función SMALLEST-NONP-ARC da el arco no-proyectivo con la distancia más corta del Head al dependiente.

Page 35: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

Algoritmo de Parsing (4)

Page 36: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

Algoritmo de Parsing (5)

Hay tres parámetros básicos a ajustar: Orden del arco: Usar arc-eager o arc-

standard. La segunda versión se usó solo para el chino.

Inicialización de la pila (Stack): En la versión base el parser tiene inicializada una nodo root artificial en la pila (agrega arcos de la raíz explícitamente) o es posible inicializar una stack vacío (agrega arcos de la raíz implícitamente). Con la pila vacía se reduce el nodeterminismo.

Page 37: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

Algoritmo de Parsing (6)

Post-processing: El parser base realiza un solo paso de izquierda a derecha sobre el input pero es posible permitir un segundo paso donde solo se procesan los unattached tokens.

Puesto que el algoritmo de Parsing produce sólo gráficosde dependencia proyectivos, podemos utilizar el análisispseudo-proyectivos para recuperar dependencias no-proyectivas. Esto solo tuvo mejor rendimiento en el Checo, Griego, Turco y Vasco, ya que tienen más de un 20% de grafos no-proyectivos.Promedio de mejora tras la optimización del algoritmo deParsing= 0.32%.

Page 38: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

Modelo de Features (1)

MaltParser utiliza un modelo basado en la historia del

feature para predecir la acción siguiente del parsing.

Cada feature de este modelo es un atributo de un

token definida en la pila actual S, en la cola del input I

o/y al gráfico parcialmente construido G de la

dependencia, donde el feature puede ser cualquier de

los atributos del formato de entrada CoNLL.

La selección de features varia generalmente entre 20

y 30.

Page 39: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

Modelo de Features (2)

Usado por el modelo base de features

Page 40: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

Algoritmo de Aprendizaje

Los mejores resultados obtenidos con una SVM (usando el paquete LIBSVM). La SVM usa un kernel cuadrático

LIBSVM está preparada para clasificación multiclase y convierte los features simbólicos en números (binarización). El modelo base usa γ=0.2 y r =0 para los parámetros del Kernel, C=0.5 de parámetro de penalización y ε=1.0 de criterio de parada. Tras aplicar las optimizaciones del Modelo de features y del algoritmo de aprendizaje obtuvieron un promedio de mejora 1.71%.

2)(),( rxxxxK jTiji

Page 41: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

Blended Parser

Dado los gráficos output de la dependencia de Gi

(i=1,..,6) de 6 parsers diferentes para una oración x, construimos un nuevo gráfico que maximiza:

sa =∑i=1

6

w icai

Donde es el promedio de LAS para el parser i para la clase c (usan CPOSTAG) de la palabra dependiente a, es 1 si , 0 en otro caso.

wic

a i∈G ia i

Page 42: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

Blended Parser

El Blended parser final fue construido reusando el Single Malt parser ajustado para cada lengua (arcstandard left-to-right for Chinese, arc-eager left-toright para el resto de idiomas) y entrenando 5 parsers adicionales.Comparando los resultados de los dos sistemas, vemos que el Blended parser supera al Single Malt Parser en todos los idiomas, con una mejora media del 1.40%.

Page 43: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

Resultados CoNLL 2007(Multilingüe)

Page 44: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.
Page 45: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

Árabe Català Checo Chino Griego Húngaro Inglés Italiano Turco Vasco

0

10

20

30

40

50

60

70

80

90

100

Comparación (LAS vs. UAS)

Av(LAS)

Av(UAS)

Page 46: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

LAS (Top Scores)

0102030405060708090

100

Árabe Checo Chino Turco

2006 sinpuntuación

2007 sinpuntuación

Page 47: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

LAS (Top Scores)

0102030405060708090

100

Árabe Checo Chino Turco

2006 conpuntuación

2007 conpuntuación

Page 48: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

Av 2006 Av 2007

0

10

20

30

40

50

60

70

80

90

Comparación

Árabe

Checo

Chino

Turco

Page 49: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

Conclusiones(Multilingüe)

Con UAS se obtienen mejores resultados que con LAS. Se tiene una leve mejoría en los promedios de los resultados del 2007 con respecto de los del 2006. La diferencia entre el promedio para LAS entre el primero y quinto clasificado es menor de 0.5 puntos. El "más fácil" es claramente el data set inglés. El “más difícil” es el data set vasco.

Page 50: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

2. Parsing de Dependencias de Adaptación del Dominio

(1)El objetivo es adaptar el dominio fuente a un dominio target de interés.

Solamente se usó el inglés para la adaptación.

El corpus utilizado como dominio fuente fueron frases del Wall Street Journal y el dominio traget eran frases de archivos químicos. También hubo un segundo dominio target opcional, diálogos de ninños con sus padres.

Se presentaron 10 grupos de Participantes.

Page 51: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

Resultados de Adaptación del dominio

Page 52: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

Conclusiones(Adaptación)

El mejor sistema alcanza un LAS de 81.06%, es decir, pierde casi 8 puntos con respecto el LAS del multilingüe, 89.01%. Sabiendo que un tercio de las palabras del dominio químico de test son nuevas, los resultados son significativos. Una sorpresa se encontró en el UAS relativamente bajo para los datos de CHILDES, ya que en un primer vistazo, este data set tiene todas las características de un sistema fácil. Media de Palabras por frase=12.9 y porcentaje nuevas palabras bajo, 6.10%.

Page 53: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

Referencias

S.Buchholz and E.Marsi, 2006. CoNLL-X shared task on multilingual

denpendency parsing.

R.McDonald, K.Lerman, and F.Pereira, 2006. Multilingual

dependency analysis with two-stage discriminative parser.

R.McDonald and Pereira, 2006. Online learning of approximate

dependency parsing algorithms.

J.Nivre, 2005. Dependency grammar and dependency parsing.

J.Nivre, J.Hall, J.Nilsson, G.Eryig Wit and S.Marinov, 2006. Labeled

pseudo-projective dependency parsing with Support Vector Machines.

Page 54: Parsing de Dependencias CoNLL 2006 y 2007 Guillermo Nebot Troyano.

Referencias J.Nivre and J.Nilsson, 2005. Pseudo-projective dependency parsing.

J.Nivre, J.Hall, S.Küber, R.McDonald, J.Nilsson, S.Riedel and

D.Yuret, 2007. The CoNLL 2007 Shared Task on Dependency

Parsing.

J.Hall, J.Nilsson, J.Nivre, G.Eryig Wit, B.Megyesi, M.Nilsson and

M.Saers, 2007a. Single malt or blended? A study in Multilingual

Parser Optimization.

J.Nivre, J.Hall, J.Nilsson, A.Chanev, G.Eryig Wit, S.Kübler, S.Marinov

and E.Marsi, 2007. MaltParser: A language-independent system for

data-driven dependency parsing.