Estudio de perfiles de visitantes de un website a partir de los logs de ...

32
DEPARTAMENTO DE LENGUAJES, SISTEMAS E INGENIERÍA DEL SOFTWARE Facultad de Informática Universidad Politécnica de Madrid RESUMEN DEL TRABAJO DE INVESTIGACIÓN (Programa de doctorado) Estudio de perfiles de visitantes de un website a partir de los logs de los servidores web aplicando técnicas de Data mining (Webmining)

Transcript of Estudio de perfiles de visitantes de un website a partir de los logs de ...

Page 1: Estudio de perfiles de visitantes de un website a partir de los logs de ...

DEPARTAMENTO DE LENGUAJES, SISTEMAS E

INGENIERÍA DEL SOFTWARE

Facultad de Informática

Universidad Politécnica de Madrid

RESUMEN DEL TRABAJO DE INVESTIGACIÓN(Programa de doctorado)

Estudio de perfiles de visitantes de un website a partir

de los logs de los servidores web aplicando técnicas de

Data mining (Webmining)

Autor: Óscar Marbán Gallego

Tutora: Ernestina Menasalvas Ruiz

Page 2: Estudio de perfiles de visitantes de un website a partir de los logs de ...

Fecha: Septiembre, 2002

2

Page 3: Estudio de perfiles de visitantes de un website a partir de los logs de ...

Índice

Introducción...................................................................................................................4

Alternativas....................................................................................................................6

Planteamiento del problema...........................................................................................7

Reglas de comportamiento del usuario..........................................................................8

Preliminares................................................................................................................9

Algoritmo.................................................................................................................11

Pseudocódigo del algoritmo.....................................................................................11

Cálculo de subsessiones...........................................................................................15

Subsesiones y sus aplicaciones en análisis de Data Mining....................................16

Conclusiones y líneas futuras...................................................................................16

Resultados de la investigación.....................................................................................17

Bibliografia..................................................................................................................19

3

Page 4: Estudio de perfiles de visitantes de un website a partir de los logs de ...

Resumen La competencia en el comercio electrónico hace necesario la aplicación de métodos inteligentes para recoger y analizar la información de las sesiones web del consumidor. Por eso se hace necesario conocer el comportamiento y los objetivos del usuario; los comportamientos y los objetivos del usuario se pueden obtener de los datos recogidos de la actividad mantenida por el usuario dentro del site. La mayoría de los soluciones actuales para analizar el comportamiento de las sesiones de los usuarios se basan en el análisis de las páginas accedidas. Sin embargo, las subsesiones proporcionan una mayor abstracción, pues que se encuentran en un nivel de granularidad diferente al de las páginas web. En esta investigación se propone un método para aumentar el nivel de granularidad de las sesiones del usuario, para ello se trata de descubrir subsesiones dentro de las sesiones. Cada subsesión representa una actividad de alto nivel del usuario, por ejemplo, realizar una compra, o buscar un tipo determinado de información. Así, dado un conjunto de subsesiones identificado en las sesiones, se puede determinar en que el punto el usuario empieza un subsesión. Con esta información nosotros se puede (1) mejorar la navegación de los usuarios haciendo precaching de las páginas, o (2) proporcione unas páginas web en función del usuario, presentando a este las páginas que contienen los objetivos buscados.Para identificar subsesiones, se propone un algoritmo para calcular caminos frecuentes dentro de las subsesiones obtenidas. Para ello, el algoritmo examina todas las sesiones del usuario y extrae todos los subcaminos frecuentes haciendo uso de una función de similaridad. Cada subcamino frecuente representa un subsesión. Un análisis de las páginas de las subsesiones proporciona información sobre la semántica de las actividades de los usuarios.

4

Page 5: Estudio de perfiles de visitantes de un website a partir de los logs de ...

IntroducciónLas técnicas de Data Mining para la web podrían aprovechar el enorme potencial de

los datos de los “clickstream” para ayudar en la toma de decisiones críticas para la

empresa. La web es una rica fuente de información sobre patrones de navegación de

usuario, contenido de páginas, y estructuras de websites, lo que la convierte en un

objetivo para la aplicación de técnicas de Data Mining. El término Web mining

designa la aplicación de técnicas de Data Mining a grandes repositorios de datos de la

web.

Sin embargo, las técnicas de Data Mining no son fácilmente aplicables a datos de la

web debido a problemas relacionados tanto con la tecnología subyacente como con la

ausencia de estándares en el diseño e implementación de páginas web. La información

contenida en el log y otras fuentes de información debe ser preprocesada previamente

a la obtención de patrones.

Web mining es un término muy amplio que se usa para referirse al proceso de

descubrimiento de información a partir de contenidos en la web (Web Content), al

proceso de descubrimiento de la estructura de los servidores web (Web Structure) y al

proceso de extracción de patrones de acceso y navegación de usuarios mediante

análisis del log (Web Usage).

En particular, la investigación sobre el uso de la web se ha centrado en el

descubrimiento de patrones de acceso a partir de ficheros log. Un patrón de acceso es

un patrón secuencial que se repite dentro de los logs. La información recogida y

almacenada por los servidores web es la principal fuente de datos para analizar

patrones de navegación de usuario. El análisis de los logs debería servir para mejorar

el diseño, creando sitos web adaptativos.

Los paquetes software comerciales para análisis de log de la web tales como

WUSAGE, Analog o Count Your Blessings han sido aplicados a muchos servidores

web. Los informes más comunes son listas de las URL más solicitadas, un breve

resumen y una lista de los navegadores utilizados para la navegación por el site

analizado. Estas herramientas ya sean comerciales o experimentales en la mayor parte

de los casos ofrecen solamente estadísticas, recuentos de frecuencia asociados a las

visitas a las páginas. Actualmente se investigan nuevas técnicas y modelos. En “Web

usage” se identifican tres fases: preprocesado, descubrimiento de patrones y análisis

5

Page 6: Estudio de perfiles de visitantes de un website a partir de los logs de ...

de patrones. En la fase de preprocesado, la información contenida en una fuente de

datos se convierte en datos abstractos. En la segunda fase se aplican algoritmos y

técnicas de descubrimiento de patrones y reglas. Los patrones y las reglas generadas

en esta fase se analizan en la tercera fase para eliminar las reglas que no son de

interes.

Actualmente, uno de los principales problemas en “Web usage” tiene que ver con la

fase de preprocesado de los datos previa a la aplicación de alguna técnica de data

mining. Los servidores web generalmente registran una entrada en un fichero log para

cada acceso. La mayor parte de la información de acceso al website está en el fichero

log. La información relevante para uso web se almacena en ficheros que pueden

analizarse en diferentes formas. Los componentes más comunes de un fichero log

incluyen: dirección IP, hora de acceso, método de interrogación, URL de la página a

la que se ha accedo, protocolo de transmisión de datos, código de retorno y número de

bytes transmitidos.

Los ficheros log del servidor contienen entradas irrelevantes o redundantes para tareas

de Data Mining como las entradas relativas a ficheros de imágenes, o códigos de error

que no son necesarios para la obtención de perfil de usuario. Por tanto, estos ficheros

deben ser tratados, eliminando toda la información innecesaria para cálculo de

perfiles. Luego debe identificarse las transacciones de datos y agruparse en sesiones

con significado. El principal problema del protocolo http, es que no tiene indicación

de estado (stateless) de forma que es imposible saber cuando un usuario deja el

servidor, por lo se deben realizar algunos supuestos para identificar sesiones. La

aproximación seguida en la mayoría de los casos es agrupar todas las transacciones

con la misma dirección IP de modo que el tiempo transcurrido entre dos accesos

consecutivos esté por debajo de un cierto umbral.

Una ver que los logs se han preprocesado y se dispone de información de sesiones hay

varias clases de descubrimiento de acceso que pueden realizarse dependiendo de las

necesidades del analista. Por ejemplo análisis de rutas, descubrimiento de reglas de

asociación, patrones secuenciales., clustering y clasificación.

El descubrimiento de patrones secuenciales y clustering se ha aplicado para descubrir

patrones de acceso a partir de los ficheros log. El problema de encontrar que páginas

de visitan conjuntamente es similar a la obtención de asociaciones entre itemsets en

bases de datos transaccionales. Por tanto muchas técnicas de “Web usage” buscan

también reglas de asociación. Es importante señalar, que se ha realizado mucho

6

Page 7: Estudio de perfiles de visitantes de un website a partir de los logs de ...

trabajo sobre técnicas relativamente simples que pueden no ser adecuadas para datos

de perfil de usuarios reales ya que el ruido de los datos debe ser eliminado

previamente. Además, algunos de los datos son difusos por naturaleza. En ausencia de

conocimiento previo, los métodos de clustering parecen ideales para analizar datos de

log una vez los datos han sido preprocesdados para obtener sesiones de usuario. Sin

embargo, surgen aspectos importantes al aplicar estos algoritmos: por un lado, debido

a la naturaleza de los datos ya que, al transformar páginas en valores numéricos se

perderá la información de la estructura del sitio. Por otro lado la función de distancia

que debe de aplicarse debe tener en cuenta la naturaleza relacional de los datos

involucrados en el proceso. Web mining involucra datos que en muchos casos están

contaminados con ruidos. Valores fuera de rango e incompletos pueden darse con

frecuencia en un conjunto de datos debido a una amplia variedad de razones

inherentes a los procedimientos de “browsing” y “logging”. Hay por ejemplo un

significativo porcentaje del tiempo en el que el usuario está simplemente navegando y

no siguiendo ninguna trayectoria en particular. Así que hay una necesidad de métodos

fiables libres de cualquier supuesto acerca de la contaminación o ruido

AlternativasPese a que Web usage mining se ha enfocado principalmente hacia el descubrimiento

de patrones de acceso a partir de los ficheros log, ha habido muchas aproximaciones

diferentes a la solución del problema. Estas aproximaciones pueden clasificarse de

acuerdo con los pasos y técnicas seguidas para la obtención de patrones. Una vez que

el log del servidor ha sido preprocesado y se dispone de información de sesiones, una

posible alternativa es aplicar una u otra técnica de soft computing..

Debido a la naturaleza de la información a la se aplica el algoritmo, el log del servidor

que ya ha sido transformado en un log de sesiones es de nuevo procesado para obtener

alguna estructura auxiliar que será utilizada cuando se apliquen técnicas inteligentes

de descubrimiento de patrones. Muchas aproximaciones se han centrado en la

aplicación de técnicas inteligentes para proporcionar recomendaciones personales al

usuario. Collaborative filtering se basa en el supuesto de que encontrando usuarios

similares y examinando sus patrones de uso se pueden realizar recomendaciones

útiles.

Varios proyectos se han desarrollado aplicando tecnología de agentes integrada con

técnicas de soft computing para realizan Web usage. Sin embargo, la mayor parte de

7

Page 8: Estudio de perfiles de visitantes de un website a partir de los logs de ...

estas aplicaciones no puede clasificarse como Web usage puro, ya que la mayoría de

ellas está en la frontera entre Web usage y Web content.

Muchos sistemas y/o arquitecturas han sido desarrolladas e implementadas orientadas

