Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

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

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Ένας υβριδικός αλγόριθμος για συστάσεις ταινιών σε"— Μεταγράφημα παρουσίασης:

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

2 System architecture- Block diagram
Media Player Web Browser Proxy Server BBC Data Set Semantics Component Media Content Management System Streaming Server Profiles Control System Web Server IMDB Recommendation System Content Based Filtering Collaborative Filtering Client 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 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 : όπου , = πλήθος λέξεων «σάκου» του m slot της ταινίας, = φορές εμφάνισης της λέξης της ταινίας στο 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 sheep Problem: Ο χρήστης συμπίπτει με τα σύνορα μεταξύ των υπαρχόντων κλάσεων των χρηστών → δεν μπορεί να ταξινομηθεί σε καμία κλάση! 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. Θα έχουμε να αντιμετωπίσουμε: Data sparsity και Cold start Ενώ αν εφαρμόσουμε πρώτα τον content based: γιατί ο 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 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 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 ACM SIGIR Conference, Salvador, Brazil, 2005, pp 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.


Κατέβασμα ppt "Ένας υβριδικός αλγόριθμος για συστάσεις ταινιών σε"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google