La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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

Presentaciones similares


Presentación del tema: "“Sistema de Análisis de Patrones de Navegación usando Web Mining”"— Transcripción de la presentación:

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:

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 <<Área de enfoque de la presente Tesis>>
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 Objetivos 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. 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 Log de un servidor Web Materia prima de la Aplicacion:
[01/Jan/2006:18:08: ] "GET /images/folder_icons/356.gif HTTP/1.0" [01/Jan/2006:18:08: ] "GET /images/folder_icons/100.gif HTTP/1.0" [01/Jan/2006:18:08: ] "GET /images/lv_esquina3.gif HTTP/1.0" [01/Jan/2006:18:08: ] "GET /images/folder_icons/310.gif HTTP/1.0" [01/Jan/2006:18:08: ] "GET /private/mycourses/website/folders/assignment/assignment_view.jsp?folderId=-2&websiteId=948 HTTP/1.1" [01/Jan/2006:18:08: ] "GET /images/reply.gif HTTP/1.1" [01/Jan/2006:18:08: ] "GET /images/open.gif HTTP/1.1" [01/Jan/2006:18:08: ] "GET /private/mycourses/website/folders/link_view.jsp?folderId=19&websiteId=948 HTTP/1.1" [01/Jan/2006:18:08: ] "GET /private/mycourses/website/folders/view.js HTTP/1.1" [01/Jan/2006:18:08: ] "GET / HTTP/1.0" [01/Jan/2006:18:09: ] "GET /private/mycourses/website/folders/forums_view.jsp?folderId=20&websiteId=948 HTTP/1.1" [01/Jan/2006:18:09: ] "GET /images/newdoc.gif HTTP/1.1" [01/Jan/2006:18:09: ] "GET /private/mycourses/website/ /index.jsp?folderId=7&websiteId=948 HTTP/1.1" [01/Jan/2006:18:09: ] "GET /servlet/UserPhotoServlet?userCode=9451 HTTP/1.1" [16/Feb/2006:00:06: ] "GET /images/KDnuggets_logo.gif HTTP/1.1" "http://www.kdnuggets.com/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MyIE2)" Formatos de archivo: ELF y CLF

18 Ejemplo: Log servidor Web
Fuente de datos Ejemplo: Log servidor Web Servidor Contenido página usuarios Log servidor Web [16/Nov/2005:16:32: ] "GET … HTTP/1.1" 200 [16/Nov/2005:16:32: ] "GET /gps.html HTTP/1.1" 200 [16/Nov/2005:16:32: ] "GET /inicio.html/ HTTP/1.1" 200 …

19 Fuente de datos Ejemplo: Una línea del Log
[16/Nov/2005:16:32: ] "GET /jobs/ HTTP/1.1" "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 )“

20 Fuente de datos Campo: IP [16/Nov/2005:16:32: ] "GET /jobs/ HTTP/1.1" "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 )“ Dirección IP del cliente que accesa

21 Fuente de datos Campo: Nombre, Login [16/Nov/2005:16:32: ] "GET /jobs/ HTTP/1.1" "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 )“ - El nombre del usuario remoto (usualmente omitido y reemplazado por un “-”) Login del usuario remoto (tambien usualmente omitido y reemplazado por un “-”)

22 Fuente de datos Campo: Fecha/Tiempo/TZ [16/Nov/2005:16:32: ] "GET /jobs/ HTTP/1.1" "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 )“ [16/Nov/2005:16:32: ] tiempo: Hh:mm:ss Time Zone: (+|-)HH00 Relativo a GMT -0500 es US EST Fecha: dd/mm/yyy

23 Fuente de datos Campo: Pedido [16/Nov/2005:16:32: ] "GET /jobs/inicio.html HTTP/1.1" "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 )“ "GET /jobs/inicio.html/ HTTP/1.1" Metodo: GET HEAD POST URL: Relativo al dominio Protocolo HTTP: Ej: HTTP/1.0 o HTTP/1.1

24 Fuente de datos Campo: Codigo estado [16/Nov/2005:16:32: ] "GET /jobs/ HTTP/1.1" "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 )“ 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: Referrer [16/Nov/2005:16:32: ] "GET /jobs/ HTTP/1.1" "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 )“ URL del visitante desde donde vino a mi página

