1 / 33

Ένας υβριδικός αλγόριθμος για συστάσεις ταινιών σε συστήματα διαδραστικής τηλεόρασης.

ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ. Ένας υβριδικός αλγόριθμος για συστάσεις ταινιών σε συστήματα διαδραστικής τηλεόρασης. Γιαννακοπούλου Παναγιώτα - Σπαχή Διονυσία.

moral
Download Presentation

Ένας υβριδικός αλγόριθμος για συστάσεις ταινιών σε συστήματα διαδραστικής τηλεόρασης.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ • Ένας υβριδικός αλγόριθμος για συστάσεις ταινιών σε • συστήματα διαδραστικής τηλεόρασης. • Γιαννακοπούλου Παναγιώτα - Σπαχή Διονυσία

  2. Semantics Component Data Set Media Content Management System Profiles Control System Recommendation System IMDB Collaborative Filtering Streaming Server Web Server Content Based Filtering Client Media Player Web Browser Proxy Server BBC System architecture- Block diagram Server Subscriber Profiles/ Ratings Media Content System

  3. System architecture – Server side • Streaming Server:Ο open source Darwin Streaming Server της Apple παρέχει VoD και Live Streaming υπηρεσίες [1]. • Media Content System: Tο σύστημα στο οποίο αποθηκεύονται τα αρχεία video στον streaming server. • Media Content Management System:Προσδίδει έναν μοναδικό κωδικό σε κάθε νέα ταινία που εισάγεται στο media content system, το CRID (Content Reference IDentifier). • Subscribers’ Profiles/ Ratings:Βάση δεδομένων που περιέχει τα προσωπικά στοιχεία των χρηστών • όνομα, επίθετο, username, password, ηλικία, φύλο, επάγγελμα και ένα σύνολο από είδη ταινιών που αρέσουν στο χρήστη. και τις βαθμολογίες τους • οι βαθμολογίες δίνονται είτε έμμεσα είτε άμεσα από τους χρήστες. Αποτελείται από τους πίνακες users, profiles, ratings και cbratings.

  4. System architecture – Server side • Profiles Control System:Σύστημα αναγνώρισης της ταυτότητας του χρήστη (user authentication/sign in) και εγγραφής του (registration). • Web Server: Apache Tomcat web server [2] • Semantics Component: Κομμάτι του συστήματος που επικοινωνεί με εξωτερικές πηγές και αντλεί πληροφορίες για τις ταινίες. Η πηγή πληροφοριών είναι το IMDB [3]. Τα δεδομένα που αντλεί για κάθε ταινία είναι: • ο τίτλος, τα είδη της (genres), η πλοκή,ο πρωταγωνιστής, το έτος παραγωγής, ο σκηνοθέτης, ο παραγωγός, ο σεναριογράφος και η ομιλούμενη γλώσσα.

  5. System architecture – Server side • Data Set: MovieLens dataset [4]. Χρησιμοποιήθηκε για τα πειράματα και την αξιολόγηση του συστήματος. Αποτελείται από 100K βαθμολογίες που δόθηκαν από 943 χρήστες για 1682 ταινίες. Το dataset αποτελείται από 3 πίνακες: • users (UserID::Gender::Age::Occupation::ZipCode), • movies (MovieID::Title::Genres) and • ratings(UserID::MovieID::Rating::Timestamp) • Recommendation System:Συνδυασμός δύο αλγόριθμων σε έναν υβριδικό που προτείνει ταινίες στους χρήστες. Ο συνδυασμός αλγορίθμων έχει αποδειχθεί ότι δίνει βελτιωμένα αποτελέσματα σε σχέση με αυτά που θα έδινε κάθε αλγόριθμος ξεχωριστά. Οι αλγόριθμοι που συνδυάστηκαν είναι οι collaborative filtering και content based. Επιπλέον με τις συστάσεις ταινιών παρέχεται στο χρήστη και επεξήγηση για τη σύσταση.

  6. System architecture – Client side • Proxy Server:Για λήψη των EPG data από το site του BBC εγκαταστάθηκε ο Jetty [5] open source web server. • Web Browser: Mozilla Firefox 3.0.5 web browser [6]. • Media Player:Για αναπαραγωγή video ενσωματώθηκε στο web browser ο QuickTime Player Pro 7.5 [7]. Ο client ελέγχει τον media player με το QTJava API [8]. • BBC:Παρέχει το πρόγραμμα του BBC TV και Radio για 7 ημέρες [9] σε TvAnytime format [10],[11].

  7. Content based • Υλοποιήθηκε ένας bag-of-words naive Bayesian text classifier που • επεκτάθηκε να χειρίζεται διανύσματα από «σάκους λέξεων» [12]. • Η απεικόνιση των ταινιών διαρθρώνεται στα πεδία (slots): πρωταγωνιστής, είδος ταινίας, σκηνοθέτης, παραγωγός, συγγραφέας, χρονολογία παραγωγής, γλώσσα ταινίας. • Μια ταινία μπορεί να έχει περισσότερες από μία τιμές σε ορισμένα slots→(bag-of-words). Αντιπροσωπεύεται συνολικά από ένα διάνυσμα από bag-of-words. • Πρόβλημα πιθανοτικής κατηγοριοποίησης 5 κλάσεων→Υπολογίζεται η πιθανότητα μιας ταινίας να λάβει βαθμολογία από 1 έως 5.

  8. Content based • Φάση εκπαίδευσης (Εκμάθηση προφίλ χρηστών) • Δημιουργία των bags-of-words όλων των slots (όλες οι δυνατές λέξεις του slot). • Για κάθε χρήστη • Εύρεση συνόλου ταινιών N που έχει βαθμολογήσει (training movies ). • Εύρεση της πιθανότητας κάθε κλάσης: για όπου • Εύρεση των υπο-συνθήκη πιθανοτήτων κάθε λέξης του slot, δεδομένου ότι ανήκει στην κλάση και στο slot : όπου, =πλήθος λέξεων «σάκου» του mslotτης ταινίας, = φορές εμφάνισης της λέξης της ταινίας στοslot • Smoothing των μηδενικών πιθανοτήτων λέξεων.

  9. Content based • Φάση πρόβλεψης (Πρόβλεψη βαθμολογιών) • Για όλες τις ταινίες της βάσης: • Εύρεση των posterior πιθανοτήτων για την ταινία Μ για όλες τις κλάσεις με βάση τον κανόνα του Bayes. • Ανάθεση της ταινίας Μ στην κλάση c που υπολογίστηκε η μεγαλύτερηπιθανότητα (rating = c). • Δημιουργία πίνακα user-ratings.

  10. Content based - προβλήματα • Περιορισμένη ανάλυση περιεχομένου:Περιορίζονται από τα χαρακτηριστικά γνωρίσματα που είναι συνδεμένα με τα αντικείμενα. Αν δύο διαφορετικά αντικείμενα αντιπροσωπεύονται από το ίδιο σύνολο χαρακτηριστικών γνωρισμάτων, είναι όμοια. • Υπερειδίκευση: Μπορούν να συστηθούν μόνο αντικείμενα που σημειώνουν υψηλό σκορ σε σχέση με το προφίλ του χρήστη → ο χρήστης περιορίζεται στη σύσταση αντικειμένων παρόμοια με εκείνα που έχει ήδη βαθμολογήσει. • Cold-Start Problem: Ο χρήστης πρέπει να βαθμολογήσει έναν ικανοποιητικό αριθμό αντικειμένων ώστε να κατανοηθούν οι προτιμήσεις του χρήστη.

  11. Collaborative filtering • Εφαρμόστηκε ο Collaborative filtering with cluster based smoothing[13]. • Είναι ένας memory based Pearson correlation coefficient • αλγόριθμος. Σύνοψη αλγόριθμου: • Clustering: Ομαδοποίηση των χρηστών του dataset σε Ν ομάδες με k-means [14] και κριτήριο τη συνάρτηση συσχέτισης Pearson: Ο k-means τερματίζει όταν ελαχιστοποιηθεί ο αριθμός των χρηστών που αλλάζουν cluster ανάμεσα σε δύο επαναλήψεις. • Data smoothing: Συμπληρώνονται οι βαθμολογίες κάθε χρήστη για τις ταινίες του dataset που δεν έχει βαθμολογήσει. Οι νέες βαθμολογίες βασίζονται στις βαθμολογίες που έχουν δώσει οι υπόλοιποι χρήστες του cluster του.

  12. Collaborative filtering • Προεπιλογή των γειτόνων: Ένταξη κάθε νέου χρήστη σε ένα από τα clusters. Αρχικά υπολογίζεται η συσχέτισή του με όλα τα centroids. Τελικά τοποθετείται στο cluster με το οποίο έχει τη μεγαλύτερη συσχέτιση. • Επιλογή των κοντινότερων γειτόνων: Το σύνολο των κοντινότερων γειτόνων είναι οι κ χρήστες του cluster με τους οποίους ο νέος χρήστης έχει τη μεγαλύτερη ομοιότητα. • Πρόβλεψη βαθμολογίας: Πρόβλεψη της βαθμολογίας του νέου χρήστη για όλες τις ταινίες του dataset με βάση τις βαθμολογίες των κοντινότερων γειτόνων.

  13. Collaborative filtering - προβλήματα • Cold-Start Problem: Δημιουργείται από τους νέους χρήστες στο σύστημα που δεν έχουν βαθμολογήσει κανένα αντικείμενο → το σύστημα αδυνατεί να βρει παρόμοιους χρήστες-γείτονες και δεν μπορεί να κάνει προβλέψεις. • First-Rater Problem: Δημιουργείται από τα νέα αντικείμενα στο σύστημα που δεν έχουν βαθμολογηθεί από κανένα χρήστη. Ο CF εξαρτάται αποκλειστικά από τη βαθμολογία των άλλων χρηστών → το σύστημα δεν μπορεί να δημιουργήσει προτάσεις στους χρήστες για αυτά τα αντικείμενα μέχρι να λάβουν έναν ικανοποιητικό αριθμό βαθμολογιών. • Gray sheepProblem: Ο χρήστης συμπίπτει με τα σύνορα μεταξύ των υπαρχόντων κλάσεων των χρηστών → δεν μπορεί να ταξινομηθεί σε καμία κλάση! • Data Sparsity: Οφείλεται στο γεγονός ότι οι χρήστες βαθμολογούν μόνο ένα μικρό αριθμό αντικειμένων.

  14. Hybrid approach – Which are the problems to solve? • Πρόβλημα του content based είναι ότι προτείνει μόνο παρόμοιες ταινίες με αυτές που ο χρήστης έχει ήδη δει.Επίσης πάσχει από το cold start πρόβλημα. • Εχθροί του collaborative filtering είναι το cold start, το data sparsity και το gray sheep πρόβλημα. • Πώς θα τους συνδυάσουμε ώστε ο ένας να καταστέλλει τα προβλήματα του άλλου??

  15. Hybrid approach – In which order ? • Σύμφωνα με τον Burke [15] το αποδοτικότερο σχήμα είναι το σειριακό (cascade hybrid). • Ο πρώτος αλγόριθμος δίνει τις προβλέψεις του σε μία σειρά από διατεταγμένες κλάσεις Β0-Βn [16]. Στην ίδια κλάση ταξινομούνται οι ταινίες που είναι το ίδιο καλές προτάσεις. • O δεύτερος αλγόριθμος βελτιώνει τα αποτελέσματα του πρώτου. • Με ποια σειρά θα συνδυάσουμε τους δύο αλγόριθμους?

  16. Hybrid approach – In which order ? • Έστω ότι εφαρμόζουμε πρώτα τον collaborative filtering.Θα έχουμε να αντιμετωπίσουμε: • Datasparsity και • Cold start • Ενώ αν εφαρμόσουμε πρώτα τον content based: • Cold start γιατί ο content based εξαλείφει το data sparsity!! • Επιπλέον τοποθετήσαμε στη φόρμα εγγραφής του χρήστη μία λίστα από είδη ταινιών που μπορεί να βαθμολογήσει. Έτσι αντιμετωπίσαμε και το cold start πρόβλημα.

  17. Explanations – Why? • Για να γνωρίζει ο χρήστης το λόγο που του προτάθηκε η ταινία. • Για να εμπιστευτεί τις προτάσεις του συστήματος. • Για να καταλάβει καλύτερα τον τρόπο που λειτουργεί το σύστημα. • Για να μη χάνει το χρόνο του με ταινίες που δεν θα του αρέσουν.

  18. Explanations – Content based • Είναι τα features της ταινίας που την καθιστούν παρόμοια με τις άλλες ταινίες που ο χρήστης έχει αξιολογήσει θετικά. • Για την ταινία που πρότεινε ο αλγόριθμος συγκρίνονται όλες οι υπο-συνθήκη πιθανότητες των λέξεων της ταινίας. • Το κάθε slot της ταινίας μπορεί να έχει περισσότερες από μία τιμές (bags-of-words). • Το feature του slot με τιμή τη μεγαλύτερη υπο-συνθήκη πιθανότητα είναι το «ισχυρό» feature της ταινίας (με τη μεγαλύτερη διαχωριστική ικανότητα) και αποτελεί το λόγο για τον οποίο προτάθηκε η συγκεκριμένη ταινία.

  19. Explanations – Collaborative Filtering • Είναι το ποσοστό των κοντινότερων γειτόνων που έχουν αξιολογήσει θετικά την ταινία – Explanations Ratio (ER) • Ορίζουμε κατώφλιτην κατώτερη βαθμολογία που θεωρείται θετική αξιολόγηση. • Στο ποσοστό των κοντινότερων γειτόνων προσμετρούνται όσοι έχουν βαθμολογήσει την ταινία πάνω από το κατώφλι.Για 1<i<K, αν PositiveCounter =PositiveCounter+1

  20. Experiments – Content based • Το αρχικό dataset που χρησιμοποιήθηκε περιέχει943 χρήστες και 1682 ταινίες. • Για την εκπαίδευσή του για κάθε χρήστη χρησιμοποιήθηκε το 50% των ταινιών που έχει βαθμολογήσει ο χρήστης. • Στόχος είναι η εύρεση του dataset που θα δίνει καλύτερα αποτελέσματα στον Collaborative Filtering αλγόριθμο και κατ’ επέκταση στον υβριδικό. • Για κάθε χρήστη το ΜΑΕ μετρήθηκε ως με το μέγεθος τουtest set.

  21. Experiments – Content based • Πείραμα 1: Απόδοση CBανάλογα με το σύνολο των βαθμολογιών ανά χρήστη.

  22. Experiments – Content based • Πείραμα 2: Απόδοση CBανάλογα με τα features που χρησιμοποιούνται για να περιγράψουν μια ταινία.

  23. Experiments – Content based • Πείραμα 3: Απόδοση CBανάλογα με το πλήθος των βαθμολογιών ανά ταινία (με# user_ratings / user > 40). • Ελαττώνεται πολύ το πλήθος των ratings! -> ο CF δεν μπορεί να εξάγει αποτελέσματα!

  24. Experiments – Content based • Πείραμα 4: Απόδοση CBθέτοντας κριτήρια σταfeaturesτων ταινιών (με# user_ratings / user > 40). • Ελαττώνονται πολύ το πλήθος ταινιών και χρηστών -> ο CF δεν μπορεί να εξάγει αποτελέσματα!

  25. Experiments – Collaborative filtering • Για να μπορεί να δώσει προβλέψεις, στα πειράματα συμμετείχαν οι χρήστες με περισσότερες από 40 βαθμολογίες – 622 από τους 943. • Οι 200 πρώτοι χρήστες χρησιμοποιούνται πάντα για training και ένα ποσοστό από τους τελευταίους για evaluation. • Από τους evaluation users λήφθηκε υπ’ όψη ένα μέρος των βαθμολογιών τους (Evaluation Ratings Per User - ERPU).

  26. Experiments – Collaborative filtering • 1οσετ πειραμάτων για διαφορετικές τιμές της παραμέτρου λ (0<λ<1). • λ = 0: ο collaborative filtering χρησιμοποιεί τις βαθμολογίες των κοντινότερων γειτόνων για προβλέψεις. • λ = 1: χρησιμοποιεί τις μέσες τιμές των βαθμολογιών των κοντινότερων γειτόνων.

  27. Experiments – Collaborative filtering • 2οσετ πειραμάτων για διαφορετικές τιμέςτης ERPU (5, 7, 10, 12, 15, 17 και 20 ).

  28. Experiments - Hybrid • Στο 1ο σετ πειραμάτων όμοια με το 1οσετ πειραμάτων collaborative filtering αλλάξαμε τις τιμές της παραμέτρου λ. • Το 2ο σετ πειραμάτων είναι ίδιο με το 2ο σετ του collaborative filtering.Αλλάξαμε τις τιμές της ERPU. • Το 3ο σετ πειραμάτων είναι ίδιο με το 3ο σετ πειραμάτων του content based. • Πώς θα επηρεαστεί ο υβριδικός από τις αλλαγές??

  29. Experiments - Hybrid • Ο υβριδικός δεν επηρεάζεται από τις αλλαγές στον collaborative filtering!!

  30. Experiments - Hybrid • Καλύτερη επίδοση για ERPU=5.

  31. Experiments - Hybrid • Ο υβριδικός δεν επηρεάζεται από τις αλλαγές στον content based!!

  32. Hybrid vs Collaborative filtering • Ο υβριδικός έχει καλύτερη απόδοση και πιο σταθερή πορεία. • Μέσο MAE(colfilt)=1,12 Μέσο ΜΑΕ(hybrid)=0,89 • Τυπική απόκλιση(colfilt)=0,014 Τυπική απόκλιση(hybrid)=0,067

  33. References • http://developer.apple.com/opensource/server/streaming/index.html • http://tomcat.apache.org/ • http://www.imdb.com • http://www.grouplens.org/node/73#attachments • http://www.mortbay.org/jetty/ • http://www.mozilla.com/en-US/firefox/firefox.html • http://www.apple.com/quicktime/ • http://developer.apple.com/quicktime/qtjava/ • http://backstage.bbc.co.uk/data/7DayListingData?v=16wk • http://www.tv-anytime.org/ • http://www.bbc.co.uk/opensource/projects/tv_anytime_api/ • Mooney, R. J., P. N. Bennett, and L. Roy. Book recommending using text categorization with extracted information. In Recommender Systems. Papers from 1998 Workshop. Technical Report WS-98-08. AAAI Press, 1998. • Gui-Rong Xue, Chenxi Lin, Qiang Yang, WenSi Xi, Hua-Jun Zeng , Yong Yu and Zheng Chen, Scalable Collaborative filtering Using Cluster-based smoothing* . In Proceedings of the 2005 ACM SIGIR Conference, Salvador, Brazil, 2005, pp. 114-121 • http://www.clustan.com/k-means_critique.html • Robin Burke. Hybrid Recommender Systems: Survey and Experiments. California State University, Fullerton 2002. • Robin Burke. Integrating Knowledge-based and Collaborative-filtering Recommender Systems. In Workshop on AI and Electronic Commerce, AAAI 1999.

More Related