information retrieval uma abordagem baseada em agentespaf/proj/junho2000/agentesinteligentes.pdf ·...

103
Information Retrieval Uma abordagem baseada em agentes Luís Nogueira – [email protected] Projecto orientado pelo Eng.º Nuno Silva Departamento de Engenharia Informática Instituto Superior de Engenharia do Porto Julho de 2000 Resumo: Internet, Internet2, intranets, auto-estradas da informação, ciberespaço... – é bastante difícil não ter ouvido falar ou lido sobre estes conceitos. Hoje todos parecem concordar com o facto de que a Internet e redes similares são um processo irreversível. De facto, os processos e desenvolvimentos que desencadearam, ou ajudaram a desencadear, terão um impacto cada vez maior nas nossas vidas diárias. No entanto, a cada dia que passa a quantidade de informação disponível na Internet cresce a um ritmo impressionante. Alguma soluções foram, ou continuam a ser, apresentadas para resolver este problema do excesso de informação. Mas, mesmo as mais interessantes, – como a tecnologia Push ou os motores de busca – não são capazes de resolver o problema de forma (completamente) satisfatória. Neste trabalho é apresentado um novo modelo para o fluxo de informação na Internet, o modelo de três camadas, contrariamente ao actual modelo centrado em produtores e consumidores de informação. Esta nova camada intermédia permitirá que cada entidade se concentre na tarefa a realizar e não na forma ou técnicas necessárias para o conseguir. Os agentes têm aqui um papel central, não só nesta camada intermédia, mas também auxiliando consumidores e produtores durante todo o processo de procura e fornecimento de informação. “... os agentes estão aqui para ficar, não apenas devido à sua diversidade, ao seu enorme leque de aplicabilidade ou ao elevado número de pessoas a investir neles. À medida que avançamos nesta era da informação, qualquer organização que baseie a sua actividade na informação e que não invista em tecnologia de agentes pode estar a cometer suicídio comercial.” Hyacinth S. Nwana Palavras-chave : Agência, Agentes de Software, Envio e Procura de Informação, Excesso de Informação, Internet, Mercado de Informação, Modelo de Três Camadas.

Upload: others

Post on 27-Apr-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Information Retrieval Uma abordagem baseada em agentes

Luís Nogueira – [email protected]

Projecto orientado pelo Eng.º Nuno Silva

Departamento de Engenharia Informática Instituto Superior de Engenharia do Porto

Julho de 2000

Resumo: Internet, Internet2, intranets, auto-estradas da informação, ciberespaço... – é bastante difícil não ter ouvido falar ou lido sobre estes conceitos. Hoje todos parecem concordar com o facto de que a Internet e redes similares são um processo irreversível. De facto, os processos e desenvolvimentos que desencadearam, ou ajudaram a desencadear, terão um impacto cada vez maior nas nossas vidas diárias. No entanto, a cada dia que passa a quantidade de informação disponível na Internet cresce a um ritmo impressionante. Alguma soluções foram, ou continuam a ser, apresentadas para resolver este problema do excesso de informação. Mas, mesmo as mais interessantes, – como a tecnologia Push ou os motores de busca – não são capazes de resolver o problema de forma (completamente) satisfatória. Neste trabalho é apresentado um novo modelo para o fluxo de informação na Internet, o modelo de três camadas, contrariamente ao actual modelo centrado em produtores e consumidores de informação. Esta nova camada intermédia permitirá que cada entidade se concentre na tarefa a realizar e não na forma ou técnicas necessárias para o conseguir. Os agentes têm aqui um papel central, não só nesta camada intermédia, mas também auxiliando consumidores e produtores durante todo o processo de procura e fornecimento de informação.

“... os agentes estão aqui para ficar, não apenas devido à sua diversidade, ao seu enorme leque de aplicabilidade ou ao elevado número de pessoas a investir neles. À medida que avançamos nesta era da informação, qualquer organização que baseie a sua actividade na informação e que não invista em tecnologia de agentes pode estar a cometer suicídio comercial.”

Hyacinth S. Nwana

Palavras-chave: Agência, Agentes de Software, Envio e Procura de Informação, Excesso de Informação, Internet, Mercado de Informação, Modelo de Três Camadas.

Índice

Information Retrieval – uma abordagem baseada em agentes i

Índice Índice ..................................................................................................................................i Diagramas .........................................................................................................................iv Agradecimentos .................................................................................................................v 1 – Introdução ................................................................................................................... 1

1.1 – Problemas relacionados com a procura de informação ....................................... 1 1.2 – Possíveis soluções: Motores de busca e Agentes ................................................ 2 1.3 – Agentes para uma nova estrutura da Internet ...................................................... 5

2 – Teoria sobre agentes ................................................................................................... 6

2.1 – Introdução ............................................................................................................ 6 2.2 – Definição de agente ............................................................................................. 8

2.2.1 – Uma noção “fraca” do conceito agente ........................................................ 8 2.2.2 – Uma noção (mais) forte do conceito agente ................................................. 8 2.2.3 – Agência ......................................................................................................... 9 2.2.4 – Inteligência ................................................................................................. 10

2.3 – A importância dos utilizadores .......................................................................... 10 2.4 – Agentes de Interface .......................................................................................... 11

2.4.1 – Introdução ................................................................................................... 11 2.4.2 – Como construir um modelo do utilizador ................................................... 12

2.4.2.1 – Técnicas tradicionais de aprendizagem ............................................... 12 2.4.2.2 – Aprender directamente do ambiente .................................................... 13

2.4.3 – Áreas de implementação de agentes de interface ....................................... 14 2.4.3.1 – Agentes de filtragem de informação .................................................... 14 2.4.3.2 – Agentes de recuperação de informação ............................................... 15 2.4.3.3 – Assistentes pessoais digitais (PDAs) ................................................... 17

2.5 – Tecnologia de Agentes Distribuídos.................................................................. 18 2.5.1 –Tecnologia de agentes distribuídos e Sistemas multi-agente ...................... 18 2.5.2 – Coordenação em sistemas multi-agente...................................................... 19

2.5.2.1 – Coordenação organizacional................................................................ 20 2.5.2.2 – Contratar para coordenar – o Contract Net Protocol ........................... 21 2.5.2.3 – Planeamento multi-agente para a coordenação.................................... 21 2.5.2.4 – Leis sociais para a coordenação........................................................... 22

2.5.3 – Negociação ................................................................................................. 23 2.5.4 – Comunicação .............................................................................................. 24

2.6 – Agentes Móveis ................................................................................................. 26 2.6.1 – Uma definição corrente............................................................................... 26 2.6.2 – Uma definição mais completa .................................................................... 27 2.6.3 – Vantagens da tecnologia de agentes móveis............................................... 30

3 – Agentes de Software na prática ................................................................................ 32

3.1 – Áreas de aplicação de agentes ........................................................................... 32 3.2 – Exemplos de aplicações de agentes e sistemas de agentes ................................ 35

3.2.1 – Open Sesame! ............................................................................................. 35 3.2.2 – Info Agent ................................................................................................... 36

3.2.2.1 – Descrição ............................................................................................. 36

Índice

Information Retrieval – uma abordagem baseada em agentes ii

3.3.2.2 – Conclusões ........................................................................................... 38 3.2.3 – Remembrance Agent .................................................................................. 39

3.2.3.1 – Descrição ............................................................................................. 39 3.2.3.2 – Como é este agente construído? .......................................................... 39

4 – A Internet (de) hoje................................................................................................... 41

4.1 – Introdução .......................................................................................................... 41 4.2 – Uma importante mudança de direcção: a Tecnologia Push............................... 42 4.3 – A caminho dos Agentes e Serviços Intermediários ........................................... 45 4.4 – Resumo .............................................................................................................. 47

5 – Da Internet ao Mercado da Informação .................................................................... 48

5.1 – Introdução .......................................................................................................... 48 5.1.1 – Escolhas, Coordenação e Prioridades ......................................................... 48 5.1.2 – Fornecimento e Consumo de informação ................................................... 49 5.1.3 – Personalização e Delegação........................................................................ 51

5.2 – Agência: Impulsionar a cadeia de informação para o próximo nível ................ 52 6 – O modelo de três camadas ........................................................................................ 54

6.1 – A camada intermédia: O elo que faltava ............................................................ 54 6.1.1 – Introdução ................................................................................................... 54 6.1.2 – Agentes Intermediários ............................................................................... 55 6.1.3 – A necessidade duma terceira camada ......................................................... 60

6.2 – A caminho de uma bem consolidada terceira camada ....................................... 60 6.3 – Organização da camada intermédia ................................................................... 61 6.4 – Aspectos relacionados com o uso da camada intermédia .................................. 62 6.5 – O (re)aparecimento dos Agentes Inteligentes .................................................... 63 6.6 – Um exemplo de utilização da camada intermédia ............................................. 64 6.7 – Intermediários humanos e de software .............................................................. 65

6.7.1 – Introdução ................................................................................................... 65 6.7.2 – Questões a colocar ...................................................................................... 67 6.7.3 – Intermediários Humanos vs. Agentes ......................................................... 68

6.8 – Uma aplicação da camada intermédia: Matchmaking ....................................... 68 6.9 – Resumo .............................................................................................................. 71

7 – Os alicerces ............................................................................................................... 72

7.1 – Introdução .......................................................................................................... 72 7.2 – Mobilidade e Ubiquidade .................................................................................. 72 7.3 – Novas formas de ver a informação .................................................................... 73 7.4 – Superdistribuição e Assinaturas Digitais ........................................................... 75 7.5 – Resumo .............................................................................................................. 77

8 – O estado actual dos agentes ...................................................................................... 78

8.1 – Introdução .......................................................................................................... 78 8.2 – Os computadores e a tecnologia de agentes ...................................................... 78 8.3 – O Utilizador ....................................................................................................... 79 8.4 – Os Fornecedores e Produtores ........................................................................... 79 8.5 – A Internet e a World Wide Web ........................................................................ 80

Índice

Information Retrieval – uma abordagem baseada em agentes iii

9 – O futuro (esperado) dos agentes ............................................................................... 83 9.1 – A Tecnologia de agentes.................................................................................... 83

9.1.1 – A arquitectura/standard escolhida............................................................... 83 9.1.2 – Assuntos legais e éticos relacionados com aspectos técnicos dos agentes . 85 9.1.3 – Permitir, facilitar e gerir a colaboração entre agentes ................................ 85 9.1.4 – Aspectos relacionados com a interface com o utilizador............................ 86 9.1.5 – Aspectos técnicos........................................................................................ 86

9.2 – O Utilizador ....................................................................................................... 87 9.2.1 – Facilidade de utilização .............................................................................. 87 9.2.2 – Aplicações disponíveis ............................................................................... 88

9.3 – Os Fornecedores e Produtores ........................................................................... 89 9.3.1 – Quem estará a desenvolver agentes e como serão eles oferecidos? ........... 89 9.3.2 – Que tipos de agentes serão oferecidos? ...................................................... 90

9.4 – A Internet e a World Wide Web ........................................................................ 92 9.5 – Resumo .............................................................................................................. 93

10 – Conclusões .............................................................................................................. 94 11 – Pesquisa futura ........................................................................................................ 95 12 – Bibliografia ............................................................................................................. 96

Índice

Information Retrieval – uma abordagem baseada em agentes iv

Diagramas Diagrama 1 - Arquitectura genérica dos agentes de filtragem de informação ............... 14 Diagrama 2 - Arquitectura genérica para os agentes de recuperação de informação ..... 15 Diagrama 3 - Arquitectura genérica dos agentes pessoais digitais ................................. 17 Diagrama 4 - Paradigma cliente/servidor ....................................................................... 26 Diagrama 5 - Paradigma de agentes móveis ................................................................... 27 Diagrama 6 - Modelo simples de um agente móvel ....................................................... 29 Diagrama 7 - Estrutura do Info Agent ............................................................................ 36 Diagrama 8 - A organização actual da cadeia de informação ........................................ 50 Diagrama 9 - Futuro esperado para a cadeia de informação .......................................... 52 Diagrama 10 - Modelo de três camadas ......................................................................... 55

Agradecimentos

Information Retrieval – uma abordagem baseada em agentes v

Agradecimentos Quero agradecer ao Eng.º Nuno Silva todo o apoio prestado, o feedback e comentários valiosos após uma leitura exaustiva de versões preliminares deste trabalho. Pela sua paciência e interesse demonstrado, o meu muito obrigado.

Introdução

Information Retrieval – uma abordagem baseada em agentes 1

1 – Introdução

"Nós estamos afogados em informação mas famintos de conhecimento"

John Naisbitt Estão a acontecer grandes mudanças na área do fornecimento e procura de informação. A primeira grande mudança, que aconteceu há já algum tempo, está relacionada com a forma como os dados são disponibilizados. No passado, o papel era o meio mais frequentemente usado para transmitir informação - e ainda é muito popular hoje em dia. Porém, mais e mais dados estão disponíveis por meio electrónico. Outros aspectos da informação que mudaram rapidamente nos últimos anos são a quantidade que está disponível, o número de fontes e a facilidade com que pode ser obtida. É de prever que estas mudanças se acentuem no futuro. A terceira importante mudança está relacionada com o fornecimento e procura de dados. No início, o mercado de informação era conduzido pelo fornecimento e era dominado por um grupo relativamente pequeno de fornecedores que eram facilmente identificáveis. Neste momento, esta situação mudou para um mercado de grande escala, onde se torna cada vez mais difícil adquirir um quadro claro de todos os fornecedores. Todas estas mudanças têm um enorme impacto no mercado de informação. Uma das mudanças mais importantes é a troca de um direccionamento à oferta por um direccionamento à procura. O número de fornecedores ficou tão alto (e este número será cada vez mais alto no futuro) que a questão de quem fornece informação ficou menos importante: a procura da informação tornou-se no factor predominante da cadeia de informação. Além disso, a informação representa um papel de crescente importância nas nossas vidas, à media que caminhamos para uma sociedade de informação. A informação tornou-se num instrumento, numa ferramenta que pode ser usada para resolver muitos problemas. 1.1 – Problemas relacionados com a procura de informação Satisfazer a necessidade de informação tornou-se mais fácil por um lado, mas também se tornou mais complicada e difícil por outro. Com o aparecimento de fontes de informação, tal como a World Wide Web, todos – em princípio – podem ter acesso a um conjunto absolutamente inesgotável de informação. Assim, cada um esperaria satisfazer as suas necessidades de informação. A infinidade de informação disponível na Internet, a qual, à primeira vista, parece ser a sua principal força, é ao mesmo tempo uma das suas principais fraquezas. A quantidade de informação que está à nossa disposição é muito vasta: a informação a ser procurada está (provavelmente) disponível nalgum lugar, mas frequentemente, somente partes podem ser encontradas, ou às vezes, mesmo nada é encontrado. Colocando o problema de forma figurada: o número de agulhas que podem ser encontradas aumentou, mas também o tamanho do palheiro em que elas estão escondidas. As necessidades de informação estão a ser confrontadas com um excesso de informação.

Introdução

Information Retrieval – uma abordagem baseada em agentes 2

Os métodos de procura convencionais não parecem ser capazes de resolver estes problemas. Estes métodos estão baseados no conhecimento de qual a informação disponível (e qual não está) e onde exactamente pode ser encontrada. Para que isto seja possível, grandes bases de dados são preenchidas com (enormes) índices para fornecer ao utilizador essa informação. Recorrendo a um destes índices, pode-se a qualquer momento, verificar se determinada informação pode ou não ser encontrada na base de dados, e, se disponível, onde pode ser encontrada. Na Internet (mas não só) esta estratégia falha completamente. As razões são as seguintes:

• A natureza dinâmica da própria Internet: não há nenhuma supervisão central sobre o crescimento e desenvolvimento da Internet. Qualquer pessoa que deseje usá-la e/ou oferecer informação ou serviços, é livre de o fazer. Isto levou-nos a uma situação onde se tornou muito difícil (ou quase impossível) adquirir uma ideia clara do tamanho da Internet e, fazer uma estimativa da quantidade de informação que está disponível ou que é transferida através dela;

• A natureza dinâmica da informação na Internet: informação que não pode

ser encontrada hoje, pode estar disponível amanhã. E o contrário também acontece, informação que estava disponível pode desaparecer de repente sem qualquer advertência adicional, por exemplo porque um serviço cessou as suas actividades ou a informação foi movida para uma localização diferente e desconhecida;

• A informação e serviços disponibilizados na Internet são muito

heterogéneos: é oferecida informação na Internet em muitos formatos diferentes e de muitos modos diferentes. Isto torna a procura automática de informação muito difícil, porque cada formato da informação e cada tipo de serviço requerem uma abordagem diferente.

1.2 – Possíveis soluções: Motores de busca e Agentes Existem vários métodos para lidar com os problemas anteriormente descritos. A maioria das actuais soluções assentam em programas que vagueiam pela Internet (com nomes sonantes como spider, worm ou searchbot), reunindo informação1 sobre tudo o que está disponível. A informação agrupada, caracterizada por um número de palavras-chave (referências), e talvez alguma informação adicional, é então colocada numa grande base de dados. Qualquer procura de informação na Internet pode ser efectuada fornecendo um ou mais termos (palavras-chave) a um motor de busca. Embora os motores de busca prestem um valioso serviço neste momento, possuem várias desvantagens que cada vez mais se tornam evidentes. Uma solução totalmente diferente para o problema, é o uso de Agentes Inteligentes. Um agente é (normalmente)

1 Por exemplo, os programas que reúnem informação para o motor de busca Lycos, criam resumos dos documentos constituídos pelo título, capítulos e sub-capítulos do documento, as 100 palavras mais utilizadas, as primeiras 20 linhas, o seu tamanho em bytes e o número de palavras.

Introdução

Information Retrieval – uma abordagem baseada em agentes 3

um programa de software que apoia um utilizador na realização de alguma tarefa ou actividade.

"No futuro, os agentes serão o único modo de procurar informação na Internet, porque não importa quão melhor a Internet possa ser organizada, não pode acompanhar o crescimento de informação..."

Bob Johnson

Usar agentes para procurar informação tem diversas vantagens em relação aos métodos actuais (como os motores de busca):

• Método de pesquisa

Motor de Busca Agentes Uma procura de informação é efectuada com base numa ou mais palavras-chave fornecidas por um utilizador. Isto pressupõe que o utilizador é capaz de formular o conjunto certo de palavras-chave para obter a informação esperada. Questionar com as palavras-chave erradas, com muitas, ou muito poucas palavras-chave não terá como resultado informação (muito) relevante porque a questão colocada não continha as palavras-chave exactas.

Os agentes são capazes de pesquisar informação de forma mais inteligente, usando, por exemplo, ferramentas (como um léxico) que lhes permitam procurar também por termos relacionados ou até mesmo por conceitos. Os agentes podem também usar estas ferramentas para refinar, ou até mesmo corrigir questões colocadas pelo utilizador (com base num modelo de utilizador ou outra qualquer fonte de informação).

• Localização da informação

Motor de Busca Agentes

A noção sobre qual a informação disponível é obtida agrupando informação sobre os documentos que estão acessíveis na Internet. Este é um método muito pesado que causa um elevado tráfego de dados, revela falta de eficiência (existem muitas entidades que usam este método para agrupar a informação, mas não cooperam entre si, o que significa que estão "a reinventar a roda" muitas vezes), e não é adequado à natureza dinâmica da Internet e à informação que nela pode ser encontrada.

Os agentes são capazes de comunicar e cooperar entre si, partilhando esforços e resultados de pesquisas. Como tal, os agentes pessoais de cada utilizador podem questionar e receber notificações de outros agentes sobre mudanças na informação ou serviços disponibilizados que se encaixem nas necessidades e preferências dos seus utilizadores. Ao permitir que os agentes trabalhem com meta-informação sobre a totalidade da informação/serviço disponibilizado por cada fornecedor e não com informação recolhida sobre cada página individual, como fazem os motores de busca, o problema da manutenção da informação. É grandemente diminuído.

Introdução

Information Retrieval – uma abordagem baseada em agentes 4

• Relação com os serviços existentes

Motor de Busca Agentes A procura de informação é frequentemente limitada a alguns serviços da Internet, como a WWW. Pesquisar informação que é oferecida por outros serviços, normalmente significa deixar o utilizador sozinho no processo.

Os agentes podem aliviar o utilizador da preocupação sobre os "detalhes de escrita", já que vários serviços na Internet têm diferentes modos de operar. Pelo contrário, o utilizador só terá que se preocupar sobre a questão do que exactamente está a procurar (em vez de se preocupar sobre onde a informação pode ser encontrada ou como deveria ser questionada). O agente preocupar-se-á com o resto.

• Disponibilidade

Motor de Busca Agentes

Os motores de busca não podem ser sempre utilizados: o servidor em que reside o serviço pode estar em baixo, ou muito ocupado para estabelecer uma conexão. Os utilizadores regulares do serviço prestado por aquele motor de busca, terão então que mudar para um outro motor de busca, que provavelmente possui um interface diferente e talvez ofereça serviços diferentes.

Como um agente de utilizador reside no computador do seu utilizador, está sempre disponível. Um agente pode executar uma ou mais tarefas dia e noite, às vezes até mesmo em paralelo. Como procurar informação na Internet é uma actividade demorada, ter um agente para fazer este trabalho apresenta muitas vantagens, sendo uma delas o facto do agente não “se importar” de o fazer continuamente. Uma vantagem adicional é que eles podem detectar e evitar as “horas de ponta” na Internet.

• Aprendizagem

Motor de Busca Agentes

A informação na Internet é muito dinâmica: frequentemente os motores de busca indicam informação que se moveu para outra localização, desconhecida, ou que já não existe. Os motores de busca não aprendem com estas procuras, e não se ajustam aos seus utilizadores. Além disso, um utilizador não pode receber informação actualizada sobre um ou mais tópicos, executando certas procuras automaticamente a intervalos regulares. Procurar informação deste modo, torna-se uma actividade demorada.

Os agentes podem-se ajustar às preferências e desejos de utilizadores individuais. Idealmente, isto conduzirá a agentes que cada vez mais se irão ajustar ao que um utilizador deseja e ao que (normalmente) procura, através da aprendizagem das tarefas executadas e do modo como os utilizadores reagem aos resultados destas procuras. Além disso, os agentes podem sondar continuamente a Internet à procura de informação (recentemente disponível) sobre tópicos em que um utilizador está interessado.

Introdução

Information Retrieval – uma abordagem baseada em agentes 5

• Noção do contexto

Motor de Busca Agentes Os motores de busca são independentes do domínio, na forma como tratam a informação agrupada e no modo como permitem aos utilizadores procurar a informação. Os termos nos documentos agrupados são pesquisados fora do seu contexto, e são armazenados como uma mera lista de palavras-chave individuais. Um termo como "information broker" é provavelmente armazenado como dois termos separados: "information" e "broker" na informação sobre o documento que os contém. Alguém que procure documentos sobre um "information broker" irá então também encontrar documentos onde as palavras "information" e "broker" são usadas, mas como termos separados.

Os agentes podem procurar informação baseada em contextos. Eles deduzirão este contexto a partir de informação sobre o utilizador (i.e. um modelo de utilizador pré-construído) ou usando outros serviços, como um serviço léxico, por exemplo.

1.3 – Agentes para uma nova estrutura da Internet A Internet continua a crescer, e certamente, continuará a crescer. A grande ameaça que isto acarreta é que a Internet se irá tornar muito grande e diversa para que um humano possa, sozinho, nela trabalhar correctamente. E dentro de pouco tempo, até mesmo o software convencional não poderá adquirir convenientemente a informação desejada. Cada vez mais, os investigadores, mas também a comunidade empresarial, defendem que deveria ser implementada uma nova estrutura, que permita que a Internet seja fácil e convenientemente usada, e que possibilite uma abstracção das várias tecnologias implementadas. Um tipo de abstracção comparável ao modo como as linguagens de programação de mais alto nível aliviam os programadores da necessidade de lidar com o hardware de baixo nível de um computador. Os agentes e um modelo que parece promissor, a estrutura de três camadas, podem ser a solução. A ideia principal deste modelo de três camadas é dividir a estrutura da Internet em três camadas ou conceitos:

Consumidores

Intermediários

Fornecedores É este modelo que será defendido e descrito no decurso deste trabalho. É, na minha opinião, uma excelente alternativa à actual situação que cada vez mais desagrada aos utilizadores.

Teoria sobre agentes

Information Retrieval – uma abordagem baseada em agentes 6

2 – Teoria sobre agentes 2.1 – Introdução Os agentes inteligentes são um objecto de pesquisa bastante popular nos dias de hoje, particularmente na área da Inteligência Artificial (IA). Por incrível que pareça, a pergunta sobre o que exactamente é um agente, só muito recentemente tem sido respondida seriamente. Como actualmente o termo “agente” é usado por muitas entidades, de muitos modos diferentes, tornou-se difícil para os utilizadores aperceberem-se das reais possibilidades da tecnologia de agentes. Neste momento, parece que existem mais definições que exemplos de sistemas que poderiam ser chamados de “baseados em agentes”. Os produtores de software que usam injustamente o termo “agente” para designar os seus produtos, causam nos utilizadores a percepção de que a tecnologia de agentes não tem muito a oferecer. Isso é, obviamente, um facto preocupante. Deve haver algo que realmente distinga os agentes de outros programas, caso contrário os agentes, como palavra chave, falharão. Os investigadores, o público e empresas já não aceitarão programas que são chamados de agentes sem na realidade o serem, ou corre-se o risco do potencial mercado para os agentes ser muito pequeno ou nem mesmo existir. Por outro lado, a descrição das capacidades dos agentes não deveria ser assim tão optimista. Nem toda a gente se interessa por agentes. Especialmente no campo das ciências da computação, um crítica normalmente ouvida, é que os agentes não são realmente uma nova tecnologia, e que qualquer coisa que possa ser feito com agentes "pode da mesma forma ser feito em C". De acordo com estes críticos, os agentes nada mais são que o mais recente exagero. Podem assim ser resumidas as principais críticas feitas à tecnologia de agentes:

• O resultado da pesquisa da IA (sistemas periciais, redes neuronais) não é tão próspero quanto muitas pessoas tinham esperado e o novo paradigma de agentes é a forma encontrada para escapar;

• Tudo que tem a etiqueta "agente" vende (isto também conta em pesquisa). Como

as palavras “plus”, “super” e “turbo”, o termo “agente” soa muito bem, até mesmo quando a maioria das pessoas não sabe o significado exacto de “plus”, “super”, “turbo” ou “agente”;

• Como na maioria dos casos, os actuais agentes de software não têm nem muita

sofisticação nem uma arquitectura muito complicada, há alguma “pequena maravilha” na sua concepção que os qualifica como "inteligentes" .

Teoria sobre agentes

Information Retrieval – uma abordagem baseada em agentes 7

Estas críticas podem ser refutadas da seguinte forma:

• O que distingue as arquitecturas baseadas em agentes de outras arquitecturas é que elas fornecem soluções aceitáveis para certos problemas a um preço acessível. Estes são o tipo de problemas que não podem ser resolvidos com os recursos disponíveis em tempo útil com sistemas monolíticos baseados em conhecimento. Um exemplo pode ser encontrado num sistema cooperativo, onde o diagnóstico final é baseado nos diagnósticos de agentes trabalhadores individuais. Além disso, há alguns problemas no campo da IA que não podem ser resolvidos satisfatoriamente sem que uma arquitectura de baseada em agentes (i.e. uma arquitectura onde os agentes independentes trabalham para realizar todos os tipos de tarefas juntos) seja usada;

• Os agentes tornam possível erradicar as diferenças entre os diferentes tipos de

redes (WAN, LAN, Internet) e fazer cair as suas fronteiras;

• Não importa qual a tecnologia subjacente aos agentes. Quer seja um programa em C, um script em Perl ou um programa em Erlang: o que realmente interessa é o que o agente é ou não é capaz de fazer, ou para ser mais preciso: se o agente é capaz de exibir comportamento inteligente. E se a base para aquele comportamento é um programa em C, ou qualquer outra linguagem de programação ou técnica, realmente não importa;

• Nem sempre se aplica o facto de que tudo o que pode ser feito por múltiplos

agentes cooperantes pode "da mesma forma ser feito em C " (nem mesmo na sua variante orientada a objectos). Existem várias tarefas e problemas que não podem ser realizados ou resolvidos por um único programa ou pessoa. Este tipo de problemas leva a uma distribuição da tarefa ou problema em entidades múltiplas (i.e. uma arquitectura multi-agente) que conduzirá a uma solução num tempo muito menor, e frequentemente para uma solução de maior qualidade, porque é o corolário dos resultados parciais de cada entidade individual;

• Os agentes não são objectos distribuídos. Jennings e Wooldridge distinguem-nos

da seguinte forma: um objecto encapsula algum estado, e tem controlo sobre esse estado devido ao facto de só poder ser acedido ou modificado pelos métodos que o objecto disponibiliza. Os agentes encapsulam estados do mesmo modo. Contudo, pensamos que os agentes encapsulam comportamentos, para além dos estados. Um objecto não encapsula comportamentos – não tem controlo sobre a execução dos métodos – se um objecto x invocar um método m num objecto y, então y não é autónomo e não tem controlo sobre as suas acções. Em contraste o agente tem esse controlo sobre as acções que realiza. Dada essa distinção os agentes não invocam métodos (acções) sobre outros agentes, eles requerem acções a serem realizadas. A decisão de como agir reside em quem recebe o pedido.

Tudo isto realça a necessidade de obter uma definição do conceito "agente inteligente" que seja clara e tão precisa quanto possível. Isto também mostra que há provavelmente um longo caminho a percorrer antes de chegarmos a tal definição – se é que o vamos conseguir algum dia, mas tenta-se na próxima secção apresentar algumas perspectivas.

Teoria sobre agentes

Information Retrieval – uma abordagem baseada em agentes 8

2.2 – Definição de agente 2.2.1 – Uma noção “fraca” do conceito agente Talvez o modo mais habitual em que o termo agente é usado, é para descrever uma entidade física ou lógica que goza das seguintes características [Wooldridge and Jennings, 1995]:

• Autonomia: o agente opera sem a intervenção directa de humanos ou outros, e tem alguma espécie de controlo sobre as suas acções e o seu estado interno;

• Capacidade social: os agentes interagem com outros agentes e humanos através

de uma linguagem de comunicação de agentes; • Reactividade: os agentes entendem o seu ambiente (que pode ser o mundo físico,

um utilizador através de um interface gráfico, um conjunto de outros agentes, a Internet, ou talvez todos estes juntos), e reponde atempadamente a mudanças que nele ocorram. Isto pode levar a que o agente passe a maior parte do tempo num estado de inactividade do qual acordará se certas alterações no seu ambiente (como a chegada de um novo e-mail) se verificarem;

• Pro-actividade: os agentes não agem simplesmente em resposta ao seu

ambiente. Eles são capazes de exibir um comportamento orientado por certos objectivos e tomar a iniciativa;

• Continuidade temporal: os agentes estão continuamente a correr processos, não

apenas computações simples ou scripts que executam uma vez e depois terminam;

• Orientado por objectivos: um agente é capaz de lidar com problemas

complexos. A decisão sobre se tal tarefa é melhor dividida em sub-tarefas mais pequenas, e em que ordem e a quais sub-tarefas devem ser atribuída prioridades, deve ser feita pelo próprio agente.

