• No se han encontrado resultados

4.3 Estrategias de exploración/búsqueda

4.3.6 Consideraciones sobre la tasa de inclusión

La diferencia fundamental entre estructuras de búsqueda basadas en árboles y en grafos genéricos radican, como se ha visto, en la mayor o menor compresión del mismo. El mayor problema derivado de la compresión en un grafo radica en la unión de nodos finales, si lo comparamos con la estructura en árbol: un nodo final estará asociado a más de una palabra. Esta unión implica que, cuando el algoritmo de programación dinámica acaba de realizar su proceso de cálculo, asignará el mismo coste

1. La línea de tendencia con el número de nodos totales también presenta una alta correlación con las medidas reales, pero es ligeramente menor que la obtenida para los nodos finales.

Tiempo en función de nodos finales para árbol

0,01 0,1 1 10 100 10 100 1000 10000

Tiempo en función de nodos finales para grafo determinista 0,01 0,10 1,00 10,00 100,00 10 100 1000 10000

Tiempo en función de nodos finales para grafo no determinista 0,01 0,1 1 10 100 10 100 1000 10000

Figura 4-7: Tiempo de proceso en función del número de nodos finales para cada estructura de búsqueda

Capítulo 4. Reducción del espacio de búsqueda 4-88 a todas las palabras asociadas a cada nodo final. De esta forma, y si no abordamos soluciones a esta situación, seremos incapaces de decidir qué palabras dentro de cada nodo tienen más o menos probabilidad de corresponder a la producción de habla realizada, aunque seamos capaces de decidir cuál es la palabra más probable.

El problema se agrava cuantas más palabras, en media, haya en cada nodo final, lógicamente. En la Figura 4-8 se muestra un ejemplo de la curva de tasa de error de inclusión al usar una estructura de árbol y una de grafo en el algoritmo de acceso léxico, con un vocabulario de 1175 palabras. Como puede observarse, los resultados al usar el grafo son totalmente inadmisibles para su inclusión en un sistema real: no conseguimos altas tasas de inclusión salvo para valores muy elevados de longitud de lista de preselección1.

Sin embargo, las importantes reducciones de tiempo de proceso obtenibles por las estructuras de grafo, nos animaron a realizar un estudio de la posible inclusión de mecanismos adicionales de corrección de las probabilidades asignadas a cada palabra dentro de un mismo nodo final, con el objetivo de incrementar la tasa global de inclusión y llegar a valores que nos permitieran competir con las tasas obtenidas al usar estructuras de árbol.

En la experimentación que se desarrolló se tomó como sistema de trabajo el módulo de acceso léxico, por su simplicidad de tratamiento. Sin embargo, sería posible analizar el efecto sobre cualquiera de los sistemas diseñados en los que las estructuras de árbol o grafo son aplicables, es decir, cualquiera que permita usar un espacio de búsqueda guiado por dichas estructuras en el proceso de optimización (programación dinámica).

El elemento de decisión usado en el algoritmo de acceso léxico con estructura de búsqueda lineal o basada en árbol (que son equivalentes desde el punto de vista de resultado final) es el coste de alineamiento (coste de acceso léxico costeAL). Tras analizar el problema, se detectaron una serie de parámetros (longitud de la cadena fonética, distribución de las longitudes de las palabras de cada nodo final, secuencia de palabras observadas durante el backtracking, etc.) que serían candidatos a colaborar en una nueva estimación del coste a usar, en combinación con el proporcionado por el acceso léxico

1. En la generación de listas de palabras propuestas se han seguido el orden de las mismas tal y como están anotadas en los nodos finales, de modo que dos palabras asociadas a un mismo nodo final no se consideran como reconocidas en la misma posición, sino una después de la otra. De ahí que la curva de tasa de error de inclusión no tenga saltos bruscos.

Figura 4-8: Comparativa de tasa de error de inclusión al usar una estructura de árbol y una de grafo determinista. 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% 0,01% 0,10% 1,00% 10,00% 100,00%

% (Long. lista preselección / Tamaño diccionario)

Tasa de error de inclusión

Usando grafo determinista Usando árbol

Apartado 4.3. Estrategias de exploración/búsqueda 4-89

(costeALi)1. De todos ellos, se decidió que el más prometedor era precisamente el relacionado con la secuencia de palabras observada con el backtracking: si se incluye un etiquetado adecuado de los nodos del grafo, marcándolos con el identificador de todas las palabras asociadas a cada uno, es factible calcular el número de veces que cada palabra aparece asociada a los nodos de la cadena fonética reconocida y utilizar dicho valor para modificar adecuadamente el coste asociado a cada palabra.

Así, nos fijaremos en dos valores:

• El coste de acceso léxico asociado al nodo final al que pertenece cada palabra

• Un coste adicional basado en la distribución del número de ocurrencias de una palabra en el camino calculado por el backtracking.

