73
Chapter 7 Similarity Based Retrieval Stand 20.12.00

Chapter 7 Similarity Based Retrieval Stand 20.12.00

  • View
    230

  • Download
    6

Embed Size (px)

Citation preview

Page 1: Chapter 7 Similarity Based Retrieval Stand 20.12.00

Chapter 7

Similarity Based Retrieval

Stand 20.12.00

Page 2: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 2 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Recommended References (1)• The retrieval algorithms are presented in this chapter in some

detail. Further information can be found in the following original literature:– M. Lenz: Case Retrieval Nets as a Model for Building Flexible

Information Systems. Dissertation Humboldt Universität Berlin 1999. – J. Schaaf: Über die Suche nach situationsgerechten Fällen im

fallbasierten Schließen. Dissertation Kaiserslautern 1998, Reihe DISKI 179, infix Verlag.

– S.Wess: Fallbasiertes Problemlösen in wissensbasierten Systemen zur Entscheidungsunterstützung und Diagnostik. Dissertation Kaiserslautern 1995, Reihe DISKI 126, infix Verlag

– Schumacher, J. & Bergmann, R. (2000). An effective approach for similarity-based retrieval on top of relational databases. 5th European Workshop on Case-Based Reasoning, Springer Verlag.

Page 3: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 3 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

General Remarks

• We distinguish to kinds of retrieval:– retrieval algorithms: They operate mainly on a fixed data base– agent based retrieval: This is mainly for search processes in many,

not necessarily fixed data bases. This search is often distributed.

• In principle, both techniques can be applied in any situation which is, however, not recommended.

• This chapter deals with retrieval algorithms.• Search (with agents) will be discussed in chapter 14 where

we consider several suppliers.

Page 4: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 4 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Motivation• In database retrieval the access to the desired data is done

by presenting a certain key.• In information retrieval systems also a key word is

presented. The problem with this is that one gets either no answer (silence) or very many answers (noise).

• There are several situations in e-c where no exact queries can be raised, e.g.:– Which is the best available product with respect to customer

demands ?– Which is the best profile covering a given customer ?– What is the most likely reason for the customer‘s complaint ?

Page 5: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 5 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Efficient Retrieval

• Efficiency and accuracy are the two important issues for retrieval.

• The efficiency of the different retrieval methods depends very much on the following:

– The representation of the objects– The base structure– The similarity measure– The accuracy of the intended answer

• These characteristics depend on the other hand on the domain and the specific properties of the application.

Page 6: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 6 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

The Task

• Central task of the retrieval: – given:

• A base CB = {F1,...,Fn} ( a case base, a product base, ...) and

• a similarity measure sim and• a Query: Q (new problem, demanded product etc.)

– wanted either:

1. The most similar object Fi OR

2. the m most similar objects {F1,...,Fm} (ordered or unordered) OR

3. All objects {F1,...,Fm} which have to Q at least a similarity simmin

• Problem: How to organize a case base for efficient retrieval?

Page 7: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 7 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Retrieval Methods

MethodRetriction w.r.t.

Similarity Appropriate for ...Typ

sequential search nosmall case basessimple similarity

kd-tre(Wess et al., 1993)

reflexivity, monotonyno class similarity

small number of attributeslarge case bases

Fish & Shrink(Schaaf, 1996)

reflexivity, nonotonytriangle inequality

complex similaritysmall case bases

Retrieval Nets(Burkhard & Lenz, 1996)

SQL Approximation(Schumacher & Bergmann, 2000)

monotony,no class similarity

few numeric attributeslarge case bases

monotonyno class similarity

linear aggregation functions

simple similaritylarge case bases

dynamic case bases

bruteforce

indexbased

dyn. databasequeries

Page 8: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 8 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Sequential Retrieval

Types:SimObject = RECORD

object: object; similarity: [0..1]

END;SimOjectQueue = ARRAY[1..m] OF SimObject;

