Agentes Inteligentes e
Sistemas Multi-agente
Agentes de Interface
IST- 2003/2004
1
Sumário

Enquadramento: Tipologia de Agentes

Motivações

Considerações sobre Agentes de Interface

Relação Utilizador/Agente

Utilidade dos Agentes de Interface
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
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
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
Agentes de Interface: Porquê?
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
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?
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.
Agentes de Interface
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)
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)
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
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
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
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
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
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çã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çã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çã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 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
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
•
Sente-se estúpido em pretender que exista uma “pessoa”
no computador
Objecções aos Agentes de Interface

Indirecção
•

Ética
•

Para quê negociar com um agente se sei o que quero fazer
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
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
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
Construçã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: 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
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
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
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

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”
Aquisição de Informação
Machine Learning - Exemplos




Electronic Mail Agent
Meeting Schedule Agent
News Filtering Agent
Entertainment Selection Agent
Exemplos: 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çõ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
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
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)
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
Letizia: Interface
Três Janelas de Netscape
1.
2.
3.
Janela normal de browse. Utilizador actua sem qualquer 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
Vários perfis de utilizador
Letizia – Interface
Letizia – Recomendações
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”
Procura em profundidade
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
Letizia - Procura
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”
Referências

“Software Agents”, Jeffrey Bradshaw

http://www.semanticweb.org/events/dagstuhl2000/

http://lieber.www.media.mit.edu/people/lieber/
Download

Agentes de Interface