PLN parsing general1 Análisis Sintáctico (Parsing) Introducción Características del parsing...

35
LN parsing general 1 Análisis Sintáctico (Parsing) Introducción Características del parsing Análisis con gramáticas incontextuales TN, RTN, ATN Charts

Transcript of PLN parsing general1 Análisis Sintáctico (Parsing) Introducción Características del parsing...

Page 1: PLN parsing general1 Análisis Sintáctico (Parsing) Introducción Características del parsing Análisis con gramáticas incontextuales TN, RTN, ATN Charts.

PLN parsing general 1

Análisis Sintáctico (Parsing)

• Introducción• Características del parsing• Análisis con gramáticas incontextuales• TN, RTN, ATN• Charts

Page 2: PLN parsing general1 Análisis Sintáctico (Parsing) Introducción Características del parsing Análisis con gramáticas incontextuales TN, RTN, ATN Charts.

PLN parsing general 2

Analizadores Básicos.

• ¿Qué esperamos del analizador?• estructura sintáctica

• estructura lógica o semántica básica.

• Interacción sintaxis/semántica. • Ausencia de Semántica

• Ausencia de Sintaxis

• Síntesis de las dos aproximaciones anteriores.

• Actuación en secuencia.

• Actuación en paralelo.

Page 3: PLN parsing general1 Análisis Sintáctico (Parsing) Introducción Características del parsing Análisis con gramáticas incontextuales TN, RTN, ATN Charts.

PLN parsing general 3

El proceso del análisis sintáctico

• Búsqueda en un espacio de estados• Caracterizar los estados

• (si se puede) enumerarlos

• Definir el (los) estado (s) inicial (es)

• Definir (si se puede) los estados finales o la condición de haber alcanzado uno de ellos

• Deducción• Reescritura• Semántica operacional

Page 4: PLN parsing general1 Análisis Sintáctico (Parsing) Introducción Características del parsing Análisis con gramáticas incontextuales TN, RTN, ATN Charts.

PLN parsing general 4

Factores que inciden en el análisis sintáctico

• Expresividad de la gramática• Cobertura• Fuentes de conocimiento implicadas• Estrategia de análisis• Dirección del análisis• Orden de aplicación de las reglas• Gestión de la ambigüedad• (in)determinismo• Ingeniería de los analizadores

Page 5: PLN parsing general1 Análisis Sintáctico (Parsing) Introducción Características del parsing Análisis con gramáticas incontextuales TN, RTN, ATN Charts.

PLN parsing general 5

Ambigüedad inherente a la sintaxis

tomada de Loper

Me See A man The telescope The hill

“I was on the hill that has a telescope when I saw a man.”

“I saw a man who was on the hill that has a telescope on it.”

“I was on the hill when I used the telescope to see a man.”

“I saw a man who was on a hill and who had a telescope.”

“Using a telescope, I saw a man who was on a hill.”

. . .

I saw the man on the hill with the telescope

Page 6: PLN parsing general1 Análisis Sintáctico (Parsing) Introducción Características del parsing Análisis con gramáticas incontextuales TN, RTN, ATN Charts.

PLN parsing general 6

Revisión histórica

• Sistemas basados en pattern matching• TN => RTN => ATN • WFST, Charts (M. Kay)• Métodos tabulares: CKY, Earley• Gramáticas de estructura de frase: LSP

(Sager), Diagram (Robinson)• Analizadores deterministas: LL, LR• Parsifal (Marcus)• Sistemas basados en unificación: DCG

(Pereira,Warren) , Patr II (Shieber)

Aho et al,1990Chapman, 1987Tomita, 1986, 1987

Younger, 1967Earley, 1970

Woods, 1970

Kay, 1980

Sager, 1981Robinson, 1982

Marcus, 1980

Pereira, Warren, 1980Shieber, 1986

Page 7: PLN parsing general1 Análisis Sintáctico (Parsing) Introducción Características del parsing Análisis con gramáticas incontextuales TN, RTN, ATN Charts.

PLN parsing general 7

Tipos de analizador

• Los analizadores hoy• Gramáticas incontextuales (extendidas o no)

• Tabulares

• Charts

• LR

• Gramáticas lógicas (analizadores de unificación)

• Analizadores probabilísticos

• Analizadores robustos (superficiales, fragmentales)

Page 8: PLN parsing general1 Análisis Sintáctico (Parsing) Introducción Características del parsing Análisis con gramáticas incontextuales TN, RTN, ATN Charts.

PLN parsing general 8

Estrategia de análisis 1

• Análisis descendente (Top Down)• Dirigido por objetivos

