SlideShare une entreprise Scribd logo
1  sur  32
Efficient top-k querying over
  social-tagging networks
    Cleyton Caetano de Souza
             FPCC 3
Referência
Schenkel, R., Crecelius, T., Kacimi, M., Michel, S., Neumann, T.,
Parreira, J. X., et al. (2008). Efficient top-k querying over
social-tagging networks. Proceedings of the 31st annual
international ACM SIGIR conference on Research and
development in information retrieval - SIGIR ’08, 523.
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
Contextualização
– Redes Sociais x Ferramentas de Busca
– Personalização dos Resultados
– Contexto Social
   • Grande Quantidade de Dados
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
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
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
                                     𝑞𝑖 ∈ 𝑄
Formalização do Problema
Dada uma consulta 𝑄(𝑢, 𝑞1 … 𝑞 𝑛 ) postada por um usuário 𝑢 ∈ 𝑈
qualquer e com 𝑞 𝑖 ∈ 𝑇. Encontrar de forma computacionalmente
eficiente os 𝑘 melhores documentos 𝑑 𝑖 ∈ 𝐷 de acordo com a
função score 𝑠 𝑢 .
Find: 𝑘 documentos 𝑑 𝑖
           𝑘
To: max 𝑖=1 𝑠 𝑢 𝑑 𝑖 , 𝑞1 … 𝑞 𝑛
Over: 𝑄, 𝑈, 𝐷, 𝑇
Subject to: max 𝑑𝑒𝑠𝑒𝑚𝑝𝑒𝑛𝑕𝑜
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
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
Similarity
               ′
                     2𝑥 𝑡𝑎𝑔𝑠𝑒𝑡 𝑢) ∩ 𝑡𝑎𝑔𝑠𝑒𝑡(𝑢′
      𝑂 𝑢, 𝑢       =
                     |𝑡𝑎𝑔𝑠𝑒𝑡(𝑢)| + |𝑡𝑎𝑔𝑠𝑒𝑡(𝑢′ )|

Onde tagset(u) corresponde ao conjunto de tags utilizado pelo usuário u
Social Similarity
                                              𝑘−1

   𝑃𝑢   𝑢′ = 𝑚𝑎𝑥 𝑝𝑎𝑡       𝑕 𝑢=𝑢 0 …𝑢 𝑘 =𝑢′         𝑂 𝑢 𝑖 , 𝑢 𝑖+1
                                              𝑖=𝑜

Onde path corresponde a uma ligação indireta entre dois usuários
Friendship Similarity

                 ′
                           𝟏
          𝐹𝑢 𝑢       = 𝛼∗     + 1 − 𝛼 ∗ 𝑃𝑢 (𝑢′ )
                          |𝑼|

Onde a razão em destaque corresponde a uma probabilidade uniforme
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 a
importâ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:

               𝑠𝑓𝑢 𝑑, 𝑡 =           𝐹𝑢 𝑢′ ∗ 𝑡𝑓𝑢′ (𝑑, 𝑡)
                            𝑢′ ∈𝑈
Social Frequency
                                           1
                         𝐹𝑢 𝑢 ′ = 𝛼 ∗         + 1 − 𝛼 ∗ 𝑃𝑢 (𝑢′ )
                                          |𝑈|

                 𝑠𝑓𝑢 𝑑, 𝑡 =                    𝐹𝑢 𝑢′ ∗ 𝑡𝑓𝑢′ (𝑑, 𝑡)
                                       𝑢′ ∈𝑈
                          𝛼
𝑠𝑓𝑢 𝑑, 𝑡 =           [      ∗ 𝑡𝑓 𝑢 ′ 𝑑, 𝑡 + 1 − 𝛼 ∗ 𝑃𝑢 𝑢′ ∗ 𝑡𝑓 𝑢 ′ 𝑑, 𝑡 ]
                          𝑈
             𝑢′ ∈𝑈
                      𝛼
                                     𝑡𝑓 𝑢 ′ 𝑑, 𝑡 = 𝛼𝑇𝐹(𝑑, 𝑡)
                     |𝑈|
                             𝑢′ ∈𝑈

                             1 − 𝛼 ∗ 𝑃𝑢 (𝑢′ ) ∗ 𝑡𝑓𝑢′ (𝑑, 𝑡))
                     𝑢′ ∈𝑈