hacia Web usage.

Planteamiento del problemaNo obstante, en la actualidad, uno de los principales problemas del “Web Usage

Mining” se encuentra en la fase de preproceso de la información previa a la

aplicación de técnicas de data mining. La mayoría de los servidores web recogen en

un fichero de log los accesos realizados por los usuarios al site. Hay varios formatos

de ficheros log para los servidores web, en cada uno de los cuales se recoge una serie

de información, siendo común a todos ellos:

Dirección IP desde la cual se accede a la página web

Hora de acceso

Forma de petición

URL de la página accedida

Protocolo de transmisión de datos

Código de retorno del servidor. Este es un código que indica si la petición se

ha resuelto con éxito o no, es decir si la página pedida se encontraba en el

servidor y ha podido ser vista por el usuario

Número de bytes transmitidos

En los ficheros log de los servidores hay mucha información redundante o

innecesaria, por los que estos ficheros deben ser preprocesados antes de poder aplicar

sobre ellos técnicas de data mining. Después de preprocesar el fichero de log, se

identifican las transacciones y se agrupan en sesiones. Como el protocolo HTTP es un

protocolo sin estado, es imposible saber cuando un usuario ha abandonado el site que

estaba visitando, con lo que para identificar las sesiones hay que realizar una serie de

supuestos. Una vez que se han identificado las sesiones se pueden aplicar técnicas de

data mining para extraer varios tipos de patrones en función del tipo de necesidades

del analista.

Lo que se propone en la presente investigación es el estudio de las sesiones

(secuencias de clicks) de los usuarios para encontrar subsesiones o subsecuencias de

clicks que están semánticamente relacionadas y que reflejan un comportamiento

especifico de un determinado usuario, lo que permite analizar los datos de las sesiones

8

Page 9: Estudio de perfiles de visitantes de un website a partir de los logs de ...

con diferentes niveles de granularidad. La propuesta que se realiza en este trabajo es

calcular caminos frecuentes que se pueden utilizar para obtener subsesiones dentro de

una sesión con el fin de obtener perfiles de los usuarios, para que cuando estos estén

navegando por el site se puedan precargar páginas que seguramente visitaran y

también se pueden utilizar para ofrecer al usuario nuevos elementos que le agradarán

en función de su perfil.

Para resolver este problema se ha planteado un algoritmo basado en estructuras

auxiliares tipo árbol.

La estructura en la que está basado el algoritmo se ha denominado FBP-tree (Frequent

Behavior Paths Tree). El FBP-tree representa caminos dentro del website. Después de

construir el FBP-tree se pueden obtener reglas de comportamiento habituales que

servirán para analizar subsesiones dentro de la sesión de un usuario. El

descubrimiento de estas subsecciones permite analizar con diferente nivel de

granularidad el comportamiento de los usuarios en base a las páginas visitadas y a las

subsesiones. Las subsesiones se pueden ver también como un método probabilístico

para obtener el estado de una sesión de navegación, es decir, se pueden utilizar como

una aproximación a un HTTP con estado. Adicionalmente, también se puede predecir

el camino que un usuario visitará para llegar a una cierta página.

Reglas de comportamiento del usuarioLos sitios web dinámicos son sitios web en los que se personaliza la información que

se muestra al usuario en función de alguna característica que lo distingue de otros

usuarios. La mayoría de los métodos de construcción de este tipo de sites se basa en la

identidad y el perfil del usuario. Sin embargo, lo que se pretende resolver en esta

investigación es saber que páginas visitará el usuario sin tener en cuenta la identidad

del usuario, es decir, cuando el usuario es totalmente anónimo. 

Se presenta un doble acercamiento. Por un lado se propone un mecanismo para

predecir la sucesión de páginas que visitará un usuario teniendo en cuenta las páginas

que ha visitado previamente el usuario. Por otro lado, hay información muy detallada

acerca de algunas páginas, pero si se trata con información más genérica y de alto

nivel se pueden obtener segmentaciones de usuarios y otro tipo de modelos más

exactos. Así, si se procesa la información histórica sobre las sesiones junto con las

reglas de comportamiento se pueden obtener subsesiones. Esta información se puede

utilizar para extraer modelos con un nivel diferente de granularidad. Además, el nivel

9

Page 10: Estudio de perfiles de visitantes de un website a partir de los logs de ...

de granularidad de subsesión nos da una aproximación de la información de estado

del usuario. Aunque en la web se utilizan por lo general protocolos sin estado

(stateless), con las cookies se intenta capturar el estado (usuario navegando, abandono

del site, cambio de página, …). La utilización de subsesiones proporciona también la

información, con un grado de certeza, acerca de que páginas ha visitado el usuario y

de que páginas visitará. 

Para encontrar las subsesiones se propone obtener caminos frecuentes que revelan un

cambio en la conducta del usuario dentro de la sesión actual. Para obtener los caminos

frecuentes se ha propuesto el algoritmo que calcula Frequent Behavior Paths,

caminos frecuentes en la conducta del usuario. Se asume que el fichero log se

encuentra preprocesado y como resultado se obtendrá la lista de las páginas visitadas

durante cada sesión (de acuerdo al orden de visita).

PreliminaresSea 0, 1, 2, . . . , N el conjunto de páginas de un sitio web, sin ordenar. Dado un

conjunto de sesiones de navegación de un usuario (L), cada sesión se puede

representar como una lista S = (s(0), s(1), s(2), . . . , s(n)) donde s(i) representa la i-

ésima página visitada en la sesión S. Para todo i (0 ≤ i ≤ n), (0 ≤ s(i) ≤ N). Así se

puede representar la i-ésima página en el camino S como S[i]=s(i).