26 Fuente de datos Campo: User Agent [16/Nov/2005:16:32: ] "GET /jobs/ HTTP/1.1" "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 )“ "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR )“ 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. Es decir el campo CodEstado debe tener valores que comiencen con 2XX y 3XX, que son estados que emite el servidor cuando las peticiones o transacciones son exitosas.

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 [/public/about.jsp ]---->/public/team.jsp
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 Reglas de Asociación Generación Matriz
Sesión / Página  1 2 3 4 5 ….. # páginas 6 : # sesiones S1= ( …+0)/# sesiones

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

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

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 Página / Página  1 2 3 4 5 ….. # páginas 30 48 34 6 40 32 27 74 : 20 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 Página / Página  1 2 3 4 5 ….. # páginas 30 48 34 40 32 27 74 6 : 20 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 Patrones Secuenciales
Generación FBP-Árbol (Matriz FTM, Lista de Caminos) Antecedente Consecuente Pag 2 30 Pag 1 Pag 3 78 Pag 4 64 Pag 5 118 Punto de Ruptura Usando el FBP-árbol se calcularán las reglas comportamiento-frecuentes de las que se desprenden los patrones. Para calcular los patrones se hace uso de los soportes de los caminos frecuentes (número de veces que el camino aparece en el conjunto de sesiones), se recorre la estructura FBP-árbol desde las hojas al nodo raíz y considerando el soporte de cada camino, para cada nodo: si el nodo no tiene más hermanos (esto significa que desde la página anterior sólo se alcanza esta página) entonces se sube al nodo anterior hasta encontrar un nodo que tenga algún hermano. Cuando un nodo tiene al menos un hermano, entonces hay más de un camino posible, por lo tanto se puede generar más de una regla. Estos nodos representan los puntos de ruptura y se marcarán como las páginas de punto de ruptura. En las páginas de punto de ruptura, el usuario puede seleccionar entre varios caminos frecuentes. Si la página no es una página de ruptura, solo hay un posible camino frecuente con lo que se puede conocer cual será probablemente la próxima página visitada. Una vez se encuentran estos puntos de ruptura en el árbol, hay que obtener los patrones calculando la probabilidad condicional de cada patrón y el tiempo en días que se debe tomar desde que se da el antecedente del patrón hasta que se cumpla el precedente.   Como se detalló anteriormente los patrones están formadas por dos partes: el antecedente y el consecuente, por lo que los antecedentes serán tomados desde la raíz hasta el punto de ruptura, y el consecuente desde el punto de ruptura hasta la raíz

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
Usuario / Página  1 2 3 4 5 ….. # páginas 6 : # Usuarios M[i,j] representa al usuario i visitando la página j en algunas de las sesiones iniciadas por el usuario i.

47 Clusterización Algoritmo K-Medias (Matriz, soporte)
1.Seleccionar centroides aleatorios Usuario / Página  1 2 3 4 5 ….. # páginas 6 : # Usuarios Distancia Euclídea δ²E (Xi, Xj) = || Xi-Xj||2 = (Xi - Xj)T(Xi - Xj) 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. Determinar la media de cada grupo 4. Repetir los pasos 2 y 3 hasta que los centróides no varíen Para recalcular el centro nos bastará con aplicar la media, esto es,para cada coordenada del vector sumamos el valor para éste en esa posición y lo dividimos entre el número total de sesiones de las que disponemos para el grupo recién creado.

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 Para recalcular el centro nos bastará con aplicar la media, esto es,para cada coordenada del vector sumamos el valor para éste en esa posición y lo dividimos entre el número total de sesiones de las que disponemos para el grupo recién creado.

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

51 Tipos 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 Para recalcular el centro nos bastará con aplicar la media, esto es,para cada coordenada del vector sumamos el valor para éste en esa posición y lo dividimos entre el número total de sesiones de las que disponemos para el grupo recién creado.

52 Tipos de Reporte Tipos de Reporte Fecha de Rango
Para recalcular el centro nos bastará con aplicar la media, esto es,para cada coordenada del vector sumamos el valor para éste en esa posición y lo dividimos entre el número total de sesiones de las que disponemos para el grupo recién creado.

53 Tipos de Reporte Tipos de Reporte Fecha de Rango
Para recalcular el centro nos bastará con aplicar la media, esto es,para cada coordenada del vector sumamos el valor para éste en esa posición y lo dividimos entre el número total de sesiones de las que disponemos para el grupo recién creado.

54 Tipos de Reporte Páginas mas visitadas
Para recalcular el centro nos bastará con aplicar la media, esto es,para cada coordenada del vector sumamos el valor para éste en esa posición y lo dividimos entre el número total de sesiones de las que disponemos para el grupo recién creado.

55 Tipos de Reporte Tiempos de visita por página
Para recalcular el centro nos bastará con aplicar la media, esto es,para cada coordenada del vector sumamos el valor para éste en esa posición y lo dividimos entre el número total de sesiones de las que disponemos para el grupo recién creado.

56 Tipos de Reporte Tiempos de visita por página
Para recalcular el centro nos bastará con aplicar la media, esto es,para cada coordenada del vector sumamos el valor para éste en esa posición y lo dividimos entre el número total de sesiones de las que disponemos para el grupo recién creado.

57 Tipos de Reporte Tipo de navegador y Sistema operativo
Para recalcular el centro nos bastará con aplicar la media, esto es,para cada coordenada del vector sumamos el valor para éste en esa posición y lo dividimos entre el número total de sesiones de las que disponemos para el grupo recién creado.

58 Tipos de Reporte Bytes de descarga de las páginas
Para recalcular el centro nos bastará con aplicar la media, esto es,para cada coordenada del vector sumamos el valor para éste en esa posición y lo dividimos entre el número total de sesiones de las que disponemos para el grupo recién creado.

59 Tipos de Reporte Número de visitas por página
Para recalcular el centro nos bastará con aplicar la media, esto es,para cada coordenada del vector sumamos el valor para éste en esa posición y lo dividimos entre el número total de sesiones de las que disponemos para el grupo recién creado.

60 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

61 Conclusiones Tomar decisiones Marketing - competitivos
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 Para recalcular el centro nos bastará con aplicar la media, esto es,para cada coordenada del vector sumamos el valor para éste en esa posición y lo dividimos entre el número total de sesiones de las que disponemos para el grupo recién creado.

62 GRACIAS Para recalcular el centro nos bastará con aplicar la media, esto es,para cada coordenada del vector sumamos el valor para éste en esa posición y lo dividimos entre el número total de sesiones de las que disponemos para el grupo recién creado.

63 Para recalcular el centro nos bastará con aplicar la media, esto es,para cada coordenada del vector sumamos el valor para éste en esa posición y lo dividimos entre el número total de sesiones de las que disponemos para el grupo recién creado.

64 Demostración del Sistema


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

Presentaciones similares


Anuncios Google