Tag Expansion
No 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ótulos
ocorrem. A expansão adiciona à consulta apenas os rótulos que tem
maior probabilidade de aparecerem juntos.
Social Score
Para calcular a pontuação 𝑠 𝑢 (𝑑, 𝑡) de um documento 𝑑 que
recebeu um rótulo 𝑡 em relação ao usuário que está realizando a
consulta foi usado BM25:
                        𝑘1 + 1 ∗ 𝑈 ∗ 𝑠𝑓𝑢 (𝑑, 𝑡)
            𝑠𝑢   𝑑, 𝑡 =                         ∗ 𝑖𝑑𝑓(𝑡)
                          𝑘1 + 𝑈 ∗ 𝑠𝑓𝑢 (𝑑, 𝑡)
Onde 𝑘1 é o coeficiente de sintonia e 𝑖𝑑𝑓(𝑡) é a freqüência
inversa do rótulo 𝑡 nos documentos e é calculado nesse contexto
como:
                               𝐷 − 𝑑𝑓 𝑡 + 0.5
                 𝑖𝑑𝑓 𝑡 = 𝑙𝑜𝑔
                                 𝑑𝑓 𝑡 + 0.5
Com 𝑑𝑓(𝑡) representando o número de documentos onde o
rótulo 𝑡 aparece.
BM25
Na recuperação da informação, Okapi BM25 é uma função de
classificação usada por ferramentas de busca para classificar
documentos de acordo com sua relevância para uma consulta. É
baseado na estrutura de recuperação probabilístico desenvolvido
entre as décadas de 70 e 80.
                           𝑘1 + 1 ∗ 𝑑𝑓 𝑡, 𝑑
   𝑠𝑐𝑜𝑟𝑒 𝑑, 𝑡 =                                      ∗ 𝑖𝑑𝑓(𝑡)
                                     𝐷
                  𝑘1 ∗ 1 − 𝑏 + 𝑏 ∗        + 𝑑𝑓(𝑡, 𝑑)
                                   𝑎𝑣𝑔𝑑𝑙
                          log 𝐷 − 𝑑𝑓 𝑡 + 0.5
                 𝑖𝑑𝑓 𝑡 =
                                𝑑𝑓 𝑡 + 0.5
Onde 𝑎𝑣𝑔𝑑𝑙 corresponde ao tamanho médio dos documentos, e
𝑘1 e 𝑏 são parâmetros da função.
Social Score
Dessa forma, a importância de um documento para uma consulta
é a soma da importância do documento para cada termo 𝑞 𝑖 que
compõe a consulta e é dada por:


       𝑠 𝑢 𝑑, 𝑞1 … 𝑞 𝑛 =                   𝑠 𝑢 (𝑑, 𝑞 𝑖 )
                                𝑞 1 …𝑞 𝑛
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
Context Merge
O que o faz tão bom?
Como o Social Score depende de quem está consultando é totalmente
inviá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 forma
seqü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 𝑡𝑠𝑖𝑚 𝑡, 𝑡 ′ ∗ 𝑖𝑑𝑓(𝑡 ′ )
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
Validação do Modelo

• Validação do Modelo Conceitual
  – Comparação com outros Modelos
  – Validade Aparente
• Avaliação Disjuntiva dos Resultados
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
Validação do Modelo
Precision@10 variando o alfa – user specific
  ground truth
Validação do Modelo
NDCG-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 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
Validação do Modelo
• Cost Measure
Validação do Modelo
• # clocks
Empacotamento do Modelo
Manutenção do Modelo

Contenu connexe

Similaire à Efficient top k querying over social-tagging networks (10)

Web Data Mining em R: agrupamento de mensagens do twitter
Web Data Mining em R: agrupamento de mensagens do twitterWeb Data Mining em R: agrupamento de mensagens do twitter
Web Data Mining em R: agrupamento de mensagens do twitter
 
Aula desesenvolvimento segunda semana
Aula desesenvolvimento segunda semanaAula desesenvolvimento segunda semana
Aula desesenvolvimento segunda semana
 
Machine learning java ce conference 2012 - fortaleza ce
Machine learning java ce conference 2012 - fortaleza ceMachine learning java ce conference 2012 - fortaleza ce
Machine learning java ce conference 2012 - fortaleza ce
 
Aula-04-UML.pptx
Aula-04-UML.pptxAula-04-UML.pptx
Aula-04-UML.pptx
 
Tchêlinux Porto Alegre 2013 - Sistemas de Recomendação
Tchêlinux  Porto Alegre 2013 - Sistemas de RecomendaçãoTchêlinux  Porto Alegre 2013 - Sistemas de Recomendação
Tchêlinux Porto Alegre 2013 - Sistemas de Recomendação
 
Es06 teste de software
Es06   teste de softwareEs06   teste de software
Es06 teste de software
 
Es06 teste de software
Es06   teste de softwareEs06   teste de software
Es06 teste de software
 
Testes de Usabilidade
Testes de UsabilidadeTestes de Usabilidade
Testes de Usabilidade
 
Aprendizagem Automática
Aprendizagem AutomáticaAprendizagem Automática
Aprendizagem Automática
 
Apostila matemática aplicada
Apostila matemática aplicadaApostila matemática aplicada
Apostila matemática aplicada
 

Dernier

Aprender as diferentes formas de classificar as habilidades motoras é de extr...
Aprender as diferentes formas de classificar as habilidades motoras é de extr...Aprender as diferentes formas de classificar as habilidades motoras é de extr...
Aprender as diferentes formas de classificar as habilidades motoras é de extr...
azulassessoria9
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
Autonoma
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
azulassessoria9
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
azulassessoria9
 
Sistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturasSistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturas
rfmbrandao
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
PatriciaCaetano18
 

Dernier (20)

Aprender as diferentes formas de classificar as habilidades motoras é de extr...
Aprender as diferentes formas de classificar as habilidades motoras é de extr...Aprender as diferentes formas de classificar as habilidades motoras é de extr...
Aprender as diferentes formas de classificar as habilidades motoras é de extr...
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
 
Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024
 
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de Led
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de LedAula 67 e 68 Robótica 8º ano Experimentando variações da matriz de Led
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de Led
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
 
Missa catequese para o dia da mãe 2025.pdf
Missa catequese para o dia da mãe 2025.pdfMissa catequese para o dia da mãe 2025.pdf
Missa catequese para o dia da mãe 2025.pdf
 
Novena de Pentecostes com textos de São João Eudes
Novena de Pentecostes com textos de São João EudesNovena de Pentecostes com textos de São João Eudes
Novena de Pentecostes com textos de São João Eudes
 
Sistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturasSistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturas
 
Pesquisa Ação René Barbier Livro acadêmico
Pesquisa Ação René Barbier Livro  acadêmicoPesquisa Ação René Barbier Livro  acadêmico
Pesquisa Ação René Barbier Livro acadêmico
 
Questões de Língua Portuguesa - gincana da LP
Questões de Língua Portuguesa - gincana da LPQuestões de Língua Portuguesa - gincana da LP
Questões de Língua Portuguesa - gincana da LP
 
Aula 1 - Psicologia Cognitiva, aula .ppt
Aula 1 - Psicologia Cognitiva, aula .pptAula 1 - Psicologia Cognitiva, aula .ppt
Aula 1 - Psicologia Cognitiva, aula .ppt
 
