SlideShare une entreprise Scribd logo
1  sur  75
Télécharger pour lire hors ligne
CONTEXT-SENSITIVE
RANKING
Rakesh Agrawal / Ralf Rantzau /Evimaria Terzi
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
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.
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.
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
1.Introdução


        40.000 lojas

         30.000.000
    ofertas de produtos
Introdução
 Select * from produtos
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.
Introdução

        >

        >

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

     R


         P
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
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)= ┴
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)= ┴
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)= ┴
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)= ┴
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.
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) =⊥.
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) = ⊥
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.
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
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
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
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
Preferências Contextuais
 Preferência
 Pref(t1,t2,p1)
 Classe de preferências
 Tuplas asserted e indiferentes
 Preferência efetiva
 Grafo de preferência
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
The rank selection problem
PROBLEMA 1       M = qnt de
                  classes
The rank selection problem
Similaridade 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
The rank selection problem
Similaridade 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
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
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
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
Abordagem
Processamento Online
 A única tarefa é combinar as ordenações das
 tuplas já definidas offline
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)
4.Construting orders from
preferences
 Problema 2
  Encontrar uma ordenação entre as tuplas de
  acordo com cada classe de preferência
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
Construting orders from
preferences
 PICK-PERM
Construting orders from
preferences
 GREEDY-ORDER
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
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.
5.Finding representative orders


                T4
    T1          T7
                T9
                T11
     T2
     T5
     T8

                        T6
                         T3
                         T10
                         T12
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 >
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
Finding representative orders
 Spearman footrule



 Kendall tau
Finding representative orders
 GREEDY
Finding representative orders
 THE FURTHEST
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
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}
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.
Experimentos
        Distancia
         footrule
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
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
Ranked Top-k queries
 O score final da tupla t para a query q é:
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.
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
Experimentos
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.
O tempo de
resposta aumenta
linearmente de
acordo com o
numero de clusters
50
tupla
  s
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
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.
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.
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.
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.
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.
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”.
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.
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.
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.
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.
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
OBRIGADA!

Contenu connexe

Tendances (19)

Aula18 - Estatística Suficiente
Aula18 - Estatística SuficienteAula18 - Estatística Suficiente
Aula18 - Estatística Suficiente
 
11 eac proj vest mat módulo 2 progressões
11 eac proj vest mat módulo 2 progressões11 eac proj vest mat módulo 2 progressões
11 eac proj vest mat módulo 2 progressões
 
Progressões Aritméticas NTEM
Progressões Aritméticas NTEMProgressões Aritméticas NTEM
Progressões Aritméticas NTEM
 
P.a e p.g.
P.a e p.g.P.a e p.g.
P.a e p.g.
 
P.A.
P.A.P.A.
P.A.
 
Progressão aritmética e geométrica
Progressão aritmética e geométricaProgressão aritmética e geométrica
Progressão aritmética e geométrica
 
P.a. e p.g.
P.a. e p.g.P.a. e p.g.
P.a. e p.g.
 
Matematica: Progressao Aritmetica
Matematica: Progressao AritmeticaMatematica: Progressao Aritmetica
Matematica: Progressao Aritmetica
 
Matematica quantica
Matematica quanticaMatematica quantica
Matematica quantica
 
Progressão aritmética
Progressão aritméticaProgressão aritmética
Progressão aritmética
 
Derivadas1
Derivadas1Derivadas1
Derivadas1
 
Progressão aritmética
Progressão aritméticaProgressão aritmética
Progressão aritmética
 
Estudodareta 17122016
Estudodareta 17122016Estudodareta 17122016
Estudodareta 17122016
 
Progressão aritmética-prof-dalbello
Progressão aritmética-prof-dalbelloProgressão aritmética-prof-dalbello
Progressão aritmética-prof-dalbello
 
Aula 02 sequências
Aula 02   sequênciasAula 02   sequências
Aula 02 sequências
 
