Minería de uso

En este proyecto se resumen las conclusiones obtenidas después de haber realizado la lectura de los artículos:

1. Definición y objetivos de minería de uso de la web

La minería de uso de la web es el proceso de aplicación de técnicas de minería de datos para el descubrimiento de uso de patrones desde datos Web.

La velocidad de Internet permite las transacciones transacciones económicas, se ha convertido en la llave principal en el crecimiento del comercio electrónico. Las nuevas evoluciones nos permiten la capacidad de poder comprar en una tienda sin necesidad de tener una persona que te atienda ni una tienda física que tenga que estar abierta.

Estos sitios necesitan aprender cada día sobre los clientes o usuarios que navegan en sus sitios. Sólo de esta manera podrán dirigir adecuadamente los esfuerzos para mejorar los servicios de marketing y la personalización del sitio. El descubrimiento de patrones de actividad y comportamiento relacionado con la navegación Web requiere el desarrollo de algoritmos de Minería de Datos capaces de descubrir patrones de accesos secuenciales en los ficheros log.

La Minería del Web evolucionó a partir de esas nuevas necesidades y se dividió en tres subgrupos:
  • Minería de Uso
  • Minería de Estructura
  • Minería de Contenido
A partir de esa división ,se definió la Minería de uso como el descubrimiento automático de patrones de acceso de usuario desde los servidores Web. Las organizaciones coleccionan grandes cantidades de datos en sus operaciones diarias, generadas automáticamente por sus servidores web y colecciones de logs de acceso a servidor.

Existen muchas herramientas de análisis web que tienen mecanismos para recoger informes sobre la actividad de los usuarios en los servidores y varios filtros de formularios de datos. Sin embargo, estas herramientas son diseñadas para moderar el tráfico en los servidores y en muchas ocasiones no realiza análisis de las relaciones de datos o ficheros accedidos en el servidor, por lo tanto, no es habitual ver herramientas que apliquen eficientemente la información que proporciona la Minería de Uso.

2. Etapas de procesamiento

2.1 Preprocesamiento

El preprocesamiento consiste en convertir la información de uso, contenido y estructura obtenida de varias fuentes de datos disponibles en las abstracciones de datos necesarias para el descubrimiento de patrones.Se divide en 3 etapas.

Preprocesamiento de uso

El preprocesamiento de uso podría decirse que es la tarea más compleja en el proceso de Minería de Uso Web debido a que los datos disponibles suelen estar incompletos. A menos que se utilice un mecanismo de seguimiento de cliente, sólo está disponible la dirección IP y el agente utilizado están disponibles para identificar usuarios y sesiones de servidor.

Muchas de los problemas encontrados son:
  • Única dirección IP / Múltiples sesiones de servidor

    Por lo general los Internet Service Providers (ISPs) tienen un grupo de servidores proxy mediante el cual pueden acceder los usuarios. Un servidor proxy puede tener muchos usuarios accediendo a una Web en el mismo periodo.
  • Múltiples direcciones IP / Una sesión única de servidor.

    Algunos ISPs o herramientas de privacidad aleatoria, asignan cada solicitud de un usuario a un grupo de direcciones IP. En este caso una única sesión de servidor puede tener múltiples direcciones IP.
  • Múltiples direcciones IP / Usuario único:

    Un usuario que accede a la web desde diferentes máquinas puede tener diferentes IPs para cada sesión. Esto hace que el seguimiento de visitas cuente a ese usuario único como más de una visita.
  • múltiples Agentes / Usuario único:

    También, un usuario que usa más de un navegador, incluso en la misma máquina, puede aparecer como múltiples usuarios.
Asumiendo que cada usuario ha sido identificado ( a través de cookies, logins o análisis de agentes o IP ), el click-stream(término para referirse al rastro de los clicks que realiza un usuario en una web) para cada usuario debe ser dividido en sesiones. El mayor inconveniente de realizar esta tarea es gestionar cuando un usuario abandona la web. Para resolver este problema podremos utilizar los log del servidor (donde se almacena la información sobre qué contenido se está mostrando en cada momento) o utilizando variables de estado para cada sesión activa (donde se almacena la información necesaria para determinar qué contenido ha sido visto por el usuario).

Preprocesamiento de contenido

