Title:
1Sistema de Análisis de Patrones de Navegación
usando Web Mining
- Integrantes
- Víctor Macas
- Fanny Idrovo
- Patricio Alcívar
2Agenda
- Introducción
- Objetivo
- Esquema Básico Minería de Datos
- Fuente de Datos
- Preparación de los Datos
- Métodos de Minería
- Reportes Estadísticos
- Tipos de Reportes
- Conclusiones
3Agenda
- Introducción
- Objetivo
- Esquema Básico Minería de Datos
- Fuente de Datos
- Preparación de los Datos
- Métodos de Minería
- Reportes Estadísticos
- Tipos de Reportes
- Conclusiones
4Introducción
- Los miles de personas que navegan por la Web van
dejando registrados todos sus accesos o visitas
en archivos especiales. - El proyecto analiza el comportamiento del usuario
en un sitio Web usando los conceptos Web Mining
(WM). - WM genera conocimiento.
- El proyecto describe el proceso necesario para
generar conocimiento (patrones de navegación) - Caso Real www.sidweb.espol.edu.ec
5Introducción
- Qué es Web Mining?
- Web Mining es el descubrimiento y análisis de
información útil en la World Wide Web.
6Introducción
- Áreas de enfoque
- Web Mining se clasifica en función de la parte
de la Web que se mina, por tanto existen tres
áreas o enfoques - 1. Minería del contenido de la Web
- 2. Minería de la estructura de la Web
- 3. Minería del uso de la Web
7Introducción
- Minería del contenido de la Web
- Es el descubrimiento de información útil desde
los contenidos textuales y gráficos de los
documentos Web, y tiene sus orígenes en el
procesamiento del lenguaje natural y en la
recuperación de la información.
8Introducción
- Minería de la estructura de la Web
- Es el proceso de descubrir el modelo subyacente a
la estructura de enlaces de la Web y analiza,
fundamentalmente, la topología de los
hipervínculos (con o sin descripción de los
enlaces)
9Introducción
- Minería del uso de la Web
- Es la aplicación de técnicas de minería de datos
para descubrir patrones de acceso (o hábitos)
desde los sitios Web. El principal objetivo es
entender y servir mejor las necesidades de las
aplicaciones basadas en Web.
ltltÁrea de enfoque de la presente Tesisgtgt
10Introducción
- Problema
- Los administradores o empresas que están detrás
de los sitios Web no conocen la existencia de la
información valiosa que se puede obtener
analizando los patrones de movimiento que siguen
sus usuarios dentro del sitio -
-
11Introducción
- Solucion propuesta
- Sistema de análisis de patrones de navegación
usando Web Mining - Aplicacion MineroWeb
- Una herramienta que analiza información útil de
la Web (archivos log de un servidor web) mediante
el uso de técnicas de Web Mining - Reglas de Asociacion
- Secuencia de Patrones
- Clusterizacion
- Reportes estadisticos de trafico del sitio
-
12Agenda
- Introducción
- Objetivos
- Esquema Básico Minería de Datos
- Fuente de Datos
- Preparación de los Datos
- Métodos de Minería
- Reportes Estadísticos
- Tipos de Reportes
- Conclusiones
13Analizar los archivos Log de un servidor Web y
así encontrar patrones de navegación de los
visitantes de un sitio Web, usando técnicas de la
minería de datos.
Objetivos
- Predecir la forma de navegar por el sitio
(Reglas asociación) - Predecir el posible tiempo en que los usuarios
volverán a navegar por ciertas páginas (Patrones
secuenciales) - Agrupar a usuarios por la preferencia entre sus
páginas (Clusterizacion)
14Agenda
- Introducción
- Objetivo
- Esquema Básico Minería de Datos
- Fuente de Datos
- Preparación de los Datos
- Métodos de Minería
- Reportes Estadísticos
- Tipos de Reportes
- Conclusiones
15Esquema básico Minería de datos
16Agenda
- Introducción
- Objetivos
- Esquema Básico Minería de Datos
- Fuente de Datos
- Preparación de los Datos
- Métodos de Minería
- Reportes Estadísticos
- Tipos de Reportes
- Conclusiones
17Fuente de datos
- Materia prima de la Aplicacion
- Log de un servidor Web
200.49.246.36 - - 01/Jan/2006180800 -0500
"GET /images/folder_icons/356.gif HTTP/1.0" 200
1447 200.49.246.36 - - 01/Jan/2006180800
-0500 "GET /images/folder_icons/100.gif
HTTP/1.0" 200 841 200.49.246.36 - -
01/Jan/2006180800 -0500 "GET
/images/lv_esquina3.gif HTTP/1.0" 200
82 200.49.246.36 - - 01/Jan/2006180801 -0500
"GET /images/folder_icons/310.gif HTTP/1.0" 200
1530 200.25.170.92 - - 01/Jan/2006180808
-0500 "GET /private/mycourses/website/folders/ass
ignment/assignment_view.jsp?folderId-2websiteId
948 HTTP/1.1" 200 4531 200.25.170.92 - -
01/Jan/2006180809 -0500 "GET
/images/reply.gif HTTP/1.1" 200 154 200.25.170.92
- - 01/Jan/2006180809 -0500 "GET
/images/open.gif HTTP/1.1" 200 91 200.25.170.92 -
- 01/Jan/2006180817 -0500 "GET
/private/mycourses/website/folders/link_view.jsp?f
olderId19websiteId948 HTTP/1.1" 200
3668 200.25.170.92 - - 01/Jan/2006180819
-0500 "GET /private/mycourses/website/folders/vie
w.js HTTP/1.1" 200 406 200.10.150.20 - -
01/Jan/2006180827 -0500 "GET / HTTP/1.0" 200
18223 200.25.170.92 - - 01/Jan/2006180906
-0500 "GET /private/mycourses/website/folders/for
ums_view.jsp?folderId20websiteId948 HTTP/1.1"
200 4060 200.25.170.92 - - 01/Jan/2006180908
-0500 "GET /images/newdoc.gif HTTP/1.1" 200
870 200.25.170.92 - - 01/Jan/2006180922
-0500 "GET /private/mycourses/website/email/index
.jsp?folderId7websiteId948 HTTP/1.1" 200
6978 200.25.170.92 - - 01/Jan/2006180928
-0500 "GET /servlet/UserPhotoServlet?userCode945
1 HTTP/1.1" 200 6634 252.113.176.247 - -
16/Feb/2006000600 -0500 "GET
/images/KDnuggets_logo.gif HTTP/1.1" 200 784
"http//www.kdnuggets.com/" "Mozilla/4.0
(compatible MSIE 6.0 Windows NT 5.1 SV1
MyIE2)"
Formatos de archivo ELF y CLF
18Ejemplo Log servidor Web
Fuente de datos
Servidor
usuarios
http//www.sidweb.espol.edu.ec/inicio.html
19Fuente de datos
- Ejemplo Una línea del Log
- 152.152.98.11 - - 16/Nov/2005163250 -0500
"GET /jobs/ HTTP/1.1" 200 15140
"http//www.google.com/search?qsalaryfordatami
ninghlenlrstart10saN" "Mozilla/4.0
(compatible MSIE 6.0 Windows NT 5.1 SV1 .NET
CLR 1.1.4322)
20Campo IP152.152.98.11 - - 16/Nov/2005163250
-0500 "GET /jobs/ HTTP/1.1" 200 15140
"http//www.google.com/search?qsalaryfordatami
ninghlenlrstart10saN" "Mozilla/4.0
(compatible MSIE 6.0 Windows NT 5.1 SV1 .NET
CLR 1.1.4322)
Fuente de datos
- 152.152.98.11
- Dirección IP del cliente que accesa
21Fuente de datos
Campo Nombre, Login152.152.98.11 - -
16/Nov/2005163250 -0500 "GET /jobs/
HTTP/1.1" 200 15140 "http//www.google.com/search?
qsalaryfordatamininghlenlrstart10saN"
"Mozilla/4.0 (compatible MSIE 6.0 Windows NT
5.1 SV1 .NET CLR 1.1.4322)
- -
- El nombre del usuario remoto (usualmente
omitido y reemplazado por un -) - -
- Login del usuario remoto
- (tambien usualmente omitido y reemplazado por
- un -)
22Fuente de datos
Campo Fecha/Tiempo/TZ152.152.98.11 - -
16/Nov/2005163250 -0500 "GET /jobs/
HTTP/1.1" 200 15140 "http//www.google.com/search?
qsalaryfordatamininghlenlrstart10saN"
"Mozilla/4.0 (compatible MSIE 6.0 Windows NT
5.1 SV1 .NET CLR 1.1.4322)
Fecha dd/mm/yyy
23Fuente de datos
Campo Pedido152.152.98.11 - -
16/Nov/2005163250 -0500 "GET
/jobs/inicio.html HTTP/1.1" 200 15140
"http//www.google.com/search?qsalaryfordatami
ninghlenlrstart10saN" "Mozilla/4.0
(compatible MSIE 6.0 Windows NT 5.1 SV1 .NET
CLR 1.1.4322)
- "GET /jobs/inicio.html/ HTTP/1.1"
Metodo GET HEAD POST
Protocolo HTTP Ej HTTP/1.0 o HTTP/1.1
URL Relativo al dominio
24Fuente de datos
Campo Codigo estado152.152.98.11 - -
16/Nov/2005163250 -0500 "GET /jobs/
HTTP/1.1" 200 15140 "http//www.google.com/search?
qsalaryfordatamininghlenlrstart10saN"
"Mozilla/4.0 (compatible MSIE 6.0 Windows NT
5.1 SV1 .NET CLR 1.1.4322)
- 200
- Codigo de estado (respuesta).
- Mas importantes son
- 200 OK (mas frecuente)
- 206 acceso parcial
- 301 permanentemente redireccionado
- 302 temporalmente redireccionado
- 304 no modificado
- 404 no encontrado
25Fuente de datos
Campo Referrer152.152.98.11 - -
16/Nov/2005163250 -0500 "GET /jobs/
HTTP/1.1" 200 15140 "http//www.google.com/search?
qsalaryfordatamininghlenlrstart10saN"
"Mozilla/4.0 (compatible MSIE 6.0 Windows NT
5.1 SV1 .NET CLR 1.1.4322)
- http//www.google.com/search?qsalaryfordatamin
inghlenlrstart10saN - URL del visitante desde donde vino a mi página
26Fuente de datos
Campo User Agent152.152.98.11 - -
16/Nov/2005163250 -0500 "GET /jobs/
HTTP/1.1" 200 15140 "http//www.google.com/search?
qsalaryfordatamininghlenlrstart10saN"
"Mozilla/4.0 (compatible MSIE 6.0 Windows NT
5.1 SV1 .NET CLR 1.1.4322)
- "Mozilla/4.0 (compatible MSIE 6.0 Windows NT
5.1 SV1 .NET CLR 1.1.4322) - User agent (browser)
27Agenda
- Introducción
- Objetivo
- Esquema Básico Minería de Datos
- Fuente de Datos
- Preparación de los Datos
- Métodos de Minería
- Reportes Estadísticos
- Tipos de Reportes
- Conclusiones
28Preparación de los Datos
Limpieza
- Un registro válido debe
- Todos los campos deben ser diferente al valor
null. - El campo CodEstado debe tener alguno de los
valores válidos para nuestro análisis. - El campo NombreArchivo debe almacenar un tipo de
archivo diferente a jpg, bmp, gif, exe, js, css,
pdf, doc, txt. - Si se considera como registro válido es
almacenado en la tabla Registro_Log con su
respectivo id.
29Preparación de los Datos
Sesionización
- Identificación de usuarios
- Identificación de páginas
- Registrar sesiones en tablas de acuerdo a usuario
y tiempo. - Cada sesión tiene un usuario
- Un usuario puede tener varias sesiones
- La sesión esta limitada por el tiempo de
sesionización. - Formato resumido, rápida adaptación a algoritmos.
30Agenda
- Introducción
- Objetivo
- Esquema Básico Minería de Datos
- Fuente de Datos
- Preparación de los Datos
- Métodos de Minería
- Reportes Estadísticos
- Tipos de Reportes
- Conclusiones
31Reglas de Asociación
Encontrar las asociaciones que se producen entre
los diferentes sitios de la página Web cuando los
usuarios acceden a ésta.
32Reglas de Asociación
X ? Y /public/about.jsp ----gt/public/team.jsp
Soporte Soporte (X ? Y) Probabilidad (X U
Y) Confianza Confianza (X ? Y) Probabilidad
(X / Y)
33Reglas de Asociación
34Reglas de Asociación
Preparación de Data
Registro_Log
Registro_Paginas_Site
Registro_Sesion
35Reglas de Asociación
Generación Matriz
Sesión / Página 1 2 3 4 5 .. páginas
1 0 1 0 1 0 .. 0
2 1 0 1 1 0 .. 0
3 1 1 0 1 0 .. 0
4 0 1 1 1 0 .. 0
5 1 0 0 0 0 .. 0
6 0 1 0 0 1 .. 0
.. 0
.. 0
sesiones 0 1 0 1 0 .. 0
36Reglas de Asociación
Algoritmo Apriori (matriz , soporte, confianza)
Usa conocimiento a priori de las propiedades de
los ítems (páginas) frecuentes que ya se han
encontrado. Si un conjunto no puede pasar un
test, todos sus súper conjuntos también fallarán
el mismo test
37Patrones Secuenciales
Descubrir patrones en los cuales la presencia de
un conjunto de ítems es seguido por otro ítem en
orden temporal. Encontrar y predecir el
comportamiento de los visitantes de un sitio Web
con respecto al tiempo.
38Patrones Secuenciales
x1?x2?x3 ? y1?y2 en t días
/public/team.jsp -gt----gt/public/findUsers.jsp-gt
/private/mycourses/website/folders/assignment/assi
gnment_view.jsp-gt /public/portalDocument.js en 2
dias
Soporte Soporte (X ? Y) Probabilidad (X U
Y) Confianza Confianza (X ? Y) Probabilidad
(X / Y)
39Patrones Secuenciales
40Patrones Secuenciales
Generación Matriz
Página / Página 1 2 3 4 5 .. páginas
1 0 30 0 1 0 .. 0
2 4 0 48 34 6 .. 0
3 5 1 0 1 40 .. 0
4 0 32 3 0 6 .. 0
5 27 0 0 74 0 .. 0
6 0 1 0 0 4 .. 0
.. 0
.. 0
páginas 0 20 0 1 0 .. 0
- TMi,j representa el número de veces que los
usuarios han visitado la página j después de la
página i. - Umbral
Página / Página 1 2 3 4 5 .. páginas
1 0 30 0 0 0 .. 0
2 0 0 48 34 0 .. 0
3 0 0 0 0 40 .. 0
4 0 32 0 0 0 .. 0
5 27 0 0 74 0 .. 0
6 0 0 0 0 0 .. 0
.. 0
.. 0
páginas 0 20 0 0 0 .. 0
- FTM caminos frecuentes
- Si un 2-camino(camino con 2 páginas) no es
frecuente un 3-camino(camino con 3 páginas) del
que sea subcamino el 2-camino tampoco lo será
(propiedad Apriori).
41Patrones Secuenciales
Generación FBP-Árbol (Matriz FTM, Lista de
Caminos)
42Patrones Secuenciales
Algoritmo Patrones (FBP-Arbol, soporte, confianza)
- La confianza de una regla de comportamiento-frecue
nte se representa como conf(PIND ? PDEP) y
define la probabilidad de recorrer el camino PDEP
una vez se ha recorrido el camino PIND. - Se recorre el árbol desde las hojas al nodo raíz.
- Teniendo en cuenta el soporte de cada camino las
reglas se son calculados como sigue. - Buscar en hojas el punto de ruptura.
- Si la hoja no es Punto ruptura, ir a hoja
anterior. - Si la hoja es Punto Ruptura, calcular confianza.
- Si conf gt confianza, genera Patrón
- Si conf lt confianza, podar rama de árbol.
43Clusterización
Encontrar entre los distintos visitantes grupos
con características similares de navegación
Web. Proporciona como salida k conjuntos de
patrones sobre las características similares de
navegación (páginas visitadas) de los usuarios.
44Clusterización
Cluster 1 /js/tiny_mce/blank.htm /js/tiny_mce/the
mes/advanced/color_picker.htm Cluster
2 /js/tiny_mce/profiles/blank.htm
45Clusterización
46Clusterización
Generación Matriz
Usuario / Página 1 2 3 4 5 .. páginas
1 0 1 0 1 0 .. 0
2 1 0 1 1 0 .. 0
3 1 1 0 1 0 .. 0
4 0 1 1 1 0 .. 0
5 1 0 0 0 0 .. 0
6 0 1 0 0 1 .. 0
.. 0
.. 0
Usuarios 0 1 0 1 0 .. 0
Mi,j representa al usuario i visitando la
página j en algunas de las sesiones iniciadas por
el usuario i.
47Clusterización
Algoritmo K-Medias (Matriz, soporte)
Usuario / Página 1 2 3 4 5 .. páginas
1 0 1 0 1 0 .. 0
2 1 0 1 1 0 .. 0
3 1 1 0 1 0 .. 0
4 0 1 1 1 0 .. 0
5 1 0 0 0 0 .. 0
6 0 1 0 0 1 .. 0
.. 0
.. 0
Usuarios 0 1 0 1 0 .. 0
4. Repetir los pasos 2 y 3 hasta que los
centróides no varíen
48Agenda
- Introducción
- Objetivo
- Esquema Básico Minería de Datos
- Fuente de Datos
- Preparación de los Datos
- Métodos de Minería
- Reportes Estadísticos
- Tipos de Reportes
- Conclusiones
49Reportes Estadísticos
Objetivos
- Análisis del sitio Web
- Links o páginas mas visitados
- Cantidad de usuarios que visitan el sitio Web
- La descarga de bytes de nuestro sitio Web
- Mejorar el sitio Web
50Agenda
- Introducción
- Objetivo
- Esquema Básico Minería de Datos
- Fuente de Datos
- Preparación de los Datos
- Métodos de Minería
- Reportes Estadísticos
- Tipos de Reportes
- Conclusiones
51Tipos de Reporte
- Urls externos
- Tiempo de visita
- Tipo de navegador
- Cantidad de usuarios que visitan el sitio
- Bytes de descarga de las paginas
- Número de visitas por página
52Tipos de Reporte
- Tipos de Reporte
- Fecha de Rango
53Tipos de Reporte
- Tipos de Reporte
- Fecha de Rango
54Tipos de Reporte
55Tipos de Reporte
- Tiempos de visita por página
56Tipos de Reporte
- Tiempos de visita por página
57Tipos de Reporte
- Tipo de navegador y Sistema operativo
58Tipos de Reporte
- Bytes de descarga de las páginas
59Tipos de Reporte
- Número de visitas por página
60Agenda
- Introducción
- Objetivo
- Esquema Básico Minería de Datos
- Fuente de Datos
- Preparación de los Datos
- Métodos de Minería
- Reportes Estadísticos
- Tipos de Reportes
- Conclusiones
61Conclusiones
- La aplicación permite analizar los archivos log
de un servidor Web encontrando patrones de
navegación de los visitantes del sitio Web. - Basándose en los accesos de los usuarios se
encontró asociaciones entre los diferentes sitios
de la página Web definidas en las reglas
encontradas. - Con los patrones secuenciales encontrados se
puede predecir el comportamiento de los
visitantes con respecto al tiempo. - Se encontró grupos de paginas con características
similares con el método de clusterización. - Tomar decisiones
- Mejoras del Sitio Web
- Segmentación del sitio Web.
- Búsqueda fácil de la información
- Marketing - competitivos
- Conocer gustos del cliente.
- Mejorar o crear ofertas según el cliente
62GRACIAS
63(No Transcript)
64Demostración del Sistema