Sunteți pe pagina 1din 118

Pontifí

ia Universidade Católi a do Rio Grande do Sul


Fa uldade de Informáti a
Pós-Graduação em Ciên ia da Computação

Estudo sobre
Navegação Colaborativa na Web

André Rodrigues da Silva

Dissertação apresentada omo


requisito par ial à obtenção do
grau de mestre em Ciên ia da
Computação

Orientadora: Profa. Dra.

Vera Lú ia Strube de Lima

Porto Alegre, dezembro de 2005


ii
iv
Dedi o este trabalho à minha tia, Eva
Teresinha Rodrigues da Silva, hoje não
mais entre nós. Ela que para mim
foi uma mãe. Ela que foi, e on-
tinua sendo, uma importante referên ia
na minha vida. Pelo en orajamento, por
a reditar em mim, por me amar.
vi
Agrade imentos

Este trabalho somente foi possível pelo apoio que re ebi de diversas pessoas.
Agradeço à minha esposa Rita, ompanheira de todos os momentos.
Agradeço à Ione Russo, uma presença importantíssima na minha vida.
Agradeço à minha orientadora, Vera Lú ia Strube de Lima, pelo apoio nesta
jornada.
Agradeço às pessoas annimas que tornaram este trabalho possível. Àqueles
que se dispuseram a utilizar o programa que eu estava propondo num momento
em que ele nada tinha a ofere er em tro a. Estas pessoas o zeram por amizade.
Talvez seja esta a maior riqueza que um homem pode aspirar.
Muito embora a sua ontribuição seja annima, apresentarei os apelidos que
eles utilizaram para se rela ionar om o protótipo que é apresentado neste trabalho.
Sou espe ialmente grato a: brownie, Altrus, a horro, lpalazzo, pris illa, zumbi,
senhorita, rafael, Taz.
Agradeço a meus pais.
viii
Abstra t

The sear h for relevant information on the Web depends on a personalized dis-
overy pro ess. In this pro ess ea h person will agregate new information to the
border of what he/she already knows. Finding relevant information is also related
to the user history, being driven by the hoi es of the do uments whose informa-
tion will be a essed. In this work, we present a study on alternative ways to help
users nd relevant information based on identied similarities between users. The
similarities are the starting point for the presentation of exploration paths that
potentially lead to information that is of relevan e for ea h parti ular user.

ix
x
Resumo

A bus a por informações relevantes na Web passa por um pro esso de des oberta
que rela iona os onhe imentos que a pessoa já possui e aqueles que, na vizinhança
dos primeiros, ela pode ompreender. Esse pro esso tem um aráter históri o
mar ado pelas ações de es olha dos do umentos ujos onteúdos serão a essados.
Em nosso trabalho, apresentamos um estudo sobre modos alternativos para o
auxílio à navegação, enquanto bus a por onhe imentos relevantes, baseada na
identi ação de similaridades entre grupos de usuários. Essa similaridade fun iona,
no sistema proposto, omo um meio de identi ar aminhos de exploração que
determinem um mapeamento das áreas de interesse de ada usuário.

xi
xii
Sumário

ABSTRACT ix

RESUMO xi

LISTA DE TABELAS xvii

LISTA DE FIGURAS xix

LISTA DE ALGORITMOS xxi

LISTA DE SÍMBOLOS E ABREVIATURAS xxiii

Capítulo 1: Introdução 25
1.1 Re uperação de informações úteis na Web . . . . . . . . . . . . . . 26
1.1.1 Bus a por informações baseada em pesquisa . . . . . . . . . 26
1.1.2 Bus a por informações baseada em navegação . . . . . . . . 27
1.2 Contexto de Pesquisa . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.3 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
1.4 Estrutura do do umento . . . . . . . . . . . . . . . . . . . . . . . . 30

Capítulo 2: Agrupamento de dados e agrupamento de tex-


tos 33
2.1 Agrupamento de dados . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.1.1 Etapas do agrupamento de dados . . . . . . . . . . . . . . . 36
2.1.1.1 Representação das amostras . . . . . . . . . . . . . 36
2.1.1.2 Medida de proximidade entre as amostras . . . . . 37
2.1.2 Tipos de algoritmos de agrupamento . . . . . . . . . . . . . 39
2.1.3 Hierarquia dos algoritmos de agrupamento . . . . . . . . . . 39
2.1.4 Aspe tos omplementares à hierarquia dos algoritmos . . . . 40
2.1.5 Uma breve análise do algoritmo K-Means . . . . . . . . . . 47

xiii
2.1.5.1 Utilização do algoritmo K-Means . . . . . . . . . . 48
2.1.6 Mapa Auto-Organizável . . . . . . . . . . . . . . . . . . . . 50
2.1.6.1 Aprendizagem nos mapas auto-organizáveis . . . . 50
2.1.6.2 Utilização dos mapas auto-organizáveis para agru-
pamento de dados . . . . . . . . . . . . . . . . . . 52
2.2 Visão geral do agrupamento de textos . . . . . . . . . . . . . . . . . 52
2.2.1 Agrupamento de textos om o algoritmo K-Means . . . . . . 54
2.2.2 Bise ting K-Means . . . . . . . . . . . . . . . . . . . . . . . 55

Capítulo 3: Trabalhos orrelatos 57


3.1 WebSom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.1.1 Cara terísti as . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.1.2 Desaos ao agrupamento de onteúdos na Web . . . . . . . . 60
3.2 Agrupamento automáti o dire ionado por usuário . . . . . . . . . . 61
3.2.1 S atter/Gather . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.3 Navegação assistida: Letizia . . . . . . . . . . . . . . . . . . . . . . 65
3.4 Propostas de abordagens exploratórias baseadas na ooperação en-
tre usuários . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.4.1 Navegação olaborativa . . . . . . . . . . . . . . . . . . . . . 66
3.4.2 Sistema Broadway . . . . . . . . . . . . . . . . . . . . . . . 68

Capítulo 4: Sistema z9 71
4.1 Agrupamento par ial de usuários . . . . . . . . . . . . . . . . . . . 71
4.2 Agrupamento de pers de usuários ao invés de agrupamento de textos 72
4.3 A abordagem do z9 . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.4 O sistema desenvolvido . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.4.1 Coleta de dados . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.4.1.1 Software liente . . . . . . . . . . . . . . . . . . . . 78
4.4.1.2 Software servidor . . . . . . . . . . . . . . . . . . . 80
4.4.2 Proteção da priva idade . . . . . . . . . . . . . . . . . . . . 80
4.5 Serviços do z9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
4.5.1 Identi ando Par eiros de Navegação e Pesquisa . . . . . . 81
4.5.2 Fazendo Amigos . . . . . . . . . . . . . . . . . . . . . . . . 84
4.5.3 Sugestões de navegação e ontexto de navegação de grupo . 85
4.5.4 Pesquisa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
4.5.5 Continuações e noção de presença . . . . . . . . . . . . . . . 89
4.5.6 Estatísti as e reputação . . . . . . . . . . . . . . . . . . . . 91
4.5.7 Grá os . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

xiv
Capítulo 5: Análise da evolução da omunidade de usuários
do z9 97
5.1 Pesquisa qualitativa de satisfação . . . . . . . . . . . . . . . . . . . 97
5.2 Relação entre notas e distân ia dos par eiros de navegação . . . . . 99
5.3 Outras avaliações possíveis . . . . . . . . . . . . . . . . . . . . . . . 100

Capítulo 6: Considerações nais e trabalhos futuros 103


6.1 Prin ipais ontribuições . . . . . . . . . . . . . . . . . . . . . . . . 103
6.2 Trabalhos futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

Apêndi e A: Questionários 107

REFERÊNCIAS BIBLIOGRÁFICAS 115

xv
xvi
Lista de Tabelas

5.1 Notas dadas pelos usuários onsultados . . . . . . . . . . . . . . . . 99


5.2 Correlação entre utilidade das páginas sugeridas e proximidade do
grupo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

xvii
xviii
Lista de Figuras

2.1 Etapas do pro esso de agrupamento . . . . . . . . . . . . . . . . . . 36


2.2 Agrupamento de objetos por modelos probabilísti os . . . . . . . . 39
2.3 Taxonomia dos algoritmos de agrupamento . . . . . . . . . . . . . . 40
2.4 Representação de árvore de hierarquias: dendograma . . . . . . . . 42
2.5 Di uldade de representação de agrupamentos n avos . . . . . . . 49
2.6 Di uldade de representação de grupos de tamanhos muito diferentes 50
2.7 Formação do Mapa Auto-Organizável . . . . . . . . . . . . . . . . . 51
2.8 Mapeamento de ara terísti as relevantes om SOM . . . . . . . . . 52

3.1 Visualização de on eitos om WEBSOM . . . . . . . . . . . . . . . 58


3.2 Visão mais detalhada de on eitos . . . . . . . . . . . . . . . . . . . 59
3.3 Interfa e do S atter/Gather . . . . . . . . . . . . . . . . . . . . . . 63
3.4 Interfa e do Broadway . . . . . . . . . . . . . . . . . . . . . . . . . 68

4.1 Arquitetura do z9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.2 Estrutura de armazenamento de dados . . . . . . . . . . . . . . . . 79
4.3 Par eiros de navegação e pesquisa no z9 . . . . . . . . . . . . . . . 82
4.4 Amigos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
4.5 Sugestões de páginas relevantes . . . . . . . . . . . . . . . . . . . . 87
4.6 Continuações e noção de presença . . . . . . . . . . . . . . . . . . . 90
4.7 Estatísti as e reputação . . . . . . . . . . . . . . . . . . . . . . . . 92
4.8 Representação grá a do históri o do usuário . . . . . . . . . . . . . 94
4.9 Grá o de ligações entre usuários baseado na visitação das mesmas
páginas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

5.1 Nota e páginas omuns . . . . . . . . . . . . . . . . . . . . . . . . . 101

xix
xx
Lista de Algoritmos
1 Agrupamento hierárqui o aglomerativo . . . . . . . . . . . . . . . . 44
2 Agrupamento hierárqui o divisivo . . . . . . . . . . . . . . . . . . . 44
3 K-Means . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4 Sumário do Algoritmo do SOM . . . . . . . . . . . . . . . . . . . . 51
5 Bise ting K-Means . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
6 S atter/Gather . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
7 Similaridade de navegação entre usuários . . . . . . . . . . . . . . . 83
8 Similaridade de pesquisa entre usuários . . . . . . . . . . . . . . . . 83
9 Identi ação de páginas relevantes . . . . . . . . . . . . . . . . . . . 86

xxi
xxii
Lista de Símbolos e Abreviaturas
SOM Self-Organizing Map 50

xxiii
xxiv
Capítulo 1
Introdução
Este trabalho propõe alternativas para a des oberta de informação relevante
na Web.
A forma es olhida para abordar esse problema passa por uma onexão om o
históri o de navegação individual e suas relações om o históri o oletivo, omo in-
di ador de relações de vizinhança de onhe imento que permitam apontar direções
signi ativas para aquele que realiza a pro ura.
Esta abordagem é fundamentalmente diversa, e ainda assim, omplementar,
àquela da pesquisa em motores de bus a. O aspe to fundamental dessa difer-
ença está na perspe tiva estáti a, ou estrati ante, desses últimos. Isso porque a
geração, ou estruturação, de uma base de dados da Internet, a partir de uma per-
spe tiva genéri a, gerada pela experiên ia de navegação de rawlers, ou robs,
que varrem a teia de onexões da Web, é algo fundamentalmente diferen iado
da experiên ia e propósitos que levam ada pessoa a per orrer determinados am-
inhos formados por seqüên ias de links. Essa abordagem é estrati ante porque
segue a proposta de re uperação, organização e disponibilização sistemáti a de um
onhe imento que se en ontra disponível nas páginas a essíveis publi amente.
Neste ponto podemos onsiderar a questão da bus a dentro de um ontexto
parti ular para ada pessoa, one tado, ainda, om o grupo ao qual esta pessoa se
liga, e que determina símbolos próprios de omuni ação, tais omo línguas, dialetos,
gírias, et . Aspe tos esses que extrapolam a perspe tiva generalista proposta pelos
sites de bus a. Não queremos dizer om isso que esse tipo de serviço não seja útil
- sua utilização em larga es ala prova o ontrário - mas sim que existem aspe tos
individuais que não são, por sua própria natureza, levados em onsideração.
Assim, neste trabalho, parte-se da onstrução de históri os parti ulares e rela io-
nam-se os mesmos, de modo a formar grupos om ara terísti as similares. De
posse dessa informação riamos um serviço que é apaz de gerar perspe tivas in-
dividuais de páginas relevantes e de asso iações entre os usuários do sistema.
Apli ando nossa proposta, apresentamos uma ferramenta para o auxílio à nave-

25
gação, baseada na identi ação de similaridades entre um grupo de usuários. A
medida de similaridade entre os usuários baseia-se no a esso às mesmas páginas
(quanto mais páginas omuns a essadas, mais similares os pers). Essa medida,
entretanto, nun a é aferida de modo global. Para permitir a parti ipação de um
grande número de usuários, o sistema onstrói apenas uma visão par ial das re-
lações entre os usuários. Assim, ada usuário, a partir de um ponto de vista do
sistema, pode utilizar-se do mesmo para a realização de explorações baseadas na
tro a de informações sobre páginas visitadas por outros usuários om interesses
similares.

1.1 Re uperação de informações úteis na Web