El preprocesamiento de contenido consiste en convertir el texto, las imágenes y otros ficheros multimedia en estructuras que sean útiles para el proceso de Minería de Uso de la Web. Para ellos utilizamos métodos de clasificación o clustering que nos permiten organizar la información y ser usada para filtrar información en la entrada o en la salida de los algoritmos de descubrimiento de patrones. Por ejemplo, los resultados de un algoritmo de clasificación pueden utilizarse para limitar los patrones en los contenidos de páginas vistas sobre un cierto tema o clase de productos. Además podemos clasificar o hacer cluster de páginas vistas basados no solo en temas sino también en intención de uso, ya que esta clasificación nos puede transmitir información, recopilar información del usuario, permitir la navegación, o algunas combinaciones de estos usos.

Por supuesto, antes de analizar toda esta información es necesario convertirla en un formato cuantificable como los espacios vectoriales. Por ejemplo, podemos tratar un caso muy corriente para entender este proceso mejor. Los ficheros de texto se pueden romper en vectores de palabras y aplicar sobre ello los cálculos necesarios y en el caso de las gráficas nos podemos quedar con la descripción para valorar su contenido.

El mayor problema los tendremos en las páginas web. Por una parte tenemos aquellas que son estáticas y se pueden preprocesar fácilmente por el análisis de HTML sin un coste muy alto. El inconveniente más grande es en los servidores de contenido dinámicos, donde se emplean técnicas de personalización y/o se consultan a las bases de datos para construir las diferentes vistas de una página. Entonces, en una sesión solo podremos acceder a una determinada fracción de información. En estos casos el vector espacial tendrá que almacenar más información ya que el contenido de cada página debe estar reunido a una solicitud HTTP de un rastreador, o una combinación de plantillas, script y acceso a bases de datos para procesarla. Si solo se accede a una parte del servidor para ser preprocesadas, la salida de cualquier algoritmo de clustering o clasificación puede ser parcial.

2.2 Preprocesamiento de Estructura

La estructura de un sitio es creada por los enlaces de hipertexto entre las páginas visitadas. La estructura puede ser obtenida y preprocesada de la misma manera que el contenido de un sitio. Otra vez, el contenido dinámico (además de los enlaces) plantean más problemas que las páginas estáticas. Para cada sesión de usuario tiene que crear una estructura de sitio diferente.

2.3 Interferencia de patrones (pattern discovery)

El descubrimiento de patrones se basa en métodos y algoritmos desarrollados desde muchos campos como estadísticas, minería de datos, aprendizaje automático y reconocimiento de patrones aplicado a la minería Web. Pero claro, los métodos desarrollados en otros campos los deberemos transformar para aplicarlos correctamente en nuestros campo de estudio. Por ejemplo, en el descubrimiento de reglas de asociación, la noción de una transacción para el análisis de mercado no debe estar en consideración del orden en que los objetos son seleccionados. Sin embargo, en la minería de uso de la web, una sesión de servidor es una secuencia ordenada de solicitudes de páginas por un usuario.

2.4 Análisis estadístico

Este proceso es el método más común para extraer base del conocimiento sobre los visitantes de una Web. Analizando los ficheros de sesiones, uno puede realizar diferentes tipos de análisis estadísticos descriptivos (frecuencia, significado, medio...) en variables como páginas visitadas, duración de la visita y ruta de navegación. Estos análisis además pueden incluir todos los errores de bajo nivel limitados detectando puntos de entrada no autorizados o encontrando URIs no válidas. Además en la profundidad de estos análisis, este tipo de bases de conocimiento pueden ser potencialmente útiles para mejorar la ejecución de los sistemas, aumentar la seguridad de los sistemas, facilitar las tareas de modificación del sitio y proveyendo soporte para decisiones de marketing.

2.5 Reglas de asociación

La generación de reglas de asociación puede ser utilizada para relacionar páginas que son más referenciadas juntas a menudo en una sesión única de servidor . Si aplicamos estas reglas en el contexto de la minería de Uso de la Web, podremos obtener información acerca de aquellas web que son accedidas juntas con un valor de apoyo superior a un umbral especificado.

Sus beneficios son muy conocidos en las empresas y aplicaciones de marketing, pero la presencia de estas reglas puede ayudar a diseñadores Web a reestructurar su sitio Web. Las reglas de asociación pueden también servir como métodos heurísticos para documentos en calidad de reducir la latencia por usuario cuando cargan una página desde un sitio remoto.

2.6 Clustering

