1. INTRODUCCION

El reciente y dramático crecimiento del Internet, es un claro signo de que la computación está entrando en una nueva era. Las redes han cambiado el rol de las computadoras pues de ser simples procesadores de datos aislados han pasado a ser poderosos dispositivos de comunicación. Los usuarios ahora pueden accesar a una vasta y amplia cantidad de información. Dentro de este contexto, surge la necesidad de proveer al usuario de medios para manejar dicha información. Generalmente el usuario se encuentra con la necesidad de navegar entre el gran volumen de datos para buscar y localizar la información que necesita y que le es de utilidad. En este escenario nacen las bibliotecas digitales que además de proveer servicios similares a las bibliotecas convencionales, tales como catalogación y búsqueda, también brindan una gran variedad de servicios adicionales, tales como proveer información de una manera organizada y facilitar al usuario el manejo de esta información dinámica y compleja.

El desarrollo de bibliotecas digitales se ha visto grandemente beneficiado con el uso de agentes de usuario, los cuales son entidades de software auntónomas o semiautónomas que realizan misiones bien definidas que son delegadas (o solicitadas) expresamente por el usuario en su beneficio y de acuerdo a sus necesidades y objetivos. En particular, el uso de agentes móviles de usuario- agentes que pueden decidir migrar a un diferente servidor en la red de acuerdo a sus requerimientos, permitirán que las tareas de búsqueda, recuperación, filtrado e interpretación de información que se ejecutan en bibliotecas digitales se optimizen y/o automatizen, logrando con esto una comunicación más rápida y segura entre los usuarios y la biblioteca.

Así que con el presente trabajo se pretende lograr un mejor acceso a la información contenida en una biblioteca digital usando agentes móviles de usuario.

1.1 AGENTE

La palabra "Agente" del latin "agans" para actuar, esta definida como el productor de un efecto, una sustancia activa, una persona o cosa que ejecuta una acción, un representativo, etc.

El concepto de agente ha llamado la atención tanto en Inteligencia artificial como en sistemas distribuidos, aunque nadie ha llegado a una definición general de lo que un agente es, para los propósitos de este trabajo , asumimos que un agente es una entidad autónoma o semi-autónoma que cumple con una misión bien definida [Sánchez 1996]. Para hacer esto, el agente debe contener un estado persistente y ser capaz de comunicarse son su dueño, otros agentes y el medio en general. Un agente puede hacer que una rutina trabaje para un usuario o le ayude a él con tareas complicadas, también puede mediar entre programas incompatibles y generar uno nuevo. Típicas aplicaciones de agentes incluyen manejo de correo electrónico, programación de reuniones y recuperación y manejo de la información.

Se puede definir un agente como algo o alguien que actúa en representación de otro, para el propósito expreso de ejecutar específicos actos que serán en beneficio del representado.

Los agentes de software son diferenciables de otras aplicaciones por sus alcances de movilidad, autonomía y la habilidad de interactuar independientemente de la presencia de usuarios. Cuando introducimos el elemento adicional de inteligencia a un agente, debemos incluir la habilidad de razonamiento adaptivo. Esto implica la capacidad de procesar información desde ambientes externos, tales como redes, bases de datos y el Internet, dado el conjunto de conocimientos, actitudes y creencias de los usuarios que son entendidos por el agente.

Hay 6 llaves características que diferencían a los agentes de otro tipo de aplicaciones de software:

  1. Autonomía. El agente debe tener la capacidad de tomar acciones que lleven a completar alguna tarea(s) u objetivo(s), sin impulso del usuario final. Se tendrá un elemento de independencia para el agente.
  2. Habilidad de comunicación. Los agentes deben, en el curso de alcanzar sus objetivos, ser capaces de comunicarse de accesar a las fuentes o repositorios que contienen la información buscada.
  3. Capacidad de cooperación. Una natural extensión del atributo de comunicación es la cooperación. Los agentes deben tener un espíritu colaborativo. El objetivo es que loa agentes trabajen juntos para así mutuamente beneficiarse.
  4. Capacidad de razonamiento. La habilidad de ejecutar razonamiento es uno de los aspectos claves de inteligencia que distingue a los agentes de otro tipo de software. El razonamiento implica que un agente puede poseer la habilidad de inferir y extrapolar basado en el actual conocimiento y experiencias- en una manera racional y reproducible.
  5. Comportamiento adaptivo . El agente debe tener algunos mecanismos para accesar el actual estado de su dominio externo, el cual definimos como la extensión del ambiente El agente debe ser capaz de examinar el ambiente externo y de ejecutar acciones previas tomadas bajo similares condiciones, y adaptar sus acciones para mejorar la probabilidad de exitosamente alcanzar sus metas.
  6. Confiabilidad. Se debe tener un fuerte sentido de confianza de que el agente puede exitosamente representar al usuario, su cliente. Los agentes deben demostrar "veracidad" y "benevolencia". En otras palabras, el usuario debe estar altamente seguro de que su agente actuará y reportará confiadamente, actuando siempre para bien del usuario.

Otros autores, [Wooldridge y Jennings 1995], definen a un agente como un sistema de cómputo basado en software que cumple con las siguientes propiedades:

Otras características de los agentes, son las siguientes:

1.1.1 AGENTES MOVILES

Un agente móvil es un agente que puede moverse entre una red heterogénea bajo su propio control, migrando de servidor en servidor e interactuando con otros agentes y recursos, típicamente retornando a su servidor de origen cuando la tarea esta hecha. Los agentes móviles son un buen paradigma para aplicaciones distribuidas y un excelente paradigma cuando están involucradas computadoras móviles.

Un agente móvil es un programa con una identidad persistente (es decir, acarrean su estado interno para reanudar su trabajo en una nueva maquina) el cual se mueve a través de una red y puede comunicarse con su medio ambiente y otros agentes. Posibles aplicaciones para agentes móviles incluyen comercio electrónico, manejo de red, recuperación de información, simulación distribuida, control de dispositivos remotos, documentos activos y computo móvil

Para la recuperación de información, un agente móvil puede moverse en base al perfil y necesidad de su dueño, buscar, filtrar y finalmente regresar información de utilidad para el mismo, sin necesidad de que el usuario tenga que ocuparse de dicha tarea . Esta técnica salva un considerable ancho de banda.

1.2 BIBLIOTECAS DIGITALES

Se dice que estamos viviendo en la era de la información y nuestra sociedad es a veces llamada la sociedad de la información. Se ha producido y coleccionado más información en nuestro tiempo que antes: miles de libros, cientos de miles de artículos e innumerables estudios informales y reportes. Nuestra capacidad para absorber esta información y usarla de manera inteligente es estrecha no solamente por la cantidad y variedad de datos disponibles, sino también por las complejas relaciones entre los tipos de información, y las resultantes dificultades en interpretarlos. Afortunadamente, las técnicas de búsqueda de información están mejorando la manera en la cual la información es almacenada y procesada. En particular, modernos equipo de procesamiento de información pueden organizar y almacenar grandes cantidades de información y proporcionar un rápido acceso a los registros almacenados.

El uso de equipo moderno de computación para procesar información tiene dos efectos. Por un lado, facilita la generación, colección, y almacenamiento de más información, complicando con esto la tarea de absorber y usar los datos disponibles. Por otro lado, simplifica los problemas de acceso de información proveyendo útiles maneras de buscar y recuperar.

La recuperación de información en la computadora ha llegado a ser muy popular en años recientes. La disponibilidad de libre acceso a algunos recursos de Internet y la rápida expansión de esta herramienta, particularmente en los últimos años, ha hecho de la recuperación de información localizada remotamente un ejercicio popular. La disponibilidad de libre acceso a sistemas como World-Wide-Web (WWW) permite a los usuarios incorporar sus propios sistemas hipermedios en WWW para llegar a ser parte integrada de recursos de sistemas de Internet. La realización de un sistema de biblioteca digital esta comenzando a ser realidad.

Una biblioteca digital es un ensamblaje de cómputo digital, almacén y comunicación junto con el contenido y software necesario para reproducir, emular y extender los servicios provistos por bibliotecas convencionales como son la colección, catalogación, búsqueda y diseminación de la información. Así que un servicio completo de biblioteca digital debe estar acompañado de servicios esenciales de bibliotecas tradicionales y también explotar las ventajas de almacenamiento digital, búsqueda y comunicación.