Variables:scq: SimObjectQueue (* m most similar objects

*)cb: ARRAY [1..n] OF object (* Object base *)

scq[1..m].similarity := 0FOR i:=1 to n DO

IF sim(Q,cb[i]) > scq[m].similarity THEN insert cb[i] in scq

RETURN scq

Data structures

Retrieval algorithm

Page 9: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 9 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Properties of Sequential Retrieval

• Complexity of sequential retrieval: O(n)

• Disadvantages:– Problems if base very large

– Retrieval effort is independent of the query

– Retrieval effort is independent of m

• Avantages:– Simple implementation

– No additional index structures needed

– Arbitrary similarity measures can be used

Page 10: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 10 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Index Oriented Retrieval

• Preprocessing: Generates an index structure• Retrieval: Makes use of the index structure for efficient

retrieval

base

similarity

generates retrievalindex

structure

Page 11: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 11 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Retrieval with kd-Trees(S. Wess)

• k-dimensional binary search tree (Bentley, 1975).

• Idea: Decompose data (i.e. case base) iteratively in

smaller parts

• Use a tree structure

• Retrieval:

– Searching in the tree top-down with backtracking

Page 12: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 12 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Definition: kd-Tree

• Given: – k ordered domains T1,...,Tk of the attributes A1,...,Ak,

– a base CB T1x...xTk. and

– some parameter b (bucket size).

A kd-tree T(CB) for the base CB is a binary tree recursively defined as:– if |CB| b: T(CB) is a leave node (called bucket) which is labelled

with CB

– if |CB| > b: T(CB) then T(CB) is a tree with the properties:

• the root is labelled with an attribute A i and a value viTi

• the root has two kd-treesT (CB) and T>(CB>) as successors

• where CB := {(x1,...,xk) CB | xi vi} and

CB := {(x1,...,xk) CB | xi vi}

Page 13: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 13 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Properties of a kd-Tree

• Ein kd-tree partitions a base:

– the root represents the whole base

– a leave node (bucket) represents a subset of the base which is

not further partitioned

– at all inner nodes the base is further partitioned s.t. base is

divided according to the value of some attribute.

Page 14: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 14 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Example for a kd-Tree

10 20 30 40 50 60 70

10

20

30

40

50

A1

A2

A

B

C

D

E

FG

H

I

C(20, 40) E(35, 35)

H(70, 35) I(65, 10)

F(50, 50) G(60, 45)

A1

A(10, 10) B(15, 30) D(30, 20)

A2A2

A1

>35

>35>30

>15

<35

<30 <35

<15

CB={A,B,C,D,E,F,G,H,I}

Page 15: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 15 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Generating kd-Trees (1)

Algorithm:

PROCEDURE CreateTree(CB) : kd-tree

IF |CB| b

THEN RETURN leave node with base CB

ELSE

Ai := choose_attribute(CB);

vi := choose_value(CB,Ai)

RETURN

Tree with root labelled with Ai and vi and which has the two subtrees

CreateTree({(x1,...,xk) CB | xi vi}) and

CreateTree({(x1,...,xk) CB | xi vi})

Page 16: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 16 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Selection of Attributes

• Many techniques possible, e.g. the use of entropy• typical: Interquartil distance

Number ofoccurrences

Ti

25%25% 25% 25%

q1 q2 q3

Interquartil distance iqr = d(q1,q2)

Iqr

Selection of attribute withlargest interquartil distance

Page 17: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 17 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Selection of the Values

• Two methods:– Median splitting: choose the median d2 as partition point

– Maximum splitting:

largest gap

Page 18: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 18 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Retrieval with kd-Trees

?

BOB test: Ball-overlap-Boands

1. Search the tree top-down to a leave

2. compute similarity to objects found

3. Determine termination by BWB-test

4. Determine additional candidates using a BOB-test

5. If overlapping buckets exist then search in alternative branches (back to step 2)

6. Stop if no overlapping buckets

Idea for an algorithm:

overlap

?Most similarobject in the bucket

