Clasificación Jerárquica de contenidos Web.
Transcription
Clasificación Jerárquica de contenidos Web.
Clasificación Jerárquica de contenidos Web. Álvaro Gascón y Marín de la Puente Miguel María Rodríguez Aparicio Universidad Carlos III Madrid Universidad Carlos III [email protected] ABSTRACT Además de explicar la importancia de una apropiada clasificación de documentos en el entorno web, aquí se explican los principales métodos empleados para ello, como son el crawling y los métodos de clasificación basados en SVM, así como sus ventajas e inconvenientes, y los pasos que son necesarios para aprovechar dicho proceso, como es el indexado y el empleo de metadatos. Se hace una pequeña reseña de uno de los métodos de clasificación más simple (filtro anti-spam) basada en texo. También se explican las cuáles son las medidas de prestaciones de los clasificadores y los parámetros más relevantes que permiten estimar dichas prestaciones. Keywords SVM, Crawling, Precisión, Recall. 1. INTRODUCCIÓN Debido a la “explosión” de Internet en los últimos años, el contenido web se ha convertido en una de las mayores fuentes de datos e información para estudios, investigaciones, desarrollo de aplicaciones, etc. Puesto que la cantidad de información disponible aumenta de forma casi exponencial, se hace necesario ordenarla y clasificarla de forma jerárquica para hacerla más fácilmente accesible. Pero dicha estructura jerárquica sería muy costosa de mantener manualmente ya que exige actualizaciones muy frecuentes. Lo ideal seria poder “automatizar” el proceso y que dicha tarea fuera hecho por Aprendizaje Automático (Machine Learning). La razón para aplicar algoritmos de clasificación jerárquica a documentos web es ayudar a mantenerlos y clasificarlos dentro de ciertos términos taxonómicos. Para llevarlo a cabo han sido desarrolladas numerosas técnicas que, en algunos casos, parten de unas taxonomías predefinidas o, en otros, comienzan en un punto inicial propio. Asimismo, la técnica empleada puede tener alcance local (interno a una organización o un grupo de páginas web limitado) o, por el contrario, un alcance global (Google). En una página web coexisten varios tipos de información, siendo los más comunes texto e imágenes. A pesar de la existencia de diversos tipos de datos, la mayoría de las clasificaciones se siguen Madrid [email protected] haciendo basándose únicamente en la información textual, ignorando el contenido de las imágenes. Sería bueno ver cómo afecta la consideración de las imágenes a la clasificación de contenidos web. Desgraciadamente, el papel y la importancia de cada una de las fuentes de datos puede ser bastante difícil de identificar. Combinar de manera simple las características de imágenes y texto puede no ser útil a la hora de mejorar los resultados de la clasificación. La gran diferencia entre sus características y comportamientos puede ocasionar problemas y, por tanto, una peor clasificación tras combinar ambos tipos de información (textual y de imágenes). Hay muchas formas de utilizar las características de distintas fuentes. Una de ellas es la combinación de múltiples clasificadores. Los clasificadores múltiples basados en la combinación de un conjunto de clasificadores simples proporcionan muy buenas prestaciones como sistemas de clasificación de contenidos. De hecho, estudios recientes [7-9] indican que el empleo de estos clasificadores múltiples proporcionan mejores resultados que aquellos casos en los que se emplean los clasificadores simples. Esto ocurre cuando se cumplen ciertos requisitos y los clasificadores componentes son razonablemente buenos o comenten distintos errores. La aproximación más utilizada es aquella que combina las diferentes salidas de los clasificadores siguiendo unas normas o fundones sencillas de combinación. Algunas de ellas son: clasificadores ponderados de Bayes, distintas combinaciones lineales de probabilidades a posteriori, reglas de máximo y mínimo, “threshold voting”, “majority vote”, reglas de producto [10-13]. Aunque todos estos estudios muestran características interesantes, no garantizan el diseño del sitema de múltiples clasificadores óptimo. Dado que la mejor combinación de un conjunto de clasificadores depende de la aplicación (los datos a tratar) y de los clasificadores a combinar, no puede decirse que haya un mejor esquema de combinación ni una relación clara entre la precisión de un clasificador múltiple y los clasificadores simples que lo componen. Es muy importante reseñar que, antes de aplicar cualquier clasificador, es necesario extraer las características relevantes de los datos a tratar. 2. TÉCNICAS DE CLASIFICACIÓN 2.1 Filtros Bayesianos (anti-spam) 2.2 Crawling Probablemente, una de las formas más simples de clasificar contenidos sea mediante el uso de lo que se conoce como filtros bayesianos. Este tipo de filtros está basado en el teorema de Bayes para determinar un correo electrónico como spam o no. El teorema probabilístico de Thomas Bayes resulta útil cuando conocemos el resultado final de un experimento, pero desconocemos alguno de los pasos intermedios en el que estamos interesados. El teorema de Bayes viene dado por el siguiente enunciado: Sea {B1, B2,… , Bn} un sistema completo de sucesos con P(Bi) > 0 para todo i. Si A es un suceso cualquiera se verifica: Un crawler, que en inglés significa oruga, debe su nombre a la tarea o movimiento que realiza a través de la web. Su función es ir recorriendo todos los dominios a partir de un punto inicial prefijado, descargando el contenido de los sitios atravesados. El movimiento que sigue dicha oruga puede obedecer distintos algoritmos, pero en todos ellos va recorriendo los enlaces a otras páginas que se encuentran en cada una de las que va atravesando y los encola para ir sacándolas de ella según un algoritmo predefinido para, posteriormente, repetir el proceso. Tras esto se transforma la información almacenada en texto y metadatos que resulten fácilmente clasificables. Estos metadatos no son más que una transformación de la información original que haga más fácil su almacenamiento y posterior búsqueda. Aquí se muestra el esquema básico de un crawler. P( Bk | A) = P( A | Bk ) ⋅ P( Bk ) n ∑ P( A | B ) ⋅ P( B ) i i 1=1 siendo: • P(Bi): probabilidades a priori • P(Bi|A): probabilidades a posteriori • P(A|Bi): verosimilitudes En [14] se describe su funcionamiento de la siguiente manera: la probabilidad de que un correo electrónico sea spam, considerando que haya ciertas palabras en él, es igual a la probabilidad de encontrar esas ciertas palabras en un correo basura por la probabilidad de que algún correo sea spam, dividido entre la probabilidad de encontrar esas palabras en algún correo. Esto matemáticamente es: p ( palabras | spam) p ( spam) p ( spam | palabras ) = p ( palabras ) El filtro bayesiano necesita una base de datos que contenga palabras y otros criterios (direcciones IP, hosts,…), para calcular la probabilidad de que un correo determinado sea spam, sacados de un ejemplo de correo basura y otro de correo válido. A cada palabra se le asigna un valor de probabilidad basado en la frecuencia de aparición de dicha palabra en un correo basura frente a la misma frecuencia de aparición en un correo válido. Estas asignaciones se realizan a través de un proceso de análisis del correo. Disponiendo de la base de datos el filtro podrá actuar. Cuando se recibe un nuevo correo, el análisis consiste en descomponer el texto en palabras y seleccionar las más relevantes, las cuales el filtro bayesiano procesará calculando la probabilidad de que el correo que hemos recibido sea spam o no. Si la probabilidad supera un umbral establecido se considerará spam. Figura 1. Diagrama de bloques de un crawler. Para que esta tarea tenga sentido es necesario que supere dos retos importantes. El primero de ellos es ser capaz de gestionar el enorme volumen de información necesario que se maneja en esta tarea (actualmente se estima que el número de páginas existentes supera los 10000 millones). Por otro lado, el contenido de cada una de ellas no es algo estático en su gran mayoría. Y este cambio debe verse también reflejado en los metadatos generados por medio de sucesivos procesos de crawling que garanticen la “frescura” de la información almacenada. Este proceso está comandado por varias políticas que procuran el más adecuado funcionamiento del proceso. Éstas son: • • • • Política de selección, que establece qué paginas descargar Política de revisita, para establecer cuándo comprobar si se han producido cambios Política de educación, que establezca cómo evitar sobrecargar los sitios visitados Política de paralelización, para establecer cómo coordinar varios crawlers distribuídos. Resulta interesante la introducción de dos magnitudes interesantes desde el punto de vista del motor de búsqueda. Éstos son la edad (age) y la “frescura” (freshness).Esta última es una función de valor binario que determina si una copia local de un documento es o no fresca en un determinado instante t. Su valor es 1 en caso de que sí lo sea o 0 en caso contrario. La edad no es una función binaria. En este caso es una medida de cuánto está desfasada la copia local presente en el repositorio en un instante t. Estas dos funciones siguen la siguiente representación matemática: Figura 2.Definiciones de frescura (freshness) y edad (age). Según un estudio de Edward Coffman en 1998, que definió el objetivo de un crawler mediante un término equivalente al de freshness. En dicho estudio se define como objetivo conseguir minimizar la fracción de tiempo que una página está desfasada. O lo que es lo mismo: mantener ese valor de freshness tan alto como sea posible y, consecuentemente, reducir al máximo el valor de age. De esta manera, el objetivo debe ser lograr un perfil de comportamiento del crawler que siga un modelo como el definido en la siguiente figura: 2.2.1 Métricas de la importancia Por último, ahora que un crawler ha quedado definido, para realizar una adecuada jerarquización de los contenidos que de él se extraen es necesario el manejo de métricas adecuadas que den sentido a dicha clasificación. Aquí se presentan algunos de los métodos empleados para realizar la mencionada jerarquización. El empleo de uno frente a otro depende de cuál sea el fin que se persigue. 1. Similitud con una petición determinada Q: Se define un término, I(P), como la similitud textual entre un determinado documento P y el documento de partida Q. Para ello cada documento puede ser visto como un vector de m dimensiones donde cada término i representa la significación de la palabra i-ésima del vocabulario. Esa significación se calcula multiplicando el número de veces que dicha palabra aparece en el documento por la “frecuencia inversa del documento” (idf). Este último término es el inverso del número de veces que la palabra aparece en el conjunto total de documentos bajo estudio. La similitud, finalmente, es el producto entre los vectores de los dos documentos P y Q. Este cálculo necesita de la estimación del término idf porque durante el proceso de crawling aún no se dispone de información global. Por tanto se estima un valor IS´(P) como indicador de la importancia relativa de la página P. Figura 4a. Métodos de jerarquización: basado en similitud. Figura 3.Comportamiento ideal de un crawler en términos de freshness y age. 3. PageRank. En este caso todos los enlaces son tratados por igual. Sin embargo, es necesario otorgar mayor importancia a unas páginas que a otras. No es lo mismo un enlace que parte de un blog personal que de una página como Amazon, Ebay o Yahoo!. Y no lo es no sólo por una cuestión intuitiva sino porque, además, el indicador IB anterior es mayor en un caso que en otro. En PageRank aparece un nuevo indicador, IR(P), que es la suma ponderada de los enlaces que apuntan hacia P y se calcula del siguiente modo: IR(P) = (1 – d) + d ( IR(T1)/c1 + ... + IR(Tn)/cn), siendo Ti cada una de las páginas que apuntan a P y siendo ci el número de enlaces que salen desde Ti. Tras este cálculo el resultado obtenido es la probabilidad de que una persona esté en un momento determinado en el sitio P. 4. Figura 4b. Métodos de jerarquización: basado en similitud modificado. 2. Location Metric. Esta métrica, que se representa mediante IL(P), no considera el contenido de la página. Se establecen distintos criterios para otorgar mayor o menor importancia a dicha página como por ejemplo que sea un dominio “.com” o que su URL tenga menos “/”.La lista de criterios no acaba aquí, evidentemente. A continuación se muestran los pseudocódigos de algunos de los métodos arriba descritos. El objetivo de mostrar estos códigos es poner de manifiesto que la complejidad es baja en cualquiera de ellos: Backlink count. En este caso I(P) se calcula a partir de enlaces hacia P a lo largo de la web y en este caso se denomina IB(P). Para este algoritmo son mucho más importantes, obviamente, los enlaces que otras páginas hacen con la página bajo estudio que aquellas páginas que son autoenlazadas. En este caso el cálculo de IB(P) requiere del recuento de todos aquellos enlaces que desemboquen en P a lo largo de la web. Figura 4d. Métodos de jerarquización. Ahora que las métricas han sido definidas es necesario diseñar el crawler de manera que visite primero aquellas páginas que tengan un alto I(P). Sin embargo, durante el desarrollo, tal y como se ha explicado antes, sólo se dispondrá de I´(P) por lo que el crawler habrá de intuir cuáles son esas páginas para insertarlas primero en su cola. Figura 4c. Métodos de jerarquización: backward link based. Existen tres modos distintos de operación para el crawler que no serán detallados en este documento porque sus detalles escapan al objetivo final del mismo. Son los siguientes: Crawl and stop, Crawl and stop with threshold y Limited buffer crawl. Existen asimismo multitud de crawlers web de propósito general que han sido publicados y donde está a la cabeza el de Google por la repercusión que ha adquirido, no porque sea el óptimo (es necesario recordar que existen distintos tipos de crawler y cada uno puede estar enfocado a una función determinada, siendo diferentes crawlers óptimos en escenarios distintos). La lista de crawlers es larga, habiéndolos incluso de código abierto: DataparkSearch, GNU Wget, RBSE, World Wide web Word… Después del proceso de crawling el siguiente paso es indexar la información de manera adecuada para que no resulte tediosa la espera tras cada petición. Una búsqueda no refinada de, por ejemplo, 1000 documentos llevaría horas mientras que con el indexado el motor de búsqueda tarda milisegundos en realizar la tarea. Como contrapartida está la necesidad de espacio de almacenamiento extra. Otro factor importante es la posibilidad, o no, de rastrear a través de documentos de distintos formatos. No toda la información que se visita en la web está disponible en formato texto. Las variedades de formato son bastante amplias e incluye, entre los más populares, Word, Excel, Powerpoint, ASCII, PDF, HTML o XML, como ejemplos más conocidos de una lista mucho más larga y que se amplia con el tiempo. • Resumen: incluye título, descripción y los campos de palabras clave (keywords) de los metadatos de descripción. • Título: palabras que aparecen en el título del texto. • Texto relacionado con imágenes: palabras relacionadas con la imagen, así como las palabras cercanas o vecinas de la imagen. Los pesos se asignan como se muestra a continuación: Wd (t ) = [1 + log 2 n(t , d )]⋅ log 2 D n(t ) siendo n(t,d) la frecuencia del término t en el documento d, y n(t) la frecuencia total del término t en el conjunto de documentos D. 2.3.3 Características visuales Para representar el contenido visual de una web, se emplea el PCA (Principal Component Analysis). El PCA permite representar una imagen como un vector en un base ortogonal. Supongamos x1 , x2 ,..., x K que tenemos K vectores de entrenamiento . La matriz de covarianzas C puede calcularse como: C = XTX 2.3 Clasificadores basados en SVM En primer lugar, se ha de explicar brevemente en qué consisten las Máquinas de Vectores Soporte (Support Vector Machina, SVM). 2.3.1 Extracción de características Antes de poder llevar a cabo cualquier clasificación del contenido de la web a analizar, es necesario cierto pre-procesado de la información que dicha web contiene. Con esto se persigue extraer las características más relevantes de la información textual ,los metadatos y las imágenes. X = [x1 − m , x2 − m ,..., x K − m ] , vector de esperanzas de xi . donde Obteniendo los autovectores y los autovalores de la matriz C, se pueden representar las imágenes a clasificar. De esta forma, se puede obtener el vector de características de una imagen sin más que multiplicar dicha imagen por el conjunto de los autovectores de C. y* = V T ⋅ y y * es el vector de características, y la imagen a clasificar V = [e1 , e2 ,..., ek ] la matriz de autovectores. Es decir, se donde y Para poder usar las características en cálculos de similitud, hay que asignar un peso adecuado a cada característica. Para los pesos de las características textuales se emplea la función frecuencia del término y frecuencia inversa del documento (TFIDF) como suele ser habitual en la extracción de información. Para las características visuales se emplea un análisis PCA (Principal Component Analysis) del color para representar el color global y las características de los pixels. siendo m el obtienen las proyecciones de la imagen en cada una de las direcciones definidas por cada uno de los autovectores ei . Normalmente se representan las imágenes por los valores de los píxeles de los tres canales de colores principales (RGB: Red, Green, Blue). 2.3.2 Características textuales 2.3.4 Support Vector Machine Se definen las siguientes cuatro conjuntos de tipos de datos: • Página: incluye texto completo, hipervínculos, título y metadatos. Casi todas las palabras que aparecen en el texto son consideradas. Los SVM son unos poderosos clasificadores, ampliamente utilizados en la clasificación de texto e imágenes. De forma abreviada, un SVM construye el Hyperplano de Separación Óptima, el cuál separa un conjunto de muestras positivas de un conjunto de muestras negativas maximizando el margen (la separación). Nos referimos a la frontera de separación como hyperplano ya que las características pueden almacenarse en forma de vectores n-dimensionales. Existen muchas fronteras o planos de separación, pero sólo uno (el Hyperplano de Separación Óptima) que proporciona la máxima separación o discriminación. 2.3.5 Ventajas e inconvenientes Los clasificadores basados en SVM tienen las siguientes ventajas: • • • Clasificación muy efectiva. Pueden trabajar con datos de dimensinalidad alta. No se suele necesitar reducción de dimensionalidad. Como contrapartidas presentan: • Puede llegar a ser costosas, pero existen algoritmos muy eficientes. • Selección de parámetros y del kernel. Un ejemplo [15] de la aplicación de clasificadores de este tipo (el clasificador SVM lineal para los datos textuales y el SVM no lineal RBF para datos visuales), proporciona los siguientes resultados: Figura 5. Hyperplanos de separación. El HSO se caracteriza por: • Es el elemento intermedio del conjunto más amplio de superficies de decisión paralelas. • La mínima distancia a entrenamiento es máxima. cualquier vector En el caso de que las clases no sean linealmente separables, el SVM deberá utilizar funciones base no lineales, para mapear el espacio de los datos de entrada en el espacio n-dimensional de las características. De esta forma, se puede resolver el problema de no linealidad. Las funciones base no lineales más comunes son las denominadas Radial Basis Functions (RBF). M Figura 6. Estructura jerárquica de datos. de Los resultados muestran claramente [15] que la combinación siempre mejora los clasificadores individuales, excepto cuando las prestaciones de los dos son muy distintas. 2 f ( x) = sign(∑ ai ⋅ exp(−r x − xi )) i =1 donde: • r: parámetro de anchura definido por el usuario. • Ai: multiplicadores de Lagrange definidos por el algoritmo SVM Los algoritmos SVM son unos algoritmos basados en el resultado de salida (store based), es decir, la distancia al Hyperplano de Separación Óptima (HSO). Figura 7.a. Resultados de clasificación basados en texto e imágenes 3. EVALUACIÓN DE CLASIFICADORES Necesitamos conocer el rendimiento de los clasificadores. Normalmente se lleva a cabo experimentalmente, más que analíticamente. Comparando ese rendimiento bajo un mismo banco de datos se pueden establecer los mejores clasificadores. Normalmente, se define la Efectividad del clasificador como una función que mide cuántas decisiones correctas ha realizado el clasificador. Para llevar a cabo dicha evaluación es necesario disponer de bancos de datos específicamente diseñados para ello. A continuación se muestran los parámetros que pueden evaluarse en un clasificador. 3.1 Eficiencia Son los tiempos de entrenamiento y prueba, así como los requerimientos de espacio. Rara vez se utiliza, pero es muy importante para clasificadores reales. Resulta difícil de comparar porque los entornos cambian. Hay dos tipos de eficiencia: • • Eficiencia en el entrenamiento: tiempo medio para construir un clasificador por categoría con el conjunto de entrenamiento. Eficiencia de la clasificación: tiempo medio de clasificación de un nuevo documento. Figura 8. Precisión y Recall. Para estimar la precisión y el recall, se emplean dos métodos: • Microaveraging: contar los verdaderos positivos y falsos positivos de todas las clases. La precisión y el recall se calcula utilizando los valores globales. • Macroaveraging: media de la precisión (recall) de las categorías individuales. 3.2 Eficacia Es la habilidad de tomar las decisiones de clasificación correctas. Para medirla, una vez construido el clasificador utilizando el conjunto de prueba, se evalúa la eficiencia utilizando el conjunto de test, calculando, para cada categoría ci: • TPi: verdaderos positivos para la clase ci. Es el conjunto de ocumentos que, tanto el clasificador como los juicios almacenados en el conjunto de prueba, se clasifican bajo ci. FPi: falsos positivos. El conjunto de documentos que el • clasificador clasifica bajo ci, pero el conjunto de prueba indica lo contrario. • TNi: verdaderos negativos. El conjunto de documentos que, tanto el clasificador como los juicios almacenados en el conjunto de rueba, no pertenecen a ci. • FNi: falsos negativos. El conjunto de documentos que el clasificador no clasifica bajo ci, pero el conjunto de prueba indica lo contrario, que debían ser clasificados como ci. Con estos parámetros, se definen a su vez la precisión y el recall. • Precisión: pi = • TPi TPi + FPi Recall: TPi ri = TPi + FN i Gráficamente: Ambas medidas pueden dar resultados muy diferentes, si las categorías tienen diferente grado de generalidad (número bajo de ejemplos de entrenamiento positivos). La habilidad de comportarse bien con categorías poco generales será resaltada por la medida macroaveraging. 5. REFERENCIAS Hay que resaltar que ambas medidas (precisión y recall) no tienen sentido de manera aislada. Si, por ejemplo, clasificamos cada documento bajo su categoría, recall=1,pero la precisión sería muy baja. Así pues, un clasificador debe ser evaluado con una medida que combine precisión y recall, como la siguiente curva: [1] Junghoo Cho, Hector Garcia-Molina y Lawrence Page. Efficient crawling through URL ordering [2] Wikipedia [3] A. Gulli y A. Signorini. The indexable Web is more than 11.5 billion pages [4] John M. Pierre. On the automated classification of Web sites. [5] Chuang Wang, Xing Xie, Lee Wang, Yansheng Lu y WeiYing Ma. Web resource geographic location classification and detection [6] Kunal Punera, Suju Rajan y Joydeep Ghosh. Automatically learning document taxonomies for hierarchical classification. [7] B. F. Buxton, W. B. Langdon and S. J. Barreto Data Fusion by Intelligent Classifier Combination. [8] Zhang and Srihari. Class-wise multi.classifier combination based on Dempster-Shafer thery. [9] R. Florian, Ittycheriah, Jing and Zhang. Named Entity Recongnition through Classifier Combination. [10] J. Kittler. On Combining Classifiers. [11] J. Kittler and F. Roli. Multiple Classifier Systems. Figura 9. Curva Recall-Precisión. Como último apunte, el rendimiento depende de factores experimentales como las características del conjunto de documento, el número de ejemplos de entrenamiento por categoría, etc. [12] K. Chen and H. Chi. A method of combining multiple probabilistic classifiers through soft competition on different feture sets. [13] Xiao, Wang and Dai. Adaptive Combination of Classifiers and its Application to Handwritten Chinese Character Recognition. [14] Paul Graham. A Plan for Spam 4. CONCLUSIONES Se ha puesto de manifiesto la importancia y las ventajas del empleo de técnicas adecuadas para la clasificación y la jerarquización de los contenidos presentes en Internet. Sin esta “herramienta” Internet no sería un instrumento tan extendido, útil y, sobre todo, rápido en el mundo actual. [15] Shou-Bin Dong. The Hierarchical Classification of Web Content by the combination of Textual and Visual features.