95
Contenidos Introducción: Lenguajes Naturales, Análisis Léxico y Autómatas Finitos Acíclicos. Implementación de Grandes Diccionarios: Modelización Compacta de un Diccionario. Autómatas Finitos Acíclicos Mínimos Numerados. Construcción de Autómatas Acíclicos: Algoritmo General de Minimización. Minimización Basada en la Propiedad de la Altura. Algoritmo de Construcción Incremental. Nuevas Funcionalidades: Mejoras en el Acceso al Registro. Comportamiento Dinámico de los Autómatas Acíclicos. Conclusiones. Jorge Gra ˜ na Gil – Aut ´ omatas Finitos Ac´ ıclicos – p.3/21

Contenidos - UDC

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Contenidos - UDC

Contenidos

• Introducción:– Lenguajes Naturales, Análisis Léxico y Autómatas Finitos Acíclicos.

• Implementación de Grandes Diccionarios:– Modelización Compacta de un Diccionario.

– Autómatas Finitos Acíclicos Mínimos Numerados.

• Construcción de Autómatas Acíclicos:– Algoritmo General de Minimización.

– Minimización Basada en la Propiedad de la Altura.

– Algoritmo de Construcción Incremental.

• Nuevas Funcionalidades:– Mejoras en el Acceso al Registro.

– Comportamiento Dinámico de los Autómatas Acíclicos.

• Conclusiones.Jorge Grana Gil – Automatas Finitos Acıclicos – p.3/21

Page 2: Contenidos - UDC

Análisis Léxico y Autómatas Finitos Acíclicos

• Tareas de los analizadores léxicos para lenguajes naturales:

– Transformar el flujo de caracteres de entrada en palabras.

– Obtener rápida y cómodamente las etiquetas candidatas de las palabras.

• Razones para comprimir un diccionario en un autómata finito acíclico:

– La representación del conjunto de palabras es muy compacta.

– La búsqueda de las palabras en el diccionario es muy rápida.

– Los autómatas acíclicos reconocen conjuntos finitos de palabras.

• Motivaciones y objetivos:

– Diseñar una arquitectura general para la implementación de grandes diccionariosde palabras, válida para cualquier idioma.

– Manejar eficientemente dos diccionarios de español:∗ Diccionario GALENA:

291.604 palabras con 354.007 etiquetaciones posibles.∗ Diccionario ERIAL:

775.621 palabras con 993.703 etiquetaciones posibles.

Jorge Grana Gil – Automatas Finitos Acıclicos – p.4/21

Page 3: Contenidos - UDC

Análisis Léxico y Autómatas Finitos Acíclicos

• Tareas de los analizadores léxicos para lenguajes naturales:

– Transformar el flujo de caracteres de entrada en palabras.

– Obtener rápida y cómodamente las etiquetas candidatas de las palabras.

• Razones para comprimir un diccionario en un autómata finito acíclico:

– La representación del conjunto de palabras es muy compacta.

– La búsqueda de las palabras en el diccionario es muy rápida.

– Los autómatas acíclicos reconocen conjuntos finitos de palabras.

• Motivaciones y objetivos:

– Diseñar una arquitectura general para la implementación de grandes diccionariosde palabras, válida para cualquier idioma.

– Manejar eficientemente dos diccionarios de español:∗ Diccionario GALENA:

291.604 palabras con 354.007 etiquetaciones posibles.∗ Diccionario ERIAL:

775.621 palabras con 993.703 etiquetaciones posibles.

Jorge Grana Gil – Automatas Finitos Acıclicos – p.4/21

Page 4: Contenidos - UDC

Análisis Léxico y Autómatas Finitos Acíclicos

• Tareas de los analizadores léxicos para lenguajes naturales:

– Transformar el flujo de caracteres de entrada en palabras.

– Obtener rápida y cómodamente las etiquetas candidatas de las palabras.

• Razones para comprimir un diccionario en un autómata finito acíclico:

– La representación del conjunto de palabras es muy compacta.

– La búsqueda de las palabras en el diccionario es muy rápida.

– Los autómatas acíclicos reconocen conjuntos finitos de palabras.

• Motivaciones y objetivos:

– Diseñar una arquitectura general para la implementación de grandes diccionariosde palabras, válida para cualquier idioma.

– Manejar eficientemente dos diccionarios de español:∗ Diccionario GALENA:

291.604 palabras con 354.007 etiquetaciones posibles.∗ Diccionario ERIAL:

775.621 palabras con 993.703 etiquetaciones posibles.

Jorge Grana Gil – Automatas Finitos Acıclicos – p.4/21

Page 5: Contenidos - UDC

Contenidos

• Introducción:– Lenguajes Naturales, Análisis Léxico y Autómatas Finitos Acíclicos.

• Implementación de Grandes Diccionarios:– Modelización Compacta de un Diccionario.

– Autómatas Finitos Acíclicos Mínimos Numerados.

• Construcción de Autómatas Acíclicos:– Algoritmo General de Minimización.

– Minimización Basada en la Propiedad de la Altura.

– Algoritmo de Construcción Incremental.

• Nuevas Funcionalidades:– Mejoras en el Acceso al Registro.

– Comportamiento Dinámico de los Autómatas Acíclicos.

• Conclusiones.Jorge Grana Gil – Automatas Finitos Acıclicos – p.5/21

Page 6: Contenidos - UDC

Modelización Compacta de un Diccionario

...

no

requiere

conocimiento

sobre

las

funciones

suplementarias

de

...

...

Wn

V3spi0

Scms

P

Dfp

Scfp

Afp0

P

...

...

no

requerir

conocimiento

sobre

el

función

suplementario

de

...

palabra etiqueta lema

Texto Etiquetado

Palabra_a_Indice

Indice_a_Palabra

Vysps0

Scms

P

268.249

268.249

268.214

0.113229

0.0012629

0.0117647

107

150

341

325.611

325.614

L + 1

325.611

1

2

3

1

2

3

268.249

T = 373

150

107

341

M + 1

M = 291.604

sobresobrar sobre

mapping etiquetas probabilidades lemas tag set

sobre

1

2

3

L = 354.007

Jorge Grana Gil – Automatas Finitos Acıclicos – p.6/21

Page 7: Contenidos - UDC

Modelización Compacta de un Diccionario

...

sobrasteis

sobre

sobre

sobre

sobrecarga

sobrecarga

sobrecarga

sobrecargaba

...

...

V2pei0

P

Scms

Vysps0

Scfs

V2spm0

V3spi0

Vysii0

...

...

sobrar

sobre

sobre

sobrar

sobrecarga

sobrecargar

sobrecargar

sobrecargar

...

...

0.00377715

0.113229

0.0012629

0.0117647

0.00383284

0.00175131

0.000629723

0.0026455

...

palabra lemaetiqueta probabilidad

...

no

requiere

conocimiento

sobre

las

funciones

suplementarias

de

...

...

Wn

V3spi0

Scms

P

Dfp

Scfp

Afp0

P

...

...

no

requerir

conocimiento

sobre

el

función

suplementario

de

...

palabra etiqueta lema

Texto Etiquetado Diccionario

Palabra_a_Indice

Indice_a_Palabra

Vysps0

Scms

P

268.249

268.249

268.214

0.113229

0.0012629

0.0117647

107

150

341

325.611

325.614

L + 1

325.611

1

2

3

1

2

3

268.249

T = 373

150

107

341

M + 1

M = 291.604

sobresobrar sobre

mapping etiquetas probabilidades lemas tag set

sobre

1

2

3

L = 354.007

Jorge Grana Gil – Automatas Finitos Acıclicos – p.6/21

Page 8: Contenidos - UDC

Modelización Compacta de un Diccionario

Palabra_a_Indice

Indice_a_Palabra

Vysps0

Scms

P

268.249

268.249

268.214

0.113229

0.0012629

0.0117647

107

150

341

325.611

325.614

L + 1

325.611

1

2

3

1

2

3

268.249

T = 373

150

107

341

M + 1

M = 291.604

sobresobrar sobre

mapping etiquetas probabilidades lemas tag set

sobre

1

2

3

L = 354.007

Jorge Grana Gil – Automatas Finitos Acıclicos – p.6/21

Page 9: Contenidos - UDC

Autómatas Finitos Acíclicos Numerados

Peso de un Estado: weight(q) = número de cadenas w tales que q.w ∈ F

Jorge Grana Gil – Automatas Finitos Acıclicos – p.7/21

Page 10: Contenidos - UDC

Autómatas Finitos Acíclicos Numerados

Peso de un Estado: weight(q) = número de cadenas w tales que q.w ∈ F

1413

1211

10

98765

21

3

0 4n to u

m

c e d

#

ni g

sd

r e

#

i

s

Jorge Grana Gil – Automatas Finitos Acıclicos – p.7/21

Page 11: Contenidos - UDC

Autómatas Finitos Acíclicos Numerados

Peso de un Estado: weight(q) = número de cadenas w tales que q.w ∈ F

1413

1211

10

98765

21

3

0 4n to u

m

c e d

#

ni g

sd

r e

#

i

s

11

1

11

444448

88

16

8

Jorge Grana Gil – Automatas Finitos Acıclicos – p.7/21

Page 12: Contenidos - UDC

Autómatas Finitos Acíclicos Numerados

Peso de un Estado: weight(q) = número de cadenas w tales que q.w ∈ F

1413

1211

10

98765

21

3

0 4n to u

m

c e d

#

ni g

sd

r e

#

i

s

11

1

11

444448

88

16

8

1 = discount 2 = discounted 3 = discounting 4 = discounts

5 = dismount 6 = dismounted 7 = dismounting 8 = dismounts

9 = recount 10 = recounted 11 = recounting 12 = recounts

13 = remount 14 = remounted 15 = remounting 16 = remounts

Jorge Grana Gil – Automatas Finitos Acıclicos – p.7/21

Page 13: Contenidos - UDC

Autómatas Finitos Acíclicos Numerados

Peso de un Estado: weight(q) = número de cadenas w tales que q.w ∈ F

1413

1211

10

98765

21

3

0 4n to u

m

c e d

#

ni g

sd

r e

#

i

s

11

1

11

444448

88

16

8

1 = discount 2 = discounted 3 = discounting 4 = discounts

5 = dismount 6 = dismounted 7 = dismounting 8 = dismounts

9 = recount 10 = recounted 11 = recounting 12 = recounts

13 = remount 14 = remounted 15 = remounting 16 = remounts

Hashing Perfecto [Lucchesi y Kowaltowski 1993]

Jorge Grana Gil – Automatas Finitos Acıclicos – p.7/21

Page 14: Contenidos - UDC

Autómatas Finitos Acíclicos Numerados

Peso de un Estado: weight(q) = número de cadenas w tales que q.w ∈ F

1413

1211

10

98765

21

3

0 4n to u

m

c e d

#

ni g

sd

r e

#

i

s

11

1

11

444448

88

16

8

Estado0

Estado1

Estado2

Estado3

Estado4

Estado5

Estado6

34

0 1

16

2

4

3

8

4

8

5

6

6

8

7

10

8

8

9

10

10

8

11

13

12

13

13

4

14

15

15

4

16

17

2 d r 1 i 1 s 1 e 2 c m 1 o 1 u

Jorge Grana Gil – Automatas Finitos Acıclicos – p.7/21

Page 15: Contenidos - UDC

Autómatas Finitos Acíclicos Numerados

Peso de un Arco: suma de los pesos de los estados destino de los arcos precedentes.

1413

1211

10

98765

21

3

0 4n to u

m

c e d

#

ni g

sd

r e

#

i

s

0

1

9

0

0

0

4

0 0 0 0

1

0

0

0

002

3

Estado0

Estado1

Estado2

Estado3

Estado4

Estado5

Estado6

34 2 21 1 1 1 1

1 9 40 0 0 0 0 0

1 2

4

3

8

4 5

6

6 7

10

8 9

10

10 11

13

12

13

13 14

15

15 16

17

d r i s e c m o u

0

Jorge Grana Gil – Automatas Finitos Acıclicos – p.7/21

Page 16: Contenidos - UDC

Contenidos

• Introducción:– Lenguajes Naturales, Análisis Léxico y Autómatas Finitos Acíclicos.

• Implementación de Grandes Diccionarios:– Modelización Compacta de un Diccionario.

– Autómatas Finitos Acíclicos Mínimos Numerados.

• Construcción de Autómatas Acíclicos:– Algoritmo General de Minimización.

– Minimización Basada en la Propiedad de la Altura.

– Algoritmo de Construcción Incremental.

• Nuevas Funcionalidades:– Mejoras en el Acceso al Registro.

– Comportamiento Dinámico de los Autómatas Acíclicos.

• Conclusiones.Jorge Grana Gil – Automatas Finitos Acıclicos – p.8/21

Page 17: Contenidos - UDC

Algoritmo General de Minimización

Refinamiento Sucesivo de Particiones de Estados

Partición Inicial: [ (1,2) (3,4) ] . . . Partición Final: [ (1,2) (3) (4) ]

1 4

32

a

b

c

ab

a

a

b

c

3 41,2b a

ba

a

c

Complejidad Temporal: O(n × log n) [Hopcroft 1971]

Jorge Grana Gil – Automatas Finitos Acıclicos – p.9/21

Page 18: Contenidos - UDC

Algoritmo General de Minimización

Refinamiento Sucesivo de Particiones de Estados

Partición Inicial: [ (1,2) (3,4) ] . . . Partición Final: [ (1,2) (3) (4) ]

1 4

32

a

b

c

ab

a

a

b

c

Partición Inicial: [ (1,2) (3,4) ] . . . Partición Final: [ (1,2) (3) (4) ]

1 4

32

a

b

c

ab

a

a

b

c

3 41,2b a

ba

a

c

Complejidad Temporal: O(n × log n) [Hopcroft 1971]

Jorge Grana Gil – Automatas Finitos Acıclicos – p.9/21

Page 19: Contenidos - UDC

Algoritmo General de Minimización

Refinamiento Sucesivo de Particiones de Estados

Partición Inicial: [ (1,2) (3,4) ] . . . Partición Final: [ (1,2) (3) (4) ]

1 4

32

a

b

c

ab

a

a

b

c

3 41,2b a

ba

a

c

Complejidad Temporal: O(n × log n) [Hopcroft 1971]

Jorge Grana Gil – Automatas Finitos Acıclicos – p.9/21

Page 20: Contenidos - UDC

Algoritmo General de Minimización

Refinamiento Sucesivo de Particiones de Estados

Partición Inicial: [ (1,2) (3,4) ] . . . Partición Final: [ (1,2) (3) (4) ]

1 4

32

a

b

c

ab

a

a

b

c

3 41,2b a

ba

a

c

Complejidad Temporal: O(n × log n) [Hopcroft 1971]

Jorge Grana Gil – Automatas Finitos Acıclicos – p.9/21

Page 21: Contenidos - UDC

Minimización Basada en la Altura

Altura de un Estado: height(q) = max {|w| tal que q.w ∈ F}

1

2 3 4

5 6 7

8

1

3 4

5 6 7

8

a

b a

b c

ba c

c

a

ab a

b a

b ca

ba c

c

0

2

1

3

Complejidad Temporal: O(t +

h(q0)

i=0

f(|Πi|)) [Revuz 1992]

Jorge Grana Gil – Automatas Finitos Acıclicos – p.10/21

Page 22: Contenidos - UDC

Minimización Basada en la Altura

Altura de un Estado: height(q) = max {|w| tal que q.w ∈ F}

1

2 3 4

5 6 7

8

ab a

b a

b ca

ba c

c

0

2

1

3

1

2 3 4

5 6 7

8

1

3 4

5 6 7

8

a

b a

b c

ba c

c

a

ab a

b a

b ca

ba c

c

0

2

1

3

Complejidad Temporal: O(t +

h(q0)

i=0

f(|Πi|)) [Revuz 1992]

Jorge Grana Gil – Automatas Finitos Acıclicos – p.10/21

Page 23: Contenidos - UDC

Minimización Basada en la Altura

Altura de un Estado: height(q) = max {|w| tal que q.w ∈ F}

1

2 3 4

5 6 7

8

1

3 4

5 6 7

8

a

b a

b c

ba c

c

a

ab a

b a

b ca

ba c

c

0

2

1

3

Complejidad Temporal: O(t +

h(q0)

i=0

f(|Πi|)) [Revuz 1992]

Jorge Grana Gil – Automatas Finitos Acıclicos – p.10/21

Page 24: Contenidos - UDC

Minimización Basada en la Altura

Altura de un Estado: height(q) = max {|w| tal que q.w ∈ F}

1

2 3 4

5 6 7

8

1

3 4

5 6 7

8

a

b a

b c

ba c

c

a

ab a

b a

b ca

ba c

c

0

2

1

3

Complejidad Temporal: O(t +

h(q0)

i=0

f(|Πi|)) [Revuz 1992]

Jorge Grana Gil – Automatas Finitos Acıclicos – p.10/21

Page 25: Contenidos - UDC

Fases de Inserción - Minimización

0

1 2 3

4 5 6 7 8

9

10

13 14 15 16

17 18

19 20 21 22 23

24

25 26 27

28 29 30 31

32 33

34 35

36 37 38 39 40

41

42 43 44

45 46 47 48

49 50

51 52 53 54 55

56

57 58 59

60 61 62 63

64 65

1211

d

r

i s

c

m

o u n t

o u n t

#e

is

d #

n g #

#

#

s

e

i

d #

n g #

#d#

#e

is n g #

#

tnuo

tnuo

#e

is

d #

n g #

#

c

m

e

Etapa de Palabras Antes de la Minimización Después de la Minimización

Construcción Insertadas Estados Transiciones Estados Transiciones

1 34.839 65.526 100.363 2.277 5.219

2 68.356 65.527 101.986 4.641 11.431

