4. LA RECUPERACIÓN DE LA INFORMACIÓN EN LA WEB Y LOS AGENTES DE SOFTWARE BASADOS EN ONTOLOGÍAS

4.1  DEFINICIÓN Y CARACTERÍSTICAS DE LOS AGENTES DE SOFTWARE

 

La teoría de la recuperación de la información ha creado desde 1950 una serie de instrumentos de búsqueda que permiten evaluar los límites del acceso a la información, y a su vez ponen de manifiesto algunos de los problemas estructurales que los métodos de recuperación han volcado en los softwares de gestión.

 

            La recuperación de la información es compleja, el marco fundamental  de esta área va más allá de Internet y del panorama general de los servicios de información electrónica. Para proponer soluciones alternativas a la situación actual de caos en los sistemas de recuperación debe plantearse necesariamente la evolución de los Software de Gestión: la integración de las nuevas tendencias en la indización y en la recuperación.

 

En primer lugar se procede a definir el concepto de Agente:

 

  • Para  Franklin y Grasser (1996) “Un agente autónomo es un sistema situado dentro y como parte de un entorno que siente y nota ese entorno y actúa en él (…), siendo capaz de apreciar los resultados obtenidos y de volver a actuar tomándolos en consideración” .

 

  •  Según, Stuart Russell, un agente es todo aquello que puede considerarse que percibe su ambiente mediante sensores y que responde o actúa en tal ambiente por medio de efectores. Los agentes humanos tienen ojos, oídos y otros órganos que les sirven de sensores, así como manos, piernas, boca y otras partes de su cuerpo que les sirvan de efectores. En el caso de los agentes robóticos, los sensores son sustituidos por cámaras… y los efectores son reemplazados mediante motores. En el caso de un agente de software, sus percepciones y acciones vienen a ser las cadenas de bits codificados.

 

    Por lo tanto, los agentes de software son:

  •     Según, Leslie L. Lesnick: programas que realizan tareas interactivas, dirigidas por la petición y los deseos del usuario. Con un grado de autonomía e independencia, los agentes pueden realizar una serie de tareas sin que los humanos u otros agentes les tengan que decir qué hacer a cada paso que dan en su camino.

 

  •     Según, Pedro Hípola y Benjamín Vargas-Quesada, se puede definir a un agente inteligente como una entidad software que, basándose en su propio conocimiento, realiza un conjunto de operaciones destinadas a satisfacer las necesidades de un usuario o de otro programa, bien por iniciativa propia o porque alguno de éstos se le requiere. Todos los agentes inteligentes son programas, pero no todos los programas que realizan búsquedas son agentes inteligentes. Los agentes en sí mismos pueden ser considerados como entidades individuales (partes del programa que tienen control sobre sus propias vidas y movimientos). Continuamente están realizando procesos que les indican qué hacer y cómo. Se comunican con otros agentes para resolver de forma adecuada su trabajo.

 

Las características de un agente de software son:

  1. Inteligencia; debe poseer cierta capacidad de aprendizaje, apreciar el comportamiento de los usuarios y tomar nota para aplicarlos cuando sea necesario.
  2. Personalización; y/o adaptación al usuario. Copiar y adoptar su forma de proceder.
  3. Flexibilidad; capacidad de ofrecer varias posibilidades de actuación ante una situación dada.
  4. Orientación a objetivos; clara indicación de objetivos y orientar todas sus acciones a conseguirlos.
  5. Autonomía; sin intervención del usuario. Capacidad de toma de decisiones (valorando las situaciones del entorno)
  6. Reactividad; toma decisiones y vuelva a valorar el entorno para saber si es necesario seguir tomando decisiones.
  7. Eficacia; es capaz de alcanzar sus objetivos.
  8. Eficiencia; optimizar al máximo los recursos informáticos.
  9. Especialización; en campos de aplicación. (No es capaz de hacer todo en todas partes).
  10. Continuidad temporal
  11. Sociabilidad; diferentes agentes se especializan en temas varios, en un mismo entorno, y son capaces de comunicarse entre sí, y de intercambiar información con significado.

 

Además los Software de recuperación deben incorporar:

  • Las funciones sofisticadas de recuperación
  • La integración de subsistemas de tratamiento lingüístico
  • El lenguaje natural
  • El acceso multilingüe
  • Los métodos que subsanan las dificultades de compatibilidad con los usuarios
  • El desarrollo de interfaces inteligentes de diálogo y parametrizables.
  • La difusión personalizada, etc.

 

 

4.2 APLICACIONES DE LOS AGENTES DE SOFTWARE EN INTERNET

 

Internet es un ámbito especializado para la aplicación de los agentes de software o softbots. Las posibles funciones y tareas que pueden desarrollar son tan variadas como se pueda imaginar y, en realidad, muchas de las actividades informativas y de comunicación que se desarrollan en Internet tienen en su base agentes de software.

 

Los sistemas de agentes más conocidos de Internet son, sin lugar a dudas, los Web robots, agentes que desarrollan todo tipo de tareas en la World Wide Web. Los más populares y útiles; al menos en lo que respecta al usuario común, son los agentes de búsqueda de información. Los motores de búsqueda alimentan sus bases de datos mediante la utilización de robots o agentes básicos llamados spiders, Works o wanderers a los que delegan las tareas de localización, acceso y copia de documentos. Junto a éstos cada vez en mayor medida aumenta la utilización de los agentes personales para la recuperación de información, que actúan como intermediarios entre el usuario y los motores de búsqueda.

 

Un  ejemplo de aplicación de un software de gestión en la recuperación de información en Internet serían las consultas simultáneas en varios motores de búsqueda, comparar los resultados de los mismos y ofrecer un resumen o listado de usuario. Estas tareas se realizan de forma transparente, es decir, que el usuario les puede encargar una tarea, y dedicarse a otras cuestiones, mientras que esta aplicación se encarga de todo el trabajo.

 

         Los software de gestión están escritos en un lenguaje de programación bien sea compilado o interpretado. A este trabajo se le dota de una agenda o relación de trabajos y tareas a llevar a cabo, en el entorno informático en el que se encuentre, establecidos por un usuario. También se le informa de un conjunto de parámetros o situaciones que debe comprobar a intervalos de tipo señalados. En el caso de que en una de esas comprobaciones detecte que se produce  o se ha producido una variación sobre las condiciones iniciales, consulta sus instrucciones para determinar si debe ejecutar, o no, alguna acción, y en el caso de que la información sea afirmativa, revisa su lista de tareas para buscar y llevar a cabo la más adecuada. Por ejemplo, un virus que llevase a cabo alguna maldad en una fecha dada, es uno de los ejemplos más básicos de agente.

 

          Los softwares documentales con relación a la recuperación de la información son muy importantes por estas dos razones:

 

o       Gestionan los aspectos documentales de cada sistema (Gestión de Tesauros, Métodos de Búsqueda avanzados, Difusión Selectiva de la Información)

o       Incorporan una nueva oferta que Internet ha consagrado como esencial. 

 

          Como hemos dicho anteriormente los agentes de software son una de las áreas clave de desarrollo de la ciencia de los computadores para los próximos años.

 

  Un SoftBot de Internet es un agente implementado con inteligencia artificial desarrollado en la Universidad de Washington. Utiliza el shell de Unix y el World Wide Web para interactuar con un amplio rango de de recursos de Internet. El SoftBot está diseñado para incorporar facilidades en su repertorio cuando estén disponibles.

  Actuando como un asistente personal inteligente, el SoftBot proporciona una interfaz cualitativamente distinta entre el humano y la computadora. Se están mejorando las capacidades del Softbot basadas en IA para desarrollar una interfaz expresiva, orientada a metas y comprensiva hacia Internet. Una persona puede realizar una solicitud de alto nivel y el SoftBot utilizará búsqueda, inferencia y conocimiento para determinar cómo satisfacer el requerimiento. Es más, el SoftBot tolera ambigüedad, omisiones y errores en los requerimientos humanos.

El planificador del SoftBot toma como entrada una expresión lógica que describe la meta a alcanzar. Después de buscar en una librería de esquemas de acción (la cual describe fuentes de información disponibles, bases de datos, utilidades y comandos de software), el planificador genera una secuencia de acciones para alcanzar la meta. El planificador se implementa como un proceso de búsqueda sobre secuencias de acción parcialmente especificadas denominadas planes.

A diferencia de los programas que están dirigidos por un rígido control de flujo especificado previamente por el programador, el planificador sintetiza y ejecuta automáticamente los planes. Esto previene el problema de tener que escribir programas que se anticipen y adapten a todos los cambios posibles en el entorno del sistema, en el estado de la red y en las condiciones de error.

            Sin ninguna duda los softbots son el interés prioritario de los especialistas en organización de información, por las perspectivas que abren en lo que se refieren a localización, identificación, relación, mantenimiento y selección de recursos de información.

            El primer problema que surge es que no existe un concepto único y diáfano de lo que es o no un sotfbot. La complejidad que rodea a todo el ámbito de los sotfbots, en la que intervienen inteligencia artificial, Sociología, Ciencia de la Computación, Lógica, Telecomunicaciones y otras disciplinas, ha llevado a proponer la creación de una nueva disciplina, La Agent-Based Software Engineering. El fundamento de la misma es solucionar el problema que supone la heterogeneidad de las situaciones en las que puede encontrarse un sotfbot, y la solución a este problema se basa en la comunicación y colaboración.

            La colaboración y cooperación presupone la existencia de un lenguaje de comunicación que deberá tener una sintaxis  y una semántica, y ser capaz de reflejar estructuras de conocimiento.

 

            El primer elemento de los apuntados es el vocabulario. Autores como Genesereth y Ketchpel entienden el vocabulario como un diccionario de palabras que poseen un significado claro para  el ser humano.

 

    En un diccionario de este tipo puede haber una o varias ontologías. Por lo tanto el contenido semántico, el conocimiento que contienen e intercambian los agentes de software se encuentra formalizado en estructuras cognitivas que adoptan la forma de las ontologías.

 

 

4.3  UNA PROPUESTA DE ARQUITECTURA PARA RECUPERACIÓN DE INFORMACIÓN BASADA EN ONTOLOGÍAS

 

             La siguiente propuesta es una arquitectura ideal para un sistema de clasificación y recuperación de información en Internet, para ello se toman como punto de partida dos principios básicos:

  

  1. El contenido de los documentos debe representarse usando como herramienta una ontología.
  2. Las tareas de descubrimiento y selección de recursos de información deben realizarse mediante softbots.

 

   El primero de ellos está adaptado tomando la idea del OML (Ontology Markup Language). En principio, supone que la representación de un documento responde a una norma fijada por un principio de autoridad. Sin embargo, en este proyecto se deja la posibilidad de que la ontología resida en un servidor, es decir una ontología propia, siempre y cuando se especifique su localización en el documento.

    El segundo de ellos aprovecha las prestaciones de los agentes de RI en Internet para liberar al usuario de las tareas de descubrimiento, acceso y selección de recursos de información.

 

    En principio, la existencia de la ontología de referencia es previa a la creación del documento, mientras que el proceso de descubrimiento utiliza la ontología de referencia como criterio para validar el contenido informativo del documento. En cualquier caso las ontologías utilizadas para ello deben ser públicas y accesibles, lo que permitirá el trabajo cooperativo, y la integración de ontologías hasta poder llegar a formar meta-ontologías. Si la integración de ontologías no parece ofrecer mayores problemas (considerando que queda a elección del documento el mecanismo y la ontología que desee), mayores cuestiones plantea el proceso de descubrimiento.

 

    En este caso, debemos diferenciar si el ámbito del descubrimiento es:

 

    1. Homogéneo

        Consistencia en la utilización de ontologías, el usuario ha usado ontologías conocidas a otros usuarios, en un contexto informático-espacial determinado, por ejemplo una Intranet.

 

        El Proceso de Recuperación en el Entorno homogéneo, sigue estos pasos:

    – Tarea delegada

    – Consulta de la ontología

    – Selección de categorías

    – Identificación documentos pertinentes

 

     2. Heterogéneo:

        Como en el caso de Internet. En este último caso el proceso se complica, todavía no se ha extendido el uso de ontologías, y la aproximación más cercana, los metadatos, no ha alcanzado la extensión deseable. En segundo lugar, es imprescindible la presencia de un punto crítico para iniciar el proceso de descubrimiento. Esta es la cuestión más complicada, porque supone el recurso a la consulta contra un motor de búsqueda, o la utilización de índices temáticos específicos, con los problemas y las limitaciones que ello puede suponer.

         Se podría decir que en el Proceso de Recuperación en el Entorno heterogéneo se da:

    – Punto crítico de inicio

    – Uso de intermediario de ontologías

    – Consulta de ontologías

    – Selección de categorías

    – Identificación de documentos

    – Consulta de ontología de estructura

    -Identificación de estructura de documento