Modelos de normalizacion de direcciones.pdf

4
1. Hidden Markov Model (HMM) Los HMMs (Modelos Ocultos de Markov, en español) son relativamente nuevos en la tarea de extracción de estructuras. Estos han sido usados con mucho éxito en tareas de reconocimiento del habla y de escritura, así como para tareas de procesamiento del lenguaje natural, como el etiquetado de partes del habla. Este modelo es una poderosa técnica de máquina de aprendizajeestadística que maneja datos nuevos de forma robusta, es computacionalmente eficiente y fácil de aprender e interpretar. La última propiedad hace a esta técnica particularmente adecuada para el problema de etiquetar direcciones. El modelo básico de un HMM consiste de : 1. Un conjunto de n estados (conjunto E) 2. Un diccionario de m símbolos de salida 3. Una matriz An x n de transiciones, donde el elemento aij es la probabilidad de hacer una transición del estado i al estado j 4. Una matriz Bn x m , donde la entrada bjk denota la probabilidad de emitir el kmo símbolo de salida en el estado j. Además hay dos estados especiales, denotados como el nodo Inicial y el nodo Final. El total de elementos en el que debe dividirse el texto es |E|. Cada estado del HMM es marcado con exactamente uno de los elementos de E. Los datos de entrenamiento consisten en una secuencia de pares elemento-símbolo. Esto impone la restricción de que para cada par (e,s), el símbolo s solo puede ser emitido por el estado marcado con el elemento e. A partir de este modelo, dada una secuencia de salida O = o1; o2;…; ok de tamaño k (dirección postal con k elementos) y un HMM de n estados, se quiere encontrar la secuencia de estados (secuencia oculta) desde el estado inicial al estado final que genera la secuencia O. En la figura 2 se muestra un ejemplo de HMM típico para la segmentación de direcciones. Fig. 2 Estructura de un sencillo HMM El número de estados n es 10 y las etiquetas de los arcos muestran las probabilidades de transición de un estado a otro (matriz A). Por ejemplo, la probabilidad de que una dirección comience con el Número de la casa es 0.92 y de que la Ciudad vaya después de la calle es 0.22. Las probabilidades de emisión de los elementos fueron omitidas por razones de espacio. Los cuatro parámetros que forman un HMM son construidos en el proceso de entrenamiento del modelo, el cual consta de dos fases. En la primera se selecciona la estructura del HMM (cantidad de nodos y de arcos entre ellos), además de definir el diccionario de símbolos de salida. En la segunda fase, ya asumiendo una estructura fija del HMM, se entrenan las probabilidades de transición y de emisión de los símbolos para cada estado. Las probabilidades de transición pueden ser calculadas usando el método de Máxima Probabilidad (Maximum LikeLihood) en todas las secuencias de entrenamiento. Como consecuencia, la probabilidad de hacer una transición del estado i al j es el cociente del número de transiciones hechas desde el estado i hasta el j en los datos de entrenamiento entre el total de transiciones hechas desde i.

Transcript of Modelos de normalizacion de direcciones.pdf

Page 1: Modelos de normalizacion de direcciones.pdf

1. Hidden Markov Model (HMM) Los HMMs (Modelos Ocultos de Markov, en español) son relativamente nuevos en la tarea de extracción de

estructuras. Estos han sido usados con mucho éxito en tareas de reconocimiento del habla y de escritura, así

como para tareas de procesamiento del lenguaje natural, como el etiquetado de partes del habla.

Este modelo es una poderosa técnica de máquina de aprendizajeestadística que maneja datos nuevos de

forma robusta, es computacionalmente eficiente y fácil de aprender e interpretar. La última propiedad hace a

esta técnica particularmente adecuada para el problema de etiquetar direcciones.

El modelo básico de un HMM consiste de :

1. Un conjunto de n estados (conjunto E)

2. Un diccionario de m símbolos de salida

3. Una matriz An x n de transiciones, donde el elemento aij es la probabilidad de hacer una transición

del estado i al estado j

4. Una matriz Bn x m , donde la entrada bjk denota la probabilidad de emitir el kmo símbolo de salida en el

estado j.

Además hay dos estados especiales, denotados como el nodo Inicial y el nodo Final. El total de elementos en

el que debe dividirse el texto es |E|. Cada estado del HMM es marcado con exactamente uno de los

elementos de E. Los datos de entrenamiento consisten en una secuencia de pares elemento-símbolo. Esto

impone la restricción de que para cada par (e,s), el símbolo s solo puede ser emitido por el estado marcado

con el elemento e.

A partir de este modelo, dada una secuencia de salida O = o1; o2;…; ok de tamaño k (dirección postal

con k elementos) y un HMM de n estados, se quiere encontrar la secuencia de estados (secuencia oculta)

desde el estado inicial al estado final que genera la secuencia O.

En la figura 2 se muestra un ejemplo de HMM típico para la segmentación de direcciones.

