SlideShare uma empresa Scribd logo
1 de 52
Baixar para ler offline
Optimizing Search Engines using
              Clickthrough Data
                      Thosrsten Joachims
                                    2002
Introdução




   O que o usuário realmente quer quando ele acessa um
    mecanismo de busca?
Introdução
   O que o usuário realmente quer quando ele acessa um
    mecanismo de busca?
Introdução
   Log file
Clickthrough Data in Search Engines
   (q, r, c)
       q – consulta
       r – ranking apresentado para o usuário
       c – conjunto de links que o usuário clicou
   Exemplo:
       q = “data mining”
Clickthrough Data in Search Engines
    Os cliques podem ser gravados com o mínimo de
     overhead
        Não compromete a funcionalidade e utilidade do sistema
        Não tem nenhum overhead para o usuário
        Servidor de proxy



                   query_id
    Resultado da              Servidor de
    busca,                    proxy                  Página alvo
    query_id = 5     url      Http-location
Clickthrough Data in Search Engines



   Um link clicado não pode ser considerado de relevância
    absoluta
   Os usuários não clicam de forma aleatória, mas fazem
    uma escolha (um pouco) informada
   O usuário clica em um link se este for relevante para q
   É menos provável que o usuário clique em um link
    rankeado mais baixo, independente da sua relevância
   Os usuários geralmente observam os 10 primeiros links
Clickthrough Data in Search Engines
   O que pode então ser usado e analisado?
       link 1


       link 2


       link 3


       link 4


       link 5


       link 6

       link 7
Clickthrough Data in Search Engines
   O que pode então ser usado e analisado?
       Os links 1, 3 e 7 não podem ser considerados com relevância
        absoluta
       O link 3 é preferível ao link 2
       O link 7 é mais relevante que os links 2, 4, 5 e 6
   Os cliques informam julgamentos de relevância parciais e
    relativos
A framework for learning of retrieval
functions

   Problema de recuperação de informação
       Entrada:
           uma consulta q e os documentos D = {d1, ..., dm}
       Saída:
           retornar um ranking r* que ordena os documentos de D de acordo
            com sua relevância para a consulta
A framework for learning of retrieval
functions
   Uma função f de recuperação é avaliada pelo quanto rf(q) que ela gera
    aproxima do ótimo, r*.
                          
    Medida Kendall’s de distância
   Considerando dois rankings
     ra: d1 < d2 < d3 < d4 < d5
     rb: d3 < d2 < d1 < d4 < d5

   Se di <r dj, então (di , dj)r
        ra         rb
     (d1, d2)   (d3, d2)
     (d1, d3)   (d3, d1)            P=7
     (d1, d4)   (d3, d4)            Q=3
     (d1, d5)   (d3, d5)            T(ra, rb) = 7 – 3 / 7+3 = 0, 4
     (d2, d3)   (d2, d1)
     (d2, d4)   (d2, d4)
     (d2, d5)   (d2, d5)
     (d3, d4)   (d1, d4)       O objetivo é obter uma função que maximize T(ra, rb)
     (d3, d5)   (d1, d5)
     (d4, d5)   (d4, d5)
A framework for learning of retrieval
functions
   Problema de aprendizagem de uma função de ranking
   Entrada:
       Distribuição conhecida Pr(q,r*) de consultas e rankings alvo
        numa coleção de documentos D com m documentos
   Saída
       Aprender uma função de recuperação f(q) para o qual é
        esperado o Kendall’s T máximo
An SVM algorithm for learning of ranking
functions
   Entrada
       Dada uma amostra de treinamento S, de tamanho n, contendo
        seus rankings alvos r*



   Saída
       Função ranking f que maximize
Classificador SVM
Dado um conjunto de k amostras
(x1, c1),…(xk,ck),
onde xi são vetores de n
dimensões e ci é a classe (1 ou -1)
das amostras

Encontrar o hiperplano    
determinado pelo vetor
e o escalar b tal que:
                          w
Qualquer amostra xi da classe ci =
1 satisfaça w. xi + b >= 1

Qualquer amostra xi da classe ci =
-1 satisfaça w.xi + b <= -1
Classificador SVM
                B1




w x+ b   =0
                     w
                                     w x+b =1
 w x + b = -1




                               b11


                         b12
Classificador SVM
           
   Como o w          é encontrado?
       A partir das restrições impostas pelas amostras de
        treinamento

    A      B    Classe
                                      2w1  3w2  b  1
    2      3      1                   1w1  4w2  b  1
    1      4      -1
                                      1w1  5w2  b  1
    1      5      1
    3      7      -1                  3w1  7 w2  b  1
