1 / 64

“Sistema de Análisis de Patrones de Navegación usando Web Mining”

“Sistema de Análisis de Patrones de Navegación usando Web Mining”. Integrantes Víctor Macas Fanny Idrovo Patricio Alcívar. Agenda. 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

tariq
Download Presentation

“Sistema de Análisis de Patrones de Navegación usando Web Mining”

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. “Sistema de Análisis de Patrones de Navegación usando Web Mining” Integrantes Víctor Macas Fanny Idrovo Patricio Alcívar

  2. Agenda • 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

  3. Agenda • 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

  4. Introducció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

  5. Introducción Qué es Web Mining? Web Mining es el descubrimiento y análisis de información útil en la World Wide Web.

  6. Introducció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

  7. Introducció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.

  8. Introducció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)

  9. Introducció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. <<Área de enfoque de la presente Tesis>>

  10. Introducció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

  11. Introducció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

  12. Agenda • 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

  13. Analizar 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)

  14. Agenda • 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

  15. Esquema básico: Minería de datos Datos Iniciales .log .log .log .log .log .log .log

  16. Agenda • 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

  17. Fuente de datos Materia prima de la Aplicacion: Log de un servidor Web 200.49.246.36 - - [01/Jan/2006:18:08:00 -0500] "GET /images/folder_icons/356.gif HTTP/1.0" 200 1447 200.49.246.36 - - [01/Jan/2006:18:08:00 -0500] "GET /images/folder_icons/100.gif HTTP/1.0" 200 841 200.49.246.36 - - [01/Jan/2006:18:08:00 -0500] "GET /images/lv_esquina3.gif HTTP/1.0" 200 82 200.49.246.36 - - [01/Jan/2006:18:08:01 -0500] "GET /images/folder_icons/310.gif HTTP/1.0" 200 1530 200.25.170.92 - - [01/Jan/2006:18:08:08 -0500] "GET /private/mycourses/website/folders/assignment/assignment_view.jsp?folderId=-2&websiteId=948 HTTP/1.1" 200 4531 200.25.170.92 - - [01/Jan/2006:18:08:09 -0500] "GET /images/reply.gif HTTP/1.1" 200 154 200.25.170.92 - - [01/Jan/2006:18:08:09 -0500] "GET /images/open.gif HTTP/1.1" 200 91 200.25.170.92 - - [01/Jan/2006:18:08:17 -0500] "GET /private/mycourses/website/folders/link_view.jsp?folderId=19&websiteId=948 HTTP/1.1" 200 3668 200.25.170.92 - - [01/Jan/2006:18:08:19 -0500] "GET /private/mycourses/website/folders/view.js HTTP/1.1" 200 406 200.10.150.20 - - [01/Jan/2006:18:08:27 -0500] "GET / HTTP/1.0" 200 18223 200.25.170.92 - - [01/Jan/2006:18:09:06 -0500] "GET /private/mycourses/website/folders/forums_view.jsp?folderId=20&websiteId=948 HTTP/1.1" 200 4060 200.25.170.92 - - [01/Jan/2006:18:09:08 -0500] "GET /images/newdoc.gif HTTP/1.1" 200 870 200.25.170.92 - - [01/Jan/2006:18:09:22 -0500] "GET /private/mycourses/website/email/index.jsp?folderId=7&websiteId=948 HTTP/1.1" 200 6978 200.25.170.92 - - [01/Jan/2006:18:09:28 -0500] "GET /servlet/UserPhotoServlet?userCode=9451 HTTP/1.1" 200 6634 252.113.176.247 - - [16/Feb/2006:00:06:00 -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

  18. Contenido página Log servidor Web 152.152.98.11 - - [16/Nov/2005:16:32:50 -0500] "GET … HTTP/1.1" 200 152.152.98.11 - - [16/Nov/2005:16:32:50 -0500] "GET /gps.html HTTP/1.1" 200 152.152.98.11 - - [16/Nov/2005:16:32:50 -0500] "GET /inicio.html/ HTTP/1.1" 200 … Ejemplo: Log servidor Web Fuente de datos Servidor usuarios http://www.sidweb.espol.edu.ec/inicio.html

  19. Fuente de datos Ejemplo: Una línea del Log 152.152.98.11 - - [16/Nov/2005:16:32:50 -0500] "GET /jobs/ HTTP/1.1" 200 15140 "http://www.google.com/search?q=salary+for+data+mining&hl=en&lr=&start=10&sa=N" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)“

  20. Campo: IP152.152.98.11 - - [16/Nov/2005:16:32:50 -0500] "GET /jobs/ HTTP/1.1" 200 15140 "http://www.google.com/search?q=salary+for+data+mining&hl=en&lr=&start=10&sa=N" "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

  21. Fuente de datos Campo: Nombre, Login152.152.98.11- - [16/Nov/2005:16:32:50 -0500] "GET /jobs/ HTTP/1.1" 200 15140 "http://www.google.com/search?q=salary+for+data+mining&hl=en&lr=&start=10&sa=N" "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 “-”)

  22. tiempo: Hh:mm:ss Time Zone: (+|-)HH00 Relativo a GMT -0500 es US EST Fuente de datos Campo: Fecha/Tiempo/TZ152.152.98.11- -[16/Nov/2005:16:32:50 -0500] "GET /jobs/ HTTP/1.1" 200 15140 "http://www.google.com/search?q=salary+for+data+mining&hl=en&lr=&start=10&sa=N" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)“ [16/Nov/2005:16:32:50 -0500] Fecha: dd/mm/yyy

  23. Fuente de datos Campo: Pedido152.152.98.11- -[16/Nov/2005:16:32:50 -0500]"GET /jobs/inicio.html HTTP/1.1" 200 15140 "http://www.google.com/search?q=salary+for+data+mining&hl=en&lr=&start=10&sa=N" "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

  24. Fuente de datos Campo: Codigo estado152.152.98.11- -[16/Nov/2005:16:32:50 -0500]"GET /jobs/ HTTP/1.1"200 15140 "http://www.google.com/search?q=salary+for+data+mining&hl=en&lr=&start=10&sa=N" "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

  25. Fuente de datos Campo: Referrer152.152.98.11- -[16/Nov/2005:16:32:50 -0500]"GET /jobs/ HTTP/1.1"200 15140 "http://www.google.com/search?q=salary+for+data+mining&hl=en&lr=&start=10&sa=N" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)“ http://www.google.com/search?q=salary+for+data+mining&hl=en&lr=&start=10&sa=N URL del visitante desde donde vino a mi página

  26. Fuente de datos Campo: User Agent152.152.98.11- -[16/Nov/2005:16:32:50 -0500]"GET /jobs/ HTTP/1.1"200 15140 "http://www.google.com/search?q=salary+for+data+mining&hl=en&lr=&start=10&sa=N" "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)

  27. Agenda • 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

  28. Preparació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.

  29. Preparació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.

  30. Agenda • 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

  31. Reglas de Asociación Encontrar las asociaciones que se producen entre los diferentes sitios de la página Web cuando los usuarios acceden a ésta. Preparación Data Generación de Matriz Algoritmo Apriori Reglas de Asociación

  32. Reglas de Asociación X  Y [/public/about.jsp ]---->/public/team.jsp Soporte: Soporte (X  Y) = Probabilidad (X U Y) Confianza: Confianza (X  Y) = Probabilidad (X / Y)

  33. Reglas de Asociación

  34. Reglas de Asociación Preparación de Data Registro_Log Registro_Paginas_Site Registro_Sesion

  35. S1= (0+1+1+0+1+0+…+0)/# sesiones Reglas de Asociación Generación Matriz

  36. 2 Sesión / Página  1 2 3 4 5 ….. # páginas 1 1 0 1 0 1 0 ….. 0 Candidatos antecedentes (Sop > Soporte) 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 1 6 0 1 0 0 1 ….. 0 3 : : : : : : ….. 0 5 : : : : : : ….. 0 # sesiones 0 1 0 1 0 ….. 0 20 S1 S2 ……S5 ……Sn 3 12 Solo si conf(12) > confianza confianza=Prob (X / Y) 1 1 2 3 6 20 21 Reglas 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”

  37. Preparación Data Generación de Matriz Generación FBP-Arbol Algoritmo Patrones Secuenciales Patrones 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.

  38. Patrones Secuenciales [x1x2x3]  [y1y2] en t días [/public/team.jsp ->]---->/public/findUsers.jsp-> /private/mycourses/website/folders/assignment/assignment_view.jsp-> /public/portalDocument.js en 2 dias Soporte: Soporte (X  Y) = Probabilidad (X U Y) Confianza: Confianza (X  Y) = Probabilidad (X / Y)

  39. Patrones Secuenciales

  40. Patrones Secuenciales Generación Matriz • TM[i,j] representa el número de veces que los usuarios han visitado la página j después de la página i. • Umbral • 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).

  41. Antecedente Punto de Ruptura Consecuente Consecuente Patrones Secuenciales Generación FBP-Árbol (Matriz FTM, Lista de Caminos) Pag 1 Pag 2 30 Pag 4 64 Pag 3 78 Pag 5 118

  42. Patrones Secuenciales Algoritmo Patrones (FBP-Arbol, soporte, confianza) • La confianza de una regla de comportamiento-frecuente 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 > confianza, genera Patrón • Si conf < confianza, podar rama de árbol.

  43. Clusterizació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. Preparación Data Generación de Matriz Algoritmo K-Medias Grupos

  44. Clusterización Cluster #1 /js/tiny_mce/blank.htm /js/tiny_mce/themes/advanced/color_picker.htm Cluster #2 /js/tiny_mce/profiles/blank.htm

  45. Clusterización

  46. Clusterización Generación Matriz M[i,j] representa al usuario i visitando la página j en algunas de las sesiones iniciadas por el usuario i.

  47. 1.Seleccionar centroides aleatorios 2. Asignar cada objeto al grupo cuyo centróide sea el más cercano al objeto. 3. Cuando todos los objetos hayan sido asignados, recalcular la posición de los k centróides. Distancia Euclídea δ²E (Xi, Xj) = || Xi-Xj||2 = (Xi - Xj)T(Xi - Xj) Determinar la media de cada grupo Clusterización Algoritmo K-Medias (Matriz, soporte) 4. Repetir los pasos 2 y 3 hasta que los centróides no varíen

  48. Agenda • 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

  49. Reportes 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

  50. Agenda • 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

More Related