BWB test Ball-within-Boands

Most similarobject in the

bucket

Page 19: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 19 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Retrieval with kd-TreesAlgorithm

PROCEDURE retrieve(K: kd-tree)IF K is leave node THEN FOR each object F of K DO

IF sim(Q,F) > scq[m]. THEN insert F in scq ELSE (* inner node *)

If Ai is the attribute and vi the value that label K

IF Q[Ai] vi

THEN

retrieve(K)

IF BOB-Test is satisfied THEN retrieve(K)

ELSE

retrieve(K)

IF BOB-Test is satisfied THEN retrieve(K)

IF BWB-Test is satisfied THEN terminate retrieval with scq

Page 20: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 20 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

BOB-Test:Ball-Overlap-Bounds

?

m-most similar object in scq

overlap

boundaries ofthe actual node

n-dimensionalhyper ball

A1

A2

Are there more similar objects then the m-most similar objectfound in the neighbor subtree ?

Page 21: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 21 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

BWB-Test:Ball-Within-Bounds

Is there no object in the neighboring subtreethat is more similar than the m-most-object?

? m-most-similar object in scq

A1

A2

boundaries ofthe actual node

n-dimensionalhyper balll

Page 22: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 22 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Restrictions to the Applicable Similarity Measures

• retrieval with a kd-tree guarantees the m-most similar object if

the similarity measure satisfies the following restrictions:

– Compatibility with the ordering and monotonicity

• y1,..., yn, x1,..., xn, xi’ if yi <i xi <i xi’ or yi >i xi >i xi’ then

sim( (y1,...,yn) , (x1,...,xi,...,xn) ) sim( (y1,...,yn) , (x1,...,xi’,...,xn) )

Page 23: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 23 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Properties of Retrieval with kd-Trees• Disadvantages:

– Higher effort to built up the index structure

– Restrictions for kd-trees:

• only ordered domains

• problems with unknown values

• Only monotonic similarity measures compatible with the ordering

• Advantages:– Efficient retrieval

– Effort depends on the number m of objects to find

– Incremental extension possible if new objects arise

– Storage of the objects in a data base possible

• There are improvements of kd-trees (INRECA)

Page 24: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 24 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Case Retrieval Nets (Lenz & Burkhard)• We formulate the techniques not only for cases but for more

general situations.• Partitioning of object information in information units

(e.g. attribute-value-pairs)– Each information unit is a node in the net– Each object is a node in the net

• Information units which have a similarity > 0 are connected with strenght = similarity.

• For the retrieval information units of the query are activated. • The activity is propagated through the net until object nodes

are reached. • The activity at the object nodes reflects the similarity to the

query.

Page 25: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 25 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Concepts (1)

• An information entity (IE) is an atomic knowledge unit, e.g. an attribute-value-pair; it represents the smallest knowledge unit for objects, queries or cases.

• An object (e.g. a case) is a set of information entities.A retrieval Net (Basic Case Retrieval Net, BCRN) is a 5-tupel N=(E, C, , , ) with:– E is a finite set of information entities

– C is a finite set of object nodes

– is a similarity measure: : E x E -> IR (e,e’) describes the local similarity between two IUs e, e’

– is a relevance function: : E x C -> IR (e,c) describes the relevance (weight) of the IU for the object c

– is a set of propagation functions n: IRE -> IR for each node

n E C.

Page 26: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 26 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

ExampleObject nodeIEs

case1

case2

Price 1099.-

Price: 1519.-

Beach close

Beach distancemedium

Region: Mediterranean

Region: Caribic

Price: 1599.-

case3

0.5

0.9

0.4

1/3

1/3

1/3

1/3

1/3

1/3

1/3

1/3

1/3

0.5

Page 27: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 27 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Concepts (2)

• An activation of a BCRN is a function : E C -> IR.

• The activation (e) of an IE e describes the relevance of this IE for the actual problem. The influence of an IE on the retrieval depends on that value and its relevances (e,c) for the objects c.

