SlideShare uma empresa Scribd logo
1 de 11
Baixar para ler offline
Minería de uso Web para la identificación de
                 patrones

                                                     Castaño P. Andres P.*


Resumen

La minería Web es la aplicación de técnicas de minería de datos para descubrir patrones de uso de los
usuarios desde datos en la Web. Este documento se centra en una de las categorías de la minería Web, la
minería de uso Web. Se analiza la técnica reglas de asociación haciendo énfasis en las reglas de asociación
difusas, y un caso de estudio para la identificación de patrones de navegación en la Universidad de Caldas.

Palabras clave: minería Web, minería de uso Web, reglas de asociación, patrones.



                  WEB MINING FOR IDENTIFYING PATTERNS
Abstract

Web mining is the application of data mining techniques to discover usage patterns from web data. This
document focuses on one of the categories of Web mining, Web usage mining. It analyzes the rules of
association technique with emphasis on the vague association rules and shows a case study for navigation
pattern identification of at the Universidad de Caldas.

Key words: Web mining, Web usage mining, association rules, patterns.



                                                        Introducción
El gran crecimiento que ha tenido la Web en la última década ha generado nuevos espacios y oportunidades
de negocio para las empresas. La capacidad para rastrear el comportamiento de los usuarios en su
navegación ha permitido estrechar la relación entre el vendedor y el cliente como nunca antes se había
hecho. La minería de uso Web permite la búsqueda de patrones de acceso general, analizar el tráfico
para entender los patrones de acceso y comportamiento habitual de los usuarios y sus tendencias con el
fin de reestructurar el sitio Web ubicando los contenidos de forma más accesible o para ubicar y dirigir
a los usuarios de la Web hacia lugares relevantes e importantes para ellos; también permite personalizar
el uso, analizar las tendencias individuales de cada visitante de la Web para adaptar dinámicamente la
información del sitio Web, su estructura o recursos a cada visitante según el patrón de acceso que exhiba.

Minería de uso Web

Según las aplicaciones de descubrimiento, la minería de uso Web tiene dos enfoques principales; uno es
la búsqueda de patrones de acceso general, que analiza el tráfico para entender los patrones de acceso
y comportamiento habitual de los usuarios y sus tendencias con el fin de reestructurar el sitio Web


*
  Ingeniero electricista, docente Universidad de Caldas. Estudiante del doctorado en Ingeniería Informatica de la Universidad Pontificia de
Salamanca. E-mail: andres.castano@ucaldas.edu.co


                                         Vector, Volumen 4, Enero - Diciembre 2009, págs. 27 - 37
                                        Recibido 10 Septiembre 2009, Aprobado 13 Noviembre 2009
Castaño P., Andres P.




         ubicando los contenidos de forma más accesible o para ubicar y dirigir a los usuarios de la Web hacia
         lugares relevantes e importantes para ellos; la segunda tendencia es la búsqueda para personalizar el
         uso, en la que se analizan las tendencias individuales de cada visitante de la Web para personalizar o
         adaptar dinámicamente la información del sitio Web, su estructura o recursos a cada visitante según el
         patrón de acceso que exhiba (Tao, Hong & Su, 2008).

         El proceso general de minería de uso de la Web parte del establecimiento de los objetivos del administrador
         o propietario del servidor de información, pasando por fases de filtrado y limpieza de datos, así como
         transformación y agregación de datos (Daedalus, 2002). En este punto del proceso se utilizan diferentes
         técnicas para analizar y descubrir patrones de comportamiento interesantes en los clientes o usuarios.
         La información obtenida será de gran utilidad para mejorar el rendimiento de los servidores Web, tanto
         desde el punto de vista técnico como de negocio.


                                  Preprocesamiento de datos                             Análisis de los patrones de
                                                                                                     uso




          Colección de datos                                        Descubrimiento de
                                                                     patrones de uso


                                        Figura No 1. Etapas de la minería de uso Web.



         Reglas de asociación
         Esta es una de las técnicas que más se utiliza en la búsqueda de patrones de datos, para conocer el
         comportamiento general del usuario y ayudar a la toma de decisiones, usada mucho en problemas típicos
         de supermercados para conocer los productos que suelen comprarse conjuntamente; en servidores Web,
         para conocer las rutas de visitas seguidas por los visitantes a las páginas Web y, de esta forma, asistir en
         la estructuración de las páginas Web del servidor.

         Una regla de asociación es una proposición probabilística sobre la ocurrencia de ciertos estados en una

         expresar, siendo I el conjunto completo de ítems T ⊆ I, una transacción es un conjunto de ítems al que
         base de datos (Hernández Orallo, Ramírez Quintana & Ferri Ramírez, 2004). Matemáticamente se puede

         se le asocia un identificador único TID. Una transacción contiene un conjunto de ítems X si T⊆ I. Luego
         una regla de asociación es una implicación de la forma X à Y, donde X e Y son conjuntos de ítems de
         intersección vacía. Una regla de asociación puede ser vista como reglas de la forma SI α ENTONCES
         β, donde α y β son dos conjuntos de ítems disjuntos. Otra forma muy utilizada de expresar una regla
         de asociación es β ß α, o también α à β. El conjunto α recibe el nombre de predecesor de la regla, y a
         β se le denomina sucesor o consecuente (Hernández Orallo, Ramírez Quintana & Ferri Ramírez, 2004).

         Dado un conjunto de transacciones D, se trata de obtener todas las reglas de asociación que tengan una
         fiabilidad y una relevancia superiores a unos umbrales especificados por el usuario (mínimo de confianza,
         mínimo de soporte). Es decir, se suele trabajar con estas dos medidas para conocer la calidad de la regla;
         la cobertura (también denominada soporte) de una regla se define como el número de instancias que



[ 28 ]
Minería de uso Web para la identificación de patrones




la regla predice correctamente. Por otra parte, la confianza mide el porcentaje de veces que la regla se
cumple cuando se puede aplicar.

Uno de los principales problemas que se presentan en la extracción de las reglas de asociación, en bases
de datos o conjuntos de datos que sean lo suficientemente voluminosos, son los costos de tiempo así
como el espacio necesario que en muchos casos pueden resultar inviables.

Para lograr los objetivos en la extracción de las reglas de asociación es necesario trabajar con todos los
ítems posibles. Es decir, si tenemos m ítems, significa que se deben considerar       posibles conjuntos de
ítems. La búsqueda exhaustiva de reglas de asociación consideraría todas las combinaciones posibles de
elementos, poniéndolas como premisas y conclusiones, entonces se evaluaría el soporte y la confianza de
cada regla, y se descartarían todas las asociaciones que no satisfacen las restricciones. Para cada premisa
existe la posibilidad de formar una regla poniendo como conclusión cualquier conjunto de elementos
que no contenga algún elemento que ya se encuentra en la premisa. Así, este procedimiento para la
búsqueda de reglas es costoso computacionalmente y se requiere otro procedimiento más eficiente como
el algoritmo Apriori. Los algoritmos existentes nos permiten aplicar técnicas heurísticas para deducir
en la medida en que sea necesario el número de conjuntos de ítems que se consideren, de acuerdo a la
estimación de si podrán o no ser frecuentes.

Sin embargo, a pesar de la ayuda que puedan entregar estos algoritmos, existen otros problemas asociados
a la aplicación que les pueda dar el usuario final. El contenido obtenido es dependiente del contexto
al que pertenece la información contenida en la base de datos original; por esta razón es conveniente
la intervención de un experto humano en el área que pueda interpretar las reglas asociadas obtenidas,
indicando cuáles son útiles y cuáles no. Se podría incluir en este punto algunas restricciones adicionales
para disminuir el rango de las reglas asociadas obtenidas, restricciones de tipo sintáctico, de soporte, de
cumplimiento (Escobar Jeria, 2007).

