26 de Janeiro de 2001
Pretende-se desenvolver um meta-portal para serviços WWW. Ou seja, um
sistema de pesquisa de informação na web, cujas fontes de informação são
vários portais WWW comuns.
Cada portal WWW, classifica e agrupa a informação em temas, sub-temas,
sub-sub-temas e assim sucessivamente. Os termos identificadores de cada tema
não coincidem em todos os portais.
Para resolver esse problema, existe um portal (serviço), denominado
"TraduzClassificação", que relaciona os termos usados entre os
diversos portais. Por isso, o meta-portal não guarda informação, e aceita as
opções deste serviço.
Todos os portais e meta-portal conhecem-se mutuamente.
Além disso, foi considerado fundamental a especificação, desenvolvimento e
posterior disponibilização aos clientes, dum agente (Assistente) que modelize
o utilizador/cliente, no que respeita a preferências, histórico, etc, de forma
a melhorar o desempenho do sistema.
(stream-all :content(search(for("ISEP"), in("Institutos"))) :ontology informação :language privada :reply-with ref :sender cliente :receiver meta-portal )
1. Como se pretende criar um
sistema baseado em met-portal, então não será muito correcto considerar que
Utilizador e Assistente pesquisam ou conversam com os Portais. No entanto, essa
situação poderá acontecer mesmo que sem a abrangência do sistema a
desenvolver. Por exemplo, requisitar ao meta-portal, recomendação dum portal
para pesquisa.
ver Anexo 1 (completo/completado).
2. Pretende-se criar um sistema que
torne transparente para o utilizador a pesquisa de variados portais, e que a
pesquisa seja cada vez mais orientada pelo histórico e preferências do
utilziador. Assim, não faz muito sentido que o Portal "fale" com o
Assistente (ou no limite, com o Utilizador). No entanto, esta abordagem tem a
vantagem de diminuir a complexidade e níveis de conversação, uma vez que o
requisitante (portal) se coloca em "linha" com a fonte
(Assistente/Utilizador).
No entanto, o enunciado refere que o meta-portal não guarda informação, será
que é todo o tipo de informação ou apenas a informação de tradução entre
categorias de diversos portais? Vou considerar que pode guardar o modelo de
utilizador e o histórico, mas não outras preferências.
Em qualquer dos casos, não é previsível que o meta-portal tenha sempre
a capacidade de decidir àcerca das opções do utilizador, pelo que a
conversação terá nalguns casos que ser extendida ao Assistente, e no limite,
até ao Utilizador.
3.
a)
(tell :content(categoria(nova("Institutos"), sub-categoria-de("Educação"))) :language privada :ontology categorias :sender ABC :receiver ?todos-os-portais-mas-um-de cada-vez )Também se poderia utilizar uma mensagem advertise, mas não parece tão correcta, uma vez que o advertise especifica como se deve usar tal anúncio, o que não é necessário ou vantajoso neste caso.
b)
(advertise :content(recommend-one :content(ask-about :content(?Tema) :language KQML :ontology categorias-web ) :ontology categorias-web :language KQML ) :language KQML :ontology servicos-basicos :sender portalTraduzClassificacao :receiver ?todos-os-portais-mas-um-de cada-vez )c)
(tell :content(?ElementoEncontrado) :ontology informação :language privada :in-reply-to ref :sender meta-portal :receiver cliente )... (mensagens idênticas à anterior, até terminarem os elementos encontrados)(eos :in-reply-to ref )
4.
Existem muitos e variados sistemas destinados ao
desenvolvimentos de sistemas baseados em agentes. No entanto, dificilmente se
encontra em qualquer um desses sistemas, a capacidade nativa de
desenvolvimento de diferentes tipos de agentes: inteligentes, móveis,
"seguros", cooperativos, sociáveis, etc. Ou seja, uma aplicação
que necessite de desenvolver agentes de vários tipos, o mais provável é ter
de aplicar vários sistemas ou linguagens.
Tratando-se dum sistema baseado em agentes, a interligação com sistemas
heterogeneos é tambem uma das principais características, pelo que a
interligaçãoi de comunidades mais ou menos heterogéneas não deve ser
problema. O mesmo se passa com agentes/comunidades, desenvolvidas usando
linguagens diferentes.
Assim, seria aconcelhável a utilização de sistemas de desenvolvimento que
permitissem uma certa mobilidade dos agentes, embora que o enunciado refira a
existência de serviços de resposta existentes nos próprios servidores web.
Ou seja, não é o agente do utilizador ou do met-portal que via
"minar" a informação no servidor web.
Além disso, e considerando a "segunda parte" do enunciado, parece
importante a utilização de sistemas ou linguagens que permitam o uso fácil
de técnicas de inteligência artificial como a aprendizagem (com respeito a
preferências e modelação do utilizador) ou data-mining (com respeito ao
tratamento do histórico e páginas de informação em bruto).
Embora uma das plataformas utilizadas nos trabalhos práticos (o OAA) contenha
algumas destas características e a sua utilização seja pública, não é
comum encontrar todos estes requisitos num sistema de utilização pública.
Existem contudo algumas soluções comerciais, como o Agent-Builder ou o
Voyager (e semelhantes) que por adição de "pacotes" extra se
possam considerar competentes em todas estas áreas.
Última actualização: 01-02-2001