1. Escuela de Ciencias de la Computación, Universidad Técnica Particular de Loja
MINERÍA DE USO WEB APLICADA A LOS ARCHIVOS LOGS DEL
SERVIDOR PROXY DE LA UTPL, PARA OBTENER PATRONES DE USO
GENERALES Y ESPECÍFICOS
Roberth G Figueroa Díaz 1
- Janneth A Chicaiza Espinosa2
Marzo 2008
Universidad Técnica Particular de Loja-Escuela de Ciencias de la Computación
1
UTPL, Loja-Ecuador, rgfigueroa@utpl.edu.ec
2
UTPL, Loja-Ecuador, jachicaiza@utpl.edu.ec
Resumen ⎯ En el presente estudio se explora y analiza los
archivos logs del servidor proxy de la UTPL, para encontrar
patrones ocultos y registrar la actividad de los usuarios que
navegan por internet dentro del campus universitario. Se
aplica el proceso de Minería de Uso Web, el cual, va desde
la definición de objetivos, preprocesamiento y aplicación de
técnicas de Minería de Datos y algoritmos propuestos en
áreas tales como Inteligencia Artificial, Estadística y
Aprendizaje Automático para dar soporte a la toma de
decisiones. Finalmente se presentan los resultados obtenidos
durante la investigación, la importancia del conocimiento y
reglas obtenidas para aplicarlas en futuros proyectos que
beneficien a la UTPL.
Palabras Claves ⎯ Descubrimiento de Conocimiento en
Bases de Datos (Knowledge Discovery in Databases, KDD),
Minería de Datos(Data Mining, DM), Minería Web (Web
Mining, WM), Minería de Uso Web (Web Usage Mining,
WUM), Clasificación, Agrupamiento, Metodología WUM,
Algoritmos C4.5, Algoritmo Cobweb, EM, preprocesamiento
de logs, NNge, OneR,Perceptron Multicapa (Multilayer
Perceptron, MLP) archivos logs comunes, archivos logs
extendidos, heurística de sesión.
INTRODUCCIÓN
Sin duda alguna el uso de internet hoy por hoy es uno de los
recursos indispensables en cualquier organización, bien, si
desea incrementar su competitividad, existir en el mercado o
simplemente sobrevivir a nuevos cambios. Para ello, es
necesario el determinar a nivel específico qué usuarios
necesitan privilegios al momento de acceder a este servicio
cada vez más necesario.
Las bases presentes en el proceso de Descubrimiento de
Conocimiento en Bases de Datos (Knowledge Discovery in
Databases, KDD), Minería de Datos (Data Mining, DM) y el
reciente interés por investigadores en la Minería Web (Web
Mining, WM), han despertado un alto interés y nuevas
investigaciones en este último campo que se enfoca hacia
tres ejes como lo son: la Minería de Uso Web, la Minería de
Contenido y Minería de Estructura Web [Baeza-Yates &
Pobrete, 2005], como se ilustra en la Figura 1. Las cuales
prestan grandes ventajas competitivas a la hora de ser
aplicadas de manera coordinada y efectiva [Orallo et al,
2004] dentro de cualquier organización.
FIGURA 1.
CLASIFICACIÓN DE LA MINERÍA WEB [ORALLO ET AL, 2004]
La Minería Web (Web Mining, WM) que es aquella Minería
de Datos enfocada a la web y en especial la Minería de Uso
Web (Web Usage Mining, WUM) dedicada exclusivamente
al uso, que consiste en el estudio de la información
almacenada en ficheros logs, cookies (información en un
archivo de texto almacenada por el sitio web en el cliente
para próximas visitas), generados automáticamente en el
servidor por el acceso a la internet (servidor proxy). A los
que hay que aplicar un preprocesamiento para recolectar la
información idónea para el análisis y estudio, permitiendo
encontrar conocimiento esencial y potencialmente útil para
la toma de decisiones, a través de técnicas de Minería de
Datos, sean bien supervisadas o no supervisadas.
El objetivo que tiene la presente investigación es: identificar
patrones de uso general y específico de los usuarios del
servidor proxy del campus de la UTPL, a través de la
Minería de Uso Web, para dar soporte a la toma de
decisiones; lo cual permitirá, identificar diversos grupos de
usuarios dentro de la intranet para redistribuir el servicio
dentro del campus de la UTPL dependiendo del rol o tipo de
usuario. Además permitirá conocer cuál es la interactividad
de los usuarios que acceden a este servicio, así como el
ancho de banda consumido en las diversas sesiones.
2. Escuela de Ciencias de la Computación, Universidad Técnica Particular de Loja
FIGURA 2.
AMAZON.COM [BERENDT, 2005]
Cabe mencionar que el sitio de mayor interés e investigación
en un entorno abierto como el web, es Amazon.com, tienda
virtual, que ha implementado sistemas recomendadores3
,
basados en la utilización de técnicas de minería de datos y
es especial WUM, como reglas de asociación para efectuar
una recomendación a usuarios similares dependiendo de los
diversos productos solicitados [Orallo et al, 2004]. En la
Figura 2, se puede ver como a un usuario se recomienda un
listado de libros similares luego de haber adquirido uno, lo
cual, mejora la interoperabilidad entre sistema – usuario para
incrementar beneficios a la tienda virtual.
Otros casos similares donde la WUM ha tenido presencia es:
• En eBay y la mencionada en el sistema FireFly
[Zorrilla, 2006] que se basa en métodos
colaborativos para recomendar música a usuarios,
obteniendo puntuaciones de una muestra y
grabaciones del usuario X. Busca otros usuarios Y
que tengan un patrón de gusto similar a X.
Recomienda a X los artistas y grabaciones
preferidas de los Y (el contenido es ignorado; aún
así los resultados son bastantes buenos).
• Situaciones similares se han presentado en
[Chakrabarti, 2003], en el que se combina métodos
colaborativos con métodos de contenido para
recomendar películas.
• Existen además, casos parecidos en [Garre et al,
2003], donde se modela a través de técnicas de
minería de datos y en especial WUM para sistemas
de E-Learninig, E-Business y Learning 2.0 como
tendencia última.
DESARROLLO
3
Sistemas que presentan sugerencias a los visitantes tomando en cuenta
características de las preferencias de usuarios con gustos afines.
Para llevar a cabo un proyecto de Minería de Uso de la Web,
es necesario seguir un proceso perfectamente definido como
el ilustrado en la Figura 4, presentado en [Daedalus, 2002],
el cual va desde la definición de los objetivos, recolección de
datos, preprocesado, y análisis de patrones, cuyas fases son
las siguientes:
1. Establecimiento de objetivos
2. Recolección de datos
3. Limpieza de datos
4. Identificación de transacciones
5. Integración de datos
6. Transformación
7. Descubrimiento de patrones
8. Análisis de patrones
Además el preprocesamiento de Logs es una fase especial en
la que se participan varias de las fases antes nombradas.
Preprocesamiento de Logs
FIGURA 3.
PREPROCESADO DE ARCHIVOS LOGS
IDENTIFICACION
DE
TRANSACCIONESLIMPIEZA DE DATOS
RECOLECCION DE
DATOS
Access.log
Refer.log
UserAgent.log
INTEGRACION
Access.pl
Refer.pl
UserAget.pl
Preprocesado
con
WUMPREP
AccesosRealizados.csv
La Figura 3, representa el preprocesamiento de logs seguido,
fase de Recolección de Datos, Limpieza de Datos,
Integración de Datos, Identificación de Transacciones para
finalmente obtener el archivo final AccesosRealizados.csv, al
cual se aplicará los diversos Algoritmos tanto supervisados
como no supervisados.
A continuación se describe las fases con mayor detalle.
ESTABLECIMIENTO DE OBJETIVOS
Como en todo proyecto a desarrollar se define los objetivos
a cubrir, en la presente investigación los objetivos fueron:
• Definición de grupos de usuarios que acceden al
servidor proxy de la UTPL a través de técnicas de
agrupamiento
• Obtención de estadísticas del servicio prestado por
el servidor proxy de la UTPL
3. Escuela de Ciencias de la Computación, Universidad Técnica Particular de Loja
• Aplicar técnicas de clasificación a los datos
obtenidos luego de realizado el agrupamiento.
• Comparativa de los diversos resultados obtenidos
por la aplicación de Algoritmos tanto de
agrupamiento y de clasificación.
FIGURA 4.
PROCESO DE MINERÍA DE USO WEB [DAEDALUS, 2002]
FIGURA 5.
CAMPOS RECOLECTADOS DEL SERVIDOR PROXY UTPL
1182495142.783 4 172.16.3.12 TCP_CLIENT_REFRESH_MISS/304 289
GET http://www.utpl.edu.ec/images/ico-izq.gif - DIRECT/200.0.31.66 -
1182495143.560 1 172.16.3.12 TCP_CLIENT_REFRESH_MISS/304 290
GET http://www.utpl.edu.ec/images/direc.gif - DIRECT/200.0.31.66 -
1182495210.736 1267 172.16.13.226 TCP_MISS/200 3286 CONNECT
login.live.com:443 - DIRECT/65.54.179.203 -
1182495211.141 404 172.16.13.226 TCP_MISS/200 501 POST
http://207.46.106.55/gateway/gateway.dll? – DIRE 1182495243.210 1
172.16.3.12 TCP_MISS/304 291 GET http://www.utpl.edu.ec/images/btn-
ri-9.gif - DIRECT/200.0.31.66 -
RECOLECCIÓN DE DATOS
El servidor proxy Squid en su versión 2.6, por defecto
utiliza el formato Archivos Logs Comunes (Common Log
File, CLF ), pero además soporta el formato Archivos Logs
Extendidos (Extend Log File, ELF) realizando algunas
configuraciones adicionales. En el presente estudio se utilizó
los Logs en Formato Extendido (Access.log, Refer.log,
UserAgent.log) donde se recopilaba información interesante
la cual se visualiza en la Figura 5.
Además es necesario conocer diversos conceptos entre los
que se tiene:
• Métodos y Http Status
• Mime Type
• Encriptado de la fecha y hora
Esto con el afán de comprender la información recolectada y
aprovecharla al máximo en el proyecto.
Los datos con los que se realizó la investigación
corresponden a 200 millones de peticiones,
correspondientes a los meses de Octubre 2007, Noviembre
2007 y Enero 2008, con un tamaño aproximado de 9,1 GB
de datos pertinentes.
LIMPIEZA DE DATOS
El conjunto de datos recolectados será sometido a una fase
de limpieza, como se describe a continuación:
• Extracción y ordenamiento de atributos
Para la limpieza de los archivos logs se ha utilizado
scripts en Perl porque es un lenguaje con gran soporte y
flexibilidad para trabajar con archivos de texto de gran
tamaño, definidos específicamente para los archivos
recolectados relevantes. En esta fase se examina los
campos de cada log y transforma a un formato más
comprensible se procede a la integración de la
información de los logs Access.log, Refer.log,
UserAgent.log a uno solo que se denominó
AccesosRealizados.csv
• Eliminación de peticiones duplicadas e
irrelevantes
Los accesos realizados correspondientes al tiempo ya
indicado no sólo contiene información de páginas
accedidas sino también peticiones a imágenes (.jpg,
jpeg,png, etc), peticiones a video (.flv, mov, etc),
animaciones (.swf,.flash, etc), audio (.mp3), peticiones a
páginas reales y embebidas4
, robots, indexadores entre
otros.
Estas peticiones secundarias no son importantes para el
análisis propuesto, desviando la objetividad del mismo;
por tal motivo, se deben remover éstas, trabajo que lo
realiza el LogFilter.pl de la suite de WumPrep, debiendo
realizar modificaciones señaladas en los tipos de
archivos a eliminar. Este script LogFilter.pl permite
filtrar un archivo log de acuerdo a las indicaciones que
se realice entre las que están eliminar datos duplicados
especificados por tiempo o por extensión de la solicitud
existente en el archivo.
4
Páginas que son cargadas automáticamente cuando se hace referencia a un
determinado sitio, estas páginas pueden ser refencias a imágenes, video,
otras páginas animaciones, entre otras.
4. Escuela de Ciencias de la Computación, Universidad Técnica Particular de Loja
• Eliminación de Robots
En esta fase se ejecuta la limpieza de peticiones dejadas
por agentes externos como buscadores, spiders,
indexadores, robots ya que dificultarían la tarea de
minería. Luego de realizar las modificaciones
pertinentes el script removeRobots.pl de la suite
WumPrep nos facilita tal tarea.
IDENTIFICACIÓN DE TRANSACCIONES Y
SESIONALIZACIÓN
Ahora bien, luego de tener las peticiones que realmente
representan la interactividad de los usuarios del servidor
proxy de la UTPL (log ya preprocesado obteniendo 240 000
peticiones reales listas para sesionalizar) en el tiempo antes
mencionado de 3 semanas, se procede a realizar la
identificación de sesiones, tomando en cuenta los siguientes
campos para identificar usuarios únicos que acceden a
ciertos sitios o páginas web:
TABLA 1.
CAMPOS UTILIZADOS PARA IDENTIFICAR UNA SESIÓN
SESION UNICA
IP
USUARIO
NAVEGADOR
Como se puede ver en la tabla los campos que se consideran
críticos para identificar usuarios únicos son: la Dirección IP,
el USUARIO y el NAVEGADOR, en vista que, dentro del
campus universitarios existen salas de práctica libre donde
varios usuarios acceden a la internet desde diversas
máquinas o ubicaciones dentro del campus, que a su vez
varían de dirección IP debido a la presencia de un servidor
DHCP, implantado para tal cometido. Además se considera
que existe más de un navegador instalado en cada máquina,
lo cual, puede alterar la realidad de cada sesión.
El tiempo que se consideró para determinar una sesión5
fue de 30 minutos, heurística numérica, que mayor
aplicabilidad ha tenido [Zorrilla, 2006] y se apega a la
realidad de la UTPL. Las sesiones son identificadas por el
archivo sessionize.pl que implementa la lógica antes
mencionada
La cantidad final de sesiones que se determinó fue de 2730
sesiones válidas sobre las cuales se basó el presente estudio.
Las peticiones luego de ser sesionalizadas quedan de la
siguiente forma:
5
Conjunto sucesivo de páginas accedidas por un usuario en un tiempo
especificado
FIGURA 6.
CAMPOS OBTENIDOS A LOS CUALES SE APLICARA LA MINERÍA DE DATOS
INTEGRACIÓN DE DATOS Y TRANSFORMACIÓN
Para determinar que indicadores se puede obtener desde los
datos recogidos se ha realizado la obtención de algunos
atributos derivados, tal es el caso del los campos:
• Nivel de consumo Ancho de Banda, campo
CONSUMO_AB.
• Nivel de interacción de cada sesión, campo
INTERACCION.
• Nivel de Usuario basado por sesión, campo
NIVEL_USUARIO
Estos campos serán útiles para aplicar los diversos
algoritmos tanto en tareas de agrupamiento como de
clasificación.
DESCUBRIMIENTO Y ANÁLISIS DE PATRONES
Por motivos de procesamiento y empleo de recursos se
aplica muestreo aleatorio simple y sistemático para la
selección de la muestra; se consideró un nivel de confianza
del 95% .
La ecuación empleada fue:
)()1(
)(
22
2
PQNE
PQN
n
∂+−
∂
=
Donde n será la muestra calculada, ∂ el grado de
confiabilidad de la muestra (se utilizó el 95% de
confiabilidad), P la probabilidad de acierto y Q probabilidad
de no acierto (en el caso particular será 50% para P y 50%
para Q. Este valor de 50% se utiliza debido a que no existe
ningún estudio previo que permita conocer como se
encuentran dispersos los datos). N es la población (2730
sesiones) y E el error (5%)
Luego que se ha obtenido la muestra se realiza la fase de
descubrimiento de patrones y se experimento con los
diversos algoritmos. En la tarea de Clustering se
experimento con los algoritmos Cobweb (clustering
conceptual), k-medias y Expectación Maximización (EM).
5. Escuela de Ciencias de la Computación, Universidad Técnica Particular de Loja
Con respecto a la Clasificación se experimento con OneR,
algoritmo NNge (vecino más cercano), el C4.5 o J48 en
weka y con el algoritmo Perceptrón Multicapa perteneciente
al campo de las Redes Neuronales
A continuación se presenta la entrada y los resultados
obtenidos de la aplicación de cada tarea.
Clustering
Entrada:
Campos pertinentes para la obtención de los mejores
resultados con el algoritmo EM.
TABLA 2.
ATRIBUTOS UTILIZADOS EN EL ALGORITMO EM
Cabe indicar que los datos de la TABLA 2 tuvieron que
cambiar de acuerdo a cada algoritmo utilizado, ya que
algunos campos son de diferente tipo de dato y no se adaptan
a la realidad de cada algoritmo como el Cobweb que es un
clúster conceptual y difiere con el algoritmo k-medias y EM.
Resultados:
Como se ve en la Figura 7, se observa cada grupo
encontrado con el algoritmo EM, además la Figura 8 permite
un entendimiento más preciso de cada grupo identificado
mediante el algoritmo EM.
FIGURA 7.
APLICACIÓN DEL ALGORITMO EM
FIGURA 8.
RESULTADO CON EL ALGORITMO EM
Los grupos identificados corresponden a cada uno de los
clúster hallados donde se puede ver el porcentaje de
representatividad dentro de todos los accesos a través del
proxy. Además cada Clúster tiene un nombre de acuerdo a
su característica, por ejemplo el Grupo de Servicios UTPL,
corresponden a usuarios que tienen acceso a recursos de la
universidad como: correo, EVA, Sistema académico,
academias entre otras; con un total del 19% de
representatividad dentro de todos los accesos al proxy.
Situación similar corresponde a cada uno de los restantes
grupos.
Clasificación
Entrada:
Los campos utilizados para la clasificación mediante el
algoritmo Perceptrón Multicapa, se muestran a continuación:
TABLA 2.
ATRIBUTOS UTILIZADOS EN EL ALGORITMO J48
Resultados:
El resultado obtenido de aplicar MLP (Perceptrón multicapa)
a los datos fue de 95.55%, superior que los resultados
obtenidos con los algoritmo J48, OneR y NNge. La
arquitectura de la Red prestó las mejores ventajas con un
numero de 29 neuronas de entrada, dos capas ocultas de 16
neuronas cada una y en la salida 3 neuronas, según los nivel
de clasificación Avanzado, Medio, Básico. La arquitectura
se la presenta a continuación:
NOMBRE DEL ATRIBUTO DESCRIPCIÓN
IP_CLIENTE Dirección desde donde se solicita
una URL
SIS_OP Nombre del Sistema Operativo
utilizado
BROWSER Nombre del navegador utilizado
para solicitar la URL
URL Dirección solicitada
USUARIO Nombre de Usuario de Sesión
NOMBRE DEL ATRIBUTO DESCRIPCIÓN
HORA_SOL Número de Hora en la que se solicitó
una petición
STATUS Número de Status de la petición
realizada
BYTES_AL_CLENTE Número de bytes devueltos al
solicitante de la petición
BROWSER Nombre del Navegador
TIPO_ACCESO Tipo URL asignado (agrupación de
urls afines)
NIVEL_USUARIO Nivel o tipo de usuario definido
(BAJO, MEDIO,ALTO), campo
derivado del Atributo
INTERACTIVIDAD y
CONSUMO_AB
6. Escuela de Ciencias de la Computación, Universidad Técnica Particular de Loja
FIGURA 9.
ARQUITECTURA DEL ALGORITMO MLP
Además al aplicar el algoritmo J48 se obtuvo el valor de
clasificación de 94,3%, en contraposición a los valores
encontrados con la aplicación del algoritmo NNge que fue
del 78% y del OneR del 83,9 %. Con lo cual se dedujo reglas
importantes que pueden ser implementadas a través de un
agente inteligente que permita clasificar a cada uno de los
usuarios que acceden a través del servidor proxy de la
UTPL. Permitiendo conocer el nivel de cada usuario y
asignándole una descripción sea Avanzado, Medio, Básico
dependiendo del consumo de ancho de banda, hora de
acceso, browser empleado, bytes consumidos y nivel de
interactividad.
El cuadro comparativo de las diversas clasificaciones con los
algoritmos se muestra en la Figura 10. Como ya se comento
el Perceptrón Multicapa presento mejores resultados.
CONCLUSIÓN
• En la tarea de Agrupamiento se pudo determinar 6
grupos de usuarios que acceden al servidor proxy de la
UTPL a través del algoritmo EM, el Grupo Servicios
UTPL, tiene una representatividad del 19% del total de
accesos. Así mismo, en la tarea de clasificación a través
del algoritmo Perceptrón Multicapa, se pudo determinar
el NIVEL de USUARIO por sesión: AVANZADO,
MEDIO, BASICO con un valor de clasificación del
95,6%; para conocer que sesiones y usuarios son los que
tienen un mayor consumo de ancho de banda e
interactividad. Lo que permitió determinar la arquitectura
de Red Neuronal que puede ser implementada en un
sistema transaccional para clasificar el Nivel de Usuario
y asignar un Ancho de Banda pertinente de acuerdo a la
realidad de cada usuario.
• Los datos obtenidos para el presente estudio permitieron
demostrar la realidad que suceden a través del servidor
proxy de la UTPL como estadísticas en cuanto a accesos
por semana, ranking de sitios visitados, así como
identificar indicadores, INTERACCION, CONSUMO
DE ANCHO DE BANDA, NIVEL DE USUARIO,
claves que permitieron avanzar con el estudio
• La heurística utilizada para sesionalización, fue de 30
minutos como lo explica en [Tanasa, 2005] para
proyectos de WUM, por lo cual, se la utilizó y los
resultados son favorables ya que se acoge a la realidad de
los accesos de la mayoría de usuarios.
REFERENCIAS
[Baeza-Yates & Pobrete, 2005] Baeza-Yates,R.; Pobrete, B.
“Una herramienta de minería de consultas para el diseño del
contenido y la estructura de un sitioWeb” Actas del III
Taller Nacional de Minería de Datos y Aprendizaje
TAMIDA2005, pp.39-48.2005.
[Orallo et al, 2004] Orallo, José H; Ramírez, María J; Ferri,
César; “Introducción a la Minería de Datos”. Pearson
Education S.A. Madrid 2004.
[Berendt, 2005] Berendt,Bettina.”From Web Usage Analysis
to Semantic Web Mining”.Universidad de Berlin.2005.
[Chakrabarti, 2003] Chakrabarti, Soumen. “Mining the Web:
Discovering Knowledge from Hypertext Data”. Indian
Institute of Technology.2003.
[Daedalus, 2002] Daedalus S.A.” White Paper”. Madrid.
España. 2002.
[Garre et al, 2003] Garre, Miguel.; Cuadrado,Juan.; Sicilia,
Miguel. “Comparación de diferentes algoritmos de
clustering en la estimación de coste en el desarrollo de
software”. Univerisidad de Alcalá. Barcelona. España. 2003.
[Tanasa, 2005] Tanasa,Doru.”Web Usage Mining:
Contributions to Intersites Logs Preprocessing and
Sequential Pattern Extraction with Low Support”. Universite
de Nice Sophia Antipolis. Tesis Doctoral. Junio 2005.
[Zorrilla, 2006] Zorrilla, Marta. “Introducción al Web
Mining”. Universidad de Cantabria. 2006.
INDICADOR ALGORITMO RESULTADOS
INSTANCIAS
CORRECTAS
INSTANCIAS
INCORRECTAS
NIVEL
USUARIO
J48 (C4.5) 94.3 % 5.7 %
NIVEL
USUARIO
NNge ( Nearest
Neighbor)
78 % 22 %
NIVEL
USUARIO
OneR 83,9 % 16,1 %
NIVEL
USUARIO
Perceptrón
Multicapa
(MLP)
95,5% 4,5%