25
[Σχεδίαση ενός Έξυπνου Συστήματος Συστάσεων] amarkos @ opencoffee.gr, May 2008 # έναρξη

amarkos - Σχεδίαση ενός Έξυπνου Συστήματος Συστάσεων

  • Upload
    amarkos

  • View
    1.120

  • Download
    2

Embed Size (px)

Citation preview

Page 1: amarkos - Σχεδίαση ενός Έξυπνου Συστήματος Συστάσεων

[Σχεδίαση ενός Έξυπνου Συστήματος Συστάσεων]amarkos @ opencoffee.gr, May 2008

# έναρξη

Page 2: amarkos - Σχεδίαση ενός Έξυπνου Συστήματος Συστάσεων

# ποιός;

άγγελος μάρκος (amarkos)

ενδιαφέροντα: άνθρωποι & δεδομέναυπόβαθρο: εφαρμοσμένη πληροφορική & στατιστική

(BSc, PhD)

περισσότεραurl: http://amarkos.gr blog: http://amarkos.gr/bloglinkedin: http://www.linkedin.com/in/amarkostwitter: http://www.twitter.com/amarkos

Page 3: amarkos - Σχεδίαση ενός Έξυπνου Συστήματος Συστάσεων

Αντικείμενα(Προιόντα)

Δεδομένα Προτάσεις

Χρήστης(Πελάτης)

ΕξατομίκευσηΕμπιστοσύνη

Κοινότητα

# τι σύστημα;

Page 4: amarkos - Σχεδίαση ενός Έξυπνου Συστήματος Συστάσεων

Βαθμολογίες Ταινιών από Χρήστες# τι σύστημα;

5 = Must see4 = Will enjoy3 = It’s OK2 = Fairly Bad1 = Awful

Page 5: amarkos - Σχεδίαση ενός Έξυπνου Συστήματος Συστάσεων

Βαθμολογίες Ταινιών από Χρήστες

5 = Must see4 = Will enjoy3 = It’s OK2 = Fairly Bad1 = Awful

# τι σύστημα;

Ποιές ταινίες του προτείνει το σύστημα;;

Page 6: amarkos - Σχεδίαση ενός Έξυπνου Συστήματος Συστάσεων

Netflix $1Μ Prize

Σύνολο Δεδομένων

~18.000 ταινίες~500.000 χρήστες~100.000.000 βαθμολογίες ~2 GB

# κίνητρο

Page 7: amarkos - Σχεδίαση ενός Έξυπνου Συστήματος Συστάσεων

φιλτράρισμα με βάση το περιεχόμενο (content-based filtering)

συνεργατικό φιλτράρισμα (collaborative filtering)

υβριδικές προσεγγίσεις (hybrid approaches)

# προσεγγίσεις

Page 8: amarkos - Σχεδίαση ενός Έξυπνου Συστήματος Συστάσεων

imdb.com

# προσεγγίσεις

aiderss.com (postrank για το wiggler.gr)

Page 9: amarkos - Σχεδίαση ενός Έξυπνου Συστήματος Συστάσεων

mystrands.com

# προσεγγίσεις

amazon.com

trustedplaces.com

Page 10: amarkos - Σχεδίαση ενός Έξυπνου Συστήματος Συστάσεων

Missing data

Inaccurate data

New items New users

Rating Scale Subjectivity

Μονοδιάστατες προτάσεις (rich-get-richer)Scalability

Day one problem

Synonymy

Security

Privacy

False positives False negatives

Gray Sheep problem

Limited data

# προβλήματα

Page 11: amarkos - Σχεδίαση ενός Έξυπνου Συστήματος Συστάσεων

©Wired

Gavin PotterJust a guy in a garage

# έξυπνο;

http://urlb.org/lh5f

Page 12: amarkos - Σχεδίαση ενός Έξυπνου Συστήματος Συστάσεων

Τι μαθαίνουμε από τον ψυχολόγο

Υποκειμενικότητα της κλίμακας βαθμολόγησης)

α) Πώς επιλέγεται μια κλίμακα (γιατί 1-5 και όχι 1-7); Είναι η απόσταση ανάμεσα στο 1 και το 2 η ίδια με αυτή ανάμεσα στο 4 και το 5; Πότε έχει νόημα ο μέσος όρος;

β) anchoring effect

User1: Star Wars Trilogy (4) Blade Runner (5)User2: Star Wars prequels (1) Blade Runner (3) ή (4)

# έξυπνο;

Άρα: Από το πώς θα γίνει μια πρόταση στο τι κάνει μια πρόταση καλή (semantic knowledge, strict personalization)

Page 13: amarkos - Σχεδίαση ενός Έξυπνου Συστήματος Συστάσεων

# σχέδιο δράσης

User Modeling

Συλλογή δεδομένων με άμεσο ή έμμεσο τρόπο που δημιουργούν το προφίλ του χρήστη

-δημογραφικά -δεδομένα χρήσης-δεδομένα περιβάλλοντος χρήσης

Εντοπισμός και απομάκρυνση των Inaccurate Data (spam filtering) Χειρισμός των Missing Data

userID age gender occupation education activity browser 1 35 f artist high high Mozilla 3b5 2 21 m student medium low IE7 3 34 m salesman low medium IE6……….

Page 14: amarkos - Σχεδίαση ενός Έξυπνου Συστήματος Συστάσεων

# σχέδιο δράσης

Συλλογή δεδομένων με άμεσο ή έμμεσο τρόπο που δημιουργούν το προφίλ του αντικειμένου