3 100.325 65.526 104.285 6.419 16.163

4 132.094 65.530 107.043 7.377 18.560

5 163.426 65.532 108.047 8.350 21.094

6 193.368 65.525 108.211 9.858 24.877

7 223.743 65.530 110.924 10.646 27.166

8 253.703 65.527 112.007 11.221 28.850

9 283.281 65.528 112.735 11.779 30.617

10 291.604 26.987 54.148 11.985 31.258

Jorge Grana Gil – Automatas Finitos Acıclicos – p.11/21

Page 26: Contenidos - UDC

Fases de Inserción - Minimización

1413

1211

10

98765

21

3

0 4n to u

m

c e d

#

ni g

sd

r e

#

i

s

Etapa de Palabras Antes de la Minimización Después de la Minimización

Construcción Insertadas Estados Transiciones Estados Transiciones

1 34.839 65.526 100.363 2.277 5.219

2 68.356 65.527 101.986 4.641 11.431

3 100.325 65.526 104.285 6.419 16.163

4 132.094 65.530 107.043 7.377 18.560

5 163.426 65.532 108.047 8.350 21.094

6 193.368 65.525 108.211 9.858 24.877

7 223.743 65.530 110.924 10.646 27.166

8 253.703 65.527 112.007 11.221 28.850

9 283.281 65.528 112.735 11.779 30.617

10 291.604 26.987 54.148 11.985 31.258

Jorge Grana Gil – Automatas Finitos Acıclicos – p.11/21

Page 27: Contenidos - UDC

Fases de Inserción - Minimización

1413

1211

10

98765

21

3

0

171615

4n to u

m

c e d

#

ni g

sd

r e

#

i

v

a l

#s

Etapa de Palabras Antes de la Minimización Después de la Minimización

Construcción Insertadas Estados Transiciones Estados Transiciones

1 34.839 65.526 100.363 2.277 5.219

2 68.356 65.527 101.986 4.641 11.431

3 100.325 65.526 104.285 6.419 16.163

4 132.094 65.530 107.043 7.377 18.560

5 163.426 65.532 108.047 8.350 21.094

6 193.368 65.525 108.211 9.858 24.877

7 223.743 65.530 110.924 10.646 27.166

8 253.703 65.527 112.007 11.221 28.850

9 283.281 65.528 112.735 11.779 30.617

10 291.604 26.987 54.148 11.985 31.258

Jorge Grana Gil – Automatas Finitos Acıclicos – p.11/21

Page 28: Contenidos - UDC

Fases de Inserción - Minimización

1413

1211

10

98765

21

3

0 4n to u

m

c e d

#

ni g

sd

r e

#

i

s

Etapa de Palabras Antes de la Minimización Después de la Minimización

Construcción Insertadas Estados Transiciones Estados Transiciones

1 34.839 65.526 100.363 2.277 5.219

2 68.356 65.527 101.986 4.641 11.431

3 100.325 65.526 104.285 6.419 16.163

4 132.094 65.530 107.043 7.377 18.560

5 163.426 65.532 108.047 8.350 21.094

6 193.368 65.525 108.211 9.858 24.877

7 223.743 65.530 110.924 10.646 27.166

8 253.703 65.527 112.007 11.221 28.850

9 283.281 65.528 112.735 11.779 30.617

10 291.604 26.987 54.148 11.985 31.258

Jorge Grana Gil – Automatas Finitos Acıclicos – p.11/21

Page 29: Contenidos - UDC

Fases de Inserción - Minimización

1413

1211

10

98765

21

3

0 4

4’

n to u

c e d

#

ni g

sd

r e

#

i

s

m

mc

Etapa de Palabras Antes de la Minimización Después de la Minimización

Construcción Insertadas Estados Transiciones Estados Transiciones

1 34.839 65.526 100.363 2.277 5.219

2 68.356 65.527 101.986 4.641 11.431

3 100.325 65.526 104.285 6.419 16.163

4 132.094 65.530 107.043 7.377 18.560

5 163.426 65.532 108.047 8.350 21.094

6 193.368 65.525 108.211 9.858 24.877

7 223.743 65.530 110.924 10.646 27.166

8 253.703 65.527 112.007 11.221 28.850

9 283.281 65.528 112.735 11.779 30.617

10 291.604 26.987 54.148 11.985 31.258

Jorge Grana Gil – Automatas Finitos Acıclicos – p.11/21

Page 30: Contenidos - UDC

Fases de Inserción - Minimización

1413

1211

10

98765

21

3

0 4

4’

n to u

c e d

#

ni g

sd

r

#

i

s

m

mc

e

Etapa de Palabras Antes de la Minimización Después de la Minimización

Construcción Insertadas Estados Transiciones Estados Transiciones

1 34.839 65.526 100.363 2.277 5.219

2 68.356 65.527 101.986 4.641 11.431

3 100.325 65.526 104.285 6.419 16.163

4 132.094 65.530 107.043 7.377 18.560

5 163.426 65.532 108.047 8.350 21.094

6 193.368 65.525 108.211 9.858 24.877

7 223.743 65.530 110.924 10.646 27.166

8 253.703 65.527 112.007 11.221 28.850

9 283.281 65.528 112.735 11.779 30.617

10 291.604 26.987 54.148 11.985 31.258

Jorge Grana Gil – Automatas Finitos Acıclicos – p.11/21

Page 31: Contenidos - UDC

Fases de Inserción - Minimización

1413

1211

10

98765

21

3

0 4

4’ 5’

n to u

c e d

#

ni g

sd

r

#

i

s

m

mc

e

o

Etapa de Palabras Antes de la Minimización Después de la Minimización

Construcción Insertadas Estados Transiciones Estados Transiciones

1 34.839 65.526 100.363 2.277 5.219

2 68.356 65.527 101.986 4.641 11.431

3 100.325 65.526 104.285 6.419 16.163

4 132.094 65.530 107.043 7.377 18.560

5 163.426 65.532 108.047 8.350 21.094

6 193.368 65.525 108.211 9.858 24.877

7 223.743 65.530 110.924 10.646 27.166

8 253.703 65.527 112.007 11.221 28.850

9 283.281 65.528 112.735 11.779 30.617

10 291.604 26.987 54.148 11.985 31.258

Jorge Grana Gil – Automatas Finitos Acıclicos – p.11/21

Page 32: Contenidos - UDC

Fases de Inserción - Minimización

1413

1211

10

98765

21

3

0 4

4’ 5’

n to u

c e d

#

ni g

sd

r

#

i

s

m

c

e

o

m

Etapa de Palabras Antes de la Minimización Después de la Minimización

Construcción Insertadas Estados Transiciones Estados Transiciones

1 34.839 65.526 100.363 2.277 5.219

2 68.356 65.527 101.986 4.641 11.431

3 100.325 65.526 104.285 6.419 16.163

4 132.094 65.530 107.043 7.377 18.560

5 163.426 65.532 108.047 8.350 21.094

6 193.368 65.525 108.211 9.858 24.877

7 223.743 65.530 110.924 10.646 27.166

8 253.703 65.527 112.007 11.221 28.850

9 283.281 65.528 112.735 11.779 30.617

10 291.604 26.987 54.148 11.985 31.258

Jorge Grana Gil – Automatas Finitos Acıclicos – p.11/21

Page 33: Contenidos - UDC

Fases de Inserción - Minimización

1413

1211

10

98765

21

3

0 4

4’ 5’ 6’

n to u

c e d

#

ni g

sd

r

#

i

s

m

c

e

o

m

u

Etapa de Palabras Antes de la Minimización Después de la Minimización

Construcción Insertadas Estados Transiciones Estados Transiciones

1 34.839 65.526 100.363 2.277 5.219

2 68.356 65.527 101.986 4.641 11.431

3 100.325 65.526 104.285 6.419 16.163

4 132.094 65.530 107.043 7.377 18.560

5 163.426 65.532 108.047 8.350 21.094

6 193.368 65.525 108.211 9.858 24.877

7 223.743 65.530 110.924 10.646 27.166

8 253.703 65.527 112.007 11.221 28.850

9 283.281 65.528 112.735 11.779 30.617

10 291.604 26.987 54.148 11.985 31.258

Jorge Grana Gil – Automatas Finitos Acıclicos – p.11/21

Page 34: Contenidos - UDC

Fases de Inserción - Minimización

1413

1211

10

98765

21

3

0 4

4’ 5’ 6’

n to u

c e d

#

ni g

sd

r

#

i

s

m

c

e m

u

o

Etapa de Palabras Antes de la Minimización Después de la Minimización

Construcción Insertadas Estados Transiciones Estados Transiciones

1 34.839 65.526 100.363 2.277 5.219

2 68.356 65.527 101.986 4.641 11.431

3 100.325 65.526 104.285 6.419 16.163

4 132.094 65.530 107.043 7.377 18.560

5 163.426 65.532 108.047 8.350 21.094

6 193.368 65.525 108.211 9.858 24.877

7 223.743 65.530 110.924 10.646 27.166

8 253.703 65.527 112.007 11.221 28.850