Definiciones:

El camino P=p(0), p(1), . . . , p(k) es una secuencia no vacia de páginas

visitadas que aparecen en una o más sesiones de L. El camino P se puede

representar como P[i]=p(i).

La longitud de un camino es el número de páginas del camino.

Un 1-camino (P=p(0)) es un camino de longitud uno.

El soporte de un 1-camino (P=p(0)) se denota como sup(P=p(0)) y representa

el número de veces que aparece (P=p(0)) en las sesiones.

El soporte de un n-camino p(0), p(1), … , p(n-1) se representa como sup(p(0),

p(1), … , p(n-1)) y representa el número de veces que el camino p(0), p(1), … ,

p(n-1) aparece en el conjunto de sesiones.

Un subcamino Q=(q(0), q(1), … , q(m-1)) de un camino dado P=(p(0), p(1), … ,

p(n-1)) es un camino tal que Q P. Lo que es lo mismo, i / j (0 ≤ j< m)

Q[j] = P[i+j].

10

Page 11: Estudio de perfiles de visitantes de un website a partir de los logs de ...

Dos n-caminos P = (p(0), p(1), … , p(n-1)) y Q= (q(0), q(1), … , q(n-1)) se dice

que son iguales si y sólo si i (0 ≤ i < n), P[i]=Q[i].

Un problema común cuando se calculan caminos frecuentes es que esos caminos que

las páginas que juegan un papel importante en la estructura del site (por ejemplo,

páginas de la entrada, el catálogo del producto, etc.) aparecerán como caminos

frecuentes. Estos caminos no son de interés para las construcción de perfiles de

usuario o para hacer precaching de páginas porque dichos caminos reflejan la

estructura del site más que el comportamiento de un usuario.

Un camino P = (p(0), p(1), … , p(n-1)) se dice que es frecuente si el sup(P) > . Un

camino P = (p(0), p(1), … , p(n-1)) se dice que es comportamiento-frecuente si la

probabilidad de llegar a la página p(n-1) habiendo visitado las páginas p(0), p(1), … ,

p(n-2) es mayor que un umbral establecido. Lo que es lo mismo, 0i<n / P(p(i) |p(0)

p(i-1)) > . El objetivo del algoritmo es obtener los caminos comportamiento-

frecuentes.

Dado dos caminos, PIND y PDEP, una regla de comportamiento-frecuente es una regla

de la siguiente forma:

PIND PDEP

donde PIND es un camino frecuente, denominado parte independiente de la regla y PDEP

es un camino comportamiento-frecuente, denominándose parte dependiente de la

regla. Las reglas de comportamiento-frecuente deben tener la propiedad siguiente:

P(PDEP | PIND) >

La formula anterior indica que si un usuario recorre el camino PIND, entonces habrá

una cierta probabilidad de que el usuario visite las páginas del camino PDEP. 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.

La obtención de estas reglas se hace necesaria para poder predecir el instante en el

que los usuarios cambian su comportamiento y comienzan a visitar nuevas páginas

que también pueden ser conocidas de antemano. Las páginas del camino no son

interesantes, los que se quiere obtener es: a partir de un conjunto de caminos visitado

conocer que camino se seguirá. Éste es el objetivo del algoritmo propuesto.

 

11

Page 12: Estudio de perfiles de visitantes de un website a partir de los logs de ...

AlgoritmoLos pasos básicos del algoritmo son los siguientes:

1. Construir la matriz de transición TM. La matriz TM es una matriz NxN siendo N

el número de páginas. 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.

S L / TM[i,j]=|s(k)=i s(k+1)=j|

2. Una vez construida la matriz TM, todas las celdas con valor menor a un umbral

determinado toman el valor 0. La nueva matriz se llama FTM.

3. Una vez construida la matriz FTM, hay que obtener los caminos frecuentes. La

matriz de FTM se utiliza durante la generación de los caminos para realizar una

poda de caminos (espacio de búsqueda). Esto se hace así teniendo en cuanta que si

un 2-camino no es frecuente un 3-camino del que sea subcamino el 2-camino

tampoco lo será (propiedad Apriori). Los caminos se almacenan en una estructura

multiárbol que se ha denominado FBP-tree.

4. Usando el FBP-tree se calcularán las reglas comportamiento-frecuentes. Para

calcular las reglas se hace uso de los soportes de los caminos frecuentes.

Pseudocódigo del algoritmo

Construcción de la matriz TM

Se recorre el conjunto de sesiones y para cada par i, j de páginas consecutivas en

una sesión, se incrementa en una unidad el valor de la celda TM[i,j].

Entrada: L: la lista de sesiones        N: el número de páginas Salida: TM: la matriz de transición (NxN) Pseudocódigo:Para cada s en L{  para cada par (s(i),s(i+1))en s    TM[s(i),s(i+1)]++;} 

Construcción de la matriz FTM

Se recorren las celdas de la matriz TM y aquellas cuyo valor sea menor que el umbral

dado toman el valor 0. Estas celdas representan pares de páginas que no son

frecuentes y por lo tanto no deben utilizarse para calcular los caminos frecuentes.

 Entrada: TM: matriz de transición (NxN)

12

Page 13: Estudio de perfiles de visitantes de un website a partir de los logs de ...

          : umbral de frecuencia mínimo Salida: FTM: matriz de transición frecuente (NxN) Pseudocódigo:para i en 0.. N{  para j en 0.. N    si (TM[i,j] < )      FTM[i,j]=0    sino      FTM[i,j]=TM[i,j]} 

Construcción del FBP-tree

Se recorren las celdas de la matriz FTM para construir el FBP-tree, que se obtiene de

la siguiente forma:

Sea L = {S1, S2, . . . , Sn} un conjunto de sesiones. La matriz FTM representa la

información de los 2-caminos-frecuentes que ayudarán a la prepoda del árbol durante

su construcción.

Un FBP-tree es una estructura de árbol definida de la siguiente forma:

La raíz del árbol no tiene ninguna etiqueta.

El resto de los nodos están etiquetados con los códigos de la páginas (i).

Cada nodo del árbol se etiqueta con su página web correspondiente (i) y almacena en

el campo hit el número de ocurrencias del camino desde la raíz a i en el conjunto de

sesiones. El valor hit de cada nodo nunca será mayor que el de su nodo padre.

Obsérvese que se pueden calcular las frecuencias condicionales de cualquier camino

utilizando el soporte del último nodo del camino y el de su nodo padre. El árbol se

construye con el siguiente algoritmo:

Entrada: FTM: matriz de transición frecuente (NxN)       L: lista de sesiones Salida: FBP-tree: árbol de camino de conducta frecuente (cada nodo del FBP-tree o cada hoja tiene un contador de hit). Pseudocódigo:para cada s en L{  para i en N  {    j = i + 1    mientras j < N y FTM[s(j-1),s(j)] 0     {      sub-s = {s(i),...,s(j)}      si (k/ik<j:FTM[s(k),s(k+1)]0)      {        si (sub-s in FBP-Tree)

13

Page 14: Estudio de perfiles de visitantes de un website a partir de los logs de ...

         FBP-Tree.increment_hit(sub-s)        resto         FBP-Tree.insert_path(sub-s)       }    }  }} 

Las funciones utilizadas para la construcción del árbol son:

insert_path: Un camino se representa dentro del árbol como una sucesión de nodos

comenzando en la raíz del árbol y terminando en una hoja. Insertar un nuevo camino

significa añadir la nueva rama al árbol. Esta rama puede empezar en el nodo raíz o en

el medio de un camino ya insertado.

increment_hit: Esta función incrementa el contador de hit de todos los nodos del

árbol que se encuentren dentro del camino que se pasa como argumento.

Un ejemplo (parcial) del árbol se puede observar en la Figura 1.

 

 

 

 

 

 

 

 

 Figure 1: Un FBP-tree parcial, con el nodo h podado, PIND=(a,b,c,d), and PDEP=(e,f,g). Los hits para los nodos a, ..., h son 30, 30, 25, 25, 25, 20, 20, 5, y umbral = 0.5 

Por simplicidad se ha asumido que los caminos frecuentes se calculan en base a los

nombres de las páginas.

 

Construcción de reglas de conducta frecuentes

Una vez construido el árbol y se han obtenido los patrones frecuentes, se recorre el

árbol desde las hojas al nodo raíz y teniendo en cuenta el soporte de cada camino las

reglas se son calculados como sigue. 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.

14

a

b

c

d

e

f

g

h

Page 15: Estudio de perfiles de visitantes de un website a partir de los logs de ...

Cuando un nodo tiene al menos un hermano, entonces hay más de un camino posible,

por lo tanto se puede haber 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 las reglas

de comportamiento--frecuentes calculando la probabilidad condicional de cada cada

