Memoria del Proyecto Final de Carrera...Tras emplear gran parte del tiempo de este proyecto a...
Transcript of Memoria del Proyecto Final de Carrera...Tras emplear gran parte del tiempo de este proyecto a...
INGENIERÍA INFORMÁTICA
Proyecto Final de Carrera
Técnicas actuales de búsqueda y recuperación de información en Internet: Dominio y uso de técnicas de Data Mining
Jonathan Ortigosa Hernández
24/06/2008
[II]
Resumen. El objetivo del proyecto es realizar un análisis exhaustivo del estado del
arte de las técnicas actuales de búsqueda y recuperación de información utilizadas
en Internet haciendo especial énfasis en el uso del Data y Web Mining.
La aplicación del Data Mining en este campo es una novedad y recientemente han
aparecido varios documentos tratando dicho tema. Tras emplear gran parte del
tiempo de este proyecto a indagar y analizar esos documentos se realizará un
estudio teórico y crítico, tanto del dominio de la búsqueda web, como de diversas
técnicas de Data Mining de recomendación web que son o pueden ser utilizadas
para asistir a los usuarios en sus búsquedas web.
Palabras Clave. Minería Web, Agentes Inteligentes, World Wide Web, Motores de
Búsqueda, Recuperación de Información
Abstract. The aim of this project is to perform an exhaustive analysis of the state-
of-art of the search and information-recovery techniques on Internet; we will
specially focus our interest in the use of Data and Web Mining.
The application of Data Mining techniques in these areas is a novelty, and several
documents have appeared in the last years. The author will spend a large part o its
time reading and analyzing different sources of knowledge on the exposed topics;
web search domain, several Data Mining techniques and Web Personalization.
Keywords. Web Mining, Intelligent Agents, World Wide Web, Search Engines,
Information Retrieval.
[III]
Me gustaría dedicar esta
memoria a mis padres por
costearme la carrera, lo que ha
hecho posible la realización del
proyecto. En especial, dedicar a
mi madre por haber sido la
primera en leerla con fin de
encontrar errores tipográficos.
También me gustaría dedicársela
tanto a mi supervisor del
proyecto por asesorarme en su
realización, como a mis amigos
por creer en mí, darme puntos de
vista diferentes sobre diversos
temas del proyecto y, sobre todo,
por animarme en los peores
momentos.
Gracias a todos ellos.
Jonathan Ortigosa Hernández
[IV]
LICENCIA CREATIVE COMMONS
[V]
ÍNDICE
TABLA DE CONTENIDO
Introducción al proyecto 1
PLANIFICACIÓN Y GESTIÓN DEL PROYECTO 3
Planificación y gestión del proyecto 5
1. Introducción 5
2. Descripción del proyecto 7
2.1. Título 7
2.2. Abstract 7
2.3. Propuesta de proyecto 7
3. Planificación 11
3.1. Estructura de trabajo descendente 11
3.2. Estimación del tiempo necesario para la realización del proyecto 12
4. Identificación de Riesgos 13
5. Breve explicación de la planificación 15
6. Breve explicación sobre la metodología a seguir 17
7. Finalización del proyecto 18
7.1. Tiempo invertido en la realización del proyecto 18
PRIMERA PARTE: LA BÚSQUEDA WEB 21
Capítulo 1. Recuperación de información y búsqueda en la web 23
1. La búsqueda web 23
2. Arquitectura de los sistemas de Recuperación de Información 25
3. Diversos conceptos importantes sobre la búsqueda web 26
[VI]
3.1. Hipótesis 27
3.2. Recursos críticos en las búsquedas 28
3.3. Tipos de búsquedas 28
3.4. Eficacia y eficiencia en las búsquedas 29
Capítulo 2. Mecanismos de búsqueda 31
1. Introducción 31
2. Las herramientas de búsqueda clásicas 33
2.1. Motores de Búsqueda o Buscadores 33
2.2. Directorios o Índices 35
2.3. Buscadores VS Directorios 37
3. Otras Herramientas 38
3.1. Metabuscadores 38
3.2. Agentes inteligentes 39
4. Conclusiones 40
Capítulo 3. World Wide web 43
1. La tripe W 43
1.1. Definición y principales características 43
1.2. Partes del World Wide Web 45
2. Minería Web 46
3. Tamaño del World Wide Web 48
4. Infometría de la Web 49
5. Estructura de la web 51
Capítulo 4: La web invisible 55
1. Introducción 55
2. Caracterización y estado actual de la Web Invisible 55
2.1. La web opaca (the opaque web) 56
2.2. La web privada (the private web) 57
2.3. La web propietaria (the proprietary web) 58
2.4. La web realmente invisible (the truly invisible web) 58
3. El problema subyacente 59
4. Lo realmente invisible 60
Conclusiones de la primera parte 63
SEGUNDA PARTE: MOTORES DE BÚSQUEDA 65
[VII]
Capítulo 5. Google: Cómo funciona un buscador 67
1. Introducción 67
2. Google 68
3. Los módulos que resuelven los procesos de Google 70
3.1. Googlebot, recuperando páginas web 70
3.2. Indexer, indizando páginas web 70
3.3. Query Processor, procesando las consultas de los usuarios 71
4. Arquitectura de Google 72
Capítulo 6. Web structure mining: Análisis de enlaces 77
1. Introducción 77
2. Conceptos matemáticos sobre el análisis de enlaces 78
3. PageRank 79
3.1. Algoritmo PageRank 79
3.2. Ventajas y desventajas de PageRank 81
4. HITS 81
4.1. Algoritmo HITS 82
4.2. Ventajas y desventajas de HITS 84
5. Fórmula de Google 84
Capítulo 7. El Lenguaje Interrogación (Query Language) 89
1. El lenguaje interrogación 89
2. Tipos de operadores 90
2.4. Operadores lógicos o booleanos 90
2.5. Operadores posicionales 91
2.6. Operadores de truncamiento y de límite/comparación 92
Capítulo 8. diseño de agentes inteligentes de búsqueda 93
1. Agentes inteligentes 93
2. Diseño del Web Hunter 94
2.1. Aproximación al Web Hunter 94
2.2. Plan de actuación del Web Hunter 96
2.3. Modos de testeo 98
3. Aplicación de los agentes inteligentes de Búsqueda 98
Capítulo 9. Diseño de un motor de recuperación de Información 101
1. Objetivos de Karpanta 101
2. Arquitectura de Karpanta 102
[VIII]
2.1. Módulo de indización 102
2.2. Módulo de consulta 103
3. Procesos de Karpanta 104
3.1. Proceso de indización 104
3.2. Proceso de consulta 105
3.3. Realimentación de consultas 106
4. Debilidades de esta implementación 107
Conclusiones de la segunda parte 109
TERCERA PARTE: TÉCNICAS DE DATA MINING APLICADAS A LA
RECUPERACIÓN DE INFORMACIÓN EN LA WEB 111
Capítulo 10. Personalización Web 113
1. Introducción 113
1.1. Personalización Web: un problema de predicción 114
2. Tipos de Personalización Web 115
2.1. Sistemas de personalización basados en reglas 115
2.2. Sistemas de personalización basados en el contenido 116
2.3. Collaborative filtering 117
3. Perfiles de Usuario 120
3.1. Perfiles basados en un único usuario 120
3.2. Perfiles basados en varios usuarios 121
3.3. Uso de ontologías 121
4. Uso del Data Mining en la Personalización Web 122
5. Proceso de Personalización Web basado en WUM 123
Capítulo 11. La Personalización Web como aplicación de Data Mining 125
1. Modelado de perfiles de usuario 125
2. Preprocesado de Datos en WUM 127
1.1. Preprocesado del Uso 128
1.2. Transformación de Datos 130
3. Descubrimiento de Patrones 131
3.1. La personalización basada en métodos de Clustering 131
3.2. Otros métodos utilizados en la personalización 133
4. Evaluación de los Modelos 134
[IX]
Capítulo 12. Sistemas de Recomendación basados en el contenido 137
1. Representación de los Ítems 137
1.1. Text Mining 139
2. Perfiles de Usuario 143
3. Algoritmos de clasificación 145
4. Ejemplos de sistemas que implementan esta técnica 146
4.1. Syskill and Webert 147
4.2. WebWatcher 148
4.3. Agente de Rubén Fuentes y Juan Pavón 149
4.4. Letizia 150
4.5. NewsWeeder 151
5. Limitaciones de estos sistemas 152
Conclusiones de la tercera parte 153
CONCLUSIONES DEL PROYECTO 155
REFERENCIAS 157
[X]
ÍNDICE DE FIGURAS Y TABLAS
Figura 1. Esquema de los contenidos a tratar en el proyecto 10
Figura 2. Work Breakdown Structure del proyecto 11
Tabla 3. Resumen de la estimación de horas realizado en Febrero 12
Tabla 4. Tabla-resumen que compara las estimaciones realizadas con el tiempo invertido en
el proyecto. 18
Figura 5. Arquitectura de un sistema de recuperación de información (Liu, 2006a) 25
Figura 6. Resultados mostrados por Google al introducir como palabra clave “Apple”. 33
Figura 7. El directorio Yahoo! 36
Figura 8. Acciones realizadas por un metabuscador al procesar una búsqueda. 38
Figura 9. Partes del World Wide Web 45
Figura 10. Categorías de la minería web. (Román et al, 2005) 47
Figura 11. Grafo dirigido que representa la estructura de la web. 53
Figura 12. Logotipo de Google 68
Figura 13. Captura de algunos servicios que ofrece el portal de Google además del buscador.
69
Figura 14. Procesado de una consulta (Google Inc., 2003) 72
Figura 15. Definición de Alto Nivel de la Arquitectura de Google. (Brin et al, 1998) 73
Figura 16. Ejemplo del cálculo del PageRank. 80
Figura 17. Esquemas de una autoridad (authority) y un centro (hub). (Liu, 2006b) 82
Figura 18. Ejemplo de un conjunto base S. El conjunto S contiene al Conjunto W (Root Set) y a
las páginas añadidas en la expansión. 83
Figura 19. La finalidad de HITS es encontrar un conjunto de páginas relacionadas con el
tema de búsqueda que tengan alta puntuación como autoridad y centro. (Liu, 2006b) 84
Figura 20. Página web para realizar búsquedas avanzadas en Google. Los operadores vienen
implícitos en la interfaz. 90
Figura 21. Sitemap de la Web “Biology of the Mammary Gland” http://mammary.nih.gov/ 95
Figura 22. Flujo de acciones de Web Hunter 97
Tabla 23. Ejemplo de vector de palabras de un documento. 102
Figura 24. Proceso de indización. 104
Figura 25. Preprocesamiento de una consulta. 105
Figura 26. Resolución de una consulta. 106
Figura 27. Aplicación de last.fm 114
Figura 28. Vector de términos con pesos extraído de un documento de Seguros de Coche. 117
Figura 29. Sistemas de recomendación documentados que utilizan la técnica de
Collaborative Filtering. 119
[XI]
Figura 30. Tareas y elementos necesarias en el Preprocesado de Datos. (Mobasher, 2007)
127
Figura 31. El Preprocesado de Uso dentro del Preprocesado de Datos. (Mobasher, 2007) 128
Figura 32. La Transformación de Datos dentro del Preprocesado de Datos. (Mobasher, 2007)
130
Figura 33. Ejemplo de Clustering (5NN) basados en la distancia entre los individuos. 132
Figura 34. Ejemplo de una base de datos con datos estructurados sobre los trabajadores de
una determinada empresa. 138
Figura 35. Representación de un texto no-estructurado mediante la técnica bag-of-words.
140
Figura 36. Representación de documento, selección de variables y método clasificatorio
utilizados en algunas de las aproximaciones de Text Mining publicadas. PARTE I
(Mladenic, 1997) 142
Figura 37. Representación de documento, selección de variables y método clasificatorio
utilizados en algunas de las aproximaciones de Text Mining publicadas. PARTE II
(Mladenic, 1997) 143
Figura 38. Aproximaciones de sistemas de recomendación basados en el contenido.
(Mdalenic, 1999) 147
Figura 39. Interfaz de Syskill and Webert. 148
Figura 40. Interfaz de WebWatcher. 149
Figura 41. Interfaz de Letizia. 151
[1]
INTRODUCCIÓN AL PROYECTO
“Search is one of the hardest computer science problems in the world, because
basically we are trying to create artificial intelligence so that we can speak with
our computer, they can understand us and deliver what we are looking for. That is
equivalent to turning your computer into a very intelligent research librarian,
which of course is the holy grail of computer science, to create artificial
intelligence. So it's not easy, you know.” John Batelle (The future of online search,
CNN, 2005)
El conjunto de personas a los cuales nos interesa la Inteligencia Artificial, y más
concretamente el Data Mining, al leer esta citación, nos realizamos la siguiente
pregunta: ¿Se pueden aplicar las técnicas estudiadas en este dominio? ¿Existirán
autores que han aplicado dichas técnicas a dicho dominio? Por ello, se ha decidido
realizar un proyecto sobre las técnicas de Data Mining aplicables a la búsqueda
web. En este proyecto no se van a realizar implementaciones de ningún tipo, ni
ningún estudio práctico del tema abordado, el objetivo del mismo es el
enriquecimiento personal del autor al aprender conocimientos en este campo, el
cual no se aborda en el transcurso de la carrera.
Para la realización del mismo, se propondrán una serie de objetivos que vendrán
delimitados con la adquisición de algún tipo de conocimiento y la metodología
utilizada será la adquisición de conocimientos en dichos temas durante un periodo
de tiempo. Una vez transcurrido ese tiempo, se procederá a realizar una síntesis de
lo estudiado. Dicha síntesis puede encontrarse en esta memoria.
A continuación se muestra la planificación realizada en este proyecto, seguida por
los conocimientos adquiridos.
Espero que los lectores disfruten al leer sobre estos conocimientos como yo al
adquirirlos.
El autor
[3]
PLANIFICACIÓN Y GESTIÓN DEL PROYECTO
[5]
PLANIFICACIÓN Y GESTIÓN DEL PROYECTO
1. Introducción
En la actualidad, dado que la búsqueda en Internet es uno de los problemas más
complejos en las ciencias de la computación, existen numerosas soluciones de
mayor o menor efectividad. Debido a la imposibilidad de analizar todas las
soluciones existentes y la necesidad de realizar el proyecto final de carrera en un
tiempo finito, el tema principal del proyecto estará delimitado por los siguientes
supuestos y características:
• Hipótesis formuladas:
o Hipótesis 1: Los objetivos de las búsquedas de los usuarios son
diferentes y el tiempo dispuesto a dedicar a las mismas es variable.
Aunque es posible encontrar en la web clústeres de usuarios con
intereses comunes.
o Hipótesis 2: Es una utopía considerar que existe una solución óptima
para el problema de la búsqueda en la web, sin embargo, es muy
posible que en un futuro cercano se consigan aproximaciones muy
buenas.
• En este proyecto se tratarán temas que conciernen a las siguientes técnicas
de la Inteligencia Artificial:
o Data Mining
o Web Mining
o Intelligent (Search) Agents
o Machine Learning
o Personalization Web
o Text Mining
• Se realizará un análisis del estado del arte de la búsqueda web de acuerdo a
los siguientes meta-objetivos:
[6]
o Determinar las causas el bajo rendimiento de las técnicas actuales de
Recuperación de Información.
o Analizar diversas partes del dominio de la Recuperación de
Información en la Web, en las cuales se utilizan o pueden utilizarse
diversas técnicas de Data Mining para tratar de mejorar el
rendimiento de las mismas.
o Una de las partes del dominio a estudiar serán los motores de
búsqueda.
o Presentar la Personalización Web como una de las técnicas de Data
Mining utilizadas para asistir al usuario en las búsquedas, haciendo
especial énfasis en los sistemas de recomendación basados en el
contenido.
• Como resultado de la investigación realizada se presentará un informe que
contendrá, a modo de resumen, los temas tratados durante el trascurso de
la misma. Este resumen puede verse en las partes 1, 2 y 3 de esta memoria.
A modo de finalización, se realizará una pequeña conclusión sobre los
temas tratados, presente en la última parte de esta memoria.
[7]
2. Descripción del proyecto
2.1. Título
Técnicas actuales de búsqueda y recuperación de información en Internet:
Dominio y uso de técnicas de Data Mining
2.2. Abstract
El objetivo del proyecto es realizar un análisis exhaustivo del estado del arte de las
técnicas actuales de búsqueda y recuperación de información utilizadas en
Internet haciendo especial énfasis en el uso del Data y Web Mining.
La aplicación del Data Mining en este campo es una novedad y recientemente han
aparecido varios documentos tratando dicho tema. Tras emplear gran parte del
tiempo de este proyecto a indagar y analizar esos documentos se realizará un
estudio teórico y crítico, tanto del dominio de la búsqueda web, como de diversas
técnicas de Data Mining de recomendación web que son o pueden ser utilizadas
para asistir a los usuarios en sus búsquedas web.
2.3. Propuesta de proyecto
Título
Técnicas actuales de búsqueda y recuperación de información en Internet:
Dominio y uso de técnicas de Data Mining
Propósito
Realizar un estudio teórico y crítico del estado del arte del dominio de la búsqueda
y recuperación de información en el World Wide Web desde el punto de vista de la
aplicación de diversas Técnicas de Data Mining y Web Mining
[8]
Objetivos
1. Identificar y documentar las técnicas actuales de búsqueda y recuperación de
información utilizadas en el World Wide Web.
2. Determinar las características principales del World Wide Web
3. Elaboración de un marco teórico conceptual del funcionamiento de los
Motores de búsqueda.
4. Determinar los distintos módulos de los Motores de búsqueda en los cuales se
pueden aplicar diversas técnicas de Data Mining y Web Mining para mejorar,
así, su rendimiento.
5. Establecer las bases de diseño de un motor de búsqueda.
6. Analizar las técnicas tanto de Data Mining como de Web Mining que pueden
ser utilizadas en el tratamiento de los datos textuales presentados por un
motor de búsqueda o una página web.
6.1. Establecer las bases del problema de Data Mining al cual nos
enfrentemos.
6.2. Identificar y analizar las técnicas de Data y Web Mining que
potencialmente pueden ser usadas en la resolución del problema.
6.3. Realizar una crítica del estado del arte de dichas técnicas en el marco de
trabajo propuesto.
6.4. Identificar diversas investigaciones que se llevan a cabo en la actualidad
o se tienen planificadas a corto plazo dentro del marco del problema.
Resultados del proyecto
Documentación sobre el estudio realizado
Memoria de la planificación y gestión del proyecto
[9]
Palabras Clave
WEB MINING, INTELLIGENT AGENTS, WORLD WIDE WEB, SEARCH ENGINES,
INFORMATION RETRIEVAL
Tipo de Proyecto
Proyecto de evaluación basado en investigación
Método de investigación a utilizar
Estudio indirecto de casos
Recursos
Recursos Hardware: Ordenador Personal.
Recursos Software: Microsoft Windows XP Professional SP2, Mozilla Firefox
2.0, Microsoft Word 2007, Microsoft Excel 2007, Microsoft Project 2007,
Microsoft Visio 2007, EditPlus Text Editor 2.11 y Adobe Reader 8.0.
Recursos Humanos: Opiniones de expertos en la materia.
[10]
Esquema del Contexto del Proyecto
Figura 1. Esquema de los contenidos a tratar en el proyecto
[11]
3. Planificación
3.1. Estructura de trabajo descendente
Figura 2. Work Breakdown Structure del proyecto
[12]
3.2. Estimación del tiempo necesario para la realización del
proyecto
Tarea Tiempo
estimado
Invertido
hasta
febrero
0. PREPARACIÓN DE LAS BASES DEL PROYECTO 174h00' 135h00'
0.1. Investigación inicial 80h00' 70h00'
0.2. Planificación y gestión del proyecto 94h00' 65h00'
1. IDENTIFICAR LAS TÉCNICAS DE BÚSQUEDA 15h00' 7h00'
2. CARACTERIZACIÓN DEL WORLD WIDE WEB 17h00' 4h00' 3. ESTUDIO DEL FUNCIONAMIENTO DE LOS MOTORES DE BÚSQUEDA
34h00' 4h30'
4. IDENTIFICAR LAS FASES Y RECURSOS EN EL DISEÑO DE MOTORES DE BÚSQUEDA
25h00' 11h00'
5. ANÁLISIS DE LAS TÉCNICAS DE DATA Y WEB MINING USADAS EN LA BÚSQUEDA
130h00' 14h00'
5.1. Identificar el problema a resolver 10h00' - 5.2. Identificar las técnicas 70h00' 14h00' 5.3. Crítica del estado del arte 30h00' -
5.4. Identificar posibles futuras líneas de investigación 20h00' -
6. REDACCIÓN DE LOS CONOCIMIENTOS ADQUIRIDOS 50h00' 4h30' 7. REDACCIÓN DEL DOCUMENTO DE PLANIFICACIÓN Y GESTIÓN DEL PROYECTO
20h00' 4h00'
TOTAL 465h00' 184h00' Tabla 3. Resumen de la estimación de horas realizado en Febrero
La tabla-resumen número 3 se presenta la estimación de horas realizada en la
replanificación de febrero. La última columna muestra las horas invertidas hasta el
momento en que se realizó la replanificación.
[13]
4. Identificación de Riesgos
Objetivos dudosos
Probabilidad del evento: Alta
Impacto del riesgo: Alto
Descripción: Debido a la numerosa información disponible sobre el tema del
proyecto es posible que los objetivos sean ambiguos y/o intenten abarcar
demasiado.
Contramedida: REDUCCIÓN DE LA PROBABLIDAD e IMPACTO. Con la ayuda
del supervisor se han establecido unos objetivos concretos y alcanzables.
Siguiendo este documento a rajatabla, la probabilidad de que se de este
riesgo es mínima.
Tiempo: Recurso crítico
Probabilidad del evento: Alta
Impacto del riesgo: Alto
Descripción: Al ser un proyecto de investigación de artículos de diversos
autores, el único recurso crítico es el tiempo. El tiempo que se va a emplear
en el proyecto debe ajustarse lo más posible al estimado.
Contramedida: REDUCCIÓN DE LA PROBABLIDAD e IMPACTO. Tomando
como guía los tiempos estimados de este documento, la probabilidad de
ocurrencia de este riesgo disminuye considerablemente.
[14]
Conocimientos y experiencia inadecuados
Probabilidad del evento: Media
Impacto del riesgo: Alto
Descripción: Los conocimientos enseñados en la Facultad pueden ser
insuficientes para algunos temas a tratar en el proyecto
Contramedida: EVITAR EL RIESGO. En el inicio del proyecto se establece una
tarea de acercamiento al tema a tratar, la cual se destina a cubrir las
carencias de los conocimientos aprendidos en la Carrera.
Pérdida de información
Probabilidad del evento: Alta
Impacto del riesgo: Alto
Descripción: Siempre que se trabaja con Sistemas de Información aparece el
riesgo de perder información.
Contramedida: EVITAR EL RIESGO. Establecer una Política de Gestión de
Copias de Seguridad
Disponibilidad de la información
Probabilidad del evento: Media
Impacto del riesgo: Medio
Descripción: Es posible que información vital para el proyecto no esté
disponible en la Red o en la Biblioteca.
Contramedida: ACEPTAR EL RIESGO. SI no se encuentra algún documento, lo
más probable es dicho contenido también sea comentado en otros
documentos disponibles. Lo único que puede ocasionar este riesgo es una
pequeña pérdida de tiempo.
[15]
Número de compromisos universitarios
Probabilidad del evento: Alta
Impacto del riesgo: Alto
Descripción: Al encontrarme de Erasmus, he intentar terminar la carrera
este curso con doble titulación (UPV y Coventry University), tengo gran carga
lectiva, lo que podría provocar el fracaso del proyecto.
Contramedida: REDUCCIÓN DE LA PROBABLIDAD e IMPACTO. Con la ayuda
de esta planificación y definiendo unos objetivos claros, este la probabilidad
de ocurrencia de este riesgo se reduce considerablemente.
5. Breve explicación de la planificación
La planificación contenida en este documento es una replanificación del proyecto
final de Carrera en Ingeniería Informática realizada a mediados de Febrero de
2008.
La primera planificación (principios de Noviembre 2007) tenía las siguientes
características:
• Existían objetivos que trataban de Agentes Inteligentes de Búsqueda y
técnicas de Data Mining (este sigue existiendo), los cuales contenían
numerosos subobjetivos. Esto se debía a que en un principio el proyecto se
dividía en dos partes: una a presentar en la Universidad de Coventry (donde
me encuentro realizando el último curso) y la otra a presentar en la
Universidad de País Vasco.
• El proyecto estaba dividido en las siguientes partes:
o Una primera parte común en la cual se realizaría una introducción al
mundo de la búsqueda en Internet.
o El objetivo que trataba del Data Mining correspondía al proyecto a
realizar para la Universidad del País Vasco
[16]
o El objetivo que trataba sobre Agentes Inteligentes de búsqueda
correspondía al proyecto a realizar para la Universidad de Coventry.
• El idioma del proyecto iba a ser desarrollado en inglés.
• En la política de riesgos existía un riesgo titulado “Nivel de inglés
inadecuado” y el riesgo “Número de compromisos universitarios” tenía
mayor probabilidad debido a la realización simultánea de otro proyecto.
• En la planificación realizada, la estimación de horas a invertir quedaba de la
siguiente manera:
o TIEMPO TOTAL A INVERTIR: 547h
o PROYECTO UPV: 309h
o PROYECTO CU: 290h
Nótese que el número total de horas a invertir es ligeramente inferior la
suma de los dos proyectos. Esto se debe a las partes comunes en los
proyectos, tanto en contenido como en planificación.
Conforme fueron transcurriendo los primeros meses del proyecto, me fui
percatando de que la redacción en inglés se estaba convirtiendo en una verdadera
amenaza debido a mi escaso nivel gramatical. A medida que aumentaba el tamaño
de los documentos que iba redactando también aumentaba la probabilidad de
fracaso de este proyecto.
A mediados de Febrero la situación se estaba volviendo insostenible y decidí
realizar una replanificación. Antes de comenzar la replanificación, tome las
siguientes decisiones:
• Realizar el proyecto en castellano.
• No realizar el proyecto para la Universidad de Coventry, debido a la
imposibilidad de realizar el mismo en castellano. En caso de que continuase
con él, hubiese peligrado el proyecto de la UPV, proyecto por el cual se va a
decidir mi nota en la Facultad de Informática.
[17]
• Eliminar prácticamente la parte dedicada a Agentes Inteligentes de
búsqueda, en esta memoria únicamente se presenta lo desarrollado hasta el
momento sobre dicho tema. También decidí mantener lo establecido en el
estudio de las técnicas de Data Mining, ya que es el tema acordado con mi
supervisor a principios de curso.
Tras tomar estas decisiones y comentarlas con el supervisor del proyecto se
procedió a realizar esta replanificación, la cual es presentada en Junio como
definitiva.
6. Breve explicación sobre la metodología a seguir
Dado que el propósito subyacente en el proyecto es la adquisición de
conocimientos en el área presentada, la metodología a seguir será la siguiente:
Por cada objetivo se realizará una investigación inicial para establecer los temas
interesantes que deben tratarse para cumplimentarlo. Una vez establecidos los
temas, se procederá a realizar una investigación en dichos temas. Esta
investigación se basa en la lectura y compresión de diversos artículos y la
realización de un posterior resumen.
Tras cumplimentar todos los objetivos, dichos resúmenes se unirán en un
documento. Dicho documento, el cual es el continente de todos los conocimientos
adquiridos en las investigaciones realizas, se encuentra en las partes 1, 2 y 3 de
esta memoria.
Por último, comentar que existe un sitio web con un diseño muy simple y de fácil
acceso en cual se subirá diversa información del proyecto. La URL de dicha web es
la siguiente:
http://usuarios.lycos.es/joh/PFC/index.html
[18]
7. Finalización del proyecto
Tras la realización del proyecto, debe comentarse que este cumple con los
objetivos propuestos en la planificación. Esta cumplimentación se puede con
mayor claridad en el siguiente apartado, comparando las horas estimadas con las
invertidas en todos y cada uno de los objetivos.
7.1. Tiempo invertido en la realización del proyecto
Tarea Tiempo
estimado
Tiempo
invertido
0. PREPARACIÓN DE LAS BASES DEL PROYECTO 174h00' 183h00'
0.1. Investigación inicial 80h00' 118h00'
0.2. Planificación y gestión del proyecto 94h00' 65h00'
1. IDENTIFICAR LAS TÉCNICAS DE BÚSQUEDA 15h00' 16h00'
2. CARACTERIZACIÓN DEL WORLD WIDE WEB 17h00' 13h00' 3. ESTUDIO DEL FUNCIONAMIENTO DE LOS MOTORES DE BÚSQUEDA
34h00' 29h30'
4. IDENTIFICAR LAS FASES Y RECURSOS EN EL DISEÑO DE MOTORES DE BÚSQUEDA
25h00' 20h00'
5. ANÁLISIS DE LAS TÉCNICAS DE DATA Y WEB MINING USADAS EN LA BÚSQUEDA
130h00' 123h00'
5.1. Identificar el problema a resolver 10h00' 11h00’ 5.2. Identificar las técnicas 70h00' 68h30' 5.3. Crítica del estado del arte 30h00' 25h00’
5.4. Identificar posibles futuras líneas de investigación 20h00' 18h30’
6. REDACCIÓN DE LOS CONOCIMIENTOS ADQUIRIDOS 50h00' 63h30' 7. REDACCIÓN DEL DOCUMENTO DE PLANIFICACIÓN Y GESTIÓN DEL PROYECTO
20h00' 10h00'
TOTAL 465h00' 458h00' Tabla 4. Tabla-resumen que compara las estimaciones realizadas con el tiempo invertido en el proyecto.
De esta tabla podemos deducir que a grandes rasgos se han cumplido las
previsiones establecidas en la planificación. Esto puede deberse a que dicha
planificación se realizase en mitad de la ejecución del proyecto, en una etapa en la
que el alcance, la metodología y los objetivos a realizar estaban muy clarificados.
Las únicas diferencias dignas de mención son la investigación inicial y la redacción
de la presente memoria.
[19]
La primera se debe a que dicha investigación se fue alargando durante la ejecución
del proyecto debido a la cantidad de información disponible sobre algunos temas.
La diferencia existente en la redacción de la memoria se debe a la cantidad de
información recaudada a lo largo de estos meses.
[21]
PRIMERA PARTE: LA BÚSQUEDA WEB
En esta parte del proyecto se caracterizará el dominio de la búsqueda web. Esta
caracterización se realizará del siguiente modo:
En el Capítulo 1 - Recuperación de Información y Búsqueda Web se expondrán a
nivel introductorio las características básicas de la búsqueda web, así como,
diversos conceptos sobre dicha técnicas necesarios en todo proyecto que trate
sobre la susodicha técnica.
El Capítulo 2 - Mecanismos de Búsqueda trata sobre los mecanismos de búsqueda
que principalmente son utilizados en la web para satisfacer las necesidades de
información de un conjunto muy diverso de usuarios.
Los Capítulos 3 - World Wide Web y 4 - La Web Invisible tratan de caracterizar el
dominio físico en el que se sitúan las tareas de búsqueda y recuperación de
información en la web. Mientras que en el primero se explican las principales
características del World Wide Web, en el segundo se analiza un subconjunto de la
web con características muy particulares.
[23]
CAPÍTULO 1. RECUPERACIÓN DE INFORMACIÓN Y BÚSQUEDA EN
LA WEB
Abstract. En este capítulo se exponen diversos conceptos a nivel introductorio que deben ser
tenidos en cuenta en este proyecto. En primer lugar, se realiza una introducción al área de
estudio denominada Recuperación de Información o IR, donde se sitúa la búsqueda web.
Posteriormente, se expone la arquitectura de los sistemas de Recuperación de Información. A
modo de finalización, se presentan diversos conceptos de interés que deben ser tomados en
cuenta en cualquier estudio realizado sobre la búsqueda en la web.
Keywords. WebSearch, Information Retrieval, Critical Resources, Effectiveness, Efficiency.
1. La búsqueda web
“La búsqueda en la web no necesita introducción. Debido al uso de internet y la
riqueza de la información contenida en la misma, la búsqueda web se ha
convertido en el método de obtención de información. Mientras los viajes a las
bibliotecas disminuyen, las búsquedas en Internet crecen.” (Liu, 2006a)
La documentación de este proyecto se ha realizado íntegramente con información
obtenida de la red. Los artículos y libros consultando han sido consultados
electrónicamente, aunque algunos de ellos existiesen físicamente en las estanterías
de las bibliotecas. De hecho, sin la ayuda de los mecanismos de búsqueda en la web
y la riqueza de los contenidos web, la elaboración de este proyecto hubiese sido
mucho más compleja.
La búsqueda en la web se clasifica dentro del área de estudio denominada
Recuperación de Información – en inglés Information Retrieval o IR –, en la cual
se estudian las diversas formas de ayudar al usuario a encontrar la información
que éste necesita en un conjunto grande de documentos de texto. Un ejemplo de un
sistema IR tradicional sería la clasificación por fichas que se realizaba
antiguamente en las bibliotecas. En la web, estos documentos se corresponden con
las páginas web.
[24]
La recuperación de información es simplemente encontrar un conjunto de
documentos que sean relevantes en relación a una consulta realizada, la cual suele
tener el formato de una lista de palabras clave. A dichas palabras clave se les
conoce como términos de la búsqueda.
La solución propuesta por los sistemas de recuperación de información suele ser
una lista de documentos ordenandos por relevancia en relación a la consulta
realizada.
En el documento (Liu, 2006a) se expone que, a pesar de que la búsqueda en la web
forma parte del campo de estudio del área IR, ésta presenta nuevos problemas que
deben de ser solucionados. Dichos problemas son los siguientes:
• En la búsqueda web la eficiencia trata un papel muy importante, siendo un
problema secundario en los sistemas IR tradicionales. Esto se debe
principalmente a que los usuarios generalmente exigen respuestas rápidas,
además de que la cantidad de información en la web es muchísimo mayor
que en los sistemas tradicionales. No importa lo efectivo que sea un
algoritmo, si éste no es capaz de trabajar con eficiencia, muy pocos usuarios
lo utilizarán. De esto podemos deducir que el intervalo de tiempo que el
usuario está dispuesto a emplear es bastante reducido, ello implica que el
tiempo de respuesta de los sistemas también lo debe ser.
• Las características del conjunto de documentos en los que se van a realizar
la búsqueda web difieren de los de las búsquedas tradicionales IR. En las
búsquedas tradicionales los documentos son independientes unos de otros,
en la web, en cambio, las páginas web contienen hiperenlaces que unen
unas con otras. Otra diferencia es que las páginas web son documentos
semi-estructurados mientras que los documentos tradicionales son un
conjunto de párrafos relacionados sobre un tema concreto. Las páginas web
contienen diversos campos, siendo unos más importantes que otros, p.e. el
contenido de un artículo es más importante que la publicidad. Por tanto, los
sistemas de búsqueda en la web deberían diferenciar estos campos.
[25]
• El término inglés spamming – que podríamos traducir como
contaminación – es uno de los mayores problemas en la web. Consideramos
spam a todo documento que satisface la consulta realizada por el usuario
pero que no satisface la necesidad de información del mismo. En la IR
tradicional no existe este problema. En la búsqueda web, éste es un
verdadero problema debido a que en ocasiones aparece spam como
documentos relevantes, lo que produce una disminución de la calidad de la
herramienta de búsqueda.
2. Arquitectura de los sistemas de Recuperación de
Información
La Recuperación de Información estudia conceptos de adquisición, organización,
almacenamiento, recuperación y distribución de información. (Liu, 2006a)
En la siguiente figura podemos observar la arquitectura que tiene un sistema de
recuperación de información:
Figura 5. Arquitectura de un sistema de recuperación de información (Liu, 2006a)
Observando la figura 5, un usuario (the user) con una necesidad de información
formula una consulta (user query) a un sistema de recuperación de información a
[26]
través de un módulo denominado operaciones de consulta (query operations).
Este módulo puede traspasar la consulta tal y como está o puede enriquecerla.
El sistema de recuperación (retrieval system) utiliza el índice de documentos
(document index) para recuperar los documentos que satisfacen la consulta del
usuario, además éste computa la relevancia de los mismos y los ordena por
relevancia. Tras ello, los documentos ordenados (ranked documents) son remitidos
al usuario. La colección de documentos (document collection) también se suele
denominar base de datos textual, en la cual los documentos están indizados o
indexados por el indizador (indexer).
La consulta realizada por el usuario puede corresponder con alguna de las
siguientes formas:
1. Consulta de palabras clave. Ésta consiste en una lista de términos relevantes.
2. Consultas booleanas. Conjunto de palabras clave acompañadas de
operadores booleanos
3. Consultas de frases. Una oración que debe aparecer en el documento tal y
como se especifica en la consulta.
4. Consultas de documentos completos. Se corresponde con la búsqueda de
documentos similares a uno propuesto.
5. Consultas en lenguaje natural. El usuario expresa su consulta en el lenguaje
que utiliza para comunicarse con otros seres humanos. Actualmente esta
tecnología se encuentra bastante limitada y en proceso de investigación.
3. Diversos conceptos importantes sobre la búsqueda web
En este apartado se exponen algunos conceptos de diversa índole, los cuales son
extraídos de los documentos consultados y deben ser contemplados para evitar
malinterpretaciones en los capítulos posteriores.
[27]
3.1. Hipótesis
En (Serrano Cinca, 2004), a la hora de presentar las diversas estrategias y tácticas
de búsqueda enuncian la siguiente hipótesis:
“Los objetivos de las búsquedas de los usuarios son diferentes y el tiempo dispuesto a
dedicar a las mismas es variable.”
A modo de ejemplo establecen que no es lo mismo las búsquedas que realiza un
profesor para documentarse sobre la asignatura que imparte, las que realiza un
alumno que va a examinarse y necesita saber todo lo que pueda sobre un tema
concreto o las de aquel que quiere encontrar la dirección de la oficina de Hacienda
más cercana.
Tras observar dicha hipótesis podría deducirse que lo correcto sería tomarla como
punto inicial del proyecto. Sin embargo, en este proyecto se va a tomar dicha
hipótesis únicamente cuando sea conveniente, p.e. para justificar los tipos de
mecanismos de búsqueda existentes o a la hora de definir soluciones de
recuperación de información generales.
En otras ocasiones, se aludirá a las similitudes existentes en el comportamiento de
diversos usuarios para justificar diversas técnicas de recuperación de información
de carácter específico. Por ejemplo, al presentar una herramienta de búsqueda de
documentos científicos regidos por la norma de Vancouver – abstract,
introducción, desarrollo y conclusión – se deduce que dicha herramienta será
utilizada por científicos, los cuales, tienen un comportamiento bastante parecido.
Dicho subconjunto de los usuarios suele valorar más la calidad de los documentos,
que el tiempo empleado en la búsqueda.
En conclusión, la hipótesis es cierta si se refiere al conjunto global de usuarios de la
red, sin embargo, ésta pierde validez al aplicarse a conjuntos de usuarios con
intereses comunes.
[28]
3.2. Recursos críticos en las búsquedas
Hoy en día, y con mayor énfasis en el mundo que rodea a las Ciencias de la
Computación, se suele utilizar el término recurso crítico. Recurso se define como
el medio o elemento que se emplea para conseguir un fin pretendido, siendo el
recurso crítico el medio o elemento de un conjunto de recursos que más escasea.
Estamos acostumbrados tratar como recurso crítico al dinero, al personal o a la
tecnología. En este proyecto se harán referencia, en especial, a dos recursos
críticos: la tecnología disponible y el tiempo empleado.
En la actualidad las diversas herramientas fruto de la Inteligencia Artificial
desempeñan un papel importante en nuestra sociedad, la Web es claro ejemplo de
ello. Aplicaciones Web como Amazon, Last.fm, 20Q… basan su funcionamiento en
el uso de diversos métodos matemáticos derivados de la Inteligencia Artificial.
Puede suceder que se induzca incorrectamente de estas observaciones que todas
las aplicaciones de la Web están compuestas de una avanzada tecnología basada en
la IA, cuando en realidad, no se da ese caso. La IA se encuentra en un estado muy
precario a la hora de recuperar información de la Web, si bien la recuperación por
procesamiento de textos es muy potente hoy en día, en los demás métodos, las
técnicas bibliotecarias de clasificación y recuperación siguen siendo las más
eficaces.
El tiempo es el recurso crítico por excelencia para el ser humano por sus
características particulares. El tiempo no puede ser acumulado, ni almacenado, ni
reemplazado y estamos obligados a consumirlo a una tasa fija, se quiera o no. En
muchas ocasiones el tiempo es quién decide si una tarea es factible o no, y más en
este contexto debido al colosal tamaño de la Web.
3.3. Tipos de búsquedas
(Serrano Cinca, 2004) define dos tipos de clasificación de las búsquedas, las cuales
deben ser tomadas en consideración:
[29]
Tipos de búsquedas respecto al tiempo disponible:
• Se dispone de poco tiempo y se quiere lo mejor.
• Se dispone de mucho tiempo y se quiere toda la información
disponible.
Tipos de búsquedas respecto a los objetivos:
• Existe una única respuesta y la queremos encontrar en el menor
tiempo posible.
• Existes múltiples documentos que resuelven los requerimientos, por
lo que queremos encontrar los documentos clave sin sufrir el exceso
de información.
En este proyecto, principalmente trataremos con las búsquedas que satisfacen
gran cantidad de documentos, de los cuales queremos extraer los documentos
clave dejando el tiempo disponible en segundo plano, aunque es deseable que este
sea lo más acotado posible.
3.4. Eficacia y eficiencia en las búsquedas
La eficacia se encarga de los resultados, está relacionada con lograr los
objetivos. La eficiencia, en cambio, se enfoca a los recursos, a utilizarlos de la mejor
manera posible, generalmente en tiempo1. ¿Puede ser una tarea eficiente sin ser
eficaz? ¿Y ser eficaz sin ser eficiente? Ambas respuestas son afirmativas.
Aunque se puede trabajar prescindiendo de una habilidad, lo ideal es
trabajar con las dos, ya que:
Eficiencia + Eficacia = Productividad
En el tema del proyecto y en su acción principal – la búsqueda y
recuperación de información web - también se presentan la eficiencia y eficacia.
1 En este proyecto la eficiencia se referirá al empleo del tiempo salvo que se indique lo contrario.
[30]
En el mismo, se dará más importancia a la eficacia, quedando la eficiencia relevada
a un segundo plano. Nuestro objetivo es conseguir ambas, pero en las situaciones
en las cuales debe prescindirse de una de ellas, prescindiremos de la eficiencia. A
continuación se presentan ejemplos bastante exagerados de diversas búsquedas
analizadas respecto a su eficacia y eficiencia:
Búsqueda eficiente y eficaz: Necesitamos la dirección de la peluquería y sabemos
el nombre, por lo que introducimos el nombre y la cuidad en Google, accedemos a
su página y anotamos la dirección.
Búsqueda eficiente (ineficaz): Siguiendo el ejemplo anterior, buscamos en
Google la peluquería, vemos que no aparece, pero que existe otra cerca, y tiene
buena pinta. Por tanto decidimos ir a esa a cortarnos el pelo.
Búsqueda eficaz (ineficiente): Para buscar la peluquería nos descargamos las
páginas amarillas de nuestra zona en pdf y buscamos a mano la peluquería. Tras 20
minutos localizamos la peluquería y su dirección.
[31]
CAPÍTULO 2. MECANISMOS DE BÚSQUEDA
Abstract. Existen múltiples tipos de clasificaciones de las herramientas utilizadas para la
búsqueda en la web, las cuales son muy diferentes entre sí. En este capítulo presentaremos
una clasificación de las herramientas existentes basada en diversas clasificaciones
propuestas en varios artículos consultados. Se clasificarán y describirán detalladamente
herramientas como los buscadores, los directorios, los metabuscadores o los agentes
inteligentes de búsqueda.
Keywords. Search Engines, Directories, Intelligent (Search) Agents, Metasearch Engines.
1. Introducción
Hoy en día, la hegemonía de la búsqueda en la web la tienen los motores de
Búsqueda, es más, la mayoría de los usuarios de Internet únicamente conocen
Google, el cual es el motor de búsqueda más utilizado. Sin embargo, en la web
coexisten numerosas herramientas de búsqueda y recuperación de información,
las cuales se caracterizan por su variedad y heterogeneidad. Debido a esto, resulta
complejo realizar una clasificación de las mismas. En (Moreno Jiménez, 2005) se
explica este problema de la siguiente manera: “Cada herramienta de búsqueda
funciona, tiene un propósito y alcance distintos, aunque actualmente tienden a
combinar métodos dando lugar a híbridos, lo cual puede dificultar la compresión
del funcionamiento interno de estos mecanismos.”
Este problema ha propiciado que numerosos autores hayan realizado sus propias
clasificaciones de las herramientas de búsqueda y que, al realizar un estudio sobre
los mecanismos de búsqueda, nos encontremos con infinidad de clasificaciones
distintas, siendo la mayoría de ellas clasificaciones correctas de acuerdo a los
argumentos realizados por los autores. A modo de ejemplo, veamos algunas
clasificaciones realizadas en los documentos consultados:
• Rubén Fuentes Fernández en el artículo (Fuentes Fernández, 2003)
establece que las herramientas de Recuperación de Información empleadas
[32]
en la actualidad son los motores de búsqueda, directorios, metabuscadores
y agentes inteligentes.
• En (Lara Navarra et al, 2004) se expone que las herramientas de
recuperación de información son las siguientes: Motores de Búsqueda,
Directorios y Agentes Inteligentes.
• Los tipos de herramientas que aparecen en (Serrano Cinca, 2003) son
Motores de Búsqueda, Índices, Metabuscadores, “Buscadores más
inteligentes” y Espías, entre otros.
• (Moreno Jiménez, 2005) propone los Buscadores, Metabuscadores,
Directorios, Guías, Tutoriales y diverso software especializado como
mecanismos de búsqueda en la web.
• En (Méndez Rodríguez, 1999) se dividen los sistemas de búsqueda de la
web en Índices, Buscadores, Metabuscadores, Agentes y Otros.
Tras exponer estos ejemplos, nos encontramos con el problema de qué
clasificación tomar como referencia. Es cierto que podríamos utilizar cualquiera de
ellas, ya que todas son correctas, pero en este documento vamos clasificar las
herramientas de búsqueda de acuerdo a las tendencias que se derivan de todos los
documentos mencionados. Por ello, en este documentos vamos a clasificar las
herramientas en dos tipos principales: Las herramientas de búsqueda clásicas y
Otras herramientas.
En las herramientas de búsqueda clásicas2 se presentarán los Buscadores o Motores
de Búsqueda y los Índices o Directorios, ya que son las herramientas más
empleadas en la recuperación de información y también son las herramientas de
búsqueda más “maduras” en la web. Si analizamos las clasificaciones de los
artículos referenciados podemos observar que estas dos herramientas siempre
aparecen en todos ellos.
2 Nombre utilizado por el autor para diferenciar las distintas herramientas.
[33]
En Otras herramientas 3se presentarán las herramientas más relevantes que no
pertenecen al conjunto anterior. La relevancia de las herramientas se basa en el
juicio del autor.
2. Las herramientas de búsqueda clásicas
2.1. Motores de Búsqueda o Buscadores
Según la Wikipedia, un buscador (Search Engine) es un sistema informático que
indexa por palabras clave diversos archivos almacenados en servidores Web. Se les
suele denominar también Motores de Búsqueda o Buscadores jerárquicos. Como
ejemplos de buscadores tenemos Google, MSN Live Search o Altavista.
Los buscadores rastrean e indizan de forma automática páginas web, así como
todos los documentos referenciados en ellas. Esto lo realizan mediante el uso de
arañas (webcrawlers). También son añadidas a los servidores de los buscadores las
páginas las cuales son informadas directamente por el autor. Su interfaz suele ser
un cuadro de texto donde realizar búsquedas de forma sencilla. Tras introducir las
palabras clave en dicho cuadro, se nos presenta una página web en la cual
aparecen diversos resultados ordenandos por relevancia, tal y como aparece en la
siguiente figura:
Figura 6. Resultados mostrados por Google al introducir como palabra clave “Apple”.
3 Corresponde a lo comúnmente se denomina “Cajón de sastre”.
[34]
Los buscadores presentan resultados realizados directamente sobre sus servidores
y no sobre la Web, y dado que las arañas realizan el rastreo con periodicidad
variable y no con mucha frecuencia, puede existir diferencia entre lo encontrado y
lo que verdaderamente se encuentre en la Web. Se creé que la frecuencia de
rastreo ha aumentado en los últimos años y que ésta se hace de forma diferenciada
para algunos recursos. Por ejemplo, las páginas de noticias se rastrearían con
mayor frecuencia que las páginas personales.
Las principales diferencias entre los buscadores presentes en la Web son la forma
de calcular la relevancia de la información obtenida, PageRank y demás, y el poco
solapamiento que existe entre sus resultados, es decir, que cada buscador tiende a
indizar una parte diferente de la web. Según (Lara Navarra et al. 2004) existe una
diferencia significativa al realizar una misma búsqueda utilizando buscadores
distintos.
Los puntos fuertes de usar Motores de búsqueda son que éstos realizan búsquedas
exhaustivas y que posibilitan encontrar recursos muy específicos acotando los
términos de la búsqueda según (Méndez Rodríguez, 1999). En dicho documento,
también se expone que la principal desventaja es el ruido producido, es decir, los
buscadores presentan un gran número de resultados y en bastantes ocasiones
éstos están duplicados. Según (Moreno Jiménez, 2005) la principal limitación sería
que, en la actualidad, los buscadores sólo pueden recuperar información que se
encuentra disponible EN la web, no aquella que se ofrece A TRAVÉS de la web.
A pesar de las limitaciones, en los últimos años han mejorado considerablemente
en la precisión en las búsquedas y en la forma de ofrecer los resultados. Además, se
pueden realizar búsquedas de diversos archivos, además de páginas web, como
documentos de MS Word, documentos pdf, etc.
En la segunda parte de este proyecto – capítulos del 5 al 9 – se realiza un estudio
de la tecnología empleada por este tipo de herramienta y se exponen las bases para
el diseño de un buscador.
[35]
2.2. Directorios o Índices
Según la Wikipedia, un directorio (directory) es un sistema informático que indexa
por temas o categorías jerarquizados los archivos almacenados en servidores Web.
También se les suele denominar Índices o Índices temáticos. Como principal
ejemplo está Yahoo!, aunque en la actualidad también usa búsqueda por palabras
clave.
Los directorios se organizan manualmente a partir del registro de páginas por
parte de sus editores e implican una selección y un proceso de categorización
jerarquizada.
Según (Moreno Jiménez, 2005) existen dos tipos de directorios:
• Directorios de modelo cerrado (Closed model directories): Los editores de
estos directorios son empleados de la empresa que los realiza, esto conlleva
a una mayor calidad de la información y a un mayor costo.
• Directorios de modelo abierto (Open model directories): Los editores de
los directorios son voluntarios, lo que reduce el coste y la calidad de los
mismos.
En (Méndez Rodríguez, 1999) se expone que el punto fuerte de usar Directorios es
que existe poco riesgo de duplicación en los resultados al tratarse de recursos
seleccionados. El punto débil sería que son menos exhaustivos que los Buscadores.
En la siguiente figura podemos observar las categorías jerárquicas del directorio
Yahoo!:
[36]
Figura 7. El directorio Yahoo!
Por último, es importante comentar que existen directorios contenedores de
buscadores, directorios con anotaciones de los usuarios, directorios con BBDD, es
decir, que un directorio puede indizar cualquier tipo de servicio o formato.
[37]
2.2.1. Guías
Algunos autores – véase el artículo (Moreno Jiménez, 2005) – tratan a las guías
como una herramienta más de búsqueda, el autor de este proyecto prefiere, por el
contra, tratarlas como directorios con características especiales, ya que la idea
subyacente de ambos es la misma.
Creadas por especialistas y entidades académicas, las guías son un contenedor de
recursos web seleccionados por área de especialidad, los cuales pueden no ser
recuperables por los buscadores. Además éstas pueden incluir algún mecanismo
de búsqueda – tecnología basada en buscadores – en sus páginas o en la web en
general.
Las guías son reconocidas por su alto grado de calidad, ya que en la mayoría de los
casos comprometen el prestigio de sus autores o las instituciones a las que
pertenezcan. Por ello, la selección de recursos suele ser muy cuidadosa y con una
constante actualización.
En ocasiones las entidades encargadas se asocian formando circuitos (web rings)
para la elaboración cooperativa de estas guías.
2.3. Buscadores VS Directorios
Habitualmente, en el mundo de la Web, los buscadores y los directorios son
llamados motores de búsqueda indistintamente. Lo cierto es que hoy en día, si
observamos únicamente a los productos utilizados por las grandes compañías p.e.
Google Inc. o Yahoo! Inc., no sería necesario diferenciarlos, ya que, ambos utilizan
búsqueda por palabras clave e índices. Sin embargo, todavía existen pequeñas
soluciones basadas exclusivamente en una de las dos tendencias, y por ello, es
conveniente seguir diferenciándolas.
Recordando lo expuesto con anterioridad, cada tipo de herramienta tiene su
propósito y su modus operandi, infringir alguno de los dos acarreará limitaciones a
la búsqueda que estamos realizando. Por ello, los buscadores e índices deben ser
utilizados dependiendo de la búsqueda a realizar.
para búsquedas específicas, es decir, se conocen datos sobre lo que se busca, y se
ejecuta realizando una búsqueda por palabras.
desarrollados para realizar búsquedas categóricas mie
páginas, es decir, para las
Finalmente, se deberían comentar las limitaciones que poseen en conjunto estas
dos tendencias. En el artículo (Fuentes Fernández, 2003) expone que estas
herramientas proporcionan bajo
información mostrada está desactualizada.
3. Otras Herramientas
3.1. Metabuscadores
Los metabuscadores (
búsquedas simultáneas en diversos buscadores y/o directorios presenta
posteriori un resumen de los resultados obtenidos
ejemplo de metabuscador sería
observar cómo se realiza una búsqueda en un metabuscador:
Figura 8. Acciones realizadas por un metabuscador al procesar una búsqueda.
Introducir la consulta y seleccionar los buscadores a utilizar
Enviar la consulta a los buscadores
Recibir los resultados de los buscadores
Detectar las repeticiones y listarlos por
[38]
utilizados dependiendo de la búsqueda a realizar. Los buscadores se deben usar
para búsquedas específicas, es decir, se conocen datos sobre lo que se busca, y se
ejecuta realizando una búsqueda por palabras. En cambio, los directorios están
desarrollados para realizar búsquedas categóricas mientras se naveg
páginas, es decir, para las búsquedas que sean temáticas.
Finalmente, se deberían comentar las limitaciones que poseen en conjunto estas
dos tendencias. En el artículo (Fuentes Fernández, 2003) expone que estas
herramientas proporcionan bajo recall, baja precisión y que en ocasiones la
información mostrada está desactualizada.
Otras Herramientas
Metabuscadores
Los metabuscadores (Metasearch Engines) son aplicaciones
búsquedas simultáneas en diversos buscadores y/o directorios presenta
posteriori un resumen de los resultados obtenidos y eliminando
ejemplo de metabuscador sería Metacrawler®. En la siguiente figura podemos
observar cómo se realiza una búsqueda en un metabuscador:
Acciones realizadas por un metabuscador al procesar una búsqueda.
Introducir la consulta y seleccionar los buscadores a utilizar
Enviar la consulta a los buscadores seleccionados
Recibir los resultados de los buscadores
Detectar las repeticiones y listarlos por relevancia
Presentar los resultados al usuario
s buscadores se deben usar
para búsquedas específicas, es decir, se conocen datos sobre lo que se busca, y se
os directorios están
ntras se navega en sus
Finalmente, se deberían comentar las limitaciones que poseen en conjunto estas
dos tendencias. En el artículo (Fuentes Fernández, 2003) expone que estas
, baja precisión y que en ocasiones la
aplicaciones que realizan
búsquedas simultáneas en diversos buscadores y/o directorios presentando a
los duplicados. Un
. En la siguiente figura podemos
Acciones realizadas por un metabuscador al procesar una búsqueda.
[39]
Los metabuscadores son utilizados principalmente para búsquedas muy
complejas. Dado que cada buscador se dedica casi en totalidad a una parte de la
zona indizable, al utilizar metabuscadores se multiplica el área de búsqueda y por
tanto, la probabilidad de éxito. Como limitaciones decir que los metabuscadores no
suelen presentar opciones de búsqueda avanzada, además éstos presentan las
limitaciones de cada buscador utilizado. Otra limitación sería que al depender de
otros sistemas, en ocasiones fallen.
Existe relativa controversia entre los diferentes expertos del tema sobre el uso de
los metabuscadores, unos recomiendan utilizarlos fervientemente ya que para
ellos son el siguiente eslabón de la cadena alimenticia de la búsqueda en la Web
mientras que otros advierten constantemente de sus limitaciones. (Moreno
Jiménez, 2005)
3.2. Agentes inteligentes
Tal y como comenta (Lara Navarra et al, 2004) un agente inteligente es un
programa que basándose en su propio conocimiento, realiza un conjunto de
operaciones para satisfacer las necesidades de un usuario o de otro programa, bien
por iniciativa propia o porque alguno de éstos se lo requiere. Para una definición
más completa de este término leer la sección 1 del capítulo 8.
Otros autores, como por ejemplo Moreno Jiménez, denominan a este conjunto
“Software especializado” y lo utilizan para clasificar todas aquellas herramientas
que no se corresponden a ninguno de los tipos propuestos anteriormente y que
generalmente utilizan técnicas basadas en la inteligencia artificial.
Este es el grupo más heterogéneo de todos, ya que existen multitud de diversas
aplicaciones; existen agentes que filtran los resultados de los buscadores, otros
que buscan y recuperan información, otros que “espían” webs avisando al usuario
cuando se produce un cambio en éstas, etc.
[40]
En (Fuentes Fernández, 2003) se caracteriza a este grupo por usar búsqueda
dinámica en vez de la búsqueda estática utilizada por los sistemas de búsqueda
clásicos. La búsqueda dinámica obtiene los datos de la web en el momento en el
que se está realizando la búsqueda, estos datos no son obtenidos de ningún índice
preconstruido.
Los agentes inteligentes serán un tema recurrente en el proyecto, aparecerán en
capítulo 8 como mecanismos que recorren la web buscando páginas web. En el
capítulo 12 se presentarán algunos agentes inteligentes que realizan
recomendaciones de contenidos presentes en web basándose en los intereses del
usuario que use dichos sistemas.
4. Conclusiones
Varias conclusiones se pueden extraer de los datos propuestos y de la experiencia
personal.
En primer lugar, la hegemonía de los motores de búsqueda, más concretamente el
caso de Google, ha propiciado a que las demás técnicas queden relegadas a un
segundo plano. Los índices, hoy en día, son usados en pequeñas comunidades
cibernéticas para usos muy específicos. Es más, el mayor ejemplo de índice es
Yahoo! y en la actualidad se usa principalmente para búsquedas por palabras
clave.
En cuando a los agentes inteligentes, no existe ninguna solución general para todo
el ámbito de la red, únicamente existen pequeñas aplicaciones para contextos muy
concretos – algunas de las cuales serán estudiadas a posteriori en la segunda y
tercera parte del proyecto–.
A modo de conclusión, aunque todavía resultan más eficaces los métodos
bibliotecarios tradicionales a la hora de buscar y recuperar información que las
técnicas de inteligencia artificial, poco a poco se van perfeccionando los
mecanismos existentes haciendo que el empleo de la inteligencia artificial sea más
[41]
eficaz en este campo. El autor cree que estos avances se deben en su mayoría a las
pequeñas aportaciones que hacen los investigadores al crear pequeños agentes
inteligentes para contextos concretos.
[43]
CAPÍTULO 3. WORLD WIDE WEB
Abstract. Aunque la definición del World Wide Web sea sencilla, el estudio del mismo es
bastante complejo, por ello es necesaria la introducción de técnicas, como p.e. Minería Web,
que nos ayuden a estudiar su naturaleza. En esta unidad definiremos el concepto World Wide
Web, realizaremos diversas clasificaciones de sus componentes, una de ellas basándonos en
la Minería Web, discutiremos sobre el tamaño de la red y presentaremos varias
distribuciones de leyes potenciales que se dan en la web, entre ellas la más importantes será
la ley de Zipf.
Keywords. World Wide Web, Web Mining, WWW Size, WWW Structure, Zipf law.
1. La tripe W
1.1. Definición y principales características
La enciclopedia libre Wikipedia define el World Wide Web – de aquí en adelante
WWW o la web – como “un sistema de documentos de hipertexto y/o hipermedios
enlazados y accesibles a través de Internet. Con un navegador Web, un usuario
visualiza sitios Web, forjados de páginas Web que pueden contener texto, imágenes u
otros contenidos multimedia, y navega a través de ellas usando hiperenlaces”.
Dado que los estudios realizados se van a centrar en la búsqueda y recuperación de
información, vamos a tratar una abstracción de la web. Dicho modus operandi no
alterará los estudios realizados ya que únicamente se va a “suprimir” aquellos usos
de la red que no incumben en tal actividad y que lo único que pueden producir es
“ruido” en las argumentaciones. En los próximos párrafos se da una descripción
detallada de susodicha abstracción.
La Web es el fenómeno más importante que se da en Internet, por ello, ha tomado
tal protagonismo que habitualmente se confunden los términos y se designa uno u
otro para denominarse entre sí. En este proyecto se intentará mantener cierta
coherencia de términos, sin embargo, puede suceder que debido a la inclusión de
textos de las referencias o por mera belleza textual de algunos apartados se
[44]
utilicen ambos términos como sinónimos. Este uso puede ser tolerado bajo nuestra
perspectiva dado que desde el punto de vista de la búsqueda y recuperación de la
información pueden tratarse ambos términos como sinónimos.
Al igual que se ha especificado anteriormente, la web tiene muchos usos y
aplicaciones. En este proyecto, a no ser que se especifique lo contrario, sólo vamos
a referirnos a un único uso: la web como base documental, es decir, la web es un
conjunto de información con características particulares cuyo fin es ser consultada
por diversos usuarios. Rubén Fuentes en (Fuentes et al, 2003) expone que dicha
información posee las determinadas características que hacen compleja la labor de
recuperación. Dichas características son las siguientes:
• Está distribuida en diversos servidores.
• Es dinámica, cambia constantemente tanto de forma como de contenido.
• No tiene estructura común en todos los documentos. Los documentos
carecen de modelo conceptual que estructure semánticamente el contenido.
• Es heterogénea, es decir, está compuesta por partes de diversa naturaleza,
ya que soporta grandes cambios de formato y lenguaje.
• Es altamente volátil, aparece información nueva y desaparece la
información desactualizada a gran velocidad.
• Es redundante. En numerosas ocasiones se encuentra repetida la
información en distintas páginas.
• La información no es únicamente textual.
En nuestro contexto, trataremos generalmente con información textual. Las
soluciones propuestas a los problemas de la búsqueda y recuperación de
información disponibles en la actualidad aunque son muy potentes en tratamiento
de texto, en otros formatos pierden bastante efectividad. Por ello, es preferible
dejar el tratamiento de otros formatos como asignatura pendiente para estudios
futuros y centrarnos en la información textual. Por tanto, a no ser que se
especifique lo contrario, de aquí en adelante, al referirnos a información de la web,
nos estaremos refiriendo a información textual.
[45]
1.2. Partes del World Wide Web
La estructura del World Wide Web puede estudiarse desde infinidad de
perspectivas, p.e. se puede caracterizar por su contenido, estructura, usuarios que
la frecuentan, etc. Como primera aproximación, podemos clasificar el contenido del
World Wide Web por la naturaleza de su contenido – páginas web – tal y como
aparece en la siguiente figura:
Figura 9. Partes del World Wide Web
Por tanto, la web, desde este punto de vista, estaría dividida en cuatro partes
principales: Web Estática, Web Dinámica, Web Semántica y Web Oculta.
La Web Estática corresponde al conjunto de páginas estáticas, es decir,
documentos HTML que se encuentran alojados en la web. Estos documentos
cambian con muy poca frecuencia. Un ejemplo de páginas web estáticas sería el
sitio web creado para la asignatura Seguridad Informática en 2006 situado en
http://usuarios.lycos.es/joh/SEGURIDAD/index.html.
La Web Dinámica contiene aquellas páginas que sólo se crean en respuesta al
usuario, al realizar éste una consulta en la web. Un ejemplo de página dinámica
puede ser la página mostrada por Google al buscar el término “página dinámica”,
http://www.google.com/search?q=pagina+dinamica.
[46]
La Web Semántica contiene páginas que contienen metadatos los cuales dotan de
significado al contenido. Este significado es utilizado por los mecanismos
automáticos existentes en la web. A modo de ejemplo, podemos citar las imágenes
que se están tratando Google Labeler, cuya URL es la siguiente:
http://images.google.com/imagelabeler/
La Web Oculta o Web es el conjunto de páginas que no pueden ser recuperadas por
los sistemas de búsqueda tradicionales. En el capítulo número 4 se realizará una
caracterización exhaustiva de esta zona de la web.
En la figura también puede observarse una zona denominada la Web Indizable, la
cal corresponde a la zona que realmente cubren los motores de búsqueda.
Por último, es necesario decir que la figura no se encuentra a escala dado que
determinar el tamaño de la web y sus partes es una tarea bastante compleja, como
veremos en el apartado número 3.
2. Minería Web
La minería web (Web Mining) trata de descubrir patrones interesantes en la
estructura, el contenido y la utilización de los sitios web por parte de los usuarios,
así como usar diversas técnicas de Minería de Datos (Data Mining) para recuperar
información. (Definición basada en la propuesta por la enciclopedia Wikipedia)
En la web coexisten tres tipos de datos importantes, siendo éstos el contenido, los
hiperenlaces y el uso que realiza el usuario de la web.
• Los hiperenlaces son referencias que se dan en las páginas web, los cuales
hacen referencias a otras páginas web o archivos.
• El contenido sería lo que resta de las páginas web si eliminamos las palabras
reservadas de HTML y los hiperenlaces.
• El uso de la web es el conjunto de información que se extrae de los log de los
servidores web y que determina el comportamiento de los usuarios.
[47]
La minería web se divide en tres ramas principales de actuación, cada una de ellas
corresponde al análisis de un tipo de datos de los expuestos anteriormente.
La siguiente figura muestra la taxonomía de la minería web:
Figura 10. Categorías de la minería web. (Román et al, 2005)
La minería web de utilización o uso (Web Usage Mining o WUM) se suele realizar
localmente mediante análisis de los log de los Servidores Web. El objetivo de esta
disciplina es encontrar patrones de comportamiento de los usuarios al acceder a
unas determinadas páginas. Existen dos tipos de minería de uso: la que se centra
en el uso de los contenidos por parte de todos los usuarios – datos de utilización –
y la que se centra en que clasificar a los usuarios de acuerdo a los contenidos a los
que acceden – perfiles de usuario –. En la tercera parte de este proyecto se tratará
esta rama de la Minería Web, ya que las aplicaciones presentadas harán uso de ella.
La minería web de contenido (Web Content Mining o WCM) tiene como objetivo
encontrar patrones tanto en el contenido de las páginas web como en los
resultados de los mecanismos de búsqueda tradicionales. El estudio del contenido
[48]
de las páginas web se puede realizar de dos formas: estáticamente – tomar una
foto de cada página web estudiada – o dinámicamente – observar los cambios
producidos en cada página web en el transcurso del tiempo –.
La minería web de estructura (Web Structure Mining o WSM) trata de estudiar la
estructura de un conjunto de páginas web de acuerdo a los enlaces que existen
entre ellas. Baeza-Yates afirma que este tipo de análisis se realizan de forma más
global que los anteriores y que se emplean generalmente para encontrar las
páginas web más populares de la web. Esta área tiene dos aplicaciones que nos
conciernen muy importantes: Estudiar la estructura del World Wide Web e
intentar extraer razones matemáticas de la misma – véase apartado 4 – y extraer
información de la estructura de la web para calcular la relevancia de las páginas
web a la hora de ser mostradas en una búsqueda web – véase capítulo 6 –.
3. Tamaño del World Wide Web
Cuando se realiza un estudio en el cual es necesario un estudio de la web, la
persona que lo realiza suele tender a realizarse la siguiente pregunta:
¿Cuál es el tamaño en páginas web del World Wide Web?
Muchos autores se aventuran a dar una respuesta:
• R. Baeza-Yates en (Baeza-Yates, 2004) asegura que “La web al menos tiene
unas cuatro mil millones de páginas web estáticas, un número cientos de
veces mayor de dinámicas. La web semántica correspondería a algo menos
del 5% de la web y la web oculta sería del orden de miles de veces más
grande que la pública”.
• P.M. Moreno Jiménez en (Moreno Jiménez, 2005) cita a numerosos autores
a la hora de calcular el tamaño de la web oculta, dando datos como
siguientes:
o Entre dos tercios y un medio del World Wide Web.
[49]
o La web invisible es 550 veces mayor que la web pública y crece a
mucha mayor velocidad.
o La web oculta es 275 veces mayor que la pública.
o La web invisible es entre 2 y 50 veces la web pública.
• Al introducir en Google “tamaño del World Wide Web”, la página con más
relevancia (http://www.microsiervos.com/archivo/curiosidades/tamano-
world-wide-web.html) dice lo siguiente: “El World Wide Web tiene ahora
mismo 155.583.825 sitios Web”.
• Maurice de Kunder, en su web (de Kunder, 2008), realiza una estimación
diaria del tamaño de la web indizable. A día 26 de mayo de 2008 asegura
que el tamaño de la web indizable es 47.530 millones de páginas web.
Debido al alto dinamismo de la web, el cual produce que ésta cambie
constantemente a gran velocidad, los estudios realizados sobre su tamaño no
resultan de gran utilidad. Éstos se quedan obsoletos a las pocas horas de ser
realizados, o durante el transcurso de la investigación, ya que los datos recogidos
han perdido su validez. Estas conclusiones hacen que exista un grupo de
ingenieros que crean que el tamaño de la web pertenece al conjunto de preguntas
filosóficas imponderables, como la clásica pregunta inglesa: How many angels can
dance on the head of a pin? (Markoff, 2005)
4. Infometría de la Web
La mejor definición de Infometría es la propuesta en Yahoo!Answers, en la cual se
define como “la ciencia que aplica métodos matemáticos a los hechos y situaciones
que se producen en el campo de la información, para describir y analizar sus
fenómenos, descubrir sus leyes y servir de soporte a sus decisiones. Se aplica a los
datos de cualquier rama, desde las Matemáticas hasta las Ciencias de la
Información”. En algunos artículos, a este apartado se le denomina Distribuciones
de leyes potenciales (Power law distributions), ya que es la principal medida que se
utiliza para caracterizar al WWW.
George Kingsley Zipf, lingüista y filólogo estadounidense de la primera mitad del
siglo XX, aplicó el análisis estadístico al e
numerosos estudios, enunció la conocida
un pequeño número de palabras son utilizadas con mucha frecuencia, mientras
que frecuentemente ocurre que un gran número de palabras son
Esta afirmación, expresada matemáticamente quedaría de la siguiente forma:
donde Pn representa la frecuencia de una palabra ordenada
a menos por frecuencia de uso
cercanías del 1. Esto significa que el segundo elemento la lista se repetirá
aproximadamente con una frecuencia de 1/2 de la del primero, y el tercer
elemento con una frecuencia de 1/3 y así sucesivamente.
empírica, es bastante precisa. Sus
propiedades estadísticas de grandes conjuntos de datos, y se han aplicado también
a la Web. Se estima que aplicando la ley de Zipf al contenido de las páginas web, la
constante a toma un valor medio que ronda entr
Pero no solo el contenido de las páginas web sigue un comportamiento acorde con
la ley de Zipf, existen muchas medidas en el World Wide Web que siguen dicha ley,
como por ejemplo, las siguientes
• El tamaño de las páginas
muy bien por la presión de la mirada crítica de los internautas, pero a
medida que crece el tamaño, la ley se va haciendo visible.
• Número de hiperenlaces entrantes y salientes
están apuntadas únicamente por un hiperenlace.
• Número de componentes conexos en la web
páginas conexos, es decir, que existe un camino formado por hiperenlaces
que conectan una página con cualquier otra dentro del conjunto.
[50]
George Kingsley Zipf, lingüista y filólogo estadounidense de la primera mitad del
aplicó el análisis estadístico al estudio de las diferentes lenguas. Tras
numerosos estudios, enunció la conocida Ley de Zipf (Zipf, 1949)
un pequeño número de palabras son utilizadas con mucha frecuencia, mientras
que frecuentemente ocurre que un gran número de palabras son
Esta afirmación, expresada matemáticamente quedaría de la siguiente forma:
representa la frecuencia de una palabra ordenada – ordenadas de mayor
a menos por frecuencia de uso – n-ésima y a es una constante que ronda en las
anías del 1. Esto significa que el segundo elemento la lista se repetirá
aproximadamente con una frecuencia de 1/2 de la del primero, y el tercer
elemento con una frecuencia de 1/3 y así sucesivamente. Aunque e
es bastante precisa. Sus trabajos son utilizados para estudiar las
propiedades estadísticas de grandes conjuntos de datos, y se han aplicado también
a la Web. Se estima que aplicando la ley de Zipf al contenido de las páginas web, la
te a toma un valor medio que ronda entre 1,8 (Baeza-Yates, 2003).
Pero no solo el contenido de las páginas web sigue un comportamiento acorde con
la ley de Zipf, existen muchas medidas en el World Wide Web que siguen dicha ley,
como por ejemplo, las siguientes:
El tamaño de las páginas. Para páginas web de tamaño pequeño no se ajusta
muy bien por la presión de la mirada crítica de los internautas, pero a
medida que crece el tamaño, la ley se va haciendo visible.
Número de hiperenlaces entrantes y salientes. La mayoría de las páginas
das únicamente por un hiperenlace.
Número de componentes conexos en la web. Existen pocos conjuntos de
páginas conexos, es decir, que existe un camino formado por hiperenlaces
que conectan una página con cualquier otra dentro del conjunto.
George Kingsley Zipf, lingüista y filólogo estadounidense de la primera mitad del
studio de las diferentes lenguas. Tras
(Zipf, 1949), que afirma que
un pequeño número de palabras son utilizadas con mucha frecuencia, mientras
poco empleadas.
Esta afirmación, expresada matemáticamente quedaría de la siguiente forma:
ordenadas de mayor
es una constante que ronda en las
anías del 1. Esto significa que el segundo elemento la lista se repetirá
aproximadamente con una frecuencia de 1/2 de la del primero, y el tercer
Aunque esta ley es
utilizados para estudiar las
propiedades estadísticas de grandes conjuntos de datos, y se han aplicado también
a la Web. Se estima que aplicando la ley de Zipf al contenido de las páginas web, la
Yates, 2003).
Pero no solo el contenido de las páginas web sigue un comportamiento acorde con
la ley de Zipf, existen muchas medidas en el World Wide Web que siguen dicha ley,
ginas web de tamaño pequeño no se ajusta
muy bien por la presión de la mirada crítica de los internautas, pero a
La mayoría de las páginas
. Existen pocos conjuntos de
páginas conexos, es decir, que existe un camino formado por hiperenlaces
que conectan una página con cualquier otra dentro del conjunto.
[51]
• Fecha de actualización. Existen más páginas nuevas o actualizadas que
antiguas.
• Uso de palabras clave a la hora de realizar búsquedas. Se realizan gran
cantidad de preguntas simples y muy pocas complejas.
• Número de accesos a una web por parte del usuario. Un usuario suele
acceder con frecuencia al mismo conjunto de páginas.
La ley de Zipf y el paradigma de Pareto o regla del 80:20 son utilizadas
constantemente para analizar estructuras, usos y comportamientos del World
Wide Web.
5. Estructura de la web
Como hemos podido deducir en los apartados anteriores, la estructura de la web es
compleja y evoluciona en el tiempo. Sin embargo, se han realizado numerosos
estudios sobre su estructura – teniendo en cuenta o no estimaciones sobre su
tamaño –. La mayoría de dichos estudios consideran la web como un grafo y
utilizan algoritmos definidos en teoría de grafos para intentar solucionar los
problemas derivados de la búsqueda, recuperación de información y minería de
datos presentes en el WWW. En (Broder et al, 2000) se justifican su necesidad
dando las siguientes áreas de aplicación – se referencian en dicho artículo – como
razones:
• Diseño de web crawlers – véase capítulo 8, donde se denominan Agentes
Inteligentes de Búsqueda –.
• Entender la sociología en la creación de contenido web.
• Utilizar la información implícita en el uso de hiperenlaces en la web, p.e.
algoritmo de PageRank – véase capítulo 6 –.
• Realizar predicciones en la evolución de las estructuras web y desarrollar
algoritmos adecuados para encontrar y organizar dichas estructuras.
Antes de analizar la estructura, podríamos enlazar esta sección con la anterior
comentando que la ley de Zipf también se presenta en la estructura del World
[52]
Wide Web, la fracción de páginas que son apuntadas por m páginas es
proporcional a 1/m2.1 (Broder et al, 2000), mientras que la fracción de páginas que
contienen n enlaces es proporcional a 1/n2.7 (Baeza-Yates, 2004). En lenguaje
natural esto significa que pocas páginas son muy apuntadas y contienen muchos
enlaces y que muchas páginas son poco apuntadas y contienen pocos enlaces.
Como hemos comentando, diversos estudios modelan el World Wide Web como un
grado dirigido donde los nodos son las páginas web existentes y las aristas
dirigidas de un nodo a otro representan el enlace de una página a otra.
Matemáticamente, se expresaría de la siguiente manera:
Sea el World Wide Web un grafo dirigido � � ��, ��, donde � es el conjunto de nodos
(el conjunto de páginas) y � el conjunto de aristas dirigidas en el grafo (los
hiperenlaces), siendo el número total de páginas en la Web � � |�|. En (Broder et al, 2000), unos de los trabajos pioneros en este campo, tras diversos
experimentos, descubrieron que la web está formada por varios tipos de subgrafos
interconectados entre sí. De acuerdo con su trabajo, si fuese posible reducir el
zoom del grafo que representa la web hasta que sea perceptible todo el conjunto,
nos encontraríamos un grafo parecido a la figura siguiente:
[53]
Figura 11. Grafo dirigido que representa la estructura de la web.
Como se puede observar en la figura, la web está formada por seis tipos principales
de subgrafos: Entrada, Núcleo, Salida, Túneles, Islas y Tentáculos.
El Núcleo (denominado SCC en Broder et al, 2000) es el conjunto de páginas más
estable de todos. Este subgrafo corresponde al conjunto de páginas conexas, es
decir, que existe un camino desde cualquier página del conjunto a la otra del
conjunto.
En el subgrafo Entrada (IN) existe un camino desde cualquier página contenida al
subgrafo Núcleo, pero no existen caminos entre dichas páginas contenidas.
Generalmente está compuesto por las páginas más nuevas que aún no son
demasiado conocidas. Estas páginas pasarán al centro si verdaderamente tienen
éxito.
En el conjunto Salida (OUT) existe un camino para llegar hasta sus páginas desde
el Núcleo, pero no entre ellas. Suele estar compuesto por las páginas más antiguas,
mal hechas, mal mantenidas o simplemente que por su naturaleza no tienen
enlaces.
[54]
Túnel (Tubes) es el conjunto de páginas que conectan entrada con salida sin pasar
por el núcleo
Las Islas (Disconnected components) son conjuntos de páginas aisladas de la
Web, no son enlazadas por nadie y no enlazan a nadie, únicamente tienen enlaces
con las páginas dentro de su isla. Son los conjuntos menos estables y el menos
conocidos.
Los Tentáculos (Tendrils) son las variaciones debidas a la complejidad de la
estructura del World Wide Web, es decir, el conjunto de páginas web que no se
pueden clasificar en los subgrafos anteriores.
Finalizando el apartado, nos podríamos preguntar, al igual que hacen Broder et al,
la siguiente pregunta: ¿Será esta estructura básica propuesta y sus componentes
estables en el futuro? O incluso preguntarnos lo siguiente: ¿En la actualidad sigue el
World Wide Web teniendo esta estructura?
[55]
CAPÍTULO 4: LA WEB INVISIBLE
Abstract. En este capítulo se discutirá sobre un subconjunto de la Web denominado Web
Invisible. Para ello, se analizarán las distintas partes que forman la Web Invisible: la web
opaca, la web privada, la web propietaria y la web realmente invisible. A modo de conclusión,
se comentará el problema subyacente que suscita este subconjunto y se presentarán los datos
que en la actualidad continúan siendo invisibles.
Keywords. Invisible Web, Opaque Web, Private Web, Proprietary Web, Truly Invisible Web.
1. Introducción
La doctora Jill Ellsworth (Ellsworth J. et al, 1995) definió, por primera vez, el
término Web Invisible como el conjunto de la información que no puede
recuperarse con los mecanismos de búsqueda comunes. También puede ser
denominado como Web Profunda (deep web), por oposición a la Web Superficial
(surface web) cuya información es recuperable con los mecanismos habituales.
Existen muchas estimaciones poco precisas y muy diversas sobre el tamaño de la
Web Invisible, al igual que sucede con el tamaño de la Web, véase apartado 3 del
capítulo 3. En este documento no vamos a tratar su tamaño debido a la naturaleza
cambiante del mismo. La única constante que se encuentran en todos los trabajos
consultados es que el tamaño de la Web Invisible es varias veces el tamaño de la
Web Visible. A pesar de que el tamaño no sea relevante, el valor de la información
contenida en dicho segmento de la Web justifica el estudio del mismo y de las
formas de acceder a dicha información.
2. Caracterización y estado actual de la Web Invisible
Sherman y Price identifican en (Sherman y Price, 2001) cuatro tipos de contenidos
invisibles: la web opaca, la web privada, la web propietaria y la web realmente
invisible. Dicha clasificación se basa más en la accesibilidad – o inaccesibilidad – a
dicha información que en el propio contenido de los documentos invisibles. (Lara
Navarra P. et al, 2004) expone otro tipo de clasificación que se centra en criterios
[56]
documentales del contenido. Debido a que la primera clasificación es la más
específica, será la tomada como referencia para este documento.
2.1. La web opaca (the opaque web)
La web opaca se compone de archivos que perfectamente podrían estar incluidos
en los índices de los motores de búsqueda, pero no lo están por algunas de las
siguientes razones:
1. Extensión de la indización. los buscadores tienden a seleccionar las páginas a
indizar, es decir, no suele indizar todas las páginas de un website. Esto se
realiza debido a que los recursos de los motores de búsqueda no son
ilimitados y deben “economizar”.
2. Frecuencia de indización. La frecuencia de rastreo es variable. P.e. los sitios
web de noticias deberían rastrearse con más frecuencia que una web que
“cuelgue” videos semanalmente.
3. Número máximo de resultados visibles. Los buscadores limitan a un número
n los resultados mostrados, estando n comprendida entre 200 y 1000.
4. URLs desconectadas. Los buscadores actuales indexan páginas web
siguiendo caminos dentro del WWW. Si una página no es enlazada desde
ninguna otra, difícilmente podrá ser indexada. Estas URLs desconectadas se
corresponden con las Islas vistas en el apartado 5 del capítulo 3.
Como podemos observar, esta parte de la web invisible podría ser perfectamente
web visible, únicamente existe como consecuencia de las limitaciones4 de los
mecanismos de búsqueda actuales. (Lara Navarra P. et al, 2004) expone que “La
recuperación de la información en la Internet invisible [en nuestro caso lo
centraremos al término web opaca] se apoya fundamentalmente en la
disponibilidad de directorios e índices que identifiquen y organicen sus principales
recursos”. Esto viene a expresar que únicamente se pueden recuperar dichos
elementos si se establecen en un índice. En dicha referencia también se presentan
4 Limitaciones del mecanismo de búsqueda derivadas del tamaño de la Web.
[57]
diversos enlaces web para recuperar información, así como, el uso de
herramientas basadas en Clientes Z39.50 y Agentes Inteligentes
P.M. Moreno expone que la frecuencia de indización parece haber aumentado
considerablemente en los últimos años y que el número máximo de resultados no
es un problema cuando se presentan por relevancia. La relevancia establece que
los primeros resultados son los que más se ajustan a la búsqueda, el cálculo de esta
relevancia se trata en el capítulo 6.
El problema de las islas (URLs desconectadas) tiene una difícil solución. La única
solución que proponen los expertos sería obligar a los usuarios a registrar toda
página que subiesen a Internet. Esto significaría intentar clasificar los documentos
del WWW al igual que lo hizo Carlos Lineo al clasificar los seres vivos mediante la
nomenclatura binomial. Ello suscita grandes problemas, entre los cuales, los más
importantes son la descentralización característica de la web y su colosal tamaño.
2.2. La web privada (the private web)
La web privada se compone de archivos que podría estar incluidos en los índices
de los buscadores pero son excluidas deliberadamente por algunas de estas
razones:
1. El archivo está protegido por contraseña.
2. El fichero robot.txt 5del website indica que no deben ser indizadas.
3. Contienen un campo “noindex” para evitar que el buscador índice el cuerpo.
Esta región de la web invisible pertenece a los usuarios que desean que los
contenidos de sus páginas web sean privados, es decir, pretenden tener la
exclusividad de la divulgación de los mismos. En cuando a términos de pérdida de
valor de la información no presenta problema, ya que los autores de dichas páginas
no desean publicarlos. En este caso la solución también es compleja ya que
5 Fichero que especifica que determinados crawlers no tomen en consideración archivos o directorios específicos en un sitio web.
[58]
difícilmente se podrán encontrar mecanismos legítimos para franquear esa
barrera, tal y como comenta P. M. Moreno Jiménez.
2.3. La web propietaria (the proprietary web)
La web propietaria es el conjunto de páginas en las cuales es necesario registrarse,
ya sea de forma gratuita o pagando, para tener acceso al contenido.
El problema de que suscita este conjunto es su gran crecimiento, lo cual hace que el
crecimiento de la web pública se estanque. Por tanto, el porcentaje de web
indizable se reduce.
2.4. La web realmente invisible (the truly invisible web)
La web realmente invisible contiene archivos que no pueden ser indizados debido
a las limitaciones6 técnicas de los buscadores. Estas limitaciones no deben
confundirse con las limitaciones tratadas en la web opaca. En este apartado las
limitaciones de los mecanismos de búsqueda se refieren a limitaciones en el
tratamiento de tipos de contenido, mientras que en el apartado de web opaca se
refieren a limitaciones derivadas del gran tamaño de la Web. Ejemplos de
limitaciones de los mecanismos de búsqueda pueden ser:
• La indexación de formatos de archivos incompatibles.
• La indexación de páginas generadas dinámicamente que se generan por
datos introducidos por el usuario. Este conjunto de páginas pertenece a la
Web Dinámica.
• Información almacenada en bases de datos relacionales.
Hoy en día, los buscadores tradicionales presentan la posibilidad de realizar
búsquedas por formatos comunes como por ejemplo Adobe Acrobat PDF (pdf) o
diversos formatos de Microsoft Office 2003 (doc, ppt y xls), entre otros. Aunque
todavía existen muchos formatos incompatibles, los buscadores han dado el paso
6 Limitaciones del mecanismo de búsqueda relacionadas con el tratamiento de información.
[59]
hacia la indexación por formatos, lo que prevé que en un futuro próximo el
conjunto de formatos incompatibles se vaya reduciendo.
Es cierto que el contenido de las Bases de Datos Relaciones es invisible para los
mecanismos de búsqueda habituales, ya que para acceder a la información interna
es necesario realizar búsquedas directamente en cada una de ellas. Sin embargo,
P.M. Moreno Jiménez asegura que llegar hasta la “puerta” de esas bases de datos es
relativamente sencillo. Lo cual nos debería suscitar las siguientes preguntas:
¿Cómo podemos saber si una base de datos puede contener la información buscada
al situarnos en su “puerta”? ¿Todas las bases de datos alojadas en la Web contienen
descripciones indexables por los mecanismos de búsqueda, las cuales detallan su
contenido? Las interpretaciones realizadas por P.M. Moreno Jiménez tienen poco
fundamento debido a que son demasiado optimistas. La Web es un conjunto de
información muy heterogénea y no puede presuponerse que el camino a la
información sea sencillo.
3. El problema subyacente
P.M. Moreno Jiménez nos proporciona la máxima “En la actualidad resultan más
eficaces los métodos bibliotecarios tradicionales en la búsqueda de información
que la Inteligencia Artificial” u la argumenta exponiendo que hoy en día, con los
métodos de búsqueda existentes es impensable realizar la búsqueda: Quiero
fotografías de personas que se parezcan a Woody Allen. Para realizar esta búsqueda
es necesaria una persona que clasifique los archivos de imágenes en fotografías y
no fotografías, en archivos que contienen personas o no y finalmente si éstas se
parecen a Woody Allen o no.
Las maquinarias de búsqueda son realmente eficaces a la hora de recuperar
información textual, lo cual no excluye la necesidad de la catalogación y
clasificación de los recursos. Las imágenes contenidas en una web, sin información
textual acerca de su contenido, únicamente podrán ser recuperadas
automáticamente a través de su extensión.
[60]
Una de las soluciones que se tratan en la actualidad para este problema es el uso de
ontologías en la descripción de imágenes. (Gruber, 1993) define Ontología7 como
“Una representación explícita y formal de una conceptualización compartida”. Lo
que tratan estas soluciones es de dotar a las imágenes de la web de una
descripción formal entendible por los sistemas automáticos para facilitar la
recuperación de información. Si se demuestra que este mecanismo solventa el
problema, en un futuro cercano se podrán cubrir otros formatos conflictivos.
4. Lo realmente invisible
A modo de conclusión, en la actualidad, sigue siendo realmente invisible los
siguientes contenidos:
1. Las URLs desconectadas.
2. Las páginas que contienen únicamente imágenes, audio y video.
3. El contenido de las bases de datos relaciones.
4. El contenido generado en tiempo real.
5. El contenido generado dinámicamente.
Dogmatizando el comportamiento de los usuarios podríamos suponer que, a
excepción de las páginas que contienen exclusivamente contenido multimedia y las
bases de datos relaciones, los demás contenidos pertenecen a ciertos usuarios con
características específicas:
• Las URLs desconectadas suelen contener información que únicamente
incumbe a los usuarios que conocen su existencia.
• El contenido generado en tiempo real pierde validez rápidamente, salvo
para usuarios que desean realizar análisis históricos.
• El contenido generando dinámicamente suele ser utilizado únicamente por
el usuario que genera dicha información.
7 Definición de ontología en el contexto de la inteligencia artificial, la definición de Ontología en filosofía se remonta al siglo XVII.
[61]
Puede observarse que el análisis de la Web Invisible deja muchos frentes abiertos a
la Inteligencia Artificial y pocas soluciones factibles.
[63]
CONCLUSIONES DE LA PRIMERA PARTE
En esta parte se han caracterizado los distintos elementos que se utilizan al buscar,
estos son:
• La herramienta de búsqueda
• El entorno, en nuestro caso la web
Tras el estudio realizado, se puede concluir que la búsqueda web realizada en la
actualidad dista mucho de ser buena debido a la complejidad del entorno en el que
se realiza dicha búsqueda. Esto se debe a las características propias de la
información contenida en la web, que tal y como proponía Rubén Fuentes en
(Fuentes et al, 2003) éstas eran:
• Está distribuida en diversos servidores.
• Es dinámica, cambia constantemente tanto de forma como de contenido.
• No tiene estructura común en todos los documentos. Los documentos
carecen de modelo conceptual que estructure semánticamente el contenido.
• Es heterogénea, es decir, está compuesta por partes de diversa naturaleza,
ya que soporta grandes cambios de formato y lenguaje.
• Es altamente volátil, aparece información nueva y desaparece la
información desactualizada a gran velocidad.
• Es redundante. En numerosas ocasiones se encuentra repetida la
información en distintas páginas.
• La información no es únicamente textual.
Para tratar de estudiar, analizar y lidiar con este conjunto de información, surgió la
minería web, la cual será un tema recurrente en el proyecto, ya que se hace un
importante uso de algunas de sus técnicas.
Las herramientas propuestas, aún siendo bastante buenas en propósitos
específicos, deben mejorar bastante aún en los propósitos generales. P.M. Moreno
[64]
comentaba que todavía son más efectivas las técnicas bibliotecarias que la
Inteligencia Artificial.
Finalizando, comentar que es importante intentar caracterizar este dominio, o
parte del mismo, ya que el uso de la web como medio de consulta crece
constantemente. En (Liu, 2006a) se justifica esta crecida con la siguiente
argumentación: “Mientras los viajes a las bibliotecas disminuyen, las búsquedas en
Internet aumentan”.
En conclusión, la mayoría de las ideas propuestas en esta primera parte justifican
la necesidad de explorar campos de la Inteligencia Artificial con fin de intentar
mejorar la búsqueda web.
[65]
SEGUNDA PARTE: MOTORES DE BÚSQUEDA
En esta parte reduciremos el dominio estudiado en la primera parte a los Motores
de Búsqueda. Se estudiarán las partes que componen los Motores de Búsqueda con
el propósito de encontrar módulos en los cuales podamos aplicar el Data Mining
para mejorar su eficiencia.
En el Capítulo 5 - Google: Cómo funciona un Buscador se presentará la
arquitectura de este tipo de herramientas basándonos en la arquitectura del
mundialmente conocido motor de búsqueda Google.
El Capítulo 6 - Web Structure Mining. Análisis de enlaces trata sobre los
algoritmos utilizados por dichos motores de búsqueda utilizados para ordenar por
relevancia los resultados.
En el Capítulo 7 - El lenguaje interrogación se presenta el lenguaje utilizado por
los motores de búsqueda para extraer las necesidades de información a los
usuarios.
Los dos últimos temas de este apartado ( 8 - Diseño de Agentes Inteligentes de
Búsqueda y 9 - Diseño de un Motor de Recuperación de Información) tratan
sobre cómo implementar un buscador. El primero de ellos se centra sobre el
webcrawler, mientras que el segundo en lo que resta de un Buscador.
[67]
CAPÍTULO 5. GOOGLE: CÓMO FUNCIONA UN BUSCADOR
Abstract. Debido al secretismos de las grandes compañías, no existe mucha información
fidedigna sobre la arquitectura de los grandes buscadores disponibles en la red. Esto hace
que la tarea principal de este capítulo, la cual es explicar el funcionamiento de los
buscadores, sea bastante compleja. Para solventar este problema, en vez de explicar o
proponer un modelo genérico de buscador, presentaremos los principales procesos y
arquitectura del buscador Google, tal y como aparece en (Brin et al, 1998). Este artículo es la
especificación realizada por sus creadores antes que el buscador se hiciese tan conocido y tan
usado.
Keywords. Large-Scale Hypertextual Search Engine, Google, Google Architecture.
1. Introducción
En el mundo informático es común que la idea subyacente de una aplicación sea
sencilla, en cambio, su implementación pueda ser una ardua tarea. Esta máxima se
da de forma muy clara en los buscadores. Según (Lara Navarra et al, 2004) un
motor de búsqueda está formado por cuatro elementos básicos:
1. Un agente inteligente, denominado robot o webcrawler, que recorre el
World Wide Web buscando información. (En el capítulo 8 se exponen las
bases de la implementación de este tipo de dispositivos)
2. Un sistema automático de análisis de contenidos e indexación de los
documentos localizados por el robot.
3. Un sistema de interrogación, generalmente basado en lógica booleana, que
permite al usuario expresar su necesidad de información. (En el capítulo 7
se definirá este lenguaje)
4. Un programa que lista los resultados que satisfacen dicha necesidad
ordenados por relevancia (En el capítulo número 6 se presenta los
algoritmos utilizados para calcular dicha relevancia) y que actúa como
pasarela a los documentos originales.
[68]
El funcionamiento del motor es el siguiente: éste recibe una consulta por parte del
usuario (query), formada por uno o más términos, realiza una consulta interna en
la base de datos que contiene los recursos web indexados y ofrece una lista de
aquellos recursos que cumplen los requisitos de la consulta.
Debido al secretismo de las grandes compañías, no existe mucha información
detallada sobre la implementación de los grandes buscadores que explique la
arquitectura de los buscadores. En los apartados posteriores vamos a realizar una
descripción general de la arquitectura y los procesos del motor de búsqueda
Google tal y como lo describen sus creadores en el artículo (Brin et al, 1998).
2. Google
El motor de búsqueda de Google es el
producto principal de la compañía Google
Inc. fundada en 1998 por Larry Page y
Sergey Brin, ambos doctorados por la
universidad de Stanford, USA.
El nombre del buscador es Google ya que es la forma común de escribir –
erróneamente – el termino googol. Googol que es el nombre que se le da a la
cantidad de 10100, es decir, un uno seguido de cien ceros. A ambos fundadores les
pareció correcto usar dicho término dado que el objetivo era construir un motor
de búsqueda de gran escala. Cosa que consiguieron.
El buscador se convirtió en poco tiempo en un gran éxito gracias a su interfaz tan
minimalista, la calidad de los resultados propuestos y la sencillez de uso. Es más,
este éxito no se ha conseguido empleando costosas campañas publicitarias, si no
por el fenómeno que comúnmente se conoce como “correr la voz” y la inclusión de
Google como página de inicio de navegadores como p.e. Mozilla Firefox.
Hoy en día, Google Inc. es la empresa más valiosa del mundo, por encima de
grandes gigantes como Microsoft o Coca-Cola.
Figura 12. Logotipo de Google
[69]
Aunque hoy en día, al denotar Google, se sigue refiriendo al buscador, Google es un
portal web con un amplio conjunto de aplicaciones entre las que destacan el propio
buscador, Google Imágenes – un buscador de imágenes –. Google Directorio – un
índice temático parecido al de Yahoo! –, Google Maps – visualizador del mundo a
través de imágenes vía satélite – o Google Calendar – una agenda parecida a MS
Outlook –. En la Figura posterior podemos observar algunos dichos servicios.
Figura 13. Captura de algunos servicios que ofrece el portal de Google además del buscador.
En los próximos apartados, se utilizará el término Google únicamente para denotar
el buscador. Otra cuestión importante a tener en cuenta es que, debido a que la
única descripción “detallada” del funcionamiento de dicho buscador data de 1998,
es posible que hoy en día no se corresponda con la realidad. Esto se debe a que
desde su inauguración, la compañía ha empleado una política de privacidad en lo
que corresponde al diseño e implementación de sus productos y aunque dichos
cambios son aparentes al usar las herramientas se desconoce la naturaleza de los
mismos.
[70]
3. Los módulos que resuelven los procesos de Google
La forma más común de clasificar los procesos de un buscador es la que aparece en
(Blachman et al, 2007): Recuperación de las páginas web, Indización de las mismas
y Procesamiento de las consultas del usuario. A los módulos que realizan estas
tareas se les suele denominar Google’s web crawler – Googlebot –, Google’s
Indexer – Indizador – y Google’s Query Processor – Procesador de consultas –,
respectivamente. Al comparar estos elementos con los propuestos por Lara
Navarra anteriormente corresponden de la siguiente manera: el primero y el
segundo de Blachman con el primero y segundo de Lara Navarra, respectivamente,
y el tercero de Blachman con el tercero y cuarto de Lara Navarra.
3.1. Googlebot, recuperando páginas web
Googlebot es un conjunto de un número elevado de computadores que actúan
como un crawler, el cual es utilizado Google para encontrar y recuperar páginas en
la web. Posteriormente, estas páginas son entregadas al Indexer. Funcionan
prácticamente igual que los navegadores web; realizan una petición de página web
a un servidor, descargan dicha página y se la entregan al Indexer. La diferencia es
que el tiempo empleado en esta tarea es bastante inferior al empleado en los
navegadores web comunes.
Googlebot puede encontrar páginas de dos formas. O bien, recorriendo la web, o
bien, mediante un formulario disponible en el sitio web de Google.
Debido a que el contenido de la web es dinámico, para mantener el índice de
Google actualizado, Googlebot recorre las páginas web con una frecuencia
proporcional a la frecuencia de actualización de las mismas.
3.2. Indexer, indizando páginas web
Googlebot proporciona al Indexer el texto completo de las páginas encontradas.
Estas páginas son guardadas en la base de datos del buscador. Al realizar dicha
acción, se actualiza el índice de dicha base de datos, el cual es ordenado
[71]
alfabéticamente por los términos de búsqueda. Cada entrada de este índice
contiene una lista de los documentos en los que aparece dicha palabra y su
localización. Este tipo de estructura permite que se acceda rápidamente a los
documentos al realizarse una consulta. En dicho índice se ignoran las palabras
llamadas stop words para mejorar el funcionamiento del buscador. Las stop words
son las palabras que no aportan información sobre un documento como p.e.
preposiciones, adverbios, determinantes, etc.
3.3. Query Processor, procesando las consultas de los usuarios
El procesador de consultas de Google se compone de varios submódulos, entre los
que destacan la interfaz del usuario, la cual evalúa la consulta del usuario y
encuentra los documentos que la satisfacen, y el formateador de resultados, el cual
ordena los resultados por relevancia.
Indexar el texto completo de las páginas web permite a Google encontrar los
documentos que satisfacen una consulta con una simple función de similitud,
además de poder hacer uso de los distintos operadores disponibles en los
lenguajes interrogación
A la hora de ordenar los resultados, Google se basa en un gran número de factores
entre los que destaca el PageRank, algoritmo creado por uno de los fundadores:
Lawrence Page.
En la siguiente figura podemos observar un esquema propiedad de Google Inc. que
muestra como se ejecuta una consulta:
Figura
Por último, se debe comentar que Google aplica diversas técnicas de Machine
Learning para optimizar sus funciones mediante la detección de relaciones y
asociaciones entre los datos almacenados. Un claro ejemplo del empleo de estas
técnicas es el sistema de corrección ortográfica.
4. Arquitectura de Google
La figura posterior se muestra la arquitectura que posee Google para desarrollar
los procesos comentados en seccio
realizar una visión general de la arquitectura del buscador, tal y como aparece en
el artículo (Brin et al, 1998).
[72]
Figura 14. Procesado de una consulta (Google Inc., 2003)
Por último, se debe comentar que Google aplica diversas técnicas de Machine
Learning para optimizar sus funciones mediante la detección de relaciones y
es entre los datos almacenados. Un claro ejemplo del empleo de estas
técnicas es el sistema de corrección ortográfica.
Arquitectura de Google
La figura posterior se muestra la arquitectura que posee Google para desarrollar
los procesos comentados en secciones anteriores. En este apartado vamos a
realizar una visión general de la arquitectura del buscador, tal y como aparece en
el artículo (Brin et al, 1998).
Por último, se debe comentar que Google aplica diversas técnicas de Machine
Learning para optimizar sus funciones mediante la detección de relaciones y
es entre los datos almacenados. Un claro ejemplo del empleo de estas
La figura posterior se muestra la arquitectura que posee Google para desarrollar
nes anteriores. En este apartado vamos a
realizar una visión general de la arquitectura del buscador, tal y como aparece en
[73]
Figura 15. Definición de Alto Nivel de la Arquitectura de Google. (Brin et al, 1998)
En primer lugar, comentaremos a modo de anécdota que la mayor parte de Google
está implementado en C/C++ por razones de eficiencia.
En Google, el proceso de recuperación de páginas web de la red se realiza por
varios crawlers distribuidos – anteriormente denominados por el término
Googlebot –. El módulo URL Server envía listas de URLs a los crawlers para que
éstos las descarguen, es decir, este módulo centraliza el control de las páginas a
explorar.
Una vez descargadas las páginas, éstas son enviadas al Store Server. El Store
Server comprime y guarda las páginas en el repositorio (Repository). Toda página
tratada tiene asociado un identificador denominado docID el cual es asignado cada
vez que se analiza un hiperenlace en una página. Dicho hiperenlace apunta a una
URL no trata anteriormente. La función de indexación es llevada a cabo por el
proceso Indexer y Sorter.
[74]
El Indexer lleva a cabo varias funciones: Leer el repositorio, descomprimir los
documentos contenidos e interpretarlos. Posteriormente, cada documento se
convierte en un conjunto de ocurrencias de palabras llamadas hits o aciertos.
Cada acierto registra una palabra contenida en el documento, su posición en dicho
documento y una aproximación del tamaño de la fuente y si ésta está o no en
mayúsculas.
Tras ello, el Indexer distribuye estos aciertos en una serie de barrels creando un
índice parcialmente ordenado. Además, el Indexer interpreta todos los enlaces en
cada página y guarda información importante sobre los mismos en un archivo
llamado anchors, el cual contiene información sobre origen y el destino del enlace,
y el texto asociado al enlace.
El URL Resolver se encarga de convertir URLs relativas en URLs absolutas, p.e. si
desde la web http://usuarios.lycos.es/joh/PFC/ se hace referencia a
links/linkbarA.jpg, la dirección absoluta que calcularía el Resolver sería
http://usuarios.lycos.es/joh/PFC/links/linkbarA.jpg.
Posteriormente, el Resolver transforma las URLs absolutas en docIDs, entregando
el texto del enlace al índice y asociándolos con el docID apuntado por el enlace. El
Resolver genera, además, una base de datos que contiene tuplas de pares de
docIDs de la forma “desde-hasta” que representan cada enlace. Esta base de datos es
importante para el posterior cómputo del PageRank.
El Sorter toma los barrels, los cuales están ordenados por docID, reordenándolos
por wordID (identificador que se le da a las palabras) para generar un índice
invertido.
Un programa denominado DumpLexicon toma la lista de wordIDs junto con el
vocabulario producido por el índice invertido y genera un nuevo vocabulario para
ser usado por el Searcher.
[75]
Al utilizar el concepto vocabulario nos referimos al conjunto de términos
contenidos en algún documento indexado, es decir, para las consultas que son
realizadas y contienen al menos un término del vocabulario existe siempre uno o
más resultados.
El Searcher es invocado por el servidor web, usa el vocabulario construido por
DumpLexicon junto con el índice invertido y el algoritmo PageRank para resolver
las búsquedas.
A grandes rasgos, está es la arquitectura necesaria para hacer funcionar un
buscador de gran escala, en el documento (Brin et al, 1998) también se presentan
las estructuras de datos principales utilizadas, una explicación más detallada del
papel que desempeñan los distintas partes de la arquitectura en los tres procesos
principales, y el test realizado al motor de búsqueda. Estos datos no han sido
introducidos en este documento, ya que, a juicio del autor, esta información es más
que suficiente para los objetivos propuestos. En cualquier caso, si el lector desea
profundizar en el tema puede hacer uso de las referencias propuestas.
[77]
CAPÍTULO 6. WEB STRUCTURE MINING: ANÁLISIS DE ENLACES
Abstract. Los buscadores utilizados en los años 90 (y anteriormente) basaban la relevancia
de sus resultados en diversos análisis de similitud entre los términos de la búsqueda y los
documentos indizados. A mediados de dicha década los expertos se dieron cuenta de los
problemas que ello acarreaba y decidieron basar la relevancia en el análisis de los enlaces
presentes en los documentos. En esta unidad se presentan y analizan las dos técnicas de
análisis de enlaces más conocidas: PageRank y HITS. A modo de finalización, se presentará la
formula que se cree que utiliza el buscador Google para listar los resultados de las
búsquedas.
Keywords. Link Analysis, Content similarity, PageRank, HITS, Google’s Formula.
1. Introducción
Los motores de búsqueda primitivos – implementados antes de 1998 – solían
utilizar análisis de similitud entre los términos de búsqueda propuestos por el
usuario y las páginas web indexadas. (Liu, 2006b)
En 1996, se dieron cuenta de que únicamente el análisis de similitud en el
contenido no era suficiente por las siguientes razones:
1. El número de páginas web creció rápidamente durante la segunda mitad de
los años 90 y dada una búsqueda y utilizando dicho método, el número de
páginas relevantes podía ser enorme.
2. Los métodos de análisis de similitud podían ser fácilmente manipulados
(spamming). El dueño de una página podía repetir palabras importantes o
introducir palabras relacionadas para aparecer en las primeras posiciones
de los buscadores.
Por ello, los investigadores comenzaron a trabajar en la búsqueda de una solución
al problema. Finalmente recurrieron a los hiperenlaces. A pesar de que los
documentos tradicionales se consideraban independientes unos de otros – la única
relación era la citación en las referencias –, las páginas web están conectadas por
[78]
hiperenlaces, lo que proporciona gran información sobre la relevancia de las
mismas. Los hiperenlaces son utilizados para organizar grandes cantidades de
información en un sitio web o para unir páginas con contenido relacionado.
En 1998, se diseñaron los dos algoritmos basados en hiperenlaces que más han
influido en la web: PageRank – usado por Google – y HITS.
En los apartados 3 y 4 únicamente nos centraremos en las principales
características de ambos algoritmos, en (Liu, 2006b) se realiza un estudio
matemático muy detallado de ambos algoritmos.
Hoy en día, los buscadores consideran multitud de factores al producir los
resultados presentados al usuario además de los métodos de evaluación de
páginas basados en hiperenlaces. En el apartado 4 veremos cómo ha evolucionado
la fórmula de Google desde el PageRank hasta la fórmula que se supone que utiliza
hoy en día dicho buscador.
Generalmente, los algoritmos utilizados para listar los resultados en los motores
de búsqueda más importantes son secretos como por ejemplo Yahoo! o MSN. Del
algoritmo utilizado por Google, en cambio, sólo se conoce lo relacionado con el
cálculo del PageRank, la fórmula de Google que veremos a posteriori es
únicamente una suposición bastante aceptada por la sociedad cibernética en los
foros de Internet.
2. Conceptos matemáticos sobre el análisis de enlaces
En los posteriores apartados vamos a tratar la Web como un grafo dirigido
� � ��, ��, donde � en el conjunto de nodos (el conjunto de páginas) y � el
conjunto de aristas dirigidas en el grafo (los hiperenlaces). Supongamos que el
número total de páginas en la Web es � � |�|. Las siguientes definiciones también serán de utilidad:
[79]
• Enlaces de entrada (Enlace entrante) a la página i: Son los enlaces que
apunta a la página i desde cualquier otra página. Generalmente, no se
consideran los enlaces dentro de un mismo sitio web.
• Enlaces de salida (Enlace saliente) de la página i: Son los enlaces que
apuntan a otras páginas desde la página i. Tampoco se suelen consideran los
enlaces internos.
3. PageRank
PageRank fue propuesto en Abril de 1998 por Sergey Brin and Larry Page y sus
bases están presentes en el artículo (Brin et al, 1998). Pronto se convirtió en el
modelo de análisis de hiperenlaces dominante por las siguientes razones:
• Evalúa las páginas web independientemente de las consultas realizadas por
los usuarios.
• El algoritmo es muy hábil combatiendo las manipulaciones.
• El éxito del motor de búsqueda que implementa dicho algoritmo: Google.
El comportamiento del algoritmo PageRank se puede simplificar de la siguiente
manera: Cada hiperenlace de una página x a una página y se toma como un “voto”
de la página x a la página y. Sin embargo, no todos los votos valen lo mismo, los
votos de páginas “importantes”, es decir, aquellas páginas que han sido votadas
por muchas otras páginas, tienen más peso que los votos de las páginas menos
importantes.
3.1. Algoritmo PageRank
PageRank es un algoritmo estático, es decir, computa la relevancia de cada página
offline y dicha relevancia no depende de las consultas realizadas por el usuario.
La relevancia de una página web se calcula de la siguiente manera:
1. Un hiperenlace de una página a otra página da prest
ello, a mayor número de enlaces entrantes, mayor prestigio tendrá la
página.
2. Cada página que apunta a la página
página con mucho prestigio da más prestigio a
Por tanto, la relevancia de la página
suma de todas las relevancias de las páginas que apuntan a
Matemáticamente, el PageRank score de
Siendo Oj el numero de enlaces salientes de la página
observar un ejemplo de cómo se emplea esta fórmula en el cómputo del PageRank.
Un ejemplo, en formato audiovisual, más completo sobre el funcionamiento del
algoritmo PageRank, que incluye además los métodos matemáticos usados, está
[80]
Un hiperenlace de una página a otra página da prestigio a ésta última. Por
ello, a mayor número de enlaces entrantes, mayor prestigio tendrá la
Cada página que apunta a la página i, también tiene su propio prestigio. Una
página con mucho prestigio da más prestigio a i, que una con poco prestigio.
or tanto, la relevancia de la página i (i’s PageRank score) es determinada por la
suma de todas las relevancias de las páginas que apuntan a i.
Matemáticamente, el PageRank score de i (escrito como P(i) ) se define como:
el numero de enlaces salientes de la página j. En la figura 1
observar un ejemplo de cómo se emplea esta fórmula en el cómputo del PageRank.
Figura 16. Ejemplo del cálculo del PageRank.
Un ejemplo, en formato audiovisual, más completo sobre el funcionamiento del
algoritmo PageRank, que incluye además los métodos matemáticos usados, está
igio a ésta última. Por
ello, a mayor número de enlaces entrantes, mayor prestigio tendrá la
, también tiene su propio prestigio. Una
, que una con poco prestigio.
’s PageRank score) es determinada por la
) se define como:
. En la figura 16 podemos
observar un ejemplo de cómo se emplea esta fórmula en el cómputo del PageRank.
Un ejemplo, en formato audiovisual, más completo sobre el funcionamiento del
algoritmo PageRank, que incluye además los métodos matemáticos usados, está
[81]
disponible en la conocida página Youtube. El video es accesible desde la siguiente
URL: http://es.youtube.com/watch?v=FNjQ-itLuBY
3.2. Ventajas y desventajas de PageRank
Las dos ventajas más importantes de usar PageRank como algoritmo para listar
webs por relevancia son la habilidad del mismo de combatir la manipulación y que
la medida (PageRank score) proporcionada es global e independiente de las
consultas del usuario.
PageRank combate la manipulación ya que una página es importante si y solo si las
páginas que la apuntan son también importantes. Al ser PageRank independiente
de las consultas, el cómputo de la relevancia de las páginas se puede realizar
offline, lo que proporciona a los buscadores que lo implementan bastante
eficiencia a la hora de realizar las consultas. Estas ventajas son las que han
propiciado a Google un gran éxito.
La mayor ventaja del algoritmo es también su mayor desventaja. La independencia
de las consultas de los usuarios a la hora de computar el PageRank hace que este
algoritmo no pueda diferenciar entre las páginas que son relevantes en general y
las que son relevantes en las consultas realizadas por los usuarios.
Otra desventaja es que el algoritmo no toma en consideración el tiempo. Las
páginas antiguas se computan de la misma forma que las más recientes, y dado que
la web es bastante dinámica, (cambia en el transcurso del tiempo) este es un
problema bastante serio. En (Yu et al, 2004) se propone un algoritmo denominado
TimedPageRank que soluciona este problema.
4. HITS
En Enero de 1998, HITS (acrónimo de Hipertext Induced Topic Search) fue
propuesto por Jon Kleinberg en (Kleinberg, 1998). Este algoritmo, a diferencia de
PageRank, es dependiente de las consultas del usuario.
[82]
HITS se comporta de la siguiente manera: primero, expande el conjunto de páginas
relevantes devueltas por un buscador para, a posteriori, listar los resultados de
acuerdo a dos medidas: lista de autoridades y lista de centros.
Figura 17. Esquemas de una autoridad (authority) y un centro (hub). (Liu, 2006b)
Una autoridad (authority) es una página con muchos enlaces entrantes. La idea es
que una página tiene autoridad si mucha gente confía en ella y la enlaza con sus
páginas webs.
Un centro (hub) es una página que contiene muchos enlaces salientes. Una página
centro sirve como organizador de muchas páginas con autoridad.
La idea clave de HITS es que un buen centro apunta a muchas buenas autoridades,
y que una buena autoridad es apuntada por muchos buenos centros. Esto significa
que autoridades y centros deben tener una relación de refuerzo mutuo (mutual
reinforcement relationship).
4.1. Algoritmo HITS
HITS funciona de la siguiente manera:
1. Se envía una consulta q a un buscador. El buscador le devuelve t resultados
más relevantes. Este conjunto de resultados lo denominamos W o conjunto
raíz (root set).
2. Posteriormente, se crea el conjunto S, que es el resultado de engordar el
conjunto W con todas las páginas que apuntan a o son apuntadas por cada
página contenida en W. Como restricción tenemos que cada página de W
[83]
puede introducir k páginas en S. El conjunto S se llama conjunto base (base
set).
Figura 18. Ejemplo de un conjunto base S. El conjunto S contiene al Conjunto W (Root Set) y a las páginas
añadidas en la expansión.
3. Después, HITS trabaja con las páginas de S, dándoles a cada página en S una
puntuación de autoridad y otra de centro. Sea la puntuación de autoridad de
una página i ����, y su puntuación de centro ���. La relación de refuerzo
mutuo se expresa como:
���� � � �����.����
��� � � ������,����
4. Finalmente, HITS selecciona las páginas con mayor puntuación en autoridad
y centro, y las devuelve al usuario.
[84]
Figura 19. La finalidad de HITS es encontrar un conjunto de páginas relacionadas con el tema de
búsqueda que tengan alta puntuación como autoridad y centro. (Liu, 2006b)
4.2. Ventajas y desventajas de HITS
La ventaja más importante de HITS es la habilidad de listar los resultados de
acuerdo a la consulta realizada, lo cual debería proporcionar páginas más
importantes.
Sin embargo, HITS tiene grandes desventajas, como:
• HITS no posee la capacidad de combatir la manipulación que posee
PageRank. Es relativamente fácil engañar a HITS añadiendo enlaces en
nuestra página a páginas que son buenas autoridades.
• HITS puede polucionar el tema de la consulta. Al expandir el conjunto
proporcionado por el buscador, se pueden añadir fácilmente páginas que no
tienen nada que ver el tema de consulta. A este problema se le denomina
topic drift.
• El tiempo empleado en la consulta es bastante superior al empleado con
otros algoritmos como p.e. PageRank.
5. Fórmula de Google
Los motores de búsqueda más exitosos trabajan con la máxima “El algoritmo
utilizado para listar los resultados debe ser secreto”. Este modo de trabajo tiene
dos razones:
[85]
• Establecer barreras de entrada para continuar liderando el mercado.
• Impedir que los usuarios polucionen los resultados intentando que sus
páginas aparezcan en los primeros resultados propuestos.
Dado que los usuarios tienen bastante interés en “polucionar” los buscadores para
que sus páginas aparezcan referenciadas en los primeros resultados de consultas
realizadas sobre ciertos tópicos, existen números estudios en los foros de Internet
tratando de averiguar las fórmulas de los algoritmos secretos de los buscadores.
Dichos estudios no tienen la fiabilidad de los estudios publicados por los grandes
expertos en la materia, pero aún así deben de ser tomados en consideración ya que
algunos de ellos tienen realmente gran calidad.
En el foro (SEOmoz Co Staff, 2006) se expone el algoritmo que supuestamente
utiliza Google a la hora de listar los resultados. Dicho algoritmo está bastante
aceptado en el mundo cibernético. El problema de esta suposición es que debido a
la política de secretismo de Google Inc., el cual ni reconoce ni desestima este
algoritmo, no se sabe si realmente es el utilizado o no.
[86]
El supuesto algoritmo (con aspecto de fórmula) es el siguiente:
����������� � ���� �� � � ! � "� � �� #� �$ ��� ��$%�$&��� ' (. )� * �+���# $�& ��� ��,&$&� ' (. -.� * �/ �&� � �� ��� �$� ��� �$%� $%�� '(. -.� * �/�,!��% ,&�$%� �� ��� 0�0 �&�� ' (. 1� * �/ �&� � ��� ��$%�$&�� ' (. 1� * �20$%0 �&ó$ 4 $0 �� 5 �2�$ �&� ����;
30% Los factores que determinan la importancia del Uso de las palabras clave en los
contenidos son la posición de las mismas en la página; más concretamente si
éstas se encuentran en el título, en la parte Head del HTML, en el texto, en los
links internos apuntando a la página, en el domino o en la URL.
25% En el cálculo de la Relevancia del dominio se computan factores como la
historia de registro de dominio, el tiempo de vida del mismo, la fuerza de los
enlaces que lo apuntan, el vecindario del domino (enlaces entrantes y
salientes), el patrón de uso a lo largo de su vida y tipo del mismo (.es, .com,
.gov. etc.).
25% Para computar la Calidad de los enlaces entrantes se tiene en cuenta el tiempo
de existencia de los mismos, la calidad tanto de los dominios como de las
páginas que lo apuntan, el texto de los enlaces, el PageRank de los enlaces y el
tema de los sitios que apuntan.
10% El Comportamiento de los usuarios se basa en el historial del número de clics
(CTR o click through ratio) del documento cuando es presentado como
resultado de búsqueda, el tiempo empleado por los usuarios en esa página, las
búsquedas realizadas sobre ese dominio, etc.
10% La Calidad del contenido se caracteriza por la clasificación manual de analistas
que trabajan para Google, el sentido del contenido (Procesamiento del
Lenguaje Natural), los metadatos y el tipo de página (si el contenido de la
misma puede ser optimizado por los usuarios que la visitan, p.e. Wikipedia)
[87]
Las Puntuaciones Manuales corresponden a decisiones comerciales de Google y
Penalidades toman en consideración conceptos como el Sandbox, diversas
optiminizaciones, técnicas de BlackHat y penalizaciones manuales.
[89]
CAPÍTULO 7. EL LENGUAJE INTERROGACIÓN (QUERY LANGUAGE)
Abstract. En este capítulo se presenta a modo introductorio el lenguaje interrogación (query
language) que utilizan los buscadores para extraer las necesidades al usuario, y realizar las
búsquedas en base a éstas. En este documento también se presentan sus operadores
principales.
Keywords. Query Language, Declarative Language, CQL.
1. El lenguaje interrogación
Según la enciclopedia Wikipedia, los lenguajes interrogación (query language)
son lenguajes declarativos8 – opuesto a lenguajes imperativos 9– utilizados para
realizar consultas en bases de datos o sistemas de información.
(Lara Navarra et al, 2004) define Lenguaje interrogación como un conjunto de
opciones – órdenes, operadores y estructuras – que, organizados según normas
lógicas, permiten la consulta (query) de los recursos de información mediante una
expresión denominada ecuación de la consulta.
• Las órdenes son aquellas palabras o abreviaturas que indican al sistema las
acciones a ejecutar.
• Los operadores son los encargados de expresar las relaciones que
mantienen entre sí los términos que pueden definir las necesidades
informativas del usuario.
En el pasado, estas consultas se realizaban mediante la formulación textual de
expresiones, en cambio, hoy en día, se realizan mediante el uso de algún tipo de
interfaz gráfica.
El lenguaje interrogación utilizado en la recuperación de información es CQL
(Common Query Language) y es utilizado en buscadores, catálogos bibliográficos y
8 Los lenguajes declarativos responden a la pregunta ¿QUÉ? Ejemplo: SQL. 9 Los lenguajes declarativos responden a la pregunta ¿CÓMO? Ejemplo: Java.
[90]
en colecciones de información en museos. La especificación de dicho lenguaje se
encuentra en (SRU, 2007).
Figura 20. Página web para realizar búsquedas avanzadas en Google. Los operadores vienen implícitos en la
interfaz.
2. Tipos de operadores
En (Lara Navarra et al, 2004) se definen de forma introductoria los operadores que
suelen aparecer en los lenguajes de interrogación. Estos operadores se muestran a
continuación:
2.4. Operadores lógicos o booleanos
Los operadores lógicos corresponden a los definidos por George Boole y
ampliamente utilizados en el mundo informático:
• Intersección de conjuntos: AND
• Unión de conjuntos: OR
• Exclusión de conjuntos: NOT
Al igual que en la lógica booleana, se pueden utilizar paréntesis para establecer la
prioridad entre operadores.
[91]
2.5. Operadores posicionales
Los operadores posicionales toman como partida la posición del término en
relación a su contexto (otros términos y/o documento).
Operadores posicionales relativos
Los operadores posicionales relativos permiten definir la distancia que puede
existir entre un término y otro. También se les suele denominar operadores de
adyacencia o proximidad. Los operadores de proximidad son:
• NEAR: operador que obliga a las palabras claves recuperadas a estar a un
número determinado de distancia. La distancia viene implícita en el
programa utilizado.
• NEAR N: funciona como el anterior, pero siendo N la distancia entre las
palabras.
• “”: Emplear comillas expresa que el sistema debe comprobar si aparece el
contenido exacto y en el mismo orden que el que aparece entre comillas.
Operadores posicionales absolutos
Estos operadores permiten buscar los términos en un lugar determinado del
documento. Éstos son los siguientes:
• LINK: recupera los enlaces que contengan los términos de búsqueda.
• TITLE: recupera los títulos que contienen los términos.
• URL: recupera las URLs que contengan los términos.
• BODY: recupera del cuerpo de la página web los términos deseados.
[92]
2.6. Operadores de truncamiento y de límite/comparación
• Operadores de comparación o rango. Limitan la búsqueda mediante una
expresión que establece un rango de valores, generalmente numéricos. Por
ejemplo, “igual que” (EQ, =), “mayor que” (GT, >), etc.
• Operadores de truncamiento o máscaras. Son operadores que ayudan a
buscar las posibilidades semánticas de los términos. Por ejemplo los
caracteres comodín (* o ?).
[93]
CAPÍTULO 8. DISEÑO DE AGENTES INTELIGENTES DE BÚSQUEDA
Abstract. El propósito de este capítulo es exponer una introducción a los agentes
inteligentes, más concretamente, a los agentes de búsqueda en la web y sus características.
Posteriormente, se presentarán las bases propuestas en (Youngblood, 1999) para el diseño de
un agente inteligente de búsqueda sencillo. Este agente será denominado Web Hunter, ya que
es el diseño es bastante simple y dista mucho de otros agentes más avanzados como Robots,
Spiders o Web Crawlers.
Keywords. Design, Intelligent (Search) Agents, Web crawling, Search Engine.
1. Agentes inteligentes
Youngblood comenta que el corazón de todo motor de búsqueda se encuentra en el
agente de búsqueda, cuya principal función es recorrer la web en busca de
información que posteriormente será guardada en la base de datos del sistema.
Por ello, antes de diseñar un agente de búsqueda, nos deberíamos preguntar ¿Qué
es un Agente Inteligente? Aunque existe controversia en el ámbito científico sobre
dicha definición debido su aplicación en múltiples disciplinas, la definición
propuesta por (Wooldridge et al, 1995) es la más aceptada:
“Un agente inteligente es un sistema informático – hardware o software –
caracterizado por ser autónomo, social, reactivo y proactivo.”
De esta definición se deduce lo siguiente:
• Un agente opera sin la intervención directa de los humanos, y tiene cierto
control sobre sus acciones y estado interno.
• Los agentes interactúan con otros agentes (y posiblemente con humanos)
utilizando algún tipo de lenguaje de comunicación entre agentes.
• Los agentes perciben los cambios del entorno y son capaces de responder a
ellos en un tiempo acotado (reactividad).
[94]
• Los agentes no solo actúan en respuesta al entorno, sino que tienen un
comportamiento orientado a metas. Son capaces de tomar la iniciativa
(proactividad).
En el caso de los agentes de búsqueda en la web, el medio en el que trabajan es el
World Wide Web, perciben código HTML (Hypertext Mark-up Language) y utilizan
el protocolo HTTP (Hypertext Transfer Protocol). La labor de estos agentes es
determinar si un sitio web contiene el término buscado. En caso afirmativo, el
contenido de dicha página será remitida al motor de búsqueda. En caso negativo, el
agente debe ser capaz de encontrar otras localizaciones en las cuales poder seguir
buscando. De esto, deducimos, que el objetivo del agente es encontrar sitios web
que contengan los términos buscados.
2. Diseño del Web Hunter
2.1. Aproximación al Web Hunter
Al igual que los Agentes Inteligentes de Búsqueda en la web, para un término dado,
Web Hunter debería buscar y devolver tantas direcciones web como sean
necesarias. El método utilizado es empezar desde una web raíz proporcionada por
el usuario, y encontrar en las páginas web hiperenlazadas aquellas que contengan
el término.
Un ejemplo del método utilizado por Web Hunter sería el siguiente: Imaginemos
que queremos encontrar diversos artículos disponibles en la web Biology of the
Mamary Gland, véase la siguiente figura, los cuales traten sobre las proteínas
relacionadas con el ciclo celular. Para ello proporcionamos a nuestro Web Hunter
los siguientes términos “Cell Cicle Proteins” y el index de la web
“http://mammary.nih.gov/”. Tras un tiempo acotado y recorrer el árbol de páginas
web que podemos observar en el gráfico, el agente nos deberá entregar una lista de
las páginas web donde aparecen los términos.
[95]
Figura 21. Sitemap de la Web “Biology of the Mammary Gland” http://mammary.nih.gov/
De este ejemplo, rápidamente podemos deducir que nuestro agente se basa en
palabras clave, y que necesita muy pocos parámetros para cumplir con su
cometido:
• El término a buscar (p.e. palabra clave o frase).
• La dirección de comienzo.
• El número de resultados deseados.
• Tiempo máximo de búsqueda.
• Los métodos de búsqueda a utilizar. En (Doyle, 1998) se expone una
recopilación de los algoritmos de búsqueda más importantes, queda a juicio
del lector determinar cuál podría ser el óptimo debido a la controversia
existente en el campo de la búsqueda.
Los agentes más avanzados añaden otras técnicas a las anteriores, como por
ejemplo, un lenguaje más o menos complejo del término a buscar, mecanismos de
optimización (p.e. no visitar dos veces la misma página web) o la habilidad de
encontrar otros espacios de búsqueda cuando se ha recorrido el actual sin éxito
(p.e. búsquedas basadas en IP aleatorias).
[96]
2.2. Plan de actuación del Web Hunter
Todo agente inteligente debe de tener un plan de actuación que debe realizar de
forma autónoma. Youngblood divide el plan del Web Hunter en cuatro fases
principales: Inicialización, Percepción, Acción y Efecto.
La fase de Inicialización sirve para inicializar todas las variables y estructuras de
datos que serán utilizadas en las fases posteriores. Además, en esta fase, el usuario
debe proporcionar al Web Hunter toda la información que éste necesita para
alcanzar sus objetivos – los términos de búsqueda, el número de resultados
deseados, el tiempo máximo disponible, la página web de partida y el método de
búsqueda a utilizar.
En la fase de Percepción, el agente recupera diversa información de la página web
actual y usa su conocimiento10 para decidir si la web contiene enlaces. En caso
afirmativo, recupera dichos hiperenlaces.
En la fase de Acción, el agente obtiene toda la información de la página actual que
el sistema para determinar si se ha cumplido el objetivo (los términos se
encuentran en esta página y el agente tiene el número determinado de páginas). En
caso negativo, Web Hunter deberá determinar el siguiente paso a dar. En esta
decisión se encuentra la verdad inteligencia del agente, y el método de búsqueda
seleccionado determina el grado de precisión de dicha inteligencia.
La fase de Efecto sirve para listar todas las direcciones encontradas que satisfacen
los términos de búsqueda y proveer diversos comentarios al usuario.
El plan de acción del Web Hunter comienza en la fase de Inicialización para,
posteriormente, entrar en un bucle formado por las fases Percepción-Acción-
Efecto. El bucle termina o bien cuando se logra el objetivo o bien cuando no es
posible lograrlo (no existen más enlaces o el tiempo establecido se ha terminado).
10 Conocimiento: Se relaciona con el estado del entorno, y con cómo son las características de los objetos que el agente percibe. Es bastante más común en el círculo científico denominar creencias a las percepciones de los agentes.
[97]
La Figura 22 muestra la secuencia básica de acciones que realiza el agente
inteligente de búsqueda Web Hunter.
Figura 22. Flujo de acciones de Web Hunter
[98]
2.3. Modos de testeo
La implementación de un Web Hunter – en (Youngblood, 1999) se puede encontrar
una breve introducción a la implementación y los conocimientos necesarios para
realizarla – no se comportará del mismo modo que un motor de Búsqueda
comercial. Los agentes de búsqueda de estos sistemas son los que hemos
denominado agentes más avanzados en la Sección 2.1.
A pesar de que Web Hunter es una utilidad de bajo-nivel, consiguiendo un buen
rendimiento podemos hacer que sea una herramienta de gran utilidad. Para ello, el
autor recomienda testear la velocidad de las búsquedas, el grado de efectividad de
la búsqueda y la validez de los resultados.
Para testear la velocidad de las búsquedas, se mide el tiempo empleado por el
bucle en ejecuciones realizadas utilizando diferentes técnicas de búsqueda y de
ordenación.
La efectividad de la búsqueda viene determinada por la máxima “Algunas
direcciones iniciales dan mejores resultados que otras”. Para testear esta métrica,
debemos realizar ejecuciones secuenciales probando en cada ejecución una nueva
dirección inicial.
La validez de los resultados es una métrica subjetiva que viene dada por el grado
de satisfacción del usuario ante los resultados propuestos. Esto puede testear la
usabilidad del agente.
3. Aplicación de los agentes inteligentes de Búsqueda
Un Web Hunter implementado puede ser utilizado en numerosas aplicaciones,
pero el uso más importante es como ente de búsqueda por los motores de
búsqueda. Es más, a partir del diseño del agente inteligente de búsqueda, el diseño
de un motor de búsqueda parece algo trivial.
[99]
El motor de búsqueda sería un sistema compuesto por varios agentes de búsqueda,
un generador de palabras de diccionario que proporcione términos los agentes, un
generador secuencial de números IP para establecer la dirección de comienzo de
los mismos y una base de datos donde almacenar los resultados para su posterior
uso. Proporcionando a este sistema una interfaz HTML en un sitio Web bien podría
ser otro Motor de Búsqueda Web. Además, Web Hunter podría ser modificado para
explorar cualquier tipo datos en cualquier tipo de entorno al que pueda acceder un
agente inteligente.
[101]
CAPÍTULO 9. DISEÑO DE UN MOTOR DE RECUPERACIÓN DE
INFORMACIÓN
Abstract. A continuación se presentará el diseño de un motor de recuperación – diseñado en
la universidad de Salamanca, cuyo nombre es Karpanta – de información tal y como se
presenta en (Figuerola et al, 2000). Este motor no contiene ningún tipo de agente que busque
información, los documentos son introducidos directamente a la base de datos. En esta
pequeña introducción al diseño de un motor de recuperación de información se presenta
únicamente las técnicas utilizadas a la hora de indizar documentos y realizar consultas. Por
último, comentar que el motor se encuentra operativo en la siguiente dirección:
http://milano.usal.es/dtt.htm.
Keywords. Information Retrieval, Search Engine.
1. Objetivos de Karpanta
Los objetivos establecidos para el diseño del motor de recuperación información
son:
a) Disponer de un programa que implementara algunos de los modelos teóricos
más difundidos en recuperación de la información.
b) Disponer de un programa que permitiese examinar fácilmente los resultados
de ciertas operaciones internas, como el cálculo de pesos de los términos.
c) La posibilidad de discriminar campos en los documentos, y de valorarlos de
manera diferente.
d) La posibilidad de modificar fácilmente la mecánica interna de operación del
programa, aplicando diferentes criterios y sistemas de cálculo de pesos y
similitudes, a fin de observar el efecto de dichas modificaciones.
e) La posibilidad de implementar conocimiento lingüístico, adaptando las
posibilidades de recuperación a las características propias de un idioma
determinado.
[102]
2. Arquitectura de Karpanta
El motor de recuperación de documentos Karpanta se divide en dos módulos: uno
de ellos indiza los documentos añadidos y otro se encarga de procesar las
consultas y recuperar los documentos que satisfacen las consultas.
2.1. Módulo de indización
Karpanta se basa en el conocido modelo del espacio vectorial (Salton y McGill,
1983), según el cual, cada documento es representado mediante un vector de n
elementos, siendo n el número de términos indizables que existen en la colección
documental. A esta representación se le suele conocer por el nombre inglés bag-of-
words.
Por tanto por cada documento se crea un vector, y cada elemento del vector es una
palabra susceptible a estar en el documento. Cada elemento contiene un valor
numérico que es 0 si la palabra no está contenida en el documento. En caso
contrario, el elemento contiene el peso de la palabra en el documento, el cual se
calcula utilizando IDF (Inverse Document Frecuency). Un ejemplo de un vector de
palabras para un documento podría ser el siguiente:
[…] IDF index query IR search engine Google Yahoo! […] […] 8.245 12.345 10.456 0 2.345 5.232 0 0 […]
Tabla 23. Ejemplo de vector de palabras de un documento.
[103]
Antes de realizar la indización, es necesario tener en cuenta dos cosas:
1. Debe definirse una lista de palabras vacías – es más frecuente el uso del
término inglés stop words –, esto significa, detectar el conjunto de palabras
de un lenguaje que no caracterizan a los documentos (preposiciones,
artículos, etc.).
2. Las palabras indizables necesitan ser normalizadas. Esto se consigue
introduciendo en el módulo de indización una acción denominada
lematización (stemming). Un ejemplo de esta normalización sería
considerar la misma palabra a todas las conjugaciones del verbo “BUSCAR”,
es decir, si en un texto se encuentran las palabras “busqué”, “busco” y
“buscaré”, todas ellas deberían de ser tratadas como la misma palabra.
2.2. Módulo de consulta
Las consultas también se representan como un vector con las mismas
características que los documentos descritos anteriormente. Esto permite que la
implementación de una función de similitud entre los documentos y las consultas
realizadas sea una tarea prácticamente trivial. En este mecanismo de recuperación
se utiliza la fórmula del coseno (Salton, 1989).
El resultado de una consulta consiste en una lista de documentos ordenada en
orden decreciente en función de la similitud con la consulta.
[104]
3. Procesos de Karpanta
3.1. Proceso de indización
Figura 24. Proceso de indización.
El proceso de indización sigue el siguiente comportamiento:
1. Procesado de documentos (a través de un lenguaje de programación p.e.
VB):
1.1. Obtención de las palabras contenidas en el documento.
1.2. Filtrado de las mismas y eliminación de palabras vacías.
1.3. Normalización de los caracteres. (mayúsculas, minúsculas, tildes)
1.4. Lematización.
1.5. Almacenamiento en una tabla de cada término resultante, junto con
la referencia de los documentos en los que aparece. (utilizando
sentencias SQL)
[105]
2. Cálculo de frecuencias de términos – IDF – y pesos y almacenamientos de
los mismos en una tabla (utilizando sentencias SQL).
3.2. Proceso de consulta
Dados los términos de una consulta, el proceso de la misma requiere las siguientes
operaciones:
1. Procesado del texto de la consulta (obtención de palabras, eliminación de
palabras vacías, normalización de caracteres y Lematización).
Figura 25. Preprocesamiento de una consulta.
2. Calculo de pesos de los términos de la consulta, utilizando los datos de IDF
almacenados en una tabla en la operación de indizado.
3. Calculo de similitud entre la consulta y cada uno de los documentos
(utilizando una sentencia simple SQL).
[106]
Figura 26. Resolución de una consulta.
3.3. Realimentación de consultas
Esta aplicación además ofrece la posibilidad de realimentar las consultas de forma
sencilla.
Los autores lo implementan de la siguiente manera: En la realimentación añaden al
texto original de la consulta el texto de los documentos con los que se desea
realimentar, ya sea a través de una selección por parte del usuario, o ya sea
tomando de forma automática los n primeros resultados. Tras ello, se reejecuta la
consulta con los datos añadidos.
También ofrecen una realimentación más elaborada utilizando el Algoritmo de
Rocchio (Rocchio, 1971). En este caso, el usuario selecciona de los resultados que
sirven como ejemplos positivos y negativos, es decir, documentos recuperados que
deben usarse para realimentar y documentos que deben usarse como malos
ejemplos.
[107]
4. Debilidades de esta implementación
Debido a que Karpanta es un modelo muy simple, aparenta tener grandes
problemas de escalabilidad por dos razones:
1. Debido a su sencillez, lo más probable es que no sea capaz de gestionar
grandes conjuntos de información.
2. Al usar bases de datos relaciones, en concreto MS Access, es capaz de
manejar un número bajo de consultas simultáneas.
Sin embargo, la autentica debilidad de esta solución es que se basa en los
buscadores que existían antes de la inclusión del análisis de enlaces en el cálculo
de relevancia de los resultados, por lo que toma todos los problemas que estos
tenían y que están descritos en apartado 1 del capítulo número 6. Recordando,
estos problemas son:
1. Si el número de documentos es grande, para una búsqueda determinada, el
número de páginas relevantes puede ser enorme, dado que el método del
coseno coincidirá con muchos documentos.
2. El método del coseno es fácilmente manipulable (spamming).
De esto podemos deducir, que este sistema es un buen ejemplo del funcionamiento
de los buscadores, pero que posee numerosas debilidades las cuales deben ser
resueltas para lograr que el sistema sea eficaz.
[109]
CONCLUSIONES DE LA SEGUNDA PARTE
En esta segunda parte hemos reducido considerablemente nuestro dominio a los
motores de búsqueda o buscadores web. Hemos visto la arquitectura de un
buscador basándonos en la arquitectura de Google propuesta por sus creadores;
Sergey Brin y Larry Page. De esta arquitectura podemos deducir que aunque la
idea subyacente del diseño de un buscador es bastante sencilla, la implementación
de su arquitectura es una tarea compleja, es más, las tareas de optimización de
dicha arquitectura pueden llegar a resultar muy complejas.
En los dos últimos capítulos de esta parte hemos presentado dos artículos en los
que se expone como se puede implementar un buscador. A pesar de ser soluciones
muy simples y de pequeña escala, se puede inducir de ellos diversas algunas de las
decisiones que se tienen que tomar en el diseño de un buscador de tamaño medio-
grande.
Por último, comentar que esta parte puede servir como introducción a la parte
tercera, donde se explica una de las técnicas de Data Mining que puede aplicarse a
los resultados de los buscadores con fin de aumentar su eficacia. En esta parte se
han propuesto dos capítulos, el 6 y el 7, en los cuales se presenta el análisis de
enlaces y el lenguaje interrogación, donde es posible aplicar técnicas de Data
Mining para mejorar el comportamiento de estas herramientas. Es más, en Google
al utilizar el corrector ortográfico de las consultas ya se aplica de cierto modo
técnicas de Data Mining sobre el lenguaje interrogación.
A modo de introducción de la siguiente parte, comentar que en dicha parte se
presenta una de las posibles técnicas de Data Mining, concretamente de Web Usage
Mining, aplicables a los buscadores. Cabe decir que no es la única y que multitud de
diversas técnicas pueden ser estudiadas a partir de este punto.
[111]
TERCERA PARTE: TÉCNICAS DE DATA MINING
APLICADAS A LA RECUPERACIÓN DE
INFORMACIÓN EN LA WEB
En esta parte se analizará la técnica Personalización Web, la cual es utilizada para
recomendar ítems a los usuarios en el dominio de la Web. Esta técnica también
puede ser utilizada para asistir a los usuarios en la búsqueda de información.
En el capítulo 10 - Personalización Web se presentan a nivel introductorio esta
técnica y los sistemas que la componen.
El capítulo 11 - La Personalización Web como aplicación de Data Mining se
presenta que el ciclo de las aplicaciones de Data Mining es aplicable a la
Personalización Web.
En el último capítulo (12 - Sistemas de recomendación basados en el contenido)
se presentan los sistemas basados en el contenido como sistemas basados en
Personalización Web, los cuales pueden ser utilizados para asistir al usuario en la
búsqueda de información. Además, se presentan algunos ejemplos de sistemas que
implementan esta finalidad.
[113]
CAPÍTULO 10. PERSONALIZACIÓN WEB
Abstract. En este capítulo se presenta la Personalización Web como la técnica utilizada
habitualmente por los sistemas de recomendación. Posteriormente se exponen los tipos de
sistemas de recomendación existentes: sistemas basados en reglas, sistemas basados en
contenido y sistemas de Collaborative Filtering, así como, el modus operandi seguido por
cada uno de ellos para crear perfiles de usuarios. Finalmente, se justifica el uso de técnicas de
Data Mining, concretamente Web Usage Mining, por parte de este tipo de sistemas aunque
éstos no cumplan todas las desiderata propuestas por Kohavi.
Keywords. Web Personalization, Rule-based filtering systems, Content-based filtering
systems, Collaborative Filtering, Web Usage Mining.
1. Introducción
El objetivo primordial de cualquier sistema que se adapte al usuario es satisfacer
las necesidades del mismo en tiempo real sin preguntar explícitamente por las
mismas. En estos sistemas se utiliza la tecnología denominada Personalización
Automática. Dado que nuestro contexto es la web, denominaremos la tecnología
empleada como Personalización Web, en inglés sería Web Personalization.
Antes de dedicarnos a la caracterización de la Personalización Web, es necesario
distinguir entre dos términos que son confundidos en numerosas ocasiones, y más
en castellano, ya que ambos hacen uso de la misma palabra: Personalización
Automática (Automatic Personalization) y Personalización (Customization). En los
siguientes apartados se utilizará el término Personalización para referirse a
Automatic Web Personalization, sin embargo, en esta introducción utilizaremos los
términos ingleses para no confundir dichos términos.
Ambos conceptos se refieren a la recogida de información de un usuario particular.
Customization se refiere a que los usuarios tienen el control de la especificación de
[114]
su perfil11, mientras que, Automatic Personalization implica que el sistema crea o
modifica automáticamente perfiles del usuario con un control explícito mínimo por
parte del usuario. Un ejemplo de Customization podría ser los formularios que se
rellenan en los motores de búsqueda para realizar búsquedas avanzadas, en
cambio, un ejemplo de Automatic (Web) Personalization sería last.fm, web que
recomienda música según los gustos del usuario.
1.1. Personalización Web: un problema de predicción
La acción de personalización (Automatic Web Personalization) implica que un
sistema debe ser capaz de inferir los deseos un usuario basándose en las acciones
presentes y pasadas de dicho usuario, y posiblemente de otros usuarios. De esto se
deduce que dicha tarea puede verse como un problema de predicción, donde el
sistema debe ser capaz de predecir las necesidades del usuario en un contexto
específico y ordenar los elementos de dicho contexto de acuerdo con sus valores
predictivos.
Figura 27. Aplicación de last.fm
11 El concepto perfil de un usuario se refiere a la especificación formal de las preferencias o requerimientos de dicho usuario en una aplicación concreta.
[115]
Siguiendo con el ejemplo de last.fm, vemos en la figura la interfaz de la aplicación.
Este sistema de recomendación, recomienda canciones de acuerdo a los gustos de
los usuarios. El sistema funciona de la siguiente forma: De un conjunto amplio de
canciones, el sistema elige una y le se la propone al usuario. Mientras el usuario
escucha la canción, éste puede hacer clic en Love (le gusta) o Ban (no le gusta). De
la decisión tomada por el usuario dependerán las canciones que el sistema
proponga en un futuro. Además, el sistema tiende a recomendar canciones
parecidas a usuarios con gustos parecidos. Podemos ver en este ejemplo que
realmente la tarea de personalización es un problema de predicción, ya que el
sistema pretende pronosticar si una canción concreta le puede o no gustar a un
usuario concreto basándose en las canciones anteriormente valoradas por dicho
usuario y en las canciones valoradas por usuarios con gustos parecidos al usuario
concreto.
2. Tipos de Personalización Web
Los sistemas de personalización automática difieren, principalmente, en el tipo de
datos que manejan, el método utilizado para generar perfiles de usuario, y en el
algoritmo utilizado para realizar predicciones. En este apartado veremos los tipos
de sistemas de personalización basándonos en el método utilizado para realizar las
predicciones.
2.1. Sistemas de personalización basados en reglas
Los sistemas de personalización basados en reglas se basan en la creación manual
o automática de reglas de decisión utilizadas para recomendar ítems a los usuarios.
Estas reglas generalmente se basan en conceptos demográficos, psicológicos u
otros que caracterizan a los usuarios y funcionan de la siguiente manera: el
contenido es servido de una forma u otra dependiendo de las reglas que satisface
un determinado perfil de usuario.
Este tipo de personalización está directamente relacionado con diseño de los sitios
web y las reglas están determinadas por las características del dominio específico
[116]
de dicha web. Los perfiles se crean con la información obtenida de las
interacciones explícitas del usuario, generalmente a partir de formularios
rellenados por el usuario.
Los problemas que genera esta metodología son los siguientes:
• Problemas de cuello de botella (bottleneck problema) derivados del uso de
las técnicas de filtrado basadas en reglas.
• El sistema está determinado por los prejuicios de los usuarios, ya que
generalmente los perfiles son unas descripciones subjetivas realizadas por
ellos mismos.
• Los perfiles suele ser estáticos. Esto provoca la degradación del
rendimiento del sistema conforme los perfiles van adquiriendo edad.
En la literatura sobre los sistemas de personalización no suelen aparecer los
sistemas de recomendación basados en reglas – véase (Mladenic, 1999) o (Schwab
et al, 2000) –, únicamente aparecen los sistemas tratados en los dos próximos
párrafos. Es más, de todos los documentos consultados solo he encontrado dos que
los mencionen: (Mobasher 2007) y (Lang, 1995) – el cual denota a esta
metodología como la precursora de las dos posteriores –.
2.2. Sistemas de personalización basados en el contenido
En este apartado daremos una descripción de los sistemas de personalización
basados en el contenido de carácter introductoria. Posteriormente en el capítulo
12 analizaremos exhaustivamente estos sistemas, estudiando diversos ejemplos de
estos sistemas.
Los perfiles de usuario de este tipo de sistema contienen un conjunto de ítems en
los cuales el usuario ha expresado interés en el pasado. Cada ítem de dicho
conjunto es representado por un conjunto de atributos característicos. Por tanto, la
tarea de recomendación se efectúa comparando los atributos de los ítems no
visitados con los que están descritos en el perfil de usuario.
[117]
Generalmente dichos ítems son o contienen información textual y se representan
como un vector de términos con pesos – p.e. los usados en el modelo TF.IDF –. En la
siguiente Figura podemos observar como son sería un vector de términos extraído
de un documento de Seguros.
Figura 28. Vector de términos con pesos extraído de un documento de Seguros de Coche.
Las predicciones realizadas en dicho sistema se suelen calcular, o bien
computando la similitud entre vectores – p.e. el coseno –, o bien usando métodos
probabilísticos – p.e. el Clasificador Bayesiano –.
La mayor debilidad de estos sistemas es que obliga a los ítems utilizados a ser
descritos textualmente, y dada la heterogeneidad de la web es prácticamente
imposible que sean sistemas de uso general.
Como última anotación, debemos destacar que estos sistemas suelen basar sus
recomendaciones en un único usuario, al contrario de lo que sucede en los
sistemas del próximo apartado, en los que las recomendaciones se basan en un
conjunto de usuarios.
2.3. Collaborative filtering
Los sistemas que utilizan Collaborative Filtering fueron creados para intentar
solucionar los problemas de las dos propuestas anteriores.
Según la enciclopedia libre Wikipedia, la idea subyacente de estos sistemas se
divide en los siguientes pasos:
[118]
1. Buscar usuarios que hayan valorado ítems de forma parecida al usuario
activo12.
2. Utilizar estos usuarios (extraídos del paso 1) para realizar predicciones
sobre los ítems no valorados por el usuario activo.
La siguiente tabla muestra un ejemplo de un sistema de Collaborative Filtering
diseñado para recomendar música.
Música ABBA Boyzone Britney Spears
Kylie Minoge
Rocío Jurado
Aqua Barry White
D’Nash
Usuario1 6 7 5 7 1 2 3 7 Usuario2 7 6 6 7 - 1 5 6 Usuario3 2 1 1 - 7 6 6 3
Tabla 1. Ejemplo de una web imaginaria que recomienda música a usuarios.
De esta tabla podemos se puede deducir lo siguiente:
• El usuario 1 y 2 tienen gustos parecidos.
• El usuario 3 tiene gustos muy diferentes con respecto a los otros dos
usuarios.
• Si el usuario 2 fuese nuestro usuario activo, el sistema13 tomaría al usuario
1 como usuario con gustos parecidos a 2, y no debería recomendarle Rocío
Jurado.
Tradicionalmente se utilizan técnicas de KNN (k-vecinos más cercanos) basados en
memoria para realizar las clasificaciones.
La mayor desventaja de este sistema son sus limitaciones de escalabilidad:
• Si el número de usuarios e ítems es bastante grande, la latencia del sistema
para realizar recomendaciones en tiempo real puede llegar a ser
inaceptable.
• A medida que el número de ítems crece, la densidad de ítems valorados por
un usuario decrece. Esto dificulta el cálculo de la similitud entre dos
usuarios.
12 Usuario activo es aquel sobre el que se quiere realizar una predicción. 13 Aplicando literalmente las ideas de la Wikipedia y tomando como clasificador 1NN.
[119]
En (Mobasher, 2007) se proponen numerosas referencias de estrategias que
intentan superar estas limitaciones. La mayoría de estas estrategias se basan en
técnicas de Clustering para reducir la dimensión de los perfiles. Esto produce una
disminución del coste temporal de las recomendaciones en tiempo real.
La siguiente figura muestra ejemplos de los sistemas clásicos de esta
aproximación, en (Mladenic, 1999) se puede encontrar una descripción de cada
uno de ellos.
Figura 29. Sistemas de recomendación documentados que utilizan la técnica de Collaborative Filtering.
Como ejemplos de aplicaciones que utilizan Collaborative Filtering en la actualidad
tenemos Amazon, Last.fm o iTunes, entre otras. Cabe decir que no existe
documentación “oficial” de dichas aplicaciones, por lo que para realizar estudios
sigue siendo mejor opción revisar los sistemas clásicos.
Una variante muy utilizada de Collaborative Filtering son las técnicas de
Collaborative Filtering basadas en ítems – las utilizadas anteriormente se podrían
denominar basadas en usuarios – las cuales se basan en encontrar parecidos entre
los ítems. Se utilizan técnicas de similitud para realizar las recomendación, p.e. la
[120]
similitud del coseno. Siguiendo el ejemplo anterior, las técnicas basadas en ítems
podrían dar lugar a un ejemplo como el siguiente:
Música Usuario1 Usuario2 Usuario3 Usuario4 Usuario5 Usuario6 Usuario7
ABBA 6 7 5 7 1 2 3 D’Nash 7 6 6 7 - 1 5 Aqua 2 1 1 - 7 6 6
Tabla 2. Ejemplo de una web (parecida al ejemplo de la anterior) que usa técnicas de CF basadas en ítems.
De la tabla deducimos lo siguiente:
• El ABBA y D’Nash son preferidos por los mismos usuarios.
• Aqua se diferencia bastante de los grupos ABBA y D’Nash.
• D’Nash no debería ser recomendado al usuario 5 ya que ABBA no le gusta.
3. Perfiles de Usuario
Todo sistema de recomendación basado en Data Mining requiere trabajar con un
conjunto de datos que refleje tanto los intereses del usuario como sus
interacciones con las aplicaciones y los ítems. Los sistemas propuestos no solo
difieren en los algoritmos utilizados, también se diferencian en la manera de
construir perfiles de usuarios.
3.1. Perfiles basados en un único usuario
En los sistemas basados en reglas, generalmente, se construye un perfil de
preferencias de usuario único para cada usuario. Dicho perfil será utilizado para
ayudar a únicamente a dicho usuario.
Como hemos comentado anteriormente, los perfiles de los sistemas basados en
contenido son un conjunto de ítems en los cuales el usuario ha mostrado interés en
el pasado, siendo a su vez dichos ítems un conjunto de atributos característicos de
los mismos. El proceso de creación de un perfil en estos sistemas requiere lo
siguiente:
1. El sistema debe determinar el nivel de interés de un usuario en un
subconjunto de ítems. Esto se puede realizar de forma pasiva, es decir,
[121]
observando el comportamiento del usuario y utilizar diversos heurísticos
para inferir de ese comportamiento si un ítem es interesante o no, o de
forma activa, dejando al usuario que clasifique de forma manual un
conjunto de ítems en interesantes o no.
2. Transformar cada ítem a recomendar en un conjunto de atributos
característicos para comprobar su similitud con los contenidos del perfil y
realizar la recomendación.
Las principales desventajas de este tipo de perfiles son que anulan la capacidad de
encontrar algún ítem interesante de forma casual – ya que están basados en los
intereses previos del usuario – y que dependen de la disponibilidad de
descripciones textuales de los ítems.
3.2. Perfiles basados en varios usuarios
Como se ha comentado anteriormente, los sistemas basados en Collaborative
Filtering a la hora de realizar recomendaciones, no se basan únicamente en el
perfil del usuario activo, sino que además utiliza los perfiles de los demás usuarios.
Estos sistemas se basan en las similitudes entre usuarios, no entre ítems como lo
hacen los sistemas del apartado anterior. Los perfiles se representan tal y como se
han comentado en el apartado 2.3.
Es importante que remarcar que, a diferencia de los sistemas basados en el
contenido, en estos sistemas el contenido de los ítems no forma parte del perfil,
sólo la valoración que le da el usuario al mismo.
3.3. Uso de ontologías
En la actualidad existe la tendencia de integrar conocimientos de dominio
ontológicos en los perfiles de usuario, esto se da tanto en sistemas basados en el
contenido como en los basados en Collaborative Filtering. Un ontología es un
esquema conceptual en un domino dado, informalmente podría definirse como una
estructura de datos a utilizar en un domino. (Noy et al, 2000) explica esta
[122]
tendencia, muy en boga en la actualidad, además de presentar una guía para crear
ontologías.
El problema que suscita esta tendencia es que no existe un dominio ontológico
común entre los sitios web. Además, al sumar a este problema la naturaleza no
estructurada de la web y la dispersión de los datos disponibles se produce una
reducción de las posibilidades de estos sistemas en cuanto a personalización a la
hora de navegar en la web.
4. Uso del Data Mining en la Personalización Web
En (Kohavi et al, 2001) se exponen cinco desiderata para conseguir aplicaciones de
Data Mining exitosas:
1. Los datos deben de ser ricos en descripciones, lo que debe permitir que la
búsqueda de patrones se base en simples correlaciones.
2. El conjunto de datos debe ser extenso para, así, construir modelos reales.
3. La recogida de datos debe ser regulada y fidedigna, además de automática.
4. Debe existir un método para evaluar los resultados
5. Se deben construir aplicaciones fácilmente integrables en los procesos
existentes.
A pesar de que la personalización se suele denominar “killer app” para el Data
Mining ya que no cumple todas las desiderata, debe ser visto como una aplicación
de Data Mining debido a que posee todas las fases del ciclo típico de estas
aplicaciones: Recogida de Datos, Pre-procesado, Descubrimiento de patrones y
Evaluación, en modo off-line, y finalmente, el despliegue de sus conocimientos en
tiempo real para mediar entre la Web y el usuario.
Las aplicaciones de recomendación web hacen uso del WUM (Minería Web de Uso)
como herramienta de Data Mining necesaria para realizar sus propósitos. Por
tanto, llegados a este punto es necesario completar la definición de WUM emitida
en el capítulo 3, apartado número 2. WUM puede definirse como la técnica de
[123]
descubrimiento y análisis automáticos de patrones, los cuales se extraen del
clickstream14 y de una recogida de datos asociada a las interacciones de un usuario
con recursos web en uno o más sitios web.
El objetivo de las aplicaciones que usan WUM es capturar, modelar y analizar los
patrones de comportamiento y perfiles de los usuarios que interactúan con un sitio
web. El descubrimiento de patrones se suele representar como conjuntos de
páginas web, objetos u otros recursos los cuales son accedidos con frecuencia por
grupos de usuarios con necesidades o intereses comunes. Generalmente, las
técnicas basadas en WUM se han utilizado en el pasado para procesos de toma de
decisiones en empresas con sitios web.
Estos modelos se pueden utilizar en los sistemas de recomendación por diversas
razones:
1. Dado que WUM no utiliza un algoritmo específico, se consigue un cierto
grado de flexibilidad para tratar coherentemente con diferentes tipos de
datos.
2. Permiten que las tareas de personalización trabajen y se integren bien con
otros tipos de aplicaciones existentes.
3. WUM al basarse en técnicas de Data Mining tiende a ser más escalables que
las aproximaciones basadas en otras técnicas.
5. Proceso de Personalización Web basado en WUM
Tras comprender la necesidad de utilizar técnicas de Data Mining en las
aplicaciones de recomendación web, veamos cómo quedaría entonces el proceso
de personalización. Dicho proceso consistirá en tres fases: Preparación de Datos y
Transformación, Descubrimiento de Patrones, y Recomendación.
En la fase de Preparación de Datos y Transformación se transforman los datos sin
procesar (raw data) a tipos de datos procesables por aplicaciones basadas en Data 14 Según la Wikipedia, clickstream es el conjunto de los clics del usuario mientras éste navega por la web. Este concepto no tiene traducción directa al español.
[124]
Mining. Los datos sin procesar pueden ser extraídos de numerosas fuentes, como
p.e. logs de los sitios web, bases de datos o diversos contenidos de las páginas web.
Descubrimiento de Patrones es la fase donde se aplican las técnicas de Data Mining
al conjunto de datos extraídos de la primera fase. En esta fase se pueden aplicar
gran cantidad de dichas técnicas, como p.e. Clustering, técnicas basadas en reglas,
técnicas basadas en los k-vecinos más cercanos o modelos probabilísticos. El
resultado de esta fase es la transformación de los datos de la primera fase en un
conjunto de modelos de usuario, los cuales serán utilizados en la fase de
Recomendación.
La fase de Recomendación es la única que se realiza en tiempo real y on-line, ya que
las fases anteriores se realizan en modo off-line. En esta fase se considera los
patrones descubiertos y los perfiles de usuario creados en las fases anteriores para
proveer al usuario contenido personalizado.
En el próximo capítulo se presenta un análisis exhaustivo tanto de los algoritmos
como de las técnicas utilizas en estas fases.
[125]
CAPÍTULO 11. LA PERSONALIZACIÓN WEB COMO APLICACIÓN DE
DATA MINING
Abstract. La personalización web debe ser tratada como una aplicación de Data Mining
debido a que posee todas las fases típicas de este tipo de aplicaciones. En esta unidad
describiremos, en base a los expuesto en (Mobasher, 2007), las distintas fases de esta tarea.
Estas fases son el Preprocesado de Datos, el Aprendizaje de un Modelo y la Evaluación de
dicho Modelo.
Keywords. Web Personalization, Web Usage Mining, Data Mining.
Como avanzábamos en los últimos apartados del capítulo anterior, a pesar de que
la personalización se suele denominar “killer app” para el Data Mining ya que no
cumple todas las desiderata propuestas por Kohavi, debe ser visto como una
aplicación de Data Mining debido a que posee todas las fases del ciclo típico de
estas aplicaciones: Recogida de Datos, Pre-procesado, Descubrimiento de patrones
y Evaluación, en modo off-line, y finalmente, el despliegue de sus conocimientos en
tiempo real para mediar entre la Web y el usuario.
En los próximos apartados se tratará de caracterizar dicha tarea como una
aplicación que utiliza de técnicas de Data Mining.
1. Modelado de perfiles de usuario
Sea U un conjunto de 7 usuarios, 8 � 9:;, :<, … , :>? e I un conjunto de � ítems,
@ � 9�;, �<, … , �A?, representamos un perfil de usuario de un usuario : � 8 como un
vector n-dimensional de pares con la siguiente forma:
:�A� � B��;, CD��;��, ��<, CD��<��, … , ��A, CD��A��E,
Donde los �� ’s � @ y CD es la función por la cual el usuario : asigna valor de interés a
los ítems, esta función puede dar el valor nulo.
[126]
Generalmente, se suelen almacenar conjuntamente todos los perfiles de usuario,
por tanto, la base de datos de todos los perfiles puede representarse por una
matriz 7 F �, 8G � HCDI����J>FA, donde CDI���� es el grado de interés en el ítem ��
por el usuario :I.
A modo de ejemplo, una base de datos para usuarios – 3 usuarios – que valoran
ítems – 4 ítems – sería:
8G � K8 1 53 5 102 5 8 551R
Donde el perfil del usuario 1 es :; � B��;, 8�, ��<, 1�, ��S, 5�, ��T, 5�E, es decir, el
usuario ha valorado los ítems del primero al tercero, con las notas 8, 1, 5,
respectivamente. El cuarto elemento no ha sido valorado.
Formalmente, un sistema de personalización puede ser visto como la siguiente
función:
GU: W�8G� F 8 F @ X Y Z 9�:[[?
GU\W�8G�, :I, ��] � CDI����
Esta función asigna valores – grado de interés – a los pares usuario-ítem no
valorados por el usuario activo. Como parámetros de entrada tenemos:
• Conjunto de perfiles de usuarios UP, en los sistemas de recomendación
basados en el contenido no se toma este conjunto.
• El perfil del usuario activo.
• El ítem a predecir.
La salida de esta función es o un número real o null. La función devuelve un
número real para los ítems que es capaz de predecir, null en caso contrario.
Muchas técnicas de Data Mining pueden aplicarse a UP para implementar dicha
función, en la fórmula anterior, estas técnicas se representan como W.
[127]
Pero antes de realizar cualquier tipo de predicción, se deben contestar las
siguientes preguntas:
1. ¿Qué elementos constituyen el conjunto de ítems I?
2. ¿Cómo es la función CDI definida para cada usuario :I?
Las respuestas de preguntas dependen del tipo de aproximación utilizada en la
personalización (basado en reglas, contenido o CF), el dominio de la aplicación
subyacente y los tipos y fuentes de información.
2. Preprocesado de Datos en WUM
Los datos utilizados en WUM se extraen de los log de los sitios web, los cuales
contienen datos del comportamiento de los usuarios a la hora de navegar. Estos
datos pueden ser interpretados desde diferentes niveles de abstracción. Estos
niveles varían desde simples peticiones HTTP hasta el nivel básico de abstracción
en WUM, denominado pageview.
El pageview es la unidad atómica de datos utilizada en el análisis de los mismos.
Figura 30. Tareas y elementos necesarias en el Preprocesado de Datos. (Mobasher, 2007)
El objetivo de la fase de Preprocesado es la de transformar los datos sin procesar
en perfiles de usuario. Es de vital importancia realizar este proceso con corrección,
ya que el éxito de las técnicas de Data Mining depende en gran parte de la calidad
de los datos procesados. En l
tareas que son necesarias en esta fase de la aplicación.
1.1. Preprocesado del Uso
Figura 31. El Preprocesado de Uso dentro del Preprocesado de Datos. (Mobasher, 2007)
Como podemos observar en la figura anterior, el Preprocesado del Uso se
compone de cinco tareas principales; Fusión de Datos, Limpieza de Datos,
Identificación del pageview, Sesionalización e Identificación de Episodios. En los
próximos párrafos se describirán brevement
La tarea Fusión de Datos
varios sitios web o los datos provienen de distintas fuentes dentro de un mismo
sitio web. En este paso, los datos que provienen de distintos parajes s
de forma ordenada para evitar los duplicados y otros problemas derivados del uso
de diversas fuentes. Un ejemplo de esta actividad podría ser este proyecto, en el
cual se han consultado distintas fuentes para la obtención de algunos
conocimientos. Dichos conocimientos han sido mezclados con cuidado de que éstos
sean coherentes y de que no estén duplicados en este informe.
La fase Limpieza de Datos
realización de los análisis como p.e. obje
multimedia.
[128]
de los datos procesados. En la figura anterior podemos observar los elementos y
tareas que son necesarias en esta fase de la aplicación.
Preprocesado del Uso
El Preprocesado de Uso dentro del Preprocesado de Datos. (Mobasher, 2007)
servar en la figura anterior, el Preprocesado del Uso se
compone de cinco tareas principales; Fusión de Datos, Limpieza de Datos,
Identificación del pageview, Sesionalización e Identificación de Episodios. En los
próximos párrafos se describirán brevemente cada una de estas tareas.
Fusión de Datos (Data Fusion) es necesaria cuando se toman datos de
varios sitios web o los datos provienen de distintas fuentes dentro de un mismo
sitio web. En este paso, los datos que provienen de distintos parajes s
de forma ordenada para evitar los duplicados y otros problemas derivados del uso
de diversas fuentes. Un ejemplo de esta actividad podría ser este proyecto, en el
cual se han consultado distintas fuentes para la obtención de algunos
tos. Dichos conocimientos han sido mezclados con cuidado de que éstos
sean coherentes y de que no estén duplicados en este informe.
Limpieza de Datos (Data Cleaning) elimina los datos no necesarios para la
realización de los análisis como p.e. objetos embebidos o diverso contenido
a figura anterior podemos observar los elementos y
El Preprocesado de Uso dentro del Preprocesado de Datos. (Mobasher, 2007)
servar en la figura anterior, el Preprocesado del Uso se
compone de cinco tareas principales; Fusión de Datos, Limpieza de Datos,
Identificación del pageview, Sesionalización e Identificación de Episodios. En los
e cada una de estas tareas.
(Data Fusion) es necesaria cuando se toman datos de
varios sitios web o los datos provienen de distintas fuentes dentro de un mismo
sitio web. En este paso, los datos que provienen de distintos parajes son mezclados
de forma ordenada para evitar los duplicados y otros problemas derivados del uso
de diversas fuentes. Un ejemplo de esta actividad podría ser este proyecto, en el
cual se han consultado distintas fuentes para la obtención de algunos
tos. Dichos conocimientos han sido mezclados con cuidado de que éstos
(Data Cleaning) elimina los datos no necesarios para la
tos embebidos o diverso contenido
[129]
En el proceso de Identificación del pageview (Pageview Identification) se selecciona
de los datos el conjunto que será tomado como unidad atómica para el propósito
del análisis. En el caso más simple, este pageview suele corresponder con una
página web, en nuestro caso tomaremos los pageview como los ítems �� � @, los
cuales son los objetos de la personalización.
La tarea Sesionalización (Sessionazation) tiene como propósito establecer la
secuencia de acciones realizadas por un usuario concreto en un sitio web – o
conjunto de sitios web – a través de la interpretación de los datos de los logs. Para
ello son utilizados heurísticos, los cuales se pueden catalogar en dos tipos:
orientados a la estructura u orientados al tiempo.
La última fase es la Identificación de Episodios (Episode Identification). Un episodio
es una subsecuencia de acciones desarrolladas en una sesión la cual está
relacionada semánticamente o funcionalmente con uno o varios pageviews. Un
ejemplo de Episodio podría ser añadir a un carro un ítem en un sitio web de
compras online.
El resultado de todas estas tareas es el siguiente: Un conjunto de � pageviews tales
que G � 9^;, ^<, … , ^A? y un conjunto de _ transacciones de usuario tales que
` � 9a;, a<, … , ab?, donde cada a� � ` es una secuencia de longitud [ de pares con la
siguiente forma:
a � B\^;c , d�^;c�], \^<c , d�^<c�], … , �^ec, d�^ec��E,
Donde cada ^�c � ^�para 1 f � f � y d�^�c� es el peso asociado al pageview ^�c en la
transacción a.
Los pesos asociados pueden calcularse de muchas formas, p.e. en Collaborative
Filtering se calculan en base a la puntación que le da el usuario a un ítem concreto.
Uniendo varias transacciones de usuario podemos calcular CDI���� a partir de
d�^�c�, ya que según nuestra representación cada �� corresponde con un pageview.
[130]
1.2. Transformación de Datos
Figura 32. La Transformación de Datos dentro del Preprocesado de Datos. (Mobasher, 2007)
Tras un proceso básico de procesamiento de datos de Clickstream, los datos que
caracterizan los ítems a tratar y que provienen de distintas fuentes deben
integrarse para formar un único conjunto de conocimientos. La integración de
datos de usuario, contenido – posiblemente semántico – o estructura en esta fase
puede ser esencial para el éxito de los patrones descubiertos en las
recomendaciones a realizar.
En este punto también pueden aplicarse diversas técnicas de FSS (Feature Subset
Selection o Selección de variables) para así extraer p.e. los rasgos relevantes de los
textos o metadatos tratados de cada ítem.
Siguiendo con nuestra representación matemática, solo nos quedaría definir la
representación de cada ítem �� , el cual se define como un vector k-dimensional de
atributos, donde k es el número total de atributos extraídos de todos los ítems.
Cada dimensión del vector representa el correspondiente peso del atributo
asociado a dicha dimensión para el ítem tratado. El vector tendría, por tanto, la
siguiente estructura:
�� � Bgd��g;�, gd��g<�, … , gd��gI�E,
Donde gd��gh� es el peso del atributo d-ésimo en el ítem �� � @ para 1 f i f j.
[131]
Los vectores de atributos extraídos del contenido textual de páginas suelen ser
vectores de pesos de palabras denominados bag-of-words, y el peso se suele
calcular con la medida normalizada tf.idf. Además en estos casos se suelen aplicar
técnicas de Text Mining. Más información sobre esta técnica se encuentra
disponible en el apartado 2.1 del capítulo 12.
3. Descubrimiento de Patrones
Las técnicas de recomendación, en especial las basadas en Collaborative Filtering,
utilizaban dos fases para realizar las recomendaciones:
1. En modo offline se utilizan los datos recogidos en las interacciones previas
del usuario para general modelos explícitos, los cuales son utilizados para
realizar recomendaciones en futuras interacciones online.
2. Los datos utilizados en la sesión actual del usuario son valorados en tiempo
real con los modelos generados en la fase primera, y las recomendaciones
se basan en dichas valoraciones.
En el apartado 3.1 veremos la aproximación utilizada generalmente en las técnicas
basadas en Collaborative Filtering, ya que estas aproximaciones son unas de las
más utilizadas. En el apartado 3.2 nombraremos y referenciaremos otras técnicas
utilizadas también en Collaborative Filtering, las cuales no son tan importantes
para el desarrollo de este proyecto, aunque merecen ser nombrarlas. En el capítulo
12 veremos otras técnicas de descubrimiento de patrones, esta vez, las que se
aplican a sistemas de recomendación basados en el contenido.
3.1. La personalización basada en métodos de Clustering
Las técnicas de Clustering se basan en dividir el conjunto de datos en grupos o
clústeres. Esta división trata de minimizar las diferencias entre los datos miembros
de un clúster y de maximizar las diferencias entre los clústeres. En la siguiente
figura se toma como diferencia entre los datos la distancia entre los mismos. Como
[132]
podemos observar los 5 grupos están bastante distanciados unos de otros, y los
elementos de cada grupo están bastante unidos entre sí.
Figura 33. Ejemplo de Clustering (5NN) basados en la distancia entre los individuos.
Según (Han et al, 2001), los métodos de Clustering pueden dividirse en tres
categorías:
• Métodos de partición (Partitioning methods), los cuales crean k-
particiones del conjunto de datos, y cada partición representa un clúster. El
método más utilizado es el algoritmo de las k-medias.
• Métodos jerárquicos (Hierarchical methods), los cuales usan o una
aproximación top-down (divisiva) o bottom-up (aglomerativa). Los
métodos divisivos toman al conjunto entero de datos como un único clúster
y recursivamente lo van dividiendo, mientras que los métodos
algomerativos empiezan con los ítems como individuos e iterativamente
van combinándolos formado diversos clústeres.
• Métodos basados en modelos (Model-based methods), los cuales generan
clústeres basándose en modelos matemáticos.
Como se ha comentado en reiteradas ocasiones, este tipo de algoritmos se utilizan
generalmente en sistemas de recomendación basados en Collaborative Filtering.
[133]
En este tipo de sistemas se utiliza el Clustering de una de las dos siguientes
maneras:
� Clustering basados en usuarios (User-based Clustering), donde los perfiles
de todos los usuarios son almacenados en la matriz UP.
� Clustering basados en ítems (Item-based Clustering), donde los ítems son
clusterizados basándose en la similitud de las valoraciones dadas por todos
los usuarios o basándose en la similitud entre los atributos de los mismos.
En la actualidad se están estudiando las formas de lidiar las limitaciones de estos
sistemas expuestas en el apartado 2.3 del capítulo 10. Esto es, intentar mejorar la
eficiencia y la escalabilidad de dichos sistemas en las tareas de personalización en
tiempo real.
También está demostrado que un correcto preprocesamiento de datos puede
ayudar a la eficacia del sistema de recomendación.
Por último, comentar que se están realizando investigaciones en Fuzzy Clustering
para intentar mejorar las predicciones.
3.2. Otros métodos utilizados en la personalización
En (Mobasher, 2007) también se explican otros métodos utilizados en la
personalización, para más información sobre ellos se recomienda leer dicho
capítulo. Dichos métodos son los siguientes:
� Técnicas de descubrimiento de reglas de asociación (Association rule
discovery techniques)
� Modelos de variable Latente (LVM o Latent Variable Models)
En dicho capítulo también se comenta que los modelos presentados hasta ahora en
la sección 3, presentan dos problemas que necesitan ser solucionados:
[134]
• Estos modelos no toman en cuenta el problema del nuevo ítem (new ítem
problema), el cual enuncia que los ítems nuevos añadidos a un sistema no
pueden ser recomendados dado que nadie los ha valorado.
• Los modelos no realizan análisis semántico de los contenidos a recomendar.
Para superar dichos problemas, Mobasher propone los modelos híbridos, los
cuales suelen ser habitualmente una combinación de las técnicas utilizadas en los
sistemas de recomendación basados en el contenido y las de Collaborative
Filtering. En dicho artículo se presenta una descripción más detallada de esta
técnica.
4. Evaluación de los Modelos
En cualquier aplicación que haga uso de técnicas de Data Mining es importante
que, después de la creación de los modelos a utilizar como marco en la
personalización, sea evaluada su precisión y efectividad. La evaluación de los
modelos puede ser dificultosa en este dominio debido a lo siguiente:
• Cada modelo requiere una métrica distinta de evaluación.
• Las tareas de personalización varían considerablemente dependiendo del
dominio subyacente, la aplicación a utilizar y el tipo de datos a recomendar.
• Existe una considerable falta de consenso entre los investigadores y los
profesionales del sector en la definición de calidad del servicio de
recomendación.
Las técnicas más utilizadas para evaluar los modelos son MAE, métricas de
clasificación y métrica ROC.
La técnica MAE (Mean Absolute Error o Error medio absoluto) trata de
evaluar el modelo midiendo la diferencia media entre las valoraciones
realizadas en los ítems por el sistema y las valoraciones introducidas por el
usuario. Este sistema no funciona correctamente en valoraciones no
numéricas.
[135]
Las métricas de clasificación que se utilizan para realizar la evaluación
son dos muy utilizadas: Precision y Recall. Precision calcula la probabilidad
de que un ítem recomendado sea relevante y Recall la probabilidad de que
un ítem relevante sea recomendado. Esto funciona tanto en valoraciones
numéricas como no numéricas.
La métrica ROC es una medida la cual es capaz de distinguir entre las
conclusiones importantes del comportamiento de un sistema y el ruido que
suele acompañar a todo conjunto de datos.
Como se ha comentado anteriormente, no existe consenso en la definición de
calidad, p.e. un sistema que sólo recomienda los ítems más populares puede ser
eficaz respecto a los métodos de evaluación, sin embargo, alguien puede
argumentar que esos ítems no son particularmente interesantes para cubrir las
necesidades de los usuarios del sistema. Por ello se han definido nuevos conceptos
como p.e. Usabilidad. La usabilidad mide la utilidad de un ítem recomendado en
términos de las necesidades de uno o varios usuarios.
[137]
CAPÍTULO 12. SISTEMAS DE RECOMENDACIÓN BASADOS EN EL
CONTENIDO
Abstract. Como hemos ido avanzando anteriormente, el escenario más usual en el que se da
la recomendación basada en personalización es en las aplicaciones web. Estas aplicaciones
suelen funcionar del siguiente modo: presentan un resumen o lista de ítems entre los cuales el
usuario debe escoger uno o varios para interactuar de algún modo con el/ellos. En el
capítulo 10 hemos visto que existen distintos tipos de aproximaciones para realizar esta
labor, entre las que se encuentra los sistemas de recomendación basados en el contenido.
Estos sistemas son los que van a ser tratados en este capítulo.
Los sistemas de recomendación basados en el contenido necesitan que la aplicación web
contenga una descripción en formato textual por cada ítem para desarrollar su tarea.
Basándose en esta descripción, el sistema identificará al ítem descrito como interesante o no
para el usuario activo. Posteriormente veremos que esta característica es a la vez la mayor
limitación de estos sistemas.
Antes de estudiar las limitaciones de estos sistemas veremos, además, la representación
realizada de los ítems junto con la labor de la minería de textos en esta tarea, la
representación de los perfiles de usuario, los algoritmos de clasificación más utilizados y
describiremos brevemente algunos ejemplos de estos sistemas.
Por último, comentar que nos centraremos en sistemas de recomendación de páginas web, ya
que son los importantes desde el marco del proyecto. Por tanto, los ítems serán páginas webs
o contenido textual disponible en el World Wide Web. Este documento se basa en lo escrito en
artículo (Pazzani et al, 2007).
Keywords. Content-based filtering systems, Text Mining, Data Mining, User Profiles, Machine
Learning.
1. Representación de los Ítems
Los ítems a recomendar suelen estar contenidos en bases de datos o ser los
contenidos de páginas webs. Los datos contenidos en bases de datos se suelen
extraer en tiempo real para generar el contenido de páginas webs dinámicas. Esto
[138]
nos hace clasificar los datos en dos tipos: Datos Estructurados y Datos No-
Estructurados.
Los ítems con Datos Estructurados (Strutured Data) son aquellos que se definen
por un número pequeño de atributos, los mismos para cada ítem, y dichos
atributos tienen un conjunto de valores conocidos. En estos sistemas, la creación
de perfiles de usuario con los algoritmos de Machine Learning es bastante sencilla.
La figura siguiente muestra un ejemplo de datos estructurados.
Figura 34. Ejemplo de una base de datos con datos estructurados sobre los trabajadores de una determinada
empresa.
En este ejemplo, los ítems serían los trabajadores, los cuales son definidos por
nueve atributos que tienen valores bastante determinados.
Los ítems con Datos No-Estructurados (Unrestricted Data) suelen corresponderse
con el contenido de páginas web o con bases de datos que contienen grandes
cantidades de datos textuales escritos por los seres humanos, p.e. artículos de
noticias, etc. En este caso, la creación de perfiles es algo más compleja, ya que entra
[139]
en juego el procesamiento del lenguaje natural y problemas como las palabras
polisémicas – palabras con más de un significado – o sinónimos – conjuntos de
palabras que tienen el mismo significado –. En la figura 35 se presenta un ejemplo
de Datos No-Estructurados.
Muchos sistemas de recomendación trabajan con ambos tipos de datos, aunque
generalmente se tiende a transformar los datos no-estructurados en estructurados
a la hora de ser utilizados por algoritmos de Machine Learning, a esta técnica se le
denomina Text Mining. Para ello se utiliza técnicas de stremming – creación de
términos que reflejan un significado de común p.e. mujer, chica, señora,… - para
posteriormente aplicar medidas de relevancia a dichos términos como p.e. tf.idf
(term-frecuency times inverse document frequency).
1.1. Text Mining
Text Mining es la aplicación de técnicas de Data Mining en bases de datos textual
para extraer conocimiento de dicha información. Antes de concentrarnos en
nuestro escenario, hay que decir que existen numerosas aplicaciones de esta
técnica de extracción de información de documentos textuales que no están
relacionadas con la web.
El tipo de representación de los ítems más utilizada en Text Mining e
Information Retrieval es la representación vectorial, comúnmente denominada
como representación de bolsa de palabras, en inglés bag-of-words. En esta
representación se extraen todas las palabras de un texto dado sin ningún tipo de
orden entre ellas ni representación de la estructura formada en el texto. Un
conjunto de varios documentos, se suelen representar con bag-of-words por cada
documento y un bag-of-words del conjunto de documentos. La figura 35 muestra
como se realiza dicha extracción.
[140]
Figura 35. Representación de un texto no-estructurado mediante la técnica bag-of-words.
Posteriormente a esta representación se le aplican técnicas de stemming. Entre las
cuales destacan la famosa técnica de eliminación de las stop words, la cual consiste
en eliminar las palabras de un lenguaje que no caracterizan la información de un
documento como p.e. las preposiciones, los artículos, etc.
Por último, los documentos suelen ser representados como vectores de pesos de
los términos contenidos en dichos documentos. Para ello se suele utilizar tf.idf, que
es una técnica que calcula los pesos de las palabras en función del producto de la
frecuencia de dicha palabra en un texto y la inversa de la frecuencia de dicha
palabra en todos los textos del conjunto. Esta medida viene a expresar la medida
en que esa palabra diferencia al documento activo del resto de los documentos del
conjunto a analizar.
Uno de los problemas de esta representación es que no utiliza el contexto en el que
es usada una palabra, es decir, pierde las relaciones existentes entre las palabras
de un documento.
[141]
Para solventar esto, se están empezando a utilizar técnicas de representación que
trabajan con conjuntos de palabras, dichas conjuntos se llaman n-grams, donde n
es el número de palabras por conjunto. En otras investigaciones se introduce la
representación de información extra por cada palabra como p.e. estructura de la
oración, la posición de la palabra o las palabras vecinas.
En las siguientes figuras se muestra una tabla extraída de (Mladenic, 1999) que
expresa la representación de documento, la selección de variables y el método
clasificatorio que se utilizaban en los principales artículos sobre Text Mining hasta
dicho año.
[142]
Figura 36. Representación de documento, selección de variables y método clasificatorio utilizados en algunas
de las aproximaciones de Text Mining publicadas. PARTE I (Mladenic, 1997)
[143]
Figura 37. Representación de documento, selección de variables y método clasificatorio utilizados en algunas
de las aproximaciones de Text Mining publicadas. PARTE II (Mladenic, 1997)
2. Perfiles de Usuario
El perfil de usuario utilizado por este tipo de sistemas se concentra en dos tipos de
información:
1. Un modelo de las preferencias del usuario. Esto es una descripción de
los tipos de ítems que interesan al usuario. Existen muchas alternativas de
[144]
representación, pero la más utilizada es el almacenamiento de los n ítems
más valorados por el usuario para así, a la hora de recomendar, realizar una
comparación entre estos y los disponibles, y ver si son o no parecidos.
2. Un historial de las interacciones del usuario con el sistema de
recomendación. Existen numerosas representaciones de este tipo de datos
como por ejemplo guardar un log de los ítems vistos en la misma sesión o
almacenar las consultas realizadas. Aunque no existe un método por
excelencia de extracción de esta información es importante extraerla, ya
que así el sistema puede presentar los ítems visitados si el usuario quiere
acceder a ellos, o filtrar el contenido eliminando los ítems ya visitados. Sin
embargo, la razón más importante es la de tomar dichos ítems como datos
de testeo del algoritmo de clasificación utilizado.
Es importante, que estos sistemas también permitan introducir información de
forma manual (user customization), ya que esto puede solventar grandes
problemas cuando los intereses del usuario cambien repentinamente.
La creación de un modelo de preferencias de un usuario a partir de los datos
explicados anteriormente es una forma de clasificación que puede ser resuelta con
técnicas de Data Mining. El conjunto de datos de testeo se divide en dos categorías:
“ítems que le gustan al usuario” e “ítems que no le gustan al usuario”. Para
aprender el modelo además se utilizarán diversos datos explícitos e implícitos. Los
datos explícitos son aquellos que son introducidos directamente por el usuario,
mientras que los implícitos son aquellos que se derivan del comportamiento del
usuario y no tienen porque corresponderse con la realidad. Por ejemplo, si un
usuario introduce un ítem a su carrito en una web de compras y posteriormente lo
saca, ¿significa que al usuario no le gusta dicho ítem?
En el próximo apartado vamos a describir las técnicas de Data Mining utilizadas
para aprender los perfiles de usuario.
[145]
3. Algoritmos de clasificación
Los algoritmos de aprendizaje de clasificación son el componente clave en este tipo
de sistemas, ya que aprenden los intereses del usuario activo, es decir, aprenden
una función que contesta a la siguiente pregunta:
Dado un nuevo ítem y un modelo del usuario, ¿el usuario estará interesado en dicho
ítem?
Las técnicas más utilizadas en aprendizaje de perfiles son algoritmos basados en
árboles y reglas, algoritmos basados en el vecino más cercano, algoritmos basados
en retroalimentación y métodos probabilísticos.
Como Árboles tenemos al ID3, el cual genera un árbol de clasificación
particionando recursivamente el conjunto de datos de entrenamiento, que en este
caso son documentos textuales, en subgrupos hasta que las instancias contenidas
en los mismos pertenezcan únicamente a una clase. Los árboles no son la opción
más adecuada para las tareas de clasificación de datos no estructurados, ya que
estos datos contienen gran cantidad de atributos, y está demostrado que este
algoritmo funciona mejor con instancias con pocos atributos. Como algoritmos
inductores de Reglas tenemos a RIPPER, el cual opera de forma muy parecida al
ID3 y posee también sus limitaciones.
Los algoritmos basados en los k vecinos más cercanos simplemente almacenan
todas las instancias. Para clasificar una nueva instancia, la comparan con todas las
almacenadas y seleccionan las k más cercanas. Al estar representados los
documentos como vectores se suele calcular la cercanía con funciones de similitud,
p.e. la similitud del ángulo del coseno. Esta técnica es apropiada cuando queremos
descubrir la similitud de dos o más documentos que tratan de un mismo tema, sin
embargo, no es muy apropiada cuando los documentos tratan de distintos temas.
Los métodos de Relevance Feedback (Relevancia de la retroalimentación) se
basan en ayudar a los usuarios a refinar sus consultas basándose en los resultados
[146]
previos. La idea principal de estos métodos es la de permitir a los usuarios valorar,
de acuerdo con sus intereses, los documentos devueltos por un sistema de
recuperación de información. Uno de los más utilizados es el algoritmo de
Rocchio, tratado y referenciado en este proyecto en el capítulo 9.
Por último, tenemos los métodos probabilísticos. Entre ellos destaca el naïve
Bayes, el cual es utilizado en el sistema de recomendación Syskill & Webert
(Pazzani et al, 1997). En el siguiente apartado realizaremos una breve descripción
de dicho sistema.
4. Ejemplos de sistemas que implementan esta técnica
Existen numerosos ejemplos de estos sistemas, entre los cuales destacan los que
aparecen en la Figura 38.
En este punto es necesario decir que en numerosas ocasiones estos sistemas son
tratados correctamente como Agentes Inteligentes, ya que son sistemas
autónomos que asisten a los usuarios. El único problema es que la definición dada
en este campo a los Agentes Inteligentes, no es correcta desde el punto de vista del
área que estudia dichas sistemas. Sin embargo, el uso de dicha definición en esta
área en particular es totalmente legítimo, ya que se adecúa con corrección a la
misma. Mdalenic define Agente Inteligente como sistemas de asistencia al usuario
que realizan recomendaciones utilizando técnicas de Data Mining y Machine
Learning.
Además Mdalenic establece que estos sistemas y las investigaciones que se basan
en ellos utilizan una intersección de las siguientes técnicas: Information Retrieval,
Machine Learning, Intelligent Agents e Intelligent User Interfaces.
En los siguientes apartados vamos a ver cinco ejemplos de estos sistemas, los más
importantes de los estudiados por el autor del proyecto, a su juicio. Estos sistemas
son: Syskill & Webert, WebWatcher, el agente inteligente de Fuentes et al, Letizia y
NewsWeeder.
[147]
Los sistemas seleccionados por el autor corresponden a sistemas que asisten al
usuario mientras éste navega en la red para ayudarle a encontrar diversa
información relevante.
Figura 38. Aproximaciones de sistemas de recomendación basados en el contenido. (Mdalenic, 1999)
4.1. Syskill and Webert
En (Pazzani et al, 1997) se expone un sistema que determina si una página del
World Wide Web interesa o no a un usuario de acuerdo con un perfil de usuario.
Dicho sistema se denomina Syskill and Webert.
[148]
Figura 39. Interfaz de Syskill and Webert.
Este sistema representa los documentos como bag-of-words, pero en vez de utilizar
el peso de los mismos como es costumbre en este tipo de sistemas, utiliza un
vector de booleanos para expresar la presencia o no de un término en un
documento. Para realizar las recomendaciones utiliza un clasificador naïve Bayes
demostrando que este clasificador es capaz de aprender perfiles de usuarios y de
aumentar la eficacia de este tipo de sistemas.
4.2. WebWatcher
En el documento (Joachims et al, 1997) se propone WebWatcher, el cual es un
agente que asiste a los usuarios mientras navegan en la web. Los autores
establecen que navegar en la web es como visitar un museo y que estos sistemas
deben tomarse como guías turísticos que te enseñan la web según tus necesidades,
al igual que lo harían en un museo.
La recomendación se basa en la siguiente fórmula:
[149]
Donde el valor de LinkQuality es la probabilidad de que el usuario seleccione un
link determinado dada la página y el interés actual.
Figura 40. Interfaz de WebWatcher.
4.3. Agente de Rubén Fuentes y Juan Pavón
Rubén Fuentes y Juan Pavón proponen en (Fuentes et al, 2003) un sistema multi-
agente que recupera información especializada de la web, el cual se basa en el
aprovechamiento de la información específica del dominio en el que se sitúa al
usuario y en la personalización. Además este sistema es el único de los presentados
que hace uso de ontologías.
El algoritmo del funcionamiento del sistema es el siguiente:
1. El usuario plantea una consulta sobre su interfaz.
2. La consulta es enriquecida por el sistema con términos relacionados con la
consulta en el dominio objetivo.
[150]
3. La pregunta ampliada se traduce para ser trasladada a los motores de
búsqueda comunes de la web.
4. Las respuestas obtenidas de esas fuentes son sometidas a un doble filtrado.
a. Buscar en los documentos palabras relacionadas con el dominio de
interés. Se usan vectores de palabras con pesos adaptados al usuario
y dominio.
b. Análisis del texto de los documentos buscando en él los conceptos
del dominio. Se extrae información sobre el tema del documento
utilizando filtros específicos de ontologías.
5. Los documentos más importantes son propuestos al usuario como
respuesta.
6. Los documentos de la respuesta son analizados por el sistema para
encontrar términos que no están en su vocabulario y añadirlos.
4.4. Letizia
Henry Lieberman toma el nombre de uno de los personajes de la novela de Jorge
Luis Borges titulada La biblioteca de Babel para denominar a un sistema de
asistencia al usuario en la navegación web. Dicho sistema se presenta en
(Lieberman, 1995) y su importancia viene dada por ser uno de los pioneros en esta
área. Lieberman apuesta por dejar al usuario navegar libremente sin que ningún
sistema de recomendación le asesore. Éste establece que el asesoramiento
únicamente debe darse cuando el usuario no sabe qué camino debe tomar.
[151]
Figura 41. Interfaz de Letizia.
4.5. NewsWeeder
En (Lang, 1995) se presenta un sistema de recomendación de noticias basado en
los intereses de un usuario activo. Este sistema representa los ítems como un bag-
of-words y utiliza técnicas de similitud para establecer los ítems a recomendar,
dichas técnicas son dos: tf.idf y MDL (Minimum Description Length).
[152]
5. Limitaciones de estos sistemas
A pesar de que existen numerosas aproximaciones de sistemas de recomendación
basados en el contenido, ningún sistema de estos puede dar buenos resultados si la
descripción textual de los ítems no es suficiente o no existe.
Existen dominios textuales donde no sirve de nada aplicar estas técnicas, por
ejemplo, para recomendar poemas o chistes. Ningún sistema de los presentados
podrá jamás decidir si un chiste es o no gracioso, para estos dominios es más
recomendable utilizar otras aproximaciones como p.e. Collaborative Filtering.
Debido a estas limitaciones, el artículo (Pazzani et al, 2007) establece que para
conseguir mejores resultados, estos sistemas deben ser complementados con
técnicas como Collaborative Filtering.
[153]
CONCLUSIONES DE LA TERCERA PARTE
En este apartado se ha presentado una de las soluciones basadas en técnicas de
Data Mining que sirven para ayudar al usuario en el proceso de la búsqueda web.
Concretamente nos hemos centrado en los sistemas de recomendación basados en
el contenido, presente en el área Personalización Web.
Los sistemas de recomendación basados en el contenido parecen no usarse en la
actualidad, ya que no se han encontrado artículos sobre dichos sistemas con fecha
posterior al 2003. En la realización de este proyecto se han barajado muchas
razones por las cuales ya no se emplea esta técnica, algunas de ellas las mostramos
a continuación:
• Las limitaciones comentadas de estos sistemas en el capítulo 12, apartado 6.
Principalmente, puede deberse a que estas técnicas se hayan incluido en
sistemas de Collaborative Filtering.
• En (Schawab et al, 2000) se exponen algunos problemas de este tipo de
sistemas que juicio personal pueden haber propiciado su desaparición:
o El almacenamiento de la información requiere proveer a un sistema
informático datos personales, y muchos usuarios no están por la
labor de realizar esta tarea.
o Muchos de estos sistemas clasifican los ítems no visitados como
ejemplos negativos y esto puede ser peligroso. Esto pone de
manifiesto la utilización de técnicas de Data Mining no existentes en
los años en los que se propusieron estos sistemas, como p.e.
Algoritmos de Aprendizaje Semi-supervisado.
• Los intereses de los usuarios varían con el tiempo, y estos sistemas no están
preparados para tal efecto. Los documentos visitados en un pasado remoto
tienen el mismo peso que los visitados en un pasado cercano. Por tanto, es
necesaria la inclusión de algún tipo de indicador de intereses del usuario.
[154]
• Lieberman exponía que en aquellos años el trabajo con Agentes Inteligentes
para extraer información de la web se encontraba en su infancia. Es posible
que no existiesen técnicas suficientes para dar salida a dichos sistemas.
• Por último, comentar que al igual que los buscadores anteriores a 1998,
estos sistemas no realizan ni análisis semántico, ni tienen en cuenta los
enlaces entre los documentos, lo que produce que sean vulnerables al spam.
A pesar de su desaparición y grandes limitaciones creo que su estudio merece la
pena, ya que por primera vez se toma en cuenta las acciones pasadas de los
usuarios a la hora de asesorarle en la búsqueda, y personalmente creo que esto es
bastante adecuado. Nadie podrá negar que el ser humano es un animal de
costumbres.
A modo de conclusión, citar a (Mobasher, 2007) el cual dice lo siguiente: “Mientras
la investigación sobre la personalización ha dejado un número considerable de
algoritmos efectivos, todavía quedan un gran número de retos y preguntas sin ser
resueltas”. Esto viene a decir que, aunque algunos de los caminos emprendidos en
la Personalización Web se hayan cerrado, todavía quedan muchos abiertos
esperando a ser recorridos.
[155]
CONCLUSIONES DEL PROYECTO
Tras la realización de este proyecto, se podría concluir comentando algunas de sus
numerosas soluciones específicas, figuras, algoritmos, técnicas,… para, así, extraer
cierto conocimiento práctico de los datos propuestos, como p.e. cuál es la técnica
que mejor desempeña su labor dadas unas condiciones generales, o qué solución
es la más aceptada en el mundo científico,… Muchos autores realizan este tipo de
conclusiones y son totalmente legítimas, sin embargo, personalmente, quiero
realizar otro tipo de conclusión. Esto se debe a dos factores:
1. Debido a la gran cantidad de temas (muy diferentes entre sí) presentes en
esta memoria, es difícil escoger un conjunto de soluciones reducido para
realizar una conclusión.
2. Las soluciones vienen y van, sin embargo, las ideas subyacentes de los
trabajos realizados permanecen. Dichas ideas son en numerosas ocasiones
una fuente de inspiración tanto para la creatividad como para la ciencia.
Realizando este proyecto se han extraído numerosas ideas subyacentes, muchas de
las cuales son ya sabidas, aunque nunca viene mal recordarlas.
En primer lugar, la web es un dominio muy variable y complejo. Dada su
descentralización y la aportación continua de elementos por parte de un amplio
número de usuarios, cambia constantemente tanto de contenido como de forma.
Esto genera numerosas complicaciones a los análisis realizados sobre la misma,
además de al diseño de herramientas en dicho contexto. Por tanto, al diseñar una
herramienta debemos tener que en cuenta qué parte del dominio queremos tratar,
ya que intentar captar todo el dominio puede resultar prácticamente utópico.
[156]
Sin embargo, aunque parezca contradictorio, el mayor problema de la web puede
ser a la vez una de las mayores esperanzas en el mundo científico. En la actualidad,
la mayoría de los científicos dominan un conjunto amplio o reducido de técnicas
aplicables a distintos tipos de datos. Lo que realmente escasea, hoy en día, son los
dominios en los cuales aplicar dichas técnicas. El dinamismo de la web produce
que cada día aparezcan nuevos problemas a resolver y nuevos dominios a
explorar. Esto viene a decir que la web es una de las manos que da de comer a la
ciencia (nos referimos a las áreas concernientes a la Inteligencia Artificial), y que
los científicos simplemente tienen que buscar en ella posibles huecos donde
realizar sus investigaciones.
Si ya lo decía Albert Einstein: “Lo importante no es encontrar las respuestas
correctas, si no la pregunta correcta”. ¡Qué razón tenía!
El autor
[157]
REFERENCIAS
Baeza-Yates R. (2004) Excavando la web. El profesional de la información, vol.13, 1,
pp. 4-10.
Blachman N., Peek J. (2007) Google Guide: How Google Works.
http://www.googleguide.com/google_works.html, Google tips, tricks, & how
Google works.
Brin S., Page L. (1998) The Anatomy of Large-Scale Hupertextual Web Search
Engines. Seventh International World Wide Web Conference (WWW7) / Computer
Networks, 30, pp. 107-117.
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, pp. 309-320.
de Kunder M. (2008) WorldWideWebSize.com – Daily estimated size of the World
Wide Web. http://www.worldwidewebsize.com/. Tilburg University, Holanda.
Doyle P. (1998) Search Methods. http://www.cs.dartmouth.edu/~brd/
Teaching/AI/Lectures/Summaries/search.html. Computer Science Department.
Stanford University.
Ellsworth J., Ellsworth, M.V. (1995). Marketing on the Internet: Multimedia
Strategies for the World Wide Web. New York: John Wiley & Sons. [Citado por:
Moreno Jimenez P.M., 2005]
[158]
Figuerola C.G., Alonso Berrocal J.L., Zazo Rodríguez A.F. (2000) Diseño de un
motor de recuperación de la información para uso experimental y educativo.
Facultad de Documentación, Universidad de Salamanca
Fuentes Fernández R., Pavón J. (2003) Agentes para la recuperación de
información especializada en Internet. Facultad de Informática de la Universidad
Complutense de Madrid, Madrid.
Gruber T. (1993). A Translation Approach to Portable Ontology Specifications.
http://www-ksl.stanford.edu/kst/what-is-an-ontology.html
Han J., Kamber M. (2001) Data Mining: Concepts and Techniques. Morgan
Kaufmann, San Francisco, CA. [Citado por Mobasher, 2007]
Joachims T., Freitag D., and Mitchell,T. (1997) WebWatcher: a tour guide for the
world wide web. In Proceedings of International Joint Conference cial Intelligence
(IJCAI), volume 1, pages 770 - 777. Morgan Kaufmann publishers Inc.: San Mateo,
CA, USA.
Kleinberg, J. M. Authoritative sources in a hyperlinked environment. Journal of the
ACM, 1999, p. 668-677.
Kohavi R., Provost F. (2001) Applications of data mining to electronic commerce.
Data Mining and Knowledge Discovery, 5 [Citado por Mobasher, 2007]
Lang K. (1995) NewsWeeder: Learning to Filter Netnews. Proceedings of the
Twelfth International Conference on Machine Learning (ICML '95), pp 331-339,
San Francisco, CA, USA, 1995.
Lara Navarra P., Martínez Usero J. A. (2004) Agentes Inteligentes para la
recuperación de Información. BARCELONA: Planeta UOC S.L. ISBN: 84-9707-571-4
Lieberman H. (1995) Letizia: An Agent That Assists Web Browsing. In Proceedings
of the Fourteenth International Joint Conference on Artificial Intelligence (IJCAI-95),
[159]
pp924-929, Montreal, Quebec, Canada, 1995. Morgan Kaufmann publishers Inc.:
San Mateo, CA, USA.
Liu B. (2006a) Information Retrieval and Web Search. En Liu B., Web Data Mining
(pp. 183-236), Springer.
Liu B. (2006b) Link Analysis. En Liu B., Web Data Mining (pp. 237-271), Springer.
Markoff J. (2005) In Silicon Valley, a Debate Over the Size of the Web. The New York
Times, August 15, 2005.
Méndez Rodríguez E.M. (1999) Sistemas de búsqueda y recuperación de
Información, Universidad Carlos III de Madrid.
Mladenic D. (1999) Text learning and related intelligent agents. IEEE Expert,
July/August 1999.
Mobasher B. (2007) Data Mining for Web Personalization. En Brusilovsky P., Kobsa
A., Nejdl W. (Eds.). The Adaptive Web, Methods and Strategies of Web
Personalization. Springer, ISBN: 978-3-540-72078-2.
Moreno Jiménez P.M. (2005) Estrategias y mecanismos de búsqueda en la web
invisible. http://biblio.colmex.mx/recelec/web_invisible.htm. Biblioteca Daniel
Cosío Villegas, El Colegio de México A.C.
Noy N., McGuiness D. (2000) Ontology Development 101: A Guide to Creating Your
First Ontology. http://protege.stanford.edu/publications/ontology_development/
ontology101-noy-mcguinness.html
Pazzani M., Billsus D. (1997) Learning and Revising User Profiles: The
Identification of Interesting Web Sites. Machine Learning, 27(3), pp313-331.
Pazzani M., Billsus D. (2007) Contend-Based Recommendation Systems. En
Brusilovsky P., Kobsa A., Nejdl W. (Eds.). The Adaptive Web, Methods and Strategies
of Web Personalization. Springer, ISBN: 978-3-540-72078-2.
[160]
Rocchio J.J. (1971) Relevance feedback in information retrieval. The SMART
Retrieval System. Experiments in Automatic Document Processing, pp313–323.
Prentice Hall. [Citado por Figuerola C.G. et al, 2000]
Roman U., Alarcón L. (2005) Minería de uso de web para predicción de usuarios en
la universidad. Universidad Nacional Mayor de San Marcos, ISSN: 1815-0268.
Salton G. (1989) Automatic text processing: the transformation, analysis, and
retrieval of information by computer. Addison-Wesley. [Citado por Figuerola C.G. et
al, 2000]
Salton G., McGill M. (1983) Introduction to modern information retrieval. McGraw-
Hill. [Citado por Figuerola C.G. et al, 2000]
Schwab I., Kobsa A., Koychev I. (2000) Learning about Users from Observation.
AAAI 2000 Spring Symposium: Adaptive Use Interface.
SEOmoz Company Staff. (2006) A Little Piece of the Google Algorithm – Revealed.
http://www.seomoz.org/blog/a-little-piece-of-the-google-algorithm-revealed.
Serrano Cinca C. (2003) Encontrar información en el World Wide Web,
http://ciberconta.unizar.es/LECCION/BUSCAR/, Sistemas Informativos Contables.
Sherman C., Price G. (2001). The invisible Web. CyberAge Books. [Citado por:
Moreno Jimenez P.M., 2005]
SRU (2007) CQL: Contextual Query Language (SRU Version 1.2 Specifications).
http://www.loc.gov/standards/sru/specs/cql.html. Library of Congress, USA.
Wooldridge M., Jennings N.R. (1995) Intelligent Agents: Theory and Practice. The
Knowledge Engineering Review, 10, pp. 115-152.
Youngblood G. M. (1999) Web Hunting: Design of a Simple Intelligent Web Search
Agent. http://www.acm.org/crossroads/xrds5-4/webhunting.html Association for
Computer Machinery.
[161]
Yu P., Li X., Liu B. (2004) On the temporal dimension of Search. WWW 2004, May
17-22, 2004, New York, NY USA.
Zipf G. K. (1949) Human behavior and the principle of least effort: An introduction to
human ecology, Addison-Wesley. [Citado por Broder et al, 2000]
Las referencias bibliográficas incluidas son las más relevantes a juicio del autor y
sirven como punto de partida para ahondar en el tema.