• The activation at time t is a function t: E C -> IR defined by:

– IEs:

– objects:

t e t s t se e e e e e e 1 1 1( ) ( ( , ) ( ),..., ( , ) ( ))

))(),(),...,(),(()( 111 ststct eceecec

Page 28: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 28 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Retrieval• Presented: Query Q, consisting of some set of IEs • Retrieval:

1. Determination of the activation 0 by:

2. Similarity propagation: for all e E, which have a connection to some activated IU.

3. Relevance propagation: for all object nodes c C, which have a connection to some activated IU.

otherwise 0

query in the occurs e IE if 1)(0 e

1 1 0 1 0( ) ( ( , ) ( ),..., ( , ) ( ))e e e e e e ee s s

))(),(),...,(),(()( 11112 ssc eceecec

Page 29: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 29 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Example cont´edObject nodeIEs

case1

case2

Price 1099.-

Price: 1519.-

Beach close

Beach distancemedium

Region: Mediterranean

Region: Caribic

Price: 1599.-

case3

0.5

0.9

0.4

1/3

1/3

1/3

1/3

1/3

1/3

1/3

1/3

1/3

0.5

1/3

Page 30: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 30 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Example cont´edObject nodeIEs

case1

case2

Price 1099.-

Price: 1519.-

Beach close

Beach distancemedium

Region: Mediterranean

Region: Caribic

Price: 1599.-

case3

0.5

0.9

0.4

1/3

1/3

1/3

1/3

1/3

1/3

1/3

1/3

1/3

0.5

0.63

Price: 1550.-

1

1

0.9

1/3

1/3

1

1

0.9

Page 31: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 31 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Properties of Retrieval Nets

• Disadvantages:– High costs to construct the net.

– New query nodes may be necessary for numerical attributes.

– Many propagation steps necessary if the degree of connectivity is high (i.e. many similar IEs)

• Advantages:– Efficient retrieval

– Effort depends on the number of activated IEs of the query

– Incremental extension possible if new objects arise

• There are improvements of this approach (e.g.. Lazy Spreading Activation)

Page 32: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 32 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Retrieval with “Fish and Shrink “Schaaf (1996)

• Object representation is partinioned in different aspects.

• An aspect is a complex property

Examples for aspects in medicine: EKG, X-ray image.• For each aspect there are individual similarity measures defined.• Assumption: similarity computation for aspects is expensive.• Total similarity is computed by weighted combinations (aggregation) of

aspect similarites.• Weights are not static but given by the query.• Approach for retrieval:

– look ahead computation of the aspect similarities between certain objects– Net construction– Test for similarity between the query and the test object– Conclusion for similarity of other objects possible without computation

Page 33: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 33 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Concepts (1)• An object F consists of several aspects i(F)

• for each aspect there is an aspect distance function

i(i(Fx), i(Fy)) [0..1] (short: i(Fx, Fy)).

• a view is a weight vector W=(w1,...,wn) mit w1+...+wn=1

Observe: The view is part of the query and presented by the user.

• A view distance for two objects and a view is a function

VD(Fx,Fy,W) = w1 1(Fx,Fy) +...+ wn n(Fx,Fy)

• A case Fx is view neighbor of the object Fy w.r.t. a view distance

VD, if VD(Fx,Fy,W) < c holds (e.g. c=1).

Page 34: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 34 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Assumptions for Fish & Shrink

• If an object F is not similar to query A it is an indication that other object s F’ which are similar to F are also not similar to query A.

• More precise: Assumption of the triangle inequality is made:

i i iA F A T T F( , ) ( , ) ( , )

i i iA F A T T F( , ) ( , ) ( , ) A T

F 1.

2.

Page 35: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 35 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Algorithm (Idea)

• Given: – A base with precomputed aspect distances between certain objects

(not necessarily between all objects)

– query A and view W (weight vector)

• Idea of the Algorithm– Determine for each object of the base a distance interval (initially [0..1])

– Choose a test object T and determine the view distance between A and

T (expensive).

– determine for most objects of the base the new smaller distance

interval by using inequalities 1) and 2).

