Optimizing Search Engines using              Clickthrough Data                      Thosrsten Joachims                    ...
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       ...
Clickthrough Data in Search Engines    Os cliques podem ser gravados com o mínimo de     overhead        Não compromete ...
Clickthrough Data in Search Engines   Um link clicado não pode ser considerado de relevância    absoluta   Os usuários n...
Clickthrough Data in Search Engines   O que pode então ser usado e analisado?       link 1       link 2       link 3     ...
Clickthrough Data in Search Engines   O que pode então ser usado e analisado?       Os links 1, 3 e 7 não podem ser cons...
A framework for learning of retrievalfunctions   Problema de recuperação de informação       Entrada:           uma con...
A framework for learning of retrievalfunctions   Uma função f de recuperação é avaliada pelo quanto rf(q) que ela gera   ...
A framework for learning of retrievalfunctions   Problema de aprendizagem de uma função de ranking   Entrada:       Dis...
An SVM algorithm for learning of rankingfunctions   Entrada       Dada uma amostra de treinamento S, de tamanho n, conte...
Classificador SVMDado um conjunto de k amostras(x1, c1),…(xk,ck),onde xi são vetores de ndimensões e ci é a classe (1 ou -...
Classificador SVM                B1w x+ b   =0                     w                                     w x+b =1 w x + b ...
Classificador SVM              Como o w          é encontrado?       A partir das restrições impostas pelas amostras de...
Classificador SVM   Como usar o classificador SVM para classificar uma    amostra x ?                           1      s...
An SVM algorithm for learning of rankingfunctions       w é o vetor ajustado pelo classificador.    (q,d) é o mapeamen...
An SVM algorithm for learning of rankingfunctions                                Na abordagem proposta, o w   vai ser ca...
An SVM algorithm for learning of rankingfunctions                                (1, 2, 3, 4)
An SVM algorithm for learning of rankingfunctions                                 (2, 3, 1, 4)
An SVM algorithm for learning of rankingfunctions
An SVM algorithm for learning of rankingfunctions   A função aprendida f w* poderá sempre ser representada    como uma co...
An SVM algorithm for learning of rankingfunctions   O f w* será usado para rankear o conjunto de documentos    para uma n...
An SVM algorithm for learning of rankingfunctions   O r* de uma consulta q não está disponível.   A partir dos cliques é...
Experimentos   Experiment Setup: Meta-Search       Striver           É facil de implementar enquanto cobre uma grande c...
Experimentos   É necessário comparar as diferentes funções de    recuperação:       Apresenta-se dois rankings. Os ranki...
Experimentos   O usuário clicou em 3 links que participam do ranking A,    contra somente 1 do ranking b.   Se um usuári...
Experimentos   Offline Experiment     Verificar que o Ranking SVM aprende uma função de      recuperação usando feedback...
Experimentos   Mapeamento das características       Rank em outros mecanismos de pesquisa           Rank_X: 100 minus r...
Experimentos   Extração de pares de preferências   Adição de 50 restrições foram adicionadas para cada documento clicado...
Experimentos
Experimentos   Interactive Online Experiment     Mostrar se a função aprendida provê qualidade   Coleta de Dados     3...
Experimentos   A comparação é feita usando o método de combinação já    apresentado   O ranking da função aprendida é ap...
Experimentos   Tie apresenta quantas vezes a quantidade de clicks nas    consultas dos dois rankings combinados foram igu...
Analysis of the learned function   Uma vez que o Ranking SVM aprende uma função linear,    pode-se analisar a função estu...
Discussões   Foco na adequação de recuperação de informação para    pequenos grupos homogêneos, no lugar de grandes    gr...
SVM rank   http://www.cs.cornell.edu/People/tj/svm_light/svm_rank.html   Módulo de aprendizagem       Dados de treiname...
SVM rank   Svm_rank_learn
SVM_rank   Model           SVM-light Version V6.20           0 # kernel type           3 # kernel parameter -d        ...
SVM_rank   Módulo de predição     svm_rank_classify test.dat model.txt predicoes.txt       Test.dat                   4...
Letor   http://research.microsoft.com/en-us/um/beijing/projects/letor/   Learning to Rank for Information Retrieval   W...
Letor
Letor
Referências   T. Joachims, Optimizing Search Engines Using Clickthrough Data,    Proceedings of the ACM Conference on Kno...
Obrigada!
Optimizing Search
Optimizing Search
Optimizing Search
Optimizing Search
Optimizing Search
Optimizing Search
Próximos SlideShares
Carregando em…5
×

Optimizing Search

375 visualizações

Publicada em

Apresentação do artigo Optimizing search engines using clickthrough data

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
375
No SlideShare
0
A partir de incorporações
0
Número de incorporações
4
Ações
Compartilhamentos
0
Downloads
2
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Optimizing Search

  1. 1. Optimizing Search Engines using Clickthrough Data Thosrsten Joachims 2002
  2. 2. Introdução O que o usuário realmente quer quando ele acessa um mecanismo de busca?
  3. 3. Introdução O que o usuário realmente quer quando ele acessa um mecanismo de busca?
  4. 4. Introdução Log file
  5. 5. 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”
  6. 6. 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
  7. 7. 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
  8. 8. 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
  9. 9. 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
  10. 10. A framework for learning of retrievalfunctions 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
  11. 11. A framework for learning of retrievalfunctions 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)
  12. 12. A framework for learning of retrievalfunctions 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
  13. 13. An SVM algorithm for learning of rankingfunctions Entrada  Dada uma amostra de treinamento S, de tamanho n, contendo seus rankings alvos r* Saída  Função ranking f que maximize
  14. 14. Classificador SVMDado um conjunto de k amostras(x1, c1),…(xk,ck),onde xi são vetores de ndimensões e ci é a classe (1 ou -1)das amostrasEncontrar o hiperplano determinado pelo vetore o escalar b tal que: wQualquer amostra xi da classe ci =1 satisfaça w. xi + b >= 1Qualquer amostra xi da classe ci =-1 satisfaça w.xi + b <= -1
  15. 15. Classificador SVM B1w x+ b =0 w w x+b =1 w x + b = -1 b11 b12
  16. 16. 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
  17. 17. 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
  18. 18. An SVM algorithm for learning of rankingfunctions  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
  19. 19. An SVM algorithm for learning of rankingfunctions  Na abordagem proposta, o w vai ser calculado a partir das seguintes restrições
  20. 20. An SVM algorithm for learning of rankingfunctions (1, 2, 3, 4)
  21. 21. An SVM algorithm for learning of rankingfunctions (2, 3, 1, 4)
  22. 22. An SVM algorithm for learning of rankingfunctions
  23. 23. An SVM algorithm for learning of rankingfunctions 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.
  24. 24. An SVM algorithm for learning of rankingfunctions 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:
  25. 25. An SVM algorithm for learning of rankingfunctions 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
  26. 26. 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
  27. 27. 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.
  28. 28. 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.
  29. 29. 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.
  30. 30. 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.
  31. 31. 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
  32. 32. Experimentos
  33. 33. 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
  34. 34. 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)
  35. 35. 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.
  36. 36. 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.
  37. 37. 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?
  38. 38. 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
  39. 39. SVM rank Svm_rank_learn
  40. 40. 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 #
  41. 41. 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
  42. 42. 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.
  43. 43. Letor
  44. 44. Letor
  45. 45. 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
  46. 46. Obrigada!

×