La misión de bibliotecas de investigación es adquirir información, organizarla y hacerla disponible y preservarla.

La biblioteca digital tiene el potencial para:

1.2.1 NAVEGACION Y RECUPERACION

Un reto significativo en bibliotecas digitales es traducir la vasta y creciente cantidad y variabilidad de información del Internet, de una manera amigable y práctica para los usuarios. Se deben determinar factores clave tales como las fuentes candidatas más promisorias para buscar información, requerimientos para accesar a esas fuentes, disponibilidad pública, cargos por la información y lenguajes en los cuales la información esta almacenada.

En el futuro , nuestro trabajo estará mediado a través de un rápido, y coordinado acceso a información compartida. A través de bibliotecas digitales, la gente colaborará con colegas a través de distancias geográficas y temporales. Usarán esas bibliotecas para organizar espacios de información personal y para leer, escribir, enseñar, aprender y crear.

Su trabajo intelectual será compartido con otros por medio de la biblioteca, pero sus contribuciones e interacciones serán elementos de una biblioteca accesible global y universal que puede ser usada por mucha gente diferente y muchas diferentes comunidades.

Incrementado la efectivez y velocidad con la cual la información es comunicada y usada, las bibliotecas digitales son un mayor paradigma en la ciencia computacional.

Avanzará las áreas de estudio existentes, promoverá fusiones de disciplinas y habilitara enteramente nuevas áreas de estudio.

1.3 USO DE AGENTES EN BIBLIOTECAS DIGITALES.

Los recursos de información serán manejados por agentes computacionales. Los agentes de información son responsables de las siguientes tareas:

Algunos ejemplos de potenciales capacidades de agentes incluyen:

La búsqueda remota y filtrado, es uno de los aspectos centrales de la programación de agentes. Considere el siguiente sistema de recuperación. El usuario introduce un query en su dispositivo cliente. El sistema interpreta el query, posiblemente haga preguntas al usuario y consiga una mayor clarificación. Esta reformulación del query es entonces transmitida al agente, el cuál migrará en búsqueda de dicha información, una vez recuperada, será presentada al usuario. El sistema necesita ser capaz de interactuar con ambos el usuario y las fuentes de información. La interacción con múltiples servidores no es tan fácil. Primero, porque las fuentes están distribuidas sobre muchas locaciones, segundo porque la cantidad de información involucrada es demasiada.

El sistema ideal debe poseer conocimiento especifico del dominio en el cual opera y de los intereses del usuario, así como la habilidad de filtrar datos basado en este conocimiento.

1.4 ALCANCE DE LA INVESTIGACION.

La investigación presentada en este trabajo esta enfocada en dos sentidos. Primero,lograr una clara caracterización de agentes móviles, identificando similitudes, diferencias y considerando los puntos de vista existentes. Y segundo, presentar una alternativa de solución al proceso de búsqueda, filtrado y recuperación de información. Se plantea un sistema basado en una técnica de recuperación de información de espacios vectoriales combinada con un modelo de recuperación extendido Booleano.

En este documento se presenta el diseño conceptual y la implementación del subsistema de agentes móviles de usuario que se añadió a la arquitectura AGS, la cual es una arquitectura abierta diseñada para proveer servicios de agentes a participantes de bibliotecas digitales.

1.5 OBJETIVOS

Una vez planteado el marco de trabajo en el que se desarrolla esta investigación, podemos mencionar los siguientes objetivos:

Las secciones restantes de este documento están organizadas de la siguiente manera: En el capítulo 2 se trata con mayor detalle la teoría existente sobre agentes de usuario y agentes móviles. El concepto de bibliotecas digitales y el uso de agentes móviles de usuario en bibliotecas digitales se revisa en el capítulo 3. En el capítulo 4 se presenta una descripción detallada del sistema desarrollado en esta investigación. La evaluación de dicho sistema se presenta en el capítulo 5, así como su funcionalidad en comparación con otros sistemas de agentes. Finalmente en el capítulo 6 se resume el trabajo realizado y se presentan los alcances y las limitaciones encontradas para la realización del mismo. También se plantea el trabajo a futuro y la línea de investigación a seguir.