Classificador SVM

   Como usar o classificador SVM para classificar uma
    amostra x ?

                           1      se w x  b  1
             classe ( x ) =
                            1   se w x  b   1
An SVM algorithm for learning of ranking
functions



    
   w é o vetor ajustado pelo classificador.
    (q,d) é o mapeamento das características da consulta q
    e o documento d
       O número de palavras que os dois compartilham no domínio
        ou no resumo do link
       O tamanho da URL em caracteres
       Diversas outras
An SVM algorithm for learning of ranking
functions
                             
   Na abordagem proposta, o w   vai ser calculado a partir
    das seguintes restrições
An SVM algorithm for learning of ranking
functions
                                (1, 2, 3, 4)
An SVM algorithm for learning of ranking
functions
                                 (2, 3, 1, 4)
An SVM algorithm for learning of ranking
functions
An SVM algorithm for learning of ranking
functions
   A função aprendida f w* poderá sempre ser representada
    como uma combinação linear do vetor de características.




   É possível a utilização de Kernels e extender o Ranking
    SVM para uma função de recuperação não linear.
An SVM algorithm for learning of ranking
functions
   O f w* será usado para rankear o conjunto de documentos
    para uma nova consulta q.
   Nesse caso é suficiente ordenar os documentos pelo seu
    valor de:
An SVM algorithm for learning of ranking
functions
   O r* de uma consulta q não está disponível.
   A partir dos cliques é possível obter r’  r*
   Assim, os r’ obtidos serão a base de treinamento do
    Ranking SVM
Experimentos
   Experiment Setup: Meta-Search
       Striver
           É facil de implementar enquanto cobre uma grande coleção de
            documentos
           Os mecanismos de consulta básica fornecem uma base para
            comparação
       Funcionamento
           A consulta do usuário no Striver é repassada para o Google, Msn
            Search, Excite, Altavista e Hotbot
           Os resultados retornados são analisados e os top 100 links sugeridos
            são extraídos, a união dos links compõem o conjunto de candidatos V
           O ranking é feito a partir da função aprendida, e os top-50 são
            apresentados para o usuário
Experimentos
   É necessário comparar as diferentes funções de
    recuperação:
       Apresenta-se dois rankings. Os rankings A e B são combinados
        em um ranking C
       O top n links do C contem o top ka links de A e top kb links
        de B, com ka-kb <=1.
       Se o usuário examinar os links de C de cima para baixo, em
        qualquer ponto ele vê quase igualmente a mesma quantidade
        de links de A e B.
Experimentos
   O usuário clicou em 3 links que participam do ranking A,
    contra somente 1 do ranking b.
   Se um usuário não tem nenhuma preferência sobre A ou
    B, espera-se que ele clique de forma igual entre os dois
    rankings.
   Uma vez que o usuário clica em mais links de A, se
    conclui que os links do ranking A são melhores do que os
    de B para essa consulta.
Experimentos
   Offline Experiment
     Verificar que o Ranking SVM aprende uma função de
      recuperação usando feedback parcial dos dados de
      clique.
   Coleta de dados
     Consultas feitas pelo autor em outubro de 2001.
     O Striver apresenta os resultados de Google e
      MSNSearch usando o método de combinação
      apresentado.
     112 consultas.
Experimentos
   Mapeamento das características
       Rank em outros mecanismos de pesquisa
           Rank_X: 100 minus rank in X {google, msn, altavista, hotbot, excite}
            dividido por 100 (minimum 0)
           Top1_X: Rankead #1 in X (binario 0 1)
           Top10_X : Ranked in top 10 (binario 0 1)
       Query / Content Match
           Query_url_cosine: coseno entre url-words e query (range [0,1])
           Query_abstract_cosine: coseno entre title-words and query
           Domain_name_in_query: query contem domain-name from url (binario)
       Popularity-Atributos
           url_length: tamanho da url em caracters dividido por 30
           Domain_X: dominio X de URL
           Abstract_contains_home: palavra “home” aparece na URL ou titulo
           url_contains_tilde: url contem “~”
           url_X: url X como um atomo.
Experimentos
   Extração de pares de preferências
   Adição de 50 restrições foram adicionadas para cada documento clicado
   Não se usou Kernel
   C = {0.001, 0.003, 0.005, 0.01}
   Gráfico
       Eixo x: número de consultas de treinamento
       Eixo y: porcentagem de restrições que não são cobertas no banco de teste
Experimentos
Experimentos
   Interactive Online Experiment
     Mostrar se a função aprendida provê qualidade
   Coleta de Dados
     31 de outubro a 20 de novembro de 2001
     Striver disponibilizado para um grupo de 20 usuários
     Pesquisadores e estudantes da AI unit na University of Dortmundo
     Coletou-se 260 consultas de treinamento (com no mínimo um clique).
     Treinamento do Ranking SVM usando o mesmo         (q,d)
     A função aprendida foi implementada no Striver e usada para rankear o
       conjunto de candidatos V.
     Durante o período de avaliação que durou até 2 de dezembro, a função
       aprendida é comparada com:
         Google
         MSNSearch
         Toprank
Experimentos
   A comparação é feita usando o método de combinação já
    apresentado
   O ranking da função aprendida é apresentado em
    combinação com cada um dos três baseline ranking
    selecionados randomicamente.
   A tabela mostra quantas consultas o usuário clicou mais
    ou menos no resultado da função aprendida (learned)
Experimentos
   Tie apresenta quantas vezes a quantidade de clicks nas
    consultas dos dois rankings combinados foram iguais, ou
    quando não houve cliques.
   Conclusão: a função de recuperação é melhor que o
    Google para esse grupo de usuários.
Analysis of the learned function
   Uma vez que o Ranking SVM aprende uma função linear,
    pode-se analisar a função estudando os pesos aprendidos.
   A tabela 3 apresenta os pesos de algumas características,
    em particular, aquela com o maior peso absoluto.
   Uma característica com maior peso positivo indica que o
    documento com essa característica devem ser rankeados
    mais alto.
Discussões
   Foco na adequação de recuperação de informação para
    pequenos grupos homogêneos, no lugar de grandes
    grupos heterogêneos
   O que é um bom tamanho de grupo de usuário e como
    podem tais grupos serem determinados?
   Claramente, existe um contraste entre a quantidade de dados
    de treinamento e homogeneidade máxima.
   É possível usar algoritmos de clusterização para encontrar
    grupos de usuários homogêneos?
   Além disso, pode dados de clique também ser usado para
    adaptar um mecanismo de busca não para um grupo de
    usuário, mas para propriedades de uma coleção particular de
    documentos?
SVM rank
   http://www.cs.cornell.edu/People/tj/svm_light/svm_rank.html
   Módulo de aprendizagem
       Dados de treinamento (train.dat)
       Arquivo de modelo (model.dat)
       Parâmetro C (valor de penalização)
       svm_rank_learn -c 3 example3/train.dat example3/model
   Dados de treinamento
                        # query 1
                        3 qid:1 1:1 2:1 3:0 4:0.2 5:0 # 1A
                        2 qid:1 1:0 2:0 3:1 4:0.1 5:1 # 1B
                        1 qid:1 1:0 2:1 3:0 4:0.4 5:0 # 1C
                        1 qid:1 1:0 2:0 3:1 4:0.3 5:0 # 1D

   1A>1B, 1A>1C, 1A>1D, 1B>1C, 1B>1D
SVM rank
   Svm_rank_learn
SVM_rank
   Model
           SVM-light Version V6.20
           0 # kernel type
           3 # kernel parameter -d
           1 # kernel parameter -g
           1 # kernel parameter -s
           1 # kernel parameter -r
           empty# kernel parameter -u
           6 # highest feature index
           7 # number of training documents
           2 # number of support vectors plus 1
           0 # threshold b, each following line is a SV (starting with alpha*y)
       1 1:1.5231243 2:-0.064747944 3:-0.52312434 4:-0.18499486
        5:0.95375079 #
SVM_rank
   Módulo de predição
     svm_rank_classify test.dat model.txt predicoes.txt
       Test.dat
                   4 qid:4 1:1 2:0 3:0 4:0.2 5:1
                   3 qid:4 1:1 2:1 3:0 4:0.3 5:0
                   2 qid:4 1:0 2:0 3:0 4:0.2 5:1
                   1 qid:4 1:0 2:0 3:1 4:0.2 5:0
       Predição.txt
                    2.43987615
                    1.40287793
                    0.91675182
                    -0.56012331
Letor
   http://research.microsoft.com/en-us/um/beijing/projects/letor/
   Learning to Rank for Information Retrieval
   Website desenvolvido para facilitar pesquisas em Learning To Rank.
   É um benchmark que contém características padrões, julgamentos de
    relevância, particionamento de dados, ferramentas de avaliação.
   Dados coletados de sites governamentais e da área da saúde.
   Estrutura de entrada idêntica ao do SVM_Rank
   Medidas de performance:
       NDCG@k: Normalized Discount Cumulative Gain
           Medida de avaliação das top k posições da lista rankeada usando múltiplos níveis de julgamento de
            relevância.