9 283.281 65.528 112.735 11.779 30.617

10 291.604 26.987 54.148 11.985 31.258

Jorge Grana Gil – Automatas Finitos Acıclicos – p.11/21

Page 35: Contenidos - UDC

Fases de Inserción - Minimización

15

1413

1211

10

98765

21

3

0 4

4’ 5’ 6’

n to u

c e d

#

ni g

sd

r

#

i

s

m

c

e m

u

o

v

Etapa de Palabras Antes de la Minimización Después de la Minimización

Construcción Insertadas Estados Transiciones Estados Transiciones

1 34.839 65.526 100.363 2.277 5.219

2 68.356 65.527 101.986 4.641 11.431

3 100.325 65.526 104.285 6.419 16.163

4 132.094 65.530 107.043 7.377 18.560

5 163.426 65.532 108.047 8.350 21.094

6 193.368 65.525 108.211 9.858 24.877

7 223.743 65.530 110.924 10.646 27.166

8 253.703 65.527 112.007 11.221 28.850

9 283.281 65.528 112.735 11.779 30.617

10 291.604 26.987 54.148 11.985 31.258

Jorge Grana Gil – Automatas Finitos Acıclicos – p.11/21

Page 36: Contenidos - UDC

Fases de Inserción - Minimización

1615

1413

1211

10

98765

21

3

0 4

4’ 5’ 6’

n to u

c e d

#

ni g

sd

r

#

i

s

m

c

e m

u

o

v

a

Etapa de Palabras Antes de la Minimización Después de la Minimización

Construcción Insertadas Estados Transiciones Estados Transiciones

1 34.839 65.526 100.363 2.277 5.219

2 68.356 65.527 101.986 4.641 11.431

3 100.325 65.526 104.285 6.419 16.163

4 132.094 65.530 107.043 7.377 18.560

5 163.426 65.532 108.047 8.350 21.094

6 193.368 65.525 108.211 9.858 24.877

7 223.743 65.530 110.924 10.646 27.166

8 253.703 65.527 112.007 11.221 28.850

9 283.281 65.528 112.735 11.779 30.617

10 291.604 26.987 54.148 11.985 31.258

Jorge Grana Gil – Automatas Finitos Acıclicos – p.11/21

Page 37: Contenidos - UDC

Fases de Inserción - Minimización

171615

1413

1211

10

98765

21

3

0 4

4’ 5’ 6’

n to u

c e d

#

ni g

sd

r

#

i

s

m

c

e m

u

o

v

a l

Etapa de Palabras Antes de la Minimización Después de la Minimización

Construcción Insertadas Estados Transiciones Estados Transiciones

1 34.839 65.526 100.363 2.277 5.219

2 68.356 65.527 101.986 4.641 11.431

3 100.325 65.526 104.285 6.419 16.163

4 132.094 65.530 107.043 7.377 18.560

5 163.426 65.532 108.047 8.350 21.094

6 193.368 65.525 108.211 9.858 24.877

7 223.743 65.530 110.924 10.646 27.166

8 253.703 65.527 112.007 11.221 28.850

9 283.281 65.528 112.735 11.779 30.617

10 291.604 26.987 54.148 11.985 31.258

Jorge Grana Gil – Automatas Finitos Acıclicos – p.11/21

Page 38: Contenidos - UDC

Fases de Inserción - Minimización

171615

1413

1211

10

98765

21

3

0 4

4’ 5’ 6’

n to u

c e d

#

ni g

sd

r

#

i

s

m

c

e m

u

o

v

a l

#

Etapa de Palabras Antes de la Minimización Después de la Minimización

Construcción Insertadas Estados Transiciones Estados Transiciones

1 34.839 65.526 100.363 2.277 5.219

2 68.356 65.527 101.986 4.641 11.431

3 100.325 65.526 104.285 6.419 16.163

4 132.094 65.530 107.043 7.377 18.560

5 163.426 65.532 108.047 8.350 21.094

6 193.368 65.525 108.211 9.858 24.877

7 223.743 65.530 110.924 10.646 27.166

8 253.703 65.527 112.007 11.221 28.850

9 283.281 65.528 112.735 11.779 30.617

10 291.604 26.987 54.148 11.985 31.258

Jorge Grana Gil – Automatas Finitos Acıclicos – p.11/21

Page 39: Contenidos - UDC

Fases de Inserción - Minimización

Etapa de Palabras Antes de la Minimización Después de la Minimización

Construcción Insertadas Estados Transiciones Estados Transiciones

1 34.839 65.526 100.363 2.277 5.219

2 68.356 65.527 101.986 4.641 11.431

3 100.325 65.526 104.285 6.419 16.163

4 132.094 65.530 107.043 7.377 18.560

5 163.426 65.532 108.047 8.350 21.094

6 193.368 65.525 108.211 9.858 24.877

7 223.743 65.530 110.924 10.646 27.166

8 253.703 65.527 112.007 11.221 28.850

9 283.281 65.528 112.735 11.779 30.617

10 291.604 26.987 54.148 11.985 31.258

Jorge Grana Gil – Automatas Finitos Acıclicos – p.11/21

Page 40: Contenidos - UDC

Algoritmo de Construcción Incremental

ab

abc

abde

abdf

bb

bbc

bbde

bbdf

ab

abc

abde

abdf

bb

bbc

bbde

bbdf

a b #

#c

d

e

f

b

3

4

5

210

Complejidad Espacial: O(n) Complejidad Temporal: O(log n) [Daciuk et al. 2000]

Jorge Grana Gil – Automatas Finitos Acıclicos – p.12/21

Page 41: Contenidos - UDC

Algoritmo de Construcción Incremental

ab

abc

abde

abdf

bb

bbc

bbde

bbdf

a b #0 1 2 3

ab

abc

abde

abdf

bb

bbc

bbde

bbdf

a b #

#c

d

e

f

b

3

4

5

210

Complejidad Espacial: O(n) Complejidad Temporal: O(log n) [Daciuk et al. 2000]

Jorge Grana Gil – Automatas Finitos Acıclicos – p.12/21

Page 42: Contenidos - UDC

Algoritmo de Construcción Incremental

ab

abc

abde

abdf

bb

bbc

bbde

bbdf

a b #0 1 2 3

ab

abc

abde

abdf

bb

bbc

bbde

bbdf

a b #

#c

d

e

f

b

3

4

5

210

Complejidad Espacial: O(n) Complejidad Temporal: O(log n) [Daciuk et al. 2000]

Jorge Grana Gil – Automatas Finitos Acıclicos – p.12/21

Page 43: Contenidos - UDC

Algoritmo de Construcción Incremental

ab

abc

abde

abdf

bb

bbc

bbde

bbdf

a b #

#c

0 1 2 3

4

ab

abc

abde

abdf

bb

bbc

bbde

bbdf

a b #

#c

d

e

f

b

3

4

5

210

Complejidad Espacial: O(n) Complejidad Temporal: O(log n) [Daciuk et al. 2000]

Jorge Grana Gil – Automatas Finitos Acıclicos – p.12/21

Page 44: Contenidos - UDC

Algoritmo de Construcción Incremental

ab

abc

abde

abdf

bb

bbc

bbde

bbdf

a b #

#c

0 1 2 3

4

ab

abc

abde

abdf

bb

bbc

bbde

bbdf

a b #

#c

d

e

f

b

3

4

5

210

Complejidad Espacial: O(n) Complejidad Temporal: O(log n) [Daciuk et al. 2000]

Jorge Grana Gil – Automatas Finitos Acıclicos – p.12/21

Page 45: Contenidos - UDC

Algoritmo de Construcción Incremental

ab

abc

abde

abdf

bb

bbc

bbde

bbdf

a b #

#c

#

e

d

0 1 2 3

4

5 6

ab

abc

abde

abdf

bb

bbc

bbde

bbdf

a b #

#c

d

e

f

b

3

4

5

210

Complejidad Espacial: O(n) Complejidad Temporal: O(log n) [Daciuk et al. 2000]

Jorge Grana Gil – Automatas Finitos Acıclicos – p.12/21

Page 46: Contenidos - UDC

Algoritmo de Construcción Incremental

ab

abc

abde

abdf

bb

bbc

bbde

bbdf

a b #

#c

d

e

0 1 2 3

4

5

ab

abc

abde

abdf

bb

bbc

bbde

bbdf

a b #

#c

d

e

f

b

3

4

5

210

Complejidad Espacial: O(n) Complejidad Temporal: O(log n) [Daciuk et al. 2000]

Jorge Grana Gil – Automatas Finitos Acıclicos – p.12/21

Page 47: Contenidos - UDC

Algoritmo de Construcción Incremental

ab

abc

abde

abdf

bb

bbc

bbde

bbdf

a b #

#c

d

e

f

#

0 1 2 3

4

5 6

ab

abc

abde

abdf

bb

bbc

bbde

bbdf

a b #

#c

d

e

f

b

3

4

5

210

Complejidad Espacial: O(n) Complejidad Temporal: O(log n) [Daciuk et al. 2000]