– Iterate these steps until the intervals are small enough

Page 36: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 36 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Example

0

1

distance interval of object F

(not shown) to the query

T1

T2

T3

Page 37: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 37 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Algorithm• Given: base CB, query A, view W• Algorithm:

FOR EACH F CB DO F.mindis:= 0 F.maxdis := 1 ENDWHILE NOT OK OR Interrupted DO

determine precision line PLChoose (fish) an object T with T.mindis = PLtestdis, T.mindis, T.maxdis := VD(A,T,W) (*view distance*)

FOR EACH F CB AND F view neighbor of T AND F.mindis F.maxdis DO

basedis := VD(T,F,W)F.mindis := max(testdis-basedis, F.mindis)

(*Shrink*)F.maxdis := min(testdis+basedis, F.maxdis)END

END

Page 38: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 38 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Predicate OK and Precision Line (1)

• By a suitable choices of OK and precision line PL different retrieval tasks can be satisfied:

a) All objects better than a threshold S

b) The best k objects unordered

PL

PLS

M|M|=k

N

Page 39: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 39 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Predicate OK and Precision Line (2)

c) The best k objects ordered, but no exact distances

PL

M|M|=k

N

d) The best k objects ordered with exact distances

PL

M|M|=k

N

Page 40: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 40 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Predicate OK and Precision Line (3)

• Formal definition for OK and PL for variation a) (all cases better than a threshold)