Letor
Letor
Referências
   T. Joachims, Optimizing Search Engines Using Clickthrough Data,
    Proceedings of the ACM Conference on Knowledge Discovery
    and Data Mining (KDD), ACM, 2002.
   SVMrank - Support Vector Machine for Ranking, disponível em:
    http://www.cs.cornell.edu/People/tj/svm_light/svm_rank.html
   LETOR: Learning to Rank for Information Retrieval, disponível
    em: http://research.microsoft.com/en-
    us/um/beijing/projects/letor/event.aspx
   Qin, t. Liu, TY., Li, Hang. LETOR: A Benchmark Collection for
    Research on Learning to Rank for Information Retrieval.
   De Amo, S., Slides Classificador SVM, disponível em:
    http://www.deamo.prof.ufu.br/arquivos/ClassificadorSVM.ppt
Obrigada!

Mais conteúdo relacionado

Destaque (20)

Apresentação sobre Árvores B
Apresentação sobre Árvores BApresentação sobre Árvores B
Apresentação sobre Árvores B
 
BDI_2_mer_entidade_atributo
BDI_2_mer_entidade_atributoBDI_2_mer_entidade_atributo
BDI_2_mer_entidade_atributo
 
www.AulasDeMatematicaApoio.com - Matemática - Matrizes
www.AulasDeMatematicaApoio.com  - Matemática - Matrizeswww.AulasDeMatematicaApoio.com  - Matemática - Matrizes
www.AulasDeMatematicaApoio.com - Matemática - Matrizes
 
Mark Weiser
Mark WeiserMark Weiser
Mark Weiser
 
Aula 02
Aula 02Aula 02
Aula 02
 
Seminario classificadores
Seminario classificadoresSeminario classificadores
Seminario classificadores
 
Progressões
ProgressõesProgressões
Progressões
 
Matrizes
MatrizesMatrizes
Matrizes
 
Aula de matrizes
Aula de matrizesAula de matrizes
Aula de matrizes
 
Aula 04
Aula 04Aula 04
Aula 04
 
Algebra boole
Algebra booleAlgebra boole
Algebra boole
 
Context senstitive ranking_seminario_final
Context senstitive ranking_seminario_finalContext senstitive ranking_seminario_final
Context senstitive ranking_seminario_final
 
Aula de matrizes
Aula de matrizesAula de matrizes
Aula de matrizes
 
Progressões
ProgressõesProgressões
Progressões
 
Inequações do 2°grau
Inequações do 2°grauInequações do 2°grau
Inequações do 2°grau
 
Aula 01
Aula 01Aula 01
Aula 01
 
Aula 03
Aula 03Aula 03
Aula 03
 
Inequacoes1
Inequacoes1Inequacoes1
Inequacoes1
 
Aula 05
Aula 05Aula 05
Aula 05
 
Matrizes
MatrizesMatrizes
Matrizes
 

Semelhante a Optimize Search Engines Clickthrough Data

C#4 – O que há de novo
C#4 – O que há de novoC#4 – O que há de novo
C#4 – O que há de novoGiovanni Bassi
 
Information Quality Criteria Analysis in Query Reformulation in Distributed D...
Information Quality Criteria Analysis in Query Reformulation in Distributed D...Information Quality Criteria Analysis in Query Reformulation in Distributed D...
Information Quality Criteria Analysis in Query Reformulation in Distributed D...Bruno Felipe
 
[TDC2016] Apache SparkMLlib: Machine Learning na Prática
[TDC2016] Apache SparkMLlib:  Machine Learning na Prática[TDC2016] Apache SparkMLlib:  Machine Learning na Prática
[TDC2016] Apache SparkMLlib: Machine Learning na PráticaEiti Kimura
 
Aprendizagem Automática
Aprendizagem AutomáticaAprendizagem Automática
Aprendizagem Automáticabutest
 
Seleção de Features para Ranking
Seleção de Features para RankingSeleção de Features para Ranking
Seleção de Features para Rankingcristnascimento
 
Programação Web com PHP 7.x
Programação Web com PHP 7.xProgramação Web com PHP 7.x
Programação Web com PHP 7.xNorton Guimarães
 
TDC2016SP - SparkMLlib Machine Learning na Prática
TDC2016SP -  SparkMLlib Machine Learning na PráticaTDC2016SP -  SparkMLlib Machine Learning na Prática
TDC2016SP - SparkMLlib Machine Learning na Práticatdc-globalcode
 
Reescrita de Consultas em Federações de Dados Interligados usando uma Abordag...
Reescrita de Consultas em Federações de Dados Interligados usando uma Abordag...Reescrita de Consultas em Federações de Dados Interligados usando uma Abordag...
Reescrita de Consultas em Federações de Dados Interligados usando uma Abordag...Danusa Ribeiro
 
Java - Visão geral e Exercícios
Java - Visão geral e ExercíciosJava - Visão geral e Exercícios
Java - Visão geral e ExercíciosArthur Emanuel
 
Automação de testes de API utilizando Postman
Automação de testes de API utilizando PostmanAutomação de testes de API utilizando Postman
Automação de testes de API utilizando PostmanLucas Amaral
 
Introdução à Aprendizagem de Máquina
Introdução à Aprendizagem de MáquinaIntrodução à Aprendizagem de Máquina
Introdução à Aprendizagem de MáquinaFernando Palma
 

Semelhante a Optimize Search Engines Clickthrough Data (20)

C#4 – O que há de novo
C#4 – O que há de novoC#4 – O que há de novo
C#4 – O que há de novo
 
Information Quality Criteria Analysis in Query Reformulation in Distributed D...
Information Quality Criteria Analysis in Query Reformulation in Distributed D...Information Quality Criteria Analysis in Query Reformulation in Distributed D...
Information Quality Criteria Analysis in Query Reformulation in Distributed D...
 
[TDC2016] Apache SparkMLlib: Machine Learning na Prática
[TDC2016] Apache SparkMLlib:  Machine Learning na Prática[TDC2016] Apache SparkMLlib:  Machine Learning na Prática
[TDC2016] Apache SparkMLlib: Machine Learning na Prática
 
Aprendizagem Automática
Aprendizagem AutomáticaAprendizagem Automática
Aprendizagem Automática
 
Working with legacy code 3
Working with legacy code 3Working with legacy code 3
Working with legacy code 3
 
Seleção de Features para Ranking
Seleção de Features para RankingSeleção de Features para Ranking
Seleção de Features para Ranking
 
Reflections
ReflectionsReflections
Reflections
 
Programação Web com PHP 7.x
Programação Web com PHP 7.xProgramação Web com PHP 7.x
Programação Web com PHP 7.x
 
[Pereira IC'2011] Otimizacoes no LLVM
[Pereira IC'2011] Otimizacoes no LLVM[Pereira IC'2011] Otimizacoes no LLVM
[Pereira IC'2011] Otimizacoes no LLVM
 
Web Data Mining com R
Web Data Mining com RWeb Data Mining com R
Web Data Mining com R
 
TDC2016SP - SparkMLlib Machine Learning na Prática
TDC2016SP -  SparkMLlib Machine Learning na PráticaTDC2016SP -  SparkMLlib Machine Learning na Prática
TDC2016SP - SparkMLlib Machine Learning na Prática
 
Linguagem R
Linguagem RLinguagem R
Linguagem R
 
Reescrita de Consultas em Federações de Dados Interligados usando uma Abordag...
Reescrita de Consultas em Federações de Dados Interligados usando uma Abordag...Reescrita de Consultas em Federações de Dados Interligados usando uma Abordag...
Reescrita de Consultas em Federações de Dados Interligados usando uma Abordag...
 
Apresentação da Dissertação
Apresentação da DissertaçãoApresentação da Dissertação
Apresentação da Dissertação
 
Math
MathMath
Math
 
Java - Visão geral e Exercícios
Java - Visão geral e ExercíciosJava - Visão geral e Exercícios
Java - Visão geral e Exercícios
 
Automação de testes de API utilizando Postman
Automação de testes de API utilizando PostmanAutomação de testes de API utilizando Postman
Automação de testes de API utilizando Postman
 
Introdução à Aprendizagem de Máquina
Introdução à Aprendizagem de MáquinaIntrodução à Aprendizagem de Máquina
Introdução à Aprendizagem de Máquina
 
Workshop MongoDB
Workshop MongoDBWorkshop MongoDB
Workshop MongoDB
 
Redis na Prática
Redis na PráticaRedis na Prática
Redis na Prática
 

Optimize Search Engines Clickthrough Data

  • 1. Optimizing Search Engines using Clickthrough Data Thosrsten Joachims 2002
  • 2. Introdução  O que o usuário realmente quer quando ele acessa um mecanismo de busca?
  • 3.
  • 4. Introdução  O que o usuário realmente quer quando ele acessa um mecanismo de busca?
  • 5. Introdução  Log file
  • 6. Clickthrough Data in Search Engines  (q, r, c)  q – consulta  r – ranking apresentado para o usuário  c – conjunto de links que o usuário clicou  Exemplo:  q = “data mining”
  • 7.
  • 8.
  • 9. Clickthrough Data in Search Engines  Os cliques podem ser gravados com o mínimo de overhead  Não compromete a funcionalidade e utilidade do sistema  Não tem nenhum overhead para o usuário  Servidor de proxy query_id Resultado da Servidor de busca, proxy Página alvo query_id = 5 url Http-location
  • 10. Clickthrough Data in Search Engines  Um link clicado não pode ser considerado de relevância absoluta  Os usuários não clicam de forma aleatória, mas fazem uma escolha (um pouco) informada  O usuário clica em um link se este for relevante para q  É menos provável que o usuário clique em um link rankeado mais baixo, independente da sua relevância  Os usuários geralmente observam os 10 primeiros links
  • 11. Clickthrough Data in Search Engines  O que pode então ser usado e analisado? link 1 link 2 link 3 link 4 link 5 link 6 link 7
  • 12. Clickthrough Data in Search Engines  O que pode então ser usado e analisado?  Os links 1, 3 e 7 não podem ser considerados com relevância absoluta  O link 3 é preferível ao link 2  O link 7 é mais relevante que os links 2, 4, 5 e 6  Os cliques informam julgamentos de relevância parciais e relativos
  • 13. A framework for learning of retrieval functions  Problema de recuperação de informação  Entrada:  uma consulta q e os documentos D = {d1, ..., dm}  Saída:  retornar um ranking r* que ordena os documentos de D de acordo com sua relevância para a consulta
  • 14. A framework for learning of retrieval functions  Uma função f de recuperação é avaliada pelo quanto rf(q) que ela gera aproxima do ótimo, r*.   Medida Kendall’s de distância  Considerando dois rankings  ra: d1 < d2 < d3 < d4 < d5  rb: d3 < d2 < d1 < d4 < d5  Se di <r dj, então (di , dj)r ra rb (d1, d2) (d3, d2) (d1, d3) (d3, d1) P=7 (d1, d4) (d3, d4) Q=3 (d1, d5) (d3, d5) T(ra, rb) = 7 – 3 / 7+3 = 0, 4 (d2, d3) (d2, d1) (d2, d4) (d2, d4) (d2, d5) (d2, d5) (d3, d4) (d1, d4) O objetivo é obter uma função que maximize T(ra, rb) (d3, d5) (d1, d5) (d4, d5) (d4, d5)
  • 15. A framework for learning of retrieval functions  Problema de aprendizagem de uma função de ranking  Entrada:  Distribuição conhecida Pr(q,r*) de consultas e rankings alvo numa coleção de documentos D com m documentos  Saída  Aprender uma função de recuperação f(q) para o qual é esperado o Kendall’s T máximo
  • 16. An SVM algorithm for learning of ranking functions  Entrada  Dada uma amostra de treinamento S, de tamanho n, contendo seus rankings alvos r*  Saída  Função ranking f que maximize
  • 17. Classificador SVM Dado um conjunto de k amostras (x1, c1),…(xk,ck), onde xi são vetores de n dimensões e ci é a classe (1 ou -1) das amostras Encontrar o hiperplano  determinado pelo vetor e o escalar b tal que: w Qualquer amostra xi da classe ci = 1 satisfaça w. xi + b >= 1 Qualquer amostra xi da classe ci = -1 satisfaça w.xi + b <= -1
  • 18. Classificador SVM B1 w x+ b =0 w w x+b =1 w x + b = -1 b11 b12
  • 19. Classificador SVM   Como o w é encontrado?  A partir das restrições impostas pelas amostras de treinamento A B Classe 2w1  3w2  b  1 2 3 1 1w1  4w2  b  1 1 4 -1 1w1  5w2  b  1 1 5 1 3 7 -1 3w1  7 w2  b  1
  • 20. Classificador SVM  Como usar o classificador SVM para classificar uma amostra x ? 1 se w x  b  1 classe ( x ) =  1 se w x  b   1
  • 21. An SVM algorithm for learning of ranking functions   w é o vetor ajustado pelo classificador.   (q,d) é o mapeamento das características da consulta q e o documento d  O número de palavras que os dois compartilham no domínio ou no resumo do link  O tamanho da URL em caracteres  Diversas outras
  • 22. An SVM algorithm for learning of ranking functions   Na abordagem proposta, o w vai ser calculado a partir das seguintes restrições
  • 23. An SVM algorithm for learning of ranking functions (1, 2, 3, 4)
  • 24. An SVM algorithm for learning of ranking functions (2, 3, 1, 4)
  • 25.
  • 26. An SVM algorithm for learning of ranking functions
  • 27. An SVM algorithm for learning of ranking functions  A função aprendida f w* poderá sempre ser representada como uma combinação linear do vetor de características.  É possível a utilização de Kernels e extender o Ranking SVM para uma função de recuperação não linear.
  • 28. An SVM algorithm for learning of ranking functions  O f w* será usado para rankear o conjunto de documentos para uma nova consulta q.  Nesse caso é suficiente ordenar os documentos pelo seu valor de:
  • 29. An SVM algorithm for learning of ranking functions  O r* de uma consulta q não está disponível.  A partir dos cliques é possível obter r’  r*  Assim, os r’ obtidos serão a base de treinamento do Ranking SVM
  • 30. Experimentos  Experiment Setup: Meta-Search  Striver  É facil de implementar enquanto cobre uma grande coleção de documentos  Os mecanismos de consulta básica fornecem uma base para comparação  Funcionamento  A consulta do usuário no Striver é repassada para o Google, Msn Search, Excite, Altavista e Hotbot  Os resultados retornados são analisados e os top 100 links sugeridos são extraídos, a união dos links compõem o conjunto de candidatos V  O ranking é feito a partir da função aprendida, e os top-50 são apresentados para o usuário
  • 31. Experimentos  É necessário comparar as diferentes funções de recuperação:  Apresenta-se dois rankings. Os rankings A e B são combinados em um ranking C  O top n links do C contem o top ka links de A e top kb links de B, com ka-kb <=1.  Se o usuário examinar os links de C de cima para baixo, em qualquer ponto ele vê quase igualmente a mesma quantidade de links de A e B.
  • 32.
  • 33. Experimentos  O usuário clicou em 3 links que participam do ranking A, contra somente 1 do ranking b.  Se um usuário não tem nenhuma preferência sobre A ou B, espera-se que ele clique de forma igual entre os dois rankings.  Uma vez que o usuário clica em mais links de A, se conclui que os links do ranking A são melhores do que os de B para essa consulta.
  • 34. Experimentos  Offline Experiment  Verificar que o Ranking SVM aprende uma função de recuperação usando feedback parcial dos dados de clique.  Coleta de dados  Consultas feitas pelo autor em outubro de 2001.  O Striver apresenta os resultados de Google e MSNSearch usando o método de combinação apresentado.  112 consultas.
  • 35. Experimentos  Mapeamento das características  Rank em outros mecanismos de pesquisa  Rank_X: 100 minus rank in X {google, msn, altavista, hotbot, excite} dividido por 100 (minimum 0)  Top1_X: Rankead #1 in X (binario 0 1)  Top10_X : Ranked in top 10 (binario 0 1)  Query / Content Match  Query_url_cosine: coseno entre url-words e query (range [0,1])  Query_abstract_cosine: coseno entre title-words and query  Domain_name_in_query: query contem domain-name from url (binario)  Popularity-Atributos  url_length: tamanho da url em caracters dividido por 30  Domain_X: dominio X de URL  Abstract_contains_home: palavra “home” aparece na URL ou titulo  url_contains_tilde: url contem “~”  url_X: url X como um atomo.
  • 36. Experimentos  Extração de pares de preferências  Adição de 50 restrições foram adicionadas para cada documento clicado  Não se usou Kernel  C = {0.001, 0.003, 0.005, 0.01}  Gráfico  Eixo x: número de consultas de treinamento  Eixo y: porcentagem de restrições que não são cobertas no banco de teste
  • 38. Experimentos  Interactive Online Experiment  Mostrar se a função aprendida provê qualidade  Coleta de Dados  31 de outubro a 20 de novembro de 2001  Striver disponibilizado para um grupo de 20 usuários  Pesquisadores e estudantes da AI unit na University of Dortmundo  Coletou-se 260 consultas de treinamento (com no mínimo um clique).  Treinamento do Ranking SVM usando o mesmo  (q,d)  A função aprendida foi implementada no Striver e usada para rankear o conjunto de candidatos V.  Durante o período de avaliação que durou até 2 de dezembro, a função aprendida é comparada com:  Google  MSNSearch  Toprank
  • 39. Experimentos  A comparação é feita usando o método de combinação já apresentado  O ranking da função aprendida é apresentado em combinação com cada um dos três baseline ranking selecionados randomicamente.  A tabela mostra quantas consultas o usuário clicou mais ou menos no resultado da função aprendida (learned)
  • 40. Experimentos  Tie apresenta quantas vezes a quantidade de clicks nas consultas dos dois rankings combinados foram iguais, ou quando não houve cliques.  Conclusão: a função de recuperação é melhor que o Google para esse grupo de usuários.
  • 41. Analysis of the learned function  Uma vez que o Ranking SVM aprende uma função linear, pode-se analisar a função estudando os pesos aprendidos.  A tabela 3 apresenta os pesos de algumas características, em particular, aquela com o maior peso absoluto.  Uma característica com maior peso positivo indica que o documento com essa característica devem ser rankeados mais alto.
  • 42.
  • 43. Discussões  Foco na adequação de recuperação de informação para pequenos grupos homogêneos, no lugar de grandes grupos heterogêneos  O que é um bom tamanho de grupo de usuário e como podem tais grupos serem determinados?  Claramente, existe um contraste entre a quantidade de dados de treinamento e homogeneidade máxima.  É possível usar algoritmos de clusterização para encontrar grupos de usuários homogêneos?  Além disso, pode dados de clique também ser usado para adaptar um mecanismo de busca não para um grupo de usuário, mas para propriedades de uma coleção particular de documentos?
  • 44. SVM rank  http://www.cs.cornell.edu/People/tj/svm_light/svm_rank.html  Módulo de aprendizagem  Dados de treinamento (train.dat)  Arquivo de modelo (model.dat)  Parâmetro C (valor de penalização)  svm_rank_learn -c 3 example3/train.dat example3/model  Dados de treinamento # query 1 3 qid:1 1:1 2:1 3:0 4:0.2 5:0 # 1A 2 qid:1 1:0 2:0 3:1 4:0.1 5:1 # 1B 1 qid:1 1:0 2:1 3:0 4:0.4 5:0 # 1C 1 qid:1 1:0 2:0 3:1 4:0.3 5:0 # 1D  1A>1B, 1A>1C, 1A>1D, 1B>1C, 1B>1D
  • 45. SVM rank  Svm_rank_learn
  • 46. SVM_rank  Model  SVM-light Version V6.20  0 # kernel type  3 # kernel parameter -d  1 # kernel parameter -g  1 # kernel parameter -s  1 # kernel parameter -r  empty# kernel parameter -u  6 # highest feature index  7 # number of training documents  2 # number of support vectors plus 1  0 # threshold b, each following line is a SV (starting with alpha*y)  1 1:1.5231243 2:-0.064747944 3:-0.52312434 4:-0.18499486 5:0.95375079 #
  • 47. SVM_rank  Módulo de predição  svm_rank_classify test.dat model.txt predicoes.txt  Test.dat 4 qid:4 1:1 2:0 3:0 4:0.2 5:1 3 qid:4 1:1 2:1 3:0 4:0.3 5:0 2 qid:4 1:0 2:0 3:0 4:0.2 5:1 1 qid:4 1:0 2:0 3:1 4:0.2 5:0  Predição.txt 2.43987615 1.40287793 0.91675182 -0.56012331
  • 48. Letor  http://research.microsoft.com/en-us/um/beijing/projects/letor/  Learning to Rank for Information Retrieval  Website desenvolvido para facilitar pesquisas em Learning To Rank.  É um benchmark que contém características padrões, julgamentos de relevância, particionamento de dados, ferramentas de avaliação.  Dados coletados de sites governamentais e da área da saúde.  Estrutura de entrada idêntica ao do SVM_Rank  Medidas de performance:  NDCG@k: Normalized Discount Cumulative Gain  Medida de avaliação das top k posições da lista rankeada usando múltiplos níveis de julgamento de relevância.
  • 49. Letor
  • 50. Letor
  • 51. Referências  T. Joachims, Optimizing Search Engines Using Clickthrough Data, Proceedings of the ACM Conference on Knowledge Discovery and Data Mining (KDD), ACM, 2002.  SVMrank - Support Vector Machine for Ranking, disponível em: http://www.cs.cornell.edu/People/tj/svm_light/svm_rank.html  LETOR: Learning to Rank for Information Retrieval, disponível em: http://research.microsoft.com/en- us/um/beijing/projects/letor/event.aspx  Qin, t. Liu, TY., Li, Hang. LETOR: A Benchmark Collection for Research on Learning to Rank for Information Retrieval.  De Amo, S., Slides Classificador SVM, disponível em: http://www.deamo.prof.ufu.br/arquivos/ClassificadorSVM.ppt