Π.χ. για ταινίες (imdb.com)

Item Ontology

Title: Iron Man

Director: Jon FavreauWriters: Mark Fergus, Hawk Ostby Release Date: 1 May 2008 Genre: Action, Thriller, Sci-Fi

Plot: When wealthy industrialist Tony Stark is forced to build an armored suit after a life-threatening incident, he ultimately decides to use its technology to fight against evil.

Plot Keywords: Strength, Lieutenant, Escape, Billionaire, Reporter

Page 15: amarkos - Σχεδίαση ενός Έξυπνου Συστήματος Συστάσεων

# σχέδιο δράσης

Παλιός Χρήστης

Β1: Εντοπισμός της γειτονιάς του τρέχοντα χρήστη, δηλαδή χρήστες με «παρόμοιο» ιστορικό και βαθμολογήσεις

Β2: Χρήση του item ontology για ανακάλυψη συσχετίσεων μεταξύ των προϊόντων που ο χρήστης έχει βαθμολογήσει στο παρελθόν

Β3: Παραγωγή σύστασης ή/και πρόβλεψης για νέα αντικείμενα

Αλγόριθμοι

• Multiple Correspondence Analysis for Dimensionality Reduction (unsupervised, SVD-based method, PCA “cousin”)

• kNN – k-Nearest Neighbor Algorithm (supervised, classification method)

Recommendation engine

Page 16: amarkos - Σχεδίαση ενός Έξυπνου Συστήματος Συστάσεων

# σχέδιο δράσης

Νέος Χρήστης

Β1: Ομαδοποίηση του χρήστη με βάση το δημογραφικό του προφίλ

Β2: Παραγωγή σύστασης ή/και πρόβλεψης για νέα αντικείμενα σύμφωνα με την ομάδα ή τις ομάδες) στις οποίες ανήκει ο χρήστης.

Recommendation engine

Αλγόριθμοι

• Multiple Correspondence Analysis for Dimensionality Reduction (unsupervised, SVD-based method, PCA “cousin”)

• kNN – k-Nearest Neighbor Algorithm (supervised, classification method)

Page 17: amarkos - Σχεδίαση ενός Έξυπνου Συστήματος Συστάσεων

προτιμάειπροτιμάειΠροφιλ αντικειμένωνΠροφιλ αντικειμένων

ταιριάζουνταιριάζουν

προτάσειςπροτάσεις

Κοινότητα

ταιριάζειταιριάζει

προτιμούνπροτιμούν

# σχέδιο δράσης

Page 18: amarkos - Σχεδίαση ενός Έξυπνου Συστήματος Συστάσεων

Βαθμολογίες Ταινιών από Χρήστες

5 = Must see4 = Will enjoy3 = It’s OK2 = Fairly Bad1 = Awful

# προτάσεις

Ποιές ταινίες του προτείνει το σύστημα;;

Page 19: amarkos - Σχεδίαση ενός Έξυπνου Συστήματος Συστάσεων

Βαθμολογίες Ταινιών από Χρήστες

5 = Must see4 = Will enjoy3 = It’s OK2 = Fairly Bad1 = Awful

# προτάσεις

{Αστέρης, Γιώργος}

Page 20: amarkos - Σχεδίαση ενός Έξυπνου Συστήματος Συστάσεων

Βαθμολογίες Ταινιών από Χρήστες

5 = Must see4 = Will enjoy3 = It’s OK2 = Fairly Bad1 = Awful

# προτάσεις

{Αστέρης, Γιώργος}

Αστέρη έχω μια πρόταση για σένα: Lost Season 2 (******)

Page 21: amarkos - Σχεδίαση ενός Έξυπνου Συστήματος Συστάσεων

Βαθμολογίες Ταινιών από Χρήστες

5 = Must see4 = Will enjoy3 = It’s OK2 = Fairly Bad1 = Awful

# προτάσεις

{Αστέρης, Γιώργος}

Όμως στον Αστέρη αρέσει κυρίως το είδος Sci-Fi…

Page 22: amarkos - Σχεδίαση ενός Έξυπνου Συστήματος Συστάσεων

Βαθμολογίες Ταινιών από Χρήστες

5 = Must see4 = Will enjoy3 = It’s OK2 = Fairly Bad1 = Awful

# προτάσεις

{Αστέρης, Γιώργος}

Όμως στον Αστέρη αρέσει το είδος Sci-Fi…

Page 23: amarkos - Σχεδίαση ενός Έξυπνου Συστήματος Συστάσεων

Βαθμολογίες Ταινιών από Χρήστες

5 = Must see4 = Will enjoy3 = It’s OK2 = Fairly Bad1 = Awful

# προτάσεις

{Αστέρης, Γιώργος}

Αστέρη έχω μια πρόταση για σένα: Firefly (*****)

Page 24: amarkos - Σχεδίαση ενός Έξυπνου Συστήματος Συστάσεων

Ανάλυση - Σχεδίαση – Ανάπτυξη

[p e o p l e]

amarkos

Comic characters created @ bitstrips.com

Domain knowledge(γνώση του πεδίου)

KDD methods knowledge(γνώση των μεθόδων)

Programming knowledge(γνώσεις προγραμματισμού)

$ ?

Page 25: amarkos - Σχεδίαση ενός Έξυπνου Συστήματος Συστάσεων

Ευχαριστώ!

ερωτήσεις?

# τέλος

Contact: [e] [email protected][m] 6936 108082[linkedin] http://www.linkedin.com/in/amarkos