2.2.2 – Uma noção (mais) forte do conceito agente Para alguns investigadores – particularmente os que trabalham em IA – o termo agente tem um significado mais forte e mais específico do que o apresentado anteriormente. Estes investigadores geralmente entendem um agente como um sistema que adicionalmente às propriedades identificadas na secção anterior, é conceptualizado ou implementado usando conceitos que são normalmente aplicados aos humanos. Por exemplo, é bastante comum em IA caracterizar um agente usando noções como conhecimento, confiança, intenção e obrigação. Alguns ainda vão mais longe e consideram a emocionalidade dos agentes. A pesquisa efectuada sobre este assunto mostra que, apesar dos agentes serem pedaços de software, as pessoas gostam de interagir com eles como se lidassem com outras pessoas (independentemente do tipo de interface do agente).

Teoria sobre agentes

Information Retrieval – uma abordagem baseada em agentes 9

Os agentes que se encaixam nesta mais forte noção de agente, normalmente têm uma ou mais das seguintes características:

• Mobilidade: a capacidade de um agente se deslocar pela rede de uma máquina para a outra;

• Aprendizagem: o agente muda o seu comportamento com base em experiências

anteriores;

• Adaptabilidade: o agente deve ser capaz de se ajustar aos hábitos, métodos de trabalho e preferências do seu utilizador;

• Carácter: o agente deve possuir personalidade credível e comportamento

emocional;

• Agilidade: o agente deve ser capaz de aproveitar rapidamente novas oportunidades não previstas;

• Colaboração: o agente não deve aceitar e executar instruções em as analisar,

mas deve ter em consideração que os utilizadores por vezes cometem erros (por ex.: ordenar uma instrução com objectivos que entram em conflito com ordens anteriores), omite informação importante e/ou fornece informação ambígua. Por exemplo, um agente deve verificar as instruções a efectuar colocando questões ao utilizador ou usando um modelo de utilizador pré-definido para resolver problemas deste género.

Apesar de nenhum agente possuir todas estas características, existem vários agentes que possuem um grande número delas. E neste momento, ainda não foi alcançado nenhum consenso sobre a importância relativa de cada uma destas características. As características dos agentes a enaltecer dependem da comunidade em questão. Por exemplo, para a comunidade dos Sistemas Distribuídos a mobilidade é uma característica vital, a comunidade da Robótica realça o comportamento reactivo e a interacção com o mundo físico, para a comunidade da IA características como o raciocínio e a aprendizagem são fundamentais. O que deve ficar bem claro é que existem características que distinguem os agentes de programas convencionais. 2.2.3 – Agência O grau de autonomia e autoridade investida no agente é denominada agência. Pode ser medida, pelo menos qualitativamente, pela natureza da interacção entre o agente e outras entidades no sistema em que opera. No mínimo, um agente deve operar de modo assíncrono. O grau de agência é aumentado se o agente representa o utilizador de alguma forma. Este é um dos pontos chave dos agentes. Um agente pode interagir com outras entidades como dados, aplicações ou serviços. Agentes mais desenvolvidos colaboram e negoceiam com outros agentes ou humanos.

Teoria sobre agentes

Information Retrieval – uma abordagem baseada em agentes 10

2.2.4 – Inteligência A inteligência é uma característica dos agentes que pode ser definida em função de outras características. É possível ilustrar a ideia com as definições de Hayes-Roth e da IBM: (Hayes-Roth) – um agente inteligente realiza continuamente 3 funções: percepção das condições dinâmicas do ambiente; acções para afectar as condições do ambiente; raciocínio para interpretar o resultado da percepção, resolver problemas, inferir e determinas acções a realizar. (IBM Agent) – os agentes inteligentes são entidades de software que realizam um conjunto de operações por um utilizador ou programa, com algum grau de independência ou autonomia, empregando algum conhecimento e representação dos desejos ou objectivos do utilizador. Quase que poderíamos relembrar o Teste de Touring que pretendia verificar se um sistema era ou não inteligente, procurando ajustar a terminologia à realidade actual. Quando não formos capazes de distinguir se algo provém de um ser humano ou não, então teremos chegado à noção de Agente Inteligente. A definição da IBM refere o termo conhecimento, muito importante nos Sistemas Baseados em Conhecimento (por exemplo Sistemas Periciais) há algumas décadas e na Gestão do Conhecimento na actualidade. De facto quanto mais conhecimento formos capazes de modelar no agente maior será a probabilidade de chegarmos a algo similar a um agente verdadeiramente inteligente. Uma clara diferença face aos Sistemas Inteligentes reside no facto de ao agente inteligente não bastar ser inteligente no domínio para que é destinado. O agente inteligente necessita incorporar conhecimento sobre o modo através do qual deve interagir com seres humanos, em quais agentes ou pessoas deve confiar ou duvidar, como deve negociar com agentes ou humanos com culturas diferentes, como lidar com os conflitos, como conviver e partilhar os seus conhecimentos, etc. 2.3 – A importância dos utilizadores O sucesso e desenvolvimento dos agentes e das técnicas a eles associados são na realidade conduzidos pelos utilizadores e não pelos produtores ou investigadores. Assim, quando se considera o que realmente é um agente e quais as suas características de maior ou de menor importância, o factor utilizador nunca deve ser esquecido. Os utilizadores da Internet não vão começar a usar agentes por causa da sua pro-actividade, adaptabilidade ou sociabilidade mas porque eles (os agentes) os ajudarão na realização de todo o tipo de tarefas. Em breve, os utilizadores estarão a usar aplicações convencionais (inteligentes) sem se aperceberem que estão a usar agentes ao fazê-lo. Existe uma razão, de extrema importância, para que uma definição do que realmente um agente é (ou deve ser) seja encontrada: a clarificação perante os utilizadores. De modo nenhum esta definição deve permitir que o termo agente se torne num conceito vago, sem significado e vazio, na mesma forma que o termo multimédia foi perdendo o seu

Teoria sobre agentes

Information Retrieval – uma abordagem baseada em agentes 11

significado ao longo do tempo. Senão, os agentes serão vistos apenas como a última campanha de marketing. 2.4 – Agentes de Interface 2.4.1 – Introdução Para caracterizar um sistema como sendo adaptativo é necessário que um tal sistema tente modificar o seu comportamento para maximizar a produtividade da actual interacção do utilizador com o sistema. Obviamente, para que esta adaptação seja viável, terá de ser baseada em informação reunida sobre o comportamento actual do utilizador. Posto isto, três interessantes questões se levantam:

• Quais aspectos do comportamento do utilizador serão úteis para capturar? • Como é que um comportamento transmite informação sobre as actuais intenções

e preferências do utilizador?

• Qual o uso que pode ser feito desta informação capturada? Os agentes de interface inteligentes são um desenvolvimento relativamente recente e usam uma abordagem baseada em agentes para a construção de tais sistemas. O principal aspecto que distingue os agentes de interface de outros interfaces inteligentes com o utilizador é o facto que os agentes serem pró-activos e gozarem de um certo grau de autonomia. Estas propriedades podem-se manifestar de diversas formas, por exemplo um conjunto de agentes desempenha um papel de filtragem de informação baseado nos interesses capturados do utilizador. Este papel pode envolver um procura activa de informação já que a filtragem pode ser feita com limitada, ou mesmo nenhuma, intervenção do utilizador. Conjuntamente a estas propriedades gerais é normal que um agente de interface possa cumprir pelo menos alguns dos seguintes papéis:

• Assistir o utilizador na comunicação da tarefa a realizar ao resto do sistema Isto envolve proporcionar ao utilizador um interface fácil de usar que esconda a restante complexidade que está por baixo do sistema. Isto também proporciona benefícios aos produtores do sistema, permitindo-lhes facilmente aumentar a funcionalidade do sistema pela simples adição de mais um componente funcional.

• Aprender o perfil do utilizador

O sistema interage com o utilizador através do interface que o agente de interface disponibiliza. Assim, o agente de interface é logicamente, o componente do sistema que tentará construir um perfil do utilizador. Este perfil deve ser baseado no comportamento do utilizador nos termos da interacção com o interface e do conhecimento do agente da semântica ligada aos componentes individuais do interface.

Teoria sobre agentes

Information Retrieval – uma abordagem baseada em agentes 12

• Seleccionar, para apresentação, os componentes da funcionalidade do sistema Isto deve ser consistente com o perfil do utilizador, se disponível, e com a actual interacção do utilizador com o interface. O agente é também responsável pela sua apresentação ao utilizador de forma atempada e acessível.

Um ponto de alguma forma controverso num interface inteligente baseado em agentes é o aspecto da personificação. A personificação de um agente é a sua presença visível na perspectiva do utilizador. Num extremo, diversas pessoas estão a trabalhar em agentes altamente antropomórficos na tentativa de representação de um grande intervalo de emoções humanas. No outro extremo, diversas pessoas estão contra soluções de interfaces baseados em agentes e particularmente contra interfaces personificados, defendendo que estes retiram o controlo ao utilizador e são distractivos. Claro que um grande número de pessoas estão entre estes dois extremos. Existe um grande número de tecnologias possíveis e arquitecturas que podem ser usadas para implementar qualquer tipo de interfaces baseados em agentes, alguns dos quais vão ser descritos em seguida. 2.4.2 – Como construir um modelo do utilizador Um dos principais problemas na construção de agentes de interface inteligentes é reunir informação relevante sobre os interesses do utilizador, dos seus objectivos e preferências. As próximas secções pretendem ser um breve apanhado das técnicas existentes de aprendizagem que podem ser úteis no atingir deste objectivo. 2.4.2.1 – Técnicas tradicionais de aprendizagem

• Classificação Simbólica A Classificação Simbólica pretende rotular um conjunto de exemplos numa classe de um número finito de classes abstractas. Um sistema deste tipo tenta construir uma árvore de decisão baseada num conjunto de conceitos, em que cada um dos seus elementos consiste num número de atributos possivelmente relevantes e na classe que esse exemplo deve ser classificado.

N.º de patas Penas Escamas Classe

4 Não Não Mamífero 4 Não Sim Réptil 2 Sim Não Ave

• Classificação Sub-simbólica A abordagem sub-simbólica é baseada em Redes Neuronais. Estes sistemas tomam padrões como o seu input e classificam-nos num número finito de categorias. Estes sistemas podem ser ainda divididos em duas sub-categorias baseadas na arquitectura da rede e no método usado para as instruir.

Teoria sobre agentes

Information Retrieval – uma abordagem baseada em agentes 13

2.4.2.2 – Aprender directamente do ambiente As técnicas tradicionais acima descritas partilham uma característica comum: a aprendizagem é feita “off-line”, i.e. durante a concepção do sistema. As técnicas descritas nesta secção são baseadas no princípio de que a aprendizagem é feita em tempo real por um agente autónomo. Isto acrescenta complexidade à tarefa de aprendizagem. A mais significativa é que a informação necessária para aprender um conceito particular ou tarefa tem de estar disponível no mundo perceptível pelo agente.

• Aprendizagem por observação Também conhecida por aprendizagem por imitação, esta técnica de aprendizagem é baseada no tipo de aprendizagem levada a cabo por muitos animais. Em teoria podemos aprender a executar uma tarefa se reforçamos os nossos conhecimentos, dando o tempo suficiente. No entanto, se existir um “perito” disponível que já saiba como completar a tarefa ou mesmo algumas das sub-tarefas envolvidas, podemos usar esta experiência e acelerar o processo de aprendizagem pela imitação do perito e portanto obter o conhecimento necessário para desempenhar a tarefa. Deve ser realçado que esta abordagem não assume a existência de um professor activo. É esperado que o aluno aprenda a tarefa pela simples observação e imitação dos peritos à medida que estes apresentam o seu comportamento habitual.

• Aprendizagem por instruções

Este tipo de aprendizagem engloba diversas técnicas. Num dos extremos são empregues técnicas simples que não envolvem comunicação explícita – quando um perito tenta demonstrar a um aluno como realizar determinada tarefa sem comunicação explícita pode ser classificado como uma técnica de aprendizagem por instruções. No outro extremo linguagens bastante complexas podem ser usadas para trocar informação entre as entidades.

Teoria sobre agentes

Information Retrieval – uma abordagem baseada em agentes 14

2.4.3 – Áreas de implementação de agentes de interface 2.4.3.1 – Agentes de filtragem de informação O diagrama abaixo pretende representar uma arquitectura genérica para os agentes de filtragem de informação.

Diagrama 1 - Arquitectura genérica dos agentes de filtragem de informação

Deve ser notado que neste diagrama o agente de interface é responsável pela interacção com o sistema, que por sua vez está separado do fornecedor do conteúdo. Esta é a estrutura correcta. No entanto, muitos dos sistemas tendem a combinar a funcionalidade do sistema com o agente de interface. Na minha opinião, o melhor modelo para sistemas com um agente de interface é baseado na metáfora do agente como um assistente, separado do sistema, agindo como ponto de ligação entre o sistema e o utilizador, auxiliando-o na sua interacção com o sistema. O agente de filtragem de informação é provavelmente um dos tipos mais simples de agentes de interface inteligentes. Este tipo de sistemas são normalmente constituídos por um largo número de fontes de informação que serão filtradas de alguma forma, de modo a disponibilizar apenas a informação relevante para o utilizador. Existem três classes gerais de modelos de utilizador que podem ser usados para categorizar o tipo de modelo de utilizador actualmente em uso, com base na duração e tipo de interacção com o utilizador:

• Um explícito perfil do utilizador baseado num conjunto de questões construídas para eficazmente obter do utilizador os seus interesses e preferências;

• Um modelo superficial das preferências e padrões de interacção do utilizador

baseado em períodos de tempo relativamente pequenos da interacção com um sistema que monitoriza o comportamento do utilizador;

Utilizador

Agente de Interface

Sistema

Fontes de Informação

Perfil do Utilizador

Teoria sobre agentes

Information Retrieval – uma abordagem baseada em agentes 15

• Um modelo profundo que captura os interesses e objectivos do utilizador baseado em longos períodos de tempo de interacção, com um sistema que monitoriza o comportamento do utilizador.

O terceiro tipo de modelo é provavelmente o mais desejável neste contexto já que não distrai os utilizadores da sua tarefa principal na aquisição da informação requerida. No entanto, é notoriamente difícil e pouco fiável adquirir informação desta forma. A reunião explícita de informação também tem os seus problemas. Não existe a garantia que as questões colocadas serão correctamente respondidas, ou mesmo que as questões colocadas são as correctas para obter a informação pretendida. Existe, no entanto, um grande número de aplicações que encaixam num modelo profundo dos interesses do utilizador, sendo as aplicações de filtragem de e-mails ou notícias as mais populares. Os sistemas deste tipo têm diversas desvantagens. Em primeiro lugar, o sistema quase sempre baseia o seu entendimento do conteúdo dos artigos das notícias, ou outra qualquer fonte de informação, em características ou palavras-chave. Estas palavras-chaves não são a forma mais confiável de capturar o verdadeiro significado de textos em linguagem natural. Em segundo lugar, mesmo que as características seleccionadas possam efectivamente representar a informação a ser filtrada não existe a garantia de sermos capazes de deduzir os interesses do utilizador com base nestas características. Um interessante sistema deste tipo é o Maes Collaborative Interface Agent do MIT que pretende facilitar a aprendizagem entre diferentes agentes de interface que servem utilizadores semelhantes, permitindo que cada um destes agentes comunique com os outros. 2.4.3.2 – Agentes de recuperação de informação Apesar da arquitectura descrita no diagrama seguinte poder parecer, à primeira vista, similar à que vimos na secção anterior, a inclusão de uma seta indicando que o fluxo de comunicação a partir do agente de interface com as fontes de informação reflecte um importante passo na sofisticação.

Diagrama 2 - Arquitectura genérica para os agentes de recuperação de informação

Utilizador

Agente de Interface

Sistema

Fontes de Informação

Perfil do Utilizador

Teoria sobre agentes

Information Retrieval – uma abordagem baseada em agentes 16

Esta é a primeira classe de sistemas que exibe um significante grau de pró-actividade. A seta extra nesta arquitectura indica que o agente de interface requisita blocos particulares de informação às fontes de informação, em vez de passivamente filtrar a informação que lhe é apresentada. Esta abordagem assenta particularmente bem numa implementação baseada num sistema multi-agente. Usando esta abordagem cada fonte de informação separada será modelada por um agente e o agente de interface emitirá em broadcast um pedido de informação. Quando recebem um tal pedido, cada agente das fontes de informação responderá com uma mensagem contendo toda a informação a que têm acesso tendo em conta o pedido que receberam. O agente de interface, tendo recebido todas estes blocos separados de informação, é responsável por agregar toda a informação tendo em conta o utilizador que está a servir e pela sua apresentação de forma unificada e de fácil consulta. Esta abordagem traz uma série de benefícios para compensar a complexidade acrescida, permitindo-nos lidar com fontes de informação distribuídas, tal como a World Wide Web. Também tem benefícios na escalonabilidade já que os problemas da incorporação de uma nova fonte de informação são grandemente reduzidos, porque apenas precisamos de um novo agente e de o encaixar no sistema. É de vital importância que a informação requerida satisfaça as questões do utilizador ou os seus objectivos. Assim o pedido enviado pelo agente de interface tem de ser baseado na informação obtida directamente pelo interface, bem como de um perfil do utilizador que o sistema foi capaz de construir. Alguns sistemas pretendem fornecer jornais virtuais com informação de diferentes fontes de informação com base nos interesses expressos do utilizador. Este tipo de sistema difere dos jornais tradicionais, porque o utilizador escolhe explicitamente que informação deve ser apresentada no seu jornal pessoal. Assim o jornal é sensível às necessidades individuais de cada utilizador mas os criadores do sistema perdem controlo editorial do conjunto a informação. Tipicamente, o conteúdo da informação é recuperada de fontes que proporcionam notícias em tempo real, bem como de outras fontes menos dinâmicas. Um exemplo deste tipo de sistemas é o Crayon que apresenta notícias de um número de diferentes categorias seleccionadas pelo utilizador sendo as notícias provenientes de numerosas fontes de informação. Tanto a Netscape como a Yahoo fornecem acesso a numerosos serviços deste tipo. O Newshound fornece um serviço, que é cobrado, ligeiramente diferente. Aqui o utilizador introduz palavras--chave que descrevem ao sistema quais os itens que são, os que provavelmente são e os que definitivamente não são do seu interesse. O sistema retorna notícias recolhidas de várias fontes online. Apesar destes sistemas poderem ser vistos como agentes, são bastante simplistas, usando características ou palavras-chave explicitamente introduzidas pelo utilizador. Seria mais interessante automaticamente derivar os interesses dos utilizadores das suas acções ou adaptar novos artigos individuais ao utilizador que os lê. No entanto, este último aspecto não é de modo nenhum trivial e provavelmente está para além da actual tecnologia.

Teoria sobre agentes

Information Retrieval – uma abordagem baseada em agentes 17

2.4.3.3 – Assistentes pessoais digitais (PDAs) A classe de sistemas descrita no diagrama seguinte representa, o que é provavelmente o tipo dominante de agente de interface, i.e. o assistente inteligente. É um sistema que pretende ajudar o utilizador a realizar as suas tarefas diárias e rotineiras.

Diagrama 3 - Arquitectura genérica dos agentes pessoais digitais

Idealmente, este tipo de sistema possui:

• Conhecimento do domínio, i.e. conhecimento das capacidades do sistema que está a ajudar o utilizador a usar;

• Conhecimento do modelo das capacidades e preferências do utilizador.

O agente é responsável por fornecer ajuda e/ou conselhos baseado neste conhecimento, bem como na actual tarefa do utilizador perceptível pelo agente. Os actuais sistemas levantam algumas questões interessantes no que respeita à investigação em interfaces inteligentes. Apesar destes sistemas serem extremamente úteis, aumentado a eficiência do utilizador na realização das usas tarefas diárias, os agentes envolvidos realizam tarefas relativamente simples que requerem pouca ou mesmo nenhuma inteligência e certamente não requerem nenhuma adaptabilidade. Shawn Green e Leon Hurst descrevem os actuais sistemas da seguinte forma: “Será que é razoável denominá-los por agentes de interface inteligentes? Talvez fosse melhor referi-los apenas como agentes de interface, porque o uso da palavra “inteligentes” cria expectativas aos utilizadores que os actuais sistemas não são capazes de preencher. Isto não se limita aos agentes mas a toda a pesquisa efectuada na área dos interfaces inteligentes com o utilizador.”.

Utilizador

Agente de Interface

Modelo do Domínio Modelo do Utilizador

Teoria sobre agentes

Information Retrieval – uma abordagem baseada em agentes 18

2.5 – Tecnologia de Agentes Distribuídos 2.5.1 –Tecnologia de agentes distribuídos e Sistemas multi-agente A investigação em Inteligência Artificial tem como objectivo desenvolver software que simulem as denominadas capacidades inteligentes dos seres humanos tais como o raciocínio, comunicação em linguagem natural e a aprendizagem: com tais programas, o computador deixa de ser uma mera ferramenta para progressivamente se tornar num assistente dos humanos. A implementação das redes de computadores foi um enorme passo no caminho do desenvolvimento de organizações de computadores ou “sociedades”, uma vez que a colaboração entre indivíduos requer que os canais de comunicação sejam estabelecidos e usados efectivamente. A Inteligência Artificial Distribuída é um sub-ramo da Inteligência Artificial que tem vindo, há mais de uma década, a investigar modelos de conhecimento, bem como técnicas de comunicação e raciocínio que os agentes podem precisar para participar em “sociedades” compostas por pessoas e computadores. Mais genericamente, a Inteligência Artificial Distribuída está preocupada com a sociedade de agentes interagindo de forma a resolver um problema comum: computadores e pessoas, sensores, aviões, robots, etc. Uma tal sociedade é denominada por Sistema multi-agente, que pode ser definida como “uma rede fracamente acoplada de agentes que trabalham em conjunto para solucionar um problema que está para além das suas capacidades individuais” [O’Hare & Jennings, 1996]. As motivações para o crescente interesse nos sistemas multi-agente incluem a sua capacidade de:

• Solucionar problemas que são grandes demais para que um único sistema centralizado seja capaz de os resolver devido a limitações de recursos ou ao simples risco de ter um sistema centralizado;

• Permitir a interconexão e interoperação de múltiplos sistemas já existentes, por

exemplo, sistemas periciais, sistemas de apoio à decisão, etc.;

• Proporcionar soluções para a distribuição de problemas, por exemplo, o controlo do tráfego aéreo;

• Proporcionar soluções que usam fontes informação distribuídas, por exemplo, a

recolha de informação na Internet;

• Proporcionar soluções onde o conhecimento é distribuído, por exemplo, na área da medicina;

• Aumentar a rapidez de execução (se a comunicação for mantida no mínimo), a

confiança (capacidade de recuperar da falha de componentes individuais, embora com uma degradação da performance), evolutibilidade (capacidade de alterar o número de processadores aplicados na resolução de um problema) e a capacidade de tolerar dados e conhecimento incertos;

Teoria sobre agentes

Information Retrieval – uma abordagem baseada em agentes 19

• Oferecer simplificação na concepção e clarificação conceptual, pois cada agente controla as acções que realiza. Os agentes não interagem invocando métodos de outros agentes, mas requerem acções a serem realizadas. A decisão de como agir reside em quem recebe o pedido.

É possível distinguir dois tipos de sistemas multi-agente dependendo do grau de cooperação exibida pelos agentes individuais [Rosenschein & Zlotkin, 1994]:

• Sistemas multi-agente cooperativos;

• Sistemas multi-agente competitivos . As primeiras investigações na Inteligência Artificial Distribuída foram exclusivamente na interacção de agentes desenhados pelo mesmo programador. Assim, podia-se contar com cada um dos agentes para melhorar a performance global do sistema, já que poderiam ser programados dessa forma. A única preocupação do programador era aumentar a performance global do sistema e não a performance dos agentes individuais. Assim, tais agentes são considerados cooperativos. Depois uma distinta orientação na pesquisa dentro da Inteligência Artificial Distribuída começou a tomar forma. Alguns investigadores começaram a levantar questões relacionadas com a motivação dos agentes individuais. Quando se considerava o comportamento do sistema, não se podia contar com a cooperação entre os agentes só porque tinham sido programados dessa forma. O que era importante para cada programador individual era o benefício que eles poderiam obter do seu agente individual. Assim, os agentes são considerados com tendo os seus próprios interesses, competitivos e não cooperativos podendo exibir comportamentos antagónicos. Tais objectivos conflituosos estão reflectidos, por exemplo, num conjunto de agentes que tentam marcar um reunião e, em que cada um pretende que esta seja no momento que melhor serve os interesses do utilizador que estão a representar. A resolução de problemas levadas a cabo por agentes num sistema multi-agente é denominada por resolução distribuída de problemas e envolve pesquisa nas áreas das coordenação, negociação e comunicação. Para que um sistema multi-agente resolva problemas coerentemente, os agentes têm de comunicar entre eles, coordenar as suas actividades e negociar uma vez que se encontrem em conflito. Os conflitos podem resultar desde a contenção de recursos limitados a computações mais complexas onde os agentes discordam por causa das discrepâncias entre os seus domínios de conhecimento. A coordenação é necessária para determinar uma estrutura organizacional entre um grupo de agentes e a alocação de tarefas e recursos, enquanto a negociação é necessária para a detecção e resolução de conflitos. Nas próximas secções serão descritos os conceitos de coordenação, negociação e comunicação e introduzidas algumas abordagens idealizadas para os atingir. 2.5.2 – Coordenação em sistemas multi-agente A coordenação é central a um sistema multi-agente, já que sem ela, quaisquer benefícios da interacção desaparecem e o grupo de agentes rapidamente degenera numa colecção de indivíduos com um comportamento caótico. A coordenação tem sido estudada pelos investigadores em diversas disciplinas nas ciências sociais, incluindo teoria das

Teoria sobre agentes

Information Retrieval – uma abordagem baseada em agentes 20

organizações, ciência política, psicologia social, antropologia, direito e sociologia. Por exemplo, nas organizações tem sido investigado a coordenação de humanos, desde grupos pequenos à organização formal. Mesmo os sistemas biológicos parecem ser coordenados através de células individuais ou “agentes” que agem independentemente, as enzimas. Essencialmente, a coordenação é “o processo através do qual o sistema assegura que a comunidade de agentes individuais age de forma coerente e harmoniosa” [Shaw Green, 1997]. Existem várias razões pelas quais múltiplos agentes necessitam de ser coordenados:

• Prevenir o caos. Numa comunidade de complexidade razoável não é viável que todos os agentes possuam uma visão global do sistema a que pertencem. Consequentemente, os agentes apenas têm visão, objectivos e conhecimentos locais que podem interferir com, em vez de apoiar, as acções dos outros agentes. A coordenação é vital para prevenir o caos que pode resultar de conflitos de interesses;

• Fazer face a restrições globais. Num dado sistema, diferentes agentes podem ter

diferentes tempos de resposta a uma dada situação, obedecendo às características do sistema em que estão inseridos. Coordenar o comportamento dos agentes é portanto essencial para ir de encontro a tais restrições globais;

• Os agentes num sistema multi-agente possuem diferentes capacidades e

competências, que nem sempre estão perfeitamente especificadas no contexto de actuação, pelo que são gerados problemas de inter-relação. Portanto, os agentes necessitam de ser coordenados da mesma forma que diferentes médicos especialistas, incluindo anestesistas, cirurgiões, pessoal das ambulâncias, enfermeiros, etc. necessitam coordenar as suas capacidades para tratar um paciente;

• As acções dos agentes são frequentemente interdependentes e por isso um

agente pode ter de esperar que outro agente complete a execução da sua tarefa antes de executar a sua própria tarefa. Tal interdependência tem de ser coordenada.

As próximas sub-secções descrevem as abordagens chave na resolução do problema da coordenação nos sistemas multi-agente. 2.5.2.1 – Coordenação organizacional A forma mais fácil de assegurar comportamento coerente e resolver conflitos parece ser prover o sistema com um agente que tem uma perspectiva mais alargada do sistema, usando portanto uma estrutura hierárquica ou organizacional. Esta é a técnica de coordenação mais simples e usa uma arquitectura clássica de cliente/servidor para a alocação de recursos e tarefas entre os agentes clientes por alguns agentes servidores. O servidor coordenador pode reunir informação a partir dos agentes do grupo, criar planos e atribuir tarefas a agentes individuais do grupo para assegurar a coerência global. Alguns destes sistemas empregam uma arquitectura de blackboard como forma de atingir a coordenação. Neste esquema, as fontes de conhecimento da zona de memória

Teoria sobre agentes

Information Retrieval – uma abordagem baseada em agentes 21

partilhada são substituídas por agentes que colocam e lêem informação da zona partilhada. O agente servidor coordenador agenda as escritas e leituras dos agentes nesta zona de memória. No entanto, uma tal abordagem é impraticável em aplicações reais porque é muito difícil criar um coordenador central com informação sobre as intenções2, desejos3 e crenças4 de todos os agentes. 2.5.2.2 – Contratar para coordenar – o Contract Net Protocol A mais famosa técnica de coordenação na alocação de tarefas e recursos entre agentes é o Contract Net Protocol [Smith and Davis, 1983]. Nesta abordagem, uma estrutura descentralizada de mercado é assumida e os agentes podem desempenhar um de dois papéis, o contratante ou o contratado. O ponto básico desta forma de coordenação é que se um agente não é capaz de resolver um problema que lhe foi designado usando recursos/conhecimentos locais, irá então decompor o problema em subproblemas e tentará encontrar outros agentes disponíveis com os necessários recursos/conhecimentos para resolver estes subproblemas. O problema na atribuição dos subproblemas é resolvido por um mecanismo contratual que consiste no anúncio de contrato pelo agente contratante, envio das ofertas pelos agentes a contratar em resposta ao anúncio e a avaliação das ofertas recebidas pelo contratante. Este processo leva à atribuição do contrato ao(s) contratado(s) com as ofertas mais vantajosas. O CNP tem sido usado em muitas aplicações, em diversas áreas, nomeadamente por Parunak (1987), no qual foi aplicado ao controlo de produção. Algumas das suas vantagens incluem alocação dinâmica das tarefas, os agentes podem ser introduzidos e retirados dinamicamente, proporciona um natural balanceamento da carga (já que os agentes ocupados não precisam responder aos anúncios). A suas limitações envolvem o facto deste protocolo não detectar ou resolver conflitos, pois os agentes na rede de contratos são considerados benevolentes e não antagónicos (o que não é muito comum em aplicações no mundo real). Além disso, as comunicações são bastante intensivas, pelo que os custos podem ultrapassar as vantagens em aplicações do mundo real. 2.5.2.3 – Planeamento multi-agente para a coordenação O problema da coordenação de múltiplos nós pode ser visto como um problema de planeamento. O planeamento multi-agente realça um evitar de inconsistência e situações conflituosas, aspectos críticos em aplicações como o controlo de tráfego aéreo. Formando um plano multi-agente, os nós determinam todas as suas acções e interacções de antemão, não deixando nada ao acaso. Existem dois tipos de planeamento multi--agente: centralizado e distribuído. 2 As intenções dum agente representam os desejos que ele se compromete a atingir. Um agente pode não ser capaz de atingir todos os seus desejos e, portanto, irá seleccionar algum subconjunto dos desejos disponíveis e alocar recursos para os atingir. 3 Os desejos dum agente correspondem às tarefas que lhe foram atribuídas (os seus objectivos). 4 As crenças dum agente correspondem à informação que o agente tem do mundo, a qual pode ser incompleta ou incorrecta.

Teoria sobre agentes

Information Retrieval – uma abordagem baseada em agentes 22

