Está en la página 1de 46

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/229068670

Minería de datos en la Web

Chapter · October 2011

CITATIONS READS

0 1,545

1 author:

Marcelo Mendoza
Universidad Técnica Federico Santa María
82 PUBLICATIONS   2,435 CITATIONS   

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Measuring diversity in complex systems View project

FONDECYT 11121435 - Effective data mining models on online social networks View project

All content following this page was uploaded by Marcelo Mendoza on 28 May 2014.

The user has requested enhancement of the downloaded file.


Capítulo 19
Por Marcelo Mendoza

MINERIA DE DATOS EN LA WEB

En este capítulo cubrimos los principales avances y desafíos del área de


minería de datos en la Web. Esta área puede definirse como el uso de técnicas de
minería de datos para la extracción de información útil desde la World Wide Web.
Como repositorio de información, la Web ofrece múltiples desafíos a quienes
buscan extraer información útil, entre ellos la variedad de formatos y estilos con los
cuales son escritos los documentos que en ella residen, la dispar calidad de estos
documentos, el amplio espectro de temas que estos cubren así como la volatilidad
de los contenidos y recursos disponibles. Este escenario hace de la Web una fuente
de información que en sí misma ha requerido del desarrollo de algoritmos y
métodos específicos que permitan extraer información útil de ella.

A lo largo del capítulo introduciremos las nociones básicas de minería de


datos en la Web incluyendo descripciones de las técnicas más representativas de
esta área así como ejemplos y aplicaciones de estas técnicas. El objetivo de este
capítulo es entregar al lector una visión de este campo de la recuperación de
información, permitiendo que pueda posteriormente profundizar en aquellos temas
que hayan sido de mayor interés. Los objetivos específicos de este capítulo son los
siguientes:

- Ilustrar los principales desafíos de la minería de contenidos en la Web,


las dificultades en la extracción de información desde repositorios Web
y describir la relación existente entre minería de contenidos y el uso de
2 RECUPERACIÓN DE INFORMACIÓN. UN ENFOQUE PRACTICO Y MULTIDISCIPLINAR © RA-MA

herramientas provenientes de lenguaje natural y máquinas de


aprendizaje en el dominio del texto.

- Introducir los principales avances en minería de la estructura de la


Web, describiendo sus características a macro, meso y micro escala.

- Revisar las principales aplicaciones de técnicas de minería de datos en


exploración de patrones de uso de sitios Web, como por ejemplo,
registro de tráfico y detección de patrones de navegación.

- Finalmente, cada uno de estos será ilustrado al lector por medio de


ejemplos y un grupo de ejercicios resueltos que facilitan la
comprensión de los principales conceptos detrás de cada uno de los
ámbitos involucrados en la minería de datos en la Web.

1 INTRODUCCION
La minería de datos es un conjunto de técnicas, métodos y algoritmos que
permiten extraer información útil desde fuentes de distinto tipo. A través de su
historia diversas comunidades científicas han contribuido a su avance desde
mundos tan diversos como las máquinas de aprendizaje, las bases de datos, el
procesamiento de lenguaje natural y la recuperación de información.

En el caso particular de minería de datos en la Web, la comunidad científica


se ha topado con diversos desafíos debidos principalmente a la naturaleza volátil de
su contenido y a la heterogeneidad de formatos y estilos en los cuales sus recursos
son puestos a disposición de los usuarios. Estos aspectos, además de los requeridos
por el enorme tamaño de este repositorio han transformado la minería de datos en
la Web en algo mucho más complejo que la simple aplicación de técnicas y
métodos estándar de minería de datos. Nuevos métodos, estrategias y algoritmos
especialmente desarrollados para la minería de datos en la Web han sido
necesarios.

Cada una de las comunidades que han ayudado al desarrollo de la minería


de datos en la Web ha adquirido relevancia debido a las siguientes razones:

• Minería de datos en la Web y máquinas de aprendizaje: La tarea


fundamental de las máquinas de aprendizaje consiste en poder generalizar
el comportamiento aprendido a partir de patrones específicos hacia nuevas
instancias de datos o nuevos contextos de uso. En minería de datos en la
Web el uso de máquinas de aprendizaje ha permitido poder identificar
© RA-MA CAPÍTULO 19. MINERIA DE DATOS EN LA WEB 3
patrones en texto lo cual ha facilitado tareas como categorización de
documentos.

• Minería de datos en la Web y bases de datos: El uso de tecnologías de


bases de datos ha sido fundamental en la organización de los grandes
volúmenes de información que deben ser procesados.

• Minería de datos en la Web y procesamiento de lenguaje natural: El


uso de técnicas provenientes de procesamiento de lenguaje natural ha
permitido extraer información desde los documentos disponibles en la Web
considerando elementos que agregan riqueza a la descripción de su
contenido como lo es su estructura u otras componentes del texto.

• Minería de datos en la Web y recuperación de información: La


información extraída usando técnicas de minería de datos en la Web puede
ser usada para mejorar la precisión de las listas de documentos
recomendados por sistemas de recuperación de información.

Las áreas anteriores guardan una estrecha relación entre sí y en muchos casos
es difícil establecer una clara línea divisoria entre los aspectos que involucran /
interesan a una u otra. Se debe entender más bien que la minería de datos en la
Web es un proceso en el cual se pueden aplicar técnicas provenientes de cualquiera
de estas áreas para finalmente poder descubrir nuevo conocimiento.

La minería de datos en la Web puede ser vista como un proceso, al igual que
una tarea de minería de datos tradicional. Como proceso, considera varias etapas,
entre las cuales destacan frecuentemente las siguientes:

• Recolección de recursos: En esta etapa se recolectan desde la Web los


recursos sobre los cuales realizaremos minería de datos. Los recursos
pueden corresponder a páginas Web o sitios completos. A su vez, dentro de
cada uno de estos recursos puede ser de interés algún tipo particular de
objeto, como documentos de texto, imágenes, audio o video. Esta etapa del
proceso de minería de datos en la Web está relacionada con la tarea de
recolección de recursos de recuperación de información, conocida también
como crawling.

• Selección de información: En esta etapa se extrae información específica


de cada recurso, descartando aquella información contenida en la página
que sea marginalmente relevante para el proceso. Esta etapa considera
tareas de selección y de pre procesamiento de la información. Esta etapa
del proceso de minería de datos en la Web está relacionada con la tarea de
selección y filtrado de información, tarea conocida también como
scraping.
4 RECUPERACIÓN DE INFORMACIÓN. UN ENFOQUE PRACTICO Y MULTIDISCIPLINAR © RA-MA

• Generalización: En esta etapa se extraen patrones de interés desde los


repositorios de información considerados en el proceso. Los patrones
pueden ser identificados usando tanto técnicas supervisadas como no
supervisadas.

• Análisis: En esta etapa se validan e interpretan los patrones encontrados.


Esta etapa permite distinguir patrones novedosos que aportan valor a la
comprensión de los repositorios de información considerados en el
proceso.

Dadas las características particulares de la Web, cada una de estas etapas


considera tareas y desafíos específicos.

La minería de datos en la Web ha sido categorizada en tres áreas de interés


distintas dependiendo del tipo de fuentes de información que han sido exploradas.
Estas áreas son: Minería de contenido, minería de estructura, y minería de uso.

• Minería de contenido de la Web: La minería de contenido de la Web


busca extraer información desde el contenido de las páginas / sitios. En
esta área la tarea tradicional ha consistido en explorar el texto que cada
recurso de la Web contiene, extrayendo patrones que permiten mejorar la
descripción del contenido de cada recurso. Son ejemplos de tareas
específicas en minería de contenido de la Web la extracción de
información específica desde páginas / sitios Web, el agrupamiento y/o
categorización de documentos similares usando su contenido y la
identificación de percepciones de usuarios con respecto a productos o
campañas publicitarias.

• Minería de la estructura de la Web: La minería de la estructura de


enlaces de la Web busca extraer información desde sus hiperenlaces. Dado
que cada página / sitio puede referenciar a través de hiperenlaces otras
páginas / sitios, es posible extraer información útil al explorar el grafo de
enlaces de la Web. Son ejemplos de tareas específicas en minería de
estructura de enlaces de la Web el análisis de estos enlaces así como la
detección de enlaces introducidos maliciosamente para alterar la estructura
de la Web y engañar a los algoritmos de ranking de los motores de
búsqueda.

• Minería de uso de la Web: La minería de uso de la Web busca extraer


información útil sobre patrones de acceso y navegación de usuarios en
sitios y páginas. Frecuentemente los sitios / páginas dejan registro de las
interacciones que los usuarios realizan en archivos de logs. Estos archivos
© RA-MA CAPÍTULO 19. MINERIA DE DATOS EN LA WEB 5
pueden ser procesados y analizados para, por ejemplo, construir modelos
de navegación de los usuarios en los sitios. Los datos de uso también han
sido utilizados como fuente de retroalimentación para las funciones de
ranking en motores de búsqueda.

A lo largo del capítulo discutiremos las principales técnicas, métodos y


algoritmos usados en cada una de las tres áreas de minería de datos en la Web. Es
importante mencionar también que estas áreas no son excluyentes, es decir, se ha
establecido una natural colaboración a nivel de métodos, usando técnicas de un
área para resolver problemas de otra. También la minería de datos en la Web
muestra desarrollos híbridos, es decir, esfuerzos en los cuales se han explorado
simultáneamente más de una fuente de información. Finalmente, el uso de estas
técnicas en contextos donde los usuarios tienen una mayor interacción con los
recursos disponibles en la Web, como es el caso de blogs, foros y sistemas de
compartición de recursos, serán comentados al final de este capítulo .

2 MINERIA DE CONTENIDO DE LA WEB


La minería de contenido es el proceso de extraer información útil desde los
contenidos de las páginas disponibles en la Web. Las páginas Web contienen
objetos con contenido en diversos formatos como texto, audio, imágenes o video.
Muchas veces cada página en sí misma corresponde a un documento, siendo
ejemplo de esto la mayoría de las páginas de Wikipedia u otros repositorios donde
el contenido es principalmente texto. En otros casos, las páginas tienen varios
objetos de contenido, cada uno de ellos en diversos formatos.

En general, la minería de contenido de la Web explora el texto. Esto debido


a que la exploración del contenido en otros formatos como audio o video, es en
general una tarea difícil. Varios estudios han abordado esta problemática,
contrastando la efectividad que tienen características descriptivas de documentos
basadas en texto y en contenido multimedia. Es frecuente que estos estudios
concluyan que existe escasa correspondencia entre las características basadas en
texto, las cuales permiten describir de mejor forma el contenido de los documentos,
y características basadas en el formato propio de las imágenes, audio o video. A
esta dificultad se le conoce como gap semántico y es hasta la actualidad un
problema no resuelto en minería de contenido.

Debido a las dificultades en la exploración de contenidos multimedia,


frecuentemente la minería de contenido utiliza características basadas en texto, aún
cuando los objetos de contenido usan formatos multimedia. Una aproximación
usada en estos casos consiste en etiquetar con texto los objetos, generalmente de
forma automática o semi automática. A estas etiquetas de texto se les conoce como
6 RECUPERACIÓN DE INFORMACIÓN. UN ENFOQUE PRACTICO Y MULTIDISCIPLINAR © RA-MA

tags. Luego, la exploración de contenido multimedia frecuentemente se reduce al


uso de técnicas de minería de contenido basado en el texto de los tags.

Dado que la minería de contenido en la mayoría de los estudios finalmente


consiste en la exploración de patrones de interés en texto, es frecuente que esta
tarea sea asociada a minería de texto (text mining). En rigor, son tareas distintas.
Text mining consiste en el conjunto de técnicas y métodos de minería de datos que
permiten extraer patrones desde repositorios de texto. La aplicación de estas
técnicas se realiza sobre bases documentales de propósito general, como por
ejemplo bibliotecas digitales y no está enfocada únicamente a la exploración de
repositorios documentales de la Web. Sin embargo, la mayoría de las técnicas de
text mining son aplicables a la minería de contenido en la Web.

La exploración del contenido de la Web ha abordado usualmente cuatro


tareas principales: 1) La extracción de información específica desde páginas /
sitios, 2) La agrupación de documentos Web en conjuntos de documentos
similares, 3) La categorización de documentos Web en categorías predefinidas, y
4) La minería de opiniones en blogs/foros de la Web. Estas tareas requieren
primero de una etapa de recolección de los recursos, en la cual se recorre la Web y
se recolectan aquellos recursos que sean de interés para el proceso de minería de
datos. Para esta etapa de recolección se utilizan técnicas de crawling, las cuales
pueden ser revisadas en el capítulo dedicado a este tema (capítulo 18). Una vez que
los recursos han sido recolectados, el texto debe ser procesado favoreciendo la
construcción de una representación del contenido que permita la aplicación de
algoritmos de minería de datos. El pre procesamiento de los documentos
usualmente considera fases usuales en recuperación de información como steeming
y eliminación de stopwords, las cuales el lector puede revisar en el capítulo 5. En
este sentido, es habitual construir representaciones vectoriales de cada documento,
en base a los términos que conforman el texto descriptivo de cada cual. El uso de
representaciones vectoriales basadas en modelos de frecuencias de términos de
recuperación de información como Tf-Idf (capítulo 3) o BM25 (capítulo 9) es usual
en esta fase.

Las siguientes secciones revisan los principales desafíos concernientes a


las cuatro tareas usuales de minería de contenido en la Web. Las secciones
presuponen que el lector ha revisado los capítulos de crawling (capítulo 18) y de
pre procesamiento de texto (capítulo 5), por lo cual asumen que para el proceso de
minería de datos ya se dipone de una colección de recursos a ser explorados y que
es posible, usando alguna de las técnicas estándar de recuperación de información,
construir una representación vectorial del texto.
© RA-MA CAPÍTULO 19. MINERIA DE DATOS EN LA WEB 7

Extracción de información
La tarea de extracción de información consiste en identificar texto desde
repositorios de recursos recolectados desde la Web. En esta tarea podría ser de
interés el extraer información de una página Web completa, así como de alguno de
los objetos que ella contiene. En el primer caso es frecuente que baste con la
conducción de un proceso de parsing del código HTML de la página. El lector
puede encontrar varios de ellos en la Web, a menudo de uso gratuito. Más difícil es
el caso de extraer información descriptiva de los objetos que contiene la página.

La extracción de información específica de un objeto contenido dentro de


una página se conoce como scraping. Recibe este nombre debido a que
corresponde a un proceso de extracción de un “fragmento” de información
específico. Un proceso efectivo de scraping debe permitir la identificación y
filtrado del texto que esta relacionado con la descripción de un objeto. Por ejemplo,
dentro de una página nos podría interesar extraer información de una imagen
contenida en ella. En este caso, un proceso de scraping debiera ser capaz de
determinar cual segmento del texto completo está relacionado con la imagen, lo
cual técnicamente es un problema difícil.

Las técnicas de scraping pueden ser diferenciadas en dos tipos: Extracción


de información sin considerar la estructura de la página y extracción de
información usando la estructura de la página. Una aproximación que no considera
la estructura consiste en definir a priori el tamaño de la ventana de texto que
consideraremos describe a un objeto en particular. Esta ventana de texto
frecuentemente es seleccionada a partir del texto que rodea al objeto, razón por la
cual recibe el nombre de surrounding text. También es frecuente en este tipo de
soluciones el considerar los campos HTML que declaran al objeto en particular.
Por ejemplo, en el caso de imágenes es usual considerar como texto descriptivo a
los campos título, caption y URL, como se muestra en la Figura 1.
8 RECUPERACIÓN DE INFORMACIÓN. UN ENFOQUE PRACTICO Y MULTIDISCIPLINAR © RA-MA

Figura 1. Extracción de información de una imagen incrustada en una


página Web (imagen cortesía de Roberto Vásquez G.)

Para evitar el tener que definir a priori el tamaño de la ventana o cuáles


campos HTML serán usados como descriptores del objeto es frecuente también el
uso de aproximaciones basadas en aprendizaje supervisado, las cuales en base a un
conjunto de ejemplos permiten determinar un grupo de reglas que ayudan a definir
los segmentos del texto que son relevantes para cada nuevo objeto. Se trata de
técnicas más complejas que escapan al ámbito de este libro por lo que para el lector
que quiera profundizar en este aspecto recomendamos la revisión de las técnicas
WHISK (Soderland, 1999) y RAPIER (Califf, 2003).

Varias técnicas consideran la estructura de las páginas Web para extraer


información de ellas. A menudo estas técnicas se usan para extraer información
desde páginas / sitios que presentan listados de objetos que son recuperados desde
bases de datos. Estos objetos son presentados de acuerdo a un formato pre
establecido durante el proceso de diseño de la página / sitio. Estas técnicas se
encargan de identificar este formato para luego poder extraer la información que
contiene. Debido a la analogía que este proceso tiene con el desenvolver un objeto
de su envoltorio, recibe el nombre de wrapping. Al software que conduce un
proceso de wrapping se le denomina wrapper.

Un wrapper requiere de un conjunto de reglas que le permitan determinar


el envoltorio que rodea al objeto. Este segmento de la página se denomina región
de datos. También requiere de reglas que le permitan reconocer los campos que
contienen la información descriptiva del objeto. Estos campos se denominan
© RA-MA CAPÍTULO 19. MINERIA DE DATOS EN LA WEB 9
campos de datos y pueden ser definidos usando variados formatos. Debido a la
diversidad de formatos de presentación y estilos de diseño de las páginas / sitios, el
problema de wrapping es un problema difícil. La Figura 2 ilustra el tipo de
regiones y campos que un wrapper debiera detectar en un motor de búsqueda de
imágenes.

Como muestra la Figura 2, el wrapper debe ser capaz de identificar una


región de datos que contiene cuatro recursos, y para cada recurso identificado (en
este ejemplo se trata de imágenes), dos campos de datos, uno correspondiente a la
dimensión y tamaño y otro a la URL. Adicionalmente el wrapper podría usar los
términos de la consulta como texto descriptivo de las imágenes.

Usualmente el conjunto de reglas de los que dispone el wrapper son


definidas por un usuario experto. Lo anterior limita el uso del wrapper en nuevas
páginas / sitios debido a que, al variar el formato de presentación de los recursos,
requiere de un nuevo conjunto de reglas para cada nuevo escenario. Para abordar
este problema el estado del arte muestra distintos métodos que en base a un
conjunto de ejemplos son capaces de determinar automáticamente el conjunto de
reglas. Este problema se conoce como inducción del envoltorio (wrapper
induction). Los métodos usan diversas técnicas de máquinas de aprendizaje para
aprender las reglas. Debido a que se trata de métodos complejos que escapan al
ámbito de este libro, se recomienda que el lector interesado en este tema revise los
métodos WL (Cohen et al, 2002) y Thresher (Hogue y Karger, 2005).
10 RECUPERACIÓN DE INFORMACIÓN. UN ENFOQUE PRACTICO Y MULTIDISCIPLINAR © RA-MA

Figura 2. Wrapping de imágenes sobre un motor de búsqueda.

El tema de extracción de información ha demandado el esfuerzo de varios


grupos de desarrollo que han logrado la liberación de herramientas que facilitan
estas tareas. Para el lector interesado en explorar herramientas de este tipo se
recomienda revisar las iniciativas libres Lucene 1, LingPipe2, Gate3 y Deixto4.

Agrupamiento de documentos
Una de las tareas de minería de contenido Web más usuales consiste en agrupar
documentos (document clustering). Uno de sus principales usos ocurre en
recuperación de información, donde el uso de grupos cohesivos de documentos
similares favorece la eficiencia y efectividad de la recuperación. Lo anterior se
basa en la denominada hipótesis de clustering, la cual establece que documentos
con contenidos similares son relevantes también a las mismas consultas.

1
http://lucene.apache.org/
2
http://alias-i.com/lingpipe/
3
http://gate.ac.uk/
4
http://deixto.com/
© RA-MA CAPÍTULO 19. MINERIA DE DATOS EN LA WEB 11
Muchas nociones de similitud pueden ser usadas para agrupar documentos,
pero todas ellas buscan finalmente que la función de similitud refleje las relaciones
semánticas entre los contenidos de los documentos agrupados. Para ello, cada
documento es representado usando un vector de términos ponderado (term –
weighted vector) a partir de un esquema Tf-Idf, BM25 u otro. Otra aproximación
consiste en representar a los documentos usando características agregadas (feature
vector). Cualquiera sea el tipo de vector construido, posteriormente se usa una
función de similitud/distancia, entre las cuales las más comunes son la similitud
coseno, la distancia Manhattan, la distancia Euclidiana y la función de Jaccard.
Usando estas funciones de similitud/distancia es posible aplicar en cada colección
documental estrategias de agrupamiento estándar.

Usando algoritmos estándar de agrupamiento en colecciones de


documentos como k-means, es posible determinar para cada documento el grupo al
cual pertenece. Otras aproximaciones, basadas generalmente en técnicas difusas,
permiten que cada documento pueda pertenecer simultáneamente a más de un
grupo. Los algoritmos más ampliamente usados para agrupamiento difuso son
fuzzy c-means y fuzzy merging, el primero siguiendo un enfoque divisivo y el
segundo un enfoque aglomerativo. El estado del arte también muestra
aproximaciones exitosas en agrupamiento de documentos a partir de algoritmos
jerárquicos. Se recomienda al lector interesado en este tema el revisar el capítulo de
clustering de documentos (capítulo 11).

El uso de grupos de documentos similares tiene variadas aplicaciones en


minería Web. Uno de ellos es facilitar la organización de grandes colecciones
documentales, particionando la colección en grupos de documentos, favoreciendo
con esto la distribución de la colección en varias máquinas. El método Semcache
(Mendoza et al., 2010) muestra que el uso de una estrategia de distribución de
documentos basada en clustering permite mejorar la eficiencia de los motores de
búsqueda, favoreciendo aspectos como la escalabilidad. Con respecto a la
experiencia del usuario, el motor de búsqueda Yippy 1 despliega además del listado
de documentos a cada consulta, un listado de grupos de documentos relevantes,
permitiendo que el usuario pueda especilizar su consulta al explorar cada uno de
estos grupos de resultados.

Categorización de documentos
Otra tarea frecuente en minería de contenido es la categorización de
documentos en una o más categorías predefinidas. Generalmente las categorías
representan temas en los cuales es necesario categorizar a los documentos
facilitando su organización y posterior recuperación. Para lograr esto, los
documentos son caracterizados usando su texto, a partir de alguno de los modelos
1
http://www.yippy.com
12 RECUPERACIÓN DE INFORMACIÓN. UN ENFOQUE PRACTICO Y MULTIDISCIPLINAR © RA-MA

de representación de documentos frecuentemente usados en recuperación de


información. Para construir un categorizador es necesario disponer de una
colección de documentos de entrenamiento, donde cada uno de los documentos que
la conformen esté previamente etiquetado con una o más de las categorías a las
cuales pertenecen. Es usual que esta colección sea construida manualmente o de
forma semi automática. En el caso de etiquetamiento semi automático, se puede
usar alguna de las estrategias de agrupamiento de documentos discutidas en la
sección anterior, procediendo a una posterior etapa de etiquetamiento de los
grupos, transfiriendo las etiquetas a los documentos agrupados en cada clúster.
También es necesario reservar un conjunto de documentos para evaluar cuan
precisos son los categorizadores construidos. Esto se hace contrastando las
categorías predichas (las entregadas por el categorizador) con las nominales (las
determinadas en la etapa de construcción del data set de evaluación).

Muchas técnicas de máquinas de aprendizaje han sido aplicadas al


problema de categorización de documentos, entre ellas redes Bayesianas, k vecinos
más cercanos y máquinas de soporte vectorial. Todas ellas tienen en común el uso
del texto para representar a cada documento en el espacio vectorial de términos.
Además todas ellas son técnicas supervisadas, es decir, requieren de páginas de
ejemplos previamente categorizadas a partir de las cuales extraer patrones que
permitan categorizar nuevas páginas. Una revisión exhaustiva de estos métodos
puede ser estudiada en el capítulo 12.

El uso de métodos de categorización de documentos tiene varias


aplicaciones en minería de datos en la Web. Quizás el más frecuente consiste en
categorizar colecciones documentales en un conjunto predefinido de temas,
favoreciendo la mantención automática de directorios como Yahoo! Directory 1 o el
Open Directory Project 2. Sin embargo, debido a que la información consolidada en
los directorios debe evitar la presencia de falsos positivos, es frecuente que los
resultados del proceso de categorización sean validados por expertos humanos.
Otra aplicación consiste en categorizar noticias, favoreciendo con esto la
mantenibilidad de sitios que deben gestionar grandes volúmenes de información
diariamente, como es el caso de Google News 3 o Yahoo! News4.

1.2.3 Minería de opiniones en la Web


Es frecuente que la minería de contenido de la Web se encargue de
determinar la pertenencia de documentos a un conjunto de clases predefinidas, cada
1
http://dir.yahoo.com/
2
http://www.dmoz.org/
3
http://news.google.com/
4
http://news.yahoo.com/
© RA-MA CAPÍTULO 19. MINERIA DE DATOS EN LA WEB 13
una de las cuales definen algún campo específico del conocimiento. Esta
aproximación se conoce como categorización por tópico (topic categorization).
También es parte de esta aproximación considerar que el contenido de cada
documento expresa hechos acerca de un tema en particular. En este sentido, el
contenido de los documentos puede describirse como un conjunto de afirmaciones
realizadas en un tema específico. Luego, la información procesada puede ser
entendida como información factual y a la postre objetiva.

El surgimiento de blogs, y en general de redes sociales ha planteado un


nuevo escenario a la minería de contenido. Blogs, foros, y en general redes
sociales, permiten a sus usuarios expresar opiniones acerca de temas determinados.
Se ha denominado a estos repositorios de información la Web 2.0 (ver sección 5
del capítulo 6), refiriéndose con esto a la porción de la Web en la cual los
contenidos corresponden a información subjetiva, personal, de los usuarios de la
Web. A la exploración de esta información se le denomina minería de opiniones o
análisis de sentimientos (opinión mining / sentiment analysis).

El objetivo fundamental de la minería de opiniones es poder extraer


patrones y estadísticas interesantes que permitan analizar la dinámica de las
opiniones que los usuarios expresan en la Web con respecto a temas específicos.
Variadas aplicaciones de minería de datos han requerido el uso de nuevos y más
precisos métodos de minería de opiniones permitiendo con esto por ejemplo, la
percepción de los usuarios con respecto a campañas publicitarias, políticos o
nuevos productos, entre otros.

La minería de opiniones requiere de métodos más sofisticados de análisis


del texto. A diferencia de recuperación de información, donde palabras como no
frecuentemente son eliminadas del vocabulario, en minería de opiniones son
cruciales para determinar la intención exacta del usuario. Por ejemplo, no apruebo
al político X expresa una opinión contraria a apruebo al político X, siendo la única
diferencia entre ambas sentencias la palabra no. Debido a este tipo de casos que se
presentan en el tratamiento del texto, es frecuente que en minería de opiniones se
usen técnicas provenientes de procesamiento de lenguaje natural (natural language
processing).

Es usual en minería de opiniones que la problemática se aborde desde la


perspectiva de categorización. En esta dirección, dos líneas han sido estudiadas: 1)
categorización de opiniones a nivel de documentos, 2) categorización de opiniones
a nivel de sentencias. En el caso de categorización de opiniones a nivel de
documentos, la tarea consiste en, a partir de un documento completo, inferir si su
autor expresa en general una opinión positiva, negativa o neutral acerca de un tema
específico. En el caso de categorización de opiniones a nivel de sentencia, la tarea
consiste en determinar si cada sentencia de un texto expresa una opinión positiva,
negativa o neutral acerca de un tema específico. Independientemente del nivel de
14 RECUPERACIÓN DE INFORMACIÓN. UN ENFOQUE PRACTICO Y MULTIDISCIPLINAR © RA-MA

análisis al que se realiza minería de opiniones, las herramientas usadas para


procesar el texto son similares, consistiendo principalmente en métodos de
normalización de texto, modelos basados en frecuencia de términos, métodos para
identificar secciones de cada sentencia (part-of-speech) o análisis de dependencia
sintáctica. Independientemente del tipo de estrategia usada para procesar el texto,
finalmente el tratamiento de este es distinto que en el caso de información factual.
Al explorar opiniones en texto, los términos más relevantes del texto corresponden
a palabras usadas para expresar opinión, como por ejemplo, bueno, malo, bonito
feo, me gusta, no me gusta, extraordinario, terrible, etc. Es frecuente que los
categorizadores de opinión usen estas palabras o frases de opinión como
características.

Entre las estrategias supervisadas que mayor éxito han tenido en minería de
opiniones han destacado redes Bayesianas ingenuas y máquinas de soporte
vectorial. Por ejemplo, Pang & Lillian (2008), muestran que usando estos
clasificadores es posible categorizar las opiniones de comentarios de películas,
logrando buenos niveles de precisión. Categorizadores multi clase han permitido
también predecir puntajes de preferencia (rating scores) en sistemas de
recomendación de productos.

3 MINERIA DE LA ESTRUCTURA DE LA WEB


La Web puede ser vista como un grafo dirigido G (V , E ) , donde el
conjunto V de nodos o vértices corresponde al conjunto de páginas que la Web
contiene y el conjunto E de arcos corresponde a los hiperenlaces que existen
entre las páginas. Dado un par de nodos v1 , v 2 ∈V , diremos que existe un arco
e(v1 , v 2 ) ∈ E si la página representada por v1 tiene un hiperenlace hacia la
página representada por v 2 .

Una de las preguntas que se han formulado en torno al grafo de la Web es


acerca de sus propiedades, como por ejemplo su tamaño y diámetro. Otras
preguntas que han surgido tienen que ver con características estructurales del grafo.
En este sentido, se han logrado establecer propiedades que se cumplen a escala
microscópica y escala macroscópica. Estos esfuerzos pueden agruparse en torno a
lo que podríamos denominar caracterización de la Web. Para caracterizar la Web,
varias técnicas de minería de datos han sido usadas, entre ellas el disponer de
© RA-MA CAPÍTULO 19. MINERIA DE DATOS EN LA WEB 15
algoritmos de recorrido y exploración del grafo. Todos estos esfuerzos son parte
del área denominada minería de estructura de la Web que cubriremos en las
siguientes secciones.

Estructura microscópica de la Web


Diversos estudios del grafo de la Web han mostrado que su estructura
contiene subestructuras locales. Las estructuras que pueden observarse con mayor
frecuencia corresponden a conjuntos de páginas, donde las páginas de un grupo
tienen muchos enlaces a las páginas de otro grupo, estructuras conocidas en teoría
de grafos como cliques bipartitos. Generalmente obedecen a comunidades
centradas en torno a intereses comunes, siendo los miembros de la comunidad
quienes desde sus páginas apuntan consistentemente a un conjunto de páginas con
contenidos atractivos para ellos. Para ejemplificar este caso consideremos la
siguiente situación. Un conjunto de Universidades dispone cada una de ellas de una
página institucional. Este conjunto de Universidades posee intereses en común, los
cuales pueden ir desde la investigación hasta la colaboración con determinadas
empresas. Luego, posiblemente muchas de estas Universidades apuntarán desde
sus páginas institucionales a páginas de instituciones que cubren sus intereses,
como por ejemplo, centros de investigación, páginas gubernamentales que ofrecen
fondos para transferencia tecnológica, etc. Observemos también que la existencia
de hiperenlaces entre las páginas de cada conjunto es menos probable. Otros
escenarios también generan cliques bipartitos, como por ejemplo la relación entre
fans – celebridades. En general, este tipo de estructura no es tan grande (en
cantidad de nodos).

Otra estructura que puede ser observada a nivel microscópico en la Web


corresponde a grupos de páginas fuertemente conexos. Generalmente corresponden
a comunidades cerradas, con intereses focalizados. Ejemplos de grupos que
generan este tipo de estructuras son páginas institucionales de sectores productivos
específicos, o páginas de tribus urbanas. Y finalmente la estructura microscópica
más frecuente en la Web corresponde a la estructura de sitio, la cual consiste de un
grupo de páginas enlazadas entre sí y alojadas bajo una única página de entrada, a
través de la cual se puede acceder a ellas.

Estructura macroscópica de la Web


A nivel macroscópico, el estudio de Broder, Kumar, Maghoul, Raghavan,
Rajagopalan, Stata, Tomkins & Wiener (2000) mostró que la Web muestra una
estructura de cuello de botella, con una entrada y salida amplias y un núcleo, lo
cual le da el nombre de estructura de corbata (bow - tie). El cuello de botella está
determinado por el núcleo de la Web, un conjunto de páginas con muchos
hiperenlaces entre sí. Sobre una colección de 200 millones de páginas, estimaron
16 RECUPERACIÓN DE INFORMACIÓN. UN ENFOQUE PRACTICO Y MULTIDISCIPLINAR © RA-MA

que el núcleo de la Web estaba formado por 56 millones (aproximadamente el 28%


de la Web), exhibiendo 28 páginas como diámetro. Lo anterior quiere decir que en
el núcleo de la Web el camino más largo entre dos páginas, en el peor caso, es de
largo 28.

Otra conjunto de páginas corresponde a aquellas que a través de sus


hiperenlaces permiten llegar al núcleo de la Web, pero a las cuales no es posible
llegar desde el núcleo. A este conjunto se le conoce como entrada de la Web (IN).
El estudio mostró que este conjunto estaba conformado por 43 millones de páginas.
Análogamente, existe otro conjunto de páginas que definen la salida de la Web
(OUT), también formado por 43 millones de páginas. A la salida de la Web se
puede llegar desde el núcleo pero no es posible llegar al núcleo desde ellas. Entre la
entrada y salida de la Web abarcan aproximadamente el 43% de la Web. Entre
estos conjuntos existían otros 44 millones de páginas que corresponden a caminos
sin salida, es decir, conjuntos de páginas que apuntan a páginas sin hiperenlaces. A
estos conjuntos se los llama tentáculos (tendrils). Entre estos hay además algunos
caminos que comunican la entrada y la salida de la Web, sin pasar por el núcleo.
Finalmente, los restantes 17 millones de páginas corresponden a conjuntos aislados
no conectados con el núcleo.

En un estudio posterior, Baeza-Yates, Saint-Jean & Castillo (2003)


mostraron que la estructura macroscópica de la web estaba relacionada con su
dinámica. A partir de una colección de sitios de la Web, identificaron que la
estructura de la colección permitía identificar las mismas componentes que fueron
descritas en el trabajo de Broder, Kumar, Maghoul, Raghavan, Rajagopalan, Stata,
Tomkins & Wiener (2000). El estudio mostró que los sitios que estaban en la
componente IN de la web correspondían a sitios nuevos que aun no habían sido
enlazados debido al poco tiempo que llevaban en la Web. Análogamente, los sitios
que estaban en la componente OUT de la web correspondían a sitios antiguos que
no habían sido actualizados recientemente. En el estudio, Baeza-Yates, Saint-Jean
& Castillo (2003) identificaron en el núcleo de la Web, al cual llamaron MAIN,
otras regiones de interés, como por ejemplo MAIN-MAIN, que corresponde a
sitios que pueden ser alcanzados directamente desde IN y alcanzar directamente
OUT, MAIN-IN, que corresponde a sitios que pueden ser alcanzados directamente
desde IN pero no están en MAIN-MAIN, y MAIN-OUT, donde los sitios son
alcanzables directamente desde MAIN-MAIN pero no están en MAIN-MAIN. Con
respecto a la edad de los sitios, el estudio mostró que los más antiguos estaban en
MAIN-MAIN mientras que los que registraban actualizaciones más recientes
(frescura) estaban en MAIN-IN. Además mostraron que los que eran actualizados
con mayor frecuencia estaban en MAIN-MAIN y MAIN-OUT, mientras que los
sitios en IN y OUT eran los actualizados con menor frecuencia. Finalmente el
estudio mostró que los sitios más nuevos conforman componentes no conexas de la
© RA-MA CAPÍTULO 19. MINERIA DE DATOS EN LA WEB 17
Web conocidas como islas. La Figura 3 muestra un diagrama acerca de la
estructura macroscópica de la Web y su dinámica.

Estructura mesoscópica de la Web


Algunos estudios sobre la Web han abordado el problema de estudiar el
comportamiento de las características generales del grafo a micro nivel. En física a
esta aproximación se le conoce como análisis a escala mesoscópica, y aborda el
problema de estudiar las propiedades presentes a nivel macroscópico a nivel de las
unidades simples que conforman un sistema complejo. En el contexto de la Web
adquieren relevancia propiedades como su diámetro y el grado de conectividad de
enlaces de salida y entrada que los nodos del grafo ofrecen.

Los principales estudios sobre conectividad de los nodos muestran que la


distribución de los grados, tanto para hiperenlaces de entrada como de salida,
corresponde a power laws, donde es frecuente concluir que el coeficiente de
decaimiento es mayor para hiperenlaces de salida que de entrada. Esto indica que el
esfuerzo de referenciación entre páginas es más significativo desde la colección
completa hacia páginas individuales que desde páginas individuales hacia la
colección completa. Se puede esperar, entonces, para una página cualquiera de la
Web, que presente más hiperenlaces de entrada que de salida.
18 RECUPERACIÓN DE INFORMACIÓN. UN ENFOQUE PRACTICO Y MULTIDISCIPLINAR © RA-MA

Figura 3. Estructura macroscópica de la Web y su dinámica.

Otra propiedad interesante a nivel mesoscópico tiene que ver con su


diámetro. Estudios preliminares indicaban que el diámetro de la Web era
aproximadamente 900. Sin embargo, estudios posteriores han indicado que el
diámetro es bastante menor. En esta dirección, Faloutsos, Faloutsos & Faloutsos
(1999) condujeron un experimento de expansión, que evaluaba la razón de
crecimiento del vecindario a partir de un nodo dado en función de un umbral de
distancia (número de enlaces en el camino más corto que une el nodo origen y el
vecino). El umbral de distancia ha sido conocido como hop, es decir, el número
máximo de pasos que deben realizarse para ir desde un nodo dado a cualquiera de
sus vecinos. Luego, dado un nodo v podemos contar el número de nodos en el
vecindario alcanzable en h hops, denotado por N h (v ) . Si repetimos el proceso
anterior, para todo nodo del grafo de la web podemos obtener el tamaño del
vecindario total N h , dado por ∑v N h (v) . El gráfico N h en función de h es
conocido como el hop - plot del grafo.

El hop - plot puede ser usado para calcular el diámetro efectivo del grafo,
el cual es definido por Krishnamurthy, Sun, Faloutsos & Tauro (2003) como el
© RA-MA CAPÍTULO 19. MINERIA DE DATOS EN LA WEB 19
mínimo numero de hops en el cual una fracción significativa de los nodos del grafo
son alcanzables. Diversos estudios han mostrado que el grafo de la Web tendría un
diámetro efectivo igual a 6 lo que permitiría alcanzar aproximadamente el 90% de
las páginas / sitios que la conforman.

También ha sido estudiada la razón de crecimiento de N h en función del


número de hops. Faloutsos, Faloutsos & Faloutsos (1999) plantean que la razón de
crecimiento es exponencial. Sin embargo, como el diámetro efectivo de la Web es
tan pequeño, existen muy pocos puntos en la curva N h en función de h que
permitan validar esta hipótesis.

Ejemplo 19.1
Para ilustrar el concepto de hop – plot, consideremos un subgrafo de la
Web que contiene 10 nodos (denotados por vi , i ∈{1,10} ) donde para cada uno
de ellos se ha contado el número de nodos alcanzables en h hops. Los resultados
del experimento se muestran en la siguiente tabla:

h v1 v2 v3 v4 v5 v6 v7 v8 v9 v10

1 1 2 3 2 3 2 1 2 1 2

2 3 3 4 5 4 3 3 4 3 4

3 4 5 6 6 7 7 4 8 4 5

4 7 6 7 7 8 10 5 9 6 7

5 7 6 8 7 8 10 6 9 6 7

6 7 6 8 7 8 10 6 9 6 7

Luego calculamos los tamaños de los vecindarios para cada valor de h ,

N 1 = 19, N 2 = 36, N 3 = 56, N 4 = 72, N 5 = 74, N 6 = 74

Podemos observar que luego del quinto hop no hay más nodos alcanzables
( N 5 = N 6 ). Podemos observar también que un diámetro efectivo igual a tres
20 RECUPERACIÓN DE INFORMACIÓN. UN ENFOQUE PRACTICO Y MULTIDISCIPLINAR © RA-MA

permite alcanzar el 75% de este subgrafo y un diámetro efectivo igual a cuatro


permite alcanzar el 97%.

4 MINERIA DE USO DE LA WEB


La actividad que los usuarios realizan en sitios de la Web es registrada en
archivos de logs de acceso. Debido a la enorme cantidad de sitios disponibles en la
Web así como de usuarios que diariamente los visitan e interactúan con ellos,
existe un gran volumen de datos disponibles para poder ser analizados. En el pre
procesamiento de estos datos será necesario identificar sesiones, además de
eventualmente recuperar otra información que pueda ser de utilidad como perfiles
de usuarios y cookies. Una vez que los datos de logs están organizados es posible
ejecutar distintas tareas de minería de datos sobre ellos.

Los patrones detectados permiten identificar modelos de navegación de los


usuarios así como cuales recursos disponibles en el sitio atraen un mayor interés.
Esta información es de gran valor, permitiendo detectar grupos de usuarios con
intereses comunes. Además, esta información podrá ser usada para
automáticamente modificar el diseño del sitio de acuerdo a las necesidades de
grupos específicos, lo que se conoce como personalización del sitio.

Archivos de logs
Cada uno de los accesos a un sitio es registrado en archivos de logs. Los
accesos registrados corresponden a peticiones sobre recursos específicos del sitio
(requests). Los requests son realizados usando un protocolo específico, que
generalmente en el caso de la Web es el HTTP. Cada línea del archivo de logs
almacena una petición en particular, en la cual además se guardan otros datos,
como el host desde el cual se solicitó el recurso, la fecha y hora de la solicitud y el
resultado de la petición. Los campos más comunes que permiten describir una
petición son:

host_remoto logname_remoto logname_local [fecha] "request" estado bytes

donde host_remoto indica el nombre del host remoto desde donde se ha solicitado
la petición o bien la IP si el DNS no está disponible; logname_remoto indica el
nombre que el usuario utilizó al acceder su máquina; logname_local indica el
nombre que el usuario utilizó para autenticación; fecha corresponde a la fecha y
© RA-MA CAPÍTULO 19. MINERIA DE DATOS EN LA WEB 21
hora en la cual la petición fue realizada; request indica exactamente qué es lo que
el usuario solicitó; estado indica el código HTTP retornado al usuario y bytes
indica el largo en bytes del contenido transferido al usuario. Es frecuente que si
alguno de los campos no puede ser determinado, se inserte un signo menos (-).

Las peticiones realizadas a un sitio son registradas en el archivo de logs de


acuerdo a la fecha y hora en la cual fueron realizadas. Al campo fecha y hora se le
denomina timestamp. El timestamp de una petición indica el punto en el tiempo
exacto en el cual la petición fue realizada.

El Consorcio de la World Wide Web (W3C) ha especificado una extensión


al formato common log conocida como “Extended Log File Format” (ELF),
motivada principalmente por la necesidad de proveer más campos a aplicaciones
Web que lo requieran. Entre los campos más relevantes destacan el campo referrer,
el cual corresponde a la URL que el usuario estaba visitando cuando realizó la
petición, browser, que indica desde cual browser HTML el usuario accedió al sitio,
S.O., que indica cual sistema operativo era usado, y cookie, el cual se usa para
indicar si el sitio visitado utilizaba cookies. Frecuentemente los campos sistema
operativo y browser se expresan en un solo campo denominado agente.

El formato ELF ha sido adoptado por motores de búsqueda dado que


facilitan el registro de sesiones de usuarios. El campo referrer permite dejar
registro de la consulta que el usuario formuló antes de seleccionar una página, así
como reconstruir el orden en el cual el usuario seleccionó las páginas
recomendadas. Una de las dificultades con las que deben lidiar los motores de
búsqueda es la anonimidad de los usuarios, ya que por lo general no se usa
autenticación. Esto conlleva un esfuerzo adicional para la reconstrucción de las
sesiones de los usuarios, tema que será abordado en la siguiente sección.

Sesiones de usuarios
Los archivos de logs solo registran las peticiones que los usuarios realizan
por recursos específicos. Cada vez que un usuario ingresa a un sitio, puede realizar
varias peticiones, ya sea al seleccionar más de un recurso o seleccionar botones de
avanzar / retroceder páginas. Por ejemplo, en un sitio de comercio electrónico, un
usuario puede realizar una búsqueda de un producto específico y revisar las
descripciones de varios de ellos antes de decidir cual adquirir. Además podría
adquirir más de uno, o eventualmente, ninguno. Cada vez que el usuario seleccione
la opción ver detalle del producto, estará enviando una petición al sitio por una
página que contenga la información requerida. Si decide, adquirir alguno de estos
productos, deberá realizar otra petición, la cual consiste en agregar el producto a un
carro de compras. Si el sitio ofrece paginación, eventualmente podrá desear revisar
la siguiente página de resultados que el sitio ofrece, haciendo una nueva petición al
22 RECUPERACIÓN DE INFORMACIÓN. UN ENFOQUE PRACTICO Y MULTIDISCIPLINAR © RA-MA

sitio. Todas estas peticiones son registradas siguiendo el orden en el cual fueron
realizadas, de acuerdo a su timestamp.

A la secuencia de peticiones realizadas a un sitio por un usuario en


particular hasta que este abandona el sitio lo denominaremos sesión de usuario. La
sesión de un usuario contiene información útil para el sitio, en tanto indica cuales
fueron los recursos que atrajeron su atención, así como el orden en el cual navegó a
través del sitio. El adecuado uso de esta información favorecerá tareas como
rediseño del sitio, segmentación de usuarios de acuerdo a sus intereses y
personalización del sitio para grupos de usuarios con intereses comunes. Sin
embargo, la exploración de estos datos requiere de esfuerzos en la etapa de pre
procesamiento de los logs, los cuales describiremos a continuación.

Un problema importante en minería de uso consiste en la identificación de


la identidad del usuario. La mayoría de las sesiones de usuario se inician sin que
estos se registren en el sitio. Más aún, en muchos sitios no se considera un proceso
de registro y posterior autenticación de los usuarios, como es frecuente en el caso
de los motores de búsqueda. Sin embargo, hay muchas formas de identificar al
usuario siendo la solución más frecuente el asumir que cada IP identifica a un
usuario distinto. Este supuesto no siempre es válido, debido a que muchas veces el
usuario se conecta desde una máquina que trabaja en una red, quedando registrado
en el archivo de log la IP que enmascara la red. Así también, muchas veces los
números IP son asignados de forma dinámica, por lo que de una sesión a otra, el
mismo usuario usando la misma máquina podría registrar distintos números IP.
Finalmente, muchas veces distintos usuarios pueden usar la misma máquina,
registrando la misma IP si es que esta máquina posee un número IP válido.

Frecuentemente lo que se hace para abordar estas dificultades es considerar


otros campos registrados en los logs, como browser y sistema operativo, con los
cuales es posible desambiguar algunas de estas situaciones. Finalmente, una
aproximación más precisa consiste en usar cookies, con lo cual sería posible
implementar un sistema de registro de identidad similar al usado cuando un usuario
se registra en un sitio. Sin embargo, el uso de cookies por parte de los usuarios
puede ser voluntariamente deshabilitado por los usuarios si estos así lo estiman
conveniente.

Otro problema importante consiste en la identificación de la sesión del


usuario. Haciendo el supuesto que la identidad del usuario ya ha sido determinada,
es necesario precisar cuando la sesión comienza y finaliza, recolectando desde el
archivo de logs todas las peticiones realizadas por el usuario. El inicio de la sesión
puede ser definido como la fecha y hora en la cual es realizada la primera petición
por un usuario en particular. Sin embargo, el determinar el final de la sesión
© RA-MA CAPÍTULO 19. MINERIA DE DATOS EN LA WEB 23
involucra una dificultad adicional. Muchas veces los sitios no disponen de la
alternativa cerrar sesión o abandonar, de manera que los usuarios abandonan el
sitio sin hacer una petición. Una solución a este problema consiste en considerar un
tiempo máximo, o timeout, de manera que dos peticiones consecutivas que excedan
dicho timeout sean consideradas como pertenecientes a sesiones distintas.

Ejemplo 19.2
Para ilustrar el concepto de identificación de sesiones, consideremos una
muestra de un log como el mostrado en la siguiente tabla:

IP Tiempo Request Referrer Agente

1.2.3.4 00:00:00 A - Moz.; Linux

1.2.3.4 00:00:30 B A Moz.; Linux

1.3.4.4 00:03:15 C - IE. 8; Win7

1.3.4.4 00:04:12 D C IE. 8; Win7

1.2.1.10 00:05:07 E - Moz.; Linux

1.3.4.4 00:09:45 F C IE. 8; Win7

1.2.3.4 00:11:11 G A Moz.; Linux

1.2.3.4 00:11:34 H B Moz.; Linux

1.2.1.10 00:16:26 I - Moz.; Linux

1.3.4.4 00:20:07 J F IE. 7; WinXP

1.3.4.4 00:20:36 K F IE. 7; WinXP

1.2.1.10 00:21:44 L I Moz.; Linux

Primero procederemos a identificar los usuarios registrados en el log. Para


ello consideraremos el número IP y el agente, lo cual nos permite identificar 4
usuarios:

Usuario IP Agent
24 RECUPERACIÓN DE INFORMACIÓN. UN ENFOQUE PRACTICO Y MULTIDISCIPLINAR © RA-MA

Usuario 1 1.2.3.4 Moz.; Linux

Usuario 2 1.3.4.4 IE. 8; Win7

Usuario 3 1.2.1.10 Moz.; Linux

Usuario 4 1.3.4.4 IE. 7; WinXP

Observemos que los usuarios 2 y 4 comparten la misma IP pero usan


distintos agentes. Por otro lado, los usuarios 1 y 3, si bien usan el mismo agente
difieren en el número IP.

Una vez que hemos identificado a los usuarios, podemos detectar las
sesiones de cada uno. Para ello, consideremos un timeout de 10 minutos. Esto nos
permite identificar 6 sesiones:

Sesión Usuario Request Referrer

1 Usuario 1 A -

1 Usuario 1 B A

2 Usuario 2 C -

2 Usuario 2 D C

2 Usuario 2 F C

3 Usuario 3 E -

4 Usuario 1 G A

4 Usuario 1 H B

5 Usuario 3 I -

5 Usuario 3 L I
© RA-MA CAPÍTULO 19. MINERIA DE DATOS EN LA WEB 25
6 Usuario 4 J F

6 Usuario 4 K F

Observemos que las sesiones 4 y 5 son identificadas debido a la elección


del timeout, lo cual ilustra cuan sensible es la heurística al valor de este parámetro.

Análisis de tráfico
La forma más frecuente de análisis de datos de sesiones de usuarios
consiste en medir estadísticas de tráfico que sean de interés para los
administradores del sitio. Para ello es común usar análisis agregado, esto es,
identificar variables de interés sobre las cuales agregar datos observados en los
archivos de logs. Entre estas variables es frecuente considerar el tiempo y la
localización. En el caso del tiempo, la agregación de los datos se realiza
considerando horas, días o meses. En el caso de la localización, es frecuente
realizar análisis a nivel de dominio.

Las estadísticas extraídas buscan reflejar el interés que los usuarios han
mostrado por el sitio, como por ejemplo estadísticas de actividad (número total de
visitas, tiempo promedio de visita, largo promedio de un camino (path) hacia un
recurso), estadísticas de satisfacción de usuarios (recursos más frecuentemente
accesados, recursos más frecuentemente visitados al iniciar la sesión, recursos más
frecuentemente visitados al finalizar la sesión, cantidad de usuarios que vuelven al
sitio), estadísticas de la ubicación de los usuarios (localidades desde las cuales se
genera más interés por el sitio, desagregación de actividad a nivel de países /
ciudades), estadísticas de referenciación (sitios desde los cuales los usuarios
acceden nuestro sitio con mayor frecuencia, consultas usadas con mayor frecuencia
en motores de búsqueda antes de accesar el sitio) y estadísticas de las máquinas de
los usuarios (browsers / sistemas operativos usados con mayor frecuencia para
accesar nuestro sitio).

Aun cuando la extracción de estadísticas básicas de uso corresponde solo a


una primera aproximación hacia un análisis más profundo de los datos de uso de un
sitio, es información sumamente útil que permite tomar rápidas decisiones para
mejorar / modificar el diseño de un sitio, detectando de forma temprana eventuales
deficiencias en su diseño. El uso de herramientas de análisis de tráfico en sitios es
una necesidad cada vez más relevante en la Web.
26 RECUPERACIÓN DE INFORMACIÓN. UN ENFOQUE PRACTICO Y MULTIDISCIPLINAR © RA-MA

Existen aplicaciones para análisis de tráfico que se basan en tecnologías


más sofisticadas, como por ejemplo OLAP (On-Line Analytical Processing). En
una aplicación basada en OLAP se definen dimensiones sobre las cuales realizar
agregación / desagregación. En el contexto de minería de uso estas dimensiones
frecuentemente corresponden al tiempo y la localización de los usuarios, pudiendo
realizarse agregación / desagregación en horas / días / semanas / meses, ciudades /
países. Una aplicación OLAP pre calcula los distintos niveles de agregación /
desagregación a través de los cuales el administrador del sitio desee realizar
análisis, facilitando la formulación de consultas OLAP y la navegación en estas
dimensiones. La integración de datos de logs en aplicaciones basadas en OLAP
permite calcular medidas de uso que pueden ser de gran utilidad para los
administradores de los sitios.

Agrupamiento en minería de uso de la Web


Las técnicas de agrupación de objetos similares (clustering) usadas en
minería de datos tienen una gran importancia en el contexto de minería de uso.
Usando algún algoritmo estándar de agrupamiento sobre los datos de sesiones de
usuarios, como k - means, se pueden determinar grupos de sesiones similares. Cada
uno de estos grupos describirá sesiones en las cuales los usuarios han sido atraídos
por recursos similares, registrando también patrones de recorrido del sitio
(navegación) coincidentes. Esto indica que las necesidades de estos usuarios han
sido similares al visitar el sitio, indicándonos que tienen intereses comunes. Cada
uno de estos grupos de sesiones pueden ayudar a determinar nuevas agrupaciones
en una de las siguientes dos direcciones: grupos de usuarios que registran sesiones
similares y grupos de recursos que son requeridos en sesiones similares.

La segmentación de usuarios a partir del registro del uso que realizan de un


sitio permite determinar intereses comunes mas allá de los que inicialmente
podrían declarar los mismos usuarios en sus perfiles (en caso de disponer de ellos)
o a partir de características propias de los usuarios como su localización, o de
características de las máquinas que usan, como el browser y sistema operativo
desde el que acceden al sitio. La segmentación de usuarios por uso puede dar
importantes señales a los administradores de los sitios permitiendo la
personalización del sitio adecuada a cada una de las comunidades de usuarios
identificadas.

El determinar grupos de recursos con patrones de acceso similares


posiblemente indica que el contenido de estos recursos es similar, sin
necesariamente acceder al texto que estos recursos pudieran tener. Usando estas
técnicas es posible encontrar por ejemplo grupos de páginas similares, lo cual
podría indicar a los diseñadores del sitio una mejor forma de estructurar el sitio.
© RA-MA CAPÍTULO 19. MINERIA DE DATOS EN LA WEB 27
También es posible encontrar grupos de consultas similares en motores de
búsqueda, lo cual podría permitir implementar sistemas de recomendación de
consultas.

Una vez que los grupos de objetos son determinados, es posible realizar
una representación de cada uno de ellos. Para esto es frecuente considerar el
centroide de cada grupo. Es común también encontrar aplicaciones que utilizan los
centroides de grupos de páginas similares para procesar consultas. Es el caso de los
motores de búsqueda, en los cuales es posible comparar cada consulta con los
centroides de cada grupo de páginas para luego realizar el ranking sobre los objetos
recuperados desde los grupos más cercanos.

Reglas de asociación en minería de uso de la Web


Las técnicas de búsqueda de reglas de asociación permiten determinar
patrones de co ocurrencia entre grupos de objetos en bases de datos
transaccionales. Los patrones encontrados son del tipo A → B , donde A y B
representan grupos de objetos (itemsets) que ocurren en las transacciones.

Se define el soporte de un conjunto de objetos A como el número de


transacciones que contienen a A . Denotaremos el soporte de un conjunto de
objetos A por Sop ( A) . Denotaremos el soporte de dos conjuntos de objetos
A, B por Sop ( A, B ) , lo que corresponde al número de transacciones que
contienen a A  B . Estimaremos cuan interesante es una regla de asociación del
tipo A → B calculando su confianza, denotada por Conf ( A → B ) , la cual se
define de la siguiente forma:

Sop ( A, B )
Conf ( A → B ) = .
Sop ( A)
(19.1)

La búsqueda de reglas interesantes puede transformarse en un problema


que involucra elevados costos computacionales. Para conducir estrategias de
búsqueda de reglas de asociación eficientes generalmente se usan algoritmos
basados en etapas de poda. Un ejemplo de este tipo de algoritmos es A priori
(Agrawal & Srikant, 1994).

Las reglas de asociación en el contexto de minería de uso generalmente


corresponden a asociaciones entre recursos de cada sitio siendo cada sesión de
usuarios modelada como una transacción. Una regla en este contexto puede indicar,
por ejemplo, cuan fuerte es la asociación entre dos páginas del sitio, sugiriendo a
28 RECUPERACIÓN DE INFORMACIÓN. UN ENFOQUE PRACTICO Y MULTIDISCIPLINAR © RA-MA

los administradores del sitio la utilidad de agregar un hiperenlace entre ambos


recursos.

Las reglas de asociación también pueden ser usadas para realizar


recomendaciones. Supongamos que un grupo de sesiones tienen en común un
conjunto de recursos seleccionados, digamos A . Las reglas que se puedan generar
usando A pueden ser interesantes y eventualmente alguna de ellas nos puede
permitir realizar recomendaciones. Supongamos que un usuario en una sesión ha
seleccionado un conjunto de recursos B , tal que B ⊂ A . Si la regla
B → ( A − B ) es interesante, entonces podríamos recomendar al usuario los
recursos del conjunto ( A − B ) .

Ejemplo 19.3
Para ilustrar el concepto de reglas de asociación en minería de uso en la
Web consideremos las siguientes sesiones y las páginas seleccionadas en ellas, las
cuales son denotadas por a, b, c, d y e.

Sesión Páginas seleccionadas

1 a,b,c,d

2 b,c,d,e

3 a,b,d,e

4 a,b,d,e

5 a,b,d,e

La siguiente tabla muestra el soporte para los conjuntos de objetos


(itemset) de la colección con soporte mayor o igual a 4.

Itemset Soporte Itemset Soporte Itemset Soporte

a 4 a,b 4 a,b,d 4
© RA-MA CAPÍTULO 19. MINERIA DE DATOS EN LA WEB 29
b 5 a,d 4 b,d,e 4

d 5 b,d 5

e 4 b,e 4

d,e 4

A partir de los itemsets frecuentes anteriores podemos identificar varias


reglas interesantes. Analicemos por ejemplo el itemset frecuente a, b, d. Las reglas
interesantes que pueden ser identificadas en este caso son las siguientes:

Regla Soporte antecedente Confianza

a → b,d 4 1

b → a,d 5 0.8

d → a,b 5 0.8

a,b → d 4 1

a,d → b 4 1

b,d → a 5 0.8

Patrones secuenciales en minería de uso de la Web


La búsqueda de patrones secuenciales en fuentes de uso de sitios en la Web
permite explorar secuencias de recursos seleccionados por usuarios en un orden
determinado. En este sentido, a diferencia de reglas de asociación, el orden en el
cual los recursos son seleccionados es relevante. Su aplicación más renombrada en
minería de uso de la Web es la exploración de patrones secuenciales de
navegación.

Un algoritmo de búsqueda de patrones secuenciales permite encontrar


todas las secuencias de datos que satisfacen un umbral de soporte mínimo. Los
30 RECUPERACIÓN DE INFORMACIÓN. UN ENFOQUE PRACTICO Y MULTIDISCIPLINAR © RA-MA

patrones secuenciales encontrados por este tipo de algoritmos detectan secuencias


frecuentes, donde cada elemento de la secuencia corresponde a un conjunto de
ítems. El orden de los elementos en la secuencia indica la precedencia en la
selección de estos ítems. En una segunda etapa es posible evaluar la confianza de
todas las posibles reglas secuenciales que se pueden producir a partir de cada
secuencia frecuente.

Los patrones secuenciales en minería de uso permiten identificar los


conjuntos de páginas que son frecuentemente seleccionados por los usuarios de un
sitio, en el orden en el cual son visitadas. Usando esta aproximación, los
diseñadores de sitios Web pueden predecir patrones de navegación que permiten
decidir acerca de la utilidad de recomendar determinados productos o recursos a
grupos de usuarios específicos. Su utilidad ha sido explorada principalmente en
sitios de comercio electrónico.

Categorización en minería de uso de la Web


Finalmente, las técnicas de categorización de minería de datos también han
sido usadas en minería de uso de la Web. Un método de categorización busca
mapear un objeto en una clase de un conjunto de clases predefinidas. En minería de
uso se ha explorado el construir representaciones de usuarios en base a vectores de
características. Frecuentemente, las características que permiten describir a cada
usuario están basadas en el uso que este ha hecho del sitio. Además estas
características son agregadas sobre el total de sesiones que el usuario registra en el
sitio.

En una primera etapa, usando técnicas de agrupación o reglas de


asociación, es posible identificar grupos de usuarios similares. Cada uno de estos
grupos de usuarios similares describe un perfil de usuario, con intereses definidos.
Luego, usando diversas técnicas de categorización como máquinas de soporte
vectorial o redes Bayesianas, es posible clasificar en estos grupos a nuevos
usuarios. Finalmente, usando la información de cada perfil, es posible realizar
recomendaciones a los nuevos usuarios en base a la experiencia y preferencias de
los usuarios que comparten ese perfil.

Privacidad de datos en minería de uso de la Web


Un aspecto importante en minería de uso es garantizar a los usuarios la
privacidad de sus datos. En el caso de logs de acceso a sitios o motores de
búsqueda, esta necesidad se traduce en evitar que sean fácilmente identificadas las
© RA-MA CAPÍTULO 19. MINERIA DE DATOS EN LA WEB 31
relaciones entre quien busca que y cuales son sus páginas / sitios más
frecuentemente visitados.

Los esfuerzos por proveer de estrategias eficaces para garantizar privacidad


de datos han sido abordados inicialmente por la comunidad de bases de datos. En
este contexto, el problema de privacidad se traduce en lograr anonimizar bases de
datos relacionales con información contable, como por ejemplo números de tarjetas
de crédito. En esta línea, Sweeney (2002) propuso el método k - anonimity, en el
cual los datos son almacenados de manera que el resultado de cada consulta sobre
un atributo que requiera ser protegido devuelva al menos k entidades.

En el dominio de la Web, el problema de privacidad de datos ha sido


tratado principalmente con la finalidad de anonimizar a usuarios y sus búsquedas
en logs de acceso a sitios. Por ejemplo, Kumar, Novak, Pang & Tomkins (2007)
propusieron un método basado en anonimización usando códigos de hash para
codificar consultas. Sin embargo, el estudio mostró que usando técnicas
estadísticas es posible a partir de un log no anonimizado decodificar muchas de las
consultas poco frecuentes. Para abordar esta limitante, Adar (2007) propuso una
estrategia basada en compartición de secretos, un conocido método usado en
encriptación (criptografía), el cual se basa en que solo son visibles las consultas
que estén asociadas al menos a t usuarios, siendo t el parámetro de seguridad del
algoritmo, buscando con esto revelar solo las búsquedas más frecuentes, ocultando
aquellas que puedan ser maliciosamente analizadas para detectar búsquedas
extrañas o anómalas. Adar (2007) mostró que este método era más eficiente que k
- anonimity al ser aplicado a logs que cambian rápidamente en el tiempo.

En general, el problema de privacidad de datos en la Web es un problema


complejo. Uno de los problemas que existen es que si bien un log puede ser
anonimizado, tanto a nivel de usuarios como de las búsquedas que en el quedan
registradas, prestará menor utilidad para los métodos de minería de uso descritos en
esta sección. Es posible plantear la relación entre privacidad / utilidad de logs como
un trade off, en el sentido que mientras mayor sea el nivel de anonimización de un
log, menor será su utilidad para minería de datos. El delicado equilibrio entre
ambos criterios plantea desafíos aun no resueltos en esta área.

EJERCICIOS RESUELTOS
1. (*) Suponga que un directorio de páginas Web dispone de pocos editores
por lo que sus dueños desean implementar una estrategia de mantención automática
del directorio. Para ello han decidido usar una estrategia de minería de contenidos
de páginas Web basada en categorización. Para ilustrar la estrategia, suponga que
32 RECUPERACIÓN DE INFORMACIÓN. UN ENFOQUE PRACTICO Y MULTIDISCIPLINAR © RA-MA

una de las categorías del directorio aborda el tema “minería de opiniones” y que se
dispone de las siguientes palabras claves para describir este tema: {opinión,
sentimiento, minería, monitoreo, categorización, subjetividad, análisis}. Tres
páginas Web son analizadas como candidatas para ser agregadas al listado de
páginas del tema “minería de opiniones”. Luego de un proceso de extracción de
información se ha determinado que estas páginas contienen las siguientes palabras
claves:

Página 1: {opinión, sentimiento, análisis, recuperación, hecho}

Página 2: {minería, dato, análisis, algoritmo, diseño}

Página 3: {máquina, aprendizaje, categorización, monitoreo}

Proponga un método que permita determinar cual de estas páginas es una


mejor página para ser catgeorizada en el tema “minería de opiniones”.

Respuesta: Dada la información de la que disponemos del tema y de cada página


Web, podemos usar una medida de similitud que considere que cada recurso es
representado como una bolsa de palabras (bag-of-words). En este caso, debido a
que no disponemos de más información como por ejemplo frecuencias de palabras
o frecuencia inversa de palabras en documentos, no podemos construir una
representación Tf-Idf o BM25, por lo que procederemos a usar el coeficiente de
Jaccard para calcular la similitud entre cada página y el tema, el que se define de la
siguiente forma:

A ∩B
Jaccard ( A, B ) = ,
A ∪B

donde A y B representan a los conjuntos de palabras de los objetos comparados.


Calculando el coeficiente de Jaccard obtenemos lo siguiente:

3
Jaccard (Tema, Página _ 1) =
10
2
Jaccard (Tema, Página _ 2) =
10
1
Jaccard (Tema, Página _ 3) =
10
© RA-MA CAPÍTULO 19. MINERIA DE DATOS EN LA WEB 33
El coeficiente de Jaccard nos indica que la mejor candidata para ser
agregada al tema “minería de opiniones” es la página 1.

2. (**) Suponga que para la misma situación del ejercicio resuelto 1 hemos
construido un vector de características para el tema y vectores de características
para dos páginas, sobre R 6 . Los vectores son los siguientes:

t =(0.176,0.088,0.238,0.088,0,0.088)
d 1 =(0.117,0.058,0,0.058,0,0.058)
d 2 =(0.088,0,0.477,0,0,0.176 )

Usando la función de similitud Coseno determine cuál de los dos


documentos es más recomendable agregar al tema “minería de opiniones”..

Respuesta: Como vimos en el capítulo 3, la similitud de Coseno entre dos vectores


a y b se define de la siguiente forma:

a ⋅b
Sim ( a, b) = ,
a ⋅ b

donde a y b representan las normas de los vectores a y b ,


respectivamente. Calculando las normas para los vectores t , d1 y d 2
obtenemos los valores 0.333, 0.1542 y 0.5159, respectivamente. Los productos
punto t ⋅ d 1 y t ⋅ d 2 entregan los valores 0.0359 y 0.1445, respectivamente.
Luego, calculamos la similitud de Coseno:

0.0359
Sim(t , d 1 ) = = 0.699
0.333 ⋅ 0.1542
0.1445
Sim(t , d 2 ) = = 0.841
0.333 ⋅ 0.5159

Lo anterior nos indica que es recomendable categorizar la página d 2 en el tema


“minería de opiniones”.

3. (**) Suponga que se ha construido un categorizador de opiniones que


considera tres categorías {POSITIVO, NEGATIVO, NEUTRAL}. El
categorizador está basado en un árbol de decisión que trabaja a nivel de sentencias
y cuya forma es la siguiente:
34 RECUPERACIÓN DE INFORMACIÓN. UN ENFOQUE PRACTICO Y MULTIDISCIPLINAR © RA-MA

Figura 4.Árbol de decisión para minería de opiniones basado en emoticones

Como muestra la Figura 4, se han usado como características la cantidad de


emoticones de cada sentencia. Por ejemplo, si seguimos la rama más hacia la
derecha del árbol observamos la regla “Si la cantidad de signos de exclamación es
mayor que 1 y la cantidad de emoticones de felicidad es mayor o igual que 1 la
opinión es positiva”. Suponga que se han recuperado 10 tweets relacionados con un
nuevo sistema operativo. Determine usando el categorizador de opiniones de la
Figura 4 cuál es la opinión de los usuarios acerca de este nuevo sistema operativo.

1. Sistema operativo Z será lanzado en tres días más


