1 Efficient Computation of Diverse Query Results Erik Vee joint work with Utkarsh Srivastava, Jayavel Shanmugasundaram, Prashant Bhat, Sihem Amer Yahia.

Slides:



Advertisements
Similar presentations
A General Algorithm for Subtree Similarity-Search The Hebrew University of Jerusalem ICDE 2014, Chicago, USA Sara Cohen, Nerya Or 1.
Advertisements

Efficient Keyword Search for Smallest LCAs in XML Database Yu Xu Department of Computer Science & Engineering University of California, San Diego Yannis.
Fast Algorithms For Hierarchical Range Histogram Constructions
Nearest Neighbor Queries using R-trees
TREES Chapter 6. Trees - Introduction  All previous data organizations we've studied are linear—each element can have only one predecessor and successor.
Top-k Query Evaluation with Probabilistic Guarantees By Martin Theobald, Gerald Weikum, Ralf Schenkel.
Evaluating Search Engine
Optimized Query Execution in Large Search Engines with Global Page Ordering Xiaohui Long Torsten Suel CIS Department Polytechnic University Brooklyn, NY.
Tirgul 10 Rehearsal about Universal Hashing Solving two problems from theoretical exercises: –T2 q. 1 –T3 q. 2.
4/3/01CS632 - Data Mining1 Data Mining Presented By: Kevin Seng.
1 Ranked Queries over sources with Boolean Query Interfaces without Ranking Support Vagelis Hristidis, Florida International University Yuheng Hu, Arizona.
CS 206 Introduction to Computer Science II 12 / 03 / 2008 Instructor: Michael Eckmann.
This material in not in your text (except as exercises) Sequence Comparisons –Problems in molecular biology involve finding the minimum number of edit.
Copyright © 2006 The McGraw-Hill Companies, Inc. Programming Languages 2nd edition Tucker and Noonan Chapter 18 Program Correctness To treat programming.
B + -Trees (Part 1). Motivation AVL tree with N nodes is an excellent data structure for searching, indexing, etc. –The Big-Oh analysis shows most operations.
B + -Trees (Part 1) COMP171. Slide 2 Main and secondary memories  Secondary storage device is much, much slower than the main RAM  Pages and blocks.
1 Database Tuning Rasmus Pagh and S. Srinivasa Rao IT University of Copenhagen Spring 2007 February 8, 2007 Tree Indexes Lecture based on [RG, Chapter.
EFFICIENT COMPUTATION OF DIVERSE QUERY RESULTS Presenting: Karina Koifman Course : DB Seminar.
CS246 Ranked Queries. Junghoo "John" Cho (UCLA Computer Science)2 Traditional Database Query (Dept = “CS”) & (GPA > 3.5) Boolean semantics Clear boundary.
Hashed Samples Selectivity Estimators for Set Similarity Selection Queries.
Authors: Bhavana Bharat Dalvi, Meghana Kshirsagar, S. Sudarshan Presented By: Aruna Keyword Search on External Memory Data Graphs.
Primal-Dual Meets Local Search: Approximating MST’s with Non-uniform Degree Bounds Author: Jochen Könemann R. Ravi From CMU CS 3150 Presentation by Dan.
Improving Min/Max Aggregation over Spatial Objects Donghui Zhang, Vassilis J. Tsotras University of California, Riverside ACM GIS’01.
Spatial Data Management Chapter 28. Types of Spatial Data Point Data –Points in a multidimensional space E.g., Raster data such as satellite imagery,
1 B Trees - Motivation Recall our discussion on AVL-trees –The maximum height of an AVL-tree with n-nodes is log 2 (n) since the branching factor (degree,
Week 2 CS 361: Advanced Data Structures and Algorithms
Chapter 1 Computer System Overview Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William.
MPI Informatik 1/17 Oberseminar AG5 Result merging in a Peer-to-Peer Web Search Engine Supervisors: Speaker : Sergey Chernov Prof. Gerhard Weikum Christian.
Mehdi Kargar Aijun An York University, Toronto, Canada Keyword Search in Graphs: Finding r-cliques.
1 Evaluating top-k Queries over Web-Accessible Databases Paper By: Amelie Marian, Nicolas Bruno, Luis Gravano Presented By Bhushan Chaudhari University.
« Pruning Policies for Two-Tiered Inverted Index with Correctness Guarantee » Proceedings of the 30th annual international ACM SIGIR, Amsterdam 2007) A.
1 Efficient Search Ranking in Social Network ACM CIKM2007 Monique V. Vieira, Bruno M. Fonseca, Rodrigo Damazio, Paulo B. Golgher, Davi de Castro Reis,
« Performance of Compressed Inverted List Caching in Search Engines » Proceedings of the International World Wide Web Conference Commitee, Beijing 2008)
©Silberschatz, Korth and Sudarshan13.1Database System Concepts Chapter 13: Query Processing Overview Measures of Query Cost Selection Operation Sorting.
Querying Structured Text in an XML Database By Xuemei Luo.
Join Synopses for Approximate Query Answering Swarup Achrya Philip B. Gibbons Viswanath Poosala Sridhar Ramaswamy Presented by Bhushan Pachpande.
Keyword Searching and Browsing in Databases using BANKS Seoyoung Ahn Mar 3, 2005 The University of Texas at Arlington.
CSE373: Data Structures & Algorithms Lecture 11: Implementing Union-Find Aaron Bauer Winter 2014.
1 Heaps and Priority Queues Starring: Min Heap Co-Starring: Max Heap.
10/18: Lecture topics Memory Hierarchy –Why it works: Locality –Levels in the hierarchy Cache access –Mapping strategies Cache performance Replacement.
CSC 211 Data Structures Lecture 13
Mehdi Kargar Aijun An York University, Toronto, Canada Keyword Search in Graphs: Finding r-cliques.
Inference Complexity As Learning Bias Daniel Lowd Dept. of Computer and Information Science University of Oregon Joint work with Pedro Domingos.
Greedy is not Enough: An Efficient Batch Mode Active Learning Algorithm Chen, Yi-wen( 陳憶文 ) Graduate Institute of Computer Science & Information Engineering.
Symbol Tables and Search Trees CSE 2320 – Algorithms and Data Structures Vassilis Athitsos University of Texas at Arlington 1.
Thursday, May 9 Heuristic Search: methods for solving difficult optimization problems Handouts: Lecture Notes See the introduction to the paper.
Applications of Dynamic Programming and Heuristics to the Traveling Salesman Problem ERIC SALMON & JOSEPH SEWELL.
CS 206 Introduction to Computer Science II 04 / 22 / 2009 Instructor: Michael Eckmann.
QED: A Novel Quaternary Encoding to Completely Avoid Re-labeling in XML Updates Changqing Li,Tok Wang Ling.
All right reserved by Xuehua Shen 1 Optimal Aggregation Algorithms for Middleware Ronald Fagin, Amnon Lotem, Moni Naor (PODS01)
1 Heaps and Priority Queues v2 Starring: Min Heap Co-Starring: Max Heap.
R-Trees: A Dynamic Index Structure For Spatial Searching Antonin Guttman.
Ranking of Database Query Results Nitesh Maan, Arujn Saraswat, Nishant Kapoor.
03/02/20061 Evaluating Top-k Queries Over Web-Accessible Databases Amelie Marian Nicolas Bruno Luis Gravano Presented By: Archana and Muhammed.
Bushy Binary Search Tree from Ordered List. Behavior of the Algorithm Binary Search Tree Recall that tree_search is based closely on binary search. If.
1 Efficient Computation of Diverse Query Results Erik Vee joint work with Utkarsh Srivastava, Jayavel Shanmugasundaram, Prashant Bhat, Sihem Amer Yahia.
Adversarial Search 2 (Game Playing)
Winter 2016CISC101 - Prof. McLeod1 CISC101 Reminders Assignment 5 is posted. Exercise 8 is very similar to what you will be doing with assignment 5. Exam.
Sorting by placement and Shift Sergi Elizalde Peter Winkler By 資工四 B 周于荃.
XRANK: RANKED KEYWORD SEARCH OVER XML DOCUMENTS Lin Guo Feng Shao Chavdar Botev Jayavel Shanmugasundaram Abhishek Chennaka, Alekhya Gade Advanced Database.
Database Applications (15-415) DBMS Internals- Part III Lecture 13, March 06, 2016 Mohammad Hammoud.
Spatial Data Management
Chapter 12: Query Processing
Spatial Online Sampling and Aggregation
Programming Languages 2nd edition Tucker and Noonan
Structure and Content Scoring for XML
Structure and Content Scoring for XML
Information Retrieval and Web Design
Fraction-Score: A New Support Measure for Co-location Pattern Mining
Programming Languages 2nd edition Tucker and Noonan
Presentation transcript:

1 Efficient Computation of Diverse Query Results Erik Vee joint work with Utkarsh Srivastava, Jayavel Shanmugasundaram, Prashant Bhat, Sihem Amer Yahia Talk modified for CS 632 by S. Sudarshan

2 Motivation Imagine looking for shoes on Yahoo! Shopping, and seeing only Reeboks

3 Motivation Imagine looking for shoes on Yahoo! Shopping, and seeing only Reeboks … or looking for cars on Yahoo! Autos, and seeing only Hondas

4 Motivation Imagine looking for shoes on Yahoo! Shopping, and seeing only Reeboks … or looking for cars on Yahoo! Autos, and seeing only Hondas … or looking for jobs on Yahoo! Hotjobs, and seeing only jobs from Yahoo! It is not enough to simply give the best response –Need diversity of answers

5 Diversity Search If we display 30 results in 5 categories, then should show 6 items from each category –NB: Our goal is to show range of choices, not representative sample –Recurse on each subgroup of items Diversity crucial for users looking for range of results –e.g. Shopping, information gathering/research Useful for aiding navigation –Users tend to favor search-and-click over hierarchies Likely to give at least one good answer on first page

6 Contributions Formally define diversity search –Other diversity-like approaches use extensive post-processing or are not query-dependent Proved that traditional IR engines cannot produce guaranteed diverse results Gave novel algorithms to produce diverse results –Both one-pass (datastreaming) and probing algorithms Experimentally verified that these results are nearly as fast as normal top-k processing –Much faster than post-processing techniques

