bai tap nhóm co hien.

download bai tap nhóm co hien.

of 17

Transcript of bai tap nhóm co hien.

  • 8/3/2019 bai tap nhm co hien.

    1/17

    Probabilistic Ranking of Database Query Results

    Surajit Chaudhuri Gautam Das

    Microsoft ResearchOne Microsoft WayRedmond, WA 98053

    USA{surajitc, gautamd}@mi cr oso f t.c om

    Vagelis Hristidis

    School of Comp. Sci.Florida Intl. UniversityMiami, FL 33199

    USAv a g e lis@ c s.f iu.e du

    Gerhard Weikum

    MPI InformatikStuhlsatzenhausweg 85D-66123 Saarbruecken

    Germany w e ikum@mpi -sb.mp g .de

    Abstract

    We investigate the problem of ranking answersto a database query when many tuples arereturned. We adapt and apply principles of

    probabilistic models from InformationRetrieval for structured data. Our proposed solution is domain independent. Itleverages data and workload statistics andcorrelations. Our ranking functions can befurther customized for different applications.We present results of preliminary experimentswhich demonstrate the efficiency as well as thequality of our ranking system.

    1. Introduction

    Database systems support a simple Boolean queryretrieval model, where a selection query on a SQLdatabase returns all tuples that satisfy the conditions in thequery. This often leads to the Many-Answers Problem:when the query is not very selective, too many tuples maybe in the answer. We use the following running examplethroughout the paper:

    Example: Consider a realtor database consisting of a single table with attributes such as (TID, Price, City,Bedrooms, Bathrooms, LivingArea, SchoolDistrict, View, Pool, Garage, BoatDock ). Each tuple represents ahome for sale in the US.

    Consider a potential home buyer searching for homesin this database. A query with a not very selective

    Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributedfor direct commercial advantage, the VLDB copyright notice and thetitle of the publication and its date appear, and notice is given thatcopying is by permission of the Very Large Data Base

    Endowment. To copy otherwise, or to republish, requires a feeand/or special permission from the EndowmentProceedings of the 30

    thVLDB

    Conference, Toronto, Canada, 2004

    condition such as City=Seattle and

    View=Waterfront may result in too many tuples in theanswer, since there are many homes with waterfrontviews in Seattle.

    The Many-Answers Problem has been investigatedoutside the database area, especially in Information

    Retrieval (IR), where many documents often satisfy agiven keyword-based query. Approaches to overcome thisproblem range from query reformulation techniques (e.g.,the user is prompted to refine the query to make it moreselective), to automatic ranking of the query results bytheir degree of relevance to the query (though the usermay not have explicitly specified how) and returning onlythe top-Ksubset.

    It is evident that automated ranking can havecompelling applications in the database context. Forinstance, in the earlier example of a homebuyer searchingfor homes in Seattle with waterfront views, it may bepreferable to first return homes that have other desirable

    attributes, such as good school districts, boat docks, etc.In general, customers browsing product catalogs will findsuch functionality attractive.

    In this paper we propose an automated rankingapproach for the Many-Answers Problem for databasequeries. Our solution is principled, comprehensive, andefficient. We summarize our contributions below.

    Any ranking function for the Many-Answers Problemhas to look beyond the attributes specified in the query,because all answer tuples satisfy the specified conditions1.However, investigating unspecified attributes is particularly tricky since we need to determine what theusers preferences for these unspecified attributes are. Inthis paper we propose that the ranking function of a tupledepends on two factors: (a) aglobal score which capturesthe global importance of unspecified attribute values, and

    1In the case of document retrieval, ranking functions are often based

    on the frequency of occurrence of query values in documents(term frequency, or TF). However, in the database context,especially in the case of categorical data, TF is irrelevant as tupleseither contain or do not contain a query value. Hence ranking functionsneed to also consider values of unspecified attributes.

    888

    mailto:@microsoft.commailto:@microsoft.commailto:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:@microsoft.com
  • 8/3/2019 bai tap nhm co hien.

    2/17

    (b) a conditional score which captures the strengths ofdependencies (or correlations) between specified andunspecified attribute values. For example, for the queryCity = Seattle and View = Waterfront, a home that isalso located in a SchoolDistrict = Excellent gets highrank because good school districts are globally desirable.A home with also BoatDock = Yes gets high rankbecause people desiring a waterfront are likely to want a

    boat dock. While these scores may be estimated by thehelp of domain expertise or through user feedback, we propose an automatic estimation of these scores viaworkload as well as data analysis. For example, pastworkload may reveal that a large fraction of users seekinghomes with a waterfront view have also requested forboat docks.

    The next challenge is how do we translate these basicintuitions into principled and quantitatively describableranking functions? To achieve this, we develop rankingfunctions that are based on Probabilistic InformationRetrieval(khi phc li c, b p, cu thoat) (PIR)ranking models. We chose PIR models because we

    could extend them to model datadependencies and correlations (the critical ingredients ofour approach) in a more principled manner than if we hadworked with alternate IR ranking models such as theVector-Space model. We note that correlations are oftenignored in IR because they are very difficult to capture inthe very high-dimensional and sparsely populated featurespaces of text data, whereas there are often strongcorrelations between attribute values in relational data(with functional dependencies being extreme cases),which is a much lower-dimensional, more explicitlystructured and densely populated space that our rankingfunctions can effectively work on.

    The architecture of our ranking has a pre-processingcomponent that collects database as well as workloadstatistics to determine the appropriate ranking function.The extracted ranking function is materialized in anintermediate knowledge representation layer, to be usedlater by a query processing component for ranking theresults of queries. The ranking functions are encoded inthe intermediate layer via intuitive, easy-to-understandatomic numerical quantities that describe (a) the globalimportance of a data value in the ranking process, and (b)the strengths of correlations between pairs of values (e.g.,if a user requests tuples containing valuey of attribute Y,how likely is she to be also interested in value x ofattribute X?). Although our ranking approach derives

    these quantities automatically, our architecture allowsusers and/or domain experts to tune these quantitiesfurther, thereby customizing the ranking functions fordifferent applications.

    We report on a comprehensive set of experimentalresults. We first demonstrate(chng minh) through userstudies on real datasets that our rankings are superior(cao)in quality to previous efforts(n lc) on this problem. Wealso demonstrate the efficiency of our ranking system.Our implementation is especially tricky because ourranking functions are

    relatively complex, involving dependencies/correlations between data values. We use novel(l thng) pre-computation techniques which reduce this complex problem to a problem efficiently(hiu qu) solvable(tan)using Top-Kalgorithms.

    The rest of this paper is organized as follows. InSection 2 we discuss related work. In Section 3 we definethe problem and outline the architecture of our solution.

    In Section 4 we discuss our approach to ranking based on probabilistic models from information retrieval. InSection 5 we describe an efficient implementation of ourranking system. In Section 6 we discuss the results of ourexperiments, and we conclude in Section 7.

    2. Related Work

    Extracting ranking functions has been extensivelyinvestigated in areas outside database research such asInformation Retrieval. The vector space model as well as probabilistic information retrieval (PIR) models [4, 28,29] and statistical language models [14] are very

    successful in practice. While our approach(phngphp tip cn) has been inspired(ly cm hng t) byPIR models, we have adapted(thch nghi) andextended(m rng) them in ways unique(c o) to oursituation, e.g., by leveraging(tn dng) the structure aswell as correlations(tng quan) present in the structureddata and the database workload.(khi lng cng vic)

    In database research, there has been some work onranked retrieval from a database. The early work of [23]considered vague/imprecise similarity-based querying ofdatabases. The problem of integrating databases andinformation retrieval systems has been attempted inseveral works [12, 13, 17, 18]. Information retrieval based

    approaches have been extended to XML retrieval (e.g.,see [8]). The papers [11, 26, 27, 32] employ relevance-feedback techniques for learning similarity in multimediaand relational databases. Keyword-query based retrievalsystems over databases have been proposed in [1, 5, 20].In [21, 24] the authors propose SQL extensions in whichusers can specify ranking functions via soft constraints inthe form of preferences. The distinguishing aspect of ourwork from the above is that we espouse automaticextraction of PIR-based ranking functions through dataand workload statistics.

    The work most closely related to our paper is [2]which briefly considered the Many-Answers Problem

    (although its main focus was on the Empty-AnswersProblem, which occurs when a query is too selective,resulting in an empty answer set). It too proposedautomatic ranking methods that rely on workload as wellas data analysis. In contrast, however, the current paperhas the following novel strengths: (a) we use moreprincipled probabilistic PIR techniques rather than ad-hoctechniques loosely based on the vector-space model,and (b) we take into account dependencies andcorrelations between data values, whereas [2] onlyproposed a form of global score for ranking.

    Ranking is also an important component incollaborative filtering research [7]. These methods require

  • 8/3/2019 bai tap nhm co hien.

    3/17

    889

  • 8/3/2019 bai tap nhm co hien.

    4/17

    training data using queries as well as their ranked results.In contrast, we require workloads containing queries only.

    A major concern of this paper is the query processing

    system allows for easy customization of the rankingfunctions for different applications.

    techniques for supporting ranking. Several techniqueshave been previously developed in database research forthe Top-K problem [8, 9, 15, 16, 31]. We adopt theThreshold Algorithm of [16, 19, 25] for our purposes, andshow how novel pre-computation techniques can be used

    to produce a very efficient implementation of the Many-Answers Problem. In contrast, an efficientimplementation for the Many-Answers Problem was leftopen in [2].

    3. Problem Definition and Architecture

    In this section, we formally define the Many-AnswersProblem in ranking database query results, and alsooutline a general architecture of our solution.

    Pre-Processing

    Extract

    Ranking

    Function

    Customize

    Ranking

    Function

    Workload

    Data

    Intermediate

    Knowledge

    Query Processing

    Submit

    Ranking

    Query

    Top-K

    Algorithm

    Top-K

    Tuples

    3.1 Problem Definition

    (optional) Representation

    Layer

    We start by defining the simplest problem instance.

    Consider a database tableD with n tuples {t1, , tn} overa set of m categorical attributes A = {A1, , Am}.Consider a SELECT * FROM D query Q with aconjunctive selection condition of the form WHEREX1=x1 AND AND Xs=xs, where each Xi is anattribute fromA andxi is a value in its domain. The set ofattributesX ={X1, , Xs}A is known as the set of attributes

    specifiedby the query, while the set Y = A Xis knownas the set ofunspecifiedattributes. Let S {t1, , tn} bethe answer set ofQ. The Many-Answers Problem occurswhen the query is not too selective, resulting in a largeS.

    The above scenario only represents the simplest problem instance. For example, the type of queries

    described above are fairly restrictive; we refer to them aspoint queriesbecause they specify single-valued equalityconditions on each of the specified attributes. In a moregeneral setting, queries may contain range/IN conditions,and/or Boolean operators other than conjunctions.Likewise, databases may be multi-tabled, may contain amix of categorical and numeric data, as well as missing or NULL values. While our techniques extend to all thesegeneralizations, in the interest of clarity (and due to lack

    Figure 1: Architecture of Ranking System

    In the next section we discuss PIR-based rankingfunctions for structured data.

    4. Ranking Functions: Adaptation of PIR

    Models for Structured Data

    In this section we discuss PIR-based ranking functions,and then show how they can be adapted for structureddata. We discuss the semantics of the atomic buildingblocks that are used to encode these ranking functions inthe intermediate layer. We also show how these atomicnumerical quantities can be estimated from a variety ofknowledge sources, such as data and workload statistics,

    as well as domain knowledge.

    4.1 Review of Probabilistic Information Retrieval

    Much of the material of this subsection can be found intextbooks on Information Retrieval, such as [4] (see also[28, 29]). We will need the following basic formulas fromprobability theory:

    p(b | a)p(a)of space), the main focus of this paper is on ranking theresults of conjunctive point queries on a single categoricaltable (without NULL values).

    3.2 General Architecture of our Approach

    Bayes Rule:

    Product Rule:

    p(a | b) =

    p(a,b | c)=

    p(b)

    p(a | c)p(b | a, c)

    Figure 1 shows the architecture of our proposed systemfor enabling ranking of database query results. Asmentioned in the introduction, the main components arethe preprocessing component, an intermediate knowledgerepresentation layer in which the ranking functions areencoded and materialized, and a query processingcomponent. The modular and generic nature of our

    Consider a document collectionD. For a (fixed) query Q,letR represent the set ofrelevantdocuments, and R =DRbe the set ofirrelevantdocuments. In order to rank anydocument t in D, we need to find the probability of therelevance of t for the query given the text features oft(e.g., the word/term frequencies in t), i.e., p(R|t). Moreformally, in probabilistic information retrieval, documents

    890

  • 8/3/2019 bai tap nhm co hien.

    5/17

    are ranked by decreasing order of their odds of relevance,defined as the followingscore:

    p(t |R)p(R)

    Furthermore, the relevant set R for the Many-Answers problem is a subset of all tuples that satisfy the queryconditions. One way to understand this is to imagine thatR is the ideal set of tuples the user had in mind, but who

    Score (t)=

    p(R | t)

    =p(R | t)

    p(t)

    p(t |R )p(R)

    p(t)

    p(t |R)

    p(t |R )only managed to partially specify it when preparing thequery. Consequently the numeratorp(Y | X , R) maybe replaced byp(Y|R) . We thus get

    The main issue is, how are these probabilities computed,given thatR and R are unknown at query time? The usualtechniques in IR are to make some simplifyingassumptions, such as estimatingR through user feedback,approximating R asD (sinceR is usually small compared

    Score(t) p(Y |R)

    p(Y |X,D)(1)

    toD), and assuming some form of independence betweenquery terms (e.g., theBinary Independence Model).

    In the next subsection we show how we adapt PIRmodels for structured databases, in particular forconjunctive queries over a single categorical table. Ourapproach is more powerful than the Binary IndependenceModel as we also leverage data dependencies.

    4.2 Adaptation of PIR Models for Structured Data

    In our adaptation of PIR models for structured databases,each tuple in a single database table D is effectivelytreated as a document. For a (fixed) query Q, ourobjective is to derive Score(t) for any tuple t, and use thisscore to rank the tuples. Since we focus on the Many-Answers problem, we only need to concern ourselveswith tuples that satisfy the query conditions. Recall thenotation from Section 3.1, whereXis the set of attributesspecified in the query, and Y is the remaining set ofunspecified attributes. We denote any tuple t aspartitioned into two parts, t(X) and t(Y), where t(X) is the

    subset of values corresponding to the attributes inX, andt(Y) is the remaining subset of values corresponding to theattributes in Y. Often, when the tuple t is clear from thecontext, we overload notation and simply write t asconsisting of two parts,Xand Y(in this context,Xand Yare thus sets of values rather than sets of attributes).

    Replacing twithXand Y(and R asD as mentioned inSection 4.1 is commonly done in IR), we get

    We are not quite finished with our derivation ofScore(t)yet, but let us illustrate Equation 1 with an example.Consider a query with condition City=Kirkland andPrice=High (Kirkland is an upper class suburb of Seattleclose to a lake). Such buyers may also ideally desirehomes with waterfront or greenbelt views, but homes

    with views looking out into streets may be somewhat lessdesirable. Thus, p(View=Greenbelt | R) andp(View=Waterfront | R) may both be high, butp(View=Street |R) may be relatively low. Furthermore, ifin general there is an abundance of selected homes withgreenbelt views as compared to waterfront views, (i.e., thedenominator p(View=Greenbelt | City=Kirkland,Price=High, D) is larger than p(View=Waterfront |City=Kirkland, Price=High,D)), our final rankings wouldbe homes with waterfront views, followed by homes withgreenbelt views, followed by homes with street views. Note that for simplicity, we have ignored the remainingunspecified attributes in this example.

    4.2.1 Limited Independence Assumptions

    One possible way of continuing the derivation ofScore(t)would be to make independence assumptions betweenvalues of different attributes, like in the BinaryIndependence Model in IR. However, while this isreasonable with text data (because estimating modelparameters like the conditional probabilitiesp(Y|X) posesmajor accuracy and efficiency problems with sparse andhigh-dimensional data such as text), we have earlier

    Score(t)

    p(t |R)

    =p(t |D)

    p(X,Y

    p(X,

    Y

    |R)

    |D)argued that with structured data, dependencies betweendata values can be better captured and would moresignificantly impact the result ranking. An extreme

    p(X

    p(X

    |R)

    |D)

    p(Y

    p(Y

    |X,R)

    |X,D)alternative to making sweeping independenceassumptions would be to construct comprehensivedependency models of the data (e.g. probabilistic

    Since for the Many-Answers problem we are onlyinterested in ranking tuples that satisfy the queryconditions, and all such tuples have the sameXvalues, wecan treat any quantity not involving Yas a constant. Wethus get

    graphical models such as Markov Random Fields orBayesian Networks [30]), and derive ranking functions based on these models. However, our preliminaryinvestigations suggested that such approaches, particularly for large datasets, have unacceptable pre-

    Score(t) p(Y |X,R)

    p(Y |X,D)

    processing and query processing costs.Consequently, in this paper we espouse an approach

    that strikes a middle ground. We only make limited forms

  • 8/3/2019 bai tap nhm co hien.

    6/17

    891

  • 8/3/2019 bai tap nhm co hien.

    7/17

    yY xX

    yY xX

    of independence assumptions given a query Q and atuple t, the X (and Y) values within themselves areassumed to be independent, though dependencies betweenthe X and Y values are allowed. More precisely, we

    training. In our case, we provide an automated approachthat leverages available workload information forestimatingp(y |R) .

    We assume that we have at our disposal a workloadassume limited conditional independence, i.e., p(X|

    C)W, i.e., a collection of ranking queries that have been

    (resp. p(Y| C) ) may be written as p(x | C

    )xX

    (resp. executed on our system in the past. We first provide someintuition of how we intend to use the workload in ranking.

    p(y | C) ) where Cis any condition that only

    involvesyY

    Yvalues (resp.Xvalues),R, orD.While this assumption is patently false in many cases

    (for instance, in the example in Section 4.2 this assumesthat there is no dependency between homes in Kirklandand high-priced homes), nevertheless the remainingdependencies that we do leverage, i.e., between thespecified and unspecified values, prove to be significantfor ranking. Moreover, as we shall show in Section 5, the

    resulting simplified functional form of the rankingfunction enables the efficient adaptation of known Top-Kalgorithms through novel data structuring techniques.

    We continue the derivation of the score of a tupleunder the above assumptions:

    Consider the example in Section 4.2 where a user hasrequested for high-priced homes in Kirkland. Theworkload may perhaps reveal that, in the past a largefraction of users that had requested for high-priced homesin Kirkland had also requested for waterfront views. Thusfor such users, it is desirable to rank homes withwaterfront views over homes without suchviews.

    We note that this dependency information may not bederivable from the data alone, as a majority of suchhomes may not have waterfront views (i.e., datadependencies do not indicate user preferences as workloaddependencies do). Of course, the other option is for adomain expert (or even the user) to provide thisinformation (and in fact, as we shall discuss later, ourranking architecture is generic enough to allow furthercustomization by human experts).

    Score (t) yY

    p (y |R )=

    p (y | X,D ) yY

    p (y |R)

    p (X,D | y )p (y )

    p (X,D)

    More generally, the workload Wis represented as a setof tuples, where each tuple represents a query and is avector containing the corresponding values of thespecified attributes. Consider an incoming query Q whichspecifies a set X of attribute values. We approximate Ras

    yY

    =

    p (y |R

    )p (X,D | y )p (

    y )

    p (y |R)

    all query tuples in W that also request for X. Thisapproximation is novel to this paper, i.e., that allproperties of the set of relevant tuplesR can be obtained by only examining the subset of the workload that

    yY p (D | y )p (X

    p (y |R)

    | y ,D )p (y)

    1

    contains queries that also request forX. So for a querysuch as City=Kirkland and Price=High, we look at the

    =

    yY

    p (D | y )p (y )

    p (y |R )

    p (x | y ,D)

    1

    workload in determining what such users have alsorequested for often in the past.

    We can thus write, for query Q, with specified

    yY

    p (D | y )p (y )

    p (x | y ,D)

    attribute set X, p(y |R) as p(y | X,W) . Makingthis

    p (D )

    This simplifies to

    substitution in Equation 2, we get

    Score(t) p(y | X,W)

    1

    yY p(y |D)

    yY xX

    p(x | y,D)

    Score(t) p(y |R)

    1

    (2) p(X,W | y)p(y)yY p(y |D) yY xX p(x | y,

    D) =p(X,W)

    p(y |D)

    1

    p(x | y,D)

    Although Equation 2 represents a simplification over Equ ation 1, it is still not directly computable,

  • 8/3/2019 bai tap nhm co hien.

    8/17

    yY xX

    as R is unknown. We discuss how to estimatethe quantitiesp(y |R) next.

    yY

    yY

    p(X,W | y)p(y)

    p(y |D)

    yY xX

    1

    p(x | y,D)

    4.2.2 Workload-Based Estimation ofp(y|R) =yY

    p(W | y)p(X |W,y)p(y)

    p(y |D)

    1

    yY xX p(x | y,D)

    Estimating the quantities p(y |R) requires knowledge ofR, which is unknown at query time. The usual techniquefor estimatingR in IR is through user feedback (relevance

    p(y |W)p(x | y,W)1

    xX

    feedback) at query time, or through other forms of yY p(y |D) yY xX p(x | y,D)

    892

  • 8/3/2019 bai tap nhm co hien.

    9/17

    Pre-Processing

    AtomicProbabilitiesModule

    Workload

    Query Processing

    Scan Algorithm

    Data

    Customize

    Ranking

    Function

    (optional)

    AtomicProbabilitiesTables

    (Intermediate Layer)

    Submit

    Ranking

    Query

    Top-K

    Tuples

    Index ModuleGlobal and

    Conditional Lists

    Tables

    List Merge Algorithm

    Figure 2: Detailed Architecture of Ranking System

    This can be finally rewritten as:

    Score(t) p(y | W)

    p(x |

    y,W)(3)

    the intermediate knowledge representation layer. At

    query time, the necessary quantities may be retrieved andappropriately composed for performing the rankings.Further details of the implementation are discussed in

    yY p(y |D) yYxX

    p(x |y,D)

    Section 5.While the above is an automated approach based on

    workload analysis, it is possible that sometimes theEquation 3 is the final ranking formula that we use in therest of this paper. Note that unlike Equation 2, we haveeffectively eliminated R from the formula, and are onlyleft with having to compute quantities such asp(y |W) ,p(x |y,W) ,p(y |D) ,andp(x |y,D) . In

    fact, these are the atomic numerical quantities referredto at various places earlier in the paper.Also note that the score in Equation 3 is composed of

    two large factors. The first factor may be considered asthe globalpart of the score, while the second factor maybe considered as the conditionalpart of the score. Thus, inthe example in Section 4.2, the first part measures theglobal importance of unspecified values such aswaterfront, greenbelt and street views, while the secondpart measures the dependencies between these values andspecified values City=Kirkland and Price=High.

    workload may be insufficient and/or unreliable. In suchinstances, it may be necessary for domain experts to beable to tune the ranking function to make it more suitablefor the application at hand.

    5. Implementation

    In this section we discuss the implementation of ourdatabase ranking system. Figure 2 shows the detailedarchitecture, including the pre-processing and queryprocessing components as well as their sub-modules. Wediscuss several novel data structures and algorithms thatwere necessary for good performance of our system.

    5.1 Pre-Processing

    This component is divided into several modules. First, the Atomic Probabilities Module computes the quantities

    4.3 Computing the Atomic Probabilities p(y |W),

    p(y |D),

    p(x |y,W) , andp(x | y,D)

    for

    Our strategy is to pre-compute each of the atomicquantities for all distinct values in the database. The

    all distinct valuesx andy. These quantities are computed by scanning the workload and data, respectively (while

    quantities p(y |W)and

    p(y |D) are simply the relative the latter two quantities can be computed by running a

    frequencies of each distinct value y in the workload anddatabase, respectively (the latter is similar to IDF, or theinverse document frequency concept in IR), while the

    general association rule mining algorithm such as [3] onthe workload and data, we instead chose to directlycompute all pair-wise co-occurrence frequencies by a

    quantities p(x |y,W)

    and p(x |y,D) may besingle scan of the workload and data respectively). Theobserved probabilities are then smoothened using the

    estimated by computing the confidences of pair-wiseassociation rules [3] in the workload and database,

    respectively. Once this pre-computation has beencompleted, we store these quantities as auxiliary tables in

    Bayesian m-estimate method [10].These atomic probabilities are stored as database

    tables in the intermediate knowledge representation layer,

  • 8/3/2019 bai tap nhm co hien.

    10/17

    893

  • 8/3/2019 bai tap nhm co hien.

    11/17

    with appropriate indexes to enable easy retrieval. In depend on the total number of attributes in the database,particular, p(y |W)

    andp(y |D) are respectivelystored

    which would cause major performance problems.

    in two tables, each with columns {AttName, AttVal,Prob} and with a composite B+ tree index on (AttName,

    In what follows, we show how to pre-compute datastructures that indeed enable us to efficiently adapt TA for

    AttVal), while p(x |y,W) andp(x |y,D)

    respectively our problem. At query time we do a TA-like merging of

    are stored in two tables, each with columns{AttNameLeft, AttValLeft, AttNameRight, AttValRight,Prob} and with a composite B+ tree index on(AttNameLeft, AttValLeft, AttNameRight, AttValRight).These atomic quantities can be further customized byhuman experts if necessary.

    This intermediate layer now contains enoughinformation for computing the ranking function, and anave query processing algorithm (henceforth referred toas the Scan algorithm) can indeed be designed, which, forany query, first selects the tuples that satisfy the querycondition, then scans and computes the score for eachsuch tuple using the information in this intermediatelayer, and finally returns the Top-Ktuples. However, suchan approach can be inefficient for the Many-Answersproblem, since the number of tuples satisfying the querycondition can be very large. At the other extreme, wecould pre-compute the Top-K tuples for all possiblequeries (i.e., for all possible sets of values X), and atquery time, simply return the appropriate result set. Ofcourse, due to the combinatorial explosion, this isinfeasible in practice. We thus pose the question: how canwe appropriately trade off between pre-processing and

    several ranked lists (i.e. sorted streams). However, therequired number of sorted streams depends only ons andnot on m (s is the number of specified attribute values inthe query while m is the total number of attributes in thedatabase, see Section 3.1). We emphasize that such amerge operation is only made possible due to the specificfunctional form of our ranking function resulting from ourlimited independence assumptions as discussed in Section4.2.1. It is unlikely that TA can be adapted, at least in afeasible manner, for ranking functions that rely on morecomprehensive dependency models of the data.

    We next give the details of these data structures. Theyare pre-computed by the Index Module of the pre-processing component. This module (see Figure 3 for the

    algorithm) takes as inputs the association rules and thedatabase, and for every distinct valuex, creates two listsCx and Gx, each containing the tuple-ids of all datatuples that contain x, ordered in specific ways. Thesetwo lists are defined as follows:1. Conditional List Cx: This list consists of pairs of the

    form , ordered by descendingCondScore, where TID is the tuple-id of a tuple tthatcontainsx and

    query processing, i.e., what additional yet reasonable pre-computations are possible that can enable faster query-

    CondScore =zt

    p(x |z,W)

    p(x |z,D)processing algorithms than Scan?

    The high-level intuition behind our approach to theabove problem is as follows. Instead of pre-computing theTop-K tuples for all possible queries, we pre-computeranked lists of the tuples for all possible atomic queries- each distinct valuex in the table defines an atomic query

    wherez ranges over all attribute values oft.2. Global List Gx: This list consists of pairs of the form

    , ordered by descendingGlobScore, where TID is the tuple-id of a tuple tthatcontainsx and

    p (z | W)Qx that specifies the single value {x}. Then at query time,

    GlobScore =zt p (z | D )

    given an actual query that specifies a set of valuesX, wemerge the ranked lists corresponding to eachx in X tocompute the final Top-Ktuples.

    Of course, for this high-level idea to work, the mainchallenge is to be able to perform the merging withouthaving to scan any of the ranked lists in its entirety. Oneidea would be to try and adapt well-known Top-Kalgorithms such as the Threshold Algorithm (TA) and its

    derivatives [9, 15, 16, 19, 25] for this problem. However,it is not immediately obvious how a feasible adaptationcan be easily accomplished. For example, it is especiallycritical to keep the number of sorted streams (an accessmechanism required by TA) small, as it is well-knownthat TAs performance rapidly deteriorates as this numberincreases. Upon examination of our ranking function inEquation 3 (which involves all attribute values of thetuple, and not just the specified values), the number of

    These lists enable efficient computation of the score of atuple tfor any query as follows: given query Q specifyingconditions for a set of attribute values, sayX = {x1,..,xs},at query time we retrieve and multiply the scores oft inthe lists Cx1,,Cxs and in one ofGx1,,Gxs. This requiresonly s+1multiplications and results in a score2 thatis

    proportional to the actual score. Clearly this is more

    efficient than computing the score from scratch byretrieving the relevant atomic probabilities from theintermediate layer and composing them appropriately.

    We need to enable two kinds of access operationsefficiently on these lists. First, given a valuex, it shouldbe possible to perform a GetNextTID operation on lists Cxand Gx in constant time, i.e., the tuple-ids in thelists

    2This score is proportional, but not equal, to the actual score because it

    sorted streams in any nave adaptation of TA would contains extra factors of theform

    p(x |z,W)

    p(x |z,D)

    where

    zX. However, these extra factors are common to all selected tuples,

    hence the rank order is unchanged.

  • 8/3/2019 bai tap nhm co hien.

    12/17

    894

  • 8/3/2019 bai tap nhm co hien.

    13/17

    should be efficiently retrievable one-by-one in order ofdecreasing score. This corresponds to the sorted streamaccess of TA. Second, it should be possible to performrandom access on the lists, i.e., given a TID, thecorresponding score (CondScore or GlobScore) should beretrievable in constant time. To enable these operationsefficiently, we materialize these lists as database tables all the conditional lists are maintained in one table called

    CondList (with columns {AttName, AttVal, TID,CondScore}) while all the global lists are maintained inanother table called GlobList (with columns {AttName,AttVal, TID, GlobScore}). The table have composite B+tree indices on (AttName, AttVal, CondScore) and(AttName, AttVal, GlobScore) respectively. This enablesefficient performance of both access operations. Furtherdetails of how these data structures and their accessmethods are used in query processing are discussed inSection 5.2.

    Index ModuleInput: Data table, atomic probabilities tables

    Output: Conditional and global lists

    FOR EACH distinct valuex of database DOCx = Gx = {}FOR EACH tuple tcontainingx with tuple-id = TID DO

    p(x |z,W)

    Section 5.1, is proportional to the actual score derived inEquation 3). The termination criterion guarantees that nomore GetNextTID operations will be needed on any of thelists. This is accomplished by maintaining an array Twhich contains the last scores read from all the lists at anypoint in time by GetNextTID operations. The product ofthe scores in Trepresents the score of the very best tuplewe can hope to find in the data that is yet to be seen. If

    this value is no more than the tuple in the Top-Kbufferwith the smallest score, the algorithm successfullyterminates.

    List Merge AlgorithmInput: Query, data table, global and conditional listsOutput: Top-Ktuples

    Let Gxb be the shortest list among Gx1,,GxsLetB ={} be a buffer that can holdKtuples ordered by scoreLet Tbe an array of sizes+1 storing the last score from each listInitializeB to emptyREPEAT

    FOR EACH listL in Cx1,,Cxs, and Gxb DO

    TID = GetNextTID(L)Update Twith score of TID inLGet score of TID from other lists via random accessIF all lists contain TID THEN

    Compute Score(TID) by multiplying retrieved scoresInsert in the correct position inB

    END IFCondScore =

    zt p(x |z,D)

    END FORs +1

    Add to Cxp (z | W)

    UNTIL B[K].Score T[i]i=1

    GlobScore =zt p (z | D )

    RETURNB

    Add to GxEND FORSort Cx and Gx by decreasing CondScore and GlobScore

    resp. END FOR

    Figure 3: The Index Module

    5.2 Query Procesing Component

    In this subsection we describe the query processingcomponent. The nave Scan algorithm has already beendescribed in Section 5.1, so our focus here is on thealternate List Merge algorithm (see Figure 4). This is anadaptation of TA, whose efficiency crucially depends onthe data structures pre-computed by the Index Module.

    TheList Merge algorithm operates as follows. Given a

    query Q specifying conditions for a set X = {x1,..,xs}ofattributes, we execute TA on the followings+1 lists: Cx1,,Cxs, and Gxb, where Gxb is the shortest list amongGx1,,Gxs (in principle, any list from Gx1,,Gxswould do, but the shortest list is likely to be moreefficient). During each iteration, the TID with the nextlargest score is retrieved from each list using sortedaccess. Its score in every other list is retrieved viarandom access, and all these retrieved scores aremultiplied together, resulting in the final score of thetuple (which, as mentioned in

    Figure 4: The List Merge Algorithm

    5.2.1 Limited Available Space

    So far we have assumed that there is enough spaceavailable to build the conditional and global lists. Asimple analysis indicates that the space consumed bythese lists is O(mn) bytes (m is the number of attributesand n the number of tuples of the database table).However, there may be applications where space is anexpensive resource (e.g., when lists should preferably beheld in memory and compete for that space or even forspace in the processor cache hierarchy). We show that insuch cases, we can store only a subset of the lists at pre-processing time, at the expense of an increase in the queryprocessing time.

    Determining which lists to retain/omit at pre- processing time may be accomplished by analyzing theworkload. A simple solution is to store the conditionallists Cx and the corresponding global lists Gx onlyforthose attribute values x that occur most frequently inthe workload. At query time, since the lists of some ofthe specified attributes may be missing, the intuitive ideais to probe the intermediate knowledge representationlayer (where the relatively raw data is maintained,i.e., the

    895

  • 8/3/2019 bai tap nhm co hien.

    14/17

    atomic probabilities) and directly compute the missinginformation. More specifically, we use a modification ofTA described in [9], where not all sources have sortedstream access.

    6. Experiments

    In this section we report on the results of an experimental

    evaluation of our ranking method as well as some of thecompetitors. We evaluated both the quality of therankings obtained, as well as the performance of thevarious approaches. We mention at the outset that preparing an experimental setup for testing rankingquality was extremely challenging, as unlike IR, there areno standard benchmarks available, and we had to conductuser studies to evaluate the rankings produced by thevarious algorithms.

    For our evaluation, we use real datasets from twodifferent domains. The first domain was the MSNHomeAdvisor database (h tt p : // h ou s ea n d h o m e . m s n . c o m /),from which we prepared a table of homes for sale in theUS, with attributes such as Price, Year, City, Bedrooms,Bathrooms, Sqft, Garage, etc. (we converted numericalattributes into categorical ones by discretizing them intomeaningful ranges). The original database table also had atext column called Remarks, which contained descriptiveinformation about the home. From this column, weextracted additional Boolean attributes such as Fireplace,View, Pool, etc. To evaluate the role of the size of thedatabase, we also performed experiments on a subset ofthe HomeAdvisor database, consisting only of homes soldin the Seattle area.

    The second domain was the Internet Movie Database( h ttp :/ / ww w . i m db.c o m), from which we prepared atable of movies, with attributes such as Title, Year, Genre,

    Director, FirstActor, SecondActor, Certificate, Sound,Color, etc. (we discretized numerical attributes such asYear into meaningful ranges). We first selected a set ofmovies by the 30 most prolific actors for our experiments.From this we removed the 250 most well-known movies,as we did not wish our users to be biased withinformation they already might know about these movies,especially information that is not captured by theattributes that we had selected for our experiments.

    The sizes of the various (single-table) datasets used inour experiments are shown in Figure 5. The qualityexperiments were conducted on the Seattle Homes andMovies tables, while the performance experiments were

    conducted on the Seattle Homes and the US Homes tables we omitted performance experiments on the Moviestable on account of its small size. We used Microsoft SQLServer 2000 RDBMS on a P4 2.8-GHz PC with 1 GB ofRAM for our experiments. We implemented allalgorithms in C#, and connected to the RDBMS throughDAO. We created single-attribute indices on all tableattributes, to be used during the selection phase of the

    Scan algorithm. Note that these indices are not used bythe List Merge algorithm.

    Table NumTuples Database Size (MB)

    Seattle Homes 17463 1.936US Homes 1380762 140.432Movies 1446 Less than 1

    Figure 5: Sizes of Datasets

    6.1 Quality Experiments

    We evaluated the quality of two different rankingmethods: (a) our ranking method, henceforth referred toas Conditional (b) the ranking method described in [2],henceforth known as Global. This evaluation wasaccomplished using surveys involving 14 employees ofMicrosoft Research.

    For the Seattle Homes table, we first created severaldifferent profiles of home buyers, e.g., young dual-income couples, singles, middle-class family who like

    to live in the suburbs, rich retirees, etc. Then, wecollected a workload from our users by requestingthem to behave like these home buyers and postconjunctive queries against the database - e.g., a middle-class homebuyer with children looking for a suburbanhome would post a typical query such as Bedrooms=4and Price=Moderate and SchoolDistrict=Excellent. Wecollected several hundred queries by this process, eachtypically specifying 2-4 attributes. We then trained ourranking algorithm on this workload.

    We prepared a similar experimental setup for theMovies table. We first created several different profiles ofmoviegoers, e.g., teenage males wishing to see action

    thrillers, people interested in comedies from the 80s, etc.We disallowed users from specifying the movie title inthe queries, as the title is a key of the table. As withhomes, here too we collected several hundred workloadqueries, and trained our ranking algorithm on thisworkload.

    We first describe a few sample results informally, andthen present a more formal evaluation of our rankings.

    6.1.1 Examples of Ranking Results

    For the Seattle Homes dataset, both Conditional as well asGlobal produced rankings that were intuitive andreasonable. There were interesting examples where

    Conditional produced rankings that were superior toGlobal. For example, for a query with conditionCity=Seattle and Bedroom=1, Conditional rankedcondos with garages the highest. Intuitively, this is because private parking in downtown is usually veryscarce, and condos with garages are highly sought after.However, Global was unable to recognize the importanceof garages for this class of homebuyers, because mostusers (i.e., over the entire workload) do not explicitlyrequest for garages since most homes have garages. As

    896

    http://houseandhome.msn.com/http://www.imdb.com/http://www.imdb.com/http://www.imdb.com/http://houseandhome.msn.com/http://www.imdb.com/http://www.imdb.com/
  • 8/3/2019 bai tap nhm co hien.

    15/17

    Seattle Homes Movies

    COND GLOB COND GLOB

    Q1 0.70 0.26 0.48 0.35

    Q2 0.76 0.62 0.53 0.43

    Q3 0.90 0.54 0.58 0.20Q4 0.84 0.32 0.45 0.48

    Q5 0.44 0.48 0.43 0.40

    Frac

    tion

    Be

    tter

    Frac

    tion

    Be

    tte

    r

    another example, for a query such as Bedrooms=4 andCity=Kirkland and Price=Expensive, Conditional rankedhomes with waterfront views the highest, whereas Globalranked homes in good school districts the highest. This isas expected, because for very rich homebuyers awaterfront view is perhaps a more desirable feature than agood school district, even though the latter may beglobally more popular across all homebuyers.

    Likewise, for the Movies dataset, Conditional often produced rankings that were superior to Global. Forexample, for a query such as Year=1980s andGenre=Thriller, Conditional ranked movies such asIndiana Jones and the Temple of Doom higher thanCommando, because the workload indicated thatHarrison Ford was a better known actor than ArnoldSchwarzenegger during that era, although the latter actorwas globally more popular over the entire workload.

    6.1.2 Ranking Evaluation

    We now present a more formal evaluation of the rankingquality produced by the ranking algorithms. We

    conducted two surveys; the first compared the rankingsagainst user rankings using standard precision/recallmetrics, while the second was a simpler survey that askedusers to rate which algorithms rankings they preferred.

    Average Precision: Since requiring users to rank theentire database for each query would have been extremelytedious, we used the following strategy. For each dataset,we generate 5 test queries. For each test query Qi wegenerated a set Hi of 30 tuples likely to contain agood mix of relevant and irrelevant tuples to the query.We did this by mixing the Top-10 results of both theConditional

    retrieved tuples, while Recall is the fraction of the numberof retrieved tuples that are relevant, to the total number ofrelevant tuples (see [4]). In our case, the total number ofrelevant tuples is 10, so Precision and Recall are equal.The average precision of the ranking methods for eachdataset are shown in Figure 6 (the queries are, of course,different for each dataset). As can be seen, the quality ofConditionals ranking was usually superior to Globals,

    more so for the Seattle Homes dataset.

    User Preference of Rankings: In this experiment, for theSeattle Homes as well as the Movies dataset, users weregiven the Top-5 results of the two ranking methods for 5queries (different from the previous survey), and wereasked to choose which rankings they preferred. Figures 7and 8 show, for each query and each algorithm, thefraction of users that preferred the rankings of thealgorithm. The results of the above experiments show thatConditional generally produces rankings of higher qualitycompared to Global, especially for the Seattle Homesdataset. While these experiments indicate that our ranking

    approach has promise, we caution that much larger-scaleuser studies are necessary to conclusively establishfindings of this nature.

    1

    0.9

    0.8

    0.7

    0.6

    0.5

    0.4

    0.3

    0.2

    0.1

    0

    and Global ranking algorithms, removing ties, and addinga few randomly selected tuples. Finally, we presented thequeries along with their corresponding His (with tuplesrandomly permuted) to each user in our study. Each usersresponsibility was to mark 10 tuples in Hi as mostrelevant to the query Qi. We then measured how closelythe 10 tuples marked as relevant by the user (i.e., theground truth) matched the 10 tuples returned by eachalgorithm.

    Q1 Q2 Q3 Q4 Q5

    Query

    CONDITIONAL GLOBAL

    Figure 7: Fraction of Users Preferring Each Algorithmfor Seattle Homes Dataset

    1

    0.9

    0.8

    0.7

    0.6

    0.5

    0.4

    0.3

    0.2

    0.1

    0

    Figure 6: Average Precision

    We used the formal Precision/Recall metrics tomeasure this overlap. Precision is the ratio of the numberof retrieved tuples that are relevant, to the total number of

    Q1 Q2 Q3 Q4 Q5

    Query

    CONDITIONAL GLOBAL

    Figure 8: Fraction of Users Preferring Each Algorithmfor Movies Dataset

    897

  • 8/3/2019 bai tap nhm co hien.

    16/17

    Tim

    e(m

    sec)

    6.2 Performance Experiments

    In this subsection we report on experiments that comparedthe performance of the various implementations of theConditional algorithm: List Merge, its space-savingvariants, and Scan. We do not report on the correspondingimplementations of Global as they had similar performance. We used the Seattle Homes and US Homesdatasets for these experiments.

    Preprocessing Time and Space: Since the preprocessingperformance of the List Merge algorithm is dominated bythe Index Module, we omit reporting results for theAtomic Probabilities Module. Figure 9 shows the spaceand time required to build all the conditional and globallists. The time and space scale linearly with table size,which is expected. Notice that the space consumed by thelists is three times the size of the data table. While thismay seemingly appear excessive, note that a faircomparison would be against a Scan algorithm that hasB+ tree indices built on allattributes (so that all kinds ofselections can be performed efficiently). In such a case,

    the total space consumed by these B+ tree indices wouldrival the space consumed by these lists.

    Datasets Lists Building Time Lists Size

    Seattle Homes 1500 msec 7.8 MB

    US Homes 80000 msec 457.6 MB

    Figure 9: Time and Space Consumed by Index Module

    If space is a critical issue, we can adopt the spacesaving variation of the List Merge algorithm as discussedin Section 5.2.1. We report on this next.

    Space Saving Variations: In this experiment we showhow the performance of the algorithms changes whenonly a subset of the set of global and conditional lists arestored. Recall from Section 5.2.1 that we only retain listsfor the values of the frequently occurring attributes in theworkload. For this experiment we consider Top-10queries with selection conditions that specify twoattributes (queries generated by randomly picking a pairof attributes and a domain value for each attribute), andmeasure their execution times. The compared algorithmsare:

    LM: List Merge with all lists available LMM: List Merge where lists for one of the two

    specified attributes are missing, halving space ScanFigure 10 shows the execution times of the queries overthe Seattle Homes database as a function of the totalnumber of tuples that satisfy the selection condition. Thetimes are averaged over 10 queries.

    We first note that LM is extremely fast whencompared to the other algorithms (its times are less thanone second for each run, consequently its graph is almost

    along the x-axis). This is to be expected as most of thecomputations have been accomplished at pre-processingtime. The performance of Scan degrades when the totalnumber of selected tuples increases, because the scores ofmore tuples need to be calculated at runtime. In contrast,the performance of LM and LMM actually improvesslightly. This interesting phenomenon occurs because ifmore tuples satisfy the selection condition, smaller

    prefixes of the lists need to be read and merged before thestopping condition is reached.

    60000

    50000

    40000

    30000

    20000

    LM

    LMM

    Scan

    10000

    0

    0 1000 20003000 4000

    NumSelectedTuples

    Figure 10: Execution Times of Different Variations ofList Merge and Scan for Seattle HomesDataset

    Thus, List Merge and its variations are preferable ifthe number of tuples satisfying the query condition islarge (which is exactly the situation we are interested in,i.e., the Many-Answers problem). This conclusion wasreconfirmed when we repeated the experiment with LMand Scan on the much larger US Homes dataset withqueries satisfying many more tuples (see Figure 11).

    NumSelected

    Tuples

    LM Time

    (msec)

    Scan Time

    (msec)

    350 800 6515

    2000 700 392345000 600 115282

    30000 550 56651680000 500 3806531

    Figure 11: Execution Times of List Merge and Scanfor US Homes Dataset

    Varying Number of Specified Attributes: Figure 12shows how the query processing performance of the

    algorithms varies with the number of attributes specifiedin the selection conditions of the queries over the USHomes database (the results for the other databases aresimilar). The times are averaged over 10 Top-10 queries. Note that the times increase sharply for both algorithmswith the number of specified attributes. The LM algorithm becomes slower because more lists need to be merged,which delays the termination condition. The Scanalgorithm becomes slower because the selection time

    898

  • 8/3/2019 bai tap nhm co hien.

    17/17

    Tim

    e(msec

    )

    increases with the number of specified attributes. Thisexperiment demonstrates the criticality of keeping thenumber of sorted streams small in our adaptation of TA.

    14000

    12000

    10000

    [8] N. Bruno, L. Gravano, and S. Chaudhuri.Top-K SelectionQueries over Relational Databases: Mapping Strategies andPerformance Evaluation. ACM TODS, 2002.[9] N. Bruno, L. Gravano, A. Marian. Evaluating Top-K Queriesover Web-Accessible Databases. ICDE 2002.10] B. Cestnik. Estimating Probabilities: A Crucial Task inMachine Learning, European Conf. in AI, 1990.[11] K. Chakrabarti, K. Porkaew and S. Mehrotra. Efficient

    8000

    6000

    4000

    2000

    0

    1 2 3

    NumSpe cifiedAttributes

    LM

    Scan

    Query Ref. in Multimedia Databases. ICDE 2000.

    [12] W. Cohen. Integration of Heterogeneous DatabasesWithout Common Domains Using Queries Based on TextualSimilarity. SIGMOD, 1998.[13] W. Cohen. Providing Database-like Access to the WebUsing Queries Based on Textual Similarity. SIGMOD 1998.[14] W.B. Croft, J. Lafferty. Language Modeling forInformation Retrieval. Kluwer 2003.[15] R. Fagin. Fuzzy Queries in Multimedia Database Systems.

    Figure 12: Varying Number of Specified Attributes forUS Homes Dataset

    7. Conclusions

    We proposed a completely automated approach for theMany-Answers Problem which leverages data andworkload statistics and correlations. Our rankingfunctions are based upon the probabilistic IR models, judiciously adapted for structured data. We presentedresults of preliminary experiments which demonstrate theefficiency as well as the quality of our ranking system.

    Our work brings forth several intriguing openproblems. For example, many relational databases containtext columns in addition to numeric and categoricalcolumns. It would be interesting to see whethercorrelations between text and non-text data can beleveraged in a meaningful way for ranking. Finally,comprehensive quality benchmarks for database rankingneed to be established. This would provide futureresearchers with a more unified and systematic basis forevaluating their retrieval algorithms.

    References

    [1] S. Agrawal, S. Chaudhuri G. Das. DBXplorer: A System forKeyword Based Search over Relational Databases. ICDE 2002.[2] S. Agrawal, S. Chaudhuri, G. Das and A. Gionis. AutomatedRanking of Database Query Results. CIDR, 2003.[3] R. Agrawal, H. Mannila, R. Srikant, H. Toivonen and A. I.Verkamo. Fast Discovery of Association Rules. Advances inKnowledge Discovery and Data Mining, 1995.[4] R. Baeza-Yates and B. Ribeiro-Neto. Modern InformationRetrieval. ACM Press, 1999.

    [5] G. Bhalotia, C. Nakhe, A. Hulgeri, S. Chakrabarti and S.Sudarshan. Keyword Searching and Browsing in Databasesusing BANKS. ICDE 2002.[6] H. M. Blanken, T. Grabs, H.-J. Schek, R. Schenkel, G.Weikum (Eds.): Intelligent Search on XML Data: Applications,Languages, Models, Implementations, and Benchmarks. LNCS2818 Springer 2003.[7] J. Breese, D. Heckerman and C. Kadie. Empirical Analysisof Predictive Algorithms for Collaborative Filtering. 14thConference on Uncertainty in Artificial Intelligence, 1998.

    PODS 1998.[16] R. Fagin, A. Lotem and M. Naor. Optimal AggregationAlgorithms for Middleware. PODS 2001.[17] N. Fuhr. A Probabilistic Framework for Vague Queries andImprecise Information in Databases. VLDB 1990.[18] N. Fuhr. A Probabilistic Relational Model for theIntegration of IR and Databases. ACM SIGIR Conference onResearch and Development in Information Retrieval, 1993.[19] U. Gntzer, W.-T. Balke, W. Kieling: Optimizing Multi-Feature Queries for Image Databases. VLDB 2000.[20] V. Hristidis,Y. Papakonstantinou. DISCOVER: KeywordSearch in Relational Databases. VLDB 2002.[21] W. Kieling. Foundations of Preferences in DatabaseSystems. VLDB 2002.[22] D. Kossmann, F. Ramsak, S. Rost: Shooting Stars in theSky: An Online Algorithm for Skyline Queries. VLDB 2002.[23] A. Motro. VAGUE: A User Interface to RelationalDatabases that Permits Vague Queries. TOIS 1988, 187-214.[24] Z. Nazeri, E. Bloedorn and P. Ostwald. Experiences inMining Aviation Safety Data. SIGMOD 2001.[25] S. Nepal, M. V. Ramakrishna: Query Processing Issues inImage (Multimedia) Databases. ICDE 1999.[26] M. Ortega-Binderberger, K. Chakrabarti and S. Mehrotra.An Approach to Integrating Query Refinement in SQL, EDBT2002, 15-33.[27] Y. Rui, T. S. Huang and S. Merhotra. Content-Based ImageRetrieval with Relevance Feedback in MARS. IEEE Conf. onImage Processing, 1997.[28] K. Sparck Jones, S. Walker, S. E. Robertson: AProbabilistic Model of Information Retrieval: Developmentand Comparative Experiments - Part 1. Inf. Process. Manage.36(6): 779-808, 2000.[29] K. Sparck Jones, S. Walker, S. E. Robertson: AProbabilistic Model of Information Retrieval: Development andComparative Experiments - Part 2. Inf. Process. Manage. 36(6):809-840, 2000.

    [30] J. Whittaker. Graphical Models in Applied MultivariateStatistics. Wiley, 1990.[31] L. Wimmers, L. M. Haas , M T. Roth and C. Braendli.Using Fagin's Algorithm for Merging Ranked Results inMultimedia Middleware. CoopIS 1999.[32] L. Wu, C. Faloutsos, K. Sycara and T. Payne. FALCON:Feedback Adaptive Loop for Content-Based Retrieval. VLDB2000.

    899