Clustering es una técnica que agrupa juntos un conjunto de objetos que tienen características similares. En el dominio del Uso Web, hay dos tipos de clusters interesantes:
  • clusters de uso

    Su finalidad es crear grupos de usuarios que exhiben patrones de navegación similares. Es útil para realizar estudios de mercado.
  • cluster de páginas

    Su finalidad es crear grupos de páginas que exhiben patrones de contenidos similares. Es útil para buscadores web.

Clasificación

La clasificación es la tarea de mapear un objeto que contiene información en una de las clases predefinidas. Si aplicamos el concepto en la Web, nos interesará generar una clase usuario que nos permita diferencia entre diferentes objetos para analizar comportamientos. La clasificación puede ser hecha usando algoritmos de aprendizaje inductivos supervisados como clasificación de árboles de decisión, etc.

Patrones secuenciales

La técnicas de descubrimiento de patrones secuenciales intenta encontrar similitudes de diferente sesiones, creando conjuntos de usuarios que siguen el mismo conjunto de objetos en un tiempo ordenado. Usando este enfoque, los mercados Web muestran anuncios apuntando a ciertos grupos de usuario. Otros tipos de análisis temporales que pueden ser ejecutados en patrones de secuencia incluyen análisis de tendencias, detecciones de puntos de cambio o análisis similares.

Dependencia de modelado

Modelar dependencia es otra tarea de descubrimiento de patrones en la Minería Web. El objetivo es desarrollar un modelo capaz de representar dependencias significativas entre las variables de un dominio Web. Como ejemplo, uno puede estar interesado en construir un modelo representando los estados diferentes de un usuario mientras compra en una tienda online analizando cada uno de los pasos que realiza para gestionar una compra. Hay muchas técnicas de aprendizaje que pueden ser empleadas para modelar la navegación de los usuarios como los Modelos Markov Hidden(es un modelo estadístico en el que se asume que el sistema a modelar es un proceso de Márkov de parámetros desconocidos) y Redes Belief Bayesian(es un modelo de grafo probabilístico (un tipo de modelo estático) que representa un conjunto de variables aleatorias y sus dependencias condicionales a través de un grafo acíclico dirigido (DAG por sus siglas en inglés)) muy conocidos en el campo. Modelando los patrones de uso web no solamente proveerán un framework teórico para analizar el comportamiento de los usuarios y poder predecir las tendencia de la web en un futuro, sino que también se podrá desarrollar estrategias para incrementar las ventas de productos ofertados por el sitio Web o mejorar la navegación a conveniencia de los usuarios.

2.7 Análisis de patrones

El análisis de patrones es el último paso en el proceso de minería de uso de la web y su finalidad es filtrar reglas que no son interesantes o patrones de un conjunto obtenido en la fase de descubrimiento de patrones. La metodología de análisis está usualmente dirigida por la aplicación que realiza el proceso de minería web. La forma más común del análisis de patrones consiste en un mecanismo de consultas a una base de conocimiento como por ejemplo SQL. Otro método es cargar los datos de uso en un cubo de datos en orden de ejecutar operaciones OLAP(es el acrónimo en inglés de procesamiento analítico en línea (On-Line Analytical Processing). Es una solución utilizada en el campo de la llamada Inteligencia de negocios (o Business Intelligence) cuyo objetivo es agilizar la consulta de grandes cantidades de datos. Para ello utiliza estructuras multidimensionales (o Cubos OLAP) que contienen datos resumidos de grandes Bases de datos o Sistemas Transaccionales (OLTP). Se usa en informes de negocios de ventas, marketing, informes de dirección, minería de datos y áreas similares.).

2.8 Algunas herramientas existentes

Existen múltiples herramientas para analizar los ficheros de registro de acceso, para extraer estadísticas, realizar informes (en html y texto) e incluso hacer gráficos. Entre ellas podemos mencionar algunos conocidos como Webtrends, Getstats, Analog, Microsoft Intersé Market Focus, entre otros.

Respecto a los generadores de estadísticas de acceso podemos mencionar el 3DstatS, M5 Analyzer, Web Log Explorer, eWebLog Analyzer. Por último debemos mencionar el Web Mining Log Sessionizator XPert, es una herramienta de procesamiento y análisis, que permite la generación de reglas para comprender el comportamiento de los visitantes de un sitio Web.

3. Técnicas de aprendizaje aplicadas a minería de uso