No planeamento multi-agente centralizado, os agentes separados criam o seu plano individual e enviam-no a um coordenador central que os analisa e procura potenciais conflitos na planificação. A ideia por detrás desta abordagem é que o coordenador central pode identificar regiões críticas dos planos que os agentes devem sincronizar e é capaz de inserir passos nos planos para enviar e esperar por mensagens de sincronismo para garantir uma correcta sincronização das operações. Os planos parciais individuais podem ser combinados num plano multi-agente com interacções conflituosas eliminadas. Uma desvantagem desta técnica é que permite que primeiro os agentes formem os seus planos como se fossem actuar sozinhos e, só depois, coordena esses planos. Assim, podem ser perdidas oportunidades de cooperação que teriam sido possíveis se os agentes tivessem construído os seus planos individuais concorrentemente, com conhecimento sobre o que os outros nós estavam a fazer. Também partilha muitas das desvantagens inerentes à abordagem cliente/servidor na coordenação. A técnica distribuída para o planeamento multi-agente rejeita o uso de um coordenador central e, em vez disso, permite que os agentes modelem os planos de cada um dos outros agentes. Os agentes comunicam de forma a construir e actualizar os seus planos individuais e os seus modelos dos outros agentes até os conflitos serem removidos. Nesta abordagem, agentes fracamente acoplados formam planos de alto nível (mas possivelmente incompletos), resultados e hipóteses que trocam uns com os outros. Em seguida, refinam estes planos até todos convergirem para o mesmo plano global. Ambas as abordagens no planeamento multi-agente requerem que os nós partilhem e processem quantidades substanciais de informação e, por isso, o planeamento multi--agente envolve mais computação e comunicações que outras abordagens. 2.5.2.4 – Leis sociais para a coordenação Os investigadores, ao tentar coordenar agentes inteligentes em domínios como o controlo de tráfego aéreo ou tráfego urbano descobriram que a coordenação é mais fácil na rotina do que em situações que não são familiares [Chaib-draa, 1997]. Se todos os agentes tivessem completo conhecimento dos objectivos, acções e interacções dos seus membros, seria possível saber exactamente o que cada agente estaria a fazer num dado momento e que pretenderia fazer no futuro. Neste contexto seria possível evitar conflitos e esforços redundantes, os agentes poderiam ser perfeitamente coordenados e o esforço de atingir este estado seria relativamente baixo. No entanto, um tal completo conhecimento sobre as actuais acções e reacções só é viável em situações rotineiras. Por exemplo, num contexto de tráfego urbano, uma situação rotineira é quando o carro da frente assinala que vai virar à direita, ou quando os semáforos passam a verde, cada um pode coordenar as suas acções de acordo com o que os outros estão a fazer tendo em conta leis sociais (neste caso, o código da estrada). Em domínios do mundo real existem também situações familiares e situações que não o são. Uma situação familiar não é a rotina, um situação familiar pode ocorrer quando os semáforos estão avariados e um polícia está a dirigir o trânsito. Mais uma vez, com base nas leis sociais, as suas ordens irão coordenar correctamente o trânsito. Uma situação não familiar pode ser quando o os semáforos estão avariados e não existe nenhum polícia a coordenar o trânsito.

Teoria sobre agentes

Information Retrieval – uma abordagem baseada em agentes 23

A coordenação diminui à medida que a situação se torna menos familiar, já que mais análise e raciocínio são requeridos, o que é laborioso e pode resultar em conflitos entre os agentes. No entanto, se forem atribuídas leis sociais aos agentes, o seu processamento pode basear-se em capacidades, o que resulta em maior rapidez, menor esforço e é propício para a coordenação de actividades entre os agentes. A performance de um agente é dirigida por padrões armazenados de procedimentos pré-definidos, que vão directamente da observação à acção. As situações não familiares são adaptadas a situações familiares, usando raciocínio baseado em casos. O modelo do agente consiste em três níveis, capacidade (rotina), regras (situações familiares), conhecimento (situações não familiares). Os níveis mais baixos, a rotina e situações familiares são enriquecidos com regras sociais, tais como, regras de coordenação (guiar pela esquerda, falar na sua vez, etc.), regras de cooperação (reciclar papel, consumo de energia, etc. : a acção de um agente só faz sentido se outros agentes também realizarem alguma acção) e grupos sociais (organizações, grupos, etc.). 2.5.3 – Negociação Um objectivo da investigação na resolução distribuída de problemas é aumentar os conhecimentos de como os humanos coordenam as suas actividades através da negociação. A ideia comum em todas as contribuições da Inteligência Artificial Distribuída para a negociação é que os agentes usam a negociação para a resolução dos conflitos, logo para a coordenação. Apesar da negociação ser extremamente importante na modelação de sistemas multi-agente, não existe uma definição comum sobre o que é a negociação. Devem existir tantas definições de negociação como os investigadores que a estudam. Talvez uma definição básica é a de Bussman e Muller (1992): “... a negociação é o processo de comunicação de um grupo de agentes de forma a atingir um acordo mutuamente aceite em algum assunto.” O acordo pode ser sobre o preço, tempo, lugar de encontro, acções conjuntas ou um objectivo comum. O processo de procura de um acordo pode envolver a troca de informação, o relaxar5 de alguns objectivos iniciais, concessões mútuas, mentiras ou ameaças. Assim a ideia básica por detrás da negociação é chegar a um consenso. Outros investigadores preferem uma definição mais forte de negociação, argumentando que de forma a negociar efectivamente, os agentes devem ter em conta as crenças, desejos e intenções de outros agentes. Isto levou ao uso de todo o tipo de técnicas de Inteligência Artificial e matemáticas incluindo a lógica, raciocínio baseado em casos, revisões de crenças, manutenção de verdade distribuída, optimização e a teoria dos jogos. Portanto, não é difícil imaginar a enorme quantidade e variedade de literatura sobre o tópico da negociação.

5 O agente pretende atingir determinados objectivos mas terá de se adaptar à situação e ao seu interlocutor. Na impossibilidade da total satisfação dos seus objectivos poderá aceitar a solução proposta, ainda que de menor qualidade.

Teoria sobre agentes

Information Retrieval – uma abordagem baseada em agentes 24

A negociação pode ser competitiva ou cooperativa dependendo do comportamento cooperante dos agentes individuais envolvidos.

• Negociação competitiva Usada em situações onde agentes com diferentes interesses tentam atingir uma resolução global com base em alternativas bem definidas. Por exemplo, a interacção entre computadores que controlam e partilham recursos de agências distintas e possivelmente concorrentes – um computador no Porto e outro em Lisboa em que cada um controla parte de uma rede de telecomunicações pode achar benéfico (ou mesmo necessário) chegar a acordo sobre como os pacotes são reencaminhados. Portanto, a negociação competitiva envolve máquinas independentes com objectivos independentes que interagem umas com as outras. Não são em princípio cooperativas, não estão dispostas a partilhar informação ou a relaxar o seu principal objectivo – são competitivas.

• Negociação cooperativa

Usada em situações onde agentes têm um objectivo global para o sistema. Domínios em que este princípio colaborativo se ajusta incluem, por exemplo, o controlo do tráfego aéreo onde os sistemas colaboram para estabelecer as melhores rotas para os voos e para as aterragens, cenários de guerra onde múltiplos estrategas colaboram para a obtenção da melhor táctica de ataque/defesa, etc.

2.5.4 – Comunicação As secções anteriores descreveram brevemente algumas técnicas chave e aplicações para atingir a coordenação em ambientes multi-agente. De forma a atingir esta coordenação os agentes poderiam ter de negociar, interagir ou trocar informação, logo teriam de comunicar. A importância de, num sistema multi-agente, os agentes “entenderem” uma linguagem de comunicação pode ser levada ao ponto de afirmar que uma entidade só é um agente se comunicar correctamente através de uma linguagem de comunicação de agentes (ACL – Agent Communication Language). Apesar desta afirmação ser um pouco exagerada por faltarem outros atributos necessários a um agente, a importância de uma ACL é fundamental – imagine-se uma sociedade sem uma língua comum aos seus membros6. Em sistemas multi-agente, as possíveis soluções para o problema da comunicação vão desde aquelas que não envolvem comunicação, passando por ACLs proprietárias até aquelas que envolvem ACLs standard.

6 Stan Franklin defende, no artigo “Coordination without Communication”, que é possível a coordenação dos agentes sem a necessidade de recorrer à comunicação entre eles ou a um planeamento prévio das suas acções. O mecanismo subjacente a esta coordenação é a repetida e frequente amostragem do ambiente e a resposta a esta amostra. Para um estudo aprofundado consultar http://www.msci.memphis.edu/~franklin/coord.html

Teoria sobre agentes

Information Retrieval – uma abordagem baseada em agentes 25

• Sem comunicação ou Comunicação primitiva

Nalguns casos um agente infere racionalmente os planos de outros agentes sem comunicar com eles. Esta técnica funciona melhor quando os objectivos dos agentes não são conflituosos. A comunicação primitiva é restrita a um conjunto finito de sinais fixos (normalmente dois) com interpretações fixas. O número limitado e tipos de sinais disponíveis nesta abordagem limita a coordenação entre agentes. Assim, requisições, comandos e intenções complexas não podem ser expressas usando estes sinais;

• ACLs proprietárias

Muitos sistemas multi-agente usam um conjunto experimental de instruções dentro de uma linguagem de comunicação experimental. Muitos outros, não têm uma ACL explícita – eles comunicam colocando informação nalguma estrutura de dados partilhada. Naturalmente, o inconveniente de tais abordagens experimentais é que torna difícil, se não mesmo impossível, a interacção entre agentes construídos por diferentes programadores;

• Passagem de planos ou Passagem de mensagens

Na abordagem de passagem de planos os agente A comunica o seu plano completo ao agente B, e o agente B comunica o seu plano completo ao agente A. O primeiro plano a chegar é o plano aceite. Este método de comunicação não tem sido muito usado porque apresenta grandes limitações, incluindo o facto que a passagem dos planos totais é muito pesada computacionalmente. A passagem de mensagens é baseada em actores. Um actor pode ser definido como um agente computacional que executa as suas acções em resposta ao processamento de uma comunicação. As acções que pode executar são: enviar comunicação para ele próprio ou para outros actores, criar novos actores, etc. Vários trabalhos na Inteligência Artificial Distribuída têm usado uma clássica passagem de mensagens com um protocolo e contexto precisos, como por exemplo o Contract Net Protocol (que vimos anteriormente);

• Troca de informação através de uma zona de memória partilhada

Em Inteligência Artificial, um blackboard é o modelo de memória partilhada mais usado. É um repositório onde os agentes escrevem mensagens, colocam resultados parciais ou obtêm informação, o que implica outro tipo (dos anteriores) de comunicação entre o agente e o blackboard;

Teoria sobre agentes

Information Retrieval – uma abordagem baseada em agentes 26

• ACLs standard Encontrar uma ACL standard é essencial. A FIPA (Foundation for Intelligent Physical Agents) está a tentar obter um tal standard, o FIPA ACL. Outros standards propostos até à data são o KQML7, o KIF8 e o ARCOL9. Além disso, o XML tem vindo a adquirir alguma importância neste campo, pelo que, mesmo sem ter sido especificamente desenvolvido para esta área, deverá ser considerado como tal.

2.6 – Agentes Móveis 2.6.1 – Uma definição corrente Um agente móvel é um programa que pode migrar de máquina em máquina numa rede heterogénea. O programa escolhe quando e para onde migrar. Pode suspender a sua execução num ponto arbitrário, mover-se para outra máquina e continuar a execução a partir do ponto em que a deixara [White, 1995]. No próximo diagrama (Diagrama 4), um cliente comunica com um serviço remoto através de uma rede usando um paradigma cliente/servidor. No entanto, no segundo diagrama (Diagrama 5) o cliente usa um agente móvel para efectuar o seu pedido, envia-o para o serviço remoto onde ele pode interagir localmente com esse serviço.

Diagrama 4 - Paradigma cliente/servidor

7 O Knowledge Query and Manipulation Language é uma linguagem e protocolo para troca de informação e conhecimento. Faz parte do ARPA Knowledge Sharing Effort que tem por objectivo desenvolver técnicas e metodologias para a criação de bases de conhecimento que possam ser partilhadas e reutilizáveis. O KQML é um formato de mensagens e também um protocolo de tratamento de mensagens para partilha de conhecimento, em tempo de execução, entre agentes. O KQML pode ser usado como linguagem para um programa interagir com um sistema inteligente ou para dois ou mais sistemas inteligentes partilharem conhecimento numa resolução cooperativa de problemas. Para uma informação mais detalhada consultar http://www.cs.umbc.edu/pub/kqml/ 8 O Knowledge Interchange Format é uma linguagem de partilha de conhecimento entre programas distintos. Tem uma semântica declarativa (o significado das expressões pode ser compreendido sem recorrer a um interpretador que manipule essas expressões), é logicamente compreensível (é possível exprimir realidades representáveis pela lógica de 1ª ordem), permite meta-conhecimento e permite a definição de objectos, funções e relações. Para uma informação mais detalhada consultar http://www-ksl.stanford.edu/knowledge-sharing/kif/ 9 O ARtimis COmmunication Language foi desenvolvido na France Telecom, por Sadek, em 1996. Pretende colmatar as limitações de uma semântica nem sempre precisa que pode ser encontrada no KQML. Para uma informação mais detalhada consultar http://www.cselt.it/fipa/torino/cfp1/propos97_015.htm

Cliente Serviço Rede

Teoria sobre agentes

Information Retrieval – uma abordagem baseada em agentes 27

Diagrama 5 - Paradigma de agentes móveis

A tecnologia de agentes móveis emergiu dos avanços conseguidos na investigação em sistemas distribuídos. A ideia de transportar programas ao longo da rede não é nova, no entanto, a capacidade dum programa se transportar para novas localizações não é suficiente para descrever um agente móvel. 2.6.2 – Uma definição mais completa De acordo com a literatura existente [Chess, 1995; White, 1995; Nwana, 1996] a seguinte definição caracteriza a essência dum agente móvel. Um agente móvel é uma entidade que existe num ambiente de software. Para além de herdar algumas das características necessárias para que seja considerado um agente, um agente móvel terá de conter todos os modelos seguintes:

• Modelo de agente Este modelo define a estrutura interna da parte inteligente do agente móvel. Define a autonomia, aprendizagem e características de cooperação de um agente. Adicionalmente, especifica a natureza reactiva e pró-activa de um agente.

• Modelo do ciclo de vida Este modelo define os diferentes estados de execução de um agente móvel e os eventos que causam a mudança de um estado para o outro. Assim, está intimamente relacionado com o modelo computacional que descreve como a execução ocorre.

• Modelo computacional O modelo computacional define como o agente móvel executa quando está no estado activo. A computação tem lugar num ambiente e é auxiliada por alguma forma de processador. O processador pode ser o CPU de um computador ou um processador mais abstracto tal como pode ser encontrado na máquina virtual do Java.

• Modelo de segurança O modelo de segurança dos agentes móveis pode ser dividido em duas áreas gerais. A primeira envolve a protecção dos nós servidores de agentes móveis destrutivos enquanto que a segunda envolve a protecção de agentes móveis de servidores destrutivos.

o Protecção dos servidores de agentes maliciosos Um sistema de agentes móveis é um sistema aberto. Portanto, tal como qualquer sistema aberto, os nós servidores estão sujeitos a uma variedade

Cliente Serviço Rede Agente Agente

Teoria sobre agentes

Information Retrieval – uma abordagem baseada em agentes 28

de ataques. Os métodos de ataque tradicionais incluem alteração de mensagens, mascarar a identidade, vírus, etc. Um agente móvel pode executar qualquer destes tipos de ataque, que por sua vez podem ser prevenidos com o uso de técnicas tradicionais como a criptografia, autenticação, assinaturas digitais e hierarquias de confiança. No entanto, o código do agente móvel é executado pelo servidor. Assim um agente móvel em execução tem automaticamente acesso a alguns dos recursos do servidor. Com este nível de acesso o agente móvel pode efectuar ataques alterando alguns agentes locais, propagando vírus, passando por outros utilizadores e efectuar ataques que impeçam o normal serviço do servidor. A abordagem standard para este problemas tem sido rejeitar a entrada no servidor a todo o código que não é conhecido. Esta não é uma solução viável num ambiente multi-agente que se quer heterogéneo. Linguagens como o Telescript já oferecem alguma protecção a estes problemas.

o Protecção dos agentes de servidores maliciosos Esta segunda área lida com a protecção de agentes móveis de servidores que querem analisar a informação contida no agente, alterar o estado do agente ou o seu código ou matar o agente. O problema crítico é que um agente para executar tem de expor o seu código e dados ao ambiente do servidor que lhe fornece os meios para que o agente possa correr. Assim, o agente móvel está desprotegido em relação ao servidor.

• Modelo de comunicação Os agentes móveis teriam pouca utilidade se não pudessem comunicar com outras entidades num ambiente computacional. Estas entidades incluem utilizadores, outros agentes (estáticos ou móveis), o ambiente de agentes móveis do servidor e outros tipos de sistemas distribuídos como o CORBA. A comunicação é usada quando se acede a serviços fora dos agente móvel, durante a cooperação e coordenação, entre agentes móveis e outras entidades e, finalmente, para facilitar o comportamento competitivo entre agentes com interesses distintos. Um protocolo é uma implementação de um modelo de comunicação. Existe uma grande variedade de protocolos que variam desde o mais básico (e-mail, RPC) ao mais geral e complexo (KQML, FIPA ACL). Os protocolos também variam dependendo do tipo das entidades que comunicam. Os utilizadores não quererão certamente comunicar com um agente usando KQML, antes preferirão interagir com o agente através de linguagem natural ou através de um interface gráfico adequado. Devido ao elevado número de protocolos usados durante a comunicação é provável que os agentes móveis necessitem de mais do que um modelo de comunicação (isto é equivalente à capacidade de um humano falar e entender várias línguas). Com os numerosos protocolos de comunicação surge a necessidade de tradução entre eles. Tal capacidade de tradução pode ser interna ao agente móvel ou pode ser contratada a um serviço externo de tradução.

Teoria sobre agentes

Information Retrieval – uma abordagem baseada em agentes 29

• Modelo de navegação Este modelo diz respeito a todos os aspectos da mobilidade dos agentes desde a descoberta e resolução de pontos de destino, até à forma como um agente móvel é transportado. Esta parte dos agentes móveis está actualmente a receber uma grande parte da atenção na investigação sobre agentes móveis.

Apesar de cada um destes modelos ter sido descrito individualmente, estão intimamente integrados e interdependentes. O próximo diagrama é uma representação da estrutura de um agente móvel simples.

Diagrama 6 - Modelo simples de um agente móvel

O núcleo é baseado no modelo computacional, o que provoca bastante impacto nos outros modelos. Isto define como o agente se relaciona com outros agentes, servidores e recursos, o que é importante para o modelo de segurança. O tipo de modelo de ciclo de vida adoptado está dependente das características do modelo computacional. Por exemplo, todas as implementações de agentes móveis baseadas no Java foram forçados a adoptar o modelo baseado em tarefas. Tanto o modelo de segurança como o modelo do ciclo de vida estão estruturalmente muito próximos do núcleo. Os aspectos de segurança passam por todas as partes do agente móvel e portanto devem ser fornecidos nos níveis mais básicos. As camadas exteriores contêm os modelos de comunicação, navegação e de agente. O modelo de agente define os aspectos “inteligentes” do agente móvel como a aprendizagem e funções de colaboração. O modelo de comunicação está fortemente dependente do modelo de segurança para que os agentes não sejam corrompidos por outros agentes ou servidores. Finalmente, o modelo de navegação está também dependente do modelo de segurança, já que é o responsável pelo transporte do agente para outro nó. O processo de transporte muitas vezes move o agente para outro estado do ciclo de vida.

Computacional

Segurança

Ciclo de Vida

Comunicação

Navegação Agente

Teoria sobre agentes

Information Retrieval – uma abordagem baseada em agentes 30

Isto define um agente móvel, no entanto, é necessário considerar o ambiente no qual o agente existe. Este é denominado por ambiente de agentes móveis. Assim, uma definição de ambiente de agentes móveis pode ser a seguinte [Chess, 1995; White, 1995; Nwana, 1996]: Um ambiente de agentes móveis é um sistema de software que está distribuído por uma rede de computadores heterogéneos. A sua principal tarefa é proporcionar um ambiente no qual os agentes móveis possam operar. O ambiente de agentes móveis implementa a maioria do modelos que apareceram na definição do agente móvel. Pode também fornecer: serviços de suporte que se relacionem com o próprio ambiente, serviços de suporte correspondentes aos ambientes em que os agentes móveis foram criados, serviços que suportem o acesso a outros sistemas de agentes móveis e, por último, suporte ao aceso a ambientes não baseados em agentes. 2.6.3 – Vantagens da tecnologia de agentes móveis As vantagens reclamadas pela tecnologia de agentes móveis são as seguintes [Chess et al: 1995]:

• Eficiência Os agentes móveis consomem menos recursos da rede uma vez que eles movem a computação para o local onde estão os dados;

• Redução do tráfego da rede

A maioria dos protocolos de comunicação envolvem diversas iterações, especialmente quando as medidas de segurança estão activadas. Isto causa um elevado tráfego na rede. Com os agentes móveis é possível empacotar a conversação e enviá-la para o nó destino onde as iterações podem ter lugar, localmente;

• Assincronismo

As tarefas podem ser submetidas aos agentes móveis. O agente móvel pode operar assíncrona e independentemente da entidade que lhe enviou o pedido. Um exemplo disto poderia ser um dispositivo que após lançar um agente para efectuar uma pesquisa autónoma numa determinada rede, desliga-se e volta a ligar-se mais tarde para recolher os resultados da pesquisa;

• Interacção com entidades de tempo real

Entidades de tempo real como software que controla instalações nucleares requerem respostas imediatas a mudanças no seu ambiente. Controlar estas entidades numa rede potencialmente grande iria certamente significar enormes latências10. Para situações críticas tais latências são intoleráveis. Os agentes móveis oferecem uma alternativa: podem ser enviados de um sistema central para controlar entidades de tempo real a um nível local e processar ordens do sistema central;

10 Tempo que decorre entre o envio do pedido e o início da sua execução e que é independente do tamanho ou natureza da operação. Em situações críticas (sistemas de tempo real) pretende-se que a resposta do sistema seja imediata.

Teoria sobre agentes

Information Retrieval – uma abordagem baseada em agentes 31

• Adaptação dinâmica Relacionado com o tópico anterior, os agentes móveis têm a capacidade de autonomamente reagirem a mudanças no seu ambiente. No entanto, tais mudanças têm de ser comunicadas aos agentes pelo ambiente de agentes móveis;

• Lidar com grandes volumes de dados

Quando vastos volumes de dados são armazenados em localizações remotas, o processamento destes dados deve ser feito localmente em vez de os transmitirem na totalidade pela rede;

• Robustez e tolerância a falhas

A capacidade dos agentes móveis reagirem dinamicamente a situações adversas torna mais fácil construir um comportamento tolerante a falhas, especialmente em sistemas largamente distribuídos;

• Suporte a ambientes heterogéneos

Tanto os computadores como as redes que fazem parte do sistema de agentes móveis são, por regra, de natureza heterogénea. Um sistema de agentes móveis é geralmente independente de computadores e redes e suporta operações transparentes entre eles;

• Personalizar o comportamento do servidor

Num domínio de redes inteligentes os agentes móveis são propostos como um meio para personalizar o comportamento de entidades da rede (por ex.: “routers”) através do fornecimento dinâmico de novo comportamento;

• Suporte ao comércio electrónico

Os agentes móveis podem ser usados para construir mercados electrónicos. Aqui os agentes móveis representam as intenções, desejos e recursos dos participantes num tal mercado;

• Um conveniente paradigma de desenvolvimento

A concepção e construção de sistemas distribuídos podem ser facilitadas com o uso de agentes móveis. Os agentes móveis são por natureza distribuídos e, logo, são uma natural aplicação dos sistemas distribuídos.

Agentes de software na prática

Information Retrieval – uma abordagem baseada em agentes 32

3 – Agentes de Software na prática 3.1 – Áreas de aplicação de agentes As actuais aplicações de agentes são de uma natureza bastante experimental. Além das universidades e centros de pesquisa, um número considerável de empresas, como a IBM e a Microsoft, estão a levar a cabo pesquisas na área dos agentes. Para ter certeza que os seus projectos de pesquisa receberão financiamento posterior, muitos investigadores e programadores de tais empresas (mas isto também se verifica noutros grupos, até mesmo não comerciais) estão a concentrar-se hoje em dia em aplicações de agentes bastante básicas, já que normalmente têm de demonstrar resultados em períodos de tempo relativamente curtos. Exemplos deste tipo de agentes são:

• Agentes que parcial ou completamente manuseiam o e-mail do utilizador; • Agentes que filtram e/ou analisam artigos em newsgroups procurando por

informação que pode ser interessante para o utilizador;

• Agentes que organizam os compromissos diários do utilizador com base nas informações fornecidas ou na informação disponível (apontamentos) na agenda electrónica do utilizador;

• Agentes que recomendam livros, cinemas, música ou outras formas de

entretenimento. A escolha destes domínios foi motivada pela insatisfação dos utilizadores em relação às actuais formas de lidar com estas tarefas. É desperdiçado tempo valioso com correio indesejado, com a marcação e remarcação de reuniões, a procurar informação relevante entre quantidades enormes de informação sem interesse e a percorrer listas de livros, músicas ou programas de televisão à procura de algo interessante. A actual tendência no desenvolvimento de agentes é criar aplicações modestas, de baixo nível. No entanto, cada vez mais, estão a ser desenvolvidas aplicações mais avançadas e complexas. A pesquisa tem sido feita em agentes separados, como os agentes de correio, agentes de notícias e agentes de procura. Estes são os primeiros passos para aplicações mais integradas onde estes agentes individuais, básicos, são usados como blocos de construção. Pessoalmente, acredito que isto se tornará na tendência dominante nos próximos dois ou três anos. (Note-se que isto não significa que haverá poucos ou nenhuns desenvolvimentos interessantes e oportunidades na área das aplicações de agentes menores, de mais baixo nível.). Será assim possível criar aplicações de agentes mais complexas, capazes de executar tarefas de alto nível para os seus utilizadores. No entanto, esta crescente complexidade não deverá ser perceptível para o utilizador.

Agentes de software na prática

Information Retrieval – uma abordagem baseada em agentes 33

É possível identificar as seguintes áreas de aplicação, onde agora (ou num futuro próximo) a tecnologia de agentes é (ou será) usada:

• Administração de Sistemas e Redes A administração de sistemas e redes é uma das mais recentes áreas de aplicação de agentes, que tem bastante a ganhar com a utilização de uma tecnologia de agentes inteligentes. A evolução da computação para um modelo cliente/servidor intensificou a complexidade dos sistemas que são administrados, especialmente na área das LANs. E como os computadores centrais numa rede são cada vez em maior número, esta complexidade aumenta progressivamente. Os utilizadores destes sistemas (principalmente os operadores e administradores de sistema) necessitam de uma gestão fortemente simplificada, contrastando com a complexidade crescente. As arquitecturas de agentes existem na administração de sistemas e redes há já algum tempo, mas estes agentes são, geralmente, mais repetitivos (com uma função fixa) do que agentes inteligentes. Porém, os agentes inteligentes podem ser usados para melhorar a administração de sistemas. Por exemplo, eles podem ajudar a filtrar e a executar acções automáticas a um nível mais alto de abstracção, e podem até mesmo ser usados para detectar e reagir a padrões de comportamento do sistema. Além disso, podem ainda ser usados para administrar configurações dinamicamente.

• Acesso/Administração móvel

Como os computadores se tornam cada vez mais omnipresentes e as redes de computadores mudam o centro de atenção do computador pessoal para a rede, os utilizadores querem ter mais mobilidade. Não só querem ter acesso a recursos da rede a partir de qualquer localização, mas também aceder a esses mesmos recursos, apesar das limitações de largura de banda das tecnologias móveis (como comunicação sem fios) e desprezando a instabilidade da rede. Agentes inteligentes que (neste caso) residem na rede, em vez de nos computadores pessoais dos utilizadores, podem lidar com estas necessidades, cumprindo persistentemente os pedidos dos utilizadores, apesar de perturbações na rede. Além disso, os agentes podem processar os dados na origem e enviar somente respostas compactadas para o utilizador, em vez de sobrecarregar a rede com grandes quantidades de dados não processados.

• Mail e Messaging

Software para envio de mensagens, tal como software para e-mail, existe já há algum tempo. Os utilizadores necessitam hoje em dia da capacidade de atribuir prioridades e organizar automaticamente os seus e-mails, e no futuro, exigirão ainda mais funcionalidades, tais como enviar correio recorrendo a alguma função de selecção em vez de enviar correio por pessoa. Os agentes inteligentes podem facilitar todas estas funções permitindo que as regras de manipulação do correio sejam especificadas de antemão, deixando os agentes operarem em nome do utilizador de acordo com essas regras. Normalmente também é possível (ou pelo menos será) ter agentes para deduzir estas regras, observando o comportamento dum utilizador e tentando encontrar padrões.

Agentes de software na prática

Information Retrieval – uma abordagem baseada em agentes 34

• O acesso à informação e o seu tratamento O acesso à informação e o seu tratamento é uma área de grande actividade, dada a subida de popularidade da Internet e a explosão de dados disponíveis ao utilizador. É esta área de aplicação de agentes que terá um principal destaque neste trabalho. Aqui, os agentes inteligentes estão a ajudar os utilizadores não só com a procura e filtragem da informação, mas também com a sua organização por categorias, prioridades, anotando e partilhando informação e documentos.

• Trabalho cooperativo

O trabalho cooperativo é uma área de rápido crescimento na qual os utilizadores trabalham em conjunto sobre documentos partilhados, usando videoconferência ou partilhando recursos adicionais pela rede. Aqui os conceitos chave são recursos partilhados e trabalho em equipa. Ambos são dirigidos e suportados pela mudança para a computação em rede que se tem vindo a acentuar nos últimos anos. Os utilizadores nesta área precisam não só de uma infra-estrutura que permita uma robusta e escalonável partilha de dados e recursos computacionais, como também necessitam de outras funcionalidades que os auxiliem de facto na construção e administração de equipas cooperativas (de pessoas) e na administração dos resultados do seu trabalho. Um dos mais populares e mais falados exemplos deste tipo de aplicação é o pacote de software Lotus Notes.

• Comércio electrónico

O comércio electrónico é uma área em crescimento impulsionada pela popularidade da Internet. Os compradores precisam encontrar vendedores de produtos e serviços, precisam encontrar informação sobre o produto (incluindo especificações técnicas, configurações viáveis, etc.) que resolva o seu problema, precisam obter opiniões de especialistas tanto para a compra do produto/serviço como para a posterior assistência técnica. Os vendedores precisam chegar aos compradores e fornecer informações especializadas sobre os seus produtos ou serviços, bem como também proporcionar atendimento e suporte ao consumidor. Ambos, compradores e vendedores, precisam automatizar as suas relações comerciais. Os agentes inteligentes podem beneficiar ambos os lados no comércio electrónico, de várias formas. Agentes podem "ir às compras" para um utilizador, levar especificações e regressar com recomendações de compras que satisfaçam essas especificações. Eles podem agir como "vendedores" fornecendo informações sobre o produto ou serviço, aconselhando os compradores e ajudando a localizar e resolver os problemas dos clientes.

• Interfaces adaptáveis ao utilizador

Embora a interface com o utilizador tenha sido transformada com o surgimento das interfaces gráficas (Graphical User Interfaces - GUIs), para muitos, lidar com computadores continua a ser difícil. À medida que as capacidades e aplicações dos computadores aumentam, a interface com o utilizador precisa disfarçar este aumento de complexidade.

