Download presentation

Presentation is loading. Please wait.

Published byUriel Sweetser Modified over 2 years ago

1
A Framework for Expressing and Combining Preferences By Rakesh Agrawal & Edward L. Wimmers Presented by William Lee For CS491cxz Spring 2004

2
Problem Explosion of information (the web) Impossible to construct a “social preference function” without leaving out individual preferences

3
Related Work Recommendation systems E.g. Personalogic (no longer in business?) Problem Solutions are too specific -- needs a more generic preference framework

4
The Preference Problem Alice’s preference function A 0 Betty’s preference function B 0 Quality Model # Any color Best Choice: Model: 1 Color: Black Quality: Good combining preferences

5
Record Type Record type is set of (name : type) pair that is used to express the preference parameters. Examples: dom(A 0 )={model: int, color: string union {*}} dom(B 0 )={model: int, quality: int}

6
ScoreBoard ScoreBoard(rt) is by itself a record type! Define the data type to store Scores New names of the record type = all combinations of the wild types in the original rt separated with “!”. 2^j number of fields, j = number of wild types Use “star!” for the wild type Examples ScoreBoard(dom(A 0 ))={color!model: score, star!!model: score} ScoreBoard(dom(B 0 ))={model!quality: score}

7
RecordOf rt (r,n’ 1 ! n’ 2 !...n’ k ) RecordOf() a particular record always results in a generalization of the record. Example If r = {color = “red”, model = 134} RecordOf dom(A) (r,star!!model)={color = *,model = 134} (a more general r based on the field of the ScoreBoard)

8
Scores Scores(p,r) applies the preference function p to the generalization of record r Scores(p,r).n’ 1 !...n’ k =p(RecordOf rt (r, n’ 1 !...n’ k )) Example: Scores(A 0,r)={color!model = 0.3, star!!model = 0.5} Where A 0 ({color = r.color, model=r.model})=0.3 and A 0 ({color=*, model=r.model})=0.5

9
Putting Everything Together r = record: {color: white model: 1342 quality: 3} rt = record type: {color: white or * model: int} RecordOf rt (r,star!!model): color: * model: 1342 Field name: star!!model ScoreBoard(rt): {color!model: score, star!!model: score Scores(A 0,r): {color!model: veto, star!!model: 0.3} A 0 (preference function that has type rt) Scores(B 0,r): {color!quality: 0.5, star!!quality: 0.4} (combine(f))(a: Scores(A 0,r), b: Scores(B 0,r), r) = final score

10
Example Value Function (f) Alice has the veto power to veto a color/model combination or on a particular model. If she thinks that it’s OK, then let Betty’s “quality” decide. FirstVeto(a: ScoreBoard(dom(A0)), b: ScoreBoard(dom(B0)), c: merge(dom(A0), dom(B0))) returns score { if a.color!model = veto then return veto else if a.star!!model = veto then return veto else return b.model!quality }

11
Implementation using RDBMS Preference functions (p, or A 0 or B 0 ) are implemented in a table ColorModelScore Red1230.4 *123Veto Green234Veto White4560.8 White2340.6 ModelQualityScore 12330.7 12340.9 23440.5 34530.3 34540.5 Alice’s preference function Betty’s preference function

12
Generating the Scores To generate the “Scores” for Alice: color!model: = SELECT Score FROM Alice WHERE Color = r.color AND Model = r.model Return score, or NO_PREF if query returns nothing star!!model = SELECT Score FROM Alice WHERE Color = * AND Model = r.model Similarly for Betty, model!quality = SELECT Score FROM Betty WHERE Model = r.model AND Quality = r.quality

13
Combining the Scores Get the Scores for Alice Get the Scores for Betty Returns the value obtained by FirstVeto(a,b,r) The FirstVeto function can be realized by a table with 4 columns (Color, Model, Quality, and Score) that covers the domain of the records that we pass to it. ColorModelQualityScore Red1231VETO Green1231VETO Purple1231VETO *1231VETO …………

14
Questions for Discussion What about the running time? 1000 fridges = 1000 * (2^j) SELECTs for each user where j is the number of fields that have type *. Would this be a problem? Does this system works on web search? (Think Alice == Google and Betty == you) How can the system learn the user’s preference function?

15
Thanks!

Similar presentations

OK

By Melissa Dalis Professor Susan Rodger Duke University June 2011 Multiplication Table.

By Melissa Dalis Professor Susan Rodger Duke University June 2011 Multiplication Table.

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google