A bus a e iente por informações úteis na Web torna-se uma tarefa ada vez
mais difí il devido à quantidade de do umentos disponíveis. O serviço de bus a
Google R (www.google. om), por exemplo, indexa 8.058.044.651 páginas no mo-
mento da es rita deste do umento.
A pro ura por informações na Web tem, em seu aso mais omum, duas formas
bási as [Ja zynski and Trousse, 1998℄. Vamos abordar ada uma delas brevemente
a seguir.

1.1.1 Bus a por informações baseada em pesquisa

A prin ipal forma de se pro urar por informações na Web hoje é a pesquisa,
R ou Yahoo!
om a utilização de serviços de bus a, tais omo o Google R , os quais
utilizam um sistema de indexação de páginas que tem, omo ritério bási o, a
presença de determinadas palavras ou expressões nas mesmas.
A abordagem baseada em pesquisa por palavras ou expressões vem mostrando
suas limitações à medida que vemos res er a quantidade de material disponível,
gerando um aumento no tempo ne essário para se en ontrar um do umento rel-
evante dentre os retornados pelo serviço de bus a, e um aumento no número de
bus as infrutíferas realizadas.
Um ponto fra o dos sistemas de bus a baseada em pesquisa na Web, omo
apontado por [Honkela, 1997a℄, está na di uldade em auxiliar o usuário na ex-
ploração de onjuntos de do umentos rela ionados a assuntos sobre os quais ele
não tem muito onhe imento. Isso porque os sistemas de bus a ne essitam que
o usuário determine, de antemão, as palavras que são relevantes para a pesquisa,
o que normalmente é difí il quando não se é onhe edor do assunto em questão.
Assim, o problema torna-se quase paradoxal. Quanto maior for o onhe imento
sobre o assunto que se quer pesquisar, melhores serão os resultados en ontrados,
sendo o ontrário também verdadeiro.

26
1.1.2 Bus a por informações baseada em navegação

A outra té ni a utilizada na re uperação de informações é a navegação, ou seja


a exploração dos do umentos, om o uso dos hyperlinks en ontrados nos mesmos.
Essa segunda modalidade de bus a de informações é omumente utilizada omo
auxiliar na bus a baseada em pesquisa.
A bus a baseada em navegação por hyperlinks tem um aráter lo alizado que
não ontempla, por sua natureza, questões relativas a assuntos de forma global,
ou seja, levando em onsideração todas as páginas a essíveis ao usuário, que po-
dem ter assuntos rela ionados àquela atualmente sendo a essada, dependendo da
ligação entre as páginas riadas durante o pro esso de onstrução ou manutenção
das mesmas. Além disso esse me anismo sofre de uma fragilidade no que diz re-
speito à sua dependên ia da estrutura de ligação entre as páginas, a qual tende a
modi ar-se dinami amente, pelo pro esso de manutenção manual, sem a orre-
spondente modi ação das ligações.

1.2 Contexto de Pesquisa


Existem alternativas que podem ser utilizadas para tornar a bus a por infor-
mações na Web menos onerosa em termos do tempo ne essário para a obtenção de
resultados satisfatórios. Dentre elas estão:

• Web usage mining - [Kosala and Blo keel, 2000℄


• Web personalization - [Eirinaki and Vazirgiannis, 2003℄
• ollaborative Web browsing - [Aneiros et al., 2003℄, [Lieberman et al., 1999℄
e [de Jesús Hoyos-Rivera et al., 2002℄

• assisted browsing - [Lieberman, 1995℄, [Lieberman et al., 1999℄ e


[Ja zynski and Trousse, 1998℄

• ooperative browsing - [Aneiros et al., 2003℄.


• Re ommender systems - [Ma edo et al., 2003℄ [Riedl and Dourish, 2005℄.
Web usage mining diz respeito à análise de logs de servidores Web, proxies, ou
softwares lientes instalados nos omputadores dos usuários
[Kosala and Blo keel, 2000℄ [Srivastava et al., 2000℄. Esta análise pode servir a
dois propósitos omplementares: dos usuários e dos provedores de serviços. Para
os usuários, ela pode ajudar na riação de ferramentas que auxiliem na navegação
a partir do aprendizado de suas ne essidades de informação e preferên ias. Para os

27
provedores de serviços Web ela pode permitir a des oberta de padrões de ompor-
tamento, em termos de páginas visitadas, que permitam rela ionar os usuários do
site em termos das páginas a essadas e extrair informação útil, de modo a permitir
a melhora do serviço ou uma exploração mais efetiva do poten ial omer ial do site.
A oleta dos endereços visitados pode ser realizada no servidor, no liente ou em
um proxy intermediário [Cabri et al., 1999℄. Em um exemplo [Shahabi et al., 1997℄
no qual as informações de navegação foram oletadas no liente, o me anismo de
oleta, baseado em um applet java, somente era apaz de realizar a oleta quando
o usuário utilizava o servidor no qual o applet era disponibilizado. Essa abordagem
pou o se diferen ia daquelas em que os dados são oletados no próprio servidor
Web.
Web personalization diz respeito à modi ação automáti a da estrutura de
um Web site, de modo a satisfazer as preferên ias de ada usuário que faz uso
do mesmo. En ontram-se, na literatura, exemplos da apli ação de algoritmos de
Data Mining [Mitra, 2003℄ na tentativa de identi ar pers de navegação 1 entre
os usuários do site. Depois de identi ados esses pers é possível dire ionar os
usuários para páginas mais relevantes, utilizando o onhe imento adquirido sobre
o omportamento do grupo de usuários que utiliza o site.
Collaborative Web browsing é a navegação realizada simultaneamente por várias
pessoas. Em sua forma mais omum, temos a gura do mestre, o qual dire iona a
navegação do grupo, enquanto os outros parti ipantes, hamados es ravos assis-
tem ao passeio. É possível ainda que um es ravo, se autorizado pelo mestre,
torne-se o indivíduo responsável por guiar o grupo. Nesse tipo de navegação é o-
mum o uso de ferramentas de apoio à omuni ação e olaboração, tais omo hats
e ollaborative whiteboards, para auxiliar a interatividade durante a experiên ia de
navegação.
Assisted browsing diz respeito ao monitoramento do usuário, por parte de um
sistema, de modo que o mesmo seja apaz de auxiliá-lo na des oberta de novas
páginas interessantes, a partir da identi ação e automatização das estratégias
utilizadas pelo usuário em suas bus as. Essas té ni as, normalmente baseadas em
agentes, foram utilizadas tanto para ajudar o usuário solitário [Lieberman, 1995℄
quanto grupos de usuários [Ja zynski and Trousse, 1998℄[Lieberman et al., 1999℄.
Cooperative browsing diz respeito à utilização de ferramentas auxiliares no pro-
esso de navegação livre (un onstrained browsing ), que permitam aos usuários ter
uma per epção do que os outros usuários estão fazendo (awareness ), enquanto
grupo, e quem está fazendo o quê (a ountability ) enquanto usuários individuais.
Além disso, propõe-se a riação e utilização de um históri o global de indí ios
de navegação (tais omo transições entre endereços) que permita que um usuário
1 Neste trabalho denimos perl de navegação omo o onjunto de endereços das páginas
a essadas por um usuário.

28
possa se bene iar da experiên ia oletiva, enquanto, por sua vez, alimenta o sis-
tema om os resultados de suas próprias experimentações. As noções apresentadas
até aqui não são, entretanto, onsenso: em [Cabri et al., 1999℄ ooperative brows-
ing é denido omo a atividade de um time que navega na Web om o objetivo
de en ontrar informações a respeito de um determinado tópi o.
Como visto em [Aneiros et al., 2003℄, o termo so ial browsing diz respeito ao
ato de ooperação entre diversos indivíduos realizando uma tarefa de navegação.
Essa ooperação pode ser direta ou indireta. O aso do ollaborative browsing é um
exemplo de ooperação direta, onde um indivíduo guia os outros expli itamente.
No aso da olaboração indireta, entretanto, os usuários têm a sua disposição um
onjunto de sinais e traços deixados por outros, e que podem servir de subsídio para
a realização de uma navegação mais e iente. Esses sinais podem ser indi ações
deixadas por usuários que passaram pelo site anteriormente, enquanto os traços
podem ser, por exemplo, direções tomadas pelos usuários que estiveram em um
determinado site.
Um exemplo interessante de assisted Web browsing, que utiliza elementos de
olaboração indireta, é o software Alexa R (www.alexa. om). Esse software on-
siste de um toolbar que o usuário instala em seu browser, permitindo-lhe veri ar,
para ada página a essada, quais as páginas rela ionadas, em termos das relações
de similaridade entre essa página e as outras, onde o ritério de similaridade é
o a esso pelos mesmos usuários. Um exemplo seria: o usuário a essa a página
www.futebol. om e o sistema indi a as páginas www.inter. om e www.gremio. om.
Isso signi a que o sistema identi ou que os usuários que a essam www.futebol. om
ostumam a essar também as páginas www.inter. om e www.gremio. om. Essa
té ni a é pare ida om a empregada pela livraria Amazon R (www.amazon. om),
ujo site sugere livros baseado nas relações entre as ompras feitas pelos usuários.
O termo Re ommender systems [Riedl and Dourish, 2005℄ diz respeito a sis-
temas que tentam prever quais itens, sejam eles músi as, notí ias, lmes, ou mesmo
páginas da Web, são do interesse de um dado usuário. Para isto estes sistemas uti-
lizam informações a respeito do perl do usuário. Os sistemas de re omendação
extraem suas informações de perl dos próprios usuários, em pro essos que po-
dem ser explí itos ou implí itos. Um exemplo de pro esso explí ito de formação
de perl poderia ser perguntar diretamente ao usuário se um dado objeto é de
interesse para ele. Já no aso do pro esso de aquisição implí ita de perl, um
exemplo poderia ser o monitoramento das ações do usuário, de forma a inferir seus
interesses e, a partir daí, riar seu perl.
Neste trabalho, omo resultado do estudo realizado, apresentamos um ambi-
ente olaborativo similar ao Alexa R . A diferença é que ele agrupa os usuários,
e não as páginas. Essa diferença é a have que olo a a omunidade de usuários
omo entro do pro esso de des oberta da informação, utilizando, para isso, a es-

29
trutura das onexões entre as páginas, tal omo eviden iada através do pro esso
da navegação dos grupos, omo auxiliares na des oberta da informação relevante,
determinada pelas dinâmi as próprias de ada grupo ao qual ada indivíduo se
en ontra asso iado.

1.3 Metodologia
O método utilizado para a realização deste trabalho teve iní io om uma
pesquisa teóri a, que envolveu os temas apontados na Seção 1.2. Logo após foi
realizado um levantamento sobre sistemas desenvolvidos om o m de auxiliar
usuários no pro esso de des oberta de informações relevantes, de modo asso iado
ao ato de navegação. Esse levantamento abordou desde sistemas que tentam agru-
par os textos en ontrados em um onjunto de páginas, até a sugestão de páginas
interessantes, a partir da similaridade de perl de navegação dos usuários do sis-
tema, passando por sistemas de navegação olaborativa, nos quais a experiên ia
da navegação é ompartilhada em tempo real. A partir da perspe tiva dos diversos
sistemas estudados foi riada uma proposta própria, om ara terísti as inovado-
ras em relação àquelas estudadas. A seguir realizamos a implementação de um
sistema protótipo que ontém as ara terísti as que a reditamos relevantes para a
realização da tarefa de transferên ia de informações, de forma a tornar a bus a por
páginas relevantes mais efetiva. Por m realizamos um estudo de aso de uso deste
protótipo, om o intuito de identi ar aspe tos interessantes de sua utilização.
Apresentaremos, a seguir, uma des rição da estrutura do texto da dissertação.

1.4 Estrutura do do umento


Este do umento está dividido em oito apítulos, seguidos de um Anexo e de
Referên ias Bibliográ as. No primeiro apítulo introduzimos o assunto, apre-
sentando o ontexto de pesquisa no qual este en ontra-se inserido. O segundo
apítulo apresenta uma dis ussão de aspe tos teóri os e práti os do agrupamento
de dados e agrupamento de textos, ne essários para a apresentação dos on eitos
desenvolvidos neste trabalho. No ter eiro apítulo são apresentadas diversas abor-
dagens alternativas para a navegação e sugestão de páginas e textos, que levam
em onsideração as relações entre as páginas ou do umentos sob análise. O quarto
apítulo apresenta o protótipo proposto neste trabalho e seus diversos serviços.
No apítulo in o é apresentada uma análise dos resultados preliminares até agora
obtidos om o protótipo implementado. Por m são apresentadas, no apítulo seis
as on lusões e perspe tivas de trabalhos futuros.
Ini iaremos nossa dis ussão pela apresentação dos on eitos de agrupamento

30
de dados e agrupamento de textos. Estes on eitos são fundamentais para a om-
preensão dos me anismos utilizados para a identi ação de similaridade entre en-
tidades, sejam elas usuários ou páginas na Web.

31
32
Capítulo 2
Agrupamento de dados e
agrupamento de textos
Quando men ionamos, anteriormente, as abordagens mais omuns de bus a de
informações na Web, foi apresentado o dilema representado pela bus a baseada
em palavras- have. Que é o de ser ne essário um onhe imento prévio a respeito
daquilo que se quer des obrir. Assim, não seria interessante se pudéssemos ter um
mapa da Web ? Alguma forma de se guiar entre os do umentos que ompõem a
rede de informações disponíveis, fazendo-se uso, para isso, de direções baseadas
nos assuntos a que se rela ionam os do umentos? Se tal mapa existisse, seria
possível a alguém pro urar por informações relevantes e ir aprendendo sobre os
assuntos que não sabe, partindo daqueles que já onhe e. Não queremos dizer om
isso que a bus a que se faz atualmente, baseada em palavras pro uradas em sites de
bus a, não permite que se aprendam oisas novas por  ontigüidade de assuntos.
O que queremos dizer é que não existe um me anismo explí ito estabele ido para
tal propósito.
Uma tentativa no sentido de se organizar a Web foi feita pelo site Yahoo! R,
entre outros, Nesse site existe, ainda, uma seção, hamada Web Dire tory, que
indexa páginas de a ordo om ategorias pré-denidas, tais omo arros, nanças,
jogos, et . Essa proposta ontinua a ser tentada em sites omo o Open Dire -
tory Proje t (http://dmoz.org/add.html), onde se pode ver um esforço da mesma
natureza. De qualquer forma, nos pare e laro que uma tentativa nesse sentido,
apaz de gerar resultados interessantes, baseada na força de trabalho humana,
está além de qualquer esforço que valha a pena ser tentado. Com isso em mente
podemos pensar: não seria possível onstruir-se tal mapa de forma automáti a?
Para se realizar essa tarefa podemos pensar em duas alternativas: a lassi ação
das páginas na Web e o seu agrupamento por similaridade.
Em relação à hipótese da lassi ação automáti a de páginas da Web, é pre iso
ter-se em mente que, para se lassi ar um onjunto de do umentos, é ne essário

33
que se saiba, de antemão, quais as lasses de assuntos a que eles perten em. Na
Web en ontramos uma quantidade muito grande de do umentos que, além disso,
é dinâmi a, no sentido de que os do umentos são removidos ou modi ados om o
tempo. Para se ategorizar ou lassi ar as páginas da Web, seria ne essário dispor
de um ritério de lassi ação universal, riado por um onjunto de espe ialistas,
que abar asse todos os possíveis assuntos riados, em qualquer língua utilizada.
Além disso, seria importante que as páginas já lassi adas fossem revisitadas
e re lassi adas de tempos em tempos, om a ne essária riação ou destruição
de lasses, onforme a mudança o orrida nos textos. Isso nos leva novamente à
questão do usto de utilização de trabalho humano para a tarefa. Uma esforço
dessa magnitude é, laramente, algo imprati ável nesses termos.
Assim, uma alternativa que pare e mais interessante, e da qual parte esse
trabalho, é a identi ação, automáti a, de similaridades entre os textos, e o uso
dessa informação na determinação de grupos de textos orrelatos.
Obviamente essa abordagem não resolve o problema da quantidade de pro es-
samento ne essário para omputar-se o resultado dos agrupamentos. Falaremos
sobre esse problema, e sobre a proposta de solução aqui apresentada, no apítulo
4, Seção 4.5.4.
Para entendermos omo o agrupamento de textos pode ser feito, e as di ul-
dades envolvidas na utilização dessa té ni a para um onjunto muito grande de
páginas da Web, apresentaremos, antes, uma introdução ao assunto mais genéri o
do agrupamento de dados.

2.1 Agrupamento de dados


O problema do agrupamento de dados pode ser denido [Jain et al., 1999℄ omo
sendo o problema de se en ontrar uma relação entre N elementos, ou amostras de
dados odi ados, e c agrupamentos. Essa té ni a é uma forma de aprendiza-
gem não-supervisionada, na qual pro ura-se organizar amostras disponíveis, sendo
geralmente utilizada nos asos em que, por qualquer motivo, não se en ontram
disponíveis informações, na forma de exemplos, sobre quais itens devam ser rela-
ionados a lasses pré-denidas.
O agrupamento de dados bus a organizar um onjunto de objetos em grupos,
de modo que os elementos que perten em ao mesmo agrupamento sejam mais
similares entre si do que aqueles que se en ontram em agrupamentos distintos
[Jain et al., 1999℄. O agrupamento de dados é, ainda, uma té ni a que visa prover
subsídios para a análise de dados, seja esta baseada em exploração ou onr-
mação de hipóteses previamente estabele idas. Em quaisquer desses dois asos o
agrupamento tem papel fundamental na análise de dados, por permitir extrair as
ara terísti as estruturais representadas pela inter-relação mútua en ontrada nos

34
objetos sob análise. O agrupamento de dados baseia-se na identi ação de similar-
idades entre elementos, omumente representados por vetores identi ando pontos
no espaço multi-dimensional, organizados em grupos, om base na similaridade
entre os elementos [Jain et al., 1999℄.
É importante salientar a diferença entre o agrupamento de dados, ou las-
si ação não-supervisionada, e a lassi ação supervisionada. Na lassi ação
supervisionada o sistema tem a esso, durante o período de treinamento, a uma
oleção de objetos pré- lassi ados, que servirão de guia para o pro esso de apren-
dizagem, durante o qual o algoritmo deverá identi ar as regras subja entes que
determinaram a lassi ação, feita por espe ialistas humanos. A lassi ação não-
supervisionada, por outro lado, analisa um onjunto de objetos não-rotulados,
de modo a riar grupos de elementos que apresentam semelhanças entre os seus
vetores, representando, assim, as similaridades en ontradas entre os objetos repre-
sentados por esses vetores. Após o pro esso de agrupamento é omum atribuir-se
rótulos des ritivos aos grupos. Esses rótulos, entretanto, têm um signi ado om-
pletamente diferente dos rótulos utilizados na lassi ação supervisionada. Os
rótulos resultantes do agrupamento de dados têm a função de prover uma de-
s rição, realizada posteriormente, das ara terísti as responsáveis pela geração do
agrupamento, des rição esta que é extraída dos próprios objetos apresentados.
O agrupamento de dados tem en ontrado utilização em diversas áreas. Citamos
algumas apli ações dessa té ni a [Mitra, 2003℄.

• Re onhe imento de padrões.

• Análise de dados geográ os: riação de mapas de ara terísti as a partir


da dete ção dos agrupamentos dos dados apresentados por um sistema de
informação geográ a (geographi information system ).

• Pro essamento de imagem: utilização de segmentação para a identi ação


do fundo em uma imagem.

• Computação multimedia : en ontrar o agrupamento de imagens ontendo um


determinado padrão, omo, por exemplo, ores.

• Análises médi as: identi ação de res imento anormal através de imagens
de tomógrafo omputadorizado.

• Bioinformáti a: determinação de agrupamentos de assinaturas em uma


base de dados de genes.

• Biométri a: riação de agrupamentos de imagens fa iais om ara terísti as


semelhantes.

35
• Ciên ias e onmi as: realização de pesquisa de marketing a partir do agru-
pamento dos lientes pelo perl.

• World Wide Web : agrupamento de registros de a esso dentro de um site para


a identi ação de padrões de uso.

O agrupamento de dados é, ainda, onsiderado omo a té ni a mais importante


dentro dos tópi os de pesquisa de Data Mining [Chang and Kim, 2004℄.

2.1.1 Etapas do agrupamento de dados

A Figura 2.1 (extraída de [Jain et al., 1999℄, p. 267), mostra os diversos passos
realizados durante o pro esso de agrupamento.

Figura 2.1: Etapas do pro esso de agrupamento

2.1.1.1 Representação das amostras

A representação das amostras diz respeito ao número de lasses, ao número


de amostras disponíveis e ao número, tipo e es ala das ara terísti as que serão
utilizadas omo ritério para o algoritmo de agrupamento. Essa representação
depende, ainda, de um pro esso de onversão, para um formato numéri o, das
ara terísti as que o projetista do sistema a redita serem mais relevantes para o
agrupamento [Estivill-Castro, 2002℄. O resultado nal dessa etapa é a riação de
vetores ujos elementos, ou dimensões, representem ara terísti as julgadas rele-
vantes de forma homogênea, ou seja, ada dimensão da população de vetores deverá
representar a mesma ara terísti a. Nessa etapa é feita a extração de ara terísti-
as relevantes (feature sele tion ), om o intuito de se identi ar quais ara terísti-
as permitem melhor diferen iar as diversas amostras. Esse pro esso arrega um
erto grau de subjetividade, devido ao fato de que as ara terísti as devem ser
es olhidas a priori, om base nos ritérios estabele idos pelo projetista do sistema.

36
Um exemplo de identi ação de ara terísti as relevantes poderia ser o seguinte:
um projetista quer realizar um agrupamento de dados de lientes de seguro, para
identi ar lientes que devem ser bene iados om des ontos. O ritério para a
atribuição do des onto seria a não o orrên ia de a identes envolvendo o liente.
Nesse aso, o projetista poderia onsiderar a idade do liente omo um elemento
representativo das amostras, e des artar o tipo sangüíneo. Per ebe-se que, se o
sistema estivesse sendo projetado para a identi ação de doadores de sangue, o
ritério de es olha se inverteria. Isso nos remete à questão da subjetividade iner-
ente à es olha das ara terísti as que farão parte das amostras.

2.1.1.2 Medida de proximidade entre as amostras

A medida de proximidade entre amostras depende do estabele imento de um


ritério om o qual se possa expressar a relação entre as ara terísti as odi adas
dos objetos a serem rela ionados. Essa medida pode ser obtida em termos da
distân ia entre os objetos ou em termos da densidade de objetos existentes em
erta área. A seguir apresentamos uma distinção entre essas duas formas de se
estabele er omparações entre objetos.

Similaridade baseada em distân ia

Para utilizarmos a medida de distân ia entre objetos de modo a determinar a


similaridade entre eles, tratamos os vetores riados a partir do pro esso de odi-
ação omo pontos no hiperespaço de n dimensões, onde n é o número de ompo-
nentes dos vetores, orrespondendo a ara terísti as (features ) dos objetos repre-
sentados. Nesse aso, para o ál ulo da distân ia entre dois objetos odi ados, ou
seja, sua similaridade, podemos utilizar a noção de espaço métri o [Kreyszig, 1978℄.
Um espaço métri o é um onjunto X , juntamente om uma função d, que retorna
um valor no domínio dos números reais d : X × X → ℜ . Essa função é hamada
métri a, ou função distân ia, quando possui as seguintes propriedades: Sem x, y
e z ∈ X , Então

1. d(x, y) = 0 ↔ x = y

2. d(x, y) = d(y, x)

3. d(x, z) ≤ d(x, y) + d(y, z)

4. d(x, y) ≥ 0

É muito omum a utilização da distân ia eu lidiana omo métri a para o ál ulo


da similaridade. A Equação (2.1) apresenta a denição da distân ia eu lidiana.

37
Sejam dois pontos a = (x1 , x2 , . . . , xn ), b = (y1 , y2 , . . . , yn ) ∈ Rn . Dene-se a
distân ia eu lidiana entre eles omo
q
d(x, y) = (x1 − y1 )2 + (x2 − y2 )2 + . . . + (xn − yn )2 (2.1)

A métri a eu lidiana, onforme denida na Equação (2.1), determina uma


topologia em Rn , hamada topologia padrão (ou usual ou anni a) em Rn , sendo
o resultado topológi o resultante hamado espaço eu lidiano [Kreyszig, 1978℄.

Similaridade baseada em modelos probabilísti os

Como visto em [Zhong and Ghosh, 2003℄, outra forma de se agrupar dados é
determinar a relação entre objetos om base em modelos probabilísti os.
Seja X = {x1 , x2 , . . . , xn } o onjunto de objetos a serem agrupados, e L =
{l1 , l2 , . . . , lk } o onjunto de modelos probabilísti os, tais omo adeias marko-
vianas, as quais, basi amente, determinam a possibilidade de um evento o orrer,
dada a o orrên ia de um evento anterior. Nesse enário, um modelo ly pode ser
visto omo um  entróide, ou ponto médio entre as amostras, para o agrupamento
y . Os modelos teriam, assim, um nível de ligação om os objetos, sendo esse
nível denido pelo logaritmo da verossimilhança, ou log-likelihood, dada uma dis-
tribuição p, p(x|ly ). A Figura 2.2 (de [Zhong and Ghosh, 2003℄), mostra a relação
entre os modelos e os objetos.
Seja τ = {t1 , t2 , . . . , tk } o onjunto dos k onjuntos de parâmetros geradores
dos modelos l. Assim, a similaridade pode ser vista omo p(x|ty ). Podemos denir
a similaridade global S , para o aso dos modelos probabilísti os, dos objetos X
em relação aos parâmetros τ , omo mostrado na Equação (2.2) de [Bilmes, 1997℄.

N
(2.2)
Y
S(τ |X) = P (X|τ ) = p(xi |τ )
i=1

O problema de determinar o melhor agrupamento para os dados pode ser


traduzido, assim, omo o de en ontrar um τ ∗ tal que S(τ ∗ |X) = max, ou, em
outras palavras, en ontrar os parâmetros geradores de modelos que melhor de-
s revam a distribuição en ontrada nos dados a serem agrupados.
É omum, entretanto, maximizar-se log(S(τ |X)) porque simpli a os ál ulos.
Para se en ontrar o valor máximo de log(S(τ |X)) é ne essário determinar o
ponto em que a derivada de log(S(τ |X)) é igual a zero, ou seja, o ponto máx-
imo dessa função, orrespondendo aos parâmetros pro urados. A derivada de
log(S(τ |X)) pode ser difí il de al ular, visto que a mesma depende da omplexi-
dade de S . Para a solução desse problema foi riado o algoritmo EM (Expe tation
Maximization ), o qual provê um pro edimento para a aproximação de τ ∗ .

38
X1

l1
L X
X2

l2

X3

lK

XN

Figura 2.2: Agrupamento de objetos por modelos probabilísti os

A abordagem baseada em modelos probabilísti os foi apresentada aqui por


ser de relevân ia para o problema do agrupamento de dados. Neste trabalho,
entretanto, de idimos limitar nosso es opo aos algoritmos que utilizam a distân ia
omo parâmetro para determinar a similaridade entre objetos.
Existem diversos algoritmos de agrupamento, ada um deles representando uma
abordagem diferente ao problema. Veremos a seguir uma introdução às diferentes
té ni as de agrupamento.

2.1.2 Tipos de algoritmos de agrupamento

Nesta seção apresentaremos os diversos tipos de algoritmos de agrupamento


utilizando uma parte da notação denida em [Jain et al., 1999℄, omo mostrado
na hierarquia apresentada na Figura 2.3 e melhor detalhada a seguir.

2.1.3 Hierarquia dos algoritmos de agrupamento

A árvore de hierarquias mostrada na Figura 2.3 apresenta uma divisão entre os


diversos tipos de algoritmos de agrupamento [Jain et al., 1999℄, p. 275. Os agru-
pamentos podem ser divididos basi amente em duas abordagens [Mitra, 2003℄, p.
228: hierárqui a e partitiva. Nos algoritmos partitivos, o objetivo é en ontrar

39
os c grupos que maximizam o ritério de separação es olhido. Os métodos hi-
erárqui os, por sua vez, bus am estabele er relações de similaridade progressiva,
nas quais subgrupos a abam fazendo parte de grupos maiores. Dentre os algo-
ritmos hierárqui os podemos en ontrar os aglomerativos e os divisivos. Esses
algoritmos orrespondem às estratégias bottom-up e top-down, respe tivamente.
Esses algoritmos empregam duas medidas de ligação: medida de ligação simples,
na qual a distân ia é determinada pelos elementos mais próximos, e medida de lig-
ação ompleta, na qual a distân ia é determinada pelos elementos mais distantes do
mesmo grupo, tal omo mostrado na Figura 2.3. Os algoritmos partitivos se difer-
en iam pelas diversas estratégias empregadas no parti ionamento das amostras.

Agrupamento

Hierárquico Partitivo

Ligação Ligação Modelo


Erro quadrático
simples completa probabilístico

Expectation
K-Means
Maximization

Figura 2.3: Taxonomia dos algoritmos de agrupamento

2.1.4 Aspe tos omplementares à hierarquia dos algoritmos

A taxonomia apresentada pre isa, não obstante, ser omplementada om uma


dis ussão de questões que afetam a todos os algoritmos, independentemente da a-
mada hierárqui a à qual possam perten er. Apresentamos a seguir uma dis ussão
sobre algumas dessas questões, tal omo apresentada em [Jain et al., 1999℄.

• Aglomerativo ou divisivo: Essa distinção diz respeito à forma omo o al-

40
goritmo realiza o agrupamento. A abordagem aglomerativa, ou bottom-up,
omeça atribuindo a ada um dos objetos um agrupamento distinto. Em
seguida, o algoritmo vai su essivamente fundindo os grupos mais próximos
até que o ritério de parada seja satisfeito. No aso da abordagem divisiva o
algoritmo omeça por asso iar todos os objetos a um úni o agrupamento e
exe uta a divisão desse grupo até que o ritério de parada seja satisfeito.

• Binário ou fuzzy : Os algoritmos de agrupamento binário asso iam um úni o


grupo a ada um dos objetos, enquanto nos de agrupamento fuzzy a relação
entre os diversos objetos e os grupos é denida por um valor no intervalo
que vai de 0, signi ando denitivamente não perten e, até 1, que signi a
denitivamente perten e. Assim, os agrupamentos fuzzy são mais exíveis
do que os binários, já que ada objeto perten e a todos os agrupamentos, em
maior ou menor grau.

• Determinísti o ou não-determinísti o: Nos algoritmos de agrupamento par-


titivo, baseados na minimização do erro quadráti o médio, pode-se en ontrar
abordagens que utilizam, omo base para o ál ulo, todas as distân ias entre
os objetos, ou que utilizam, em um pro esso iterativo, amostras da população
de objetos, geradas aleatoriamente.

• In remental ou não-in remental: Para os asos em que o onjunto de objetos


a serem agrupados é muito grande, existem té ni as projetadas para permitir
o agrupamento de objetos om a minimização do número de leituras para
ada objeto, ou redução no número de objetos examinados durante a exe-
ução do algoritmo, ou ainda redução do tamanho das estruturas de dados
auxiliares utilizadas na exe ução dos algoritmos.

A seguir apresentaremos uma dis ussão sobre os dois prin ipais modelos de al-
goritmos de agrupamento, hierárqui o e partitivo, e mostraremos alguns exemplos
representativos de ada um deles. Abordaremos, nesse trabalho, três té ni as de
agrupamento apenas: agrupamento hierárqui o, agrupamento divisivo baseado no
algoritmo K-Means e Self-Organizing Map. As duas primeiras porque são as prin-
ipais té ni as utilizadas para o agrupamento de textos [Steinba h et al., 2000℄, e
a última porque será útil em nossa dis ussão posterior.

Algoritmos de agrupamento hierárqui o

Os algoritmos de agrupamento hierárqui o permitem riar uma relação entre os


diversos objetos e, além disso, riar uma relação entre os diversos grupos entre si,
em forma de árvore, om a interpretação usual na qual ada um dos nodos pode
ser identi ado omo uma sub lasse de seu nodo pai. As folhas da árvore são

41
os grupos que onsistem de apenas um elemento. Cada nodo, por sua vez, repre-
senta um agrupamento que ontém todos os objetos de seus nodos des endentes
[Manning and S hütze, 1999℄.
Essa representação tem omo raiz o próprio onjunto de objetos a serem agru-
pados. Os algoritmos hierárqui os ne essitam da denição de um parâmetro, ujo
valor deverá representar o limite até o qual os agrupamentos serão onsiderados
omo de interesse para a organização que se bus a dos objetos. A forma omu-
mente utilizada para a representação da árvore hierárqui a de agrupamentos é o
dendograma (dendogram ), omo mostrado na Figura 2.4.
O agrupamento hierárqui o, apresentado na Equação (2.3), somente faz sentido
se a função de similaridade es olhida for monotni a. Nesta equação c, c′ e c′′ são
três agrupamentos.

∀c, c′ , c′′ ⊆ S : min(sim(c, c′ ), sim(c, c′′ )) ≥ sim(c, c′ ∪ c′′ ) (2.3)


Sendo a função de similaridade monotni a, a função de fusão de agrupa-
mentos, garantidamente, não aumentará a similaridade intra-agrupamento, pela
propriedade expressa pela Equação (2.3).
Na Figura 2.4 apresentamos uma representação de árvore de hierarquias
[Jain et al., 1999℄. Pode-se notar na Figura 2.4 a linha em que se determina o
ponto no qual o algoritmo deverá parar o seu pro essamento, tendo determinado
os agrupamentos de interesse. É importante notar que a parada é determinada de
forma arbitrária pela pessoa que realiza o agrupamento.

A B C D E F G

Figura 2.4: Representação de árvore de hierarquias: dendograma

Apresentamos a seguir algumas onsiderações a respeito das prin ipais ara -

42
terísti as dos algoritmos de agrupamento hierárqui o ([Manning and S hütze, 1999℄,
p. 500).
Esses algoritmos são preferíveis para análise de dados detalhada, em relação
aos algoritmos partitivos. Isso porque realizam um parti ionamento ótimo dos
objetos, o que se deve a uma análise exaustiva de todos os objetos apresentados
entre si. Esses algoritmos provêem, ainda, mais informações do que os algoritmos
de agrupamento partitivo. Isso porque, além da atribuição de informações de
agrupamento para os objetos, os algoritmos riam uma estrutura que rela iona os
próprios grupos entre si. Os algoritmos hierárqui os são, em ontrapartida, menos
e ientes que os algoritmos de agrupamento partitivo. Em termos de e iên ia
é importante notar que os algoritmos de agrupamento hierárqui o sofrem om a
di uldade no es alonamento da apli ação de sua solução para grandes quantidades
de objetos. Isso porque é ne essário levar em onsideração, para ada iteração do
algoritmo, todos os objetos. Assim, para n objetos, é ne essário al ular os valores
dos elementos de uma matriz de n × n oe ientes de similaridade, e atualizar essa
matriz onforme o algoritmo prossegue.
Continuaremos nossa dis ussão sobre os algoritmos de agrupamento hierárqui o
om a apresentação de suas duas variantes: os algoritmos aglomerativos e divisivos,
mostrando suas diferenças e os asos em que seu uso é apropriado.

Agrupamento aglomerativo

O agrupamento hierárqui o aglomerativo é uma abordagem bottom-up para o


problema do agrupamento de dados em uma hierarquia de onjuntos. Esse al-
goritmo omeça om o onjunto de objetos, dividindo-os em grupos de modo a
maximizar a similaridade intra-grupos. O Algoritmo 1 [Steinba h et al., 2000℄ de-
s reve agrupamento aglomerativo. Esse algoritmo perten e à lasse dos algoritmos
gulosos. Ele omeça om um grupo distinto para ada objeto e, a ada passo,
determina os dois grupos mais similares e os agrega, riando um novo agrupamento
a partir dos objetos ontidos nos grupos que foram fundidos. A exe ução on lui
quando somente um agrupamento, ontendo todos os objetos, é en ontrado.

Agrupamento divisivo

O agrupamento hierárqui o divisivo, também hamado top-down


([Manning and S hütze, 1999℄, p. 502), tal omo o algoritmo aglomerativo, tam-
bém pode ser lassi ado omo um algoritmo guloso. Esse algoritmo omeça
om um agrupamento que in lui todos os objetos e, a ada iteração, determina
qual dos agrupamentos formados é menos oerente, ou seja, tem o menor valor
para a função de similaridade utilizada. O agrupamento es olhido é dividido em
dois. O Algoritmo 2 des reve o algoritmo divisivo. Não é omum a utilização

43
Algoritmo 1 Agrupamento hierárqui o aglomerativo
1. Atribui ada elemento do onjunto a um grupo.

2. Cal ula a similaridade entre todos os pares de grupos.

3. Funde os dois grupos mais similares.

4. Retorna os grupos resultantes

5. Repete os passos 2 e 3 até restar apenas um grupo.

desse algoritmo para o agrupamento de textos, sendo o seu interesse restrito, aqui,
a omplementar a nossa dis ussão. No Algoritmo 2 a oerên ia dos grupos pode
ser al ulada pela Equação (2.5) (apresentada mais adiante).

Algoritmo 2 Agrupamento hierárqui o divisivo


1. Atribui todos os elementos do onjunto a um úni o grupo

2. Cal ula a oerên ia dos grupos

3. Divide o grupo menos oerente

4. Retorna os grupos resultantes

5. Repete os passos 2 e 3 até que ada grupo ontenha apenas um elemento

Agrupamentos Hierárqui os de Ligação Simples e Completa

Os algoritmos hierárqui os distinguem-se, ainda, pela função de similaridade


utilizada para denir que agrupamentos serão fundidos, no aso do algoritmo
aglomerativo, ou partidos, no aso do algoritmo divisivo.
No agrupamento de ligação simples single-link a medida de similaridade entre
dois agrupamentos é determinada pelos dois objetos mais próximos do onjunto
formado pelos objetos dos dois agrupamentos. Realiza-se uma bus a que rela iona
todos os elementos que perten em a agrupamentos diferentes e sele iona-se o par
que apresenta a maior similaridade entre si. O agrupamento de ligação simples
tende a produzir resultados que não são ótimos em termos globais, isso devido
ao fato de que ele pro ura minimizar a distân ia entre os elementos do agrupa-
mento de forma lo alizada em relação a um ponto de ada vez. Esse ponto de
 res imento do agrupamento é o objeto es olhido para ser o ponto de ligação

44
om outro agrupamento, devido à sua maior similaridade em relação a algum
elemento do agrupamento que está sendo reunido. Esse efeito, onhe ido omo
efeito de en adeamento ( haining ee t ), determina um formato alongado para
os agrupamentos que utilizam essa té ni a. Os agrupamentos de ligação ompleta
( omplete-link ) utilizam uma medida de similaridade que premia a qualidade global
do agrupamento, diferentemente da oerên ia lo al produzida pelo agrupamento
de ligação simples. A medida de similaridade entre dois agrupamentos é denida
omo sendo a similaridade de seus dois membros menos similares. Essa té ni a
tende a produzir agrupamentos ujos elementos apresentam-se mais próximos de
um  entróide, ou entro de um grupo, que é o vetor que representa a média dos
vetores do grupo. Isso tende a produzir agrupamentos de formato mais esféri o.
Dado um onjunto S de representações vetoriais de do umentos d, dene-se o
entróide c omo a média dos valores de d, tal omo mostrado na Equação (2.4).

1 X
c= d (2.4)
|S| d∈S

É importante notar que o algoritmo de agrupamento de ligação ompleta é mais


 aro que o algoritmo de ligação simples, tendo o primeiro omplexidade O(n3 ),
enquanto o último tem omplexidade O(n2 ), sendo n o número de elementos a
agrupar.

Algoritmos Partitivos

Os algoritmos partitivos, ou não-hierárqui os, não fazem uma relação exaustiva


entre os agrupamentos em forma de hierarquia, tal omo foi visto anteriormente.
Esses algoritmos realizam, ao invés disso, apenas um parti ionamento simples dos
dados em um onjunto de agrupamentos. Sendo assim, eles têm uma apa idade
de representação dos objetos sob análise é inferior àquela que é passível de ser
obtida om o uso dos algoritmos hierárqui os.
As té ni as de agrupamento partitivo têm, por outro lado, uma vantagem em
relação aos algoritmos hierárqui os, que é a apa idade de tratar onjuntos de
dados para os quais a geração de um dendograma é proibitiva, em termos de usto
omputa ional. O uso de algoritmos partitivos ria a ne essidade da es olha, a
priori, da quantidade de agrupamentos aos quais os dados serão rela ionados. Os
algoritmos partitivos têm seu fun ionamento baseado na otimização de uma função
que dene a qualidade do agrupamento do onjunto de objetos. Essa função pode
depender de elementos lo ais, pela identi ação de um sub onjunto do universo de
objetos a serem organizados, ou do onjunto total dos objetos a serem agrupados,
sendo, nesse aso, todos os objetos onsiderados. Em termos práti os, entretanto,
é omum que a quantidade de objetos a serem agrupados represente um obstá ulo

45
à bus a global, devido ao usto omputa ional asso iado à pesquisa do espaço de
ombinações possíveis entre os objetos.
Tipi amente, os algoritmos não-hierárqui os omeçam om partições riadas
a partir de nú leos de agrupamentos riados aleatoriamente e vão renando o
resultado. A maioria desses algoritmos realiza várias iterações, nas quais os objetos
podem ser realo ados a diferentes lusters, na medida em que essa ação melhore o
resultado forne ido pela função de avaliação do agrupamento.
Nos algoritmos partitivos iterativos é ne essário determinar-se um ritério de
parada. Esse ritério pode ser baseado na qualidade dos agrupamentos en on-
trados, que é determinada pela função de avaliação es olhida. Um ritério de
parada muito omum é a es olha de um limite para a variação mínima do grau de
qualidade dos lusters, tal omo medido pela função de avaliação.
A denição do número de agrupamentos inuen ia a medida de qualidade. Em
alguns asos existe um onhe imento prévio da quantidade de lasses às quais os
objetos devem ser rela ionados. Por exemplo, se a apli ação tenta segmentar, ou
agrupar, áreas de imagens de satélite, o riador do sistema pode saber, de antemão,
que os asos interessantes são as áreas de oresta, lagos, montanhas e plantações.
Nesse aso seria su iente denir um número de agrupamentos igual a 4, isso
porque, mesmo que alguma área não se en aixe exatamente nos grupos previa-
mente denidos, ela será absorvida pelo agrupamento que melhor a representa.
Em nosso exemplo, poder-se-ía imaginar uma área de plantação sendo onsiderada
omo parte da oresta. Nos asos em que não se sabe o número de agrupamentos
mais relevantes, pode-se testar agrupamentos om diferentes números de grupos e
veri ar o omportamento da função de avaliação. Em geral, a medida de quali-
dade dos agrupamentos aumenta om o aumento no número de grupos. Quando,
entretanto, os objetos a serem agrupados têm uma estrutura que tende natural-
mente para um determinado número k de grupos, pode-se veri ar um aumento
substan ial na medida de qualidade quando se varia o número de grupos de k − 1
para k , e uma variação pequena na transição de k para k + 1. Essa tendên ia pode
ser usada para determinar-se o melhor valor de k .
Existem diversas opções para a es olha da função de medida de qualidade dos
agrupamentos. Vamos apresentar a seguir a mais popular delas: a função de erro
quadráti o.

Algoritmos de Erro Quadráti o

O ritério mais freqüentemente utilizado para a denição da qualidade do agru-


pamento em algoritmos partitivos é o erro quadráti o. Esse ritério é espe ialmente
interessante quando os agrupamentos gerados são ompa tos, ou seja, não têm
formato alongado, e são isolados, ou seja, não têm elementos que poderiam ser
identi ados omo perten endo a uma área de interse ção de dois ou mais grupos.

46
Seja L um agrupamento de um onjunto X de objetos, ontendo K grupos. O
erro quadráti o é denido omo mostrado na Equação (2.5).
nj
K X 2
j
(2.5)
X
e2 (X, L) = xi − c j

j=1 i=1

Na Equação (2.5), xji é o i-ésimo objeto perten ente ao j -ésimo agrupamento


e cj é o entróide do j -ésimo agrupamento.
Os algoritmos que utilizam o método de agrupamento baseado em erro quadráti o
seguem um onjunto de passos omuns para a solução do problema. Esses passos
são:

1. Sele ionar uma partição xa ini ial de grupos, om seus entróides orre-
spondentes.

2. Atribuir ada objeto ao entróide mais próximo e re al ular as posições dos


entróides para a posição entral do agrupamento obtido. Repetir esse pro-
esso até que a variação do erro quadráti o esteja abaixo de um limiar esta-
bele ido omo a eitável. Esse é o ponto em que a ondição de membros de
um grupo se torna estável para os objetos sendo organizados.

3. Dividir ou fundir grupos de a ordo om informações heurísti as adi ionais,


repetindo, op ionalmente, o passo 2.

Apresentaremos, a seguir, o algoritmo K-Means, o qual utiliza o método do


erro quadráti o omo base para o agrupamento de dados.

2.1.5 Uma breve análise do algoritmo K-Means

O K-Means é um dos mais simples e mais empregados algoritmos de agrupa-


mento utilizando o ritério de erro quadráti o. Esse algoritmo omeça om uma
partição ini ial determinada por um onjunto de k entróides, representados pelo
mesmo número de dimensões dos objetos que se quer agrupar. Cada entróide
representa o ponto entral de ada grupo no espaço n-dimensional denido para
o problema. Os entróides determinam, por proximidade, a que grupo perten e
ada um dos objetos do onjunto a ser agrupado.
O algoritmo realiza o agrupamento dos objetos de modo iterativo. Ele vai
atribuindo objetos a grupos, utilizando, omo ritério, a similaridade entre o objeto
e o entróide que melhor o representa, ou seja, o mais próximo. Depois de ada
atribuição o algoritmo modi a a posição dos entróides, para reetir o ponto
entral dos objetos es olhidos para fazer parte do seu grupo. Exe uta os passos
des ritos no Algoritmo 3 até que o ritério de parada seja atingido, ou seja, até

47
que nenhum objeto troque de grupo ou a variação da posição dos entróides esteja
abaixo de um limiar pré-estabele ido.
Apresentamos no Algoritmo 3 uma simpli ação do algoritmo K-Means.

Algoritmo 3 K-Means
1. Es olher K entróides, oin idindo om k objetos aleatoriamente es olhidos
ou k posições aleatórias dentro do volume que ontém o onjunto de objetos
a serem organizados.

2. Atribuir ada objeto ao entróide mais próximo.

3. Re al ular os entróides omo sendo a média das posições dos objetos atribuí-
dos a ada entróide na iteração anterior.

4. Se o ritério de parada não for atingido, voltar para o passo 2.

Uma ara terísti a importante do K-Means, que é ompartilhada pela maioria


dos algoritmos partitivos, é a ne essidade de se denir de antemão a quantidade de
grupos nos quais os objetos serão organizados. Isso pode ser um problema, visto
que um dos apelos da aprendizagem não-supervisionada, da qual o agrupamento
de dados é uma instân ia, é a possibilidade de se revelar relações existentes entre
os objetos sob análise, que não são de onhe imento do projetista do sistema. No
entanto, se for es olhido um número k de entróides menor do que o ne essário
para representar de forma adequada os objetos sob análise, relações podem passar
desaper ebidas. O emprego de um número ex essivo de entróides, por outro lado,
a arretaria uma distinção entre objetos que pode estar além daquela que realmente
representa a estrutura dos objetos. Além disso o ex esso de entróides a arreta
um onsumo ex essivo de re ursos omputa ionais.

2.1.5.1 Utilização do algoritmo K-Means

Muito embora o algoritmo K-Means geralmente seja apaz de maximizar a


qualidade dos agrupamentos gerados, seu uso exige alguns uidados om a es-
olha dos valores ini iais dos entróides. Via de regra, é interessante posi ionar
os entróides o mais distantes entre si dentro do espaço denido pelos objetos sob
análise.
Uma forma omum de se es olher os valores ini iais para os entróides é a
atribuição aleatória dos valores de ada dimensão, obviamente respeitando os lim-
ites do volume que ontém o onjunto de objetos a serem organizados. Outra
forma muito omum de se denir os entróides é a atribuição de valores obtidos a
partir da es olha aleatória de objetos representativos do onjunto.

48
Uma variação interessante do algoritmo K-Means utiliza medóides ao invés de
 entróides. Os medóides são objetos representativos do próprio grupo, utilizados
omo entro dos grupos. O algoritmo que utiliza os medóides é uma variação do
K-Means, hamada K-Medoids. Esse algoritmo é mais robusto que o K-Means,
devido ao fato de ter uma menor sensibilidade ao ruído e a objetos forasteiros,
ou seja, que se en ontram em posições muito afastadas dos outros objetos.
O algoritmo K-Means tem a tendên ia a riar grupos de objetos úni os om
os forasteiros, isso porque eles tendem a  apturar os entróides, degenerando,
assim, o resultado do algoritmo. É omum, para evitar que isso o orra, a exe-
ução de uma etapa de pré-pro essamento dos dados para eliminar os objetos que
apresentam grande disparidade em relação ao onjunto.
Outra de iên ia dos algoritmos K-Means e suas variações, é o fato de que eles
não são apazes de representar agrupamentos ujo formato geométri o é n avo.
Isso se deve ao fato de que ada grupo é representado por um úni o ponto, as-
sumindo, assim, uma hiperesfera, que dene o formato do grupo. A Figura 2.5
(de [Jain et al., 1999℄) ilustra o problema de se tentar representar agrupamentos
n avos om um úni o ponto entral. Nessa gura a estrutura subja ente aos
objetos é um úni o agrupamento alongado. O algoritmo K-Means, entretanto,
não possui meios para realizar essa representação de forma satisfatória, sendo o
resultado indeterminado.

Figura 2.5: Di uldade de representação de agrupamentos n avos

O algoritmo K-Means não é apropriado, tampou o, para organizar onjuntos


de dados que gerem grupos de tamanhos muito distintos, isso porque os entróides
tendem, nesse aso, a ser atraídos mais fortemente para o grupo maior. A Figura
2.6 ilustra esse problema. Nessa gura, parte dos objetos do grupo maior foi
atribuída ao grupo menor.
Vamos apresentar, a seguir, uma breve introdução ao mapa auto-organizável.
Os on eitos elaborados servirão de subsídio para a apresentação de um aso de uso
onde o mapa auto-organizável é utilizado para a riação de um mapa de assuntos

49
Figura 2.6: Di uldade de representação de grupos de tamanhos muito diferentes

a partir de um onjunto de do umentos de uma lista de dis ussões na Web, que


será abordado na Seção em 3.1.

2.1.6 Mapa Auto-Organizável

Os mapas auto-organizáveis ou SOM (Self-Organizing Map ), ou mapas de Ko-


honen [Kohonen, 1990℄, são uma lasse de algoritmos de redes neurais dentro da
ategoria dos algoritmos de aprendizagem não-supervisionada. Esses algoritmos
foram propostos, em sua forma original, por Teuvo Kohonen, em 1981-82.
Os modelos de mapas auto-organizáveis se inspiram em ara terísti as en on-
tradas no órtex erebral humano.

2.1.6.1 Aprendizagem nos mapas auto-organizáveis

Os mapas auto-organizáveis realizam uma aprendizagem não-supervisionada,


isto é, rela ionam padrões, ou regularidades, a partir de um onjunto de infor-
mações. Nesse pro esso, a rede asso ia elementos de sua estrutura às diferentes
lasses de padrões en ontrados, omo mostra o exemplo da Figura 2.7, onde o
mapa é utilizado para representar dados em uma topologia de grade (gura ex-
traída de [Kohonen, 1990℄). Essa modi ação dos elementos da rede, riando uma
representação topológi a dos dados de entrada, é hamada auto-organização.
O nome dado ao pro esso lembra o fato de não haver uma expe tativa, por
parte do projetista do sistema, sobre a forma omo a rede deverá representar os
dados que lhe forem apresentados, permitindo a des oberta de relações subja entes
no espaço dos dados de entrada.
Para dar uma idéia mais on reta do me anismo que permite a riação de re-
lações topológi as entre grupos de dados, vamos apresentar, de forma simpli ada,
no Algoritmo 4 (de [Haykin, 1994℄) o algoritmo do SOM.

50
Figura 2.7: Formação do Mapa Auto-Organizável

Algoritmo 4 Sumário do Algoritmo do SOM


1. Ini ializa-se ada vetor de neurnios.

2. Um vetor do espaço de entrada é es olhido ao a aso e apresentado à rede.

3. Cada neurnio é veri ado quanto à sua distân ia em relação ao vetor de


entrada. O neurnio que possui o vetor mais aproximado é o ven edor.

4. Cal ula-se o raio de vizinhança do neurnio ven edor. Esse valor é alto
no omeço do treinamento e vai diminuindo om o aumento do número de
iterações. Os neurnios en ontrados dentro da área de vizinhança são iden-
ti ados.

5. Para ada nodo na área de vizinhança, in lusive o nodo ven edor en ontrado
no passo quatro, os pesos são ajustados de modo a diminuir a sua distân ia
em relação ao vetor de entrada apresentado. Além disso, os neurnios têm
seu vetor modi ado na razão direta de sua distân ia do entro, ou seja,
quanto mais próximo, maior a variação.

6. Repete-se os passos 2 a 5 até que a variação per ebida nos pesos dos neurnios
seja desprezível.

51
2.1.6.2 Utilização dos mapas auto-organizáveis para agrupamento de
dados

No mapa auto-organizável, a relação entre os elementos formadores dos padrões


é a similaridade dos dados de entrada. Sendo assim, ele pode ser utilizado nas tare-
fas de agrupamento de dados, ou lustering. Além disso, omo o mapa rela iona
elementos de sua estrutura (a qual, tipi amente, onta om uma ou duas dimen-
sões) aos dados de entrada, que podem ter qualquer dimensionalidade, essa relação
pode ser vista omo uma ltragem das ara terísti as mais relevantes dos dados de
entrada. Por esse motivo os mapas auto-organizáveis são às vezes hamados mapas
de ara terísti as ou feature maps. Na Figura 2.8 (extraída de [Kohonen, 1990℄),
vemos um exemplo mostrando um mapeamento de um objeto formado por pontos
no espaço tridimensional para um mapa de duas dimensões. Isso nos dá uma idéia
intuitiva do que signi a o mapeamento de ara terísti as.

Figura 2.8: Mapeamento de ara terísti as relevantes om SOM

Nas seções seguintes apresentamos os aspe tos mais relevantes do agrupamento


de textos baseado em distân ia.

2.2 Visão geral do agrupamento de textos


Todos os métodos de agrupamento de dados textuais têm, omo ara terísti a
omum, uma etapa preliminar de tratamento dos textos, também denominada pré-
pro essamento [Beil et al., 2002℄. Nessa etapa são removidas todas a informações
não textuais, tais omo números, pontuação, mar ações HTML, et . É omum,
ainda, a remoção de palavras muito freqüentes, listadas em uma stoplist, lista que
ontém palavras que são de pou a valia na dis riminação do onteúdo dos textos,
tais omo os artigos, os advérbios, et . É omum, também, reduzir-se os termos
restantes ao seu radi al (pro esso denominado stemming ).

52
É importante notar que a dependên ia de uma té ni a baseada em regras gra-
mati ais para a identi ação de palavras similares em uma etapa de pré-pro essa-
mento, omo é o aso do stemming, torna o algoritmo de agrupamento dependente
de linguagem, e assim, difí il de ser estendido para outras línguas. Uma alterna-
tiva para essa té ni a seria um agrupamento prévio das palavras em termos do
ontexto no qual as mesmas o orrem, determinando de forma dinâmi a as relações
de similaridade entre as palavras que onstituem os textos a serem agrupados.
O ontexto de o orrên ia da palavra, o qual determina seu nível de similaridade
em relação às outras palavras, é determinado por um número xo de palavras
que o orrem antes e depois de ada o orrên ia das palavras que ompõem os tex-
tos e que são de interesse. Um exemplo de uso dessa té ni a pode ser visto em
[Lagus et al., 1996℄. Existem, ainda, outras té ni as para a odi ação de textos
para o agrupamento, mas vamos nos ater, nesse trabalho, à odi ação hamada
bag-of-words, apresentada a seguir.
Muitos algoritmos de agrupamento de texto utilizam o modelo de espaço ve-
torial (ve tor-spa e model ) para a representação dos textos de forma que estes
possam ser analisados om o uso de métodos matemáti os. Nesse modelo, ada
do umento d é representado por um vetor no qual a i-ésima dimensão representa
a freqüên ia do i-ésimo termo (tfi ) en ontrado no onjunto dos textos a serem
agrupados. Existem muitas maneiras de se al ular a freqüên ia dos termos (ver
[Sebastiani, 2002℄), a mais simples delas é onsiderar a freqüên ia de ada termo
simplesmente omo o número de o orrên ias daquele termo no do umento. Essa
forma de odi ação dos textos, que leva em onsideração apenas a ontagem
de palavras no texto, perdendo a relação de ontigüidade entre elas, também é
hamada sa o de palavras (bag-of-words ). Nesta abordagem um do umento d
é representado pelo número de o orrên ias (freqüên ia) de seus termos relevantes
d = (tf1 , . . . , tfm ).
Depois de oletados os termos a serem utilizados, é omum que os vetores
representativos dos do umentos sejam bastante esparsos, ou seja, que ontenham
muitos elementos de valor zero. Isso é problemáti o, porque qualquer ál ulo om
esses vetores terá que levar em onsideração todas as dimensões, impa tando neg-
ativamente na performan e do algoritmo utilizado para o agrupamento. Assim, é
altamente desejável reduzir-se ao mínimo o número de dimensões dos vetores antes
de se pro eder ao agrupamento propriamente dito. Uma forma bastante simples
de se diminuir a dimensão dos vetores é a eliminação dos termos menos freqüentes
en ontrados no onjunto total dos textos a serem agrupados [Sebastiani, 2002℄, de
modo que o número de termos representativos dos textos que em 10 1
, sem perda
de qualidade do agrupamento, tendo sido experimentadas reduções para até 100 1

om pequena perda de qualidade.


~
Normalmente, os vetores obtidos são normalizados d~n = d , sendo |d| a norma
~
|d|

53
q
do vetor d, que é al ulada por |d| = tf12 + tf22 + tf32 + . . . + tfm2 . Esse pro-

esso evita distorções ausadas pela omparação entre do umentos de tamanhos


diferentes. Isso porque ada elemento do vetor d~n se torna uma representação da
freqüên ia do j-ésimo termo, tfj , em relação às freqüên ias dos termos que apare-
em no próprio d~n . Assim, pode-se medir os tfj s dos diversos textos diretamente,
porque a grandeza é a mesma: a medida de importân ia relativa do termo.
Para se medir a similaridade entre dois do umentos d~1 e d~2 , representados no
modelo de espaço vetorial, pode-se al ular a similaridade do oseno, que é a
medida do oseno do ângulo entre os dois vetores. A Equação (2.6) serve para o
ál ulo da similaridade do oseno.

(d~1 · d~2 )
sim_cos(d~1 , d~2 ) = (2.6)
|d~1 ||d~2 |
Na Equação (2.6)  · é o produto es alar e  || representa o módulo do vetor.
A idéia por trás do uso da similaridade do oseno é que os vetores que rep-
resentam os textos podem ser omparados quanto a sua similaridade pelo ângulo
formado entre eles. Por exemplo, dois vetores idênti os terão a similaridade do
oseno igual a 1, ou seja, serão onsiderados iguais. Por outro lado, quaisquer dois
vetores que sejam ortogonais no espaço n-dimensional em que estão representados
terão a similaridade do oseno igual a 0, porque o produto es alar entre eles, o
numerador da Equação (2.6), será 0.

2.2.1 Agrupamento de textos om o algoritmo K-Means

Para utilizar-se o algoritmo K-Means no pro esso de agrupamento de textos


é ne essário que, antes, os textos sejam odi ados na forma de vetores omo
anteriormente apresentado.
É interessante notar que, ao usarmos o K-Means para o agrupamento de dados
textuais, utiliza-se uma variação para o ál ulo da similaridade entre os entróides
e os vetores dos do umentos baseada na similaridade do oseno, apresentada na
Equação (2.6). Nesse aso, entretanto, as medidas de similaridade são realizadas
entre os entróides e os do umentos. Além disso, omo os vetores representativos
dos do umentos são normalizados, ou seja, têm seu módulo igual a 1, a similaridade
do oseno para o ál ulo da similaridade entre um entróide ~c e um do umento d~
 a omo mostrado na Equação (2.7).

~
~ = (~c · d)
sim_cos(~c, d) (2.7)
|~c|
Com o uso da Equação (2.7) para a geração dos agrupamentos faz sentido
utilizar-se uma medida interna de qualidade que utilize o mesmo prin ípio. Seja

54
S o onjunto de do umentos agrupados. A Equação (2.8) permite determinar o
valor global de similaridade para o onjunto dos k agrupamentos gerados.

1 X
global_sim = sim_cos(d~′ , d)
~ (2.8)
|S|2 ~ ~′
d,d ∈S

Vamos apresentar a seguir uma variante do K-Means, utilizada para o agru-


pamento de textos. Nosso intuito om a apresentação desta variante é dar uma
idéia dos possíveis usos do agrupamento de textos baseado no K-Means, para asos
práti os.

2.2.2 Bise ting K-Means

É omum en ontrar na literatura armações de que o agrupamento hierárqui o


gera resultados de melhor qualidade, sendo limitado em seu uso apenas por sua
omplexidade quadráti a [Steinba h et al., 2000℄. O algoritmo K-Means, entre-
tanto, apesar de ser re onhe ido por sua omplexidade linear em relação ao número
de do umentos, não é onsiderado apaz de gerar resultados de qualidade om-
paráveis aos gerados pelas té ni as de agrupamento hierárqui o. Vamos apresentar
uma variante do algoritmo K-Means, hamada Bise ting K-Means [Steinba h et al., 2000℄,
a qual apresentou resultados omparáveis, e em alguns asos melhores, que os obti-
dos om o uso de algoritmos de agrupamento hierárqui o para o aso parti ular
do agrupamento de textos.

Algoritmo 5 Bise ting K-Means


1. Forma um grupo om todos os do umentos.

2. Es olhe o grupo om maior distân ia entre os elementos para ser dividido.

3. En ontra 2 subgrupos usando o algoritmo bási o do K-Means (Bise ting


step ).
4. Repete o passo 3 i vezes, es olhendo a divisão que gera o maior valor de
similaridade global omo visto na Equação (2.8).

5. Repete os passos 2, 3 e 4, até que o número desejado de grupos seja gerado.

No Bise ting K-Means, a es olha do grupo a ser dividido, no passo 1, pode ser
feita de várias maneiras. É possível utilizar o maior grupo, ou seja, o grupo om
o maior número de omponentes, ou pode-se utilizar, alternativamente, o grupo
om o menor valor de similaridade. É possível, ainda, utilizar uma estratégia

55
que empregue os dois ritérios. No exemplo visto em [Steinba h et al., 2000℄ foi
utilizado, omo ritério para divisão, o número de omponentes dos grupos.
É interessante notar que o algoritmo Bise ting K-means pode ser usado tanto
para a geração de agrupamentos partitivos quanto hierárqui os. No primeiro
aso, pelo renamento dos agrupamentos en ontrados em estágios anteriores, sem
des artar os grupos denidos nas iterações anteriores. No segundo aso, pela
riação de subgrupos, a partir dos grupos mais gerais riados ini ialmente, adi io-
nando novos níveis de granulosidade para ada agrupamento gerado na iteração
anterior. Isso ontrasta om a distinção feita na Seção 2.1.2, que separava om-
pletamente os dois tipos de algoritmo. Por outro lado, mostra que existem outras
formas de ver essa distinção. Um exemplo é a noção de que um algoritmo hi-
erárqui o pode ser uma apli ação re ursiva de um algoritmo partitivo sobre os
grupos gerados por esse algoritmo em um passo anterior.
O Bise ting K-Means teve uma performan e superior ao K-Means nos experi-
mentos relatados em [Steinba h et al., 2000℄, em termos da similaridade geral dos
agrupamentos gerados. Esses resultados foram reditados à tendên ia desse algo-
ritmo de gerar agrupamentos de tamanhos pare idos, enquanto o K-Means gera
grupos de tamanhos muito diferentes.
[Steinba h et al., 2000℄ relata que o algoritmo Bise ting K-Means teve uma
performan e levemente superior, em termos da qualidade dos agrupamentos gera-
dos, na geração de hierarquias, em relação ao algoritmo hierárqui o aglomerativo.
Esse fato, aliado à omplexidade apresentada por esse algoritmo, O(n), em re-
lação à omplexidade do algoritmo hierárqui o aglomerativo, que é O(n2 ), torna
essa solução ainda mais interessante para os asos, muito omuns, em que grandes
quantidades de textos pre isam ser agrupadas.

56
Capítulo 3
Trabalhos orrelatos
Apresentaremos a seguir trabalhos rela ionados om aquele aqui proposto.
Faremos também uma dis ussão das propostas apresentadas em relação ao prob-
lema aqui onsiderado: auxiliar o usuário em sua bus a por informações relevantes
na Web.

3.1 WebSom
Uma alternativa para a onstrução de um mapa de on eitos a partir de um
onjunto de do umentos, pode ser vista em [Kohonen et al., 2000℄. Nesse trabalho
a riação do mapa é realizada utilizando-se o mapa auto-organizável.
[Kohonen et al., 2000℄ é um projeto do Centro de Pesquisas em Redes Neurais,
da Universidade de Helsinki. Esse projeto, liderado pelo próprio Teuvo Kohonen,
o riador dos mapas auto-organizáveis, está des rito em
http://websom.hut./websom/.
O projeto onsiste em mapear textos dos grupos de dis ussão omp.ai.neural-
nets, s i.lang e s i. ognitive (artigos), om 12088, 32627 e 5633 artigos respe tiva-
mente, à épo a da publi ação.
O mapeamento dos textos provê uma visualização simpli ada dos mesmos,
permitindo ompreender, de forma intuitiva, a relação de similaridade entre eles a
partir da relação de proximidade en ontrada. Além disso, o mapa permite nave-
gar através dos on eitos, a ionando o ponteiro do mouse sobre os diferentes on-
eitos. A Figura 3.1 (obtida de http://websom.hut./websom/) mostra o mapa,
omo visto no site do projeto.
A ionando-se o mouse om o ursor sobre o mapa da Figura 3.1, sobre a palavra
neuro omputing, por exemplo, des e-se um nível, omo mostrado na Figura 3.2.
As palavras mostradas no mapa são palavras- have extraídas om base na relação
omparativa entre sua quantidade no luster e na oleção omo um todo, omo

57
Figura 3.1: Visualização de on eitos om WEBSOM

58
mostrado em [Lagus and Kaski, 1999℄.

Figura 3.2: Visão mais detalhada de on eitos

A ionando-se o mouse om o ursor sobre o mapa da Figura 3.2, uma lista om


os textos referentes à ategoria es olhida pode ser visualizada.

3.1.1 Cara terísti as

A abordagem apresentada no projeto WEBSOM possui algumas ara terísti as


interessantes [Honkela, 1997b℄ tais omo:
• Visualização intuitiva de ategorias.
O mapa permite apresentar ao usuário uma visão geral das relações entre os
do umentos, os quais são representados por palavras- have e guardam, entre
si, uma relação topológi a.
• Capa idade de ofere er auxílio à pesquisa mesmo quando o usuário não tem
um onhe imento aprofundado sobre o assunto da pesquisa.

59
Nos sistemas de bus a por páginas na Web o usuário deve ser apaz de saber
quais termos relevantes o levarão a en ontrar textos de interesse dentro da
área pesquisada. Isso exige do usuário um onhe imento prévio da área de
interesse. No aso do WEBSOM tal onhe imento não é ne essário, visto que
o usuário pode navegar pelo mapa de palavras- have, o que lhe permite ser
apresentado aos on eitos mais importantes da área, de uma forma intuitiva.

• Capa idade de rela ionar textos a partir do signi ado das palavras, e não
somente de a ordo om o número de vezes em que as mesmas apare em nos
textos. O mapa é riado a partir de uma pré-organização dos termos om
base no ontexto em que estes apare em.

3.1.2 Desaos ao agrupamento de onteúdos na Web

Como visto anteriormente, o mapa auto-organizável se apresenta omo uma


alternativa interessante para a riação de um me anismo interativo de exploração
dos onteúdos de do umentos. O aso de uso apresentado é bastante apropriado,
ainda, por realizar a apli ação dessa té ni a de agrupamento de dados sobre do u-
mentos que seriam, em prin ípio, difí eis de lassi ar, omo é o aso dos grupos de
dis ussão na Web. Isto porque nesse aso os assuntos podem, de forma dinâmi a,
surgir ou desapare er om o tempo.
Por outro lado, essa té ni a tem um usto omputa ional muito alto. O usto
omputa ional será dependente do número de neurnios que vão representar os
assuntos tratados e o número de dimensões que vão representar os vetores que
odi am os textos. Isso determinará o tempo ne essário para a riação do mapa.
O resultado é que, quando o número de assuntos a serem obertos e a represen-
tação numéri a dos textos res em, o problema se torna, rapidamente, intratável.
Uma das limitações das té ni as de agrupamento para o problema que estamos
examinando é o fato de que é ne essário levar em onsideração todos os elementos
a serem organizados, ou seja, é ne essário rela ionar ada um dos elementos om
todo o resto do grupo. Isso torna intratável, na práti a, a tentativa de rela ionar
os textos em um onjunto muito grande.
Quando se fala em agrupamento de textos, o problema do agrupamento por sim-
ilaridades toma dimensões ainda maiores. Isso porque as té ni as mais utilizadas
para tratamento de textos, omo visto na Seção 2.2, utilizam uma odi ação para
rela ionar os textos, que os transforma em vetores, nos quais ada dimensão diz
respeito a uma palavra. Antes desta onversão são apli adas diversas té ni as, tais
omo stemming e stoplist, para reduzir o número de dimensões ne essárias para
des rever os textos. Essas té ni as, quando pensadas no âmbito da Web, nos reme-
tem à ne essidade de se ter um onhe imento sobre diferentes idiomas empregados
no mundo. Além disso, omo rela ionar dois textos de línguas diferentes?

60
Como visto anteriormente, as di uldades para se realizar um mapeamento de
similaridades entre do umentos na Web passam por problemas on eituais, tais
omo a ara terísti a de um algoritmo automáti o ser apaz de rela ionar dois
textos em termos de seus assuntos, depois de os mesmos terem passado por um
pro esso de odi ação que destrói a própria estrutura dos textos, representada
pelo en adeamento das palavras. Existe ainda um problema de ordem práti a
muito importante. Esse problema é a quantidade de pro essamento ne essário
para realizar um agrupamento de textos que vá além de um onjunto de textos de
uma lista de dis ussões, omo é o aso apresentado em [Kohonen et al., 2000℄.
Na bus a por uma solução para os problemas vistos a ima, vamos apresentar,
a seguir, uma abordagem híbrida utilizada para a des oberta de informação rele-
vante em um onjunto relativamente grande de textos. Nessa proposta, hamada
S atter/Gather, o esforço omputa ional do ál ulo da similaridade entre do u-
mentos é dire ionado de forma interativa por um usuário, interessado na obtenção
das informações ontidas nos textos.

3.2 Agrupamento automáti o dire ionado por usuário


No presente trabalho estamos denominando abordagem híbrida para a obtenção
de informação relevante, em um onjunto de textos ou páginas, a ação oordenada
entre homem e máquina.
Essa abordagem à bus a por informação faz, intuitivamente, bastante sentido,
porque permite um aumento na apa idade do ser humano de realizar sua tarefa de
bus a, pelo emprego das apa idades do omputador de organização e apresentação
de grandes quantidades de dados.
Nessa abordagem o usuário tem o papel de guiar o pro esso de des oberta,
emprestando à máquina, sua auxiliar, o dis ernimento sobre quais os aminhos
mais relevantes a serem seguidos. Isso ao mesmo tempo em que se bene ia da
maior velo idade permitida pela máquina na ordenação, armazenamento, a esso
e apresentação das informações ontidas nos do umentos, o que lhe permite tomar
de isões mais e ientes do ponto de vista do resultado da exploração.
A seguir vamos apresentar uma té ni a de apresentação de do umentos, baseada
no algoritmo K-Means. Essa té ni a, hamada S atter/Gather
[Pirolli et al., 1996℄, serve para auxiliar a pro ura por do umentos relevantes, omo
visto na Seção 2.2, utilizando para isso o agrupamento de textos similares.

3.2.1 S atter/Gather

Dentro da perspe tiva de utilização de ferramentas para auxiliar a bus a por


informação em um onjunto grande de textos, agora não nos referindo a páginas na

61
Web, mas a onjuntos de textos, ou orpora, en ontramos em [Pirolli et al., 1996℄
uma alternativa para a identi ação de sua similaridade. Essa alternativa baseia-
se na interação om o usuário para a denição dos ritérios que determinarão
qual, dentre os sub onjuntos dos textos apresentados, é mais promissor, quanto à
possibilidade de se en ontrar uma erta informação.
S atter/Gather é uma ferramenta baseada no agrupamento de textos que per-
mite explorar grandes quantidades de do umentos [Pirolli et al., 1996℄. O sistema
apresenta aos usuários um sumário do onteúdo de ada grupo, riado automati a-
mente. Além disso o sistema forne e meios para explorar os sumários em diversos
níveis de granulosidade. A Figura 3.3, extraída de
http://www.sims.berkeley.edu/ hearst/sg-overview.html, mostra a interfa e do sis-
tema.
Para permitir a exploração e iente de grandes quantidades de textos, o sis-
tema utiliza o algoritmo do K-Means de forma interativa, omo apresentado no
Algoritmo 6.

Algoritmo 6 S atter/Gather
1. O sistema ini ializa o grupo om todos os do umentos.

2. O sistema apli a o algoritmo K-means ao grupo es olhido (s atter ),


dividindo-o em k (número arbitrário) grupos.

3. O sistema apresenta ao usuário uma representação dos k grupos, baseada


nos termos mais relevantes neles en ontrados.

4. O usuário es olhe um dos grupos apresentados (gather ).

5. O sistema sele iona o grupo es olhido pelo usuário e vai para o passo 2, ou
sele iona um texto parti ular que é apresentado ao mesmo.

Um aspe to diferen iado nessa abordagem ao agrupamento de textos é a apli-


ação dada a essa té ni a, que pro ura auxiliar o usuário, em tempo real e de
forma interativa, na bus a por informações de interesse no momento mesmo em
que ele toma de isões de es olha sobre os diversos aminhos passíveis de serem
seguidos dentro da hierarquia que vai sendo apresentada. É interessante notar
que, nessa té ni a, o sistema somente ne essita realizar o agrupamento dos do -
umentos dentro dos grupos es olhidos pelo usuário no passo anterior, enquanto
as outras té ni as o-line ne essitam realizar o agrupamento de todos os do u-
mentos, visto que não podem ontar om o apoio do usuário durante o pro esso.
Essa abordagem é uma alternativa interessante para o dire ionamento e, onse-
qüentemente, otimização da bus a no espaço de possibilidades do agrupamento,

62
Figura 3.3: Interfa e do S atter/Gather

63
pela utilização do onhe imento do usuário na forma de uma expli itação dos seus
interesses a er a das informações que lhe são apresentadas. Além disso, o sistema
permite que o usuário des ubra novos interesses durante a própria navegação no
espaço dos assuntos que forma o onjunto de do umentos sob análise.
Nos testes realizados pelo grupo da Xerox, que riou o sistema, foi veri ada a
apa idade dos usuários, uma população de teste de 16 pessoas adultas, de en on-
trar informações relevantes tendo sido também veri ado o nível de aprendizado
in idental de orrente do uso da ferramenta. Os textos que serviram de base
para as bus as foram 2,2 gigabytes provenientes da oleção de textos TIPSTER
(http://www.itl.nist.gov/iaui/894.02/related_proje ts/tipster/pip.htm).
Os resultados do experimento indi am que o S atter/Gather é apaz de o-
muni ar vários tipos de informações sobre a estrutura de tópi os de uma grande
quantidade de do umentos. Con luiu-se, entretanto, que a ferramenta não é, soz-
inha, superior em termos de re uperação de informações. A redita-se que uma
ferramenta omo essa possa ser útil omo omplemento ao uso de sites de bus a,
nos asos em que é desejável uma abordagem exploratória dos do umentos que
ompõem a base de informações a ser onsultada.
Como vimos, o aso do S atter/Gather mostra direções interessantes no ma-
peamento de informações ontidas em um onjunto de textos. A novidade apre-
sentada é a exploração a partir de um referen ial determinado pelo usuário. Em
outras palavras, o algoritmo do S atter/Gather não pre isa agrupar todos os tex-
tos a ada vez, mas sim o sub onjunto es olhido pelo usuário om sendo de seu
interesse.
Assim, vimos que essa ferramenta mostra uma possível solução para parte do
problema de mapear as páginas da Web. Essa solução diz respeito ao usto om-
puta ional do agrupamento de um onjunto grande de textos de modo par ial,
relativo ao ponto no qual o usuário fo a sua atenção a ada momento. Se pen-
sarmos em nossa proposta ini ial de mapa, poderíamos imaginar o S atter/Gather
omo um sistema de posi ionamento relativo. Ou seja, ao invés de mostrar ao
usuário um mapa ompleto, no qual este possa ver onde está em relação a todos
os pontos relevantes, que em nosso aso são os assuntos das páginas da Web, esse
mapa seria um onjunto de direções tais omo: de onde vo ê está siga para < a >
para assunto < x >, para < b > para assunto < y >, para < c > para assunto
< z >, et .
Tendo em mente o que a abamos de expor, vamos agora voltar nossa atenção
novamente ao problema da bus a de informações no espaço de do umentos rep-
resentado pelas páginas na Web. Dentro desse ontexto, outras ferramentas de
auxílio à navegação podem ser en ontradas na literatura. Vamos apresentar breve-
mente, a seguir, o on eito de navegação assistida, na qual o usuário oopera om
um sistema omputa ional na bus a por informações.

64
3.3 Navegação assistida: Letizia
A navegação em páginas da Web, om o uso de links que as one tam, tem um
aráter de bus a semânti a. Isso porque as páginas são one tadas pelos seus ri-
adores, geralmente, a partir de uma ligação entre seus assuntos [Lieberman et al., 1999℄.
Dentro da área de Web Mining existe uma linha de pesquisa dedi ada à identi-
 ação de informação relevante, extraída das ligações entre as páginas. Essa área
de pesquisa hama-se web stru ture mining [Kosala and Blo keel, 2000℄.
A idéia bási a da navegação assistida, omo visto em [Lieberman et al., 2001℄,
é auxiliar o usuário em sua bus a por informações, utilizando a estrutura de links
da página de onde a bus a se ini ia. O me anismo de ajuda baseia-se em um
agente auxiliar que age omo um soldado batedor, ou seja, pro ura identi ar, a
partir da página em que o usuário se en ontra, quais são os links mais relevantes
para a ontinuação da bus a.
Um agente que realiza esse tipo de ooperação é o Letizia [Lieberman, 1995℄.
Em seu esforço por auxiliar o usuário, o agente pro ura identi ar quais são as
palavras relevantes para des rever a página atual e, a partir dessa informação, tenta
identi ar, om o uso do mesmo método, quais as páginas a essíveis, a partir da
página atual, que mais se rela ionam em termos de assunto. O agente atribui um
valor para ada página que pode ser atingida a partir da página atual om o uso
de heurísti as simples, tais omo identi ação da ordem em que o usuário a essou
os links, retorno para a página ini ial, adição da página à lista de favoritos, et .
Além disso, o agente é também apaz de identi ar links para páginas que não
existem e avisar o usuário.
O resultado da bus a realizada pelo agente é apresentado em uma janela de
sugestões separada. Essa janela serve de guia para o usuário enquanto navega. O
usuário tem a opção de ativar a janela de sugestões a qualquer momento e seguir
ou não as sugestões apresentadas pelo agente. Enquanto o usuário permane e
em uma página o agente vai fazendo bus as ada vez mais profundas, por links
indiretos atingíveis a partir da página sendo visitada pelo usuário, e atualizando as
informações que serão disponibilizadas na janela de sugestões. Quando o usuário
passa para uma outra página o pro esso se reini ia.
O resultado dessa ooperação é similar àquele visto para o S atter/Gather : o
usuário oopera om o omputador, tendo este último o papel de auxiliar, pro u-
rando identi ar ara terísti as das páginas a essíveis a partir dos links en ontra-
dos na página atual que possam servir de indi ação para uma melhor de isão do
usuário sobre a página a ser visitada a seguir.
Muito embora a navegação assistida possa aumentar a apa idade de bus a por
informações, ela sofre, a nosso ver, de uma limitação on eitual muito importante.
Essa limitação diz respeito à impossibilidade, por parte do agente auxiliar, de
determinar o real interesse do usuário em relação a ada página onsiderada omo

65
possível sugestão. Isso porque essa relevân ia somente poderia ser identi ada por
uma outra pessoa que:

• tenha os mesmos interesses;

• seja onhe edora do assunto tratado pelas páginas;

• tenha visitado as páginas de interesse do usuário anteriormente, e identi ado


o melhor aminho a seguir.

Uma limitação da navegação solitária, mesmo quando auxiliada por um ou mais


agentes de software, seria a impossibilidade de se transferir informações de uma
pessoa para outra(s) a er a dos melhores aminhos a serem per orridos durante a
navegação em um determinado espaço de do umentos. Voltando a nossa metáfora
do mapa de assuntos da Web, se essa transferên ia de informações fosse possível,
seria omo se, apesar de não termos um mapa global de todos os lugares, tivéssemos
a esso a um onjunto de rotas que nos indi asse os melhores aminhos a seguir.
Vamos apresentar a seguir algumas propostas de transferên ia de informações
a respeito de sites interessantes.

3.4 Propostas de abordagens exploratórias baseadas


na ooperação entre usuários
Obviamente é difí il ter-se uma pessoa interessada nas mesmas oisas que nós
mesmos e disponível para navegar juntamente onos o e nos propor alternativas
interessantes durante o ato da navegação. Em asos espe í os, entretanto, foi
mostrado que isso é bastante plausível. Esse ato de navegação onjunta é denom-
inado navegação olaborativa.

3.4.1 Navegação olaborativa

A navegação olaborativa [Cabri et al., 1999℄ [Lieberman et al., 1999℄


[de Jesús Hoyos-Rivera et al., 2002℄ é uma proposta para a agregação de elementos
so iais omo forma de enrique er o ato da navegação. A navegação olaborativa
pode ser entendida através da metáfora do grupo assistindo televisão, no qual
uma pessoa tem a posse do ontrole remoto e, assim, determina o programa que
será assistido por todos. Essa pessoa, que no jargão da navegação olaborativa é
hamada de mestre, tem, ainda, a prerrogativa de passar, temporariamente, o
ontrole da navegação para um dos outros parti ipantes, ou es ravos, que passa,
então, a dire ionar a navegação.

66
Existem variações para a proposta de navegação olaborativa. Uma delas
[Aneiros et al., 2003℄ permite a navegação autnoma entre os parti ipantes, om a
riação, ompartilhada, de um históri o de navegação do grupo. A riação desse
históri o é feita de modo olaborativo de forma automáti a, a partir do registro
da navegação dos parti ipantes do grupo. Posteriormente, o históri o riado pode
servir omo base de onhe imento a respeito de rotas de navegação relevantes.

Para a navegação olaborativa a ênfase está em re riar os me anismos naturais


de interação so ial dentro do meio virtual, omo forma de enrique er o pro esso
de navegação do grupo. Entre esses me anismos se en ontra a apa idade de
omuni ação entre os elementos do grupo, representada por ferramentas de envio
de mensagem instantânea. É omum, também, o uso de ferramentas de edição
olaborativa, que permitam aos parti ipantes do grupo, realizando a navegação,
editarem desenhos olaborativamente, de modo a transmitirem idéias ao grupo.

Essa abordagem so ial da navegação ria novas oportunidades na bus a por


informações relevantes no espaço de do umentos da Web. O elemento bási o dessa
fa ilidade são os me anismos de transmissão automáti a da experiên ia de naveg-
ação do mestre, que é passada para os es ravos durante a sessão. Além disso,
existe a possibilidade de a tomada de de isão a respeito dos melhores aminhos a
serem seguidos, ser realizada em onjunto.

O me anismo de transferên ia de onhe imento através de indi ações diretas,


omo no aso em que o es ravo é levado pelo mestre, e o me anismo de transfer-
ên ia indireta, omo no aso do uso de um históri o ompartilhado, são análogos a
métodos de exploração so ial aos quais estamos a ostumados no dia-a-dia. Nesse
ontexto, a indi ação direta equivaleria a um amigo que nos re omenda um restau-
rante, enquanto a indi ação indireta equivaleria a entrarmos em um restaurante e
per ebermos que existem muitas pessoas no mesmo, o que pode ser um indí io de
que o lugar é re onhe ido omo sendo um bom restaurante.

O me anismo que é automatizado pelos sistemas de navegação olaborativa é


o de di as de páginas interessantes, que são passadas, muitas vezes, por e-mail,
ou por apli ativos de instant messaging.

Um aspe to limitador dessas abordagens de re omendação direta, omo ap-


resentado para a navegação olaborativa, é a ne essidade de as pessoas que se
envolverão na experiên ia de navegação estarem disponíveis para o ato simultane-
amente. Outro aspe to limitador é a própria quantidade de pessoas que pode
parti ipar do grupo. Já que todos têm direito a interagir, há um número, a partir
do qual a e iên ia da interação não deve mais ser satisfatória, tal omo o orre
em uma dis ussão na qual se envolve um grupo muito grande de pessoas.

67
3.4.2 Sistema Broadway

Em [Ja zynski and Trousse, 1998℄ é apresentado um sistema, hamado Broad-


way, no qual um grupo de usuários é monitorado em sua navegação.
O sistema Broadway pre isa ser instalado no proxy HTTP, e utiliza informações
sobre o usuário, tais omo user name. O sistema aptura as rotas de navegação
dos usuários e agrega, às mesmas, notas que podem ser es ritas por um usuário
e lidas por outros que passarem pelas mesmas páginas. Além disso, o sistema
permite aos usuários avaliarem as páginas.
A informação oletada durante a navegação dos usuários permite a apresen-
tação de sugestões aos mesmos, baseadas na identi ação de relações de similari-
dade entre rotas seguidas e palavras dentro dos textos visitados.
A Figura 3.4, extraída de
http://www-sop.inria.fr/axis/papers/98ew br/slides/sld004.htm, mostra a inter-
fa e do sistema Broadway, inserida nas páginas mostradas pelo browser dinami-
amente omo applets java pelo proxy HTTP. Nessa interfa e o usuário pode re-
alimentar o sistema om informações sobre o valor que ele atribui a ada página
visitada.

Figura 3.4: Interfa e do Broadway

Podemos rela ionar os sistemas de navegação olaborativa à metáfora de se ter

68
um guia apaz de nos indi ar os melhores aminhos para en ontrar a informação
que pro uramos na Web ou, ainda, om o ostume nosso do dia-a-dia de obter
indi ações diretas sobre lugares interessantes, tais omo restaurante, de pessoas nas
quais onamos e que sabem de nossos gostos. Dentro desse ontexto, o sistema
Broadway apresenta elementos um pou o diversos. Ele permite a transferên ia
de experiên ias adquiridas por um usuário, no pro esso de navegação, para outro,
que apresente um perl pare ido. Existem aí duas diferenças bási as. A primeira
é que a indi ação é indireta, tal omo na metáfora de irmos ao restaurante e o
en ontrarmos heio, e daí depreendermos que esse restaurante é bom. A segunda
é o fato de que não é ne essário que exista alguém, um mestre, que esteja à
disposição a todo momento e que ainda saiba de todos os nossos gostos. Com
base nisso podemos dizer que o sistema Broadway permite um uso mais amplo
do me anismo de sugestão, a partir da automatização do pro esso baseado na
des oberta de similaridades entre os pers de navegação dos usuários e o onteúdo
das páginas que estes a essaram.
Quando se vislumbra a utilização do sistema Broadway para uma abrangên ia
mais ampla dos assuntos disponíveis na Web, a abordagem desse projeto deixa um
pou o a desejar. Isto porque, omo o sistema é instalado no proxy, a sua ober-
tura, em termos de usuários que podem se bene iar do me anismo,  a bastante
restrita. Assim, para o relativamente pequeno grupo de usuários ser apaz de
gerar sugestões que sejam realmente úteis, é ne essário que os assuntos pro urados
sejam de um es opo restrito, de forma a permitir a riação de direções, dentro de
um espaço de possibilidades que possa ser oberto, pelo menos par ialmente, pelo
grupo que está gerando o mapeamento a ser utilizado.
Outra limitação do sistema Broadway é a utilização de té ni as de pro essa-
mento de linguagem natural no tratamento das páginas visitadas pelos usuários do
sistema, tais omo remoção de palavras ontidas em uma stoplist, stemming, et ,
além de utilizar as referên ias aos a essos realizados pelos usuários. A exe ução
desses pro essos é dependente de linguagem, o que limita a utilização do sistema.
Além disso, a análise de dados textuais é uma tarefa que demanda grandes quan-
tidades de pro essamento, o que é mais um fator limitante, em termos da possível
abrangên ia de um sistema que dependa dessas informações.
Outro possível empe ilho a um sistema tal omo o Broadway é a a eitação,
por parte das pessoas, a usarem um sistema no qual suas identidades não são
protegidas. Em suas vidas pessoais, as pessoas, às vezes, visitam páginas ujo
onteúdo não gostariam de ver rela ionado a seus nomes. Assim, o me anismo do
sistema Broadway, de utilizar o nome de login do usuário, olo ando-o em uma
posição em que sua priva idade não é ontemplada, tem, no mínimo, o efeito de
inibir a própria navegação que se quer fa ilitar.
Como vimos, as abordagens apresentadas are em de elementos que permitam

69
uma utilização mais abrangente. Seja pela utilização de proxies, impossibilidade
do anonimato, ne essidade de utilização simultânea, ne essidade de transmissão
de grandes quantidades de dados (para as ferramentas auxiliares, tais omo fer-
ramentas de desenho olaborativo), ou alto usto omputa ional, produzido pelo
pro essamento de textos.
Apesar dos problemas apresentados para os sistemas que permitem a nave-
gação de grupos de usuários, as possibilidades riadas pela bus a onjunta por
informações em páginas na Web pode ser um ponto- have para a identi ação de
direções na bus a por informações relevantes.
Vamos apresentar, a seguir, nossa proposta para a riação de uma ferramenta
que seja apaz de ultrapassar as limitações identi adas nas propostas apresen-
tadas anteriormente.

70
Capítulo 4
Sistema z9
O sistema z9, aqui proposto, parte de uma perspe tiva entrada no usuário.
Neste sistema os usuários são os geradores da informação que o sistema utiliza: os
endereços de páginas da Web. São os denidores dos ritérios para a organização
da informação, e são, por último, os onsumidores da informação organizada pelo
sistema e tornada disponível de forma individualizada.
Vamos explorar, a seguir, as motivações que levaram a esta perspe tiva para a
onstrução do sistema.

4.1 Agrupamento par ial de usuários


O serviço que o sistema aqui proposto deverá realizar é o de apresentar páginas
que sejam, poten ialmente, de interesse para um usuário, a partir da identi ação
de um perl de interesses riado pela oleta de informações sobre as páginas mais
visitadas por esse usuário. Para prestar esse serviço, não é ne essário des obrir-
se todas as relações entre os usuários, mas apenas aquelas que dizem respeito ao
usuário que requisita o serviço. Assim, não existe a ne essidade de se utilizar
algoritmos de agrupamento de dados onven ionais, tais omo o k-means ou o
mapa auto-organizável. Isso porque esses algoritmos ne essitam rela ionar todos
os usuários entre si, o que pode vir a ser bastante oneroso, aso a quantidade de
usuários seja grande. Uma abordagem global omo essa poderia tornar-se um
empe ilho ao aumento do número de usuários que o sistema poderia suportar sem
degradação do serviço prestado.
Olhando-se o problema sob a óti a do agrupamento par ial, ou seja, da ne-
essidade, por parte do sistema, de identi ar apenas os usuários mais próximos
àquele que requisita essa informação, o problema  a restrito à des oberta dos N
usuários ujos históri os sejam mais próximos do usuário ao qual o sistema deve
responder. Para a identi ação da distân ia entre os usuários pode-se usar uma

71
métri a tal omo a distân ia eu lidiana, vista na Equação (2.1), na qual x e y
são os vetores que representam o históri o de navegação de ada usuário, e ada
dimensão dos vetores x1 , x2 , x3 , . . . , xn e y1 , y2 , y3 , . . . , ym representa o número de
vezes que ada página foi visitada.

4.2 Agrupamento de pers de usuários ao invés de


agrupamento de textos
A riação de um agrupamento de grande quantidade de dados de forma au-
tomáti a enfrenta, basi amente, dois obstá ulos. O primeiro é o usto omputa-
ional da operação, que tem que levar em onsideração, para ada elemento do
onjunto a ser analisado, todos os outros elementos. Essa ara terísti a a arreta,
om o aumento do número de elementos a serem agrupados, um aumento no usto
omputa ional, o qual torna o problema intratável. O segundo problema é a sub-
jetividade na avaliação das ara terísti as relevantes dos dados, que a arreta o
mas aramento das ara terísti as dos elementos do onjunto, que pre isam ser
odi ados para uma análise de similaridade. Nesse pro esso de odi ação o pro-
jetista introduz no sistema, ne essariamente, uma distorção, que é a própria óti a
om que ele vê a relação entre os dados a serem analisados, o que determinará a
es olha das ara terísti as relevantes a serem odi adas.
Quando pensamos em nosso problema original do mapeamento da Web, om
bilhões de páginas a essíveis, ontendo não somente texto, mas também dados
multimedia tais omo sons, imagens, e vídeo, sendo inseridas e retiradas da rede
de modo dinâmi o, em entenas ou milhares de línguas, pode-se ter uma idéia
mais lara das di uldades em se apli ar té ni as automáti as de agrupamento de
dados de modo abrangente.
A partir do que foi dito a ima, podemos ver o problema sob outro ângulo.
Pare e-nos que a natureza dinâmi a das informações en ontradas na Web não
permite um tratamento estáti o. Ou seja, não é possível atalogar a Web tal omo
uma imensa base de dados. Isso por dois motivos. O primeiro é que os dados
são altamente dinâmi os, o segundo é que não é possível ter-se meios de distinguir
entre o onteúdo de ada do umento, que pode ser signi ativo apenas para um
dado grupo.
Se, por um lado, não se pode simplesmente triturar a informação da Web e
olo á-la a nossa disposição, por outro lado podemos ver que essa informação está
ligada a ne essidades de rela ionamento entre as pessoas que a riam e onsomem.
A Web não é um onjunto de do umentos, é a expressão de rela ionamentos que
ontempla toda a extensão dos interesses humanos.
Seguindo-se essa linha de pensamento, podemos imaginar a Web, omo um

72
espaço de informações onde as pessoas, tal omo  Web rawlers  inteligentes, per-
orrem os aminhos que lhes vão forne er a informação pro urada. Ora, essa
informação, que é en ontrada pelas pessoas em sua bus a, é um indi ativo indi-
reto de seus interesses. Os usuários, ao visitarem as páginas, determinam uma
relação entre elas, que é a expli itação do próprio interesse do usuário que realiza
a visitação. Esse interesse pode ser representado, no sistema, omo o registro do
onjunto de endereços das páginas visitadas pelo usuário, aqui hamado perl de
navegação.
Se voltarmos aos sistemas de navegação em grupo, apresentados anteriormente,
e pensarmos nessas experiên ias om uma perspe tiva que englobe todas as pessoas
que navegam na Web, podemos imaginar a riação de um sistema de dire iona-
mento que poderia ser útil para essas pessoas. Esse sistema poderia fun ionar a
partir da identi ação de similaridades entre os pers de navegação das pessoas,
que são indí ios de seus interesses, para permitir agrupar não os do umentos da
Web, mas sim os próprios usuários. Em um tal sistema seria possível mostrar a
um usuário sugestões baseadas em seu perl, tais omo: as pessoas que ostumam
visitar as páginas que vo ê visita, também visitam as páginas X, Y, Z, que vo ê
ainda não viu.
Um sistema que realizasse um tal serviço não teria, ne essariamente, que en-
tender quais são os interesses dos usuários, ou sua língua, ou qualquer outro traço
distintivo que não fosse o interesse expresso a partir do ato de visitação de uma
página na Web.
Se pensarmos no interesse dos usuários omo o elemento- have em suas relações
om os do umentos en ontrados na Web, podemos ver os seres humanos omo
sendo, ao mesmo tempo, os agentes mais apazes de en ontrar informaçãos rele-
vantes e, ainda mais importante, omo sendo os próprios agentes da riação/des oberta
da informação. Assim, são as próprias pessoas, num pro esso de interrela iona-
mento, mediadas pela ferramenta  Web , as denidoras da importân ia do on-
teúdo das páginas na mesma. Assim, em nossa hipótese, o problema se traduz
em transferir a experiên ia, adquirida por um usuário na sua navegação, para out-
ros usuários om um perl de navegação similar. O serviço ofere ido por uma
ferramenta de auxílio à navegação que utilize a noção de agrupamento de pers
de navegação, ou interesses, teria um aráter de oadjuvante na identi ação de
aminhos de a esso às informações, a partir da disponibilização da informação de
navegação de um usuário para outro ujo perl foi identi ado omo similar.
Para realizarmos esse mapeamento dos interesses das pessoas em relação às
páginas da Web é pre iso, antes de tudo, resolver os problemas que impedem a
transmissão do onhe imento adquirido por um usuário para outro, de perl, ou
interesses, pare idos. Esses problemas são de orrentes das té ni as utilizadas pelas
ferramentas de navegação ooperativa e assistida: análise de textos, ne essidade

73
de proxy, ne essidade de ação simultânea, ne essidade de interromper o usuário
durante sua navegação para dar uma nota para a página sendo visitada, e respeito
à priva idade.
Um sistema que realiza uma tarefa tal omo essa que estamos imaginando é
o Alexa R (www.alexa. om). Como essa é uma ferramenta omer ial não on-
seguimos saber, realmente, omo ela fun iona. Pode-se, porém, a partir das in-
formações disponibilizadas no site, ter uma idéia do me anismo bási o de seu
fun ionamento.
Para utilizar o Alexa R o usuário instala em seu browser uma ferramenta que
monitora as páginas visitadas por ele. Essa ferramenta utiliza as informações de
navegação, entre outras, para riar uma rede de relações entre as páginas naveg-
adas. A idéia é similar àquela do sistema de sugestões da Amazon R . No sistema da
Amazon R o usuário veri a informações a respeito de um livro e o sistema faz sug-
estões baseadas na relação de ompra de livros rela ionados. Essa sugestão se dá
na forma: pessoas que ompram esse livro ostumam, também, omprar aqueles.
No aso do Alexa R , quando o usuário pergunta quais as páginas rela ionadas om
a página atualmente sendo visitada, o sistema apresenta outras páginas, seguindo
a mesma fórmula: pessoas que visitam essa página ostumam, também, visitar
aquelas.
Pode-se per eber, entretanto, que a relação que o Alexa R elabora, e na qual
baseia suas sugestões, é a relação entre as páginas. Ou seja, as páginas da Web são
os elementos a serem agrupados, sendo a visitação do usuário um atributo (visitou
a página ou não a visitou).
Certamente o me anismo proposto pelo Alexa R é bastante interessante, visto
que resolve, prati amente, todos os problemas elen ados para a navegação oop-
erativa e assistida, no que diz respeito à utilização em massa.
O problema do Alexa R , em nossa on epção, é o fo o voltado para as páginas da
Web. Utilizando esse fo o pode-se riar uma relação entre as diversas páginas que
é, realmente, baseada no próprio uso das mesmas. Com ela, entretanto, o usuário
não tem a esso aos outros usuários e, além disso, não tem ontemplada a sua
priva idade. Esses talvez sejam os pontos fra os mais determinantes para a não-
adoção dessa ferramenta de forma ma iça, tal omo o orre hoje om o Google R.
É interessante notar que o problema para a sua adoção, por parte dos usuários,
não está em falta de re ursos nan eiros, já que o Alexa R é, hoje, propriedade da
R
Amazon , que é uma das mais bem-su edidas empresas baseadas na Web.

Essa falta de  uidado pela questão da priva idade, por parte do Alexa R,
pode ser atestada pelo fato de que alguns softwares para remoção de adware e
spyware, hoje onsiderados omo duas das piores pragas na Web, listam o Alexa R
omo um software desse tipo. Veja-se omo exemplo o spybot (http://www.safer-
networking.org/en/download/). O Alexa R é de larado spyware, ainda, pela Syman-

74
te
(http://se urityresponse.symante . om/av enter/ven /data/spyware.alexa.html).

4.3 A abordagem do z9
A idéia de se ter um onjunto de direções, que representem aminhos que nos
levem ao en ontro da informação pro urada, de forma e iente, entre os bilhões
de páginas a essíveis, advém da ne essidade de me anismos exploratórios mais
efetivos do que a navegação lo alizada nos links de ada página en ontrada ao
longo do aminho. Se pensarmos, entretanto, que ada aminho, ou seja, ada
rota de navegação, es olhida por ada pessoa navegando na Web, tem por trás de
si um objetivo, que pode ser asso iado a um assunto, esse assunto, por sua vez,
estará, em maior ou menor grau, nas páginas a essadas. Assim, seguindo esta
hipótese, podemos agrupar os usuários em termos do número de endereços iguais
en ontrados no perl de ada um. Nessa métri a de similaridade utilizada, quanto
mais páginas omuns forem a essadas, maior a similaridade entre dois usuários,
em termos dos assuntos que representam os interesses destes. O Algoritmo 7
mostra omo é feito o ál ulo de similaridade de navegação entre usuários em
nossa proposta, denominada z9. O objetivo do Algoritmo 7 é des obrir os N (ou
menos) usuários om pers de navegação mais similares a um dado usuário, em
função das páginas a essadas.
Ainda, quando uma pessoa a essa um onjunto de páginas, em bus a de uma
determinada informação, ela adquire um onhe imento sobre a bus a por essa in-
formação. Esse onhe imento se traduz em uma apa idade, que vai res endo om
o tempo, de en ontrar mais fa ilmente as páginas relevantes para determinado as-
sunto, dentro do onjunto de seus interesses. Assim, se duas pessoas a essam um
onjunto de páginas e, dentro desse onjunto de páginas a essadas, podemos identi-
 ar um sub onjunto representativo que seja a interse ção dos pers de navegação
dessas pessoas, supomos omo hipótese, que uma pessoa poderia se bene iar dos
onhe imentos sobre omo en ontrar mais fa ilmente determinados assuntos, que
a outra possui. Assim, a apresentação de sugestões de navegação, que tivesse omo
ritério a similaridade de pers de navegação, antes men ionada, teria um aráter
de transferên ia de onhe imento entre os usuários do sistema. Nesse me anismo
se baseia a nossa proposta de ajudar os usuários a en ontrar, mais fa ilmente,
as informações pro uradas. A fa ilidade seria resultado da disponibilização de
traços gerados por outros usuários, durante o seu pro esso de aprendizagem de
rotas, que levem aos assuntos que são de interesse omum.
Em nossa proposta pro uramos desenvolver um sistema que atendesse aos
seguintes requisitos:
1. Ser utilizado por um onjunto muito grande de pessoas.

75
2. Guardar endereços de um onjunto muito grande de páginas.
3. Fa ilitar a exploração de páginas úteis a partir da apresentação de sugestões
baseadas nas experiên ias de navegação de usuários om perl similar.
4. Preservar a priva idade dos usuários.
5. Permitir e fa ilitar a aproximação e omuni ação entre indivíduos om pers
similares.
Com esses pontos em mente vamos apresentar o protótipo, hamado z9, que
foi onstruído om o intuito de se estudar me anismos que podem ser explorados
de modo a permitir a sugestão de páginas visitadas por um usuário a outro, de
perl similar. Neste trabalho denimos o perl de navegação omo o onjunto de
endereços das páginas a essadas por um usuário, e a similaridade entre pers é
dada, onforme mostrado no Algoritmo 7, pela quantidade de endereços omuns
a essados entre dois usuários.

4.4 O sistema desenvolvido


A base da proposta do z9 é a riação de uma omunidade de usuários annimos,
os quais onsentem em forne er informações sobre sua navegação na Web, de modo
a se bene iarem das informações da omunidade, identi adas pelo sistema omo
sendo de interesse, a partir do resultado do pro esso de bus a por similaridades
nos pers de navegação dos usuários.
Nesse sistema temos o fo o no usuário, em oposição ao fo o nas páginas, tal
omo visto no aso do Alexa R . Com esse fo o podemos apresentar, para ada
usuário, de forma omputa ionalmente tratável, quais são os outros usuários mais
próximos dele, tal omo visto no Algoritmo 7. Assim, se restringirmos a visi-
bilidade de ada usuário para o grupo que lhe é similar em termos de a esso às
mesmas páginas, resolvemos o problema do usto omputa ional de se fazer o
agrupamento de todo o onjunto de usuários, que pode ser muito grande, e per-
mitimos, ainda, que o usuário tenha a esso a informações que lhe são relevantes,
visto que são extraídas da experiên ia de navegação dos outros usuários que lhe
são mais próximos. Para fazermos uma alusão ao algoritmo K-medóides, visto
anteriormente, podemos pensar em ada usuário omo um dos medóides, sendo
que não é ne essário al ular todos os posi ionamentos dos medóides, mas apenas
des obrir quais são os elementos mais próximos dele. Neste aspe to o algoritmo
lembra também o algoritmo K-nn, no qual a lassi ação prévia dos elementos
vizinhos de um elemento qualquer determinam sua lassi ação. Assim, o usto
omputa ional de se veri ar quais são os usuários mais próximos de um determi-
nado usuário, em termos do número de páginas omuns a essadas, é diretamente

76
propor ional ao número de páginas a essadas pelo usuário e número de usuários
a serem testados. Embora esse ál ulo possa ser ustoso, ele é inferior ao esforço
ne essário para se veri ar a relação de similaridade global entre os usuários, ou
seja, realizar-se o agrupamento de todo o onjunto.
Outro ponto- have para a es alabilidade é a forma omo os dados são ole-
tados. O sistema tem uma arquitetura liente-servidor, na qual os usuários são
observados pelo software liente, instalado em suas máquinas. Essa arquitetura,
apresentada na Figura 4.1, permite a utilização de lientes em qualquer lugar, não
sendo dependente de proxy para a onexão om o servidor. Essa ara terísti a tem
a ver om a questão da es alabilidade, não por ser um me anismo que permita a
exe ução dos algoritmos de agrupamento em um tempo a eitável mas, sim, por
permitir a distribuição prati amente irrestrita do sistema, limitada apenas pelo in-
teresse dos usuários em parti ipar, o que não é o aso nos sistemas que utilizam o
proxy para rela ionar os usuários. Nesses últimos, o usuário só pode parti ipar da
omunidade olaborativa se o administrador da rede houver realizado a instalação
do sistema no proxy.
Vamos apresentar brevemente os módulos que onstituem a arquitetura do
servidor, tal omo apresentado na Figura 4.1.

• Interfa e HTML: módulo responsável pelo re ebimento e tratamento das


requisições dos usuários. A interfa e dire iona os pedidos de informações
dos usuários, através do browser, para os serviços orrespondentes, formata
e apresenta o resultado obtido. Além disso, esse mesmo módulo re ebe as
omuni ações do software liente sobre os endereços das páginas visitadas
pelos usuários e atualiza seus pers.

• Base de Dados de Usuários: módulo responsável pelo geren iamento das


informações dos usuários. Estas informações são, prin ipalmente, o onjunto
de endereços das páginas a essadas e as ligações entre elas, ou seja, a ordem
em que os endereços foram a essados.

• Serviços: módulo responsável pela exe ução dos diversos serviços ofere idos
aos usuários, tais omo des oberta de usuários om perl similar, bus a por
palavras- have na base de dados de usuários, estatísti as de utilização, et .
Os serviços disponíveis serão tratados em detalhe na Seção 4.5.

77
Browser_N

Servidor

Serviços
Serviços
Browser_2
Interface
HTML
Base de Dados de
Usuários Consultas
Browser_1

Browser_0
URLsVistaidas

Cliente_0 Cliente_1 Cliente_2 Cliente_N

Figura 4.1: Arquitetura do z9

Vamos abordar, a seguir, o pro esso de oleta de dados.

4.4.1 Coleta de dados

O sistema tem seu fun ionamento baseado na oleta de dados dos usuários.
Isso é realizado pelo monitoramento onstante, que visa identi ar os endereços
das páginas visitadas. Nesse pro esso estão envolvidos dois elementos do sistema,
tal omo visto na Figura 4.1: os softwares lientes, que  am nos omputadores
dos usuários, e o servidor, que entraliza todas as informações oletadas.
Vamos apresentar brevemente, a seguir, os elementos do sistema, e sua função
no pro esso de oleta de informações sobre as páginas visitadas pelos usuários.

4.4.1.1 Software liente

Para que ada usuário possa alimentar o sistema om informações sobre sua
navegação, foi disponibilizado um software liente, que exe uta seu pro essa-
mento nos omputadores que os usuários utilizarão para navegar na Web. Este
software, que atualmente só pode ser exe utado sob o sistema opera ional Mi-
rosoft Windows R ,  a en arregado de obter, junto ao servidor, um identi ador
úni o, ou avatar, para ada usuário diferente, e enviar informações sobre quais

78
endereços estão sendo visitados, juntamente om seus títulos, por ada um desses
usuários.
O software liente, logo após o pro esso de instalação, disponibiliza um í one
na barra do sistema (system tray ), de modo a permitir que o usuário realize as
seguintes funções:

• habilitar ou desabilitar o envio de mensagens para o servidor;

• ler informações sobre o software;

• veri ar o identi ador atribuído a seu usuário.

A ada vez que o usuário visita um endereço na Web, o software liente envia
para o servidor informações que identi am o endereço visitado, o título da página,
o identi ador do usuário e o número de versão do liente. Essas informações são
atribuídas, na base de dados do servidor, ao usuário, riando, nesse pro esso,
o perl do mesmo. A relação om os outros usuários, usando as informações
oletadas om o auxílio do Algoritmo 7, é realizada somente quando o usuário faz
uma onsulta ao sistema.
A informação enviada pelos lientes é armazenada pelo servidor omo mostrado
na Figura 4.2. Nesta gura são apresentados os elementos bási os de armazena-
mento de dados realizado no servidor. Pode-se notar pela gura que as informações
armazenadas são, basi amente, relativas ao perl do usuário, que é representados
pelo onjunto de páginas visitadas, sendo estas páginas rela ionadas entre si pela
estrutura asso iada no históri o de partidas.

usuario
senha
amigos
mensagens enviadas/recebidas
usuario
texto
paginas visitadas
url
titulo
Nro. de visitas
historico de partidas
url_partida
url_chegada

Nro. ocorrencias

Figura 4.2: Estrutura de armazenamento de dados

79
4.4.1.2 Software servidor

O software servidor parti ipa do pro esso de oleta de dados realizando duas
tarefas: a riação de um identi ador úni o para ada novo liente que realiza
o pedido, om a orrespondente riação de um novo usuário no sistema, e o ar-
mazenamento das informações re ebidas pelos lientes nas áreas destinadas a ada
usuário.
A informação armazenada pelo servidor é a seqüên ia de endereços das páginas
visitadas por um usuário durante a sua navegação.
Para armazenar a seqüên ia de navegação de um usuário, o servidor asso ia,
a ada endereço re ebido, uma lista de partidas. Nesta lista são elen ados os
endereços que são enviados na seqüên ia daquele endereço. Como exemplo, vamos
imaginar que um usuário envie um endereço www.xxx. om.br. Se o endereço não
existe para aquele usuário, é riada uma referên ia para o mesmo na lista de a essos
do usuário. Se o mesmo usuário visita, logo após, o endereço www.yyy. om.br, esse
endereço é adi ionado à lista de a essos do usuário e também à lista de partidas
do endereço www.xxx. om.br. Assim, todos os endereços enviados pelos usuários
estão ligados.
Vamos abordar a seguir a questão da priva idade dos usuários.

4.4.2 Proteção da priva idade

Para a utilização do software liente, o usuário deve onar que o mesmo não
ausará nenhum prejuízo ao seu equipamento e que as informações oletadas não
serão atribuídas a sua pessoa. Ou seja, é ne essário garantir a priva idade do
usuário e ter sua onança.
Considerando-se que o sistema aqui proposto é apaz de monitorar as atividades
dos usuários, é altamente desejável que ele garanta que não haverá meios de a
informação oletada ser utilizada para outros ns, que não aquele de prestar um
serviço om o qual os usuários on ordaram ini ialmente.
O me anismo adotado para isso baseia-se na não-tentativa, por parte do sis-
tema, de rela ionar a identidade riada para o usuário pelo sistema, om a real
identidade do usuário.
Para que isso seja possível o sistema se baseia na riação de avatares, que
permitem disso iar a identidade do usuário no sistema, de sua real identidade. O
avatar é uma projeção do usuário, e a ele são atribuídas as páginas observadas pelo
software liente. Assim, o avatar é um veí ulo seguro, pelo qual o usuário fará sua
interação om os outros usuários, também protegidos.
Além disso, o sistema não mostra, em hipótese alguma, uma relação unívo a
entre um avatar e uma página da Web para outro avatar. Todo o sistema de
sugestão de novas páginas depende da visitação das páginas observadas por mais

80
de um usuário. Assim, o sistema pode sugerir páginas que são en ontradas na
interse ção entre as páginas visitadas pelos usuários de seu grupo de interesses.
Dessa maneira, nenhuma página sugerida pelo sistema pode ser imputada a um
avatar em parti ular, mas sim ao grupo.
É interessante notar que o software liente tem que ser apaz de identi ar o
usuário que está utilizando o omputador. Isso para evitar que as informações de
diferentes usuários sejam atribuídas ao mesmo avatar. Para ser apaz de geren iar
diversos usuários no omputador que hospeda o software liente e manter a pri-
va idade dos mesmos, esse programa faz um geren iamento dos usuários no qual
ele, internamente, rela iona os avatares om os usuários da estação. Um detalhe
importante é o fato de que, na omuni ação om o servidor, o liente apenas uti-
liza o nome do avatar, e nun a o nome do usuário na máquina hospedeira, o que
denun iaria a identidade do usuário.
A utilização do avatar tem também um arater transitório. Se um usuário de-
idir desistir de um erto perl, ele pode, simplesmente, adastrar-se novamente no
sistema om outro avatar. Com este pro edimento o novo avatar terá um perl que
será dependente apenas das páginas a essadas a partir desse novo adastramento.
Utilizando o me anismo a ima des rito, o sistema é apaz de prover o serviço
ao usuário sem omprometer a sua priva idade. A idéia bási a por trás desse
me anismo é a de que o sistema observa todas as ações dos usuários, mas não é
apaz de identi á-los.
Vamos des rever, a seguir, os serviços ofere idos pelo sistema à omunidade de
seus usuários.

4.5 Serviços do z9
4.5.1 Identi ando Par eiros de Navegação e Pesquisa

No z9 utilizamos o on eito de par eiros. Par eiros são pessoas que têm um
perl pare ido, ou seja, que realizam ações similares no que se refere à navegação
e pesquisa. Existem dois tipos de par eiros no sistema: par eiros de navegação
e de pesquisa. Par eiros de navegação são usuários que visitam um número sig-
ni ativo de vezes, os mesmos sites, enquanto par eiros de pesquisa são usuários
que pesquisam, no sistema, por um número signi ativo de palavras- have iguais.
Formalmente, os par eiros de pesquisa são o sub onjunto dos primeiros N usuários
retornados pelo Algoritmo 7, já os par eiros de pesquisa são os j primeiros usuários
retornados pelo Algoritmo 8. O Algoritmo 8 é uma versão modi ada do Algo-
ritmo 7, que utiliza palavras- have utilizadas na pesquisa, ao invés de páginas
a essadas omo ritérios para a identi ação de par eiros. O on eito de par eiros
serve para permitir a per epção de uma proximidade do usuário em relação aos

81
outros. Podemos imaginar os par eiros omo pessoas que en ontramos no nosso
dia-a-dia, quando realizamos nossas atividades otidianas. Eles são pessoas que
pegam o nibus ao nosso lado, que fazem exer í ios na mesma a ademia que nós
fazemos, et . Ou seja, são estranhos tornados próximos pela relação de similar-
idade de interesses. Em nossa vida real essas pessoas são a base para a riação
de nossas relações afetivas e produtivas. Como exemplo, se estou a pé, e quero
saber omo hegar a uma rua próxima de onde estou, terei uma tendên ia a per-
guntar a alguém que esteja andando na mesma rua que eu. Assim, os par eiros
são, no sistema, pessoas que, em um dado momento, têm uma relação de similar-
idade de interesses, expressos pela visitação dos mesmos sites, ou pela realização
de pesquisas que ontêm palavras em omum.
Na Figura 4.3 apresentamos a interfa e que permite identi ar os par eiros de
navegação e pesquisa.

Figura 4.3: Par eiros de navegação e pesquisa no z9

Os usuários do sistema têm, a qualquer momento, a possibilidade de veri ar


quem são seus par eiros de navegação e pesquisa. Eles podem, ainda, tornar esses
par eiros seus amigos. Falaremos sobre isso a seguir.

82
Algoritmo 7 Similaridade de navegação entre usuários
1. Seja N o número de usuários a retornar.

2. Seja Ui o usuário ujo grupo se quer veri ar.

3. Seja Si = {Si1 , Si2 , ..., Sil } o onjunto de endereços das páginas visitadas por
Ui .

4. Seja U = {U0 , U1 , ..., Un } o onjunto de usuários restantes, ex luindo Ui .

5. Seja S = {S0 , S1 , ...Sn } o onjunto de onjuntos de endereços das páginas


a essadas pelos demais usuários, ex luindo Si .

6. D ← {}

7. Para ada usuário Uj em U faça: Adi ionar a D o par


(numeroDeElementos(Sj Si ), Uj )
T

8. Ordenar D em ordem de res ente pelo primeiro elemento de ada par

9. Retornar os N primeiros usuários en ontrados em D

Algoritmo 8 Similaridade de pesquisa entre usuários


1. Seja N o número de usuários a retornar.

2. Seja Ui o usuário ujo grupo se quer veri ar.

3. Seja Si = {Si1 , Si2 , ..., Sil } o onjunto de palavras de pesquisa utilizadas por
Ui .

4. Seja U = {U0 , U1 , ..., Un } o onjunto de usuários restantes, ex luindo Ui .

5. Seja S = {S0 , S1 , ...Sn } o onjunto de onjuntos de palavras de pesquisa


utilizadas pelos demais usuário, ex luindo Si .

6. D ← {}

7. Para ada usuário Uj em U faça:

8. Adi ionar a D o par (numeroDeElementos(Sj Si ), Uj )


T

9. Ordenar D em ordem de res ente pelo primeiro elemento de ada par

10. Retornar os N primeiros usuários en ontrados em D

83
4.5.2 Fazendo Amigos

A partir da relação de proximidade que temos om as pessoas que fazem algu-


mas das oisas que nós fazemos, tais omo, por exemplo, olegas da sala de aula,
temos uma indi ação de quem são as pessoas que podem nos ajudar a resolver
problemas. Essa aproximação é representada no sistema pelo ato de tornar um
par eiro um amigo. A diferença entre os par eiros e os amigos é que os primeiros
surgem de forma fortuita, dependendo do ontexto de navegação e pesquisa no qual
um usuário se en ontra. Já os segundos são resultado de uma es olha, por parte
do usuário. Depois de estabele ida a relação de amizade, o usuário tem a possi-
bilidade de enviar mensagens para os amigos es olhidos. A partir da identi ação
de um dado par eiro om um ontexto interessante, omo será denido em 4.5.3, o
usuário tem a possibilidade de riar uma asso iação duradoura om ele, de modo a
poder, por exemplo, pedir-lhe ajuda para atingir algum objetivo de interesse. Para
tornar a idéia mais lara vamos imaginar a seguinte situação. Um usuário navega
por páginas sobre o assunto Inteligên ia Arti ial. Com o passar do tempo, ele é
apresentado a par eiros que têm esse interesse. Digamos que esse usuário ne essite
saber uma informação rela ionada a essas páginas. Ele pode tornar um dos par-
eiros um amigo e, a partir desse momento, tro ar informações om ele, de modo
a bus ar a informação desejada. Obviamente o pro esso de tornar um par eiro um
amigo não está, ne essariamente, vin ulado ao enário apresentado a ima. Essa
ligação pode ser fortuita, de modo a expressar afetividade, tal omo o orre em
nosso dia-a-dia. O on eito de amigo é unilateral no sistema. Para enviar men-
sagens para um outro usuário, apenas é ne essário torná-lo um amigo. Assim, ada
usuário pode re eber mensagens de outros usuários que se zeram dele amigos e
pode, por sua vez, enviar mensagens para seus amigos. Além disso, um usuário
pode ser bloqueado aso se torne in modo. O me anismo de envio de mensagens
para pessoas que se identi am om o perl do usuário di ulta a riação de spams,
isso porque, para que o spam seja interessante, é ne essário que seja possível, om
pou o esforço, enviar uma mensagem a um grande número de pessoas. Como ada
usuário tem seu ontato om outros usuários limitado pela similaridade de per-
l, a apresentação de outros usuários, por parte do sistema, está vin ulada a um
esforço no sentido de obrir páginas que sejam relevantes para aquelas pessoas.
A reditamos que esse esforço seja um impedimento su iente para a disseminação
de spams.

Na Figura 4.4 apresentamos a interfa e de interação om os amigos.

84
Figura 4.4: Amigos

4.5.3 Sugestões de navegação e ontexto de navegação de


grupo

No z9 os par eiros de navegação determinam um ontexto, a partir do qual


o sistema pode es olher páginas que sejam relevantes para o usuário e sugeri-las.
As hamadas páginas relevantes são um sub onjunto das páginas visitadas pelo
grupo de par eiros do usuário sendo onsiderado, que ainda não foram visitadas
por ele. Esse sub onjunto de páginas são as que foram visitadas por diferentes
par eiros um número médio de vezes. No Algoritmo 9 apresentamos o me anismo
de identi ação de páginas relevantes.
A prin ipal diferença entre o z9 e os serviços de re omendação [Riedl and Dourish, 2005℄
está na forma omo a informação é disponibilizada. No aso dos sistemas de re-
omendação, a proposta está em disponibilizar a informação que reete o uso so ial
dos objetos em uso, sejam eles produtos ou páginas da Web. Já no aso do z9, os
serviços ofere idos, dentre eles as sugestões de páginas relevantes, servem, também,
para dar uma noção de posi ionamento dentro do grupo a que o usuário perten e,
prin ipalmente em relação aos movimentos do grupo. Esses serviços têm a a-
pa idade de rela ionar o usuário om outros usuários, em uma omunidade de
interesses orrelatos, uja formação se baseia na identi ação automáti a de pers
de navegação, realizada pelo sistema.
Assim, as páginas relevantes não são o resultado da apli ação de um ltro o-
laborativo, omum em sistemas de re omendação, que tenta identi ar elementos

85
de interesse a partir dos interesses de usuários om pers similares. A sugestão de
páginas relevantes serve mais omo um indi ativo de uma direção onsistente do
grupo ao qual o usuário perten e. Seguir as sugestões tem o efeito de aproximar
o usuário do grupo ao qual ele já perten e. Isso por aumentar o número de páginas
omuns entre o usuário e seu grupo.

Algoritmo 9 Identi ação de páginas relevantes


1. Seja P r = {P r1 , P r2 , ..., P rn } o grupo de par eiros de navegação de um
usuário.

2. Seja P a a interse ção de todos os grupos de endereços das páginas visitadas


pelos indivíduos em P r.

3. Seja N vu = [nvu0 , nvu1 , ..., nvum−1 ], um vetor de o orrên ias, onde ada
nvui representa o número de usuários de P r que visitou ada uma das m
páginas de P a.

4. Seja N r o número de páginas relevantes a retornar.

5. Seja ONvu o resultado da ordenação de Nvu em ordem res ente.

6. Seja P osm a posição do elemento de ONvu ujo valor é mais próximo do


valor da média aritméti a dos elementos de ONvu.

7. Seja M N r o valor de Nr
2
trun ado para inteiro

8. Se N r é par

9. Retornar o intervalo [ON vu[P osm − M N r], ON vu[P osm + M N r − 1]]

10. Senão

11. Retornar o intervalo [ON vu[P osm − M N r], ON vu[P osm + M N r]]

O Algoritmo 9 identi a, dentre as páginas visitadas pelos par eiros de naveg-


ação de um usuário, as N r páginas ujo número de visitas por usuários diferentes
mais se aproxima da média de a essos por usuários distintos. A es olha da média
omo medida de relevân ia segue a proposta en ontrada em sistemas de las-
si ação de textos. Nesses sistemas, quando é ne essário diminuir o número de
palavras levadas em onsideração pelo algoritmo, são eliminadas as palavras mais
raras e as mais freqüentes (stoplist ), sendo onsideradas, assim, as palavras que
apare em, no onjunto de textos, um número médio de vezes [Sebastiani, 2002℄.
Esse valor médio foi es olhido a partir da noção intuitiva de que tanto as pági-

86
nas mais visitadas quanto as mais raras, são menos relevantes em termos de sua
apa idade de des rever assuntos que possam ser úteis. Em nossas observações
notamos que as páginas mais visitadas por diferentes usuários são páginas de por-
tais ou motores de bus a, que são portas de entrada para assuntos muito diversos.
As páginas menos visitadas por usuários diferentes, por outro lado, a abam por
representar interesses espe í os de um subgrupo dos par eiros do usuário.
Na Figura 4.5 apresentamos a interfa e do serviço de sugestão de páginas rel-
evantes.

Figura 4.5: Sugestões de páginas relevantes

O objetivo das páginas relevantes, apresentadas omo sugestão ao usuário, é


ofere er uma perspe tiva individualizada do mapeamento dos endereços de páginas
armazenados, determinada pela métri a da similaridade entre usuários. Essas
páginas indi am ao usuário aminhos que lhe permitirão aproximar-se mais do
grupo de par eiros atualmente apresentado. A sugestão pode ser entendida omo
se fosse uma sugestão na forma: As pessoas que mais visitam as páginas que
vo ê visita estão se dirigindo para essas páginas, que, talvez, possam ser do seu
interesse.
Essa é uma forma indireta de sugestão de páginas, na qual o sistema torna
o usuário iente das inter-relações estabele idas om o seu grupo, bem omo ria

87
a noção de um aminho que mostra para onde esse grupo se dirige, em função
de seus interesses ompartilhados, tal omo eviden iado pelos a essos a um erto
onjunto omum de páginas. Para tentar fazer um paralelo om o mundo real
podemos imaginar uma situação otidiana, na qual um motorista se perde e tenta
seguir o aminho mais omum feito pelos arros a sua frente, na esperança de ser
levado para uma avenida importante, a partir da qual a lo alização será fa ili-
tada. Nesse aso, omo o motorista não tem meios de perguntar aos outros qual o
aminho a seguir, ele segue pistas indiretas, deixadas pelo uxo de arros que o
pre ede. No aso do z9 o sistema ria essa per epção de deslo amento no espaço
de assuntos denidos pela visitação dos usuários mais próximos daquele que está
sendo onsiderado.
Além de mostrar as páginas que são relevantes para o usuário, dentro do on-
texto do movimento de seu grupo, o sistema mostra, também, as páginas rele-
vantes para o grupo omo um todo, de modo a apresentar uma idéia do movimento
do usuário e de seu grupo. Essas páginas não têm o papel de indi ar possíveis am-
inhos a seguir mas, sim, apresentar ao usuário uma espé ie de resumo dos assuntos
que fazem parte do repertório do grupo. A apresentação dessas páginas tem o intu-
ito de tornar explí ito o espaço de assuntos abordados pelo grupo, expondo assim,
ao usuário, o perl de grupo das pessoas que apare em em sua lista de par eiros
de navegação.

4.5.4 Pesquisa

O sistema z9 permite aos usuários realizar pesquisas por palavras. A pesquisa,


embora tenha uma interfa e similar à dos sites de bus a, tem uma natureza bas-
tante diversa destes. A prin ipal diferença é o fato de a bus a no z9 ser realizada
sobre as páginas que formam o históri o do próprio usuário e de seus par eiros de
navegação. Outra diferença é o fato de que as palavras pro uradas devem, ne es-
sariamente, fazer parte do título da página, ou do endereço. Essa es olha se deve
ao fato de que essas são as úni as informações armazenadas sobre as páginas, além
da sua relação om o usuário e om outras páginas.
Se, por um lado, esse sistema de bus a tem uma limitação representada pelo
fato de depender apenas do título e endereço das páginas, ele tem, por outro lado,
uma vantagem no fato de que a bus a é feita em páginas que têm uma erta
relevân ia para o usuário. Isto porque são páginas já visitadas por este ou por
pessoas que têm um perl de navegação similar. Assim, esse sistema permite
resultados que são personalizados.
Para fazermos uma relação entre o sistema de bus a apresentado e os sis-
temas tradi ionais, tais omo o Google R (www.google. om), é importante lembrar
o método de aquisição das páginas nos dois sistemas. Nos sites de bus a usual-
mente utilizados, as páginas disponíveis são sugeridas por usuários ou des obertas

88
por  rawlers, ou seja, programas que navegam de página em página, enviando
para o servidor o endereço de ada página, seu onteúdo e, possívelmente, as lig-
ações entre as páginas. É importante notar que, em nenhum dos asos, existe uma
relação entre as páginas disponíveis e os usuários que fazem as pesquisas.
No aso do z9 o que a onte e é exatamente o oposto. Os usuários são, eles
mesmos, os geradores das referên ias de páginas que podem ser pro uradas. E a
ada bus a o usuário está ir uns rito ao seu históri o e ao históri o das pessoas
que apresentam semelhanças na navegação que sugerem anidades em termos de
interesses. Além disso, quando um usuário realiza uma pesquisa ele modi a seu
perl de pesquisa, adi ionando as palavras pesquisadas. Essa ação terá o efeito de
aproximar o usuário de pessoas que realizam pesquisas nas quais existe a o orrên ia
de palavras omuns, seus par eiros de pesquisa.
Uma pesquisa no sistema z9 tem um aráter diferente de uma pesquisa real-
izada em um site de bus a. Enquanto no último é usual tentar-se des obrir quais
páginas existem sobre determinado assunto, no primeiro a bus a é sobre quais são
as páginas que tratam de determinado assunto que são relevantes para o próprio
usuário e para seus par eiros. Esse tipo de pesquisa permite pro urar por pági-
nas ujo endereço está asso iado, para o usuário, om seqüên ias (ou roteiros)
de a essos a páginas anteriormente per orridos. Por exemplo, se um usuário tem
interesse em ligar para a se retaria do urso de pós-graduação do instituto de infor-
máti a, ele pode ter guardado o seguinte aminho para hegar até aquela página:
entrar na página do instituto de informáti a, entrar na página da pós-graduação,
entrar na página fale onos o. Usando o z9 o usuário pode apenas pro urar pela
palavra informáti a, sabendo que dentre as páginas que ele visitou antes, há uma
om esse título.

4.5.5 Continuações e noção de presença

Em sua página ini ial, no servidor, o usuário pode ver informações que mostram
tendên ias sobre seu omportamento e o das pessoas que formam seu grupo de
navegação. Essa noção se dá através da idéia de  ontinuações. As ontinuações
fun ionam da seguinte maneira: quando o usuário visita sua página ini ial, ele é
apresentado às direções mais omuns já seguidas a partir da sua última página
visitada.
Esse me anismo fun iona a partir da identi ação da página que está asso iada
ao maior número de partidas (páginas que su edem a página em questão), na
lista de partidas da última página enviada pelo usuário. Assim, o sistema pode
apresentar ao usuário uma mensagem omo A partir de sua última página visitada,
www.xxx. om.br, vo ê, normalmente, vai para www.yyy. om.br.
Usando um pro edimento similar, o sistema veri a qual a página visitada
por mais par eiros, a partir da última página visitada pelo usuário. Isso permite

89
ao sistema apresentar essa informação na forma: A partir de sua última página
visitada, www.xxx. om.br, seus par eiros de navegação, normalmente, vão para
www.zzz. om.br. Caso não exista ontinuação, tanto do usuário quanto dos par-
eiros, o sistema não informa nada.
Além disso, o sistema mostra quais outros usuários enviaram a última página
visitada pelo usuário para o servidor por último. Como o servidor não tem omo
saber se o usuário está olhando para a página, ou se ela já foi fe hada, ele onsidera
que a página atual do usuário é a última transmitida. Assim, quando um usuário
visita sua página ini ial no servidor, ele mostra quais usuários também estão na
última página visitada pelo usuário.
Na Figura 4.6 apresentamos a interfa e de identi ação das ontinuações e
noção de presença.

Figura 4.6: Continuações e noção de presença

O sistema de identi ação de usuários na mesma página sendo visitada serve


para dar uma noção aos usuários de proximidade, dentro do espaço virtual das
páginas na Web. Já o sistema de ontinuações permite a noção de uma dinâmi a
de rotas. O usuário tem a possibilidade de per eber seu próprio rastro na Web
e o rastro representativo do aminho mais trilhado pelas pessoas ujo perl de
navegação lhe é mais similar.

90
Essa noção de proximidade e ontinuações tem, ainda o efeito de aproximar os
usuários, de uma forma que é natural para o nosso mundo físi o. Em nosso dia-
a-dia nos vemos em situações nas quais integramos uma oletividade de pessoas
des onhe idas. Seja no nibus, ou na la para o inema, essas pessoas nos passam
informações, mesmo que não se omuniquem onos o por palavras. Um restaurante
heio pode ser um indí io de que a omida servida é boa; uma pessoa a nossa frente,
que desiste de esperar na mesma la em que estamos, pode indi ar que a la está
muito lenta, et .
Assim, essas relações fortuitas apresentadas pelo servidor podem servir de sub-
sídio para o usuário em sua bus a por informações. Isso por denir um ontexto
dinâmi o de visitação por parte de seus par eiros.
Esse aspe to interativo do sistema é um dos que poderiam, em nosso ponto de
vista, ser melhorados. Isso porque a veri ação desses en ontros e  aminhos
virtuais seria muito melhor aproveitada se pudesse ser mostrada para o usuário
dentro do ontexto de sua navegação. Ou seja, seria muito mais interessante que
o usuário pudesse entrar em um site e, imediatamente, ser noti ado de quais
usuários lá estão e quais as direções mais omumente seguidas a partir dali.
Essa ara terísti a do sistema se rela iona om o on eito de so ial translu-
en e, visto em [Eri kson and Kellogg, 2003℄ e [Eri kson et al., 2002℄. Essa ar-
a terísti a, omo proposta pelos pesquisadores do grupo de so ial omputing da
IBM (http://www.resear h.ibm. om/So ialComputing/) pro ura traduzir, para o
espaço virtual, alguns aspe tos das interações humanas.
A abordagem que o z9 apresenta para essa importante questão é restrita à
apresentação de pistas so iais que sirvam para enrique er a experiên ia do usuário
durante sua navegação. Esse ontexto de navegação estendido, que se traduz na
per epção, durante o ato da navegação, da proximidade e das direções tomadas
por outros, serve omo uma primeira tentativa de expor a meta-informação que
onsiste da relação dinâmi a entre os usuários e a informação riada/utilizada pelos
mesmos a er a das páginas visitadas.

4.5.6 Estatísti as e reputação

Outra ara terísti a de per epção so ial presente no z9 é o serviço de estatís-


ti as da omunidade z9. Neste serviço, o usuário pode ver qual foi o último usuário
a ontribuir om um endereço para o z9, quantas páginas já foram mapeadas, e a
lista de usuários que mais ontribuíram om endereços para a omunidade.
Na Figura 4.7 apresentamos a interfa e do serviço de estatísti as do sistema.
Esse serviço tem a função de ofere er aos usuários uma perspe tiva da omu-
nidade omo um todo, dando uma idéia de que a relevân ia do serviço prestado
aos usuários está no mapeamento das páginas visitadas, que é o resultado da on-
tribuição dos próprios usuários. Daí a perspe tiva omunitária do projeto. A idéia

91
Figura 4.7: Estatísti as e reputação

92
é onstruir olaborativamente um espaço que seja relevante para ada um, surgindo
omo resultado das ações voluntárias de pessoas que têm interesse em ontribuir
om a omunidade.
Dentro desse ontexto, o serviço de estatísti as torna públi o o esforço da nave-
gação realizada dentro do âmbito da olaboração om os parti ipantes da omu-
nidade. Esse esforço é re ompensado om o ritério de reputação, expresso na
lista de usuários que mais ontribuem om o sistema. Esse me anismo é muito
usado em serviços on-line, nos quais os usuários podem utilizar o serviço de forma
gratuita, sendo, entretanto, in entivados a omprar o serviço. Um exemplo disso é
o site do jogo de xadrez game knot (http://gameknot. om/). Nesse site, qualquer
pessoa pode jogar gratuitamente. Porém, se o jogador de idir pagar uma onta
mensal, ele tem direito a alguns benefí ios, tais omo poder jogar mais partidas
simultâneas, et . Além desses benefí ios palpáveis, o jogador pagante tem, ainda
um benefí io que se traduz omo elemento de status, ou reputação. Ele apare e,
na lista de jogadores, om a imagem de um peão dourado ao lado de seu nome.
O me anismo da lista de usuários que mais ontribuem om o sistema é similar,
visto que torna públi o, ou distingue, o usuário dos outros, riando um objetivo
para aqueles que bus am o status dentro da omunidade virtual.

4.5.7 Grá os

O sistema permite ainda, ao usuário, visualizar diversos grá os, em forma de


grafos. Estes têm o objetivo de apresentar, de forma intuitiva, vários dos onteúdos
da base de dados.
Vamos apresentar, brevemente, a seguir, alguns dos grá os disponíveis para
os usuários.

Históri o

No grá o de históri o o usuário tem a possibilidade de veri ar, de forma


intuitiva, seu próprio históri o. Neste grá o as páginas, apresentadas omo nodos
do grafo, são ligadas por ar os que representam a seqüên ia dos a essos, ou seja,
duas páginas estão ligadas se o usuário visitou uma e depois a outra, sem importar
a ordem.
Na Figura 4.8 apresentamos a representação grá a do históri o do usuário.

Ligação entre par eiros de navegação baseada na visitação das mesmas


páginas

Na Figura 4.9 apresentamos o grá o de relações entre os par eiros do usuário.


Nesta gura, riada a partir da visitação das mesmas páginas, o usuário pode

93
Figura 4.8: Representação grá a do históri o do usuário

94
identi ar quais são as páginas que rela ionam os usuários que são apresentados,
pelo sistema, omo seus par eiros.
Vamos, a seguir, dis utir os resultados obtidos até o presente momento om a
riação da omunidade z9.

95
Figura 4.9: Grá o de ligações entre usuários baseado na visitação das mesmas
páginas

96
Capítulo 5
Análise da evolução da omunidade
de usuários do z9
O protótipo z9 foi disponibilizado no endereço http://andrers52.dyndns.org:8080/z9.
Ele en ontra-se em utilização desde 12 de março de 2005, tendo sido utilizado, até
o momento, om maior ou menor intensidade, por um grupo de 90 pessoas. Esse
onjunto de pessoas enviou 14825 páginas para o servidor até o dia 2 de novembro
de 2005.
Devido ao aráter in ipiente da omunidade, on luiu-se que não haveria tempo
su iente para avaliar, de forma minu iosa, a utilização do serviço de sugestão de
páginas no ontexto da duração do desenvolvimento da presente dissertação. Isso
porque a utilidade desse serviço depende diretamente da utilização do sistema,
ou seja, as primeiras pessoas a ingressarem na omunidade de usuários somente
forne eram páginas para o sistema, re ebendo pou o em tro a, em termos de
sugestões de páginas interessantes. Nossa perspe tiva é de que isso mude om o
aumento no número de páginas e no número de usuários.
Considerando o que foi dito anteriormente, de idimos utilizar uma pesquisa
qualitativa do nível de satisfação om o serviço de sugestão de páginas ofere ido
pelo sistema.

5.1 Pesquisa qualitativa de satisfação


A pesquisa foi realizada através da distribuição de 9 questionários, apresen-
tados no anexo A. As pessoas es olhidas para a amostragem orrespondem aos
10 usuários que o sistema apresenta, no serviço de estatísti as, omo sendo aque-
les que mais ontribuíram om endereços de páginas para o sistema. Desses 10
usuários, um era o próprio autor desse trabalho (portanto ex luído da amostra) e
outro não respondeu ao questionário.

97
O motivo prin ipal desta abordagem de veri ação reside na di uldade de se
fazer uma pesquisa direta de opinião sobre o sistema entre os usuários, de forma
generalizada. Isto porque os mesmos en ontram-se protegidos pelos me anismos
de priva idade postos pelo próprio sistema. Ainda, uma outra motivação para a
análise qualitativa está, omo já dis utido anteriormente, no aráter in ipiente da
omunidade sendo riada.

Os usuários es olhidos para a avaliação orresponderam a um onjunto de pes-


soas que a eitou parti ipar da pesquisa. Somente dessa forma foi possível evitar o
impedimento ausado pelo me anismo de priva idade do sistema.

Os questionários obtidos permitem identi ar um nível de satisfação elevado,


para um sub onjunto representativo da amostra, tanto em relação ao serviço de
sugestões quanto em relação ao serviço de bus a.

Como exemplo, o Indivíduo 3, quando perguntado sobre o a apa idade do


sistema em auxiliá-lo em suas atividades respondeu: Sim, en ontrei uma página
que me interessou, mesmo nun a a tendo pro urado antes.

É digno de nota o fato de que metade dos usuários registraram experiên ias
positivas quanto ao serviço de pesquisa. Esse fato torna-se mais relevante quando
se ompara o número de páginas disponíveis para o sistema realizar sua bus a em
relação àquelas disponíveis através dos sites de bus a onven ionais. A res ente-se
a isso o fato de que a pesquisa do z9 é realizada somente utilizando as palavras
disponíveis nos títulos e endereços das páginas. A reditamos que esse fato tenha
relação om a relevân ia das páginas armazenadas, as quais, em muitos asos,
são o resultado líquido das pesquisas realizadas anteriormente pelos usuários.
Assim, o protótipo torna-se uma espé ie de ferramenta própria para o usuário fazer
onsultas que representem sites que ele já visitou, e que tem interesse em visitar
novamente, mas que, por algum motivo, não se re orda do  aminho utilizado
para al ançar. Ainda, onsiderando-se que a pesquisa é realizada somente no
históri o do próprio usuário e no de seus par eiros de navegação, é possível que
o usuário se bene ie de páginas rela ionadas, que foram visitadas por algum de
seus par eiros. Essa hipótese é reforçada pelo fato de que 62, 5% dos usuários
responderam armativamente, no questionário, à pergunta sobre a relação entre
os resultados da pesquisa no sistema e a sua experiên ia anterior de navegação.

Como exemplo, o Indivíduo 2, quando perguntado sobre o a apa idade do sis-


tema em auxiliá-lo em suas atividades respondeu: Sim, já me ajudou. Des obri
um site através de um par eiro de navegação e também já onsegui voltar à um
site que tinha visitado em outro mi ro usando o históri o de navegação.

98
5.2 Relação entre notas e distân ia dos par eiros
de navegação
As notas dadas ao sistema pelos usuários nos questionários foram, ainda,
ruzadas om a distân ia destes em relação a seus par eiros de navegação. Para
isso foi utilizada a métri a adotada pelo sistema, que determina que quanto mais
páginas omuns dois usuários visitam, mais próximos um do outro eles se en on-
tram. Essa idéia foi estendida para denir-se a proximidade de um usuário em
relação a seu grupo de par eiros omo sendo o número de elementos do onjunto
formado pela interse ção entre o onjunto de páginas visitadas pelo usuário e o
onjunto de páginas visitadas por todos os seus par eiros de navegação.
A essa asso iação segue a hipótese de que, quanto mais próximo dos usuários
que formam seu grupo de par eiros de navegação, mais satisfeito estará o usuário
om as sugestões apresentadas.
Assim, através dos depoimentos obtidos nos 8 questionários retornados foi ver-
i ado o nível de satisfação de ada usuário em relação ao serviço de sugestão de
páginas relevantes.
A Tabela 5.1 Apresenta a nota dada por ada usuário para as sugestões pro-
postas pelo z9.

Tabela 5.1: Notas dadas pelos usuários onsultados

Indivíduo Nota das sugestões


1 5
2 3
3 10
4 8
5 2
6 1
7 2
8 7

O resultado da relação entre o nível de satisfação om as sugestões e a prox-


imidade do usuário em relação aos demais usuários de seu grupo é apresentado
na Tabela 5.2. É importante notar que os dados que serviram de base para essa
amostra são exíguos, omo já expli ado.
A Tabela 5.2 apresenta orrelação entre o número de páginas omuns entre
ada usuário e seus par eiros de navegação e a nota dada pelo usuário para as
sugestões de páginas propostas pelo protótipo z9. A oluna Páginas/Nota repre-
senta o quanto ada unidade de nota dada  ustou, em termos de páginas omuns

99
en ontradas. A disparidade de valores retornados permite inferir que ada usuário
utilizou ritérios distintos, na elaboração de sua nota. Isso reforça o aráter sub-
jetivo desse gênero de avaliação.

Tabela 5.2: Correlação entre utilidade das páginas sugeridas e proximidade do


grupo

Indivíduo Total de páginas omuns om o grupo Nota das sugestões Páginas/Nota


1 331 5 66
2 353 3 118
3 99 10 10
4 120 8 15
5 163 2 81
6 141 1 141
7 204 2 102
8 197 7 28

Os valores na Tabela 5.2 são apresentados no grá o da Figura 5.1. Neste


grá o, foram rela ionadas as notas dadas pelos usuários entrevistados e o número
de páginas omuns entre estes usuários e seu grupo de par eiros.
A análise do grá o da Figura 5.1 permite inferir que os usuários que mais
valorizaram as sugestões feitas pelo sistema são exatamente aqueles que têm a
menor relação de similaridade om seus grupos de par eiros, ou seja, ujo número
de páginas em omum om seu grupo de par eiros de navegação é menor, relativa-
mente. Uma expli ação possível para este fenmeno é que, dado que as sugestões
são feitas om base nas páginas não visitadas pelo usuário, um erto distan ia-
mento do grupo poderia permitir identi ar mais páginas realmente interessantes.
É importante lembrar, entretanto, que esses dados não podem servir de base para
uma análise aprofundada da utilidade dos serviços forne idos, devido ao aráter
in ipiente da omunidade.

5.3 Outras avaliações possíveis


Com o desenvolvimento futuro da omunidade de usuários, vislumbramos a
possibilidade de realizar-se outras avaliações, mais abrangentes, sobre o nível de
satisfação e utilidade dos serviços ofere idos pelo sistema.
Uma forma de se medir a satisfação do usuário seria registrar quantas vezes ele
utilizou os links ofere idos pelo sistema omo sugestões de sites relevantes.
Outra forma seria veri ar a relação entre o número de sugestões a eitas e
a variação da distân ia entre o usuário e os seus par eiros de navegação. Isso

100
Figura 5.1: Nota e páginas omuns

porque, quanto mais o usuário a eita as sugestões, mais próximo ele se torna
dos seus par eiros, sendo, entretanto, possível se aproximar ou afastar, apenas
omo resultado da variação do seu perl per ebido pelo sistema, o que é resultado
do pro esso normal da sua navegação. Assim, seria possível medir o quanto as
sugestões estariam inuen iando o seu omportamento.
uma forma de se medir a utilidade do serviço de pesquisa seria veri ar o
número de vezes que o usuário utilizou os resultados do serviço de pesquisa. Uma
análise interessante seria veri ar, das páginas utilizadas, dentre os links retorna-
dos, quantas se referem à experiên ia passada do próprio usuário, e quantas são
páginas do históri o de seus par eiros. Isso permitiria veri ar o quanto o sistema
de bus a é usado para en ontrar páginas já visitadas, e o quanto ele é usado para
en ontrar novas páginas.

101
102
Capítulo 6
Considerações nais e trabalhos
futuros
Neste trabalho zemos um estudo de alternativas para a bus a por informação
relevante na Web e apresentamos uma proposta própria, om ara terísti as in-
ovadoras em relação àquelas des ritas na bibliograa. No primeiro apítulo in-
troduzimos a questão da ne essidade de alternativas para a bus a e iente de
informações na Web e apresentamos o ontexto de pesquisa no qual este trabalho
se insere. O segundo apítulo apresentou uma dis ussão de aspe tos teóri os e
práti os do agrupamento de dados e agrupamento de textos. Mostrou-se omo
o agrupamento de dados e o agrupamento de textos podem auxiliar a pesquisa.
Mostrou-se, ainda, as di uldades inerentes à apli ação do agrupamento de textos,
prin ipalmente devidas à quantidade de pro essamento ne essária asso iada ao seu
uso. No ter eiro apítulo foram apresentadas abordagens para a navegação e sug-
estão de páginas e textos, utilizando os on eitos dis utidos no apítulo anterior
ou ainda outros enfoques. O quarto apítulo apresentou uma proposta própria,
que pro ura utilizar a relação entre os pers dos usuários omo me anismo para
a identi ação de páginas relevantes para ada um. No apítulo in o foi apre-
sentada uma análise quanto às onsiderações e avaliações forne idas por usuários
sobre o sistema.
Apresentamos, a seguir, as prin ipais ontribuições deste trabalho e as perspe -
tivas de trabalhos futuros.

6.1 Prin ipais ontribuições


Apresentamos aqui uma proposta para a bus a por informações na Web baseada
na onstrução e utilização de meta-informação de navegação que permite agregar
informações sobre as relações entre os usuários ao pro esso de bus a. Essa meta-

103
informação é riada pelos pro essos vistos no apítulo 2, a partir do agrupamento
dos pers de navegação dos usuários que utilizam o sistema.
De modo a permitir a identi ação de pers de navegação similares e ofere er
serviços baseados nessa meta-informação de navegação, foi riado um protótipo
que permite a disponibilização do experimento em larga es ala, pela obtenção e
utilização de um software liente que qualquer pessoa possa instalar.
Questões entrais para o desenvolvimento do protótipo foram a priva idade
e segurança. Das formas de aptura de informações de navegação identi adas
na literatura: no servidor, no proxy e no liente, a identi ação no liente nos
pare e ser a mais interessante. Isso porque permite a adoção em larga es ala,
diferente do que a onte e om a oleta no proxy, e não sofre interferên ia devido
ao a he do navegador, omo a onte e om a oleta no servidor. A oleta no
liente, entretanto, é problemáti a devido à per epção do usuário de que está
sendo vigiado, e também pelo medo que este sofre de ser vítima de um software
mali ioso. Nesse sentido, a reditamos que a abordagem  omunitária proposta foi
algo que tornou viável o experimento. Isso reforça o aráter so ial do experimento,
porque ele utiliza informações de similaridades entre os pers de navegação dos
usuários e depende, para existir, de uma rede so ial de onança, onde uma pessoa
adota o sistema a partir da indi ação de outra, na qual ela ona. Devido a isso o
sistema teve seu iní io om a adoção por parte do próprio desenvolvedor, de seus
familiares e amigos e pela olaboração da PUCRS, que disponibilizou o serviço
nos laboratórios do urso de Pós-Graduação em Ciên ia da Computação, durante
o primeiro semestre de 2005.
O ponto entral deste trabalho foi estudar a riação de meta-informação que
represente o históri o so ial de um grupo de indivíduos, a partir do registro dos
endereços de páginas visitados pelos mesmos. A prin ipal ontribuição deste pro-
esso foi a disponibilização de serviços que utilizem esta meta-informação, de modo
a servir omo alternativa para a bus a por informações relevantes na Web.
Outra ara terísti a diferen iada do trabalho está na forma omo a relação de
transferên ia de informações é proposta. No z9 existe uma expli itação do aráter
omunitário e disseminador da informação, a qual é provida e onsumida, em um
pro esso transparente, pelos usuários parti ipantes. O sistema vai além, ainda,
na direção de utilizar o resultado da análise de similaridade, as sugestões, omo
indi ações que rela ionam os usuários. Esse me anismo serve para aproximar as
pessoas em termos de seus interesses, propi iando o surgimento de interações que
ultrapassem os limites do sistema.
Ainda sobre o aspe to omunitário de disseminação da informação, é impor-
tante notar a diferença entre a proposta aqui apresentada e aquela do Alexa R , ou
das novas propostas de oleta de informação de navegação, tais omo o Google
Tool Bar, e a nova versão do browser Nets ape R , que tem a opção de enviar

104
informações sobre a navegação. A diferença está na maneira omo a informação
é utilizada. No z9 as páginas que são visitadas por um usuário são agregadas
ao seu perl, e essa informação serve para posi ionar o usuário em relação aos
outros usuários. O que se vê nas outras ferramentas é uma relação diferente. As
pessoas ontribuem para a riação de uma base de dados de relações entre as
páginas. Nessa segunda forma de serviço o fo o é olo ado nas páginas, sendo os
usuários meros atributos das mesmas. Por esse motivo é que es olhemos a palavra
 omunitário para des rever o serviço disponibilizado. Essa palavra distingue as
propostas por dar a posse do perl ao próprio usuário utilizando o sistema, ao
invés de transformá-lo em uma informação de navegação disso iada da pessoa que
a produz, num pro esso de apropriação dessa informação.
Esse pro esso de apropriação está, em nossa on epção, ondenado ao fra asso,
por não valorizar devidamente o papel das pessoas e suas relações na onstrução
e evolução da Web. Têm-se a impressão de que as ompanhias desperdiçam a
possibilidade de disponibilizar a informação tal omo ela é utilizada neste tra-
balho, para apostar na riação de um tesouro que se baseie no empa otamento e
disponibilização de informações da Web, tal omo se vê hoje nos motores de bus a.
Esses motores utilizam um modelo omer ial que lembra aquele da televisão, onde
o usuário pode utilizar um serviço mas, em ontra-partida, tem que submeter-se a
apresentação de propagandas, as quais, no aso dos motores de bus a, se apresen-
tam omo links inseridos nos resultados das pesquisas. Esse modelo de negó io é
o limitador das alternativas que podem ser apresentadas pelos grandes provedores
de serviços da Internet. Isso porque, nesse modelo, é ne essária a existên ia de
uma entralização da informação, ou apropriação do mapa de direções da Web.
A reditamos que o res imento da Web tornará essa proposta inviável a médio
prazo.
A diferença de perspe tiva entre a proposta do z9 e os motores de bus a atuais
está na ênfase dada aos diferentes elementos da Web. Nos motores de bus a a
ênfase está na disponibilização de a esso às páginas através da onstrução de uma
base de dados que rela ione as mesmas. Enquanto isso, o z9 tem uma ênfase
nos próprios usuários. Utilizando essa abordagem, o z9, ao mesmo tempo que
permite disponibilizar uma interfa e de serviços personalizada para ada usuário,
ria a noção de ooperação voluntária, ou omunitária, que possibilita a própria
evolução do sistema.

6.2 Trabalhos futuros


A ontinuação do experimento propi iará o estudo do surgimento de relações
entre os parti ipantes, omo eviden iado pela tro a de mensagens. Este estudo
poderá permitir novas des obertas a er a do desenvolvimento de relações humanas

105
a partir da identi ação de objetivos omuns em omunidades virtuais.
Outra questão que  a em aberto, ao en errar-se esta etapa, é a apa idade
de manipulação de uma grande quantidade de informações e usuários, de modo
satisfatório, utilizando-se o me anismo proposto de transmissão, pro essamento
e armazenamento das informações sobre a navegação dos diversos usuários. Isso
signi a des obrir se as informações armazenadas, título e endereço das páginas,
são su ientes para a des oberta de informações relevantes em um número su-
iente de asos. Signi a também identi ar aminhos para modi ar o protótipo
apresentado, de modo que o mesmo seja apaz de tratar grandes quantidades de
dados.
É importante notar que outras informações poderiam ser usadas na formação
da métri a que determina a proximidade entre usuários, além das páginas visitadas.
Exemplos de informações que poderiam ser agregadas são o texto das páginas vis-
itadas, a hora da visita, a sequên ia de visitação (rota) e as diversas partes do en-
dereço das páginas, por exemplo, para a implementação atual, www.gremio. om.br
é tão distante de www.gremio. om.br/so ios quanto de www.inter. om.br.
A limitação fundamental do trabalho aqui apresentado está na impossibilidade
de utilização das orrelações riadas pelo sistema dentro de uma dinâmi a de
interação em tempo real om os outros usuários. Isso poderia ser resolvido om o
uso de hardware de alto desempenho.
Assim, a reditamos que uma ontinuação interessante seria a implementação
de um navegador que permitisse a navegação nas páginas, integrada om a vi-
sualização da meta-informação do z9. Esse navegador poderia mostrar a página
e forne er informações estendidas, tais omo páginas rela ionadas, pessoas rela-
ionadas e aminhos rela ionados.
Outra possibilidade é a disponibilização da meta-informação omo um mapa,
no qual as páginas pudessem ser exploradas dentro da perspe tiva de proximi-
dade dada pela relação denida om os usuários e destes entre si. Nesse espaço
da meta-informação, visualizável por um navegador apropriado, seria possível às
pessoas travarem ontato e tro arem experiên ias em tempo real.

106
Apêndi e A
Questionários
Apresentamos a seguir, os 8 questionários preen hidos, dos 9 enviados aos
usuários que serviram de amostra para a avaliação.

Usuário 1
1. Quão úteis foram as sugestões de páginas relevantes (Resposta([1,10℄))?
5

2. O sistema lhe auxiliou em alguma atividade? Se a resposta for sim, qual


(Resposta(sim|não,qual))?
Sim, algumas vezes sugeriu páginas que eram do meu interesse.

3. A pesquisa no sistema reete suas experiên ias (Resposta(sim|não))?


Sim, reete.

4. Vo ê onsidera útil a pesquisa do sistema? Se a resposta for sim, por quê


(Resposta(sim|não,porque))?
Não, por ser limitada apenas à URL, não abrangendo o onteúdo das páginas.

5. Quanto a questão da priva idade, vo ê se sentiu à vontade para utilizar o


sistema? Algum omentário (Resposta(livre))?
Sim, ompletamente à vontade.

6. O que vo ê onsidera que poderia ser melhorado (Resposta(livre))?


A pesquisa poderia ser mais abrangente, sendo efetuada no onteúdo das
páginas. Existem várias URL apresentadas que são URLs para páginas que
ne essitam um login prévio, para páginas de re uperação de senhas esque i-
das e outros tipos de URLS que são úteis apenas para um úni o usuário e
numa sessão espe í a. Essas páginas deveriam ser ltradas.

107
Usuário 2
1. Quão úteis foram as sugestões de páginas relevantes (Resposta([1,10℄))?
3

2. O sistema lhe auxiliou em alguma atividade? Se a resposta for sim, qual


(Resposta(sim|não,qual))?
Sim, já me ajudou. Des obri um site através de um par eiro de navegação
e também já onsegui voltar à um site que tinha visitado em outro mi ro
usando o históri o de navegação.

3. A pesquisa no sistema reete suas experiên ias (Resposta(sim|não))?


Entre sim e não eu tenho que  ar om o não. Já onsegui extrair infor-
mações que me fossem úteis e ver sites que onsiderava en aixar om o meu
perl, mas per entualmente esse número foi baixo, então não posso dizer que
reetiram minhas experiên ias.

4. Vo ê onsidera útil a pesquisa do sistema? Se a resposta for sim, por quê


(Resposta(sim|não,porque))?
Não a ho que seja realmente útil no estágio que está. A ho que o sistema
omo um todo pode ser melhorado. Está num estágio embrionário. É um
modo original de se navegar na rede. Tem muito poten ial para res imento.
Tem futuro. Mas é ne essário mais pesquisa para aperfeiçoar os me anismos
atuais e deixá-los realmente úteis. Eu o lassi o atualmente mais omo u-
rioso. Tenho uriosidade de saber se já naveguei o bastante pra ter um perl
que reita minhas experiên ias, ou pra saber de que modo me rela iono om
os demais usuários, o quão forte é a minha relação om os demais usuários
(número de ligações nos grá os).

5. Quanto a questão da priva idade, vo ê se sentiu à vontade para utilizar o


sistema? Algum omentário (Resposta(livre))?
Não tive preo upação nenhuma quanto à priva idade. Bem, logo no ini io
do uso do z9 passei algumas horas visitando sites de onteúdo eróti o e não
me liguei que o liente z9 estava ativado. No dia seguinte onstatei que meu
perl era o de um ompleto pervertido, mas isso mudou rapidamente om o
uso mais onstante do programa.

6. O que vo ê onsidera que poderia ser melhorado (Resposta(livre))?


O me anismo que dene os sites relevantes. Não a ho que os sites apre-
sentados sejam realmente relevantes. Às vezes pinta um ou outro, mas de
modo geral não são boas sugestões. A representação grá a do históri o de
navegação e ligação dos par eiros de navegação. Com pou o tempo de uso

108
do z9 o grá o  a muito difí il, diria que prati amente impossível de ser
usado (apesar de uma vez ter me esforçado e ter a hado um site que real-
mente queria). A riação de um plug-in pro browser pra deixar mais práti o
o a esso às informações.

Usuário 3
1. Quão úteis foram as sugestões de páginas relevantes (Resposta([1,10℄))?
10 - Justamente pela asso iação que o programa faz ao meu perl de páginas
e aos demais pers. A abou indi ando páginas que eu não onhe ia ou que
ainda não tinha manifestado interesse em pro urar.

2. O sistema lhe auxiliou em alguma atividade? Se a resposta for sim, qual


(Resposta(sim|não,qual))?
Sim, en ontrei uma página que me interessou, mesmo nun a a tendo pro u-
rado antes.

3. A pesquisa no sistema reete suas experiên ias (Resposta(sim|não))?


Sim, pois monitorou todas as páginas em que ingressei nestes meses. O
monitoramento do a esso, em que pese algum onfronto om o direito à pri-
va idade, pode se revelar totalmente útil. Dependerá apenas da nalidade
a ser bus ada pelo geren iador do sistema. No meio empresarial, pare e
ser um ex elente meio de ontrole das atividades dos empregados (que po-
dem  ar "matando o tempo"na internet ao invés de estarem trabalhando).
A res ente-se que, re entemente, o Tribunal Superior do Trabalho re on-
he eu lí ito o monitoramento de e-mails de empregados, o que pode ser
estendido ao a esso à internet.

4. Vo ê onsidera útil a pesquisa do sistema? Se a resposta for sim, por quê


(Resposta(sim|não,porque))?
Sim. Pela identi ação poten ial de grupos de anidade, bem omo por ser
ferramenta que auxilie na bus a de páginas de onteúdo semelhante àquele
que eu a esso. Mas, ressalto, a pesquisa me pare e muito útil para quem
monitora o sistema.

5. Quanto a questão da priva idade, vo ê se sentiu à vontade para utilizar o


sistema? Algum omentário (Resposta(livre))?
Sim, porque onsenti om a instalação do programa no meu mi ro.

6. O que vo ê onsidera que poderia ser melhorado (Resposta(livre))?


Já havia en aminhado um omentário sobre um provável "bug"no qual o
liente travava e, ao desligar o omputador, o programa não nalizava.

109
Usuário 4
1. Quão úteis foram as sugestões de páginas relevantes (Resposta([1,10℄))?
8

2. O sistema lhe auxiliou em alguma atividade? Se a resposta for sim, qual


(Resposta(sim|não,qual))?
Sim, ver sites rela ionados a notí ias e novidades automobilísti as. Isto foi
possível atravez da relação que o programa des obriu entre os sites que os-
tumo ler e os que outros usuários ostumam olhar rela ionados aos mesmos
assuntos.

3. A pesquisa no sistema reete suas experiên ias (Resposta(sim|não))?


Sim

4. Vo ê onsidera útil a pesquisa do sistema? Se a resposta for sim, por quê


(Resposta(sim|não,porque))?
Sim. Porque me auxiliou a en ontrar novamente, de forma rápida e simples,
sites em que eu havia lido algo interessante mas não havia en ontrado no-
vamente devido a grande quantidade de sites em "Favoritos"ou por não ter
in luido o site dentre os "Favoritos".

5. Quanto a questão da priva idade, vo ê se sentiu à vontade para utilizar o


sistema? Algum omentário (Resposta(livre))?
Sim. Eu me senti onante de usar o sistema por onhe er seu riador.
No entanto, eu a ho que no aso de um usuário qualquer o sistema deveria
deixar mais laro e talvez de alguma forma omprovar ao usuário que senhas
e outras informações privadas não são monitoradas.

6. O que vo ê onsidera que poderia ser melhorado (Resposta(livre))?


A ho que o proprio apli ativo que é instalado na máquina poderia registrar
os sites visitados e disponibilizar a pesquisa. Desta forma o usuário não
pre isa navegar até o Web site para isto. Também a ho que o apli ativo que
é instalado no omputador deveria ter um interfa e que permita o usuário
fazer algumas ongurações, tipo tamanho do históri o, e outras.

Usuário 5
1. Quão úteis foram as sugestões de páginas relevantes (Resposta([1,10℄))?
2

110
2. O sistema lhe auxiliou em alguma atividade? Se a resposta for sim, qual
(Resposta(sim|não,qual))?
Não.

3. A pesquisa no sistema reete suas experiên ias (Resposta(sim|não))?


Não reetiu. Eu en ontrei na lista das minhas páginas relevantes exatamente
o que não tinha grande importân ia para mim. Coisas que eu a essei pou as
vezes ou sequer me lembro de ter a essado. Não sei se há algum problema
na denição do que seria relevante ou se houve uma falta de ompreensão da
minha parte do que essas informações disponibilizadas reetiam.

4. Vo ê onsidera útil a pesquisa do sistema? Se a resposta for sim, por quê


(Resposta(sim|não,porque))?
Para mim não foi útil por não ver a minha realidade de navegação reetida
nos links, no entanto a ho que poderia ter sido útil se devidamente enfo ada.

5. Quanto a questão da priva idade, vo ê se sentiu à vontade para utilizar o


sistema? Algum omentário (Resposta(livre))?
Me senti a vontade para utilizar.

6. O que vo ê onsidera que poderia ser melhorado (Resposta(livre))?


Talvez uma revisão dos ritérios de relevân ia dos links a essados, ainda que
seja denindo isso para o usuário, e uma melhora na parte grá a em java,
que depois de algum tempo de uso, om o a úmulo de páginas no históri o,
torna impossível a visualização.

Usuário 6
1. Quão úteis foram as sugestões de páginas relevantes (Resposta([1,10℄))?
1 - não re ebi sugestões relevantes

2. O sistema lhe auxiliou em alguma atividade? Se a resposta for sim, qual


(Resposta(sim|não,qual))?
Sim, o sistema fun iona omo um ba k-up de informações que já busquei na
Internet, só que organizado por assuntos realmente interessantes, guarda
antigas pesquisas e posso bus á-las quando ne essito, sem ter que ir ao
Google R.

3. A pesquisa no sistema reete suas experiên ias (Resposta(sim|não))?


Sim

111
4. Vo ê onsidera útil a pesquisa do sistema? Se a resposta for sim, por quê
(Resposta(sim|não,porque))?
Sim , pois fa ilita a bus a tornando-a mais fá il e objetiva.

5. Quanto a questão da priva idade, vo ê se sentiu à vontade para utilizar o


sistema? Algum omentário (Resposta(livre))?
Não tive problemas, o sistema é simples e fá il de ser utilizado.

6. O que vo ê onsidera que poderia ser melhorado (Resposta(livre))?


Gostaria que ele me sugerisse páginas relevantes.

Usuário 7
1. Quão úteis foram as sugestões de páginas relevantes (Resposta([1,10℄))?
2

2. O sistema lhe auxiliou em alguma atividade? Se a resposta for sim, qual


(Resposta(sim|não,qual))?
Não, por que não o usei efetivamente.

3. A pesquisa no sistema reete suas experiên ias (Resposta(sim|não))?


Sim

4. Vo ê onsidera útil a pesquisa do sistema? Se a resposta for sim, por quê


(Resposta(sim|não,porque))?
Sim, porque através dela eu onsegui elen ar uma lista de sites que ontinham
o que eu estava pro urando. De uma maneira geral, é uma forma mais rápida
e efetiva de en ontrar um site anteriormente visitado.

5. Quanto a questão da priva idade, vo ê se sentiu à vontade para utilizar o


sistema? Algum omentário (Resposta(livre))?
Sim, ompletamente à vontade

6. O que vo ê onsidera que poderia ser melhorado (Resposta(livre))?


A ho que a parte de "páginas relevantes"poderia ser melhorada. No meu
aso, nenhuma das 8 páginas relevantes asso iadas ao meu perl era efeti-
vamente relevante. Na realidade, não me lembro de ter entrado na maioria
delas, e naquelas em que efetivamente naveguei, isso não a onte eu mais do
que 1 ou 2 vezes.

112
Usuário 8
1. Quão úteis foram as sugestões de páginas relevantes (Resposta([1,10℄))?
7

2. O sistema lhe auxiliou em alguma atividade? Se a resposta for sim, qual


(Resposta(sim|não,qual))?
Não. Infelizmente não naveguei muito...

3. A pesquisa no sistema reete suas experiên ias (Resposta(sim|não))?


Não.

4. Vo ê onsidera útil a pesquisa do sistema? Se a resposta for sim, por quê


(Resposta(sim|não,porque))?
Não. Infelizmente não foi útil para mim.

5. Quanto a questão da priva idade, vo ê se sentiu à vontade para utilizar o


sistema? Algum omentário (Resposta(livre))?
Sim, perfeitamente à vontade.

6. O que vo ê onsidera que poderia ser melhorado (Resposta(livre))?


Sim. Poderia ser in luída informação de apresentação de ada uma das
seções, de forma que o usuário soubesse o que de fato ada seção pode
propor ionar. Poderia ser in luída também informação de omo (quais os
ritérios) é feita a pesquisa e a seleção de páginas relevantes. Talvez essa in-
formação metodológi a pudesse ser in luída na seção "Estatísti as"... A ho
a apresentação do site ( or, guras, forma de navegação) bastante agradável.

113
114
Referên ias Bibliográ as
[Aneiros et al., 2003℄ Aneiros, M., Estivill-Castro, V., and Sun, C. (2003). Group
unied histories: an instrument for produ tive un onstrained o-browsing. In
GROUP '03: Pro eedings of the 2003 International ACM SIGGROUP Confer-
en e on Supporting Group Work, pages 330338. ACM Press.
[Beil et al., 2002℄ Beil, F., Ester, M., and Xu, X. (2002). Frequent term-based text
lustering. In Pro eedings of the eighth ACM SIGKDD International Conferen e
on Knowledge Dis overy and Data Mining, pages 436442. ACM Press.
[Bilmes, 1997℄ Bilmes, J. (1997). A gentle tutorial on the em algorithm and its
appli ation to parameter estimation for gaussian mixture and hidden markov
models. Te hni al Report ICSI-TR-97-021, University of Berkeley.

[Cabri et al., 1999℄ Cabri, G., Leonardi, L., and Zambonelli, F. (1999). Support-
ing ooperative www browsing: a proxy-based approa h. in pro . of the 7th
euromi ro workshop on parallel and distributed pro essing. IEEE Computer
So iety, pages 138145.
[Chang and Kim, 2004℄ Chang, J.-W. and Kim, Y.-K. (2004). An e ient lus-
tering method for high-dimensional data mining. In SBIA, pages 276285.

[de Jesús Hoyos-Rivera et al., 2002℄ de Jesús Hoyos-Rivera, G., Lima-Gomes, R.,
and Courtiat, J.-P. (2002). A exible ar hite ture for ollaborative browsing.
In WETICE '02: Pro eedings of the 11th IEEE International Workshops on
Enabling Te hnologies, pages 164169, Washington, DC, USA. IEEE Computer
So iety.

[Eirinaki and Vazirgiannis, 2003℄ Eirinaki, M. and Vazirgiannis, M. (2003). Web


mining for web personalization. ACM Trans. Inter. Te h., 3(1):127.

[Eri kson et al., 2002℄ Eri kson, T., Halverson, C., Kellogg, W. A., La, M., and
Wolf, T. (2002). So ial translu en e: designing so ial infrastru tures that make
olle tive a tivity visible. Communi ations of the ACM, 45(4):4044.

115
[Eri kson and Kellogg, 2003℄ Eri kson, T. and Kellogg, W. A. (2003). So ial
translu en e: Using minimalist visualizations of so ial a tivity to support ol-
le tive intera tion. In Designing Information Spa es: The So ial Navigation
Approa h, pages 1742. Springer.
[Estivill-Castro, 2002℄ Estivill-Castro, V. (2002). Why so many lustering algo-
rithms: a position paper. SIGKDD Explorations, 4(1):6575.

[Haykin, 1994℄ Haykin, S. (1994). Neural Networks: A Comprehensive Founda-


tion. Prenti e-Hall PTR, Upper Saddle River, NJ, USA.
[Honkela, 1997a℄ Honkela, T. (1997a). Self-Organizing Maps in Natural Language
Pro essing. PhD thesis, Helsinki University of Te hnology, Neural Networks
Resear h Center, Espoo, Helsinki, Finland.

[Honkela, 1997b℄ Honkela, T. (1997b). Self-Organizing Maps in Natural Language


Pro essing. PhD thesis, Helsinki University of Te hnology, Espoo, Finland.
[Ja zynski and Trousse, 1998℄ Ja zynski, M. and Trousse, B. (1998). Www as-
sisted browsing by reusing past navigations of a group of users. In Pro eedings
of the 4th European Workshop on Advan es in Case-Based Reasoning, pages
160171. Springer-Verlag.

[Jain et al., 1999℄ Jain, A. K., Murty, M. N., and Flynn, P. J. (1999). Data lus-
tering: a review. ACM Comput. Surv., 31(3):264323.

[Kohonen, 1990℄ Kohonen, T. (1990). The self-organizing map. In Pro eedings of


the IEEE, volume 78, pages 14641480.
[Kohonen et al., 2000℄ Kohonen, T., Kaski, S., Lagus, K., Salojrvi, J., Honkela,
J., Paatero, V., and Saarela, A. (2000). Self organization of a massive do ument
olle tion. IEEE Transa tions on Neural Networks, Vol. II, No.3., pages 574
585.

[Kosala and Blo keel, 2000℄ Kosala, R. and Blo keel, H. (2000). Web mining re-
sear h: a survey. SIGKDD Explor. Newsl., 2(1):115.

[Kreyszig, 1978℄ Kreyszig, E. (1978). Introdu tory Fun tional Analysis with Ap-
pli ations. John Wiley & Sons, New York, NY, USA.
[Lagus et al., 1996℄ Lagus, K., Honkela, T., Kaski, S., and Kohonen, T. (1996).
Self-organizing maps of do ument olle tions: A new approa h to intera tive
exploration. In Simoudis, E., Han, J., and Fayyad, U., editors, Pro eedings of
the Se ond International Conferen e on Knowledge Dis overy and Data Mining,
pages 238243. AAAI Press, Menlo Park, California.

116
[Lagus and Kaski, 1999℄ Lagus, K. and Kaski, S. (1999). Keyword sele tion
method for hara terizing text do ument maps. In ICANN99. Ninth Inter-
national Conferen e on Arti ial Neural Networks (IEE Conf. Publ. No.470),
volume 1, pages 3716, London, UK. IEE.

[Lieberman, 1995℄ Lieberman, H. (1995). Letizia: An agent that assists web brows-
ing. In Mellish, C. S., editor, Pro eedings of the Fourteenth International Joint
Conferen e on Arti ial Intelligen e (IJCAI-95), pages 924929, Montreal, Que-
be , Canada. Morgan Kaufmann publishers In .: San Mateo, CA, USA.

[Lieberman et al., 1999℄ Lieberman, H., Dyke, N. W. V., and Viva qua, A. S.
(1999). Let's browse: a ollaborative web browsing agent. In IUI '99: Pro eed-
ings of the 4th International Conferen e on Intelligent User Interfa es, pages
6568. ACM Press.

[Lieberman et al., 2001℄ Lieberman, H., Fry, C., and Weitzman, L. (2001). Ex-
ploring the web with re onnaissan e agents. Commun. ACM, 44(8):6975.

[Ma edo et al., 2003℄ Ma edo, A. A., Truong, K. N., Cama ho-Guerrero, J. A.,
and da Graça Pimentel, M. (2003). Automati ally sharing web experien es
through a hyperdo ument re ommender system. In HYPERTEXT '03: Pro eed-
ings of the Fourteenth ACM Conferen e on Hypertext and Hypermedia, pages
4856, New York, NY, USA. ACM Press.

[Manning and S hütze, 1999℄ Manning, C. D. and S hütze, H. (1999). Founda-


tions of Statisti al Natural Language Pro essing. The MIT Press, Cambridge,
Massa husetts.

[Mitra, 2003℄ Mitra, Sushmita & A harya, T. (2003). Data Mining Multimedia,
Soft Computing, and Bioinformati s. John Wiley & Sons, New York, NY, USA.
[Pirolli et al., 1996℄ Pirolli, P., S hank, P., Hearst, M., and Diehl, C. (1996). S at-
ter/gather browsing ommuni ates the topi stru ture of a very large text olle -
tion. In Pro eedings of the SIGCHI Conferen e on Human Fa tors in Computing
Systems, pages 213220. ACM Press.
[Riedl and Dourish, 2005℄ Riedl, J. and Dourish, P. (2005). Introdu tion to the
spe ial se tion on re ommender systems. ACM Trans. Comput.-Hum. Intera t.,
12(3):371373.

[Sebastiani, 2002℄ Sebastiani, F. (2002). Ma hine learning in automated text at-


egorization. ACM Comput. Surv., 34(1):147.

117
[Shahabi et al., 1997℄ Shahabi, C., Zarkesh, A. M., Adibi, J., and Shah, V. (1997).
Knowledge dis overy from users web-page navigation. In RIDE '97: Pro eed-
ings of the 7th International Workshop on Resear h Issues in Data Engineering
(RIDE '97) High Performan e Database Management for Large-S ale Appli a-
tions, page 20, Washington, DC, USA. IEEE Computer So iety.
[Srivastava et al., 2000℄ Srivastava, J., Cooley, R., Deshpande, M., and Tan, P.-N.
(2000). Web usage mining: Dis overy and appli ations of usage patterns from
web data. SIGKDD Explorations, 1(2):1223.

[Steinba h et al., 2000℄ Steinba h, M., Karypis, G., and Kumar, V. (2000). A
omparison of do ument lustering te hniques. KDD Workshop on Text Mining.

[Zhong and Ghosh, 2003℄ Zhong, S. and Ghosh, J. (2003). A unied framework
for model-based lustering. J. Ma h. Learn. Res., 4:10011037.

118

S-ar putea să vă placă și