Agentes de software na prática

Information Retrieval – uma abordagem baseada em agentes 35

Como a população de utilizadores de computadores aumenta e se diversifica, torna-se indispensável que as interfaces aprendam os hábitos e preferências dos utilizadores e sejam capazes de se adaptar aos indivíduos. Os agentes (designados por agentes de interface) podem ajudar em ambos os problemas. A tecnologia de agentes inteligentes permite que o sistema monitorize as acções do utilizador, desenvolvendo um modelo das suas preferências e automaticamente ajude quando os problemas surgem. Quando combinados com tecnologias de processamento de voz, os agentes inteligentes permitem que os computadores se tornem mais “humanos” quando interagem com os seus utilizadores.

3.2 – Exemplos de aplicações de agentes e sistemas de agentes 3.2.1 – Open Sesame! O Open Sesame! é um agente de interface que aprende a forma como os utilizadores trabalham com o computador. O Open Sesame! é um agente de aprendizagem que observa as actividades do utilizador e aprende quais as tarefas que são várias vezes repetidas. Então oferece-se para realizar essas tarefas repetitivas automaticamente. O Open Sesame! pode também automatizar tarefas de manutenção cruciais que o utilizador pode facilmente esquecer. Algumas das características do Open Sesame! são:

• Aprende padrões de comportamento e gera instruções para automatizar as tarefas;

• Executa automaticamente tarefas em períodos específicos;

• Executa automaticamente duas ou mais tarefas que o utilizador por si só teria de

executar em separado;

• Fornece atalhos ao utilizador para abrir e fechar um conjunto de directórios, aplicações e documentos relacionados;

• Coloca as janelas abertas de modo a que o utilizador possa trabalhar nessas

aplicações de forma mais eficiente;

• Fornece aos utilizadores avançados a opção de expandir o Open Sesame! com applets AppleScript e um utilitário de macros.

Agentes de software na prática

Information Retrieval – uma abordagem baseada em agentes 36

3.2.2 – Info Agent 3.2.2.1 – Descrição D’Aloisi e Giannini implementaram o Info Agent11, um sistema que ajuda os utilizadores a obter dados de arquivos distribuídos e heterogéneos. A arquitectura é baseada em agentes e incorpora técnicas de outras áreas de pesquisa como arquitecturas distribuídas e interfaces activos. Para a concepção e desenvolvimento dos agentes de informação deste sistema, o objectivo foi o de criar um sistema adequado a diferentes tipos de utilizadores considerando pesquisas de informação locais e externas. Um único agente, chamado Info Agent, é usado como interface entre o sistema e o utilizador. O Info Agent por sua vez usa os serviços doutro agente designado por Interface Agent para processar a comunicação com o utilizador. Este agente é como que um assistente pessoal responsável pelas necessidades do utilizador e pela ligação entre o utilizador e o(s) agente(s) que resolverá(ão) o problema. O número do tipo de agentes com que o Interface Agent tem de lidar depende do objectivo do sistema. Como resultado da arquitectura distribuída e baseada em agentes do sistema, toda a sua estrutura pode ser facilmente alterada ou actualizada ajustando unicamente o Interface Agent. O Interface Agent é capaz de raciocinar sobre os requisitos do utilizador e perceber qual o tipo de necessidades que ele expressa: determina qual dos dois outros agentes no sistema é capaz de solucionar o presente problema e envia-lhe a sua interpretação da questão colocada pelo utilizador, usando KQML. Estes dois outros agentes são o Internal Services Agent e o External Retrieval Agent.

Diagrama 7 - Estrutura do Info Agent

11 Documentação sobre este sistema pode ser consultada em http://www.cilea.it/GARR-NIR/nir-it-95/atti/giannini/giannini/giannini-nir-95.html

Internal Services Agent

External Retrieval Agent

Interface Agent

Utilizador

Comunicação

Delegação

Agentes de software na prática

Information Retrieval – uma abordagem baseada em agentes 37

O Internal Services Agent conhece a estrutura dos arquivos disponíveis numa dada organização: a sua função é devolver dados científicos e administrativos, realizar alguns tipos de acções (como encontrar uma impressora livre) e auxiliar o utilizador na compilação de dados internos. A função do External Retrieval Agent é obter documentos da rede. Pode operar em duas modalidades: retrieval mode ou surfing mode. No primeiro caso, procura um documento específico de acordo com a questão colocada pelo utilizador: este serviço é activado por requisição directa do utilizador. No segundo caso, o agente navega pela rede à procura de documentos que, na sua opinião, podem interessar ao utilizador. A procura é orientada por um perfil do utilizador, construído e mantido pelo Interface Agent. O refinamento deste perfil ocorre de acordo com a forma como o utilizador usa os dados que o agente lhe encontrou e/ou propôs. Usando este perfil, o Interface Agent encarrega agentes especializados para navegarem pela rede à procura de informação que possa ser interessante para o utilizador. Desta forma o utilizador pode ser alertado quando nova informação, que esteja de acordo com os seus interesses, esteja disponível. Tanto o External Retrieval Agent como o Internal Services Agent usam a mesma ferramenta de software para efectuarem as suas pesquisas: Harvest um software de domínio público. No entanto, é possível dotar o sistema com outros métodos ou sistemas de procura para serem usados sozinhos ou com o Harvest: isto é uma vantagem possibilitada pela arquitectura modular e distribuída de todo o sistema. O número de agentes coordenados pelo Interface Agent é também uma parte do sistema que pode facilmente ser alterada. O Interface Agent executa as seguintes tarefas que são cruciais para o sistema:

• Assistência ao utilizador na realização de pedidos e compilação do seu perfil O utilizador não necessita saber o que está disponível na rede, como a informação está estruturada e organizada, onde os ficheiros estão localizados ou que serviços de procura estão ao seu dispor. Isso é da responsabilidade do Interface Agent;

• Tradução dos pedidos dos utilizadores e selecção do(s) agente(s) capaz(es) de resolver o(s) problema(s) Isto permite que o utilizador ignore completamente a estrutura do sistema com que está a interagir. Além disso, pode ignorar como o sistema funciona. O utilizador interage com um interface personalizado que sabe como satisfazer os seus pedidos sem perturbar o utilizador com todo o tipo de detalhes;

• Dedução das necessidades de informação do utilizador através da

comunicação com ele e da observação do seu comportamento O agente observa o comportamento do utilizador e o estado corrente do ambiente para deduzir que acções terão de ser tomadas e como modificar o actual perfil do utilizador;

Agentes de software na prática

Information Retrieval – uma abordagem baseada em agentes 38

• Apresentação e armazenamento da informação recolhida Isto evita que o utilizador domine diferentes formatos da informação (ex.: Word, Postscript, LaTeX, etc.) e como operar sobre um documento para o visualizar ou imprimir. O Info Agent lida com cada um dos documentos recuperados de acordo com o seu formato e transforma-os num formato que o utilizador saiba utilizar (ex.: converte um documento em LaTeX para Word).

3.3.2.2 – Conclusões O Info Agent tem uma arquitectura de suporte ao utilizador na procura de informação em bases de dados locais e distribuídas e na assistência de questões administrativas. Os pontos chave desta arquitectura podem ser definidos do seguinte modo:

• A autonomia dos agentes no que respeita à satisfação dos objectivos do utilizador;

• A observação dos comportamentos do utilizador.

Em relação ao primeiro ponto, o sistema possui um interface inteligente e activo que esconde completamente ao utilizador a utilização de diferentes ferramentas de software usados para resolver os problemas do utilizador. A mecanização de algumas funcionalidades permite aos utilizadores lidar com ferramentas complexas sem ter a necessidade de as aprender. O Info Agent ajuda o utilizador a fazer frente ao problemas do excesso de informação: de facto, o agente substitui o utilizador em tarefas aborrecidas e altamente consumidoras de tempo. Ainda mais, o Info Agent tem um papel activo na procura e proposta de documentos sem nenhuma precisa requisição por parte do utilizador. No que toca ao segundo ponto, o Info Agent é também capaz de modificar as suas acções de acordo com o histórico do utilizador. O agente começa com um perfil do utilizador “em bruto” que é automaticamente refinado sem que o utilizador se tenha de preocupar com isso. O tipo de feedback usado depende dos conhecimentos e características dos utilizadores. Actualmente estão a ser experimentados três tipos de feedback: a escolha final dependerá do resultado dos testes. Provavelmente, a melhor solução poderá ser fornecida por diferentes tipos de software para que cada utilizador possa escolher o mais adequado às suas necessidades.

Agentes de software na prática

Information Retrieval – uma abordagem baseada em agentes 39

3.2.3 – Remembrance Agent 3.2.3.1 – Descrição A maioria das actuais aplicações de recuperação de informação concentram-se em procuras baseadas em palavras chave. No entanto, elas não são grande ajuda quando alguém não se lembra ou não sabe o suficiente para colocar uma questão.

“Com os computadores pessoais cada vez mais potentes, a maioria do tempo de CPU é gasto à espera que o utilizador introduza a próxima questão, leia a próxima página ou descarregue o próximo pacote da rede. Não existe razão para que ele não possa usar esses ciclos de CPU desperdiçados de forma construtiva, através de procuras contínuas de informação que pode ser útil na actual situação do utilizador. Por exemplo, enquanto um engenheiro lê o seu e-mail sobre um projecto o agente pode relembrá-lo dos prazos do projecto, estado dos relatórios e outros recursos relacionados com o projecto em questão. Quando ele parar de ler o e-mail e começar a editar um ficheiro, o agente automaticamente alterará as suas recomendações de acordo com a nova situação.”

O Remembrance Agent12 executa este trabalho continuamente, mostrando informação relevante que pode ser útil no actual contexto do utilizador. No entanto, não mostra apenas informação já que isso iria distrair demasiado o utilizador e, como tal, não seria uma grande ajuda! A filosofia por detrás do Remembrance Agent é portanto nunca distrair o utilizador da sua tarefa principal, mas apenas facilitá-la. Isto é conseguido sugerindo fontes de informação (possivelmente relevantes no actual contexto do utilizador) na forma de sumários de uma linha no fundo ecrã ou da janela activa actual. Aqui, a sugestão pode ser facilmente visualizada sem distrair o utilizador da tarefa principal, na qual está a trabalhar. O texto completo da sugestão pode ser mostrado com um único pressionar de teclas. Efectivamente, o agente torna-se então num aumento da memória do seu utilizador. É importante notar que – ao contrário de muitos sistemas de recuperação de informação – o RA corre continuamente sem a intervenção do utilizador. 3.2.3.2 – Como é este agente construído? O agente consiste em duas partes: um front end e um back end. O front end analisa continuamente o que o utilizador escreve e lê e envia informação para o back end. O back end procura então antigas mensagens de e-mail, documentos pessoais e documentos online que de alguma forma são relevantes ao contexto do utilizador. Esta informação é então mostrada pelo front end de uma forma que não distraia o utilizador da sua tarefa principal. No caso de, por exemplo, um processador de texto, isto é conseguido mostrando uma sugestão de uma linha no fundo da janela de edição, juntamente com um número indicando a relevância do(s) documento(s) sugerido(s). Com uma simples combinação de teclas o utilizador pode visualizar o texto completo dos documentos sugeridos.

12 Documentação sobre este sistema pode ser consultada em http://rhodes.www.media.mit.edu/people/rhodes/RA/index.html

Agentes de software na prática

Information Retrieval – uma abordagem baseada em agentes 40

O poder desta construção é que a informação mostrada é suficiente para que o utilizador tenha uma ideia de todo o documento que é sugerido, mas não muito extensa para ocupar muito espaço no ecrã e/ou distrair a atenção do utilizador da sua tarefa principal. A frequência com que o front end disponibiliza novas sugestões, bem como o número das sugestões é mantido baixo o suficiente para não ser distractivo. Para encontrar documentos relevantes e similares, o programa de recuperação de informação SMART é usado como back end. Apesar do SMART não ser um sistema muito sofisticado, foi escolhido por ter a vantagem de não requerer nenhum pré-processamento humano do documento a ser indexado e procurado. Quando o agente procura documentos relevantes, nem sempre tem muita informação sobre o contexto que possa usar nessa procura. Como resultado, muitas das sugestões do RA não são assim tão úteis. No entanto, como não existem “custos” para o utilizador ao ler a sugestão e a ignorá-la, se não for útil naquele momento, este não é assim um problema tão grave. O facto de não serem usadas cores ou letras mais carregadas na apresentação das sugestões e o facto das sugestões serem apresentadas a intervalos regulares, contribuem para os baixos “custos” de as consultar (elas não distraem demasiado os utilizadores). Tal como é importante que a sugestão não seja obstrutiva, é também importante para o sucesso do RA, que seja trivial o acesso aos documentos sugeridos bem como o retorno à actividade principal uma vez consultados esses documentos. Enquanto se usa o sistema torna-se claro que as sugestões são bastante mais úteis quando o documento sugerido apenas contém o cerne da informação e quando este núcleo é claramente mostrado na sugestão de uma linha. Usar e-mails e documentos pessoais revelou-se uma boa ideia por várias razões. A razão mais importante é que estes são personalizados para cada utilizador individual e que estes ficheiros mudam consoante os interesses dos utilizadores se alteram. Esta é uma das características mais importantes do RA porque significa que através de uma escolha adequada dos dados a indexar o RA automaticamente se adapta ao seu utilizador individual. Isto garante que a base das sugestões é potencialmente mais rica em informação relevante e também ajuda a resolver muitos problemas com sinónimos. Por exemplo, quando um investigador da área da Inteligência Artificial menciona “agente” num documento, o seu RA irá sugerir documentos sobre agentes autónomos. Um RA de um químico, por outro lado, irá sugerir listas de vários solventes e outros agentes químicos.

A Internet (de) hoje

Information Retrieval – uma abordagem baseada em agentes 41

4 – A Internet (de) hoje 4.1 – Introdução Para muitas pessoas, a Internet é uma valiosa fonte para todos os tipos de informação. Nunca, como hoje, foi possível aceder a uma fonte onde enormes quantidades de informação podem ser reunidas, praticamente a partir de qualquer lugar. E esta informação pode ser obtida convenientemente e a custos muito baixos, o que é algo sem precedentes. O mesmo pode ser dito para aqueles que pretendem oferecer informação ou serviços através da Internet. As barreiras, bem como o investimento necessário para o conseguir, são muito baixos (pelo menos quando comparados com os outros meios de comunicação). Literalmente, qualquer um que assim o deseje pode obter os seus “quinze minutos de fama” na Internet. E apesar deste aspecto ter sempre sido – e ainda o ser – um dos maiores benefícios da Internet, é também um dos seus maiores problemas: não existe supervisão sobre os modos como a informação é oferecida, i.e. não existem regras definindo as formas como a informação deve ser oferecida, a forma como a informação deve ser descrita ou tipificada, etc. Organizações como a Internet Engineering Task Force13 e a W3C14 desenvolveram linhas mestras e standards, que a informação ou os documentos deveriam seguir (e continuam a desenvolver pesquisas permanentes sobre este aspecto e áreas relacionadas), mas não com total sucesso. Por exemplo, o HTML standard oferece a possibilidade de adicionar etiquetas META aos documentos. Estas etiquetas podem ser usadas para obter informação tal como o autor do documento, a data de criação, o tipo de documento, e uma ou mais palavras chave que melhor descrevem o conteúdo do documento. Neste momento, apenas uma pequena percentagem de todos os documentos disponíveis na World Wide Web (WWW) usam estas etiquetas. Uma proposta mais recente é o XML, que permite que o autor descreva o tipo de informação que o documento contém e como esta está organizada. Os motores de busca, actualmente a forma mais popular para procurar informação na Internet, usam estas etiquetas (quando disponíveis) para classificar e tipificar um documento. Mas como estas etiquetas normalmente faltam num documento, um conjunto de heurísticas15 têm de ser usadas em seu lugar para classificar um documento. Para além dos dados standard, como a data de criação e o URL, um documento é normalmente classificado por uma lista dos termos mais usados, ou extraindo as primeiras 50-100 palavras do documento. A vantagem de usar estas heurísticas é que todo o processo de localizar, classificar e indexar documentos pode ser executado automática e rapidamente por pequenos programas chamados crawlers ou spiders. Hoje, este método de trabalhar mostra cada vez mais que a moeda tem dois lados. Enquanto que este método permite indexar milhares de documentos por dia, existe um

13 A IETF é uma comunidade internacional de operadores, vendedores, produtores e investigadores preocupados com a evolução da arquitectura e modo de operação da Internet. Está aberta a qualquer indivíduo interessado. 14 O World Wide Web Consortium foi criado em Outubro de 1994 para conduzir a WWW ao seu máximo potencial, desenvolvendo protocolos comuns que promovam a sua evolução e assegurem a sua interoperabilidade. 15 Uma heurística reflecte conhecimento sobre o domínio do problema em resolução e pode conduzir à obtenção rápida de uma boa solução, embora não garanta a melhor solução para o problema.

A Internet (de) hoje

Information Retrieval – uma abordagem baseada em agentes 42

preço a pagar: a perda de detalhe e a falta de um sumário compreensível do contexto do documento. Isto leva a que os motores de busca retornem listas enormes como resposta a uma query, lista essa que contém links irrelevantes, duplicados ou que levam a documentos que já não existem. E o que ainda é pior, muitos utilizadores não sabem exactamente o que procuram ou então quais os termos mais usados (e aqueles que não o são) para o descrever. Este problema é agravado pelas pequenas caixas de texto que os motores de busca exibem, encorajando os utilizadores a usar termos ou frases pequenas para descrever o que procuram. Os fornecedores de informação, pelo seu lado, têm os seus próprios problemas. Um dos maiores problemas que os fornecedores enfrentam é como fazer chegar a sua informação às pessoas correctas. Com o aumento do número das fontes de informação, como é que eles se destacam do resto, como fazer para ter a certeza que se chega ao público pretendido? Dar a conhecer a sua informação às pessoas através de publicidade nos motores de busca, revela-se cada vez mais ineficiente. Uma tentativa para fornecer informação mais personalizada e mais actualizada ou até em tempo real (usando bases de dados para armazenar e apresentar o conteúdo de um site) contribuiu e continua a contribuir para amplificar o problema ainda mais. Neste momento, existem serviços na Web que consistem em milhares de páginas, muitas das quais são criadas ‘on-the-fly’ (para que possam ser preenchidas com informação actual/em tempo real). No entanto, os sites que usam estes documentos dinâmicos, não podem ser correctamente indexados por pequenos programas (crawlers) que muitos motores de busca usam para reunir dados sobre a informação disponível, já que não existem documentos estáticos ou completos que possam ser pesquisados e indexados. A informação nestes documentos está escondida, ou não disponível para estes programas de indexação. Uma das tentativas para resolver o problema de como a procura e oferta de informação pode ser trabalhada em conjunto é chamada Tecnologia Push. Este conceito não é assim tão novo como muitos gostaram de acreditar: a técnica de um servidor que debita (“empurra”) informação (porque é nisto que a tecnologia Push se baseia) já estava desenvolvida há alguns anos. É a forma específica como o servidor de informação é usado e como parece atender certas exigências de informação/mercado, que a tornaram num conceito prometedor. Apesar da tecnologia Push já ter atingido o seu pico em termos de cobertura nos media, teve a influência necessária para justificar a sua descrição na secção seguinte. 4.2 – Uma importante mudança de direcção: a Tecnologia Push Como foi referido anteriormente, a forma como a maioria das pessoas procura informação na Internet, está a precisar de uma mudança. Um número crescente de utilizadores não desejam mais passar horas intermináveis a “surfar na Net”, à procura da informação que precisam. O que muitos deles querem é indicar (uma vez) quais os tópicos (actuais) de interesse, e receber a informação sobre estes tópicos à medida que esta informação se torna disponível na Internet.

A Internet (de) hoje

Information Retrieval – uma abordagem baseada em agentes 43

É exactamente isto que a Tecnologia Push prometeu fazer: enviar informação para o utilizador sobre os tópicos do seu interesse, quando mais lhe convier, e de preferência usando o meio e o formato que mais se aproprie e seja mais adequado ao momento. Agora que esta tecnologia já está disponível há algum tempo, é seguro concluir que enquanto não se tornou na solução ‘faz-tudo, serve-todos’ que prometeu ser, teve uma importante influência em áreas como o desenvolvimento dos “browsers” e na forma como consumidores e produtores olham para – e usam – o mercado de informação na Internet. No centro do conceito da Tecnologia Push está a ideia dos canais de informação. Cada assunto que tem de ser transmitido ao utilizador tem o seu próprio canal. Para além do assunto, outras propriedades de um canal são o meio como a informação é vista (através de um protector de ecrã, janela separada, mensagens SMS), como alguém é notificado da chegada de nova informação, e como esta informação é enviada ao utilizador (por exemplo: apenas um sumário ou o documento completo, ou apenas quando o utilizador o requisitar). A Tecnologia Push oferece interessantes oportunidades a produtores e consumidores de informação, tais como:

• Os fornecedores de informação podem distribuir a sua informação com muito maior precisão, pois só é entregue às pessoas que estão genuinamente interessadas na informação que lhe é enviada (já que são eles que activamente decidem recebê-la).;

• Os consumidores podem confiar em fornecedores qualificados (CNN, TSF, ...)

para obter informação. A experiência e autoridade destes fornecedores torna real a possibilidade dos utilizadores recebam informação de elevada qualidade;

• Os utilizadores não necessitam consultar os seus sites favoritos para verificar se

a informação disponibilizada mudou, já que automaticamente recebem uma notificação sempre que isto aconteça;

• Muitas aplicações Push são muito semelhantes a um televisor, e por isso fáceis

de usar e operar, especialmente por novos utilizadores. No entanto, a Tecnologia Push tem também as suas desvantagens, das quais se podem salientar:

• Quando os utilizadores recebem a sua informação automaticamente – eliminado a necessidade de a procurar – podem perder informação valiosa e relevante. A qualidade da informação recebida torna-se, portanto, fortemente dependente de quem envia a informação;

• O leque de tópicos cobertos pela maioria dos fornecedores Push não é assim tão

abrangente. Os utilizadores que pretendam que lhes seja enviada informação sobre tópicos que fujam do caminho traçado pelos fornecedores terão de procurar outras fontes para a obter. Uma alternativa é usar um serviço Push ou uma aplicação que trabalhe com um perfil de informação. No entanto, para criar

A Internet (de) hoje

Information Retrieval – uma abordagem baseada em agentes 44

tal perfil o utilizador tem de encontrar quais as palavras-chave correctas para descrever a informação que pretende;

• Os produtos que usam a Tecnologia Push consomem uma elevada percentagem

da largura de banda disponível na Internet;

• A Tecnologia Push cria enormes exigências quer ao consumidor quer ao fornecedor. No lado do cliente uma ligação rápida, e preferencialmente permanente, é necessária, bem como um computador que, de preferência, possua um processador rápido e bastante memória. No lado do fornecedor o investimento em tempo e dinheiro que tem de ser feito é elevado. O software para servidores Push não é barato, e normalmente requer um servidor potente, bastante espaço de armazenamento e uma ligação rápida à Internet.

Várias soluções foram apresentadas para resolver ou tornear estes problemas. Uma delas é usar o e-mail como meio para transmitir a informação Push, já que este é, de longe, o meio mais popular de comunicar na Internet e um elevado leque de conteúdos podem ser transmitidos através dele (páginas Web completas, incluindo imagens e applets – i.e. se o programa de correio suportar estes formatos). Problemas de incompatibilidade são quase inexistentes já que todos os programas de correio usam o mesmo standard (SMTP16) para enviar e receber mensagens. Outras soluções consistem em adicionar funcionalidades do tipo agente às aplicações Push ou definindo sofisticados serviços intermediários, tornando assim possível oferecer um elevado leque de canais de informação de fornecedores especializados. Resumindo, quando aplicada da forma correcta, a Tecnologia Push pode oferecer numerosas oportunidades, especialmente aos fornecedores de conteúdos. Boletins meteorológicos, desporto e notícias são aplicações óbvias, mas ao que parece, as menos óbvias, destinadas a fornecer informação especializada, são as mais viáveis. Um exemplo é o Web site da companhia americana Rent Net: fornece constantemente listagens actualizadas de apartamentos para alugar para centenas de cidades. O canal alerta os seus utilizadores de mudanças que satisfaçam os seus critérios específicos. Os subscritores podem então ver plantas dos apartamentos e fazer uma visita virtual através de um modelo 3D. A Tecnologia Push mostrou-nos algo muito importante: muitas pessoas gostam da ideia da informação que precisam ser-lhes enviada a intervalos regulares. Se puderem delegar esta tarefa a outros (software ou empresas), então a maioria delas fica mais do que satisfeita.

16 O Simple Mail Transfer Protocol é o protocolo usado na Internet para a transferência de correio electrónico.

A Internet (de) hoje

Information Retrieval – uma abordagem baseada em agentes 45

4.3 – A caminho dos Agentes e Serviços Intermediários Hoje, a informação disponível na Internet deve estar – pelo menos em teoria – a um click de distância de todos que a desejem obter. Se não se consegue encontrar o que se pretende através de uma navegação casual ou utilizando um motor de busca, a informação pretendida será enviada ao utilizador. Por muito bom que isto possa parecer na teoria, a realidade é bem diferente. Os motores de busca produzem diversas vezes resultados insatisfatórios, e a informação que é enviada ao utilizador através de canais de informação não cobre totalmente aquilo que se pretende. A altura não poderia ser melhor para (re)introduzir um conceito familiar para fazer avançar o fluxo de informação para o próximo nível de evolução, o conceito de “agentes inteligentes de software”. Neste momento cada vez mais aplicações de “agentes” são lançadas no mercado. No entanto, muitas delas não podem ser classificadas de verdadeiros agentes. A funcionalidade que oferecem deveria ser antes mencionada por tipo-agente, o que é bastante mau já que a ideia de agentes é realmente um conceito com muito potencial. Muitos investigadores concordam que os agentes – ou pelo menos aplicações tipo--agente – estão a tornar-se numa necessidade para se poder lidar com o enorme volume de informação que está disponível na Internet. A questão já não é se irá existir um uso considerável de agentes, mas antes quando isto irá acontecer. A excitação provocada pela Tecnologia Push alimentou o desenvolvimento de agentes, já que vários produtores de aplicações Push se juntaram aos produtores de agentes. Esses produtores chegaram à conclusão que os canais de informação são muito restritivos e muito limitados para serem de utilização prática para um número de clientes cada vez maior. A maioria das aplicações de agentes individuais que são lançadas têm como objectivo procurar informação na WWW ou na Usenet baseados num grupo de palavras-chave, conceitos ou até perguntas inteiras colocadas em frases em linguagem natural. Outra área onde os agentes já estão a ser utilizados é na assistência aos utilizadores enquanto usam determinado software. O Microsoft Office 97, e mais recentemente o Office 2000, têm esse tipo de agentes, que estão presentes através de diferentes personagens. Estes agentes apresentam todo o tipo de soluções e ideias aos utilizadores enquanto estes estão a realizar o seu trabalho.

A Internet (de) hoje

Information Retrieval – uma abordagem baseada em agentes 46

Estes agentes também podem ser chamados a ajudar através da colocação de perguntas em linguagem natural. Quando estas questões são colocadas, aspectos como o contexto corrente do utilizador são usados para fornecer a melhor resposta possível e a informação mais relevante17. Assim, enquanto as aplicações de agentes não são assim tão sofisticadas, podem desde já aliviar o utilizador médio de bastantes tarefas correntes, que normalmente não necessitam de muita inteligência, mas requerem bastante tempo ou são apenas maçadoras para os humanos. Apesar das actuais aplicações de agentes não merecerem a etiqueta de “inteligentes”, vão permitir que as pessoas se familiarizem com os agentes e com as tarefas que eles são capazes de realizar, o que é um importante primeiro passo no sentido de aumentar o uso e a aceitação dos agentes por parte dum universo bastante alargado de utilizadores. Para além dos agentes, outro desenvolvimento emergente é o de empresas que auxiliam as pessoas na satisfação das suas necessidades de informação. Estes serviços possibilitam que se obtenha informação sobre qualquer tópico em particular e não apenas dos mais populares. Um exemplo interessante desse tipo de serviço é o InfoWizard, onde é possível criar perfis de procura. Depois de ter escolhido uma categoria para o perfil, é possível introduzir os conceitos ou palavras-chave que melhor descrevem a informação requerida (o InfoWizard reconhece termos compostos como “information retrieval”. Não irá procurar apenas por “information” e “retrieval”). Estes conceitos formam uma frase de procura, à qual pode ser atribuída um nome. Dependendo do nível do serviço seleccionado, o utilizador receberá um e-mail sempre que o relatório estiver pronto. Para os clientes do serviço isto é muito prático já que não é necessário ficar ligado enquanto se espera pelos resultados da procura. Outra vantagem são as fontes de informação que são usadas pelo InfoWizard: não são usadas apenas as habituais fontes de informação, grátis, mas também fontes que requerem acesso pago (como várias bases de dados pay-per-use). Qualquer utilizador que consulte o InfoWizard pode obter informação dessas fontes, sem a necessidade de se inscrever ele mesmo, o que certamente lhe sairia mais caro. Uma terceira vantagem é que os resultados da pesquisa não são apresentados numa longa lista de links para documentos, mas num relatório (a lista de resultados não contém apenas referências aos documentos, mas normalmente o próprio documento de texto). Para melhorar os resultados de procuras futuras, os utilizadores podem classificar os documentos recebidos.

17 Para responder às questões dos utilizadores da melhor forma possível e ajudá-los a usar a aplicação, estes agentes baseiam-se em padrões de actuação que a Microsoft adquiriu durante as sessões de teste. Estes testes foram usados para recolher grandes quantidades de informação estatística sobre a forma como as pessoas normalmente usam o software e sobre os erros e problemas mais comuns (por exemplo, quais os tópicos mais procurados nos ficheiros de ajuda). Para responder às questões que lhes são colocadas, os agentes usam estes dados para refinar a sua resposta. Existe uma clara desvantagem nesta estratégia para um certo grupo de utilizadores: aqueles que usam a aplicação de um modo completamente diferente em relação ao utilizador médio (por exemplo, utilizadores experientes e power users). Certamente acharão a assistência fornecida pelo agente bastante inútil (por exemplo, fornecendo dicas que eles já sabem).

A Internet (de) hoje

Information Retrieval – uma abordagem baseada em agentes 47

Outro exemplo é o pagamento de informação estatística pré-processada ou processada on-line, pelo Instituto Nacional de Estatística (INE), via Web, que nuns casos é paga, noutros é gratuita. É de esperar que mais serviços como este apareçam na Internet, fornecidos por agentes ou recorrendo à intervenção do ser humano. Alguns destes serviços serão grátis, já que serão disponibilizados por organismos públicos ou pelos governos, enquanto que outros exigirão o pagamento de alguma quantia. 4.4 – Resumo Como vimos, uma das principais características da Internet actual é a enorme quantidade de informação que é oferecida. A disponibilidade desta interminável quantidade de informação cria inúmeras e excitantes oportunidades para consumidores e produtores de informação. No entanto, muitos utilizadores já se aperceberam que esta colossal quantidade está cada vez mais a tornar-se num problema do que numa vantagem. Há alguns anos, encontrar informação na Internet era possível simplesmente com uma navegação casual. Se se começasse pelo ponto de partida correcto, encontrar a informação desejada não era um processo muito complicado. Mas, à medida que a quantidade de informação disponível começou a crescer rapidamente e o número de pontos de partida cresceu exponencialmente, novas formas de encontrar a informação são necessárias. Usar motores de busca, que depressa se tornaram no método mais popular de encontrar a informação desejada, revela-se cada vez mais um processo ineficiente. Quando o resultado de uma pesquisa é uma lista com milhares de links, algo está mal. Sem ferramentas que auxiliem os utilizadores a filtrar este emaranhado de resultados, o processo de procura de informação tornar-se-á cada vez mais demorado e complicado. Mas os problemas não se fazem sentir apenas para os consumidores de informação. Como podem os produtores de informação ter garantias de que a informação que disponibilizam chega ao público pretendido? Como fazer para anunciar os seus serviços? A publicidade nos motores de busca revela-se cada vez mais um fracasso. Os agentes, integrados numa nova estrutura da Internet, poderão ser a solução para estes problemas. Alterando a actual divisão da Internet entre consumo e produção de informação para uma estrutura onde serviços intermediários possam ser oferecidos às duas camadas existentes (consumidores e fornecedores) permitirá que cada entidade se concentre apenas na tarefa a realizar, delegando nesta nova camada intermédia a responsabilidade de fazer corresponder, dinamicamente e da melhor forma possível, a oferta e a procura de informação.