Las técnicas de aprendizaje se aplican en nuestro campo para sugerir un enlace apropiado dada una consulta sobre un tema y una página Web. En otras palabras, a partir de una base de conocimiento de la siguiente función de objetivo: El valor de la Calidad de Enlace es interpretado como la probabilidad de que un usuario seleccione Enlaces dada la Página actual en la que se encuentra y el tema que estamos tratando el interés que genera.

Existen principalmente tres enfoques de aprendizaje que son:
  • Usa guías previas como fuente de información para aumentar la representación interna de cada hiperenlace seleccionado.
  • Se basa en el aprendizaje por refuerzo la idea es encontrar guías a través de la Web así como la cantidad de información relevante encontrada sobre la trayectoria que es maximizada.
  • Es el método que combina ambos enfoques anteriores.

3.1 Aprendizaje desde Guías Previas

El aprendizaje está logrado por la anotación de cada hiperenlace con el interés de los usuarios quienes tocan estos hiperenlaces en visitas anteriores. Así, cada vez que un usuario siga un hiperenlace la descripción de el hiperenlace es aumentada añadiendo las palabras clave que los usuarios han escrito en el inicio de su visita. Para sugerir hiperenlaces durante una visita la opción más interesante es adaptarlos a la búsqueda de información que realiza el usuario.

La métrica usada para medir la similitud entre un estado de interés del usuario y una descripción de hiperenlaces está basada en una técnica desde recuperaciones de información.Esta conexión se analiza mediante vectores de características con varias dimensiones, donde cada una representa una palabra particular en el idioma inglés. Cada unidad del vector es calculado usando tf-IDF(del inglés Term frequency – Inverse document frequency, frecuencia de término – frecuencia inversa de documento (o sea, la frecuencia de ocurrencia del término en la colección de documentos), es una medida numérica que expresa cuán relevante es una palabra para un documento en una colección. Esta medida se utiliza a menudo como un factor de ponderación en la recuperación de información y la minería de texto). Posteriormente, estas unidades se utilizan para medir el coseno del vector y ya con el resultado poder interpretar su valor.

Por supuesto para cada hiperenlace tendremos que analizarlo con el procedimiento y escoger la palabra adecuada para exponerla. El valor de la Calidad del Enlace para cada hiperenlace es estimada si la media de similitud, k (normalmente 5), es la mejor clasificada entre todas las opciones. El máximo número de hiperenlaces sugeridos por página es tres.

3.2 Aprendizaje desde Estructuras de Hipertexto

En este punto, describiremos un segundo método de aprendizaje que valora aquellos hiperenlaces relacionados con los temas más habituales (utilizando enfoque está basado en el aprendizaje por refuerzo).
Aprendizaje con refuerzo
El aprendizaje con refuerzo permite a los agentes Web aprender estrategias de control que seleccionan las acciones más óptimas para ciertas configuraciones. Por ejemplo, consideremos a un agente navegando desde un estado a otro estado por acciones realizadas por un usuario. En cada estado es el agente recibe una recompensa R(s). El valor de una acción puede ser expresado en términos de una función de evaluación Q(s,a) , definidos para todos los posibles pares de estado-acción. Si el agente puede ejecutar esta función, entonces podremos aplicar en cada estado e ir obteniendo resultados en las búsquedas muy optimizados. De forma más preciso, podemos observar la siguiente ecuación: donde es el estado, el agente está en el tiempo t, y donde es el factor de descuento 0 1 que determina cómo descontar el valor de las recompensas recibidas en un futuro.Bajo ciertas condiciones, la función Q puede ser iterativamente aproximado actualizando la estimación para repetidamente como se muestra en la siguiente fórmula: s' es el estado resultante de la realización de la acción a en estado s.

Ejemplo Aprendizaje desde Estructuras de Hipertexto
1.Ejemplo Aprendizaje desde Estructuras de Hipertexto

En la figura [1] , las cajas representan posibles estados del agente. Los ejes representan acciones que conducen al agente desde un estado a otro. Los ejes tienen los pesos obtenidos mediante la función Q(s,a). Y R=1 se lo otorgamos al documento objetivo de la consulta.
Aprendizaje reforzado e Hipertexto
Imagina un agente web buscando por páginas en las que se encuentra la palabra "inteligente". Para este agente, los estados corresponden a páginas web y las acciones corresponden a hiperenlaces. En este caso, nosotros definimos el valor R(s,inteligente) para una página particular s como resultado de aplicar el algoritmo matemático tf-IDF en s buscando la palabra inteligente. El agente entonces aprenderá una función Q(s,a,"inteligente") para escoger el mejor enlace en cada página y así guiar al usuario.

