El profesional de la información


Mayo 1997

Cómo funcionan los servicios de búsqueda en Internet: un informe especial para navegantes y creadores de información (Parte I)

Por Lluís Codina

Cómo calculan la relevancia los servidores de búsquedas

Aunque cada robot específico emplea algoritmos distintos, todos tienen un principio de funcionamiento semejante. Como los ordenadores no pueden interpretar el sentido de las palabras, pero en cambio, pueden hacer operaciones aritméticas y lógicas a gran velocidad, la base del cálculo de relevancia es el número de pares de atributos comunes entre la necesidad de información y los documentos, lo cual se traduce en la práctica en el número de palabras comunes entre cada documento y la pregunta. Para esta exposición se ha utilizado sobre todo a Losee, Salton y Cheong (ver bibliografía).

En concreto, los procedimientos utilizados oscilan desde métodos ciertamente groseros hasta métodos de una ligera sofisticación. Un ejemplo indudable de los primeros consiste en utilizar simplemente el sumatorio del número de veces que aparecen, en cada documento, los términos de la pregunta. Por ejemplo, si la pregunta contiene dos términos, t1 y t2, por ejemplo: "Internet"y "periodismo", y el sumatorio del documento Di es igual a 10 y el del documento Dj, igual a 8, se considerará más relevante a Di, aunque sólo contenga ocurrencias de uno de los términos (pero un total de 10 veces) y Dj contenga ocurrencias de ambos términos (pero sólo 4 veces cada uno, con lo cual 4x2=8<10).

Hay otros algoritmos un poco más sofisticados que ponderan esos valores absolutos con el número de términos distintos de la pregunta presentes en el documento, o bien dando mayor peso a los términos que aparecen en secciones clave del documento, como el título o el primer párrafo del documento.

Finalmente, otro de los recursos más utilizados es otorgar un peso desigual a los términos. Es decir, en lugar de puntuar con un 1 o un 0 la presencia y la ausencia respectivamente de un término, se asignan valores situados entre 0 y 1, según la capacidad discriminadora del término. En efecto, parece más inteligente conceder un mayor peso discriminatorio a una palabra como "Alzheimer" por ejemplo, que a una palabra como "Información" o "Sistema" en una pregunta hipotética sobre "Sistemas de información sobre Alzheimer". Haga el lector la prueba.

Para calcular este valor discriminatorio, se suele utilizar una combinación de diversas medidas. La primera es la frecuencia del término (fT), definida como el número de veces, f, que aparece un término determinado, T, en la base de datos o en el espacio de búsqueda. La segunda es la llamada frecuencia del documento (fD) que es el número de documentos en los que aparece un término determinado. La tercera es la llamada frecuencia inversa del documento (fID) que se obtiene dividiendo el total de documentos N, de la base por la fD, lo que da la siguiente fórmula: fID=N/fD (este índice suele expresarse, por comodidad, como un logaritmo mediante: fID=log(N/fD)).

Finalmente, como algoritmo de ponderación se utiliza el producto de la frecuencia del término por la frecuencia inversa del documento, o sea fTxfID, es decir: fTxfID=fTxlog(N/fD).

De este modo, se pondera con un valor más alto a los términos de baja frecuencia global, es decir, que aparecen poco en el conjunto de la base de datos pero de alta frecuencia local ("Alzheimer" en el ejemplo anterior), y se pondera con valores bajos a los términos muy abundantes globalmente ("información" y "sistema" en el ejemplo anterior).

Lluís CodinaLos servidores de búsqueda en Internet son sistemas basados en la arquitectura cliente/servidor que caracteriza a Internet y que constan, en la parte servidor, de dos grandes subsistemas: un programa para localizar documentos y una base de datos para gestionar la información sobre ellos.

A su vez, la base de datos se divide en otras dos partes o subsistemas: un motor de análisis e indización y un sistema de consulta e interrogación. Un cuarto programa pasarela (gateway) sirve de unión entre el servidor web que gestiona las peticiones de información de los navegadores (el programa que usan los usuarios de la Red) y la base de datos que crea y gestiona los índices.

