Προσωποποίηση αποτελεσμάτων μηχανών αναζήτησης μέσω ενσωμάτωσης συμπεριφοράς χρηστών και σημασιολογικών δεδομένων - PDF\nΠροσωποποίηση αποτελεσμάτων μηχανών αναζήτησης μέσω ενσωμάτωσης συμπεριφοράς χρηστών και σημασιολογικών δεδομένων\nDownload "Προσωποποίηση αποτελεσμάτων μηχανών αναζήτησης μέσω ενσωμάτωσης συμπεριφοράς χρηστών και σημασιολογικών δεδομένων"\n1 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ & ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΕΠΕΞΕΡΓΑΣΙΑΣ ΠΛΗΡΟΦΟΡΙΩΝ & ΥΠΟΛΟΓΙΣΜΩΝ Προσωποποίηση αποτελεσμάτων μηχανών αναζήτησης μέσω ενσωμάτωσης συμπεριφοράς χρηστών και σημασιολογικών δεδομένων Διπλωματική εργασία του Παπαγγέλου Κων/νου ΑΕΜ: 7498 υπό την επίβλεψη των κ. Ανδρέα Λ. Συμεωνίδη κ. Θεμιστοκλή Μαυρίδη Επίκουρος Καθηγητής - ΑΠΘ Υποψήφιος Διδάκτορας - ΑΠΘ Θεσσαλονίκη, Σεπτέμβριος 2015\n3 Παπαγγέλου Κων/νος ΤΗΜΜΥ ΑΠΘ 1 Ευχαριστίες Θα ήθελα να ευχαριστήσω όλους όσους συνέβαλλαν στην επιτυχή ολοκλήρωση της διπλωματικής εργασίας και συγκεκριμένα: Τον κ. Ανδρέα Συμεωνίδη, Επίκουρο Καθηγητή του THMMY - ΑΠΘ για την εμπιστοσύνη που μου έδειξε κατά την ανάθεση του θέματος και τις καίριες προτάσεις και συμβουλές του. Τον κ. Θεμιστοκλή Μαυρίδη, Διπλωματούχο του ΤΗΜΜΥ - ΑΠΘ, για τις πολύτιμες οδηγίες του, τη βοήθειά του σε κρίσιμα σημεία καθώς και για το χρόνο που διέθεσε. Την οικογένειά μου και τους φίλους μου για την υποστήριξη και τη συμπαράσταση που μου παρείχαν.\n4 2 Θεσσαλονίκη Σεπτέμβριος 2015\n5 Παπαγγέλου Κων/νος ΤΗΜΜΥ ΑΠΘ 3 Περίληψη Ένα σημαντικό βήμα προς την κατανόηση και ικανοποίηση των αναγκών των χρηστών του διαδικτύου είναι η ανάλυση της συμπεριφοράς τους και η εκμετάλλευση των πληροφοριών που παρέχουν καθώς και των ενεργειών τους για τη δημιουργία εξατομικευμένων υπηρεσιών. Πληροφορίες όπως το φύλο, η ηλικία και η τοποθεσία των χρηστών, καθώς και πληροφορίες για τις σελίδες που επισκέπτονται χρησιμοποιούνται από εφαρμογές για την αναγνώριση των ενδιαφερόντων των χρηστών και τη βελτίωση των υπηρεσιών που τους παρέχουν. Τέτοιου είδους εφαρμογές έχουν αρχίσει να αποτελούν μέρος του διαδικτύου με το πιο ενδεικτικό παράδειγμα να είναι η παροχή εξατομικευμένων αποτελεσμάτων από τις μηχανές αναζήτησης. Στόχος της παρούσας διπλωματικής είναι η σχεδίαση και ανάπτυξη μίας μεθόδου αναγνώρισης των ενδιαφερόντων των χρηστών βάσει του ιστορικού περιήγησής τους. Γι αυτό το σκοπό υλοποιήθηκαν δύο συστήματα: το πρώτο είναι υπεύθυνο για τη δημιουργία προφίλ σχετικών με δημοφιλή θέματα και το δεύτερο πραγματοποιεί ανάθεση αυτών των προφίλ στους χρήστες ανάλογα με το περιεχόμενο των σελίδων που επισκέπτονται. Συγκεκριμένα, το πρώτο σύστημα συλλέγει σελίδες του διαδικτύου σχετικές με κάποιο θέμα (π.χ. είδη μουσικής) και πραγματοποιεί θεματική ανάλυση αυτών με χρήση του αλγορίθμου Latent Dirichlet Allocation (LDA). Στη συνέχεια επιλέγει τις πιο αντιπροσωπευτικές λέξεις, οι οποίες θα συνθέσουν το αντίστοιχο προφίλ. Το δεύτερο σύστημα εξάγει το ιστορικό περιήγησης του χρήστη και υπολογίζει για κάθε σελίδα ένα σκορ ως προς κάθε προφίλ ανάλογα με τον αριθμό των κοινών λέξεων και τη σημασιολογική ομοιότητα που παρουσιάζουν. Σε κάθε σελίδα ανατίθεται το πιο αντιπροσωπευτικό προφίλ, ενώ το σύνολο των προφίλ που θα προκύψει στο τέλος της ανάλυσης θα είναι και αυτό που θα περιγράφει τα ενδιαφέροντα του χρήστη. Στα πλαίσια της εργασίας γίνεται μία παρουσίαση σχετικών υλοποιήσεων και περιγράφονται λεπτομερώς τα δύο συστήματα που αναπτύχθηκαν. Επιπλέον, παρουσιάζονται ενδεικτικά αποτελέσματα του πρώτου συστήματος στα πεδία της μουσικής και του αθλητισμού καθώς και ένα παράδειγμα ανάλυσης του ιστορικού περιήγησης ενός χρήστη. Τα αποτελέσματα που προκύπτουν είναι ενθαρρυντικά και μας επιτρέπουν να εξάγουμε χρήσιμα συμπεράσματα. Κων/νος Παπαγγέλου\n6 4 Θεσσαλονίκη Σεπτέμβριος 2015\n7 Παπαγγέλου Κων/νος ΤΗΜΜΥ ΑΠΘ 5 Abstract Personalizing web search results by incorporating user behavior and semantic data The most important step towards understanding and satisfying web users' needs is the analysis of their behavior and the use of the data they provide in order to implement personalized services. Several information, like gender, age and the location of the users as well as the webpages they visit, can be used by a plethora of web applications in order to identify users' interests and provide them with better services. These kinds of applications are already part of the web with the most prominent example being the personalized search offered by some commercial search engines. The main goal of the diploma thesis is to present a complete method that identifies users' interests based on their browsing history. For this purpose we have implemented two systems. The first system creates profiles relevant to various domains while the second one assigns these profiles to users based on the content of the webpages they visit. In particular, for the first system, we collect webpages relevant to some subject (e.g. a music genre) using the search API of a commercial search engine and we perform thematic analysis of them using Latent Dirichlet Allocation. We use the results of LDA in order to find the most dominant topics and for each one of them the most probable words. We use these words to form a vocabulary relevant to the corresponding subject. We are also interested in forming profiles that describe the user's level of expertise in each subject. For the second system, we extract the user's browsing history and for each webpage-profile pair we calculate a score based on the number of matching words. To improve further our scoring system we include a measure that captures the semantic similarity between webpages and profiles. Finally, for every webpage we find the profile that has the maximum score and the set of the resulting profiles is assigned to the user. Within the context of the thesis we present relevant applications and describe the implemented systems. We also present results of the first system in two popular domains, music and sports, as well as an example of a user's browsing history analysis. The results are promising and allow us to draw some conclusions. Konstantinos Papangelou\n8 6 Θεσσαλονίκη Σεπτέμβριος 2015\n9 Παπαγγέλου Κων/νος ΤΗΜΜΥ ΑΠΘ 7 Περιεχόμενα Ευχαριστίες... 1 Περίληψη... 3 Abstract... 5 Λίστα Εικόνων... 9 Λίστα Πινάκων Εισαγωγή Αντικείμενο της διπλωματικής Στόχοι της διπλωματικής Δομή της διπλωματικής Αναφορά σε υπάρχουσες προσεγγίσεις ανάλυσης συμπεριφοράς χρηστών Χρησιμοποίηση δεδομένων συμπεριφοράς χρηστών σε μηχανές αναζήτησης Ερμηνεύοντας τα δεδομένα κλικ ως έμμεσο feedback Εκμάθηση μοντέλων αλληλεπίδρασης των χρηστών με τη μηχανή αναζήτησης για την πρόβλεψη των αποτελεσμάτων Βελτίωση των αποτελεσμάτων της μηχανής αναζήτησης χρησιμοποιώντας πληροφορίες σχετικά με τη συμπεριφορά των χρηστών Ένα μοντέλο για την πρόβλεψη της εγγενής σχετικότητας των σελίδων των αποτελεσμάτων των μηχανών αναζήτησης χρησιμοποιώντας δεδομένα κλικ Αντιμετωπίζοντας την "αμνησία" των μηχανών αναζήτησης: Ανακατάταξη των επαναλαμβανόμενων αποτελεσμάτων Κατάταξη των αποτελεσμάτων χρησιμοποιώντας τα συμφραζόμενα του ερωτήματος Εκτίμηση της σχετικότητας μίας σελίδας από τις κινήσεις του κέρσορα και τη συμπεριφορά των χρηστών μετά από ένα κλικ Εξατομίκευση της αναζήτησης στον ιστό με χρήση μακροπρόθεσμου ιστορικού περιήγησης Χρήση ομάδων για βελτίωση της εξατομικευμένης αναζήτησης Βελτίωση εξατομικευμένης αναζήτησης με εξόρυξη και μοντελοποίηση της συμπεριφοράς των χρηστών κατά την πραγματοποίηση συγκεκριμένων ενεργειών Χρήση μεταδεδομένων τοποθεσίας για εξατομίκευση της αναζήτησης Εξατομικευμένη πρόβλεψη κλικ σε επιδοτούμενη αναζήτηση Αναγνωρίζοντας τους στόχους του χρήστη με χρήση δεδομένων αλληλεπίδρασης... 32\n10 8 Θεσσαλονίκη Σεπτέμβριος Συστήματα συστάσεων Σύσταση μουσικής βασισμένη σε ακολουθιακά πρότυπα λανθανόντων θεμάτων Εξατομικευμένη σύσταση ειδήσεων με χρήση δεδομένων κλικ Συστήματα συστάσεων και κοινωνικά δίκτυα Μία προσέγγιση μάθησης εις βάθος πολλαπλών όψεων για μοντελοποίηση της συμπεριφοράς χρηστών σε διαφορετικά πεδία σε συστήματα συστάσεων Σύσταση βασισμένη στην τοποθεσία και τις προτιμήσεις των χρηστών Μέθοδος δημιουργίας προφίλ Συλλογή σελίδων Επεξεργασία σελίδων Θεματική ανάλυση σελίδων Ο αλγόριθμος LDA Εύρεση θεμάτων με χρήση του αλγορίθμου Gibbs Sampling Ερμηνεία των παραμέτρων Η βιβλιοθήκη JGibbLDA Παραμετροποίηση του LDA Σχηματισμός διανυσμάτων λέξεων Μορφή εισόδου Μέθοδος ανάλυσης ιστορικού περιήγησης Ανάλυση του ιστορικού Υπολογισμός Relevance Score Υπολογισμός Semantic και Confidence Score Εξαγωγή τελικών αποτελεσμάτων Αλληλεπίδραση χρήστη με τα αποτελέσματα της ανάλυσης Πειράματα και Αποτελέσματα Αποτελέσματα συστήματος δημιουργίας προφίλ Αποτελέσματα στο πεδίο της μουσικής Αποτελέσματα στο πεδίο των αθλημάτων Σχολιασμός αποτελεσμάτων Παράδειγμα ανάλυσης ιστορικού περιήγησης Συμπεράσματα και Μελλοντική εργασία Σύνοψη Συμπεράσματα... 93\n11 Παπαγγέλου Κων/νος ΤΗΜΜΥ ΑΠΘ Μελλοντική εργασία Βιβλιογραφία Λίστα Εικόνων Εικόνα 1. Στιγμιότυπο της προτεινόμενης μεθόδου Εικόνα 2. Παράδειγμα δημιουργίας ερωτημάτων για τον ορισμό των προφίλ. Τα προφίλ αντιστοιχούν σε αθλήματα και είδη μουσικής Εικόνα 3. Το γραφικό μοντέλο του αλγορίθμου LDA Εικόνα 4. Συμμετρικές κατανομές Dirichlet για τρία θέματα. Αριστερά έχουμε = 4 ενώ δεξιά = Εικόνα 5. Αρχείο εισόδου JGibbLDA Εικόνα 6. Παράδειγμα εξαγωγής περιεχομένου από μία σελίδα Εικόνα 7. Ανάλυση ιστορικού περιήγησης Εικόνα 8. Παράδειγμα σημασιολογικού υπομνηματισμού μίας σελίδας χρησιμοποιώντας το DBpedia Spotlight. Οι οντότητες που εντοπίστηκαν εμφανίζονται υπογραμμισμένες... 60\n12 10 Θεσσαλονίκη Σεπτέμβριος 2015 Λίστα Πινάκων Πίνακας 1. Παράμετροι βιβλιοθήκης JGibbLDA Πίνακας 2. Οι έξοδοι της βιβλιοθήκης JGibbLDA Πίνακας 3. Μορφή εισόδου του συστήματος Πίνακας 4. Παράδειγμα αρχείου εισόδου Πίνακας 5. Παραδείγματα κοινών λέξεων του διαδικτύου Πίνακας 6. Αριθμός ερωτημάτων και σελίδων μουσικής Πίνακας 7. Ερωτήματα που χρησιμοποιήθηκαν για τη δημιουργία προφίλ σχετικών με τη μουσική Πίνακας 8. Αποτελέσματα στο πεδίο της μουσικής Πίνακας 9. Αριθμός ερωτημάτων και σελίδων που χρησιμοποιήθηκαν στο πεδίο των αθλημάτων Πίνακας 10. Ερωτήματα που χρησιμοποιήθηκαν για τη δημιουργία προφίλ σχετικών με τον αθλητισμό Πίνακας 11. Αποτελέσματα στο πεδίο των αθλημάτων Πίνακας 12. Κοινές λέξεις μεταξύ των προφίλ επιπέδου 0 στο πεδίο της μουσικής Πίνακας 13. Κοινές λέξεις μεταξύ των προφίλ επιπέδου 1 στο πεδίο της μουσικής Πίνακας 14. Κοινές λέξεις μεταξύ προφίλ διαφορετικών επιπέδων στο πεδίο της μουσικής Πίνακας 15. Κοινές λέξεις μεταξύ των προφίλ επιπέδου 0 στο πεδίο των αθλημάτων Πίνακας 16. Κοινές λέξεις μεταξύ των προφίλ επιπέδου 1 του πεδίου των αθλημάτων Πίνακας 17. Κοινές λέξεις μεταξύ προφίλ διαφορετικών επιπέδων στο πεδίο των αθλημάτων Πίνακας 18. Θέματα προφίλ tennis/ Πίνακας 19. Κατάταξη θεμάτων του προφίλ tennis/1 για διαφορετικές μεθόδους Πίνακας 20. Αποτελέσματα ανάλυσης ιστορικού Πίνακας 21. Κορυφαία URLs σχετικά με το προφίλ Basketball/ Πίνακας 22. Κορυφαία URLs σχετικά με το προφίλ jazz/ Πίνακας 23. Κορυφαία URLs σχετικά με το προφίλ classical/\n13 Παπαγγέλου Κων/νος ΤΗΜΜΥ ΑΠΘ Εισαγωγή Η ανάλυση της ανθρώπινης συμπεριφοράς αποτελεί αντικείμενο μελέτης για πλήθος επιστημονικών πεδίων, όπως η ψυχολογία, η κοινωνιολογία, η γλωσσολογία, τα οικονομικά και η πληροφορική. Το ευρύ θεωρητικό υπόβαθρο που υπάρχει διαθέσιμο έχει βοηθήσει στην ανάπτυξη εφαρμογών σε νέα πεδία όπως η ανάλυση της συμπεριφοράς των χρηστών του διαδικτύου. Σήμερα το 40% του πληθυσμού έχει πρόσβαση στο διαδίκτυο, με τον αριθμό των χρηστών να αυξάνεται με όλο και ταχύτερο ρυθμό. Οι χρήστες του διαδικτύου αναζητούν πληροφορίες, συμμετέχουν σε κοινωνικά δίκτυα (social networks), κάνουν αγορές (e-commerce), πραγματοποιούν τραπεζικές συναλλαγές κ.α. Το σύνολο αυτών των αλληλεπιδράσεων συνθέτει ένα περίπλοκο περιβάλλον, η μοντελοποίηση του οποίου αποτελεί αντικείμενο μελέτης των τελευταίων ετών. Οι μηχανές αναζήτησης αποτελούν το βασικό εργαλείο των χρηστών του διαδικτύου και η αλληλεπίδραση των χρηστών με αυτές μπορεί να βοηθήσει στον εντοπισμό των ενδιαφερόντων τους. Οι μηχανές αναζήτησης σήμερα χρησιμοποιούν εκατοντάδες χαρακτηριστικά για να εκπαιδεύσουν αλγορίθμους μηχανικής μάθησης προκειμένου να βελτιώσουν την κατάταξη των αποτελεσμάτων (learning to rank 1 ). Επιπλέον, καταγράφουν τα ερωτήματα των χρηστών και τις σελίδες που επισκέπτονται προκειμένου να εντοπίσουν πρότυπα που περιγράφουν τη συμπεριφορά ομάδων χρηστών. Άλλου είδους δεδομένα, όπως το φύλο, η ηλικία, η τοποθεσία και το επάγγελμα των χρηστών καθώς και η ομαδοποίησή τους ανάλογα με τα ενδιαφέροντά τους χρησιμοποιούνται για τη δημιουργία εξατομικευμένης αναζήτησης (personalized search). Στην εξατομικευμένη αναζήτηση η κατάταξη των αποτελεσμάτων διαφέρει για κάθε χρήστη ανάλογα με το προφίλ που αντιστοιχεί σε αυτόν, το οποίο σχηματίζεται από τα δεδομένα που υπάρχουν διαθέσιμα. Ενδεικτικό παράδειγμα είναι η υπηρεσία Google Personal, η οποία χρησιμοποιεί το ιστορικό περιήγησης των χρηστών καθώς και τις ειδήσεις που τους ενδιαφέρουν προκειμένου να τους παρέχει καλύτερα αποτελέσματα. Παρόμοια δεδομένα χρησιμοποιούνται από μεγάλο αριθμό σελίδων όπως σελίδες κοινωνικών δικτύων και ηλεκτρονικού εμπορίου. Αντιπροσωπευτικό παράδειγμα αποτελεί η υπηρεσία My Yahoo!, όπου οι χρήστες δηλώνουν τα ενδιαφέροντά τους και μπορούν να έχουν πρόσβαση σε σελίδες, ειδήσεις, παιχνίδια κ.α. τα οποία ανταποκρίνονται σε αυτά. Η ανάλυση της συμπεριφοράς των χρηστών σε αυτές τις περιπτώσεις μπορεί να βοηθήσει στην αξιολόγηση της εκάστοτε σελίδας και συνεπώς στη βελτίωσή της προς όφελος των χρηστών. Δεύτερον, βοηθάει στην αποτελεσματικότερη τοποθέτηση διαφημίσεων, ώστε να μεγιστοποιείται η πιθανότητα επιλογής των διαφημίσεων από τους χρήστες. Τρίτον, μπορεί να βοηθήσει τους υπεύθυνους των σελίδων να κατανοήσουν τον τρόπο με τον οποίο εξελίσσεται το διαδίκτυο. Αυτό είναι ιδιαίτερα σημαντικό στην περίπτωση των σελίδων κοινωνικών δικτύων, όπου ο αριθμός των χρηστών που θα πρέπει να εξυπηρετηθεί κάθε δεδομένη χρονική στιγμή αυξάνει συνεχώς. Η ομαδοποίηση τους ανάλογα με τον τρόπο με τον οποίο χρησιμοποιούν αυτές τις υπηρεσίες μπορεί να βελτιώσει τις μεθόδους εξυπηρέτησης της κίνησης στο διαδίκτυο. 1 https://en.wikipedia.org/wiki/learning_to_rank\n14 12 Θεσσαλονίκη Σεπτέμβριος Αντικείμενο της διπλωματικής Τα δεδομένα που χρησιμοποιούνται για τον εντοπισμό των ενδιαφερόντων των χρηστών μπορούν να παρέχονται είτε άμεσα από τους χρήστες είτε να εξάγονται έμμεσα μέσω της αλληλεπίδρασής τους με μηχανές αναζήτησης, περιηγητές, συγκεκριμένες σελίδες κ.α. Στην πρώτη περίπτωση περιλαμβάνονται συνήθως δεδομένα όπως το φύλο, η ηλικία και το επάγγελμα ενώ στη δεύτερη περίπτωση οι σελίδες που επισκέπτονται και τα δεδομένα που έχουν αποθηκευμένα στους υπολογιστές τους χρησιμοποιούνται για να εντοπιστούν τα ενδιαφέροντά τους. Στα πλαίσια της διπλωματικής εξετάζεται η περίπτωση έμμεσης εξαγωγής των ενδιαφερόντων των χρηστών μέσω του ιστορικού περιήγησης. Οι σελίδες που επισκέπτεται ένας χρήστης αποτελεί ίσως τη σημαντικότερη ένδειξη των ενδιαφερόντων του. Επιπλέον, οι αλλαγές στα ενδιαφέροντά του μπορούν να εντοπιστούν άμεσα συγκρίνοντας το ιστορικό διαφορετικό περιόδων (π.χ. μεταξύ διαδοχικών μηνών). Το βασικό πρόβλημα που πρέπει να αντιμετωπιστεί σε αυτή την περίπτωση είναι η αναγνώριση του θέματος των σελίδων. Για το σκοπό αυτό παρουσιάζεται μία μέθοδος εντοπισμού του θέματος χρησιμοποιώντας ένα σύνολο προφίλ, κάθε ένα εκ των οποίων περιέχει ένα αντιπροσωπευτικό λεξιλόγιο που εμφανίζεται σε σελίδες σχετικές με κάποιο αντικείμενο. Τα προφίλ μπορούν να σχετίζονται τόσο με γενικά θέματα, όπως η μουσική και οι επιστήμες, καθώς και με πιο ειδικά θέματα, όπως συγκεκριμένα είδη μουσικής ή συγκεκριμένες επιστημονικές περιοχές. Με αυτό τον τρόπο μπορούμε να καθορίσουμε το επίπεδο λεπτομέρειας της ανάλυσης που επιθυμούμε. Κάθε σελίδα μπορεί να συσχετιστεί με ένα προφίλ και το σύνολο των προφίλ που εντοπίζονται στο ιστορικό περιήγησης αντιπροσωπεύει τα ενδιαφέροντα του χρήστη. Η ομοιότητα μεταξύ ενός προφίλ και μιας σελίδας μπορεί να ενισχυθεί με τη χρησιμοποίηση σημασιολογικών χαρακτηριστικών. Ως σημασιολογικά χαρακτηριστικά ορίζονται οι οντότητες (πρόσωπα, οργανισμοί, τοποθεσίες κ.α.) και οι σχέσεις που τις συνδέουν. Ο εμπλουτισμός των σελίδων με τέτοιου είδους δεδομένα βοηθάει τις μηχανές να ερμηνεύσουν και να κατανοήσουν το περιεχόμενο των σελίδων. Για παράδειγμα, οι μηχανές αναζήτησης χρησιμοποιούν σημασιολογικά χαρακτηριστικά για βελτίωση της απόδοσής τους. Η αναγνώριση οντοτήτων στα ερωτήματα μπορεί να βοηθήσει τη μηχανή αναζήτησης να πραγματοποιήσει αποσαφήνιση του ερωτήματος, αναγνωρίζοντας τις προθέσεις του χρήστη που θέτει το ερώτημα. Επιπλέον, μπορεί να παρέχει σχετικές σελίδες καθώς και πληροφορίες για τις οντότητες του ερωτήματος και άλλες σχετικές οντότητες. Στα πλαίσια της διπλωματικής οι οντότητες των σελίδων του ιστορικού περιήγησης χρησιμοποιούνται για τον υπολογισμό τη σημασιολογικής ομοιότητας μεταξύ των σελίδων και των προφίλ. Αυτές αποτελούν ίσως την πιο ισχυρή ένδειξη του θέματος με το οποίο σχετίζεται. Έτσι, αν το μεγαλύτερο μέρος των οντοτήτων μιας σελίδας εμφανίζεται στο λεξιλόγιο ενός προφίλ τότε η σελίδα έχει μεγάλη πιθανότητα να σχετίζεται με το αντίστοιχο θέμα Στόχοι της διπλωματικής Σκοπός της διπλωματικής είναι η δημιουργία κατάλληλων προφίλ, ώστε αυτά να χρησιμοποιηθούν στην ανάλυση των ενδιαφερόντων χρηστών του διαδικτύου. Τα προφίλ\n15 Παπαγγέλου Κων/νος ΤΗΜΜΥ ΑΠΘ 13 αυτά θα πρέπει να αποτελούνται από λέξεις σχετικές με το θέμα που αντιπροσωπεύουν. Στη συνέχεια αυτά ανατίθενται σε χρήστες, μετά από ανάλυση του ιστορικού περιήγησής τους. Έτσι, υλοποιήθηκαν δύο ανεξάρτητα συστήματα, με το πρώτο να είναι υπεύθυνο για τη δημιουργία των προφίλ και το δεύτερο να πραγματοποιεί την ανάλυση του ιστορικού των χρηστών. Στο πρώτο σύστημα συλλέγονται σελίδες σχετικές με το θέμα που μας ενδιαφέρει και πραγματοποιείται σημασιολογική ανάλυση αυτών με χρήση πιθανοτικών μοντέλων θεμάτων (probabilistic topic models) προκειμένου να εντοπιστούν οι πιο αντιπροσωπευτικές λέξεις. Ιδιαίτερα εξετάζεται η δυνατότητα δημιουργίας διαφορετικών λεξιλογίων που σχετίζονται με το ίδιο θέμα αλλά εκφράζουν διαφορετικά επίπεδα γνώσεων πάνω στο αντικείμενο. Συνεπώς, δεν ενδιαφερόμαστε στη δημιουργία ενός λεξιλογίου σχετικού με ένα γενικό θέμα, όπως ο αθλητισμός, αλλά ο σχηματισμός προφίλ τα οποία θα σχετίζονται με συγκεκριμένα αθλήματα και θα εκφράζουν διαφορετικούς βαθμούς εξειδίκευσης. Για την ανάλυση του ιστορικού υλοποιήθηκε μία εφαρμογή περιηγητή (Google Chrome Extension), η οποία στέλνει το ιστορικό του χρήστη σε μία εφαρμογή server (server-side application), όπου θα πραγματοποιηθεί η ανάλυσή του. Η ανάλυση του ιστορικού περιλαμβάνει τον υπολογισμό της ομοιότητας κάθε σελίδας με κάθε προφίλ. Η ομοιότητα υπολογίζεται λαμβάνοντας υπόψη τις κοινές λέξεις αλλά και τις οντότητες των σελίδων. Τα κορυφαία προφίλ επιστρέφονται στο χρήστη της εφαρμογής μαζί με προτεινόμενες σελίδες που θα τον ενδιέφεραν. Σε περίπτωση που ο χρήστης διαφωνεί με την ανάλυση, μπορεί να επιλέξει μία εναλλακτική επιλογή που τον εκφράζει περισσότερο εισάγοντας και ένα σχετικό ερώτημα που θα έθετε σε κάποια μηχανή αναζήτησης. Τα ερωτήματα αυτά χρησιμοποιούνται για τη συλλογή των σχετικών σελίδων και τον εμπλουτισμό των προφίλ Δομή της διπλωματικής Στο κεφάλαιο 1 πραγματοποιείται μία εισαγωγή στο θέμα της διπλωματικής εργασίας και στη διάρθρωσή της. Στο κεφάλαιο 2 παρουσιάζονται ορισμένα παραδείγματα εφαρμογών ανάλυσης συμπεριφοράς χρηστών που αξιοποιούν διαφορετικά είδη δεδομένων. Συγκεκριμένα αναφέρονται αντιπροσωπευτικές προσεγγίσεις χρησιμοποίησης αυτών των δεδομένων σε μηχανές αναζήτησης και συστήματα συστάσεων. Στο κεφάλαιο 3 παρουσιάζεται το σύστημα δημιουργίας των προφίλ. Δίνονται η μέθοδος συλλογής σελίδων που χρησιμοποιήθηκε, παραδείγματα προφίλ, λεπτομερής ανάλυση του αλγορίθμου LDA, που αποτελεί τη βάση του συστήματος, καθώς και διαφορετικές μεθόδους εύρεσης των κορυφαίων λέξεων. Στο κεφάλαιο 4 παρουσιάζεται το σύστημα ανάλυσης του ιστορικού περιήγησης, όπου μαζί με τις λεπτομέρειες της υλοποίησης πραγματοποιείται και ιδιαίτερη αναφορά στο DBpedia Spotlight, το οποίο χρησιμοποιήθηκε για τον εντοπισμό των οντοτήτων των σελίδων. Στο κεφάλαιο 5 παρουσιάζονται ενδεικτικά πειράματα δημιουργίας προφίλ και τα αποτελέσματα που προέκυψαν. Επιπλέον, δίνεται και ένα παράδειγμα ανάλυσης ιστορικού περιήγησης. Τέλος, στο κεφάλαιο 6 παρατίθενται τα συμπεράσματα που προέκυψαν από τη διεξαγωγή των πειραμάτων και οι πιθανές μελλοντικές προεκτάσεις.\n16 14 Θεσσαλονίκη Σεπτέμβριος 2015\n17 Παπαγγέλου Κων/νος ΤΗΜΜΥ ΑΠΘ Αναφορά σε υπάρχουσες προσεγγίσεις ανάλυσης συμπεριφοράς χρηστών Η ανάλυση της συμπεριφοράς των χρηστών και η εξαγωγή σχετικών δεδομένων αποτελεί αντικείμενο εκτενούς μελέτης. Οι βασικότερες εφαρμογές στις οποίες αξιοποιείται αυτή η ανάλυση είναι η παροχή καλύτερης κατάταξης των αποτελεσμάτων των μηχανών αναζήτησης και η δημιουργία πιο αποτελεσματικών συστημάτων συστάσεων (recommender systems). Επιπλέον, οι μηχανές αναζήτησης αξιοποιούν τέτοιου είδους δεδομένα για να παρέχουν σχετικές διαφημίσεις, οι οποίες αποτελούν και τη βασική πηγή εσόδων τους. Βασικό στοιχείο για την αποτελεσματικότητα αυτών των εφαρμογών είναι η εύρεση της κατάλληλης μεθόδου για τον εντοπισμό των ενδιαφερόντων των χρηστών. Στη συνέχεια του κεφαλαίου παρουσιάζονται ορισμένες αντιπροσωπευτικές προσεγγίσεις για τους δύο βασικούς τύπους εφαρμογών Χρησιμοποίηση δεδομένων συμπεριφοράς χρηστών σε μηχανές αναζήτησης Οι μηχανές αναζήτησης καταγράφουν τα ερωτήματα (queries) και τα κλικ (clicks) των χρηστών, προκειμένου να παρέχουν καλύτερα αποτελέσματα σε άλλους χρήστες που θέτουν τα ίδια ή παρόμοια ερωτήματα. Υπάρχουν δύο βασικές προσεγγίσεις στη χρήση δεδομένων κλικ για την κατάταξη των αποτελεσμάτων. Στην πρώτη προσέγγιση χρησιμοποιούνται ως χαρακτηριστικά κατά την εκπαίδευση ενός αλγορίθμου κατάταξης. Σε αυτή την περίπτωση η σχετικότητα των αποτελεσμάτων με ένα συγκεκριμένο ερώτημα ορίζεται από μία ομάδα επιλεγμένων χρηστών. Η προσέγγιση αυτή έχει αποδειχθεί αποτελεσματική αλλά αποτελεί μία χρονοβόρα διαδικασία και, λόγω του ανθρώπινου παράγοντα, εισάγει θόρυβο στις αξιολογήσεις. Η δεύτερη προσέγγιση χρησιμοποιεί τα δεδομένα κλικ για τον ορισμό της σχετικότητας κάθε σελίδας. Έχει αποδειχθεί ότι αυτά τα δεδομένα περιγράφουν αξιόπιστα τη συμπεριφορά των χρηστών στις σελίδες που επισκέπτονται και μπορούν να χρησιμοποιηθούν για να ορίσουν το βαθμό σχετικότητας κάθε σελίδας. Επιπλέον, δεδομένα, όπως το ιστορικό περιήγησης, το ιστορικό των ερωτημάτων, τα δεδομένα που έχουν οι χρήστες στους υπολογιστές τους καθώς και προσωπικά δεδομένα όπως η τοποθεσία, το φύλο και η ηλικία μπορούν να βοηθήσουν στη μετάβαση από την καθολική (global) στην εξατομικευμένη (personalized) αναζήτηση. Στην καθολική αναζήτηση ο βασικός στόχος είναι η μοντελοποίηση του μέσου χρήστη και η παροχή κατάλληλων αποτελεσμάτων. Αντίθετα, στην εξατομικευμένη αναζήτηση, τα δεδομένα ενός χρήστη χρησιμοποιούνται για την εμφάνιση αποτελεσμάτων που θα ενδιέφεραν το συγκεκριμένο χρήστη. Πρόσφατα, η εξατομικευμένη αναζήτηση έχει ενταχθεί σε γνωστές μηχανές όπως η Google και η Yahoo!, δείχνοντας ποιο πρόκειται να είναι το μέλλον των μηχανών αναζήτησης.\n18 16 Θεσσαλονίκη Σεπτέμβριος 2015 Παρόμοια δεδομένα αξιοποιούνται και για την παροχή στοχευμένων διαφημίσεων, ώστε αυτές να ανταποκρίνονται στα ενδιαφέροντα του χρήστη. Κατά την εμφάνιση διαφημίσεων στη σελίδα αποτελεσμάτων πρέπει να βρεθεί το είδος, η κατάταξη και η θέση της διαφήμισης ώστε να μεγιστοποιηθεί η πιθανότητα να γίνει κλικ σε αυτή. Γι αυτό σχετικές υπηρεσίες, όπως η AdSense της Google, ενσωματώνουν δεδομένα χρηστών για βελτίωση της απόδοσης. Με αυτές τις προσθήκες θα πρέπει να ληφθούν υπόψη και θέματα προστασίας των προσωπικών δεδομένων, γεγονός που αυξάνει το επίπεδο δυσκολίας των υλοποιήσεων. Υπάρχει μικρός αριθμός σχετικών ερευνών για δύο κυρίως λόγους. Αν και η εξατομικευμένη αναζήτηση έχει μελετηθεί αρκετά ώστε να υπάρχουν διαθέσιμες ποιοτικές υλοποιήσεις δεν ισχύει το ίδιο και με την εξατομικευμένη διαφήμιση (personalized advertising) που αποτελεί εκκολαπτόμενο πεδίο έρευνας. Επιπλέον, οι σχετικές υλοποιήσεις δε γίνονται πάντα γνωστές. Στη συνέχεια παρουσιάζονται ορισμένες αντιπροσωπευτικές υλοποιήσεις τόσο για βελτίωση της κατάταξης όσο και για τη δημιουργία εξατομικευμένης αναζήτησης και διαφήμισης Ερμηνεύοντας τα δεδομένα κλικ ως έμμεσο feedback Accurately Interpreting Clickthrough Data as Implicit Feedback Στο άρθρο μελετάται η συμπεριφορά των χρηστών, παρατηρώντας τις κινήσεις των ματιών τους, κατά την αναζήτηση των αποτελεσμάτων που προκύπτουν από την εφαρμογή ενός ερωτήματος σε μία μηχανή αναζήτησης. Ιδιαίτερη σημασία δίνεται στο πώς επηρεάζεται η συμπεριφορά των χρηστών αν αλλάξουμε τη σειρά των αποτελεσμάτων σκόπιμα. Με αυτό τον τρόπο προκύπτουν ενδιαφέροντα συμπεράσματα σχετικά με τον τρόπο με τον οποίο οι χρήστες βλέπουν και κάνουν κλικ στα αποτελέσματα της αναζήτησης. Επιπλέον, οι συγγραφείς συμπεραίνουν ότι είναι δύσκολο να ερμηνεύσουμε τα κλικ των χρηστών ως απόλυτες δηλώσεις, όπως "Το αποτέλεσμα Α είναι καλό", λόγω δύο βασικών παραγόντων. Πρώτον, οι χρήστες δείχνουν εμπιστοσύνη στην ικανότητα της μηχανής αναζήτησης να παράγει τα κατάλληλα αποτελέσματα (και συνεπώς τείνουν να κάνουν κλικ σε αποτελέσματα που βρίσκονται σε υψηλότερες θέσεις) και δεύτερον, οι χρήστες επηρεάζονται από την ποιότητα των αποτελεσμάτων που επιστρέφει η μηχανή αναζήτησης. Συνεπώς, η προσέγγιση που πρέπει να ακολουθηθεί είναι η αξιολόγηση των ενεργειών του χρήστη σε σχέση με τις διαθέσιμες εναλλακτικές και η δημιουργία ζευγών σύγκρισης του τύπου "Το αποτέλεσμα Α είναι καλύτερο από το Β". Βασισμένοι στα αποτελέσματα των πειραμάτων τους, οι συγγραφείς προτείνουν μία σειρά από στρατηγικές που μπορούν να χρησιμοποιηθούν ως έμμεσο feedback των χρηστών. Παρακάτω δίνονται οι προτεινόμενες στρατηγικές, με να ορίζεται η σχετικότητα του αποτελέσματος για ένα ερώτημα : 1. Για δεδομένη κατάταξη των αποτελεσμάτων και ενός συνόλου, που περιέχει τα αποτελέσματα στα οποία έγινε κλικ, εξάγουμε τον κανόνα για όλα τα ζεύγη, με και. 2. Για δεδομένη κατάταξη των αποτελεσμάτων και ενός συνόλου, που περιέχει τα αποτελέσματα στα οποία έγινε κλικ, έστω ότι το είναι η κατάταξη του αποτελέσματος στο οποίο έγινε το τελευταίο κλικ. Εξάγουμε τον κανόνα για όλα τα ζεύγη, με.\n19 Παπαγγέλου Κων/νος ΤΗΜΜΥ ΑΠΘ Για δεδομένη κατάταξη των αποτελεσμάτων και ενός συνόλου, που περιέχει τα αποτελέσματα στα οποία έγινε κλικ, έστω ότι το είναι η χρονική στιγμή στην οποία έγινε κλικ. Εξάγουμε τον κανόνα για όλα τα ζεύγη με και 4. Για δεδομένη κατάταξη των αποτελεσμάτων και ενός συνόλου, που περιέχει τα αποτελέσματα στα οποία έγινε κλικ, εξάγουμε τον κανόνα για όλα τα ζεύγη με, όπου και. 5. Για δεδομένη κατάταξη των αποτελεσμάτων και ενός συνόλου, που περιέχει τα αποτελέσματα στα οποία έγινε κλικ, εξάγουμε τον κανόνα για όλα τα ζεύγη με και. Στη συνέχεια η κατάταξη των αποτελεσμάτων που προκύπτει ακολουθώντας τις παραπάνω στρατηγικές συγκρίνεται με την κατάταξη που έδωσαν διαφορετικοί χρήστες και παρατηρείται ότι οι προτεινόμενες στρατηγικές δίνουν αποτελέσματα αρκετά κοντά σε αυτά που θα ήθελαν οι χρήστες. Οι συγγραφείς συμπεραίνουν ότι τα δεδομένα κλικ μπορούν χρησιμοποιηθούν ως έμμεσο feedback, καθώς η διαφορά σε σχέση με το άμεσο feedback των χρηστών είναι αρκετά μικρή [JOA05] Εκμάθηση μοντέλων αλληλεπίδρασης των χρηστών με τη μηχανή αναζήτησης για την πρόβλεψη των αποτελεσμάτων Learning User Interaction Models for Predicting Web Search Result Preferences Οι συγγραφείς μελετούν πώς τα χαρακτηριστικά από τη συμπεριφορά των χρηστών μπορούν να χρησιμοποιηθούν για την εκπαίδευση ενός μοντέλου που θα προβλέπει αν ο χρήστης θα μείνει ικανοποιημένος από κάποιο αποτέλεσμα. Συγκεκριμένα, πέρα από τα άμεσα μετρούμενα χαρακτηριστικά, παρατηρείται ότι ιδιαίτερα χρήσιμα μπορούν να φανούν αυτά που δείχνουν την απόκλιση από την αναμενόμενη συμπεριφορά, η οποία είναι ανεξάρτητη του ερωτήματος που τέθηκε στη μηχανή αναζήτησης (π.χ. μέσος χρόνος παραμονής σε μία σελίδα για ένα ερώτημα και απόκλιση αυτού του χρόνου από το μέσο χρόνο παραμονής στη σελίδα ανεξάρτητα του ερωτήματος). Για να μειωθεί ο θόρυβος, λόγω απόκλισης της συμπεριφοράς μεταξύ διαφορετικών χρηστών, κάθε χαρακτηριστικό λαμβάνει μία μέση τιμή για κάθε ζεύγος ερώτημα-url συναθροίζοντας όλους τους χρήστες και όλες τις συνόδους (sessions) που μελετήθηκαν. Τα χαρακτηριστικά που χρησιμοποιήθηκαν μπορούν να κατηγοριοποιηθούν σε: Χαρακτηριστικά με βάση το κείμενο του ερωτήματος, όπως το ποσοστό των κοινών λέξεων μεταξύ ερωτήματος και τίτλου του αποτελέσματος, το ποσοστό των κοινών λέξεων μεταξύ ερωτήματος και URL, ο αριθμός λέξεων του ερωτήματος, το ποσοστό των κοινών λέξεων με το επόμενο ερώτημα που τέθηκε κ.α. Χαρακτηριστικά που αποτυπώνουν την αλληλεπίδραση των χρηστών με τις σελίδες που επισκέπτονται, όπως ο χρόνος παραμονής σε μία σελίδα, ο χρόνος παραμονής σε ένα domain, ο αριθμός κλικ μετά την υποβολή του ερωτήματος μέχρι να φτάσει στο τελικό αποτέλεσμα ο χρήστης, ο μέσος χρόνος παραμονής σε μία σελίδα για δεδομένο ερώτημα, ο συνολικός χρόνος παραμονής σε όλες τις σελίδες που επισκέφτηκε ο χρήστης μετά την υποβολή ενός ερωτήματος κ.α.\n20 18 Θεσσαλονίκη Σεπτέμβριος 2015 Χαρακτηριστικά που σχετίζονται με τα κλικ, όπως η θέση του URL στο οποίο έγινε το κλικ, ο αριθμός των κλικ για ένα ζεύγος ερώτημα-url, η σχετική συχνότητα ενός κλικ για δεδομένο ζεύγος ερώτημα-url καθώς και η απόκλιση από την αναμενόμενη συχνότητα κ.α. Η προσέγγιση που ακολουθείται είναι η εκμάθηση ενός ταξινομητή, ο οποίος θα βρίσκει κατάλληλα βάρη για τα χαρακτηριστικά. Κάθε ζεύγος ερώτημα-url αποτελείται από ένα πλήθος χαρακτηριστικών και μία τιμή που δίνεται από χρήστες, η οποία δηλώνει πόσο σχετικό είναι το URL για το συγκεκριμένο ερώτημα. Ο αλγόριθμος εκπαίδευσης που χρησιμοποιείται είναι ο RankNet. Στα πλαίσια των πειραμάτων συγκρίνονται οι παρακάτω προσεγγίσεις: 1. Skip Above Strategy (SA): Με δεδομένο ένα σύνολο αποτελεσμάτων, ένα ερώτημα και ένα κλικ στο αποτέλεσμα που βρίσκεται στη θέση, όλα τα αποτελέσματα στα οποία δεν έχει γίνει κλικ πάνω από τη θέση θεωρούνται λιγότερο σχετικά από το αποτέλεσμα στη θέση. 2. Skip Above + Skip Next Strategy (SA + N): Όλα τα αποτελέσματα, στα οποία δεν έχει γίνει κλικ, και ακολουθούν αμέσως μετά από ένα αποτέλεσμα στο οποίο έγινε κλικ, θεωρούνται λιγότερο σχετικά σε σχέση με το αποτέλεσμα στο οποίο έγινε κλικ. Αυτή η στρατηγική συνδυάζεται με τα αποτελέσματα που δίνει η προηγούμενη (SA) στρατηγική. 3. Deviation d Strategy (CD): Για ένα ερώτημα, υπολογίζουμε τη συχνότητα των κλικ για όλα τα αποτελέσματα στη θέση. Η απόκλιση των κλικ για ένα αποτέλεσμα στη θέση είναι, όπου είναι η αναμενόμενη συχνότητα κλικ στη θέση. Αν, τότε το αποτέλεσμα δίνεται ως είσοδος στη στρατηγική SA+N. Με αυτό τον τρόπο, η στρατηγική SA+N εφαρμόζεται μόνο για κλικ, που έχουν συχνότητα εμφάνισης πάνω από την αναμενόμενη. 4. Margin m Strategy (CDiff): Υπολογίζουμε την απόκλιση για κάθε αποτέλεσμα στη θέση. Για κάθε ζεύγος αποτελεσμάτων,, το είναι πιο σχετικό από το αν και μόνο αν. 5. Deviation d, Margin m Strategy (CD+CDiff): Συνδυασμός των δύο προηγούμενων προσεγγίσεων. 6. UserBehavior Strategy: Για ένα ερώτημα και κάθε αποτέλεσμα υπολογίζονται τα χαρακτηριστικά που αναφέρθηκαν παραπάνω. Η κατάταξη των αποτελεσμάτων προκύπτει από την εφαρμογή του αλγορίθμου RankNet. Από τα πειράματα που έγιναν προκύπτει ότι η στρατηγική UserBehavior επιτυγχάνει υψηλότερο precision και recall σε σχέση με τις υπόλοιπες στρατηγικές. Επίσης, τα χαρακτηριστικά που αποτυπώνουν την αλληλεπίδραση των χρηστών με τις σελίδες που επισκέπτονται σε συνδυασμό με τα χαρακτηριστικά που προκύπτουν από τα κλικ των χρηστών φαίνεται ότι έχουν την ισχυρότερη επίδραση. Τέλος, αν χρησιμοποιηθούν μόνο τα χαρακτηριστικά με βάση το κείμενο του ερωτήματος, προκύπτει πολύ μικρή ακρίβεια στα αποτελέσματα [AGI06].\n21 Παπαγγέλου Κων/νος ΤΗΜΜΥ ΑΠΘ Βελτίωση των αποτελεσμάτων της μηχανής αναζήτησης χρησιμοποιώντας πληροφορίες σχετικά με τη συμπεριφορά των χρηστών Improving Web Search Ranking by Incorporating User Behavior Information Αυτό το άρθρο αποτελεί επέκταση του προηγούμενου και μελετά τη χρήση του έμμεσου feedback των χρηστών, είτε ως ανεξάρτητη πληροφορία που μπορεί να χρησιμοποιηθεί για την ανακατάταξη των αποτελεσμάτων, είτε ως ένα σύνολο χαρακτηριστικών που μπορούν να χρησιμοποιηθούν άμεσα στον αλγόριθμο κατάταξης των αποτελεσμάτων. Στην πρώτη περίπτωση για ένα ερώτημα, υπολογίζεται ένα σκορ για κάθε αποτέλεσμα, με βάση τα διαθέσιμα χαρακτηριστικά (τα οποία αναφέρθηκαν παραπάνω), οδηγώντας σε μία κατάταξη των αποτελεσμάτων. Υπολογίζουμε το συνολικό σκορ για ένα αποτέλεσμα συνδυάζοντας την κατάταξη με την αρχική κατάταξη που δόθηκε από τη μηχανή αναζήτησης, (Εξ. 1) Το επιλέγεται ανάλογα με τη βαρύτητα που θέλουμε να δώσουμε στο διαθέσιμο feedback. Στη δεύτερη προσέγγιση, τα χαρακτηριστικά που σχετίζονται με τη συμπεριφορά των χρηστών (π.χ. χρόνος παραμονής σε μία σελίδα, θέση του αποτελέσματος στο οποίο έγινε κλικ κτλ.) χρησιμοποιούνται μαζί με άλλα χαρακτηριστικά, που αξιοποιούνται από σύγχρονες μηχανές αναζήτησης, για την εκπαίδευση ενός ταξινομητή. Στη συγκεκριμένη υλοποίηση χρησιμοποιείται ο αλγόριθμος RankNet, με δύο κρυφά επίπεδα, προκειμένου να μοντελοποιήσει και μη γραμμικές συσχετίσεις μεταξύ των χαρακτηριστικών. Οι μέθοδοι κατάταξης που συγκρίνονται στο άρθρο είναι: BM25F RankNet: Ο αλγόριθμος RankNet εκπαιδευμένος με χαρακτηριστικά που χρησιμοποιεί γνωστή μηχανή αναζήτησης. BM25F-RerankCT: Ανακατάταξη με βάση τα δεδομένα κλικ των χρηστών. BM25F-RerankAll: Ανακατάταξη με βάση όλα τα χαρακτηριστικά που περιγράφουν τη συμπεριφορά των χρηστών. BM25F+All: Η κατάταξη προκύπτει από τον αλγόριθμο RankNet λαμβάνοντας υπόψη τα χαρακτηριστικά που περιγράφουν τη συμπεριφορά των χρηστών καθώς και το σκορ του BM25F. RN+All: Η κατάταξη προκύπτει από την αλγόριθμο RankNet λαμβάνοντας υπόψη όλα τα διαθέσιμα χαρακτηριστικά. Η σύγκριση των αποτελεσμάτων έγινε με χρήση των μετρικών και MAP. Καλύτερα αποτελέσματα δίνει ο RN+All, ενώ κοντά βρίσκεται και ο BM25F+All. Ενδιαφέρον παρουσιάζει το γεγονός ότι ο BM25F+All δίνει πολύ καλύτερα αποτελέσματα από τον RankNet, υποδηλώνοντας ότι το έμμεσο feedback μπορεί να αντικαταστήσει τα εκατοντάδες χαρακτηριστικά που χρησιμοποιεί ο RankNet. Επίσης, σημαντική είναι και η παρατήρηση ότι η ενσωμάτωση του έμμεσου feedback στο συνάρτηση κατάταξης είναι πιο αποτελεσματική από τη χρήση του ως χαρακτηριστικό για ανακατάταξη των αποτελεσμάτων [BRI06].\n22 20 Θεσσαλονίκη Σεπτέμβριος Ένα μοντέλο για την πρόβλεψη της εγγενής σχετικότητας των σελίδων των αποτελεσμάτων των μηχανών αναζήτησης χρησιμοποιώντας δεδομένα κλικ A Model to Estimate Intrinsic Document Relevance from the Clickthrough Logs of a Web Search Engine Οι συγγραφείς παρουσιάζουν ένα μοντέλο, το οποίο προβλέπει πόσο σχετική είναι μία σελίδα με κάποιο ερώτημα που τίθεται στη μηχανή αναζήτησης χρησιμοποιώντας δεδομένα κλικ. Κάθε σελίδα στην οποία έχει γίνει κλικ θεωρείται ότι παρέχει μία χρησιμότητα στο χρήστη που έθεσε το ερώτημα. Ως σύνοδος ορίζεται το σύνολο των ενεργειών που εκτελεί ο χρήστης μέχρι να βρει τις πληροφορίες που αναζητεί. Το πόσο χρήσιμη είναι μία σύνοδος ορίζεται ως το άθροισμα της χρησιμότητας των σελίδων τις οποίες επισκέφτηκε ο χρήστης. Κάθε φορά που ο χρήστης επισκέπτεται μία σελίδα υπάρχει μία πιθανότητα να σταματήσει την αναζήτηση (και άρα να θεωρηθεί ότι είναι ικανοποιημένος από τη σελίδα) η οποία υπολογίζεται από τη σχέση: (Εξ. 2) όπου το είναι η πόλωση (bias) και είναι η χρησιμότητα των σελίδων που έχει επισκεφτεί ο χρήστης μέχρι στιγμής. Η συνάρτηση πιθανοφάνειας της συνόδου υπολογίζεται από το γινόμενο των πιθανοτήτων που σχετίζονται με τις ενέργειες που έχουν γίνει. Η συνάρτηση πιθανοφάνειας ενός ερωτήματος είναι το γινόμενο των συναρτήσεων πιθανοφάνειας των συνόδων στις οποίες έχει τεθεί αυτό το ερώτημα. Ο υπολογισμός των τιμών μπορεί να θεωρηθεί ως ένα πρόβλημα μεγιστοποίησης της a posteriori πιθανότητας (MAP): (Εξ. 3) όπου είναι η συνάρτηση πιθανοφάνειας του ερωτήματος ενώ έχει θεωρηθεί ότι οι a priori κατανομές πιθανότητας είναι κανονικές με μέση τιμή και διασπορά, τιμές που υπολογίζονται από τα δεδομένα. Η σχετικότητα μίας σελίδας με ένα ερώτημα λαμβάνεται ίση με την πιθανότητα να σταματήσει ο χρήστης την αναζήτηση αφού κάνει κλικ στη σελίδα. Στο πρώτο πείραμα που διεξήχθη, το παραπάνω μοντέλο (Session Utility) συγκρίνεται με δύο παρεμφερή μοντέλα. Το πρώτο (Examination Model) θεωρεί ότι κάθε σελίδα χαρακτηρίζεται από το αν έχει εξεταστεί από το χρήστη. Αυτό εξαρτάται πρώτον από τη θέση της σελίδας στην κατάταξη και από την απόστασή της από την σελίδα στην οποία έχει γίνει το τελευταίο κλικ και δεύτερον από την ποιότητά της, η οποία υπολογίζεται από το κείμενο που συνοδεύει το αποτέλεσμα στην κατάταξη (snippet). Αυτό το μοντέλο υποθέτει ότι ο χρήστης εξετάζει ένα αποτέλεσμα και συμπεραίνει κατά πόσο αυτό είναι ποιοτικό. Σε περίπτωση που τον ικανοποιεί τότε υπάρχει μεγάλη πιθανότητα να κάνει κλικ σε αυτό ενώ διαφορετικά υπάρχει μεγάλη πιθανότητα να εξετάσει κάποιο άλλο αποτέλεσμα.\n23 Παπαγγέλου Κων/νος ΤΗΜΜΥ ΑΠΘ 21 Στο δεύτερο μοντέλο (Satisfaction Model) υπεισέρχεται μία κρυφή (latent) παράμετρος που περιγράφει την ικανοποίηση του χρήστη για το περιεχόμενο στης σελίδας στην οποία έκανε κλικ. Το μοντέλο ακολουθεί παρόμοια λογική με αυτή του Examination Model, με τη διαφορά ότι αφού ο χρήστης αποφασίσει ότι ένα αποτέλεσμα είναι ποιοτικό τότε αν δει το περιεχόμενο της σελίδας και μείνει ικανοποιημένος υπάρχει μεγάλη πιθανότητα να σταματήσει την αναζήτηση, διαφορετικά υπάρχει μεγάλη πιθανότητα να εξετάσει κάποιο άλλο αποτέλεσμα. Συγκρίνοντας τα σκορ που δίνουν τα παραπάνω τρία μοντέλα με τα σκορ που δίνουν οι χρήστες για τη σχετικότητα μιας σελίδας με ένα ερώτημα παρατηρείται ότι τα μοντέλα Session Utility και Satisfaction Model δίνουν παρόμοια αποτελέσματα και υπερτερούν έναντι του μοντέλου Examination Model. Το δεύτερο πείραμα συγκρίνει την κατάταξη των αποτελεσμάτων που δίνει μία γνωστή μηχανή αναζήτησης με την κατάταξη που προκύπτει αν στα χαρακτηριστικά που χρησιμοποιεί ο αλγόριθμος κατάταξης προστεθούν τα σκορ που δίνει το μοντέλο Session Utility. Είναι σημαντικό να αναφερθεί ότι η κατάταξη με την οποία πραγματοποιείται η σύγκριση εμπλέκει πληθώρα χαρακτηριστικών συμπεριλαμβάνων και δεδομένων κλικ, όπως ρυθμό κλικ, πιθανότητα μία σελίδα να λάβει το τελευταίο κλικ κ.α. Παρατηρείται, ότι το νέο χαρακτηριστικό έχει μικρή επίδραση στα ερωτήματα χρηστών που αναζητούν ένα συγκεκριμένο αποτέλεσμα (navigational) αλλά παρέχει σημαντική βελτίωση για ερωτήματα που χρησιμοποιούνται για την αναζήτηση πληροφοριών (informational) και ερωτήματα που σε μεγάλο βαθμό δεν οδηγούν σε κάποιο επιθυμητό αποτέλεσμα (αυτά τα ερωτήματα είναι στην πράξη και τα δυσκολότερα να απαντηθούν από τις μηχανές αναζήτησης). [DUP10] Αντιμετωπίζοντας την "αμνησία" των μηχανών αναζήτησης: Ανακατάταξη των επαναλαμβανόμενων αποτελεσμάτων Fighting Search Engine Amnesia: Reranking Repeated Results Έστω ότι μία σελίδα εμφανίστηκε δύο φορές σε κάποιο χρήστη για δύο παρόμοια ερωτήματα. Την πρώτη φορά που εμφανίστηκε, ο χρήστης είτε δεν την παρατήρησε, είτε την παρατήρησε αλλά δεν έκανε κλικ σε αυτήν, είτε έκανε κλικ. Στην πρώτη περίπτωση η σελίδα θα πρέπει να τοποθετηθεί υψηλότερα στη κατάταξη ώστε να τη λάβει υπόψη του ο χρήστης την επόμενη φορά που θα θέσει ένα παρόμοιο ερώτημα. Στη δεύτερη περίπτωση η σελίδα θα πρέπει να τοποθετηθεί χαμηλότερα στην κατάταξη, ενώ στην τρίτη είτε ο χρήστης προσπαθεί να βρει ξανά κάποια σελίδα που παρατήρησε παλαιότερα, οπότε θα πρέπει να τοποθετηθεί ψηλότερα, είτε είναι άσχετη με τα ενδιαφέροντα του χρήστη οπότε θα πρέπει να τοποθετηθεί χαμηλότερα. Βασισμένοι στις παραπάνω υποθέσεις οι συγγραφείς μελετούν τη συμπεριφορά των χρηστών για επαναλαμβανόμενα αποτελέσματα. Για κάθε χρήστη και ζεύγος ερώτημα-url εξάγεται πληθώρα χαρακτηριστικών όπως ο αριθμός των προηγούμενων κλικ, πόσες φορές εμφανίστηκε το αποτέλεσμα στη σύνοδο και πώς συμπεριφέρθηκε ο χρήστης σε κάθε περίπτωση, η ομοιότητα μεταξύ των διαδοχικών ερωτημάτων κ.α. Αυτά τα χαρακτηριστικά χρησιμοποιούνται για την εκπαίδευση του αλγορίθμου LambdaMART, ο οποίος χρησιμοποιείται για την ανακατάταξη των αποτελεσμάτων. Για τη διεξαγωγή των πειραμάτων μία σελίδα θεωρείται ότι ικανοποιεί τον χρήστη αν τη διάβασε για τουλάχιστον\n24 22 Θεσσαλονίκη Σεπτέμβριος δευτερόλεπτα ή είναι η τελευταία σελίδα που επισκέφτηκε στη σύνοδο. Συγκρίνονται οι εξής μέθοδοι: Default: Η αρχική κατάταξη των μηχανών αναζήτησης Bing και Yandex στις οποίες έγιναν τα πειράματα. ClickHistory: Χρησιμοποιούνται τρία χαρακτηριστικά, η βαθμολογία και η θέση του αποτελέσματος στην αρχική κατάταξη και το ιστορικό των κλικ, που είναι ο αριθμός των κλικ σε ένα αποτέλεσμα χωρίς να λαμβάνεται υπόψη ο χρήστης που έθεσε το ερώτημα. Personal Navigation: Χρησιμοποιούνται τρία χαρακτηριστικά, η βαθμολογία και η θέση του αποτελέσματος στην αρχική κατάταξη και ο αριθμός των κλικ σε ένα αποτέλεσμα για το ίδιο ερώτημα σε μία σύνοδο. R-cube: Η μέθοδος ανακατάταξης των αποτελεσμάτων που προτείνεται. Η κατάταξη που προκύπτει από τη μέθοδο R-cube είναι 3.2% και 7.1% καλύτερη από τη μέθοδο Default, ως προς τη μετρική MAP, στα δεδομένα της Yandex και της Bing αντίστοιχα. Επίσης, υπερτερεί έναντι και των υπολοίπων μεθόδων. Αν στα χαρακτηριστικά του αλγορίθμου κατάταξης προστεθεί και το ιστορικό των κλικ (Click History) προκύπτει βελτίωση 4.2% και 7.2% έναντι της μεθόδου Default για τα δύο σετ δεδομένων. Επιπλέον πραγματοποιήθηκαν και πειράματα όπου για πέντε μέρες εμφανιζόταν σε επιλεγμένους χρήστες μία μείξη των αρχικών αποτελεσμάτων και αυτών που επέλεξε η μέθοδος R-cube. Παρατηρήθηκε ότι τα αποτελέσματα της μεθόδου R-cube προτιμήθηκαν στο 53.8% των περιπτώσεων [SHO13] Κατάταξη των αποτελεσμάτων χρησιμοποιώντας τα συμφραζόμενα του ερωτήματος Context-Aware Ranking in Web Search Τα συμφραζόμενα ή το γενικότερο πλαίσιο ενός ερωτήματος μπορεί να εκφραστεί από τα προηγούμενα ερωτήματα στην ίδια σύνοδο, μαζί με τις σελίδες τις οποίες είδε ή έκανε κλικ ο χρήστης. Προκειμένου να βρουν το πλαίσιο στο οποίο τέθηκε ένα ερώτημα οι συγγραφείς, χρησιμοποιούν το αμέσως προηγούμενο ερώτημα μαζί με τις σελίδες που έκανε κλικ ο χρήστης. Προτείνονται τέσσερις βασικές αρχές: Για δύο συνεχόμενα ερωτήματα, όπου το αποτελεί αναδιατύπωση του (δηλαδή διαφορετικό από το ), αν έχει γίνει κλικ στη σελίδα για το ερώτημα, ή ο χρήστης είδε τη σελίδα χωρίς να κάνει κλικ, τότε η δε θα πρέπει να δοθεί ως αποτέλεσμα για το ερώτημα. Για δύο συνεχόμενα ερωτήματα, όπου το αποτελεί ειδίκευση του, δηλαδή το σύνολο \_ των όρων που εμφανίζονται στο αλλά όχι στο δεν είναι κενό, τότε θα πρέπει στα αποτελέσματα του να τοποθετηθούν αυτά που ταιριάζουν με το σύνολο \_. Για δύο συνεχόμενα ερωτήματα, όπου το αποτελεί γενίκευση του, δηλαδή το σύνολο \_ των όρων που εμφανίζεται στο αλλά όχι στο δεν είναι κενό, τότε θα πρέπει στα αποτελέσματα του να τοποθετηθούν αυτά που ταιριάζουν με το σύνολο \_.\n25 Παπαγγέλου Κων/νος ΤΗΜΜΥ ΑΠΘ 23 Για δύο συνεχόμενα ερωτήματα, όπου το θέμα του σχετίζεται με αυτό του, τότε στα αποτελέσματα του θα πρέπει να τοποθετηθούν αυτά που είναι κοινά και για τα δύο ερωτήματα. Πρακτικά, αν και είναι τα σύνολα των θεμάτων που σχετίζονται με τα αντίστοιχα ερωτήματα και τα κοινά θέματα, τότε θα πρέπει στα αποτελέσματα να τοποθετηθούν σελίδες που σχετίζονται με ένα τουλάχιστον από τα κοινά θέματα. Με βάση τις παραπάνω αρχές εξάγονται χαρακτηριστικά τα οποία χρησιμοποιούνται για την εκπαίδευση ενός αλγορίθμου κατάταξης. Οι συγγραφείς επιλέγουν τον αλγόριθμο RankingSVM και πραγματοποιούν πειράματα συγκρίνοντας τις περιπτώσεις όπου η θέση της σελίδας στην αρχική κατάταξη λαμβάνεται ως χαρακτηριστικό κατά την εκπαίδευση ή συνδυάζεται με την κατάταξη που προκύπτει απ' τον αλγόριθμο. Επίσης, ελέγχεται και η περίπτωση που η αρχική κατάταξη δε χρησιμοποιείται καθόλου. Για την αξιολόγηση των κατατάξεων χρησιμοποιείται η μετρική Mean Click Position (MCP), που δηλώνει σε ποιά θέση βρίσκεται κατά μέσο όρο ένα αποτέλεσμα στο οποίο γίνεται κλικ. Τα αποτελέσματα είναι ενθαρρυντικά και δείχνουν ότι η συμπερίληψη της αρχικής κατάταξης προσφέρει σαφώς καλύτερα αποτελέσματα [XIA10] Εκτίμηση της σχετικότητας μίας σελίδας από τις κινήσεις του κέρσορα και τη συμπεριφορά των χρηστών μετά από ένα κλικ Beyond Dwell Time: Estimating Document Relevance from Cursor Movements and other Post-click Searcher Behavior Οι κινήσεις του κέρσορα κατά την επίσκεψη ενός χρήστη σε μία σελίδα μπορούν να δώσουν χρήσιμες πληροφορίες σχετικά με τη σχετικότητα της σελίδας με το ερώτημα που τέθηκε. Συγκεκριμένα, οι χρήστες είτε διαβάζουν τη σελίδα, το οποίο υποδεικνύεται από χαρακτηριστικά όπως οι οριζόντιες κινήσεις του κέρσορα και η τοποθέτηση του κέρσορα σε συγκεκριμένα σημεία για κάποιο χρονικό διάστημα, είτε σκανάρουν τη σελίδα, το οποίο υποδεικνύεται από χαρακτηριστικά όπως οι γρήγορες κάθετες κινήσεις του κέρσορα. Οι συγγραφείς χρησιμοποιούν τέτοιου είδους χαρακτηριστικά για να εκπαιδεύσουν έναν αλγόριθμο παλινδρόμησης, ο οποίος αναθέτει μία βαθμολογία σε κάθε σελίδα ανάλογα με το πόσο σχετική είναι με ένα ερώτημα. Στα πειράματα που έγιναν το προτεινόμενο μοντέλο (PCB) συγκρίνεται με δύο παραλλαγές. Η πρώτη παραλλαγή προκύπτει από κανονικοποίηση του PCB λαμβάνοντας υπόψη τη συνολική συμπεριφορά του χρήστη ενώ η δεύτερη χρησιμοποιεί το χρόνο παραμονής σε μία σελίδα, το πλαίσιο στο οποίο γίνεται η αναζήτηση και την αρχική κατάταξη των αποτελεσμάτων. Με βάση τη μετρική NDCG προκύπτει ότι τα δύο προτεινόμενα μοντέλα υπερτερούν, με την κανονικοποιημένη εκδοχή του PCB να δίνει τα καλύτερα αποτελέσματα [GUO12] Εξατομίκευση της αναζήτησης στον ιστό με χρήση μακροπρόθεσμου ιστορικού περιήγησης Personalizing Web Search using Long Term Browsing History Στο άρθρο παρουσιάζεται μία προσέγγιση, όπου κάθε χρήστης αναπαρίσταται από ένα προφίλ που περιέχει: 1. Ένα σύνολο χαρακτηριστικών σε κάθε ένα εκ των οποίων ανατίθεται ένα βάρος.\n26 24 Θεσσαλονίκη Σεπτέμβριος Μία λίστα από URLs που έχει επισκεφθεί ο χρήστης μαζί με τον αριθμό των επισκέψεων που πραγματοποίησε. 3. Μία λίστα ερωτημάτων που έχει θέσει ο χρήστης μαζί με τα κλικ που πραγματοποίησε. Για την εξαγωγή του ιστορικού των χρηστών υλοποιήθηκε ένα Firefox add-on. Κάθε φορά που ο χρήστης εγκαταλείπει μία σελίδα, η εφαρμογή στέλνει σε ένα server το μοναδικό αναγνωριστικό του χρήστη, το URL, το χρόνο παραμονής στη σελίδα, την τρέχουσα ημερομηνία και ώρα και το μήκος του κώδικα HTML της σελίδας. Στη συνέχεια ο server θα ανακτήσει τον κώδικα HTML της σελίδας. Από αυτή εξάγονται τα εξής δεδομένα: 1. Το σώμα του κειμένου, απαλλαγμένο από HTML tags. 2. Τον τίτλο του κειμένου. 3. Το περιεχόμενο εντός του HTML tag <meta name= description >. 4. Το περιεχόμενο εντός του HTML tag <meta name= keywords >. 5. Τις πιο σημαντικές λέξεις της σελίδας. Γι αυτό χρησιμοποιείται ένας αλγόριθμος ο οποίος πραγματοποιεί μία περίληψη του κειμένου, αποτελούμενη από τις πιο σημαντικές λέξεις. Σε κάθε λέξη ανατίθεται ένα βάρος ανάλογα με τη συχνότητα εμφάνισής της. 6. Τις φράσεις του κειμένου που έχουν ως κύρια λέξη ένα ουσιαστικό (noun phrases). Για κάθε ένα από τα παραπάνω έξι χαρακτηριστικά υπολογίζεται ένα βάρος χρησιμοποιώντας τρεις εναλλακτικές μεθόδους. Στην πρώτη μέθοδο χρησιμοποιείται η συχνότητα εμφάνισης κάθε λέξης (TF-term frequency). Έστω είναι ο αριθμός εμφανίσεων της λέξης στους τίτλους των σελίδων του ιστορικού. Ομοίως υπολογίζονται και οι όροι,,,, που αντιστοιχούν τα υπόλοιπα πέντε χαρακτηριστικά. Έτσι, ορίζεται το διάνυσμα βαρών παραπάνω αριθμούς εμφανίσεων. Τελικά, στην λέξη θα δοθεί το βάρος: το οποίο περιέχει τους (Εξ. 4) όπου είναι ένα διάνυσμα βαρών που εκφράζει πόσο σημαντικό είναι κάθε χαρακτηριστικό. Στο άρθρο προτείνονται οι τιμές ως στοιχεία του διανύσματος, όπου είναι ο συνολικός αριθμός λέξεων για κάθε χαρακτηριστικό. Με αυτό τον τρόπο ευνοούνται χαρακτηριστικά με λίγες λέξεις, όπως ο τίτλος και τα meta tags. Αντί της μεθόδου TF, μπορεί να χρησιμοποιηθεί και η μέθοδος TF-IDF, ώστε να προστεθεί μειωμένο βάρος στις λέξεις που εμφανίζονται σε πολλές σελίδες του ιστορικού. Τέλος, προτείνεται και μία παραλλαγή της μεθόδου BM25, σύμφωνα με την οποία σε κάθε λέξη ανατίθεται το βάρος: (Εξ. 5) όπου είναι ο συνολικός αριθμός των σελίδων του διαδικτύου, ο αριθμός των σελίδων που περιέχει τη λέξη, ο αριθμός σελίδων του ιστορικού του χρήστη και ο αριθμός\n27 Παπαγγέλου Κων/νος ΤΗΜΜΥ ΑΠΘ 25 σελίδων που περιέχουν τον όρο που αναφέρθηκαν παραπάνω. λαμβάνοντας υπόψη κάθε ένα από τα έξι χαρακτηριστικά Για την κατάταξη των αποτελεσμάτων εξετάζονται τέσσερις μέθοδοι: Matching: Tο σκορ κάθε σελίδας υπολογίζεται από τα βάρη των λέξεων που είναι κοινές μεταξύ του προφίλ του χρήστη και του κειμένου της σελίδας που εμφανίζεται στη λίστα των αποτελεσμάτων (snippet). Unique Matching: Ίδια με την παραπάνω μέθοδο, χωρίς να λαμβάνονται υπόψη πολλαπλές εμφανίσεις της ίδιας λέξης. Language Model: Οι σελίδες βαθμολογούνται σύμφωνα με τη σχέση: (Εξ. 6) όπου είναι ο συνολικός αριθμός λέξεων στο snippet της σελίδας και είναι το άθροισμα όλων των βαρών που υπάρχουν στο προφίλ του χρήστη. PClick: Πρόκειται για τον αλγόριθμο που προτείνεται στο [DOU07]. Σύμφωνα με αυτό τον αλγόριθμο το σκορ κάθε σελίδας προκύπτει από τον τύπο: (Εξ. 7) όπου είναι ο αριθμός των κλικ στη σελίδα από το χρήστη για το ερώτημα, είναι ο συνολικός αριθμός κλικ του χρήστη για το ερώτημα και μία παράμετρος εξομάλυνσης που λαμβάνει την τιμή 0.5. Επιπλέον, εξετάζεται και η περίπτωση όπου στο τελικό σκορ λαμβάνεται υπόψη και η αρχική κατάταξη των αποτελεσμάτων. Επίσης, μπορεί να δοθεί και ένα αρχικό βάρος στο σκορ κάθε σελίδας ανάλογα με τον αριθμό των επισκέψεων του χρήστη. Για την αξιολόγηση των αποτελεσμάτων των παραπάνω προσεγγίσεων χρησιμοποιείται αρχικά μία offline μέθοδος, όπου επιλεγμένοι χρήστες κλήθηκαν να αξιολογήσουν την κατάταξη των αποτελεσμάτων. Η αξιολόγηση των προτεινόμενων μεθόδων έγινε με χρήση του μέτρου NDCG. Συμπληρωματικά, πραγματοποιήθηκε και online αξιολόγηση για διάστημα δύο μηνών. Συγκεκριμένα, η κατάταξη που παρουσιάζονταν στους χρήστες ήταν μία μείξη της αρχικής κατάταξης και αυτής που παράγει η προτεινόμενη μέθοδος. Αν τα κλικ που γίνονται στις σελίδες που προήλθαν από την κατάταξη της προτεινόμενης μεθόδου είναι περισσότερα τότε αυτή υπερτερεί έναντι της αρχικής κατάταξης. Εξετάστηκε η αποτελεσματικότητα διαφορετικών συνδυασμών χαρακτηριστικών, βαρών και μεθόδων κατάταξης. Σύμφωνα με τα αποτελέσματα η καλύτερη μέθοδος χρησιμοποιεί τα χαρακτηριστικά 2, 4, 5 και 6 (σύμφωνα με την παραπάνω αρίθμηση), ενώ o υπολογισμός των βαρών προτείνεται να γίνει με χρήση της μεθόδου TF-IDF. Ως μοντέλο κατάταξης χρησιμοποιήθηκε το Language Model, στο οποίο συμπεριλήφθηκε η αρχική κατάταξη καθώς και ένα βάρος ανάλογα με τον αριθμό επισκέψεων που έχει πραγματοποιήσει ο χρήστης σε κάθε σελίδα [ΜΑΤ11].\n28 26 Θεσσαλονίκη Σεπτέμβριος Χρήση ομάδων για βελτίωση της εξατομικευμένης αναζήτησης Discovering and Using Groups to Improve Personalized Search Στο άρθρο προτείνεται η χρησιμοποίηση των δεδομένων ενός χρήστη σε συνδυασμό με τα δεδομένα άλλων χρηστών, οι οποίοι έχουν παρόμοια ενδιαφέροντα, προκειμένου να βελτιωθεί η εξατομικευμένη αναζήτηση. Οι συγγραφείς παρουσιάζουν πληθώρα εναλλακτικών τρόπων με τους οποίους μπορεί να γίνει η ομαδοποίηση. Βραχυπρόθεσμα, οι χρήστες που μοιράζονται τον ίδιο στόχο, όταν πραγματοποιούν μία αναζήτηση (π.χ. αγορά ενός προϊόντος), μπορούν να τοποθετηθούν στην ίδια ομάδα. Με αυτό τον τρόπο μπορούν να συνεργαστούν προκειμένου να πετύχουν τον στόχο τους ταχύτερα και με μεγαλύτερη αποτελεσματικότητα. Μακροπρόθεσμα, μπορούν να δημιουργηθούν ομάδες συνδυάζοντας τα κοινά χαρακτηριστικά των χρηστών. Συγκεκριμένα, ορίζονται τέσσερις τύποι ομάδων. Σύμφωνα με τον πρώτο τύπο, οι χρήστες που έχουν τα ίδια ενδιαφέροντα, τοποθετούνται στην ίδια ομάδα. Τα ενδιαφέροντα των χρηστών προκύπτουν από τις λίστες (mailing lists) στις οποίες έχουν κάνει εγγραφή. Σύμφωνα με το δεύτερο τύπο, χρήστες που έχουν παρόμοια επαγγέλματα τοποθετούνται στην ίδια ομάδα. Ο τρίτος τύπος ομαδοποίησης γίνεται βάσει γεωγραφικών κριτηρίων (π.χ. χρήστες που ζουν στην ίδια περιοχή τοποθετούνται στην ίδια ομάδα). Τέλος, ο τέταρτος τύπος ομαδοποίησης, χρησιμοποιεί δημογραφικά κριτήρια, όπως η ηλικία και το φύλο. Για τη διεξαγωγή των πειραμάτων δημιουργήθηκαν δύο σετ δεδομένων. Στο πρώτο η ομαδοποίηση έγινε βάσει των κοινών χαρακτηριστικών των χρηστών, χρησιμοποιώντας τους τέσσερις τύπους ομάδων που αναφέρθηκαν παραπάνω. Επιπλέον, εξετάστηκαν τρεις μέθοδοι έμμεσης ομαδοποίησης. Στην πρώτη, οι ομάδες δημιουργήθηκαν βάσει των δεδομένων που έχουν οι χρήστες στους υπολογιστές τους. Στη δεύτερη, η ομαδοποίηση έγινε βάσει των ερωτημάτων που επέλεξαν να αξιολογήσουν οι χρήστες, ενώ σύμφωνα με την τρίτη μέθοδο οι χρήστες που αξιολογούν με παρόμοιο τρόπο τα αποτελέσματα της μηχανής αναζήτησης τοποθετούνται στην ίδια ομάδα. Στο δεύτερο σετ δεδομένων οι χρήστες που προσπαθούν να πετύχουν τον ίδιο στόχο, όταν θέτουν ένα ερώτημα στη μηχανή αναζήτησης, τοποθετούνται στην ίδια ομάδα. Για το πρώτο σετ δεδομένων δημιουργήθηκαν 12 ερωτήματα και ζητήθηκε από τους χρήστες να επιλέξουν 6 από αυτά. Στη συνέχεια αξιολόγησαν τα αποτελέσματα μιας μηχανής αναζήτησης για τα ερωτήματα που επέλεξαν. Στο δεύτερο σετ δεδομένων παρουσιάστηκε στους χρήστες ένα ερωτηματολόγιο, το οποίο τους ζητούσε να εισάγουν έξι ερωτήματα λαμβάνοντας υπόψη τον στόχο που έπρεπε να πετύχουν. Από αυτά έγινε η τελική επιλογή των ερωτημάτων τα οποία αντιπροσώπευαν όλα τα άτομα της ομάδας που μοιράζονται τον ίδιο στόχο. Στο άρθρο πραγματοποιείται εκτενής ανάλυση των δεδομένων που συλλέχθηκαν και παρουσιάζονται αρκετά συμπεράσματα σχετικά με τον τρόπο που οι χρήστες που ανήκουν στις ίδιες ομάδες επιλέγουν ερωτήματα ή βαθμολογούν τα αποτελέσματα. Για την κατάταξη των αποτελεσμάτων, το σκορ κάθε σελίδας προκύπτει από το άθροισμα των ατομικών σκορ των χρηστών που ανήκουν στην ίδια ομάδα. Το ατομικό σκορ υπολογίζεται λαμβάνοντας υπόψη την ομοιότητα κάθε σελίδας με το προφίλ κάθε χρήστη, το οποίο προκύπτει από τα δεδομένα που έχουν οι χρήστες αποθηκευμένα στους υπολογιστές τους (π.χ. ιστορικό αναζήτησης, s). Επιπλέον, σε αυτό προστίθεται και η ομοιότητα μεταξύ του τρέχουσας σελίδας και της προηγούμενης που επισκέφτηκε ο χρήστης. Η κατάταξη που\n29 Παπαγγέλου Κων/νος ΤΗΜΜΥ ΑΠΘ 27 προκύπτει με χρήση ομαδοποίησης συγκρίθηκε με την αρχική κατάταξη καθώς και με την εξατομικευμένη κατάταξη, χρησιμοποιώντας το μέτρο NDCG. Τα αποτελέσματα ήταν ενθαρρυντικά κυρίως για τις ομάδες όπου οι χρήστες μοιράζονται τον ίδιο στόχο, έχουν κοινά ενδιαφέροντα και παρόμοια επαγγέλματα. Ιδιαίτερα βελτιωμένα ήταν τα αποτελέσματα για ερωτήματα σχετικά με την κάθε ομάδα, όπως τα ερωτήματα που σχετίζονται με δουλειά, για άτομα που έχουν παρόμοια επαγγέλματα. Συνολικά, προκύπτει ότι η ομαδοποίηση παρέχει καλύτερα αποτελέσματα, αλλά η απόδοσή της εξαρτάται σε μεγάλο βαθμό από τον τρόπο με τον οποίο ορίζονται οι ομάδες [ΤΕΕ09] Βελτίωση εξατομικευμένης αναζήτησης με εξόρυξη και μοντελοποίηση της συμπεριφοράς των χρηστών κατά την πραγματοποίηση συγκεκριμένων ενεργειών Enhancing Personalized Search by Mining and Modeling Task Behavior Στο άρθρο μελετάται η μοντελοποίηση της συμπεριφοράς των χρηστών, όταν προσπαθούν να ολοκληρώσουν ένα συγκεκριμένο έργο (task) (π.χ. το κλείσιμο εισιτηρίων για ένα ταξίδι). Στη συνέχεια το προκύπτον μοντέλο χρησιμοποιείται για την ομαδοποίηση χρηστών που μοιράζονται τον ίδιο στόχο, την εύρεση των σχετικών σελίδων και την τοποθέτηση αυτών υψηλότερα στην κατάταξη των αποτελεσμάτων. Τα δεδομένα (search logs) που χρησιμοποιήθηκαν περιλαμβάνουν τα ερωτήματα που έθεσαν οι χρήστες, τα πρώτα 10 αποτελέσματα της μηχανής αναζήτησης και τα κλικ που έγιναν. Τα δεδομένα χωρίζονται σε συνόδους (sessions), οι οποίες αποτελούν τις περιόδους δραστηριότητας των χρηστών χωρισμένες από τουλάχιστον 30 λεπτά απραξίας. Για την εξαγωγή των tasks από κάθε session χρησιμοποιείται η μέθοδος QTC. Ο αλγόριθμος QTC υπολογίζει αρχικά την ομοιότητα μεταξύ ζευγών ερωτημάτων και στη συνέχεια ομαδοποιεί τα ερωτήματα με παρόμοια σκορ ομοιότητας. Επιλεγμένοι χρήστες αξιολογούν την ομοιότητα μεταξύ ερωτημάτων και τα δεδομένα που προκύπτουν χρησιμοποιούνται για την εκπαίδευση ενός μοντέλου λογιστικής παλινδρόμησης (logistic regression). Στη συνέχεια δημιουργείται ένας γράφος, όπου οι κόμβοι αποτελούν τα ερωτήματα και οι ακμές έχουν ως βάρη τα σκορ ομοιότητας που έχουν προκύψει από το μοντέλο. Για να προκύψουν τα τελικά tasks, διαγράφονται οι ακμές που έχουν βάρος μικρότερο από κάποιο όριο. Τέλος, τα tasks μοντελοποιούνται χρησιμοποιώντας τα ερωτήματα που έγιναν, δεδομένα κλικ, τα domains των σελίδων καθώς και τα θέματα των σελίδων, τα οποία προκύπτουν από το Open Directory Project (ODP) 2. Από τις σελίδες στις οποίες έγιναν κλικ, συμπεριλαμβάνονται μόνο αυτές με χρόνο παραμονής του χρήστη μεγαλύτερο από 30 δευτερόλεπτα (αυτός ο χρόνος υποδεικνύει ότι ο χρήστης έμεινε ικανοποιημένος). Για την αυτόματη εύρεση των κατηγοριών των σελίδων χρησιμοποιήθηκε ένα μοντέλο λογιστικής παλινδρόμησης, ενώ από το σύνολο των κατηγοριών χρησιμοποιήθηκαν μόνο αυτές που βρίσκονται υψηλότερα στην ιεραρχία. Για την εύρεση της ομοιότητας μεταξύ των tasks χρησιμοποιήθηκαν οι εξής μέθοδοι: 1. Η ομοιότητα μεταξύ των tasks προκύπτει από την συντακτική ομοιότητα μεταξύ των ερωτημάτων, δηλαδή την εμφάνιση κοινών λέξεων. 2\n30 28 Θεσσαλονίκη Σεπτέμβριος Παρόμοια με την παραπάνω μέθοδο, όπου ως όμοια ερωτήματα θεωρούνται αυτά που εμφανίζουν σημασιολογική ομοιότητα. Αν και είναι δύο ερωτήματα, τότε η σημασιολογική τους ομοιότητα ορίζεται από τη σχέση: (Εξ. 8) όπου, είναι ο αριθμός λέξεων των ερωτημάτων και αντίστοιχα, είναι η πιθανότητα της λέξης να εμφανίζεται στο ερώτημα και η πιθανότητα εκφράζει την ομοιότητα μεταξύ των λέξεων των ερωτημάτων. 3. Ως όμοια tasks ορίζονται αυτά στα οποία περιλαμβάνονται τα ίδια URLs ή τα ίδια domains. 4. Σύμφωνα με την τέταρτη μέθοδο η ομοιότητα μεταξύ των tasks εκφράζεται από την ομοιότητα μεταξύ των θεμάτων των σελίδων που επισκέφτηκε ο χρήστης. Η ομοιότητα του task ενός χρήστης σε σχέση με τα tasks των υπόλοιπων χρηστών υπολογίζεται από τη σχέση: (Εξ. 9) όπου ο όρος εκφράζει τη σημαντικότητα ενός URL για ένα task και υπολογίζεται από τον αριθμό των κλικ και είναι η ομοιότητα μεταξύ των tasks, η οποία ορίζεται χρησιμοποιώντας τις παραπάνω μεθόδους. Επιπλέον, εξετάζεται και η ομαδοποίηση των χρηστών χρησιμοποιώντας δεδομένα όπως η τοποθεσία του χρήστη, ο browser που χρησιμοποιείται και η γνώση του χρήστη πάνω σε ένα θέμα. Ειδικά για την τελευταία μέθοδο ομαδοποίησης, ένας χρήστης θεωρείται ότι είναι γνωρίζει καλά ένα θέμα αν ισχύουν τα παρακάτω: 1. Ο αριθμός ερωτημάτων του είναι μεγαλύτερος από το μέσο αριθμό ερωτημάτων όλων των χρηστών. 2. Το ποσοστό των ερωτημάτων του που σχετίζονται με το είναι μεγαλύτερο από το μέσο ποσοστό που αντιστοιχεί σε όλους τους χρήστες για το ίδιο θέμα. 3. Το ποσοστό επιτυχίας των tasks που σχετίζονται με το θέμα είναι μεγαλύτερο από το μέσο ποσοστό ανάμεσα σε όλους τους χρήστες για το ίδιο θέμα. Στα πειράματα που πραγματοποιήθηκαν έγινε σύγκριση της κατάταξης ενός μεγάλου αριθμού μοντέλων (τα οποία συνδυάζουν τις τέσσερις βασικές μεθόδους ομοιότητας μεταξύ των tasks που αναφέρθηκαν παραπάνω) με την αρχική κατάταξη της μηχανής αναζήτησης Bing. Επιπλέον, εξετάστηκαν και μέθοδοι που ενισχύουν την αρχική κατάταξη συμπεριλαμβάνοντας την ομοιότητα μεταξύ διαδοχικών ερωτημάτων των χρηστών. Η αξιολόγηση της κατάταξης έγινε με χρήση των μέτρων MAP και MRR. Τα αποτελέσματα υποδεικνύουν ότι η αναγνώριση των tasks βοηθάει στην εμφάνιση καλύτερης κατάταξης, με τη βελτίωση να είναι ιδιαίτερα εμφανής στις περιπτώσεις που λαμβάνεται υπόψη η ομάδα στην οποία ανήκουν οι χρήστες (βάσει τοποθεσίας, γνώσεων των χρηστών πάνω σε ένα θέμα κτλ.) [WHI13].\n31 Παπαγγέλου Κων/νος ΤΗΜΜΥ ΑΠΘ Χρήση μεταδεδομένων τοποθεσίας για εξατομίκευση της αναζήτησης Inferring and Using Location Metadata to Personalize Web Search Οι μηχανές αναζήτησης βασίζονται στην τοποθεσία του χρήστη για να προτείνουν σελίδες γραμμένες σε συγκεκριμένη γλώσσα ή εναλλακτικά ερωτήματα που θα τον ενδιέφεραν. Στο άρθρο προτείνεται μία μέθοδος εύρεσης των κατάλληλων σελίδων για ένα χρήστη όπου για κάθε σελίδα που επισκέπτεται υπολογίζεται μία κατανομή τοποθεσιών ανάλογα με τους χρήστες που επισκέπτονται τη συγκεκριμένη σελίδα. Για την εφαρμογή της προτεινόμενης μεθόδου χρησιμοποιήθηκε το ιστορικό περιήγησης επιλεγμένων χρηστών από διαφορετικές περιοχές των ΗΠΑ. Η τοποθεσία των χρηστών μπορεί να προκύψει εύκολα από τις IP διευθύνσεις. Επιπλέον, το ιστορικό κάθε χρήστη διασπάστηκε σε διαφορετικές συνόδους για πιο λεπτομερή ανάλυση. Καταρχήν υπολογίζεται ένα μοντέλο τοποθεσίας, σύμφωνα με το οποίο η πιθανότητα να βρίσκεται ένας χρήστης σε μία τοποθεσία δεδομένου ότι επισκέπτεται κάποια σελίδα προκύπτει από μία μίξη Gaussian κατανομών: (Εξ. 10) όπου οι παράμετροι των Gaussian κατανομών υπολογίζονται από τα δεδομένα. Για κάθε URL επιλέγονται οι τοποθεσίες των χρηστών που το επισκέφτηκαν και πιο συγκεκριμένα μία τοποθεσία ανά χρήστη και ανά ημέρα. Στη συνέχεια χρησιμοποιείται ο αλγόριθμος Expectation Maximization (EM) για την εκμάθηση του μοντέλου. Από τις τοποθεσίες των χρηστών υπολογίζεται και μία a priori κατανομή καθώς και ένα μοντέλο τοποθεσίας παρόμοιο με το παραπάνω, αλλά λαμβάνοντας υπόψη τα ερωτήματα που έθεσαν οι χρήστες και όχι τα URLs που επισκέφτηκαν. Οι παραπάνω κατανομές χρησιμοποιούνται για τον υπολογισμό των χαρακτηριστικών βάσει των οποίων θα γίνει η κατάταξη των αποτελεσμάτων. Υπολογίζονται χαρακτηριστικά σχετικά με τα URL και τα ερωτήματα όπως η εντροπία των κατανομών και, η απόκλιση Kullback-Leibler (KL) μεταξύ των μοντέλων και καθώς και μεταξύ των κατανομών και. Επίσης, υπολογίζεται η απόκλιση KL μεταξύ των κατανομών και. Αν οι δύο κατανομές είναι παρόμοιες και συνεπώς η απόκλιση KL έχει χαμηλή τιμή, τότε αναμένεται ότι το URL θα είναι αρκετά σχετικό για χρήστες που θέτουν αυτό το ερώτημα. Είναι εμφανές ότι αυτά τα χαρακτηριστικά αφορούν το σύνολο των χρηστών και όχι κάθε χρήστη μεμονωμένα. Γι αυτό υπολογίζεται η πιθανότητα ενός χρήστη να βρίσκεται σε μία τοποθεσία δεδομένου ενός URL: (Εξ. 11) όπου είναι το μοντέλο τοποθεσίας για το URL. Η παραπάνω τιμή κανονικοποιείται λαμβάνοντας υπόψη την a priori κατανομή των τοποθεσιών ( ). Επιπλέον,\n32 30 Θεσσαλονίκη Σεπτέμβριος 2015 υπολογίζονται και δύο παραλλαγές αυτού του χαρακτηριστικού. Στην πρώτη, όταν η τιμή είναι μικρότερη της μονάδας (η πιθανότητα ενός χρήστη να βρίσκεται σε μία τοποθεσία δεδομένου του URL είναι μικρότερη από την a priori πιθανότητα της τοποθεσίας), τότε τίθεται ίση με 1. Στη δεύτερη παραλλαγή γίνεται εκ νέου κανονικοποίηση της a priori κατανομής ώστε των άθροισμα των πιθανοτήτων να είναι ίσο με 1 θεωρώντας μόνο τις περιοχές για τις οποίες η πιθανότητα είναι μεγαλύτερη από κάποια μικρή τιμή. Χρησιμοποιώντας τον κανόνα του Bayes υπολογίζεται και η κατανομή, δηλαδή η πιθανότητα ενός URL δεδομένης της τοποθεσίας του χρήστη. Επιπλέον, υπολογίζονται ορισμένα χαρακτηριστικά που συσχετίζουν την τοποθεσία του χρήστη με την κατανομή τοποθεσιών ενός URL, όπως η απόσταση της τοποθεσίας του χρήστη από τη μέση τιμή της κατανομής, η απόσταση από την κοντινότερη Gaussian κατανομή κ.α. Τα ίδια χαρακτηριστικά υπολογίστηκαν και για την κατανομή τοποθεσιών ενός ερωτήματος. Τέλος, στον αλγόριθμο κατάταξης συμπεριλαμβάνονται η αρχική κατάταξη κάθε URL καθώς και το σκορ που του έχει ανατεθεί από την Bing. Στα πειράματα που διεξήχθησαν συγκρίθηκε η κατάταξη των αποτελεσμάτων του προτεινόμενου μοντέλου με την αρχική κατάταξη της Bing. Στα αποτελέσματα που επιστρέφονται για ένα ερώτημα ανατίθεται ένα σκορ σχετικότητας, το οποίο υπολογίζεται με χρήση δεδομένων κλικ. Για την κατάταξη των αποτελεσμάτων χρησιμοποιήθηκε ο αλγόριθμος LambdaMART, ενώ η σύγκριση των κατατάξεων έγινε βάσει της μετρικής MRR. Χρησιμοποιήθηκαν συνολικά 1,000,000 ερωτήματα και για κάθε ένα από αυτά επιλέχθηκαν τα 10 πρώτα αποτελέσματα. Σύμφωνα με τα πειράματα το προτεινόμενο μοντέλο αλλάζει την κατάταξη μιας σελίδας, η οποία θεωρείται αρκετά σχετική με το ερώτημα, στο 16.8% των περιπτώσεων, βελτιώνει την κατάταξη για το 10.4% των ερωτημάτων και βελτιώνει το συνολικό MRR κατά 1.9% σε σχέση με την αρχική κατάταξη [ΒΕΝ11] Εξατομικευμένη πρόβλεψη κλικ σε επιδοτούμενη αναζήτηση Personalized Click Prediction in Sponsored Search Η διαφήμιση αποτελεί τη βασική πηγή εσόδων των μηχανών αναζήτησης. Το πιο σύνηθες μοντέλο βασίζεται στη χρέωση των διαφημιζόμενων ανάλογα με τον αριθμό των κλικ (payper-click) που έχουν γίνει στη διαφήμισή τους. Οι περισσότερες μηχανές αναζήτησης χρησιμοποιούν δεδομένα χρηστών για να εκπαιδεύσουν κάποιο αλγόριθμο μηχανικής μάθησης, ο οποίος θα μπορεί να υπολογίζει την πιθανότητα να γίνει κλικ σε κάποια διαφήμιση. Ο αλγόριθμος συνήθως εκπαιδεύεται με δεδομένα που αφορούν τη συνολική συμπεριφορά των χρηστών και όχι κάθε χρήστη μεμονωμένα. Στο άρθρο προτείνεται μία μέθοδος για την παροχή διαφημίσεων ανάλογα με τα χαρακτηριστικά κάθε χρήστη. Τα χαρακτηριστικά που είναι ανεξάρτητα από τη συμπεριφορά κάθε χρήστη μπορούν να χωριστούν σε δύο κατηγορίες. Η πρώτη χρησιμοποιεί την ομοιότητα μεταξύ ερωτήματος και διαφήμισης, όπως ο αριθμός των κοινών λέξεων. Η δεύτερη, η οποία μάλιστα έχει αποδειχθεί αρκετά αποτελεσματική, χρησιμοποιεί δεδομένα κλικ. Συγκεκριμένα ο αναμενόμενος αριθμός κλικ (Expected Clicks-ECs) μπορεί να οριστεί από τη σχέση:\n33 Παπαγγέλου Κων/νος ΤΗΜΜΥ ΑΠΘ 31 (Εξ. 12) όπου είναι ο αριθμός εμφανίσεων μιας διαφήμισης στη θέση και ο μέσος αριθμός των κλικ που λαμβάνει μία διαφήμιση στη θέση. Ένα ακόμα χαρακτηριστικό είναι ο αριθμός των κλικ μιας διαφήμισης προς τον αναμενόμενο αριθμό κλικ (Clicks Over Expected Clicks-COEC) και υπολογίζεται από τη σχέση: (Εξ. 13) όπου ο αριθμητής αντιστοιχεί στο συνολικό αριθμό κλικ που έχουν γίνει για ένα ζεύγος ερώτημα-διαφήμιση. Οι συγγραφείς ομαδοποιούν τους χρήστες χρησιμοποιώντας δημογραφικά χαρακτηριστικά όπως το φύλο, η ηλικία και το επάγγελμα και υπολογίζουν τα παραπάνω χαρακτηριστικά (ECs και COEC) για κάθε ομάδα. Επιπλέον, αυτά τα χαρακτηριστικά μπορούν να υπολογιστούν για κάθε χρήστη μεμονωμένα (user-level), λαμβάνοντας υπόψη όλα τα ερωτήματα που έχει θέσει και όλες τις διαφημίσεις στις οποίες έχει κάνει κλικ, για κάθε ζεύγος χρήστη - ερώτημα (user-query) καθώς και για κάθε ζεύγος χρήστη - διαφήμιση (user-ad), το οποίο αντικατοπτρίζει τα ενδιαφέρον του χρήστη για συγκεκριμένες διαφημίσεις. Στα πειράματα συγκρίθηκε μία μέθοδος που χρησιμοποιεί μόνο χαρακτηριστικά ανεξάρτητα της συμπεριφοράς του χρήστη με μεθόδους που περιλαμβάνουν συνδυασμούς των παραπάνω χαρακτηριστικών. Αυτά χρησιμοποιήθηκαν για την εκπαίδευση ενός μοντέλου μέγιστης εντροπίας (Maximum Entropy Model) το οποίο επιχειρεί να μεγιστοποιήσει την πιθανότητα να γίνει κλικ σε μία διαφήμιση: (Εξ. 14) όπου είναι ένα χαρακτηριστικό υπολογισμένο για ένα ερώτημα, μία διαφήμιση και ένα χρήστη και είναι το βάρος που δίνεται στο χαρακτηριστικό. Τα βάρη υπολογίζονται με μεγιστοποίηση της συνάρτησης πιθανοφάνειας: (Εξ. 15) Τα αποτελέσματα αξιολογήθηκαν με χρήστη των μέτρων precision, recall και το εμβαδό της περιοχής κάτω από την καμπύλη precision-recall (Area Under Curve). Από τα αποτελέσματα προέκυψε ότι η συμπερίληψη user-level χαρακτηριστικών στη μέθοδο που δε χρησιμοποιεί δεδομένα μεμονωμένων χρηστών παρέχει σημαντική βελτίωση. Η χρησιμοποίηση επιπλέον χαρακτηριστικών οδηγεί σε ακόμη καλύτερη συμπεριφορά με το μοντέλο που χρησιμοποιεί user-level, user-query, user-ad και δημογραφικά χαρακτηριστικά να δίνει τα καλύτερα αποτελέσματα [CHE10].\n34 32 Θεσσαλονίκη Σεπτέμβριος Αναγνωρίζοντας τους στόχους του χρήστη με χρήση δεδομένων αλληλεπίδρασης Ready to Buy or Just Browsing? Detecting Web Searcher Goals from Interaction Data Οι χρήστες συχνά απαιτείται να κάνουν έναν αριθμό αναζητήσεων πριν βρουν την πληροφορία που τους ενδιαφέρει. Το έργο (task) ενός χρήστη ορίζεται ως το πλήθος των διαδοχικών ερωτημάτων που μοιράζονται τουλάχιστον μία λέξη, η οποία δεν είναι κάποια από τις συνηθισμένες λέξεις του λεξιλογίου (stop word). Οι συγγραφείς μοντελοποιούν το χρήστη ως μία μηχανή καταστάσεων, όπου υπάρχουν κρυφές καταστάσεις, οι οποίες αντιστοιχούν στα tasks του χρήστη και παρατηρούμενες ενέργειες, οι οποίες εξαρτώνται από την κατάσταση του χρήστη. Στόχος είναι η χρησιμοποίηση των παρατηρούμενων ενεργειών για την πρόβλεψη των προθέσεων του χρήστη κατά την εκτέλεση ενός task. Οι συγγραφείς προτείνουν ένα μεγάλο πλήθος χαρακτηριστικών, τα οποία μπορούν να παρατηρηθούν εύκολα, ενσωματώνοντας τον κατάλληλο κώδικα στη μηχανή αναζήτησης. Ορισμένα αντιπροσωπευτικά χαρακτηριστικά είναι τα εξής: Χαρακτηριστικά σχετικά με το ερώτημα, όπως οι λέξεις του ερωτήματος, το μήκος σε λέξεις και χαρακτήρες καθώς και χαρακτηριστικά που δηλώνουν αν το ερώτημα περιέχει κάποιο top-level domain, για παράδειγμα.org ή.com. Χαρακτηριστικά σχετικά με τη σελίδα αποτελεσμάτων (SERP), όπως οι λέξεις των κειμένων (snippets) των αποτελεσμάτων και των διαφημίσεων καθώς και του συνολικού κειμένου της σελίδας αποτελεσμάτων. Χαρακτηριστικά που καθορίζουν την ποιότητα των αποτελεσμάτων, όπως ο αριθμός κοινών λέξεων μεταξύ ερωτήματος και των κειμένων των αποτελεσμάτων και ο αριθμός των λέξεων του ερωτήματος που εμφανίζονται στα κείμενα των διαφημίσεων. Επιπλέον, χρησιμοποιούνται και ο συνολικός αριθμός διαφημίσεων, ο αριθμός διαφημίσεων στην αρχή της σελίδας αποτελεσμάτων καθώς και το πλήθος των διαφημίσεων στη δεξιά πλευρά της σελίδας. Αυτά τα χαρακτηριστικά δείχνουν το ενδιαφέρον των διαφημιστών για το αντίστοιχο ερώτημα. Ένα μεγάλο πλήθος χαρακτηριστικών αλληλεπίδρασης του χρήστη με τα αποτελέσματα. Τέτοιου είδους χαρακτηριστικά είναι ο αριθμός των κλικ, ο αριθμός των κυλίσεων του κέρσορα (scrolls), ο χρόνος μέχρι το πρώτο κλικ κ.α. Χαρακτηριστικά σχετικά με τα κλικ, όπως ο αριθμός των URL που επισκέφτηκε ο χρήστης μετά από ένα κλικ, ο μέσος χρόνος παραμονής σε κάθε σελίδα που επισκέφτηκε, αν έμεινε ικανοποιημένος (χρόνος παραμονής μεγαλύτερος από 30 δευτερόλεπτα) ή όχι (χρόνο παραμονής μικρότερος από 15 δευτερόλεπτα) καθώς και οι θέσεις των σελίδων στις οποίες έκανε κλικ. Χαρακτηριστικά σχετικά με το συνολικό πλαίσιο της αναζήτησης όπως αν το ερώτημα σχετίζεται με το προηγούμενο (για παράδειγμα αν αποτελεί αναδιατύπωση του προηγούμενου) καθώς και η θέση του ερωτήματος στη σύνοδο (για παράδειγμα αν είναι το πρώτο ή το πέμπτο ερώτημα στη σύνοδο). Τα παραπάνω χαρακτηριστικά χρησιμοποιούνται για την εκπαίδευση δύο αλγορίθμων μηχανικής μάθησης. Συγκεκριμένα, χρησιμοποιούνται οι αλγόριθμοι Support Vector Machine (SVM) και Conditional Random Fields (CRF). Στο πρώτο πείραμα που έγινε συγκεντρώθηκαν δεδομένα 10 χρηστών στους οποίους ανατέθηκε αρχικά να αναζητήσουν\n35 Παπαγγέλου Κων/νος ΤΗΜΜΥ ΑΠΘ 33 πληροφορίες για ένα προϊόν, ενώ στη συνέχεια τους ζητήθηκε να αγοράσουν κάποιο προϊόν που τους ενδιαφέρει. Ο αλγόριθμος SVM με χρήση όλων των χαρακτηριστικών που αναφέρθηκαν παραπάνω κατάφερε να αναγνωρίσει σωστά αν κάποιο ερώτημα του σετ ελέγχου αντιστοιχεί σε ερώτημα αναζήτησης ή αγοράς ενός προϊόντος στο 97% των περιπτώσεων. Ωστόσο λόγω του μικρού αριθμού χρηστών τα αποτελέσματα δεν είναι κατηγορηματικά. Στη συνέχεια πραγματοποιήθηκε ένα πείραμα μεγαλύτερης κλίμακας προκειμένου να διαπιστωθεί αν η αναζήτηση του χρήστη σχετίζεται με τα κλικ που γίνονται σε διαφημίσεις. Παρατηρείται, όπως αναμενόταν, ότι για ερωτήματα που σχετίζονται με αναζητήσεις κάποιου προϊόντος υπάρχουν λιγότερα κλικ σε διαφημίσεις σε σχέση με αναζητήσεις που σχετίζονται με αγορά. Τέλος, εξετάζεται το πρόβλημα πρόβλεψης των κλικ σε διαφημίσεις. Δεδομένου ενός αριθμού αναζητήσεων που έχει κάνει ο χρήστης μέχρι στιγμής σε κάποια σύνοδο και των δεδομένων που σχετίζονται με τη συμπεριφορά του, στόχος είναι να γίνει πρόβλεψη για το αν θα υπάρξει κλικ σε κάποια διαφήμιση στην επόμενη αναζήτηση. Σε αυτό το πείραμα χρησιμοποιήθηκε ο αλγόριθμος CRF με διαφορετικούς συνδυασμούς χαρακτηριστικών, με τον αλγόριθμο που χρησιμοποιεί όλα τα χαρακτηριστικά να επιτυγχάνει υψηλότερο recall και F1-measure. Παραδόξως, το υψηλότερο precision επιτυγχάνεται αφαιρώντας τα χαρακτηριστικά αλληλεπίδρασης, το οποίο αποδίδεται στο ότι αυτά μπορούν να βοηθήσουν στον εντοπισμό αρκετών περιπτώσεων στις οποίες μπορεί να υπάρξει κλικ σε κάποια διαφήμιση, εισάγοντας όμως και ορισμένες λανθασμένες προβλέψεις (false positives) [GUO10] Συστήματα συστάσεων Τα συστήματα συστάσεων χρησιμοποιούνται για να προτείνουν στους χρήστες αντικείμενα που θα τους ενδιέφεραν (π.χ. ειδήσεις, τραγούδια, ταινίες, βιβλία, εφαρμογές και ταξιδιωτικούς προορισμούς). Συνήθως χρησιμοποιούν δύο βασικές προσεγγίσεις: φιλτράρισμα βασισμένο στο περιεχόμενο (content-based filtering) και συνεργατικό φιλτράρισμα (collaborative filtering). Στην πρώτη προσέγγιση οι προτάσεις προς τους χρήστες γίνονται βάσει των προφίλ που έχουν. Αυτά τα προφίλ σχεδιάζονται με ανάλυση των δεδομένων που συλλέγονται για κάθε χρήστη. Τέτοιου είδους δεδομένα είναι τα αντικείμενα που επιλέγουν, δημογραφικά χαρακτηριστικά όπως η τοποθεσία, η ηλικία και το φύλο, ενώ υπάρχει και η τάση για ενσωμάτωση δεδομένων από κοινωνικά δίκτυα. Στη δεύτερη προσέγγιση οι προτάσεις προκύπτουν από τις επιλογές άλλων χρηστών. Τα τελευταία χρόνια χρησιμοποιούνται κυρίως υβριδικές μέθοδοι καθώς έχει παρατηρηθεί ότι προσφέρουν καλύτερα αποτελέσματα. Οι παραπάνω προσεγγίσεις είναι οι πλέον χρησιμοποιούμενες, αλλά δεν είναι και οι μοναδικές. Στο [ΒΟΒ13] παρουσιάζεται μία εκτενής ανάλυση των σύγχρονων συστημάτων συστάσεων. Στόχος του κεφαλαίου δεν είναι μία ανάλυση αυτών των συστημάτων αλλά η παρουσίαση μεθόδων ανάλυσης της συμπεριφοράς των χρηστών και η αξιοποίησή τους σε εφαρμογές. Στο υπόλοιπο του κεφαλαίου παρουσιάζονται αντιπροσωπευτικά συστήματα συστάσεων που αξιοποιούν διαφορετικές πηγές δεδομένων.\n36 34 Θεσσαλονίκη Σεπτέμβριος Σύσταση μουσικής βασισμένη σε ακολουθιακά πρότυπα λανθανόντων θεμάτων Context-Aware Music Recommendation Based on Latent Topic Sequential Patterns Τα παραδοσιακά συστήματα συστάσεων χρησιμοποιούν το ιστορικό των προτιμήσεων των χρηστών για να προτείνουν νέα αντικείμενα. Ωστόσο, έχει παρατηρηθεί ότι το γενικό πλαίσιο στο οποίο πραγματοποιείται κάποια επιλογή από το χρήστη μπορεί να βελτιώσει σημαντικά τα παραδοσιακά συστήματα. Σε σελίδες μουσικού περιεχομένου, αυτό το πλαίσιο αντιστοιχεί στη σειρά των τραγουδιών που επιλέγει να ακούσει. Κάθε χρήστης επιλέγει το επόμενο τραγούδι ανάλογα με τη διάθεση που έχει, την περίσταση ή τις συνήθειές του. Οι συγγραφείς προτείνουν μία μέθοδο η οποία χρησιμοποιεί τον αλγόριθμο LDA για τον εντοπισμό των θεμάτων που περιγράφουν τα τραγούδια που ακούει ένας χρήστης. Στη συνέχεια χρησιμοποιούνται προκαθορισμένα πρότυπα, τα οποία έχουν προκύψει από δεδομένα χρηστών, ώστε να προβλέψει το θέμα του επόμενου τραγουδιού. Για κάθε τραγούδι συλλέγονται σχετικές ετικέτες (tags) που έχουν δώσει οι χρήστες της σελίδας last.fm 3. Κάθε τραγούδι λαμβάνεται ως ένα κείμενο του οποίου οι λέξεις είναι τα αντίστοιχα tags. Στη συνέχεια εφαρμόζεται ο αλγόριθμος LDA για τον εντοπισμό των θεμάτων που περιγράφουν το σύνολο των τραγουδιών. Στόχος είναι, δεδομένου ενός συνόλου τραγουδιών που έχει ακούσει ο χρήστης, να βρεθεί ποιο θα έπρεπε να είναι το επόμενο. Γι αυτό χρησιμοποιούνται λίστες τραγουδιών οι οποίες επελέγησαν από τη σελίδα art of the mix 4. Κάθε λίστα αποτελείται από ένα σύνολο τραγουδιών και κάθε τραγούδι από ένα σύνολο σχετικών θεμάτων. Έστω το σύνολο των θεμάτων. Μία ακολουθία είναι μία λίστα στοιχείων όπου το κάθε ένα είναι ένα υποσύνολο του. Η ακολουθία είναι υποακολουθία της εάν υπάρχουν ακέραιοι, τέτοιοι ώστε,,,. Ως υποστήριξη (support) της ακολουθίας ορίζεται ο αριθμός των υπερακολουθιών της. Μία ακολουθία ονομάζεται ακολουθιακό πρότυπο (sequential pattern) αν, όπου είναι ένα ελάχιστο όριο. To συνεχόμενο ακολουθιακό πρότυπο (contiguous sequential pattern) απαιτεί επιπλέον κάθε ζεύγος στοιχείων, να εμφανίζεται διαδοχικά στην ακολουθία. Κάθε χρήστης αναπαρίσταται από μία ακολουθία, η οποία αποτελείται από τα τελευταία τραγούδια που άκουσε. Κάθε υποακολουθία συγκρίνεται με τα πρότυπα που έχουν οριστεί. Ένα πρότυπο θα γίνει αποδεκτό αν το μήκος της αντίστοιχης ακολουθίας είναι και τα πρώτα στοιχεία,, περιέχονται σε κάποια υποακολουθία του χρήστη. Τα θέματα που αντιστοιχούν στο στοιχείο επιλέγονται ως υποψήφια θέματα που θα πρέπει να έχει το τραγούδι που θα προταθεί στο χρήστη. Τα τελικά θέματα που θα προκύψουν θα είναι αυτά για τα οποία ο λόγος της υποστήριξη του προς την υποστήριξη του είναι μεγαλύτερος από κάποιο προκαθορισμένο όριο. Λαμβάνοντας υπόψη τις προτιμήσεις του χρήστη και χρησιμοποιώντας τον αλγόριθμο knn υπολογίζεται για κάθε τραγούδι ένα σκορ ανάλογα με του γειτονικούς χρήστες, δηλαδή αυτούς που έχουν παρόμοιες προτιμήσεις και ο οποίοι έχουν ακούσει το συγκεκριμένο τραγούδι. Ακολούθως επιλέγονται τα κορυφαία τραγούδια ανάλογα με το σκορ που έχει υπολογιστεί. Αυτή η 3 4\n37 Παπαγγέλου Κων/νος ΤΗΜΜΥ ΑΠΘ 35 μέθοδος είναι από τις πλέον συνηθισμένες στα συστήματα συστάσεων. Για κάθε τραγούδι της λίστας που προκύπτει υπολογίζεται η μέση τιμή της πιθανότητας των θεμάτων να σχετίζονται με το αντίστοιχο τραγούδι. Αυτή η τιμή προστίθεται στο αρχικό σκορ για να προκύψει η τελική λίστα τραγουδιών, από την οποία θα επιλεγεί το κορυφαίο για να προταθεί στο χρήστη. Η προτεινόμενη μέθοδος συγκρίνεται με ένα κλασσικό σύστημα συστάσεων το οποίο χρησιμοποιεί φιλτράρισμα βασισμένο στο περιεχόμενο. Συγκεκριμένα, κάθε τραγούδι αναπαρίσταται από ένα διάνυσμα το οποίο περιέχει πληροφορίες όπως ο καλλιτέχνης, το είδος, η εποχή που κυκλοφόρησε και ο τίτλος του άλμπουμ. Το σκορ κάθε τραγουδιού υπολογίζεται ως το άθροισμα των σκορ ομοιότητας μεταξύ του διανύσματος του τραγουδιού και των διανυσμάτων των k κοντινότερων τραγουδιών (με χρήση του αλγορίθμου knn) της λίστας του χρήστη. Επομένως, το τραγούδι που θα προταθεί εξαρτάται από το ιστορικό του χρήστη. Από τα πειράματα που έγιναν σε λίστες τραγουδιών προκύπτει ότι η προτεινόμενη μέθοδος μπορεί να πετύχει έως και τρεις φορές υψηλότερο precision, όπου ως precision ορίζεται το ποσοστό των προβλέψεων του επόμενου τραγουδιού της λίστας που ήταν σωστές [HAR12] Εξατομικευμένη σύσταση ειδήσεων με χρήση δεδομένων κλικ Personalized News Recommendation Based on Click Behavior Το σύστημα συστάσεων της σελίδας ειδήσεων της Google (Google News) βασιζόταν μέχρι πρότινος στη μέθοδο του συνεργατικού φιλτραρίσματος. Συγκεκριμένα, πρότεινε νέες ειδήσεις στους χρήστες χρησιμοποιώντας δεδομένα κλικ άλλων χρηστών, μία μέθοδος η οποία παρουσιάζει δύο βασικά μειονεκτήματα. Πρώτον, το σύστημα δεν μπορεί να προτείνει καινούριες ειδήσεις, τις οποίες δεν έχουν δει ακόμα άλλοι χρήστες, ένα πρόβλημα γνωστό ως πρόβλημα του πρώτου αξιολογητή (first-rater problem). Δεύτερον, οι χρήστες παρουσιάζουν διαφορετικά ενδιαφέροντα, κάτι που δε λαμβάνεται υπόψη στη μέθοδο του συνεργατικού φιλτραρίσματος. Για παράδειγμα, παρατηρείται ότι σε όλους τους χρήστες προτείνονται ειδήσεις σχετικές με διασκέδαση (μουσική, ταινίες κτλ.) διότι είναι πολύ δημοφιλείς ανάμεσα στο σύνολο των χρηστών. Για την επίλυση αυτών τον προβλημάτων, προτείνεται η χρήση μιας υβριδικής μεθόδου, η οποία ενσωματώνει στο αρχικό σύστημα συστάσεων έναν παράγοντα που καθορίζεται από τη συμπεριφορά κάθε χρήστη μεμονωμένα. Το νέο σύστημα συστάσεων συνδυάζει και τις δύο βασικές μεθόδους, συνεργατικό φιλτράρισμα και φιλτράρισμα βασισμένο στο περιεχόμενο. Αρχικά, παρουσιάζεται μία εκτενής μελέτη της συμπεριφοράς των χρηστών χρησιμοποιώντας δεδομένα κλικ 16,949 χρηστών από διαφορετικές χώρες σε διάστημα ενός χρόνου. Τα αποτελέσματα της ανάλυσης είναι συνοπτικά τα εξής: Τα ενδιαφέροντα των χρηστών αλλάζουν με την πάροδο του χρόνου. Η κατανομή των κλικ του συνόλου των χρηστών σχετίζεται άμεσα με τον απόηχο των ειδήσεων. Οι σημαντικές ειδήσεις επιλέγονται από το μεγαλύτερο μέρος του πληθυσμού. Εμφανίζονται διαφορετικές τάσεις ως προς το είδος των ειδήσεων που ενδιαφέρουν τους χρήστες ανά περιοχή.\n38 36 Θεσσαλονίκη Σεπτέμβριος 2015 Συνήθως, οι ειδήσεις που ενδιαφέρουν ένα χρήστη είναι παρόμοιες με αυτές που ενδιαφέρουν άλλους χρήστες στην ίδια περιοχή. Με βάση τα παραπάνω ευρήματα, ορίζεται ένα μοντέλο που λαμβάνει υπόψη του τα ενδιαφέροντα κάθε χρήστη μεμονωμένα, αλλά και την τάση που υπάρχει συνολικά στον πληθυσμό. Το ενδιαφέρον ενός χρήστη σε μία κατηγορία ειδήσεων μπορεί να θεωρηθεί ότι ταυτίζεται με την πιθανότητα να γίνει κλικ σε μία είδηση αυτής της κατηγορίας και υπολογίζεται σύμφωνα με τον κανόνα του Bayes ως εξής: (Εξ. 16) Ως ορίζεται η πιθανότητα οι ειδήσεις που επιλέγει ο χρήστης στο χρονική περίοδο να εμπίπτουν στην κατηγορία. Αυτή η πιθανότητα μπορεί να υπολογιστεί εύκολα από τα δεδομένα κλικ του χρήστη που υπάρχουν διαθέσιμα. Η a priori πιθανότητα μίας είδησης να σχετίζεται με την κατηγορία συμβολίζεται ως και ερμηνεύεται ως το ποσοστό των ειδήσεων της συγκεκριμένης κατηγορίας που δημοσιεύτηκαν σε διάστημα. Επίσης, είναι η a priori πιθανότητα ο χρήστης να διαβάσει μία είδηση, ανεξάρτητα της κατηγορίας, και μπορεί να θεωρηθεί ότι παραμένει σταθερή στα υπό μελέτη χρονικά διαστήματα. Τέλος, είναι ο συνολικός αριθμός των κλικ ενός χρήστη σε διάστημα. Τα δεδομένα κλικ των χρηστών για κάποιο χρονικό διάστημα (π.χ. την τελευταία ώρα) συναθροίζονται και υπολογίζεται η πιθανότητα, η οποία εκφράζει πόσο δημοφιλής είναι μια κατηγορία στο σύνολο των χρηστών. Χρησιμοποιώντας τον κανόνα του Bayes έχουμε: (Εξ. 17) Για κάθε είδηση υπολογίζεται ένα σκορ το οποίο συνδυάζει το ενδιαφέρον του χρήστη για την κατηγορία στην οποία ανήκει, όπως υπολογίστηκε παραπάνω, με το αρχικό σκορ της μεθόδου συνεργατικού φιλτραρίσματος. Στα πειράματα που έγιναν, περίπου 10,000 επιλεγμένοι χρήστες χωρίστηκαν σε δύο ομάδες. Στη μία ομάδα παρουσιαζόταν η σελίδα της Google News με τις προτάσεις να προέρχονται από την αρχική μέθοδο, ενώ στη δεύτερη ομάδα παρουσιάστηκε το νέο σύστημα συστάσεων. Από τις μετρήσεις προέκυψε ότι ο μέσος αριθμός κλικ στις προτεινόμενες ειδήσεις αυξήθηκε περίπου κατά 31%. Ο αριθμός των κλικ στα υπόλοιπα τμήματα της σελίδας μειώθηκε, καθώς περισσότεροι χρήστες επέλεγαν κάποια από τις προτεινόμενες ειδήσεις. Τέλος, σε διάστημα ενός μήνα, ο μέσος αριθμός επισκέψεων στη σελίδα ανά ημέρα αυξήθηκε κατά 14.1% [LIU10].\n39 Παπαγγέλου Κων/νος ΤΗΜΜΥ ΑΠΘ Συστήματα συστάσεων και κοινωνικά δίκτυα Recommender Systems with Social Regularization Τα παραδοσιακά συστήματα συστάσεων δε λαμβάνουν υπόψη τους τις κοινωνικές σχέσεις μεταξύ των χρηστών. Αυτό έρχεται σε αντίθεση με την καθημερινότητά μας, όπου καταφεύγουμε σε φίλους και ανθρώπους που εμπιστευόμαστε προκειμένου να ζητήσουμε τις προτάσεις τους για θέματα που μας απασχολούν. Συνεπώς, η φυσιολογική εξέλιξη αυτών των συστημάτων θα ήταν να συμπεριλάβουν τέτοιου είδους πληροφορίες, οι οποίες υπάρχουν διαθέσιμες στα συστήματα κοινωνικής δικτύωσης (social networks). Στα συστήματα συστάσεων, συνήθως, χρησιμοποιείται ένας πίνακας χρηστών-αντικειμένων ο οποίος περιέχει τις βαθμολογίες που έχουν δώσει οι χρήστες στα αντικείμενα. Προφανώς κάθε χρήστης βαθμολογεί ένα μικρό αριθμό αντικειμένων και ο αντίστοιχος πίνακας θα είναι αρκετά αραιός περιέχοντας πολλές μηδενικές τιμές. Αυτός ο πίνακας παραγοντοποιείται σε έναν πίνακα χρηστών και έναν αντικειμένων, οι οποίοι χρησιμοποιούνται για να γίνει πρόβλεψη των βαθμολογιών που λείπουν. Αν έχουμε χρήστες και αντικείμενα τότε το πρόβλημα της παραγοντοποίησης ορίζεται ως η εύρεση των πινάκων και για τους οποίους ισχύει: (Εξ. 18) όπου ο πίνακας είναι μεγέθους, ενώ οι πίνακες και έχουν διαστάσεις και αντίστοιχα, με. Για την εύρεση των και χρησιμοποιείται συνήθως η μέθοδος ανάλυσης του πίνακα σε ιδιάζουσες τιμές (Singular Value Decomposition), με ελαχιστοποίηση της ποσότητας: (Εξ. 19) όπου είναι το μέτρο Φρομπένιους (Frobenius norm). Λαμβάνοντας υπόψη ότι ο πίνακας έχει μεγάλο αριθμό μηδενικών τιμών και εισάγοντας παράγοντες κανονικοποίησης (regularization parameters) για να αποφύγουμε την υπερεκπαίδευση (overfitting), το πρόβλημα ελαχιστοποίησης γίνεται: (Εξ. 20) όπου ο παράγοντας είναι ίσος με 1 αν ο χρήστης έχει βαθμολογήσει το αντικείμενο και, είναι οι παράγοντες κανονικοποίησης. Συνήθως, όταν θέλουμε να πάρουμε κάποια απόφαση συμβουλευόμαστε φίλους και γνωστούς προκειμένου να μας δώσουν τις προτάσεις τους. Βασισμένοι σε αυτή την παρατήρηση οι συγγραφείς προσθέτουν στο παραπάνω πρόβλημα έναν παράγοντα κανονικοποίησης ο οποίος είναι:\n40 38 Θεσσαλονίκη Σεπτέμβριος 2015 (Εξ. 21) όπου, είναι το σύνολο των φίλων του χρήστη και εκφράζει την ομοιότητα μεταξύ των χρηστών και. Προκειμένου να αντιμετωπιστεί και η περίπτωση στην οποία οι φίλοι ενός χρήστη έχουν αρκετά διαφορετικά ενδιαφέροντα προστίθεται και ένας ακόμη όρος κανονικοποίησης: (Εξ. 22) Αυτός ο όρος δηλώνει ότι αν η ομοιότητα μεταξύ δύο χρηστών είναι μικρή τότε η απόσταση μεταξύ των διανυσμάτων, που τους αντιστοιχούν θα πρέπει να είναι μεγάλη. Ως μέτρο ομοιότητας μεταξύ δύο χρηστών ορίζεται ο συντελεστής Pearson (Pearson Correlation Coefficient): (Εξ. 23) όπου είναι η μέση βαθμολογία του χρήστη. Το νέο σύστημα συστάσεων εφαρμόστηκε σε δεδομένα που συλλέχτηκαν από τα μέσα κοινωνικής δικτύωσης Douban και Epinions και παρατηρήθηκε ότι μπορεί να προβλέψει τις βαθμολογίες των χρηστών με μεγαλύτερη ακρίβεια έναντι συστημάτων που δεν χρησιμοποιούν παρόμοια δεδομένα. Τέλος, τονίζεται ότι θα πρέπει να βρεθεί μία μέθοδος ομαδοποίησης των φίλων ενός χρήστη, ώστε κάθε ομάδα να χρησιμοποιείται για διαφορετικές προτάσεις ανάλογα με το ποια είναι η καταλληλότερη. Το πρόβλημα προκύπτει από το γεγονός ότι οι περισσότεροι χρήστες σελίδων κοινωνικής δικτύωσης έχουν εκατοντάδες ή και χιλιάδες φίλους [ΜΑ11] Μία προσέγγιση μάθησης εις βάθος πολλαπλών όψεων για μοντελοποίηση της συμπεριφοράς χρηστών σε διαφορετικά πεδία σε συστήματα συστάσεων A Multi-View Deep Learning Approach for Cross Domain User Modeling in Recommendation Systems Στο [HUA13] γίνεται η πρώτη αναφορά στη χρησιμοποίηση του αλγορίθμου Deep Neural Network (DNN) για τη βελτίωση της κατάταξης των αποτελεσμάτων σε μηχανές αναζήτησης. Ο προτεινόμενος αλγόριθμος προέρχεται από την παρατήρηση ότι τα λανθάνοντα σημασιολογικά μοντέλα, όπως το μοντέλο LSA, είναι ικανά να εντοπίσουν συσχετίσεις μεταξύ ερωτημάτων και σελίδων σε σημασιολογικό επίπεδο, όπου οι κλασσικές μέθοδοι ταύτισης των κοινών λέξεων (key-word matching) αποτυγχάνουν. Με αυτές τις μεθόδους διαφορετικοί όροι που χρησιμοποιούνται στο ίδιο πλαίσιο μέσα στις σελίδες τοποθετούνται στο ίδια ομάδα. Έτσι κάθε ζεύγος ερώτημα-σελίδα μπορεί να έχει μεγάλο βαθμό ομοιότητας ακόμα και αν δε μοιράζεται κοινές λέξεις. Οι συγγραφείς παρουσιάζουν μία μέθοδο που χρησιμοποιεί τον αλγόριθμο Deep Neural Network (DNN) για την κατάταξη των σελίδων για ένα ερώτημα. Το νευρωνικό δίκτυο\n41 Παπαγγέλου Κων/νος ΤΗΜΜΥ ΑΠΘ 39 δέχεται δύο εισόδους, με τη μία να αντιστοιχεί στο ερώτημα και τη δεύτερη σε μία σελίδα. Αρχικά πραγματοποιείται μη γραμμική προβολή των διανυσμάτων των ερωτημάτων και των σελίδων (π.χ. αριθμός εμφάνισης λέξεων) σε έναν κοινό σημασιολογικό χώρο. Η σχετικότητα μιας σελίδας δεδομένου ενός ερωτήματος υπολογίζεται ως το συνημίτονο της γωνίας μεταξύ των δύο διανυσμάτων. Η εκπαίδευση γίνεται χρησιμοποιώντας δεδομένα κλικ μεγιστοποιώντας την πιθανότητα να γίνει κλικ σε μία σελίδα δεδομένου ενός ερωτήματος. Αν είναι το διάνυσμα εισόδου, το διάνυσμα εξόδου, τα διανύσματα των ενδιάμεσων κρυφών επιπέδων και, τα βάρη, οι εξισώσεις του νευρωνικού δικτύου είναι: (Εξ. 24) όπου. Η σχέση μεταξύ ερωτήματος και σελίδας είναι: (Εξ. 25) Κατόπιν η κατάταξη των αποτελεσμάτων γίνεται με βάση την τιμή μία σελίδας, δεδομένου ενός ερωτήματος υπολογίζεται από τη σχέση:. Η πιθανότητα (Εξ. 26) όπου η παράμετρος υπολογίζεται από σετ δεδομένων και είναι οι υποψήφιες σελίδες για κατάταξη. Ο υπολογισμός των παραμέτρων του νευρωνικού δικτύου γίνεται ελαχιστοποιώντας τη συνάρτηση πιθανοφάνειας: (Εξ. 27) όπου είναι το ζεύγος ερώτημα-σελίδα στην οποία έγινε κλικ. Βασισμένοι στον παραπάνω αλγόριθμο, ο οποίος αποδείχθηκε εξαιρετικά αποδοτικός, οι συγγραφείς προτείνουν μία παραλλαγή του που μπορεί να λαμβάνει παραπάνω από δύο εισόδους. Η μία είσοδος αντιστοιχεί στο διάνυσμα χαρακτηριστικών του χρήστη ενώ οι υπόλοιπες είσοδοι είναι τα διανύσματα χαρακτηριστικών διαφορετικών αντικειμένων που επιθυμούμε να προτείνουμε στο χρήστη. Ο νέος αλγόριθμος ονομάζεται Multi-View Deep Neural Network (MV-DNN) και βασίζεται στην ιδέα ότι τα ενδιαφέροντα των χρηστών σε διαφορετικά πεδία μπορούν να συνδυαστούν για να βελτιώσουν την απόδοση του συστήματος συστάσεων σε κάθε πεδίο μεμονωμένα. Τα διανύσματα των χρηστών σχηματίζονται από τα ερωτήματα που έχουν θέσει στη μηχανή αναζήτησης Bing και τις σελίδες στις οποίες έχουν κλικ. Στο άρθρο εξετάζονται τρία πεδία: ειδήσεις, εφαρμογές και ταινίες. Το διάνυσμα των ειδήσεων αποτελείται από άρθρα της σελίδας Bing News στα οποία έχουν κάνει κλικ οι χρήστες. Για κάθε άρθρο χρησιμοποιείται\n42 40 Θεσσαλονίκη Σεπτέμβριος 2015 ο τίτλος, η κατηγορία και τα ονόματα που εμφανίζονται σε αυτό. Το διάνυσμα των εφαρμογών αποτελείται από το ιστορικό των εφαρμογών που έχουν κατεβάσει οι χρήστες από το Windows AppStore. Τα δεδομένα που χρησιμοποιούνται είναι ο τίτλος της εφαρμογής και η κατηγορίας της. Το διάνυσμα των ταινιών σχηματίζεται από ταινίες και τηλεοπτικά προγράμματα που έχουν παρακολουθήσει χρήστες του Xbox. Τα δεδομένα που χρησιμοποιούνται είναι ο τίτλος, η περιγραφή και το είδος κάθε ταινίας. Στα πειράματα που έγιναν η προτεινόμενη μέθοδος συγκρίθηκε με κλασσικές μεθόδους συνεργατικού φιλτραρίσματος καθώς και με δύο state of the art μεθόδους: Canonical Correlation Analysis (CCA) [THO05] και Collaborative Topic Regression (CTR) [WAN11]. Επιπλέον, χρησιμοποιήθηκε και ο αλγόριθμος DNN, χρησιμοποιώντας τα δεδομένα ενός μόνο πεδίου. Τα αποτελέσματα αξιολογήθηκαν ως προς την κατάταξη των προτεινόμενων αντικειμένων με χρήση των μέτρων Mean Reciprocal Rank (MRR) και Από τα πειράματα που έγιναν παρατηρήθηκε ότι η χρησιμοποίηση των δεδομένων που σχετίζονται με ειδήσεις και εφαρμογές έχει ως αποτέλεσμα να προτείνονται καλύτερα αντικείμενα και στα δύο πεδία. Η προσθήκη δεδομένων που σχετίζονται με ταινίες βελτιώνει ακόμα περισσότερο τα αποτελέσματα. Φαίνεται, επομένως, ότι η αξιοποίηση δεδομένων διαφορετικών πεδίων μπορεί να βελτιώσει το σύστημα συστάσεων κάθε πεδίου. Επιπλέον, η προτεινόμενη μέθοδος αξιολογήθηκε και για νέους χρήστες, για τους οποίους δεν υπάρχουν διαθέσιμα δεδομένα, παρέχοντας πολύ καλύτερα αποτελέσματα από τις υπόλοιπες μεθόδους [ELK15] Σύσταση βασισμένη στην τοποθεσία και τις προτιμήσεις των χρηστών Location-based and Preference-Aware Recommendation Using Sparse Geo-Social Networking Data Η τοποθεσία είναι ένα από τα πιο σημαντικά χαρακτηριστικά στη δημιουργία του προφίλ ενός χρήστη καθώς βοηθάει όχι μόνο στην ανάλυση της συμπεριφοράς του αλλά και στον προσδιορισμό των δραστηριοτήτων του. Για παράδειγμα, κάποιος που επισκέπτεται συχνά ένα γυμναστήριο θα ενδιαφέρεται για τη φυσική του κατάσταση, ενώ άτομα που επισκέπτονται το ίδιο εστιατόριο μπορεί να έχουν τις ίδιες προτιμήσεις. Τα συστήματα συστάσεων που προτείνουν μέρη (π.χ. εστιατόρια) στους χρήστες αξιοποιούν τρεις βασικές πληροφορίες: τις προτιμήσεις των χρηστών, την τρέχουσα τοποθεσία τους και τις απόψεις άλλων χρηστών για τα συγκεκριμένα μέρη. Στο άρθρο προτείνεται ένα σύστημα που μπορεί να χρησιμοποιηθεί από μέσα κοινωνικής δικτύωσης που βασίζονται στην τοποθεσία (location-based social networks) όπως είναι το Foursquare 5 και το GeoLife 6, για να προτείνουν μέρη που θα ενδιέφεραν του χρήστες. Το σύστημα αποτελείται από δύο βασικά μέρη: τη μοντελοποίηση, η οποία γίνεται offline και την παροχή συστάσεων, η οποία γίνεται online. Ξεκινώντας απ το πρώτο μέρος, συλλέγεται αρχικά το ιστορικό των τοποθεσιών που έχει επισκεφτεί ο χρήστης το οποίο διαχωρίζεται ανά πόλη και ανά κατηγορία. Οι κατηγορίες που επελέγησαν σχηματίζουν ένα δέντρο ανάλογα με το επίπεδο εξειδίκευσης κάθε κατηγορίας. Έτσι, στη ρίζα του δέντρου μπορεί να βρίσκονται γενικές κατηγορίες όπως «φαγητό» και «πανεπιστήμιο» ενώ στα 5 https://foursquare.com/ 6\n43 Παπαγγέλου Κων/νος ΤΗΜΜΥ ΑΠΘ 41 φύλλα του συναντάμε όλο και πιο εξειδικευμένες κατηγορίες όπως «ιταλικό φαγητό» και «πίτσα». Κάθε πόλη αναπαρίσταται από πίνακες (αν έχουμε κατηγορίες) όπου οι τιμές των πινάκων αντιστοιχούν στον αριθμό επισκέψεων του χρήστη σε κάθε μέρος που σχετίζεται με την αντίστοιχη κατηγορία. Στη συνέχεια εφαρμόζεται ο αλγόριθμος HITS (Hypertext Induced Topic Search) για να βρεθεί το επίπεδο γνώσης κάθε χρήστη για κάθε μία από τις κατηγορίες. Οι χρήστες βαθμολογούνται ανάλογα με τις γνώσεις τους και οι τοποθεσίες ανάλογα με το πόσο ενδιαφέρουσες είναι. Το σκορ ενός χρήστη προκύπτει από το άθροισμα των βαθμολογιών των τοποθεσιών που έχει επισκεφτεί. Όμοια, το σκορ μιας τοποθεσίας υπολογίζεται από το άθροισμα των βαθμολογιών των χρηστών που την έχουν επισκεφτεί. Χρησιμοποιώντας μια επαναληπτική διαδικασία οι βαθμολογίες ανανεώνονται έως ότου ο αλγόριθμος συγκλίνει, οπότε οι χρήστες με τις μεγαλύτερες βαθμολογίες για κάθε κατηγορία θα επιλέγουν ως οι ειδικοί για την αντίστοιχη κατηγορία. Κάθε χρήστης αναπαρίσταται από ένα δέντρο, όπου κάθε κόμβος αντιστοιχεί σε μία κατηγορία και λαμβάνει μία τιμή, που αποτελεί τον αριθμό επισκέψεων του χρήστη σε μέρη αυτής της κατηγορίας. Τέλος, για κάθε κόμβο υπολογίζεται ένα TF-IDF βάρος, όπου το ιστορικό τοποθεσιών του χρήστη λαμβάνεται ως το κείμενο και οι κατηγορίες ως οι λέξεις του κειμένου. Το δεύτερο τμήμα του συστήματος είναι υπεύθυνο για την εύρεση ενός αριθμού περιοχών που θα ενδιέφεραν τον χρήστη. Αρχικά εντοπίζονται τα μέρη που βρίσκονται εντός ενός εύρους (το οποίο καθορίζεται από το χρήστη) και οι χρήστες που τα έχουν επισκεφτεί. Στη συνέχεια διανύεται το δέντρο που αντιστοιχεί στο χρήστη από το τέλος προς την κορυφή, έως ότου βρεθούν αρκετά διαθέσιμα μέρη τα οποία μπορούν να προταθούν. Από κάθε επίπεδο του δέντρου θα επιλεγεί ο κόμβος (κατηγορία) η οποία έχει τη χαμηλότερη τιμή και ένας αριθμός κορυφαίων ειδικών πάνω στην αντίστοιχη κατηγορία. Τα μέρη που έχουν επισκεφτεί οι ειδικοί θα συμπεριληφθούν στις προτάσεις που θα γίνουν στο χρήστη. Σε αυτό το στάδιο έχει υπολογιστεί ένα σύνολο ειδικών και τα μέρη που έχουν επισκεφτεί. Στο τελικό στάδιο υπολογίζεται ένα σκορ ομοιότητας μεταξύ των δέντρων του χρήστη και των ειδικών. Το σκορ ομοιότητας χρησιμοποιείται από έναν αλγόριθμο συνεργατικού φιλτραρίσματος, ο οποίος επιχειρεί να προβλέψει τη βαθμολογία που θα έδινε ο χρήστης στα μέρη που δεν έχει επισκεφτεί (ως βαθμολογία ορίζεται ο αριθμός των επισκέψεων). Συγκεκριμένα η βαθμολογία υπολογίζεται από τη σχέση: (Εξ. 28) όπου είναι το σύνολο των ειδικών, το σύνολο των περιοχών που έχουν επισκεφτεί, η ομοιότητα μεταξύ δύο χρηστών και είναι ο αριθμός επισκέψεων του χρήστη στο μέρος. Τέλος, τα μέρη με τις μεγαλύτερες βαθμολογίες θα προταθούν στο χρήστη. Για τον έλεγχο του προτεινόμενου συστήματος χρησιμοποιήθηκαν δεδομένα περίπου 80,000 χρηστών του Foursquare. Τα δεδομένα διαχωρίστηκαν σε ένα σετ εκπαίδευσης και ένα για έλεγχο. Αξιολογήθηκε τόσο η απόδοση του συστήματος όσο και η ακρίβεια που έχει στο να προτείνει τα μέρη με την υψηλότερη βαθμολογία. Το προτεινόμενο σύστημα συγκρίθηκε με ένα που δεν χρησιμοποιεί τις απόψεις χρηστών που επισκέφτηκαν την\n44 42 Θεσσαλονίκη Σεπτέμβριος 2015 εκάστοτε περιοχή, μία κλασσική μέθοδο συνεργατικού φιλτραρίσματος που χρησιμοποιεί μόνο τις απόψεις των χρηστών και μία επέκταση της δεύτερης μεθόδου που λαμβάνει υπόψη της και τις κατηγορίες των περιοχών (όχι όμως και την ιεραρχία τους). Το προτεινόμενο σύστημα υπερτερεί σημαντικά έναντι των υπολοίπων ως προς τα μέτρα precision και recall, ενώ αποδεικνύεται και αρκετά αποδοτικό καθώς μπορεί να προτείνει 10 μέρη σε εύρος 10 μιλίων σε χρόνο 60ms [BAO12].\n45 Παπαγγέλου Κων/νος ΤΗΜΜΥ ΑΠΘ Μέθοδος δημιουργίας προφίλ Όπως έχει αναφερθεί σκοπός της διπλωματικής είναι η ανάλυση της συμπεριφοράς των χρηστών και η τοποθέτησή τους σε ομάδες ανάλογα με τα ενδιαφέροντά τους. Θεωρούμε ότι κάθε χρήστης χαρακτηρίζεται από ένα σύνολο προφίλ, τα οποία αντιπροσωπεύουν τις γνώσεις του χρήστη για διάφορες πτυχές του πεδίου που μελετάμε. Τα προφίλ αποτελούνται από τρία τμήματα που καθορίζουν πλήρως το αντικείμενο του πεδίου και το επίπεδο γνώσης του αντικειμένου. Συγκεκριμένα, κάθε προφίλ χαρακτηρίζεται από τα εξής επιμέρους τμήματα: 1. Το γενικό θέμα (domain). Παραδείγματα τέτοιων θεμάτων είναι η μουσική, ο αθλητισμός και η επιστήμη. 2. Κάθε θέμα μπορεί να διασπαστεί σε ένα σύνολο υποθεμάτων (sub-domains), η ένωση των οποίων καλύπτει όλες τις πτυχές του γενικού θέματος. Το δεύτερο τμήμα του προφίλ αποτελείται από το όνομα ενός υποθέματος. Για παράδειγμα η μουσική μπορεί να διαχωριστεί στα είδη μουσικής που υπάρχουν (ροκ, τζαζ κτλ.), ο αθλητισμός στα διαφορετικά αθλήματα (ποδόσφαιρο, μπάσκετ κτλ.) και η επιστήμη στα επιστημονικά πεδία (φυσική, μαθηματικά κτλ.). 3. Το τρίτο τμήμα αποτελεί το επίπεδο γνώσης του υποθέματος. Μπορούμε να ορίσουμε οποιοδήποτε αριθμό επιπέδων ανάλογα με τη λεπτομέρεια της ανάλυσης που επιθυμούμε να επιτύχουμε. Το πρώτο βήμα της μεθόδου είναι ο καθορισμός ενός πεδίου και ο σχηματισμός των προφίλ. Στη συνέχεια συλλέγουμε σελίδες, που σχετίζονται με κάθε προφίλ, χρησιμοποιώντας το Search API κάποιας μηχανής αναζήτησης. Επιπλέον, συλλέγουμε και σελίδες, οι οποίες σχετίζονται με το πεδίο αλλά είναι αρκετά γενικές και δεν σχετίζονται άμεσα με κάποιο προφίλ. Πραγματοποιούμε θεματική ανάλυση των σελίδων του γενικού πεδίου, καθώς και των σελίδων των προφίλ χρησιμοποιώντας τον αλγόριθμο LDA. Από τα θέματα που θα προκύψουν θα επιλέξουμε έναν αριθμό κορυφαίων θεμάτων (top topics) και από αυτά θα κρατήσουμε έναν αριθμό κορυφαίων λέξεων (top words). Τελικά, θα προκύψει ένα διάνυσμα λέξεων (word vector) τόσο για το γενικό πεδίο όσο και για κάθε προφίλ. Τα διανύσματα λέξεων των προφίλ θα περάσουν από ένα στάδιο μετεπεξεργασίας, αφαιρώντας τις λέξεις που εμφανίζονται στο διάνυσμα λέξεων του γενικού πεδίου. Με αυτό τον τρόπο αφαιρούνται λέξεις που είναι αρκετά γενικές και δεν αποτελούν χαρακτηριστικό του εκάστοτε προφίλ. Μετά την ολοκλήρωση των παραπάνω βημάτων θα έχουμε ένα διάνυσμα λέξεων για κάθε προφίλ, το οποίο περιέχει λέξεις που το χαρακτηρίζουν. Η Εικόνα 1 παρουσιάζει σχηματικά την λογική που περιγράφηκε. Ανά τακτά χρονικά διαστήματα θα λαμβάνεται το ιστορικό περιήγησης του χρήστη, το οποίο θα αναλύεται προκειμένου να εντοπιστούν τα ενδιαφέροντά του. Για κάθε σελίδα του ιστορικού υπολογίζεται ένα σκορ ως προς κάθε προφίλ, χρησιμοποιώντας τα διανύσματα λέξεων. Με αυτό τον τρόπο μπορούμε να δούμε ποια προφίλ αντιπροσωπεύουν το χρήστη για την περίοδο που μελετάμε. Αυτή η ανάλυση μας δείχνει τί ενδιέφερε το χρήστη το διάστημα που πέρασε, μία πληροφορία την οποία στη συνέχεια μπορούμε να εκμεταλλευτούμε σε πληθώρα εφαρμογών.\n46 44 Θεσσαλονίκη Σεπτέμβριος 2015 Γενικό Πεδίο ερώτημα 1 ερώτημα 2 ερώτημα 3... API Μηχανής Αναζήτησης Αποτελέσματα Μηχανής Αναζήτησης Επεξεργασία Σελίδων LDA Επιλογή kg Κορυφαίων Θεμάτων Επιλογή ng Λέξεων/Θέμα Σχηματισμός Διανύσματος Λέξεων Γενικού Πεδίου Προφίλ 1 ερώτημα 1 ερώτημα 2 ερώτημα 3... API Μηχανής Αναζήτησης Αποτελέσματα Μηχανής Αναζήτησης Επεξεργασία Σελίδων LDA Επιλογή k1 Κορυφαίων Θεμάτων Επιλογή n1 Λέξεων/Θέμα Σχηματισμός Διανύσματος Λέξεων Προφίλ 1 Μετεπεξεργασία Διανύσματος Λέξεων Προφίλ 1 Τελικό Διάνυσμα Λέξεων Προφίλ 1 Προφίλ N ερώτημα 1 ερώτημα 2 ερώτημα 3... API Μηχανής Αναζήτησης Αποτελέσματα Μηχανής Αναζήτησης Επεξεργασία Σελίδων LDA Επιλογή kν Κορυφαίων Θεμάτων Επιλογή nν Λέξεων/Θέμα Σχηματισμός Διανύσματος Λέξεων Προφίλ N Μετεπεξεργασία Διανύσματος Λέξεων Προφίλ N Τελικό Διάνυσμα Λέξεων Προφίλ N Εικόνα 1. Στιγμιότυπο της προτεινόμενης μεθόδου. Ας δούμε τα παραπάνω εξετάζοντας ένα απλό σενάριο. Έστω ότι έχουμε τα πεδία "μουσική" και "αθλητισμός". Σε αυτή την περίπτωση τα προφίλ μπορούν να αντιπροσωπεύουν είδη μουσικής και αθλήματα. Επιπλέον, για κάθε είδος μπορούμε να σχηματίσουμε ένα πλήθος προφίλ ανάλογα με το γνωστικό επίπεδο των χρηστών πάνω σε αυτό το είδος. Μπορούμε, για παράδειγμα, να ορίσουμε ότι ένας χρήστης γνωρίζει ένα είδος καλά, μέτρια ή καθόλου, δημιουργώντας τα αντίστοιχα προφίλ. Τα διανύσματα λέξεων σχηματίζονται θέτοντας κατάλληλα ερωτήματα σε μία μηχανή αναζήτησης και αναλύοντας τα αποτελέσματα με χρήση του αλγορίθμου LDA. Η δημιουργία των διανυσμάτων θα γίνει μία φορά, ενώ ανά τακτά χρονικά διαστήματα, αυτά μπορούν να εμπλουτίζονται αναλύοντας περισσότερες σελίδες. Το σύστημα λαμβάνει τις σελίδες που επισκέφτηκε ο χρήστης σε κάποιο χρονικό διάστημα, π.χ. σε ένα μήνα. Σε αυτές περιλαμβάνονται σελίδες που σχετίζονται με τη μουσική ή τον αθλητισμό, αλλά και άλλες σελίδες που δεν έχουν σχέση με αυτά τα πεδία. Για κάθε σελίδα υπολογίζεται ένα σκορ ως προς κάθε προφίλ. Έστω ότι μετά από ανάλυση των αποτελεσμάτων, βλέπουμε ότι ο χρήστης επισκέφτηκε πολλές σελίδες που σχετίζονται με ροκ μουσική και οι οποίες έχουν αρκετά γενικό περιεχόμενο, ενώ έχει επισκεφτεί και σελίδες που σχετίζονται με το ποδόσφαιρο, οι οποίες είναι αρκετά εξειδικευμένες. Μπορούμε να συμπεράνουμε, καταρχήν, ότι τον τελευταίο μήνα ο χρήστης ασχολήθηκε με μουσική και αθλητισμό και πιο\n47 Παπαγγέλου Κων/νος ΤΗΜΜΥ ΑΠΘ 45 συγκεκριμένα με ροκ και ποδόσφαιρο. Επίσης, βλέπουμε ότι έχει λίγες γνώσεις πάνω στο είδος ροκ, ενώ φαίνεται να ξέρει αρκετά για ποδόσφαιρο. Αυτές οι πληροφορίες θα μπορούσαν στη συνέχεια να αξιοποιηθούν, για παράδειγμα από κάποια μηχανή αναζήτησης, προκειμένου να παρέχει στο χρήστη καλύτερα αποτελέσματα. Στη συνέχεια περιγράφονται λεπτομερώς τα βήματα της διαδικασίας Συλλογή σελίδων Για τον καθορισμό των προφίλ απαιτείται ο ορισμός κατάλληλων ερωτημάτων. Αυτά μπορούν να προκύψουν από πρότυπα που έχουμε ορίσει εκ των προτέρων. Ένα παράδειγμα δίνεται στην Εικόνα 2. Εδώ θεωρούμε ότι έχουμε τα πεδία "μουσική" και "αθλητισμός". Τα προφίλ θα αντιστοιχούν σε είδη μουσικής και αθλήματα αντίστοιχα. Στην εικόνα φαίνεται μία μέθοδος ορισμού ερωτημάτων για τη δημιουργία τριών επιπέδων εξειδίκευσης για κάθε προφίλ. Όπως φαίνεται καθώς προχωράμε προς τα κάτω τα ερωτήματα αποτελούν εξειδίκευση του προηγούμενου επιπέδου. ΑΘΛΗΤΙΣΜΟΣ ΜΟΥΣΙΚΗ κανόνες του αθλήματος δημοφιλείς διοργανώσεις υποείδη ενός είδους μουσικής δημοφιλείς καλλιτέχνες δημοφιλείς αθλητές δημοφιλή άλμπουμ Εικόνα 2. Παράδειγμα δημιουργίας ερωτημάτων για τον ορισμό των προφίλ. Τα προφίλ αντιστοιχούν σε αθλήματα και είδη μουσικής. Αφού επιλέξουμε ένα πεδίο που μας ενδιαφέρει καθώς και τα προφίλ που επιθυμούμε, θα πρέπει να συλλέξουμε σχετικές σελίδες από κάποια μηχανή αναζήτησης. Για το σκοπό αυτό θα πρέπει να χρησιμοποιηθεί ένας Web Crawler, ο οποίος θα συλλέξει τα αποτελέσματα. Στα πλαίσια της διπλωματικής χρησιμοποιείται ο SWebRank 7. Ο SWebRank επιτρέπει την συλλογή αποτελεσμάτων από γνωστές μηχανές αναζήτησης (Google, Bing, Yahoo) ενώ παράλληλα μπορεί να πραγματοποιήσει και σημασιολογική ανάλυση των σελίδων. Οι λεπτομέρειες της υλοποίησης ξεφεύγουν από τα πλαίσια της διπλωματικής, ωστόσο ο ενδιαφερόμενος μπορεί να δει τα βασικά σημεία στο [MAV14]. Εκτός από τα ερωτήματα, βάσει των οποίων θα δημιουργηθούν τα προφίλ, επιλέγουμε και ορισμένα γενικά ερωτήματα που σχετίζονται με το αντίστοιχο πεδίο. Πρόκειται για ερωτήματα τα οποία δεν αναφέρονται σε κάποιο συγκεκριμένο προφίλ. Στόχος είναι η δημιουργία ενός λεξιλογίου, το οποίο θα περιέχει γενικούς όρους, σχετικούς με το πεδίο που μελετάμε. Για τη δημιουργία αυτού του λεξιλογίου ακολουθείται η ίδια μέθοδος που χρησιμοποιείται και για τη δημιουργία των προφίλ. 7\n48 46 Θεσσαλονίκη Σεπτέμβριος Επεξεργασία σελίδων Προκειμένου να εφαρμόσουμε τον αλγόριθμο LDA σε όσο το δυνατόν πιο αντιπροσωπευτικό περιεχόμενο θα πρέπει να πραγματοποιηθεί μία προεπεξεργασία των σελίδων. Ο αλγόριθμος SWebRank πραγματοποιεί αφαίρεση χαρακτήρων και stop words ενώ επιπλέον οι σελίδες υπόκεινται και σε μία διαδικασία γνωστή στο χώρο της γλωσσολογίας ως λημματοποίηση (lemmatization). Για συντακτικούς και γραμματικούς λόγους, κάθε λέξη μπορεί να συναντάται στο ίδιο κείμενο με διαφορετικές μορφές. Στην περίπτωση των ρημάτων, για παράδειγμα, μπορεί να έχουμε το ίδιο ρήμα με διαφορετικές κλίσεις. Επιπλέον, υπάρχουν λέξεις, οι οποίες μπορεί να γράφονται με διαφορετικό τρόπο αλλά να εκφράζουν την ίδια έννοια. Επομένως, στόχος αυτής της διαδικασίας είναι η αντικατάσταση όλων των παρεμφερών λέξεων από μία λέξη, η οποία αποτελεί τη βάση όλων των παραγώγων της. Στην παρούσα εφαρμογή αυτή η επεξεργασία κρίνεται απαραίτητη, ώστε τα διανύσματα λέξεων που θα προκύψουν να περιέχουν όσο το δυνατόν λιγότερες λέξεις, οι οποίες να αναφέρονται στην ίδια έννοια. Για παράδειγμα, δε θα μας προσέφερε κάτι αν στο διάνυσμα κάποιου προφίλ είχαμε τις λέξεις operating και operation ως δύο διαφορετικές λέξεις. Με τη λημματοποίηση πραγματοποιείται συνάθροιση παρεμφερών λέξεων, ενώ με την αφαίρεση stop words το λεξιλόγιο των σελίδων μειώνεται ακόμα περισσότερο. Επιπλέον, αφαιρούνται λέξεις που συναντώνται με πολύ μεγάλη ή πολύ μικρή συχνότητα στο σύνολο των σελίδων ενός προφίλ. Συγκεκριμένα, αφαιρούνται οι λέξεις που εμφανίζονται σε περισσότερες από το 70% των σελίδων καθώς και λέξεις που εμφανίζονται μόνο σε μία σελίδα. Με αυτό τον τρόπο βελτιώνουμε τα αποτελέσματα του αλγορίθμου LDA καθώς εξασφαλίζουμε ότι τα θέματα που θα προκύψουν θα περιέχουν τις πλέον αντιπροσωπευτικές λέξεις Θεματική ανάλυση σελίδων Το επόμενο βήμα της μεθόδου είναι η εφαρμογή κάποιου πιθανοτικού μοντέλου θεμάτων (probabilistic topic model) στο σύνολο των σελίδων που έχουμε συλλέξει για κάθε πεδίο. Στόχος είναι η εύρεση ενός αριθμού κορυφαίων θεμάτων (top topics) με τα οποία σχετίζονται οι περισσότερες σελίδες. Από αυτά τα θέματα στη συνέχεια θα εξαχθεί ένας αριθμός κορυφαίων λέξεων (top words), ώστε να σχηματιστούν τα διανύσματα λέξεων κάθε πεδίου. Στα πλαίσια της εργασίας χρησιμοποιείται ο αλγόριθμος Latent Dirichlet Allocation (LDA). Στη συνέχεια παρουσιάζεται ο αλγόριθμος LDA, η υλοποίηση που χρησιμοποιήθηκε καθώς και η μέθοδος με την οποία έγινε η επιλογή των κορυφαίων θεμάτων Ο αλγόριθμος LDA Τα πιθανοτικά μοντέλα θεμάτων είναι ένα σύνολο αλγορίθμων που στοχεύουν στην εύρεση της θεματικής δομής ενός μεγάλου συνόλου κειμένων. Με αυτό τον τρόπο μπορούμε να βρούμε γενικά ή πιο εξειδικευμένα θέματα, μπορούμε να δούμε πώς αυτά τα θέματα συνδέονται καθώς και πώς αλλάζουν με το πέρασμα του χρόνου. Έστω, για παράδειγμα, ότι μελετάμε τα αρχεία μιας εφημερίδας. Μπορούμε να βρούμε άρθρα σχετικά με κάποια γενικά θέματα που μας ενδιαφέρουν, όπως άρθρα εξωτερικής πολικής. Μπορούμε να ψάξουμε για κάποια πιο ειδικά θέματα όπως η εξωτερική πολιτική των ΗΠΑ. Επιπλέον,\n49 Παπαγγέλου Κων/νος ΤΗΜΜΥ ΑΠΘ 47 μπορούμε να δούμε πώς ένα θέμα (π.χ. οι σχέσεις ΗΠΑ-Κούβας) αλλάζει με το χρόνο ελέγχοντας τα άρθρα των τελευταίων ετών που σχετίζονται με αυτό το θέμα. Τα τελευταία χρόνια αυτά τα μοντέλα έχουν βρει εφαρμογή και στην ανάλυση άλλων τύπων δεδομένων, όπως εικόνες και αρχεία μουσικής. Ο απλούστερος αλγόριθμος είναι ο LDA [BLE03] και βασίζεται στην ιδέα ότι τα κείμενα εμφανίζουν έναν αριθμό θεμάτων. Κάθε θέμα ορίζεται ως μία κατανομή σε ένα λεξιλόγιο. Για παράδειγμα αν το θέμα είναι "εξωτερική πολιτική", θα περιμέναμε λέξεις όπως "εμπάργκο" ή "διπλωματία" να έχουν υψηλή πιθανότητα. Στην πράξη θεωρείται ότι γνωρίζουμε τα θέματα πριν προχωρήσουμε στη συγγραφή ενός κειμένου. Για κάθε κείμενο, παράγουμε τις λέξεις που θα το συνθέσουν ακολουθώντας την εξής διαδικασία: 1. Επιλέγουμε τυχαία μία κατανομή θεμάτων. 2. Για κάθε λέξη του κειμένου (α) Επιλέγουμε τυχαία ένα θέμα από την κατανομή του βήματος 1. (β) Διαλέγουμε τυχαία μία λέξη από την κατανομή των λέξεων στο θέμα που επιλέξαμε. Ο αλγόριθμος LDA εμπίπτει στην κατηγορία των παραγωγικών μοντέλων. Σύμφωνα με αυτά τα μοντέλα, τα δεδομένα έχουν προέλθει από μία παραγωγική διαδικασία η οποία περιλαμβάνει κρυφές μεταβλητές. Αυτή η διαδικασία ορίζει μία από κοινού κατανομή πιθανότητας που περιλαμβάνει τόσο τις παρατηρούμενες όσο και τις μη παρατηρούμενες μεταβλητές. Χρησιμοποιώντας αυτή την κατανομή θέλουμε να εξάγουμε την κατανομή των κρυφών μεταβλητών, δοσμένων των παρατηρούμενων μεταβλητών. Στα πλαίσια της ανάλυσης κειμένων, οι παρατηρούμενες μεταβλητές είναι οι λέξεις των κειμένων και οι κρυφές μεταβλητές είναι τα θέματα. Το βασικό υπολογιστικό πρόβλημα που καλούμαστε να λύσουμε είναι η χρησιμοποίηση των παρατηρούμενων κειμένων για την εύρεση των κρυφών θεμάτων. Θα πρέπει, συνεπώς, να αντιστρέψουμε την διαδικασία με την οποία έχουμε υποθέσει ότι παράγεται ένα κείμενο. Προκείμενου, να περιγράψουμε μαθηματικά τα παραπάνω θα πρέπει να εισαχθούν κάποιοι συμβολισμοί. Θεωρούμε ότι υπάρχουν θέματα τα οποία συμβολίζονται ως, όπου είναι μία κατανομή ορισμένη στο λεξιλόγιο. Τα θέματα ενός κειμένου ορίζονται ως, ενώ είναι η αναλογία του θέματος στο κείμενο. Τα θέματα που έχουν ανατεθεί στο κείμενο συμβολίζονται ως ενώ με συμβολίζεται το θέμα που έχει ανατεθεί στη λέξη του κειμένου. Οι παρατηρούμενες λέξεις του κειμένου συμβολίζονται ως, ενώ είναι η -οστή λέξη του κειμένου. Χρησιμοποιώντας αυτό το συμβολισμό, η παραγωγική διαδικασία του αλγορίθμου LDA εκφράζεται από την κατανομή: (Εξ. 29) Στο [BLE03] εισάγεται μία a priori Dirichlet κατανομή στη μεταβλητή, ενώ στο [GRI02] εισάγεται μία a priori συμμετρική Dirichlet κατανομή και στη. Η κατανομή Dirichlet είναι\n50 48 Θεσσαλονίκη Σεπτέμβριος 2015 συζυγής της πολυωνυμικής κατανομής και διευκολύνει σημαντικά τη διαδικασία της εκτίμησης των παραμέτρων. Η μη συμμετρική Dirichlet κατανομή ορισμένη στο σύνολο θεμάτων, δίνεται από τη σχέση: (Εξ. 30) Συχνά, για λόγους ευκολίας επιλέγεται μία συμμετρική κατανομή για την οποία ισχύει = = = =. Ομοίως ορίζεται και η a priori κατανομή για το, όπου αν θεωρήσουμε ότι η παράμετρος της κατανομής είναι, προκύπτει το γραφικό μοντέλο που δίνεται στην Εικόνα 3. α Θ (d) z β Φ (z) K w N d D Εικόνα 3. Το γραφικό μοντέλο του αλγορίθμου LDA. Το εσωτερικό πλαίσιο, που περιλαμβάνει τα και, εκφράζει την επαναληπτική επιλογή θεμάτων και λέξεων μέχρις ότου αποκτήσουμε τις λέξεις του κειμένου. Το πλαίσιο που περικλείει το εκφράζει την επιλογή μίας κατανομής θεμάτων για κάθε κείμενο του συνόλου. Το πλαίσιο που περιέχει το εκφράζει την επαναληπτική επιλογή κατανομών λέξεων για κάθε θέμα μέχρις ότου συμπληρωθούν θέματα Εύρεση θεμάτων με χρήση του αλγορίθμου Gibbs Sampling Όπως αναφέρθηκε στόχος είναι η εύρεση της a posteriori κατανομής των θεμάτων, δοσμένων των σελίδων. Χρησιμοποιώντας τον παραπάνω συμβολισμό, η a posteriori πιθανότητα είναι: (Εξ. 31) Ο αριθμητής είναι η από κοινού κατανομή των παρατηρούμενων και μη παρατηρούμενων μεταβλητών που δόθηκε παραπάνω και μπορεί να υπολογιστεί εύκολα. Ο παρονομαστής περιλαμβάνει όρους, όπου είναι ο συνολικός αριθμός λέξεων στο σύνολο των σελίδων, και συνεπώς ο υπολογισμός του είναι πρακτικά αδύνατος. Οι αλγόριθμοι που χρησιμοποιούνται λαμβάνουν μία εκτίμηση της (Εξ. 31), αντί της πραγματικής κατανομής, και εμπίπτουν σε δύο βασικές κατηγορίες: αλγόριθμοι δειγματοληψίας (sampling-based\n51 Παπαγγέλου Κων/νος ΤΗΜΜΥ ΑΠΘ 49 algorithms) και αλγόριθμοι παραλλαγής (variational algorithms). Στα πλαίσια της εργασίας, χρησιμοποιήθηκε ο αλγόριθμος Gibbs Sampling, ο οποίος εμπίπτει στην πρώτη κατηγορία. Ο αλγόριθμος Gibbs Sampling χρησιμοποιεί κάθε λέξη του συνόλου των κειμένων, με τη σειρά, και υπολογίζει την πιθανότητα ανάθεσης της τρέχουσας λέξης σε κάθε θέμα, λαμβάνοντας υπόψη τις αναθέσεις των υπόλοιπων λέξεων. Από αυτή την κατανομή επιλέγεται ένα θέμα, το οποίο θεωρείται ότι αποτελεί το νέο θέμα με το οποίο σχετίζεται η τρέχουσα λέξη. Επιθυμούμε, επομένως, να υπολογίσουμε την πιθανότητα, (Εξ. 32) όπου το εκφράζει την ανάθεση της λέξης στο θέμα και είναι οι αναθέσεις όλων των υπόλοιπων λέξεων. Ο πρώτος όρος δίνεται από τη σχέση: (Εξ. 33) Επίσης, ισχύει, (Εξ. 34) όπου ο όρος εκφράζει πόσες φορές η λέξη έχει τοποθετηθεί στο θέμα, χωρίς να λαμβάνεται υπόψη η τρέχουσα λέξη. H αναμενόμενη τιμή μιας κατανομής είναι ίση με. Επομένως η (Εξ. 33) θα γίνει: (Εξ. 35) όπου ο όρος είναι ο συνολικός αριθμός των λέξεων που έχουν τοποθετηθεί στο θέμα και είναι το μέγεθος του λεξιλογίου. Ο δεύτερος όρος της (Εξ. 32) μπορεί να γραφεί: (Εξ. 36) Επιπλέον, ισχύει, (Εξ. 37) όπου είναι ο αριθμός των λέξεων του κειμένου που έχουν τοποθετηθεί στο θέμα, χωρίς να λαμβάνεται υπόψη το τρέχον κείμενο. Η (Εξ. 36) θα γίνει: (Εξ. 38)\n52 50 Θεσσαλονίκη Σεπτέμβριος 2015 όπου είναι ο συνολικός αριθμός των λέξεων στο κείμενο και είναι ο συνολικός αριθμός θεμάτων. Τελικά, συνδυάζοντας τα παραπάνω αποτελέσματα από την (Εξ. 32) θα έχουμε: (Εξ. 39) Από τα παραπάνω φαίνεται ότι μία λέξη θα έχει υψηλή πιθανότητα να τοποθετηθεί στο θέμα, εφόσον έχει τοποθετηθεί πολλές φορές σε αυτό το θέμα στο παρελθόν. Παρόμοια, αν ένα θέμα έχει χρησιμοποιηθεί πολλές φορές σε ένα κείμενο, θα αυξηθεί η πιθανότητα των λέξεων του κειμένου να τοποθετηθούν σε αυτό το θέμα. Επομένως, μία λέξη θα τοποθετηθεί σε ένα θέμα ανάλογα με το πόσο πιθανή είναι η λέξη για το δεδομένο θέμα, καθώς και με το πόσο σημαντικό είναι αυτό στο κείμενο. Οι μεταβλητές αρχικοποιούνται με τιμές απ' το σύνολο. Ο αλγόριθμος εκτελείται για έναν αριθμό επαναλήψεων, ορίζοντας κάθε φορά μια νέα κατάσταση λαμβάνοντας τιμές για τα από την κατανομή της (Εξ. 39). Μετά από έναν αριθμό επαναλήψεων, αρκετών ώστε η κατανομή να συγκλίνει στην επιθυμητή, οι τρέχουσες τιμές των αποθηκεύονται. Έχοντας τις εκτιμήσεις για κάθε λέξη μπορούμε να εκτιμήσουμε τις κατανομές και σύμφωνα με τις σχέσεις: (Εξ. 40) (Εξ. 41) Ερμηνεία των παραμέτρων Ιδιαίτερη σημασία κατά την εφαρμογή του αλγορίθμου LDA έχει η κατάλληλη επιλογή των παραμέτρων και. Μείωση των τιμών και θα έχει ως αποτέλεσμα οι κατανομές και να γίνουν πιο αραιές. Μία πιο αραιή κατανομή για το σημαίνει ότι το μοντέλο προτιμάει να αναθέσει λιγότερες λέξεις σε κάθε θέμα, το οποίο με τη σειρά του μπορεί να επηρεάσει τον αριθμό των θεμάτων που θεωρεί ότι υπάρχουν στα δεδομένα. Σε αυτή την περίπτωση, το μοντέλο θα περιγράφει καλύτερα τα δεδομένα αν λάβουμε μεγαλύτερη τιμή για τον αριθμό των θεμάτων. Στην πράξη, μεγάλη τιμή για το θα έχει ως αποτέλεσμα λίγα, γενικά θέματα, ενώ μία μικρή τιμή θα οδηγήσει σε πολλά, πιθανών πιο ειδικά, θέματα. Ομοίως, μια πιο αραιή κατανομή για το, δηλαδή μικρότερη τιμή για το, σημαίνει ότι το μοντέλο ορίζει λίγα θέματα για κάθε κείμενο. Στην Εικόνα 4 έχουμε δύο κατανομές Dirichlet, όπου όσο πιο σκούρο είναι το χρώμα τόσο μεγαλύτερη είναι η πιθανότητα μιας σελίδας να σχετίζεται με κάποιο θέμα. Βλέπουμε ότι μεγαλύτερη τιμή του θα έχει ως αποτέλεσμα να επιλεγούν και τα τρία θέματα με μεγαλύτερη πιθανότητα. Αν έχουμε <1 τότε η κατανομή θα συγκεντρώνεται στα τρία άκρα και ουσιαστικά θα επιλέγεται μόνο ένα θέμα με μεγάλη πιθανότητα.\n53 Παπαγγέλου Κων/νος ΤΗΜΜΥ ΑΠΘ Εικόνα 4. Συμμετρικές κατανομές Dirichlet για τρία θέματα. Αριστερά έχουμε = 2. = 4 ενώ δεξιά Η βιβλιοθήκη JGibbLDA Για την εφαρμογή του αλγορίθμου LDA που περιγράφηκε στις προηγούμενες ενότητες χρησιμοποιήθηκε η βιβλιοθήκη JGibbLDA8. Η βιβλιοθήκη περιλαμβάνει μία υλοποίηση του αλγορίθμου σε Java και χρησιμοποιεί τον αλγόριθμο Gibbs Sampling για τον υπολογισμό των παραμέτρων. Ο αλγόριθμος δέχεται ως είσοδο ένα αρχείο, όπου κάθε γραμμή αντιστοιχεί σε ένα κείμενο, με τις λέξεις του κειμένου να χωρίζονται με κενό διάστημα. Στην πρώτη γραμμή του αρχείου αναφέρεται ο αριθμός των κειμένων, όπως φαίνεται στην Εικόνα 5. [Μ] [document1] [document2] [documentm] Εικόνα 5. Αρχείο εισόδου JGibbLDA. Οι παράμετροι της βιβλιοθήκης είναι αυτές που αναφέρθηκαν στις προηγούμενες παραγράφους και φαίνονται στον παρακάτω πίνακα: Πίνακας 1. Παράμετροι βιβλιοθήκης JGibbLDA. Παράμετρος Αριθμός θεμάτων Παράμετρος α Παράμετρος β Λέξεις ανά θέμα Αριθμός επαναλήψεων Αρχείο δεδομένων εκπαίδευσης Διαδρομή αρχείου δεδομένων εκπαίδευσης Συμβολισμός ntopics (int) alpha (double) beta (double) twords (int) nters (int) dfile (string) dir (string) Πέραν των παραμέτρων του LDA, η βιβλιοθήκη μας επιτρέπει επιπλέον να ορίσουμε τον αριθμό (twords) των πιο πιθανών λέξεων ανά θέμα που θέλουμε να μας επιστρέψει. Η βιβλιοθήκη επιστρέφει τις παραμέτρους του μοντέλου, όλες τις πιθανότητες που υπολογίζονται από τον αλγόριθμο καθώς και την αντιστοιχία λέξεων σε θέματα για όλα τα κείμενα. Οι έξοδοι της βιβλιοθήκης δίνονται στον παρακάτω πίνακα: 8 51\nΜάθηση Λανθανόντων Μοντέλων με Μερικώς Επισημειωμένα Δεδομένα (Learning Aspect Models with Partially Labeled Data) Αναστασία Κριθαρά.\nΜάθηση Λανθανόντων Μοντέλων με Μερικώς Επισημειωμένα Δεδομένα (Learning Aspect Models with Partially Labeled Data) Αναστασία Κριθαρά Xerox Research Centre Europe LIP6 - Université Pierre et Marie Curie