• Comienza con una lista de objetivos (constituyentes) a construir.

• Intenta aplicar a alguno de los objetivos alguna de las producciones de la G emparejando el objetivo con la parte izquierda y reescribiendolo con la parte derecha

• Si más de una regla es aplicable: Problema de búsqueda

• Puede usarse búsqueda en anchura y profundidad y ordenación de los objetivos

• El proceso acaba cuando todos los objetivos han sido satisfechos

Page 9: PLN parsing general1 Análisis Sintáctico (Parsing) Introducción Características del parsing Análisis con gramáticas incontextuales TN, RTN, ATN Charts.

PLN parsing general 9

Estrategia de análisis 2

• Análisis ascendente (Bottom up)• Dirigido por datos

• Comienza con la cadena de palabras a analizar (hechos)

• Intenta aplicar a alguna secuencia de hechos alguna de las producciones de la G emparejando la secuencia con la parte derecha y reescribiendola con la parte izquierda

• Si más de una regla es aplicable: Problema de búsqueda

• Puede usarse búsqueda en anchura y profundidad y ordenación de los objetivos

• El proceso acaba cuando la lista de hechos contiene el símbolo inicial de la gramática

Page 10: PLN parsing general1 Análisis Sintáctico (Parsing) Introducción Características del parsing Análisis con gramáticas incontextuales TN, RTN, ATN Charts.

PLN parsing general 10

Estrategia de análisis 3

• Problemas del Análisis descendente• Recursividad izquierda

• Muchas producciones con la misma parte izquierda

• Trabajo inútil

• Búsqueda dirigida por la gramática

• Trabajo repetido

• En general problemas de los algoritmos de backtracking

Page 11: PLN parsing general1 Análisis Sintáctico (Parsing) Introducción Características del parsing Análisis con gramáticas incontextuales TN, RTN, ATN Charts.

PLN parsing general 11

Estrategia de análisis 4

• Problemas del Análisis ascendente • Categorías vacías (opcionales)

• Trabajo inútil (localmente posible pero globalmente imposible)

• Ineficiente cuando hay una gran ambigüedad léxica

• Repetición de trabajo

Page 12: PLN parsing general1 Análisis Sintáctico (Parsing) Introducción Características del parsing Análisis con gramáticas incontextuales TN, RTN, ATN Charts.

PLN parsing general 12

Gramática incontextual de ejemplo G1

(1) Oracion GN, GV

(2) GN det, n

(3) GN n

(4) GV vi

(5) GV vt, GN

(6) det el | un | ...

(7) n gato | pescado | ...

(8) vt come | ...

(9) vi come | ...

Page 13: PLN parsing general1 Análisis Sintáctico (Parsing) Introducción Características del parsing Análisis con gramáticas incontextuales TN, RTN, ATN Charts.

PLN parsing general 13

Redes de Transición (TN)

• Autómatas finitos• Estados asociados a posiciones de la oración

• Arcos (transiciones) • Etiquetas que hecen referencia a categorias morfosintácticas

• Una transición es aceptable si la palabra tiene la misma categoría que el arco

• No determinismo• Más de un estado inicial

• Una palabra con más de una categoría posible

• Más de un arco para la misma categoría

Page 14: PLN parsing general1 Análisis Sintáctico (Parsing) Introducción Características del parsing Análisis con gramáticas incontextuales TN, RTN, ATN Charts.

PLN parsing general 14

TN: ejemplo

q0

q1

q2 q4

q5

q6

el gato come pescadodet n v n

det n

np

vdet n

n

adj

adj

q3

v

Page 15: PLN parsing general1 Análisis Sintáctico (Parsing) Introducción Características del parsing Análisis con gramáticas incontextuales TN, RTN, ATN Charts.

PLN parsing general 15

TN: limitaciones

• Limitado a lenguajes regulares• Sólo reconocedor• No-determinismo backtracking • No separación entre gramática y analizador

• gramática descripción del modelo sintáctico

• analizador (parser) control

Page 16: PLN parsing general1 Análisis Sintáctico (Parsing) Introducción Características del parsing Análisis con gramáticas incontextuales TN, RTN, ATN Charts.

PLN parsing general 16

Redes de transición recursivas (RTN)

• Colección de TN etiquetadas con un nombre• Arcos

• Etiquetados con categorías como TN• etiquetas terminales

• Etiquetados con identificadores de RTN• etiquetas no terminales• Los estados finales de las RTN causan el retorno al estado destino de la

transición que produjo la llamada

• Las RTN son débilmente equivalentes a las CFG

