Uma heurística para guiar os usuários da Internet baseada no comportamento da formiga - PDF
Download "Uma heurística para guiar os usuários da Internet baseada no comportamento da formiga"
Isabella Gonçalves Amado
1 Uma heurística para guiar os usuários a Internet baseaa no comportamento a formiga Wesley Martins Teles, Li Weigang, Célia Gheini Ralha 1 Departamento e Ciência a Computação Universiae e Brasília (UnB) Caixa Postal Brasília DF Brasil Abstract. This paper presents a new approach to guie web users, inspire by the ant colonies foraging behavior, to aaptively mark the most significant links, by means of the shortest route to arrive to target pages. Thus, we consier web users as artificial ants, an use the ant theory as a metaphor to guie user s activity in the Web site. In this paper, we escribe the ant s theory in which AntWeb is base. We also present the AntWeb system an a case stuy with some experiments. Resumo. Este artigo apresenta uma nova aboragem para guiar usuários web inspiraa no comportamento e colônias e formigas quano procuram alimento, one estacamos e forma aaptativa os links mais significativos, levano os usuários a rotas mais curtas para chegar às páginas esejaas. Em nossa aboragem, consieramos os usuários a Web como formigas artificiais, usano a teoria as formigas como uma metáfora para guiar a ativiae os usuários nos sites a web. Neste artigo, nós escrevemos a heurística as formigas em que o AntWeb é baseao. Nós apresentamos também o sistema AntWeb e um estuo e caso com algumas simulações realizaas. 1. Introução A Web é um sistema e hipermíia e como tal, os usuários sabem qual o próximo link a clicar através a inicação que o texto o link lhe á. Mas quase sempre o objetivo o usuário não está no noo vizinho ao noo corrente e um novo recurso se torna necessário para auxiliar o usuário em um contexto global. Para resolver este problema foram criaos os traicionais sistemas e busca como o altavista, o yahoo, google, etc. Mas esses sistemas transgriem os objetivos o hipertexto, fazeno com que os usuários encontrem seus objetivos como se estivessem fazeno buscas em um banco e aos. Sistemas e navegação aaptativa [Brusilovsky 1996], [Palazzo 1999] como o webwatcher [Joachins, Freitag e Mitchell 1996], e outros mecanismos [Liu, Yao e Zhong 2002], [Fensel 2002], [Han e Chang 2002] resolvem parte este problema, uma vez que fornecem inicações globais aos usuários manteno as características o hipertexto. Mas o problema não é apenas chegar à página alvo. Um sistema e hipermíia é um grafo one existem vários caminhos possíveis para se chegar a um noo partino e outro. Alguns caminhos são menores que outros. A inicação preferencial esses caminhos faz com que os usuários cheguem ao seu objetivo e forma mais rápia.
2 Usuários navegano na imensa ree e hipermíia a Web são como as formigas procurano seu alimento [Weigang, Dib, Teles e etc. 2002]. Elas perambulam por um imenso muno a procura e alimento, tal qual os usuários navegam na Internet. Ambos possuem uma visão e curto alcance o seu ambiente. Os usuários a internet poem apenas ter alguma iéia o que consiste o conteúo os noos vizinhos através o texto os links. Similarmente, as formigas poem enxergar somente istâncias muito curtas [Dorigo, Maniezzo e Colorni 1996], [Dorigo, Caro, Sampels 2002], tornano-as praticamente cegas. Mas, iferente os usuários a internet, as formigas possuem um sistema e cooperação simples e eficiente que permite que elas encontrem o caminho mais curto para fonte e alimento [Beckers, Deneubourg e Goss 1992]. À meia que a formiga ana, ela eixa rastros e feromônio no chão para que outras formigas sigam o mesmo caminho. Caminhos longos recebem menos atualizações e feromônio o que caminhos curtos. Dessa forma, os caminhos longos se extinguem evio à evaporação e feromônio, enquanto os caminhos curtos ficam caa vez mais aromáticos graças a crescente atualização. A engenhosiae esse sistema foi usaa para a solução e iversos problemas na Ciência a Computação, como o problema o caixeiro viajante e o roteamento e pacotes [Dorigo, Caro e Gambarella 1999]. O esenvolvimento e AntWeb foi proposto em uas linhas. A primeira se concentrou na avaliação e estruturas e WebSites [Weigang, Dib, Teles e etc. 2002]. A seguna, que está escrita neste trabalho, se concentrou no uso o comportamento a formiga para promover a aaptação a web no sentio e guiar o usuário. Ela se baseou na necessiae e fazer com que o usuário a internet encontre caminhos curtos urante sua navegação. O AntWeb aaptativo consiste na iealização e uma internet coletiva, em que os usuários eixam rastros e feromônio pelo caminho, como as formigas fazem. Desta forma, foi implementao um sistema que simula a web com tais mecanismos. Esse sistema é um visualizaor e páginas a Internet, em que o usuário enxerga a web através a perspectiva o AntWeb. Este trabalho está iviio em cinco sessões: logo após esta introução apresentamos a moelagem a heurística usaa para guiar o usuário a Web e o algoritmo esenvolvio. Na terceira sessão, falaremos a implementação o moelo que foi iviio em ois móulos. Os estuos e casos estão escritos na sessão quatro. No final, a sessão cinco apresenta a conclusão e as perspectivas e trabalhos futuros. 2. Moelo o AntWeb O AntWeb é uma heurística aaptaa a meta heurística a formiga esenvolvia por Marco Dorigo e colegas [Dorigo, Maniezzo e Colorni 1996], que permite conuzir o usuário à(s) página(s) que esejamos por um caminho menor através o hipertexto. Isto é uma alternativa a fornecer o link ireto para a(s) página(s). Quano se faz isso, o usuário pere a oportuniae e passar por muitas páginas, que talvez, lhe interessasse também. É como se você fosse para o supermercao comprar uma caneta. Para chegar até essa caneta no supermercao, você tem que ir para a sessão e materiais escolares. Neste caminho, você vê lápis a vena e se lembra que também precisa e lápis. Se você tivesse ligao para o supermercao e comprao a caneta com entrega a omicilio, você
3 provavelmente não iria se lembrar que estava precisano e lápis. Normalmente, as páginas que tem conteúo relacionao estão próximas uma as outras no hipertexto e algumas essas páginas poem ser e interesse o usuário Moelo básico Em nosso moelo, pij expressa o quanto a escolha a página j é boa quano o usuário está na página i procurano a página. A Equação 1 mostra a restrição que eve ser aplicaa a p ij. p ij = 1, j N i (1) One Ni é o conjunto os vizinhos a página i. Caa página o site terá uma tabela e roteamento que é calculaa seguno a Equação 2. a ij (p) = [τ j (p)] α [η j (p)] β / {[τ l (p)] α [η l (p)] β }, j N i, l N i (2) One a ij (p) correspone aos valores a tabela e roteamento na iteração p, τj (p) é a quantiae e feromônio na página j na iteração p, α e β são parâmetros que permitem controlar os pesos entre a trilha e feromônio e ηj = 1/wt j é uma heurística relacionaa ao custo e usar a página j: wt j = lt j + vt j (3) One wtj é o tempo estimao na página j. Ele inclui ltj o tempo estimao para obter a página j através o browser, e vt j o tempo que o usuário levará para visitar até página. A equação 4 mostra como é feito o cálculo a probabiliae na qual uma formiga escolhe ir a página i para a página j N i. p ij = a ij (p) / a il (p), l N i (4) A atualização o feromônio ocorre epois que a formiga termina sua viajem até a página estino. Nesta atualização são feitos a evaporação e o acréscimo o feromônio nos links. A equação 5 mostra como é calculao o acréscimo e feromônio. 1/[(nl i,k (p) + 1)σ] se i T,k (p) τ i,k (p) = { (5) 0 se i T,k (p) One T,k (p) é o conjunto e páginas visitaas pela formiga k na iteração p para chegar a página, nli,k (p) é a istância a página i até a página em T,k (p) e σ é um parâmetro que etermina o quanto a istância entre i e vai influenciar no ecremento o feromônio, normalmente igual a 1. Por exemplo se T P3,k (p) ={P1,P2,P3} então τ P1 P3,k (p) = 0.33σ, τ P2 P3,k (p) = 0.5σ e τ P3 P3,k (p) = σ. A aição e feromônio em caa página é feita e acoro com a equação 6: τ i (p) (1-ρ) τ i (p) + ρ τ i,k (p) para k = 1,, m, i T,k (p) (6)
4 One ρ [0,1] é o coeficiente e evaporação. Observe que essa fórmula é equivalente a uma méia continuaa fazeno com que o feromônio os links tenam a uma estabilização Moelo para procura e vários estinos Quano o usuário está procurano sua página, usano o AntWeb, é como se ele estivesse seguino o cheiro e sua página e seguisse os links que exalem o cheiro mais forte. No moelo anterior, quano se está guiano o usuário para apenas um estino, é como se somente uma página puesse exalar seu cheiro, ficano toas as outras inooras. Assim, ficano somente a página que o usuário eseja encontrar exalano cheiro, basta o usuário seguir o cheiro que ele a encontrará. Mas e no caso e existirem uas ou mais páginas que satisfaçam o esejo o usuário e forma similar? Nesse caso, poemos permitir que essas uas ou mais páginas exalem seu cheiro simultaneamente. Dessa forma, como toas as páginas possuem o mesmo cheiro, ganhará a preferência o usuário a página que estiver a uma istância mais curta, lembrano que quano mais um objeto está próximo e nós, mas poemos sentir seu cheiro. O moelo para levar o usuário a mais e um estino é similar ao moelo anterior, muano apenas na forma como é calculaa a probabiliae que expressa o quanto é bom o usuário seguir eterminao caminho. p ij D,G = [a ij (p) g ] / [ a il (p) g ], l N i, D, g G (7) One D é o conjunto e páginas estino que esejo levar o usuário, g é um coeficiente que inica quanto a página é boa para o usuário e G é o conjunto e coeficientes g atribuíos ao conjunto D. Quanto maior o valor e g maior o cheiro que esta página exalará em relação a outras páginas 2.3. Ientificano a página estino o usuário Para ientificação a página estino corresponente a caa navegação ocorria usano o AntWeb, foi usao os mesmos métoos escritos em [Srikant e Yang 2001]. Existem ois métoos que são utilizaos em conjunto: A página é uma página e conteúo Em alguns sites existe uma clara separação entre página ínice e página conteúo. Neste caso a página é ientificaa como uma página estino através a verificação o tipo e página. Utilização e um "threshol" Neste métoo é feito a verificação o tempo em que o usuário permaneceu na página. Se o tempo for acima e um "threshol", a página é consiera a página estino o usuário O algoritmo para atualização o feromônio A atualização o feromônio será feita usano-se o log e acesso às páginas. No log ispomos e informações como o enereço a página acessaa, o IP o usuário e a hora que a página foi acessaa. O algoritmo é o seguinte: 1. Particione o log por visitante.
5 2. Orene caa partição pela hora em que caa página foi acessaa. 3. Para caa visitante, particione e forma que caa partição termine com uma página estino o usuário. 4. Para caa partição criaa o passo 3 atualize o feromônio as páginas usano as equações 5 e Implementação na Internet O AntWeb aaptativo foi implementao em linguagem PHP usano banco e aos MySQL. A Figura 1 mostra a página o AntWeb que os usuário acessam para navegar no site o Departamento e Ciência a Computação a UnB. Ao clicar em clique aqui para começar o usuário visualizará a mesma página que ele visualizaria se tivesse igitao a URL no campo aresss o seu browser, mas com a iferença que o(s) link(s), que presumiamente possui maior probabiliae e levar ao objetivo em menos clicks, são estacaos com a figura e uma formiga. Figura 1. Home page inicial o AntWeb Quano acessamos uma página e um link aparece estacao, significa que interceptamos uma trilha e feromônio. Ao clicarmos no link estacao, estaremos seguirmos
6 a trilha e feromônio eixao por outros usuários. Para ele eixar e usar o AntWeb, basta igitar outro enereço na barra e enereço e seu browser que ele sairá o sistema. Para entenermos melhor como funciona este esquema, vamos primeiro imaginar um cenário em que nosso usuário acessaria o site o CIC sem o AntWeb. Primeiro, ele igitaria o enereço o site em seu browser e em seguia seria manao uma requisição pela Internet ao servior web o CIC. Em seguia, seu browser receberia o cóigo HTML a página, e apresentaria a página ao usuário. No caso o AntWeb, primeiro nosso usuário acessa a página o AntWeb e clica no link corresponente. Neste momento, é enviaa uma requisição ao servior o AntWeb (1) conforme mostra a Figura 2. O AntWeb então busca a página requisitaa (2, 3) e verifica a quantiae e feromônio em caa link a página e outros aos no Banco e Daos (4) para ele saber qual link será estacao. O AntWeb estaca o(s) link(s) e epois altera a URL e toos os links na página e forma que passem a apontar para o servior o AntWeb. Em seguia, o AntWeb grava um log no Banco e Daos que servirá para o processo e atualização o feromônio (5). Finalmente o AntWeb retorna a página moificaa para o usuário (6). Quano o usuário clicar em algum link a página que ele recebeu, ele manará uma nova requisição ao AntWeb, recomeçano too o ciclo novamente Como a implementação se relaciona com o moelo No caso específico esta implementação o AntWeb, os usuários são conuzios usano a técnica e inicação ireta [Brusilovsky 1996], [Palazzo 1999]. Toas as páginas conteúo o Site o CIC foram incluías no conjunto D (conjunto e páginas estino) e a heurística que foi usaa em g foi o acesso méio e caa página os últimos três ias. Assim o sistema levará o usuário para as páginas com melhor proporção entre istância e populariae. O algoritmo se aplica a caa página a Internet que for requisitaa ao AntWeb: 1. Calcule a probabiliae e escolha e caa link conforme equação 7 e 2. Destaque o(s) link(s) que tiverem a maior probabiliae calculaa Os ois móulos a implementação O AntWeb foi esenvolvio em ois móulos: Atualização o feromônio e aaptação e páginas. O móulo e atualização o feromônio funciona separaamente o móulo e aaptação e página para que este último ê uma resposta mais rápia ao usuário. O móulo e atualização o feromônio é executao em seguno plano no servior, seno responsável por manter as taxas e feromônio as páginas atualizao. O sistema foi esenvolvio utilizano orientação a objetos e como principais classes esse móulo temos: PheromoneUpaterTrigger: É responsável por isparar too o processo e atualização. PheromoneUpater: É responsável pela atualização o feromônio em si. PheromoneIncreser: Nesta classe está a função e acréscimo e feromônio. Configuration: É responsável por controlar os parâmetros usaos na atualização e feromônio, como o coeficiente e evaporação e o tempo e iteração.
7 UpateRecorer: É a classe responsável por gravar, na tabela Upates, os aos corresponentes e caa atualização feita. 1-requisição a página ao AntWeb 2-requisição a página Usuário 6-página moificaa Servior web AntWeb 3-página Servior web CIC UnB 5-log 4-feromonio os links Servior Banco e Daos Figura 2. Como funciona o AntWeb O móulo e aaptação e página é executao a caa vez que o usuário faz uma solicitação ao AntWeb. Ele é responsável por apresentar a página com os links estacaos quano necessário. A escrição as principais classes é apresentaa a seguir: Url: Classe responsável por tratar a URL a página que vai ser aaptaa. PageLoaer: Classe responsável por obter a internet o cóigo HTML a página que vai ser aaptaa. InternalLinksProcessor: Classe responsável por fazer com que os caminhos relativos os links a página se tornem absolutos. LinksSelector: Responsável por selecionar os links que serão estacaos baseano na taxa e feromônio e caa um eles e nos parâmetros obtios e Configuration. LinksHighlighter: Responsável por estacar os links selecionaos em LinksSelector na página que esta seno aaptaa. LinksGuier: Altera toas as URLs os links a página e forma que eles apontem para o AntWeb e contenham um parâmetro informano qual página o link apontava antes. Sener: Classe responsável por enviar via internet o cóigo HTML a página aaptaa para o browser o usuário que a solicitou. Log: Classe responsável por fazer o registro e log na tabela logs corresponente ao processo e aaptação.
8 1A 0,67 0,33 2A 2B 0,5 0,5 3A 0,5 0,5 3B Figura 3. Estrutura e um site fictício 4. Estuo e caso Neste experimento, foi feita uma simulação com 30 iterações. Suponha que o usuário começa a navegar no site fictício a Figura 3 e que a caa iteração, o usuário escolhe caminhos aleatórios e forma proporcional aos números mostraos nas arestas. No site a Figura 3, as páginas 1, 2 e 3 são páginas conteúo e as paginas restantes são paginas ínices. Foram consieraos os seguintes valores para a atualização o feromônio: Coeficiente e evaporação(ρ) = 0,3 ; Coeficiente que iz o quanto a istância e uma página ao estino eve afetar o ecremento o feromônio (σ) = 1 e as constantes e controle α = 1 e β = 0. Os feromônios e toas as páginas começaram com o valor 0 na iteração 0 e ficaram com τ 11 (30)= 0,9718, τ 22 (30)= 0,9176, τ 33 (30)= 0,9718, τ 2A1 (30)= 0,3239, τ 2A2 (30)= 0,3059, τ 2B3 (30)=0,4261, τ 3B3 (30)= 0,1794 na iteração Situação 1 Nesta situação, as páginas estinos que esejamos levar o usuário são D={1,3} com g 1 =1 e g 3 =1. Como neste caso as páginas estino estão "exalano" a mesma quantiae e cheiro o AntWeb everá inicar preferencialmente a página que esta mais próxima. Quano o usuário começa a navegar na página 1A as probabiliaes e serão p 1A,2A {1,3},{1,1} = 0,4319 e p 1A,2B {1,3},{1,1} = 0,5681. Desta forma, o sistema inica a página 2B como melhor caminho para encontrar rápio alguma página que satisfaça o esejo o usuário. Em 2B as probabiliaes serão p 2B,3 {1,3},{1,1} = 0,8442 e p 2B,3B {1,3},{1,1} = 0,1558 o que leva o usuário para a página 3, que é uma as páginas estino. Ao examinarmos a Figura 3 veremos que foi inicao o melhor caminho possível para se chegar rápio a alguma página estino Situação 2 Agora teremos uma situação inversa a situação anterior. Temos uas páginas estinos com a mesma istância a home page e com valores iferentes para g. Nesse caso, D={1,2} e g 1 =1 e g 2 =2. Quano o usuário está na 1A, as probabiliaes serão p 1A,2A {1,2},{1,2} = 1 e p 1A,2B {1,2},{1,2} = 0. Assim, o sistema inica a página 2A como melhor caminho. Estano na
9 página 2A, as probabiliaes serão p 2A,1 {1,2},{1,2} = 0,3462 e p 2A,2 {1,2},{1,2} = 0,6538, o que reflete os valores e g nas efinições as probabiliaes. Assim, o sistema a preferência pela inicação a página 2 por ser a página com maior g. 5. Conclusão O AntWeb combina a teoria as formigas com a tecnologia a web aaptativa como uma nova aboragem no campo e pesquisa e web inteligente. Este trabalho se relaciona a iferentes tópicos e pesquisa além e web inteligente, como agentes inteligentes e navegação, iteração homem-web inteligente através e interfaces aaptativas para web e web mining. Comparao com outras aboragens existentes, consieramos que o AntWeb completa a função e outras heurísticas, estabeleceno rotas mais curtas para páginas alvo. O AntWeb apresenta uma aboragem flexível e extensível que poe se aaptar com outras aboragens e forma simples tornano-a uma ferramenta poerosa. Durante nossa pesquisa nós observamos alguns pontos que poem ser consieraos para trabalhos futuros: - O Banco e aos o AntWeb ispõe e uma rica fonte e informações os aos e acesso os usuários, as quais poem servir para a analise e parões e comportamento e estuo o efeito o AntWeb na navegação. - A geração e estruturas inâmicas em sites usano o feromônio. O AntWeb aina está em avaliação e esenvolvimento. Será necessário mais trabalho e implementação para aprimorar o sistema, mas no momento estamos convencios e que esta pesquisa merece o conhecimento a comuniae científica, especialmente a e web aaptativa e sistemas formiga para que sejam aas sugestões para o aprimoramento o moelo e futuros trabalhos. Agraecimento Este trabalho é patrocinao parcialmente pelo CNPq o processo e /20026 e pela CAPES no programa e pós-grauação o Departamento e Ciência a Computação a Universiae e Brasília. Referências D. Fensel, Ontology-Base Knowlege Management, IEEE Web Intelligence, vol. 35, no. 11, 2002, pp J. Han an K. Chang, Data Mining for Web Intelligence, IEEE Web Intelligence, vol. 35, no. 11, 2002, pp J. Liu, Y. Yao an N. Zhong, In Search of the Wisom Web, IEEE Web Intelligence, vol. 35, no. 11, 2002, pp L. A. M. Palazzo, Sistemas e Hipermíia Aaptativa, Universiae Católica e Pelotas, Escola e Informática, 1999.
10 L. Weigang, M. V. P. Dib, W. M. Teles, V. M. e Anrae, A. C. M. Alves e Melo, J. T. Cariolano, "Using ants behavior base simulation moel AntWeb to improve website organization", in Proc. SPIE's Aerospace/Defense Sensing an Controls Symposium: Data Mining, Vol. 4730, pp , Orlano, USA, April M. Dorigo, G. D. Caro, M. Sampels (Es.), "Ant Algorithms", Thir International Workshop, ANTS 2002, Brussels, Belgium, September 12-14, 2002, Proceeings. Lecture Notes in Computer Science 2463 Springer M. Dorigo, G. Di Caro an L. M. Gambarella, Ant Algorithms for Discrete Optimization. Artificial Life, 5(2), , M. Dorigo, V. Maniezzo an A. Colorni, The Ant System: Optimization by a Colony of Cooperating Agents, IEEE Transactions on Systems, Man, an Cybernetics-Part B, 26(1), 29-41, P. Brusilovsky, "Methos an Techniques of aaptive Hyermeia". User Moeling an User Aapte Interaction. V.6, n.2-3, pp Special issue on aaptive hipertext an hypermeia, R. Beckers, J. L. Deneubourg an S. Goss, Trails an U-turns in the selection of the shortest path by the ant Lasius niger, Journal of theoretical biology, 159, , R. Srikant an Y. Yang, Mining Web Logs to Improve Website Organization, In Proc. of the Tenth International Worl Wie Web Conference, Hong Kong, May T. Joachims, D. Freitag, T. Mitchell, "WebWatcher: A Tour Guie for the Worl Wie Web", Proceeings of IJCAI97, August 1997 (longer version internal CMU technical report September 1996).