Da Internet ao Mercado de Informação

Information Retrieval – uma abordagem baseada em agentes 48

5 – Da Internet ao Mercado da Informação 5.1 – Introdução 5.1.1 – Escolhas, Coordenação e Prioridades Todo o mercado de informação, ou cadeia de informação, deveria ser baseado em escolhas: escolhas em relação à forma como se pretenderia trocar (distribuir ou obter) informação, ao meio usado para o fazer, ao interface pretendido, e por último, mas não de menor importância, o(s) assunto(s) sobre o(s) qual(ais) se pretenderia obter informação. A Internet actual também se baseia em escolhas, mas de natureza diferente. Um fornecedor, em vez de fazer escolhas sobre que informação ou serviços oferecer aos seus clientes, é forçado a decidir sobre aspectos como qual a versão do “browser” a ser utilizada, que tecnologia, etc. Os consumidores e utilizadores da informação, por outro lado, têm de lidar com problemas semelhantes já que frequentemente são levados a actualizar os seus “browsers” e a instalar todo o tipo de aplicações adicionais para aceder aos mais recentes serviços e conteúdos. Em resumo, muitas vezes, consumidores e produtores estão dependentes das técnicas e meios usados, quando a situação ideal seria precisamente a oposta. Num número razoável de projectos e iniciativas – levadas a cabo por universidades e empresas comerciais – estão actualmente a ser investigadas formas de melhorar o processo de troca de informação, tornando-o mais flexível. Um exemplo destes produtos são as extensões usadas nos motores de busca. Estas extensões tornam a lista de resultados de um motor de busca mais compreensível, agregando automaticamente resultados por categorias lógicas que são ajustadas dinamicamente ou possibilitando a visualização destas listas através de um interface mais amigável. Outro exemplo de tais melhoramentos são ferramentas que auxiliam os fornecedores de conteúdos a facilmente adicionar meta-informação à informação publicada. Apesar destes serem os primeiros passos na direcção certa, ainda existem dois elementos importantes que falham nesta estratégia: coordenação e colocação das prioridades onde elas pertencem. Ou por outras palavras: deixar que cada parte se concentre naquilo em que é melhor e possibilitar a delegação a outras entidades das restantes tarefas, sempre que isso seja possível. Para ilustrar o que actualmente está errado na coordenação de todo o processo de informação, olhemos para a prática corrente em que fornecedores e consumidores estão envolvidos. Para atrair o máximo da atenção possível, os fornecedores publicitam a informação e serviços que oferecem em todos os motores de busca que encontram. Existem ainda inúmeros programas e sites disponíveis na Internet que registam a informação a publicitar em numerosos motores de busca e outros serviços similares. Ao mesmo tempo outros programas e serviços estão disponíveis também para os consumidores (como crawlers que enviam o pedido em paralelo para um elevado número de motores de busca, filtram e agregam os resultados), retirando muito do esforço ao utilizador.

Da Internet ao Mercado de Informação

Information Retrieval – uma abordagem baseada em agentes 49

Este exemplo também ilustra como as prioridades não estão bem definidas: o fornecedor tem de adivinhar quais os motores de busca que o utilizador costuma usar, i.e. em quais motores de busca o seu site (produto/serviço) deve ser registado de forma a chegar ao máximo de consumidores. Um consumidor, por seu lado, tem de adivinhar quais os motores de busca que deverão ser usados para encontrar a totalidade, ou pelo menos a maior parte, da informação disponível sobre um determinado tópico ou assunto. Além destes problemas, ambas as partes têm de adivinhar quais as palavras-chave que devem ser usadas para melhor descrever tanto o que se oferece como o que se procura. Ambas as partes não são particularmente boas nesta tarefa e tentar dar o seu melhor certamente ocuparia grande parte do seu valioso tempo, tempo esse que deveria ser gasto na manutenção e melhoramento do seu próprio conhecimento. 5.1.2 – Fornecimento e Consumo de informação Na Internet actual existem duas formas através das quais a informação pode fluir da fonte para o consumidor:

1. Procura da Informação, onde o consumidor toma a iniciativa de a obter; 2. Envio de Informação, onde o fornecedor toma a iniciativa de a entregar.

Desde os primeiros tempos da Internet até ao presente, a Procura de Informação tem sido o meio dominante no mercado de informação. Há alguns anos atrás, isto significava que se os consumidores de informação tomassem a iniciativa de visitar/consultar um site para obter informação, chegavam lá por casualidade enquanto seguiam os links que lhes surgiam, porque o site lhes tinha sido recomendado ou através de um outro qualquer meio. Com o número de sites e serviços disponíveis na Internet a crescer dramaticamente, a Procura de Informação começou a perder a sua força, já que se tornava, cada vez mais, numa tarefa demorada e laboriosa. Os motores de busca e serviços de directório vieram restabelecer grande parte do atractivo da Procura de Informação, mas este efeito está novamente e gradualmente a desaparecer. O Envio de Informação, sob a forma da Tecnologia Push, chegou à Internet através de aplicações como PointCast e BackWeb. A sua promessa foi oferecer uma forte alternativa à Procura de Informação e aos motores de busca, não amigáveis para o utilizador. Até hoje, a Tecnologia Push não foi capaz de levar a cabo todas as suas promessas e satisfazer todas as expectativas criadas. Embora não esteja completamente “morta”, esta tecnologia tornou-se em grande medida num produto para um nicho de mercado. É interessante para um certo grupo de utilizadores e até é possível verificar que capacidades de envio de informação estão a ser integradas em diversas aplicações e serviços (por exemplo, é usada em muitos sites para manter os seus visitantes informados sobre alterações no conteúdo disponibilizado). No entanto, não foi capaz de se transformar na forma dominante de obter informação na Internet. É apesar de tudo bastante popular, até mesmo sob a forma de mailing-lists. Usar uma mailing-list só exige um programa de correio electrónico e a informação recebida através dela não contém normalmente informação irrelevante ou não requerida (spam).

Da Internet ao Mercado de Informação

Information Retrieval – uma abordagem baseada em agentes 50

O seguinte esquema dá uma visão geral da situação actual:

Diagrama 8 - A organização actual da cadeia de informação

Neste diagrama é possível verificar a divisão entre uma oferta de informação centrada no fornecedor dos conteúdos, do lado esquerdo, e uma procura de informação centrada no utilizador desses conteúdos, do lado direito. As ferramentas, serviços e técnicas que estão à disposição de cada uma das partes estão também descritas (esta listagem não é de modo algum exaustiva). Na parte central do esquema estão os serviços e ferramentas que são usados por ambas as partes para se encontrarem. As setas que apontam para o centro, pretendem indicar que existem diversas formas que as ambas as partes podem usar para se tentar encontrar, e que isso é normalmente deixado à capacidade e criatividade do utilizador ou fornecedor para o conseguir. Outro ponto que este esquema pretende mostrar é que a actual situação está longe do ideal. No segundo capítulo vimos que a Tecnologia Push apenas parece funcionar na distribuição de informação convencional (boletins meteorológicos, desporto, ...), que vem daquelas fontes que podem despender o tempo e dinheiro necessário para a usar. Isto significa que muitos fornecedores (mais pequenos) ainda têm de depender da sua criatividade para atingir os utilizadores correctos. E como apenas cerca de um quinto dos utilizadores da Internet usam a Tecnologia Push, a maioria das pessoas ainda está de fora, à procura da informação pretendida. Existem várias formas através das quais estes problemas da Procura e Oferta de Informação podem ser solucionados. Nas próximas secções iremos ver algumas interessantes e promissoras soluções.

Internet

Envio de Informação - Tecnologia Push - Mailing-lists - Spam - ...

Procura de Informação - Web browser - FTP, Usenet, etc. - Serviços personalizados de informação - Aplicações tipo-agente (ex: client-side crawlers) - ...

Motores de busca

Serviços de Directório

A oferta de informação parte do fornecedor

A procura de informação parte do utilizador

Da Internet ao Mercado de Informação

Information Retrieval – uma abordagem baseada em agentes 51

5.1.3 – Personalização e Delegação Apesar de, por vezes, não parecer assim tão evidente, o desenvolvimento na área da troca de informação, bem como na Internet, ao caminhar para uma crescente diversificação de todo o mercado de informação, possibilita uma maior personalização da informação que é trocada. Esta diversificação crescente, e certamente, a crescente personalização da informação, pode ser um passo lógico no desenvolvimento. Em muitas áreas da nossa vida, é prática comum passar certas actividades ou responsabilidades a outros. Em muitas das nossas tarefas diárias, e não só, transmitimos a necessidade de possuir certos conhecimentos e experiência a profissionais e organizações que têm nessa tarefa a sua principal actividade. Por exemplo, poderíamos visitar e consultar todas as livrarias que encontrássemos, mas optamos por fazer as coisas de forma diferente consultando uma biblioteca, ou comprando revistas (ex.: Super Interessante, Exame, Executive Digest, ...) que nos libertem da tarefa de reunir, seleccionar e editar a informação que melhor satisfaça as nossas necessidades. Um forte razão para o fazermos é que esta actividade não pertence às nossas actividades centrais, ou por outras palavras, aprender a executar esta tarefa custaria muito tempo e dinheiro. Quando olhamos para o estado actual da Internet, a necessidade de delegar uma ou mais tarefas e actividades cresce rapidamente. Se a Internet se irá tornar (como se pretende) na base de um mercado de informação e serviços, as coisas terão de mudar, já que usá-la actualmente consome imenso tempo, é laborioso e numerosas vezes não muito satisfatório: muitos sentem-se perdidos e não são capazes de lidar com a interminável quantidade de informação que está disponível e ao seu alcance. Os primeiros sinais de que as coisas estão a mudar, tornam-se visíveis com técnicas e produtos como a Tecnologia Push, as primeiras aplicações de agentes e variados tipos de serviços personalizados existentes na Web. Mas enquanto estas soluções estão longe do ideal, o público em geral começa a usá-las e a aceitá-las com grande entusiasmo. Claro que existirá sempre um grupo de pessoas que decidirá satisfazer as suas necessidades de informação recorrendo aos seus próprios meios porque estão descontentes com as soluções apresentadas ou simplesmente porque gostam de o fazer sozinhas. No entanto, muitas pessoas preferirão confiar nas capacidades de outros para o fazer, recorrendo às inúmeras possibilidades e alternativas que se encaixam nas necessidades individuais. Enquanto alguns necessitarão de serviços extensos e conteúdo de elevada qualidade estando dispostos a pagar o seu preço por eles, outros usarão serviços grátis ou quase grátis, como serviços públicos ou suportados por publicidade, já que não estarão dispostos, ou não terão possibilidades para pagar um elevado preço para obter a informação que desejam. As ideias chaves são:

1. Não existirá apenas uma ou poucas, mas sim muitas formas através das quais a informação pode ser oferecida e obtida, possibilitando a cada pessoa individual ou organização escolher a forma(s) que melhor se ajusta(m) às suas necessidades.

Da Internet ao Mercado de Informação

Information Retrieval – uma abordagem baseada em agentes 52

2. Este processo de oferecer e obter informação e serviços através do mercado electrónico será melhorado e impulsionado de diversas formas à medida que se ajusta às necessidades e preferências de cada indivíduo (utilizador, fornecedor, etc.). A esta força renovadora e valor extra é dado o nome de “agência”.

Na próxima secção o conceito de agência será descrito com maior detalhe, demonstrando como está interligado às duas actuais correntes de informação no mercado de informação, bem como a uma terceira, emergente. Iremos então ver quais os conceitos e técnicas que desempenham um papel principal nestas três camadas – os agentes. A última parte deste capítulo será dedicada às técnicas e conceitos necessários que, desempenhando um papel secundário, providenciam a base necessária para que o sistema funcione correcta e optimamente. 5.2 – Agência: Impulsionar a cadeia de informação para o próximo nível Para tornar possível o uso da Internet a um nível conceptual mais alto e de uma forma orientada à tarefa, precisamos de algo que faça este processo de mudança deslizar mais suavemente. O termo “agência” representa exactamente esse meio. O conceito de agência pode ser definido como os meios (técnicas, conceitos, aplicações, etc.) para personalizar, elaborar, delegar, vulgarizar e impulsionar todo o processo no mercado de informação. A principal característica da agência é que ela não influencia a informação, conteúdo ou serviços que ajuda a oferecer ou a tornar disponíveis. A agência faz com que o processo na cadeia de informação funcione melhor, mais transparentemente, de forma mais amigável para o utilizador mas não altera ou influencia os dados actuais em que está a operar. No próximo diagrama é descrita a estrutura do mercado de informação considerando o conceito de agência.

Diagrama 9 - Futuro esperado para a cadeia de informação

Internet

Envio de Informação - Tecnologia Push - Agentes - Web-TV - ...

Procura de Informação - Agentes (móveis) - Perfis de utilizador - Serviços personalizados de informação - Aplicações tipo-agente (ex: client-side crawlers) - ...

Envio e Procura - Brokers de Informação - Trusted Third Parties - Agentes Intermediários - ...

Agência orientada ao fornecedor Agência orientada ao

utilizador

Da Internet ao Mercado de Informação

Information Retrieval – uma abordagem baseada em agentes 53

É de esperar que três tipos de agência surjam no mercado de informação:

1. Agência orientada ao fornecedor, que está relacionada de muito perto com o Envio de Informação. Exemplos actuais e futuros deste tipo de agência são os agentes, meios Push e Web-TV;

2. Agência orientada ao utilizador, que está fortemente relacionada com a

Procura de Informação. Exemplos deste tipo de agência são os agentes (móveis), jornais personalizados e perfis de utilizador;

3. Uma agência que faça convergir a duas anteriores, e que está relacionada com

ambos os conceitos de Procura e Envio de Informação. Esta agência baseia-se nos serviços intermediários. Exemplos são os “brokers” de informação e os agentes intermediários.

O conceito de agência permitirá que as pessoas se concentrem naquilo que querem fazer (que informação precisam, que tarefa gostariam de ver realizada), e muito menos em como deveriam fazê-lo (onde procurar informação ou onde a oferecer) e quais as aplicações, serviços ou técnicas que deveriam ser usadas para o conseguir. Esta mudança no centro de atenção não é apenas necessária porque poupa tempo e torna a vida mais fácil, mas porque a maioria dos novos e futuros utilizadores não têm conhecimentos técnicos sobre computadores. Se o mercado de informação é para ser aberto e disponível a todos, não deve ter barreiras tecnológicas a impedir a sua entrada. O conceito de agência contribuirá para alterar a situação em que as pessoas se adaptam às técnicas para uma situação em que as técnicas disponíveis se adaptam às pessoas. O que este último diagrama pretende deixar claro é que nenhuma das técnicas e conceitos mencionados e pretendem “fazer-tudo, servir-todos” possibilitando um mercado de informação perfeito. Em vez disso, o futuro passará por inúmeras possibilidades à disposição cada indivíduo. A opção de cada um será determinada por factores como conhecimentos técnicos, familiaridade com computadores e programas, dependendo da forma como quer obter a informação, de requisitos de tempo ou custos, etc. Outra importante adição a este diagrama, quando comparado com o Diagrama 8, é o de uma terceira corrente na cadeia de informação que está relacionada com ambos os conceitos de Envio e Procura de Informação. Comparar o Diagrama 8 com o Diagrama 9 poderá ajudar a entender como a actual situação tenderá a evoluir para uma nova organização da cadeia de informação na Internet.

O modelo de três camadas

Information Retrieval – uma abordagem baseada em agentes 54

6 – O modelo de três camadas 6.1 – A camada intermédia: O elo que faltava

“Excesso de informação é a ameaça que todos enfrentamos, logo, existe a enorme oportunidade para aqueles que têm a capacidade de controlar o fluxo da informação e a são capazes de a fornecer no tempo e medidas correctas”, aos que a pretendem.

in Exame Informática

6.1.1 – Introdução A característica chave do conceito de agência, que foi introduzido na secção anterior, é que “apenas” ajuda a melhorar e realçar o processo de troca de informação à medida que surge no mercado de informação. Um tipo de agência muito especial é a terceira camada introduzida na cadeia de informação, que irá realçar e impulsionar todo o processo, tal como as agências do Envio e Procura de Informação. Isto será conseguido fazendo a oferta e a procura de informação convergir nas melhores formas possíveis. É por esta razão que esta camada foi denominada por “Envio e Procura” no Esquema 2. Esta terceira camada tem duas características muito especiais quando comparada com as outras duas:

1. É uma camada de suporte. Enquanto que as agências relacionadas com o Envio e Procura de informação são partes indispensáveis do mercado de informação, a agência “Envio e Procura” é muito mais de uma natureza de suporte, oferecendo todo o tipo de serviços – tais como terceiras entidades confiáveis (Trusted Third Party) – e fornecendo experiência e conhecimentos às restantes;

2. Contrariamente às outras duas componentes, a cadeia de informação pode

(pelo menos em teoria) funcionar correctamente quando esta terceira não está presente. Teórica e tecnicamente, é possível passar sem a maioria dos serviços prestados por esta camada intermédia. Pode ser comparado à necessidade de um bibliotecário: é possível pesquisar sozinho toda uma biblioteca, mas poupa-se bastante tempo e energia ao consultar-se o bibliotecário, já que ele está muito melhor habilitado e detém maior experiência na tarefa de encontrar a informação pretendida.

O principal ponto deste conceito é que a cadeia de informação na Internet funcionará muito melhor se, em vez de ter apenas duas camadas, for incluída uma terceira camada intermédia.

O modelo de três camadas

Information Retrieval – uma abordagem baseada em agentes 55

Diagrama 10 - Modelo de três camadas

Nesta configuração cada uma das partes está concentrada na sua tarefa principal. Cada parte possui agentes de software que as suportam, aliviando-as de muitas tarefas cansativas e administrativas, que em muitos casos podem ser desempenhadas tão bem, ou ainda melhor, por um programa de computador. Assim, a agência liberta os humanos para uma melhor e mais rápida execução de tarefas complexas. 6.1.2 – Agentes Intermediários Os principais actores nesta terceira camada serão os agentes intermediários. Nesta secção são descritos os serviços que podem fornecer às restantes partes na Internet, e qual o valor acrescido que oferecem a estas outras partes. Em primeiro lugar, vejamos como estes agentes se encaixam no processo de troca de informação. A ideia é que cada fornecedor disponibilize agentes de informação que “publicitem” todos os serviços e informação que o fornecedor tem a oferecer. O conteúdo de tal anúncio terá de responder a certas regras, convenções e (possivelmente) a uma certa linguagem de representação de conhecimento (ex.: KIF/KQML), e apenas irá conter meta-informação que melhor descreva a informação disponível, documentos, etc. O propósito do anúncio é dar à camada intermédia um conciso, no entanto completo conhecimento daquilo que o fornecedor tem a oferecer. Quando um agente intermédio recebe um pedido de informação, deve ser capaz de determinar (baseado em todos os anúncios que recolheu) a quais fornecedores deve, ou pode, enviar este pedido. O intermediário não guarda nenhuma da informação actual que é oferecida pelos fornecedores. É crucial para que o sistema funcione que esta nunca seja a tarefa do agente intermediário, já que isto o iria obrigar a uma manutenção que é virtualmente impossível de conseguir. Os motores de busca, capazes de processar milhares de páginas por segundo, sentem cada vez mais a dificuldade de manter a sua base de dados actualizada. Qual é o agente de informação (humano ou software) que se atreve a pretender ser mesmo capaz desempenhar esta tarefa? No caso de um pedido de informação recebido não poder ser atendido, tendo em conta os anúncios recolhidos, faltando meta-informação e/ou um contexto onde a informação pode ser encontrada, um agente intermédio pode delegar a tarefa de recolher a informação a uma terceira entidade (agentes especializados, serviços de informação, etc.).

Necessidade de Informação ou Serviços

Requisição (tratada) de Informação ou Serviços

Utilizadores Fornecedores Intermediários

Oferta de Informação ou Serviços

Fornecimento (tratado) de Informação ou Serviços

O modelo de três camadas

Information Retrieval – uma abordagem baseada em agentes 56

Depois de ter enviado o pedido às fontes apropriadas, o agente intermédio recolherá todos os resultados de cada fonte individual. Antes de enviar estes resultados à entidade que lhe efectuou o pedido, o agente irá provavelmente melhorar os resultados atribuindo-lhes um peso, ordenando-os de acordo com certos critérios, etc. Em resumo: um agente intermédio recebe o seu input dos fornecedores de informação bem como dos consumidores de informação, sob a forma de anúncios e pedidos. Pode então enriquecer este input com informação adicional (informação sobre o contexto apropriado/pretendido, meta-informação, termos léxicos, etc.) e irá então – baseado na meta-informação que dispõe – tentar fazer corresponder o input às fontes mais apropriadas. Esta configuração tem diversas vantagens, sendo provavelmente a mais importante que o problema de actualização que serviços como os motores de busca têm de lidar, é grandemente diminuído já que os agentes apenas guardam meta-informação sobre cada uma das fontes ou serviços. Esta informação tende a ficar desactualizada a um ritmo muito menor que o próprio conteúdo, e a meta-informação é de muito menor volume que a informação que é actualmente guardada e mantida pelos motores de busca e serviços semelhantes. Outra vantagem é que esta forma de trabalhar é, sem dúvida, mais eficiente que a actual. E quais serão as principais actividades dos agentes intermediários? Estas actividades incluem:

• Fazer corresponder, dinamicamente e da melhor forma possível, a oferta e a procura de informação. Os agentes irão receber, reunir e armazenar meta-informação sobre ambas as ofertas (domínio do fornecedor) e necessidades (domínio do consumidor) de informação e serviços. Adicionando valor – sempre e quando necessário – à meta--informação que recebem (adicionando todo o tipo de informação extra, como por exemplo o contexto), os agentes tenderão a efectuar uma óptima correspondência entre a oferta e a procura. Um exemplo deste valor acrescentado pode ser o pré-processamento e refinamento dos pedidos dos consumidores bem como das respostas dos fornecedores que resultam destes pedidos. Pode muito bem acontecer que o conteúdo de um pedido e o anúncio do fornecedor (i.e. a lista de serviços e informação que fornecedores individuais disponibilizam ao agente) não coincidam perfeitamente. Um agente pode então procurar o conteúdo mais adequado adicionando termos extra ao pedido (baseado no contexto do pedido), ou usando outro qualquer meio;

• Actuar como uma terceira entidade confiável (Trusted Third Party), possibilitando todo o tipo de serviços seguros e garantindo a privacidade e integridade de ambas as partes. Para levar a cabo tarefas comuns e simples, a maioria das pessoas não teria muitas objecções em usar agentes (agentes intermediários, agentes de informação, etc.). No entanto, quando o seu uso leva a actividades como transacções financeiras ou assegurar a credibilidade de fontes e autenticidade da informação, as pessoas normalmente preferem envolver uma terceira entidade humana e de confiança no processo.

O modelo de três camadas

Information Retrieval – uma abordagem baseada em agentes 57

No lado do fornecimento, terceiras entidades confiáveis têm também diversas vantagens a oferecer, muitas das quais semelhantes às vantagens para o consumidor. Por exemplo, em muitas ocasiões, partes ou mesmo a totalidade das fontes de informação não podem ser indexadas pelos motores de busca porque a informação ou os serviços oferecidos foram colocados fora do alcance dos crawlers dos motores de busca. Normalmente, isto não significa que a informação deixe de estar completamente disponível; ela simplesmente não deveria estar acessível gratuita e directamente (por um elevado número de razões). Terceiras entidades de confiança podem oferecer aos fornecedores um mecanismo seguro e confiável que permita disponibilizar a informação ao público sem lhe perder o controlo. Outro exemplo dos serviços que os agentes intermediários de confiança podem oferecer é garantir a privacidade das partes envolvidas numa qualquer transacção, pedido de informação ou outra qualquer actividade, por exemplo comutando as mensagens entre as partes de modo a não revelar a exacta identidade de qualquer uma das partes envolvidas;

• Oferecer serviços de notificação, avisando activamente os utilizadores de

mudanças na informação ou serviços e/ou a disponibilidade de nova informação ou serviços que se encaixam nas suas necessidades. As pessoas pretendem que os agentes intermediários as notifiquem regularmente, ou mesmo instantaneamente, quando uma fonte envia um anúncio oferecendo informação ou serviços que correspondem a certos tópicos descritos no seu perfil de utilizador. Uma questão controversa é se os fornecedores podem ou não receber um serviço similar, i.e., se eles podem ou não requerer ser notificados quando os utilizadores efectuam uma procura ou requisitam ser notificados sobre algo que corresponda à informação ou serviços por eles disponibilizados. Apesar de, alguns acharem isto conveniente, já que podem estar em contacto com fornecedores que oferecem o que eles procuram, existem muitos outros que não se sentiriam muito satisfeitos com esta invasão da sua privacidade. Assim, esta questão deve ser fortemente considerada e extremamente bem pensada;

• Levar as partes a procurar e oferecer informação em conjunto.

Esta actividade é mais ou menos uma extensão da primeira função. Significa que os utilizadores podem pedir a um intermediário que recomende/nomeie um fornecedor ou fonte que seja capaz de satisfazer um pedido de certo tipo (sem fornecer palavras-chaves específicas). As verdadeiras questões serão colocadas directamente entre o fornecedor e os agentes de procura.

Trazer serviços intermediários ao mercado de informação levanta imediatamente algumas questões, sendo uma das mais importantes se devemos ou não ser avisados de onde e de quem a informação requisitada foi recolhida. No caso de produtos ou serviços certamente que o queremos saber, mas, no caso de uma enciclopédia, por exemplo, se calhar, não teremos assim tanto interesse em saber quais as fontes individuais usadas para a compilar. Os fornecedores, pelo seu lado, gostariam de ter contacto directo com os consumidores, passando por cima dos intermediários. A não ser que seja explicitamente autorizado para isso (com vimos no caso da actividade de notificação dos intermediários), não é

O modelo de três camadas

Information Retrieval – uma abordagem baseada em agentes 58

boa ideia satisfazer este desejo. Isto iria ainda retirar uma das principais vantagens de usar intermediários: eliminar a necessidade de interagir com todos os fornecedores individuais. E quais as vantagens que os intermediários oferecem às duas actuais partes do mercado de informação?

• Ao usar intermediários, cada uma das partes concentra-se apenas naquilo que tem a fazer. Não mais será necessário ser “pau para toda a colher”. Deixando as partes (elas próprias ou os seus agentes) continuamente publicar e retirar informação sobre necessidades e capacidades, a informação (meta-informação) não fica obsoleta e o fluxo de informação é dinâmico e flexível. Isto é particularmente interessante em situações em que as fontes e a própria informação variam rapidamente (ex.: bolsa);

• Usar intermediários (ou não) não é algo que é imposto, e não obriga ao uso

de certas técnicas ou software proprietário. A escolha de usar ou não intermediários não é uma escolha entre ser compatível ou não compatível. Cada um é livre de começar ou parar o seu uso. A “única” coisa que terá de ser forçada (ou antes, terá de ser determinada) são os standards para colocar e trocar questões e anúncios entre os agentes, usando, por exemplo, KIF ou KQML.

• Usando este modelo, a necessidade de lidar com todas as diferentes formas

como os serviços na Internet operam, desaparece e toda a energia pode ser centrada no que é realmente importante – a tarefa a realizar ou o problema a resolver. A rede com todas as suas complexidades pode gradualmente descer para os bastidores, e todos os serviços nela oferecidos podem formar um conjunto coeso. Todo o mercado de informação online pode ser elevado a níveis superiores de sofisticação e abstracção;

• Os intermediários permitirão (mais facilmente) incluir recursos off-line na

sua base de dados de fontes de informação. Enquanto que as fontes de informação online são valiosos recursos para os agentes intermediários, elas não são as únicas fontes de informação disponíveis. Outras importantes fontes de informação compreendem material impresso, CD--ROMs, várias outras fontes electrónicas (como bases de dados), e também peritos humanos. Qual das fontes disponíveis é a indicada depende do tipo de informação procurada, do tempo disponível, do orçamento disponível para a procura, etc. Os “tradicionais” brokers de informação humanos, já usam esta metodologia quando levam a cabo as suas pesquisas. Por exemplo, têm acesso a milhares de publicações que a empresa recebe por mês, a milhares de bases de dados online, dezenas de milhares de assuntos em ficheiros, milhares de livros de referências, etc. Usando ambos os recursos disponíveis online e off-line, os agentes poderão oferecer informação mais completa, bem como de melhor qualidade comparada com a que é devolvida por um motor de busca. E acrescente-se o facto dos

O modelo de três camadas

Information Retrieval – uma abordagem baseada em agentes 59

proprietários das fontes off-line (ex.: editoras) poderem estender o seu alcance/serviço ao crescente mercado online de informação;

• Como os intermediários trabalham com meta-informação, em vez do

próprio conteúdo, serviços de mais alto nível podem ser oferecidos e informação de mais alto nível pode ser armazenada sobre ambos consumidores e fornecedores, sem esforço excessivo. A responsabilidade de manter e anunciar a informação e serviços fica onde deve estar: na fonte. Os agentes intermediários trabalham com meta-informação, de mais alto nível, que se relaciona com toda a fonte de informação, em vez de, com cada documento individual que a fonte pode fornecer (o que ocupa apenas uma fracção do espaço que é necessário quando se trabalha com sumários de todos os documentos individuais, como a maioria dos motores de busca faz). O tempo e energia que é poupado por trabalhar com meta-informação, pode ser usado para a enriquecer com todo o tipo de informação suplementar e dados, tais como o contexto da informação. Isto significa que as questões podem ser colocadas com mais precisão e exactidão. Ao mesmo tempo, os fornecedores de informação e serviços não têm de lidar com os tradicionais restrições dos motores de busca, onde apenas partes do conteúdo e serviços que oferecem está armazenado e disponível para procura. Agora, podem fornecer descrições ricas e completas (e outros dados) sobre os produtos que oferecem. Podem activamente manter, anunciar e actualizar esta informação a qualquer momento: não é mais necessário sentarem-se e esperarem que o motor de busca (re)visite o seu site para (re)colher informação sobre o que é oferecido. E agora a fonte controla a meta-informação que está disponível no seu serviço. E quem melhor pode descrever o serviço disponibilizado do que a própria fonte?

“A análise do propósito de um site, da sua história e políticas utilizadas está fora das capacidades de qualquer crawler. Outra desvantagem da indexação automática é que a maioria dos motores de busca reconhece apenas texto. O intenso interesse pela Web, veio sobretudo pela capacidade que o meio dispõe para exibir imagens, quer sejam gráficos ou filmes. [...] Nenhum programa pode deduzir o significado subjacente e importância cultural duma imagem (por exemplo, que um grupo de homens a jantar representa a Última Ceia).”

