![]()
Agentes inteligentes de asistencia personal y búsqueda de información
|
Edgar J. Larios Tapia, Leonid Sheremetov, Oscar Fabela C., Resumen En los últimos años la inteligencia artificial (IA) se ha utilizado en la búsqueda de nuevos métodos para asesorar a los usuarios de un ambiente de aprendizaje, proporcionando información en ayuda a sus actividades de enseñanza/aprendizaje y en la búsqueda de información especifica que cumpla con los intereses del alumno. En el presente trabajo se describe la propuesta para la implementación de una biblioteca digital inteligente distribuida en un ambiente de aprendizaje orientado a la WEB, dicha asesoría está basada en la utilizando agentes visuales, los cuales a través de la simulación del habla humana y de animaciones, proporcionen explicaciones reales de los temas de estudio y ayuden a los alumnos al desarrollo de actividades en su ambiente de aprendizaje y en la búsqueda de información, todo esto para la adquisición del conocimiento. Introducción La educación al inicio de este milenio se perfila con una visión prospectiva a partir de la implementación de tecnologías avanzadas de información, a su vez surge la necesidad de que dichas tecnologías puedan ser soportadas por sistemas inteligentes, los cuales aporten y manipulen la información de manera eficaz y confiable, en apoyo a las actividades realizadas durante el proceso de enseñanza/aprendizaje en un ambiente de enseñanza virtual. En los últimos años, las innovaciones tecnológicas, y la creciente popularidad y disponibilidad de Internet, son las razones por las cuales numerosas aplicaciones y proyectos de investigacion requieren de la utilización de sistemas informáticos que proporcionen al usuario la información de manera sencilla, agradable y entendible. Los sistemas de enseñanza requieren de la implementación de subsistemas de asesoría personalizada para que el alumno desempeñe de manera eficiente las actividades de aprendizaje, y el profesor disponga de diversas formas para facilitar información y transmitir el conocimiento. A lo largo del tiempo las formas de enseñanza se han encontrado en un cambio continuo, muchas de estas creadas y apoyadas por la tecnologías de la información y la comunicación, TIC´s, pero día con día se vuelve más complejo el desarrollo de actividades para el alumno y el profesor, a causa de la gran diversidad de medios para comunicarse y proporcionar información; en ocasiones la mala utilización de tecnologías en materiales didácticos y en el intercambio del conocimiento, se vuelve un problema para el entendimiento de la información y el desempeño del alumno, por lo que es necesario contar con ayuda de un asistente que conozca de las necesidades el usuario y ayude y/o asesore al desarrollo de actividades en su entorno de aprendizaje [7]. Si bien la asesoría en un sistema de enseñanza juega un papel importante, ya que con base en ésta, el alumno podrá resolver cualquier duda que tenga, la búsqueda de información relacionada con los estudios que actualmente se realizan, también es un aspecto muy importante sobre todo cuando el intercambio de información se lleva a cabo en un modelo de enseñanza que contempla: la difusión del conocimiento, la comunicación, coordinación y colaboración entre grupos de estudiantes. En estas dos actividades mencionadas se utilizan entidades inteligentes (agentes) que interactúan por medio de la cooperación, la coexistencia o la colaboración en un ambiente distribuido, para adquirir inteligencia y poder ayudar a los usuarios a realizar sus estudios de manera sencilla y eficaz. Agentes asistentes personales La implementación de Microsoft Agents [1] en asesoría personalizada, se lleva a cabo para proporcionar al alumno la explicación de conceptos que son difíciles de explicar y exponer a través de medios convencionales utilizados en Internet como son las imágenes, videos, sonidos y animaciones, ya que dichos medios requieren de interactividad con el usuario y no existe retroalimentación entre lo que se explica y lo que el alumno entiende, además de ser poco dinámicos, requieren también proporcionar al usuario una explicación entendible a través de un lenguaje común como lo es el habla humana, uno de los objetivos principales de esta propuesta es lograr que las actividades que realice el usuario dentro del sistema, promocionen conocimientos sólidos basados en explicaciones que el alumno entienda perfectamente, así como hacer el estudio más sencillo y atractivo a través de la interacción entre el usuario y el sistema, provocando con esto la adquisición de conocimiento, mejoramiento y motivación al estudio, siendo esta una manera innovadora y confiable de ayudar en el estudio y la enseñanza en un sistema de aprendizaje. A través de la incorporación de un sistema como el que se plantea en el presente artículo, se intenta satisfacer todas aquellas necesidades que implican el uso de un sistema de enseñanza orientado a la WEB [2], proporcionando orientación y explicación en las actividades de enseñanza-aprendizaje [8] y durante el estudio de material electrónico. Los agentes visuales son utilizados para la explicación de conceptos y temas abstractos, los cuales no son posibles ejemplificar con representaciones gráficas estáticas (diseño convencional de material electrónico), como un diccionario electrónico (Figura 2) (consulta en línea de conceptos desconocidos siendo explicados a través de la simulación del habla humana) y como un ayudante durante la realización de actividades con las herramientas de comunicación y desempeño de evaluaciones y actualizaciones del sistema (Figura 1) (por ejemplo, al momento de acceso al ambiente de aprendizaje el agente proporciona los nombres de los usuarios que se encuentran en línea), lo que proporciona al alumno mayor facilidad y eficacia en la adquisición del conocimiento. Figura 1 Figura 2 Tecnología de agentes El agente de Microsoft es un conjunto de servicios programables de software que utiliza la presentación de caracteres animados, los cuales pueden ser manipulados y afectados por acciones del usuario que es presentado en la interfaz de Microsoft Windows. Los agentes son utilizados como ayudantes interactivos para introducir, dirigir, entretener, o realizar de otra manera sus actividades de aprendizaje; motivados por la comunicación entre el sistema y el usuario, estos agentes son también utilizados para proporcionar información resultante de las búsquedas personalizadas de materiales electrónicos que cumplen con los interese del usuario[3]. Es común encontrar temas que requieren de una amplia bibliografía para su entendimiento y en ocasiones los usuarios tienen la dificultad de encontrar dicha información, por lo que se requiere de la intervención de estos agentes para realizar búsquedas inteligentes que proporcionen los resultados de las publicaciones electrónicas encontradas, dichos agentes identifican la temática de estudio y realizan la búsqueda automática sin necesidad de que el usuario lo indique; de igual manera, el agente identifica la información que para el usuario es importante configurándose automáticamente para las siguientes búsquedas. Los agentes son creados con la utilización de 3D Studio para el diseño de las animaciones, o bien con el diseño tradicional de animaciones (dibujos en papel) que posteriormente deberán ser “escaneadas” para su manipulación en cualquiera de las dos formas en que se realice el diseño, deberán de manipularse imágenes en formato GIF89, para especificación de datos del agente, tales como la asignación del nombre a las animaciones, configuración del tono, de la voz, y el idioma a utilizar; fue utilizado el software Microsoft Agent Character Editor, en el cual eran seleccionadas la imágenes de las animaciones en el orden en que fueron diseñadas (Figura 3). Figura 3 La información del usuario es almacenada en una base de datos (BD), la cual es consultada a través de servlets en java, que realizan las consultas y recuperan los datos que el alumno configura de acuerdo con las necesidades y preferencias, una vez que es recuperada dicha información comienza la generación de código HTML para el diseño de la pagina WEB, y código Visual Basic Script para la especificación y configuración de las acciones del agente y el texto a reproducir (Figura 4). Figura 4 Búsqueda de información personalizada Las instituciones educativas muestran una importante preocupación en el aspecto de la incorporación de nuevos modelos educativos, principalmente por la necesidad de un entorno educativo que cuente con todas las opciones y herramientas para la búsqueda y adquisición del conocimiento. Con base en esta preocupación, se realizan esfuerzos para el diseño de sistemas que intentan proporcionar a los alumnos y profesores todas las herramientas que enriquezcan el proceso de enseñanza-aprendizaje y, dentro de estas consideramos de suma importancia, la aplicación de los conocimientos a problemas reales (experimentación), la cual se realiza con la utilización de Laboratorios Virtuales [4] en donde es posible la configuración de un entorno virtual, desde la especificación de actividades por parte del alumno hasta la utilización de simuladores en línea; otro aspecto importante es la elaboración de exámenes inteligentes con la integración de componentes de software reutilizables para la evaluación de los conocimientos [5][6]. Otro aspecto también importante que se ha considerado es la necesidad de proporcionar a los usuarios la herramienta para la búsqueda de información especifica que cumpla con las necesidades del usuario, por lo que en este apartado se describe la propuesta para la utilización de las herramientas de una biblioteca digital inteligente para la adquisición de referencias bibliográficas y de materiales electrónicos, que ayuden al estudio del alumno, incorporando al ambiente de aprendizaje las herramientas de búsqueda que se presentan a continuación: Módulo de configuración El usuario configura los campos de búsqueda y de presentación de manera permanente; es decir, los cambios realizados los guardará en sus perfiles y sólo podrá cambiarlos al acceder a su sesión; también configura las palabras o frases que desea buscar, asistido por un agente visual que le proporcionará los datos encontrados. Los resultados obtenidos serán analizados en cuanto a cantidad y contenido para determinar cuáles son las Bibliotecas que arrojan más resultados y, de éstos, cuáles son aquellos que el usuario consulta más, con el fin de no realizar búsquedas innecesarias en servidores donde no se accesa a mucha información. Publicaciones encontradas Cuando el usuario accesa por primera vez al sistema, y define las búsquedas personalizadas, el sistema le arrojará todas aquellas publicaciones que cumplan con su perfil; una vez consultados por el usuario, éste definirá cuáles desea guardar en sus favoritos, teniendo un máximo de publicaciones registradas; posteriormente, en cada acceso al sistema por parte del usuario, sólo se realizará la búsqueda de las publicaciones que cumplan su perfil mostrando los resultados por servidor y por cada parámetro de búsqueda, teniendo igualmente la opción de definir cuál mantendrá en sus favoritos, las publicaciones no seleccionadas serán borradas de su perfil. Búsqueda libre y otros criterios de búsqueda Las herramientas no sólo deberán realizar sus búsquedas por medio de catálogos existentes en la base de datos (Autor, Titulo, Tema, etc.) ya que puede resultar un poco tedioso para un usuario que no sepa, explícitamente, dónde buscar; para evitar esto se deberá contar con una búsqueda libre, la cual permite introducir los términos o palabras de las cuales se desea obtener información; es decir, un buscador como los que encontramos disponibles en Internet. Un buscador incorporado en una biblioteca digital, por sí solo es una herramienta muy importante en las actividades del usuario, pero es muy generalizado, ya que sólo busca términos en las áreas indicadas por el usuario. Cabe recordar que el área de búsqueda debe ser definida por el usuario en un módulo de configuración del buscador, en donde dicho usuario selecciona en qué áreas buscar (por ejemplo: Tema, Evento, Autor, etc.) y el buscador sólo se encarga de realizar la búsqueda de términos en los campos elegidos. Ahora, ¿qué pasa si el usuario quiere incluir algunos campos más para la operación del buscador, sin necesidad de cambiar su configuración personalizada? Una forma de solucionar este problema es el uso de algún tipo de etiquetas en el texto de búsqueda; es decir, se puede definir una serie de etiquetas referentes a los catálogos disponibles, se puede buscar en el apartado de Categoría de publicación aun cuando esta opción no esté activada, agregando la etiqueta Categoría: “Lenguajes de Programación” en el texto de búsqueda, lo cual hará que se realice la búsqueda de la frase “Lenguajes de Programación” en la opción de categorías de publicación, aun cuando en la configuración del buscador para el usuario este campo no esté activado. Identificación de perfiles afines distribuidos (PAD) En el proceso de búsqueda de información por parte de los usuarios, resulta muy difícil que encuentren información que satisfaga completamente sus necesidades en cuanto a las herramientas de búsqueda no son la excepción; por lo tanto, es necesario contar con una forma de retroalimentación del proceso de búsqueda y aprendizaje del usuario, buscando satisfacer sus requerimientos de información, por lo que se propone la identificación de perfiles afines distribuidos (PAD). Esta característica consiste en poder identificar a los usuarios que en un momento dado están haciendo uso de la biblioteca y estén solicitando información de temas relacionados o iguales, una vez hecho esto, la biblioteca digital debe ser capaz de establecer la comunicación entre dichos usuarios, con el fin de que intercambien opiniones, comenten sus dudas y enriquezcan el proceso de aprendizaje a través del intercambio de conocimientos del tema buscado. Lo anterior puede llevarse a cabo por medio de un demonio que esté ejecutándose en el servidor, el cual se encuentra revisando constantemente las operaciones de búsqueda solicitadas al servidor, con el fin de determinar o identificar si existen peticiones iguales, aquellas que guarden estrecha relación, y con base en ello identificar a los usuarios que realizaron dichas peticiones y proceder a establecer la comunicación entre ellos. El aviso a un usuario de la existencia de otro que tiene las mismas necesidades, puede ser a través de la ejecución de un agente visual propuesto en los apartados anteriores, que le indiquen al usuario la presencia en la biblioteca de un segundo usuario y el tema que el segundo usuario está buscando, dejando a decisión del usuario contactado el establecimiento o no de la comunicación. La comunicación entre usuarios puede ser establecida a través del uso de correos electrónicos, la cual es la forma más sencilla y menos atractiva, la otra opción es a través del uso de applets para formar un chat entre los usuarios conectados, que además, cuando se tuvieran más de dos usuarios conectados a la biblioteca y buscando el mismo tema, la interacción de los usuarios se dé a través de un applet que funcione como un salón de “chat”. La característica anterior, sin lugar a dudas haría de la biblioteca digital no sólo una poderosa herramienta para la búsqueda de información, sino que además sería una herramienta inteligente en su funcionamiento y sensible a las necesidades de los usuarios. Foro de discusión personalizado Es común encontrar en Internet y sobre todo en una Biblioteca Digital materiales electrónicos, que requieran de ciertos comentarios con el fin de mejorar la retroalimentación y el contenido entre los usuarios, así como de los autores. El uso de un foro de discusión personalizado ayuda a la comunicación entre los usuarios y los autores de los materiales para asignar comentarios a los materiales electrónicos encontrados en la biblioteca (por ejemplo: una publicación del estudio de materiales –Química-, tiene una estrecha relación con algún video diseñado en otro lugar, “este comentario puede ser introducido al foro”) con esto se intenta lograr el enriquecimiento de los contenidos, colaborando los usuarios al establecer este tipo de relaciones o a realizar comentarios para mejorar las publicaciones en la biblioteca. Los usuarios podrán seleccionar publicaciones específicas y llevar un seguimiento de los comentarios realizados en el foro de discusión, proporcionando las actualizaciones realizadas desde su último acceso al sistema. Arquitectura del sistema de búsqueda La plataforma se caracteriza por estar estructurada en capas, lo que permite la flexibilidad en la implementación elegida para cada capa. Son tres las partes que la conforman, y en el último nivel se hace una vinculación con un navegador web que sirve de interfaz a los usuarios. Figura 5 El diseño de la plataforma del material que se presenta está ilustrada en la figura anterior. A continuación se describen las partes que conforman dicha plataforma. Capa de presentación Es la capa de nivel mas alto y consiste en seleccionar las herramientas a usar para generar el entorno de trabajo directo con el usuario, que principalmente está compuesta de páginas web, en esta capa, como en las demás, se pretende que la implementación sea independiente de las capas anteriores; es decir, que el uso de cierta herramienta no restrinja o determine los recursos o herramientas utilizadas en las capas anteriores, de tal forma que si en la capa de presentación pueden utilizar como herramientas a PHP, JSP o servlets de java, esto no afecte la estructura de las capas anteriores, permitiendo la flexibilidad que se comentó anteriormente. Como se puede apreciar esta capa tiene dos objetivos principales: la de proporcionar al usuario un entorno de trabajo de calidad, eficiente y sencillo, y la de interactuar con la capa que le sigue, la cual será descrita a continuación. Capa intermedia o de servicios La capa intermedia es la más importante dentro de la plataforma, ya que es la que se encarga de procesar las peticiones del usuario y administra las actividades que se llevan a cabo dentro del ambiente en su totalidad. Para prestar un servicio eficiente, esta capa está dividida en cuatro partes que se refieren a aspectos de administración, de servicios y de atención a los usuarios del ambiente; las partes que componen esta capa son: pool de conexiones, sistema de servidores, sistema de PAD’s y agentes inteligentes, los cuales son descritos a continuación: Pool de conexiones. Este segmento se encarga de administrar las conexiones realizadas a la base de datos, las cuales son configurables en este módulo, en donde se especifica el ODBC a través del cual se debe conectar, y los datos requeridos por el manejador de base de datos. El hecho de permitir la configuración de este segmento, permite tener soporte de la base de datos a cualquier tipo de manejador de base de datos, así como especificar la carga de trabajo máxima permitida para el ambiente, esto buscando la eficiencia en las operaciones del sistema y nuevamente permitiendo la flexibilidad e independencia en la implementación de las capas. Sistema de servidores. En el segmento de sistemas de servidores se administra el entorno distribuido de la aplicación; en esta fase se encuentran especificados cuáles son los servidores que están integrados a la plataforma propuesta, con los cuales se puede trabajar directamente en la búsqueda de la información solicitada por el usuario. Es en esta capa donde se maneja la característica distribuida de la aplicación, ya que se sabe cuáles son las fuentes con las que se cuentan, así como la información necesaria para acceder a ellas, debido a que la plataforma es independiente de la implementación de cada una de las capas, la comunicación entre los servidores es transparente, este segmento está fuertemente ligado a los segmentos restantes. Sistemas de perfiles afines distribuidos (PAD’s). Este segmento está orientado hacia el servicio a los usuarios; se caracteriza por prestar un servicio adicional a los usuarios registrados al sistema, el cual es la de identificación de perfiles afines entre los usuarios que por principio hayan iniciado una sesión en el sistema y estén investigando temas similares, esto con el fin de buscar una retroalimentación en el proceso de búsqueda de información. Agentes inteligentes. En el segmento de agentes inteligentes, como su nombre lo indica, se encuentran ubicados los agentes que se utilizan en el sistema, tanto agentes que se encargan de realizar las tareas de búsqueda y selección de información como los agentes visuales, los cuales tendrán interacción directa con los usuarios. Los agentes inteligentes se encargarán de interpretar las peticiones de los usuarios, procesarlas y mostrarles los mejores resultados encontrados; están fuertemente relacionados con los demás segmentos de esta capa, ya que le sirven de base para sus operaciones, por ejemplo interactúan con el segmento de sistemas de servidores para poder determinar a qué servidores adicionales consultar los requerimientos del usuario, determinan el criterio de selección de los servidores existentes en los procesos de búsquedas distribuidas, generan perfiles de los usuarios, etcétera. Capa de sistema La capa de sistema es la capa primaria de la plataforma, en ella se encuentran almacenados los datos con los cuales opera la aplicación, la información con que se cuenta, el sistema operativo sobre el cual trabaja la aplicación y el servidor web utilizado. Como ya se mencionó antes, la plataforma trata de ser lo más independiente con respecto a las implementaciones de las demás capas, de tal manera que la aplicación debe funcionar sin importar el sistema operativo; la base de datos y servidor web utilizados en esta fase, evidencian la importancia de esta capa, ya que es la base sobre la cual habrá de implementarse la aplicación, y la cual determinará la eficiencia con la que se desenvolverá el ambiente de trabajo y todas las operaciones del sistema. Cabe mencionar que debe haber una fuerte afinidad entre los recursos utilizados para implementar cada uno de los segmentos de esta capa, ya que la interacción entre estos es lo que al final determinará el rendimiento de la aplicación y la calidad de los servicios proporcionados a los usuarios. Conclusiones La utilización de estos agentes brinda la posibilidad de tener nuevos métodos de aprendizaje, los cuales están basados en experiencias y, desde luego, también en la estrecha relación que existe entre los usuarios y cualquier sistema computacional en el proceso de enseñanza-aprendizaje por Internet. Permite el uso de un ambiente virtual de aprendizaje asistido por agentes visuales que se adaptan a los requerimientos y ritmos de trabajo de los usuarios, los cuales le proporcionan orientación y explicación en las actividades de enseñanza-aprendizaje provocando una mayor interacción entre el usuario y el ambiente, apegándose de una manera más real e innovadora a la forma en que se debe desarrollar dicho proceso de enseñanza-aprendizaje. Lo anterior, aunado al uso de una biblioteca digital con el potencial de la descrita en el presente trabajo, representa un importante avance en proceso de desarrollo de herramientas que satisfacen las necesidades de la educación a través de ambientes de aprendizaje virtuales en Internet. También es importante el hecho de que la aplicación tiene la característica de ser flexible a las herramientas utilizadas en la implementación de las capas que conforman su plataforma. Trabajo futuro El desarrollo del trabajo que se propone implica el manejo de grandes cantidades de información, las cuales están almacenadas en las bases de datos que forman parte del ambiente distribuido del sistema, además de que sería muy importante para el proyecto el uso de formatos para el intercambio de datos en Internet. La propuesta como trabajo futuro es el uso de XML como estándar para el intercambio de datos, ya que XML se está convirtiendo en estándar más utilizado en la actualidad en el mundo de Internet, teniendo gran éxito en el campo del comercio electrónico, aplicaciones Bussiness to Bussines (B2B), Bussiness to Client (B2C), entre otros. El uso de XML en el trabajo se basará en la creación de un sistema de consulta para bases de datos y documentos XML, y que las respuestas a estas consultas también sean generadas en este mismo formato, lo cual nos llevará a tener un ambiente de trabajo más completo, además de que permitirá el intercambio de información no sólo entre servidores de nuestro sistema, sino con cualquier servidor en el mundo que utilice el mismo estándar para el intercambio de información, sin modificar la plataforma con la que fue diseñada la aplicación. Bibliografía ActiveX® technology for interactive software agents, October 1998, Microsoft Corporation, http://msdn.microsoft.com/workshop/imedia/agent/intro.asp Colin Steed. Web-based Training. Gower Publishing Limited, 1999. Larios, E., Fabela, O., & Guerra, J. (2002) Agentes asistentes personales. Int. I congreso Internacional Sociedad de la Información CISIC 2002, Las Palmas de Gran Canaria, 27 y 28 de febrero y 1 de marzo, 2002. (pp. 287-290 ) McGrawHill. Núñez, G. & Sheremetov, L. EVA: "Un ambiente de enseñanza personalizada cooperativa", In Proc. of the Int. Conference SOMECE´99, Guadalajara, México, 18-20 de Octubre, 1999. Peredo, R. & Sheremetov, L. "Arquitectura de componentes de software programables reutilizables inteligentes para materiales multimedia en eva", in Proc. of the Int. Conference CIC 2001, México, D.F., México, 12-16 de noviembre, 2001. Peredo, R., Sheremetov, L., García, C., & Larios, E. (2002). "Generador de exámenes utilizando componentes de software programables reutilizables inteligentes para materiales multimedia en espacios virtuales de aprendizaje (EVA)". en Simposio Internacional de Tele-Educación y Formación Continua, Palacio de Convenciones de La Habana, Cuba, 18-23 de mayo. Sheremetov, L. & Larios, E. (2001). "Agentes asistentes en ambientes de aprendizaje". Congreso Convergente IESM/IESLA, Xalapa, Veracruz, México, 20 y 21 de julio de 2001, pp. 89-93. Sheremetov, L. & Peredo, R., EVA: "Un ambiente de enseñanza para la www", en Proc. of the Int. Conference SOMECE 2000, Monterrey, México, 18-20 de noviembre, 2000 . Notas 1 Laboratorio de Agentes del Centro de Investigación en Computación,
Instituto Politécnico Nacional, jonatan [sher][ofabela][jguerrav][peredo]@cic.ipn.mx.
|