estudio de la aplicabilidad de los agentes …
TRANSCRIPT
“ ESTUDIO DE LA APLICABILIDAD
DE LOS AGENTES INTELIGENTES EN
LAS INTERFACES DE USUARIO ”
Por:
Lisdrelys D. Rojas Puccini
Proyecto de Grado presentado ante la ilustre Universidad de los Andes como
requisito final para optar al título de Ing. de Sistemas.
UNIVERSIDAD DE LOS ANDES
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA DE SISTEMAS
Mérida, marzo de 2002
Aprobada:
________________ __________________
Prof. Flor Narciso Prof. Jonás Montilva Tutora Jurado
______________________ Prof. Wladimir Rodríguez
Jurado
Reconocimiento
“ ESTUDIO DE LA APLICABILIDAD
DE LOS AGENTES INTELIGENTES EN
LAS INTERFACES DE USUARIO ”
Autor: Lisdrelys D. Rojas Puccini
Tutora: Dra. Flor E. Narciso Farías
Co-Tutor: Dr. Wladimir Rodríguez
Proyecto de Grado presentado ante la ilustre Universidad de los Andes como
requisito final para optar al título de Ing. de Sistemas
UNIVERSIDAD DE LOS ANDES
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA DE SISTEMAS
Mérida, marzo de 2002
Reconocimiento
“ ESTUDIO DE LA APLICABILIDAD
DE LOS AGENTES INTELIGENTES EN
LAS INTERFACES DE USUARIO ”
Autor: Lisdrelys D. Rojas Puccini
Tutora: Dra. Flor E. Narciso Farías
Co-Tutor: Dr. Wladimir Rodríguez
Proyecto de Grado presentado ante la ilustre Universidad de los Andes como
requisito final para optar al título de Ing. de Sistemas
UNIVERSIDAD DE LOS ANDES
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA DE SISTEMAS
Mérida, marzo de 2002
Reconocimiento
A mis adoradas, mami y abuelita Juana, que con su presencia llenan de alegría
mi vida y me han demostrado ser las mejores del mundo, con amor,
compresión, paciencia y acompañándome en
todo momento. A mi papá, por ser la persona que me ha brindado su apoyo y ayuda
cuando lo he necesitado. A ellos que me guiaron por el buen camino
y les debo todo lo que soy y lo que seré, les dedico de todo corazón,
mis logros y triunfos.
Reconocimiento
AGRADECIMIENTO
A Dios Todopoderoso, por darme la oportunidad de vivir, por ser mi guía y fiel amigo
espiritual, en el que me he sostenido llenando mi vida de triunfos y logros, por permitirme
llegar y alcanzar esta etapa de mi vida, en la que no estuve sola, porque gracias a ti, tuve la
oportunidad de contar con personas especiales.
A la Prof. Flor Narciso, mi estimada Tutora, por su paciencia, compresión, apoyo y
preocupación a lo largo de este proyecto.
Al Prof. Wladimir Rodríguez, mi estimado Co-tutor, por su valiosa colaboración en la
investigación y desarrollo de este proyecto.
Al Ing. Roiman, mi querido hermano, por ser mi ejemplo a seguir, por estar siempre
presente dándome ánimo para seguir adelante, y por brindarme la oportunidad de realizar
este proyecto en su oficina. Y Al Ing. Robert por recibirme en ella con gratitud.
A mis grandes y queridas amigas, Reina, Anny, Glenda Rietveldt, Yeni Araujo y Yohanna,
por compartir conmigo largas horas de estudio a lo largo de nuestra carrera, por permitirme
contar con ustedes cuando más las necesitaba, sin su valiosa amistad, cariño y apoyo esto
no hubiera sido posible.
Gracias.
Lisdrelys.
Reconocimiento
INDICE DE CONTENIDO
PAG.
DEDICATORIA............................................................................................................... ii
AGRADECIMIENTO...................................................................................................... iii
RESUMEN....................................................................................................................... x
CAPITULO 1: INTRODUCCIÓN................................................................................. 1
1.1. Antecedentes................................................................................................. 1
1.2. Trabajos afines.............................................................................................. 2
1.3. Motivación..................................................................................................... 7
1.4. Definición del problema................................................................................ 8
1.5. Objetivos....................................................................................................... 8
1.6. Metodología.................................................................................................. 9
1.6.1. Tipo de investigación..................................................................... 9
1.6.2. Descripción de la metodología...................................................... 10
1.6.2.1. FASE I: Reconocimiento del problema.......................... 10
1.6.2.2. FASE II: Elaboración de un esquema de trabajo............ 10
1.6.2.3. FASE III: Documentación............................................... 10
1.6.2.4. FASE IV Y FASE V: Recolección de datos y
clasificación de fuentes de información.......................... 11
1.6.2.5. FASE VI: Clasificación de los datos.............................. 11
1.6.2.6. FASE VII: Estructura de los principales
tópicos de la información........................ 11
1.7. Estructura del Proyecto de Grado................................................................. 12
CAPITULO 2: AGENTES............................................................................................... 13
2.1. Definición de agente..................................................................................... 13
2.2. Importancia del uso de los agentes................................................................ 14
2.3. Características de un agente.......................................................................... 15
Reconocimiento
2.4. Clasificación de agentes................................................................................ 18
2.4.1. Clasificación de agentes en base a sus capacidades
para resolver problemas................................................................ 18
2.4.2. Clasificación de agentes en base a la autonomía,
aprendizaje y cooperación............................................................. 19
2.5. Tipos de agentes........................................................................................... 20
2.6. Arquitecturas de agentes.............................................................................. 21
2.6.1. Arquitecturas en capas................................................................... 21
2.6.2. Arquitecturas deliberativas............................................................ 22
2.6.3. Arquitecturas reactivas.................................................................. 24
2.6.4. Arquitecturas híbridas................................................................... 24
2.7. Aplicaciones de los agentes......................................................................... 25
2.7.1. Aplicaciones industriales.............................................................. 26
2.7.1.1. Fabricación.................................................................... 26
2.7.1.2. Control de procesos....................................................... 26
2.7.1.3. Telecomunicaciones...................................................... 26
2.7.1.4. Control de tráfico aéreo................................................. 27
2.7.2. Aplicaciones comerciales............................................................. 27
2.7.2.1. Manejadores de información........................................ 27
2.7.2.2. Comercio electrónico...................................................... 28
2.7.3. Aplicaciones de entretenimiento.................................................... 29
2.7.4. Aplicaciones médicas..................................................................... 29
2.8. Lenguajes de programación de agentes.......................................................... 30
2.8.1. Lenguajes de programación de la
estructura del agente.................................................................. 30
2.8.2. Lenguajes de comunicación de agentes.......................................... 31
2.8.3. Lenguajes de programación del
Reconocimiento
comportamiento del agente............................................................ 31
2.9. Sistemas multiagentes................................................................................... 32
2.9.1. Definición de un sistema multiagente (SMA)................................ 33
2.9.2. Características de un sistema multiagente...................................... 33
2.9.2.1. Organización social.......................................................... 33
2.9.2.2. Cooperación..................................................................... 33
2.9.2.3. Coordinación.................................................................... 34
2.9.2.4. Negociación..................................................................... 34
2.9.2.5. Control............................................................................. 34
2.9.3 Ventajas de los sistemas multiagentes............................................. 35
CAPITULO 3: AGENTES DE INTERFAZ DE USUARIO......................................... 36
3.1. ¿Por qué agentes de interfaz de usuario?....................................................... 36
3.2. Usos de los agentes de interfaz de usuario
en el plan de interacción.............................................................................. 39
3.2.1. Agentes como compañeros de diálogo........................................... 39
3.2.2. Agentes para ayuda y aprendizaje.................................................. 40
3.2.3. Tutores y compañeros de aprendizaje......................................... 42
3.2.4. Delegación...................................................................................... 43
3.2.5. Conducta emocional....................................................................... 44
3.2.6. La visión subjetiva de la información............................................ 44
3.2.7. Narrativas....................................................................................... 45
3.3. Vistas de la colaboración de los sistemas usuario-agente............................. 46
3.3.1. El compañero.................................................................................. 46
3.3.2. Agente incluido............................................................................. 47
3.3.3. El representante.............................................................................. 48
3.4. Críticas y riesgos........................................................................................... 49
3.4.1. ¿Se debe reservar la interacción a
la comunicación humana-humana?.............................................. 50
3.4.2. ¿El antropomorfismo es considerado dañino?............................... 50
Reconocimiento
3.4.3. Requisitos para una nueva metodología de diseño....................... 51
3.5. Impacto de agentes de interfaz de usuario
en la accesibilidad universal..................................................................... 52
3.6. Principios de diseño para los agentes de interfaz de usuario.................... 53
3.6.1. Sugiera en lugar de actuar............................................................. 53
3.6.2. Aproveche la información que el usuario da al agente.................... 53
3.6.3. Aproveche el tiempo en que el usuario está pensando.................... 54
3.6.4. La atención de los usuarios puede ser utilizada
en tiempo compartido..................................................................... 54
3.6.5. Los agentes de interfaz de usuario autónomos pueden
tener una compensación diferente
entre deliberación y acción............................................................ 54
3.6.6. Una interfaz autónoma no puede absorber los
estilos cognoscitivos de todos los usuarios.................................. 55
CAPITULO 4: INTERFAZ DE USUARIO INTELIGENTE....................................... 56
4.1. Historia del desarrollo de las interfaces de usuario...................................... 56
4.2. Factores que hacen a una interfaz de usuario usable..................................... 58
4.3. Análisis de las tareas de los usuarios............................................................ 58
4.4. Análisis de los usuarios................................................................................ 60
4.5. Análisis del ambiente de trabajo de los usuarios......................................... 63
4.6.1. Aspectos importantes del ambiente................................................ 63
4.6. ¿Qué no es una interfaz de usuario inteligente?..................................... 64
4.7. Definición de una interfaz de usuario inteligente........................................ 65
4.8. ¿Qué hace a una interfaz de usuario, inteligente?....................................... 65
4.9. ¿Sobre qué puede ser una
interfaz de usuario inteligente ?................................................................ 66
4.10. Razones para crear sistemas con una interfaz de usuario inteligente.......... 66
4.11. Componentes de una interfaz de usuario inteligente................................... 67
Reconocimiento
4.11.1. Modelo del usuario........................................................................ 67
4.11.2. Comunicación multimodal........................................................... 69
4.11.3. Reconocimiento del plan.............................................................. 70
4.11.4. Presentación dinámica.................................................................. 70
4.11.5. Lenguaje natural........................................................................... 70
4.11.6. Ayuda inteligente......................................................................... 71
4.11.7. Interfaz adaptable......................................................................... 71
4.12. Principios de utilidad para la interfaz de usuario inteligente..................... 71
4.12.1. Dar control al usuario sobre el sistema........................................ 72
4.12.2. Privacidad y confianza................................................................. 73
4.12.3. Cambio de responsabilidad de los usuarios al sistema................ 73
4.13. Arquitectura básica de una interfaz de usuario inteligente....................... 74
4.14.1. Modelo del usuario..................................................................... 75
4.14.2. Modelo del discurso..................................................................... 75
4.14. Áreas de aplicación de las interfaces de usuario inteligentes..................... 76
4.15. Métodos para crear una interfaz de usuario inteligente............................... 77
CONCLUSIONES Y RECOMENDACIONES............................................................... 79
REFERENCIAS BIBLIOGRÁFICAS............................................................................. 84
Reconocimiento
INDICE DE FIGURAS
PAG. FIGURA 2.1. Arquitecturas horizontales(reactivos) y
verticales(deliberativos).......................................................................... 22
FIGURA 2.2. Arquitectura PRS.................................................................................... 23
FIGURA 2.3. Arquitectura híbrida (Interrap)................................................................. 25
FIGURA 3.1. Ejemplo de un conjunto de herramientas disponibles.............................. 37
FIGURA 3.2. Una pantalla del sistema DIVERSE......................................................... 40
FIGURA 3.3. Herman the bug......................................................................................... 42
FIGURA 3.4. Agente Jennifer: vendedora de automóviles............................................ 45
FIGURA 3.5. El agente como un compañero de diálogo................................................ 47
FIGURA 3.6. El Agente como representante de usuario (en un
espacio de usuarios y agentes)................................................................. 48
FIGURA 4.1. Arquitectura básica de una interfaz de usuario inteligente....................... 74
Reconocimiento
RESUMEN
La cantidad de información disponible en la Internet es demasiado extensa, y aunque la
información de interés probablemente esté en alguna parte, en la práctica difícilmente
puede ser encontrada en su totalidad. Una solución a este problema la constituye el uso de
los agentes inteligentes que asisten activamente al usuario, proporcionándole información
realmente de su interés mientras navega o realiza sus actividades normales en la WEB.
Frente a esta nueva alternativa surgen obligatoriamente ciertas preguntas como ¿En qué
consiste este nuevo paradigma?, ¿Qué es un agente?, ¿Qué frece de nuevo?, ¿Cuáles son
sus lenguajes de programación?...etc. Las respuestas a estas preguntas han sido de interés
de investigación no sólo en el área de Inteligencia Artificial sino en muchos campos de
aplicación. Uno de los campos de aplicación donde los agentes inteligentes, también, están
llegando a ser indispensables es en la Interacción Humano Computadora, debido a la
complejidad creciente de las interfaces de usuario y las tareas para las que son
desarrolladas.
El área de investigación de las interfaces de usuario inteligentes también ha
enfocado su estudio en las interfaces basadas en agentes. Esta área de investigación apenas
está comenzando, tanto así, que los aspectos a considerar sobre este tema se están
definiendo, en la actualidad.
Sobre la base de estas consideraciones, se decide estudiar tanto a los agentes
inteligentes como a las interfaces de usuario inteligentes, y con estos aportes, alcanzar el
propósito que se persigue, el cual consiste en una revisión bibliográfica para determinar la
aplicabilidad de los agentes inteligentes en las interfaces de usuario.
Descriptores:
Interfaces para computadoras Cota:
Interfaces hombre-máquina(computador) TK7887.5 R64
Interfaz hombre-computador
Reconocimiento
CAPITULO 1
INTRODUCCIÓN
1.1. Antecedentes
Tanto a nivel local como mundial, se está produciendo un aceleramiento del
continuo cambio que se viene dando respecto a la necesidad de interacción de
diferentes usuarios con sistemas informáticos. Hoy en día, las computadoras están
presentes en el supermercado, en el automóvil, en el teléfono, los preescolares utilizan
juegos de computadora, los niños de la escuela primaria están probando aprendizaje
interactivo, búsqueda de información en bibliotecas, los adolescentes necesitan el
acceso a la Web para realizar sus tareas, y los negocios están estableciendo sitios Web
comerciales [54]. La Interfaz de Usuario (IU) debe hacer a la computadora fácil de
aprender, fácil de usar, y adaptable a una amplia gama de usuarios en ambientes
variados.
Las aplicaciones informáticas son cada vez más complejas, y con el uso de la
tecnología de la Inteligencia Artificial, los sistemas informáticos comienzan a adquirir
la capacidad de razonar y de tomar decisiones. Las aplicaciones avanzadas son
caracterizadas por grandes cantidades de información, tareas de estructuras complejas,
funcionamiento en tiempo real, y de incorporación de agentes autónomos o semi-
autónomos [55]. Los requisitos necesarios para atender a estos sistemas exceden las
capacidades de las IU convencionales que no pueden, a menudo, reflejar la semántica
de las tareas de sus usuarios y del dominio del problema correctamente.
Reconocimiento
Junto a esta diversificación y complejidad crecientes, se une la gran cantidad
de información al alcance de usuarios en ambientes muy diversos. La gran mayoría de
los usuarios actuales y potenciales enfrentan serios obstáculos para localizar y filtrar
datos de su interés y para integrarlos y mantenerlos en espacios de información
relevantes, actualizados y útiles. Los estilos actuales de Interacción Humano
Computadora (IHC), basados principalmente en el paradigma de manipulación
directa, son ya insuficientes. Por tanto, es de suma importancia investigar y producir
mejores mecanismos de acceso a conjuntos de datos de grandes dimensiones,
complejidad y dinamismo.
De aquí la necesidad de investigar y desarrollar una Interfaz de Usuario Inteligente
(IUI), propuesta como un medio para superar los problemas que la interfaz basada en la
manipulación directa no puede resolver como: los problemas de inundación de
información; proporcionar ayuda para saber cómo resolver los problemas complejos; o
problemas de tiempo real [36]. Como también desarrollar IU más inteligentes que puedan:
• Aprender de las interacciones con el usuario y adaptarse a las necesidades específicas
del usuario.
• Predecir lo que el usuario desea hacer, y presentar la información con esta predicción en
mente, para hacer la operación más intuitiva y provechosa para el usuario.
• Evitar que el usuario presente un contacto directo con todos los aspectos del sistema,
mientras se encuentre realizando otras acciones.
También se están proponiendo las IUI como medio para hacer sistemas
individualizados o personalizados. La inteligencia en las IU permitiría a los sistemas
adaptarse a sus usuarios, asumiendo tareas del usuario y habilitando un diálogo particular
entre un usuario y el sistema [35].
Reconocimiento
1.2. Trabajos afines
Se han realizado varios estudios y avances sobre IUI, así como proyectos,
algunos de los cuales siguen en proceso con el objetivo de mejorar las capacidades de
las IUI. Algunos son los siguientes:
• Enlaces de páginas relacionadas con IUI [29]: Esta página incluye un índice de recursos
Web, los cuales probablemente podrían ser útiles a las personas que en un futuro se
interesen en trabajar con IUI. Estos recursos son los siguientes: índice general,
organizaciones y laboratorios, personas y los grupos de investigación.
• Enlaces al material sobre IUI [30]: Esta página al igual que la anterior, incluye un
índice de recursos Web, como los siguientes: general, diseño de IUI, interacción
multimodal, agentes de interfaz de usuario colaborativos, modelo de usuario, agentes
que ayudan a buscar información en la Web y por ultimo, las herramientas y
arquitecturas.
• Henry Lieberman [40]: Es un investigador del MIT Media Laboratory. Trabaja con el
grupo de agentes. Especialmente se interesa por combinar la Inteligencia Artificial con
los gráficos interactivos y las ideas de interfaz humana. Trabaja en la construcción de
agentes para las aplicaciones gráficas interactivas que pueden aprender de los ejemplos
demostrados por un usuario.
A continuación se presentan algunos trabajos realizados por Henry Lieberman:
o Letizia [41]: Es un agente de interfaz autónomo que ayuda a un usuario
cuando busca información en la Web. Mira el navegador Web para intentar
aprender los temas de interés del usuario. Graba el URLs escogido por el
usuario y lee las páginas para compilar un perfil de los intereses del usuario.
Presenta sus resultados, usando una ventana independiente, que
probablemente podría interesar al usuario.
Reconocimiento
o Let’s Browser [42]: Es un agente para ayudar a un grupo de personas al
navegar. El papel del agente es representar los intereses de los participantes,
escoge de los enlaces accesibles de la paginación actual, aquéllos que
probablemente podrían satisfacer lo mejor posible los intereses de todos los
participantes.
o Mondrian [43]: Es un editor gráfico que puede aprender nuevos
procedimientos grabando y generalizando acciones de la IU. También puede
aprender nuevos conceptos y procedimientos de las anotaciones gráficas
trazadas en las imágenes de video.
• Entre los sistemas que usan una IUI se pueden mencionar los siguientes:
o Butterfly (Mariposa) [47]: Agente de Búsqueda de conversación para la IRC
(Internet Relay Chat), presentado en la Conferencia Internacional sobre IUI,
en Enero de 1999. La Mariposa es un agente de software que ayuda al
usuario a encontrar los canales en IRC. Funciona manteniendo un perfil de
la palabra clave de los intereses del usuario, muestreando las conversaciones
en varios canales, y le recomienda canales de interés.
o Apt Decision agent [50]: El agente expone el conocimiento inherente en el
dominio de bienes raíces, aprende de cada acción del usuario especificando
sus preferencias en ese dominio y construye un perfil de una manera más
inteligente, sin el esfuerzo redundante o innecesario por parte del usuario. La
interfaz de agente se ha pasado por varias iteraciones para hacerla más
intuitiva y sensible a las acciones del usuario.
o SAGE (SABIO) [38]: Este programa crea datos gráficos inteligentes. La
interconexión inteligente consiste en la determinación de la mejor manera de
visualizar un conjunto de datos, de modo que los datos sean legibles y
comprensibles.
Reconocimiento
o CHORIS [38]: Este sistema se diseña para permitir a una amplia gama de
usuarios, interactuar eficazmente con diferentes tipos de sistemas complejos.
o UCEgo [38]: Es el componente inteligente del consultor de UNIX. Este es
un sistema basado en lenguaje natural, que ayuda al usuario a solucionar los
problemas encontrados mientras que usa UNIX.
o Proyecto Persona [28]: Se inició en 1992 por Microsoft Researchs con el
objetivo de construir un ayudante de computadora que pareciese vivo, un
carácter dentro del PC que actuará recíprocamente con el usuario en
lenguaje natural, y tuviera una presencia expresiva visual. El proyecto se
construyó mediante grandes investigaciones en las áreas de reconocimiento
del lenguaje natural, el procesamiento del lenguaje natural, y las técnicas de
animación por computadora. La meta era alcanzar un nivel interacción y
reacción visual que permita al usuario actuar recíprocamente con el ayudante
de modo natural. Como primer paso del proyecto se ha construido un
prototipo interactivo en el cual el carácter (un loro llamado Peedy) actúa
como ayudante de la música, deja que el usuario pregunte por un CD o una
colección de audio y se tocan canciones selectas. Peedy escucha y habla
inglés y mantiene un modelo rudimentario de diálogo declarativo,
adicionalmente responde (verbalmente o con acciones) a las preguntas del
usuario.
o Proyecto Basar [28]: Con este proyecto se ha desarrollado un prototipo que
provee a los usuarios ayuda para la administración de sus espacios de
información personales así: (a) apoya la actualización de los enlaces a
información; (b) reduce el número de enlaces borrando los viejos, los nunca
usados, o los raramente usados; (c) apoya el crecimiento del espacio usando
herramientas de búsqueda más eficaces, y finalmente, (d) apoya la
Reconocimiento
relocalización de información por referencia a su historia. Agentes de
software llamados ayudantes de la Web proveen apoyo para estas tareas
basados en un modelo de uso (preferencias, intereses, y tareas) usando dos
técnicas, una explícita (pregunta el usuario) y otra implícita (observa el
usuario).
o Proyecto Lumiere [28]: Los prototipos de este proyecto han explorado la
combinación de una perspectiva Bayesiana para integrar información del
fondo del usuario, acciones del usuario, y estado del programa, a través de
un análisis Bayesiano de las palabras en las preguntas de un usuario. El
ayudante de Office 97 supervisa las conductas del usuario y asiste a los
usuarios en las preguntas que éste pueda tener en lenguaje natural.
o FLUIDS (Future Lines of User Interfaces for Decision Support) [32]: El
objetivo principal en FLUIDS es el diseño de un ambiente de software
general para construir IUI para sistemas de ayuda a la toma de decisiones en
tiempo real. Los principales resultados del proyecto son: (1) un ambiente
software de desarrollo de interfaces inteligentes para sistemas de ayuda a la
toma de decisiones, caracterizado por una arquitectura abierta construida con
piezas reutilizables que puede ser adaptada a las necesidades de diferentes
dominios y usuarios, y (2) una metodología para diseñar y construir modelos
de IUI.
o COACH (Cognitive Adaptative Computer Help) [34]: Permite crear ayuda
personalizada al usuario. Es un observador de las acciones del usuario que
está aprendiendo a operar un ambiente, y en base a ellas construye un
modelo adaptativo del usuario.
• Entre los libros sobre IUI, se pueden mencionar:
Reconocimiento
o Readings in Intelligent User Interfaces [46]: Este libro es una recopilación
de los artículos más interesantes en el área de las IUI. Sigue una estructura
similar a todos los libros de Morgan Kauffman, introduciendo un estado del
arte para cada tema, y a continuación, una serie de artículos relevantes en
esa área.
o Intelligent User Interfaces [39]: Este libro se enfoca en el mejoramiento de
la interfaz humano computadora con la tecnología de inteligencia artificial.
El trabajo en esta área se centra en el desarrollo de IUI que puedan entender
las intenciones del usuario, comunicar al usuario, aconsejar al usuario y
adaptar sus interacciones con el usuario basado en los resultados de
interacciones anteriores. El libro contiene una introducción al campo,
arquitecturas específicas para las IUI, los modos de comunicación múltiples,
modelos de usuario y sistema, metas e intenciones del usuario y las
herramientas para la construcción de IUI.
1.3. Motivación
Uno de los desarrollos más significantes en la IHC es el movimiento hacia la
utilización de inteligencia en las IU a través del uso de agentes. Las ideas expresadas
por las personas como: Laurel y Kay en l990 [27] se han llevado a cabo ahora por
investigadores como Maes [27] y popularizado por otros [27]. Actualmente, los
principales participantes del proceso de desarrollo de la tecnología de agentes se
encuentran las grandes Universidades como [24]: Carnegie Mellon, Stanford, MIT, la
Universidad de Londres, etc., así como las empresas internacionales [24]: AT&T,
IBM, HP, Lotus, Microsoft, Oracle, Apple, Xerox, etc. La tecnología de agentes está
a punto de alterar radicalmente, no solamente la manera en la que se interactúa con las
computadoras, sino también en la manera en que se conceptualizan y se
construyen los sistemas complejos [24].
Reconocimiento
En vista de que hasta el momento no se han realizado investigaciones sobre IUI en
la Escuela de Ingeniería de Sistemas de la Universidad de Los Andes (EISULA),
surge el interés, con este proyecto, de estudiar este nuevo paradigma en la IHC. Esto
contribuirá a incentivar el desarrollo de IUI en EISULA; proporcionando para ello
enlaces de las personas que se interesan en esta investigación, así como de los
principales trabajos e investigaciones realizadas en el área, los cuales sirvieron de
apoyo y ayuda en la realización de este Proyecto de Grado.
1.4. Definición del problema
Las IUI de los sistemas actuales requieren que los usuarios se adapten a su
funcionamiento, la gran mayoría de ellos no apoyan al usuario a realizar sus tareas.
Para lograr la facilidad de uso de los sistemas, se requiere incorporar IUI capaces de
comportamiento autónomo, orientado a objetivos dentro de un ambiente particular,
que actúen como asistente personal del usuario, y que además posean la habilidad de
adaptación a los distintos usuarios en obediencia a órdenes directas y aprendiendo de
su experiencia con ellos.
Hasta el momento, en EISULA, no se han realizado investigaciones sobre IUI.
A esto se le suma el hecho de que el área de IUI es un campo heterogéneo de
investigación [53], donde personas de diferentes disciplinas, debaten y colaboran. Se
han escrito artículos sobre interfaces multimodales, interfaces adaptativas, aunque
intenten hacer una IUI, ninguno de estos artículos, se enfoca en los conceptos básicos
sobre IUI. Por otro lado, esta área de investigación se ha centrado también en el
estudio de las interfaces basadas en agentes. Es por esto, que se estudian los
conceptos básicos propios de este campo, para alcanzar el propósito fundamental de
este proyecto que es determinar la aplicabilidad de los agentes inteligentes en las IU.
Reconocimiento
1.5. Objetivos
El objetivo general de este Proyecto de Grado es realizar una revisión
bibliográfica para determinar la aplicabilidad de los agentes inteligentes en las
interfaces de usuario.
Los objetivos específicos que se pretenden alcanzar son:
• Estudiar el estado actual de los agentes inteligentes, interfaces de usuario, e interfaces
de usuario inteligentes.
• Incentivar la investigación y desarrollo de IUI en EISULA.
• Proporcionar a los futuros desarrolladores de estas IUI material en español, así como
los enlaces a las diferentes personas que trabajan en el área y de los principales
proyectos, publicaciones e investigaciones que se han realizado en este campo.
1.6. Metodología
A continuación se describen los pasos a seguir en la metodología:
1.6.1. Tipo de investigación
De acuerdo a lo establecido en el manual para la Elaboración del Trabajo Especial
de Grado de la Universidad Católica Andrés Bello (UCAB, 1997), se tratará de un estudio
de tipo documental o bibliográfico que “consiste en el estudio de problemas con el
propósito de ampliar y profundizar el conocimiento de su naturaleza, con apoyo
principalmente, de fuentes bibliográficas y documentales...” En este caso, el aporte teórico
estará constituido por las consideraciones que resultarán del cumplimiento de los objetivos
de la investigación.
Este Proyecto de Grado se ve representado por un estudio de tipo bibliográfico, que
consiste en la revisión y recopilación de información, para estudiar la aplicabilidad de los
agentes inteligentes en las IU, con el propósito de ampliar y profundizar el conocimiento de
su naturaleza.
Reconocimiento
Por otro lado, según el criterio de Hernández y col. (1998) [56], se tratará de un
estudio de tipo descriptivo en tanto que se busca especificar las propiedades importantes del
tópico a investigar.
1.6.2. Descripción de la metodología
La metodología utilizada consiste en una serie de fases que orientarán y definirán
la investigación [56]:
1.6.2.1. FASE I: Reconocimiento del problema: Consiste en la identificación,
causas, diagnóstico y pronóstico del problema; al plantearse el problema, éste será claro y
preciso para que permita una mejor comprensión de la investigación; es la narración de lo
que acontece.
En la sección 1.4 se realiza la definición del problema donde se especifica que hasta
el momento no se han realizado investigaciones de IUI en EISULA. En vista de las
facilidades que proporcionan las IUI para el uso de los sistemas, así como la habilidad de
adaptación a los distintos usuarios, surge la necesidad de desarrollar dicha investigación.
1.6.2.2. FASE II: Elaboración de un esquema de trabajo: Consiste en la
planificación de las actividades del estudio de forma ordenada para mantener una secuencia
controlada de los avances de la investigación, en el último punto del anteproyecto se
presenta dicho cronograma. Un esquema de trabajo permite el ahorro de tiempo y recursos,
la jerarquización de las prioridades en la investigación y, fundamentalmente eficacia y
eficiencia en el proceso investigador.
Reconocimiento
El cronograma de actividades que se siguió es el siguiente:
• Estudio de los tópicos más importantes sobre agentes
• Estudio de los agentes de interfaz de usuario con la finalidad de conocer la aplicabilidad
que tienen en las IU.
• Estudio sobre las IUI, comenzando con un estudio básico sobre las IU.
1.6.2.3. FASE III: Documentación: Consiste en la recopilación y selección de
material bibliográfico que permita fundamentar las bases del estudio; es un arqueo o lista
de libros, que permitirá determinar los relacionados con la investigación para su análisis,
resumen, compilación, recopilación de texto a través de citas bibliográficas, entre otros.
Para esta investigación, la documentación y revisión bibliográfica se utilizará para
establecer conceptos relacionados con agentes, agentes de interfaz de usuario, IU e IUI.
1.6.2.4. FASE IV y FASE V: Recolección de datos y clasificación de las fuentes
de información: La recolección de datos permitirá determinar la realidad del problema,
además constituye lo que se denominará el reconocimiento del mismo o el diagnóstico.
Generalmente la recopilación de datos se realiza a través de instrumentos como fichas,
colecciones bibliográficas, catálogos bibliohemerográficos, publicaciones, etc.
La clasificación de las fuentes de información permite contar con un material
ordenado y clasificado, la cual permitirá a la investigación el ahorro de tiempo y recursos.
Se debe determinar el tipo de fuente (primaria o secundaria), así como su clasificación a
través de temas o tópicos específicos.
Para el desarrollo de este proyecto se seleccionó información bibliográfica y no
bibliográfica utilizadas con el objetivo de desarrollar dicha investigación, aprovechando las
bondades de las nuevas tecnologías de la información, como es el caso de los beneficios
que están disponibles en la Internet, para satisfacer oportuna y eficientemente la carencia de
material bibliográfico en EISULA, vinculado con la aplicabilidad de los Agentes
Inteligentes en las Interfaces de Usuario.
Reconocimiento
1.6.2.5. FASE VI: Clasificación de los datos: Este aspecto permite ordenar los
datos para un futuro diagnóstico. Este paso permite al investigador, realizar un análisis
exhaustivo, claro y perfilado, lo que garantizará a la investigación contar con resultados
confiables y verificables.
En este Proyecto de Grado se estudiaron cuatro temas diferentes: Agentes, Agentes
de Interfaz de Usuario, Interfaz de Usuario e Interfaz de Usuario Inteligente.
1.6.2.6. FASE VII: Estructura de los principales tópicos de la información: En
esta fase se estructuran los datos e información recolectadas en las fases anteriores,
debidamente organizadas en los tópicos principales correspondientes a cada uno de los
cuatro temas.
1.7. Estructura del Proyecto de Grado
La estructura por capítulos de este Proyecto de Grado es la siguiente:
En este Capítulo 1 se presenta los antecedentes, las razones que motivaron la
realización de este Proyecto de Grado, así como la definición del problema y objetivos.
En el Capítulo 2 se estudian y analizan los conceptos básicos sobre agentes
inteligentes, las características que presentan, tipos de agentes, sus arquitecturas, sus
principales aplicaciones e importancia que lo hace objeto de estudio en inteligencia
artificial y para muchos investigadores. Con la ayuda de estos conceptos se puede
comprender la importancia del uso de los agentes inteligentes en las IU.
En el Capítulo 3, luego de realizar el estudio anterior, se realiza un estudio de la
aplicabilidad de los agentes inteligentes en las interfaces de usuario, estudiando para ello
los agentes de interfaz de usuario.
En el Capítulo 4 se estudian los conceptos relacionados con IUI, empezando un
estudio básico sobre la IU.
Reconocimiento
Y, finalmente, se presentan las conclusiones del Proyecto de Grado y algunas
recomendaciones para trabajos futuros.
Reconocimiento
CAPITULO 2
AGENTES
2.1. Definición de agente
No existe una definición universalmente aceptada del término agente, debido a que
los investigadores en el campo de los agentes han dado varias definiciones al término, cada
uno desde su punto de vista, fundamentado básicamente en la línea de investigación en la
cual trabajan (IA, IHC, Sistemas Distribuidos, Programación Orientada a Objetos y
Programación Concurrente) [22,18].
• Según Russell y Norvig [1] un agente es todo aquello que puede considerarse capaz de
percibir su ambiente mediante sensores y responder o actuar en tal ambiente mediante
efectores.
• Wooldridge y Jennings [18] definen agente como un programa autocontenido capaz de
controlar su proceso de toma de decisiones y de actuar, basado en la percepción de su
ambiente, en persecución de uno o varios objetivos.
• Según Pattie Maes [14] un agente autónomo es un sistema que habita en un entorno
dinámico y complejo, en el que percibe y actúa de manera autónoma, alcanzando el
conjunto de objetivos para el que fue diseñado.
Reconocimiento
• Según Hayes-Roth [14] los agentes inteligentes realizan continuamente tres funciones:
percepción de las condiciones dinámicas de un entorno, acción (que afecta a dichas
condiciones) y razonamiento (según para interpretar percepciones, resolver problemas,
hacer inferencias y determinar acciones).
• Según Gilber A. [14, 22] los agentes inteligentes son entidades programadas que llevan
a cabo una serie de operaciones en nombre de un usuario o de otro programa, con algún
grado de independencia o autonomía, empleando algún conocimiento o representación
de los objetivos o deseos del usuario.
2.2. Importancia del uso de los agentes
Según Sheremetov Leonid [23] la explosión informativa, dada por: la información
abundante, imprecisa, incompleta e incluso contradictoria, además las fuentes de dicha
información distribuidas y heterogéneas, trae consigo muchos problemas incluyendo ¿Qué
tipo de búsquedas deben aplicarse para encontrar información útil y relevante de entre todo
ese mar de datos?, ¿Qué técnicas deben implementarse para optimizar el tiempo de
búsqueda y acceso? [10]. Estos problemas se presentan debido a la naturaleza propia de
Internet, ya que es una colección desorganizada de sitios y documentos, cuyo crecimiento
exponencial ha sobrepasado la habilidad que cualquier usuario experto de bases de datos
pudiera tener [10].
Esta gran cantidad de información disponible en forma “on-line” a través de Internet
puso de manifiesto la importancia y necesidad de proveer a los usuarios herramientas que
faciliten la navegación y búsqueda en este gran espacio de información. Las primeras
soluciones en este sentido la constituyen los motores de búsqueda que brindan, mediante
una interfaz simple basada generalmente en palabras clave, el acceso a un gran número de
documentos Web. Sin embargo, esta simplicidad para expresar requerimientos de
información, usualmente conlleva pobres niveles de precisión en los resultados obtenidos a
partir de ellos. Esto implica que un usuario debe dedicar una considerable cantidad de
tiempo y esfuerzo en revisar o navegar a través de lista ordenada de documentos, donde
Reconocimiento
normalmente varios de ellos no son de su interés, antes de encontrar información
verdaderamente relevante.
Una alternativa a este problema la constituyen los agentes inteligentes que asisten
activamente al usuario, proveyéndole información personalizada mientras navega o realiza
sus actividades normales en la Web. Recientes desarrollos en este sentido son
PersonalWebWatcher [17], Letizia [17], Syskill&Webert [17]. Para lograr esto, un agente
debe contar con un perfil del usuario que deberá construir necesariamente a partir del
análisis de las interacciones del usuario con el sistema. Un componente de aprendizaje que
permitirá que este modelo evolucione ante cambios en las preferencias del usuario [17]. De
este modo se pueden construir agentes que adapten la interfaz del sistema al perfil del
usuario o que cambien el modo de mostrar la información, los cuales son llamados agentes
de interfaz de usuario.
Los sistemas están llegando a ser cada vez más complejos, sistemas donde la
aplicación de las técnicas existentes hoy en día han fracasado, es aquí donde se plantea esta
nueva tecnología de los agentes inteligentes, para permitir abordar de una manera más
apropiada la construcción de estos sistemas aplicados a muy diversos campos [25].
Se pueden encontrar sistemas o áreas de aplicación (analizadas posteriormente)
donde la orientación basada en agentes resulta especialmente prometedora ofreciendo
nuevas perspectivas y posibilidades, razón por la cual se le consideró al concepto de
agentes (de software, móviles e inteligentes) como uno de los conceptos más importantes y
de interés primordial en los 90’s tanto en la IA como en las tendencias principales de las
Ciencias de Informática y Computación [24]. Este interés y la constante presión ejercida
para mejorar las capacidades de los agentes motivará y guiará la investigación en IA
durante muchos años [20].
2.3. Características de un agente
Hasta aquí se ha tratado de aproximar a la noción de agente. En vista de la
incapacidad de encontrar una definición comúnmente aceptada, a continuación se exponen
Reconocimiento
las características en las que sí hay un acuerdo en considerar fundamentales para los
agentes:
• Autónomo: Opera sin la intervención directa de humanos u otros, y tiene alguna clase
de control sobre sus acciones o estado interno [26].
• Capacidad social: Es capaz de interactuar con otros agentes o usuarios, a través de
algún lenguaje o protocolo de comunicación, para completar la solución de sus
problemas y para ayudar a otros con sus actividades [7].
• Cooperativo: Es capaz de solicitar o dar servicios a otros agentes y trabajar en
cooperación con el fin de conseguir conjuntamente un objetivo [4].
• Colaborativo: No obedece órdenes ciegamente. Tiene la habilidad de modificar las
peticiones, pedir aclaraciones y hasta rehusarse a satisfacer ciertas solicitudes [13].
• Flexible: Sus acciones no deben estar prefijadas, sino permitir una selección dinámica
de las acciones que debe realizar y en qué secuencia, en respuesta al estado de su
entorno [9].
• Reactivo: Es capaz de percibir su ambiente y responder de forma oportuna a los
cambios que ocurren en él, en un período limitado de tiempo [26,23].
• Arranque automático: A diferencia de los programas estándares, los cuales son
llamados directamente por el usuario, un agente puede decidir cuándo actuar [13].
• Continuidad temporal (Persistente): Es un proceso que está corriendo continuamente
[13].
Reconocimiento
• Adaptable: Se personaliza automáticamente a las preferencias de su usuario basado en
la experiencia anterior [21]. También, se adapta a los cambios que ocurren en su
entorno [9].
• Móvil: Es capaz de transportarse de una máquina a otra y cruzar por diferentes
arquitecturas y plataformas, moviéndose así por ambientes heterogéneos [7].
• Pro-activo (Iniciativa): Es capaz de mostrar un comportamiento dirigido por objetivos,
tomando iniciativas [4].
• Razonamiento: Es capaz de interpretar la información percibida del entorno, realizar
inferencias sobre su propio conocimiento y el adquirido (desde el usuario u otros
agentes) y tomar decisiones adecuadas [4].
• Personalidad: Es capaz de tener un estado mental que incluya creencias, deseos,
intenciones, motivaciones, obligaciones,...que determinen su comportamiento [4].
• Robusto: Maneja las situaciones excepcionales [23].
• Inteligente: Debe poder interpretar los eventos que le incumban para poder tener una
actuación apropiada así como tomar decisiones [8]. En otras palabras, debe tener la
habilidad de aprender y razonar [21].
Para que un sistema sea considerado un agente no tiene que cumplir
obligatoriamente con todas las características anteriores [13], esto se debe a que aún no
existe un consenso en la definición de un agente, como tampoco en el grado de importancia
de cada una de estas propiedades para un agente [25]. Como se puede observar en la
definición dada por Wooldridge en [25], donde considera las características de autonomía,
reactividad, pro-actividad y sociabilidad como las características básicas. Tal como indica
el Dr. H. Van Dyke Parunak [25], un agente es como una “navaja del ejército suizo” en el
Reconocimiento
que se puede ver la definición básica como sólo la navaja y en el que si se necesita algún
accesorio más se le añade y, si no se necesita, no hay necesidad de acarrear con todos los
accesorios.
2.4. Clasificación de agentes
Debido a la gran cantidad de investigaciones que se han hecho en torno a agentes,
existen diversas y variadas clasificaciones. Una de estas clasificaciones puede hacerse en
base a sus capacidades para resolver problemas y en base a la autonomía, aprendizaje y
cooperación.
2.4.1. Clasificación de agentes en base a sus capacidades para resolver problemas
Se pueden clasificar en: agentes reactivos, intencionales o cognitivos y sociales.
• Agentes reactivos: Son agentes que no disponen de un protocolo ni de un lenguaje de
comunicación y cuya única capacidad es responder a estímulos. Pueden reaccionar a
cambios en su medio ambiente o a mensajes provenientes de otros agentes. No pueden
razonar acerca de sus intenciones. Sus acciones se realizan como resultado de la
ejecución de planes [16].
• Agentes intencionales o cognitivos: Es aquel que es capaz de efectuar operaciones
complejas, puede comunicarse con los demás agentes y llegar a un acuerdo con todos o
alguno ellos sobre alguna decisión [2]. Los agentes pueden [16]:
o Seleccionar sus metas de acuerdo con sus motivaciones y razonar sobre ellas.
o Seleccionar planes, es decir, programar acciones.
o Detectar y resolver conflictos y coincidencias entre planes, y ejecutar y revisar
dichos planes.
Reconocimiento
• Agentes sociales: Son agentes que poseen las capacidades de los agentes intencionales,
y además poseen modelos explícitos de otros agentes. De aquí que un agente social
deba ser capaz de [16]:
o Mantener los modelos de los otros agentes mediante la actualización de
conocimientos, metas y planes.
o Razonar sobre el conocimiento incorporado a estos modelos (intenciones,
compromisos, reacciones anticipadas y comportamientos hipotéticos).
o Tomar sus decisiones y crear sus planes con respecto a los modelos de los otros
agentes.
2.4.2. Clasificación de agentes en base a la autonomía, aprendizaje y cooperación
También se pueden clasificar en base a su autonomía, aprendizaje y cooperación en:
agentes colaborativos y agentes de interfaz de usuario [16].
• Agentes colaborativos: Estos agentes se basan en su alta autonomía y cooperación con
otros agentes para llevar a cabo sus tareas. Pueden aprender, pero este aspecto no tiene
tanta importancia como los anteriores para su operación. Por otro lado, el conjunto
coordinado de agentes colaborativos, tienen que negociar para alcanzar compromisos
mutuamente aceptados. Estos agentes tienen capacidades para:
o Resolver problemas que son demasiados grandes y complejos para sistemas centralizados.
o Ser tolerante a fallas. o Permitir la interconexión y operación de sistemas existentes. o Dar solución a sistemas inherentes distribuidos. o Dar solución a problemas en los que existen varias fuentes de información.
• Agentes de interfaz de usuario: Estos agentes ponen énfasis en su autonomía y
aprendizaje para realizar sus tareas. Proporcionan asistencia a un usuario inexperto que
está aprendiendo a utilizar una aplicación particular, como una hoja de cálculo, un
sistema operativo o un navegador de Internet. El agente observa y monitoriza las
Reconocimiento
acciones realizadas por el usuario en la interfaz, aprende nuevas acciones del usuario y
hace sugerencias sobre cómo realizar acciones [14]. El agente de interfaz de usuario
actúa como un asistente personal que coopera con el usuario en la realización de alguna
tarea de una aplicación [14].
Se considera un agente ideal a aquel que es autónomo, cooperativo y con aprendizaje [22]. 2.5. Tipos de agentes Además de los nombrados anteriormente caben destacar:
• Agentes móviles: Representan un nuevo paradigma en la computación distribuida. El
concepto de movilidad significa que un agente puede transitar entre varias máquinas,
para evitar una sobrecarga de comunicación o utilizar recursos de los que no dispone en
su máquina [15]. Según Nwana [10] los agentes móviles son procesos computacionales
de software capaces de moverse en redes de área ancha (WAN’s) tales como WWW,
interactuando con diferentes servidores, recogiendo información en nombre de su
usuario y realizando las tareas que le fueron delegadas. Esas tareas pueden ir desde una
reservación de vuelo hasta el manejo de una red de telecomunicaciones.
• Agentes de información: Los agentes de información realizan la tarea de administrar,
manipular o recolectar información proveniente de varias fuentes distribuidas. Los
agentes de información pueden ser estáticos o móviles, pueden ser o no cooperativos o
sociales, y pueden o no aprender. Por ejemplo, un agente de información estático puede
interactuar con varias máquinas de búsquedas de Internet (Yahoo, Lycos, etc.) y
organizar fuentes de información, las cuales entregará como respuesta al usuario cuando
realiza una consulta [16]. Un tipo de agentes de Internet son los softbots [15] que
ofrecen una interfaz amigable de Unix, permitiendo el cumplimiento de objetivos de
alto nivel (por ej. obtenga los artículos de este año de Etzioni; el softbot tendría que
buscar dónde están estos artículos, o solicitarlos por correo electrónico, etc.).
• Agentes de comercio: Proporcionan servicios comerciales: ventas, compras, precios
anuncios, para un usuario humano o para otro agente [13].
Reconocimiento
• Agentes de entretenimiento: Proporcionan diversión al usuario [1].
2.6. Arquitecturas de agentes
Según Maes [26], una arquitectura de agente se define como: una metodología
particular para construir agentes. Especifica cómo el agente puede ser descompuesto en la
construcción de un conjunto de módulos componentes y cómo esos módulos deben
interactuar. A continuación se describen cuatro tipos de arquitectura: en capas,
deliberativas, reactivas e híbridas.
2.6.1. Arquitecturas en capas
Un agente debe poder tener conductas reactivas y deliberativas. Una
descomposición posible del sistema es, por lo tanto, tener diferentes subsistemas para cada
una de estas conductas, creando así una jerarquía de capas. Hay dos tipos de flujo de
control en arquitecturas de capas [11]:
• Horizontal: Cada capa está conectada directamente a los sensores de entrada y a los
efectores de salida.
• Vertical: Sólo la capa más baja tiene acceso a sensores y actuadores, como se muestra
en la figura 2.1 [12]. El esquema horizontal es un ejemplo mucho más simple, puesto
que se puede incluir en el sistema una capa por cada conducta deseada. Sin embargo, de
este modo se dificulta mantener la coherencia entre conductas que a su vez se ven
relacionadas con otras.
Reconocimiento
Figura 2.1. Arquitecturas horizontales (reactivos) y verticales (deliberativos)
2.6.2. Arquitecturas deliberativas
Según Wooldridge y Jennings [26], una arquitectura deliberativa se define como
aquella que contiene explícitamente representado un modelo simbólico del mundo, y en el
cual las decisiones son hechas vía razonamiento lógico, basado en reconocimiento de
patrones y manipulación simbólica. Existen al menos dos problemas a ser resueltos:
• El problema de traducción: El traducir del mundo real en una correcta y adecuada
descripción simbólica, a tiempo para que la descripción sea útil.
Reconocimiento
• El problema de representación / razonamiento: De cómo la información
representada simbólicamente sobre entidades y procesos del complejo mundo real, y
como hacer a los agentes razonar con esta información a tiempo para que los resultados
sean útiles.
Se pueden distinguir los siguientes tipos [15]: arquitecturas BDI: Belief, Desire,
Intention (creencia, deseo, intención) y arquitecturas sociales.
Las arquitecturas BDI representan explícitamente las actitudes intencionales de los
agentes. Suelen utilizar planificación para determinar qué acciones deben llevar a cabo
empleando planes en que se comprueban creencias, deseos e intenciones. Donde:
• Creencias: Es el conocimiento que el agente tiene sobre sí mismo y su entorno.
• Deseos: Son los objetivos que el agente desea cumplir a largo plazo.
• Intenciones: Son los objetivos que en cada momento intenta cumplir el agente.
Ejemplo de arquitecturas que siguen el modelo BDI son: IRMA y PRS (ver figura 2.2) [57].
Figura 2.2. Arquitectura PRS
Reconocimiento
Los agentes sociales pueden clasificarse en dos grandes grupos: agentes
intencionales cuya arquitectura ha sido aumentada para abordar el razonamiento sobre otros
agentes, como COSY, GRATE y DA-Soc; y arquitecturas que siguiendo la Inteligencia
Artificial Distribuida (IAD) han prestado más atención a los aspectos cooperativos (cuándo,
cómo y con quién cooperar), sin modelar necesariamente las intenciones de los agentes,
como Archon, Imagine, Coopera y MAST.
Las arquitecturas deliberativas pueden clasificarse como verticales, porque los
estímulos recibidos del exterior son procesados en varias capas de diferente nivel de
abstracción y al final el nivel superior decide qué acciones hay que llevar a cabo [15], como
se mostró en la figura 2.1 [12].
2.6.3. Arquitecturas reactivas
Se define como una arquitectura que lo que hace no incluye cualquier clase de
modelo central simbólico del mundo, y no hace uso de razonamiento simbólico complejo
[26].
La toma de decisiones de un agente se lleva a cabo teniendo en cuenta las conductas
para el conjunto de tareas que han de ser realizadas. Cada conducta se puede ver como una
función que continuamente toma como entrada lo percibido por el agente, transformándolo
en una acción a realizar, y se puede definir como una regla del tipo situación-acción [11].
Las principales arquitecturas reactivas son: reglas situadas, arquitecturas de
subsunción, tareas competitivas y redes neuronales [15]. Las arquitecturas reactivas pueden
clasificarse como horizontales porque los estímulos recibidos del exterior son procesados
por capas especializadas que directamente responden con acciones a dichos estímulos [15],
como se mostró en la figura 2.1 [12].
2.6.4. Arquitecturas híbridas
Estas arquitecturas combinan módulos reactivos con módulos deliberativos. Los
más claros exponentes de estas arquitecturas son PRS, TouringMachines e Interrap [15].
Reconocimiento
Los módulos reactivos se encargan de procesar los estímulos que no necesitan deliberación,
mientras que los módulos deliberativos determinan qué acciones deben realizarse para
satisfacer los objetivos locales y cooperativos de los agentes. Las arquitecturas híbridas
pueden ser horizontales (TouringMachines) y verticales (PRS e Interrap) [15]. En la figura
2.3 se presenta una arquitectura híbrida Interrap.
Figura 2.3. Arquitectura híbrida (Interrap)
2.7. Aplicaciones de los agentes
Como se analizó anteriormente, existen diferentes áreas de aplicación donde la
orientación basada en agentes resulta especialmente prometedora ofreciendo nuevas
perspectivas y posibilidades. Se pueden destacar las siguientes áreas: aplicaciones
industriales, comerciales, de entretenimiento y médicas.
Reconocimiento
2.7.1. Aplicaciones industriales
Las aplicaciones industriales de la tecnología de agentes estuvieron entre las
primeros desarrolladas, y hoy en día, los agentes están siendo aplicados en un amplio rango
de sistemas industriales. Dentro de esta línea se pueden destacar aquellas aplicaciones que
se encargan de:
2.7.1.1. Fabricación: Por ejemplo la meta del sistema YAMS es la eficiencia del
manejo en el proceso de producción, el cual se define por algunos parámetros de cambio
constante, tales como los productos a ser manufacturados, recursos disponibles, y
restricciones de tiempo. Para realizar esta enorme tarea compleja, YAMS adoptó un
enfoque multiagente, donde cada planta es representada por un agente. Utiliza el contrato
del protocolo de red, para delegar tareas (por ejemplo órdenes de producción) a fabricantes
individuales. Otros ejemplos de sistemas en esta área son: diseño de configuración del
desarrollo de productos, el diseño colaborativo, y control de la elaboración de un robot [6].
2.7.1.2. Control de procesos: El control de procesos es una aplicación natural
para agentes, ellos controlan por sí mismos con autonomía a los sistemas reactivos. Por
ejemplo ARCHON, es una plataforma de software para el desarrollo de sistemas
multiagentes. ARCHON se puede aplicar en diversas aplicaciones de control de procesos,
incluyendo el manejo de transporte de electricidad, y el control de un acelerador de
partículas [6]. Otros sistemas de control de procesos basados en agentes son: gestión
autónoma de edificios inteligentes en cuanto a su seguridad y consumo de recursos [25],
monitoreo y diagnóstico de fallas en plantas de energía nuclear, y control de naves
espaciales [6].
2.7.1.3. Telecomunicaciones: Los sistemas de telecomunicaciones son amplias
redes de trabajo distribuidos de componentes interconectados con la necesidad de ser
monitoreados y manejados en tiempo real. Entre los problemas a ser resueltos por los
Reconocimiento
sistemas basados en agentes son: Administración de una red trabajo y manejador de red [6].
A continuación se explica cómo pueden ayudar los agentes en el manejo de red:
• Manejo de red: En redes grandes, que contengan cientos o miles de computadoras
conectadas, es muy difícil ejecutar operaciones de monitoreo y detección de fallas, ya,
que involucran grandes cantidades de datos. No es posible prefabricar programas de
diagnóstico para cada eventualidad, pero será factible usar agentes que observen
detalladamente el sistema, enviando reportes sobre el estado de las computadoras [10].
La empresa FTP comercializa una familia de productos denominados CyberAgents,
basados en Java, con los cuales el administrador puede enviar agentes Java a las
máquinas clientes con el objetivo de gestionar una red de computadoras [9].
2.7.1.4. Control de tráfico aéreo: Uno de los sistemas utilizados para control de
tráfico aéreo es el OASIS. En este sistema, los agentes son usados para representar a
aviones y varios sistemas de control de tráfico aéreo en operación, usando un sistema de
creencia - deseo - intención, llamado DMARS [6].
2.7.2. Aplicaciones comerciales
Por otro lado, también están siendo empleados en aplicaciones comerciales, sobre
todo a nivel de aplicaciones de red, tanto en Internet como en redes corporativas. Se pueden
distinguir entre estas aplicaciones:
2.7.2.1. Manejadores de información: Como ya se argumentó anteriormente, se
dispone de un gran volumen de información en Internet, encontrar lo que se necesita
requiere de tiempo adicional del que no se dispone. La tecnología de los buscadores, al
menos como funcionan hoy en día, no solucionan el problema, y una posible solución es la
utilización de agentes. Son las herramientas ideales para buscar, filtrar y organizar
información. Las empresas las pueden utilizar para personalizar la información que ofrecen
a sus clientes, estar al día de las empresas de la competencia y optimizar el acceso a la
Reconocimiento
información que se ofrece en sus intranets. A los usuarios les ayudarán como asistentes en
la navegación y búsqueda de información por Internet [9]. Los ejemplos en ésta área son:
• Maxims (Y.Lashkary, P. Maes, MIT) [3,6]: Es un agente de filtrado para el correo
electrónico, el cual aprende "para priorizar, borrar, enviar, ordenar y archivar mensajes
de correo a favor de un usuario", como también elabora sugerencias al usuario acerca de
lo que está haciendo. Otros ejemplos donde el agente filtra inteligentemente el correo
electrónico son: Agentware e InfoMagnet [25].
• WEBMATE (L.Chen, K. Sycara, CMU) [3,6]: Es un asistente personal que aprende
de los intereses del usuario y sobre las bases de estos, compila un periódico personal.
Letizia, AT1, BullsEye, Surfbot y WebCompas [25] hacen la recopilación automática
de información disponible en la red. Tarea para la cual el agente necesita ser capaz de
almacenar, aprender y manipular las preferencias y gustos de cada usuario, así como sus
cambios.
2.7.2.2. Comercio electrónico: Los agentes pueden ayudar tanto a los
vendedores como a los compradores. En el primer caso, ayudan a los vendedores a
ponerse en contacto con los clientes, a captar nuevos clientes y sobre todo, a crear
perfiles de éstos de manera que puedan ofrecer un servicio más personalizado. Por
ejemplo, en la página de Computer ESP, el agente ‘Browse Engine [9]’ aprende y
recuerda los productos que han estado mirando sus clientes y utiliza esa información
para guiar a los compradores novatos.
En el segundo caso, por ejemplo, puede ayudar a encontrar el producto que quiere al
mejor precio y la disponibilidad, en las diferentes tiendas virtuales que hay por Internet. Por
ejemplo, existen agentes como el BargainFinder y Jango, donde los usuarios pueden
comprar artículos comunes como libros y CD´s de música [25,9].
Reconocimiento
2.7.3. Aplicaciones de entretenimiento
Los agentes tienen un papel obvio en juegos de computadora, escenarios
interactivos y aplicaciones de realidad virtual; tales sistemas tienden a estar llenos de
características animadas semi-autónomas, las cuales pueden ser naturalmente
implementadas como agentes. Cumplen un papel importante en este campo al facilitar las
relaciones entre las personas [6].
• Los BOTS en los MUDs, IRC [7]: Son adecuados para interactuar con los usuarios
gracias a su forma de comunicación, entre estos se encuentran los Chácharabots, que
charlan con los usuarios; Clonebots, se reproducen a sí mismos con los nombres (nicks)
de otros usuarios, echándolos del canal. Julia es uno de los más conocidos, incluso hay
uno, que reproduce las actitudes de un usuario real de Internet.
• Firefly [9]: Es una agente que aprende de los gustos de los usuarios a través de la
música y las películas y crea una comunidad virtual. En función de los perfiles que va
estableciendo sobre sus miembros, los pone en contacto tanto en tiempo real como “off-
line” para que puedan comunicarse entre ellos.
2.7.4. Aplicaciones médicas
En este caso, los agentes se emplean para que realicen de forma autónoma tareas
que se puedan automatizar en un hospital, como por ejemplo: la monitorización de
pacientes en cuidados intensivos, para lo cual ha sido desarrollado el sistema GUARDIAN
[6] y la atención al paciente, donde estos sistemas se encargarían de seguir el tratamiento
de un paciente controlando todos los aspectos relativos a la enfermedad que tenga el mismo
[25].
Reconocimiento
2.8. Lenguajes de programación de agentes
Se pueden distinguir dos tipos principales [15]:
• Lenguajes de agentes de propósito general: Lenguajes destinados a programar
agentes genéricos utilizables en cualquier aplicación.
• Lenguajes de agentes específicos: Lenguajes para un tipo de agentes específicos, por
ejemplo los lenguajes para agentes móviles Telescript [10] o Agent-Tcl [10].
Además se pueden distinguir los siguientes niveles en la programación de agentes [15]:
• Lenguajes de programación de la estructura del agente
• Lenguajes de comunicación de agentes
• Lenguajes de programación del comportamiento del agente
2.8.1. Lenguajes de programación de la estructura del agente
Permiten programar las funcionalidades básicas para definir a un agente: funciones
de creación de procesos (creación del proceso agente y de los procesos concurrentes con él)
y funciones de comunicación entre agentes (nivel de transporte).
Este nivel de programación normalmente sólo es utilizado por los desarrolladores de
una plataforma de desarrollo de agentes. Los lenguajes empleados suelen ser lenguajes de
propósito general (C, C++, Java, Lisp, Prolog, etc.) o lenguajes específicos (p.ej. April
dentro del proyecto IMAGINE, sobre Prolog/C y CUBL (Concurrent Unit Based Language)
dentro del proyecto DAISY, sobre CLOS/C++).
Reconocimiento
2.8.2. Lenguajes de comunicación de agentes
Se define el formato de los mensajes intercambiados, de las primitivas de
comunicación y de los protocolos disponibles. Se pueden distinguir dos tipos de lenguajes
de comunicación:
• Procedimentales: Se basan en el intercambio de directivas procedimentales, es decir,
un agente recibe un mensaje que implica la ejecución de un procedimiento. Suelen
emplear lenguajes de intérpretes de órdenes (scripts) como Perl, Tcl, etc., permitiendo
un rápido prototipado aunque no suelen ser fácilmente escalables ni reciclables. Son
especialmente útiles para la construcción de agentes en aplicaciones finales como
agentes de interfaz de usuario o agentes móviles. Dentro de este enfoque se podría
encontrar a Sodabot o Telescript.
• Declarativos: Se basan en el intercambio de actos comunicativos, es decir, un agente
recibe un mensaje con un acto comunicativo que le permite interpretar el contenido del
mensaje. El ejemplo más extendido de este enfoque es KQML.
2.8.3. Lenguajes de programación del comportamiento del agente
Permiten la programación de los agentes: definición de su estructura, conocimiento
y habilidades. Definen el conocimiento del agente: conocimiento inicial (modelo de
entorno, creencias, deseos, objetivos), funciones de mantenimiento de dicho conocimiento
(reglas, planes, etc.), funciones para alcanzar sus objetivos (planes, reglas, etc.) y funciones
para desarrollar habilidades (programación de servicios). Se pueden distinguir diferentes
tipos:
• Lenguajes de descripción de agente: Los agentes se derivan de una clase de agente
genérica, permitiendo la definición de los elementos básicos del modelo de agente tales
Reconocimiento
como base de conocimiento, grupos de agentes, habilidades del agente, servicios
ofrecidos, planes para alcanzar objetivos, etc. La descripción se traduce a un lenguaje
ya ejecutable. Se pueden citar a MACE ADL, AgentSpeak y MAST/ADL.
• Lenguajes de programación orientados a agentes: Siguiendo el paradigma de
Shoham de la programación orientada a agentes (AOP), se han definido algunos
lenguajes que tienen en cuenta el estado mental del agente para programar las funciones
de transición entre estos estados mentales, que consisten en creencias, capacidades y
obligaciones. Entre estos lenguajes se pueden citar AGENT0, PLACA y Agent-K.
• Lenguajes basados en reglas de producción: La programación de la base de
conocimiento de los agentes se realiza en algunos sistemas empleando reglas de
producción como, por ejemplo, RTA, que permite definir las conductas del agente con
reglas.
• Lenguajes de especificación: Emplean una especificación (normalmente lógica) del
agente que se ejecuta directamente para generar su conducta, pudiendo verificar
propiedades de la especificación. Se pueden citar como ejemplo a METATEM y
DESIRE.
2.9. Sistemas multiagentes
Tradicionalmente, los sistemas dentro de la investigación compuestos de múltiples
agentes, fue llevada bajo la bandera de IAD, la cual puede ser definida como: un campo del
conocimiento que estudia e intenta construir un conjunto de entidades autónomas e
inteligentes que cooperan para desarrollar un trabajo y se comunican por medio de
mecanismos basados en el envío y recepción de mensajes [2].
Reconocimiento
2.9.1. Definición de un sistema multiagente (SMA):
Es un conjunto de agentes autónomos, generalmente heterogéneos y potencialmente
independientes, que trabajan en común resolviendo un problema [19].
El grado de autonomía en los SMA, le permite a los agentes decidir dinámicamente
qué interacciones son adecuadas, qué tareas deben realizar y quién realiza cada tarea [15].
2.9.2. Características de un sistema multiagente
Estos sistemas, considerados como un todo, exhiben características particulares, que
se presentan a continuación [2].
2.9.2.1. Organización social: Es la manera como el grupo de agentes está
constituido en un instante dado. La organización social está relacionada con la estructura de
los componentes funcionales del sistema, sus características, sus responsabilidades, sus
necesidades y la manera como realizan sus comunicaciones. Esta organización puede ser
estática o dinámica, dependiendo de las funciones o tareas de cada agente.
Se puede considerar que una sociedad de agentes está constituida por tres elementos:
• Un grupo de agentes.
• Un conjunto de tareas a realizar.
• Un conjunto de recursos.
La realización de las tareas por parte de los agentes, puede ser organizada de varias formas,
por ejemplo: cada agente ejecuta una de las tareas, o bien, las tareas son divididas en
subtareas, por medio de algún mecanismo de descomposición de problemas y estas
subtareas son las realizadas por los agentes. Para la realización de tareas un agente puede
necesitar recursos del sistema, en este caso tiene que coordinarse con los otros agentes del
sistema que deseen usar el mismo recurso.
Reconocimiento
2.9.2.2. Cooperación: La descomposición de la tarea global no necesariamente
garantiza la independencia de cada una de las subtareas, por ello se necesitan mecanismos
de cooperación que permitan compartir resultados intermedios que lleven al progreso en la
resolución de las tareas de otros agentes y al progreso de la solución global que debe
alcanzar el sistema.
Para que los agentes puedan cooperar de manera eficiente, cada uno de ellos debe
tener ciertas características:
• Tener un modelo bien definido del mundo, que le permite localizar a los demás agentes,
saber cómo comunicarse con ellos, qué tareas pueden realizar, etc.
• Poder integrar información de otros agentes con la suya, para formar conceptos globales
o conocimiento conformado por varios agentes.
• Poder interrumpir un plan que se este llevando a cabo para ayudar o atender a otros
agentes para que puedan cooperar entre sí cuando los agentes lo necesiten.
2.9.2. Coordinación: La coordinación entre un grupo de agentes les permite considerar
todas las tareas a realizar y coordinarlas para no ejecutar acciones no deseables,
por ejemplo:
• Los agentes no generen y comuniquen subsoluciones que lleven al progreso en la
solución de un problema.
• Los agentes generen y comuniquen resultados redundantes.
• Distribución inapropiada de la carga de trabajo entre los agentes.
2.9.2.4. Negociación: Es un mecanismo, por medio del cual, los integrantes de un
sistema pueden ponerse de acuerdo cuando cada agente defiende sus propios intereses,
llevándolos a una situación que los beneficie a todos teniendo en cuenta el punto de vista de
cada uno. Los procesos de negociación tienen como resultado la modificación o
confirmación de las creencias de cada agente involucrado, en lo relacionado con los demás
agentes y con el mundo en el que se desenvuelve.
Reconocimiento
2.9.2.5. Control: El control es el mecanismo básico que provee apoyo para la
implementación de mecanismos de coordinación en un SMA. El control se relaciona
directamente con:
• Determinar cuáles son las subtareas más importantes a realizar en un momento dado.
• Determinar qué contexto (resultados intermedios de otros agentes) deben ser usados en
la solución de una subtarea.
• Estimar el tiempo de generación de la solución a una subtarea.
• Evaluar si la solución de un problema ha sido generada. (Problema de la terminación).
2.9.3. Ventajas de los sistemas multiagentes
Entre las ventajas de los sistemas multiagentes se pueden mencionar:
• Solucionan problemas con mayor rapidez debido al aprovechamiento del procesamiento
paralelo y/o distribuido.
• Necesitan una comunicación mínima, pues se transmiten solamente soluciones parciales
de alto nivel entre los agentes, en lugar de tener que enviar datos básicos a un sistema
central.
• Tienen gran flexibilidad, pues se tienen agentes con diferentes habilidades que en forma
dinámica cooperan entre sí para resolver problemas.
• Son confiables, pues otros agentes pueden tomar las responsabilidades de los agentes
que llegasen a fallar en su cooperación.
En este capítulo se ha visto lo que se entiende por agentes, sus características, tipos
de agentes, sus arquitecturas, sus principales aplicaciones e importancia. En el siguiente
capítulo se tratará con más detalle un tipo particular de agente como lo es el agente de
interfaz de usuario. Para ello se estudiará el por qué del uso de los agentes en las interfaces
de usuario y sus diferentes funcionalidades, que lo hacen objeto de estudio y de importancia
para muchos.
Reconocimiento
CAPITULO 3
AGENTES DE INTERFAZ DE USUARIO
Los agentes de interfaz de usuario están llegando a ser cada vez más y más
atractivos debido a la complejidad creciente de las IU y a las tareas a las que ellos se
aplican. Un agente de interfaz de usuario según Pattie Maes [48], es un programa de
computadora que aplica técnicas de Inteligencia Artificial para proveer asistencia activa a
los usuarios con tareas basadas en la computadora. La metáfora usada es la de un asistente
personal quien está colaborando con el usuario en el mismo ambiente de trabajo. El
asistente es gradualmente más efectivo, si él aprende de los intereses, hábitos y preferencias
del usuario [48].
3.1. ¿Por qué agentes de interfaz de usuario?
Los agentes de interfaz de usuario surgen como un medio para atender las
necesidades y requisitos de usuario que son difíciles de apoyar usando solo manipulación
directa.
En la Interfaz de Manipulación Directa (IMD) la correspondencia es uno a uno entre
la acción del usuario y el elemento de la IU. El agente de interfaz de usuario, también,
puede afectar los objetos en una IMD, pero sin la instrucción implícita del usuario, de
manera que no es necesario que el usuario presente constantemente un contacto directo con
los elementos de la IU [45].
La metáfora de interacción dominante de manipulación directa requiere que el
usuario inicie todas sus tareas explícitamente y controle todos los eventos [48]. Esta
Reconocimiento
metáfora tendrá que cambiar si los usuarios inexpertos quieren hacer un uso eficiente de las
computadoras.
Si un conjunto de herramientas está disponible a la vez, como se observa en la
figura 3.1 [44], el usuario presenta dificultades buscando la herramienta que quiere
manipular.
Figura 3.1. Ejemplo de un conjunto de herramientas disponibles
La complejidad de la IMD crece rápidamente y no es sostenible. Cada vez se hace
más necesario el agregar otras acciones a la IU, por lo que si se insiste en mantener la
correspondencia uno a uno entre las acciones y las capacidades de la IU, se alcanzará
pronto el punto donde no puedan agregarse más funciones a los sistemas [45]. Los agentes
de interfaz de usuario proporcionan una salida a este problema.
Además, ningún conjunto fijo de herramientas puede asegurarse que es el adecuado
para la gran cantidad de aplicaciones dinámicamente cambiantes [44].
Esta nueva tecnología ofrece varias funcionalidades [37], en lugar de la
manipulación y control realizadas directamente por el usuario, las cuales se nombran a
continuación:
Reconocimiento
• Agentes de ayuda y aprendizaje: Pueden proporcionar ayuda y guía en el uso de una
aplicación. También pueden, actuar como tutores o co-aprendices en una aplicación de
aprendizaje.
• Delegación: Los usuarios pueden delegar tareas a agentes, permitiendo así que el
agente de interfaz de usuario realice tareas que para ellos pueden resultar en cierta
medida tediosas, como actividades que deben hacerse cuando el usuario está lejos de la
computadora, supervisando eventos de otras fuentes, o realizando actividades en
localidades remotas.
• Enfoque subjetivo: Los agentes pueden dar sugerencias útiles, mientras el usuario está
trabajando con una aplicación.
• Compañero de diálogo: Los agentes proporcionan un compañero de diálogo en
lenguaje natural.
• Conducta Emocional: Los seres humanos, animales y, a veces, incluso los objetos
inanimados son criaturas intencionales, con emociones y relaciones con otros seres.
Cuando estos seres humanos se ponen delante de una computadora, a pesar del hecho
del que se sabe que las computadoras son máquinas mudas, ellos se relacionan con
ellas, le atribuyen intenciones y emociones, como si fueran amigas. Hasta ahora, este
efecto ha sido totalmente ignorado en el diseño de las IU [37]. Los agentes pueden
mostrar emociones y despertar emociones en el usuario (las herramientas no presentan
conducta emocional).
• Agentes como representantes de usuario: Se pueden instruir a agentes para que se
comporten de ciertas maneras y entonces pueden entrar en un mundo y representar a su
usuario. Los avatares [37] son ejemplos simples de esto.
Reconocimiento
Además los agentes de interfaz de usuario pueden:
• Adaptarse a las preferencias y hábitos de usuarios diferentes [45]
• Aprender nuevos conceptos y técnicas [45]
• Anticiparse a las necesidades del usuario [45]
• Tomar iniciativa de las tareas del usuario [45]
• Proporcionar explicación de sus acciones [45]
• Reducir el trabajo para el usuario final y para el desarrollador de la aplicación [48].
3.2. Usos de los agentes de interfaz de usuario en el plan de interacción
A continuación se discuten las funcionalidades de la interfaz basada en agentes, con
más profundidad, proporcionando ejemplos de sistemas que se han aprovechado de este
aspecto de comunicación humano-agente.
3.2.1. Agentes como compañeros de diálogo
Uno de los problemas de ver las IU como herramientas es que la manipulación
directa no se presta fácilmente para algunas tareas de la IU. La manipulación de objetos que
no están presentes actualmente es un problema. Debido a que no existe una manera de que
todos los objetos siempre puedan estar inmediatamente accesibles, la manipulación directa
requiere de una estructura, un espacio de información, en el que el usuario debe navegar
para encontrar el objeto que quiere manipular. Otro problema muy conocido es el de
cuantificación: si un usuario quiere seleccionar todos los objetos con ciertas características,
la manipulación directa no es muy eficiente. Todas las soluciones de la manipulación
directa a estos problemas requieren que todavía más información se presente en pantalla
visualmente. Este énfasis en apariencia visual crea un problema agudo para el acceso
universal, limitando drásticamente las soluciones asequibles para los usuarios con defectos
visuales.
Estos problemas han motivado a investigadores a buscar maneras de re-introducir
interacción en lenguaje natural o semi-natural. Típicamente se interpretan sistemas que son
Reconocimiento
capaces de dialogar en lenguaje natural como, agentes de interfaz de usuario. En general,
mantener un diálogo requiere a un compañero de diálogo: hay alguien a quien usted le
habla que responde a sus expresiones.
Así, si el agente de interfaz de usuario usa las palabras, estructuras de frase y
maneras de hablar que el propio sistema no tiene problemas para interpretar, los usuarios
tienen un medio para adaptarse a las limitaciones del sistema sin incluso tener que pensar
sobre ellas. Un ejemplo de un compañero de diálogo, es la pantalla del sistema DIVERSE
mostrado en la figura 3.2 [37]. En este sistema, el agente es visto como un mediador entre
el sistema y el usuario, capaz de analizar los comandos del usuario que se efectuaron en el
ambiente.
Figura 3.2. Una pantalla del sistema DIVERSE
3.2.2. Agentes para ayuda y aprendizaje
Quizás el uso más conocido de agentes de interfaz de usuario es como una fuente para
ayuda en aplicaciones de computadora. Típicamente, tales agentes no realizan acciones
Reconocimiento
realmente, pero proporcionan sugerencias útiles a un usuario sobre cómo usar un sistema en
particular. En general, siempre que un sistema contenga una facilidad de ayuda separada
que pueda accederse en paralelo a la funcionalidad del sistema principal, el anterior puede
verse como un agente de interfaz de usuario separado. En la práctica, los usuarios
mantendrán una vista de herramienta del sistema de ayuda, a menos que sea activa o
adaptable al contexto o al usuario. Según Henry Lieberman [44] si el usuario percibe las
acciones del agente como acciones “que él mismo puede hacer” el usuario conceptualiza al
agente en el papel de un ayudante.
La ayuda es un contribuyente importante para el acceso universal, ya que puede
proporcionar apoyo a novicios y a los usuarios expertos, y les permite a los usuarios
aprender gradualmente un sistema mientras lo está usando. Pueden proporcionarse ayudas
al usuario individual de muchas maneras. Primero, se puede diferenciar entre ayuda activa
y pasiva. La ayuda que se proporciona cuando el sistema ha inferido una necesidad de él, o
ayuda que sólo se proporciona por demanda. Segundo, la ayuda se puede adaptar al
contexto en el cual se proporciona(ej. las operaciones que el usuario realizó recientemente)
y al modelo de usuario (ej., modelo del conocimiento actual o conceptos erróneos de los
usuarios). Si ninguna adaptación ocurre, el usuario debe tener una manera de plantear
preguntas de ayuda al sistema.
Según Kristina Höök [37] la ayuda activa es un problema bastante problemático.
Por un lado, puede ser sumamente beneficioso si se propuso en el momento correcto al
usuario correcto. Por otro lado, si el usuario está envuelto en una tarea difícil, a él no le
gustaría ser perturbado por un mensaje de ayuda, aún cuando es apropiado, dado que
interrumpe su tren actual de pensamiento. Para ser eficaz, el sistema debe inferir lo que el
usuario quiere hacer a continuación. Cuando el sistema no controla lo que el usuario está
haciendo, el espacio de alternativas normalmente es muy grande. Además, es raramente
posible basar cualquier sugerencia buena solamente rastreando acciones del usuario en la
interfaz, por lo que éstos proporcionan información muy de bajo nivel comparada al tipo de
metas que el usuario necesitará ayuda posteriormente.
Reconocimiento
3.2.3. Tutores y compañeros de aprendizaje
Un tipo especial de agentes de ayuda son aquellos que aparecen en el software
educativo. En estas aplicaciones, el propósito primario del agente no es ayudar al usuario
con su tarea actual, sino ayudar al usuario a aprender un dominio de especialización. Aquí
los agentes ocurren en dos formas: como maestros o ayudantes, y como compañeros de
aprendizaje. Un ejemplo de un agente de interfaz de usuario que combina al compañero de
aprendizaje y los papeles del tutor son ‘Herman the bug’ (ver figura 3.3) [37]. En este
sistema, los niños aprenden ecología construyendo una planta que deba sobrevivir en un
ambiente determinado. El agente ayudará al niño explicándole por qué una solución
particular no es óptima, o por qué una construcción de la planta tuvo éxito. Herman es un
carácter animado y fuertemente antropomórfico, pero aparece como un robot juguetón más
bien que como un profesor.
Figura 3.3. Herman the bug
Reconocimiento
Esto añade un carácter ‘de juego’ al sistema, y pone a los niños en un modo más
comprensivo hacia el carácter, haciéndolos menos renuentes para escuchar su consejo. Este
tipo de uso de la metáfora de agente al parecer puede ser de poca importancia, pero de
hecho, el enfoque principal para el proyecto de Intellimedia es estudiar el papel de agentes
de interfaz de usuario en el aprendizaje del software. El deseo es crear herramientas que
apoyen el aprendizaje de forma innovadora, influyendo entre los estudiantes con diferentes
formaciones, motivaciones y estilos aprendizaje.
3.2.4. Delegación
La delegación es, quizás, el ejemplo más obvio de una funcionalidad que es difícil
de lograr a través de la manipulación directa. Los ejemplos más actuales incluyen a agentes
de recuperación de páginas en la WEB que encajan en el perfil de interés del usuario como
Letizia [44], agentes de filtrado que filtran el correo y lo ordenan en carpetas diferentes, y
agentes de compra que viajan por la red buscando el mejor precio de un producto.
La delegación es quizás el uso más importante de agentes de interfaz de usuario con
respecto al acceso universal. La razón es que logrando acceso a través de la manipulación
directa a veces es muy difícil, o incluso imposible, para los usuarios con defectos visuales,
incapacitados, o, simplemente, para las personas cuyas manos y ojos están ocupadas por un
periodo determinado de tiempo (ej., al manejar un automóvil). Un enfoque genérico a la
delegación es la creación de agentes de interfaz de usuario que asumen el papel de
ayudantes personales o mayordomos. El ayudante personal es un agente que sirve a un
usuario individual, siguiendo la tarea actual del usuario, así como de sus preferencias
generales y capacidades. Sí se les permite actuar independientemente y concurrentemente,
mientras el usuario dirige atención a otras actividades, pueden ser ahorradores de tiempo,
como propone Henry Lieberman [45].
Hay también un uso completamente diferente de agentes por delegación, y eso es
cuando el agente sirve como un representante del usuario en un ambiente donde otros
usuarios y / o agentes están presentes. Los agentes de compras asumen este papel, cuando
ellos pueden actuar recíprocamente con agentes de ventas que les permiten cerrar tratos con
Reconocimiento
ellos. Un ejemplo de esto son los avatares [37], representaciones de usuario en los
ambientes de realidad virtual multiusuarios.
Algunos autores [14] consideran que la IU ideal es aquella que hace que las
computadoras se asemejen a las personas. La interfaz humano-computadora futura se
basará en la función de delegar, no en la manipulación directa ni en las IU con ratón.
Además, el mejor agente es aquella persona que conoce bien a sus usuarios y comparte con
ellos mucha información, y puede, por tanto, actuar en su lugar con gran eficacia.
3.2.5. Conducta emocional
La conducta emocional ha sido poco aprovechada en la Interacción Humano-
Computadora (IHC). El interés en los aspectos emocionales y afectivos de la informática
mantiene que la interacción íntima entre la cognición y la emoción es un aspecto
fundamental de vida cotidiana así como en la IHC.
Los sistemas con enfoques afectivos pueden estar orientados a provocar emociones
en el usuario, o a exhibir emociones (y probablemente, provocar emociones también en el
usuario), y, a reconocer las emociones del usuario y adaptarse a ellas.
Un ejemplo son los agentes desarrollados dentro del razonador afectivo [37]. Los
agentes razonables afectivos son capaces de razonar sobre las emociones de los usuarios y
otros agentes. Los esquemas de inferencia usados en el razonador afectivo están basados en
representar expresiones emocionales como ‘furioso’, ‘enfadado’, etc., respecto a las
acciones o emociones de otros agentes.
3.2.6. La visión subjetiva de la información
Un agente de interfaz de usuario también puede asumir el papel de dar sugerencias
útiles mientras el usuario está trabajando con una aplicación, como en el caso de Letizia
[45] cuando recomienda páginas que podrían ser de interés para el usuario.
Con el valor de cierta información de los problemas, los agentes de interfaz de
usuario pueden tener una actitud y comunicación subjetiva. Por ejemplo ¿Es mejor ir vía
Reconocimiento
Manchester o Londres para viajar a New York? Bien, la actitud que tomaría la IU es que si
la persona quiere divertirse un poco, en su viaje a New York, debe pasarse una tarde en
Londres en lugar de Manchester. Un sistema que usa la visión subjetiva es la agente
vendedora de automóviles Jennifer (ver figura 3.4) [37]. Jennifer es un agente
antropomórfico que usa gestos y un idioma que dan al usuario una impresión distinta de la
‘charla de ventas’. Ella incluso pondrá a veces comentarios personales (‘me gusta manejar
automóviles rápidos’) como medios de establecer una impresión subjetiva fuerte.
Figura 3.4. Agente Jennifer: vendedora de automóviles
3.2.7. Narrativas
Este aspecto es poco usado en interfaces de manipulación directa, que prefieren
proporcionar acceso paralelo a grandes cantidades de información sin una estructura de
narrativa para conectarlos. La facilidad de ayuda de un procesador de texto puede ser
Reconocimiento
estructurada como una narrativa en vez de como una base de datos abstracta de
información.
Los caracteres, posiblemente construidos como agentes de interfaz de usuario,
pueden, contar una historia que guiará a los usuarios por la información. En el grupo de
Investigación de Kristina Höök [37] se está explorando particularmente el uso de estructura
de narrativa como una ayuda para usuarios que encuentran difícil navegar en estructuras de
hipermedia. Los estudios han demostrado que la capacidad hipermedia de navegar varía
enormemente entre usuarios diferentes.
3.3. Vistas de la colaboración de los sistemas usuario-agente
Se pueden distinguir tres usos del agente de interfaz de usuario: como un compañero
de usuario, incluido en la IU o como un representante del usuario.
3.3.1. El compañero
El diseño más común para agentes de interfaz de usuario es incluirlos en una IU
dual, donde la manipulación directa también es posible. El propósito principal de este
diseño es proporcionar una distinción clara entre funcionalidades fijas, no-adaptables y
aquéllas que se personalizan. La parte de la manipulación directa se mantiene no-adaptable
y estable, considerando que la parte del agente proporciona todas ‘las funcionalidades
inteligentes’: puede ser que se adapte al usuario, proporcione capacidades del idioma
naturales, etc. El agente puede actuar recíprocamente con el usuario y con el sistema de la
manipulación directa (ver figura 3.5) [37]. Este plan de IU proporciona la ventaja que el
usuario siempre puede evadir al agente, y realizar cosas ‘manualmente’ en el sistema
básico.
Reconocimiento
Figura 3.5. El agente como un compañero de usuario
En el caso más genérico, el usuario y el agente ven y usan la misma IMD, y
mantienen un diálogo alrededor de lo que está pasando y lo que el usuario quiere hacer.
Cuando el agente no puede realizar acciones en el sistema básico, pero sólo observa
las interacciones del usuario, sólo se restringe a dar ayuda en el sistema. Por otro lado,
cuando el agente no puede observar las interacciones del usuario con el sistema básico, sólo
se restringe a recibir órdenes del usuario y a realizarlas en el sistema básico, este tipo de
interacción se denota a menudo con el término de la gestión indirecta.
En el caso de Letizia [45], el usuario puede observar las acciones autónomas del
agente y el agente directamente puede observar las acciones tomadas autónomamente por el
usuario en la IU.
3.3.2. Agente incluido
Una variante del agente ‘compañero’ es el agente que es incluido en la IU básica, en
lugar de correr en paralelo con él. En este caso, el agente reside en la IU de un subsistema
particular o subservicio, en lugar de que sea accesible todo el tiempo que el servicio o el
sistema se esté usando. El usuario sólo puede accederlo si él o ella navegan a este servicio,
Reconocimiento
y su funcionalidad se relaciona estrechamente al servicio. Los agentes incluidos
normalmente se encuentran más en aplicaciones de realidad virtual, pero ellos también
pueden usarse en hipermedia. La agente vendedora [37] ‘Jennifer’ es un ejemplo de un
agente incluido.
3.3.3. El representante
En sistemas de múltiples agentes, el agente de interfaz de usuario puede asumir un
papel diferente. Debido a que hay varios agentes y usuarios disponibles, los agentes pueden
tener dos IU: una hacia su propio usuario, y una hacia otros usuarios (o sus agentes) (ver
figura 3.6) [37]. De esta manera, los agentes pueden representar a usuarios u organizaciones
hacia otros usuarios o agentes. Típicamente, el usuario puede delegar tareas a su agente
personal. El agente representa las actitudes e intenciones del usuario hacia otros usuarios o
agentes. El agente se convierte en una vía para que el usuario presente sus opiniones
subjetivas de manera rica, con una referencia clara a quién mantiene estas opiniones.
Figura 3.6. El agente como representante de usuario (en un espacio de usuarios y agentes)
Reconocimiento
3.4. Críticas y riesgos
Las técnicas principales para el diseño de agente de interfaz de usuario (interfaz
antropomórfica, las funcionalidades de lenguaje natural, y lo modelos de interacción por
manipulación indirecta) han generado mucha controversia en el campo de la IHC. La razón
es que ellos pueden violar muchos de los principios de utilidad desarrollados para los
sistemas de manipulación directa. Esos principios incluyen dar al usuario el control sobre el
sistema, haciendo el sistema predecible, para que dé siempre la misma respuesta dada la
misma entrada, y haciendo el sistema transparente, para que el usuario pueda entender algo
de sus funcionamientos internos [37].
Esta crítica es verdad [37], sin embargo puede verse como no pertinente
completamente. El propósito entero de introducir agentes de interfaz de usuario es de
alejarse de una vista basada en herramienta en el diseño de IU. El sistema a veces puede
tomar el control completo, iniciar el diálogo, obligar al usuario a que responda de ciertas
maneras, etc. Un agente debe tomar sus propias iniciativas y debe actuar con sus propias
metas. Por las mismas razones, los requisitos en la predecibilidad y transparencia no se
aplican. Después de todo, en la vida cotidiana las personas actúan recíprocamente con
agentes múltiples que no son predecibles ni transparentes: los amigos, colegas, los niños y
perros, y las personas no sólo aprenden a vivir en ella, sino que también la disfrutan.
Según Henry Lieberman [44] algunas personas no quieren a agentes, en el sentido
que las tareas podrían ser mejor hechas por una IU basado en herramientas o basado en una
tarea específica.
La crítica más seria de los agentes de interfaz de usuario trata con dos problemas
diferentes. Primero, ¿Es posible llevar a cabo sistemas que apoyan la metáfora de agente de
interfaz de usuario con funcionalidad adecuada? Y, segundo, ¿Cómo afectará el uso de
agentes de interfaz de usuario la percepción que tienen los humanos de las computadoras?
¿Provocará que se deposite demasiada confianza en los sistemas, trasladando la
responsabilidad del usuario individual al sistema?.
Reconocimiento
3.4.1. ¿Se debe reservar la interacción a la comunicación humana-humana?
Según Lucy Suchman [37] el término "interacción" podría reservarse mejor para
describir lo que ocurre entre las personas, en lugar de extenderlo para abarcar relaciones
entre las personas y las máquinas. Su argumento es que cualquier modelo conceptual que
un diseñador construya en un sistema interactivo tendrá sus limitaciones. Cualquier agente
o sistema adaptativo que haga suposiciones sobre la tarea del usuario fallará en interactuar
propiamente con el usuario, debido a que las suposiciones se limitarán a los usos
preconcebidos del sistema. Suchman propone en cambio que deben diseñarse máquinas
para ser "legibles", es decir, que el usuario siempre pueda inspeccionar el estado del
sistema, interpretarlo y luego actuar.
Según Kristina Höök [37] es difícil contestar la crítica de Suchman, aún si se
pueden encontrar ejemplos de IUI que son legibles y agentes de interfaz de usuario que
reintroducen el diálogo entre el usuario y el sistema ( ‘la interfaz de gestión indirecta’). Sin
embargo, no está claro si la crítica particularmente se aplica al estilo de interacción de
gestión indirecta. La mayoría de las aplicaciones de computadora proporcionan a los
usuarios una imagen poco clara del estado actual del sistema, al menos para los que no son
informáticos o, en particular, no están bien informados de como trabaja el sistema. Por
ejemplo, los sistemas de computadora que puedan proporcionar información pertinente de
alta-calidad, no es necesario que el usuario se moleste en saber cómo lo hace.
3.4.2. ¿El antropomorfismo es considerado dañino?
Shneiderman y Lanier [44] se ponen en contra de agentes antropomorfos, ya que
estos dan a los usuarios la impresión de que el sistema será capaz de tomar la
responsabilidad de sus acciones y que ellos actuarán racionalmente, similar a los seres
humanos. Esto puede cambiar el concepto que tienen los usuarios de las computadoras
como máquinas tontas y cambiar la percepción de responsabilidad del usuario a los
sistemas. Se debe ser cuidadoso al imitar la comunicación humano-humano y asumir que
esto sería el mejor modelo de funcionamiento.
Reconocimiento
Las interfaces antropomórficas se han estudiado con el objetivo de ver las
expectativas que ellas levantan en sus usuarios. La conclusión general es que entre más
"natural" es la IU, más alta son las expectativas sobre la inteligencia en el sistema. Muchos
estudios muestran que entre más antropomórfico es un carácter, el usuario responde con
más naturalidad a él, y el diálogo se vuelve más ‘humano’.
Esto puede ser ventajoso y desventajoso. Si el agente se hace como un carácter muy
antropomórfico, los usuarios pueden creer que posee capacidades que no tiene, como, las
habilidades de interpretar el lenguaje natural, por otro lado, si las capacidades del agente
son bien comunicadas, para que las expectativas sean alcanzadas, se puede crear una IU
potencialmente poderosa.
Otra pregunta es ¿qué es mejorado por una interfaz antropomórfica? Mulken y
Wright [37] han estudiado los efectos de agregar un carácter antropomórfico a una IU. El
primero de estos estudios no mostró ningún resultado objetivo al introducir el carácter
(como aprendizaje, o mejorar la ejecución de las tareas), pero reveló un efecto positivo en
la estimación subjetiva de si la explicación era difícil o no. El segundo estudio mostró un
efecto de aprendizaje negativo al introducir un carácter animado a una explicación.
Estos resultados contrarios apuntan a la necesidad de mejorar la comprensión sobre
cómo deben diseñarse caracteres animados o sintéticos para no desviar la atención de las
tareas principales de los usuarios. Como señala Andrew Stern [37], el diseño artístico y el
entendimiento práctico sobre la creación de caracteres sintéticos son cruciales para
determinar el éxito de un sistema.
Todavía se tienen que realizar más estudios para saber si el diseño de estas IU
pueden ayudar a grupos de usuarios particulares. Posiblemente, se dirigirán a grupos
seleccionados de usuarios, de la misma manera como los programas de televisión y cines se
dirigen a edades y grupos culturales particulares.
3.4.3. Requisitos para una nueva metodología de diseño
El diseño de interfaces de manipulación directa fue motivado por el uso de
computadoras como herramientas rápidas y eficientes que apoyan a los usuarios en el
Reconocimiento
comportamiento orientado en tareas. Pero hoy, las IU de la computadora tienen una gama
mucho más amplia de aplicaciones: ellas son usadas para apoyar a usuarios que aprenden
sobre nuevos dominios, controlando procesos en tiempo real, comunicándose con otras
personas. Esto ha conducido a nuevas culturas de diseño, que en muchos casos violan los
principios básicos del diseño de IU. Un principio muy básico del diseño tradicional de IU
es que debería de mantenerse estable. Sin embargo, en la Web esperamos que los sitios
cambien a menudo, tanto en su diseño como en su estructura interna. De verdad, se
sospecharía que un sitio que no ha cambiado su diseño durante un período considerable de
tiempo contendrá información vieja y anticuada.
Finalmente, según Kristina Höök [37], el éxito eventual de los agentes de interfaz
de usuario es en gran parte un asunto de cultura. Si esto ocurre, una cultura se desarrollará,
la cual explicará detalladamente cuando ellos son apropiados y cómo deberían ser
diseñados, para que los usuarios puedan prever qué funciones utilizarán los agentes y cómo
serán controlados. Es muy importante desarrollar principios para el diseño y la evaluación
de agentes de interfaz de usuario, pero, como con la manipulación directa, estos métodos y
principios serán limitados a la cultura en la que han sido formulados.
3.5. Impacto de agentes de interfaz de usuario en la accesibilidad universal
Es de suma importancia que la tecnología de información sea accesible a todos los
usuarios, y no sólo al promedio, llamado usuario "normal". Éste es el principio de acceso
universal. La población es en conjunto un grupo de usuarios sumamente heterogéneo, en
términos de habilidades individuales (conocimiento, preferencias, habilidades cognoscitivas
y físicas, etc.), fondo social y cultural, y también en sus razones para utilizar a un sistema.
Los agentes de interfaz de usuario no son solamente una extensión de la visión del
modelo de usuario que se debe adaptar a los diferentes usuarios. Sino que además, los
agentes de interfaz de usuario pueden proveer nuevos estilos de la interacción que
proporcionan una nueva idea de diseño en el problema de accesibilidad, como llamando la
atención, obtención de conocimiento y motivación del usuario, mejorando así la
experiencia del usuario con el sistema interactivo.
Reconocimiento
3.6. Principios de diseño para los agentes de interfaz de usuario
A continuación se discuten algunos aspectos interesantes para el diseño de un
agente de interfaz de usuario al que se le da completa autonomía para actuar en nombre del
usuario [45].
3.6.1. Sugiera en lugar de actuar
La noción de autonomía a veces es usada para denotar la gestión de manipulación
indirecta [48].
Los agentes de interfaz de usuario autónomos trabajan mejor en situaciones donde
sus decisiones no son críticas. Muchas personas tienen miedo de conceder autonomía para
agentes de interfaz de usuario debido al miedo que el agente tomará una decisión mala sin
su consentimiento.
Hay muchos casos, sin embargo, donde las decisiones no son críticas y el agente
puede lanzarse en el papel de hacer sugerencias en lugar de tener responsabilidad para
resolver el problema entero. Como en el caso de navegar en la Web, porque la opción de
cualquier página Web no es una decisión crítica. El agente puede basarse en conocimiento
dependiente de los valores predefinidos del agente e inferencia de las metas probables de
un usuario. Como en el caso de Letizia y el Internet Softbot [45] predijeron de la
observación práctica de la conducta del usuario.
3.6.2. Aproveche la información que el usuario da al agente
Las acciones tomadas por el usuario en la IU constituyen información que el sistema
puede usar para inferir las metas e intereses del usuario.
Los motores de búsqueda tienen una interacción absolutamente mínima, pero es
impráctico usarlos después de pocos pasos hojeando. Por contraste, la inferencia automática
de Letizia [45] hace recomendaciones basadas en cada paso que hojea posible.
Reconocimiento
3.6.3. Aproveche el tiempo en que el usuario está pensando
Una desventaja de la interfaz interactiva tradicional es que el sistema permanece
ocioso cuando el usuario está pensando sobre qué entrada podría proporcionar después.
Ejecutando al agente de interfaz de usuario autónomamente, mientras el usuario está
pensando, se aprovecha el tiempo computacional que se pierde de otra manera. Esto es
especialmente importante en búsqueda cuando el tiempo ocioso puede usarse para
proporcionar exploración independiente del espacio de búsqueda.
3.6.4. La atención de los usuarios puede ser utilizada en tiempo compartido
Una consecuencia de funcionamiento en un agente de interfaz de usuario autónomo
es que el agente no puede asumir que tiene la atención llena del usuario de la manera como
ocurre en la interacción tradicional. El usuario puede encontrarse proporcionando entrada al
agente sin ser explícitamente consciente de ello. El usuario puede encontrar la salida que se
encuentra en la pantalla en un momento que no puede esperarlo.
La ventana de Netscape autónoma de Letizia [45] la cual despliega sus
recomendaciones al usuario, no necesita mantener la atención completa del usuario.
Cuando el usuario está activamente comprometido hojeando, las acciones de Letizia pueden
ignorarse.
3.6.5. Los agentes de interfaz de usuario autónomos pueden tener una compensación
diferente entre deliberación y acción
Muy conocido en IA es la compensación entre deliberación y acción. Una decisión
tal vez puede ser la óptima en un momento dado, pero para cuando el agente se haya
decidido, puede que ya no siga siendo la más adecuada.
Para un motor de búsqueda tradicional, el juicio acerca de si un documento
particular debe ser considerado pertinente es crítico, porque una vez que el motor de
búsqueda devuelve una lista de sugerencias para una pregunta dada, nunca tiene otra
Reconocimiento
oportunidad. Por el contrario, cuando Letizia necesita decidir recomendar un documento, la
decisión es menos crítica porque normalmente tendrá oportunidades futuras de tomar una
mejor decisión acerca de cuán pertinente es ese documento con relación a otros. En
cualquier momento, Letizia puede gastar más tiempo investigando más páginas.
3.6.6. Una interfaz autónoma no puede absorber los estilos cognoscitivos de todos los
usuarios
Es importante comprender que los usuarios tienen estilos cognoscitivos diferentes y
este estilo de interfaz puede distraer o confundir a algunos usuarios. Para ellos puede ser
incómodo trabajar con IU no lineales donde más de una cosa continúa inmediatamente. Lo
que a veces parece distraer sobre tales IU es que el usuario puede sentirse obligado a prestar
atención a cada cambio de la pantalla, aún cuando está absorbido en otra actividad.
En este capítulo se ha discutido, los agentes de interfaz de usuario y su importancia
en el uso de las IU. En el siguiente capítulo se hará un estudio de las IUI, analizando las
razones para crear este tipo de IU.
Reconocimiento
CAPITULO 4
INTERFAZ DE USUARIO INTELIGENTE
Una Interfaz de Usuario (IU) es el canal de comunicación entre el usuario de un
sistema computacional con el hardware y el software de la computadora donde se
implementa el sistema. La experiencia muestra que los usuarios prefieren una buena
interfaz con un conjunto simple de funciones, en vez de un conjunto muy amplio de
funciones en una interfaz de poca calidad [49]. La IU es el aspecto más importante de
cualquier aplicación, en el sentido que puede mejorar directamente el rendimiento de un
sistema y la productividad de los usuarios.
4.1. Historia del desarrollo de las Interfaces de Usuario
A finales de los años 60 se predecía que “en el futuro, no se requerirá ya tanto de
personas orientadas a la computadora, sino de computadoras orientadas a las personas”
[52]. El tiempo ha demostrado su acierto: la necesidad de interactuar con las computadoras
está penetrando en muchos aspectos de la vida cotidiana. Ya sea en bancos, estaciones de
tren, hoteles o aeropuertos, se encuentran innumerables puntos de información electrónicos
en los que reside gran parte de la información útil para desplazarse, comerciar, o sobrevivir.
La gente que no esté básicamente tecno-alfabetizada se encuentra hoy en día con serias
limitaciones en su acceso a información ya sea ésta trivial o fundamental.
En aquellos años, los sistemas “más interactivos” utilizaban terminales teletipo,
semejantes a una máquina de escribir (TTY), que necesitaban del papel como recurso de
visualización. Luego, al aparecer los terminales de tubos de rayos catódicos (CRT), los
Reconocimiento
diseñadores de interfaces basaron sus modelos de presentación gráfica y textual utilizando
el mismo modelo que en los de teletipo.
Aún en los años 60, algunos investigadores como Ivan Sutherland [52] (inventor de
la primera interfaz basada en ventanas) y Douglas Engelbart [52] (inventor del ratón),
diseñaban sistemas espaciales para pantallas de rayos catódicos que emulaban la
complejidad gráfica de los documentos impresos, utilizando la capacidad de ajuste
dinámico de caracteres que ofrecía la computadora superando las limitaciones del papel.
Aquella metáfora del teletipo (o del teletipo de cristal) es la base del conocido sistema
operativo MS-DOS con su línea de comandos basada en texto.
Los primeros trabajos sobre el tema del factor humano en el uso de las
computadoras aparecieron a principios de los años 50, incluso antes en los años 40. Sin
embargo, el interés por la IHC se intensificó recién con el uso de recursos informáticos a
tiempo compartido (a fines de los 50 y principios de los 60). Más recientemente, con el
incremento de recursos en red y de nuevos servicios y sistemas, así como de potentes
computadoras y estaciones de trabajo, se ha intensificado mucho más la necesidad de
interacciones y ha aumentado el interés en los factores humanos más relevantes en relación
con la IHC.
Durante los años 70 se desarrolló en los laboratorios de Xerox Palo Alto Research
Center (PARC) [52] la base conceptual de la mayoría de las Interfaces Gráficas de Usuario
(IGU) actuales. Estos conceptos incluyen metáforas gráficas explícitas en pantalla para
objetos tales como documentos y programas de computadora; ventanas múltiples
superpuestas para subdividir actividades en la pantalla; y manipulación directa de ventanas,
iconos y otros objetos utilizando el ratón de Engelbart como elemento de señalización.
A mediados de los 70, el trabajo de Xerox PARC sobre las interfaces de
manipulación directa estableció la mayoría de las convenciones funcionales y visuales de
las IGU actuales, y es la base de las IGU de Apple Macintosh, de Microsoft Windows, y de
otras como UNIX Motif, NextStep, y Open Look.
Muchos de los estándares en IGU fueron escritos teniendo en mente software
orientado a herramientas, y recién ahora están comenzando a incorporar ayudas para la
Reconocimiento
integración de texto, gráficos, enlaces hipermedia, y material audiovisual para sistemas de
manejo de documentos multimedia.
La disponibilidad actual de computadoras ha llevado a los diseñadores a proponer
nuevas metáforas espaciales y conceptuales para la organización y el almacenamiento de
información. Afortunadamente, para la mayoría de usuarios, la industria actual de software
está ya dejando atrás la conocida “guerra de prestaciones” de los primeros años, y se
muestra sensible a las necesidades de una mayor usabilidad.
4.2. Factores que hacen a una interfaz de usuario usable
Una IU debe permitir que las personas que usan el producto(usuarios), trabajen en sus
propios ambientes físicos, sociales, y culturales, logren sus metas y tareas eficazmente
y eficientemente. La interfaz verdaderamente usable (fácil de aprender y fácil de usar)
es transparente al trabajo que el usuario está intentando realizar. Las interfaces
usables tienen ciertas características en común, algunas de las cuales son las
siguientes [51]:
• Apoyan los estilos de aprendizaje de los usuarios.
• Son compatibles con el ambiente de funcionamiento de los usuarios.
• Abarcan un concepto de diseño que le es familiar a los usuarios.
• Tienen una consistencia de presentación (esquema, iconos), la cual las hacen parecer
fiables y fáciles de aprender.
• Usan el idioma e ilustraciones con los que los usuarios están familiarizados y que son
fáciles de aprender.
4.3. Análisis de las tareas de los usuarios
El análisis de las tareas de los usuarios (ATU) es el proceso de aprendizaje de cómo
los usuarios ordinarios realizan sus tareas, observándolos en acción. Es diferente al enfoque
Reconocimiento
de hacerles preguntas en grupos fuera de los ambientes típicos de los usuarios y lejos de su
trabajo [51].
El ATU, se enfoca en entender profundamente cómo los usuarios realizan sus
tareas. Esa comprensión incluye las metas de los usuarios; lo que ellos están intentando
lograr; qué hacen realmente para lograr estas metas qué características personales, sociales,
y culturales los usuarios aportan a las tareas; cómo los usuarios son influenciados por su
ambiente físico; cómo el conocimiento y la experiencia anterior de los usuarios influyen en
cómo ellos piensan sobre su trabajo y los pasos que ellos siguen para realizar sus tareas.
El estudio del ATU se basa en recoger información sobre lo que necesitan los
usuarios, por lo que es necesario observarlos en su trabajo, en lugar de sólo escuchar lo que
ellos piensan y quieren de la interfaz.
Para hacer un ATU, se deben entender las metas de los usuarios y cómo los usuarios
se mueven de las metas a las tareas y de estas a las acciones [51].
Los productos exitosos son diseñados entendiendo las metas del usuario y las metas
de la compañía (o las metas de los padres y las metas de los niños o las metas de los
compradores y las metas de los vendedores). Las metas le dan los valores a los usuarios.
Respetando esos valores cuando usted diseña la IU es la única manera de hacer productos
seguros y que tengan éxito. Cuando se estudian las metas de los usuarios, se discuten los
siguientes temas [51]:
• La relación de las metas de los usuarios con las tareas y con las acciones
• La observación de cómo los usuarios escogen tareas para encontrar sus metas
• La observación de lo que pasa cuando los usuarios tienen problemas
• El estudio de las metas como parte del análisis de la tarea
Una tarea es lo que alguien hace para lograr una meta. Como Donald Norman [51]
explica "para conseguir algo hecho, se tiene que empezar con alguna noción de lo que se
quiere, la meta que será lograda.
Reconocimiento
En el ATU se puede hacer una lista de las tareas que los usuarios tienen que poder
lograr con la IU. La meta del diseño es deducir la mejor forma de crear un producto que le
permita a los usuarios hacer estas tareas fácilmente y rápidamente.
Se puede, por supuesto, agregar tareas a la lista que los usuarios no pueden hacer
ahora, pero que en un futuro las podrán hacer. Estas nuevas tareas deben satisfacer las
metas y necesidades que los usuarios todavía tienen.
Al momento de diseñar una IU es importante conocer a las personas que usarán el
software o el hardware, conocer la documentación, o el entrenamiento que se piensa
aplicar al diseñar y desarrollar la IU. Se deben estudiar las características que pueden
influenciar el diseño, cómo los usuarios usan ese producto, cómo ellos aprenden nuevas
tareas, cómo las diferencias físicas entre ellos pueden afectar las decisiones del plan del
diseño de la IU, y qué los motiva a cambiar su manera de funcionamiento en la IU. Si se
entiende a los usuarios, se pueden construir a menudo soluciones para ayudar a grupos de
usuario diferentes.
4.4. Análisis de los usuarios
Antes de que se pueda decidir a quién visitar en el campo estudio, se necesita
decidir quienes, realmente son o probablemente serán los usuarios. ¿Son ellos las personas
que toman la decisión de comprar pero esperan que otros usen el producto? ¿Son ellos
expertos que ya saben usar un producto similar o novicios que se enfrentarán con una
responsabilidad completamente nueva? [51].
Este enfoque debe orientarse a las personas que realmente usan la interfaz o
información. Dependiendo del producto que se desarrolle, se deben estudiar algunos de los
siguientes tipos de usuarios [51]:
• Usuarios primarios: Se definen como usuarios primarios a las personas que usan las
interfaces e información para realizar las tareas. Estos usuarios realizan tareas para
lograr metas, metas que pueden ser personales, individuales, o formar parte integral de
sus trabajos.
Reconocimiento
• Usuarios secundarios: Se definen a los usuarios secundarios como aquellos que son
parte de la comunidad afectada por la habilidad de los usuarios de realizar las tareas.
Por ejemplo, si el empleado no sabe usar el software de las cuentas por pagar, el pago
del vendedor puede tardarse. Como diseñador de una IU, se querrá entender la
naturaleza de las interacciones comerciales o sociales que ocurren entre el usuario
primario y otros en el ambiente del usuario. Se querrán satisfacer las necesidades de los
usuarios secundarios.
• Comunidades de usuario: Los usuarios se pueden ver desde la perspectiva de sus
metas individuales, características y conductas, pero en la mayoría los ambientes del
diseño de la IU, los usuarios también forman parte de una comunidad. La comunidad
de usuarios puede incluir a aprendices y expertos, maestros y estudiantes, aquellos que
administran y aquellos que operan sistemas, aquellos que usan productos y aquellos
que dirigen a los usuarios, y, finalmente aquellos, que reparan productos y aquellos que
los rompen. Como consecuencia de la diversidad de usuarios y las comunidades en los
que ellos actúan recíprocamente, se deben estudiar como individuos, clases, y como
grupos entrelazados.
Para un diseño efectivo de una IU, no sólo se necesita conocer quienes van a ser los
usuarios. También se necesita saber los tipos de especialización que van adquiriendo los
usuarios a medida en que van utilizando el producto. Por lo que se pueden ubicar en una de
las 4 fases de uso: el novicio, el principiante avanzado, el actor competente, y el actor
especialista o el experto.
Las fases de uso proporcionan una manera útil de categorizar a los usuarios que se
observan en los campos de estudio. A continuación se analizan las 4 fases de uso [51]:
• Novicios: Todos los nuevos usuarios de un producto son novicios cuando no saben
exactamente qué hacer para usar la interfaz o información. Los novicios son a menudo
Reconocimiento
impacientes para lograr alguna tarea y no toman el tiempo suficiente para aprender o
desarrollar los modelos mentales del nuevo producto.
• Principiantes avanzados: Un principiante avanzado es un usuario que simplemente y
exclusivamente se enfoca en conseguir un trabajo o una tarea tan rápidamente como
sea posible. Sin embargo, como principiantes avanzados al ir en aumento el número de
tareas que ellos pueden realizar, empiezan a formar un concepto o modelo mental de
cómo el software o la interfaz esta organizada.
• Actores competentes: Estos usuarios son los que han aprendido un número suficiente
de tareas, que le permiten formar un modelo mental legítimo de la materia y el
producto. Los actores competentes probablemente utilizan las ayudas proporcionada
por la interfaz para aumentar la comprensión de su trabajo.
• Actores especialistas o expertos: Cuando los actores competentes continúan ganando
experiencia realizando sus tareas, arreglando problemas, ellos aumentan la riqueza de
comprensión del producto logrando de esta forma una mayor habilidad para alcanzar
sus metas. Los actores competentes se vuelven expertos cuando ellos se motivan
favorablemente, frecuentemente usan el producto, como una parte integral de sus
trabajos o actividades personales y aficiones, tienen conocimiento de la materia , y son
capaces de resolver sus propios problemas y los problemas de otros.
Aunque no todos los usuarios se vuelven expertos, uno de los puntos más
importantes que se debe ganar de las fases de uso es el recordatorio que los usuarios
cambian con el tiempo. De hecho, si se diseña eficazmente una IU, los usuarios más
experimentados encontrarán cosas para hacer y diferentes maneras de hacerlas, pero en el
caso de los usuarios poco experimentados, se deberá tener una IU amigable que le permita
ir avanzando en el conocimiento de la aplicación.
Reconocimiento
Después de hacer el análisis de los usuarios y el de las tareas que ellos hacen, es de
suma importancia que se consideren también los ambientes físicos, sociales y culturales del
trabajo de los usuarios.
4.5. Análisis del ambiente de trabajo de los usuarios
Los usuarios no realizan su trabajo en aislamiento. Ellos son influenciados por la
actividad alrededor de ellos, las características físicas del lugar de trabajo, el tipo de equipo
que ellos están usando, y las relaciones de trabajo que ellos tienen con otras personas [51].
Si las IU que se diseñan no encajan en el ambiente de ellos, pueden tener dificultades o
pueden sentirse frustrados al utilizarlas. Los usuarios también pueden rechazarlas
completamente por lo que volverán a sus formas previas de trabajo. Por esto es de vital
importancia estudiar también el ambiente de trabajo de los usuarios.
4.5.1. Aspectos importantes del ambiente
Cuando se observa el ambiente, los aspectos que se consideran son aquellos que
pueden influir en cómo las personas usarán la IU y cómo operarán recíprocamente con la
IU. Los cuales son [51]: ambiente físico, social y cultural.
• Ambiente físico: Es probable que los aspectos físicos del ambiente sean significantes.
Los niveles de luz afectarán la habilidad de los usuarios de ver pantallas o mandos. Al
diseñar una IU se deben considerar los siguientes problemas sobre el ambiente físico
que pueden afectar el trabajo de los usuarios: la falta de espacio de trabajo, ambiente de
trabajo ruidoso, falta de luminosidad, falta de limpieza, la temperatura, la humedad, el
peligro.
• Ambiente social: El ambiente social es el medio en el cual el usuario se desarrolla,
dentro de un grupo de usuarios. Se deben discutir las características personales de los
Reconocimiento
usuarios en términos de factores sociales o culturales que podrían afectar el plan del
diseño de la interfaz. Las maneras en que los usuarios se comportan juntos y se
comportan respecto a su trabajo también es probable que afecte el plan.
• Ambiente cultural: El ambiente cultural de los usuarios no sólo depende de su
etnicidad o nacionalidad, también depende de un rango entero de experiencias
relacionadas a su sociedad, región, profesión, y estatus socio-económico. Es
importante estudiar el ambiente cultural, por ejemplo no se puede diseñar una IU con
sonidos molestos para indicar cuando el usuario comete errores en una cultura donde
los usuarios pueden molestarse si ellos piensan que alguien más sabe que ellos han
hecho algo malo.
Hasta aquí se ha realizado un estudio básico de las Interfaces de Usuario y de los
aspectos que se deben tomar en cuenta al momento de diseñar una IU exitosa y usable. A
continuación se analizan los conceptos básicos que se han estudiado en el campo de las IUI,
los motivos que hacen que sean objeto de estudio para muchos.
Como se analizó en el Capítulo 1, el área de investigación en las IUI es bastante
reciente, principalmente debido a las ideas expresadas por investigadores como: Laurel y
Kay en l990 [27]. Se han realizado IUI como las nombradas en el Capítulo 1, algunas de
ellas siguen en proceso para mejorar las capacidades de las IU. Además, los aspectos
básicos que requieren investigación se están apenas definiendo, como los principios de
usabilidad y los métodos para diseñar las IUI. El objetivo que se persigue a continuación es
presentar esta área de investigación.
La IU con la cual el usuario interactúa con una aplicación debe ser tan invisible e
intuitiva como sea posible. Trabajando con la IU y entendiéndola no debe ser una tarea. El
usuario debe poder concentrarse en la tarea que él o ella debe realizar. Las IUI procuran
hacer la IU tan intuitiva y provechosa como sea posible.
4.6. ¿Qué no es una interfaz de usuario inteligente?
Reconocimiento
Para entender la noción de una IUI, se puede empezar con una discusión de lo que
no puede verse como una definición de IUI. Las definiciones que se evitan son [53]: un
“sistema inteligente” y una IU bien diseñada.
Un "sistema inteligente" necesariamente no tiene una IUI, y ninguna IU bien
diseñada necesariamente es inteligente.
La razón por la cual un "sistema inteligente" no es una IUI, es que la inteligencia de
un "sistema inteligente" no necesariamente se manifiesta en su IU. Puede producir
información que es inteligente, pero la IU en sí no tiene que tener ninguna inteligencia.
Una IU "buena" no puede ser considerada inteligente porque imponen a menudo
normas en la IU que no llevan al comportamiento optativo; por ejemplo, en las normas de
diseño de menús se puede declarar que no deben existir más de tres opciones en el menú,
para que los usuarios no se olviden de algunas de las opciones. Sin embargo, pueden existir
algunos usuarios que se les es fácil aprender menús más largos. El problema principal en la
IHC es obtener una "situación de colaboración" entre un usuario humano y un sistema
computacional. El sistema debe armonizarse con el usuario, y el usuario con el sistema, esta
es una ventaja de las IUI, en cambio las IU bien diseñadas no crean este ambiente de
colaboración.
Existen otras definiciones [28] en la literatura que pueden ser demasiado limitadas,
por ejemplo: “Sistemas que imitan el diálogo humano”, y “las interfaces adaptables”.
4.7. Definición de una interfaz de usuario inteligente
Russel y Wefald [28] definen las IUI como: "una IU ideal simplemente es aquella
que siempre da la respuesta óptima, y una IUI es una que tiene capacidades limitadas, pero
da las respuestas óptimas dentro de estas limitaciones". Pero para las IU, las limitaciones no
se restringen a la arquitectura interior del sistema, estás se encuentran principalmente en las
habilidades de actuar recíprocamente.
4.8. ¿Qué hace a una interfaz de usuario, inteligente?
Reconocimiento
La inteligencia no es un término fácil de definir [38]. En las IUI, la inteligencia puede
ser, predecir lo que el usuario desea hacer, y presentar la información con esta
predicción en mente, haciendo la tarea más intuitiva y provechosa para el usuario.
Como también la inteligencia en la IU haría al sistema adaptarse a su usuario,
asumiendo tareas del usuario y habilitando un diálogo entre el usuario y el sistema
[35].
4.9. ¿Sobre qué puede ser una interfaz de usuario inteligente?
La IU puede ser inteligente sobre una variedad de cosas. Uno de éstas es funciones
del sistema. La IU puede tener cierto conocimiento de las tareas que un usuario desearía
hacer. Con esta información, el sistema puede presentar su IU de una manera inteligente,
haciendo la navegación y la operación más intuitivas al usuario.
Las IU’s pueden ser inteligentes sobre el usuario. Con el uso de un modelo de
usuario, el sistema puede adaptar la comunicación (entrada y salida) al usuario. Los
ejemplos de comunicaciones adaptadas incluyen métodos de comunicación (voz, visual,
táctil) y manera de presentar los datos (gráfico de barra, o gráfico de línea).
La IU puede también ser sensible a lo que desea y necesita el usuario. Un ejemplo
donde las IU puede detectar las necesidades del usuario estaría en el caso de un sistema que
detecta que el usuario necesita la ayuda para realizar una tarea determinada; el sistema
puede ofrecer voluntariamente esta ayuda. O, un sistema puede notar que un usuario tiene
apuros con la interfaz; quizás el sistema puede alterar su IU para compensar (por ejemplo,
el usuario selecciona el botón incorrecto; quizás una alteración a considerar sería describir
el botón más detalladamente, o dar más indirectas en cuanto al botón correcto que debe
presionar el usuario).
4.10. Razones para crear sistemas con una interfaz de usuario inteligente
¿Por qué se necesitan las IUI? Hay buenas razones para crear sistemas con una IUI:
Reconocimiento
• Las aplicaciones están llegando a ser cada vez más complejas; un usuario podría
necesitar indicaciones sobre cómo utilizar una parte determinada de un sistema.
• Las aplicaciones están manejando mucha información. A menudo, hay demasiada
información a visualizar por el usuario. Es importante tomar en cuenta las técnicas para
determinar qué información es la más pertinente para un usuario determinado.
• La ayuda ofrecida por las IUI puede aliviar algunos problemas y malentendidos entre
las computadoras y los usuarios.
• La computadora se está usando en un número creciente de situaciones especiales, o se
está usando por usuarios especiales. Los ejemplos de situaciones especiales o extremas
incluyen los programas militares y software médico. Se necesitarían IUI en estas
situaciones porque ellas pueden ayudar mejor al usuario a través del uso de
comunicación multimodal y conocimiento de la funcionalidad del sistema. Los usuarios
especiales incluyen principalmente aquellos con condiciones que les impiden usar
eficazmente a una computadora, como personas con defectos visuales. A través de la
comunicación multimodal, las IUI pueden ayudar a que las computadoras sean
accesibles a estos usuarios.
• Otra razón es que cada día se hace más necesario interactuar con interfaces diferentes:
cajeros automáticos, consultas de información sobre viajes, actividades, eventos;
búsqueda de información en bibliotecas, múltiples y variados sistemas de gestión,
como: sistemas empresariales, de comercio, de enseñanza, etc. Entonces, la forma de
lograr que esta interacción sea más efectiva y satisfactoria, es a través de la
investigación y desarrollo de interfaces más inteligentes, que se adapten al usuario de
manera natural y progresiva, tratando de detectar sus características para que el sistema
se adecue a su nivel y preferencias. Estas interfaces parten de la premisa que “los
sistemas deben adaptarse a la gente”, y no lo contrario.
4.11. Componentes de una interfaz de usuario inteligente
Los componentes siguientes de una IUI se pueden asumir como una lista de las
características posibles, las cuales, no necesariamente se requieren en su totalidad [31].
Reconocimiento
4.11.1. Modelo del usuario
Es una de las partes más importantes de una IUI. El modelo surgió como una
necesidad frente a la variedad y número posible de usuarios del sistema. Esta variedad ha
sido motivo de estudio por distintos investigadores, los que señalan algunos aspectos
determinantes de la misma. Según Noah y Alpin [33], los usuarios difieren en:
• Su modelo de cómo debe usarse una computadora,
• El modelo mental que tienen del sistema que están usando,
• Sus habilidades físicas y perceptivas,
• Sus capacidades cognoscitivas,
• Sus destrezas para identificar y realizar tareas.
Sin el modelo de usuario, la IU no tendría ninguna información en la cual basar su
diseño su individualidad. El modelo de usuario es una compilación de la información que
describe al usuario, y que se utiliza en la determinación de cómo presentar los datos, qué
tipo de ayuda dar, y cómo el usuario interactúa con la IU. Por lo tanto, el modelo de usuario
es beneficioso en sistemas con las características siguientes:
• El sistema intenta adaptar su comportamiento a los usuarios
• El sistema asume o comparte la responsabilidad de asegurar el éxito de la
comunicación del usuario-sistema
• La clase de usuarios potenciales, o las aplicaciones potenciales del sistema, es diverso
La lista siguiente categoriza algunas de las aplicaciones de los modelos del usuario:
• Conseguir la entrada de información del usuario
ο Decidir qué decir
ο Decidir cómo pedir
Reconocimiento
• Proporcionar ayuda y consejo
ο Importancia de la evaluación
ο Sabiendo cuándo ofrecer voluntariamente la información
ο Manipulación de ideas falsas
ο Reconocimiento de ideas falsas
ο Corrección de ideas falsas
• Entender la conducta del usuario buscando información
ο Reconocimiento de metas de usuario
ο Reconocimiento de planes de usuario
• Proporcionar salida al usuario
ο Decidir qué decir
ο Proporcionar la información necesaria de antemano
ο Modelar importancia
• Decidir cómo decirla
4.11.2. Comunicación multimodal
El uso de varios métodos de comunicación con una IU se refiere como
comunicación multimodal. Hay por lo menos dos propósitos detrás de la comunicación
multimodal: permite al usuario utilizar el sistema más intuitivamente usando gestos, y da a
los usuarios más libertad, de no restringirse a sentarse delante de un computador mientras
que trabajan con un sistema informático.
La comunicación multimodal es especialmente importante en las situaciones donde
el usuario no puede permitirse utilizar todos sus sentidos para realizar una tarea
determinada. Por ejemplo, si el usuario tiene que mirar de cerca algo, un sistema
informático que produce salida visual no sería una buena idea. En su lugar, el sistema
informático se pudo hacer para decir la salida en vez de visualizarla. Y así, el usuario puede
examinar algo sin prestar la atención visual a la computadora.
Reconocimiento
En muchos casos, una interfaz multimodal eficaz requiere un modelo de usuario. En
este caso, el modelo de usuario ayuda a determinar las mejores técnicas de comunicación
dependiendo de la tarea del usuario: por ejemplo, si la salida debe ser vocal o visual, si la
entrada de información debe ser táctil, vocal o pulsada.
4.11.3. Reconocimiento del plan
El reconocimiento del plan se usa en una IUI para deducir lo que el usuario planea
hacer. Toma en consideración el conocimiento del sistema, el modelo de usuario y las
acciones.
4.11.4. Presentación dinámica
Los usuarios individuales deben poder visualizar los datos de diversas maneras que
se adapten a su fondo educativo y de trabajo. La forma en la cual el sistema decide
visualizar los datos es determinada examinando el modelo de usuario. Esto permite la
visualización de los datos que se adapten al usuario. El usuario no debe ser agobiado por
demasiados datos, ni desinformado por pocos datos. La presentación de datos se debe
hacer de una manera eficaz y comprensible. Alternativamente, la presentación dinámica
puede ser lograda presentando datos de una manera inteligente, es decir, de una manera que
haga los hechos de los gráficos obvios y claros. Ejemplo de esta presentación de datos se
puede observar en el sistema SAGE (SABIO) [38].
4.11.5. Lenguaje natural
El lenguaje natural es una de las mejores técnicas para hacer un sistema más
intuitivo. En vez de intentar recordar comandos, el usuario proporciona la entrada que él
desea que suceda. Los ejemplos incluyen, " rote el brazo de la grúa 45 grados, " o "¿Qué
Reconocimiento
hace el comando ls? Los comandos del lenguaje natural permiten un alto grado de libertad
por parte del usuario. Además, no es necesario que los comandos sean enumerados o
categorizados explícitamente en un sistema de menú y es más fácil crear los comandos que
se componen de otros comandos.
4.11.6. Ayuda inteligente
En sistemas complejos, el pedir ayuda puede traer más información que la necesaria,
o información que no es específica a las necesidades del usuario. La ayuda inteligente
presenta al usuario con la ayuda que el usuario muy probablemente necesitará en un
tiempo determinado o en una situación determinada. Los usos de ayuda inteligente
requieren conocimiento sobre las funciones de la aplicación.
También pueden usarse ayudas inteligentes cuando el usuario llama a 'la ayuda' en
un sistema. Como también, el sistema puede reconocer que el usuario tiene problema con
una tarea, como imprimir un documento. El sistema de ayuda puede sugerir algunas cosas
que el usuario puede hacer: vea sí la impresora tiene papel o sí la impresora no está
encendida.
4.11.7. Interfaz adaptable
Los usuarios pueden desear un grado de preferencia en su IU. También, el sistema
puede adaptarse para interactuar mejor con el usuario sin que el usuario le hubiese indicado
que lo hiciera así.
Las interfaces adaptables también pueden determinar qué tipo de IU presentar al
usuario que depende de un análisis del modelo de usuario. Por ejemplo, un tipo de usuario
podría sentirse más cómodo con un menú, mientras a otro usuario le podría gustar la
flexibilidad de una IU de líneas de comandos.
Reconocimiento
4.12. Principios de utilidad para la interfaz de usuario inteligente
Según Girardi Rosario [33], para muchos autores como Schneiderman, Jaron, entre
otros; el desarrollo de mejores productos adaptativos pasa por la resolución de algunos
problemas pendientes. Si bien existen ejemplos exitosos (“FireFly”, de FireFly Network
Inc. y el agente “Lumiere” de Microsoft), hay un cierto escepticismo frente a los resultados
que se pueden esperar, debido en parte a:
• las promesas fallidas de la Inteligencia Artificial,
• la disminución de la utilidad de las IU (transparente, predecible y controlable) y
• la supuesta reducción de la responsabilidad del usuario.
La utilidad es un problema que surgió por comparación con los sistemas de manipulación
directa, porque las IUI violarían los buenos principios generados por éstos [35]: dar control
al usuario sobre sistema, haciendo el sistema predecible para que siempre dé la misma
respuesta dada el misma entrada y transparente para que el usuario pueda entender algo de
sus funcionamientos internos. Al tomar parte del control, la IU debe ser confiable y
predecible para el usuario, quien de otra forma no se sentiría a gusto trabajando con ella.
A continuación se analizan estos problemas, los cuales la comunidad de IUI intenta
resolver combinando principios y avances tecnológicos para una efectiva IHC.
4.12.1. Dar control al usuario sobre el sistema
Para resolver este problema se propone una solución intermedia, combinando una
parte predecible con otra que no lo es. Por ejemplo, el sistema Letizia [35] filtra la
información de la Web presentando lugares interesantes en una ventana que no interfiere
con la navegación del usuario. La transparencia no implica necesariamente que el sistema
deba explicar exactamente lo que está haciendo. Kristina Höök [35] propone como solución
la metáfora de “la caja negra en una caja transparente”, la cual puede ser útil para
representar un sistema donde las áreas complejas se esconden en la caja negra y se ofrece
Reconocimiento
una versión simplificada del mismo a través de la caja transparente. Según Kristina Höök
[35], el miedo de no proporcionarles transparencia a los usuarios para que puedan entender
como trabaja el sistema, no es un problema que es único de las IUI. La mayor parte de las
aplicaciones de computadora son así, al menos para los que no son informáticos o
particularmente con conocimiento sobre cómo trabaja el sistema.
4.12.2. Privacidad y confianza
Kristina Höök [35] propone que es necesario agregar otros problemas como
privacidad y confianza que antes no se habían tratado mucho en la IHC.
El problema de privacidad surge desde que algunos sistemas de IUI requieren que
los usuarios estén dispuestos a compartir sus preferencias con toda la comunidad de
usuarios. Dependiendo de lo anónimo que se haga a un usuario, esto puede ser más o
menos un problema, porque algunos usuarios pueden proporcionar sus datos de interés a
otros usuarios, mientras que otros no. Por ejemplo, en el sistema Doppelgänger [35], el
usuario puede configurar su periódico por un modelo de usuario sobre el que ellos tienen
control. Ellos pueden pedirle al sistema que le proporcione el mismo tipo de noticias que
otro usuario lee. Este sistema no era aceptable por los usuarios, ellos no quisieron compartir
su modelo con otro usuario. Judy Kay [35] ha propuesto un medio para superar este
problema, dividiendo el modelo de usuario en dos partes: uno público y uno privado.
El problema de la confianza en el sistema se hace más prominente en las situaciones
donde el sistema asume acciones del usuario. Como señala Henry Lieberman [44] algunas
personas no quieren a las IUI en el sentido de que las tareas podrían ser hechas mejor por
una IU basada en herramienta o basada en una tarea específica, además si la IU no es tan
inteligente como un humano, confiar en ellas podría ser peligroso. Sin embargo, será de
importancia crucial confiar en el sistema si empieza ordenando el correo, filtrando noticias,
recuperando información para en la WEB, etc.
Reconocimiento
4.12.3. Cambio de responsabilidad de los usuarios al sistema
Otro efecto secundario de usar inteligencia en la IU es que puede transmitir al
usuario la sensación de transferencia de responsabilidad, porque el sistema asume ahora
decisiones que antes no tomaba. Se deben crear entonces las expectativas correctas: ni muy
ambiciosas ni muy pobres. El usuario debe sentir que aún conserva parte del control y
responsabilidad que tenía pero delega ahora una parte a la inteligencia de la computadora
[35].
Como señala Kristina Höök [35], algunos aspectos de estos problemas tienen que
ser investigados por la comunidad de IUI, si bien existe cierto escepticismo sobre el futuro
y el impacto de este tipo de interfaces, existen también varios motivos como los señalados
anteriormente, que las hacen interesantes y necesarias.
4.13. Arquitectura básica de una interfaz de usuario inteligente
En la arquitectura de una IUI existen dos factores importantes: el modelo del
usuario y el modelo del discurso, que hacen que el sistema exhiba un comportamiento
inteligente y colaborativo. A continuación se muestra este tipo de arquitectura, (ver figura
4.1) [28].
Reconocimiento
Figura 4.1. Arquitectura básica de una interfaz de usuario inteligente
4.13.1. Modelo del usuario
El modelo del usuario sirve como fuente de conocimiento que contiene suposiciones
explícitas sobre todos los aspectos del usuario que puede ser pertinente al comportamiento
del dialogo o al sistema. El componente del modelo del usuario ejecuta las siguientes
funciones:
• Construir incrementalmente un modelo del usuario
• Almacenar, actualizar y borrar entradas en él
• Mantener la consistencia del modelo
Reconocimiento
• Proporcionar otros componentes del sistema con presunciones sobre el usuario
• El fin del modelo del usuario es que el sistema adapte su interacción a:
ο El conocimiento del usuario o experiencia
ο Intereses del usuario
ο Metas del usuario
ο Propiedades cognoscitivas del usuario
ο Emociones
ο Preferencias del usuario
ο La historia de interacciones previas
4.13.2. Modelo del discurso
El modelo del discurso es una fuente de conocimiento que contiene la descripción
de la sintaxis, semántica, y pragmática del sistema de diálogo. El componente del modelo
del discurso ejecuta las siguientes funciones:
• Construir incrementalmente el modelo del discurso
• Almacenarlo y actualizarlo
• Suplir a otros componentes del sistema con información sobre la estructura y volumen
de segmentos previos del diálogo
La diferencia entre el modelo del usuario y del discurso es que el modelo del
usuario es dinámico y el modelo del discurso no.
4.14. Areas de aplicación de las interfaces de usuario inteligentes
Algunas áreas de aplicación típicas son tutoriales inteligentes, ayudas inteligentes y
filtrado de información [28].
Reconocimiento
• Tutoriales inteligentes: Un "tutor" es un programa que da "educación" personalizada a
un usuario en un conocimiento específico [28]. El tutor puede necesitar inferir cómo el
usuario está entendiendo el conocimiento a través de analizar las respuestas que el
usuario a las evaluaciones. Pueden dar consejo interviniendo activamente, o
pasivamente a través de contestar las preguntas explícitas de los usuarios.
• Ayuda inteligente: El sistema ayuda a que el usuario realice una tarea específica [28].
La ayuda es muy similar a enseñar, pero el objetivo principal para un sistema de ayuda
es conseguir algo hecho, y no hacer que el usuario aprenda algo. Un sistema de ayuda
puede dar ayuda sobre la funcionalidad de un programa, o sobre alguna tarea
independiente de la computadora (por ejemplo, ayudar a reparar un automóvil). Las
ayudas pueden ser activas o pasivas.
• Filtrando Información: La gran cantidad y heterogeneidad de información disponible
en Internet, trae consigo dificultades para proveer información relevante para los
usuarios. Donde el usuario debe dedicar una considerable cantidad de tiempo y esfuerzo
en revisar o navegar a través de una lista ordenada de documentos, donde normalmente
varios de ellos no son de su interés, antes de encontrar información verdaderamente
relevante. Con el uso de las IUI hay una salida a este problema ya que ellas apuntan a
encontrar y filtrar la información relevante o de interés para los usuarios. Como también
pueden anotar los modelos de lectura de grupos de usuarios, para determinar qué tipo de
usuarios está interesado en ciertos pedazos de información.
Además existen otras aplicaciones como:
• Hipermedia adaptable
• Entrada/salida multimodal
• Automatización de esquemas/diseños
• Agente de interfaz de usuario
• Sistemas para aconsejar
Reconocimiento
4.15. Métodos para crear una interfaz de usuario inteligente
Un análisis apropiado de usuarios, sus tareas y necesidades es, por consiguiente, una
parte necesaria de cualquier desarrollo de un sistema adaptable.
Benyon [28] discute cinco fases del análisis que necesitan ser consideradas al diseñar
sistemas adaptables:
• Análisis funcional: Establece las funciones principales del sistema.
• Análisis de los datos: Se preocupa por entender y representar el significado y
estructura de datos en la aplicación.
• Análisis del conocimiento de las tareas: Se ocupa de las características cognoscitivas
de los usuarios, requeridas por el sistema, como por ejemplo estrategias de búsqueda,
modelo mental, experiencia previa, etc.
• Análisis del usuario: Determina la población objetivo del sistema. Se preocupa por
obtener los atributos de los usuarios que son pertinentes a la aplicación como la
capacidad intelectual requerida, habilidad del proceso cognoscitivo, y conocimiento
previo requerido. La población anticipada se analizará y se categorizará según los
aspectos de la aplicación derivados del análisis funcional, de los datos y del ambiente.
• Análisis de ambiente: Cubre el ambiente dentro del cual el sistema va a operar.
La metodología propuesta es sólo un ejemplo de otras tantas posibles [33]. Su
utilidad y eficacia podría ponerse en duda, pero la necesidad de disponer de nuevos
métodos que permitan mejorar el diseño y desarrollo de este tipo de herramientas es una
realidad indiscutible.
La decisión de incluir o no comportamientos inteligentes o adaptativos en una IU
debe considerarse como parte integrante del desarrollo total del sistema desde un principio
[33]: no se puede esperar que la adaptatividad de un sistema resuelva un mal diseño.
Para el futuro se espera que las nuevas tecnologías incluyan: Escritura a mano,
reconocimiento de gestos, posibilidad de hablar y entender en lenguaje natural, agentes
Reconocimiento
inteligentes que ayuden a los usuarios a entender y aprender sobre los sistemas, buscar
información relevante, que se puedan ajustar rápidamente a las necesidades del usuario
específicas, y desarrollo de programas por el usuario final [33]. Estos nuevos métodos y
herramientas prometen hacer del proceso de desarrollo de interfaces una actividad
significativamente más sencilla, pero aún sigue siendo un desafío a resolver.
Reconocimiento
CAPITULO 5
CONCLUSIONES Y RECOMENDACIONES
5.1. Conclusiones
La aplicación de los agentes inteligentes en IU ofrece nuevas perspectivas que antes
no se habían tomado en cuenta en el diseño de IU. Esta tecnología surge como un medio
para atender los problemas que son difíciles de solucionar usando sólo manipulación
directa. Los motivos para desarrollar IU basadas en agentes de interfaz de usuario son los
siguientes:
• Pueden tomar acciones en la IU sin que el usuario le hubiese indicado esta acción,
evitando de esta forma que el usuario presente una correspondencia uno a uno entre su
acción y el elemento de la IU como ocurre en la IMD.
• Pueden tomar la iniciativa de las tareas de los usuarios, a diferencia de la IMD que
requiere que el usuario inicie todas las tareas explícitamente.
• Proporcionan una facilidad en el diseño de interfaces complejas, cuando se presenta el
caso en que ya no se le pueden agregar más funciones a la IU, porque se escapa de las
soluciones que puede proporcionar la IMD.
• Como compañeros de diálogo en lenguaje natural proporcionan solución a los
problemas que se presentan en la IMD, como:
ο Sólo dispone de un juego limitado de herramientas, en el cual el usuario
presenta dificultades para encontrar la herramienta que quiere manipular.
ο No es eficiente cuando el usuario quiere manipular todos los objetos con ciertas
características.
Reconocimiento
ο Solo puede solucionar los dos problemas anteriores visualizando cada vez más
información en la pantalla, creando así un problema agudo para el acceso
universal ignorando a los usuarios con defectos visuales.
• Pueden predecir lo que el usuario desea hacer o inferir las necesidades del usuario,
proporcionándole sugerencias útiles sobre cómo usar un sistema en particular, haciendo
la operación más intuitiva y provechosa.
• Pueden actuar como tutores, ayudando al usuario a instruirse en un dominio de
especialización y sí se presenta como un caracter antropomórfico puede hacer que los
usuarios se sientan menos renuentes a escuchar sus consejos. Como también pueden
actuar como alumnos aprendiendo nuevos conceptos o técnicas.
• Pueden realizar tareas que para los usuarios pueden resultar en cierta medida tediosas,
como actividades que deben hacerse cuando el usuario está lejos de la computadora, ó
que simplemente el usuario no puede hacer porque quiere aprovechar el tiempo
realizando otras actividades mientras el agente de interfaz está colaborando en paralelo
con él. Este tipo de ayuda realizada por los agentes de interfaz de usuario permite una
transición de la IMD a la gestión indirecta de la interfaz, en la cual pueden también
hacer las computadoras accesibles a las personas con defectos visuales o las
incapacitadas porque sólo delegan tareas al agente de interfaz sin necesidad de usar el
ratón o el teclado.
• Se pueden instruir comportándose de diversas formas, por ejemplo como compradores
o organizadores de juntas, y pueden representar a sus usuarios en un ambiente donde
otros usuarios y/o agentes están presentes.
• Pueden exhibir emociones y probablemente provocar emociones también en el usuario,
como también reconocer las emociones del usuario y adaptarse a ellas. En este caso se
diferencian notablemente de las interfaces basadas en herramientas las cuales no
presentan estas conductas emotivas.
Reconocimiento
• Con el valor de cierto pedazo de información los agentes de interfaz de usuario pueden
tener una comunicación subjetiva con el usuario, en la cual le dan al agente la libertad
de escoger algunas de las opciones útiles proporcionadas por el agente.
• Pueden ayudar a los usuarios que presentan dificultades para navegar en estructuras de
hipermedia, contando una historia que los guiará por la información.
• Pueden mostrar información verdaderamente relevante y de interés para los usuarios,
evitando así que los usuarios se sientan inundados con grandes cantidades de
información donde muchas de ellas no son de su interés, lo cual ocasiona que el usuario
dedique gran cantidad de tiempo buscando lo que necesita cuando en realidad no puede
disponer de este tiempo.
• Se pueden adaptar a las preferencias y hábitos de usuarios diferentes, de esta manera
permite que la IU se adapte al nivel y preferencias de los mismos.
Luego de este análisis es evidente el gran potencial que poseen los agentes
inteligentes dentro de la IU, por lo que es de suma importancia incorporarlos en estas
interfaces, obteniendo así sistemas personalizados, que asistan al usuario en el desarrollo de
sus actividades rutinarias, reduciendo en gran medida el tiempo de trabajo.
Es indiscutible la importancia que tiene la IHC, en el sentido que puede afectar
directamente el rendimiento de un sistema y la productividad de los usuarios. La IU es uno
de los elementos críticos para el éxito de los productos en el mercado, así como también
para su utilización y aceptación por parte de los usuarios, quienes determinarán su voluntad
de interactuar con estos sistemas o no. Para algunos, el espectacular crecimiento de la
WWW se explica en parte gracias al éxito de su IHC, la sencilla tecnología de hipertexto
que permite a las personas navegar a través de la información siguiendo una serie de
enlaces relacionados.
Reconocimiento
Las IUI prometen mejorar el aprovechamiento de los sistemas informáticos para
hacerlos más sencillos de aprender y usar, y así lograr una interacción más efectiva y
satisfactoria. Si bien existe cierto escepticismo como en toda nueva tecnología, sobre el
futuro y el impacto de este tipo de interfaces, existe también un buen número de razones
estudiadas en este proyecto, que las hacen interesantes y necesarias, algunas de ellas son:
los sistemas se vuelven cada vez más grandes y complejos, la información que se debe
manejar crece rápidamente y cada vez se dispone de menos tiempo para tomar decisiones
basadas en ella.
Las IUI procuran hacer la operación más intuitiva y provechosa para el usuario de la
siguiente forma:
• Aprendiendo de las interacciones con el usuario y adaptándose a las necesidades
específicas del mismo.
• Prediciendo lo que el usuario desea hacer y presentando la información con esa
predicción en mente.
• Asumiendo tareas del usuario y habilitando un diálogo entre el usuario y el sistema.
Con el manuscrito de este Proyecto de Grado, se satisface la carencia de material
bibliográfico en EISULA, vinculado con la aplicabilidad de los agentes inteligentes en las
interfaces de usuario. Se espera, que pueda servir de apoyo a los tesistas de Pregrado o
Postgrado, que en un futuro se interesen en investigar y desarrollar IUI.
5.2. Recomendaciones
• Continuar el estudio de las IUI y de las aplicaciones que se beneficiarían con una IUI.
• Desarrollar un prototipo de IUI sobre una aplicación particular.
Reconocimiento
BIBLIOGRAFÍA
[1] Pinninghoff María. (2001). “Agentes Inteligentes”. Departamento de Ingeniería
Informática y Ciencias de la Computación. [Documento WWW]. Disponible
en: http://www.inf.udec.cl/~intartif/representacion_agentes.htm (consultado el
05 de Abril de 2001)
[2] Quintero A., Rueda S., Ucrós M. (Noviembre de 1997). “Agentes y sistemas
multiagentes: integración de conceptos básicos”. Grupo de investigación
HIDRA. [Documento WWW]. Disponible en:
http://agamenon.uniandes.edu.co/yubarta/agentes/agentes2.htm (consultado el 05
de Abril de 2001)
[3] Gallardo Domingo. (1999). “Agentes Inteligentes”. DCCIA, Universidad de
Alicante. [Documento WWW]. Disponible en:
http://www.dccia.ua.es/dccia/inf/asignaturas/AIAU/sesion1/introduccion.pdf
(consultado el 14 de Marzo de 2001)
[4] “Agentes Inteligentes”. [Documento WWW]. Disponible en:
http://www.gsi.dit.upm.es/~mga/ssii/ag-intr.pdf (consultado el 14 de Marzo de
2001)
Reconocimiento
[5] Hendler James A. (Diciembre de 1995). “Agentes Inteligentes: Donde la
Inteligencia Artificial se encuentra con la Tecnología de la Información”.
University of Maryland. [Documento WWW]. Disponible en:
http://www.ubp.edu.ar/english/organigrama/departamentos/informatica/agentes97/A
rticulos/Hendler95/Hendler95.html (consultado el 29 de Abril de 2001)
[6] “Agentes Autónomos y Sistemas Multi-Agentes”. Un Mapeo para el Desarrollo e
Investigación de Agentes. Publicaciones Académicas Kluwer 1998. Elaborado en
Holanda.
[7] Duarte Lidia. (1997). “Agentes Inteligentes”. [Documento WWW]. Disponible en:
http://www.bib.uc3m.es/~bety/lydia/Age/AGENTES.html (consultado el 29 de
Abril de 2001)
[8] “Agentes Inteligentes”. [Documento WWW]. Disponible en:
http://www.dtmf.com.ar/archive/Ezines/raregazz/rare.015/agentes.txt (consultado
el 14 de Marzo de 2001)
[9] Bravo Joaquin. (1998). “Agentes Inteligentes”. Articulo publicado en la revista ReD
8. Abril 1998. Tecnología. [Documento WWW]. Disponible en:
http://www.webred.com/printart.cfm?ID=205 (consultado el 09 de Abril de 2001)
[10] “Agentes Móviles en Bibliotecas Digitales”. (1999). [Documento WWW].
Disponible en: http://ict.udlap.mx/pubs/claudia
(consultado el 09 de Abril de 2001)
[11] “Agentes Inteligentes”. [Documento WWW]. Disponible en:
http://www.fdi.ucm.es/asignaturas/ssii_sup/SI/grupo1/resumenes/Agentes%20Int
eligentes.html (consultado el 02 de Mayo de 2001)
Reconocimiento
[12] “Diseño de sistemas de agentes inteligentes”. Arquitecturas. [Documento WWW].
Disponible en: http://www.gsi.dit.upm.es/~mga/ssii/agentes4.pdf (consultado el
02 de Mayo de 2001)
[13] Cerezo Claudia. (2001). “El IQ del software: Agentes Inteligentes”. Disponible en:
http://www-cia.mty.itesm.mx/~lgarrido/Publications/red98.html (consultado el
05 de Abril de 2001)
[14] Enric Mor i Pera. (1998). “Agencia”. [Documento WWW]. Disponible en:
http://www.lsi.upc.es/~emor/agencia/home.html (consultado el 15 de Noviembre
de 2001)
[15] Iglesias Fernández Carlos Ángel. (1997). “Fundamentos de los Agentes
Inteligentes”. Departamento de Ingeniería de los Sistemas Telemáticos.
Universidad Politécnica de Madrid. Disponible en:
http://turing.gsi.dit.upm.es/~cif/cursos/ssii/reportiad.pdf (consultado el 02 de
Mayo de 2001)
[16] Flores Guillén Nidia Haydeé., “Diseño de un Sistema de Control Distribuido
Inteligente Basado en un Sistema Multiagente”. Proyecto de Grado. Facultad de
Ingeniería, Escuela de Sistemas, Universidad de los Andes. Mérida, (Venezuela).
[17] Godoy Daniela, Amandi Analía. (2000). “Agentes Inteligentes para Búsqueda de
Información”. Universidad Nacional de La Pampa, Facultad de Ingeniería.
Argentina. [Documento WWW]. Disponible en:
http://wicc2000.info.unlp.edu.ar/wicc2000/area3/tra3_9.rtf (consultado el 05 de
Abril de 2001)
Reconocimiento
[18] Gabriel Hernan Tolosa. Fernando Raúl Alfredo. (1999). “Revisión: tecnología de
agentes de software”. [Documento WWW]. Disponible en:
http://www.ibict.br/cionline/280399/28039909.pdf (consultado el 22 de
Noviembre de 2001.
[19] Llamas Bello César. (1999). “Introducción a los agentes y sistemas Multiagentes”.
Disponible en: http://www.infor.uva.es/~cllamas/MAS/mas.pdf (consultado
el 20 de Noviembre de 2001)
[20] Nils J. Nilsson. “Inteligencia Artificial. Una nueva síntesis”. McGraw-Hill
Interamericana de España, S.A.U.
[21] “Repositorio de agentes inteligentes”. Disponible en:
http://www-cia.mty.itesm.mx/~lgarrido/MailingLists/Agents/ (consultado el 05
de Abril de 2001)
[22] Ramón M. Gómez Labrador. (Febrero de 1999). “Agentes Móviles y CORBA”.
Dpto. de Lenguaje y Sistemas Informáticos Universidad de Sevilla.Disponible
en: http://www.fie.us.es/~ramon/tesis/CORBA/Seminario-MASIF/
(consultado el 30 de Julio de 2001)
[23] Sheremetov Leonid B. (1998). “Tecnología de Agentes Inteligentes: Aplicaciones
Industriales y Educacionales”. Centro de Investigación en Computación, IPN.
[Documento WWW]. Disponible en:
http://eva.cic.ipn.mx/~presenta/presenta/Agent/tsld001.htm (consultado el 26 de
Marzo de 2001)
Reconocimiento
[24] Sheremetov Leonid B. (1998). “Sistemas Inteligentes Distribuidos”. IPN, Centro de
Investigación en Computación. [Documento WWW]. Disponible en:
http://eva.cic.ipn.mx/~sher/SIDplan98.htm (consultado el 15 de Noviembre de
2001)
[25] V. Julián, V. Botti. (Junio de 2000). “Agentes Inteligentes: el siguiente paso en la
Inteligencia Artificial”. Dpto. Sistemas Informáticos y Computación Universidad
Politécnica de Valencia. Disponible en:
http://www.ati.es/novatica/2000/145/vjulia-145.pdf (consultado el 20 de
Noviembre de 2001)
[26] Wooldridge Michael y R. Nicholas Jennings. “Agentes Inteligentes: Teoría y
Práctica”. [Documento WWW]. Disponible en:
http://eia.udg.es/~peplluis/doctorado_troncal/bloque3agentes.htm (consultado el
15 de Noviembre de 2001)
[27] Benyon David.“Employing Intelligence at the Interface”. Open University, UK.
[Documento WWW]. Disponible en:
http://www.dcs.napier.ac.uk/~dbenyon/IIT.pdf (consultado el 01 de Septiembre
de 2001)
[28] Daniel, Elizabeth y Luz Mery. (1999). “Interfaces Inteligentes”. Documento de
Cierre. [Documento WWW]. Disponible en:
http://pisis.unalmed.edu.co/foro7/_foro7/00000002.htm (consultado el 25 de
Octubre de 2001)
[29] “Enlaces de personas que trabajan con IUI”. [Documento WWW]. Disponible en:
http://camis.stanford.edu/projects/mecano/iui97/relpgs.htm (consultado el 11 de
Agosto de 2001)
Reconocimiento
[30] “Enlaces al material sobre IUI”. [Documento WWW]. Disponible en:
http://www.sics.se/~annika/ii_links.html (consultado el 11 de Agosto de 2001)
[31] Encarnação Miguel. (1997). “Intelligent User Interface”. Berlin Tübingen.
Disponible en:
http://www.crcg.edu/company/staff/mencarna/publs/diss/node15.html#SECTION00
720000000000000000 (consultado el 13 de Agosto de 2001)
[32] “FLUIDS”. (1999). Consorcio: MIZAR Automazione S.p.A. (IT, C), UPM (ES, P),
German Research Center for Artificial Intelligence - DFKI (DE, P), Consorzio
5T (IT, P), Dirección General de Tráfico - DGT (ES, U). [Documento WWW].
Disponible en: http://www.vi.upm.es/vi/libro/pagina.asp?reg=159 (consultado el
10 de Agosto de 2001)
[33] Girardi Rosario. Deagostini Adriana. Cormenzana Fernando. “Interfaces de Usuario
Inteligentes: Sistemas adaptativos”. [Documento WWW]. Disponible en:
http://www.crnti.edu.uy/05trabajos/interface/InterfacesdeUsuarioInteligentes.doc
(consultado el 05 de Enero de 2002)
[34] Guardia Robles Bruno. Asesor: Dr. Marc Boumedine Montaner. “Asesores
inteligentes para apoyar el proceso de enseñanza de lenguajes de
programación”. Propuesta de tesis. [Documento WWW]. Disponible en:
http://www.sinergia_web.com.mx/clases/tesis/propuesta.htm (consultado el 25
de Octubre de 2001)
[35] Höök Kristina. (25 de Marzo de 1997). “Steps to take before Intelligent User
Interfaces becomes real”. Para ser presentado en el taller: La realidad de
tecnología de la IUI en Edimburgo. [Documento WWW]. Disponible en:
http://www.sics.se/~kia/papers/reality_of_II.html (consultado el 15 de Agosto de
2001)
Reconocimiento
[36] Höök Kristina. (2000). “Steps to take before Intelligent User Interfaces becomes
real”. Journal of Interaction with Computers. [Documento WWW]. Disponible
en: http://www.sics.se/~kia/papers/Steps_Hook_final.pdf (consultado el 20 de
Agosto de 2001)
[37] Höök, Kristina. Waern, Annika. (2000). “Interface Agents: A new metaphor for
human-computer interaction and its application to Universal Accessibility”. in S.
Constantine (ed.) User interfaces for all.
[38] “Intelligent User Interface”. (Agosto de 1999). [Documento WWW]. Disponible en:
http://www.cs.wpi.edu/Research/airg/IntInt/intint-outline.html (consultado el 12
de Marzo de 2001)
[39] J. W. Sullivan, S. W. Tyler. (1991). “Intelligent User Interfaces”. New York: ACM
Press. [Documento WWW]. Disponible en:
http://www.dfki.uni-sb.de/imedia/lidos/pbir/b0-201-50305-0.html (consultado el
10 de Agosto de 2001)
[40] Lieberman Henry. “Henry Lieberman's Home Page”. Massachusetts Institute of
Technology (MIT) Media Laboratory. Cambridge, Mass. USA. [Documento
WWW]. Disponible en:
http://lieber.www.media.mit.edu/people/lieber/ (consultado el 31 de Agosto
de 2001)
[41] Lieberman Henry. (1997). “Letizia”. [Documento WWW]. Disponible en:
http://lieber.www.media.mit.edu/people/lieber/Lieberary/Letizia/Letizia-
AAAI/Letizia.html (consultado el 31 de Agosto de 2001)
Reconocimiento
[42] Lieberman Henry. (1998). “Lets Browser”. [Documento WWW]. Disponible en:
http://lieber.www.media.mit.edu/people/lieber/Lieberary/Lets-Browse/Lets-
Browse-Intro.html (consultado el 31 de Agosto de 2001)
[43] Lieberman Henry. (1999). “Mondrian”. [Documento WWW]. Disponible en:
http://lieber.www.media.mit.edu/people/lieber/Lieberary/Mondrian/Mondrian.html
(consultado el 31 de Agosto de 2001)
[44] Lieberman Henry. (Agosto de 1999). “Intelligent Interface Agents”. [Documento
WWW]. Disponible en:
http://lieber.www.media.mit.edu/people/lieber/Teaching/Agents-Tutorial
(consultado el 06 de Abril de 2001)
[45] Lieberman Henry. (1997).“Autonomous Interface Agents”. Massachusetts Institute
of Technology Media Laboratory. Cambridge, Mass. USA. [Documento WWW].
Disponible en:
http://lieber.www.media.mit.edu/people/lieber/Lieberary/Letizia/AIA/AIA.html
(consultado el 01 de Agosto de 2001)
[46] M. Maybury, W. Wahlster .(1998). "Readings in Intelligent User Interfaces".
Morgan Kauffman Publishers. [Documento WWW]. Disponible en:
http://www.dfki.de/~wahlster/Readings.html (consultado el 10 de Agosto de
2001)
[47] Neil la W. Van Dyke, Lieberman Henry, Maes Pattie. (1999). “Butterfly”
(Mariposa). [Documento WWW]. Disponible en:
http://www.neilvandyke.org/butterfly/ (consultado el 03 de Septiembre de 2001)
Reconocimiento
[48] Pattie Maes. (1994). “Agents that reduce work and information overload”.
Disponible en: http://ict.pue.udlap.mx/people/sandra/is523/agentes_i2.html
(consultado el 09 de Diciembre de 2001)
[49] Rodríguez Olvera Gustavo. Zárate Silva Victor Hugo. “Diseño de una Interfaz
Hombre Máquina para compartir información”. [Documento WWW].
Disponible en:
http://www.veracruz.lania.mx/~smcc/ENC97/Interaccion/rodriguez.pdf
(consultado el 25 de Octubre de 2001)
[50] Sybil Shearin, Lieberman Henry. (Enero de 2001). “Intelligent Profiling by
Example”. MIT Media Laboratory. [Documento WWW]. Disponible en:
http://sibyl.www.media.mit.edu/people/sibyl/projects/apt/iui2001_profile.pdf
(consultado el 03 de Septiembre de 2001)
[51] Sheneiderman Ben. (1998). “Designing The User Interfaces”. Addison-Wester.
Publishing Company.
[52] Torres Sabaté Armengol. “Interfaces de Usuario”. Consultor en Comunicaciones
Interactivas. [Documento WWW]. Disponible en:
http://www.ictnet.es/+atorres/docs/gui/gui.htm (consultado el 08 de Agosto de
2001)
[53] Waern Annika. (Marzo de1997). “What is an intelligent Interface”. Notas de un
seminario de la introducción. [Documento WWW]. Disponible en:
http://www.sics.se/~annika/papers/intint.html (consultado el 10 de Agosto de
2001)
Reconocimiento
[54] Lynnette Hirschman. (Diciembre 1999). “Intelligent Human-Computer Interfaces”.
The Edge Newsletter. [Documento WWW]. Disponible en:
http://www.mitre.org/pubs/edge/december_99/ (consultado el 15 de Septiembre
de 2001)
[55] “Intelligent User Interfaces”. [Documento WWW]. Disponible en:
http://www.dfki.de/fluids/Intelligent_User_Interfaces.html (consultado el 15 de
Septiembre de 2001)
[56] Hernández y Col. (1998). “Metodología de la Investigación”. México: Editorial
McGraw Hill Interamericana
[57] “BDI Agents”. (12 de Diciembre de 2001). [Documento WWW]. Disponible en:
http://www.di.unito.it/~guido/bdi1.ppt (consultado el 09 de Abril de 2002)
Reconocimiento