Mat progressao aritmetica ( pa ) i
Mat progressao aritmetica ( pa ) iMat progressao aritmetica ( pa ) i
Mat progressao aritmetica ( pa ) i
 
Progressão Aritmética
Progressão AritméticaProgressão Aritmética
Progressão Aritmética
 
Metódos de Pesquisa em C
Metódos de Pesquisa em CMetódos de Pesquisa em C
Metódos de Pesquisa em C
 
Progressaoaritmetica
ProgressaoaritmeticaProgressaoaritmetica
Progressaoaritmetica
 

En vedette (20)

Aula 03
Aula 03Aula 03
Aula 03
 
Libras seminário
Libras seminárioLibras seminário
Libras seminário
 
01 02 introdução aos bancos de dados (slides)
01 02 introdução aos bancos de dados (slides)01 02 introdução aos bancos de dados (slides)
01 02 introdução aos bancos de dados (slides)
 
Lógica Matematica aula2
Lógica Matematica aula2Lógica Matematica aula2
Lógica Matematica aula2
 
BDI_2_mer_entidade_atributo
BDI_2_mer_entidade_atributoBDI_2_mer_entidade_atributo
BDI_2_mer_entidade_atributo
 
www.AulasDeMatematicaApoio.com - Matemática - Matrizes
www.AulasDeMatematicaApoio.com  - Matemática - Matrizeswww.AulasDeMatematicaApoio.com  - Matemática - Matrizes
www.AulasDeMatematicaApoio.com - Matemática - Matrizes
 
Mark Weiser
Mark WeiserMark Weiser
Mark Weiser
 
Aula 02
Aula 02Aula 02
Aula 02
 
Progressões
ProgressõesProgressões
Progressões
 
Seminario classificadores
Seminario classificadoresSeminario classificadores
Seminario classificadores
 
Trabalho de libras correto
Trabalho de libras corretoTrabalho de libras correto
Trabalho de libras correto
 
Aula de matrizes
Aula de matrizesAula de matrizes
Aula de matrizes
 
Aula 04
Aula 04Aula 04
Aula 04
 
Optimizing Search
Optimizing SearchOptimizing Search
Optimizing Search
 
Algebra boole
Algebra booleAlgebra boole
Algebra boole
 
Aula de matrizes
Aula de matrizesAula de matrizes
Aula de matrizes
 
Progressões
ProgressõesProgressões
Progressões
 
Inequações do 2°grau
Inequações do 2°grauInequações do 2°grau
Inequações do 2°grau
 
Aula 01
Aula 01Aula 01
Aula 01
 
Inequacoes1
Inequacoes1Inequacoes1
Inequacoes1
 

Dernier

Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfSamaraLunas
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuisKitota
 

Dernier (9)

Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 

Context senstitive ranking_seminario_final

  • 1. CONTEXT-SENSITIVE RANKING Rakesh Agrawal / Ralf Rantzau /Evimaria Terzi
  • 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
  • 7. Introdução Select * from 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.
  • 9. Introdução > > >
  • 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. Problema R P
  • 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
  • 27. The rank selection problem PROBLEMA 1 M = qnt de classes
  • 28. The rank selection problem Similaridade 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. The rank selection problem Similaridade 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. 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
  • 33. Abordagem Processamento Online A única tarefa é combinar as ordenações das tuplas já definidas offline
  • 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)
  • 35. 4.Construting orders from preferences Problema 2 Encontrar uma ordenação entre as tuplas de acordo com cada classe de preferência
  • 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.
  • 41.
  • 42.
  • 43. 5.Finding representative orders T4 T1 T7 T9 T11 T2 T5 T8 T6 T3 T10 T12
  • 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
  • 46. Finding representative orders Spearman footrule Kendall tau
  • 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.
  • 52. Experimentos Distancia footrule
  • 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
  • 55. Ranked Top-k queries O score final da tupla t para a query q é:
  • 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
  • 59.
  • 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.
  • 61. O tempo de resposta aumenta linearmente de acordo com o numero de clusters
  • 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.
  • 74. 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