4.Sitios web adaptativos

4.1 Definición y objetivos

Un sitio web adaptativo es aquel que adapta su contenido al tipo de usuario que accede con el objetivo de proporcionarle la información que busca . Además la web tiene que tener la capacidad de mejora automáticamente su organización y presentación aprendiendo de los patrones de acceso de los usuarios. Para cumplir esta definición nuestro site tendrá que poseer la capacidad de :
  • Permitir a un usuario desde la misma web realizar diferentes búsquedas.
  • Evitar enlaces a información incorrecta o que no esté actualizadas
  • Permitir todos los posibles métodos de acceso y estar adaptado a las nuevas necesidades.
Para crear nuestro sitio Web adaptativo podemos utilizar 2 enfoques diferentes.

4.2 Aproximaciones

Los sitios deben ser adaptativos en dos caminos principales.
  • el sitio debe enfocar a la personalización

    Modificar páginas web en tiempo real para satisfacer las necesidades de los usuarios individuales.
  • los sitios deben enfocar a la optimización

    Realizar una configuración de los sitios para hacer la navegación más fácil para todos.

Personalización

La personalización está ajustando las presentaciones de los sitios para los usuarios individualmente. Normalmente esta opción se implementa permitiendo al usuario realizar configuraciones manuales. Otra opción es la predicción de ruta, por otra parte,es otra mejora enfocada al agente utilizada, que consiste en localizar los enlaces más interesantes para el usuario en los lugares más visibles.

Optimización

La optimización intenta mejorar el sitio en su conjunto. En lugar de hacer cambios por cada usuario, los sitios aprenden de todos los usuarios para hacer el sitio más fácil de navegar. Debemos ver un diseño web como un punto particular en el espacio de posibles diseños y podemos tomar como una cualidad métrica la medida de una cantidad de esfuerzo que el usuario debe realizar para encontrar lo que desea en nuestra página. De esta forma podremos elegir qué espacio es más correcto para nuestra finalidad.

Meta-Información

La capacidad de un sitio web para adaptarse puede verse obstaculizada por el escaso conocimiento sobre su contenido y la estructura proporcionada por el código HTML. Para solucionar este problema se otorgó la capacidad a los sitios web para adaptarse con meta-información: información sobre su contenido, estructura y organización.

Un camino para proveer meta-información es representar los contenidos del sitio en un framework formal con precisión semántica como una base de datos o una red semántica.

5. Áreas de investigación relacionadas

La Minería Web se utiliza generalmente en tres caminos, Minería Web de Contenido, Minería Web de Estructura y Minería Web de Uso (que es de la que hemos hablado en este trabajo).

La Minería Web de Contenido es un proceso automático que va más allá de la extracción de palabras clave, ya que los datos se analizan para poder generar información de los documentos que se encuentran en la Web, ya sea, artículos, material audiovisual, documentos HTML, entre otros. La extensa Web puede revelar más información que la que se encuentra contenida en los documentos, por ejemplo, los enlaces apuntando hacia un documento indican la popularidad del documento, mientras algunos vínculos salen de un documento indican la riqueza o quizás la variedad de temas cubiertos en el documento. Esto puede ser utilizado para comparar las citaciones bibliográficas.

En esta área se encuentra la Minería Web de Estructura, el cual consiste en estudiar las estructuras de los enlaces. Y por último, la Minería Web de Uso, que es un proceso de descubrimiento automático de patrones de accesos o uso de servicios de la Web, centrándose en el comportamiento de los usuarios cuando interactúan en la Web.

6.Conferencias internacionales

  • International Conference on Databases Theory (ICDT)
  • International Conference on Very Large Data Base IBM Almadén Research Center
  • International World Wide Web Conference
  • Conference on Artificial Intelligence (AAAI198)
  • International Conference on Machine Learning (ICML)
  • International Conference on Distributed Computing Systems
  • European Conference on Machine Learning (ECML-98)
  • International Conference Machine Learning
  • International Conference on Knowledge Discovery and Data Mining
  • International Computer Software and Applications Conference on Prolonging