Un algoritmo de aprendizaje de reglas de asociación muy simple y popular es el algoritmo Apriori. El
funcionamiento de este algoritmo se basa en la búsqueda de los conjuntos de ítems con determinada
cobertura y lo que busca es reducir el número de conjuntos considerados. Cuando el usuario define la
cobertura mínima, éste genera todos los conjuntos que cumplen con la condición de tener un soporte
menor o igual a la cobertura mínima, construyendo los conjuntos formados por sólo un ítem que superan
la cobertura mínima; este conjunto de conjuntos se utiliza para construir el conjunto de conjuntos de dos
ítems, y así sucesivamente hasta que llegue a un tamaño en el cual no existan conjuntos de ítems con la
cobertura requerida. Para la búsqueda de los conjuntos de ítems se emplea un conjunto de ítems formado
por X ítems frecuentes; si y sólo si cada uno de los X ítems es frecuente por sí solo, permitiendo generar
los conjuntos de ítems frecuentes de una manera incremental.

Algoritmo Apriori(D:datos, MinC:cobertura mínima)
i=0
Rellenar_item( ) // Incluye en    todos los items de tamaño 1
MIENTRAS          ≠0
PARA CADA X = elemento de
SI Cobertura (X) ≥ MinC ENTONCES       = UX
FIN PARA
       = Selecciona_candidatos( )
i = i +1
FIN MIENTRAS
RETORNA C
FIN ALGORITMO




                                                                                                              [ 29 ]
                                Vector, Volumen 4, Enero - Diciembre 2009, págs. 27 - 37
Castaño P., Andres P.




         Ante las medidas usadas en las reglas de asociación, soporte y confianza, algunos autores esgrimen
         desventajas en contra de la confianza, argumentando que esta no mide adecuadamente el grado de
         independencia estadística entre el consecuente y el antecedente, tampoco refleja su dependencia negativa
         y es una medida de probabilidad confeccionada, es decir, no es intuitiva y, por lo tanto, es difícil para un
         usuario no experto establecer umbrales mínimos de confianza semánticamente significativos a la hora
         de obtener las reglas de asociación.

         En Sánchez Fernández (1999) se plantea el uso de un factor nuevo, el factor certeza, que es una
         representación de la incertidumbre asociada al conocimiento; su principal objetivo es brindar unas
         medidas de incertidumbre más intuitivas que las medidas de probabilidad condicionada.

         Debido a los problemas presentados (Sánchez Fernández, 1999) sobre la dificultad que se tiene en las
         reglas de asociación cuantitativas, por el problema de incompatibilidad entre el alto nivel de granularidad
         y nuestra forma de razonar, adicionalmente se presentan otros problemas como el del mínimo de soporte,
         mínimo de confianza, tiempo de ejecución, aumento del número de reglas y se propone como medio
         para afrontar esta problemática el uso de reglas de asociación difusas.

         La metodología recomendada en Sánchez Fernández (1999) sugiere que se podrían eliminar la gran
         cantidad de reglas falsas, obteniendo reglas de mayor calidad, basadas en casos positivos y negativos,
         que permitan discriminar si la asociación es correcta o no, y el uso de etiquetas lingüísticas que ayuden
         a reducir la segmentación del dominio.


         Reglas de asociación difusas


         un subconjunto difuso no vacio de I, donde ⊆ I. Para toda i
         De acuerdo con Escobar Jeria (2007), dado un conjunto de ítems I, se define una transacción difusa como
                                                                            I, notaremos (i) el grado de potencia
         de i en una transacción difusa . Notaremos a                  el grado de inclusión de un conjunto de ítems en
         una transacción difusa, definida como:




         De acuerdo a la definición anterior, una transacción es un caso especial de transacciones difusas, que se
         pueden apreciar en la siguiente Tabla No. 1.


         Tabla No. 1
         Transacciones difusas


                                                   0             0,6            0,7       0,9
                                                   0             1,0             0        1,0
                                                  1,0            0,5            0,75      1,0
                                                  1,0             0             0,1       1,0
                                                  0,5            1,0             0        1,0
                                                  1,0              0            0,75      1,0




[ 30 ]
Minería de uso Web para la identificación de patrones




Las columnas y las filas son descritas por identificadores de ítems y de transacciones respectivamente. La
celda para el ítem     y la transacción , contienen un valor entre [0, 1], que es el grado de pertenencia
de    en , o también .

Para entender mejor el concepto expresado, analizaremos la Tabla No. 1 como ejemplo; tenemos un conjunto

de 4 ítems i, con 6 transacciones definidas en I. Luego,                                     ,                   y así con
todas las demás; particularmente se puede decir que                                  , es una transacción crisp. Algunos

grados de inclusión son                                ;                                     ;                        .