Si pensamos en este último valor, el cálculo que nos interesa realizar para cada palabra i, corresponde a una variable aleatoria (que llamaremos ocupación) que debería ser dependiente de la diferencia entre el número de veces que aparece la palabra en los nodos del camino óptimo (que

llamaremos numOcurrencias) y la longitud del mismo (que llamaremos longitudCamino). El camino

óptimo será el calculado a partir del nodo final asociado a la palabra i, nodoFinal(i):

así, el mejor caso debería darse para un valor 0, es decir, la palabra dada ha aparecido en todos los nodos del camino óptimo.

Asumiremos que esa variable aleatoria sigue una distribución normal, de modo que, en cada caso, asociaremos un valor de probabilidad igual a:

desarrollando las fórmulas vistas tomando logaritmos para convertir las probabilidades en costes, podemos llegar a la siguiente expresión final del coste ponderado de cada palabra (en la que hemos prescindido de la inclusión de constantes que no afectan al resultado final):

en la que aparecen como factores de ponderación el factor y las varianzas correspondientes a las distribuciones de los costes de ocupación (costeOcupacioni=ocupacioni2) y los de acceso léxico.

En la experimentación llevada a cabo se analizaron previamente las variaciones producidas al usar distintas estrategias en el cálculo de las varianzas: globales (calculadas sobre todas las palabras del grafo), dependientes del nodo final asociado (calculadas sobre las palabras asociadas a cada nodo final) e independientes (valores fijos en un rango dado). Los mejores resultados se obtuvieron al usar varianzas globales, dado que las varianzas dependientes de nodos finales tenían un grave problema de estimación para nodos con un número bajo de palabras asociadas (incluso aplicando técnicas de suavizado).

Para facilitar el proceso de evaluación se desarrollaron una serie de medidas comparativas entre el rendimiento del sistema usando la ordenación basada en costes de acceso léxico únicamente y la ponderada, basadas en distintos criterios:

• Número absoluto de palabras en las que funcionaba mejor el acceso léxico con costes

ponderados o sin ellos.

1. En la búsqueda realizada por el módulo de acceso a léxico sobre árbol, el único elemento que contribuye a la ordenación es el coste de acceso léxico asociado, calculado al comparar la cadena fonética de entrada con todas las palabras del diccionario

ocupacion

i

=

numOcurrencias

i

longitudCamino

nodoFinal i( )

p ocupacion(

)

1

2Πσ

---e

ocupacion2 2σ2 --- –

=

tePonderado

i

cos

α

1

σ

2costeOcupacion

--- costeOcupacion

i

(1–α)

1

σ

2costeAL

---costeAL

i

+

=

α

Capítulo 4. Reducción del espacio de búsqueda 4-90

• Suma absoluta de posiciones de acierto (medidas como posiciones de la lista de

preselección en las que se reconoció cada palabra) para la estrategia que funcionaba mejor para cada palabra, usando o no costes ponderados

• Suma absoluta de posiciones de mejora (medidas como diferencias de posiciones de

acierto) para la estrategia que funcionaba mejor en cada caso, usando o no costes ponderados

• Suma absoluta de momentos de mejora (medidos como el producto de la diferencia en

posiciones de mejora y la posición reconocida) para la estrategia que funcionaba mejor en cada caso, usando o no costes ponderados

• Diferencias entre los valores anteriores calculados para costes ponderados y los

calculados para costes no ponderados

La idea que perseguíamos era buscar una posible correlación entre dichos valores y las curvas de preselección que mostraban un mejor comportamiento, para tener un criterio objetivo de decisión acerca del valor de a usar. La calificación de mejor comportamiento se hizo usando, entre otros factores, indicadores como el de posición en la que se alcanzaban determinadas tasas de inclusión, como por ejemplo la mostrada en la Figura 4-9, en la que se muestra la posición del candidato en el que se alcanzaba la tasa de inclusión del 97%, 98% y 99%, medida como porcentaje sobre el tamaño del diccionario. α 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% 0,05 0,1 0,15 0,2 0,25 0,3 0,35 0,4 0,45 0,5 0,55 0,6 0,65 0,7 0,75 0,8 0,85 0,9 0,95 Sólo grafo Coeficiente de ponderación

Posición del candidato XX% en función del coeficiente

Cand99% Cand98% Cand97%

Figura 4-9: Tamaño de lista de preselección necesario (medido como porcentaje sobre el tamaño del diccionario) para obtener tasas de inclusión del 97%, 98% y 99%, en función del valor del coeficiente

de ponderación y para el caso del uso de grafo sin reordenar.

α

-150000 -100000 -50000 0 50000 100000 150000 200000 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1 Coeficiente de ponderación

Posición Absoluta Ponderado - Posición Absoluta No ponderado

Figura 4-10: Curvas de medida de suma de posiciones absolutas usando o no costes ponderados (izquierda) y diferencia entre ambas (derecha), en función del coeficiente de ponderación.

0 50000 100000 150000 200000 250000 300000 350000 400000 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1 Coeficiente de ponderación

Apartado 4.4. Longitud de las listas de preselección