7 What about other approaches? If not diverse enough, query again –E.g. If all results are from one company, issue another query –Bad for latency Issue multiple queries (one for Honda, one for Toyota...) –Can be prohibitively expensive (kills throughput) latency fine –Some applications may have dozens of top-level categories Fetch extra results, then find most diverse set from this –Not guaranteed to get good results –Requires fetching additional results unnecessarily Fetch all results, then find diverse set –Many times slower Random sample of results –Miss important results this way

8 What about clever scoring? Can we give each item a global “diversity” score, then find top-k using this? –Prove in paper: There is no global score that gives guaranteed diversity Can we give each item a local “diversity” score, so that it has a different score in each list of the inverted index? –Prove in paper: There is no list-based scoring of the item that gives guaranteed diversity

9 Outline Definition of diversity Overview of our algorithms Our experimental results

10 Diversity search Over all possible sets of top-k results that match query, return set with most diversity Paper defines diversity more precisely –Focus on hierarchy view of diversity (in next slides) For scored diversity (in which each item has a score) –Over all possible sets of top-k results with maximum score, return set with highest diversity –Note: Diversity only useful when score not too fine-grained

11 Diversity definition (by picture) Implicitly defines hierarchy Make Model Color Year Text Determine a category ordering

12 Hierarchy after a query Diversity search always returns valid results E.g. Query text contains `Low`

13 Hierarchy after a query Diversity search always returns valid results E.g. Query text contains `Low` All siblings return the same number of results (or as close as possible)

14 Returning top-k diverse results Diversity search always returns valid results E.g. Query text contains `Low` Suppose return k=4 results Must return 2 Hondas and 2 Toyotas Will not return 2 green Civics

15 Outline Definition of diversity Overview of our algorithms Our experimental results

16 Algorithms One Pass –Never goes backward (just one pass over dataset) –Maintains a top-k diverse set based on what has been seen –Jumps ahead if more results will not help diversity –Optimal one-pass algorithm Probe –May jump forward or backward (i.e. probes) –Prove: at most 2k probes for top-k diverse result set Both also work for scored diversity

