Internet
publicado en noviembre 2006
buscadores y el problema de la búsqueda de contenidos

CC72T: Minería de la Web
El presente artículo, tiene por objetivo revisar la evolución de los buscadores de la web, mostrando el estado del arte en las actuales técnicas de búsqueda utilizada por los principales buscadores. Se mostrará el problema principal: el no conocer bien lo que el usuario busca en sus consultas. Y se mostrarán una serie de alternativas propuestas, acerca de formas en las que la búsqueda en web podría evolucionar.




Introduccion:

Internet es en la actualidad, la principal fuente de información utilizada por la sociedad, superando incluso a las tradicionales bibliotecas, dado su facilidad de uso y gran cobertura de contenidos. Más precisamente, la Worl Wide Web (''la web'') ofrece una cantidad enorme de información, de contenidos, imágenes, multimedios en general, disponibles para consulta de los millones de usuarios alrededor del mundo.

Esta gran base de datos, plantea un primer gran problema al usuario. La necesidad de poder localizar alguna información específica, dentro de este mar de datos dispersos. Cada usuario necesita en cada ocasión, obtener algún documento en particular, u obtener alguna información que solucione alguna necesidad concreta, ya sea ubicar un producto a comprar, ya sea encontrar algun dato acerca de algo, entre otras muchas posibilidades. Para realizar esta búsqueda de contenidos, existen los llamados ''buscadores'', sitios web dedicados a proveer de una interfaz adecuada que permita a cada usuario encontrar lo que busca. Más precisamente, lo que se hace es mostrar al usuario un pequeño subconjunto de la red, que se espera contenga la información o el recurso que necesita localizar.

Los buscadores han venido evolucionando con el avance de internet, desde simples catágolos en línea con colecciones de directorios, hasta avanzados sistemas de catalogación de páginas web, capaces de almacenar la información de la mayoría de las páginas web de toda la red. Esta evolución es lo que se presenta a continuación: la historia de los buscadores.



Historia:

La necesidad de realizar buenas búsquedas ha sido la consecuencia inmediata del crecimiento de la web, y la gran cantidad de información que existe. Hacia los inicios de la WWW, las herramientas de búsqueda fueron una gran ayuda para el navegante, ya que permitían llegar de una u otra manera a contenidos deseados, pero con ubicación desconocida. Para acceder a aquellos contenidos, existían dos maneras de buscar: navegando a través de directorios, o utilizando palabras claves para explorar los recursos disponibles.

Entre aquellas primeras herramientas de búsqueda, aparece un sistema llamado Archie (desde 1991), un programa computacional que mantenía un listado de bases de datos de documentos en servidores ftp alrededor del mundo. El usuario lo que hacía era una búsqueda sobre esos registros, y se le presentaba un listado con los resultados. Sin embargo, ese listado sólo mostraba un índice de documentos, no guardaba el contenido de éstos en su base de datos. La otra herramienta conocida por aquellos tiempos, fue VERONICA, que permitía realizar búsquedas sobre el protocolo Gopher. La metodología utilizada en este caso, consistía en presentar una secuencia de menúes donde el usuario navegaba desde un punto de entrada. La ventaja de este método era que el propio usuario iba dirigiendo su búsqueda a través de los menúes, hasta llegar a visualizar el texto deseado (alguna de las hojas del árbol de navegación).

Por otro lado, un nuevo protocolo, la World Wide Web aparecía como la opción que ganaría finalmente el protagonismo del mundo Internet. Hacia 1993, se convertiría en la principal fuente de recursos de la Internet. Ahora, el problema era realizar búsquedas sobre este nuevo universo en expansión. El primer mecanismo surgido en las universidades, fue el de los robots de búsqueda (''bots''), que basaban sun funcionamiento en una exploración de los servidores siguiendo hiper-enlaces, y guardando información de lo que encontraban a su paso. En el MIT se desarrolló Wandex, un robot de búsqueda desarrollado en perl, cuya principal novedad fue la de recolectar url's de páginas, permitiendo buscar por palabras claves sobre el índice que actualizaba con cada tour por la web. Sin embargo, esa búsqueda se realizaba sólo sobre los títulos de las páginas, no sobre su contenido. Hacia 1994, aparece Aliweb (Archie Like Indexing for the Web), el primer directorio de la web, que consistía en una recopilación de sitios, que eran inscritas por sus creadores. En este caso, lo que presentaba era una búsqueda de calidad, pero sobre un pequeño subconjunto de la red completa. Otros robots surgidos por la época, fueron JumpStation y el World Wide Web Worm, pero sólo recopilaban títulos o algunos metadatos de las páginas.

En 1994, aparecen los primeros spiders (otra denominación para los robots) de búsqueda completa, es decir, no sólo guardaban metadatos de los sitios, sino que almacenaban el contenido de cada una de las páginas visitadas. El primer buscador en utilizar esta forma de recopilación, fue WebCrawler, de la universidad de Washington (WebCrawler se podría considerar el primer buscador contemporáneo). Tenía la particularidad que sus resultados eran listados en orden de importancia (según el grado de calce con la búsqueda realizada). Posteriormente, aparecerían InfoSeek, Excite, que utilizaban métodos similares de búsqueda. Otros sitios que surgirían, son por ejemplo, Inktomi, Magellan y HotBot, este último, uno de los más poderosos de su época, por la capacidad de indexar gran parte de la web de ese momento. Un último experimento fue Ask-Jeevs, que permitía hacer búsquedas utilizando lenguaje natural, aunque en realidad sólo se trataba de convertir esas consultas en una colección de palabras claves. Estos buscadores constituyen los principales sitios de búsqueda de la primera generación de buscadores web, como se conocen hoy en día. Por otro lado, surgieron también algunos directorios por categorías (el otro tipo de búsqueda que era posible realizar). Uno de los primeros sería Yahoo!, que vió la luz en 1994, creado por David Filo y Jerry Yang, de la universidad de Standford. Este directorio nació como una recopilación manual de páginas web, asignando una categoría a cada una, lo cual implicaba una forma de buscar completamente diferente. El problema era que su crecimiento era relativamente lento. Este sitio se haría sin embargo, popular, debido a los servicios que ofrecería con el tiempo. Otro directorio de similares características lo constituiría el Open Directory Project, el cual en la actualidad es la base del directorio que utiliza el buscador Google.

La última etapa en esta historia, comienza con la aparición de Google, en 1996. Creado en la universidad de Stanford, por Larry Page y Sergey Brin, nació como un proyecto de investigación donde se intentó abordar el problema de la calidad de los resultados entregados por los buscadores. Se quería encontrar una manera de evaluar la calidad de una página web. La idea que se abordó, fue la de definir la popularidad de una página, en función del número de páginas que apuntan a ella. De esta manera surge el Page-Rank, como una manera de rankear las páginas web, lo cual permitiría revolucionar la forma en que los buscadores catalogan sus resultados. El sitio de Google alcanzó un rápido éxito, no sólo por la calidad de sus búsquedas, sino tambien por la simpleza de su interfaz, y el hecho de no ensuciar sus resultados con avisos comerciales invasivos. A partir de ese momento, los buscadores pasarían a considerar esta idea de una u otra forma en sus métodos de búsqueda. De esta manera, surge por ejemplo, AllTheWeb (1999), un buscador que ofrecía una metodología de búsqueda similar a Google, pero no alcanzó gran popularidad. Posteriormente sería comprado por Overture, y éste a su vez, por Yahoo. Otro buscador que surgió posteriormente, fue Teoma, que propuso una alternativa al page-rank, el expert-rank, y organizaba los sitios web usando un sistema de clustering.


El Presente:

En la actualidad, los buscadores más populares son sin duda, Google y Yahoo!, a los cual se les podría unir MSN-Search. Pero además, aún existen muchos de los buscadores clásicos, que han intentado ofrecer otras alternativas, con servicios especiales, o incluso, proponiendo nuevos algoritmos de búsqueda, que muchas veces sólo son refinamientos de la tecnología inventada por Google. Así, sobreviven sitios como AllTheWeb, AOL o HotBot, además de nuevos buscadores que han aparecido recientemente: GigaBlast o WiseNut.

Las alternativas actuales apuntan más a ofrecer otra clase de búsquedas, por ejemplo, los metabuscadores, que recogen resultados en distintos motores de búsqueda, y los presentan al usuario en una misma consulta. Actualmente WebCrawler es uno de estos sitios. Otro caso, son los directorios por categorías (como lo fue Yahoo! en un comienzo). Incluso Google tiene un servicio de búsqueda en directorios. El problema de estos sistemas, es que la categorización es realizada por humanos, lo que impone un cuello de botella para el número de páginas que puede ser indexada. Una solución a este último problema, ha sido abordada por el Open Directory Project, donde la categorización es realizada por miles de voluntarios alrededor del mundo, formando una comunidad que colabora en la elaboración de este índice.

Un desafío en la actualidad surge en disponer métodos de búsqueda sobre los nuevos contenidos que se están imponiendo en la red. Es el caso de los videos, imágenes o sonidos. En general, realizar búsquedas sobre éstos medios implica el uso de metadatos, los cuales aportan información de manera externa a cada documento almacenado, por ejemplo, utilizando tags. Este es otro tema, ya que se trata en general de universos más reducidos (repositorios, comunidades), que recién se están configurando, lo que plantea la oportunidad de definir una red de contenidos pensando, a priori, en las formas de recuperar los mismos.

Los dos principales casos de estudio, en el presente, lo constituyen los buscadores Google y Yahoo!. Son los principales puntos de entrada a la red, en la actualidad.

GOOGLE:

Google, es el ejemplo canónico de un buscador en la actualidad. Como fue mencionado anteriormente, su teconología ha impuesto casi un estándard en los buscadores utilizados hoy en día. Esta tecnología se basa en el uso del Page-Rank, tecnología desarrollada por sus creadores, como una forma de medir la calidad de los sitios web, con el fin de priorizar lo entregado al usuario que consulta (nota: no confundir con pigeon-rank). :-)

El Page-Rank de una página, corresponde a un indicador de importancia (o popularidad), que viene dado por el número, y calidad, de los enlaces que apuntan a ella. La idea es que una página tiene mejor ranking, mientras más páginas hacen referencia a ella (tienen links hacia dicha página). Sin embargo, el cálculo de esta cifra no es directo, sino que depende a su vez del page-rank de los otros sitios que apuntan a esa página. Para calcular el page-rank de estas páginas, es necesario seguir calculando recursivamente el page-rank del resto de los sitios. Finalmente, lo que se tiene es un cálculo que se realiza sobre todos los nodos del grafo que representa a la web.

De esta manera, Google se basa en la gran base de datos de páginas web, con los contenidos de cada página indexada, y la puntuación de popularidad de cada una. Sobre esta información se realizan las búsquedas que están detrás de los resultados del buscador.

YAHOO!:

Yahoo, que inicialmente era sólo un portal de búsqueda por directorios, con el tiempo agregó la funcionalidad de un buscador tradicional (búsqueda por palabras claves sobre la web), adoptando como motor de búsqueda al mismo Google. Esta situación cambió hace un tiempo, ya que Yahoo sacó a la luz un motor de búsqueda propio, basado en Inktomi (ahora conocido como Yahoo! Slurp). Este motor representa un cambio en la forma de definir la calidad de los resultados de las búsquedas, aunque se basa en el mismo principio usado por Google.

Esta búsqueda se apoya en el llamado Web-Rank, un sistema análogo al page-rank, en cuanto a medir la popularidad de las páginas web. Sin embargo, esa popularidad se mediría a partir de información entregada por la toolbar de yahoo, que permite registrar los accesos a las páginas web. Un servidor central recolecta estos hits (en forma anónima, no los asocia a perfiles de usuario), y así se tiene un registro de la popularidad de los sitios visitados por usuarios de yahoo. Mediante un sofisticado cálculo del web-rank, cada página obtiene una puntuación de 1 a 10, lo cual es finalmente utilizado para asignar relevancia a los resultados de las búsquedas.

Otra diferencia entre ambos motores, sería la forma en que se incluyen páginas en el índice. Al parecer, Slurp no profundiza tanto dentro de los sitios, y en general, es más dificil para una página cualquiera ser indexada por el motor. Por otro lado, le asigna importancia a los meta-tags (como los primeros buscadores), valorando mejor -aparentemente- a páginas que aporten meta-información sobre sus contenidos.

Un interesante experimento de comparación entre ambos motores de búsqueda, se puede observar en el siguiente enlace: Yahoo! vs. Google Results diagram

Ambos buscadores, en la actualidad, se encuentran desarrollando una amplia investigación en los temas de la búsqueda en la web. Cada uno de estos sitios ofrece un conjunto de alternativas novedosas, las cuales buscan satisfacer necesidades quizás específicas de algunos usuarios. Entre las alternativas disponibles, cabe mencionar: - Servicios de búsqueda sobre dominios específicos: Google News, Google Scholar, Google Blog Search, Google Finance - Google Froogle: búsqueda para realizar compras en internet. - Google Images, Google Video: para buscar sobre imágenes o videos directamente en la web. - Yahoo Answers: que permite formular una pregunta, y la respuesta es entregada por otros usuarios, de manera libre y abierta. - Yahoo Mindset: permite 'órientar'' la búsqueda de palabras claves, haciendo tener los resultados a sitios de información o de comercio electrónico.

Nota al margen: al buscar por {search}, en Google, se obtiene... :-)




El Problema:

Hasta aquí, todo muestra un excelente escenario: existe mucha información disponible en la web, existen buenos buscadores de contenidos, y existen muchos usuarios que utilizan dichas herramientas. Sin embargo, la realidad dista bastante de este marco teórico: los usuarios no saben buscar adecuadamente, los resultados entregados por los buscadores no necesariamente son lo que se busca cada vez, y muchas veces aparecen páginas de resultado que son sólo ruido.

El problema entonces, es el de poder satisfacer adecuadamente las necesidades de los usuarios, a partir de consultas mal hechas, sobre una gigantesca base de datos imperfecta.

Es aquí donde surge el interés por seguir indagando en el fenómeno de la web, recurriendo a las metodologías provistas por la Minería Web (web-mining). Por ejemplo, se desearía poder conocer de mejor manera la estructura de esta gran base de datos (minería de estructura), conocer con precisión los contenidos disponibles (minería de contenidos), y conocer las necesidades y requerimientos de los usuarios (minería de uso). El desarrollo actual de los buscadores se basa en gran parte en los avances de la minería de estructura, concretamente, el page-rank se basa en el estudio del grafo de la red. Por otro lado, la minería de contenidos intenta asegurar la calidad de los contenidos ofrecidos, y trata de que los resultados sean lo más cercanos posibles a lo buscado.

Y aquí aparece quizas el principal problema: cómo saber con exactitud lo que cada usuario busca en cada consulta? Existe ambiguedad tanto en lo que se ofrece, como en el contenido de la búsqueda (la query). Del lado de los contenidos, la opción es esperar los avances de la web semántica, con la esperanza de mejorar la descripción de los contenidos. Pero del lado del usuario, el desafío consiste en poder indagar en las preferencias y hábitos de los usuarios, en poder comprender la semántica de las mismas consultas, y en general, en poder complementar de alguna forma la información de las búsquedas. Por ejemplo, se puede realizar minería sobre las consultas, tratando de extraer lo que realmente se quiere buscar en cada query. O se puede realizar minería de uso, sobre la información de la navegación (logs) de los sitios web. El objetivo será el obtener la mayor cantidad de información, en principio oculta, a partir del comportamiento de los usuarios, tanto al navegar, como al buscar en la web.


Alternativas Propuestas:

A continuación, se exponen tres alternativas propuestas por el autor, sobre ideas que podrían sugerir formas de mejorar la experiencia de búsqueda de los usuarios. Lo interesante sería tener la oportunidad de llevar a cabo alguna de estas ideas en algún dominio acotado (por ejemplo, en las páginas de Chile, o en algún repositorio de multimedios), a través un un sitio de alto tráfico, que permitiera tener resultados que permitan validar la efectividad de cada experimento.

expansión semántica de la búsqueda Un primer problema real, que pasa muchas veces desapercibido, es el hecho de que las búsquedas se basan en coincidencia textual de palabras, sin tomar en cuenta la semántica de la búsqueda. Por ejemplo, se quiere buscar información sobre el embarazo en los gatos. Una opción simpre, y obvia, sería buscar por {gatas embarazo}, pero esto inmediatamente haría perderían gran parte de las páginas que hagan mención al término ''gata'', o ''gato'', así como el término ''preñez'' o ''preñada''. Una solución fácil a este problema, es el de utilizar varias palabras en una misma consulta, utilizando el operador OR. En este ejemplo, una mejor búsqueda sería buscar por {gata OR gatas OR gato embarazo OR preñez}. El problema de esta ''solución parche'', es que en la práctica son pocas las personas que toman en cuenta estos detalles, y en general, los usuarios asignan la responsabilidad de encontrar la respuesta correcta al motor de búsqueda, sin preocuparse de construir una buena consulta.

Una alternativa sería poder relajar la consulta, antes de ser consultada en la base de datos del motor. Por ejemplo, un módulo (que incluso podría ser una aplicación en el lado del cliente) podría tomar las palabras de la consulta, y previa búsqueda en un diccionario, expandir cada palabra por sus sinónimos. Lo mismo se podría hacer con las variantes de número o género. La idea sería, agregar una nueva capa, que sirva de traducción entre el lenguaje humano, y el sistema de búsqueda por palabras claves.

búsqueda con contexto. Otro problema que aparece, es el hecho de que los buscadores, en el caso general, desconocen a quien está buscando información en cada consulta. Por ejemplo, si un usuario buscara la palabra {vela}, podría significar que busca sobre deportes de vela (si fuera una persona joven o directamente deportista o vive en la costa), y podría significar también vela de cera (si fuera una dueña de casa que necesita velas para su hogar, o un artesano que trabaja con velas).

Una propuesta podría ser mantener de alguna manera información de los usuarios que consultan. Una primera opción sería la de obligar a los usuarios a registrarse en el sitio de búsqueda, completando formularios con información de cada uno al momento de inscribirse. Una segunda alternativa sería la de identificar de manera única a cada usuario, y deducir sus comportamientos o preferencias a partir de las consultas históricas que realice. La idea sería tener un conjunto de antecedentes sobre los usuarios que consultan a través del sitio de búsqueda.

De esta manera, teniendo información contextual de quienes buscan, se podría orientar los resultados de las búsquedas, incorporando estos indicadores de preferencias. Una versión simple de esto es la posibilidad de acotar las búsquedas a un país en particular (lo que es factible en la actualidad): ahí al menos, se deduce la nacionalidad de quien busca, o su dominio de interés. Otra solución simple, es la de colocar palabras auxiliares en la búsqueda, que desambiguen el significado de las palabras. Sin embargo, caemos nuevamente en el hecho de que los usuarios no están acostumbrados a realizar búsquedas complejas (los usuarios no saben buscar!!), y eso plantea la necesidad de obtener información adicional que complemente la obtenida explícitamente de la consulta, por ejemplo, usando la información contextual.

extrar metadatos por el uso. La web semántica representa un escenario ideal para realizar búsquedas de contenidos, ya que implica conocer perfectamente el significado de los recursos disponibles. Lamentablemente, el contenido semántico en la web actual representa una muy pequeña porción del total, lo que hace que hoy en día no tenga mucha utilidad basarse en este recurso.

El problema entonces, es el de la necesidad de dotar de contenido semántico a la web actual, por ejemplo, utilizando meta-datos (información sobre la información). La alternativa que surge aquí, es la de poder extraer información que permita agregar significado a las páginas web, a partir de las mismas consultas. Por ejemplo, se podrían establecer relaciones entre páginas, al ser visitadas bajo una misma sesión de consulta. O también, se podría utilizar información de las otras palabras de la búsqueda, que aporten información adicional sobre el significado del contenido presentado (la página). Una última opción, en conjunto con la anterior propuesta, sería la de nutrir, complementar la meta-información de cada sitio web, con la información referente a los usuarios que acceden a dichas páginas. En resumen, la idea sería la de extraer semántica para los sitios web, a partir de simple minería de uso, aplicada sobre los usuarios que acceden a cada sitio web.


Conclusiones

En el presente documento, se ha presentado una breve descripción del tema de los buscadores en internet, mostrando su evolución histórica, y describiendo sus dos principales representantes: Google y Yahoo!. Además, se plantea el problema de la búsqueda en internet, el cual se origina por el desconocimiento preciso tanto de los contenidos disponibles, como del real significado de las búsquedas. Se mencionó el papel de la minería web para abordar este problema, marcando énfasis en el estudio del comportamiento de los usuarios. Finalmente, se presentan algunas propuestas respecto a mejoras en las herramientas de búsqueda, enfocadas a aprovechar la información subyacente al proceso de búsqueda.


Referencias

  • Retrato de Google.
  • History of Search Engines
  • Google vs Yahoo! vs MSN Search
  • Google Technology
  • Frequently Asked Questions about Search Engines
  • Yahoo Web Rank
  • Wikipedia
  • Google , Yahoo   :-)




  • 0 comentarios

    no hay comentarios.



    nombre *

    e-mail *

    web

    2 x 4 = *




    En los últimos 15 años hemos visto el gran cambio que ha significado el crecimiento de Internet. En la actualidad los grandes temas que aparecen son la Web 2.0, las redes sociales y los contenidos generados por los usuarios. Mi relación con internet data de 1998, primero desarrollando páginas web personales, y posteriormente, trabajando en el desarrollo de aplicaciones web. Hoy, mi trabajo consiste en descubrir nuevas formas de extraer información desde la red, aplicando técnicas de la inteligencia artificial.