Εξατοµίκευση Ερωτήσεων σε Βάσεις εδοµένων, Γ. Ιωαννίδης Πανεπιστήµιο Αθηνών
Προσπέλαση Πληροφοριών: Λίγη Ιστορία Query-Based Approaches Ερώτηση Πρόσβαση εδοµένων εδοµένα Ίδια απάντηση σε όλους τους χρήστες που υποβάλλουν την ίδια ερώτηση IR, Βάσεις εδοµένων
Προσπέλαση Πληροφοριών: Λίγη Ιστορία Query-Based Approaches Filter-Based Approaches Προφίλ Πρόσβαση εδοµένων εδοµένα Information Filtering Continuous Queries
Προσπέλαση Πληροφοριών: Λίγη Ιστορία Query-Based Approaches Filter-Based Approaches Personalized Approaches Ερώτηση Προφίλ Πρόσβαση εδοµένων Personalized IR (e.g., Outride) εδοµένα Personalized Database Queries
Εξατοµικευµένο Σύστηµα Βάσης Είσοδος χρήστη Ερώτηση Αποτελέσµατα ηµιουργία Προφίλ Εξατοµίκευση Ερώτησης Εξατοµίκευση Παρουσίασης Πρόσβαση εδοµένων Προφίλ εδοµένα
Εξατοµίκευση Ερωτήσεων Μοντέλο Προτιµήσεων Χρήστη Πλαίσιο Εξατοµίκευσης Επιλογή Προτιµήσεων ηµιουργία Εξατοµικευµένης Απάντησης Πειράµατα
Εξατοµίκευση Ερωτήσεων Μοντέλο Προτιµήσεων Χρήστη Πλαίσιο Εξατοµίκευσης Επιλογή Προτιµήσεων ηµιουργία Εξατοµικευµένης Απάντησης Πειράµατα
Μία βάση ταινιών... DIRECTOR MGENRE ACTOR DID NAME MID GENRE AID NAME DID TITLE YEAR MID MID AWARD ROLE AID MOVIE CAST
Μοντέλο Προτιµήσεων Χρήστη οµηµένο προφίλ Πολλαπλών τύπων προτιµήσεις Αποθηκευµένες ατοµικές συνθήκες (ατοµικές προτιµήσεις) Λογική εξαγωγής πολύπλοκων προτιµήσεων (µεταβατικές προτιµήσεις; συνδυασµοί)
Μοντέλο Προτιµήσεων Χρήστη Ατοµικές Μεταβατικές Συνδυασµοί Παρουσία Απουσία (Presence - Absence) <P, f p, f a > P ατοµικήσυνθήκηεπιλογής f p συνάρτηση β. ε. επί της παρουσίας f a συνάρτηση β. ε. επί της απουσίας
Μοντέλο Προτιµήσεων Χρήστη Ατοµικές Μεταβατικές Συνδυασµοί Θετικές Αρνητικές (Positive - Negative) f p : D [-1, 1] f a : D [-1, 1] θετικός βαθµός ενδιαφέροντος (>0) αρνητικός βαθµός ενδιαφέροντος (<0)
Μοντέλο Προτιµήσεων Χρήστη Ατοµικές Μεταβατικές Συνδυασµοί Ακριβείς Ελαστικές (Hard - Soft) + = ], [ ), ( ], [ ], [ ), ( ) ( 2 1 m b b u d u R b a u d a m a u d u L u f p p p p p p + = ], [ ), ( ], [ ], [ ), ( ) ( 2 1 m b b u d u R b a u d a m a u d u L u f a a a a a a
Μοντέλο Προτιµήσεων Χρήστη Ατοµικές Μεταβατικές Συνδυασµοί Παράδειγµα [ ACTOR.name= Al Pacino, 0.8, 0 ] [ ACTOR.name= J. Carey, -0.7, 0 ] [ THEATRE.region= downtown, 0.7, -0.5 ] [ THEATRE.ticket= 6Euros, f p (0.5), 0 ] [ MOVIE.duration=120min, f p (0.7), f a (-0.5) ] [ GENRE.genre= thriller, -0.9, 0.7 ]
Μοντέλο Προτιµήσεων Χρήστη Ατοµικές Μεταβατικές Συνδυασµοί Συσχέτισης <P, d> P ζεύξη d [0, 1] Παράδειγµα [MOVIE.MID=MGENRE.MID, 0.7] [MOVIE.DID=DIRECTOR.DID, 0.9] [DIRECTOR.DID=MOVIE.DID, 1 ]
Μοντέλο Προτιµήσεων Χρήστη Ατοµικές Μεταβατικές Συνδυασµοί Γράφος Εξατοµίκευσης DIRECTOR MGENRE ACTOR DID NAME 0.6 0.9 MID GENRE 0.9 0.5 ACID NAME 0.6 0.9 1 A. Miguela W. Allen 0.7 thriller 1 comedy N. Kidman A. Hopkins 0.9 1 DID TITLE YEAR MID 1 0.8 MID AWARD ROLE ACID MOVIE CAST
Μοντέλο Προτιµήσεων Χρήστη Ατοµικές Μεταβατικές Συνδυασµοί DIRECTOR MGENRE ACTOR DID NAME 0.6 0.9 MID GENRE 0.9 0.5 1 A. Miguela W. Allen 0.4 thriller comedy ACID AID NAME 1 0.9 N. Kidman 0.6 A. Hopkins 0.9 1 DID TITLE YEAR MID 1 0.9 MID AWARD ROLE ACID AID MOVIE CAST
Μοντέλο Προτιµήσεων Χρήστη Ατοµικές Μεταβατικές Συνδυασµοί Συνθέτοντας διαδοχικές ατοµικές προτιµήσεις <P 1, d 1 > <P N, d N > <P s, f p, f a > <P 1 and P N, f (d 1 d N ) > <P 1 and P N and P s, f (d 1 d N, f p ), f (d 1 d N, f a )> Περιορισµός: f min (d i ) f =d 1 d 2
Μοντέλο Προτιµήσεων Χρήστη Ατοµικές Μεταβατικές Συνδυασµοί <MOVIE.MID=CAST.MID, 0.8> <CAST.ACID=ACTOR.ACID, 1 > <ACTOR.NAME= N. Kidman, 0.9, -0.1> <MOVIE.MID=CAST.MID and CAST.ACID=ACTOR.ACID and ACTOR.NAME= N. Kidman, 0.72, -0.08>
Μοντέλο Προτιµήσεων Χρήστη Ατοµικές Μεταβατικές Συνδυασµοί Μία προτίµηση <P, f p, f a > ικανοποιείται όταν: ικανοποιείται η συνθήκη P και f p 0 ή δεν ικανοποιείται η συνθήκη P και f a 0 Παράδειγµα [ ACTOR.name= Al Pacino, 0.8, 0 ] [ ACTOR.name= J. Carey, -0.7, 0 ]
Μοντέλο Προτιµήσεων Χρήστη Ατοµικές Μεταβατικές Συνδυασµοί Ικανοποιώντας ένα σύνολο προτιµήσεων Inflationary f + (D) max(d) Dominant f + (D) = max(d) f N + = ( 1 i = 1 + d i 1 ) Reserved min(d) f + (D) max(d) f N + + = 1 ( 1 d i i = 1 ) 1/ N
Μοντέλο Προτιµήσεων Χρήστη Ατοµικές Μεταβατικές Συνδυασµοί Ικανοποιώντας µέρος συνόλου προτιµήσεων f - (D - ) f(d -, D + ) f + (D + ) f (d, -d) = 0 f = N + * f N + + + + N N * f
Μοντέλο Προτιµήσεων Χρήστη ιάταξη προτιµήσεων <P, d p, d a > Βαθµός κρισιµότητας c = d p + d a <P, d> Βαθµός κρισιµότητας c = d
Εξατοµίκευση Ερωτήσεων Μοντέλο Προτιµήσεων Χρήστη Πλαίσιο Εξατοµίκευσης Επιλογή Προτιµήσεων ηµιουργία Εξατοµικευµένης Απάντησης Πειράµατα
Πλαίσιο Εξατοµίκευσης L από τις top K προτιµήσεις L και K καθορίζονται µε βάση κάποιο κριτήριο απευθείας (π.χ., 1 στις top 2) σε σχέση µε τοβ.ε. ήβ.κ. (π.χ., αυτές µε c>1) αλληλοσχετιζόµενες (π.χ., τις µισές από τις top )
Πλαίσιο Εξατοµίκευσης Ερώτηση Προφίλ Χρήστη Επιλογή Προτιµήσεων K ηµιουργία Εξατοµικευµένης Απάντησης Ενσωµάτωση Προτιµήσεων Εκτέλεση Εξατοµικ/νης Ερώτησης L Βαθµολογηµένα Αποτελέσµατα
Εξατοµίκευση Ερωτήσεων Μοντέλο Προτιµήσεων Χρήστη Πλαίσιο Εξατοµίκευσης Επιλογή Προτιµήσεων ηµιουργία Εξατοµικευµένης Απάντησης Πειράµατα
Επιλογή Προτιµήσεων SPJ ερωτήσεις Οι επιλεγµένες προτιµήσεις πρέπει να είναι Σχετικές µε την ερώτηση (τα µονοπάτια ξεκινούν από σχέση της ερώτησης) Μη συγκρουόµενες µε την ερώτηση
Επιλογή Προτιµήσεων Επιλογή των top K προτιµήσεων Κατασκευή µονοπατιών κατά φθίνουσα σειρά βαθµού κρισιµότητας c S 2*c J
Μία ερώτηση SELECT MV.title FROM MOVIE MV WHERE MV.YEAR= 2003
Επιλογή Προτιµήσεων Επιλογή 2 top προτιµήσεων DIRECTOR MGENRE ACTOR DID NAME 0.6 0.9 MID GENRE 0.9 0.5 1 A. Miguela W. Allen 0.4 thriller comedy ACID AID NAME 1 0.9 N. Kidman 0.6 A. Hopkins 2003 0.9 1 DID TITLE YEAR MID 1 0.9 MID AWARD ROLE ACID AID MOVIE CAST
Εξατοµίκευση Ερωτήσεων Μοντέλο Προτιµήσεων Χρήστη Πλαίσιο Εξατοµίκευσης Επιλογή Προτιµήσεων ηµιουργία Εξατοµικευµένης Απάντησης Πειράµατα
ηµιουργία Εξατοµικευµένης Απάντησης Η απάντηση πρέπει να είναι: Ενδιαφέρουσα (L από τις K) Βαθµολογηµένη Αυτεξήγητη
ηµιουργία Εξατοµικευµένης Απάντησης Μετάφραση ελαστικών προτιµήσεων σε συνθήκες εύρους 0.9 0.7 0.6 0 3 1 2
ηµιουργία Εξατοµικευµένης Απάντησης Κατασκευή µίας ερώτησης (SGPA) Μία υποερώτηση για καθεµία από τις K προτιµήσεις Ένωση και οµαδοποίηση µερικών αποτελεσµάτων
ηµιουργία Εξατοµικευµένης Απάντησης Κατασκευή µίας ερώτησης (SGPA) Q: SELECT MV.title FROM MOVIE MV WHERE MV.YEAR= 2003 P1: MOVIE.mid=GENRE.mid and GENRE.genre= comedy Q1: SELECT title FROM MOVIE M, GENRE G WHERE M.mid=G.mid and G.genre= comedy
ηµιουργία Εξατοµικευµένης Απάντησης Κατασκευή µίας ερώτησης (SGPA) Q: SELECT MV.title FROM MOVIE MV WHERE MV.YEAR= 2003 P2: Not (MOVIE.mid=CAST.mid and CAST.aid=ACTOR.aid and ACTOR.name= W. Allen ) Q2: SELECT title FROM MOVIE WHERE title NOT IN (SELECT title FROM MOVIE M, CAST C, ACTOR AC WHERE M.mid=C.mid and C.aid=AC.aid and AC.name= W. Allen )
ηµιουργία Εξατοµικευµένης Απάντησης Κατασκευή µίας ερώτησης (SGPA) SELECT <<tuple identifier>> FROM (Q1 union all Q2) GROUP BY <<tuple identifier>> HAVING count(*) = 2
ηµιουργία Εξατοµικευµένης Απάντησης Κατασκευή µίας ερώτησης (SGPA) - Μη αυτεξήγητα αποτελέσµατα - Πρόβληµα οιπροτιµήσεις απουσίας - Μη προοδευτική ανάκτηση αποτελεσµάτων
ηµιουργία Εξατοµικευµένης Απάντησης Προοδευτικός Αλγόριθµος (PGPA) P 1 P 2 P K-1 P K S 1 S 2 S K-1 S K S i (tid, R.A, v) Q 2 (tid) Q K-1 (tid) Q K (tid) Q i = S j, j>i
ηµιουργία Εξατοµικευµένης Απάντησης Προοδευτικός Αλγόριθµος (PGPA) S i (tid, R.A, v) Q i+1 (tid) (tid, prefs, tupledegree) R output (tid, prefs, tupledegree) R, if tupledegree > MEDI
Εξατοµίκευση Ερωτήσεων Μοντέλο Προτιµήσεων Χρήστη Πλαίσιο Εξατοµίκευσης Επιλογή Προτιµήσεων ηµιουργία Εξατοµικευµένης Απάντησης Πειράµατα
Πειράµατα Oracle 9i www.imdb.com Προφίλ χρηστών: συνθετικά και πραγµατικά
Πειράµατα Χρόνοι δηµιουργίας αποτελεσµάτων Execution Times with K 6 Time (s) 5 4 3 2 1 SGPA Exec. Time PGPA Exec. Time PGPA Initial Response Time Initial Query Exec. Time 0 5 10 15 20 25 30 35 Selected preferences (K)
Πειράµατα Χρόνοι δηµιουργίας αποτελεσµάτων Execution Times with L 6 Time (s) 5 4 3 2 1 SGPA Exec. Time PGPA Exec. Time PGPA Initial Response Time 0 2 5 10 15 20 Minimum number of preferences L
Πειράµατα Με ανθρώπους f N + = ( 1 i = 1 + d i 1 ) f N + + = 1 ( 1 d i i = 1 ) 1/ N
Πειράµατα Βαθµολογία των αποτελεσµάτων 1 ερώτησης από 1 χρήστη Ranking of a query's tuples by one user 12 10 8 6 4 Tuple User Interest Est. Tuple Interest (1) Est. Tuple Interest (2) 2 0 1 3 5 7 9 11 13 15 17 19 21 Tuples
Πειράµατα Βαθµολογία των αποτελεσµάτων του συνόλου των ερώτησεων ανά χρήστη 12 Average Tuple Interest 10 8 6 4 2 0 U1 U2 U3 U4 U5 U6 U7 U8 U9 U10 U11 U12 Users Avg. Tuple User Interest Avg. Est.Tuple Interest (2) Avg. Est.Tuple Interest (1)
Πειράµατα Αξιολόγηση απαντήσεων για την 1η οµάδα 9 Average answer score per query (experts) 8 Average Answer Score 7 6 5 4 3 2 Query Unchanged Query Personalized 1 0 Q1 Q2 Q3 Q4 Q5 Queries
Πειράµατα Αξιολόγηση απαντήσεων για την 2η οµάδα 8 7 6 Average answer score per query (users) Avg. Answer Score 5 4 3 2 1 0-1 -2 Q1 Q2 Q3 Q4 Q5 Queries Query Unchanged Query Personalized
Πειράµατα Συνολική Εικόνα Average answer score per group Avg Answer Score 8 7 6 5 4 3 2 1 experts users 0 unchanged query personalized query
Πειράµατα Εξατοµικευµένη αναζήτηση Average answer score of queries 9 8 7 6 5 4 personalized unchanged 3 2 1 0
Σύνοψη Μοντέλο προτιµήσεων για δοµηµένα προφίλ L-από-top-K πλαίσιο εξατοµίκευσης Αλγόριθµοι εξατοµίκευσης Πειράµατα
Μελλοντική ουλειά Βελτιστοποίηση εξατοµίκευσης Μελέτη άλλων παραγόντων επίδρασης: χρόνος, τοποθεσία χρήστη, κλπ. Αυτόµατη κατασκευή προφίλ
Ευχαριστώ!