SISTEMA DE RECOMENDAÇÃO
DE USUÁRIOS EM REDE SOCIAIS
Natália Cabral e Tiago Ferreira
Roteiro

Motivação

Redes Sociais

Sistemas de Recomendação

Mecanismo de recomendação baseado na topologia

Extensão do Mecanismo de Recomendação

Conclusão
Motivação
“ 43,9 milhões de usuários utilizando Redes Sociais no
Brasil”
" 90,8% dos usuários da internet no Brasil,
fazem parte de alguma rede social.”
* dados da comScore - Junho de 2011 ( http://www.comscore.com/por/ )
Motivação

Como encontrar usuários relevantes em meio a uma
imensidão?
 Navegar
entre listas de amizades dos usuários
 Busca de usuários
 Catálogo de usuários

Sistemas de Recomendação pode ser a solução
Redes Sociais
“Estruturas organizacionais
dinâmicas que visam conectar
um conjunto de indivíduos,
promovendo o relacionamento,
a comunicação, e a partilha de
experiências, agrupando-os de
acordo com interesses em
comum.”
Sistema de Recomendação
Um sistema que tenta prever o gosto de cada usuário
baseado em informação submetida por si e pelos
restantes utilizadores.
Sistemas de Recomendação de Usuários


Necessidade de encontrar pessoas para adicionar na lista
de amigos
Dois objetivos:
 Encontrar pessoas que você já conhece
 Encontrar pessoas que você gostaria de conhecer
Sistemas de Recomendação de Usuários

Facebook
Sistemas de Recomendação de Usuários

Diferente dos outros sistemas de recomendação:
 Relação
de amizade bi-direcional
 Apresentação da lista de amigos no perfil
Estudo de Caso

Encontrar as repostas para:

Qual a diferença em eficiência de diferentes algoritmos de
recomendação?

Que características são diferentes na recomendação de uma
pessoa conhecida e uma desconhecida?

Um sistema de recomendação é efetivo em aumentar a
quantidade de amigos numa rede social?

Qual o impacto que um sistema de recomendação causa em um
site?
Estudo de Caso

Implementação de sistemas de recomendação de
usuários para o sistema Beehive
 Quatro

algoritmos diferentes
Realização de dois experimentos
 Personalized
Survey
 Controlled field study
Beehive

Rede Social Corporativa da IBM
 Lançada
em setembro de 2007
 Mais de 38000 usuários
 Média de 8.2 amigos por usuário
 Conceito de amizade unidirecional
Algoritmos
Baseado em
Conteúdo
Baseado na
Estrutura da Rede
Content Matching
Content-plus-Link
Friend-of-Friend
SONAR
Content Matching


“Se duas pessoas escrevem na rede sobre assuntos similares, essas
têm interesse em se conhecer”
Cada usuário passou a ter uma “nuvem de tags”
A e B são considerados
similares se eles
compartilham tags em comum
e também se somente poucas
pessoas compartilham tal tag
Content-plus-Link


Tem como objetivo diminuir a quantidade de pessoas
desconhecidas na recomendação
Content Matching + Social link information
A
similaridade entre dois usuários é aumentada em 50% se
entre esse houver um link válido na rede.
 Ex.:
Alice comentou no perfil de Bob, que é amigo de Charles
Friend-of-Friend


“Se muitos dos meus amigos têm Alice como amiga, Alice
pode ser minha amiga”
 Algoritmo base do You May Know do Facebook
Não pode fazer recomendações para pessoas sem amigos
adicionados
SONAR

Algoritmo baseado no sistema SONAR
 Sistema
que têm dados públicos sobre IBM
 Publicações,
Amizade, Blogs, Orgonograma, Patentes,
Sistema de tags dos usuários, Project Wiki
 Através
desses dados, pode-se saber se dois usuários
têm alguma interação.
 Ex.:

Ser co-autor do mesmo artigo, comentar no blog, ...
Lista de usuários foi ranqueada baseada na
proximidade e frequência da interação com cada
usuários
Primeiro Experimento: Personalized Survey


500 usuários foram selecionados para participar do
experimento
Para cada usuário foi apresentada uma página
web com 12 usuários recomendados
3
de cada algoritmo
Primeiro Experimento: Personalized Survey

Para cada recomendação feita, o usuário deveria
responder:
 Você
já conhece essa pessoa?
 Foi uma boa recomendação?
 A razão pela qual foi recomendada ajudou na decisão?
 Você vai adicionar essa pessoa?
Resultados do Primeiro Experimento

Entendendo a necessidade do usuário
 95%
considerou útil a recomendação de usuários e
gostaria que o site tivesse essa funcionalidade
 Mais de 60% disse estar interessada em conhecer
novas pessoas na rede
A
grande maioria dos entrevistados adicionam
desconhecidos por amigos em comum ou interesses similares
Resultados do Primeiro Experimento
Resultados do Primeiro Experimento


A avaliação dos usuários é diretamente proporcional a
porcentagem de conhecidos recomendados
Usuários afirmaram que mostrar o motivo da
recomendação é necessário
Muitas tags foram consideradas aleatórias, genéricas, fracas
ou irrelevantes
 Usuários querem o máximo de informação útil possível sobre a
recomendação

Resultados do Primeiro Experimento


A quantidade de pessoas adicionadas foi menor
que a quantidade de boas recomendações
Usuários sugeriram adicionar outras opções além de
adicionar
 Adicionar
pessoa à lista de interesse
 Recomendar a pessoa para outra
Segundo Experimento: Controlled Field Study

Testar os algoritmos de uma forma mais natural
Content
Matching
Content plus
Link
Friend of
Friend
SONAR
Nenhum
sistema de
recomendação
Resultados do Segundo Experimento


Porcentagem de pessoas adicionadas
SONAR
FoF
CplusLink
Content
59,7%
47,7%
40,0%
30,5%
Todos os algoritmos foram eficientes em aumentar a
quantidade de amigos na rede
SONAR – 13%
 Grupo sem sistema de recomendação – 5%

Resultados do Segundo Experimento

Sistemas de recomendação são efetivos em
aumentar a quantidade de atividades no site:
Content
Matching
Content
plus Link
Friend of
Friend
SONAR
+ 13,7%
Nenhum sistema
de
recomendação
-24,4%
Conclusão dos Experimentos


Todos os quatro algoritmos são eficientes na
recomendação de usuários e aumentam
significativamente a lista de amigos
Algoritmos baseados na estrutura da rede
obtiveram melhores avaliações que algoritmos
baseados em conteúdo
Conclusão dos Experimentos



SONAR foi o algoritmo que mais se adequou a
rede.
Algoritmos baseados na estrutura da rede são
melhores em encontrar pessoas conhecidas
Algoritmos baseados em conteúdo são melhores em
encontrar pessoas que o usuário ainda não conhece
Conclusão dos Experimentos

Algoritmo ideal:
 Inicialmente
 Formar
 Em
baseado na estrutura da rede
a lista de amigos
segundo plano, baseado em conteúdo
 Depois
da lista de amigos estabilizada, encontrar pessoas
com interesses em comum
Algoritmo Proposto
Dissertação de mestrado de Nitai B. Silva
• Proposta de um algoritmo de recomendação de
usuários para a rede Oro-Aro
• Algoritmo baseado na topologia da rede
•
Utiliza FoF
Oro-Aro



Rede social corporativa construída pelo C.E.S.A.R.
 Desenvolvido com o objetivo de facilitar a troca de
conhecimento e experiência entre os alunos do CIn e dos
colaboradores do C.E.S.A.R
Há 634 usuários e 5076 arestas (relacionamento
unidirecional)
Foram selecionados para a pesquisa apenas os
relacionamentos bidirecionais
Visão Geral do Algoritmo

Etapas do mecanismo recomendação:
 Filtering
 Ordering

Além das fases tradicionais, na fase de ordering, é
proposta uma solução utilizando Algorimo Genético
Etapa de Filtering


Baseado no conceito de coeficiente de
clusterização, das redes Small Word
“It’s more probable that you know a friend of your
friend tha any other random person”
Etapa de Ordenação



Avalia o grau de relacionamento entre o nó central
e o nó que poderá ser avaliado
A métrica utilizada é um único valor, que será
extraída de uma média ponderada entre 3 índices
Os 3 índices medem propriedades específicas de
um sub-grafo
Etapa de Ordenação

Primeiro Índice
 Conceito
de FOF (Friend-of-Friends)
 Número de nós adjacentes que são ligado ao mesmo
tempo ao nó central e ao nó que será recomendado
 Amigos em comum
Etapa de Ordenação

Segundo Índice
 Mede
o grau de coesão entre o “pequeno” grupo
formado pelos amigos em comum
 Se o índice tiver um valor baixo então as pessoas
dentro deste grupo não são bem relacionadas
Etapa de Ordenação

Terceiro Índice
 Mede
o grau de coesão entre o “grande” grupo
formado pelos amigos de ambos os nós
 O terceiro e segundo índice, apesar de parecidos, são
independentes
Algoritmo Genético
Técnica utilizada para encontrar soluções aproximadas de
problemas de otimização e busca.
Algoritmo Genético


Gerar os 3 índices automaticamente para que
possa oferecer a melhor taxa de acerto
Utilizar toda a topologia em volta do nó central
 Mais
quantidade de informação
 Modificar a etapa de filtragem para adicionar nós
adjacentes
Algoritmo Genético

Algoritmo:
1.
Geração de 200 indivíduos de forma aleatória
2.
Calcular a função de avaliação para todos os indivíduos
3.
Escolher os 13 melhores segundo a função de avaliação
4.
5.
Realizar Crossjoin entre os 13 melhores, não podendo repetir os
pesos
Para cada elemento do item anterior gerar filhos, com mutação e
crossover
6.
Recalcular a função de avaliação para os nós
7.
Pegar a média das 7 melhores funções de avaliação
8.
Enquanto a média da função de avaliação não se repetir por 4x,
repetir os passos de 1 a 7
Algoritmo Genético
200
indivíduos
Crossjoin
entre os 13
Calcula
função de
avaliação
Gerar filhos
13 melhores
indivíduos
Recalcular
função de
avaliação
Média das
7 melhores
Experimento do Algoritmo Proposto


Usuários da rede social Oro-Aro
Requisitos:
Possuir no mínimo 13 relacionamentos
 Ter acessado a rede nos últimos 45 dias




70 usuários selecionados
Dois sistemas de recomendação testados, FOF e
o Algoritmo Proposto
14 usuários para FOF e 56 para o Algoritmo
Proposto
Resultados

Oro-Aro
Friends-of-Friends
Algoritmo Proposto
72,22%
77,69%
Extensão do Mecanismo

Objetivo
 Melhorar
taxa de acerto
 Lever em conta mais dados da topologia, dados que
são exclusivos da Redes Sociais Educacionais

Abordagens propostas
 Alteração
do algoritmo genético
 Adição de mais um índice que envolva a topologia de
uma rede social educacional
 Avaliar e aplicar utilizando o Redu (Rede Social
Educacional)
Extensão do Mecanismo

Alteração do algoritmo genético
 A.G.
não converge para determinados dados
 Reavaliar a função de avaliação
Extensão do Mecanismo

Adição de mais um índice que envolva a topologia
de uma rede social educacional
 Explocar
a hierarquia do Redu
Extensão do Mecanismo
AVA
Curso
Disciplina
Curso
Disciplina
Módulos
Curso
Disciplina
Aulas
Extensão do Mecanismo

Avaliar e aplicar solução no Redu
 Escolher
usuários para utilizar os 3 tipos de sistemas
recomendações existente
 FOF,
baseado em heurísticas e o Algoritmo Proposto
 Analisar
os pontos positivos de cada sistema de
recomendação
 Escolher a melhor abordagem para cada situação
Conclusão




Sistema de recomendação é extremamente
necessário pela quantidade de informação (usuário)
Aplicação de várias técnicas auxiliam na resolução
de problemas
Quanto mais dados são analisados, menor a
eficiência na execução
A topologia é um importante meio para extrair
informações
Conclusão


As vezes a topologia não é suficiente para aplicar
boas recomendações
Para análise da topologia, deve existir dados
suficientes
Dúvidas?
Referências




Cho, H., Gay, G., Davidson, B., and Ingraffea, A. R. (2007). Social
networks, communi-cation styles, and learning performance in a cscl
community. Computers & Education,49(2), 309–329
Chen, J., Geyer, W., Dugan, C., and Guy, I. Make new friends, but
keep the old: recommending people on social networking sites. Proc.
CHI, pp. 201-210. 2009.
N. B. Silva, I.FR. Tsang, G. D. C. Cavalcanti, and I.FJ. Tsang, “A graphbased friend recommendation system using genetic algorithm,” in
Evolutionary Computation (CEC), 2010 IEEE Congress on, jul. 2010,
pp. 1 –7.
http://www.cgi.br/publicacoes/pesquisas/govbr/cgibr-nicbrcensoweb-govbr-2010.pdf
Download

Recomendação de Amigos em Redes Sociais