Fig. 2 Estructura de un sencillo HMM

El número de estados n es 10 y las etiquetas de los arcos muestran las probabilidades de transición de un

estado a otro (matriz A). Por ejemplo, la probabilidad de que una dirección comience con el Número de la

casa es 0.92 y de que la Ciudad vaya después de la calle es 0.22. Las probabilidades de emisión de los

elementos fueron omitidas por razones de espacio.

Los cuatro parámetros que forman un HMM son construidos en el proceso de entrenamiento del modelo, el

cual consta de dos fases. En la primera se selecciona la estructura del HMM (cantidad de nodos y de arcos

entre ellos), además de definir el diccionario de símbolos de salida. En la segunda fase, ya asumiendo una

estructura fija del HMM, se entrenan las probabilidades de transición y de emisión de los símbolos para cada

estado.

Las probabilidades de transición pueden ser calculadas usando el método de Máxima Probabilidad (Maximum

LikeLihood) en todas las secuencias de entrenamiento. Como consecuencia, la probabilidad de hacer una

transición del estado i al j es el cociente del número de transiciones hechas desde el estado i hasta el j en los

datos de entrenamiento entre el total de transiciones hechas desde i.

Page 2: Modelos de normalizacion de direcciones.pdf

Donde,

Gij es el número de transiciones desde el estado i hasta el estado j.

Hi es el total de transiciones que salen del estado i

Las probabilidades de emisión son calculadas de forma similar. La probabilidad de emitir el símbolo k en el

estado j es el cociente del número de veces que el símbolo k es emitido en el estado j entre el total de

símbolos emitidos en el estado.

Donde,

Ljk es el número de veces que el símbolo k es emitido en el estado j.

Tj es el total de símbolos emitidos en el estado j.

1. "..no matter how much data one has, smoothing can almost always help performace, and

for a relatively small effort." (Chen & Goodman 1998)

Frecuentemente, durante la fase de prueba del modelo se encuentran palabras que no fueron vistas en el

entrenamiento, por tanto la fórmula (2) anterior asignará una probabilidad de cero por cada símbolo

desconocido causando que la probabilidad final sea cero sin tomar en cuenta los valores de probabilidad

del camino. Por lo que asignar la probabilidad correcta a las palabras desconocidas es importante.

Para el suavizamiento es posible usar un método llamado descuento absoluto (absolute discounting) . En

este método se sustrae un valor pequeño, digamos x, de la probabilidad de todas las palabras mj vistas

en el estado j (probabilidad ≠ 0). Entonces se distribuye la probabilidad acumulada equitativamente

entre los valores no conocidos. Así la probabilidad de un símbolo no conocido es (m es el total

de símbolos) y para un símbolo conocido k es , donde bjk es calculada como en (2). No hay

ninguna teoría sobre cómo seleccionar el mejor valor para x. Se puede seleccionar x como

donde Tj es el denominador de la ecuación (2) y se entiende por el total de símbolos vistos en j.

2. Suavizamiento (Smoothing)

3. Algoritmo de Viterbi Para calcular el camino de mayor probabilidad que genera la secuencia de salida (la dirección) se utiliza

el algoritmo de Viterbi.

Dada O = o1; o2;…; ok (secuencia de salida) de tamaño k y un HMM de n estados, se quiere encontrar el

camino más probable desde el estado inicial al final que genere la secuencia O.

Dado 0 y n+1, que denotan los estados especiales inicial y final.

Dado vs(i), la probabilidad del camino mas probable para el prefijo o1; o2;…; oi de O que termina con el

estado s.

Primeramente se tiene para el estado inicial etiquetado con 0 : v0(0) = 1; vk(0) = 0; k ≠ 0

Luego los valores siguientes son hallados usando la siguiente fórmula recursiva :

Donde bs(oi) es la probabilidad de emitir el imo símbolo oi en el estado s y ars es la probabilidad de transición

desde el estado r al estado s. El máximo es tomado sobre todos los estados del HMM.

La probabilidad del caminos mas probable que genera la secuencia de salida O es dado por

Page 3: Modelos de normalizacion de direcciones.pdf

El camino actual puede ser obtenido guardando el argmax en cada paso. Esta fórmula puede ser fácilmente

implementada como un algoritmo de programación dinámica.

1. Mejoras al HMM para la segmentación de direcciones El HMM descrito en el epígrafe 1.6 ignora cualquier relación secuencial entre palabras de un mismo elemento

debido a que solo hay un estado por elemento. Por ejemplo, la mayoría de los nombres de calle comienzan

con palabras como "Calle", "Camino" o "Avenida" y después les sigue el nombre que a veces puede estar

formado por más de una palabra. Tratando un elemento como un único estado no se captura esta estructura.

Este inconveniente puede ser eliminado si se utiliza un modelo anidado para el aprendizaje del HMM, o sea

