Upload
cleiane-oliveira
View
175
Download
2
Embed Size (px)
Citation preview
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
Resultado da
busca,
query_id = 5
Servidor de
proxy
Http-location
Página alvo
query_id
url
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 3
link 4
link 5
link 6
link 7
link 2
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
P = 7
Q = 3
T(ra, rb) = 7 – 3 / 7+3 = 0, 4
O objetivo é obter uma função que maximize T(ra, rb)
ra
(d1, d2)
(d1, d3)
(d1, d4)
(d1, d5)
(d2, d3)
(d2, d4)
(d2, d5)
(d3, d4)
(d3, d5)
(d4, d5)
rb
(d3, d2)
(d3, d1)
(d3, d4)
(d3, d5)
(d2, d1)
(d2, d4)
(d2, d5)
(d1, d4)
(d1, d5)
(d4, d5)
ra
(d1, d2)
(d1, d3)
(d1, d4)
(d1, d5)
(d2, d3)
(d2, d4)
(d2, d5)
(d3, d4)
(d3, d5)
(d4, d5)
rb
(d3, d2)
(d3, d1)
(d3, d4)
(d3, d5)
(d2, d1)
(d2, d4)
(d2, d5)
(d1, d4)
(d1, 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:
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
w
Classificador SVM B
1
b11
b12
w
w x + b = 0
w x + b w x + b = 1
= -1
Classificador SVM
Como o é encontrado?
A partir das restrições impostas pelas amostras de
treinamento
w
A B Classe
2 3 1
1 4 -1
1 5 1
3 7 -1 173
151
141
132
21
21
21
21
bww
bww
bww
bww
Como usar o classificador SVM para classificar uma
amostra x ?
=
1 b se 1
1 b se 1 ) ( classe x
x w
x w
Classificador SVM
An SVM algorithm for learning of ranking
functions
é 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
w
An SVM algorithm for learning of ranking
functions
Na abordagem proposta, o vai ser calculado a partir
das seguintes restrições
w
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 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.
*wf
An SVM algorithm for learning of ranking
functions
O será usado para rankear o conjunto de documentos
para uma nova consulta q.
Nesse caso é suficiente ordenar os documentos pelo seu
valor de:
*wf
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:
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
1A>1B, 1A>1C, 1A>1D, 1B>1C, 1B>1D
# 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
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
Predição.txt
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
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!