regla.  Entrada: FBP-tree: árbol de camino de conducta frecuente           : soporte mínimo de la regla          : confianza mínima de la regla Salida: Reglas-FBP: reglas de camino de conducta frecuentes Pseudocódigo:Para cada l en FBP-Tree.leaves{  mientras l FBP-Tree.root  {    si (l.hit < )      FBP-Tree.prune(l)    sino    {      q=cola{}      mientras(l.hit/l.parent.hit > )      {        q.append(l.page)        l=l.parent()      }      if(¬q.empty())      {        r=rule {}        r.PIND({FBP-Tree.root.page(),.., l.page})        r.PDEP(q)        FBP-Rules.add(r)      }      FBP-Tree.prune(l)    }}                                                                                                                                       

Cálculo de subsessionesUna vez que se han calculado los caminos frecuentes y las reglas de conducta

frecuentes, se utilizarán para identificar subsesiones. Cuando los usuarios están

navegando no se conoce el conjunto de páginas que visitarán. Así que lo que se quiere

saber es a partir del camino páginas visitadas el camino de páginas que visitará. Un

camino visitado de longitud 1 no proporcionará bastante información, pero una vez

15

Page 16: Estudio de perfiles de visitantes de un website a partir de los logs de ...

que se ha recorrido un camino que aparece en el antecedente de alguna de las reglas

de comportamiento frecuente (PIND), se activa la regla y en ese momento se conocerá

el resto de páginas que visitará el usuario (PDEP) con una cierta probabilidad, la

probabilidad asignada a la regla. 

Una de las principales ventajas del acercamiento propuesto en esta investigación es

que no sólo puede aplicarse proactivamente para precargar las páginas que visitará el

usuario, sino que también es un mecanismo que puede usarse para calcular las

subsesiones sobre los históricos de. En este sentido, se puede procesar la información

histórica para obtener las subsesiones que contienen, para posteriormente aplicar

algoritmos de Data Mining sobre los caminos de las sesiones, tal vez expresados

como subcaminos donde sea posible, para obtener modelos más genéricos.

Una de las principales desventajas de la aplicación directa de algoritmos de Data

Mining a los datos de los ficheros log es que en algunos casos los patrones obtenidos

no son del todo buenos, a tienen un soporte muy bajo o se pierden en demasiados

detalles. Con el mecanismo propuesto se pueden extraer modelos más genéricos

basados en la granularidad de las subsesiones.

En este trabajo de investigación los caminos y las reglas frecuentes se han calculado

sin tener en cuenta la información cronológica. Extendiendo el algoritmo para tratar

con esta información permitirán el descubrimiento de subsesiones en base a la

información de visita de las páginas y de los perfiles del usuario.

 

Subsesiones y sus aplicaciones en análisis de Data MiningLas ventajas de obtener los caminos de conducta frecuentes y reglas de

comportamiento frecuente son que se puede predecir después de algunos clicks las

próximas páginas a visitar por parte del usuario, y, además, se puede hacer el análisis

de Data Mining sobre subsesiones no solo sobre las páginas visitadas.

 Una vez que se han obtenido las reglas, la información disponible sobre sesiones

pasadas puede procesarse para obtener la información sobre los caminos frecuentes

que contienen. Así se pueden hacer los siguientes análisis:

1. Perfil de los usuarios que frecuentemente recorren un cierto camino (su sesión

tenia una cierta subsesión, en lugar de tratar con páginas).

2. Calculo de asociaciones de subsesiones que a menudo aparecen juntas. Por

ejemplo se podría aplicar el algoritmo Apriori.

16

Page 17: Estudio de perfiles de visitantes de un website a partir de los logs de ...

Sólo con estos dos análisis se puede realizar precaching de páginas web con lo que

mejorará el rendimiento del servidor.

Conclusiones y líneas futurasEn esta investigación se ha presentado el concepto de regla de comportamiento

frecuente y un algoritmo para calcular dichas reglas. Esta metodología hace posible

predecir las próximas páginas que visitará un determinado usuario. Además, es un

mecanismo que puede usarse para calcular subsesiones en el histórico de sesiones. Así

los patrones que no tienen un alto soporte calculados a nivel de página se pueden

hacer más genéricos con un mayor soporte utilizando las subsesiones. 

En esta investigación se calculan los modelos sin tener en cuenta la información

cronológica. Actualmente se esta trabando en la extensión del algoritmo para

incorporar esta información y así obtener las reglas más sofisticadas; de esta forma se

puede mejorar el rendimiento del servidor haciendo precaching de ciertas páginas

web en función de la hora del día que se visiten las subsesiones, según las reglas

obtenidas.

Una de las ventajas del algoritmo propuesto es que la identidad del usuario no es un

requisito para predecir las tendencias de la navegación. El objetivo del algoritmo es

descubrir los caminos frecuentes sin tener en cuenta la identidad del usuario.

Resultados de la investigaciónComo resultado de esta investigación se han publicado los siguientes artículos en

congresos y en revistas internacionales.

Congresos

“Subsessions: a granular approach to click path analysis”E. Menasalvas, S. Millan, J.M. Peña, M. Hadjimichael, O. MarbánEn los proceedings de IEEE Int. Conf. On Fuzzy Systems 2002 (WCCI2002). Mayo del 2002, Honolulu, U.S.A.

“Web path characterizer tree to predict user behaviour through their visited paths” O. Marbán, E. Menasalvas, S. Millan, J.M. PeñaEn los proceedings de 9th IPMU Internacional Conference. Julio del 2002, Annecy, France.

“e-CRM based on AI for e-Commerce”O. Marbán, E. Menasalvas, J. Segovia, C. Montes, J.M. Peña, J.G. Rajakulendran

17

Page 18: Estudio de perfiles de visitantes de un website a partir de los logs de ...

En los proceedings de 6th World Multiconference on Systemicsm Cybernetics and Informatics ann 8th Internacional Conference on Information Systems Analysis and Synthesis. Vol. X, pp. 450-454. 14-18 de Julio del 2002, Orlando, U.S.A.

“Mining the client’s life cycle behaviour in the web” O. Marbán, J. Segovia, J.J. Cuadrado, C. MontesEn los proceedings de 3rd International Conference on Rough Sets and Current Trends in Computing.Octubre 2002, Penn State Great Valley, USA.

Revistas

“Intelligent Web Mining” E. Menasalvas, O. Marbán, J. Segovia, C. Montes

En el libro "INTELLIGENT EXPLORATION OF THE WEB" serie "Studies in Fuzziness and Soft Computing'', editor J.Kacprzyk. Editorial Springer-Verlag (P.S.Szczepaniak, J. Segovia, J. Kacprzyk, L.A. Zadeh – editors) (Abril 2002)

“Analysing Customer Preferences with Neural Networks” J. Segovia, C. Montes, O. Marbán, E. Menasalvas

En el libro “E-COMMERCE and INTELLIGENT METHODS” serie “Studies in Fuzziness and Soft Computing”, editor J.Kacprzyk. Editorial: Springer-Verlag (J. Segovia, P.S. Szczepaniak, M. Niedzwiedzinski – editors), pp. 61-78 (Abril 2002)

“Mining the client’s life cycle behaviour in the web” O. Marbán, J. Segovia, J.J. Cuadrado, C. MontesAceptado para publicación en libro de Springer-Verlag.

18

Page 19: Estudio de perfiles de visitantes de un website a partir de los logs de ...

Bibliografia

[ale] http://www.alexa.com.

[ana] http://www.statlab.cam.ac.uk/ sret1/analalog.

[AS94] Rakesh Agrawal and Ramakrishnan Srikant. Fast algorithms for mining association rules. In Jorge B. Bocca, Matthias Jarke, and Carlo Zaniolo, editors, Proc. 20th Int. Conf. Very Large Data Bases, VLDB, pages 487-499. Morgan Kaufmann, 12-15 September 1994

[Bez81] J. C. Bezdek. Pattern Recognition with Fuzzy Objective Function Algorithms. Plenum Press, New York, 1981.

[BHK98] John S. Breese, David Heckerman, and Carl Kadie. Empirical analysis of predictive algorithms for collaborative filtering. In Gregory F. Cooper and Serafin Moral, editors, Proceedings of the 14th Conference on Uncertainty in Artificial Intelligence (UAI-98), pages 43-52, San Francisco, July 24-26 1998.Morgan Kaufmann

[BHMS98] J. Budzik, K.J. Hammond, C. Marlow, and A. Scheinkman. Anticipating information needs: Everyday applications as interfaces to internet information sources. In Proceedings of the 1998World Conference on the WWW, Internet, and Intranet. AACE Press, 1998

[BL99] J. Borges and M. Levene. Heuristics for mining high quality user web navigation patterns. Research Note RN/99/68, Department of Computer Science, Gower Street, London, UK, October 1999

[BL00a] J. Borges and M. Levene. A heuristic to capture longer user web navigation patterns. In Proc. Of the First International Conference on Electronic Commerce and Web Technologies, Greenwich, U.K., September 2000

[BL00b] Jose Borges and Mark Levene. A fine grained heuristic to capture web navigation patterns. SIGKDD Explorations, 2(1):40-50, 2000

[BMK97] Rob Barret, Paul Maglio, and Daniel Kellem. Web browser intelligence: Opening up the web. In Proceedings of COMPCON97, page 122, 1997

[BP98] Daniel Billsus and Michael J. Pazzani. Learning collaborative information filters. In Proc. 15th International Conf. on Machine Learning, pages 46-54.Morgan Kaufmann, San Francisco, CA, 1998

[CDR+98] Soumen Chakrabarti, Byron Dom, Prabhakar Raghavan, Sridhar Rajagopalan, David Gibson, and Jon Kleinberg. Automatic resource compilation by analyzing hyperlink structure and associated text. Computer Networks and ISDN Systems, 30(1-7):65-74, April 1998

[CMS99] Robert Cooley, Bamshad Mobasher, and Jaideep Srivastava. Data preparation for mining world wide web browsing patterns. Knowledge and Information Systems, 1(1), February 1999

[cou] http://www.internetworld.com/print/monthly/1997/06/iwlabs.html

[CPY98] Ming-Syan Chen, Jong Soo Park, and Philip S. Yu. Efficient data mining for path traversal patterns. IEEE Transactions on knowledge and data engineering, 10(2):209-221, march/april 1998

[CVLC00] Juan Pedro Caraça-Valente and Ignacio Lopez-Chavarrias. Discovering similar

19

Page 20: Estudio de perfiles de visitantes de un website a partir de los logs de ...

patterns in time series. In Raghu Ramakrishnan, Sal Stolfo, Roberto Bayardo, and Ismail Parsa, editors, Proceedings of the 6th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD-00), pages 497-505, N. Y., August 20-232000. ACM Press

