Efficient top-k querying over  social-tagging networks    Cleyton Caetano de Souza             FPCC 3
ReferênciaSchenkel, R., Crecelius, T., Kacimi, M., Michel, S., Neumann, T.,Parreira, J. X., et al. (2008). Efficient top-k...
Roteiro•   Contextualização•   Identificação do Problema•   Formalização do Problema•   Solução do Modelo    – Parte 1    ...
Contextualização– Redes Sociais x Ferramentas de Busca– Personalização dos Resultados– Contexto Social   • Grande Quantida...
Identificação do Problema– Business Problem   • Os algoritmos utilizados atualmente pelos ferramentas     de busca não est...
Social Tagging Networks• Rede Social onde usuários marcam com tags  (rótulo, termo, palavra, marcação, label) as  postagen...
Formalização do Problema   Variável               Tipo                             Significado 𝑄(𝑢, 𝑞1 … 𝑞 𝑛 )     Indepen...
Formalização do ProblemaDada uma consulta 𝑄(𝑢, 𝑞1 … 𝑞 𝑛 ) postada por um usuário 𝑢 ∈ 𝑈qualquer e com 𝑞 𝑖 ∈ 𝑇. Encontrar de...
Solução do Modelo (1/2)• Tradicionalmente                   𝑠𝑐𝑜𝑟𝑒 𝑡, 𝑑 = 𝑡𝑓 𝑡, 𝑑 ∗ 𝑖𝑑𝑓(𝑡)• O Social Scoring Model estende ...
Friendship Similarity ( 𝐹𝑢 𝑢′ )• O interesse que u tem em receber  recomendações de u’                            𝐹𝑢 (𝑢′ )...
Similarity               ′                     2𝑥 𝑡𝑎𝑔𝑠𝑒𝑡 𝑢) ∩ 𝑡𝑎𝑔𝑠𝑒𝑡(𝑢′      𝑂 𝑢, 𝑢       =                     |𝑡𝑎𝑔𝑠𝑒𝑡(𝑢)...
Social Similarity                                              𝑘−1   𝑃𝑢   𝑢′ = 𝑚𝑎𝑥 𝑝𝑎𝑡       𝑕 𝑢=𝑢 0 …𝑢 𝑘 =𝑢′         𝑂 𝑢 ...
Friendship Similarity                 ′                           𝟏          𝐹𝑢 𝑢       = 𝛼∗     + 1 − 𝛼 ∗ 𝑃𝑢 (𝑢′ )       ...
Social Frequency ( 𝑠𝑓𝑢 𝑑, 𝑡 ) 𝑡𝑓𝑢 (𝑑, 𝑡) é uma função binária que retorna 1 caso o usuário 𝑢tenha marcado 𝑑 com o rotulo 𝑡...
Social Frequency                                           1                         𝐹𝑢 𝑢 ′ = 𝛼 ∗         + 1 − 𝛼 ∗ 𝑃𝑢 (𝑢′...
Tag ExpansionNo modelo 𝑡𝑠𝑖𝑚(𝑡, 𝑡′) é determinado pela probabilidade de co-ocorrência de dois rótulos no mesmo documento:  ...
Social ScorePara calcular a pontuação 𝑠 𝑢 (𝑑, 𝑡) de um documento 𝑑 querecebeu um rótulo 𝑡 em relação ao usuário que está r...
BM25Na recuperação da informação, Okapi BM25 é uma função declassificação usada por ferramentas de busca para classificard...
Social ScoreDessa forma, a importância de um documento para uma consultaé a soma da importância do documento para cada ter...
Solução do Modelo (2/2)• Embora o modelo seja parte essencial do  trabalho, como a restrição do trabalho está  relacionada...
Context Merge
O que o faz tão bom?Como o Social Score depende de quem está consultando é totalmenteinviável (e impossível) pré-computar ...
O que o faz tão bom?• Basicamente, o que torna o algoritmo tão  eficiente são 3 fatores principais:  – As quatro listas pr...
Validação do Modelo• Validação do Modelo Conceitual  – Comparação com outros Modelos  – Validade Aparente• Avaliação Disju...
Validação do Modelo• Para realizar a validação do Context Merge  foram utilizados dados de três redes sociais  diferentes:...
Validação do ModeloPrecision@10 variando o alfa – user specific  ground truth
Validação do ModeloNDCG-variando o alfa - user study
Validação do Modelo• Comparação com standard join-then-sort  – Esse algoritmo lê todas as listas relacionadas com    a con...
Validação do Modelo• Cost Measure
Validação do Modelo• # clocks
Empacotamento do Modelo
Manutenção do Modelo
Próximos SlideShares
Carregando em…5
×

Efficient top k querying over social-tagging networks

266 visualizações

Publicada em

Traballho para a disciplina de FPCC3

Publicada em: Educação
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
266
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
2
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Efficient top k querying over social-tagging networks

  1. 1. Efficient top-k querying over social-tagging networks Cleyton Caetano de Souza FPCC 3
  2. 2. ReferênciaSchenkel, R., Crecelius, T., Kacimi, M., Michel, S., Neumann, T.,Parreira, J. X., et al. (2008). Efficient top-k querying oversocial-tagging networks. Proceedings of the 31st annualinternational ACM SIGIR conference on Research anddevelopment in information retrieval - SIGIR ’08, 523.
  3. 3. Roteiro• Contextualização• Identificação do Problema• Formalização do Problema• Solução do Modelo – Parte 1 – Parte 2• Validação do Modelo• Empacotamento do Modelo• Manutenção do Modelo
  4. 4. Contextualização– Redes Sociais x Ferramentas de Busca– Personalização dos Resultados– Contexto Social • Grande Quantidade de Dados
  5. 5. Identificação do Problema– Business Problem • Os algoritmos utilizados atualmente pelos ferramentas de busca não estão aptos a executar milhões de consultas diariamente utilizando a informação presente nas redes sociais– Technical Problem • Como combinar a informação presente nas redes sociais aos algoritmos de busca de forma computacionalmente eficiente
  6. 6. Social Tagging Networks• Rede Social onde usuários marcam com tags (rótulo, termo, palavra, marcação, label) as postagens uns dos outros e as suas próprias
  7. 7. Formalização do Problema Variável Tipo Significado 𝑄(𝑢, 𝑞1 … 𝑞 𝑛 ) Independente Uma query postada por 𝑢 e formada pelos rótulos 𝑞1 … 𝑞 𝑛 𝑈 Independente Conjunto de usuários 𝐷 Independente Conjunto de documentos 𝑇 Independente Conjunto de rótulos (tags) 𝐹𝑢 (𝑢′ ) Dependente Função que quantifica a importância da recomendação de um usuário 𝑢′ para um usuário 𝑢 𝑂 𝑢, 𝑢′ Dependente Função que calcula a similaridade entre os usuários 𝑢 e 𝑢′ com base nos rótulos comuns utilizados por eles 𝑃𝑢 𝑢′ Dependente Máxima semelhança encontrada nas ligações indiretas entre dois usuários que não estão diretamente ligados 𝑡𝑓𝑢 𝑑, 𝑡 Dependente Número de vezes que o 𝑢 utilizou o rótulo 𝑡 no documento 𝑑, tipicamente assume o valor 1 ou 0 𝛼 Independente É uma constante pré-definida que implica a influência do fator social na recomendação, se for 0 apenas a informação social é utilizada se for 1 não é utilizada informação social 𝛼𝑇𝐹(𝑑, 𝑡) Dependente Corresponde a uma frequência global ponderada do termo (número de vezes que o rótulo 𝑡 foi utilizado no documento 𝑑)𝑠 𝑢 𝑑 𝑖 , 𝑞1 … 𝑞 𝑛 Dependente A pontuação final de um documento 𝑑 𝑗 para cada termo 𝑞𝑖 ∈ 𝑄
  8. 8. Formalização do ProblemaDada uma consulta 𝑄(𝑢, 𝑞1 … 𝑞 𝑛 ) postada por um usuário 𝑢 ∈ 𝑈qualquer e com 𝑞 𝑖 ∈ 𝑇. Encontrar de forma computacionalmenteeficiente os 𝑘 melhores documentos 𝑑 𝑖 ∈ 𝐷 de acordo com afunção score 𝑠 𝑢 .Find: 𝑘 documentos 𝑑 𝑖 𝑘To: max 𝑖=1 𝑠 𝑢 𝑑 𝑖 , 𝑞1 … 𝑞 𝑛Over: 𝑄, 𝑈, 𝐷, 𝑇Subject to: max 𝑑𝑒𝑠𝑒𝑚𝑝𝑒𝑛𝑕𝑜
  9. 9. Solução do Modelo (1/2)• Tradicionalmente 𝑠𝑐𝑜𝑟𝑒 𝑡, 𝑑 = 𝑡𝑓 𝑡, 𝑑 ∗ 𝑖𝑑𝑓(𝑡)• O Social Scoring Model estende as técnicas tradicionais de RI adicionando os seguintes elementos – Friendship Similarity – Social Frequency – Tag Expansion
  10. 10. Friendship Similarity ( 𝐹𝑢 𝑢′ )• O interesse que u tem em receber recomendações de u’ 𝐹𝑢 (𝑢′ ) = 1• É uma probabilidade 𝑢′ ∈𝑈• Por definição 𝐹𝑢 𝑢 = 0• É calculado com base em dois contextos – Social – Global
  11. 11. Similarity ′ 2𝑥 𝑡𝑎𝑔𝑠𝑒𝑡 𝑢) ∩ 𝑡𝑎𝑔𝑠𝑒𝑡(𝑢′ 𝑂 𝑢, 𝑢 = |𝑡𝑎𝑔𝑠𝑒𝑡(𝑢)| + |𝑡𝑎𝑔𝑠𝑒𝑡(𝑢′ )|Onde tagset(u) corresponde ao conjunto de tags utilizado pelo usuário u
  12. 12. Social Similarity 𝑘−1 𝑃𝑢 𝑢′ = 𝑚𝑎𝑥 𝑝𝑎𝑡 𝑕 𝑢=𝑢 0 …𝑢 𝑘 =𝑢′ 𝑂 𝑢 𝑖 , 𝑢 𝑖+1 𝑖=𝑜Onde path corresponde a uma ligação indireta entre dois usuários
  13. 13. Friendship Similarity ′ 𝟏 𝐹𝑢 𝑢 = 𝛼∗ + 1 − 𝛼 ∗ 𝑃𝑢 (𝑢′ ) |𝑼|Onde a razão em destaque corresponde a uma probabilidade uniforme
  14. 14. Social Frequency ( 𝑠𝑓𝑢 𝑑, 𝑡 ) 𝑡𝑓𝑢 (𝑑, 𝑡) é uma função binária que retorna 1 caso o usuário 𝑢tenha marcado 𝑑 com o rotulo 𝑡 e 0 caso contrário.Define-se social frequency, denotada por 𝑠𝑓𝑢 𝑑, 𝑡 , como aimportância da recomendação de um documento 𝑑 ∈ 𝐷 que foi(ou não) marcado com o rótulo 𝑡 ∈ 𝑇 por um usuário 𝑢′ ∈ 𝑈.O valor de 𝑠𝑓𝑢 𝑑, 𝑡 é calculado pela fórmula: 𝑠𝑓𝑢 𝑑, 𝑡 = 𝐹𝑢 𝑢′ ∗ 𝑡𝑓𝑢′ (𝑑, 𝑡) 𝑢′ ∈𝑈
  15. 15. Social Frequency 1 𝐹𝑢 𝑢 ′ = 𝛼 ∗ + 1 − 𝛼 ∗ 𝑃𝑢 (𝑢′ ) |𝑈| 𝑠𝑓𝑢 𝑑, 𝑡 = 𝐹𝑢 𝑢′ ∗ 𝑡𝑓𝑢′ (𝑑, 𝑡) 𝑢′ ∈𝑈 𝛼𝑠𝑓𝑢 𝑑, 𝑡 = [ ∗ 𝑡𝑓 𝑢 ′ 𝑑, 𝑡 + 1 − 𝛼 ∗ 𝑃𝑢 𝑢′ ∗ 𝑡𝑓 𝑢 ′ 𝑑, 𝑡 ] 𝑈 𝑢′ ∈𝑈 𝛼 𝑡𝑓 𝑢 ′ 𝑑, 𝑡 = 𝛼𝑇𝐹(𝑑, 𝑡) |𝑈| 𝑢′ ∈𝑈 1 − 𝛼 ∗ 𝑃𝑢 (𝑢′ ) ∗ 𝑡𝑓𝑢′ (𝑑, 𝑡)) 𝑢′ ∈𝑈
  16. 16. Tag ExpansionNo modelo 𝑡𝑠𝑖𝑚(𝑡, 𝑡′) é determinado pela probabilidade de co-ocorrência de dois rótulos no mesmo documento: ′ 𝑑𝑓(𝑡 ∧ 𝑡′) 𝑑𝑓(𝑡 ∩ 𝑡′) 𝑡𝑠𝑖𝑚 𝑡, 𝑡′ = 𝑃 𝑡 𝑡 = = 𝑑𝑓(𝑡) 𝑑𝑓(𝑡)Onde 𝑑𝑓(𝑡 ∧ 𝑡′) é o número de documentos onde ambos os rótulosocorrem. A expansão adiciona à consulta apenas os rótulos que temmaior probabilidade de aparecerem juntos.
  17. 17. Social ScorePara calcular a pontuação 𝑠 𝑢 (𝑑, 𝑡) de um documento 𝑑 querecebeu um rótulo 𝑡 em relação ao usuário que está realizando aconsulta foi usado BM25: 𝑘1 + 1 ∗ 𝑈 ∗ 𝑠𝑓𝑢 (𝑑, 𝑡) 𝑠𝑢 𝑑, 𝑡 = ∗ 𝑖𝑑𝑓(𝑡) 𝑘1 + 𝑈 ∗ 𝑠𝑓𝑢 (𝑑, 𝑡)Onde 𝑘1 é o coeficiente de sintonia e 𝑖𝑑𝑓(𝑡) é a freqüênciainversa do rótulo 𝑡 nos documentos e é calculado nesse contextocomo: 𝐷 − 𝑑𝑓 𝑡 + 0.5 𝑖𝑑𝑓 𝑡 = 𝑙𝑜𝑔 𝑑𝑓 𝑡 + 0.5Com 𝑑𝑓(𝑡) representando o número de documentos onde orótulo 𝑡 aparece.
  18. 18. BM25Na recuperação da informação, Okapi BM25 é uma função declassificação usada por ferramentas de busca para classificardocumentos de acordo com sua relevância para uma consulta. Ébaseado na estrutura de recuperação probabilístico desenvolvidoentre as décadas de 70 e 80. 𝑘1 + 1 ∗ 𝑑𝑓 𝑡, 𝑑 𝑠𝑐𝑜𝑟𝑒 𝑑, 𝑡 = ∗ 𝑖𝑑𝑓(𝑡) 𝐷 𝑘1 ∗ 1 − 𝑏 + 𝑏 ∗ + 𝑑𝑓(𝑡, 𝑑) 𝑎𝑣𝑔𝑑𝑙 log 𝐷 − 𝑑𝑓 𝑡 + 0.5 𝑖𝑑𝑓 𝑡 = 𝑑𝑓 𝑡 + 0.5Onde 𝑎𝑣𝑔𝑑𝑙 corresponde ao tamanho médio dos documentos, e𝑘1 e 𝑏 são parâmetros da função.
  19. 19. Social ScoreDessa forma, a importância de um documento para uma consultaé a soma da importância do documento para cada termo 𝑞 𝑖 quecompõe a consulta e é dada por: 𝑠 𝑢 𝑑, 𝑞1 … 𝑞 𝑛 = 𝑠 𝑢 (𝑑, 𝑞 𝑖 ) 𝑞 1 …𝑞 𝑛
  20. 20. Solução do Modelo (2/2)• Embora o modelo seja parte essencial do trabalho, como a restrição do trabalho está relacionada ao custo computacional do algoritmo considerou-se também como solução o algoritmo em si
  21. 21. Context Merge
  22. 22. O que o faz tão bom?Como o Social Score depende de quem está consultando é totalmenteinviável (e impossível) pré-computar todos os dados necessários,entretanto o Context Merge utiliza quatro diferentes tipos de listas deíndices processadas previamente e que são acessadas de formaseqüencial. 1. 𝐷𝑂𝐶𝑆(𝑡) contem a lista de documentos que foram rotulados ao menos uma vez com 𝑡 e o valor de 𝑇𝐹(𝑑, 𝑡) para cada documento 2. 𝑈𝑆𝐸𝑅𝐷𝑂𝐶𝑆(𝑢, 𝑡) contem a lista de documentos que foram rotulados com 𝑡 pelo usuário 𝑢 3. 𝐹𝑅𝐼𝐸𝑁𝐷𝑆 𝑢 representa lista de usuários diretamente conectados com 𝑢 e suas respectivas similaridades 𝑃𝑢 𝑢′ , ordenados de forma decrescente 4. 𝑆𝐼𝑀𝑇𝐴𝐺𝑆(𝑡) contem para um rotulo 𝑡 todos os rótulos 𝑡′ similares com seus respectivos 𝑡𝑠𝑖𝑚(𝑡, 𝑡 ′ ), ordenados de forma decrescente de acordo com 𝑡𝑠𝑖𝑚 𝑡, 𝑡 ′ ∗ 𝑖𝑑𝑓(𝑡 ′ )
  23. 23. O que o faz tão bom?• Basicamente, o que torna o algoritmo tão eficiente são 3 fatores principais: – As quatro listas pré-processadas – O fato de acessar os elementos da listas de forma seqüencial – O fato do algoritmo ser executado apenas enquanto os primeiros documentos podem ser alterados
  24. 24. Validação do Modelo• Validação do Modelo Conceitual – Comparação com outros Modelos – Validade Aparente• Avaliação Disjuntiva dos Resultados
  25. 25. Validação do Modelo• Para realizar a validação do Context Merge foram utilizados dados de três redes sociais diferentes: del.icio.us, Flicker e LibraryThing – Relevância • user-specific ground truth • user study – Eficiência Computacional • cost measure • # clocks
  26. 26. Validação do ModeloPrecision@10 variando o alfa – user specific ground truth
  27. 27. Validação do ModeloNDCG-variando o alfa - user study
  28. 28. Validação do Modelo• Comparação com standard join-then-sort – Esse algoritmo lê todas as listas relacionadas com a consulta do usuário, usa uma tabela hash em memória para sumarizar as entradas do mesmo documento e, finalmente, ordena, ainda em memória, os melhores k resultados
  29. 29. Validação do Modelo• Cost Measure
  30. 30. Validação do Modelo• # clocks
  31. 31. Empacotamento do Modelo
  32. 32. Manutenção do Modelo

×