O documento descreve motores de busca em redes sociais, comparando-os com motores de busca tradicionais. Apresenta dois exemplos de motores de busca em redes sociais: Aardvark, que usa pessoas como base de conhecimento, e BibSonomy, que indexa recursos sociais como marcadores e tags.
1. UFCG/CEEI/DSC
Sistemas
de
Recuperação
da
Informação
2011.1
Professor:
Leandro
Balby
Motores
de
Busca
em
Redes
Sociais
Delano
Oliveira,
Izabela
Melo,
Natã
Venâncio
e
Savyo
Nóbrega
2. Sumário
• Introdução
– Motor
de
busca
– Redes
Sociais
– Motores
de
busca
tradicionais
– Motores
de
busca
para
Redes
Sociais
• AARDVARK
• BibSonomy
• Considerações
Finais
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
2
2011.1
3. INTRODUÇÃO
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
3
2011.1
4. Redes
Sociais
Grupo
de
pessoas
que
tem
algum
nível
de
relação
ou
interesse
mútuo
Dennis
Altermann
• Além
de
conhecer
pessoas,
as
redes
sociais
podem
ser
usadas
para
várias
coisas,
dentre
elas:
– Publicidade
(promoções,
descontos,
etc.);
– Busca
de
informações
(imagens,
vídeos,
músicas);
– Passatempo,
diversão;
– [...]
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
4
2011.1
5. Motor
de
busca
• SoWware
projetado
para
encontrar
informações
armazenadas
em
um
sistema
computacional
a
par[r
de
palavras-‐chave
indicadas
pelo
u[lizador
• Reduz
o
tempo
necessário
para
encontrar
as
informações
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
5
2011.1
6. Motores
de
busca
tradicionais
• Os
motores
de
busca
tradicionais
tratam
a
Web
como
uma
grande
biblioteca
• Mecanismo:
– Rastreiam
as
páginas
– Armazenam
seus
conteúdos
em
índices
• Facilita
e
acelera
as
subsequentes
pesquisas
– Classificam
estas
páginas
sob
algum
critério
• Como
o
PageRank
do
Google
– Exibem
as
páginas
com
as
mais
altas
classificações
nas
primeiras
posições
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
6
2011.1
7. Motores
de
busca
tradicionais
• Vantagem:
traz
resultados
adequados
para
a
maioria
das
buscas
• Desvantagem:
tende
a
ser
está[co
– Demanda
muito
tempo
para
que
uma
atualização
na
página
Web
seja
refle[da
nos
índices
do
mecanismo
de
busca
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
7
2011.1
8. Motores
de
busca
tradicionais
• Acelerado
ritmo
de
informações
na
Internet
– Milhões
de
informações
são
disponibilizadas
a
cada
segundo
por
novas
tecnologias
como
Twiier,
blogs,
redes
sociais
e
outras
plataformas
de
auto-‐publicação
• Os
motores
de
busca
atuais,
como
o
Google,
não
conseguem
captar
estas
informações
na
velocidade
em
que
surgem
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
8
2011.1
9. Motores
de
busca
para
redes
sociais
• Para
recuperar
as
informações
de
redes
sociais
é
preciso
um
motor
de
busca
em
tempo
real!
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
9
2011.1
10. Motores
de
busca
-‐
Exemplos
www.topsy.com
www.yauba.com
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
10
2011.1
12. O
que
é?
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
12
2011.1
13. Diferenças
entre
os
paradigmas
• Library
paradigm
– Uso
de
palavras-‐chave
– Base
de
conhecimento
são
os
conteúdos
publicados
antes
da
pergunta
ser
feita
– Confiança
é
baseada
na
autoridade
• Village
paradigm
– Uso
de
linguagem
natural
– Respostas
geradas
em
tempo
real
por
alguém
na
comunidade
– Confiança
baseada
na
in[midade
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
13
2011.1
14. Base
de
conhecimento
• Em
motores
de
busca,
é
importante
ter
uma
base
de
conhecimento
ampla
• Em
Aardvark,
a
base
de
conhecimento
é
cons[tuída
por
pessoas
– Quanto
mais
usuários
a[vos,
mais
respondedores
em
potencial
e
consequentemente,
uma
maior
cobertura
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
14
2011.1
15. Base
de
conhecimento
• Estratégia
para
aumentar
a
base
de
conhecimento:
– Proporcionar
uma
boa
experiência
para
o
usuário
para
que
ele
convide
novos
amigos
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
15
2011.1
16. Componentes
principais
• Crawler
e
Indexer
– Encontram
e
classificam
os
recursos
que
contém
as
informações
• Query
analyzer
– Entende
a
informação
que
o
usuário
precisa
• Ranking
FuncGon
– Seleciona
o
melhor
recurso
para
sa[sfazer
a
necessidade
de
informação
• UI
– Apresenta
a
informação
para
o
usuário
de
forma
acessiva
e
intera[va
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
16
2011.1
17. Inicialização
do
sistema
• O
sistema
realiza
etapas
de
indexação,
de
modo
a
direcionar
perguntas
apropriadas
para
ele
responder
– Indexação
de
amizades
• Conec[vidade
com
o
Facebook,
Google
Talk,
LinkedIn,
entre
outros
• Estrutura
de
dados:
gráfico
social
– Indexação
de
tópicos
• Temas
que
o
usuário
tem
algum
nível
de
conhecimento
ou
experiência
• Usuários
podem
indicar
temas
que
eles
confiam
nos
seus
amigos
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
17
2011.1
18. Inicialização
do
sistema
• O
usuário
pode
especificar
um
perfil
estruturado
– Topic
Parser
e
Topic
Extractor
analisam
e
extraem
outros
tópicos
• O
sistema
analisa
o
comportamento
do
usuário
no
sistema,
de
acordo
com
a
resposta
que
ele
der
a
um
outro
usuário
• Todos
os
tópicos
são
armazenados
no
Forward
Index
– A
par[r
dele,
é
construído
o
Índice
Inver[do
+
Primeira
Índice
Inver[do
Gráfico
Social
consulta
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
18
2011.1
19. Primeira
Consulta
22
• As
primeiras
perguntas
são
feitas
através
de
mensagens
instantâneas
ou
de
texto
Pergunta
Estrutura
de
dados
de
mensagem
Disposi[vo
de
entrada
Camada
de
transporte
Normalização
ConversaGon
Manager
RouGng
RouGng
Engine
SuggesGon
RouGng
SuggesGon
Verificador
Request
É
uma
pergunta?
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
19
2011.1
20. Modelo
do
sistema
• Modelagem
estaxs[ca
feita
para
o
roteamento
das
perguntas
para
os
candidatos
aptos
a
responder
à
modelo
de
aspectos
• Baseia-‐se
em
dois
recursos:
– Associa
uma
variável
de
classe
não
observada
t
(pertencente
a
T)
com
cada
observação
• Probabilidade
do
usuário
i
responder
a
pergunta
q
com
sucesso
– Probabilidade
de
sucesso
de
cada
par
(ui,
uj),
baseado
no
seu
grau
de
conec[vidade
social
e
similaridade
de
perfis
• Probabilidade
do
usuário
entregar
uma
resposta
sa[sfatória
para
o
outro
usuário
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
20
2011.1
21. Indexando
pessoas
• Desafio:
selecionar
o
usuário
certo
para
responder
a
questão
de
outro
usuário
• Aardvark
precisa
aprender
sobre
cada
usuário:
– Tópicos
t
que
ele
seria
capaz
de
responder
• p(t|ui)
– Os
usuários
a
que
ele
está
ligado
• p(ui
|
uj)
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
21
2011.1
22. Indexando
pessoas
-‐
Tópicos
• Para
calcular
a
distribuição
de
p(t|ui)
é
preciso:
– Usuário
ui
fornece
3
tópicos
que
acredita
ter
conhecimento
– Amigos
do
usuário
ui
fornecem
alguns
tópicos
que
eles
confiam
para
que
o
usuário
ui
responda
– Análise
de
tópicos
nos
perfis
dos
usuários
• Encontra
possíveis
tópicos
do
conhecimento
do
usuário
ui
– Extração
de
temas
de
textos
não
estruturados
existentes
nas
homepages
ou
blogs
que
o
usuário
ui
forneceu
• Iden[fica
o
assunto
geral
do
texto
• Varre
os
dados
do
texto
e
usa
o
peso
y-‐idf
para
extrair
mais
temas
específicos
– Extração
automá[ca
de
tópicos
das
mensagens
de
status
do
usuário
ui
(twiier,
facebook)
e
de
mensagens
enviadas
para
outros
usuários
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
22
2011.1
23. Indexando
pessoas
-‐
Tópicos
• Por
que
é
preciso
tudo
isso?
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
23
2011.1
24. Indexando
pessoas
-‐
Tópicos
• Se
você
quer
ser
capaz
de
prever
o
[po
de
conteúdo
que
um
usuário
vai
gerar
(p(t|ui)),
primeiro
saiba
o
que
ele
tem
gerado
anteriormente.
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
24
2011.1
25. Indexando
pessoas
-‐
Tópicos
• O
Aardvark
também
aprende
quais
tópicos
não
enviar
para
um
usuário
– Se
o
usuário
ignorar
um
tópico
– Se
ele
se
recusa
a
responder
um
tópico
– Se
ele
recebe
um
feedback
nega[vo
sobre
sua
resposta
daquele
tópico
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
25
2011.1
26. Indexando
pessoas
-‐
Tópicos
• O
Aardvark
roda
um
algoritmo
de
reforço
de
um
tópico
– Se
um
usuário
afirma
ter
conhecimento
numa
área
e
seus
amigos
também
têm
alguns
conhecimentos
nessa
área
• Informação
daquele
usuário
sobre
aquele
tópico
torna-‐se
mais
confiável
• Depois
de
tudo
isso,
temos
uma
lista
de
tópicos
e
pontuações
de
um
determinado
usuário
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
26
2011.1
27. Indexando
pessoas
-‐
Tópicos
• Usamos
lei
de
Bayes
para
calcular
para
cada
tópico
e
usuário:
• Aardvard
recolhe
essas
probabilidades
e
indexa
por
assunto
no
Inverted
Index
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
27
2011.1
28. Indexando
pessoas
-‐
Ligações
• Leva
em
consideração:
– Proximidade
social
– Semelhanças
demográficas
– Semelhanças
de
comportamento
• Frequência
de
acompanhamento
mensagens
• O
comprimento
médio
das
mensagens
• Educação
(por
exemplo,
o
uso
de
"Obrigado!")
• Capacidade
de
resposta
para
outros
usuários
– Similaridade
do
perfil
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
28
2011.1
29. Indexando
pessoas
-‐
Ligações
• A
par[r
das
informações
anteriores:
– Calcula
p(ui|uj)
– Armazena
resultados
no
Gráfico
Social
• Acesso
rápido
no
tempo
da
consulta
• ATENÇÃO!
– Ambas
as
probabilidades
são
atualizadas
con[nuamente
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
29
2011.1
30. Analisando
as
questões
• O
obje[vo
do
analisador
de
perguntas
é
determinar
uma
lista
de
tópicos
t
pontuados
por
p(t|q)
para
cada
pergunta
q
– Calculado
no
tempo
da
consulta
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
30
2011.1
31. Analisando
as
questões
• Para
cada
questão
é
executado:
– NonQuesGonClassifier
• A
entrada
não
é
uma
questão
– InappropriateQuesGonClassifier
• A
entrada
é
spam
– TrivialQuesGonClassifier
• A
entrada
é
uma
simples
questão
de
fato
– Ex.:
"que
horas
são?",
"qual
o
tempo
agora?"
– LocaGonSensiGveClassifier
• Pergunta
exige
conhecimento
de
uma
determinada
localização
– Ex.:
"Qual
o
melhor
restaurante
de
Campina
Grande?
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
31
2011.1
32. Algoritmo
de
Ranking
• Feito
por
um
RouGng
Engine
– Recebe
a
pergunta
e
as
informações
sobre
ela
– Retorna
uma
lista
ordenada
dos
usuários
que
estão
aptos
a
responder
a
pergunta
• O
RouGng
Engine
é
ob[do
computando
a
equação
para
todos
os
candidatos
aptos
a
responder
a
pergunta,
ordena-‐
os
e
faz
um
pós-‐processamento
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
32
2011.1
33. Algoritmo
de
Ranking
• Topic
ExperGse
– Procura
um
subgrupo
de
usuários
seman[camente
marcados
para
a
pergunta
– São
listados
os
usuários
que
[verem
mais
tópicos
relacionados
com
as
informações
vindas
como
parâmetro
• Conectedness
– Separa
cada
usuário
de
acordo
com
o
grau
de
experiência
dele
com
a
pergunta
– O[miza
a
relação
existente
entre
quem
pergunta
e
quem
responde
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
33
2011.1
34. Algoritmo
de
Ranking
• Availability
– Prioriza
os
candidatos
que
são
aptos
a
responder
a
pergunta
• O[miza
as
chances
daquela
pergunta
ser
respondida
– Filtragem
• Lista
vai
para
o
ConversaGon
Manager
• Processo
paralelizável
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
34
2011.1
35. Interface
com
o
Usuário
• Desenvolvimento
sobre
canais
de
comunicação
– IMs,
e-‐mails,
SMS,
iPhone,
Twiier,
entre
outros
Forma
simples
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
35
2011.1
36. Interface
com
o
Usuário
• Chat
entre
duas
pessoas
– As
pessoas
se
sentem
mais
livres
e
confiantes
em
perguntar
e
responder
questões
• Dois
fluxos
de
interação
– O
sistema
envia
perguntas
pro
usuário
• Vantagem:
variedade
de
pessoas
respondendo
as
perguntas
– Envio
de
perguntas
e
respostas
ao
sistema
• Vantagem:
as
pessoas
ficam
mais
felizes
e
mo[vadas
a
usar
mais
o
sistema
• Trechos
de
conversa
inteligentes
– Ajudam
o
usuário
a
fazer
sua
pergunta
ou
respondê-‐la
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
36
2011.1
37. Análise
Tópicos
mais
comentados
Crescimento
no
uso
Questões
x
Tempo
de
resposta
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
37
2011.1
38. Exemplos
de
uso
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
38
2011.1
39. BibSonomy
The
Social
Bookmark
and
PublicaGon
Management
System
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
39
2011.1
40. Mo[vação
• Áreas
de
pesquisa
• Análise
de
Redes
Sociais,
Mineração
de
Dados,
Recuperação
de
Informação,
etc
• Como
e
onde
encontrar
um
conjunto
de
dados
reais
em
larga
escala?
• Como
avaliar
os
resultados
das
buscas?
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
40
2011.1
41. O
que
é?
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
41
2011.1
42. Modelo
de
Dados
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
42
2011.1
43. Folksonomy
Tags
Usuários
Conteúdo
(Tag
assignments)
(Posts)
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
43
2011.1
44. Folksonomy
• Tradução
direta
para
link
• Refinar
consultas
por
tags
• Fácil
descobrir
conteúdo
de
interesse
• Buscar
conteúdos
específicos
• Informações
Precisas
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
44
2011.1
45. Propriedades
Inerentes
• The
small
world
property
of
folksonomies
• Measures
that
compute
semanGc
closeness
of
tags
• The
removal
of
spam
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
45
2011.1
46. Medidas
de
Similaridade
•
• F1
:=
(delano,
{maçã,
fruta},
ar[go_maça,
Y)
• F2
:=
(savyo,
{laranja,
amarela},
ar[go_laranja,
Y)
• F3
:=
(vanessa,
{fruta,
saude},
revista_saude,
Y)
maçã
fruta
laranja
Problema:
Tags
com
semânZcas
similares
não
estão
conectadas!
saude
laranja
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
46
2011.1
47. Medidas
de
Similaridade
• Similarity
e
Relatedness
• Relatedness
Tags
carregam
a
informação
semân[ca
no
folksonomy
• ObjeZvo:
Avaliar
medidas
de
similaridade
(bem
estabelecidas)
em
banco
de
dados
• Cinco
medidas
de
similaridade
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
47
2011.1
48. Co-‐Occurrence
•
• Construir
grafo
não
direcional
mul[valorado
• Tags
são
vér[ces
• O
peso
é
o
número
de
ocorrências
de
t1
e
t2
nos
post
saude
sal
1
Conjuntos
de
Tags:
2
fruta
1
1. {maçã,
pera,
fruta}
1
2. {fruta,
saude,
sal}
2
1
3. {saude,
maça,
fruta}
pera
1
maçã
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
48
2011.1
49. Medidas
de
Contexto
• Medidas
baseadas
em
tag
relatedness
• Representadas
por
espaço
vetorial
• Vetor
de
uma
tag:
(tag,
usuarios,
peso)
•
• TagCont,
ResCont
e
UserCont
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
49
2011.1
50. Tag
Context
Similary
• TagCont
• Computado
no
espaço
vetorial:
• Para
cada
tag
t,
a
entrada
do
vetor
v
é
definida
como:
maçã
fruta
sal
pêra
saude
maçã
0
2
1
1
fruta
0
1
2
sal
1
0
1
pêra
1
1
0
saude
1
2
1
0
vi
=
0:
duas
tags
são
consideradas
relacionadas
quando
ocorrem
em
contexto
similar!
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
50
2011.1
51. Resource
Context
Similary
• RecCont
• Computado
no
espaço
vetorial:
• Número
de
vezes
que
uma
tag
é
relacionada
a
determinado
conteúdo
• F1
:=
(delano,
{maçã,
fruta},
ar[go_maça,
Y)
• F2
:=
(savyo,
{saude},
ar[go_laranja,
Y)
• F3
:=
(vanessa,
{fruta,
saude},
revista_maça
Y)
arZgo_maça
arZgo_laranja
maçã
1
saude
1
1
fruta
2
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
51
2011.1
52. User
Context
Similary
• UserCont
• Computado
no
espaço
vetorial:
• Número
de
vezes
que
um
usuário
relacionou
determinada
tag
a
um
conteúdo
• F1
:=
(delano,
{maçã,
fruta},
ar[go_maça,
Y)
• F2
:=
(savyo,
{saude},
ar[go_laranja,
Y)
• F3
:=
(delano,
{fruta,
saude},
revista_maça
Y)
delano
savyo
maçã
1
saude
1
1
fruta
2
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
52
2011.1
53. FolkRank
• Mesma
ideia
do
Google:
• Um
conteúdo
relacionado
a
tags
importantes
por
usuários
importantes,
tornam-‐se
importantes
• Computa
uma
ranked
list
de
tags
relevantes
• Adaptação
do
algoritmo
PageRank
• Folksonomy
é
considerado
um
grafo
não
direcional
• G
=
(V,
E);
V
=
• E
=
co-‐occurrences
de
tags
e
usuários,
usuários
e
conteúdo
e
conteúdo
e
tags
• Cada
tripla
(y,
t,
r)
implica
aumenta
o
peso
nas
três
arestas:
{u,
t},
{u,
r},
{t,
r};
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
53
2011.1
54. Exemplo
Co-‐
occurrence
Cosseno
FolkRank
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
54
2011.1
55. Análise
dos
Resultados
• Foram
analisadas
as
related
tags
para
as
10000
tags
mais
frequentes
• As
medidas
TagCont
e
RecCont
fornecem
mais
sinônimos
que
as
demais
• As
medidas
Co-‐occurrence
e
FolkRank
fornecem
tags
mais
gerais
• Exemplo:
web2.0
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
55
2011.1
56. WordNet
• Banco
de
dados
da
língua
inglesa
• Agrupa
palavras
em
um
conjunto
de
sinônimos
• Definições
gerais
• Registros
para
relações
semân[ca
entre
os
conjuntos
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
56
2011.1
57. SemanGc
Grounding
• Fornecer
medidas
baseadas
em
folksonomy
• Mapeamento
de
tags
do
BibSonomy
para
conjuntos
do
WordNet
• Relações
semân[cas
WordNet
inferem
relações
semân[cas
correspondente
no
folksonomy
• Medidas:
taxonomy
path
length
e
Jiang
e
Conrath
• Avaliar
a
cobertura
de
distância
semân[ca
entre
uma
tag
e
uma
tag
relacionada
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
57
2011.1
58. Resultados
• De
acordo
com
ambas
as
medidas
(taxonomy
path
length
e
Jiang
e
Conrath),
TagCont
e
ReCont
apontam
para
tags
mais
similares
• ReCont
é
uma
medida
ó[ma
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
58
2011.1
59. Considerações
Finais
• Motores
de
Busca
em
Redes
Sociais
• Em
tempo
real
• Paradigmas
• Algoritmo
de
Ranking
• FolkSonomy
• Medidas
de
Similaridade
Motores
de
Busca
em
Redes
Sociais
-‐
SRI
59
2011.1
60. UFCG/CEEI/DSC
Sistemas
de
Recuperação
da
Informação
2011.1
Professor:
Leandro
Balby
Motores
de
Busca
em
Redes
Sociais
Delano
Oliveira,
Izabela
Melo,
Natã
Venâncio
e
Savyo
Nóbrega