Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Context senstitive ranking_seminario_final

309 views

Published on

Apresentação do artigo Context sensitive ranking

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Context senstitive ranking_seminario_final

  1. 1. CONTEXT-SENSITIVERANKINGRakesh Agrawal / Ralf Rantzau /Evimaria Terzi
  2. 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. 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. 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. 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. 6. 1.Introdução 40.000 lojas 30.000.000 ofertas de produtos
  7. 7. Introdução Select * from produtos
  8. 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.
  9. 9. Introdução > > >
  10. 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.
  11. 11. Problema R P
  12. 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 A4t2 A L Y U t1 A K X U t1 A K X Ut3 B M W U t2 A L Y U t2 A L Y Ut4 C N Y U t3 B M W Ut5 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. 13. Preferências Contextuais A1 A2 A3 A4 p = {Ai=ai1 > Ai=ai2 | X} escolha contextot1 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. 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 UPREF(t1,t3,p2)= 1 PREF(t3,t1,p2)= 0 PREF(t1,t4,p2)= ┴
  15. 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 UPREF(t3,t1,p3)= 1 PREF(t1,t3,p3)= 0 PREF(t1,t4,p3)= ┴
  16. 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 UPREF(t4,t2,p4)= 1 PREF(t2,t4,p4)= 0 PREF(t1,t4,p4)= ┴
  17. 17. Preferências ContextuaisClasses 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. 18. Preferências ContextuaisTuplas 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 Indiferentt3 B M W U A1 A2 A3 A4 A1 A2 A3 A4t4 C N Y U t1 A K X Ut5 A L Z V t4 C N Y U t2 A L Y U t3 B M W U t5 A L Z VIndiferente para o contexto X, se:∀p ∈ PX∀ t’<> t, PREF(t, t’, p) =⊥ ∧ PREF(t’, t, p) =⊥.
  19. 19. Preferências ContextuaisPreferência Efetiva (EFF-P)Existe um p ∈ PX , tal que PREF(t,t’)=1 V PREF(t’,t)=1Se não existe pSe as tuplas são indiferentes, EFF-P (t, t’, PX) = ⊥
  20. 20. Preferências ContextuaisPreferê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 UEFF-P(t1,t2, PA4=U) t1 e t2 são asserted, mas não há preferência que envolva as duas.
  21. 21. Preferências ContextuaisPreferê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 existeEFF-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. 22. Preferências ContextuaisPreferê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 UEFF-P(t3,t1, PA4=U) 0 + 0 +1 1 = = 0.33 (0 + 1) + (0 + 1) + (1 + 0) 3
  23. 23. Preferências ContextuaisPreferê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 UEFF-P(t2,t3, PA4=U) 1 1 = =1 (1 + 0) 1
  24. 24. Preferências ContextuaisGrafo 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. 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. 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
  27. 27. The rank selection problemPROBLEMA 1 M = qnt de classes
  28. 28. The rank selection problemSimilaridade por cosseno D N = |D| = 13 VX Vq 0 A1 A VA4 = U VA4=U Λ A3=Y 1 A1 B 0 0 0 0 2 A1 C 1 0 1 0 3 A2 K 2 0 2 0 4 A2 L 3 0 3 0 5 A2 M 4 0 4 0 6 A2 N 5 0 5 0 7 A3 X 6 0 6 0 8 A3 Y 7 0 7 0 9 A3 W 8 0 8 1 10 A3 Z 9 0 9 0 11 A4 U 10 0 10 0 12 A4 V 11 1 11 1 12 0 12 0 OD
  29. 29. The rank selection problemSimilaridade por cosseno VX Vq 0 0 0 0 1 0 1 0 2 0 2 0 3 0 3 0 4 0 4 0 5 0 5 0 6 0 6 0 7 0 7 0 8 0 8 1 9 0 9 0 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 +1+ 0 1 10 0 10 0 = = 0,709 11 1 11 1 1× 2 1,41 12 0 12 0
  30. 30. AbordagemGargalo: todas as preferências deveriam serconsultadas 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. 31. Abordagem Processamento Offline - Passo 1PX1 PX2 PX3 PX4T1 T2 T4 T3T2 T3 T2 T2 <Xi, Ti> = <contexto, ordem>T3 T1 T3 T1T4 T4 T1 T4 s(t1|X1) = 4 – 0+1 = 5
  32. 32. AbordagemProcessamento 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
  33. 33. AbordagemProcessamento Online A única tarefa é combinar as ordenações das tuplas já definidas offline
  34. 34. AbordagemProcessamento 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)
  35. 35. 4.Construting orders frompreferences Problema 2 Encontrar uma ordenação entre as tuplas de acordo com cada classe de preferência
  36. 36. Construting orders frompreferences 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
  37. 37. Construting orders frompreferences PICK-PERM
  38. 38. Construting orders frompreferences GREEDY-ORDER
  39. 39. Construting orders frompreferences 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. 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.
  41. 41. 5.Finding representative orders T4 T1 T7 T9 T11 T2 T5 T8 T6 T3 T10 T12
  42. 42. 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 >
  43. 43. 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
  44. 44. Finding representative orders Spearman footrule Kendall tau
  45. 45. Finding representative orders GREEDY
  46. 46. Finding representative orders THE FURTHEST
  47. 47. 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
  48. 48. 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}
  49. 49. 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.
  50. 50. Experimentos Distancia footrule
  51. 51. 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
  52. 52. Ranked Top-k queriesq(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
  53. 53. Ranked Top-k queries O score final da tupla t para a query q é:
  54. 54. 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.
  55. 55. 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
  56. 56. Experimentos
  57. 57. 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.
  58. 58. O tempo deresposta aumentalinearmente deacordo com onumero de clusters
  59. 59. 50tupla s
  60. 60. 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
  61. 61. 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.
  62. 62. 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.
  63. 63. 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.
  64. 64. 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.
  65. 65. 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.
  66. 66. 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”.
  67. 67. 8.CONCLUSÃOO framework apresentado tira vantagem daspreferências do usuário para pré-computarordens representativas e usá-las para fornecerrespostas rankeadas às consultas ao bancode dados.A abordagem é similar a técnicas de websearch: pré-computar a ordenação de cadapágina e usar esse valor para responder àspesquisas.
  68. 68. CONCLUSÃOA linguagem de preferência é natural eintuitiva e não requer que o usuárioespecifique valores de importância para astuplas.A linguagem é orientada a conjunto e permiteque uma única preferência especifiqueescolhas entre um grande par de tuplas.Duas tuplas podem ser ordenadas de formadiferentes, dependendo do contexto.
  69. 69. CONCLUSÃOOs experimentos mostram que a propostaalcança alto nível de acurácia mesmo quandoum pequeno numero de ordensrepresentativas são mantidas, permitindo umaredução no armazenamento e retornando asrespostas rapidamente.
  70. 70. 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.
  71. 71. Referência http://rakesh.agrawal-family.com/bio.html http://scholar.google.com/citations?user=j6KF CRAAAAAJ&hl=en http://sites.google.com/site/rantzauworld/ http://dl.acm.org/citation.cfm?id=1142517
  72. 72. OBRIGADA!

×