Elucubraciones doctorales. Capítulo 2

sábado, 24 de noviembre de 2007

Clasificación de textos usando redes neuronales del tipo ART
Como todo ser humano egoista que se precie, durante algunos meses estuve buscando la forma de hacerme rico creando una página web nueva y diferente. Por si acaso algún día me vuelve la tentación no voy a contar de que se trataba pero si os diré que parte de la base consistía en lograr crear un buen clasificador de textos.

Cuando digo un buen clasificador de textos me refiero a una aplicación que fuera capaz de descargarse un texto de internet (o una web) y clasificarla en un grupo, de tal forma que el clasificador crease automáticamete clases (o grupos) con textos de temática similar. Pero la idea no queda ahí, este clasificador debía ser capaz de evolucionar y adaptarse, es decir, de crear o eliminar clases si fuera necesario o modificarlas de forma que se adaptara a las nuevas tendencias de las temáticas. Cualquier persona avispada se habrá dado cuenta que si tienes un conjunto de usuarios que también clasificas entonces les puedes ofrecer textos relevantes a cada tipo de usuario, y pensando un poco más puedes llegar a tener un negocio interesante.

En primer lugar para clasificar un texto es necesario extraer sus propiedades. La opción mas interesante sería obtener el significado del texto, pero este punto creo que se me escapa de las manos, así que es mejor valorar otras opciones como la longitud, las palabras, la frecuencia con que estas se repiten, el idioma, etc. Tal vez la opción más realista sea clasificar el texto en función del significado de las palabras que contiene y la forma en que estas se agrupan o la frecuencia con que se presentan. Una vez que tenemos los parámetros para clasificar hace falta crear el clasificador.

Como dice el título la idea es utilizar una red neuronal ART, pero antes de explicar que es esto y como podría funcionar empezaré explicando a groso modo que es una red neuronal. Básicamente se trata de crear un celebro en el ordenador, y para ello se utiliza un modelo donde la base son neuronas interconectadas que en función de los estímulos eléctricos de entrada emiten uno de salida. Además de eso, las conexiones no son iguales y en cierto modo se modifica la señal de entrada para cada neurona. Partiendo de estas ideas se puede simular algo parecido a un celebro con un ordenador, con ciertas limitaciones en cuanto a la cantidad de conexiones, el número de neuronas y los ciclos que se producen al interconectar las neuronas. Por tanto, de forma similar al celebro, estas redes son una buena herramienta para crear asociaciones, o lo que es lo mismo, clasificar elementos.

El esquema genérico de una red de neuronas es el siguiente:

donde los valores de salida de cada neurona son una función de sus entradas.

Las redes ART son un modelo de redes de neuronas en los que se ha aplicado la teoría de resonancia adaptativa, o dicho de otra forma, es un modelo de red de neuronas capaz de aprender nuevos patrones y de retener los modelos aprendidos. Con este tipo de red se puede realizar una clasificación de textos donde se aprendan nuevos patrones de estos textos y a su vez también evolucionen los patrones antiguos para poder seguir siendo bien clasificados.

Aunque estas redes funcionan bien el principal problema es ajustar los parámetros que discriminan cuando unos datos de entrada son de un patrón ya existente o se trata de uno nuevo. Además, decidir si un texto ha sido bien o mal clasificado es un factor subjetivo que hace imposible establecer una buena unidad de medida para determinar que red es mejor que otra. Y por si fuera poco, cuando se trata de clasificar textos se necesita realizar un preprocesado de esos textos para obtener las características relevantes para su clasificación, lo cuál puede ser una tarea muy laboriosa, mucho más que crear la red que es la parte interesante del asunto.

0 comentarios: