Por Ricardo Eíto Brun
Ricardo Eíto Brun, experto en aseguramiento de la calidad, ontologías y metadatos, desempeña su actividad profesional en el área de I+D de Meta4 Software (Madrid).
Foto: CC BY Tomàs Baiget
Como resultado del increíble crecimiento y progresiva monopolización que el WWW está ejerciendo sobre Internet, se han propuesto distintos mecanismos capaces de superar las limitaciones de los sistemas de recuperación de información basados en la navegación hipertexto.
Las propuestas se han materializado en tres grandes líneas de trabajo:
a) Índices compilados ‘manualmente’, que organizan la información de acuerdo con algún tipo de clasificación jerárquica: Yahoo, IBC Sleuth, The Mother of All the Bulletin Boards, etc.
b) bases de datos creadas automáticamente por ‘robots’ o ‘arañas’, y
c) métodos de indización distribuida, en los que cada servidor web crea un índice de sus propios recursos, que posteriormente engrosará una base de datos centralizada sobre la que podremos lanzar nuestras ecuaciones de búsqueda (Aliweb o Harvest).
Nuevo rol del cliente en la recuperación de información
Como contrapartida a estos sistemas han surgido los denominados ‘robots personales’. Este tipo de aplicaciones aparecen integradas con el cliente web y ofrecen una funcionalidad supuestamente similar a la de los robots reseñados en el párrafo anterior.
El primer problema que encontramos al tratar este tema es el de una manifiesta inconsistencia terminológica: con este término se designa un conjunto de herramientas que sirven para distintos propósitos. ¿Qué características debe ofrecer una aplicación para denominarse ‘robot personal’?
La definición clásica de ‘robot’ es la de un agente que recorre de forma automática la WWW con distintos fines: análisis del crecimiento de la red, mantenimiento de la estructura hipertexto, duplicación de directorios y elaboración de bases de datos que permitan acceder directamente a recursos informativos mediante palabras clave.
El rasgo característico de un robot es su capacidad de explotar, para cualquiera de estos propósitos, la estructura hipertextual del web. Así, tomando como punto de partida una URL inicial, el robot recupera un fichero html que transfiere al sistema local de forma similar a como lo hace un cliente web; pero, una vez recuperado, en lugar de proceder a su visualización, se servirá de él para generar recuentos estadísticos, engrosar un índice sobre el que ejecutar búsquedas, etc.
Tras esto, el robot identifica las referencias hipertextuales que contiene el documento y que dirigen a otras unidades informativas en el mismo o en otros servidores de la red; de forma recursiva, el robot procede a recuperar los documentos referenciados en esos nexos, a su tratamiento, obtención de nuevas URLs, etc.
Podemos concluir que la ‘navegación automática’ es el rasgo distintivo de un ‘robot’, y que cualquier software que pretenda tildarse como ‘robot personal’ deberá ser capaz de proceder de esta forma. Sin embargo, no todas los programas así denominados comparten esta característica; en las siguientes líneas describiremos cinco aplicaciones de este tipo, dos de ellas desarrolladas con fines comerciales.
Ejemplo de mapa creado por CiberPilot.
Los objetos se estructuran jerárquicamente, y cada uno aparece identificado por un icono y una leyenda. EI botón gris que aparece a la izquierda del icono puede mostrar tres estados:
- un signo +, si el objeto referencia a otros objetos que no son visibles en ese momento;
- un signo –, si la jerarquía de objetos dependientes está desplegada o visible;
- un signo ?, indicador de que el objeto no ha sido explorado por CiberPilot.
EI color de la leyenda podrá ser:
- negro, cuando el objeto referenciado se encuentre en el mismo servidor;
- azul, si el objeto reside en otro host;
- verde, cuando referenciamos un objeto que ya ha sido mencionado (ruta alternativa); o
- rojo, caso en el que CiberPilot no ha podido recuperar un objeto, pudiendo tratarse de un enlace hipertextual erróneo.
CiberPilot Pro
Es un producto de NetCarta Corporation que posibilita la creación de mapas de los servidores WWW. Es decir, como resultado de su acción, CiberPilot genera un fichero con extensión .wmp (WebMap) en el que se representa la estructura hipertextual de las páginas recogidas en un servidor. De esta forma, el usuario podrá servirse de estos mapas para acceder a los recursos disponibles en él mediante una única conexión, eliminando la navegación hipertexto. Sin embargo, si se opta por ésta en lugar de por un acceso directo, los mapas de CiberPilot actúan como guía de la estructura del servidor, evitando el principal problema de la recuperación en entornos hipertexto: perdernos en la información.
Un mapa CiberPilot presenta una estructura jerárquica de iconos, cada uno de ellos con su respectiva leyenda. El tipo de icono variará dependiendo del recurso referenciado en la página web (imagen, sonido, referencia a una página externa, dirección de correo electrónico, etc.).
Por otra parte, las leyendas equivaldrán al texto comprendido entre las etiquetas <title> y </title> si el recurso referenciado es una página html; al texto especificado tras el atributo atl en el caso de una imagen; etc. No obstante, existe la posibilidad de modificar en cualquier momento las leyendas asociadas a un icono.
Ejemplo: Al mapa de la imagen anterior le corresponden varias páginas html. La primera, en un primer nivel de jerarquía, contendrá las siguientes referencias:
<html>
<title>Home Page</title>
<body>
<img src=”icons/expl_bak.jpg”>
<a href=”tutorial.html”>Download the tutorial</a>
<a href=”hawaymap.html”NetCarta Webmaps related to Haway</a>
<img src=”icons/sunset.jpg” alt=”Sunset over Oahu”>
<a href=”about.html”>About NetCarta</a>
…………
</body>
</html>
Para elaborar un mapa deberemos indicar a CiberPilot la URL del servidor, así como una serie de parámetros que especifiquen cuántos ficheros html deseamos examinar, con qué profundidad deberá procederse en la búsqueda (CiberPilot utiliza una recuperación ‘breadth first’), y si queremos habilitar la navegación entre distintos servidores una vez se encuentre una referencia a un fichero residente en otro host.
Creado un mapa, podremos hacer uso de él a través de CiberPilot, que arrancará el cliente web siempre que deseemos abrir la conexión con cualquiera de los recursos reseñados en sus mapas.
Otro aspecto interesante es que CiberPilot implementa un sistema similar al protocolo de exclusión de robots (que por cierto también respeta), el cual le posibilita reconocer si un servidor ha sido visitado con anterioridad por otro robot CiberPilot. Para ello, el administrador del servidor deberá contar con un mapa de sus propios recursos, el fichero default.wmp, al que se hará referencia en la hoja principal mediante:
<a href=”/directorio/default.wmp”>NetCarta WebMap</a>
CiberPilot, al identificar la presencia de este fichero, lo recuperará y finalizará su interacción con el servidor.
Obviamente, para que todo esto sea posible, siempre que se cree un nuevo mapa de un servidor, deberá enviarse a su administrador el fichero resultante, para que éste pueda incluir el enlace pertinente si lo considera oportuno.
Finalmente indicaremos que se han creado directorios de mapas CiberPilot para que sus usuarios puedan compartir el resultado de su trabajo; así, podemos encontrar ‘webmaps’ en:
- NetCarta Corporation: http://www.netcarta.com
- GeoCities: http://www.geocities.com
- Lycos: http://www.lycos.com
- Point Communications: http://www.pointcom.com
Simon (System of Internet Mapping for Organised Navigation)
Es un programa de Mark Johnson en el Queen Mary and Westfield College de la University of London. Aunque Simon aparece referenciado en ocasiones como un ‘robot personal’, nos resistimos a aceptar esta designación.
El funcionamiento de Simon puede sintetizarse de la siguiente forma: permite crear una agenda de URLs a las que se asocia una serie de palabras clave que facilitarán su recuperación; posteriormente, tomando como base la información consignada en la agenda, un procedimiento algorítmico genera un ‘mapa’, más concretamente una estructura arborescente, de los ‘espacios conceptuales’ especificados por las palabras clave.
El ‘mapa’ consiste en una hoja html en la que, bajo cada materia, se enumeran las URLs donde se trata ese tema.
Obviamente constituye un abuso terminológico designar a Simon como un ‘robot personal’; de hecho, la denominación más acertada y acorde con su funcionalidad sería la de un ‘gestor de URLs’.
Se puede encontrar más información en:
http://www.elec.qmw.ac.uk:80/simon
TkWWW Robot
Integra un visualizador o cliente web con un robot personal. De hecho, TkWWW comenzó siendo un visualizador distribuido libremente en Internet, al que posteriormente su autor, Scott Spetka (en la foto), añadió una mayor funcionalidad que le permite ser reconocido como un auténtico ‘robot personal de primera generación’.
Aunque la principal orientación de TkWWW es la recuperación de información (configurando una base de datos local), puede desempeñar cualquiera de las funciones propias de un robot, ya que su funcionamiento se basa en una serie de extensiones programables por el usuario en lenguaje TCL (tool command language, lenguaje para desarrollo en sistemas Unix); así, TkWWW constituye un entorno abierto a tantos usos como podamos imaginar, por lo que Spetka no duda en referirse a él como un ‘robot de propósito general’.
Técnicas de navegación en entornos hipertexto
Establecemos la distinción entre búsquedas ‘breadth-first’ y ‘depth-first’.
En el primer caso, se exploran todos los nodos referenciados en el documento actual. Estos nodos se encuentran en un mismo nivel de jerarquía. Seguidamente, se exploran los nodos referenciados en los nodos anteriores, descendiendo un único nivel, etc.
En una búsqueda ‘depth-first’, cada vez que se recupera un nuevo nodo, se procede a explorar los nodos referenciados en él descendiendo por la jerarquía tantos niveles como consideremos oportuno.
Fish-Search
Es un sistema integrado en el cliente X-Mosaic desarrollado por Paul M. E. de Bra (izquierda) y Reinier D. J. Post (derecha) en la Eindhoven University of Technology. Su principal característica es que hace la recuperación de documentos de forma similar a un robot tradicional, aunque su objetivo no es la creación de una base de datos local, sino la navegación automática, recuperando documentos html afines a un patrón de búsqueda propuesto inicialmente por el usuario.
Los autores se refieren al sistema con esta metáfora:
“Nuestro algoritmo de búsqueda se basa en la metáfora de los bancos de peces: un banco de peces se mueve en dirección a la comida. Mientras nadan, los peces también se reproducen. El número de crías y su fuerza dependen en gran medida de la cantidad de alimento que encuentren. El banco se divide regularmente cuando encuentra alimento en diferentes direcciones. Los peces individuales o partes del banco que se dirigen hacia una dirección donde no hay alimento morirán de hambre. Los peces o partes del banco que entran en aguas contaminadas también mueren”.
Interface de Fish-Search, con las opciones aceptadas por defecto
El algoritmo que utiliza Fish-Search sigue los siguientes pasos:
- Inicialmente se selecciona una URL que contenga numerosos enlaces;
- Con el primer documento recuperado, Fish-Search evalúa su posible
relevancia respecto a una ecuación de búsqueda;
- A partir de esta URL, e independientemente de su factor de relevancia, Fish-Search explota la estructura de los enlaces hipertexto hasta que:
- a) Recupera el número de items relevantes propuesto por el usuario;
- b) o bien se interrumpe pues ha finalizado el tiempo prefijado para la búsqueda.
De esta forma, Fish-Search recibe como parámetros iniciales:
A. Una ecuación de búsqueda, que podrá ser:
A.1. Un conjunto de palabras clave;
A.2. Una ‘expresión regular’,
B. Una URL que tomara como punto de partida en el proceso de recuperación;
C. El número máximo de documentos relevantes que deseamos recuperar;
D. El tiempo máximo que puede durar el proceso de búsqueda;
E. Un método que permita a Fish-Search evaluar la relevancia de cada documento html recuperado. En este punto podremos optar por:
E.1. Correspondencia exacta de las palabras clave: para que un documento se considere relevante deberá contener todos los términos propuestos en la ecuación;
E.2. Correspondencia parcial de las palabras clave: relaja la condición anterior;
E.3. Filtro externo: consistente en un programa propio capaz de generar, para cada documento recuperado, un factor de relevancia, sirviéndonos de nuestras técnicas preferidas;
E.4. Correspondencia con la expresión regular.
F. Profundidad de la búsqueda (‘depth’): número máximo de nodos que deben explorarse en una misma dirección a pesar de no haber obtenido ningún documento relevante; al alcanzar la máxima profundidad permitida, el algoritmo vuelve atrás y retoma otro nodo a partir del cual reinicia la búsqueda;
G. Extensión de la búsqueda (‘width’): número máximo de nodos que vamos a seguir para cada documento recuperado.
H. Restricción de dominio: permite delimitar el espacio del web en el que va a desarrollarse la búsqueda.
Una deficiencia de Fish-Search es que no genera ningún registro de las búsquedas que pueda reutilizarse en sesiones posteriores. Para suplir esta carencia, sus autores lo complementaron con Lagoon.
Lagoon es un sistema caché que permite al usuario crear una copia de los documentos recuperados que considere relevantes. Con él los distintos usuarios de Fish-Search pueden generar un conjunto de documentos a los que se accede con mayor frecuencia, que se localizará en el servidor web local y que otorga cierta persistencia a los resultados de Fish-Search.
Además de su implementación en X-Mosaic, podemos comprobar el funcionamiento de este robot mediante un script CGI que emula su comportamiento, accesible en la URL:
http://www.win.tue.nl/bin/fish-search
El código de este cgi puede obtenerse mediante ftp en:
ftp://ftp.win.tue.nl/pub/infosystems/www
e implementarse en cualquier servidor.
Arachnid
Dentro de su línea de productos para usuarios de Internet, la empresa británica Money Spider
http://www.moneyspider.com
ofrece Arachnid: un ‘robot personal’ para entorno Windows95.
Arachnid tiene la capacidad de efectuar automáticamente la conexión y la desconexión a un servidor WWW o FTP a una hora determinada que previamente hayamos estipulado, y navegar en la estructura de ese servidor recuperando cualquier tipo de documento (html, imagen, sonido, etc.).
Otra característica de Arachnid es su capacidad de generar listas (de documentos html, direcciones e-mail…), explotando las marcas de los documentos hipertexto que recupera.
De todas formas, Arachnid está dirigido claramente hacia la transferencia de ficheros, y no disfruta del rasgo característico de un auténtico robot: la capacidad de navegar de forma automática entre distintos servidores.
E-mail robots: URL-Minder y Sift
Para concluir esta breve reseña dedicada a los llamados ‘robots personales’, haremos referencia a dos sistemas denominados ‘e-mail robots’: URL-Minder y Sift. Son agentes que periódicamente envían información vía correo electrónico referente a:
- cambios producidos en alguna de nuestras páginas html preferidas en cualquier lugar del web, o
- servicio de difusión selectiva a partir de los artículos aparecidos en Usenet-News
respectivamente.
Ambos pertenecen al grupo de servicios gratuitos ofrecidos por NetMind Free Services a los usuarios de Internet gracias al patrocinio de Lynux y Apache. Para disfrutar de estos servicios únicamente hay que registrar nuestra dirección de correo electrónico y las direcciones sobre las que queremos se comprueben los cambios (en el caso de URL-Minder), o una materia tratada en los grupos Usenet sobre la que queramos permanecer informados.
Un aspecto importante en el caso de URL-Minder es que permite registrar ecuaciones de búsqueda sobre cualquier índice Internet (especificando la URL o ‘action’ asociada al formulario del que nos servimos para lanzar la ecuación), de forma que, cuando se produzca una actualización en el conjunto de documentos resultantes de esa búsqueda, URL-Minder nos informará puntualmente, materializándose así en el entorno WWW los métodos de difusión selectiva de la información.
Un servicio que ofrece un sistema de alerta similar es SmartMarks, de Netscape Communications.
De todas formas, y a pesar de su potencial utilidad, nos mostramos reticentes a aceptar la validez de la autodenominación que emplean estos dos servicios como ‘robots personales’. Para obtener más información sobre estos agentes, suscribirnos, etc., podemos dirigirnos a la URL:
http://www.netmind.com
Bibliografía
The advent of personal spiders on the Web: NetCarta white paper.
http://www.netcarta.com/help/wpaper/WP2.htm
De Bra, P. M. E.; Post, R. D. J. Information retrieval in the World Wide Web: Making client-based searching feasible. In: First International Conference on the World Wide Web, Geneve, 25-27 May 1994, pp. 76-82.
http://www.win.tue.nl/win/cs/is/reinpost/www94/www94.html
De Bra, P. M. E.; Post, R. D. J. Searching for arbitrary information in the WWW: the Fish-Search for Mosaic.
http://www.win.tue.nl/win/cs/is/debra/wwwf94/article.html
FAQ about URL-Minder: Your own personal web robot.
http://www.netmind.com/URL-minder/faq.txt
Rosoff, Matt. Save time surfing the Web with a personal spider. CNET, 25-March-1996.
http://www.cnet.com/Content/Reviews/Hot/032596/cyber.html
Spetka, Scott. The TkWWW Robot: Beyond browsing. Utica, Rome: Sunyit Institute of Technology.
http://fang.cs.sunyit.edu/Robots/spetka.html
—
Esta información se publicó en la revista Information World en Español (IWE), n. 46, julio-agosto de 1996, pp. 15-19.
- Volver al índice de este número 46:
https://www.scimagoepi.com/information-world-en-espanol-iwe-numero-46-julio-agosto-de-1996
- Volver a la página principal de Information World en Español (IWE):
https://www.scimagoepi.com/information-world-en-espanol-iwe

