380 likes | 472 Views
Predição de Relacionamentos. Paulo Soares. Roteiro. Introdução Métricas Abordagens Não temporal Temporal Aplicações Caso prático Conclusão. Introdução. Crescimento das redes sociais nos últimos anos Disponibilidade das redes para estudo Redes sociais são muito dinâmicas
E N D
Predição de Relacionamentos Paulo Soares
Roteiro • Introdução • Métricas • Abordagens • Não temporal • Temporal • Aplicações • Caso prático • Conclusão
Introdução • Crescimento das redes sociais nos últimos anos • Disponibilidade das redes para estudo • Redes sociais são muito dinâmicas • Possuem ligações esparsas
Introdução • Tipos de redes sociais • Coautoria. Ex.: DBLP, arXiv • Relacionamentos. Ex. Facebook, Orkut • Citação. Ex. CiteSeer • Atores. Ex. IMDb • Problema • Predizer, com certa precisão, que ligações irão ocorrer na rede em um determinado intervalo de tempo futuro. • Inferir relacionamentos “perdidos” em uma rede observada.
Representação Alan Alice Bob ? V = {Alan, Alice, Bob} E = {(Alan, Alice),(Alan, Bob))} G = <V,E>
Métricas • Similaridade entre dois nós de uma rede • Características relacionais • Áreas de pesquisa, gostos, comunidades... • Características topológicas • Baseadas na vizinhança • Preferentialattachment, common neighbors... • Baseadas em distância • Katz, hitting time
Métricas • PreferentialAttachment e d b a c Prós: baseado no efeito “rich-get-richer” Contras:ainda que bem conectados, nós distantes na rede provavelmente nunca formarão links no futuro
Métricas • Common Neighbors e d b a c Prós: amizades tendem a se formar intermediadas por nós em comum Contras:os nós em comum podem ser hubs
Métricas • Adamic/Adar e = 5.42 d b a c Prós: minimiza efeitos dos hubs como vizinhos em comum Contras:análise da rede localmente
Métricas • Katz e d b a c Prós: minimiza efeitos da análise local Contras:alto custo computacional
Métricas • Hitting Time = nº de passos até atingir “y” a partir de “x” com randomwalking. = probabilidade estacionária de “x”. Prós: métrica probabilista Contras:apresenta resultados inferiores a outros algoritmos baseados no mesmo princípio
Abordagens • Não temporal • Usam um snapshot da rede no tempo t, para predizer novos relacionamentos no período entre t e um tempo futuro t’ • Ranqueamento • Aprendizagem de máquina
Ranqueamento • Algoritmo • Computar scores para cada par de vértices que não formam links no conjunto de treinamento • Ranquear os scores em ordem decrescente • Determinar um limiar de corte • Classificar os pares acima desse limiar como positivos (formam ligações) e os abaixo como negativos (não formam ligações). • Não considera remoção de arestas (geralmente)
Ranqueamento • Ex. Common Neighbors e d e b a Rede no tempo t d c b a c Possível rede no tempo t’
Aprendizagem de Máquina • Algoritmo • Gerar feature vector para cada par de vértices que não formam links no conjunto de treinamento • Utilizar algum classificador (ex. SVM) para construir o modelo de predição • Classes • 0. Não possui ligação • 1. Possui ligação • Não considera remoção de arestas (geralmente)
Aprendizagem de Máquina • Ex. Feature vector: (pa,cn,aa,classe) (4,2,5.42,1) (2,1,2.09,0) (2,1,2.09,0) (4,2,6.64,1) (2,0,0,0) e d e b a Rede no tempo t d SVM c b a c Modelo Rede no tempo t’
Abordagens • Temporal • Usam a evolução da rede até um tempo t para prever relacionamentos em um tempo entre t e um tempo futuro t’ • Graphevolutionrules • Séries temporais
GraphEvolutionRules • Objetivo: minerar o grafo para obter regras de evolução que melhor descrevam a dinamicidade da rede ao longo do tempo • Algoritmo [Berlingerio, M. et al., 2009] • Gerar regras de evolução a partir da mineração do grafo • Calcular scores, a partir das regras obtidas • Usar abordagem de ranqueamento para classificação
GraphEvolutionRules GER 1 5 2 0 0 0 d b 1 1 0 GERM 6 5 Head Body a c GER 2 6 1 0 Rede no tempo t 0 Acumular scores, ranquear e predizer Head Body 7 5 6 d b 7 6 5 7 a c 6 6 Possível rede no tempo t’
Séries Temporais • Objetivo: construir séries temporais para os relacionamentos, modelar e predizer comportamento futuro • Algoritmo [HUANG, Z.; LIN, D., 2009] • Para cada par de nós do grafo, gerar série temporal de ocorrência de ligações • Estimar modelo ARIMA* para cada série • Efetuar predições (probabilidades) • Para cada par de nós, combinar scores tradicionais (St) com predições da série (Ss) • * Autoregressiveintegratedmovingaverage
Aplicações • Redes de Relacionamentos
Aplicações • Redes de Coautoria Rede de colaboração científica entre Duncan Wattz e Albert-László Barabási [NEWMAN, M. E. J., 2000]
Aplicações • Redes de Atores Rede de atores do romance Les Misérablesde Victor Hugo [NEWMAN, M. E. J.; GIRVAN, M., 2004]
Aplicações • Emails
Caso Prático • Detectar automaticamente grupos de contatos • Abordagens anteriores • Clustering • Análise de conteúdo (palavras chaves) • Interações entre usuários implicitamente agrupam contatos
Caso Prático • Grafo Social Implícito • Formado pela interação dos usuários e seus contatos • Hipergrafo direcionado e com peso • Egocêntrico • Para cada usuário, analisa apenas o subgrafo que contém suas interações diretas Bob Alice Mom Me Carol Bob
Caso Prático • InteractionsRank (IR) Timestamp da interação i : Halflife. Velocidade de decaimento da importância da interação ωout: Importância da interação de saída com relação a interação de entrada
Caso Prático • Se λ = 2 semanas e ωout = 4 IR(Alice,Bob) = ωout(1 + 0.5) + 1 = 7
Caso Prático • Algoritmo ExpandSeed • Entrada: usuário u e seedgroup S • Saída: sugestões de contatos relacionados aos que estão em S • G(u): conjunto de todos os grupos na rede egocêntrica de u e seus respectivos IRs • Para cada grupo g em G: • Iterar sobre cada contato c do grupo g • Não analisar contatos que já estão em S • Computar suggestion score para o contato c, dado a similaridade entre g e S e os IRs do grupo g. • F(c): soma dos scores de c em todos os grupos implícitos a que c pertence • Retornar contatos com maiores scores em F
Caso Prático • Suggestion score • Top Contact • Não considera similaridade entre grupos • IntersectingGroupCount • Não considera InteractionsRank
Caso Prático • Suggestion score 3. IntersectingGroup Score • Considera similaridade e IRs 4. WeightedIntersectingGroup Score
Caso Prático • Don’tforget Bob!
Caso Prático • Gotthewrong Bob?
Caso Prático • Algoritmo WrongBob • Entrada: usuário u e lista de destinatários L • Saída: par de contatos (ci,cj) • Ci: Contanto em L que provavelmente está errado • Cj: Contato sugerido em substituição a ci • Para cada contato ci em L: • Criar um seedgroup s removendo ci de L • Gerar contatos sugeridos executando ExpandSeed(u,s) • Se ci está no conjunto de contatos sugeridos, é improvável que tenha ocorrido um erro • Senão, comparar ciaos contatos sugeridos: • Se há um contato cj que é similar a cie tem alto suggestionscore, mantenha o par {ci, cj} como candidato • Retornar o par {ci, cj} com maior suggestion score
Conclusão • Análise de Redes Sociais é uma área emergente de pesquisa • Link Predictionvem ganhando destaque na área • Técnicas de predição de relacionamentos podem ser aplicadas em diversos domínios • Abordagem temporal ainda é pouco explorada, mas tem ganho adeptos
Referências • Liben-Nowell, D.; KLEINBERG, J. (2003). The link prediction problem for social networks, Proceedings of the twelfth international conference on information and knowledge management, New Orleans, LA, USA. • GETOOR, L.; Diehl, C. P. (2005). Link mining: a survey, ACM SIGKDD Explorations Newsletter, v.7 n.2, p.3-12. • BERLINGERIO, M. et al. (2009). Mining graph evolution rules, ECML PKDD, LCNS 5781, Springer, pp, 115-130. • Bringmann, B. et al. (2010). Learning and Predicting the Evolution of Social Networks. IEEE Intelligent Systems, 25(4), 26-35. • HUANG, Z.; LIN, D. K. J. (2009). The Time-Series Link Prediction Problem with Applications in Communication Surveillance. INFORMS J. on Computing 21, 2, 286-303. • NEWMAN, M. E. J. (2000). Who is the best connected scientist?: a study of scientific coauthorship networks. Santa Fé: The Santa FéInstitute. Paper 00-12-064. • NEWMAN, M. E. J.; GIRVAN, M. (2004). Finding and evaluating community structure in networks. Physical Review E, 69(2), 26113. • ROTH, M. (2010). Suggestingfriendsusingtheimplicit social graph. In Proceedingsofthe 16th ACM SIGKDD internationalconferenceonKnowledgediscoveryand data mining (KDD '10). ACM, New York, NY, USA, 233-242