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
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
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
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.
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