17 Dewey IDs Every branch gets a number Every item then labeled, e.g is Honda Odyssey Green ’06 `Good miles’ Create inverted index low  00000, 00010, 00100, 00200, 00300, 00310, 10000, 11000, 12000, 13000

18 Next and Prev Supports two basic operations: Next and Prev E.g. Query text contains `Low` Next( ) = Prev( ) = Inverted index for ‘Low’ lists all items in Dewey ID order In general, must find intersection of lists (still easy) low  00000, 00010, 00100, 00200, 00300, 00310, 10000, 11000, 12000, 13000

19 One pass (for k = 2) First finds 00000, Now knows Civic Green no longer helps Jumps by calling next( )

20 Finds Removes One pass (for k = 2) First finds 00000, Now knows Civic Green no longer helps! Jumps by calling next( ) Now knows Civic no longer helps! Jumps by calling next( )

21 Finds Removes One pass (for k = 2) First finds 00000, Now knows Civic Green no longer helps! Jumps by calling next( ) Now knows Civic no longer helps! Jumps by calling next( ) Finds Removes Knows to stop

22 Unscored One-Pass Algorithm Key step: deciding where to skip to Remove 1 st element in queue

23 One-Pass Algorithm (Cont.) Complexity: k ln d (3k) Scored One Pass Algo: same algo as for unscored case, except: –replace line 11 of the unscored one-pass algorithm with the line id = mergedList.next(id+1, skipId, root, minScore) The semantics of the above line is to return the smallest id greater than or equal to id+1 such that either –score(id) > root.minScore, or –score(id) >= root.minScore, and the return id is greater than skipId.

24 Probe (for k = 4) Calls next( ) and prev( . . . .  ) to find first and last items Wants another Honda Calls prev(0. . . .  ) Discovers there are only 2 top-level categories

25 Probe (for k = 4) Calls next( ) and prev( . . . .  ) to find first and last items Wants another Honda Calls prev(0. . . .  ) Why not next( )? If Honda has only one child, then will return a Toyota!

26 Probe (for k = 4) Calls next( ) and prev( . . . .  ) to find first and last items Wants another Honda Calls prev(0. . . .  ) Finds Wants another Toyota Calls next( )

27 Probe (for k = 4) Calls next( ) and prev( . . . .  ) to find first and last items Wants another Honda Calls prev(0. . . .  ) Finds Wants another Toyota Calls next( ) Finds 10000

28 Unscored Probing Algorithm

29 Unscored Probing (Cont.)

30 Unscored Probing (Cont.)

31 Unscored Probing (Cont.)

32 Unscored Probing Invariant: Whenever id  node, either id belongs to some child of node in our data structure, or node.edge[LEFT] <= id <= node.edge[RIGHT] Invariant: Let node be some node in our data structure, and suppose during the execution of the algorithm, we call node.getProbeId(), returning (probeId, dir). Then we have mergedList.next(probeId, dir)  node. Theorem 2: The unscored probing algorithm given in Algorithms 2, 3 makes at most 2k calls to next.

33 Scored Probing (Cont.) Let  be the score of the lowest-scoring item in thetop-K list returned. Diversity is only guaranteed among items whose score is . –The difficulty comes from not knowing the exact value of .

34 Scored Probing

35 Outline Definition of diversity Overview of our algorithms Our experimental results

36 Results Dataset consisted of listing from Yahoo! Autos Queries were synthetic to test various parameters –Selectivity, # predicates, # results Preprocessing time for 100K listings < 5min –Times shown are for 5K queries 4 algorithms –Basic: No diversity –Naïve: Fetch everything, post-process –OnePass: Our algorithm. Takes just one pass over data –Probe: Our algorithm. May make multiple probes into data

37 Comparable time for diversity search unscoredscored Basic: No diversity Naïve: Many times slowerOnePass: Close to probe Probe: Within factor 2 of no diversity MultiQuery (not shown): Latency close to Basic, but throughput many times worse

38 Results summary Getting diverse results not too much slower than getting non-diverse results –Many times faster than naïve approaches Multi-query approach has even worse throughput than naïve –But keeps latency low How does this compare to getting extra results, then finding a diverse subset? –Getting 2k results instead of k is about twice as slow –Plus, does not guarantee diverse results

39 Conclusions Can get guaranteed diversity, taking time close to normal top-k query –Almost as fast or faster than non-guaranteed results –Diversity at every level Works even when items have scores Needs a different algorithm than traditional IR engines –Proved this in paper (under standard notions) Are there approximate notions that can use existing IR machinery?

40