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.

Documents pareils