[CY99] Y. S. Choi and S. I. Yoo. Multi-agent Web information retrieval: Neural network based approach. Lecture Notes in Computer Science, 1642:499-?, 1999

[Etz96] Oren Etzioni. TheWorld-WideWeb: Quagmire or gold mine? Communications of the ACM, 39(11):65-77, November 1996

[Fu] Yongjian Fu. Clustering of web users based on access patterns

[GS] Lise Getoor and Mehran Sahami. Using probabilistic relational models for collaborative filtering

[Har75] J. Hartigan. Clustering Algorithm. JohnWilley, 1975

[HCC92] Jiawei Han, Yandong Cai, and Nick Cercone. Knowledge discovery in databases: An attribute-oriented approach. In Li-Yan Yuan, editor, Very large data bases: VLDB '92, proceedings of the 18th International Conference on Very Large Data Bases, August 23-27, 1992, Vancouver, Canada, pages 547-559, Los Altos, CA 94022, USA, 1992.Morgan Kaufmann Publishers

[HDB89] R. J. Hathaway, J. W. Davenport, and J. C. Bezcez. Relational duals of the c-means algorithms. Pattern recognition, 22:205-212, 1989

[HK01] Jiawei Han and Micheline Kamber. Data Mining: Concepts and Techniques. Morgan Kaufmann publishers, 2001

[HP99] Thomas Hofmann and Jan Puzicha. Latent class models for collaborative filtering. In Dean Thomas, editor, Proceedings of the 16th International Joint Conference on Artificial Intelligence (IJCAI-99-Vol2), pages 688-693, S.F., July 31-August 6 1999. Morgan Kaufmann Publishers

[JFM97] T. Joachims, D. Freitag, and T. Mitchell. Webwatcher: A tour guide for the world wide web. In Proceedings of IJCAI97, 1997

[KMM+97] Joseph A. Konstan, Bradley ò N. Miller, David Maltz, Jonathan L. Herlocker, Lee R. Gordon, and John Riedl. GroupLens: Applying collaborative filtering to Usenet news. Communications of the ACM, 40(3):77-87,March 1997

[KNY00] H. Kato, T. ò Nakayama, and Y. Yamane. Navigation analysis tool based on the correlation between contents distribution and access patterns. In Workshop on WebMining for E-Commerce - Challenges and Opportunities Working Notes (KDD2000), pages 95-104, August 2000

[Las95] Yezdi Lashkari. Feature guided atomated collaborative filtering. Master's thesis, Massachutes institute of tech, 1995

[LFW01] Henry Lieberman, Christopher Fry, and Louis Weitzman. Exploring the web with reconnaissance agents. Communications of the ACM, 44(8):69-75, August 2001

[Lie95] Henry Lieberman. Letizia: An agent that assists web browsing. In Chris S. Mellish, editor, Proceedings of the Fourteenth International Joint Conference on Artificial Intelligence, pages 924-929. Morgan Kaufmann publishers Inc.: San Mateo, CA, USA, August 20-25 1995

