lunes, enero 08, 2007

Signal Processing Approach

Estaba revisando una presentación en SlideShare de la Universidad de Vigo, en España, bajo el nombre de A Signal Processing Approach to Distributional clustering of terms in Automatic Text Categorization.

Revisado el documento casi diapositiva a diapositiva, presento un resumen/recordatorio.

Lo primero es que define Categorización Automática de Textos como la categorización automática de documentos de texto en categorías predefinidas dado un conjunto de documentos de textos pre-categorizados. Esto es importante, pues entiendo se basa en aprendizaje por ejemplos, por lo que para que el método pueda implementarse, debe tener disponible un conjunto de entrenamiento / aprendizaje.

El método de Procesamiento de Señales propuesto, se enfoca en solucionar la problemática de la dimensionadlidad para el espacio de términos usados en la indexación. Para ello utiliza un Clustering Distribuido, definiendo esto como una efectiva y poderosa aproximación en la extracción de términos que ayuda a la reducción del espacio original:
  • Los términos son caracterizados por sus funciones de probabilidad de distribución sobre las diferentes categorías de documentos.
  • El clustering o agrupación es hecha siguiendo una medida de similaridad de las funciones anteriores.

El método de Clustering Distribuido tiene:
  • Medidas no basadas en información teórica
  • Pero sí basadas en una nueva interpretación del "Procesamiento de Señales", primero eliminado los términos que causan ruido y agrupando los restantes términos que sí aportan información siguiendo medidas de correlación o interdependencia.
Los resultados que se declararon fueron:
  • Re-confirmar los resultados obtenidos por otros algoritmos de Clustering Distribuido, que consiguen drásticas mejoras en la efectividad de la categorización, en especial con bajo número de características.
  • Y que los 20 conjuntos de grupos de noticias referenciados pueden ser indexados con una mínima pérdida de efectividad en la categorización con sólo 20 clusters.
Esto lo encontré interesante: la metodología para hacer el clustering:
  • Los documentos de textos son representados por la clásica indexación Bag of Words
  • El peso de cada palabra corresponde al número de veces que la palabra aparece en cada documento
  • Cada término es caracterizado por la probabilidad de la función de distribución en la variable discreta de la categoría.

Esta probabilidad de la función de distribución viene dada por una fórmula demasiado lenta de escribir en el blog, pero que se puede revisar en el documento original, pero básicamente está dada por:

"Las probabilidades son calculadas dividiendo el número de ocurrencias del término en todos los documentos a través de cada categoría, por el número total de ocurrencias del término en todos los documentos del conjunto de datos".

El término se asume como la señal de probabilidad, por lo que lo primero es eliminar las señales de ruido, esto es, las señales con una distribución muy plana, las que no entregan información de la variable para la categoría. Estas señales presentan una variaza baja.

Luego se agrupan señales similares; esto es, se basa en el grado de similaridad entre señales medidas por el coeficiente de correlación, el que está definido en el documento, y que tiene por hipótesis la equiprobabilidad de las categorías.

El algoritmo que en definitiva se utilizó, fue uno de clustering duro, esto es:
  • Se ordenó el vocabulario por varianza decreciente
  • Se eliminaron aquellos términos con varianza menor que un umbral dado (señales de ruido)
  • Se inizializaron M clusters aislados con los M términos
  • Cíclicamente se colocaron todos los términos en uno de los clusters, juntando aquellos correlacionados y creando nuevos clusters a partir de ellos.

Para permirir el juntar terminos pobremente correlacionados en el mismo cluster, se implementó:
  • Ventanas Dinámicas Expansión/Compresión
    • Las ventanas estáticas de dimensión M se expanden y comprimen en forma dinámica.
  • Clustering suave
    • Cualquier término puede ser compartido en más de un cluster.

Para la simulación del comportamiento, se usó 20 grupos de noticias con más de 20 mil documentos particionados en 20 grupos de noticias similares.

El filtro inicial incluyó: remover las stop words, luego las palabras no alfabéticas, y finalmente aquellas que aparecían en menos de 4 documentos o estaban menos de 4 veces en el conjunto de datos.

Luego de realizar la categorización, se graficaron los resultados Porcentaje de acierto v/s número de términos por cluster. Para ello, se utilizó el algoritmo Ingenuo de Bayes con funciones de selección Ganancia de Información, Chi cuadrado, Clustering duro y suave con ventanas estáticas, clustering duro y suave con ventanas dinámicas.

Según los autores, los restultados son notablemente mejores en clustering distribuido que con las funciones de selección clásicas, como Chi cuadrado y Ganancia de la información.

También concluyen que las curvas presentan un incremento inicial abrupto sobre los 20 clusters.

Por último, consigen asintomáticamente una efectividad de de alrededor del 79%.

Se declara que el cluster producido es bueno para 20 o más agrupaciones (igual al número de categorías definidas en la colección de 20 grupos de noticias); y que para el caso de los 20 clusters producidos, cada categoría está principalmente identificada por sólo uno y diferente cluster en una probabilidad del 0.9474 al 0.7552.

Sé que cada cual sacará sus comentarios del texto, pero en mi opinión, a pesar que se muestra como principal ventaja del método la alta efectividad con baja cantidad de términos; en mi opinión los resultados graficados no me son del todo convincentes, sobre todo por la falta de mayor información respecto al corpus de datos y cómo se seleccionaron los ejemplos de entrenamiento.

Pero sí creo que este documento tiene aspectos muy interesantes, y por eso mi comentario.

En primer lugar, cualquier estudio que se realice sobre categorización de textos es ya importante. En mi opinión, los elementos destacados del trabajo están en la eliminación de los términos generadores de ruido; y concuerdo con los autores que es una idea absolutamente correcta, funcional y necesaria.

También es plausible el haber hecho el estudio con clustering distribuido. La mayor parte de las herramientas comerciales que he visto no salen del Ingenuo de Bayes con raíces de palabras, que si bien es un avance, me parece que los sistemas multivaluares (que prueban más de una medida para la selección) nos permiten obtener mejores resultados y, con los computadores de ahora, con tiempos de respuesta aceptables.

Por último, en mi opinión la cantidad de ejemplos y el ambiente del que fueron extraídos es bastante imparcial, por lo que da crédito a los resultados obtenidos. Sería interesante ver cómo se comporta el mismo procedimiento en otros ambientes, como pueden ser con ejemplos de medicina.

No hay comentarios.: