Documentos de Académico
Documentos de Profesional
Documentos de Cultura
net/publication/229068670
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:
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.
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.
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:
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.
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.
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
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.
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.
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
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
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:
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 (-).
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.
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:
Usuario IP Agent
24 RECUPERACIÓN DE INFORMACIÓN. UN ENFOQUE PRACTICO Y MULTIDISCIPLINAR © RA-MA
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:
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
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).
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.
Sop ( A, B )
Conf ( A → B ) = .
Sop ( A)
(19.1)
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.
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
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 → 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
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:
A ∩B
Jaccard ( A, B ) = ,
A ∪B
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 )
a ⋅b
Sim ( a, b) = ,
a ⋅ b
0.0359
Sim(t , d 1 ) = = 0.699
0.333 ⋅ 0.1542
0.1445
Sim(t , d 2 ) = = 0.841
0.333 ⋅ 0.5159
POSITIVO = ∅
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
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.
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
EJERCICIOS PROPUESTOS
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
Documento Términos
d2 aprendizaje, incremental
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.
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.
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.
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.
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.