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
Diferente dos outros sistemas de recomendação: Relação de amizade bi-direcional Apresentação da lista de amigos no perfil
Sistemas de Recomendação de Usuários
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
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
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?
Primeiro Experimento: Personalized Survey
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
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
Resultados do Primeiro Experimento
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
Todos os algoritmos foram eficientes em aumentar a quantidade de amigos na rede SONAR – 13% Grupo sem sistema de recomendação – 5%
SONAR FoF CplusLink Content
59,7% 47,7% 40,0% 30,5%
Sistemas de recomendação são efetivos em aumentar a quantidade de atividades no site:
Content
Matching
Content plus Link
Friend of
Friend
SONAR
Nenhum sistema de
recomendação
+ 13,7% -24,4%
Resultados do Segundo Experimento
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 baseado na estrutura da rede Formar a lista de amigos
Em 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. Realizar Crossjoin entre os 13 melhores, não podendo repetir os pesos
5. 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
Calcula função de avaliação
13 melhores indivíduo
s
Gerar filhos
Recalcular função de avaliação
Média das 7
melhores
Crossjoin entre os
13
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
AVA
Curso
Disciplina
Módulos
Aulas
Curso Curso
Disciplina
Disciplina
Extensão do Mecanismo
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 graph-based 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-nicbr-censoweb-govbr-2010.pdf
Top Related