[MDL+00] B. Mobasher, H. Dai, T. Luo, M. ò Nakagawa, and J. Witshire. Discovery of aggregate usage profiles for web personalization. In Proceedings of the WebKDD

20

Page 21: Estudio de perfiles de visitantes de un website a partir de los logs de ...

Workshop, 2000

[MJHS97] B. Mobasher, N. Jain, E. Han, and J. Srivastava. Web mining: Pattern discovery from WWW transaction. In Int Conference on Tools with Artificial Intelligence, pages 558-567, New port, 1997

[NFJK99] Olfa Nasraoui, Hichem Frigui, Anupam Joshi, and Raghu Krishnapuram. Mining web access logs using relational competitive fuzzy clustering. In Proceedings of the International Fuzzy Systems Association Congress, Chungli, Taiwan, August 1999

[NKJ98] O. Nasraoiu, R. Krisnapuram, and A. Joshi. Mining web access logs using a fuzzy relational clustering algortihm based on a robust estimator. 1998

[PHMAZ00] Jian Pei, Jiawei Han, BehzadMortazavi-Asl, and Hua Zhu. Mining access patterns efficiently from web logs. In Proceedings Pacific-Asia Conference on Knowledge Discovery and DataMining (PAKDD'00), 2000

[SBKFF01] Cyrus Shahabi, Farnoush Banaei-Kashani, Jabed Faruque, and Adil Faisal. Feature matrices: A model for efficient and anonymous web usage mining. In Proceedings of EC-Web 2001, Germany, September 2001

[SF98] Myra Spiliopoulou and Lukas C. Faulstich. WUM: a Web Utilization Miner. In Workshop on the Web and Data Bases (WebDB98), pages 109-115, 1998

[SFKF00a] Cyrus Shahabi, Adil Faisal, Farnoush Banaei Kashani, and Jabed Faruque. INSITE: A tool for real-time knowledge discovery from users web navigation. In Proceedings of Very Large Databases (VLDB'2000), Cairo, Egypt, September 2000

[SFKF00b] Cyrus Shahabi, Adil Faisal, Farnoush Banaei Kashani, and Jabed Faruque. Insite: A tool for interpreting users? interaction with a web space. In Amr El Abbadi, Michael L. Brodie, Sharma Chakravarthy, Umeshwar Dayal, Nabil Kamel, Gunter Schlageter, and Kyu-Young Whang, editors, VLDB 2000, Proceedings of 26th International Conference on Very Large Data Bases, September 10-14, 2000, Cairo, Egypt, pages 635-638. Morgan Kaufmann, 2000

[SFW99] M. Spiliopoulou, L. Faulstich, and K. Wilkler. A data miner analyzing the navigational behaviour of web users. In Proc. Of the Workshop on Machine Learning in User Modelling of the ACAI99, Greece, July 1999

[SKS98] Stuart Schechter, Murali Krishnan, and Michael D. Smith. Using path profiles to predict HTTP requests. Computer Networks and ISDN Systems, 30(1ñ7):457-467, April 1998

[SM95] Upendra Shardanand and Patti Maes. Social information filtering: Algorithms for automating “word of mouth”. In Proceedings of ACM CHI'95 Conference on Human Factors in Computing Systems, volume 1 of Papers: Using the Information of Others, pages 210-217, 1995

[SPF99] Myra Spiliopoulou, Carsten Pohle, and Lukas Faulstich. Improving the effectiveness of a web site with web usage mining. In Proceedings WEBKDD99. Springer, 1999

[SZAS97] C. Shahabi, A. M. Zarkesh, J. Adibi, and V. Shah. Knowledge discovery from user's webpage navigation. In Proceedings of the Seventh International Workshop on Research Issues in Data Engineering, High Performance DatabaseManagement for Large-Scale Applications (RIDE'97), pages 20-31,Washington - Brussels - Tokyo, April 1997. IEEE

[TK00] Pang-Ning Tan and Vipin Kumar. Modeling of web robot navigational patterns. In Workshop on Web Mining for E-Commerce - Challenges and Opportunities Working Notes (KDD2000), pages 111-117, Boston, MA, August 2000

21

Page 22: Estudio de perfiles de visitantes de un website a partir de los logs de ...

[VO00] Slodoban Vucetic and Zoran Obradovic. A regression based approach for scaling-up personalized recommeder systems in e-commerce. In The Sixth ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (Workshop on Web Mining for E-Commerce - Challenges and Opportunities), August 2000

[Wer74] P.Werbos. Beyond Regression New Tools for Prediction and Analysis in the Behaviroal Scienes. PhD thesis, Harvard, 1974

[WL00] Gaul Wolfang and Schmidt-Thieme Lars. Mining web navigation path fragments. In Workshop on Web Mining for E-Commerce - Challenges and Opportunities Working Notes (KDD2000), pages 105-110, Boston, MA, August 2000

[wus] http://www.boutell.com/wusage

[YHW00] Y.Y Yao, H. J. Hamilton, and X.W Wang. PagePrompter: An intelligent agent for web navigation created using data mining techniques. Technical report, Department of Computer Science, November 2000

[ZRL96] Tian Zhang, Raghu Ramakrishnan, and Miron Livny. BIRCH: an efficient data clustering method for very large databases. In H. V. Jagadish and Inderpal Singh Mumick, editors, Proceedings of the 1996 ACM SIGMOD International Conference on Management of Data, Montreal, Quebec, Canada, June 4ñ6, 1996, pages 103ñ114, New York, NY 10036, USA, 1996. ACM Press

22