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
Download

Capítulo 9 - Agentes de Interface