Jorge Grana Gil – Automatas Finitos Acıclicos – p.12/21

Page 48: Contenidos - UDC

Algoritmo de Construcción Incremental

ab

abc

abde

abdf

bb

bbc

bbde

bbdf

a b #

#c

d

e

f

0 1 2 3

4

5

ab

abc

abde

abdf

bb

bbc

bbde

bbdf

a b #

#c

d

e

f

b

3

4

5

210

Complejidad Espacial: O(n) Complejidad Temporal: O(log n) [Daciuk et al. 2000]

Jorge Grana Gil – Automatas Finitos Acıclicos – p.12/21

Page 49: Contenidos - UDC

Algoritmo de Construcción Incremental

ab

abc

abde

abdf

bb

bbc

bbde

bbdf

a b #

#c

d

e

f

0 1 2 3

4

5

ab

abc

abde

abdf

bb

bbc

bbde

bbdf

a b #

#c

d

e

f

b

3

4

5

210

Complejidad Espacial: O(n) Complejidad Temporal: O(log n) [Daciuk et al. 2000]

Jorge Grana Gil – Automatas Finitos Acıclicos – p.12/21

Page 50: Contenidos - UDC

Algoritmo de Construcción Incremental

ab

abc

abde

abdf

bb

bbc

bbde

bbdf

a b #

#c

d

e

f

0 1 3

4

5

2

ab

abc

abde

abdf

bb

bbc

bbde

bbdf

a b #

#c

d

e

f

b

3

4

5

210

Complejidad Espacial: O(n) Complejidad Temporal: O(log n) [Daciuk et al. 2000]

Jorge Grana Gil – Automatas Finitos Acıclicos – p.12/21

Page 51: Contenidos - UDC

Algoritmo de Construcción Incremental

ab

abc

abde

abdf

bb

bbc

bbde

bbdf

a b #

#c

d

e

f

0 3

4

5

21

ab

abc

abde

abdf

bb

bbc

bbde

bbdf

a b #

#c

d

e

f

b

3

4

5

210

Complejidad Espacial: O(n) Complejidad Temporal: O(log n) [Daciuk et al. 2000]

Jorge Grana Gil – Automatas Finitos Acıclicos – p.12/21

Page 52: Contenidos - UDC

Algoritmo de Construcción Incremental

ab

abc

abde

abdf

bb

bbc

bbde

bbdf

a b #

#c

d

e

f

#

b

b

0 3

4

5

21

6

7

ab

abc

abde

abdf

bb

bbc

bbde

bbdf

a b #

#c

d

e

f

b

3

4

5

210

Complejidad Espacial: O(n) Complejidad Temporal: O(log n) [Daciuk et al. 2000]

Jorge Grana Gil – Automatas Finitos Acıclicos – p.12/21

Page 53: Contenidos - UDC

Algoritmo de Construcción Incremental

ab

abc

abde

abdf

bb

bbc

bbde

bbdf

a b #

#c

d

e

f

#

b

b

c#

0 3

4

5

21

6

7

8

ab

abc

abde

abdf

bb

bbc

bbde

bbdf

a b #

#c

d

e

f

b

3

4

5

210

Complejidad Espacial: O(n) Complejidad Temporal: O(log n) [Daciuk et al. 2000]

Jorge Grana Gil – Automatas Finitos Acıclicos – p.12/21

Page 54: Contenidos - UDC

Algoritmo de Construcción Incremental

ab

abc

abde

abdf

bb

bbc

bbde

bbdf

a b #

#c

d

e

f

#

b

b

c

0 3

4

5

21

6

7

ab

abc

abde

abdf

bb

bbc

bbde

bbdf

a b #

#c

d

e

f

b

3

4

5

210

Complejidad Espacial: O(n) Complejidad Temporal: O(log n) [Daciuk et al. 2000]

Jorge Grana Gil – Automatas Finitos Acıclicos – p.12/21

Page 55: Contenidos - UDC

Algoritmo de Construcción Incremental

ab

abc

abde

abdf

bb

bbc

bbde

bbdf

a b #

#c

d

e

f

#

b

b

c

d

e

#

0 3

4

5

21

6

7

8 9

ab

abc

abde

abdf

bb

bbc

bbde

bbdf

a b #

#c

d

e

f

b

3

4

5

210

Complejidad Espacial: O(n) Complejidad Temporal: O(log n) [Daciuk et al. 2000]

Jorge Grana Gil – Automatas Finitos Acıclicos – p.12/21

Page 56: Contenidos - UDC

Algoritmo de Construcción Incremental

ab

abc

abde

abdf

bb

bbc

bbde

bbdf

a b #

#c

d

e

f

#

b

b

c

d

e

0 3

4

5

21

6

7

8

ab

abc

abde

abdf

bb

bbc

bbde

bbdf

a b #

#c

d

e

f

b

3

4

5

210

Complejidad Espacial: O(n) Complejidad Temporal: O(log n) [Daciuk et al. 2000]

Jorge Grana Gil – Automatas Finitos Acıclicos – p.12/21

Page 57: Contenidos - UDC

Algoritmo de Construcción Incremental

ab

abc

abde

abdf

bb

bbc

bbde

bbdf

a b #

#c

d

e

f

#

b

b

c

d

e

f

#

0 3

4

5

21

6

7

8

9

ab

abc

abde

abdf

bb

bbc

bbde

bbdf

a b #

#c

d

e

f

b

3

4

5

210

Complejidad Espacial: O(n) Complejidad Temporal: O(log n) [Daciuk et al. 2000]

Jorge Grana Gil – Automatas Finitos Acıclicos – p.12/21

Page 58: Contenidos - UDC

Algoritmo de Construcción Incremental

ab

abc

abde

abdf

bb

bbc

bbde

bbdf

a b #

#c

d

e

f

#

b

b

c

d

e f

0 3

4

5

21

6

7

8

ab

abc

abde

abdf

bb

bbc

bbde

bbdf

a b #

#c

d

e

f

b

3

4

5

210

Complejidad Espacial: O(n) Complejidad Temporal: O(log n) [Daciuk et al. 2000]

Jorge Grana Gil – Automatas Finitos Acıclicos – p.12/21

Page 59: Contenidos - UDC

Algoritmo de Construcción Incremental

ab

abc

abde

abdf

bb

bbc

bbde

bbdf

a b #

#c

d

e

f

#

b

b

cd

0 3

4

5

21

6

7

ab

abc

abde

abdf

bb

bbc

bbde

bbdf

a b #

#c

d

e

f

b

3

4

5

210

Complejidad Espacial: O(n) Complejidad Temporal: O(log n) [Daciuk et al. 2000]

Jorge Grana Gil – Automatas Finitos Acıclicos – p.12/21

Page 60: Contenidos - UDC

Algoritmo de Construcción Incremental

ab

abc

abde

abdf

bb

bbc

bbde

bbdf

a b #

#c

d

e

f

bb

0 3

4

5

21

6

ab

abc

abde

abdf

bb

bbc

bbde

bbdf

a b #

#c

d

e

f

b

3

4

5

210

Complejidad Espacial: O(n) Complejidad Temporal: O(log n) [Daciuk et al. 2000]

Jorge Grana Gil – Automatas Finitos Acıclicos – p.12/21

Page 61: Contenidos - UDC

Algoritmo de Construcción Incremental

ab

abc

abde

abdf

bb

bbc

bbde

bbdf

a b #

#c

d

e

f

b

0 3

4

5

21

ab

abc

abde

abdf

bb

bbc

bbde

bbdf

a b #

#c

d

e

f

b

3

4

5

210

Complejidad Espacial: O(n) Complejidad Temporal: O(log n) [Daciuk et al. 2000]

Jorge Grana Gil – Automatas Finitos Acıclicos – p.12/21

Page 62: Contenidos - UDC

Algoritmo de Construcción Incremental

ab

abc

abde

abdf

bb

bbc

bbde

bbdf

a b #

#c

d

e

f

b

3

4

5

210

Complejidad Espacial: O(n) Complejidad Temporal: O(log n) [Daciuk et al. 2000]

Jorge Grana Gil – Automatas Finitos Acıclicos – p.12/21

Page 63: Contenidos - UDC

Algoritmo de Construcción Incremental

ab

abc

abde

abdf

bb

bbc

bbde

bbdf

a b #

#c

d

e

f

b

3

4

5

210

Complejidad Espacial: O(n) Complejidad Temporal: O(log n) [Daciuk et al. 2000]

Jorge Grana Gil – Automatas Finitos Acıclicos – p.12/21

Page 64: Contenidos - UDC

Contenidos

• Introducción:– Lenguajes Naturales, Análisis Léxico y Autómatas Finitos Acíclicos.

• Implementación de Grandes Diccionarios:– Modelización Compacta de un Diccionario.

– Autómatas Finitos Acíclicos Mínimos Numerados.

• Construcción de Autómatas Acíclicos:– Algoritmo General de Minimización.

– Minimización Basada en la Propiedad de la Altura.