http://bit.ly/eoDq09
2. Yo probé la versión beta de Z, es muy lenta!!! :-(
3. Z no corre en mi notebook, necesita mucha RAM :-(
4. RT @swizzling: Sistema operativo Z será lanzado en tres días
más http://bit.ly/eoDq09
5. Encontre esta página que muestra bugs para Z
http://fed.me/98Qr
6. ¿Otra versión más de Z? ¿Cuántos parches necesitará?
http://bit.ly/eoDq09
7. RT @bilbo: Encontre esta página que muestra bugs para Z :-(
http://fed.me/98Qr
8. RT @mordor: Sistema operativo Z será lanzado en tres días más
http://bit.ly/eoDq09
9. Yo no instalaré Z en mi equipo!!!
10. RT @mordor: Encontre esta página que muestra bugs para Z :-(
http://fed.me/98Qr
© RA-MA CAPÍTULO 19. MINERIA DE DATOS EN LA WEB 35
Respuesta: Primero caracterizaremos cada sentencia usando las características que
considera el árbol de decisión. Considerando el vector ( #! , #:-| , #:-) , #:-( )
obtenemos las siguientes representaciones:

Tweet 1: (0,0,0,0); Tweet 2: (3,0,0,1); Tweet 3: (0,0,0,1); Tweet 4: (0,0,0,0);


Tweet 5: (0,0,0,0); Tweet 6: (0,0,0,0); Tweet 7: (0,0,0,1); Tweet 8: (0,0,0,0);
Tweet 9: (3,0,0,0); Tweet 10: (0,0,0,1)
Luego, los resultados de la categorización son los siguientes:

NEUTRAL = {Tweet 1, Tweet 4, Tweet 5, Tweet 6, Tweet 8, Tweet 9}

NEGATIVO = {Tweet 2, Tweet 3, Tweet 7, Tweet 10}

POSITIVO = ∅

Luego, podemos observar que, de acuerdo a nuestro categorizador, el sistema


operativo Z ya tiene detractores, (4 de los 10 tweets que hemos analizado), muestra
6 tweets neutrales y ninguno positivo.

4. (*) La colección de páginas de una Universidad ha sido recolectada por un


crawler, determinando para cada una de ellas la cantidad de hiperenlaces de entrada
y salida desde y hacia páginas de la misma Universidad. Los resultados de este
experimento se muestran en la siguiente tabla:

# In links # páginas # Out links # páginas

0 5 0 35

1 61 1 34

2 22 2 30

3 14 3 11

4 7 4 4

5 4 5 2

6 3 6 1

7 0 7 0

8 0 8 0
36 RECUPERACIÓN DE INFORMACIÓN. UN ENFOQUE PRACTICO Y MULTIDISCIPLINAR © RA-MA

9 1 9 0

10 1 10 1

Determine la distribución de grados de hiperenlaces de entrada y salida en la rede


de páginas de la Universidad. Entregue alguna evidencia que indique si las
distribuciones se ajustan a leyes de potencia (power laws).

Respuesta: La tabla nos muestra que el crawler ha recolectado 118 páginas. Luego,
calcularemos la fracción de hiperenlaces sobre el total de páginas para cada valor
de las variables # In links y # Out links. Por ejemplo, la tabla nos muestra que 5
páginas no registran hiperenlaces de entrada, lo que equivale al 4.2%. El gráfico de
la Figura 5 nos muestra la distribución para ambas variables.

Podemos observar en la Figura 5 que la distribución de enlaces de entrada


muestra una mayor proporción de páginas con 1 hiperenlace y una menor
proporción de páginas sin hiperenlaces que la distribución de enlaces de salida.
Esto ilustra que el valor esperado de hiperenlaces de entrada es más alto que para
salida, como muestra el estado del arte. Acerca de leyes de potencia, debido a que
disponemos sólo de 118 páginas, es aventurado concluir si existe un ajuste de las
distribuciones empíricas a las teóricas.
© RA-MA CAPÍTULO 19. MINERIA DE DATOS EN LA WEB 37

Figura 5. Distribución de hiperenlaces de entrada y salida para el ejercicio 3.

5. (***) Un sitio contiene cuatro páginas { p1 , p2 , p3 , p4 } según la


estructura siguiente:

Figura 6. Estructura interna de un sitio para el ejercicio 4.

Tres consultas { q1 , q 2 , q3 } formuladas a un motor de búsqueda retornan


en su lista de respuestas a las páginas { p1 , p2 , p3 , p4 } registrando la siguiente
cantidad de selecciones:

p1 p2 p3 p4 Cantidad
de sesiones
38 RECUPERACIÓN DE INFORMACIÓN. UN ENFOQUE PRACTICO Y MULTIDISCIPLINAR © RA-MA

q1 89 13 78 0 120

q2 5 0 3 57 90

q3 63 7 69 0 85

Proponga a partir de la evidencia anterior alguna modificación a la


estructura del sitio que permita que este pueda registrar más selecciones.

Respuesta: A partir de los datos de selecciones de páginas podemos observar que


de las 120 sesiones en las que se formula q1 , una fracción importante de estas
registra selecciones en las páginas p1 y p3 , equivalentes a 0.74 y 0.65
respectivamente. Algo similar ocurre con la consulta q 3 , donde la fracción de
sesiones que registran selecciones hacia las páginas p1 y p3 corresponden a 0.74
y 0.81, respectivamente. Estas cifras son consistentemente más significativas que
las otras que se pueden inferir desde la tabla, siendo en el caso de q 2 la fracción
más importante de selecciones sobre la página p4 . Podemos observar entonces
que las consultas q1 y q 3 registran consistente selecciones hacia las páginas
p1 y p3 lo cual indica que posiblemente ambas consultas describen necesidades
de información similares y que por tanto, los contenidos de las páginas p1 y p3
también obedecen a necesidades de información similares. Luego podríamos
deducir que un enlace entre p1 y p3 en el sitio permitiría que más usuarios
llegarán hacia la página p3 sin necesidad de pasar por p 2 , evitando que
eventualmente estos pudieran abandonar el sitio al ingresar a p 2 . Una posible
modificación a la estructura consistente con las selecciones de los usuarios es
mostrada en la Figura 7.
© RA-MA CAPÍTULO 19. MINERIA DE DATOS EN LA WEB 39

Figura 7. Estructura modificada del sitio para el ejercicio 4.

EJERCICIOS PROPUESTOS

1. (*) Considere el siguiente grafo dirigido que representa a una porción de la


Web:

Figura 8. Grafo para desarrollar el ejercicio propuesto 1

A partir del grafo anterior, construya un hop-plot y determine si es posible


definir el diámetro efectivo para alcanzar al menos el 90% del grafo.
40 RECUPERACIÓN DE INFORMACIÓN. UN ENFOQUE PRACTICO Y MULTIDISCIPLINAR © RA-MA

2. (***) Decida para el ejercicio anterior si es posible determinar que el


crecimiento de N h en función del número de hops es exponencial.

3. (*) Considere el siguiente log de ejemplo:

IP Tiempo Request Referrer Agente

1.2.3.4 00:00:07 A - Moz.; Linux

1.2.3.4 00:00:48 B A IE7; WinXP

1.2.4.4 00:04:27 C A IE7; WinXP

1.2.4.4 00:08:27 D - IE7; WinXP

1.2.4.1 00:09:13 C A Moz.; Linux

1.2.4.4 00:19:51 E B IE7; WinXP

1.2.3.4 00:21:17 F E IE7; WinXP

1.2.3.4 00:25:59 B - IE7; WinXP

1.2.4.1 00:26:13 D A Moz.; Linux

1.2.4.4 00:30:13 G C IE7; WinXP

1.2.4.4 00:42:17 F C IE7; WinXP

1.2.4.1 00:49:08 E D Moz.; Linux

Identifique usuarios y luego las sesiones asociadas a cada uno de ellos.


Considere dos timeouts, uno igual a 5 minutos y otro igual a 10. Concluya
acerca del impacto de la elección del valor de timeout en la detección de
sesiones.

4. (*) Considere las siguientes sesiones registradas en un archivo de log de un


sitio Web, el cual contiene un conjunto de páginas denotadas con los
literales A,…,H:
© RA-MA CAPÍTULO 19. MINERIA DE DATOS EN LA WEB 41
Sesión Páginas seleccionadas

1 A,C,D,E,F,G,H

2 A,D,F,G,H

3 B,C,D

4 C,D,F,G,H

5 A,G,F,G,H

6 B,D,E,G

7 D,E,F,G,H

8 B,C,F,G,H

9 A,B,C,E

10 B,C,D,F,G,H

Considerando confianza mínima igual a 0.8, determine el conjunto de


reglas interesantes generadas a partir de itemsets de tamaño 3.

5. (***) Usando los resultados del ejercicio anterior, construya un grafo de


dependencias entre itemsets frecuentes.

6. (**) Considere los siguientes documentos descritos a partir de un conjunto


de palabras claves:

Documento Términos

d1 máquina, soporte, vectorial

d2 aprendizaje, incremental

d3 bagging, boosting, incremental


42 RECUPERACIÓN DE INFORMACIÓN. UN ENFOQUE PRACTICO Y MULTIDISCIPLINAR © RA-MA

d4 máquina, red, neuronal

d5 perceptrón, feed-forward, red, neuronal

d6 entrenamiento, red, boosting

d7 bagging, boosting, red

Construya una representación Tf-Idf para cada documento y construya dos


grupos de documentos similares usando la distancia Coseno y evaluando la
calidad de cada grupo como la suma de las distancias entre todos los
documentos clasificados en grupos distintos. Puede ayudarse programando
una solución en el lenguaje de programación que Ud. desee.

7. (***) Para el ejercicio anterior, pruebe que la elección del número de


grupos afecta la calidad de los grupos encontrados.

PARA SABER MÁS


En esta sección recomendaremos bibliografía adicional que permitirá que el
lector profundice sobre los temas que hayan despertado su interés. Una completa
revisión del tema fue discutida en el libro de Soumen Chakrabarti “Mining the
Web: Discovering knowledge from hypertext data” (Chakrabarti, 2002). En este
libro se revisaron los principales métodos y conceptos de minería de datos en la
Web, siendo un buen material de referencia para todos quienes se interesen en
investigar y profundizar en este tema.

Recientemente, Bing Liu ha publicado un nuevo libro sobre el tema “Web


data mining: Exploring hyperlinks, contents, and usage data” (Liu, 2010). Liu
dividió su libro en dos partes. En la primera revisa algunos conceptos
fundamentales sobre minería de datos, los cuales, en la segunda parte, son
aplicados al dominio específico de la Web. Sin embargo, ambas partes pueden
leerse de forma independiente, siendo posible para los lectores que ya tengan
conocimientos sobre minería de datos introducirse directamente en la segunda parte
© RA-MA CAPÍTULO 19. MINERIA DE DATOS EN LA WEB 43
del libro. Los temas son tratados con numerosos ejemplos lo cual facilita la
comprensión a estudiantes.

En algunos temas específicos cubiertos en este capítulo existe bibliografía


más avanzada que permite profundizar con facilidad en cada uno de ellos. Es el
caso de minería de opiniones, tema en el cual Bo Pang y Lillian Lee han escrito un
volumen de la serie “Foundations & Trends in Information Retrieval” (Pang &
Lillian, 2008). En la misma serie, Fabrizio Silvestri ha escrito un volumen sobre
minería de uso y logs de consultas (Silvestri, 2010). Para extracción de
información, Manu Konchady (Konchady, 2008) ha escrito un comprehensivo libro
sobre desarrollo de aplicaciones de búsqueda en la Web usando herramientas como
Lucene, LingPipe y Gate. En minería de estructura se recomienda la lectura del
artículo de Deepayan Chakrabarti y Christos Faloutsos (Chakrabarti & Faloutsos,
2006), en el cual se describen varios estudios sobre la estructura macroscópica,
microscópica y mesoscópica de la Web. En cuanto a temas de privacidad de datos,
Francesco Bonchi y Elena Ferrari han publicado un libro que resume las
principales técnicas de este tema (Bonchi y Ferrari, 2010).

REFERENCIAS EN LA WEB
Como hemos visto a lo largo de este capítulo, la minería de datos en la
Web consiste en la aplicación de técnicas de minería de datos a fuentes de
información de la Web que pueden considerar su contenido, estructura y uso. Para
realizar minería de datos en La Web existen varias herramientas de software
algunas ellas comerciales y otras de uso libre, las cuales pasamos a enunciar a
continuación.

Para extracción de información varias herramientas comerciales han sido


desarrolladas. Destacan entre ellas, Bixolabs, una plataforma escalable para
minería de contenidos en la Web implementada sobre hadoop
(http://bixolabs.com), Screen Scraper, que permite extraer imágenes y otros objetos
desde páginas Web (http://screen-sraper.com) y WebQL, que también facilita
tareas de extracción de información desde páginas Web (http://www.ql2.com/).
Entre las libres destaca Deixto que permite definir reglas de extracción específicas
para implementar wrappers (http://deixto.com/) y Pattern, que es un módulo para
Python que permite interactuar con APIs de sitios Web facilitando la extracción de
información desde ellos, asi como tareas de procesamiento de texto
(http://www.clips.ua.ac.be/pages/pattern).

En minería de estructura es frecuente el uso de herramientas de análisis de


grafos de propósito genérico. Entre estas destacan Gephi (http://gephi.org/), la cual
permite visualizar y obtener varias medidas estándar de análisis de grafos como
44 RECUPERACIÓN DE INFORMACIÓN. UN ENFOQUE PRACTICO Y MULTIDISCIPLINAR © RA-MA

diámetro y distribuciones de grado, y NetworkX (http://networkx.lanl.gov/), que es


un módulo para Python que permite calcular algoritmos para minería de grafos
inspirados en redes sociales. Ambas herramientas son de libre disponibilidad.

En el caso de minería de uso destacan Analog (http://www.analog.cx), una


herramienta libre que facilita el análisis de archivos de logs. También podemos
encontrar a Sawmill (http://www.sawmill.net/ ), que es una herramienta comercial
que a partir de análisis de logs produce informes para detectar patrones de uso en
sitios Web.

Una lista completa de herramientas de software para minería de datos en


texto puede ser revisada en el sitio kdnuggets
(http://www.kdnuggets.com/software/index.html).

BIBLIOGRAFÍA
Adar E. (2007). User 4xxxxx9: Anonymizing query logs. Query Logs Workshop of
the International Conference on World Wide Web.

Agrawal, R. & Srikant, R. (1994). Fast algorithms for mining association rules in
large databases. Proceedings of the International Conference on Very Large Data
Bases, 487-499.

Baeza-Yates, R., Saint-Jean, F. & Castillo, C. (2002). Web structure, dynamics,


and page quality. Proceedings of the International Symposium on String
Processing and Information Retrieval, 117-130.

Bonchi, F., & Ferrari, E. (2010). Privacy-aware knowledge discovery: Novel


applications and new techniques. Chapman & Hall/CRC Data Mining and
Knowledge Discovery Series.

Broder, A., Kumar, R., Maghoul, F., Raghavan, P., Rajagopalan, S., Stata, R.,
Tomkins, A. & Wiener, J. (2000). Graph structure in the Web. Computer networks,
33(1-6), 309-320.

Califf, M (2003). Bottom-up relational learning of pattern matching rules for


information extraction. Journal of Machine Learning Research, 4:177–210.

Chakrabarti, D., & Faloutsos, C. (2006). Graph mining: Laws, generators, and
algorithms. ACM Computing surveys, 38(1), 1-69.
© RA-MA CAPÍTULO 19. MINERIA DE DATOS EN LA WEB 45
Chakrabarti, S. (2002). Mining the Web: Discovering knowledge from hypertext
data. Morgan Kaufmann.

Cohen, W., Hurst, M. & Jensen, L. (2002). A flexible learning system for wrapping
tables and lists in HTML documents. Proceedings of the 11th International World
Wide Web Conference, 232-241.

Faloutsos, M., Faloutsos, P. & Faloutsos, C. (1999). On power-law relationships of


the Internet topology. Proceedings of the Conference of the ACM Special Interest
Group on Data Communications, 251-262.

Hogue, A. & Karger, D. (2005). Thresher: Automating the unwrapping of semantic


content from the World Wide Web. . Proceedings of the 14th International World
Wide Web Conference, 85-95.

Krishnamurthy, V., Sun., J., Faloutsos, M. & Tauro S. (2003). Sampling Internet
topologies: How small can we go? Proceedings of the International Conference on
Internet Computing, 577-580.

Kumar, R., Novak, J., Pang, B. & Tomkins, A. (2007). On anonymizing query logs
via token-based hashing. Proceedings of the International Conference on World
Wide Web, 629-638.

Liu, B. (2010). Web data mining: Exploring hyperlinks, contents, and usage data.
Springer.

Mendoza, M., Marín, M., Ferrarotti, F. & Poblete B. (2010). Learning to distribute
queries onto Web search nodes. Proceedings of the 32nd European Conference on
Information Retrieval, 281-292.

Pang, B. & Lillian, L. (2008). Opinion mining and sentiment analysis. Foundations
and Trends in Information Retrieval, 2(1-2), 1-135.

Silvestri, F. (2010). Mining query logs: Turning search usage data into knowledge.
Foundations and Trends in Information Retrieval, 4(1-2), 1-174.

Soderland, S. (1999). Learning information extraction rules for semi-structured and


free text. Machine Learning, 34(1–3):233–272.

Sweeney, L. (2002). K-anonimity: A model for protecting privacy. International


Journal of Uncertainty, Fuzziness and Knowledge-based Systems, 10(5), 557-570.

View publication stats

También podría gustarte