val(F)zero_interFB)t(F,min_mindisS)overlap(F, :F.mindist :PL val(F)zero_interS)overlap(F,:FBF:OK

Page 41: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 41 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Properties of Fish & Shrink

• Disadvantages :– aspect distances between objects have to be precomputed

– the distance function has to satisfy the triangle inequality

• Advantages:– Flexible distance computation to the query (views)

– different retrieval tasks can be performed

– Efficient because many distance computations can be saved

– Can be used as anytime-algorithm

• Suitable If very expensive similarity computations occur (e.g. for graph representations)

Page 42: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 42 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Retrieval by SQL Approximation: Application Scenario

(Schumacher & Bergmann, 2000)

• Product database exists and is used for many services in the business processes

• Very huge number of products• Product database changes continuously and rapidly• Product representation is very simple: usually a list of

attribute values

Page 43: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 43 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Possible Approaches

• Retrieval inside the database– Solution depends on database system

• Retrieval on top of the database– Bulk-loading all products: duplication of data, inefficient,

consistency problems

– Building an index: consistency problem remains

– MAC/FAC Approach: Approximating similarity-based retrieval with SQL queries: no duplication of data, no consistency problem

Page 44: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 44 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Two Level Retrieval

• Idea: Two levels, one for reducing the search space and

one for the retrieval itself

Mac/Fac (Many are called; Few are chosen)

– 1. Preselection of possible candidates MQ CB

MQ = {F CB | SIM(Q,F) }

– 2. Ordering of the (few) candidates according to sim

Application of sequential retrieval

• Problem: To define the predicate SIM

Page 45: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 45 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Examples for Preselection Predicates

• Partial equality:

– SIM(Q,F) if Q and F coincide in at least one attribute value

– Local similarity: SIM(Q,F) if Q and F are sufficiently similar with respect

to each local measure

– Partial local similarity: SIM(Q,F) if Q and F are sufficiently similar with

respect to one local measure

Page 46: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 46 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Properties of Two Level Retrieval

• Advantages:

– more efficient if only few objects are preselected

• Disadvantages:

– retrieval errors possible, i.e.

– -errors: Sufficiently similar objects may not be preselected

retrieval may be incomplete

– The definition of the predicate SIM is usually difficult

Page 47: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 47 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Approximating Similarity-Based Retrieval

Similarity-basedRetrieval

SQL

Database

Query Results

SimilarityMeasure

XML

modified by other applications

1 query

n SQL queries

sort by similarit

ycases

k most similar cases

DB queryconstruction

Page 48: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 48 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Assumptions

• Representation: Attribute-Value

• Similarity:

– Local similarity measures for attributes

– Global similarity: weighted average

• Efficiency Assumption: Cases are distributed equally across n-

dimensional space

Page 49: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 49 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Similarity-based Retrieval

• The most similar cases lie within a hyper-rhombus centered on the query

• Less similar cases are all outside the rhombus

Q

Ck

k most similar case

Page 50: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 50 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

SQL Query

SELECT a1, a2

FROM table

WHERE

(a1 >= min1 AND a1 <= max1)

AND

(a2 >= min2 AND

a2 <= max2)

• Selected cases lie within a hyper-rectangle

• All cases within the rectangle have a minimum similarity

• More similar cases can lie outside the rectangle

Q

Ck

Page 51: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 51 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

SQL-Approximation of Rhombus

• Query Relaxation: Generate a series of SQL-queries (“rings”) and compute similarity of retrieved cases

• Repeat until “enough” cases have been evaluated

Q

Ck

Page 52: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 52 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Basic Algorithm

ALGORITHM DBRetrieve INPUT : Object query, Integer k OUTPUT: List of Object result[1...k]

BEGIN step = 0 WHILE (NotFinished(query, result)) DO sqlQuery = RelaxQuery(query, step, k) dbResult = ExecuteSQLQuery(sqlQuery) newCases = SimilaritySortCases(query, dbResult) merge(result, newCases) step = step + 1 END

number of cases to be retrieved

Page 53: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 53 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Termination Criterion

• complete retrieval:NotFinished(Q,R)iff

1. less then k cases retrieved OR

2. Ck outside largest hyper-rhombus fitting inside SQL hyper-rectangular

• more efficient but possibly incomplete:NotFinished(Q,R)iff

1. less then k cases retrievedQQ

Ck

k most similar case

Page 54: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 54 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Query Relaxation in a Nutshell

• Problems:

– Retrieval area too large: too many cases are retrieved

– Retrieval area too small: too many consecutive SQL queries needed

• Ideal: Volume of first ring big enough to guarantee completeness, i.e., k cases inside rhombus

• Estimation based on equal distribution assumption

• Local Similarity Threshold

m

g N

kNsim

1max )(

2

11

Page 55: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 55 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Query Construction

Q

simgsimg

}),(|{),( gjjjjjgjj simxqsimTxsimqSIM

SIMj

SIMi

Ai

Aj

For each Attribute determine set of values included in the query

Depending on type and local similarity: Interval or Enumeration

SQL Query:

Select a1,...,an FROM CaseTable

WHERE

[a1 SIM1] AND ... AND [an SIMn]

Page 56: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 56 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Query Construction

Q

simgsimg

}),(|{),( gjjjjjgjj simxqsimTxsimqSIM

SIMj

SIMi

Ai

Aj

For each Attribute determine set of values included in the query

Depending on type and local similarity: Interval or Enumeration

SQL Query:

Select a1,...,an FROM CaseTable

WHERE

([a1 SIM1(2)] AND ... AND [an SIMn

(2)])

AND NOT

([a1 SIM1(1)] AND ... AND [an SIMn

(1)])

Page 57: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 57 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Advanced Features: Filter

• Hard constraints on the results cases

• Cuts off half of similarity rhombus

• Double volume of ring so that same number of cases is loaded

Q

Page 58: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 58 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Advanced Features: Weights

• Express preferences of user for attributes

• Rhombus becomes smaller for attributes with heigher weights

• Adapt ring in the same way so that same volume is covered

Q

Page 59: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 59 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Evaluation

• Full Java implementation as part of orenge• Database: Microsoft SQL Server 7.0• Case base of used cars (8622 cases)• Performance comparison:

– linear retrieval: brute-force in main memory– DB retrieval (not complete)– DB retrieval (complete)

• -Error determination for incomplete retrieval

Page 60: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 60 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Evaluation (1)

Performance with respect to Number of Query Attributes

100

1000

10000

2 3 4 5 6 7

DB Retrieval DB Retrieval complete Linear Retrieval

ms

No -errors

Page 61: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 61 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Evaluation (2)

Performance with respect to Result Set Size

100

1000

10000

100000

10 30 50 70

DB Retrieval DB Retrieval complete Linear Retrieval

ms

22

-err

ors

4

-err

ors

0

-err

ors

0

-err

ors

Page 62: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 62 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Sales Support Applications

A company has described a catalog of electronic products according to the different sales parameters. Parameters are used to describe– technical characteristics of the product, as well as

– sales characteristics.

The chance of retrieving a product that is identical to the user’s query is very low. Standard database queries almost never retrieve any products from the catalog database.

The application’s goal is to find the best matching product based on the characteristics the customer enters for his or her desired product.

Page 63: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 63 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Application 1: Analog Devices (I)

For the past ten years we have tried, like our competitors, to develop a satisfactory parametric search engine that would help our pre-sales people. With two-feet thick catalogs describing thousands of ICs, finding the right product or the closest to the customer’s needs is not an easy job, even for a well-trained engineer. We tried CBR and in less than a year we had a unique and successful pre-sales tool.

David Kress, Director of Applications Engineering, Analog Devices

Page 64: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 64 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Application 1: Analog Devices (II)

• Leading provider of precision, high-performance integrated circuits used in analog and digital signal processing applications

• More than 50000 customers worldwide• Thousands of products:

– catalogues and data sheets up to two feet thick each year

– cost of printing and shipping $3 million per year– more than 50 parameters to describe the product

Page 65: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 65 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Application 1: Analog Devices (III)

• How technical support worked:

– Pre-sales engineer takes customer’s requirements over the phone

– Tries to find a match in the Analog Devices product range

• Lengthy and complex process that involves weighting dozens

of constraints while interacting with the customer at the same

time

• Tried solution: usage of standard database management

SQL-style searches

Page 66: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 66 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Application 1: Analog Devices (IV)

• CBR solution provided by IMS (Ireland) in less than six months

• Parametric search:– customers specify interactively their product requirements

– system finds the right product or one as close as possible to the customers’ needs

– always an answer provided

– if the customer is not satisfied a new search can be started

• System available on CD-ROM catalogue; used by customers as well as pre-sales engineers

• Savings of $2 million per year• The quality of the service makes the difference

Page 67: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 67 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Application 1: Analog Devices (V)

http://imsgrp.com/analog/query.htm

Page 68: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 68 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Application 1: Similarity Measures for Analog Devices

Min Value Max ValueQueryValue

1

0.5

X1

V1

X2

Page 69: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 69 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Application 2: Last Minute Travelwww.reiseboerse.com

Page 70: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 70 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Application 3: Virtual Letting Agentwww.hookemacdonald.ie

Page 71: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 71 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Application 3: Virtual Letting Agent Benchmark

• Went live on December 1 1998• Media Launch on January 8th 1999• Impact on Hooke and MacDonald

– From near zero to 12000 hits per week – Over 16,000 searches performed in the first six weeks– January has been their busiest month ever– Client profile has changed to young business people

• These are the clients they want– H&MD is now seen as the leader in the letting market.

• Director Ken MacDonald says “Introducing this facility was the best decision I ever made.”

Page 72: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 72 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Application 4: Apartment Purchase

Page 73: Chapter 7 Similarity Based Retrieval Stand 20.12.00

- 73 - (c) 2000 Dr. Ralph Bergmann and Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Summary

• For approximate retrieval data base queries as well as common information retrieval techniques are insufficient.

• The main retrieval techniques are:– linear search, two level search, index oriented retrieval– retrieval with k-d trees– case-retrieval nets– fish and sink– SQL-approximation

• They have been developed in CBR and extended to e-c. Examples were shown.