Llamaremos a T-set un conjunto de transacciones ordinarias y FT-set un conjunto de transacciones difusas,
donde el ejemplo anterior muestra el conjunto de transacciones difusas FT-set = {
                     , el cual contiene seis transacciones difusas.

Podemos definir entonces a I como un conjunto de ítems, T como FT-set y A, C ⊆ I como dos subconjuntos
crisp, con A, C ≠ 0 y A C = 0, una regla de asociación difusa A à C es soportada en T si y sólo si:




Donde, el grado de inclusión de C es más grande que A para toda transacción difusa .

La definición anterior, preserva el significado de las reglas de asociación, porque si asumimos A ⊆
en algún sentido, debemos asumir que C ⊆ . Entonces, una transacción es un caso especial de una
transacción difusa, entonces una regla de asociación es un caso especial de una regla de asociación difusa.

Para determinar el soporte, confianza y factor de certeza de las reglas de asociación difusas, se utiliza un
enfoque semántico basado en la evaluación de sentencias cuantificadoras. Una sentencia cuantificadora es
una expresión de la forma Q de F son G, donde F y G son dos subconjuntos difusos de un conjunto finito
X y Q es un cuantificador relativo difuso. Los cuantificadores relativos son etiquetas lingüísticas para
porcentajes difusos que pueden ser representados en un conjunto difuso en [0, 1], así como la mayoría,
casi todos o muchos.

El soporte de    en T, donde I ⊆      , es la evaluación de la sentencia cuantificadora:

                                                  Q de F son

Donde     es un conjunto difuso definido como                                 .

El soporte de una regla de asociación A à C en el conjunto de transacciones difusas T es supp(A U C),
y la evaluación de la sentencia cuantificadora:

                               Q de T son

La confianza de una regla de asociación difusa A à C en un conjunto de transacciones difusas es la
evaluación de la sentencia cuantificadora:

                                                 Q de



                                                                                                                             [ 31 ]
                                 Vector, Volumen 4, Enero - Diciembre 2009, págs. 27 - 37
Castaño P., Andres P.




         La evaluación de una sentencia cuantificadora “Q de F son G” por medio del método GD puede ser
         interpretada como:

         •	      Lo evidente, que el porcentaje de objetos en F que está también en G (cardinal relativo de G con
         respecto a F) es Q;
         •	      Un cuantificador de agregación dirigido, del cardinal relativo de G con respecto a F por cada
         corte del mismo nivel de ambos conjuntos.

         Por lo tanto, Supp(A à C) puede ser interpretado como el porcentaje de transacciones en         es Q, y
         la Conf(A à C) puede verse como el porcentaje de transacciones en        que es también en     es Q. En
         ambos casos, el cuantificador es parámetro lingüístico que determina el final semántico de las medidas.

         Otra medida interesante y muy ligada a las medidas de soporte y confianza, es el factor certeza.
         Llamaremos factor certeza (FC) de una regla de asociación difusa A à C al valor:



                                                                                                    y




         Asumiendo que si supp (C)=1 entonces FC(AàC)=1 y si el supp(C)=0 entonces FC(AàC)= -1. Como se
         puede apreciar el factor certeza toma valores entre [1, -1], cuando es positivo indica que la dependencia
         entre A à C es positiva, si el factor certeza es igual a 0 quiere decir que son independientes y cuando el
         factor certeza es negativo indica que la dependencia entre A à C es negativa.

         Una de las técnicas propuestas para encontrar estas reglas es el algoritmo de AprioriTID presentado por
         Agrawal en Agrawal & Srikant (1994), que permite encontrar las reglas que satisfacen la condición de
         confianza y soporte mínimo y, además, el factor de certeza mínimo.
         El algoritmo AprioriTID se caracteriza porque no accede a la base de datos para obtener la relevancia de
         los candidatos. Para ello utiliza los conjuntos auxiliares CT[k].

         Cada miembro del conjunto auxiliar CT[k] es de la forma <TID,{X}> donde cada X es un k-itemset
         potencialmente relevante (un candidato) presente en la transacción identificada por TID. Evidentemente,

                                                                                            C[k] | c ⊆ t }>. Si una
         CT[1] se corresponde a la base de datos original en la cual cada ítem i es reemplazado por el itemset
         {i} . El elemento de CT[k] correspondiente a la transacción t es el par <TID, {c
         transacción no contiene ningún k-itemset candidato no tendrá una entrada en CT[k].

         La característica principal de AprioriTID, es que, en cada iteración, se recorre el conjunto CT[k-1] en
         lugar de la base de datos completa para obtener la relevancia de los itemsets de C[k]. En la generación
         de candidatos, este algoritmo utiliza el mismo proceso comentado para el algoritmo Apriori.

         L[k] es el conjunto de itemsets relevantes que contienen k ítems.
         C[k] es el conjunto de k-itemsets candidatos.
         CT[k] es el conjunto de k-candidatos con sus TIDs asociados.

         L[1] = {large 1-itemsets}
         CT[1] = Base de datos D
         k=2
         Mientras L[k-1] ≠ 0
         C[k] = candidatosAPRIORI (L[k-1])



[ 32 ]
Minería de uso Web para la identificación de patrones




CT[k] = 0
Para cada entrada t f CT[k-1]
Ct = Conjunto de candidatos de C[k] contenidos en t (usando TID)
Para cada candidato c f Ct
c.contador ++
Si Ct ≠ 0
CT[k] + = <t.TID, Ct>
L[k] = {c   C[k] | c.contador > = MinSupport}
k++


Caso de estudio

Ya realizado un análisis de las reglas de asociación difusas, es importante enfocarnos en la forma como
se van a extraer estas reglas de los archivos logs del servidor para cualquier búsqueda de patrones, esta
propuesta está basada en la presentada en el documento de Escobar Jeria (2007), “Minería Web de uso
y perfiles de usuario: aplicaciones con lógica difusa”.

Como cualquier proceso de minería, iniciamos con la fase de preprocesamiento de los datos buscando
obtener un conjunto más reducido de los datos originales para mejorar la eficiencia del proceso, aplicando
limpieza de datos, eliminando datos irrelevantes e inconsistentes y dejando el archivo listo para el análisis.

Para aplicar la técnica de las reglas de asociación difusas para la búsqueda de patrones, es necesario
identificar las entradas o transacciones que deja el usuario durante su navegación; el archivo Web log
del servidor estará conformado por diferentes campos dependiendo del tipo de formato que tenga dicho
archivo. Para un archivo log tipo CSV (Comma Separated Value), el cual está compuesto por seis campos
(identificador de compra, fecha, IP, sesión, página visitada, página referenciada). De estos campos se
deben seleccionar los campos de las transacciones que interesan para encontrar reglas asociadas solamente
con estos campos de información. Por ejemplo, si se seleccionan los campos de IP y página visitada, se
podrían conocer cuáles son las páginas visitadas por ciertos IP, en este punto la extracción de las reglas
depende del objetivo del análisis.

A nivel de las transacciones, es necesario establecer las tablas transaccionales sobre las cuales trabajaremos
para obtener las diferentes reglas. Especificando, podríamos obtener tablas formadas por los campos
páginas visitadas y referenciadas; es necesario determinar los pesos que se le asignarán a las páginas
durante su navegación, por esto, es importante relacionar también las direcciones IP para que cada
navegación desde una dirección IP pueda servir como criterio para determinar el peso. Para esta propuesta
tomaremos la frecuencia de la página relacionada con alguna IP particular.

Para obtener los diferentes pesos que se le asignarán a las páginas Web relacionadas con alguna IP dentro
del archivo log, es necesario tomar las diferentes direcciones y revisar las páginas Web del sitio, tanto
visitadas como referenciadas para obtener el número de veces que una página coincide con una dirección
IP. Por ejemplo, si suponemos que tenemos cuatro páginas diferentes entre visitadas y referenciadas y
cuatro direcciones IP, podemos relacionar en una tabla el número de veces que cada dirección IP visitó
cada una de las páginas Web de nuestro sitio.




                                                                                                                 [ 33 ]
                                 Vector, Volumen 4, Enero - Diciembre 2009, págs. 27 - 37
Castaño P., Andres P.




         Tabla No. 2
         Frecuencia de las páginas por dirección IP
                                 Páginas
                                                          Pág. 1                  Pág. 2                Pág. 3              Pág. 4
                                 IP
                                                               0                     3                    1                   8
                                                               4                     0                    3                   2
                                                               6                     0                    5                   1
                                                               0                     4                    0                   3


         Partiendo de la Tabla No. 2, se pueden obtener los pesos de las páginas en el archivo log del servidor,
         así para la Pág. 1 en la      el peso sería de 0,5, ya que dividimos el número de veces de la Pág. 1 en la
         dirección      por el valor máximo de la frecuencia de las páginas, que para este caso es 8; así podremos
         obtener valores entre [0, 1].

         De esta forma podemos obtener las transacciones difusas relacionadas, para poder determinar las reglas
         en la Tabla No. 3.


         Tabla No. 3
         Transacciones difusas
                                           Páginas
                                                               Pág. 1V            Pág. 2V         Pág. 3R          Pág. 4R
                                           IP
                                                                     0             0,38            0,13                1
                                                                    0,5              0             0,38              0,25
                                                                   0,75              0             0,63              0,13
                                                                     0              0,5              0               0,38



         Se ha utilizado la simbología para las páginas visitadas poniendo una V al final de cada página y una R
         para especificar las páginas referenciadas.

         Las columnas y filas son descritas por identificadores de ítem, para este caso se han descrito como
                y las transacciones    , y el cruce entre ambas contienen valores entre [0, 1], que es el grado de
         pertenencia de         en   .

         Sea IP = {          ,              ,              ,             } el conjunto de ítems. Luego,        = {0,38/              + 0,13/
                  + 1/            };            = {0,5/               + 0,38/        + 0,25/       } y así sucesivamente.

         Algunos grados de inclusión son:

            = ({         ,             ,             }) = 0,13;            = ({            ,        ,            }) = 0,25.

         Basados en las definiciones anteriores para el cálculo de las medidas de soporte y confianza con esta
         información se pueden obtener, y así determinar las reglas más interesantes para el caso.

         Podemos evaluar las medidas de soporte analizando, por ejemplo, la página visitada 1 (Pág1V) con la
         página referenciada 3 (Pág3R) así:


[ 34 ]
Minería de uso Web para la identificación de patrones




  •	    Supp (Pag1V à Pág3R) = 0,252 y así mismo, para las demás paginas:


Tabla No. 4
Valores de soporte, confianza y factor certeza de reglas difusas
                     Reglas                       Soporte                 Confianza        Factor Certeza
              {Pág.1V} à {Pág.3R}                   0,252                     0,504            -0,328
              {Pág.2V} à {Pág.3R}                   0,032                     0,064            -0,91
              {Pág.1V} à {Pág.4R}                   0,095                      0,19            -0,81
              {Pág.2V} à {Pág.4R}                    0,19                      0,38            -0,62

Como se definió anteriormente, con el análisis de este conjunto de datos, se podría saber cuál es el tipo
de navegación más habitual y por dónde navega el usuario con mayor frecuencia. Para el proceso de
búsqueda de reglas de asociación difusas, el usuario debe determinar los valores de medidas de mínimo
soporte, mínima confianza y mínimo factor de certeza para buscar reglas.

Puede notarse cómo con este proceso se reducen significativamente las posibles reglas de asociación, ya
que si estuviésemos trabajando con las reglas de asociación cuantitativas, tendríamos que trabajar con
todos los itemsets posibles.

Una vez obtenidas las transacciones y determinadas las medidas mínimas de corte para la búsqueda de
las reglas, se aplica el algoritmo AprioriTID, para encontrar las reglas de asociaciones, el cual ataca el
problema reduciendo el número de conjuntos considerados.

Vamos a suponer a través de un ejemplo cómo podrían extraerse las reglas de asociación difusas de uso,
su interpretación y obtención de medidas subjetivas; si configuramos la regla con los campos páginas
visitadas y referenciadas para conocer los hábitos de visitas del sitio Web.

Página visitada à Página referenciada

http://www.ucaldas.edu.co/index.php?option=com_frontpage&Itemid=1 à http://www.ucaldas.edu.co/
index.php?option=com_content&task=category&sectionid=4&id=220&Itemid=340

  •	    Soporte = 0,6.
  •	    Confianza = 1,0.
  •	    FC = 1,0.

Interpretación: esto indica que los usuarios que visitan la primer página, luego se van a la segunda página;
es una regla que se encuentra en un 60% dentro del conjunto analizado y nos muestra ciertos patrones
de navegación del usuario, con lo cual se puede rediseñar la estructura del sitio para que el usuario
pueda encontrar información más interesante en esa página e identificar ciertos grupos de usuarios que
presenten las mismas características de navegación.



                                              Conclusiones
  •	    Las reglas de asociación clásicas son recomendadas para trabajarse en bases de datos
  transaccionales, donde cada transacción contiene o no un ítem determinado y por lo general los
  atributos de las transacciones se consideran booleanos; sin embargo, cuando se tienen bases de datos


                                                                                                               [ 35 ]
                                Vector, Volumen 4, Enero - Diciembre 2009, págs. 27 - 37
Castaño P., Andres P.




           con otros tipos de atributos como categóricos o numéricos, como suele suceder en la web, las reglas de
           asociación resultan una muy buena opción para estudios de marketing en las organizaciones comerciales
           o para determinar patrones de navegación o comportamiento de los usuarios y reestructurar el sitio
           de acuerdo a la información hallada.

           •	    Para bases de datos voluminosas, la aplicación de las reglas de asociación en la búsqueda de
           patrones puede resultar inviable en términos de tiempo y espacio, además, aún si esto no es una
           limitante, la obtención de un conjunto de reglas puede ser demasiado amplio y la interpretación de
           las reglas obtenidas para establecer su utilidad sería una labor muy dispendiosa inclusive para un
           experto en el tema.

           •	    En la extracción de conocimiento, es altamente recomendable buscar, tanto la calidad como la
           cantidad de las reglas de asociación, en conjuntos de datos con presencia de atributos con dominios
           de un alto nivel de granularidad, para este fin se recomienda utilizar, para la generación de las reglas,
           el concepto ofrecido por la asociación difusa de usar el soporte y el factor de certeza en lugar de la
           confianza.

           •	    Se recomienda trabajar con reglas de asociación difusas con las que se pueden alcanzar mejores
           representaciones, para obtener patrones de comportamiento de los usuarios en su interacción con un
           sitio web.



                                                       Referencias
         Abraham, A. (2003). “Business Intelligent from web usage mining”. Journal of Information & Knowledge
         Management, 375-390.

         Agrawal, R. & Srikant, R. (1994). “Fast algorithms for mining association rules”. Proc. of the 20th Int’l
         Conference on Very Large Databases, 487-499.

         Cooley, R. W. (2000). Web Usage Mining: Discovery and Application of Interesting Patterns from Web Data.
         University of Minnesota: Doctoral Thesis.

         Daedalus. (2002). Minería web. Madrid: Data, Decisions and Language, S.A.

         Escobar Jeria, V. H. (2007). Mineria web de uso y perfiles de usuario: aplicaciones con lógica difusa. Granada.

         Facca, F. M. & Lanzi, P. L. (2005). Mining interesting knowledge from weblogs: a survey. Data & Knowledge
         Engineering, 225-241.

         Hernández Orallo, J., Ramírez Quintana, M. J. & Ferri Ramirez, C. (2004). Introducción a la mineria de
         datos. Prentice Hall.

         Joshi, K. P., Joshi, A., Yesha, Y. & Krishnapuram, R. (1999). Warehousing and mining Web logs. Proceedings
         of the 2nd international Workshop on Web information and Data Management, 63-68.

         Krishnapuram, R., Joshi, A., Nasraoui, O. & Yi, L. (2001). Low-complexity fuzzy relational clustering
         algorithms for Webmining. IEEE Transactions on Fuzzy Systems, 595-607.

         Marin Diazaraque, J. M. (s.f.). Departamento de Estadistica. Recuperado el 07 de 2008, de Universidad
         Carlos III de Madrid: http://halweb.uc3m.es/esp/Personal/personas/jmmarin



[ 36 ]
Minería de uso Web para la identificación de patrones




Mobasher, B., Dai, H., Luo, T., Sun, Y. & Zhu, J. (2000). Integrating Web Usage and Content Mining for
More Effective Personalization. Proceedings of the First international Conference on Electronic Commerce and
Web Technologies, 165-176.

Pal, S., Talwar, V. & Mitra, P. (2002). Web mining in soft computing framework: relevance, state of the art
and future directions. IEEE Transactions on Neural Networks, 1163-1177.

Sánchez Fernández, D. (1999). Adquisición de relaciones entre atributos en bases de datos relacionales. Granada.

Srivastava, J., Cooley, R., Deshpande, M. & Tan, P.-N. (2000). Web Usage Mining: Discovery and
Applications of Usage Patterns from Web Data. ACM SIGKDD, 12-23.

Tao, Y., Hong, T. & Su, Y. (2008). Web usage mining with intentional browsing data. Expert Systems with
Applications: An International Journal, 1893-1904.




                                                                                                                   [ 37 ]
                                 Vector, Volumen 4, Enero - Diciembre 2009, págs. 27 - 37

Mais conteúdo relacionado

Semelhante a Vector4 4

Minería de la web Semantica
Minería de la web SemanticaMinería de la web Semantica
Minería de la web Semanticaguesta5edc1
 
Eye traking
Eye trakingEye traking
Eye trakingPgrado
 
Sistema de bases de datos
Sistema de bases de datosSistema de bases de datos
Sistema de bases de datosAriel Medina
 
Data mining
Data miningData mining
Data miningrubza
 
Mineria y modelado de datos
Mineria y modelado de datosMineria y modelado de datos
Mineria y modelado de datosSergio Salimbeni
 
Data mining
Data miningData mining
Data miningrubzabet
 
Modelos de bases de datos
Modelos de bases de datosModelos de bases de datos
Modelos de bases de datosJperez98
 
Semantic web mining
Semantic web miningSemantic web mining
Semantic web miningi2c2
 
Análisis de Requerimientos
Análisis de RequerimientosAnálisis de Requerimientos
Análisis de RequerimientosMarcel Aponte
 
La Web semántica como facilitador de búsqueda en los estudiantes
La Web semántica como facilitador de búsqueda en los estudiantesLa Web semántica como facilitador de búsqueda en los estudiantes
La Web semántica como facilitador de búsqueda en los estudiantesAnthony-Macas
 
Exposicion mineria de datos - Franklin Rodríguez
Exposicion mineria de datos - Franklin Rodríguez Exposicion mineria de datos - Franklin Rodríguez
Exposicion mineria de datos - Franklin Rodríguez Ana Delgado
 

Semelhante a Vector4 4 (20)

Minería de la web Semantica
Minería de la web SemanticaMinería de la web Semantica
Minería de la web Semantica
 
Web mining
Web miningWeb mining
Web mining
 
Pu2
Pu2Pu2
Pu2
 
Eye traking
Eye trakingEye traking
Eye traking
 
Mineria de datos
Mineria de datosMineria de datos
Mineria de datos
 
Mineria De Datos
Mineria De DatosMineria De Datos
Mineria De Datos
 
Sistema de bases de datos
Sistema de bases de datosSistema de bases de datos
Sistema de bases de datos
 
Data mining
Data miningData mining
Data mining
 
Mineria y modelado de datos
Mineria y modelado de datosMineria y modelado de datos
Mineria y modelado de datos
 
Data mining
Data miningData mining
Data mining
 
Marisela labrador
Marisela labradorMarisela labrador
Marisela labrador
 
Modelos de bases de datos
Modelos de bases de datosModelos de bases de datos
Modelos de bases de datos
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Mineria de datos ok
Mineria de datos okMineria de datos ok
Mineria de datos ok
 
Semantic web mining
Semantic web miningSemantic web mining
Semantic web mining
 
Análisis de Requerimientos
Análisis de RequerimientosAnálisis de Requerimientos
Análisis de Requerimientos
 
Web semantica
Web semanticaWeb semantica
Web semantica
 
La Web semántica como facilitador de búsqueda en los estudiantes
La Web semántica como facilitador de búsqueda en los estudiantesLa Web semántica como facilitador de búsqueda en los estudiantes
La Web semántica como facilitador de búsqueda en los estudiantes
 
Exposicion mineria de datos - Franklin Rodríguez
Exposicion mineria de datos - Franklin Rodríguez Exposicion mineria de datos - Franklin Rodríguez
Exposicion mineria de datos - Franklin Rodríguez
 
Mineria de datos
Mineria de datosMineria de datos
Mineria de datos
 

Vector4 4

  • 1. Minería de uso Web para la identificación de patrones Castaño P. Andres P.* Resumen La minería Web es la aplicación de técnicas de minería de datos para descubrir patrones de uso de los usuarios desde datos en la Web. Este documento se centra en una de las categorías de la minería Web, la minería de uso Web. Se analiza la técnica reglas de asociación haciendo énfasis en las reglas de asociación difusas, y un caso de estudio para la identificación de patrones de navegación en la Universidad de Caldas. Palabras clave: minería Web, minería de uso Web, reglas de asociación, patrones. WEB MINING FOR IDENTIFYING PATTERNS Abstract Web mining is the application of data mining techniques to discover usage patterns from web data. This document focuses on one of the categories of Web mining, Web usage mining. It analyzes the rules of association technique with emphasis on the vague association rules and shows a case study for navigation pattern identification of at the Universidad de Caldas. Key words: Web mining, Web usage mining, association rules, patterns. Introducción El gran crecimiento que ha tenido la Web en la última década ha generado nuevos espacios y oportunidades de negocio para las empresas. La capacidad para rastrear el comportamiento de los usuarios en su navegación ha permitido estrechar la relación entre el vendedor y el cliente como nunca antes se había hecho. La minería de uso Web permite la búsqueda de patrones de acceso general, analizar el tráfico para entender los patrones de acceso y comportamiento habitual de los usuarios y sus tendencias con el fin de reestructurar el sitio Web ubicando los contenidos de forma más accesible o para ubicar y dirigir a los usuarios de la Web hacia lugares relevantes e importantes para ellos; también permite personalizar el uso, analizar las tendencias individuales de cada visitante de la Web para adaptar dinámicamente la información del sitio Web, su estructura o recursos a cada visitante según el patrón de acceso que exhiba. Minería de uso Web Según las aplicaciones de descubrimiento, la minería de uso Web tiene dos enfoques principales; uno es la búsqueda de patrones de acceso general, que analiza el tráfico para entender los patrones de acceso y comportamiento habitual de los usuarios y sus tendencias con el fin de reestructurar el sitio Web * Ingeniero electricista, docente Universidad de Caldas. Estudiante del doctorado en Ingeniería Informatica de la Universidad Pontificia de Salamanca. E-mail: andres.castano@ucaldas.edu.co Vector, Volumen 4, Enero - Diciembre 2009, págs. 27 - 37 Recibido 10 Septiembre 2009, Aprobado 13 Noviembre 2009
  • 2. Castaño P., Andres P. ubicando los contenidos de forma más accesible o para ubicar y dirigir a los usuarios de la Web hacia lugares relevantes e importantes para ellos; la segunda tendencia es la búsqueda para personalizar el uso, en la que se analizan las tendencias individuales de cada visitante de la Web para personalizar o adaptar dinámicamente la información del sitio Web, su estructura o recursos a cada visitante según el patrón de acceso que exhiba (Tao, Hong & Su, 2008). El proceso general de minería de uso de la Web parte del establecimiento de los objetivos del administrador o propietario del servidor de información, pasando por fases de filtrado y limpieza de datos, así como transformación y agregación de datos (Daedalus, 2002). En este punto del proceso se utilizan diferentes técnicas para analizar y descubrir patrones de comportamiento interesantes en los clientes o usuarios. La información obtenida será de gran utilidad para mejorar el rendimiento de los servidores Web, tanto desde el punto de vista técnico como de negocio. Preprocesamiento de datos Análisis de los patrones de uso Colección de datos Descubrimiento de patrones de uso Figura No 1. Etapas de la minería de uso Web. Reglas de asociación Esta es una de las técnicas que más se utiliza en la búsqueda de patrones de datos, para conocer el comportamiento general del usuario y ayudar a la toma de decisiones, usada mucho en problemas típicos de supermercados para conocer los productos que suelen comprarse conjuntamente; en servidores Web, para conocer las rutas de visitas seguidas por los visitantes a las páginas Web y, de esta forma, asistir en la estructuración de las páginas Web del servidor. Una regla de asociación es una proposición probabilística sobre la ocurrencia de ciertos estados en una expresar, siendo I el conjunto completo de ítems T ⊆ I, una transacción es un conjunto de ítems al que base de datos (Hernández Orallo, Ramírez Quintana & Ferri Ramírez, 2004). Matemáticamente se puede se le asocia un identificador único TID. Una transacción contiene un conjunto de ítems X si T⊆ I. Luego una regla de asociación es una implicación de la forma X à Y, donde X e Y son conjuntos de ítems de intersección vacía. Una regla de asociación puede ser vista como reglas de la forma SI α ENTONCES β, donde α y β son dos conjuntos de ítems disjuntos. Otra forma muy utilizada de expresar una regla de asociación es β ß α, o también α à β. El conjunto α recibe el nombre de predecesor de la regla, y a β se le denomina sucesor o consecuente (Hernández Orallo, Ramírez Quintana & Ferri Ramírez, 2004). Dado un conjunto de transacciones D, se trata de obtener todas las reglas de asociación que tengan una fiabilidad y una relevancia superiores a unos umbrales especificados por el usuario (mínimo de confianza, mínimo de soporte). Es decir, se suele trabajar con estas dos medidas para conocer la calidad de la regla; la cobertura (también denominada soporte) de una regla se define como el número de instancias que [ 28 ]
  • 3. Minería de uso Web para la identificación de patrones la regla predice correctamente. Por otra parte, la confianza mide el porcentaje de veces que la regla se cumple cuando se puede aplicar. Uno de los principales problemas que se presentan en la extracción de las reglas de asociación, en bases de datos o conjuntos de datos que sean lo suficientemente voluminosos, son los costos de tiempo así como el espacio necesario que en muchos casos pueden resultar inviables. Para lograr los objetivos en la extracción de las reglas de asociación es necesario trabajar con todos los ítems posibles. Es decir, si tenemos m ítems, significa que se deben considerar posibles conjuntos de ítems. La búsqueda exhaustiva de reglas de asociación consideraría todas las combinaciones posibles de elementos, poniéndolas como premisas y conclusiones, entonces se evaluaría el soporte y la confianza de cada regla, y se descartarían todas las asociaciones que no satisfacen las restricciones. Para cada premisa existe la posibilidad de formar una regla poniendo como conclusión cualquier conjunto de elementos que no contenga algún elemento que ya se encuentra en la premisa. Así, este procedimiento para la búsqueda de reglas es costoso computacionalmente y se requiere otro procedimiento más eficiente como el algoritmo Apriori. Los algoritmos existentes nos permiten aplicar técnicas heurísticas para deducir en la medida en que sea necesario el número de conjuntos de ítems que se consideren, de acuerdo a la estimación de si podrán o no ser frecuentes. Sin embargo, a pesar de la ayuda que puedan entregar estos algoritmos, existen otros problemas asociados a la aplicación que les pueda dar el usuario final. El contenido obtenido es dependiente del contexto al que pertenece la información contenida en la base de datos original; por esta razón es conveniente la intervención de un experto humano en el área que pueda interpretar las reglas asociadas obtenidas, indicando cuáles son útiles y cuáles no. Se podría incluir en este punto algunas restricciones adicionales para disminuir el rango de las reglas asociadas obtenidas, restricciones de tipo sintáctico, de soporte, de cumplimiento (Escobar Jeria, 2007). Un algoritmo de aprendizaje de reglas de asociación muy simple y popular es el algoritmo Apriori. El funcionamiento de este algoritmo se basa en la búsqueda de los conjuntos de ítems con determinada cobertura y lo que busca es reducir el número de conjuntos considerados. Cuando el usuario define la cobertura mínima, éste genera todos los conjuntos que cumplen con la condición de tener un soporte menor o igual a la cobertura mínima, construyendo los conjuntos formados por sólo un ítem que superan la cobertura mínima; este conjunto de conjuntos se utiliza para construir el conjunto de conjuntos de dos ítems, y así sucesivamente hasta que llegue a un tamaño en el cual no existan conjuntos de ítems con la cobertura requerida. Para la búsqueda de los conjuntos de ítems se emplea un conjunto de ítems formado por X ítems frecuentes; si y sólo si cada uno de los X ítems es frecuente por sí solo, permitiendo generar los conjuntos de ítems frecuentes de una manera incremental. Algoritmo Apriori(D:datos, MinC:cobertura mínima) i=0 Rellenar_item( ) // Incluye en todos los items de tamaño 1 MIENTRAS ≠0 PARA CADA X = elemento de SI Cobertura (X) ≥ MinC ENTONCES = UX FIN PARA = Selecciona_candidatos( ) i = i +1 FIN MIENTRAS RETORNA C FIN ALGORITMO [ 29 ] Vector, Volumen 4, Enero - Diciembre 2009, págs. 27 - 37
  • 4. Castaño P., Andres P. Ante las medidas usadas en las reglas de asociación, soporte y confianza, algunos autores esgrimen desventajas en contra de la confianza, argumentando que esta no mide adecuadamente el grado de independencia estadística entre el consecuente y el antecedente, tampoco refleja su dependencia negativa y es una medida de probabilidad confeccionada, es decir, no es intuitiva y, por lo tanto, es difícil para un usuario no experto establecer umbrales mínimos de confianza semánticamente significativos a la hora de obtener las reglas de asociación. En Sánchez Fernández (1999) se plantea el uso de un factor nuevo, el factor certeza, que es una representación de la incertidumbre asociada al conocimiento; su principal objetivo es brindar unas medidas de incertidumbre más intuitivas que las medidas de probabilidad condicionada. Debido a los problemas presentados (Sánchez Fernández, 1999) sobre la dificultad que se tiene en las reglas de asociación cuantitativas, por el problema de incompatibilidad entre el alto nivel de granularidad y nuestra forma de razonar, adicionalmente se presentan otros problemas como el del mínimo de soporte, mínimo de confianza, tiempo de ejecución, aumento del número de reglas y se propone como medio para afrontar esta problemática el uso de reglas de asociación difusas. La metodología recomendada en Sánchez Fernández (1999) sugiere que se podrían eliminar la gran cantidad de reglas falsas, obteniendo reglas de mayor calidad, basadas en casos positivos y negativos, que permitan discriminar si la asociación es correcta o no, y el uso de etiquetas lingüísticas que ayuden a reducir la segmentación del dominio. Reglas de asociación difusas un subconjunto difuso no vacio de I, donde ⊆ I. Para toda i De acuerdo con Escobar Jeria (2007), dado un conjunto de ítems I, se define una transacción difusa como I, notaremos (i) el grado de potencia de i en una transacción difusa . Notaremos a el grado de inclusión de un conjunto de ítems en una transacción difusa, definida como: De acuerdo a la definición anterior, una transacción es un caso especial de transacciones difusas, que se pueden apreciar en la siguiente Tabla No. 1. Tabla No. 1 Transacciones difusas 0 0,6 0,7 0,9 0 1,0 0 1,0 1,0 0,5 0,75 1,0 1,0 0 0,1 1,0 0,5 1,0 0 1,0 1,0 0 0,75 1,0 [ 30 ]
  • 5. Minería de uso Web para la identificación de patrones Las columnas y las filas son descritas por identificadores de ítems y de transacciones respectivamente. La celda para el ítem y la transacción , contienen un valor entre [0, 1], que es el grado de pertenencia de en , o también . Para entender mejor el concepto expresado, analizaremos la Tabla No. 1 como ejemplo; tenemos un conjunto de 4 ítems i, con 6 transacciones definidas en I. Luego, , y así con todas las demás; particularmente se puede decir que , es una transacción crisp. Algunos grados de inclusión son ; ; . Llamaremos a T-set un conjunto de transacciones ordinarias y FT-set un conjunto de transacciones difusas, donde el ejemplo anterior muestra el conjunto de transacciones difusas FT-set = { , el cual contiene seis transacciones difusas. Podemos definir entonces a I como un conjunto de ítems, T como FT-set y A, C ⊆ I como dos subconjuntos crisp, con A, C ≠ 0 y A C = 0, una regla de asociación difusa A à C es soportada en T si y sólo si: Donde, el grado de inclusión de C es más grande que A para toda transacción difusa . La definición anterior, preserva el significado de las reglas de asociación, porque si asumimos A ⊆ en algún sentido, debemos asumir que C ⊆ . Entonces, una transacción es un caso especial de una transacción difusa, entonces una regla de asociación es un caso especial de una regla de asociación difusa. Para determinar el soporte, confianza y factor de certeza de las reglas de asociación difusas, se utiliza un enfoque semántico basado en la evaluación de sentencias cuantificadoras. Una sentencia cuantificadora es una expresión de la forma Q de F son G, donde F y G son dos subconjuntos difusos de un conjunto finito X y Q es un cuantificador relativo difuso. Los cuantificadores relativos son etiquetas lingüísticas para porcentajes difusos que pueden ser representados en un conjunto difuso en [0, 1], así como la mayoría, casi todos o muchos. El soporte de en T, donde I ⊆ , es la evaluación de la sentencia cuantificadora: Q de F son Donde es un conjunto difuso definido como . El soporte de una regla de asociación A à C en el conjunto de transacciones difusas T es supp(A U C), y la evaluación de la sentencia cuantificadora: Q de T son La confianza de una regla de asociación difusa A à C en un conjunto de transacciones difusas es la evaluación de la sentencia cuantificadora: Q de [ 31 ] Vector, Volumen 4, Enero - Diciembre 2009, págs. 27 - 37
  • 6. Castaño P., Andres P. La evaluación de una sentencia cuantificadora “Q de F son G” por medio del método GD puede ser interpretada como: • Lo evidente, que el porcentaje de objetos en F que está también en G (cardinal relativo de G con respecto a F) es Q; • Un cuantificador de agregación dirigido, del cardinal relativo de G con respecto a F por cada corte del mismo nivel de ambos conjuntos. Por lo tanto, Supp(A à C) puede ser interpretado como el porcentaje de transacciones en es Q, y la Conf(A à C) puede verse como el porcentaje de transacciones en que es también en es Q. En ambos casos, el cuantificador es parámetro lingüístico que determina el final semántico de las medidas. Otra medida interesante y muy ligada a las medidas de soporte y confianza, es el factor certeza. Llamaremos factor certeza (FC) de una regla de asociación difusa A à C al valor: y Asumiendo que si supp (C)=1 entonces FC(AàC)=1 y si el supp(C)=0 entonces FC(AàC)= -1. Como se puede apreciar el factor certeza toma valores entre [1, -1], cuando es positivo indica que la dependencia entre A à C es positiva, si el factor certeza es igual a 0 quiere decir que son independientes y cuando el factor certeza es negativo indica que la dependencia entre A à C es negativa. Una de las técnicas propuestas para encontrar estas reglas es el algoritmo de AprioriTID presentado por Agrawal en Agrawal & Srikant (1994), que permite encontrar las reglas que satisfacen la condición de confianza y soporte mínimo y, además, el factor de certeza mínimo. El algoritmo AprioriTID se caracteriza porque no accede a la base de datos para obtener la relevancia de los candidatos. Para ello utiliza los conjuntos auxiliares CT[k]. Cada miembro del conjunto auxiliar CT[k] es de la forma <TID,{X}> donde cada X es un k-itemset potencialmente relevante (un candidato) presente en la transacción identificada por TID. Evidentemente, C[k] | c ⊆ t }>. Si una CT[1] se corresponde a la base de datos original en la cual cada ítem i es reemplazado por el itemset {i} . El elemento de CT[k] correspondiente a la transacción t es el par <TID, {c transacción no contiene ningún k-itemset candidato no tendrá una entrada en CT[k]. La característica principal de AprioriTID, es que, en cada iteración, se recorre el conjunto CT[k-1] en lugar de la base de datos completa para obtener la relevancia de los itemsets de C[k]. En la generación de candidatos, este algoritmo utiliza el mismo proceso comentado para el algoritmo Apriori. L[k] es el conjunto de itemsets relevantes que contienen k ítems. C[k] es el conjunto de k-itemsets candidatos. CT[k] es el conjunto de k-candidatos con sus TIDs asociados. L[1] = {large 1-itemsets} CT[1] = Base de datos D k=2 Mientras L[k-1] ≠ 0 C[k] = candidatosAPRIORI (L[k-1]) [ 32 ]
  • 7. Minería de uso Web para la identificación de patrones CT[k] = 0 Para cada entrada t f CT[k-1] Ct = Conjunto de candidatos de C[k] contenidos en t (usando TID) Para cada candidato c f Ct c.contador ++ Si Ct ≠ 0 CT[k] + = <t.TID, Ct> L[k] = {c C[k] | c.contador > = MinSupport} k++ Caso de estudio Ya realizado un análisis de las reglas de asociación difusas, es importante enfocarnos en la forma como se van a extraer estas reglas de los archivos logs del servidor para cualquier búsqueda de patrones, esta propuesta está basada en la presentada en el documento de Escobar Jeria (2007), “Minería Web de uso y perfiles de usuario: aplicaciones con lógica difusa”. Como cualquier proceso de minería, iniciamos con la fase de preprocesamiento de los datos buscando obtener un conjunto más reducido de los datos originales para mejorar la eficiencia del proceso, aplicando limpieza de datos, eliminando datos irrelevantes e inconsistentes y dejando el archivo listo para el análisis. Para aplicar la técnica de las reglas de asociación difusas para la búsqueda de patrones, es necesario identificar las entradas o transacciones que deja el usuario durante su navegación; el archivo Web log del servidor estará conformado por diferentes campos dependiendo del tipo de formato que tenga dicho archivo. Para un archivo log tipo CSV (Comma Separated Value), el cual está compuesto por seis campos (identificador de compra, fecha, IP, sesión, página visitada, página referenciada). De estos campos se deben seleccionar los campos de las transacciones que interesan para encontrar reglas asociadas solamente con estos campos de información. Por ejemplo, si se seleccionan los campos de IP y página visitada, se podrían conocer cuáles son las páginas visitadas por ciertos IP, en este punto la extracción de las reglas depende del objetivo del análisis. A nivel de las transacciones, es necesario establecer las tablas transaccionales sobre las cuales trabajaremos para obtener las diferentes reglas. Especificando, podríamos obtener tablas formadas por los campos páginas visitadas y referenciadas; es necesario determinar los pesos que se le asignarán a las páginas durante su navegación, por esto, es importante relacionar también las direcciones IP para que cada navegación desde una dirección IP pueda servir como criterio para determinar el peso. Para esta propuesta tomaremos la frecuencia de la página relacionada con alguna IP particular. Para obtener los diferentes pesos que se le asignarán a las páginas Web relacionadas con alguna IP dentro del archivo log, es necesario tomar las diferentes direcciones y revisar las páginas Web del sitio, tanto visitadas como referenciadas para obtener el número de veces que una página coincide con una dirección IP. Por ejemplo, si suponemos que tenemos cuatro páginas diferentes entre visitadas y referenciadas y cuatro direcciones IP, podemos relacionar en una tabla el número de veces que cada dirección IP visitó cada una de las páginas Web de nuestro sitio. [ 33 ] Vector, Volumen 4, Enero - Diciembre 2009, págs. 27 - 37
  • 8. Castaño P., Andres P. Tabla No. 2 Frecuencia de las páginas por dirección IP Páginas Pág. 1 Pág. 2 Pág. 3 Pág. 4 IP 0 3 1 8 4 0 3 2 6 0 5 1 0 4 0 3 Partiendo de la Tabla No. 2, se pueden obtener los pesos de las páginas en el archivo log del servidor, así para la Pág. 1 en la el peso sería de 0,5, ya que dividimos el número de veces de la Pág. 1 en la dirección por el valor máximo de la frecuencia de las páginas, que para este caso es 8; así podremos obtener valores entre [0, 1]. De esta forma podemos obtener las transacciones difusas relacionadas, para poder determinar las reglas en la Tabla No. 3. Tabla No. 3 Transacciones difusas Páginas Pág. 1V Pág. 2V Pág. 3R Pág. 4R IP 0 0,38 0,13 1 0,5 0 0,38 0,25 0,75 0 0,63 0,13 0 0,5 0 0,38 Se ha utilizado la simbología para las páginas visitadas poniendo una V al final de cada página y una R para especificar las páginas referenciadas. Las columnas y filas son descritas por identificadores de ítem, para este caso se han descrito como y las transacciones , y el cruce entre ambas contienen valores entre [0, 1], que es el grado de pertenencia de en . Sea IP = { , , , } el conjunto de ítems. Luego, = {0,38/ + 0,13/ + 1/ }; = {0,5/ + 0,38/ + 0,25/ } y así sucesivamente. Algunos grados de inclusión son: = ({ , , }) = 0,13; = ({ , , }) = 0,25. Basados en las definiciones anteriores para el cálculo de las medidas de soporte y confianza con esta información se pueden obtener, y así determinar las reglas más interesantes para el caso. Podemos evaluar las medidas de soporte analizando, por ejemplo, la página visitada 1 (Pág1V) con la página referenciada 3 (Pág3R) así: [ 34 ]
  • 9. Minería de uso Web para la identificación de patrones • Supp (Pag1V à Pág3R) = 0,252 y así mismo, para las demás paginas: Tabla No. 4 Valores de soporte, confianza y factor certeza de reglas difusas Reglas Soporte Confianza Factor Certeza {Pág.1V} à {Pág.3R} 0,252 0,504 -0,328 {Pág.2V} à {Pág.3R} 0,032 0,064 -0,91 {Pág.1V} à {Pág.4R} 0,095 0,19 -0,81 {Pág.2V} à {Pág.4R} 0,19 0,38 -0,62 Como se definió anteriormente, con el análisis de este conjunto de datos, se podría saber cuál es el tipo de navegación más habitual y por dónde navega el usuario con mayor frecuencia. Para el proceso de búsqueda de reglas de asociación difusas, el usuario debe determinar los valores de medidas de mínimo soporte, mínima confianza y mínimo factor de certeza para buscar reglas. Puede notarse cómo con este proceso se reducen significativamente las posibles reglas de asociación, ya que si estuviésemos trabajando con las reglas de asociación cuantitativas, tendríamos que trabajar con todos los itemsets posibles. Una vez obtenidas las transacciones y determinadas las medidas mínimas de corte para la búsqueda de las reglas, se aplica el algoritmo AprioriTID, para encontrar las reglas de asociaciones, el cual ataca el problema reduciendo el número de conjuntos considerados. Vamos a suponer a través de un ejemplo cómo podrían extraerse las reglas de asociación difusas de uso, su interpretación y obtención de medidas subjetivas; si configuramos la regla con los campos páginas visitadas y referenciadas para conocer los hábitos de visitas del sitio Web. Página visitada à Página referenciada http://www.ucaldas.edu.co/index.php?option=com_frontpage&Itemid=1 à http://www.ucaldas.edu.co/ index.php?option=com_content&task=category&sectionid=4&id=220&Itemid=340 • Soporte = 0,6. • Confianza = 1,0. • FC = 1,0. Interpretación: esto indica que los usuarios que visitan la primer página, luego se van a la segunda página; es una regla que se encuentra en un 60% dentro del conjunto analizado y nos muestra ciertos patrones de navegación del usuario, con lo cual se puede rediseñar la estructura del sitio para que el usuario pueda encontrar información más interesante en esa página e identificar ciertos grupos de usuarios que presenten las mismas características de navegación. Conclusiones • Las reglas de asociación clásicas son recomendadas para trabajarse en bases de datos transaccionales, donde cada transacción contiene o no un ítem determinado y por lo general los atributos de las transacciones se consideran booleanos; sin embargo, cuando se tienen bases de datos [ 35 ] Vector, Volumen 4, Enero - Diciembre 2009, págs. 27 - 37
  • 10. Castaño P., Andres P. con otros tipos de atributos como categóricos o numéricos, como suele suceder en la web, las reglas de asociación resultan una muy buena opción para estudios de marketing en las organizaciones comerciales o para determinar patrones de navegación o comportamiento de los usuarios y reestructurar el sitio de acuerdo a la información hallada. • Para bases de datos voluminosas, la aplicación de las reglas de asociación en la búsqueda de patrones puede resultar inviable en términos de tiempo y espacio, además, aún si esto no es una limitante, la obtención de un conjunto de reglas puede ser demasiado amplio y la interpretación de las reglas obtenidas para establecer su utilidad sería una labor muy dispendiosa inclusive para un experto en el tema. • En la extracción de conocimiento, es altamente recomendable buscar, tanto la calidad como la cantidad de las reglas de asociación, en conjuntos de datos con presencia de atributos con dominios de un alto nivel de granularidad, para este fin se recomienda utilizar, para la generación de las reglas, el concepto ofrecido por la asociación difusa de usar el soporte y el factor de certeza en lugar de la confianza. • Se recomienda trabajar con reglas de asociación difusas con las que se pueden alcanzar mejores representaciones, para obtener patrones de comportamiento de los usuarios en su interacción con un sitio web. Referencias Abraham, A. (2003). “Business Intelligent from web usage mining”. Journal of Information & Knowledge Management, 375-390. Agrawal, R. & Srikant, R. (1994). “Fast algorithms for mining association rules”. Proc. of the 20th Int’l Conference on Very Large Databases, 487-499. Cooley, R. W. (2000). Web Usage Mining: Discovery and Application of Interesting Patterns from Web Data. University of Minnesota: Doctoral Thesis. Daedalus. (2002). Minería web. Madrid: Data, Decisions and Language, S.A. Escobar Jeria, V. H. (2007). Mineria web de uso y perfiles de usuario: aplicaciones con lógica difusa. Granada. Facca, F. M. & Lanzi, P. L. (2005). Mining interesting knowledge from weblogs: a survey. Data & Knowledge Engineering, 225-241. Hernández Orallo, J., Ramírez Quintana, M. J. & Ferri Ramirez, C. (2004). Introducción a la mineria de datos. Prentice Hall. Joshi, K. P., Joshi, A., Yesha, Y. & Krishnapuram, R. (1999). Warehousing and mining Web logs. Proceedings of the 2nd international Workshop on Web information and Data Management, 63-68. Krishnapuram, R., Joshi, A., Nasraoui, O. & Yi, L. (2001). Low-complexity fuzzy relational clustering algorithms for Webmining. IEEE Transactions on Fuzzy Systems, 595-607. Marin Diazaraque, J. M. (s.f.). Departamento de Estadistica. Recuperado el 07 de 2008, de Universidad Carlos III de Madrid: http://halweb.uc3m.es/esp/Personal/personas/jmmarin [ 36 ]
  • 11. Minería de uso Web para la identificación de patrones Mobasher, B., Dai, H., Luo, T., Sun, Y. & Zhu, J. (2000). Integrating Web Usage and Content Mining for More Effective Personalization. Proceedings of the First international Conference on Electronic Commerce and Web Technologies, 165-176. Pal, S., Talwar, V. & Mitra, P. (2002). Web mining in soft computing framework: relevance, state of the art and future directions. IEEE Transactions on Neural Networks, 1163-1177. Sánchez Fernández, D. (1999). Adquisición de relaciones entre atributos en bases de datos relacionales. Granada. Srivastava, J., Cooley, R., Deshpande, M. & Tan, P.-N. (2000). Web Usage Mining: Discovery and Applications of Usage Patterns from Web Data. ACM SIGKDD, 12-23. Tao, Y., Hong, T. & Su, Y. (2008). Web usage mining with intentional browsing data. Expert Systems with Applications: An International Journal, 1893-1904. [ 37 ] Vector, Volumen 4, Enero - Diciembre 2009, págs. 27 - 37