Page 17: PLN parsing general1 Análisis Sintáctico (Parsing) Introducción Características del parsing Análisis con gramáticas incontextuales TN, RTN, ATN Charts.

PLN parsing general 17

RTN: ejemplo 1

Oracion

1

2GN FV

3

GN

1 2

detn

n

np

adj

GP

3

Page 18: PLN parsing general1 Análisis Sintáctico (Parsing) Introducción Características del parsing Análisis con gramáticas incontextuales TN, RTN, ATN Charts.

PLN parsing general 18

RTN: ejemplo 2

GP 1 2 3

Prep GN

Vtrans GN

FV

Vint

1 2 3

Page 19: PLN parsing general1 Análisis Sintáctico (Parsing) Introducción Características del parsing Análisis con gramáticas incontextuales TN, RTN, ATN Charts.

PLN parsing general 19

RTN: limitaciones

• Las transiciones sólo dependen de las categorías

• CFG• Sólo reconocen• Esencialmente estrategia fija descendente

Page 20: PLN parsing general1 Análisis Sintáctico (Parsing) Introducción Características del parsing Análisis con gramáticas incontextuales TN, RTN, ATN Charts.

PLN parsing general 20

Redes de transición aumentadas (ATN)

• Woods (1970)• ATN = RTN con operaciones asociadas a los arcos y uso de

registros.

• Permiten expresar las restricciones contextuales

Operaciones

CondicionesFiltrar transiciones entre

estadosAcciones

Construir estructuras de salida y

Convertir el reconocedor en analizador

Inicializaciones

Page 21: PLN parsing general1 Análisis Sintáctico (Parsing) Introducción Características del parsing Análisis con gramáticas incontextuales TN, RTN, ATN Charts.

PLN parsing general 21

ATN: ejemplo (Winograd, 1983)

FeaturesNumber: Singular, Plural Default: emptyPerson: 1st, 2nd, 3rd Default: 3rd

Rols: Subject

gf

1:det

2: Jump

3: Adjective

7:pp

h4:Noun

8: Send

6:Proper

5:Pronoun

Page 22: PLN parsing general1 Análisis Sintáctico (Parsing) Introducción Características del parsing Análisis con gramáticas incontextuales TN, RTN, ATN Charts.

PLN parsing general 22

Inicializaciones, Condiciones y Acciones

NP-1: fDeterminerg

A: Set Number to the number of *NP-4: gNounh

C: Number is empty or number is the number of * A: Set Number to the number of * Set Subject to *NP-5: fPronounh

A: Set Number to the number of * Set Person to the Person of * Set Subject to *NP-6: fProperh

A: Set Number to the number of * Set Subject to *

ATN: ejemplo 2

Page 23: PLN parsing general1 Análisis Sintáctico (Parsing) Introducción Características del parsing Análisis con gramáticas incontextuales TN, RTN, ATN Charts.

PLN parsing general 23

ATN: limitaciones

• Estrategia fija descendente

• Redundancia de las operaciones de backtracking

• Problemas d’expresividad notacional:

Page 24: PLN parsing general1 Análisis Sintáctico (Parsing) Introducción Características del parsing Análisis con gramáticas incontextuales TN, RTN, ATN Charts.

PLN parsing general 24

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 25: PLN parsing general1 Análisis Sintáctico (Parsing) Introducción Características del parsing Análisis con gramáticas incontextuales TN, RTN, ATN Charts.

PLN parsing general 25

Charts 1

• Un Chart es un grafo dirigido que se construye en forma dinámica e incremental a medida que se realiza el análisis

• Extensión de las WFST• Los nodos corresponden al inicio y fin de la oración y a las

separaciones entre las palabras.• Arcos activos (objetivos o hipótesis) e inactivos (hechos)

• Notación arcos activos: reglas punteadas• arcos inactivos: categoría

el gato come pescado0 1 2 3 4

Page 26: PLN parsing general1 Análisis Sintáctico (Parsing) Introducción Características del parsing Análisis con gramáticas incontextuales TN, RTN, ATN Charts.

PLN parsing general 26

Charts 2

programa chart{ inicializar el chart con H; inicializar la agenda con los items que pueden deducirse sin antecedentes; mientras no vacía(agenda) {extraer el item_actual de la agenda y colocarlo en el chart; para cada item que pueda deducirse con un paso deductivo que incluya a item_actual {si item no está en la agenda ni en el chart entonces añadir item a la agenda} }}

Page 27: PLN parsing general1 Análisis Sintáctico (Parsing) Introducción Características del parsing Análisis con gramáticas incontextuales TN, RTN, ATN Charts.

PLN parsing general 27

Charts 3