– Algoritmo de Construcción Incremental.

• Nuevas Funcionalidades:– Mejoras en el Acceso al Registro.

– Comportamiento Dinámico de los Autómatas Acíclicos.

• Conclusiones.Jorge Grana Gil – Automatas Finitos Acıclicos – p.13/21

Page 65: Contenidos - UDC

Mejoras en el Acceso al Registro

¿Cuándo dos estados son equivalentes? Cada una de las posibles respuestas constituye unnuevo filtro que deja más y más estados fuera del proceso de comparación:

• Para que dos estados sean equivalentes, sus alturas deben ser iguales.Las alturas son números bajos (entre 0 y la longitud de la palabra más larga).La altura de un estado es la máxima altura de los estados destino de sus arcos más 1.

• El número de arcos salientes también debe ser igual.El número de arcos también es un número bajo (entre 1 y el tamaño del alfabeto).

• Los pesos de indexación también deben ser iguales.Los pesos pueden ser números muy altos (entre 1 y el tamaño del diccionario), perose puede demostrar empíricamente que los pesos más frecuentes también son bajos.El peso de un estado es la suma de los pesos de los estados destino de sus arcos.

Nuestra implementación del registro es un array tridimensional al que se accedemediante la altura, el número de arcos salientes y el peso de indexación. Cada celdacontiene la lista de estados que comparten estas tres características. [Graña et al. 2001]

Finalmente, se verifican las etiquetas de los arcos salientes y sus estados destino.

Jorge Grana Gil – Automatas Finitos Acıclicos – p.14/21

Page 66: Contenidos - UDC

Mejoras en el Acceso al Registro

¿Cuándo dos estados son equivalentes? Cada una de las posibles respuestas constituye unnuevo filtro que deja más y más estados fuera del proceso de comparación:

• Para que dos estados sean equivalentes, sus alturas deben ser iguales.Las alturas son números bajos (entre 0 y la longitud de la palabra más larga).La altura de un estado es la máxima altura de los estados destino de sus arcos más 1.

• El número de arcos salientes también debe ser igual.El número de arcos también es un número bajo (entre 1 y el tamaño del alfabeto).

• Los pesos de indexación también deben ser iguales.Los pesos pueden ser números muy altos (entre 1 y el tamaño del diccionario), perose puede demostrar empíricamente que los pesos más frecuentes también son bajos.El peso de un estado es la suma de los pesos de los estados destino de sus arcos.

Nuestra implementación del registro es un array tridimensional al que se accedemediante la altura, el número de arcos salientes y el peso de indexación. Cada celdacontiene la lista de estados que comparten estas tres características. [Graña et al. 2001]

Finalmente, se verifican las etiquetas de los arcos salientes y sus estados destino.

Jorge Grana Gil – Automatas Finitos Acıclicos – p.14/21

Page 67: Contenidos - UDC

Mejoras en el Acceso al Registro

¿Cuándo dos estados son equivalentes? Cada una de las posibles respuestas constituye unnuevo filtro que deja más y más estados fuera del proceso de comparación:

• Para que dos estados sean equivalentes, sus alturas deben ser iguales.Las alturas son números bajos (entre 0 y la longitud de la palabra más larga).La altura de un estado es la máxima altura de los estados destino de sus arcos más 1.

• El número de arcos salientes también debe ser igual.El número de arcos también es un número bajo (entre 1 y el tamaño del alfabeto).

• Los pesos de indexación también deben ser iguales.Los pesos pueden ser números muy altos (entre 1 y el tamaño del diccionario), perose puede demostrar empíricamente que los pesos más frecuentes también son bajos.El peso de un estado es la suma de los pesos de los estados destino de sus arcos.

Nuestra implementación del registro es un array tridimensional al que se accedemediante la altura, el número de arcos salientes y el peso de indexación. Cada celdacontiene la lista de estados que comparten estas tres características. [Graña et al. 2001]

Finalmente, se verifican las etiquetas de los arcos salientes y sus estados destino.

Jorge Grana Gil – Automatas Finitos Acıclicos – p.14/21

Page 68: Contenidos - UDC

Mejoras en el Acceso al Registro

¿Cuándo dos estados son equivalentes? Cada una de las posibles respuestas constituye unnuevo filtro que deja más y más estados fuera del proceso de comparación:

• Para que dos estados sean equivalentes, sus alturas deben ser iguales.Las alturas son números bajos (entre 0 y la longitud de la palabra más larga).La altura de un estado es la máxima altura de los estados destino de sus arcos más 1.

• El número de arcos salientes también debe ser igual.El número de arcos también es un número bajo (entre 1 y el tamaño del alfabeto).

• Los pesos de indexación también deben ser iguales.Los pesos pueden ser números muy altos (entre 1 y el tamaño del diccionario), perose puede demostrar empíricamente que los pesos más frecuentes también son bajos.El peso de un estado es la suma de los pesos de los estados destino de sus arcos.

Nuestra implementación del registro es un array tridimensional al que se accedemediante la altura, el número de arcos salientes y el peso de indexación. Cada celdacontiene la lista de estados que comparten estas tres características. [Graña et al. 2001]

Finalmente, se verifican las etiquetas de los arcos salientes y sus estados destino.

Jorge Grana Gil – Automatas Finitos Acıclicos – p.14/21

Page 69: Contenidos - UDC

Mejoras en el Acceso al Registro

¿Cuándo dos estados son equivalentes? Cada una de las posibles respuestas constituye unnuevo filtro que deja más y más estados fuera del proceso de comparación:

• Para que dos estados sean equivalentes, sus alturas deben ser iguales.Las alturas son números bajos (entre 0 y la longitud de la palabra más larga).La altura de un estado es la máxima altura de los estados destino de sus arcos más 1.

• El número de arcos salientes también debe ser igual.El número de arcos también es un número bajo (entre 1 y el tamaño del alfabeto).

• Los pesos de indexación también deben ser iguales.Los pesos pueden ser números muy altos (entre 1 y el tamaño del diccionario), perose puede demostrar empíricamente que los pesos más frecuentes también son bajos.El peso de un estado es la suma de los pesos de los estados destino de sus arcos.

Nuestra implementación del registro es un array tridimensional al que se accedemediante la altura, el número de arcos salientes y el peso de indexación. Cada celdacontiene la lista de estados que comparten estas tres características. [Graña et al. 2001]

Finalmente, se verifican las etiquetas de los arcos salientes y sus estados destino.

Jorge Grana Gil – Automatas Finitos Acıclicos – p.14/21

Page 70: Contenidos - UDC

Mejoras en el Acceso al Registro

¿Cuándo dos estados son equivalentes? Cada una de las posibles respuestas constituye unnuevo filtro que deja más y más estados fuera del proceso de comparación:

• Para que dos estados sean equivalentes, sus alturas deben ser iguales.Las alturas son números bajos (entre 0 y la longitud de la palabra más larga).La altura de un estado es la máxima altura de los estados destino de sus arcos más 1.

• El número de arcos salientes también debe ser igual.El número de arcos también es un número bajo (entre 1 y el tamaño del alfabeto).

• Los pesos de indexación también deben ser iguales.Los pesos pueden ser números muy altos (entre 1 y el tamaño del diccionario), perose puede demostrar empíricamente que los pesos más frecuentes también son bajos.El peso de un estado es la suma de los pesos de los estados destino de sus arcos.

Nuestra implementación del registro es un array tridimensional al que se accedemediante la altura, el número de arcos salientes y el peso de indexación. Cada celdacontiene la lista de estados que comparten estas tres características. [Graña et al. 2001]

Finalmente, se verifican las etiquetas de los arcos salientes y sus estados destino.

Jorge Grana Gil – Automatas Finitos Acıclicos – p.14/21

Page 71: Contenidos - UDC

Análisis de Resultados

DiccionarioTamaño del Diccionario Tamaño del Autómata

Palabras Etiquetaciones Estados Arcos

GALENA 291.604 354.007 11.985 31.258

ERIAL 775.621 993.703 52.861 159.780

DiccionarioTiempos de Compilación (en segundos)

Revuz Daciuk et al. Graña et al.

GALENA 29,3 3,4 2,5 (+ 4,6 = 7,1)

ERIAL 141,7 11,2 9,2 (+ 15,6 = 24,8)

Velocidad de Reconocimiento

(en palabras por segundo)

Daciuk et al. Graña et al.

35.000 80.000

Jorge Grana Gil – Automatas Finitos Acıclicos – p.15/21

Page 72: Contenidos - UDC

Análisis de Resultados

DiccionarioTamaño del Diccionario Tamaño del Autómata

Palabras Etiquetaciones Estados Arcos

GALENA 291.604 354.007 11.985 31.258

ERIAL 775.621 993.703 52.861 159.780

DiccionarioTiempos de Compilación (en segundos)

Revuz Daciuk et al. Graña et al.

GALENA 29,3 3,4 2,5 (+ 4,6 = 7,1)

ERIAL 141,7 11,2 9,2 (+ 15,6 = 24,8)

