107
“ 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 …

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

“ 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

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