1
Agentes Inteligentes e Agentes Inteligentes e Sistemas Multi-agenteSistemas Multi-agente
Agentes de InterfaceAgentes de Interface
IST- 2003/2004IST- 2003/2004
SumárioSumário
Enquadramento: Tipologia de Agentes
Motivações
Considerações sobre Agentes de Interface
Relação Utilizador/Agente
Utilidade dos Agentes de Interface
SumárioSumário
Agentes de Interface: porquê?
Objecções aos Agentes de Interface
Construção de Agentes
Exemplo de Agente: “E-mail Agent”
Exemplo de Agente: Letizia
Agentes de Interface e Personagens Sintéticas
Agentes de Interface: Porquê?Agentes de Interface: Porquê?
Tecnologia como uma companheira: o computador invisível Precisão de computadores vs complexidade das pessoas Maior uso de computadores nas actividades diárias Interacção está a acompanhar avanços tecnológicos?
Domínio de “direct manipulation” Utilizador inicia todas as tarefas Utilizador monitoriza todos os eventos
Problema: Difícil para utilizadores sem treino
Alterar Metáfora: Direct Manipulation
Método Usado• visualização de objectos• acções em objectos de interface correspondem a acções nos
objectos reais• Nada acontece a não ser que o utilizador o faça acontecer
Tarefa para a qual foi desenhado• Fechada, estática e pouca informação estruturada do mundo
Agentes de Interface: Porquê?Agentes de Interface: Porquê?
Agentes de Interface: Porquê?Agentes de Interface: Porquê?
Direct Manipulation
Método Usado• Utilizador delega agentes que conhecem os interesses,
preferências e hábitos do utilizador• Agente faz sugestões e pode agir em benefício do utilizador• Muitas coisas podem acontecer, mesmo com o utilizador inactivo
Tarefa para a qual foi desenhado• Aberta, dinâmica e muita informação não estruturada do mundo
“Indirect Management”
Agente Interface = Interface?Agente Interface = Interface?
Melhores agentes não inibem acções do utilizador
Agentes assistem os utilizadores por diversas formas:• Efectuam tarefas em benefício do utilizador• Escondem complexidade• Treinam e ensinam o utilizador• Ajudam diferentes utilizadores a colaborar• Monitorizam eventos e procedimentos
Tarefas e Aplicações – conjunto virtualmente ilimitado• Filtragem de informação, gestão de correio, escalonamento de eventos,
selecção de livros, filmes, música, etc.
Agente Interface = Interface?Agente Interface = Interface?
Agentes de InterfaceAgentes de Interface
Personagem representada pelo computador Actua e colabora em nome do utilizador Fornece assistência activa ao utilizador através de tarefas
computer-based Intermediário Interface desenhada para o utilizador Robot: Sensores e Actuadores correspondem a entradas e
saídas do agente.
Agentes de InterfaceAgentes de Interface
Principais Características (1/4)Principais Características (1/4)
Actividade• Actua estritamente em benefício do utilizador• Fornece vistoria, trabalho e perícia• Perceber objectivos -> traduzi-los em acções e
mostrar resultados• Obter mais informação
Principais Características (2/4)Principais Características (2/4)
Sensibilidade e Reacção• Sucesso ou falha com base na capacidade de responder ao utilizador• Dimensões:
- Explícita – utilizador e sistema comunicam por um conjunto restrito de transacções
- Implícita – agente capaz de agir em favor do utilizador -> decidir e efectuar conjunto de acções.
Objectivos podem ser definidos de forma explícita
Problemas: - Requer inferência e esta é fuzzy- Uma inferência errada é pior do que não existir qualquer inferência
Principais Características (3/4)Principais Características (3/4)
Competência• Competente no domínio da aplicação e ambiente em que opera• Agente deve possuir ou poder gerar Meta-Conhecimento e Múltiplas
Representações• No limite, competência consiste em saber como seleccionar entre
múltiplas representações alternativas consoante as necessidades e estilos do utilizador
Meta-Conhecimento: sobre resolução de problemas num domínioMúltiplas Representações: Ambiguidades numa representação são
desambiguadas por outra representação; Fornecem a base para um ambiente de aprendizagem
Principais Características (4/4)Principais Características (4/4)
Acessibilidade• Características e predisposições do agente acessíveis ao
utilizador• Utilizadores têm “deixas” da representação externa para
inferir características internas• Conceptualmente, o utilizador pode prever o que deverá ser
feito em determinada situação com base na personalidade do agente
Relação Utilizador - Agente de Relação Utilizador - Agente de InterfaceInterface
Compreensão: Utilizador compreende o agente? Pode confiar nele?
Controlo: Como o utilizador controla o agente? Distracção: Como minimizá-la? Facilidade de uso: É necessário um utilizador
experiente? Personificação: Como representar o agente para o
utilizador
Compreensão
Problema: Colaboração Agente/Utilizador só pode ser útil se o utilizador confiar e compreender o agente:
• Como é que os utilizadores percebem o estado e funcionamento dos agentes?
• Como é que a pessoa aprende tudo o que o agente pode fazer?
Solução• Modelos acessíveis ao utilizador• Feedback contínuo do estado, acções e aprendizagem do
agente
ControloControlo Problema: Utilizadores podem dar controlo a agentes
autónomos, mas não podem sentir que o perderam:• Como tornar os agentes não totalmente independentes do
utilizador?• Como acomodar diferentes quantidades de controlo para
diferentes utilizadores? Solução:
• Permitir vários graus de autonomia• Utilizador pode definir grau de autonomia• Utilizador pode programar o agente
Personificar Agentes?Personificar Agentes?
Novo estilo de interacção: “indirect management”• Actuar como equipa
Comportamento dos Computadores• Predisposições de comportamento• Utilizador deve perceber e prever o
comportamento dos sistemas computacionais
DistracçãoDistracção
Problema: Agentes devem manter o utilizador informado e interrompê-lo se necessário:
• Como definir o nível de interacção com os agentes?• Quando é que um evento é suficientemente importante para
interromper o utilizador?• Como se mantém o utilizador informado sem o interromper?
Solução:• Diminuir número de interrupções gradualmente• Utilizador pode programar situações que requerem interrupção• Feedback do agente sem requerer total atenção do utilizador
Facilidade de utilizaçãoFacilidade de utilização
Problema: Agentes efectuam acções que o utilizador não consegue ou não pretende fazer. Se o agente for complexo, o utilizador não o usará:
• Como é que os utilizadores devem instruir o agente sem necessidade de programação
• Como inserir os agentes, de forma discreta, nas aplicações
Solução: • Não forçar utilizador a aprender uma nova linguagem• Usar a linguagem da aplicação para comunicar entre o agente e
utilizador
PersonificaçãoPersonificação
Problema: Lembrar o utilizador que existe um processo a actuar em seu benefício:
• Como personificar sem fazer pensar que o computador é inteligente?
• Como tirar vantagens da personificação? Solução:
• ???
Utilidade de Agentes de InterfaceUtilidade de Agentes de Interface
Gestão de Tarefas Mundanas (ex: escalonamento) Pesquisas personalizadas de informação Companhia Aviso Ajuda em tempo de execução de um contexto
interactivo Ensino Assistido Auxílio a pessoas com dificuldades específicas
Objecções aos Agentes de InterfaceObjecções aos Agentes de Interface
Agente como um “virus”• “whining chatting little irritants”• Problema não está nos agentes “per se”, mas nos
processos e características que pretendem possuir.• Soluções:
1. Utilizador escolhe de uma lista de agentes2. Kit de configuração de agentes
Agente <-> estupidez• Sente-se estúpido em pretender que exista uma “pessoa”
no computador
Objecções aos Agentes de InterfaceObjecções aos Agentes de Interface
Indirecção• Para quê negociar com um agente se sei o que quero fazer
Ética• Motivação para o mesmo tratamento com “agentes reais”
Necessidade de usar Inteligência Artificial• Estrela está em eclipse• Não funciona• Se funcionasse, iria consumir mais ciclos do que as piores estimativas+ Muitos exemplos de sucesso de aplicação de Técnicas de IA+ Não se deve confundir um agente antropomórfico com uma completa
personalidade artificial
AntropomorfismoAntropomorfismo
Antropomorfismo: Metáfora incompleta. Selecciona algumas características humanas e elimina outras
Vantagens:• Estamos habituados a comunicar com pessoas• Perceber como o agente pensa, decide e age, com base nas
características externas• Conversação interactiva -> inferir e empregar convenções de
conversação• Dirige a atenção para as qualidades essenciais da natureza do
agente: sensibilidade e reacção, capacidade de efectuar acções, competência e acessibilidade
Construção de AgentesConstrução de Agentes
Problemas:
Competência: como adquirir o conhecimento necessário (quando, no quê e como ajudar o utilizador)
Confiança: Utilizador sente-se confortável com o agente
Construção de Agentes: AbordagensConstrução de Agentes: Abordagens
1ª Abordagem - Utilizador final programa o agente de interface (semi-autónomo).
Problemas:• Competência: Requer muito esforço do utilizador• Confiança: Não é problema. Utilizador confia nas suas
capacidades de programação
Construção de Agentes: AbordagensConstrução de Agentes: Abordagens
2ª Abordagem – Baseada em Conhecimento • Fornecer ao agente extensivo conhecimento do
domínio do utilizador e da aplicação
Problemas:• Competência: Muito trabalho do Engenheiro de
Conhecimento e pouca reutilização• Confiança: Utilizador não tem um modelo das limitações e
forma de trabalho do agente
Construção de Agentes – Machine LearningConstrução de Agentes – Machine Learning
Hipóteses• Agente de interface pode programar-se a si próprio• Recebe um conhecimento mínimo inicial• Aprende o “comportamento” apropriado com o utilizador e
outros agentes• Trabalha como um assistente pessoal, isto é, torna-se cada
vez mais útil e competente
Metáfora: Assistente Pessoal
Construção de Agentes – Machine LearningConstrução de Agentes – Machine Learning
Condições• Comportamento repetitivo
senão o agente não aprende• Comportamento diferente para diferentes utilizadores
senão a abordagem baseada em conhecimento seria melhor
Machine Learning - VantagensMachine Learning - Vantagens Solução para o problema da confiança Requer menos trabalho do utilizador e programador Adaptação do agente ao utilizador / organização Facilidade de transferir informações, hábitos e
conhecimentos entre utilizadores
Aquisição de InformaçãoAquisição de Informação
Observando o utilizador Feedback do utilizador
• Indirecto: utilizador ignora sugestão do agente e age de forma diferente
• Directo: utilizador reprova atitudes do agente Exemplos do utilizador Pedindo conselho a outros agentes
• utilizador define “agentes professores”
Aquisição de InformaçãoAquisição de Informação
Machine Learning - Exemplos
Electronic Mail Agent Meeting Schedule Agent News Filtering Agent Entertainment Selection Agent
Exemplos: LetiziaExemplos: Letizia
"Letizia Álvarez de Toledo has observed that this vast library is useless: rigorously speaking, a single volume would be sufficient, a volume of ordinary format, printed in nine or ten point type, containing an infinite number of infinitely thin leaves."
- Jorge Luis Borges, The Library of Babel
Letizia - MotivaçõesLetizia - Motivações Manipulação directa de links na Web conduz geralmente a
informação irrelevante Grande crescimento da Web leva à necessidade de uma
assistente inteligente de navegação Facilitar pesquisas e navegação através da cooperação entre
agente e utilizador
LetiziaLetizia
Agente de Interface Autónomo Ajuda a navegação Web Opera num browser tradicional como o Netscape Actua em paralelo com a actividade do utilizador -> está sempre
activo Nunca toma controlo da interface. Apenas faz sugestões É dinâmico e incremental
Como FuncionaComo Funciona
Analisa o comportamento do utilizador (links seguidos, pesquisas, pedidos, etc.)
Guarda URLs escolhidos pelo utilizador Tenta antecipar acções do utilizador Usa um conjunto de heurísticas para perceber e antecipar o
comportamento do utilizador A pedido do utilizador mostra as suas sugestões (observação
passiva)
Como FuncionaComo Funciona Não tem um interpretador de linguagem natural. Apenas guarda
uma lista de palavras Não determina medidas de qualidade de uma página. Define
ordens de preferência entre elas. Não altera a aplicação: Actua entre o browser e o utilizador
Letizia: InterfaceLetizia: Interface
Três Janelas de Netscape1. Janela normal de browse. Utilizador actua sem qualquer interferência
do agente2. Janela de Candidatos. Links que o Letizia pondera recomendar ao
utilizador3. Janela de Recomendações. Links que já passaram todos os testes.
Letizia considera do interesse do utilizador
Configurações diferentes:• Duas Janelas• Vários perfis de utilizador
Letizia – InterfaceLetizia – Interface
Letizia – RecomendaçõesLetizia – Recomendações
Letizia – VideoLetizia – Video
Letizia: Procura UtilizadorLetizia: Procura Utilizador Navegação normal: Sempre que o utilizador segue
um link, a janela é recarregada com a nova página Browser guarda num stack as páginas anteriores
Browsers incentivam a uma procura em profundidade primeiro
Problema: O mesmo que em IA. Pode se entrar numa procura infinita quando a solução estava na “vizinhança”
Procura em profundidadeProcura em profundidade
Letizia: Procura AgenteLetizia: Procura Agente
Efectua uma procura em largura primeiro• Distância 1, depois 2, etc.
Quando o utilizador muda de página, é iniciada uma nova procura
Agente e utilizador actuam em cooperação
Letizia - ProcuraLetizia - Procura
ImplementaçãoImplementação Macintosh Common Lisp Arquitectura object-oriented -> Facilita a introdução de novas
Heurísticas Usa Netscape como browser e interface utilizador. Agente é um processo separado Lisp e Netscape comunicam através de AppleEvents e
AppleScript “interprocess communication”. Parsing do HTML feito por “Zebu parser-generator”
Aria Photo Agent
Video
Agentes de Interface e Personagens Sintéticas
Prós e Contras! Realismo versus Não Realismo Distracção O “tipo do agente” (que tipo de agente é o mais
apropriado?)
O FUTURO????
ReferênciasReferências
“Software Agents”, Jeffrey Bradshaw http://www.semanticweb.org/events/dagstuhl2000/ http://lieber.www.media.mit.edu/people/lieber/