in “Searching the Internet” – Clifford Lynch

• Os intermediários podem oferecer serviços assíncronos e baseados em

prioridades. Na situação actual, não é normalmente possível colocar uma questão, desligar-se da rede e voltar mais tarde para recolher os resultados (possivelmente depois de receber uma notificação da disponibilidade destes resultados). Também não é normalmente possível indicar a prioridade de uma questão: existem alturas em que uma resposta (quase) imediata a uma questão é necessária (quando por exemplo, se aproxima o deadline de um projecto), enquanto que outras vezes não existem problemas se se tiver de esperar pelo processamento da questão (o

O modelo de três camadas

Information Retrieval – uma abordagem baseada em agentes 60

que pode ser compensado com informação de maior qualidade ou de menores custos). Os agentes intermediários possuirão informação pessoal (e-mail, interesses, ...) sobre a pessoa ou entidade que lhe colocou uma necessidade/questão/requisito de informação. Isto possibilita aos agentes oferecer serviços assíncronos e/ou baseados em prioridades a essas entidades. São também capazes de oferecer informação e serviços a um preço baseado no esforço da procura.

6.1.3 – A necessidade duma terceira camada O súbito potencial dos agentes intermediários e outros serviços chega a ser irónico, já que há apenas alguns anos toda a gente dizia que a Internet iria acabar com a necessidade desses serviços. Quando toda a informação que se poderia desejar está apenas a um click de distância, quem necessita de intermediários? Seguindo esta teoria de concentração em apenas duas camadas (fornecedores e consumidores) o mercado foi inundado por inúmeras aplicações denominadas por “agentes inteligentes”, que poderiam devolver às pessoas o poder de satisfazer todas as necessidades de informação sem recorrer a terceiros. Não muito surpreendentemente estas aplicações de “agentes” não foram capazes de alcançar as expectativas que os utilizadores criaram para este tipo de software e das suas capacidades. Neste momento, parece ser uma boa altura para dar aos agentes um justa (segunda) oportunidade. Os desenvolvimentos recentes e pesquisas nesta área mostram resultados promissores, e é de esperar aplicações que possam realmente ajudar os utilizadores na sua rotina diária. Como estas aplicações irão acabar por ser, é difícil dizer neste momento, mas de uma coisa poderemos estar certos: não serão determinadas por tecnologias, mas determinadas pelas vantagens e funcionalidades que podem oferecer aos utilizadores. Um exemplo de um destes serviços intermediários que empregou bem esta ideia, é o serviço prestado pela livraria online Amazon no seu site. O input deste serviço é o feedback que é oferecido à Amazon pelos seus clientes. Estes são recompensados recebendo recomendações de livros em que poderão estar interessados, de acordo com as preferências especificadas. A Amazon parece ter encontrado o conceito certo no momento certo: os consumidores apreciam as recomendações que recebem, bem como os contactos que podem manter com outros utilizadores com gostos semelhantes. E o serviço prestado parece ter encontrado o equilíbrio perfeito entre os utilizadores desistirem de alguma da sua privacidade (fornecendo informação sobre os livros que gostam e aqueles que compram), com a oferta de serviços personalizados (como as recomendações de livros). 6.2 – A caminho de uma bem consolidada terceira camada Serviços como o da Amazon, têm muito a oferecer aos consumidores bem como aos fornecedores, mas descuram um importante pormenor: como é que as pessoas os encontram? Se o que é pretendido parasse a este nível, os actuais problemas com os motores de busca (como foram apresentados anteriormente) não deixariam de existir.

O modelo de três camadas

Information Retrieval – uma abordagem baseada em agentes 61

Assim, para obter uma terceira camada em pleno funcionamento no mercado de informação, serviços de nível superior são necessários. Estes serviços proporcionarão um acesso universal aos serviços prestados pelos agentes intermediários, tais como os que vimos anteriormente. Poderia parecer que o mais prático – e a situação ideal – seria, se um único serviço central de informação servisse de suporte aos restantes serviços prestados pelos agentes. Tanto as partes de envio como da procura de informação, teriam apenas um único ponto de entrada que poderiam seguir para satisfazer as suas necessidades de informação. Para além do facto de que isto cedo se iria tornar num serviço colossal, que dificilmente poderia ser mantido, o presente espírito livre da Internet torna um cenário como este de difícil concretização. Portanto, uma situação com inúmeros (mega) serviços de informação e intermediários operando lado a lado parece muito mais perto do mundo real. Não apenas isso, mas também o facto de que essa situação manterá os níveis de competição elevados, o que certamente se traduzirá em melhores e mais diversos serviços que serão oferecidos. Todos serão capazes de escolher o agente intermédio que melhor se adequa às suas necessidades e meios. Alguns optarão por serviços grátis, como por exemplo de organizações não lucrativas ou suportadas por publicidade. Outros terão necessidade de maior qualidade, fiabilidade e/ou rapidez de serviços, e estão perfeitamente dispostos a pagar por tais serviços. 6.3 – Organização da camada intermédia Restringir a terceira camada a trabalhar com meta-informação sobre as duas outras camadas, ajuda-a a superar os problemas dos motores de busca na manutenção da sua base de informação, i.e. como a manter actualizada.18 Mas e em relação aos outros bem conhecidos problemas dos motores de busca, como a falta de coordenação e cooperação? A melhor opção então para um agente intermédio poderia ser adoptar uma estratégia de “grande superfície comercial” e tentar fazer acordos com bastantes entidades que pudessem oferecer outros agentes (mais específicos), fontes de informação específicas, serviços léxicos (para melhorar as questões a colocar), etc. Optando por esta via, tal como uma grande superfície comercial, poderiam oferecer serviços a uma vasta audiência, podendo também obter descontos com todo o tipo de fontes de informação e serviços, o que lhes daria uma vantagem competitiva em relação aos outros. As entidades de ambos consumidores e fornecedores podem então decidir se alguma necessidade de informação é melhor satisfeita por um serviço especializado (uma loja especializada) ou por um serviço maior e mais geral (uma grande superfície). Uma abordagem muito diferente é criar redes dinâmicas de agentes (estas redes incluem serviços secundários, i.e. serviços que ajudam os agentes a realizarem as suas funções). Aqui, os agentes tornam-se serviços auto-organizados, que realizam um processo de reconfiguração contínua respondendo a alterações no ambiente em que operam (o mercado online de informação)19.

18 Xu e Callen escreveram um interessante artigo, “Effective Retrieval with Distributed Collections” que, entre outros aspectos, descreve uma forma dos actuais motores de busca superarem o seu problema de actualização, mudando de uma base de dados central de sites para um colecção distribuída. Este artigo está disponível em Postscript em http://ciir.cs.umass.edu/pubfiles/ir-124.ps 19 Para um estudo mais aprofundado deste tópico, ver Foss, J., “Intermediation and Information Brokerage” em http://freespace.virgin.net/j.foss/issls98.htm

O modelo de três camadas

Information Retrieval – uma abordagem baseada em agentes 62

6.4 – Aspectos relacionados com o uso da camada intermédia Serviços intermediários podem ser oferecidos por humanos bem como intermediários electrónicos (agentes de software). Os entusiastas de agentes gostam de descrever um mundo onde os intermediários humanos não são mais necessários, e onde os agentes poderão fazer todo o trabalho. Os mais tecnologicamente pessimistas, por outro lado, pensam que os humanos irão permanecer no controlo no que toca a oferecer, procurar e organizar informação e serviços de uma forma sensível e inteligente. O futuro (pelo menos próximo) será certamente um junção destes dois tipos, já que tanto os intermediários humanos como os electrónicos têm diferentes qualidades e capacidades e muitas vezes complementares. Combinando os dois tipos de forças, formas interessantes de cooperação podem ser estabelecidas. A curto prazo, isto conduzirá a uma situação onde os intermediários humanos tomam conta da inteligência do processo e onde a outra parte (agentes) irão realizar o extenso trabalho de reunir e actualizar (meta-informação) sobre fontes e consumidores. Os mais óbvios utilizadores dos serviços prestados por esta terceira camada são os humanos. No entanto, ela pode oferecer serviços valiosos a entidades de software, tais como os agentes de software. Se é lógico aliviar um participante humano do mercado de informação da árdua tarefa de procurar sozinho quem está a oferecer e/ou a disponibilizar um determinado serviço ou informação, então, por que razão havemos de sobrecarregar agentes com a mesma tarefa. Se a camada intermédia for capaz de oferecer informação actualizada de fontes e serviços, os agentes de ambos os lados da cadeia de informação não mais necessitarão de manter informação sobre quais agentes estão (ainda) online e/ou disponíveis. Isto possibilitará que coloquem questões sem especificar qual a entidade que satisfará o pedido: qualquer uma que esteja habilitada o fará. Para pôr um sistema deste tipo a funcionar, uma linguagem de representação do conhecimento é precisa, através da qual a informação e os pedidos possam ser suficientemente bem expressos. Para manter as coisas o mais abertas e simples possível, é fortemente desejável que esta linguagem se transforme num standard para tais tarefas, da mesma forma que o HTML é o standard para a representação de conteúdos na Web. Para que os agentes se encaixem em todo este processo, também eles irão necessitar de aderir a certos standards e protocolos. É impraticável fazer com que as entidades no mercado de informação possam lidar com qualquer tipo possível de agente. Portanto, os agentes devem responder e reagir da mesma forma (independentemente do seu código interno e estrutura) a certos pedidos e questões. No entanto, os standards e protocolos escolhidos para serem usados neste processo terão de ser suficientemente flexíveis para suportarem requisitos/desenvolvimentos que não são sequer previsíveis no presente. Para além dos standards, outro aspecto a ter em conta está relacionado com o a questão de como as entidades encontrarão qual o serviço intermediário que deve ser usado (em geral ou numa situação particular). É de esperar que seja baseado num processo de aprendizagem. Os agentes deverão ser evolutivos, ou seja, capazes de condicionar o seu funcionamento em função da experiência anterior. Tal como os motores de busca, os intermediários serão julgados (e apreciados) em última instância pelos resultados que proporcionam, e – possivelmente – pelo preço que pedem para o fazer. A médio prazo,

O modelo de três camadas

Information Retrieval – uma abordagem baseada em agentes 63

devem ficar disponíveis ferramentas que determinem que serviço intermediário usar em determinada altura, para uma certa tarefa, a um certo preço, etc. 6.5 – O (re)aparecimento dos Agentes Inteligentes Quando se discutem tópicos como o mercado online de informação, serviços e sites de personalização de informação ou interacção homem-máquina, o termo “agentes inteligentes” é bastante usado. Isto não surpreende, já que os agentes de software são um modelo bastante interessante e versátil para aplicações e serviços. O conceito de “agência” (como descrito anteriormente) é uma das principais formas em que o conceito de (verdadeiros) agentes de software é colocado nas nossas actividades diárias. É um primeiro passo na longa caminhada até um tipo totalmente diferente de software. Outro passo é alterar a forma como pensámos as aplicações e o uso dos computadores. A integração de diversas aplicações, serviços e informação recorrendo a agentes é uma importante vantagem que os agentes podem oferecer. Outras serão a pro-actividade, a capacidade social, autonomia, etc. Um importante aspecto que convém frisar é que os agentes deverão ser distinguidos de tecnologias como a Tecnologia Push (ver introdução) pelo facto de não serem as tecnologias aplicadas que os distinguem entre eles (eles usarão o mesmo modelo de agente). Em vez disso, irão diferir na forma como assistem todos os tipos de utilizadores, nas tarefas em que se centrarão e se especializarão (por ex.: encontrar informação, tornar os sistemas mais amigáveis para o utilizador, etc.). Os utilizadores da Internet actual estão dispostos a usar ferramentas de procura e serviços tipo-agente. Eles sentem que isso os ajudará na sua batalha de encontrar as agulhas que procuram no palheiro do mercado online de informação. A maioria deles delegaria com agrado esta tarefa a agentes de procura ou aplicações semelhantes. Depois do laborioso processo de recolha de informação estar completo, os humanos podem continuar a trabalhar a partir desse ponto, usando o seu senso comum e conhecimento para extrair do que foi recolhido o que realmente precisam. Os agentes irão poupar tempo aos seus utilizadores e ajudar a resolver problemas tratando automaticamente aqueles pormenores que eles não querem fazer pessoalmente (aquelas tarefas que são melhores executadas por um programa de computador). Isto é conseguido adicionando “agência” às aplicações que usamos nas nossas tarefas diárias e aos ambientes em que trabalhamos. Funcionando colectivamente, agentes e agências serão capazes de demonstrar um complexo e útil comportamento, que pode ser considerado de “inteligente”. Esta abordagem difere bastante da natureza individualista e não cooperativa das actuais aplicações erradamente etiquetadas de “agentes”. A maioria delas funcionam como um meta-motor de busca colocando as questões em paralelo aos mais conhecidos motores de busca e fornecendo algum tipo de pós-processamento depois dos resultados individuais de cada motor de busca terem sido recolhidos. Normalmente eles não

O modelo de três camadas

Information Retrieval – uma abordagem baseada em agentes 64

ajudam em muito a resolver os problemas de excesso de informação, o que para alguns não é muito surpreendente:

“Muitas pessoas têm vindo a trabalhar em sistemas de bases de dados durante décadas. Pessoas inteligentes. Dados estruturados. Problemas de resolução local. E surgiu o SQL. Mesmo até algumas bases de dados relacionais. Talvez mesmo bases de dados distribuídas – mesmo heterogéneas. Agora existe a Web com toneladas de dados não estruturados, a maioria em linguagem natural, distribuídos ao acaso. Então qual é a nova tecnologia de ponta para resolver este problema muito maior? Então os novos “agentes inteligentes” vão extrair informação da Web para nós? Desculpem?!”

in “What’s an agent... And what’s so Intelligent about it?” – Charles J. Petrie Permitir a comunicação entre agentes e entidades não humanas (outros agentes, servidores Web, aplicações) – algo que não é possível com as actuais implementações de agentes – parece ser a mais promissora forma de resolver estes problemas. Com este modelo a funcionar, tarefas como pesquisas de informação podem ser distribuídas por (um grande número de) programas especializados na procura (crawlers). Desta forma, o peso da tarefa é distribuído por diversas entidades e vários pontos da rede. Torna-se também mais fácil coordenar as tarefas a realizar e prevenir trabalho duplicado e desnecessário. Neste momento, isto ainda não é possível. Apesar das aplicações isoladas de agentes ainda não terem amadurecido, existe ainda – e muitas vezes é o caso – uma falta de standards definidos. Standards para a troca de conhecimento e standards (e técnicas) para o código distribuído, para nomear apenas dois. Tecnicamente, esses standards já existem (KQML, KIF, FIPA ACL), portanto o problema não é de natureza técnica. As forças do mercado é que ainda não chegaram a acordo sobre qual o formato, linguagem ou técnica a usar nestas áreas. No entanto, o HTML é um excelente exemplo que um tal standard pode ser obtido. 6.6 – Um exemplo de utilização da camada intermédia Para percebermos como a camada intermédia pode contribuir para melhor resolver os pedidos colocados pelos utilizadores, atentemos no seguinte exemplo: O Sr. João quer comprar um carro novo, já que o seu velho carro não se tem portado muito bem ultimamente. O carro velho é um Ford, e como o Sr. João sempre esteve satisfeito com ele, o novo carro terá de ser um Ford. No entanto, quanto requisitou informação ao seu agente de software pessoal, não pediu (sem qualquer intenção) informação sobre “Fords” que estão à venda, mas sobre “carros”. Assim o agente do utilizador envia um pedido a um agente intermediário sobre carros para venda. O agente intermediário verifica na sua base de dados anúncios que mencionem informação sobre “carros”, “venda” e “para venda”. Envia então pedidos aos fornecedores disponibilizando esta informação. Todos as respostas individuais de cada

O modelo de três camadas

Information Retrieval – uma abordagem baseada em agentes 65

fornecedor são agrupadas num único pacote, e (provavelmente) os registos são ordenados segundo algum critério. São então enviadas ao utilizador. O agente do utilizador recebe a resposta do agente intermediário, e apresenta a informação ao Sr. João. O agente rapidamente se apercebe que o Sr. João apenas consulta os anúncios sobre Fords e conclui que ele está interessado em Fords, em vez de “carros” em geral. Como resultado envia um novo pedido, especificando que deseja informação sobre Fords. O agente intermediário recebe o pedido e descobre que não recebeu nenhum anúncio que mencione o atributo Ford. O agente intermediário pode, no entanto, resolver este problema porque o pedido do agente do utilizador menciona que um dos atributos de um “Ford” é ser um automóvel – se não fosse esse o caso, poderia recorrer aos serviços de um léxico pedindo termos mais gerais relacionados com a palavra “Ford” (e receberia termos como “carro” e “automóvel”). O agente intermediário pode então enviar um pedido a um ou mais fornecedores que dizem oferecer informação sobre “carros” e/ou “automóveis”, especificando que deseja informação sobre Fords. Os agentes dos fornecedores recebem este pedido, e aqueles que realmente possuem informação sobre Fords, irão então enviar a informação requisitada. Os agentes dos fornecedores podem ainda decidir enviar um anúncio ao agente intermediário dizendo que também fornecem informações sobre Fords. O agente intermediário, novamente, agrupa todas as respostas num único pacote e envia-o ao agente do utilizador, que o apresentará ao utilizador. Este é apenas uma das forma pelas quais este pedido poderia ser tratado. Existem muitas alternativas que poderiam ter sido seguidas. Por exemplo, o agente do utilizador poderia ter armazenado no modelo de utilizador do Sr. João que ele possui um Ford, ou que já por várias vezes pesquisou informação sobre Fords. Assim na sua primeira pesquisa sobre carros para venda o seu agente não teria requerido informação apenas sobre “carros”, mas também sobre “Fords” que estavam disponíveis para venda. O que este exemplo nos mostra é como os agentes e a camada intermédia podem contribuir consideravelmente na realização das tarefas de um modo mais eficiente, rápido, etc. 6.7 – Intermediários humanos e de software 6.7.1 – Introdução Os humanos que procuram informação, normalmente recorrem a intermediários, como os bibliotecários. As grandes empresas e instituições (para quem o “tempo é dinheiro”) usam serviços especializados. Ambos os tipos de entidades se apercebem que é muito melhor delegar esta tarefa a intermediários, já que estes possuem o conhecimento (específico do domínio) necessário, estão melhor equipados para levar a cabo a tarefa ou porque é simples e procurar informação não faz parte da sua actividade principal. É

O modelo de três camadas

Information Retrieval – uma abordagem baseada em agentes 66

lógico seguir a mesma linha de pensamento quando a informação que necessitámos está disponível na Internet. A disponibilidade de métodos seguros de pagamento na Internet (o que torna possível cobrar aos utilizadores de um serviço de informação uma quantia pela informação disponibilizada) será um grande incentivo ao uso de intermediários (e agentes em geral), tornando uma procura de uma forma “não inteligente” não só mais demorada como também mais cara. Pesar os prós e os contras de vários fornecedores de informação torna-se numa tarefa muito difícil se, ainda por cima, se entrar em consideração com os preços praticados por cada um dos fornecedores. Os agentes intermediários serão muito melhores nesta tarefa em comparação com os seus utilizadores humanos, especialmente se puderem ter também em consideração as preferências do utilizador quando decidem sobre qual o melhor fornecedor e serão melhores a manter uma visão geral de todos os possíveis fornecedores (bem como dos seus preços). Se atentarmos nos casos em que os serviços ou produtos a pagar requerem algum tipo de negociação, existem certas limitações nesta negociação privada que podem ser melhoradas com o uso de intermediários, humanos ou de software:

• Custos da procura Pode ser dispendioso para os fornecedores e utilizadores encontrarem-se uns aos outros. Na Internet, milhares de produtos são trocados por milhões de pessoas. Os intermediários podem manter bases de dados com as preferências dos utilizadores e anúncios de fornecedores e reduzir os custos da procura organizando selectivamente a informação disponibilizada pelos fornecedores para os consumidores. Além disso, os fornecedores podem ter dificuldades em reconhecer que certos utilizadores precisam de novos produtos. Muitos serviços ou produtos desejados podem nunca ser desenvolvidos/fornecidos porque ninguém reconheceu que são desejados pelos utilizadores. Os intermediários ao aceder às preferências dos utilizadores podem prever estas necessidades;

• Falta de privacidade

Tanto o “comprador” como o “vendedor” podem desejar permanecer anónimos, ou pelo menos proteger alguma informação relevante para a transacção. Os intermediários podem tratar as mensagens sem revelar a identidade de uma ou de ambas as partes. Pode ainda estabelecer preços ou decisões de compra baseado nas informações disponibilizadas por duas ou mais entidades, sem revelar a identidade de nenhuma entidade individual;

• Informação incompleta

O utilizador pode necessitar de mais informação do que aquela que o fornecedor é capaz ou está disposto a oferecer, tal como informação sobre a qualidade do produto ou satisfação dos consumidores. Um intermediário pode reunir informação sobre o produto de outras fontes que não o produtor do produto ou serviço, incluindo avaliadores independentes e outros utilizadores;

O modelo de três camadas

Information Retrieval – uma abordagem baseada em agentes 67

• Risco do contrato Um consumidor pode-se recusar a pagar depois de obter o produto ou o fornecedor pode fornecer serviço pós-venda inadequado. Os intermediários têm um número de ferramentas para reduzir o risco:

1. O intermediário pode fornecer informação sobre o comportamento de compradores e fornecedores. A ameaça de publicitar um mau comportamento ou retirar alguma certificação pode encorajar tanto os produtores como consumidores a tentar cumprir o que é proposto pelo intermediário;

2. Se a publicidade for insuficiente, o intermediário pode ter de aceitar

responsabilidades pelo comportamento de entidades em negociações em que participa. Sendo assim, o intermediário age como um polícia durante as transacções;

3. O intermediário pode fornecer seguros contra maus comportamentos.

Toda a indústria de cartões de crédito já usa estas três ferramentas para reduzir a exposição ao risco de produtores e consumidores.

6.7.2 – Questões a colocar Os agentes intermediários forçam-nos a colocar importantes questões. Como pesamos as preocupações de privacidade contra o fornecimento de informação de uma forma tratável? Sempre que existe troca de informação, o aspecto da privacidade é sempre lembrado. Um agente intermediário pode ajudar bastante, já que mais facilmente pode realizar operações potencialmente perigosas envolvendo grandes quantidades de informação. Devem os agentes intermediários ter o direito de cobrar pelos seus serviços? Devem os serviços intermediários ter o direito de cobrar uma dada quantia, mesmo que os fornecedores não o façam? Muita da informação hoje trocada na Internet é fornecida gratuitamente e um espírito de altruísmo prevalece na comunidade Internet. À primeira vista, parece injusto que um intermediário possa lucrar com informação que está disponível de graça. Certamente grupos de utilizadores iriam exigir políticas que prevenissem o lucro nos serviços intermediários. Mas, como o uso de serviços intermediários é facultativo, quem não deseje pagar pode ainda obter a mesma informação por outros meios, sem custos adicionais. O que acontece é que se paga pelo serviço de procura, não pela informação. Este é um problema bem conhecido também no mundo tradicional/de papel. Devem os serviços intermediários ser concentrados ou devem existir entidades competitivas que forneçam estes serviços? Por um lado, um mercado competitivo com muitas entidades permitirá a fácil introdução de inovações e a rápida expansão das mais úteis. No entanto, devido à rápida expansão das melhores ideias, o titular da ideia pode obter muito pouca vantagem competitiva e assim ter poucas razões para inovar. Patentes e outros métodos que asseguram um período de exclusividade podem ser necessários.

O modelo de três camadas

Information Retrieval – uma abordagem baseada em agentes 68

Por outro lado, alguns serviços são naturais concentrações (por causa da natureza dos serviços ou da informação tratada). Assim, um leilão e outros serviços similares podem ser mais eficazes se todos os compradores e vendedores participarem no mesmo mercado. Uma solução pode passar por todos os produtos serem avaliados num único lugar, com os agentes a competir na venda de diferentes formas de os agregar. 6.7.3 – Intermediários Humanos vs. Agentes Pode-se pensar que os agentes irão substituir os intermediários humanos. Isto é bastante improvável já que ambos têm diferentes qualidades e capacidades. É bastante mais provável a sua íntima cooperação e uma alteração das tarefas que ambos os tipos executam. Os agentes intermediários (a curto e médio prazo) irão executar tarefas standard e todas essas tarefas que um programa de computador pode fazer mais rapidamente ou melhor do que um humano. Os intermediários humanos irão tratar dos problemas mais complicados e terão as suas tarefas divididas em sub-tarefas mais pequenas que podem (mas não necessariamente) ser executadas por agentes. É de esperar que muitas entidades comerciais quererão oferecer serviços da camada intermédia. Apesar da situação mais prática ser uma camada intermédia com apenas um ponto de contacto para entidades e agentes das outras duas camadas, não é provável que isso aconteça. No entanto, isto não é um grande problema, como poderia parecer, já que manterá os níveis de competição elevados (o que muito provavelmente levará a melhores e mais serviços a serem oferecidos a consumidores e produtores). E ter mais de que um fornecedor de serviços da camada intermédia não significa que o esforço não será coordenado e que as diversas entidades não cooperarão, já que ao fazerem-no estão a oferecer melhores serviços e certamente poderão reduzir custos. 6.8 – Uma aplicação da camada intermédia: Matchmaking Daniel Kuokka e Larry Harada em “Integrating Information via Matchmaking”, descrevem uma aplicação de agentes onde potenciais produtores ou consumidores de informação enviam mensagens descrevendo as suas capacidades e necessidades de informação a um intermediário chamado matchmaker. Estas descrições são reunidas pelo matchmaker para detectar potenciais correspondências entre ofertas e necessidades de informação. Baseado nas correspondências encontradas, uma variedade de serviços intermédios de informação são fornecidos. Os seus autores argumentam que a aplicação permite um grande número de consumidores e fornecedores dinâmicos, operando sobre informação que se altera muito rapidamente, partilhando informação de forma mais eficiente do que os métodos tradicionais. Ao contrário do modelo tradicional de procura de informação, o Matchmaking é baseado numa parceria cooperativa entre os fornecedores e consumidores de informação, assistido por um agente inteligente (o matchmaker). Os consumidores e fornecedores de informação actualizam o matchmaker (ou a rede de matchmakers) consoante as suas necessidades e capacidades. O matchmaker, pelo seu lado, notifica os consumidores e produtores de eventuais “parceiros”. O Matchmaking é um processo automatizado dependente da comunicação entre consumidores, fornecedores e o matchmaker. Assim, a comunicação tem de ser feita através de linguagens de partilha de conhecimento.

O modelo de três camadas

Information Retrieval – uma abordagem baseada em agentes 69

A maior vantagem desta abordagem é que fornecedores e consumidores podem continuamente anunciar e procurar informação, não permitindo que a informação fique obsoleta e tornando o fluxo de informação em algo flexível e dinâmico. Isto é particularmente crítico em situações onde as fontes e a informação mudam muito rapidamente. Existem dois níveis distintos de comunicação com o matchmaker: o tipo da mensagem (denominado por speech act) e o conteúdo. O primeiro descreve a intenção da mensagem (ex.: pergunta, anúncio) enquanto que o segundo descreve a informação a ser trocada (ex.: qual a informação a ser procurada ou anunciada). Existem vários tipos de mensagens. Por exemplo, os fornecedores de informação podem ter um papel activo na procura de consumidores específicos anunciando a sua capacidade de informação ao matchmaker. Pelo contrário, os consumidores enviam pedidos sobre a informação que desejam ao matchmaker. Assim o consumidor pode simplesmente pedir ao matchmaker que recomende um fornecedor capaz de satisfazer o pedido. As questões reais ocorrem directamente entre o consumidor e o fornecedor. O consumidor pode pedir ao matchmaker que faça seguir o seu pedido a um fornecedor capaz especificando que as posteriores respostas lhe sejam directamente enviadas. Ou o consumidor pode requerer ao matchmaker que aja como intermediário, fazendo seguir os pedidos aos produtores e as repostas de volta ao consumidor. Como o conteúdo dos pedidos e anúncios pode não alinhar perfeitamente, satisfazer um pedido pode envolver adicionar ou retirar informação para produzir um resultado apropriado. Por exemplo, se uma fonte anuncia informação sobre automóveis enquanto um utilizador pede informação sobre BMWs, algum conhecimento e inferência é necessária para deduzir que um BMW é um automóvel. Tal transformação dos dados é uma capacidade importante, mas a sua adição a um serviço intermediário tem de ser bem pesada. Se o conhecimento sobre automóveis fosse adicionado a um serviço intermediário, conhecimento similar poderia ser adicionado sobre qualquer outro tópico. Obviamente isto rapidamente conduziria a um serviço intermediário enorme e impraticável. Portanto, um serviço intermediário não contém somente informação sobre um qualquer domínio. É livre de usar outros serviços intermediários e fontes de informação. Assim, poderia delegar a procura de BMWs a uma base de conhecimento sobre automóveis para determinar se existia alguma correspondência. Para avaliar e testar as abordagens do processo foram construídos dois matchmakers protótipos: O primeiro matchmaker foi desenhado e concebido como parte do sistema SHADE, um sistema para integrar ferramentas heterogéneas em projectos de engenharia de larga escala. Este matchmaker opera sobre representações lógicas, formais, e foi desenhado para suportar diferentes tipos de pedidos e anúncios. O segundo matchmaker foi criado como um elemento do sistema COINS (Common Interest Seeker). O ponto forte deste matchmaker é fazer corresponder texto livre em vez de representações formais.

O modelo de três camadas

Information Retrieval – uma abordagem baseada em agentes 70

Ambos os matchmakers correm como processos aceitando e respondendo a anúncios e pedidos de outros processos. A comunicação ocorre via KQML, que define tipos específicos de mensagens e a semântica para os anúncios e pedidos de informação. As mensagens KQML incluem questões e asserções simples (ex.: ask, stream, tell), direccionamento de instruções (ex.: forward, broadcast), questões persistentes (ex.: subscribe, monitor) e pedidos de serviços intermédios (ex.: advertise, recommend, recruit, broker), que permitem aos consumidores de informação pedir ao matchmaker que encontre fornecedores de informação relevantes. Estes dois tipos de matchmakers foram desenvolvidos separadamente devido a diferenças entre as suas linguagens de conteúdo (lógicas vs. texto livre) e o seu impacto nos algoritmos de verificação de correspondência de informação. Poderiam em princípio ser integrados, mas como os matchmakers usam outros agentes para inferência específica do domínio, é preferível mantê-los separados do que criar um enorme matchmaker. Experiências com o matchmaker revelaram que esta abordagem é bastante útil em duas situações diferentes:

1. Localizar fontes de informação ou serviços que aparecem dinamicamente; 2. Notificação de mudanças na informação.

Uma terceira vantagem, a de permitir que os produtores de informação procurem activamente consumidores potenciais, só foi parcialmente demonstrada. Mesmo assim, e garantindo que a privacidade dos utilizadores possa ser assegurada, esta capacidade pode atrair as atenções de muitos fornecedores de informação. No entanto, apesar do matchmaker ter provado a sua utilidade nas situações acima descritas, alguns pontos importantes não foram focados. Apesar dos pedidos de informação poderem ser descritos sucintamente, descrever o conteúdo de uma base de conhecimento (um anúncio) é um problema bastante maior. As linguagens formais são adequadas para exemplos simples como o que foi mostrado anteriormente, mas para anunciar além de simples atributos depressa se restringe o que pode ser representado. O matchmaker do sistema COINS não é evidentemente limitado pela representação formal. Aqui, a eficiência e eficácia da correspondência de texto livre trona-se num factor limitador. Deve ser realçado que o Matchmaking é um tipo especial de aplicação da camada intermédia que não usa nenhum conhecimento específico do domínio. Também não é verdadeiramente um agente: delega as tarefas/pedidos a agentes especializados (ou pelo menos com melhores conhecimentos) naquele problema específico. O Matchmaking pode no entanto, desempenhar um importante papel num tipo de interface universal para a camada intermédia tanto para utilizadores e fornecedores como para os seus agentes, já que estes não têm de adivinhar quais os agentes da camada intermédia a contactar.

O modelo de três camadas

Information Retrieval – uma abordagem baseada em agentes 71

6.9 – Resumo A actual estrutura de duas camadas da Internet (uma camada para a procura e uma camada para o fornecimento de informação) é cada vez mais insatisfatória. Para tarefas como a procura de informação, ferramentas como os motores de busca foram criadas para contornar muitos dos problemas e ineficiências que resultam dessa estrutura. No entanto, os motores de busca estão a revelar-se cada vez mais insuficientes e incapazes de lidar com as necessidades de utilizadores e fornecedores. Uma solução bastante promissora é adicionar uma terceira camada, intermédia, à estrutura da Internet. Isto, certamente, melhorará a funcionalidade da Internet. Em cada camada, podem ser aplicados agentes fornecendo a funcionalidade que cada camada precisa. A principal função da camada intermédia é garantir a comunicação e cooperação de agentes e pessoas de diferentes camadas no processo de procura e fornecimento de informação. É de esperar que várias entidades se mostrem interessadas em oferecer estes serviços. Os utilizadores não pensarão muito em quem realmente os fornece, o que pretendem é um serviço que proporcione os melhores e mais rápidos resultados, com os mais baixos custos. O serviço que melhor satisfizer essas necessidades será o serviço usado. O modelo de três camadas representa uma poderosa e versátil aplicação para a tecnologia de agentes: apesar dos agentes individuais poderem oferecer serviços valiosos, eles podem oferecer e fazer muito mais quando combinados desta forma. No entanto, antes de se poder realmente usar este modelo é necessário definir certos aspectos: standards e protocolos que garantam que diferentes agentes reagem e respondem da mesma forma a certos pedidos e questões, uma sólida e universal linguagem de comunicação, são apenas os iniciais...

Os alicerces

Information Retrieval – uma abordagem baseada em agentes 72

7 – Os alicerces 7.1 – Introdução Serviços intermediários, agência e personalização de informação são conceitos poderosos que têm em comum uma importante pressuposição: a disponibilidade de uma base técnica sólida. Tudo o que vimos anteriormente são conceitos: dizem muito pouco, ou mesmo nada, sobre as técnicas que devem ser implementadas e sobre os alicerces que pressupõem existir. Esta abstracção da exacta implementação técnica é algo herdado da sua natureza conceptual e é uma das suas mais poderosas vantagens. No entanto, este documento estaria incompleto se não fossem analisadas as bases técnicas que possibilitarão, ou ajudarão a implementar, tais conceitos. Portanto, neste capítulo iremos ver as técnicas e métodos que já estão disponíveis ou a emergir e das quais é esperado que contribuam para a construção destes necessários alicerces. 7.2 – Mobilidade e Ubiquidade Será dada particular atenção a dois termos muito usados: computação móvel e agentes móveis. À primeira vista, estes dois termos podem parecer semelhantes. E em diversa literatura sobre código móvel, computação móvel e/ou agentes móveis, os termos são muitas vezes usados como sinónimos. No entanto, os termos são de natureza bastante diferente. A computação móvel refere-se a proporcionar acesso à informação e serviços “em qualquer lugar, a qualquer hora”, por exemplo de telemóveis a PCs, da Internet à nossa rede local, etc. No entanto o termo “agentes móveis” refere-se a programas itenerantes, capazes de vaguear pelas redes migrando código e o estado do programa (minimizando assim o uso da rede). Além disso, a parte de mobilidade dos dois termos são de tipos diferentes: “mobilidade” no contexto de computação móvel é largamente de uma natureza física e “mobilidade” nos agentes móveis é de uma natureza lógica e discreta. A linguagem de programação Java é claramente um exemplo de uma técnica que está intimamente relacionada com estes conceitos e mostra as possibilidades da computação móvel: com a sua independência de plataforma, as aplicações podem ser desenvolvidas sem se prestar muita atenção ao tipo exacto de computador que vai ser usado para as executar. Isto facilita não só o trabalho do programador como também permite aos utilizadores de tais aplicações aceder e executar essas aplicações independentemente da sua localização (i.e. a computação torna-se ubíqua). Os actuais browsers mostram esta funcionalidade: é possível obter informação e serviços de qualquer ponto da rede desde que se tenha acesso a qualquer dispositivo equipado com um browser. Na computação móvel o utilizador irá tipicamente supervisionar a actividade, ou actividades. O principal objectivo dos agentes móveis é permitir que os agentes façam o máximo da supervisão, libertando os utilizadores para outras tarefas mais aliciantes. Imagine-se a situação em que um utilizador quer questionar um motor de busca sobre

Os alicerces

Information Retrieval – uma abordagem baseada em agentes 73

determinada informação. O utilizador pode, ele próprio, questionar o motor de busca, mas pode levar muito tempo até encontrar a informação desejada, já que terá de percorrer uma longa lista de resultados. Este utilizador certamente preferiria enviar um agente móvel ao motor de busca. Este agente – provavelmente usando um interface especialmente desenvolvido para agentes – iria questionar o motor de busca, usando os seus próprios métodos de procura em vez de usar os que normalmente são disponibilizados aos utilizadores humanos pelo motor de busca. Isto tem duas vantagens importantes: o utilizador não tem de permanecer ligado à Internet enquanto o agente está a trabalhar no pedido (assim se o agente usar um método de pesquisa que demore mais tempo, mas que retorne melhores resultados, o utilizador não será afectado) e o agente pode processar os resultados intermédios localmente, no servidor, e apenas retornará ao seu utilizador os resultados finais (poupando bastante largura de banda). Um problema bastantes vezes levantado quando se fala de agentes móveis, é o problema da segurança. Mas muitos dos problemas de segurança não parecem insolúveis. Ainda por cima, muitos dos problemas de segurança que afectam os agentes são problemas gerais de segurança na Internet. Muitas outras aplicações e técnicas estão a sofrer as mesmas ameaças ou problemas de segurança e continuam a ser desenvolvidas. Não parece existir uma razão válida para tratar os agentes de forma diferente no que respeita à segurança. Existem quatro conceitos vitais em sistemas multi-agente: coordenação, cooperação, negociação e comunicação. Para agentes móveis individuais, estes conceitos não são muito importantes mas, no contexto de serviços intermédios de informação a sua importância torna-se evidente. Os mecanismos e meios para comunicar e negociar com todo o tipo de entidades (humanos, agentes) são a base de tais serviços e aplicações. Um aspecto importante, comum aos quatro conceitos, é o aspecto da confiança. Por melhor que um ambiente de participantes cooperantes e honestos possa ser, o mercado online da informação é habitado por diversas entidades, cada uma das quais com os seus próprios objectivos. A confiança nas regras socialmente aceites e convenções estão entre os melhores meios para resolver este problema. 7.3 – Novas formas de ver a informação A forma como actualmente reunimos, lemos e processamos informação online (e nos nossos computadores) está longe da ideal. Iremos ver dois aspectos deste processo e como eles podem melhorados.

• O interface com a informação Apesar de lidarmos com grandes quantidades de informação todos os dias, especialmente quando trabalhamos com a Internet, normalmente temos de lidar com um interface baseado em páginas, bidimensional. É fácil sentir uma certa frustração quando temos de percorrer várias páginas, por exemplo de um relatório, até obtermos a informação pretendida. Porque não apresentar esta informação de uma forma visualmente mais atractiva e de forma mais ergonómica? Gráficos, árvores e técnicas similares de representação são muito mais indicadas para rapidamente fornecer grandes quantidades de informação do que o actual modelo de páginas.

Os alicerces

Information Retrieval – uma abordagem baseada em agentes 74

E o meio que actualmente usamos como interface com a informação não é o mais adequado a utilizadores inexperientes. O governo, organizações e muitos outros defendem que toda a gente deve ter acesso à Internet e que a Internet é o meio de informação do futuro. Mas, como é isto possível, se apenas uma minoria é capaz de aceder à informação e serviços disponibilizados? Está a ser levada a cabo diversa pesquisa para resolver este problema20. Um importante objecto de estudo é o aspecto visual da interface: proporcionar todo o tipo de elementos visuais em vez de usar palavras ou texto para transmitir a mesma informação. Os elementos visuais têm duas importantes vantagens sobre o texto: a primeira é que o olho humano pode processar informação visual muito mais rapidamente que texto e a segunda (como resultado da primeira) é que muito mais informação pode ser transmitida de uma forma menos cansativa para o utilizador. Os elementos de maior interesse recebem maior destaque enquanto os restantes são levados para a periferia. Outro melhoramento possível é adicionar elementos 3D ao interface. Adicionando uma terceira dimensão, mais informação pode ser disponibilizada no mesmo ou em menos espaço, possibilitando, por exemplo, a transmissão em tempo real de informação complexa. Uma vantagem adicional é que é mais fácil preservar o contexto do ambiente em que se está a trabalhar na informação transmitida21. Esta crescente percepção das limitações do actual modelo de transmitir informação, transformará o acesso à informação num processo mais exploratório. As pessoas poderão explorar curiosamente todos os caminhos possíveis, sem receio que isso os leve a perder o objectivo original ou destino. Esta forma de navegação poderá levar a uma nova forma de ver a informação, possibilitando caminhos e vistas que nunca seriam alcançados através da forma convencional de disponibilizar informação.

• A informação e como está ligada às aplicações usadas para a processar

Um segundo e importante defeito da forma como hoje processamos e lidamos com a informação é a forte importância dada às aplicações e técnicas usadas para trabalhar com a informação. Quando nos deveríamos centrar no trabalho a realizar, somos obrigados – e habituados a – centrar as atenções nas aplicações e técnicas necessárias para o fazer. Grandes quantidades de tempo são perdidas a descobrir como fazer determinada operação, tal como encontrar certa informação, em vez de passar esse tempo a executar realmente o que tem de ser feito. Um exemplo, a única coisa que deveria ser importante é de que informação dispomos, a que informação temos acesso e como a podemos usar para realizar a tarefa pretendida. Idealmente, não deveria interessar se a informação está num

20 Um projecto bastante interessante é o Tete-a-Tete do MIT. Este projecto cobre as áreas de Sistemas Multi-agente, Interacção Homem-Máquina e Comércio Electrónico. Pode ser consultado em http://ecommerce.media.mit.edu/tete-a-tete/ 21 Actualmente, quando navegamos num site, seguimos links para obter a informação pretendida. Passado algum tempo, principalmente se algum dos links nos levar para um novo site, é normal perder-se a noção do contexto original (por exemplo, que questão eu pretendia ver respondida?). Isto é causado, em parte, pelo facto dos browsers actuais serem baseados em páginas. Normalmente, a única forma de obter uma noção do caminho que seguimos (contexto) é usar o botão do browser que nos permite retroceder uma página. O uso técnicas tridimensionais como árvores, gráficos ou outra qualquer forma de representação, permite preservar o contexto da navegação efectuada.

Os alicerces

Information Retrieval – uma abordagem baseada em agentes 75

ficheiro de texto, numa qualquer aplicação ou numa página Web. No entanto, neste momento faz. Não é fácil, e muitas vezes é mesmo impossível, combinar informação de diferentes formatos e fontes. Felizmente as coisas estão a mudar. Uma área onde estas transformações são mais evidentes é nos browsers Web. Os produtores líderes de browsers, a Netscape e a Microsoft, estão cada vez mais a transformar o browser numa ferramenta que disponibiliza informação e serviços existente na Web numa completa camada por cima do sistema operativo, no caso da Nestcape, ou integrado no sistema operativo, como é o caso da Microsoft.

7.4 – Superdistribuição e Assinaturas Digitais Quando se quer efectivamente implementar uma camada intermédia, é necessário um mecanismo no qual os consumidores possam confiar e que garanta que a autenticidade da informação recebida que esta não foi alterada pelo caminho e em que os fornecedores ou editores possam estar seguros de que a informação que disponibilizam é fornecida e distribuída sem o perigo de infringir os direitos de autor. O que é necessário é um sistema onde os documentos possam ser distribuídos de tal forma que não possam ser alterados, lidos, copiados, impressos ou de qualquer outra forma processados sem a devida permissão. A superdistribuição e as assinaturas digitais podem oferecer um tal mecanismo, tal como se descreve a seguir. Uma assinatura digital é um envelope à volta do documento que trata de todo o processamento do documento que contém. Com a ajuda deste envelope o autor (ou editor) do documento pode definir as operações que podem e não podem ser efectuadas sobre o documento. O envelope também actua como um certificado de autenticidade, para que o receptor possa estar seguro que o conteúdo do documento não foi alterado. O envelope electrónico também torna (quase) impossível copiar o ficheiro e distribuí-lo a outros. Esta característica pode ser usada para pôr de parte um importante receio dos fornecedores em distribuir conteúdos pela Internet. Quando as assinaturas digitais são combinados com um conceito chamado “superdistribuição” pode tornar-se muito rentável para os fornecedores. O conceito de superdistribuição foi inventado por Ryoichi Mori em 1983. Desde essa altura o conceito (ou partes dele) tem sido usado em variados mecanismos de superdistribuição. Esta proporciona um mecanismo que vai de encontro às exigências e necessidades de fornecedores e de consumidores de informação e software. A principal ideia é que o conteúdo (informação ou software) pode ser distribuído e cedido a outros livremente: usando algum tipo de contentor digital não é possível efectuar cópias ilegais do conteúdo nem aceder ao conteúdo. Tradicionalmente, os editores ou fornecedores perdem o controlo sobre o conteúdo fornecido quando este é copiado e distribuído a outros pelos consumidores. Na superdistribuição este comportamento é encorajado. As pessoas tendem a olhar para o conteúdo com maior interesse quando é recomendado ou cedido por alguém que conhecem, i.e. o conteúdo torna-se superdistribuído.

Os alicerces

Information Retrieval – uma abordagem baseada em agentes 76

O que acontece é que os fornecedores cedem o conteúdo aos consumidores. Parte deste grupo de consumidores passará o conteúdo à medida que sentem que esse conteúdo poderá ser útil ou interessante para outros. E essas outras pessoas podem passá-lo a outras, e por aí adiante. “Passar” no contexto da superdistribuição (e assinaturas digitais) significa que é criada uma cópia do conteúdo (normalmente com a ajuda de uma aplicação) que é exactamente igual à original e possui as mesmas restrições de acesso que foram impostas ao exemplar original do conteúdo. Como um prémio por ter passado o conteúdo, alguns esquemas de superdistribuição dão às pessoas recompensas directas ou descontos num novo conteúdo sempre que disponibilizarem uma cópia de conteúdo superdistribuído a outros. Este esquema cria possibilidades para todo o tipo de serviços que podem ser disponibilizados aos consumidores. Por exemplo, uma empresa pode recolher informação e tratá-la. Pode então determinar uma pequena quantia de acordo com os custos totais de cada pedaço individual de informação deste serviço, que receberá de cada pessoa que obter uma cópia deste conteúdo (não interessa o nível em que a pessoa possa estar na pirâmide). As principais vantagens de usar a superdistribuição e as assinaturas digitais são:

• Como é esperado que o conteúdo seja largamente distribuído, o preço por cópia pode ser baixo: os preços pequenos são certamente melhor aceites pelo consumidor médio;

• Com o baixo preço por cópia, tentar obter o conteúdo por meios ilegais é

desencorajado, já que fazê-lo irá certamente custar mais tempo (e dinheiro) do que o necessário para obter uma cópia paga do conteúdo;

• Os consumidores não têm de se registar para obter determinado conteúdo.

Obrigar as pessoas a registarem-se seria um contra-senso se as pessoas apenas quisessem obter um pedaço específico do conteúdo. Nem todas as pessoas estão dispostas a registarem-se e a serem normalmente incomodadas com publicidade indesejada só para terem acesso a determinada informação. Normalmente os motores de busca não são capazes de indexar serviços em que é necessário o registo. Os registos assustam as pessoas exactamente por essas razões.

Os alicerces

Information Retrieval – uma abordagem baseada em agentes 77

7.5 – Resumo A Internet é por natureza uma rede anárquica, já que não é centralmente gerida nem nenhuma pessoa ou organização pode reclamar a sua posse. Existem vozes que defendem que terão de ser impostas leis e supervisão central para que a Internet – e o mercado online em geral – se torne num ambiente aberto que permita um amplo conjunto de actividades comerciais. Neste capítulo um conjunto de mecanismos e conceitos demonstram que é possível existir um fluxo livre de informação sem a necessidade de supervisão central. Um exemplo são os mecanismos de assinaturas digitais e a superdistribuição. Outro exemplo é o conceito de agência, que tem por objectivo proporcionar os meios necessários para que todos possam aceder ao mercado da informação e serem participantes activos em tudo o que nele acontece. Os agentes permitirão que não só as pessoas com conhecimentos técnicos possam participar mas também aqueles que não possuem tais conhecimentos – muitos dos quais não acedem neste momento à Internet – o possam fazer sem a necessidade de consultar (ou contratar) outros (pelo menos para tarefas básicas).

O estado actual dos agentes

Information Retrieval – uma abordagem baseada em agentes 78

8 – O estado actual dos agentes 8.1 – Introdução Para poder prever os próximos passos no desenvolvimento dos agentes e das técnicas a eles associados, vários factores têm de ser considerados. Existem várias entidades e factores relacionados com o actual desenvolvimento dos agentes, aos quais será dada particular atenção neste capítulo. O primeiro factor são as ligações existentes entre o desenvolvimento na área dos computadores (em geral) e a tecnologia de agentes. Em segundo lugar, iremos ver o factor humano no desenvolvimento dos agentes: utilizadores, fornecedores e produtores. Por último, as actuais características da Internet serão sujeitas a uma descrição mais detalhada. 8.2 – Os computadores e a tecnologia de agentes Os avanços da e na Internet estão intimamente ligados com o desenvolvimento dos computadores e das suas interfaces. No início, os computadores eram muito pouco amigáveis para o utilizador, a interacção com os utilizadores era através de uma linha de comando e não havia qualquer tipo de ajuda. Lentamente a situação mudou quando as primeiras funções de ajuda foram disponibilizadas. Uma das alterações mais importantes foi o aparecimento dos interfaces gráficos que possibilitaram uma abstracção superior no modo como se trabalhava com um computador. A popularidade dos computadores, particularmente dos computadores pessoais (PCs), é largamente devida aos desenvolvimentos na área das interfaces gráficas. Os desenvolvimentos na Internet seguiram em grande medida o mesmo padrão. No início não era usada por muita gente, e a maioria destes utilizadores eram altamente qualificados, sendo capazes de trabalhar sem a ajuda de interfaces gráficas. Com a introdução do seu próprio interface gráfico – a World Wide Web em conjunto com os browsers gráficos – a situação mudou radicalmente. Desde essa altura, mesmo os utilizadores novatos são capazes de usar (alguns dos) diversos serviços disponíveis na Internet sem terem a necessidade de saber como eles são disponibilizados. Depois da introdução dos interfaces gráficos nos computadores seguiu-se uma produção massiva de todos os tipos de produtos e aplicações, muitos dos quais exploravam as capacidades gráficas ao máximo. O mesmo está a acontecer na Internet. A maior diferença entre estas aplicações e a Internet, é que esta tem de ser mais flexível e robusta. É necessário haver mais inteligência para lidar correctamente com um ambiente incerto e dinâmico com é a Internet. Os agentes estão destinados precisamente a fazê-lo. Neste momento, a maioria dos agentes estão a oferecer esta funcionalidade de uma forma muito simples. A forma escolhida é muitas vezes usar um interface estilo wizard. Estes wizards podem ser considerados como os predecessores dos verdadeiros agentes,

O estado actual dos agentes

Information Retrieval – uma abordagem baseada em agentes 79

já que muitos deles são baseados em conjuntos de “se-então-senão” e muito pouco inteligentes ou autónomos. 8.3 – O Utilizador Neste momento os principais utilizadores de agentes são investigadores, universidades ou um conjunto muito pequeno de utilizadores da Internet. Mas quem serão os utilizadores do futuro, e quais as suas necessidades e exigências? Esta é uma questão muito importante já que a aceitação dos agentes por parte dos utilizadores é um dos pontos chave para o seu sucesso. Hoje diversos tipos de utilizadores usam regularmente a Internet e os seus serviços. Mas não se pode pensar que outros tipos de utilizadores, com outras necessidades e conhecimentos técnicos não a irão usar no futuro. A tecnologia de agentes pode ter aqui um papel importante. Não só os agentes podem resolver os problemas sentidos (e causados) pelos vários tipos de utilizadores, como também podem tornar o uso da Internet (e dos computadores) mais fácil e de forma mais amigável para o utilizador. Neste momento, os chamados agentes de interface estão a ser alvo de uma intensa pesquisa. O principal propósito destes agentes é proporcionar um interface fácil de usar em sistemas complexos como a Internet, bem como com os computadores em geral. Isto tornará, sem dúvida, a vida mais fácil para os novos utilizadores, bem como para os mais experientes (ver capítulo 2.4). 8.4 – Os Fornecedores e Produtores Como não existe apenas um tipo de utilizador, não existe também um único tipo de fornecedor. Até há algum tempo atrás, os produtores de aplicações e de novas técnicas na Internet eram sobretudo investigadores universitários. Com o emergir da Internet como mercado comercial, muitas outras entidades começaram a fazer pesquisa e a desenvolver técnicas e aplicações para a Internet. Assim, muitos dos fornecedores de informação e/ou serviços começaram também a desempenhar o papel de produtores. Isto tem os seus efeitos no desenvolvimento da tecnologia de agentes. Aspectos que eram de menor importância no passado, como o sucesso comercial de uma técnica ou como ela irá ou não ao encontro das necessidades de um certo mercado ou grupo de utilizadores, estão a tornar-se aspectos da maior relevância. As empresas usam a Internet e as aplicações baseadas em agentes como meios para atrair as atenções sobre outros produtos que vendem ou como uma rentável extensão do seu negócio. Assim, prever os desenvolvimentos de amanhã depende fortemente de quem lidera os desenvolvimentos hoje. Um produtor comercial quererá implementar diferentes características nos seus agentes em comparação com um investigador académico.

O estado actual dos agentes

Information Retrieval – uma abordagem baseada em agentes 80

Um olhar sobre estas diferenças é dado na tabela seguinte.

Objectivos comerciais Objectivos não-comerciais O objectivo é geralmente obter uma implementação prática quando a teoria estiver suficientemente bem trabalhada. O trabalho teórico deve ser suficientemente bem trabalhado, mas não necessita de ser exaustivo, pelo menos não imediatamente.

Os produtores não-comerciais irão, provavelmente, efectuar um extensa pesquisa sobre o conceito completo ou aplicação antes de se preocuparem com a implementação prática.

Os agentes devem ser rentáveis – de qualquer forma – dentro dum período de tempo razoável.

Os agentes podem acabar por se tornar rentáveis (ou ter o potencial para), mas isso não será um objectivo explícito.

As necessidades dos utilizadores desempenham um papel central no desenvolvimento. Por causa desta importância fulcral, aspectos importantes podem ser descurados.

Uma robustez teórica e a perfeição são os principais factores no processo de desenvolvimento. As necessidades dos utilizadores não são geralmente tidas em conta, pelo menos até se chegar à parte de implementação. A pesquisa tende, no entanto, a ficar demasiado tempo na parte teórica.

Os produtores comerciais não estão muito interessados em desenvolver segundo determinados standards públicos (a não ser que tenham sido eles os produtores de tal standard).

O objectivo (nem sempre explícito) é atingir standards públicos, ou pelo menos chegar a um consenso em aspectos vitais, já que isto torna mais fácil o trabalho com outros grupos e a partilha de resultados (tentando evitar que trabalho ou esforço duplicado seja feito).

Nenhum destes extremos é muito desejável: os agentes não devem permanecer um “interessante objecto de estudo” eternamente, nem a pesquisa/implementação deve ser apontada simplesmente para o lucro. 8.5 – A Internet e a World Wide Web Que importantes factores podem ser hoje observados na Internet?

1. O número de utilizadores cresce rapidamente. Nos primeiros anos da Internet a maioria dos utilizadores eram investigadores e funcionários públicos americanos. Estes utilizadores tinham elevado nível académico, estavam familiarizados com computadores e/ou redes e sabiam como usar os diversos serviços da Internet. No entanto, a maioria dos utilizadores que acedem hoje à Internet não têm experiência com computadores, não têm necessariamente um elevado grau académico e estão apenas parcialmente familiarizados com as técnicas e possibilidades das redes, em geral, e da Internet e dos seus serviços, em particular;

O estado actual dos agentes

Information Retrieval – uma abordagem baseada em agentes 81

2. O número de entidades a oferecer serviços e informação na Internet cresce rapidamente. Um crescente número de empresas, mas também entidades como o governo, oferecem serviços na Internet (normalmente através da World Wide Web). O montante de dinheiro investido numa “presença na Internet” tem crescido desde que as empresas tomaram conhecimento do potencial da Internet. O número de servidores Web duplica de ano para ano;

3. O crescimento no número de utilizadores não está a ser acompanhado pela

largura de banda disponível. Apesar de estarem a ser feitos largos investimentos em ligações mais rápidas (por exemplo, substituindo cabos coaxiais por fibra óptica) e backbones mais poderosos, a necessidade de largura de banda ultrapassa de longe a disponibilidade. Os utilizadores, especialmente aqueles que trabalham com a Internet desde os primeiros tempos, sentem o uso excessivo que origina momentos em que é praticamente impossível aceder a um servidor ou a transferência de dados demora “anos”. Os utilizadores terão de continuar a viver com este “inconveniente”, já que parece pouco provável que o crescimento da largura de banda disponível alcance o crescimento do número de utilizadores;

4. Desde 1995 a World Wide Web é o serviço mais popular da Internet.

Até 1995 o e-mail era o serviço mais usado na Internet. No entanto, por ser amigável, fácil de usar e atraente, a WWW alcançou o primeiro lugar, até porque pode servir de porta de entrada para outros serviços como o FTP ou o Gopher. Interagir com um arquivo de software através da WWW é muito mais fácil do que usar o FTP: a interface gráfica permite que o utilizador se movimente pelo arquivo e obtenha o software desejado, mesmo que desconheça os comandos necessários para o fazer. O mesmo acontece com os outros serviços na Internet. Através da WWW os utilizadores têm acesso a um conjunto infindável de informação e serviços. Esta é a principal razão pela qual as empresas fornecem serviços e informação na Internet: quando informação útil é combinada com informação comercial, a empresa pode obter uma grande exposição aos utilizadores (potenciais clientes) e reunir todo o tipo de informação sobre eles, por exemplo, pelo feedback dado pelos próprios utilizadores;

5. As tecnologias emergentes são código móvel, ambientes virtuais e

ferramentas cooperativas. O código móvel tem revelado a sua eficiência ao consumir menos recursos da rede, pelo transporte da computação para o local (remoto) onde estão os dados. Muitas instituições, sobretudo museus, através de linguagens como o VRML22, permitem aos utilizadores uma visita a uma cópia virtual do edifício. Cada vez mais as aplicações permitem e facilitam a realização do trabalho em equipa, sendo a Internet o meio ideal para a troca de informação.

22 O VRML (Virtual Reality Modelling Language), é uma linguagem de programação que pode ser usada para aumentar as capacidades de um documento HTML. O VRML torna possível a criação de ambientes tridimensionais virtuais nos quais os utilizadores se podem mover.

O estado actual dos agentes

Information Retrieval – uma abordagem baseada em agentes 82

Assiste-se hoje a uma elevada popularidade da WWW. Esta popularidade parece indicar a necessidade dos utilizadores duma interface única, amigável e que seja capaz de esconder a maioria das (ou mesmo todas as) técnicas que são necessárias para possibilitar um serviço ou para levar a cabo determinada tarefa. Os produtores de browsers estão a seguir esta necessidade ao criarem software cada vez mais versátil. Por exemplo, o Netscape pode ser usado como browser, leitor de notícias (Usenet) e programa de correio electrónico. De facto, a enorme popularidade da WWW é em larga medida devido aos browsers disponibilizados. Os agentes podem oferecer funcionalidades semelhantes. Aliás, podem oferecer funcionalidade e flexibilidade acrescidas, podendo facilmente ser combinados com standards livres (como o modelo de três camadas). A WWW pode ser considerada como sendo o primeiro passo para o uso de tecnologias mais sofisticadas (agentes inteligentes) e para o desenvolvimento de standards para a Internet. Um problema crescente é a disponibilidade de largura de banda. Os motores de busca, com os seus programas de indexação (spiders, worms, crawlers), contribuem em larga medida para este problema. A principal razão é que cada motor de busca possui uma série destes programas para reunir informação. A informação reunida não é partilhada com outros motores de busca, desperdiçando-se quantidades consideráveis de largura de banda.

O futuro (esperado) dos agentes

Information Retrieval – uma abordagem baseada em agentes 83

9 – O futuro (esperado) dos agentes 9.1 – A Tecnologia de agentes Os agentes terão certamente um grande impacto. A evolução mais provável é que os agentes continuem a aparecer em níveis simples de complexidade integrados em aplicações (ex.: processadores de texto, folhas de cálculo, bases de dados). Depois desta fase os agentes irão gradualmente evoluir para aplicações mais complexas. Os desenvolvimentos esperados e as questões técnicas que necessitarão de maior atenção são:

• A arquitectura/standard escolhida; • Assuntos legais e éticos relacionados com aspectos técnicos dos agentes;

• Permitir, facilitar e gerir a colaboração entre agentes;

• Aspectos relacionados com a interface com o utilizador;

• Aspectos técnicos.

Cada um destes pontos será analisado nas sub-secções seguintes. 9.1.1 – A arquitectura/standard escolhida Este é um factor extremamente importante. Nalguns poucos pontos o consenso já parece ter sido alcançado: uma ACL (Agent Communication Language) é adoptada e usada por muitas entidades como a sua linguagem de agentes. As ACLs resultam do esforço do grupo KSE (Knowledge Sharing Effort) do DARPA-DoD (Defense Advanced Research Projects Agency – US Department of Defense) desde o início dos anos 90. ACLs como o KIF (Knowledge Interchange Format), KQML (Knowledge Query and Manipulation Language) ou FIPA ACL (Foundation for Intelligent Physical Agents) são usadas para trocar conhecimento e questões entre agentes. KIF e KQML são usados, por exemplo no Matchmaker que vimos anteriormente, e estão actualmente a alargar a sua base de utilização. De um modo geral, os standards são lentos a surgir, mas exemplos como o HTML mostram que um standard pode emergir em dois ou três anos quando é suficientemente bom e vai de encontro às necessidades de um largo número de pessoas. Outro aspecto de igual importância é a arquitectura que será seguida e que se tornará num standard. Ainda não existe um consenso sobre esse ponto. Existem duas arquitecturas possíveis que podem ser seguidas, cada um das quais tem fortes influências de aspectos como o investimento necessário e a complexidade dos sistemas de agentes:

O futuro (esperado) dos agentes

Information Retrieval – uma abordagem baseada em agentes 84