• Un algoritmo concreto de Chart deberá• definir la estructura de la agenda y el orden de salida de sus

elementos

• definir el orden en que se llevan a cabo los pasos deductivos

• Dscan + Dcompl Regla de combinación• Dpred Regla descendente (top down)• Regla ascendente (bottom up)

estrategia ascendente

estrategia descendente

Page 28: PLN parsing general1 Análisis Sintáctico (Parsing) Introducción Características del parsing Análisis con gramáticas incontextuales TN, RTN, ATN Charts.

PLN parsing general 28

• Use a chart to record hypotheses about possible syntactic constituents. • A chart contains a set of edges.

• Each edge represents a possible phrase.• Edges provide a common representation for

parse information.

NPDet N

I saw the man on the hill.

Chart

{Sentence

Edge

PhraseType

PhraseChildren

Charts 4

tomada de Loper

Page 29: PLN parsing general1 Análisis Sintáctico (Parsing) Introducción Características del parsing Análisis con gramáticas incontextuales TN, RTN, ATN Charts.

PLN parsing general 29

• An edge consists of:• S: A start index (1...n)

• E: An end index (1...n)

• Type: A phrase type (NP, PP, etc.)

• Found: What we've found so far (list of phrase types)

• Need: What we still need (list of phrase types)

TypeFound NeedS E

Charts 5

tomada de Loper

Page 30: PLN parsing general1 Análisis Sintáctico (Parsing) Introducción Características del parsing Análisis con gramáticas incontextuales TN, RTN, ATN Charts.

PLN parsing general 30

Edges can represent partial phrases.

PPP NP

I saw the man on the hill.

PP starts hereSo far, we've

found a P We still need an NP

P

PP

NP

Charts 6

tomada de Loper

Page 31: PLN parsing general1 Análisis Sintáctico (Parsing) Introducción Características del parsing Análisis con gramáticas incontextuales TN, RTN, ATN Charts.

PLN parsing general 31

Charts 7

Regla de combinación

Cuando un arco activo del Chart tiene por destino un nodo j y de estenodo sale un arco inactivo etiquetado con la misma categoría que el arco activo esperaba se combinan ambos arcos para producir uno nuevo (activoo no) que tiene su origen en el origen del primero y su destino en el destinodel segundo

ji k

A B B

A B

Page 32: PLN parsing general1 Análisis Sintáctico (Parsing) Introducción Características del parsing Análisis con gramáticas incontextuales TN, RTN, ATN Charts.

PLN parsing general 32

Charts 8

Regla Descendente

Cuando un arco activo del Chart tiene por destino un nodo j, para cada producciónde la gramática que expanda la categoría que el arco espera se crea un nuevo arcoactivo con origen y destino en j que corresponde a la regla punteada con el puntoen la posición inicial

ji

A B

B B B ...

B

B

B

Page 33: PLN parsing general1 Análisis Sintáctico (Parsing) Introducción Características del parsing Análisis con gramáticas incontextuales TN, RTN, ATN Charts.

PLN parsing general 33

Charts 9

Regla Ascendente

Cuando un arco inactivo del Chart tiene por origen un nodo i, para cada producciónde la gramática que tenga como primer constituyente a la derecha la categoría delnodo inactivo se crea un nuevo arco activo con origen y destino en j que corresponde a la regla punteada con el puntoen la posición inicial

jiA

B AB AB A...

B A

B A

B A

Page 34: PLN parsing general1 Análisis Sintáctico (Parsing) Introducción Características del parsing Análisis con gramáticas incontextuales TN, RTN, ATN Charts.

PLN parsing general 34

Charts 10

el gato come pescado0 1 2 3 4

[Oracion GN GV]

[det] [n] [vt] [vi] [n]

[GN det n]

[GN n]

[GN det n]

[GN det n ]

[Oracion GN GV]

[GV vi]

[GV vt GN]

[GV vi ]

[GV vt GN]

[Oracion GN GV ]

[GN det n]

[GN n]

[GN n ]

[Oracion GN GV ]

Page 35: PLN parsing general1 Análisis Sintáctico (Parsing) Introducción Características del parsing Análisis con gramáticas incontextuales TN, RTN, ATN Charts.

PLN parsing general 35

limitaciones de los algoritmos de Chart

• Problemas• el tamaño del Chart aumenta con el tamaño de la gramática

haciendo el método inaplicable para gramáticas voluminosas.

• Se crean muchos arcos activos e inactivos inútiles.

• en la práctica, en ausencia de conocimiento apropiado, se utiliza casi siempre una estrategia ascendente, eventualmente corregida con predicciones descendentes