Upload
leanh
View
227
Download
0
Embed Size (px)
Citation preview
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
Fecha: Septiembre, 2002
2
Í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
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
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
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
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
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
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
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
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
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
: 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
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
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
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
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
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
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
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
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
[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