Finalmente, a los elementos precedentes, que se sitúan todos en el lado del servidor, es necesario añadir un quinto que se sitúa en el del cliente, y que es el único que interactúa directamente con el usuario: se trata del navegador, que es el programa que recoge las preguntas del usuario y las envía al servidor Http (el cual las envía a la base de datos a través del programa pasarela). El navegador, por ejemplo, Netscape o Explorer, recibe también las respuestas que envía al servidor de documentos web y las presenta al usuario.

Vemos así que un servicio de búsquedas como los mencionados (Lycos, AltaVista, etc.) contiene, por lo menos, las siguientes partes:

  • Primera: un programa que explora Internet (robot) para localizar documentos y direcciones de documentos.
  • Segunda: un sistema automático de análisis e indización de los documentos localizados por el robot.
  • Tercera: un sistema de interrogación. Esta parte incluye el lenguaje de consulta que está a disposición del usuario para expresar sus necesidades de información, así como un procedimiento para lanzar consultas al índice creado por el sistema anterior. Cabe recordar que esta tercera parte, junto con la anterior, forman la base de datos que está del lado del servidor.
  • Cuarta: un programa que actúa de pasarela entre el servidor de documentos html y la base de datos. Este programa está situado en el lado del servidor y es activado, por tanto, por el servidor cuando recibe la petición del cliente.

AltaVista está reputado, por ahora, como el mejor buscador de Internet. Es muy exhaustivo y proporciona el lenguaje más completo. Recomendable para iniciar cualquier búsqueda. En las avanzadas hay que señalar expresamente, sin embargo, las palabras por las que se desea la ordenación por relevancia, lo que resulta incómodo

Cómo actúan los robots

En general, un robot o un agente es un programa que goza de una cierta autonomía de acción y de capacidad de adaptación a su entorno, y cuyas acciones están guiadas por la persecución de determinados objetivos. Los usuarios o administradores de estos programas les señalan objetivos finales en lugar de proporcionarles procedimientos de acción detallados. En concreto, los robots o agentes de Internet son programas que, entre otras cosas, exploran periódica y continuamente la Red con el objetivo de localizar nuevos documentos. En cambio, otra clase de agentes, por ejemplo los así llamados BargainFinder Agents (agentes de búsqueda de ofertas) buscan servidores comerciales para comparar precios y efectuar las peticiones de compra más ventajosas en nombre de sus usuarios.

En nuestro caso, nos interesan exclusivamente los agentes que exploran la Red en busca de nuevos documentos. Esta clase de agentes suele recibir el nombre de spiders (arañas) o wanderers (vagabundos). Su actividad, grosso modo, se articula en la realización de tres grupos de operaciones:

  1. Creación de una lista de direcciones de ubicaciones web.
  2. Acceso y lectura de los documentos contenidos en las direcciones.
  3. Mantenimiento de la lista de direcciones.

Para realizar estas acciones, primero parten de una lista inicial de direcciones URL que ha sido compilada a mano por los administradores del robot. Posteriormente, esta lista se nutre de las inscripciones voluntarias que realizan los administradores de otras ubicaciones web y de los propios documentos localizados por el robot. En concreto, las inscripciones se realizan rellenando en línea unos impresos que ofrecen los servidores de búsquedas.

Excite es otro de los mejores buscadores. Es el que más y mejor información proporciona sobre sí mismo, es decir, sobre cómo realiza su trabajo de indización, cosa que siempre es de agradecer dada la parquedad de los demás. Además incluye un directorio jerárquico

En cualquier caso, utilizando la mencionada lista de direcciones, los robots acceden una a una a las páginas principales de cada ubicación web y leen las nuevas direcciones que encuentran en ellas, rastreando las etiquetas del lenguaje html que señalan anclajes hacia otros documentos. Todas estas direcciones pasan a formar parte de la lista original que se ve así incrementada continuamente con nuevas direcciones.

De cada una de las páginas que leen por este procedimiento, copian parte o la totalidad del texto que figura en ella y lo envían a la base de datos. Como un documento html no consiste en un conjunto de páginas yuxtapuestas, sino una red de nodos con n niveles de profundidad, entonces, si un documento web tiene n niveles, algunos robots exploran sólo el primer nodo del primer nivel, mientras que otros pueden explorar varios nodos del primer nivel e incluso seguir profundizando hasta llegar a un nivel determinado (tres, parece que es el máximo de profundidad a la que llegan los robots actuales).

Finalmente, el robot realiza acciones de mantenimiento de la lista de direcciones, revisando periódicamente la lista para observar los cambios que se puedan producir en ella, tales como nuevas páginas, modificaciones de las páginas, URL cambiadas, etc.

Ahora podemos ver por qué reciben el nombre (a todas luces excesivo) de agentes: a causa de que todas esas acciones las realizan de un modo más o menos autónomo.

OpenText, junto con AltaVista es uno de los que poseen un lenguaje de consulta más potente. También es muy exhaustivo. Forma parte del trío de los muy recomendables: AltaVista, Excite, OpenText

Cómo funciona la base de datos

El sistema de gestión de la base de datos, por su parte, es un programa de gestión documental, parecido a las bases de datos documentales convencionales, que recibe como entrada el texto de los documentos localizados por el robot y produce como salida un índice, típicamente un índice invertido, también como los clásicos índices de los sistemas de recuperación de información.

Recordemos que en este índice invertido figuran las palabras únicas de los documentos localizados por los robots. Esto es, si la palabra "Intranet" aparece diez mil veces y en un total de dos mil documentos distintos, por ejemplo, no existen diez mil entradas en el fichero invertido, sino una sola, junto con las dos mil direcciones donde aparece la palabra "Internet", y así con todas las palabras únicas de la base de datos, o bien con las raíces de las palabras, ya que, con frecuencia, en vez de palabras completas el fichero invertido almacena sólo las raíces de las palabras.

Por último, también suelen excluirse del fichero invertido las llamadas "palabras vacías" (stopwords o noise words) como en las bases de datos convencionales. Así, la estadística propia de Internet ya ha creado sus propias palabras vacías, por lo menos para algunos servidores, para los cuales, por ejemplo, las palabras "información" e "Internet" son palabras vacías.

Cabe advertir que, en este caso, estas bases de datos no contienen los documentos originales, sino únicamente las direcciones de los documentos.

De hecho, debido a que necesariamente transcurre un determinado lapso de tiempo entre las actualizaciones del fichero invertido (como mínimo de 24 horas y con frecuencia de varias semanas), siempre existe un desfase entre la realidad de la Red y lo que refleja el índice, que se suma al desfase en la actualización de las direcciones URL hacia las que apuntan las referencias del mencionado índice, por lo cual es frecuente que, de la lista de direcciones recuperadas, un cierto número de ellas no sean válidas y que generen un mensaje de error al intentar acceder a ellas.

En concreto, ante una petición de información, es posible que el servidor de búsqueda responda negativamente aunque haya información disponible en la red que haya sido incorporada en los últimos días. También es muy frecuente que una ubicación web registrada en la base de datos haya experimentado un cambio sin que el robot lo haya detectado. Si el usuario intenta acceder a esa dirección mediante el anclaje que proporciona el servidor de búsqueda obtendrá un mensaje de error en lugar del documento reseñado.

Por otro lado, algunos ficheros invertidos guardan más información que otros. Por ejemplo, algunos mantienen estadísticas sobre la capacidad de discriminación de información de cada término (ver recuadro); sobre la situación y el orden relativo de cada palabra dentro del documento; sobre los términos que aparecen en zonas o etiquetas especiales del lenguaje html, tales como la sección <head> donde, además del título, se puede incorporar información referida al autor o al tema del documento mediante palabras clave.

El lenguaje de consulta

El sistema de consulta es la parte del programa que toma las preguntas del usuario, a veces en lenguaje casi natural, y recorre el índice de la base de datos para seleccionar los documentos más relevantes.

La parte más importante del sistema de consulta es el lenguaje de búsqueda, mediante el cual el usuario puede expresar, mejor o peor, su necesidad de información, establecer diversos filtros o condiciones, limitar el número de respuestas, revisar la pregunta, navegar por la lista de resultados, etc.

El rendimiento global de los servidores de búsquedas, considerados como un todo, depende de tres cosas: de la eficacia del robot para descubrir nuevos documentos y para mantener la lista de direcciones; de la cantidad de información que guarda el fichero invertido sobre cada documento; y de la versatilidad y potencia del lenguaje de consulta.

En concreto, un robot puede ser muy exhaustivo y tener así bien localizado el 90% o más de los documentos publicados en la Red, pero si la base de datos guarda poca información respecto a esos documentos o el lenguaje de interrogación es poco flexible, el conjunto como un todo proporcionará un rendimiento bajo. Como en una cadena de audio, la calidad final será la del peor de los componentes.

Por ejemplo, uno de los servidores más exhaustivos, Lycos, es al mismo tiempo el que peor lenguaje de consulta proporciona, mientras que uno de los que menos documentos reseña, WebCrawler es el que tiene uno de los lenguajes de interrogación más flexibles, lo que, en este contexto, equivale a ser uno de los más potentes. El buscador ideal, por supuesto, sería alguna combinación entre Lycos (por la exhaustividad) y WebCrawler (por la flexibilidad y facilidad), cosa a la que AltaVista se acerca bastante, seguido de cerca por OpenText, Excite y HotBot y, probablemente, en este orden.

En general, el lenguaje de consulta es, con mucho, la parte más débil de los buscadores actuales. Ninguno de ellos se aproxima a la calidad de los lenguajes de interrogación que es posible encontrar en las bases de datos documentales convencionales, o en los distribuidores comerciales de información científica y técnica en línea (online) como Dialog. De hecho, carecen de opciones que en programas no Internet o pre Internet pueden encontrarse en productos de consumo tales como Knosys (Micronet), Idealist (Technostock), Inmagic (Doc6) o AskSam (Alis Informática), así como en programas para Intranet como Notes (Lotus) o BasisPlus (Centrisa).

Fuentes de información

1. Direcciones de servidores web (contienen enlaces y/o documentos sobre el tema):

The Webmaster's Guide to Search Engines and Directories:

http://calafia.com/webmasters

WWW Meta‑Indexes and Search Tools, A Library of Congress Internet Resource Page:

http://lcweb.loc.gov/global/metaindex.html.

Internet Search Tools:

http://lcweb.loc.gov/global/search.html

Server in the field of Information Science:

http://www.inf‑wiss.uni‑konstanz.de/Res/infwiss‑server_e.html

Internet Resources for Information Science:http://www.inf.fu‑berlin.de/~weisshuh/infwiss/links/index.html

The CNIDR Isite Information System:

http://vinca.cnidr.org/software/Isite/guide.html

Exeter University Library ‑ Library and Related Resources:

http://info.ex.ac.uk/~ijtilsed/lib/wwwlibs.html

Internet Searching Center:

http://www.clearinghouse.net/searching/find.html

Augsburg Internet Basics: A Look at Search Engines:

http://www.augsburg.edu/library/aib/sources.html

Yahoo! ‑ Computers and Internet: Internet: World Wide Web: Searching the web:

http://www.yahoo.com/Computers_and_Internet/Internet/World_Wide_Web/Searching_the_Web

2. Direcciones de buscadores y de meta-buscadores:

2a. Buscadores internacionales:

Accufind: http://nln.com

AltaVista: http://www.altavista.digital.com

Excite: http://www.excite.com

HotBot: http://www.hotbot.com

InfoMarket: http://www.infomarket.ibm.com

Lycos: http://www.lycos.com

OpenText: http://www.opentext.com

Magellan: http://www.mckinley.com

Pathfinder: http://pathfinder.com

InfoSeek: http://www.infoseek.com

WebCrawler: http://www.webcrawler.com

2b. Buscadores en español:

Dónde: http://donde.uji.es

Olé: http://www.ole.es

Fantástico: http://www.fantastico.es

Ozú: http://www.ozu.es

Intercom: http://www.intercom.es/navegador

Elcano: http://www.elcano.com

El inspector de Telépolis: http://www.telepolis.com

Enlace del artículo:
http://www.elprofesionaldelainformacion.com/contenidos/1997/mayo/cmo_funcionan_los_servicios_de_bsqueda_en_internet_un_informe_especial_para_navegantes_y_creadores_de_informacin_parte_i.html