O documento discute o problema de seleção de ranqueamento, onde é necessário ordenar tuplas de uma relação com base em preferências contextuais armazenadas. As preferências são representadas por classes que especificam uma ordem entre valores de atributos sob determinado contexto. O documento propõe representar as preferências por meio de um grafo e calcular uma preferência efetiva entre pares de tuplas usando similaridade por cosseno entre vetores de preferências.
2. Sumário
1. Introdução
2. Preferências contextuais
3. The rank selection problem
4. Constructing orders from preferences
5. Finding representative orders
6. Ranked Top-k Queries
7. Trabalhos relacionados
8. Conclusões
3. Rakesh Agrawal
Microsoft Research Labs
Entre um dos top 50 cientistas em 2003
M.S. and Ph.D. degrees in Computer Science from the
University of Wisconsin-Madison
60 patentes
Mais de 150 artigos
Google scholar: 63762 citações
Áreas de estudo:
Web Technologies; Privacy & Security; Data Mining; Text Mining;
OLAP; Object-Oriented Type Systems; Active Database
Systems; Object-Oriented Database Systems; Deductive
Database Systems; Distributed Systems; Transaction
Management; Database Machines.
4. Ralf Rantzau
Assistant professor in Aalborg University
Membro dos comitês: COMAD; KDD; SIGMOD IDAR
Ph.D. degrees in Computer Science from the University
of Stuttgart
Áreas de estudo: Privacy; Real-time analytics; All things
databases.
5. Evimaria Terzi
Professor of Computer Science, Boston University
Membro de comitês: ICDM, SDM, IDA, PKDD, SIGKDD,
ICDE, SIGMOD, WWW, CIKM, DBSOCIAL
Áreas de estudo: algorithmic data mining with emphasis
on social-network analysis, analysis of sequential data,
ranking, clustering and bioinformatics.
Google Scholar: 791 citações
6. 1.Introdução
40.000 lojas
30.000.000
ofertas de produtos
8. Introdução
Tuplas ranqueadas, baseadas no contexto da
consulta sem sacrificar a sua performance.
Proposta:
Uma base de dados já carregada de preferências
Técnicas para usar essas preferências para gerar
ordenações representativas das tuplas e seus
contextos associados
Técnicas para usar essas pré-ordenações para
fornecer rapidamente respostas ranqueadas às
consultas tendo em consideração a condição da
consulta.
10. Introdução
SELECT ATOR
FROM FILME
WHERE
GENERO = ‘Drama’ E LINGUA = ‘Espanhol’
As preferências que se referem à cláusula where devem ser
levadas em consideração no ranking dos resultados da
consulta.
12. 2.Preferências Contextuais
A1 A2 A3 A4 p1 = {A1 = A > A1 = B | A4 = U}
t1 A K X U A1 A2 A3 A4 A1 A2 A3 A4
t2 A L Y U t1 A K X U
t1 A K X U
t3 B M W U t2 A L Y U
t2 A L Y U
t4 C N Y U t3 B M W U
t5 A L Z V t4 C N Y U t3 B M W U
A1 A2 A3 A4 A1 A2 A3 A4
t1 A K X U > t3 B M W U
t2 A L Y U
13. Preferências Contextuais
A1 A2 A3 A4 p = {Ai=ai1 > Ai=ai2 | X}
escolha contexto
t1 A K X U
Relação R= {t1, t2, ..., tn}
t2 A L Y U
Esquema R (A1,A2,...,Ad)
t3 B M W U
ai1 e ai2 ∈ Dom(Ai)
t4 C N Y U
l ⊆ {1, . . . , d}
t5 A L Z V
X é Λ j∈l (Aj = aj )
aj ∈ Dom(Aj)
p1 = {A1 = A > A1 = B | A4 = U}
PREF(t1,t3,p1)= 1
PREF(t3,t2,p1)= 0
PREF(t1,t4,p1)= ┴
14. Preferências Contextuais
A1 A2 A3 A4 p2 = {A2 = K > A2 = M | A4 = U}
t1 A K X U A1 A2 A3 A4 A1 A2 A3 A4
t2 A L Y U t1 A K X U
t1 A K X U
t3 B M W U t2 A L Y U
t3 B M W U t3 B M W U
t4 C N Y U
t5 A L Z V t4 C N Y U
A1 A2 A3 A4
A1 A2 A3 A4
t1 A K X U
> t3 B M W U
PREF(t1,t3,p2)= 1 PREF(t3,t1,p2)= 0 PREF(t1,t4,p2)= ┴
15. Preferências Contextuais
A1 A2 A3 A4 p3 = {A3 = W > A3 = X | A4 = U}
t1 A K X U A1 A2 A3 A4
t2 A L Y U A1 A2 A3 A4
t1 A K X U
t3 B M W U t1 A K X U
t2 A L Y U
t4 C N Y U t3 B M W U
t3 B M W U
t5 A L Z V t4 C N Y U
A1 A2 A3 A4
t3 B M W U > A1 A2 A3 A4
t1 A K X U
PREF(t3,t1,p3)= 1 PREF(t1,t3,p3)= 0 PREF(t1,t4,p3)= ┴
16. Preferências Contextuais
A1 A2 A3 A4 p4 = {A1=C > A1=A | A3=Y ∧ A4=U}
t1 A K X U
t2 A L Y U A1 A2 A3 A4
t3 B M W U t2 A L Y U
t4 C N Y U t4 C N Y U
t5 A L Z V
A1 A2 A3 A4
t4 C N Y U
> A1 A2 A3 A4
t2 A L Y U
PREF(t4,t2,p4)= 1 PREF(t2,t4,p4)= 0 PREF(t1,t4,p4)= ┴
17. Preferências Contextuais
Classes de Preferências
p1 = {A1 = A > A1 = B | A4 = U}
∈ PA4=U
p2 = {A2 = K > A2 = M | A4 = U}
p3 = {A3 = W > A3 = X | A4 = U}
p4 = {A1=C > A1=A | A3=Y ∧ A4=U}
X1 = Λ j∈l1 (Aj = aj)
X2 = Λ j∈l2 (Aj = bj)
l1 , l2 ⊆ {1, 2, . . . , d}
l1 = l2 = l
aj = bj para todos os j ∈ l.
18. Preferências Contextuais
Tuplas indiferentes e asserted
p1 = {A1 = A > A1 = B | A4 = U}
A1 A2 A3 A4 PA4=U p2 = {A2 = K > A2 = M | A4 = U}
t1 A K X U p3 = {A3 = W > A3 = X | A4 = U}
t2 A L Y U Asserted Indiferent
t3 B M W U A1 A2 A3 A4 A1 A2 A3 A4
t4 C N Y U t1 A K X U
t5 A L Z V t4 C N Y U
t2 A L Y U
t3 B M W U t5 A L Z V
Indiferente para o contexto X, se:
∀p ∈ PX
∀ t’<> t, PREF(t, t’, p) =⊥ ∧ PREF(t’, t, p) =⊥.
19. Preferências Contextuais
Preferência Efetiva (EFF-P)
Existe um p ∈ PX , tal que PREF(t,t’)=1 V PREF(t’,t)=1
Se não existe p
Se as tuplas são indiferentes, EFF-P (t, t’, PX) = ⊥
20. Preferências Contextuais
Preferência Efetiva (EFF-P)
A1 A2 A3 A4 p1 = {A1 = A > A1 = B | A4 = U}
t1 A K X U PA4=U p2 = {A2 = K > A2 = M | A4 = U}
p3 = {A3 = W > A3 = X | A4 = U}
t2 A L Y U
EFF-P(t1,t2, PA4=U) t1 e t2 são asserted,
mas não há preferência que
envolva as duas.
21. Preferências Contextuais
Preferência Efetiva (EFF-P)
A1 A2 A3 A4 p1 = {A1 = A > A1 = B | A4 = U}
t1 A K X U PA4=U p2 = {A2 = K > A2 = M | A4 = U}
p3 = {A3 = W > A3 = X | A4 = U}
t3 B M W U
t1 e t3 são asserted, e existe
EFF-P(t1,t3, PA4=U) preferência (p1, p2, p3) que envolvem as duas.
1+1+ 0 2
= = 0.66
(1 + 0) + (1 + 0) + (0 + 1) 3
22. Preferências Contextuais
Preferência Efetiva (EFF-P)
A1 A2 A3 A4 p1 = {A1 = A > A1 = B | A4 = U}
t1 A K X U PA4=U p2 = {A2 = K > A2 = M | A4 = U}
p3 = {A3 = W > A3 = X | A4 = U}
t3 B M W U
EFF-P(t3,t1, PA4=U)
0 + 0 +1 1
= = 0.33
(0 + 1) + (0 + 1) + (1 + 0) 3
23. Preferências Contextuais
Preferência Efetiva (EFF-P)
A1 A2 A3 A4 p1 = {A1 = A > A1 = B | A4 = U}
t2 A L Y U PA4=U p2 = {A2 = K > A2 = M | A4 = U}
p3 = {A3 = W > A3 = X | A4 = U}
t3 B M W U
EFF-P(t2,t3, PA4=U)
1 1
= =1
(1 + 0) 1
24. Preferências Contextuais
Grafo de Preferências do contexto X = A4=U
GX (VX, EX)
VX = asserted tuplas
EX = e (t t’)
Eff-P(t1,t2,PA4=U) = ½
Eff-P(t1,t3,PA4=U) = 2/3
Eff-P(t3,t1,PA4=U) = 1/3
Eff-P(t2,t3,PA4=U) = 1
25. Preferências Contextuais
Preferência
Pref(t1,t2,p1)
Classe de preferências
Tuplas asserted e indiferentes
Preferência efetiva
Grafo de preferência
26. 3. The rank selection problem
R (A1, ..., Ad)
PROBLEMA 1 A1 A2 A3 A4
t1 A K X U
t2 A L Y U r = {t1, ..., tn}
A1 A2 A3 A4
t3 B M W U
q (r) t1 A K X U
t4 C N Y U
t3 B M W U
t5 A L Z V
t4 C N Y U
A1 A2 A3 A4 A1 A2 A3 A4
P = {PX1, ..., PXm} t1 A K X U t3 B M W U
t3 B M W U t4 C N Y U
p1 = {A1 = A > A1 = B | A4 = U}
t4 C N Y U t1 A K X U
p2 = {A2 = K > A2 = M | A4 = U}
p3 = {A3 = W > A3 = X | A4 = U} A1 A2 A3 A4 A1 A2 A3 A4
t1 A K X U t4 C N Y U
t4 C N Y U t1 A K X U
t3 B M W U t3 B M W U
30. Abordagem
Gargalo: todas as preferências deveriam ser
consultadas a cada par de tupla.
Framework proposto:
Processamento offline
Construir ordenações entre as tuplas
Reduzir o número de ordenações
Processamento online
Usa os pré-processamentos para retornar resultados
de forma rápida
31. Abordagem
Processamento Offline - Passo 1
PX1 PX2 PX3 PX4
T1 T2 T4 T3
T2 T3 T2 T2 <Xi, Ti> = <contexto, ordem>
T3 T1 T3 T1
T4 T4 T1 T4
s(t1|X1) = 4 – 0+1 = 5
32. Abordagem
Processamento Offline - Passo 2
Encontrar l ordenações representativas
Divide as permutações iniciais em l grupos
Cada grupo i é caracterizado porTi e uma
disjunção de Xi
contextos
34. Abordagem
Processamento offline
Passo 1
Como conseguir as ordenações? (Problema 2)
Passo 2
Como conseguir as ordenações representativas?
(Problema 3)
Processamento online
Como conseguir a resposta da melhor ordenação?
(Problema 4)
36. Construting orders from
preferences
Subgrafo acíclico maximal: encontrar o
subgrafo acíclico de peso máximo de um grafo
G
Três algoritmos
Pick-perm
Greedy-order
MC-order
39. Construting orders from
preferences
MC-ORDER
Cria um grafo com todas as arestas reversas
Se ti -> tj, entao tj -> ti
Um caminho aleatório é feito e as tuplas são
rankeadas de acordo com seus valores
40. Experimentos
Geração dos dados sintéticos : general and
strictly acyclic
Um único contexto X.
Comparação dos algoritmos com o resultado
que deveria ser alcançado.
44. Finding representative orders
Problema 3 – CLUSTERORDERS – OFFLINE
Dado o conjunto de ordenações do passo 1
Tm = {T 1,..., Tm}
Da forma
< Xi , T i >
Encontrar o conjunto
Tl = {T 1,..., Tl}
Da forma
< Xi, Ti >
45. Finding representative orders
Cada
Xi ⊆ { Xi,..., Xm}
Tal que
∀Xj ∈ Xi; Ti = arg min i ' d (Ti, Tj )
Cada contexto Xj
É mapeado para um conjunto final de contextos
Xi
49. Finding representative orders
Refinamentos
Discrete: aplicar novamente um dos algoritmos
em cada partição para encontrar o melhor
representante entre eles
Continuous: aplicar novamente um dos
algoritmos em cada partição para encontrar qual,
entre todas as ordenações, é o melhor
representante para a partição
50. Experimentos
Não consideraram tuplas indiferentes.
N = numero de tuplas em cada ordenação,
500
M = numero de ordenações de entrada, 1000
L = numero de clusters verdadeiros, {2, 4, 8,
16}
Geração de l ordens aleatórias que serão o
centro de cada cluster
Geração de mais ordens para cada cluster
adicionando ruído (swap, shift) de um tipo
específico, {2,4,8 ..., 128}
51. Experimentos
F(A)
Custo total da solução pelo algoritmo
F(INP)
Custo da estrutura de agrupamento utilizado no
processo de geração de dados.
53. 6.Ranked Top-k queries
Problema 4 – Querying Online
Tl = {T 1,..., Tl} < Xi, Ti >
s (t Xi ) = n − Ti (t ) + 1
Adaptação do algoritmo TA
q(r) = conjunto de tuplas que respondem q
54. Ranked Top-k queries
q(r)
t1
t3
<X1,T1 <X2,T2 <X3,T3 <X4,T4
>
t1 >
t3 >
t1 >
t1
t2 t3
t4 t1
t3 t4
t3
t2
t3 t4
t1 t3 t3
t3 t1 t4 t2
1
t4 t2 t2 t1
56. Ranked Top-k queries
Como o acesso é round-robin nem todas as
tuplas são acessadas no passo anterior.
é o escore da ultima tupla visitada da
ordenação Ti do último ciclo.
O parâmetro
O algoritmo para quando k tuplas com o
escore maior ou igual a s foram vistos.
A saída são os k maiores valores de escore.
57. Experimentos
Dados gerados da mesma forma do
Experimento II
L = {2,4,8,16}, noise de 64 swaps, n = 500 e m
= 1000
R(OPT,k) = resultado usando todas as ordens
R(A,k) = resultado usando as ordens
representativas
Compara usando o coeficiente Jaccard
60. Experimentos
Dados reais
www.imdb.com (32000 filmes)
R= (TID, titulo, genero, ano, linguagem, ator,
diretor)
Geração de preferências a partir da mineração de
regras de associação
Confiança: 0.2, 883 classes de preferencias
Uso do MC-ORDER para a construção das
ordens e GREEDY para o problema de cluster.
63. Experimentos
Resultados encorajadores
Workstation NT 2.3 GHz, para a implementação
não otimizada, levou 3 segundos para 50 clusters
Mesmo com a criação de 883 classes de
preferências e 50 clusters, níveis de acurácia
foram satisfatórios para a maioria das consultas
testadas
64. 7.Trabalhos Relacionados
Similar a ferramentas de web-search
Ordenação das tuplas apriori, independente da
consulta, para usar na realização de consultas
O uso de contextos também aparece em outros
trabalhos
Na web a estrutura de hiperlinks já apresenta um
estrutura natural de grafo que permite uma boa
classificação das páginas.
Este trabalho usa um grafo induzido por
preferências do usuário para esta finalidade.
65. Trabalhos Relacionados
Há trabalhos que induzem grafos baseados
nos conteúdos das tuplas de um BD.
As arestas são induzidas por chave estrangeira
As respostas às consultas são rankeadas usando
a noção de ‘prestigio’ dos nós baseado nas
arestas de entrada
Entretanto, não há uma estrutura de grafo
aceita globalmente para representação de
dados relacionais.
66. Trabalhos Relacionados
Há trabalhos que definem a importância de
uma tupla através de scores.
Ou fornecidas pelos usuários, ou mineradas.
Os autores consideram a possibilidade de
mineração de preferências contextuais.
E então incorporam pares de preferências na
formulação dos ranks finais, sendo uma
análise mais precisa das preferências do
usuário.
67. Trabalhos Relacionados
Incorporação de preferências pessoais para a
criação de ranks personalizados já tem sido
estudado
Um dos trabalhos apresenta uma preferência por
simples predicados. Cada predicado é associado a
um valor que corresponde ao nível do usuário
àquela preferência. O resultado é um perfil de
preferência do usuário.
O foco deste trabalho não é na personalização
de respostas para usuários individuais, mas
usar um conjunto de preferências comuns para
responder eficientemente e rankear resultados
de consultas de um grande numero de usuários.
68. Trabalhos Relacionados
Há uma expressiva literatura para linguagens
de preferência.
Em alguns trabalhos as preferências são expressas
em fórmulas de primeira ordem, incorporadas na
álgebra relacional. Os resultados de saída são
aqueles que atendem a todas as restrições.
Abordagem: a partir do momento que se
assume que é uma otimização do problema de
satisfação de preferência contextual, não há
restrições mas o que mais concorda com as
preferências de entrada.
69. Trabalhos Relacionados
O trabalho mais próximo também trabalha
com pares de preferências. Uma ordem total
dos objetos que concordam o máximo
possível com as preferências é extraída.
O presente trabalho foca no impacto de como
as preferências associadas a diferentes
contextos tem impacto nos resultados das
consultas.
Finalmente, os autores afirmam que a
linguagem de preferências está mais
próximas das triplas de dados de treinamento
na forma “com respeito ao objeto c, objeto a é
mais próximo do que b”.
70. 8.CONCLUSÃO
O framework apresentado tira vantagem das
preferências do usuário para pré-computar
ordens representativas e usá-las para fornecer
respostas rankeadas às consultas ao banco
de dados.
A abordagem é similar a técnicas de web
search: pré-computar a ordenação de cada
página e usar esse valor para responder às
pesquisas.
71. CONCLUSÃO
A linguagem de preferência é natural e
intuitiva e não requer que o usuário
especifique valores de importância para as
tuplas.
A linguagem é orientada a conjunto e permite
que uma única preferência especifique
escolhas entre um grande par de tuplas.
Duas tuplas podem ser ordenadas de forma
diferentes, dependendo do contexto.
72. CONCLUSÃO
Os experimentos mostram que a proposta
alcança alto nível de acurácia mesmo quando
um pequeno numero de ordens
representativas são mantidas, permitindo uma
redução no armazenamento e retornando as
respostas rapidamente.
73. Trabalhos futuros
Estudar algoritmos incrementais para a
manutenção das ordenações e preferências
com o desenvolvimento do banco de dados.
Investigar como fazer a solução resistente a
spam na presença de usuários maliciosos.