Agentes Inteligentes e Sistemas Multi-agente Agentes de Interface IST- 2003/2004 Ana Paiva 1 Sumário Enquadramento: Tipologia de Agentes Motivações Considerações sobre Agentes de Interface Relação Utilizador/Agente Utilidade dos Agentes de Interface A. Paiva Sumá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 Plataforma para Agentes de Interface: Sofware Agents A. Paiva 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 A. Paiva Agentes de Interface: Porquê? 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 A. Paiva Agentes de Interface: Porquê? Alterar Metáfora Direct Manipulation “Indirect Management” 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 A. Paiva 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. A. Paiva Agente Interface = Interface? A. Paiva Agentes 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. A. Paiva Agentes de Interface A. Paiva Principais Características (1/3) 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 A. Paiva Principais Características (2/3) 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 A. Paiva Principais Características 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ínio Múltiplas Representações: Ambiguidades numa representação são desambiguadas por outra representação; Fornecem a base para um ambiente de aprendizagem A. Paiva Principais Características 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 A. Paiva Relação Utilizador - Agente de Interface 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 A. Paiva 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 A. Paiva Controlo 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 A. Paiva 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 A. Paiva Distracçã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 A. Paiva Facilidade 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 A. Paiva Personificaçã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: • ??? A. Paiva Utilidade 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 A. Paiva Objecçõ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. 2. Utilizador escolhe de uma lista de agentes Kit de configuração de agentes Agente <-> estupidez • A. Paiva Sente-se estúpido em pretender que exista uma “pessoa” no computador Objecções aos Agentes de Interface Indirecção • Para Ética • Motivação para o mesmo tratamento Necessidade de usar Inteligência Artificial • quê negociar com um agente se sei o que quero fazer com “agentes reais” 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 A. Paiva Antropomorfismo 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 A. Paiva Construçã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 A. Paiva Construção de Agentes: Abordagens 1ª Abordagem - Utilizador final programa o agente de interface (semi-autónomo). (e.g. Malone & Lai’s Oval system) Problemas: • • Competência: Requer muito esforço do utilizador Confiança: Não é problema. Utilizador confia nas suas capacidades de programação A. Paiva Construção de Agentes: Abordagens 2ª Abordagem – Baseada em Conhecimento (e.g. UCEgo) • 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 A. Paiva Construçã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 A. Paiva Construçã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 A. Paiva Machine 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 A. Paiva Aquisiçã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” A. Paiva Aquisição de Informação A. Paiva Machine Learning - Exemplos Electronic Mail Agent Meeting Schedule Agent News Filtering Agent Entertainment Selection Agent A. Paiva Exemplos: Agente de E-mail Características: • • Aprende a priorizar, apagar, encaminhar, ordenar e arquivar mensagens Common Lisp no Mac com o software Eudora Técnica de aprendizagem: Memory-based reasoning • O agente memoriza as situações ocorridas através das características: - To:, From:, Cc:, Subject:, msg lida (bool), reply (bool)... • • • Nova situação é comparada com as memorizadas (medida de distância das situações) Os pesos das características são ajustados de acordo com as ações do utilizador A cada previsão é dado um valor de confiança do agente - dependendo das diferenças nas situações observadas e quantidade de situações arquivadas A. Paiva Exemplos: Agente de E-mail A. Paiva Exemplos: Agente de E-mail A. Paiva Exemplos: Agente de E-mail •Limiares para previsão do agente definidos pelo utilizador •Aquisição + rápida de Competência: •pelo utilizador •colaboração entre agentes (e-mail) A. Paiva Exemplos: Letizia 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 A. Paiva Letizia - 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 A. Paiva Letizia 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 A. Paiva Como 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) A. Paiva Como 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 A. Paiva Letizia: Interface Três Janelas de Netscape 1. Janela normal de browse. 2. 3. interferência do agente Janela de Candidatos. Links que o Letizia pondera recomendar ao utilizador Janela de Recomendações. Links que já passaram todos os testes. Letizia considera do interesse do utilizador Configurações diferentes: • Duas Janelas • Utilizador actua sem qualquer Vários perfis de utilizador A. Paiva Letizia – Interface A. Paiva Letizia – Recomendações A. Paiva Letizia: 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” A. Paiva Procura em profundidade A. Paiva Letizia: 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 A. Paiva Letizia - Procura A. Paiva Implementaçã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” A. Paiva Referências “Software Agents”, Jeffrey Bradshaw http://www.semanticweb.org/events/dagstuhl2000/ http://pattie.www.media.mit.edu/people/pattie/ http://lieber.www.media.mit.edu/people/lieber/ http://www.eps.ufsc.br/teses99/thiry/ A. Paiva