Sopa de letras | Dia da Europa 2024 (nível 1)
Sopa de letras | Dia da Europa 2024 (nível 1)Sopa de letras | Dia da Europa 2024 (nível 1)
Sopa de letras | Dia da Europa 2024 (nível 1)
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptx
 
tensoes-etnicas-na-europa-template-1.pptx
tensoes-etnicas-na-europa-template-1.pptxtensoes-etnicas-na-europa-template-1.pptx
tensoes-etnicas-na-europa-template-1.pptx
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
 
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
 
Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)
 
INTERTEXTUALIDADE atividade muito boa para
INTERTEXTUALIDADE   atividade muito boa paraINTERTEXTUALIDADE   atividade muito boa para
INTERTEXTUALIDADE atividade muito boa para
 

Efficient top k querying over social-tagging networks

  • 1. Efficient top-k querying over social-tagging networks Cleyton Caetano de Souza FPCC 3
  • 2. Referência Schenkel, R., Crecelius, T., Kacimi, M., Michel, S., Neumann, T., Parreira, J. X., et al. (2008). Efficient top-k querying over social-tagging networks. Proceedings of the 31st annual international ACM SIGIR conference on Research and development in information retrieval - SIGIR ’08, 523.
  • 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. Contextualização – Redes Sociais x Ferramentas de Busca – Personalização dos Resultados – Contexto Social • Grande Quantidade de Dados
  • 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. 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. 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. Formalização do Problema Dada uma consulta 𝑄(𝑢, 𝑞1 … 𝑞 𝑛 ) postada por um usuário 𝑢 ∈ 𝑈 qualquer e com 𝑞 𝑖 ∈ 𝑇. Encontrar de forma computacionalmente eficiente os 𝑘 melhores documentos 𝑑 𝑖 ∈ 𝐷 de acordo com a função score 𝑠 𝑢 . Find: 𝑘 documentos 𝑑 𝑖 𝑘 To: max 𝑖=1 𝑠 𝑢 𝑑 𝑖 , 𝑞1 … 𝑞 𝑛 Over: 𝑄, 𝑈, 𝐷, 𝑇 Subject to: max 𝑑𝑒𝑠𝑒𝑚𝑝𝑒𝑛𝑕𝑜
  • 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. 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. Similarity ′ 2𝑥 𝑡𝑎𝑔𝑠𝑒𝑡 𝑢) ∩ 𝑡𝑎𝑔𝑠𝑒𝑡(𝑢′ 𝑂 𝑢, 𝑢 = |𝑡𝑎𝑔𝑠𝑒𝑡(𝑢)| + |𝑡𝑎𝑔𝑠𝑒𝑡(𝑢′ )| Onde tagset(u) corresponde ao conjunto de tags utilizado pelo usuário u
  • 12. Social Similarity 𝑘−1 𝑃𝑢 𝑢′ = 𝑚𝑎𝑥 𝑝𝑎𝑡 𝑕 𝑢=𝑢 0 …𝑢 𝑘 =𝑢′ 𝑂 𝑢 𝑖 , 𝑢 𝑖+1 𝑖=𝑜 Onde path corresponde a uma ligação indireta entre dois usuários
  • 13. Friendship Similarity ′ 𝟏 𝐹𝑢 𝑢 = 𝛼∗ + 1 − 𝛼 ∗ 𝑃𝑢 (𝑢′ ) |𝑼| Onde a razão em destaque corresponde a uma probabilidade uniforme
  • 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 a importâ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. Social Frequency 1 𝐹𝑢 𝑢 ′ = 𝛼 ∗ + 1 − 𝛼 ∗ 𝑃𝑢 (𝑢′ ) |𝑈| 𝑠𝑓𝑢 𝑑, 𝑡 = 𝐹𝑢 𝑢′ ∗ 𝑡𝑓𝑢′ (𝑑, 𝑡) 𝑢′ ∈𝑈 𝛼 𝑠𝑓𝑢 𝑑, 𝑡 = [ ∗ 𝑡𝑓 𝑢 ′ 𝑑, 𝑡 + 1 − 𝛼 ∗ 𝑃𝑢 𝑢′ ∗ 𝑡𝑓 𝑢 ′ 𝑑, 𝑡 ] 𝑈 𝑢′ ∈𝑈 𝛼 𝑡𝑓 𝑢 ′ 𝑑, 𝑡 = 𝛼𝑇𝐹(𝑑, 𝑡) |𝑈| 𝑢′ ∈𝑈 1 − 𝛼 ∗ 𝑃𝑢 (𝑢′ ) ∗ 𝑡𝑓𝑢′ (𝑑, 𝑡)) 𝑢′ ∈𝑈
  • 16. Tag Expansion No 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ótulos ocorrem. A expansão adiciona à consulta apenas os rótulos que tem maior probabilidade de aparecerem juntos.
  • 17. Social Score Para calcular a pontuação 𝑠 𝑢 (𝑑, 𝑡) de um documento 𝑑 que recebeu um rótulo 𝑡 em relação ao usuário que está realizando a consulta foi usado BM25: 𝑘1 + 1 ∗ 𝑈 ∗ 𝑠𝑓𝑢 (𝑑, 𝑡) 𝑠𝑢 𝑑, 𝑡 = ∗ 𝑖𝑑𝑓(𝑡) 𝑘1 + 𝑈 ∗ 𝑠𝑓𝑢 (𝑑, 𝑡) Onde 𝑘1 é o coeficiente de sintonia e 𝑖𝑑𝑓(𝑡) é a freqüência inversa do rótulo 𝑡 nos documentos e é calculado nesse contexto como: 𝐷 − 𝑑𝑓 𝑡 + 0.5 𝑖𝑑𝑓 𝑡 = 𝑙𝑜𝑔 𝑑𝑓 𝑡 + 0.5 Com 𝑑𝑓(𝑡) representando o número de documentos onde o rótulo 𝑡 aparece.
  • 18. BM25 Na recuperação da informação, Okapi BM25 é uma função de classificação usada por ferramentas de busca para classificar documentos de acordo com sua relevância para uma consulta. É baseado na estrutura de recuperação probabilístico desenvolvido entre as décadas de 70 e 80. 𝑘1 + 1 ∗ 𝑑𝑓 𝑡, 𝑑 𝑠𝑐𝑜𝑟𝑒 𝑑, 𝑡 = ∗ 𝑖𝑑𝑓(𝑡) 𝐷 𝑘1 ∗ 1 − 𝑏 + 𝑏 ∗ + 𝑑𝑓(𝑡, 𝑑) 𝑎𝑣𝑔𝑑𝑙 log 𝐷 − 𝑑𝑓 𝑡 + 0.5 𝑖𝑑𝑓 𝑡 = 𝑑𝑓 𝑡 + 0.5 Onde 𝑎𝑣𝑔𝑑𝑙 corresponde ao tamanho médio dos documentos, e 𝑘1 e 𝑏 são parâmetros da função.
  • 19. Social Score Dessa forma, a importância de um documento para uma consulta é a soma da importância do documento para cada termo 𝑞 𝑖 que compõe a consulta e é dada por: 𝑠 𝑢 𝑑, 𝑞1 … 𝑞 𝑛 = 𝑠 𝑢 (𝑑, 𝑞 𝑖 ) 𝑞 1 …𝑞 𝑛
  • 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
  • 22. O que o faz tão bom? Como o Social Score depende de quem está consultando é totalmente inviá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 forma seqü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. 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. Validação do Modelo • Validação do Modelo Conceitual – Comparação com outros Modelos – Validade Aparente • Avaliação Disjuntiva dos Resultados
  • 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. Validação do Modelo Precision@10 variando o alfa – user specific ground truth
  • 27. Validação do Modelo NDCG-variando o alfa - user study
  • 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