Velocidad de Reconocimiento

(en palabras por segundo)

Daciuk et al. Graña et al.

35.000 80.000

Jorge Grana Gil – Automatas Finitos Acıclicos – p.15/21

Page 73: Contenidos - UDC

Análisis de Resultados

DiccionarioTamaño del Diccionario Tamaño del Autómata

Palabras Etiquetaciones Estados Arcos

GALENA 291.604 354.007 11.985 31.258

ERIAL 775.621 993.703 52.861 159.780

DiccionarioTiempos de Compilación (en segundos)

Revuz Daciuk et al. Graña et al.

GALENA 29,3 3,4 2,5 (+ 4,6 = 7,1)

ERIAL 141,7 11,2 9,2 (+ 15,6 = 24,8)

Velocidad de Reconocimiento

(en palabras por segundo)

Daciuk et al. Graña et al.

35.000 80.000

Jorge Grana Gil – Automatas Finitos Acıclicos – p.15/21

Page 74: Contenidos - UDC

Comportamiento Dinámico

Operaciones de mantenimiento sobre autómatas finitos acíclicos:

• Inserción de nuevas palabras [Daciuk et al. 2000].

• Eliminación de palabras ya insertadas [Barcala y Graña 2003].

Jorge Grana Gil – Automatas Finitos Acıclicos – p.16/21

Page 75: Contenidos - UDC

Comportamiento Dinámico

Operaciones de mantenimiento sobre autómatas finitos acíclicos:

• Inserción de nuevas palabras [Daciuk et al. 2000].

• Eliminación de palabras ya insertadas [Barcala y Graña 2003].

#

ab

p e

e

o l

o

c

s

0

1

2

3

4

5

6

7 8

Jorge Grana Gil – Automatas Finitos Acıclicos – p.16/21

Page 76: Contenidos - UDC

Comportamiento Dinámico

Operaciones de mantenimiento sobre autómatas finitos acíclicos:

• Inserción de nuevas palabras [Daciuk et al. 2000].

• Eliminación de palabras ya insertadas [Barcala y Graña 2003].

#

ab

p e

e

o l

o

c

s

o

0

1

2

3

4

5

6

7 8

6’

Jorge Grana Gil – Automatas Finitos Acıclicos – p.16/21

Page 77: Contenidos - UDC

Comportamiento Dinámico

Operaciones de mantenimiento sobre autómatas finitos acíclicos:

• Inserción de nuevas palabras [Daciuk et al. 2000].

• Eliminación de palabras ya insertadas [Barcala y Graña 2003].

#

ab

p e

e

o

o

c

s

o

l

0

1

2

3

5

6

7 8

6’4

Jorge Grana Gil – Automatas Finitos Acıclicos – p.16/21

Page 78: Contenidos - UDC

Comportamiento Dinámico

Operaciones de mantenimiento sobre autómatas finitos acíclicos:

• Inserción de nuevas palabras [Daciuk et al. 2000].

• Eliminación de palabras ya insertadas [Barcala y Graña 2003].

#

ab

p e

e

o

o

c

s

o

l

#

0

1

2

3

5

6

7 8

6’4

7’

Jorge Grana Gil – Automatas Finitos Acıclicos – p.16/21

Page 79: Contenidos - UDC

Comportamiento Dinámico

Operaciones de mantenimiento sobre autómatas finitos acíclicos:

• Inserción de nuevas palabras [Daciuk et al. 2000].

• Eliminación de palabras ya insertadas [Barcala y Graña 2003].

#

ab

p e

e

o

o

c

s

l

#

o

0

1

2

3

5

6

7 8

6’4

7’

Jorge Grana Gil – Automatas Finitos Acıclicos – p.16/21

Page 80: Contenidos - UDC

Comportamiento Dinámico

Operaciones de mantenimiento sobre autómatas finitos acíclicos:

• Inserción de nuevas palabras [Daciuk et al. 2000].

• Eliminación de palabras ya insertadas [Barcala y Graña 2003].

#

ab

p e

e

o

c

s

0

1

3

5

6

7 8

2

Jorge Grana Gil – Automatas Finitos Acıclicos – p.16/21

Page 81: Contenidos - UDC

Comportamiento Dinámico

Operaciones de mantenimiento sobre autómatas finitos acíclicos:

• Inserción de nuevas palabras [Daciuk et al. 2000].

• Eliminación de palabras ya insertadas [Barcala y Graña 2003].

#

ab e

o

c

s

p

1

3

5

6

7 80

Jorge Grana Gil – Automatas Finitos Acıclicos – p.16/21

Page 82: Contenidos - UDC

Comportamiento Dinámico

Operaciones de mantenimiento sobre autómatas finitos acíclicos:

• Inserción de nuevas palabras [Daciuk et al. 2000].

• Eliminación de palabras ya insertadas [Barcala y Graña 2003].

#

ab e

o

c

s

p0

1

3

5

6

7 8

Jorge Grana Gil – Automatas Finitos Acıclicos – p.16/21

Page 83: Contenidos - UDC

Contenidos

• Introducción:– Lenguajes Naturales, Análisis Léxico y Autómatas Finitos Acíclicos.

• Implementación de Grandes Diccionarios:– Modelización Compacta de un Diccionario.

– Autómatas Finitos Acíclicos Mínimos Numerados.

• Construcción de Autómatas Acíclicos:– Algoritmo General de Minimización.

– Minimización Basada en la Propiedad de la Altura.

– Algoritmo de Construcción Incremental.

• Nuevas Funcionalidades:– Mejoras en el Acceso al Registro.

– Comportamiento Dinámico de los Autómatas Acíclicos.

• Conclusiones.

Jorge Grana Gil – Automatas Finitos Acıclicos – p.17/21

Page 84: Contenidos - UDC

Reflexiones Finales

Las propuestas más relevantes de este estudio son:

• Una arquitectura general para la implementación de diccionarios, capaz dealmacenar la gran cantidad de información léxica relativa a las palabras.

• Una mejora en los métodos para la construcción incremental de autómatas finitosacíclicos, mediante el uso de características específicas de los estados inspiradas:

– en los mecanismos de trabajo de nuestra arquitectura de diccionarios (pesos),

– en la base formal de otros algoritmos previos (alturas).

• Un conjunto de operaciones que facilita las tareas de mantenimiento de losautómatas, y que proporciona a éstos la posibilidad de comportamiento dinámico:

– inserción y eliminación de palabras durante ejecuciones reales.

Aspectos a desarrollar en el futuro:

• Realizar un estudio teórico de la complejidad temporal de nuestras mejoras.

• Diseñar un mecanismo de indexación para sistemas de recuperación de informaciónbasado en autómatas finitos acíclicos.

Jorge Grana Gil – Automatas Finitos Acıclicos – p.18/21

Page 85: Contenidos - UDC

Reflexiones Finales

Las propuestas más relevantes de este estudio son:

• Una arquitectura general para la implementación de diccionarios, capaz dealmacenar la gran cantidad de información léxica relativa a las palabras.

• Una mejora en los métodos para la construcción incremental de autómatas finitosacíclicos, mediante el uso de características específicas de los estados inspiradas:

– en los mecanismos de trabajo de nuestra arquitectura de diccionarios (pesos),

– en la base formal de otros algoritmos previos (alturas).

• Un conjunto de operaciones que facilita las tareas de mantenimiento de losautómatas, y que proporciona a éstos la posibilidad de comportamiento dinámico:

– inserción y eliminación de palabras durante ejecuciones reales.

Aspectos a desarrollar en el futuro:

• Realizar un estudio teórico de la complejidad temporal de nuestras mejoras.

• Diseñar un mecanismo de indexación para sistemas de recuperación de informaciónbasado en autómatas finitos acíclicos.

Jorge Grana Gil – Automatas Finitos Acıclicos – p.18/21

Page 86: Contenidos - UDC

Reflexiones Finales

Las propuestas más relevantes de este estudio son:

• Una arquitectura general para la implementación de diccionarios, capaz dealmacenar la gran cantidad de información léxica relativa a las palabras.

• Una mejora en los métodos para la construcción incremental de autómatas finitosacíclicos, mediante el uso de características específicas de los estados inspiradas:

– en los mecanismos de trabajo de nuestra arquitectura de diccionarios (pesos),

– en la base formal de otros algoritmos previos (alturas).

• Un conjunto de operaciones que facilita las tareas de mantenimiento de losautómatas, y que proporciona a éstos la posibilidad de comportamiento dinámico:

– inserción y eliminación de palabras durante ejecuciones reales.

Aspectos a desarrollar en el futuro:

• Realizar un estudio teórico de la complejidad temporal de nuestras mejoras.

• Diseñar un mecanismo de indexación para sistemas de recuperación de informaciónbasado en autómatas finitos acíclicos.

Jorge Grana Gil – Automatas Finitos Acıclicos – p.18/21

Page 87: Contenidos - UDC

Reflexiones Finales

Las propuestas más relevantes de este estudio son:

• Una arquitectura general para la implementación de diccionarios, capaz dealmacenar la gran cantidad de información léxica relativa a las palabras.

• Una mejora en los métodos para la construcción incremental de autómatas finitosacíclicos, mediante el uso de características específicas de los estados inspiradas:

– en los mecanismos de trabajo de nuestra arquitectura de diccionarios (pesos),

– en la base formal de otros algoritmos previos (alturas).

• Un conjunto de operaciones que facilita las tareas de mantenimiento de losautómatas, y que proporciona a éstos la posibilidad de comportamiento dinámico:

– inserción y eliminación de palabras durante ejecuciones reales.

Aspectos a desarrollar en el futuro:

• Realizar un estudio teórico de la complejidad temporal de nuestras mejoras.

• Diseñar un mecanismo de indexación para sistemas de recuperación de informaciónbasado en autómatas finitos acíclicos.

Jorge Grana Gil – Automatas Finitos Acıclicos – p.18/21

Page 88: Contenidos - UDC

Reflexiones Finales

Las propuestas más relevantes de este estudio son:

• Una arquitectura general para la implementación de diccionarios, capaz dealmacenar la gran cantidad de información léxica relativa a las palabras.

• Una mejora en los métodos para la construcción incremental de autómatas finitosacíclicos, mediante el uso de características específicas de los estados inspiradas:

– en los mecanismos de trabajo de nuestra arquitectura de diccionarios (pesos),

– en la base formal de otros algoritmos previos (alturas).

• Un conjunto de operaciones que facilita las tareas de mantenimiento de losautómatas, y que proporciona a éstos la posibilidad de comportamiento dinámico:

– inserción y eliminación de palabras durante ejecuciones reales.

Aspectos a desarrollar en el futuro:

• Realizar un estudio teórico de la complejidad temporal de nuestras mejoras.

• Diseñar un mecanismo de indexación para sistemas de recuperación de informaciónbasado en autómatas finitos acíclicos.

Jorge Grana Gil – Automatas Finitos Acıclicos – p.18/21

Page 89: Contenidos - UDC

Referencias Bibliográficas (I)

Métodos Generales para la Construcción de Autómatas Finitos:

• Watson, B.W. (1993).A Taxonomy of Finite Automata Construction Algorithms.Computing Science Note 93/43, Eindhoven Univ. of Technology, The Netherlands.

Hashing Perfecto:

• Lucchesi, C.L.; Kowaltowski, T. (1993).Applications of Finite Automata Representing Large Vocabularies.Software - Practice and Experience, vol. 23(1), pp. 15-30.

Algoritmos de Minimización:

• Hopcroft, J.E. (1971).An n log n Algorithm for Minimizing the States in a Finite Automaton.The Theory of Machines and Computations, Academic Press, NY, pp. 189-196.

• Revuz, D. (1992).Minimization of Acyclic Deterministic Automata in Linear Time.Theoretical Computer Science, vol. 92(1), pp. 181-189.

Jorge Grana Gil – Automatas Finitos Acıclicos – p.19/21

Page 90: Contenidos - UDC

Referencias Bibliográficas (I)

Métodos Generales para la Construcción de Autómatas Finitos:

• Watson, B.W. (1993).A Taxonomy of Finite Automata Construction Algorithms.Computing Science Note 93/43, Eindhoven Univ. of Technology, The Netherlands.

Hashing Perfecto:

• Lucchesi, C.L.; Kowaltowski, T. (1993).Applications of Finite Automata Representing Large Vocabularies.Software - Practice and Experience, vol. 23(1), pp. 15-30.

Algoritmos de Minimización:

• Hopcroft, J.E. (1971).An n log n Algorithm for Minimizing the States in a Finite Automaton.The Theory of Machines and Computations, Academic Press, NY, pp. 189-196.

• Revuz, D. (1992).Minimization of Acyclic Deterministic Automata in Linear Time.Theoretical Computer Science, vol. 92(1), pp. 181-189.

Jorge Grana Gil – Automatas Finitos Acıclicos – p.19/21

Page 91: Contenidos - UDC

Referencias Bibliográficas (I)

Métodos Generales para la Construcción de Autómatas Finitos:

• Watson, B.W. (1993).A Taxonomy of Finite Automata Construction Algorithms.Computing Science Note 93/43, Eindhoven Univ. of Technology, The Netherlands.

Hashing Perfecto:

• Lucchesi, C.L.; Kowaltowski, T. (1993).Applications of Finite Automata Representing Large Vocabularies.Software - Practice and Experience, vol. 23(1), pp. 15-30.

Algoritmos de Minimización:

• Hopcroft, J.E. (1971).An n log n Algorithm for Minimizing the States in a Finite Automaton.The Theory of Machines and Computations, Academic Press, NY, pp. 189-196.

• Revuz, D. (1992).Minimization of Acyclic Deterministic Automata in Linear Time.Theoretical Computer Science, vol. 92(1), pp. 181-189.

Jorge Grana Gil – Automatas Finitos Acıclicos – p.19/21

Page 92: Contenidos - UDC

Referencias Bibliográficas (II)

Algoritmos de Construcción Incremental:

• Daciuk, J.; Mihov, S.; Watson, B.W.; Watson, R.E. (2000).Incremental Construction of Minimal Acyclic Finite-State Automata.Computational Linguistics, vol. 26(1), pp. 3-16.

• Graña Gil, J.; Barcala Rodríguez, F.M.; Alonso Pardo, M.A. (2001).Compilation Methods of Minimal Acyclic Finite-State Automata for Large Dictionaries.In Proc. of CIAA-2001, pp. 135-148. Pretoria, South Africa.

Comportamiento Dinámico de los Autómatas Finitos:

• Revuz, D. (2000).Dynamic Acyclic Minimal Automaton.In Proc. of CIAA-2000, pp. 226-232. London, Ontario, Canada.

• Carrasco, R.C.; Forcada, M.L. (2002).Incremental Construction and Maintenance of Minimal Finite-State Automata.Computational Linguistics, vol. 28(2), pp. 207-216.

Jorge Grana Gil – Automatas Finitos Acıclicos – p.20/21

Page 93: Contenidos - UDC

Referencias Bibliográficas (II)

Algoritmos de Construcción Incremental:

• Daciuk, J.; Mihov, S.; Watson, B.W.; Watson, R.E. (2000).Incremental Construction of Minimal Acyclic Finite-State Automata.Computational Linguistics, vol. 26(1), pp. 3-16.

• Graña Gil, J.; Barcala Rodríguez, F.M.; Alonso Pardo, M.A. (2001).Compilation Methods of Minimal Acyclic Finite-State Automata for Large Dictionaries.In Proc. of CIAA-2001, pp. 135-148. Pretoria, South Africa.

Comportamiento Dinámico de los Autómatas Finitos:

• Revuz, D. (2000).Dynamic Acyclic Minimal Automaton.In Proc. of CIAA-2000, pp. 226-232. London, Ontario, Canada.

• Carrasco, R.C.; Forcada, M.L. (2002).Incremental Construction and Maintenance of Minimal Finite-State Automata.Computational Linguistics, vol. 28(2), pp. 207-216.

Jorge Grana Gil – Automatas Finitos Acıclicos – p.20/21

Page 94: Contenidos - UDC

Referencias Bibliográficas (y III)

Corrección Ortográfica:

• Oflazer, K. (1996).Error-Tolerant Finite State Recognition with Applications to Morphological Analysis andSpelling Correction.Computational Linguistics, vol. 22(1), pp. 73-89.

Otros Métodos de Análisis Léxico (Traductores de Estado Finito):

• Koskenniemi, K. (1983).Two-Level Model for Morphological Analysis.In Proc. of IJCAI-83, pp. 683-685. Kalsruhe, Germany.

• Kempe, A.; Karttunen, L. (1996).Parallel Replacement in the Finite-State Calculus.In Proc. of COLING-96. Copenhagen, Denmark.

• Mohri, M. (1997).Finite-State Transducers in Language and Speech Recognition.Computational Linguistics, vol. 23(2), pp. 269-311.

Jorge Grana Gil – Automatas Finitos Acıclicos – p.21/21

Page 95: Contenidos - UDC

Referencias Bibliográficas (y III)

Corrección Ortográfica:

• Oflazer, K. (1996).Error-Tolerant Finite State Recognition with Applications to Morphological Analysis andSpelling Correction.Computational Linguistics, vol. 22(1), pp. 73-89.

Otros Métodos de Análisis Léxico (Traductores de Estado Finito):

• Koskenniemi, K. (1983).Two-Level Model for Morphological Analysis.In Proc. of IJCAI-83, pp. 683-685. Kalsruhe, Germany.

• Kempe, A.; Karttunen, L. (1996).Parallel Replacement in the Finite-State Calculus.In Proc. of COLING-96. Copenhagen, Denmark.

• Mohri, M. (1997).Finite-State Transducers in Language and Speech Recognition.Computational Linguistics, vol. 23(2), pp. 269-311.

Jorge Grana Gil – Automatas Finitos Acıclicos – p.21/21