cada nodo del HMM externo tiene asociado un HMM interno, donde el HMM externo captura la relación

secuencial entre elementos y el HMM interno aprende la estructura interna de cada elemento.

Otras mejoras también pueden ser introducidas a este modelo para lograr un superior desempeño, estas son:

La utilización de una taxonomía de símbolos (palabras, números, delimitadores) que aparecen en la secuencia

de entrenamiento, que permita generalizar el diccionario para cada estado del HMM.

Aplicación de la distancia de Levenshtein para la selección de símbolos en los diccionarios.

El modelo final después de incorporar todas estas mejoras, provee una herramienta poderosa de

segmentación que ofrece las siguientes bondades:

Reconocimiento del orden parcial entre elementos: casi siempre hay un orden parcial entre los elementos: por

ejemplo, "número de casa" aparece antes que el "código postal" en los registros de direcciones. Las

probabilidades de transición y la estructura del HMM externo ayuda a obtener esta información.

Identificación de elementos simultáneamente: este modelo intenta identificar simultáneamente todos los

elementos del registro, mientras que los HMM internos corroboran entre ellos hasta encontrar la segmentación

que es globalmente óptima.

Selección de símbolos a pesar de tener algunos errores ortográficos: con la utilización de una medida de

distancia entre cadenas es posible la aprobación de símbolos de la secuencia que se está analizando que

contienen algunos errores ortográficos al compararlos con los que aparecen en los diccionarios y encontrar

alguno semejante.

1. Taxonomía de símbolos En se propone que los símbolos que forman el diccionario sean organizados en una jerarquía. Un ejemplo de

taxonomía se muestra en la figura 3 donde el nivel superior no hace distinción entre símbolos, en el siguiente

nivel este se divide en "Números", "Palabras" y "Delimitadores"; los números son divididos y así

sucesivamente. Los datos de entrenamiento son usados automáticamente para seleccionar la frontera óptima

de la taxonomía.

Fig .3: Ejemplo de taxonomía de símbolos

Esto ayuda a generalizar símbolos en los datos de entrenamiento a un mayor nivel en algunos casos pero no

siempre; es preciso hallar el nivel adecuado.

Page 4: Modelos de normalizacion de direcciones.pdf

Para seleccionar este nivel se puede utilizar el siguiente método:

Los datos segmentados disponibles son divididos en dos partes: entrenamiento y validación. Por ejemplo, se

puede tomar un tercio del total de los datos para la validación. Primero se entrena el diccionario con todos los

símbolos con su nivel original de detalle y luego se utiliza el conjunto de validación para seleccionar el nivel

correcto de la taxonomía. El procedimiento es similar alcross-validation usado en la poda de los árboles de

decisiones para evitar sobreajuste. Comenzando desde el fondo se poda el árbol a varios niveles chequeando

la efectividad con los datos de validación. El subárbol de mayor efectividad es seleccionado.

1. Distancia de Levenshtein. Uno de los problemas que se presentan en las direcciones postales es la aparición de faltas ortográficas en su

escritura. Así, elementos como el nombre de una calle puede verse afectado porque le falta o le sobra un

carácter, o simplemente no está acentuado como debiera estarlo. Este detalle podría llevar a no realizar un

buen análisis de dicho símbolo al buscarlo en el diccionario asociado al elemento que pertenece, por ejemplo

al diccionario de calle, y no encontrarlo a pesar de sí hallarse en él.

Una forma sencilla de solucionar este problema es utilizando una medida de distancia o de similitud entre

cadenas.

Existen diversas métricas para medir la distancia o similitud entre dos cadenas. De ellas son muy conocidas

la "Distancia de Hamming" y la "Distancia Levenshtein" . Esta última tiene múltiples aplicaciones sobre todo en

los últimos años, debido al auge que han tomado los problemas de procesamiento de textos y del lenguaje

natural.

La "Distancia Levenshtein" o "Distancia de Edición", como también se le conoce, es el número de

eliminaciones, inserciones o sustituciones requeridas para transformar una cadena fuente "x" en una cadena

objetivo "z".

Por ejemplo:

Si x = "villuendas" y z = "villuendas", entonces DL (x,z) = 0, porque no es necesario hacer ninguna

transformación. Las cadenas fuente y objetivo son idénticas.

Si x = "migeel" y z = "miguel", entonces DL (x,z) = 1, porque es necesaria una transformación para que la

cadena fuente y objetivo sean iguales (cambiar la primera "e" por una "u" en la palabra fuente).

Si x = "escambr" y z = "escambray", entonces DL (x,z) = 2, porque son necesarias dos transformaciones para

que la cadena fuente y objetivo sean iguales (insertar la "a" y la "r" al final de la palabra fuente).

Leer más: http://www.monografias.com/trabajos39/limpieza-de-datos/limpieza-de-

datos2.shtml#ixzz2gaMGWmxC