• Arquitectura Homogénea Existe um único sistema que gere todas as transacções e funções. Muitas das aplicações tipo-agente usam este modelo porque a aplicação pode, por si só, fornecer todo o sistema de agente necessário;

• Arquitectura Heterogénea Existe uma comunidade onde agentes interagem com outros agentes. Este modelo de comunidade assume que os agentes podem ter utilizadores diferentes, capacidades e custos diferentes e estruturas e formas de funcionamento distintos.

Existem vários factores que influenciam qual o caminho a seguir, i.e. qual destas duas arquitecturas se tornará predominante [Peter Janca, 1995]:

• O produtor da tecnologia de agentes que for escolhida para ser usada no

modelo heterogéneo. Este produtor terá de estar disposto a fornecer o código fonte para que os outros possam desenvolver aplicações e usá-la como base de investigação posterior. Se o produtor não estiver disposto a fazê-lo, outras entidades (como universidades) irão começar a desenvolver outras linguagens. Se o produtor partilhar o código fonte com outros, investigadores e outros concorrentes, será possível melhorar a técnica e desenvolver melhores aplicações com ela. É por esta razão que muitos produtores nesta situação, pelos menos os comerciais, escolherão manter o código fonte em seu poder, já que não quererão perder este rentável monopólio. No fim, este proteccionismo combinado com os desenvolvimentos conseguidos pelas universidades e concorrência, resultará em múltiplas técnicas alternativas, o que conduzirá a uma arquitectura heterogénea;

• Requisitos de interoperabilidade

É crescente a necessidade de cooperar/interagir com outras entidades, em actividades como a procura de informação, já que fazê-lo sozinho depressa leva a situações insustentáveis. Aqui, uma arquitectura homogénea iria certamente tornar as coisas mais fáceis comparadas com uma arquitectura heterogénea já que não era preciso preocuparmo-nos com qual a linguagem de agente ou sistema que outros estariam a usar. No entanto, os sistemas multi-agente – especialmente os envolvidos no acesso à informação, selecção e processamento – irão depender do acesso às fontes existentes. Os gestores destas fontes não estarão certamente interessados em rescrever as aplicações só para cumprir algum standard. Uma forma de trocar informação terá de ser desenvolvida para permitir que estas aplicações participem no mercado de informação. Isto torna claro que tal só pode ser conseguido quando se usa um modelo heterogéneo de agentes. Para além disso, os agentes serão desenvolvidos em diferentes lugares, diferentes tempos, com diferentes necessidades ou requisitos. É altamente improvável que um único modelo funcione para todos;

O futuro (esperado) dos agentes

Information Retrieval – uma abordagem baseada em agentes 85

• A escolha dos utilizadores Finalmente, o factor de maior importância será a necessidade criada pelos utilizadores. As pessoas usam as aplicações que gostam por algum motivo. A arquitectura que for usada por (ou que melhor suporte) estas aplicações tornar-se-á na arquitectura prevalecente e ditará o standard de futuros desenvolvimentos e aplicações.

Apesar de um arquitectura homogénea ter as suas vantagens, é muito pouco provável que todos os problemas a ela ligados possam ser resolvidos. Assim, apesar da arquitectura de agentes esperada ser heterogénea, isto não será pelos seus méritos mas antes pelos deméritos de uma arquitectura homogénea. 9.1.2 – Assuntos legais e éticos relacionados com aspectos técnicos dos agentes

• Autenticação Como pode ser assegurado que um agente é quem diz ser e que representa quem diz representar?

• Privacidade

Como pode ser assegurado que o agente mantém a privacidade de um utilizador? Como se assegura que terceiras entidades não podem ler o conteúdo de um agente e usá-lo em seu próprio benefício?

• Responsabilidade que acompanha a delegação de autoridade

Quando um utilizador delega autoridade num ou mais agentes que o representam deve estar consciente da responsabilidade que é transferida;

• Aspectos éticos como o asseio (um agente deve deixar o mundo como o

encontrou), economia (um agente deve limitar o seu consumo de recursos escassos) e vigilância (um agente não deve permitir ou executar acções sem resultados previsíveis).

9.1.3 – Permitir, facilitar e gerir a colaboração entre agentes

• Comunicação, interoperabilidade e serviços intermédios Como devem ser fornecidos serviços intermédios no mercado de informação ou outros serviços específicos, como os que vimos no modelo de três camadas?

• Coordenação entre agentes

Este é um aspecto fundamental no desenvolvimento destes sistemas. A coordenação é essencial para permitir que grupos de agentes solucionem problemas de forma eficiente. A coordenação também é fundamental em situações onde o tempo e custos são escassos;

• Estabilidade, escalonabilidade e performance

Estes são aspectos essenciais para o futuro de um sistema de agentes cooperantes;

O futuro (esperado) dos agentes

Information Retrieval – uma abordagem baseada em agentes 86

• Avaliação de sistemas cooperativos de agentes Métodos e testes têm de ser desenvolvidos para verificar e validar os sistemas para ter a certeza que eles atingem as suas especificações funcionais e para verificar se ocorrências não previstas são tratadas correctamente.

9.1.4 – Aspectos relacionados com a interface com o utilizador

• Determinar quais as técnicas de ensino preferíveis para cada domínio e

porquê Isto pode ser conseguido levando a cabo diversas experiências usando vários métodos de ensino em vários domínios;

• Estender a aplicação de agentes de interface a outras áreas inovadoras

(como o entretenimento);

• Demonstrar que o conhecimento obtido com os agentes de interface pode ser verdadeiramente usado para reduzir o trabalho dos utilizadores e que os utilizadores os querem realmente;

• Desenvolver os agentes de interface para que possam negociar com outros

agentes semelhantes. 9.1.5 – Aspectos técnicos

• Sistemas já implementados Técnicas e métodos precisam de ser estabelecidos para os sistemas já implementados e os agentes interagirem;

• Movimentação de dinheiro

Como irão os agentes pagar os serviços a que acedem? Como pode um utilizador confiar num agente para manusear a sua conta bancária?

• Melhorar e aumentar a inteligência dos agentes

A inteligência dos agentes necessitará continuamente de ser melhorada/estendida de todas as formas possíveis;

• Melhorar e aumentar a aprendizagem dos agentes

Pode a aprendizagem dos agentes levar à instabilidade dos seus sistemas? Como pode ser assegurado que os agentes não passam demasiado tempo a aprender em vez de se reconfigurarem com os novos conhecimentos?

• Performance

Qual será o efeito de ter centenas, milhares ou milhões de agentes numa rede como a Internet?

O futuro (esperado) dos agentes

Information Retrieval – uma abordagem baseada em agentes 87

9.2 – O Utilizador O utilizador é uma das mais – senão a mais – influente entidade envolvida no desenvolvimento dos agentes. No entanto, é de esperar que a maioria dos utilizadores adopte uma atitude passiva no que respeita aos agentes. Esta atitude pode ser denominada “passiva” porque os utilizadores apenas gradualmente começarão a usar aplicações que apliquem a tecnologia de agentes. Eles não começarão a usar estas aplicações pelo facto destas usarem agentes mas simplesmente porque acham estas aplicações mais eficientes, rápidas, amigáveis, etc. Podem até achá-las mais “inteligentes”, mesmo que nunca tenham ouvido falar do conceito de agentes inteligentes. 9.2.1 – Facilidade de utilização De um modo geral, a facilidade de utilização (ou a falta dela) será um dos factores mais importantes na área de agentes. Se os utilizadores não se sentirem confortáveis a trabalhar com agentes, se se sentirem inseguros ou não confiarem nos agentes, se têm de lidar com problemas de software ou hardware, os agentes nunca conseguirão chegar a ser largamente usados e procurados pelos utilizadores. O aspecto da facilidade de uso pode ser dividido nos seguintes itens:

• O Interface com o utilizador A interface entre os utilizadores e os agentes é um factor extremamente importante para o sucesso. As futuras interfaces dos agentes terão de superar dois obstáculos: o primeiro é o fosso entre os computadores e os utilizadores e o segundo o fosso entre os agentes e os utilizadores. Agentes de interface terão de ser usados para garantir que utilizadores inexperientes, ou mesmo aqueles que nunca trabalharam com um computador, serão capazes de trabalhar com computadores e sentirem-se confortáveis ao fazê-lo. Um bom interface com o agente/computador deverá parecer amigável ao utilizador novato. A questão se os interfaces antropomórficos são um bom meio para atingir esse objectivo pode ser um pouco controversa. Alguns defendem que as pessoas gostam de tratar os computadores como se fossem pessoas. Assim, fornecer um interface que desse um aspecto mais humano aos computadores iria encaixar perfeitamente nesta atitude. Outros defendem que os utilizadores rapidamente perderiam o interesse por um interface antropomórfico (achando-o por exemplo muito infantil) ou ficariam desapontados com o nível de inteligência de tais interfaces (pelas limitações perceptíveis). Assim, as interfaces com os utilizadores não só têm de parecer bem como também precisam de ser inteligentes. A inteligência neste contexto relaciona-se com capacidades como entender comandos efectuados em linguagem natural ou tomar o contexto em consideração quando os comandos são efectuados e por quem é que isso é feito.

• Segurança/Confiança

A segurança e confiança (i.e. a previsibilidade) serão factores de capital importância para alguns utilizadores. O crescimento de sistemas multi-agente complica ainda mais a situação já que se torna muito difícil manter uma boa visão de toda a situação quando diversas camadas de agentes e todo o tipo de

O futuro (esperado) dos agentes

Information Retrieval – uma abordagem baseada em agentes 88

agentes estão envolvidos. Como é possível assegurar que nada é perdido, alterado ou tratado de forma errada num sistema onde múltiplos tipos de agentes têm de trabalhar em conjunto para satisfazer um pedido? Uma possibilidade para oferecer um sistema de agentes seguro é usar uma linguagem comum. Mas como foi dito anteriormente, não é provável que todos os agentes venham a usar a mesma linguagem. Outro aspecto que complica é o facto de os agentes serem programados assincronamente. Os agentes são construídos em diferentes momentos de tempo, tendo assim a sua própria agenda e capacidades, o que pode não ser compatível com as actividades de outros agentes. As pessoas terão de confiar nos agentes já que, cada vez mais e mais informação é disponibilizada, e não serão capazes de a tratar convenientemente sem ajuda. É, portanto, necessário passar a responsabilidade pelo menos parcialmente aos agentes.

• Hardware

O ambiente dos sistemas operativos usados pela maioria das pessoas, torna difícil capturar o tipo de informação necessária para medir a acções dos utilizadores. Sem estes sinais os agentes de interface não podem determinar quando devem intervir. Um problema que está relacionado com este facto é a existência de um ambiente que não é standard. Cada PC pode ser só um bocadinho diferente, mas torna o desenvolvimento de um interface standard um desafio enorme.

9.2.2 – Aplicações disponíveis A facilidade de utilização está intimamente ligada a outro factor na aceitação e adopção dos agentes por parte dos utilizadores: a disponibilidade de aplicações de agentes que o utilizador ache úteis, convenientes, etc. A adopção dos agentes pelos utilizadores não será guiada pelas capacidades da tecnologia de agentes mas pelas aplicações de agentes. As principais aplicações de agentes, relacionadas com a necessidade de informação, que certamente terão um maior desenvolvimento num futuro próximo serão as seguintes:

• Assistentes pessoais Aqui o sistema de agentes trata individualmente cada utilizador. À medida que o sistema tem cada vez mais experiência, parecer-se-á cada vez mais com um assistente pessoal. Exemplos destes assistentes pessoais são o OpenSesame! e o Microsoft Bob.

• Gestão de informação

Está relacionado com os progressos em relação aos actuais motores de busca. Uma melhoria será a habilidade de ir além do normal ambiente de pesquisas. Outra melhoria será um agente pré-determinar que fontes de informação irão ser consultadas. Será ainda possível efectuar pesquisas baseadas no contexto em vez de palavras chave, seleccionando as fontes de informação com base no contexto. Um exemplo de um destes agentes é o ConText da Oracle. É uma tecnologia de processamento de linguagem natural capaz de comprimir e sumariar documentos. A forma como a informação é comprimida pode depender do gosto

O futuro (esperado) dos agentes

Information Retrieval – uma abordagem baseada em agentes 89

pessoal: o tipo de informação, dia da semana, etc. Pode ser necessária alguma inteligência para determinar como os dados vão ser apresentados.

• Jornal pessoal

Um jornal diário pessoal é apresentado ao utilizador. Este jornal inclui cabeçalhos e sumários dos artigos para maior facilidade de utilização. A aplicação irá analisar qual a informação que o utilizador lê em primeiro lugar e ajustar as futuras apresentações a este padrão de leitura. Exemplos de jornais pessoais que já estão a ser oferecidos são o The Wall Street Journal, The Times e o InfoSage da IBM.

• Assistente pessoal de pesquisa

Existe um agente (o assistente) que tem conhecimento das preferências do utilizador, bem como dos seus graus de exigência para informação sobre certos tópicos. Analisa as fontes de informação apropriadas e entrega sumários baseados num esquema pré-definido periodicamente ou a pedido do utilizador. Eventualmente, o agente e o utilizador poderão comunicar através de linguagem natural.

9.3 – Os Fornecedores e Produtores Duas questões importantes no que diz respeito aos fornecedores é quem irá disponibilizar agentes e porque (com que intenções) o fará. Para os programadores um questão central é o que (que funcionalidade) os agentes terão para oferecer. No entanto, as coisas complicam-se porque fornecedores e produtores podem fazer o papel um do outro. Por exemplo, um fornecedor de um software de agentes pode também efectuar pesquisa sobre agentes, que pode ser usada em todo o tipo de novas aplicações de agentes. E os fornecedores e investigadores podem ser também utilizadores de agentes. Assim é difícil prever como estes papéis serão representados no futuro e como irão estes actores contracenar. 9.3.1 – Quem estará a desenvolver agentes e como serão eles oferecidos? A maioria das organizações produtivas presentes na Internet usam um modelo de produção/distribuição. Ao mesmo tempo, existe um grupo de organizações cujo principal produto é fornecer serviços, adicionando valor ao processo de transacção (como é o caso dos fornecedores de informação), mudando o seu papel de intermediários passivos para um estado mais activo e elaborado. Estas organizações estão a mudar de um modelo de produção/distribuição para um modelo baseado no consumidor e estão muito interessadas em aplicações e técnicas que lhes permitam chegar ao maior número de utilizadores e que melhorem a forma como prestam os seus serviços. Conceitos como o modelo de três camadas e agentes de software podem ajudar a fornecer/possibilitar tudo isto. Intermediários não-comerciais, como bibliotecas ou o governo (e todos os seus serviços e organizações), podem usá-los para estender os seus serviços a um maior grupo de utilizadores (na Internet ou nas suas redes locais). Podem ajudar os utilizadores a seleccionar as fontes de informação correctas para satisfazer as suas necessidades da mesma forma que estes intermediários o têm feito em meios

O futuro (esperado) dos agentes

Information Retrieval – uma abordagem baseada em agentes 90

convencionais como os livros e artigos publicados. Os intermediários comerciais podem oferecer estes serviços aos seus clientes, mas de forma mais elaborada e com várias formas de suporte. Como foi dito, o modelo produção/distribuição está actualmente em voga entre as organizações que negoceiam na Internet. Um dos factores mais importantes para que assim seja é, provavelmente, o facto que isso permite usar as mesmas técnicas e os mesmos anúncios na Internet que se usam, ou já foram usados, noutros meios (jornais, televisões, etc.). O problema de usar este modelo simples é que o utilizador (i.e. o consumidor) tem de procurar, encontrar e aceder à informação. E é de prever que os futuros utilizadores da Internet não quererão perder muito tempo neste tipo de tarefas. 9.3.2 – Que tipos de agentes serão oferecidos? Os fornecedores cedo terão de se ajustar à mudança descrita no parágrafo anterior. Existirão tantos fornecedores a disponibilizar produtos e/ou serviços semelhantes, que os utilizadores (i.e. consumidores) necessitarão de ser atraídos por outros meios que não preços atractivos ou anúncios engraçados. Tudo leva a crer que os serviços fornecidos (informação sobre o produto, ajuda ao utilizador, a disponibilidade para o atendimento personalizado, etc.) serão o factor decisivo. Os agentes podem ser usados para oferecer informação/serviços individualizados mas também para os fornecer no tempo que for mais indicado para o utilizador (independentemente da sua localização). Exemplos de serviços que podem ser disponibilizados no futuro:

• Os agentes podem ser usados para fornecer serviços personalizados, por exemplo ajudar alguém a encontrar a informação jurídica correcta sobre um determinado problema e apresentá-la na forma mais compreensiva, baseada em informação do utilizador recolhida pelo seu agente;

• Os editores podem usar os agentes como ferramentas para pré-seleccionar

informação (notícias) para os utilizadores. Devido à sua experiência e autoridade, grupos de utilizadores continuarão a confiar nos editores para lhes seleccionarem a informação, tal qual o fazem hoje nos jornais, revistas ou literatura profissional;

• Fornecedores pequenos ou individuais podem usar os agentes para fornecer

informação personalizada sobre os seus serviços e/ou produtos e podem poupar dinheiro já que não têm de enviar material publicitário impresso que apenas fornece informação genérica.

Independentemente do que irá ser disponibilizado no futuro, é de vital importância que – especialmente para produtores de agentes – seja fornecida informação credível sobre as possibilidades da tecnologia de agentes para prevenir expectativas demasiado optimistas aos utilizadores de agentes. Nem utilizadores, fornecedores ou produtores teriam muito a ganhar com isso.

O futuro (esperado) dos agentes

Information Retrieval – uma abordagem baseada em agentes 91

9.3.3 – Porquê/com que razões serão os agentes desenvolvidos e/ou disponibilizados? As razões pelas quais as organizações desenvolverão agentes podem ser diversas. No entanto, todos eles têm maior ou menor influência sobre os agentes e na funcionalidade que têm para oferecer. Para os produtores comerciais, existem provavelmente três importantes razões para desenvolver agentes:

1. Em primeiro lugar, os agentes são desenvolvidos porque podem ser e serão rentáveis. A julgar pelas actuais necessidades dos utilizadores, adicionando a funcionalidade que os agentes podem oferecer às aplicações existentes é seguro concluir que se pode ganhar dinheiro com eles. E se uma empresa não desenvolver ou fizer pesquisa sobre agentes, a concorrência certamente o fará. E falando de um mercado como a Internet, é melhor não ficar à espera demasiado tempo;

2. Os fornecedores e intermediários podem usar os agentes para mais eficazmente

chegarem ao seu público alvo (até mesmo público que ao qual até agora não podiam chegar, ou não o conseguiriam nas melhores condições usando os meios tradicionais). Assim, eles têm todas as razões para desenvolver bons agentes (para as três camadas: fornecedores, intermediários e consumidores).

3. A Internet torna possível chegar a um elevado número de público com poucos

custos ou riscos. Os agentes podem aumentar esta vantagem, tornando possível a prestação de serviços personalizados 24 horas por dia. Pode ser poupado muito dinheiro de diversas formas - um agente de software é muito mais barato que um agente humano.

Uma importante razão para desenvolver agentes, para qualquer tipo de produtor, é que eles são capazes de realizar diversos tipos de tarefas. Melhor ainda, podem executar essas tarefas mais inteligentemente que os programas tradicionais, mais rápida e eficazmente. Isto poupa tempo e dinheiro, proporciona melhores resultados, etc. Para além das razões para desenvolver e/ou oferecer agentes, existem também boas razões para alguns não o fazerem. O uso do modelo de três camadas e de agentes, conduz a um mercado transparente onde os utilizadores – através da camada intermédia e dos seus agentes podem obter uma visão de todos os (ou pelo menos parte dos) fornecedores num mercado específico, dos seus preços, dos serviços que oferecem, etc. Assim, uma questão a colocar é se os fornecedores querem este mercado transparente, já que alguma obscuridade lhes pode trazer vantagens ao tornar mais difícil para os utilizadores obter uma ideia da existência ou não de melhores alternativas. Para além das razões pelas quais os agentes devem ser desenvolvidos e/ou oferecidos, as razões pelas quais alguns não querem que os agentes sejam desenvolvidos ou oferecidos irão também desempenhar o seu papel. A sua influência, no entanto, não deverá ser muito grande, já que é bastante improvável que as entidades que partilham desta opinião sejam capazes de exercer uma forte pressão.

O futuro (esperado) dos agentes

Information Retrieval – uma abordagem baseada em agentes 92

9.4 – A Internet e a World Wide Web

Como o mais importante ambiente para as aplicações, a Internet tem de ser tida em consideração quando se fazem previsões. E sabe-se que cada vez mais pessoas estão a familiarizar-se com a Internet (em geral) e cada vez mais pessoas estão a fazer as primeiras viagens nas auto-estradas da informação. No entanto, depois do primeiro período de introdução, muitos dos novos utilizadores encontram vários problemas. Um dos mais importantes é a dificuldade em encontrar informação específica. Contrariamente ao que podia ser esperado, isto não tem uma influência negativa na percepção da utilidade da Internet como fonte de informação. Os agentes podem ajudar os utilizadores que procuram informação (específica). De facto, é fundamental que esta funcionalidade seja oferecida. Os agentes podem não só ser usados para reunir informação mas também para proporcionar interfaces adequadas e personalizadas com os computadores bem como com a Internet. Outro problema que existirá, pelo menos durante os próximos anos, é a falta de recursos. O incremento no uso da Internet está a ultrapassar a sua capacidade (a largura de banda disponível). É difícil prever se este será apenas um problema “temporário”. Tudo dependerá de certas entidades estarem ou não dispostas e investir em mais e mais rápidas redes de comunicação. Os agentes podem ajudar a reduzir o desperdício de largura de banda, por exemplo, efectuando as pesquisas de modo mais eficiente. Por outro lado, irão aumentar o uso da Internet. As características que proporcionam aos utilizadores (interface amigável, conveniência, etc.) irão atrair mais utilizadores e levar ao uso da Internet como uma ferramenta de informação. No entanto, os agentes não podem ser culpados por isso.

Quando a confiança dos utilizadores nos pagamentos electrónicos aumentar, muitos pequenos pagamentos serão possíveis na Internet. Isto irá estimular bastante a procura de agentes, já que efectuar as pesquisas de modo ineficiente irá não só custar tempo como também dinheiro. Pesar o (valor do) que é oferecido em produtos ou serviços pelos numerosos fornecedores contra o valor do que tem de ser pago para os obter, será uma tarefa muito complicada para um humano a realizar sem ajuda. Em vez disso, eles irão delegar estas tarefas aos agentes.

O que certamente também se irá verificar é o aumento do número de redes locais (Intranets). As Intranets são de fácil manutenção, são indicadas para aplicações multimédia, podem ser usadas como gateway para a Internet e são basicamente seguras (comparadas com os riscos da Internet) e possuem todas as boas características da Internet (robustez, flexibilidade, etc.). Os agentes podem estar activos nas Intranets assim como o podem estar na Internet. E mais uma vez, será necessário pesar qual o tipo de ligações a usar: mais baratas mas mais lentas ou mais caras mas também mais rápidas. Isto tudo pode depender da urgência da tarefa que tem de ser processada, a hora do dia em que é processada, etc.

O futuro (esperado) dos agentes

Information Retrieval – uma abordagem baseada em agentes 93

9.5 – Resumo Prever como os agentes irão evoluir no futuro não é uma tarefa fácil. Não só porque a tecnologia de agentes ainda está em evolução, mas também porque diversas entidades estão envolvidas no seu desenvolvimento, influenciando-se mutuamente. Isto torna quase impossível prever como o ambiente (utilizadores, fornecedores, Internet, computadores) responderá à tecnologia de agentes e a muitos outros desenvolvimentos que certamente surgirão. O derradeiro teste do sucesso dos agentes será a sua aceitação e o uso massivo por parte dos utilizadores. Este caminho para o sucesso dependerá do que for conseguido por fornecedores e produtores. É de esperar que muitas entidades comerciais se interessem pelos agentes, tendo em vista as imensas e interessantes oportunidades criadas. Os agentes permitirão fornecer serviços personalizados, fornecidos “a horas” e provavelmente a baixos custos. No entanto, certos pontos importantes têm de ser bem definidos. Standards sólidos têm de ser estabelecidos para aspectos como a comunicação entre os agentes, algum tipo de questões e perguntas entre os agentes devem ser definidos, etc. Além disso, regras e até mesmo leis são necessárias para regular comportamento indesejável por parte de agentes e ser capaz de lidar com futuras questões legais (ex.: quem é responsável pelas acções de um agente). Ultrapassando estes obstáculos é só uma questão de deixar que as diversas entidades envolvidas desempenhem os seus papeis no mercado da informação.

Conclusões

Information Retrieval – uma abordagem baseada em agentes 94

10 – Conclusões À medida que a Internet cresce cada vez mais, começa a tornar-se claro que algo terá de mudar. Navegar na Web, colocar questões a motores de busca e ferramentas e soluções semelhantes funcionaram bem até há algum tempo atrás. Neste momento são necessários novos conceitos, novas formas de trabalhar, já que as actuais soluções não são capazes de acompanhar a constante evolução da quantidade de informação disponível. A Tecnologia Push foi uma das tentativas para resolver o problema. Por muito útil que possa ser para tipos específicos de utilizadores, não traz muitas vantagens para a maioria. O que esta tecnologia mostrou é que muitas pessoas delegam de boa vontade a outros o processo de encontrar informação que se encaixasse nas suas necessidades pessoais. Por esta razão a camada intermédia, combinada com o uso de agência e aplicações de agentes, é bastante prometedora e tem um enorme potencial. É minha convicção pessoal que no futuro, não iremos apenas usar novas formas de trabalhar no mercado online de informação, mas teremos também novas formas de usar os computadores em geral. Em vez de pensarmos nos computadores como algo que, para ser usado, é necessário deslocarmo-nos até ele e sentarmo-nos à sua frente, evoluiremos para uma situação em que nem sequer nos aperceberemos que os estamos a usar. Computadores e dispositivos inteligentes estarão onde precisarmos deles, na forma mais adequada para realizar o trabalho pretendido. E certamente, terão de ser manejados pelo utilizador mais inexperiente. Os agentes de software permitirão que todos possam estar envolvidos activamente no mercado de informação. Neste momento muitas dessas novas formas de usar, interagir e trabalhar com computadores e software podem parecer muito estranhas e invulgares. Com a pesquisa efectuada nesta área, deveremos ser capazes de integrar as novas formas com as antigas (as formas que conhecemos e que nos são familiares). Isto é algo que deve ficar claro com a leitura deste trabalho: camada intermédia, agentes distribuídos, agentes de interface, etc. são tudo técnicas e aplicações que não nos irão obrigar, mais uma vez, a aprender algo completamente novo, mas pelo contrário irão fazer com que os computadores e as aplicações aprendam connosco. Deverão permitir que as pessoas voltem a ganhar uma sensação de controlo sobre o que estão a fazer e as ajudem a “sobreviver” no mercado de informação que diariamente continua a crescer. A nossa maior necessidade não é mais informação, um mais rápido acesso à informação ou maior disponibilidade de acesso. Os problemas surgem – como muitos já notaram – pela falta de um significante contexto pelo qual a nova informação possa ser assimilada. Adicionar nova informação e novas fontes, onde estes problemas fundamentais não foram ainda resolvidos, apenas nos afasta mais do que é pretendido.

Pesquisa futura

Information Retrieval – uma abordagem baseada em agentes 95

11 – Pesquisa futura Concluído este trabalho (se é que alguma vez se consegue terminar algum) pretendo continuar a pesquisa nas seguintes áreas:

• Meios/ferramentas que auxiliem os agentes a lidar com o elevado número de questões que lhes são colocadas De forma a satisfazer um pedido colocado por um utilizador ou pelo seu agente pessoal, os agentes intermediários enviarão esse pedido a um conjunto de fontes/fornecedores que, de acordo com os anúncios recolhidos, pareçam os mais habilitados a satisfazê-lo. Os fornecedores terão de ser capazes de fornecer uma resposta tanto concisa como atempada (os agentes provavelmente irão apenas esperar um certo período de tempo para que as fontes respondam). Os agentes intermediários terão, por sua vez, que ser capazes de enfrentar o mesmo tipo de restrições temporais.

• Expectativas dos utilizadores em relação aos agentes de software

Os aspectos técnicos dos agentes de software exigem bastante tempo e consideração, mas apenas recentemente um importante factor, as expectativas dos utilizadores, mereceram uma maior atenção. Os aspectos técnicos de uma aplicação e aquilo que os utilizadores esperam dela, são matérias que não poderão mais estar dissociadas.

Bibliografia

Information Retrieval – uma abordagem baseada em agentes 96

12 – Bibliografia Leornado Garrido, Center for Artificial Intelligence, “Intelligent Agents Repository” http://www-cia.mty.itesm.mx/~lgarrido/Repositories/IA/index.html Franklin, S. and Graesser, A., “Is it an Agent, or just a Program?: A taxonomy for Autonomous Agents” http://www.msci.memphis.edu/~franklin/AgentProg.html Gruber, T., “Agents and Mediators” http://www-ksl.stanford.edu/knowledge-sharing/agents.html Lieberman, H. and Maulsby, D., “Instructible agents: Software that just keeps getting better” http://www.almaden.ibm.com/journal/sj/mit/sectiond/lieberman.html Hearst, Marti A., “Interfaces for Shearching the Web” http://www.sciam.com/0397issue/0397hearst.html Lynch, Clifford, “Searching the Internet” http://www.sciam.com/0397issue/0397lynch.html Rhodes, B. J., Starner T., “Remembrance Agent, A continuously running automated information retrieval system” http://rhodes.www.media.mit.edu/people/rhodes/RA/index.html D’Aloisi, D. and Giannini, V., “The Info Agent: an interface for supporting users in intelligent retrieval” http://www.cilea.it/nir-it-95/atti/giannini/giannini/giannini-nir-95.html Nwana, H.S., “Software Agents: An overview” http://www.cs.umbc.edu/agents/papers/ao.ps Maes, P., “Software agents and the future of electronic commerce” http://pattie.www.media.mit.edu/people/pattie/ECOM/ Maes, P., “Long tutorial notes on software agents” http://pattie.www.media.mit.edu/people/pattie/CHI97/ Maes, P., “Agents that reduce work and information overload” http://pattie.www.media.mit.edu/people/pattie/CACM-94/CACM-94.p1.html Maes, P., “Pattie Maes on software agentes: Humanizing the global computer” http://computer.org/internet/ic1997/w4010abs.htm Mori, R. And Kawahara, M., “Superdistribution: The concept and the architecture” http://www.virtualschool.edu/mon/ElectronicProperty/MoriSuperdist.html Talbott, Steve, “NetFuture” http://www.oreilly.com/people/staff/stevet/netfuture/

Bibliografia

Information Retrieval – uma abordagem baseada em agentes 97

Xu and Callen, “Effective Retrieval with Distributed Collections” http://ciir.cs.umass.edu/pubfiles/ir-124.ps Foss, J., “Intermediation and Information Brokerage” http://freespace.virgin.net/j.foss/issls98.htm P. Sousa, N. Silva, T. Heikkila, M. Kollingbaum, P. Valckenaers, “Aspects of Co-operation in Distributed Manufacturing Systems”. Proceedings of the 2nd International Workshop on Intelligent Manufacturing Systems - IMS-Europe'99; Leuven, Belgium, 22-24 September 1999 Petrie, Charles J., “What’s an agent... and what’s so intelligent about it”. IEEE Computing, July/August 1997 Resnick, P., Zeckhauser R., Avery, C., “Roles for electronic brokers” United States, Cambridge, 1995