ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΔΙΑΤΜΗΜΑΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ «ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΔΙΟΙΚΗΣΗ» ΤΜΗΜΑΤΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ

Geosocial 2.0 Recommender System A Location-Based

Αντώνιος E. Κρινής

Η διπλωματική αυτή κατατέθηκε στο Τμήμα Πληροφορικής του Αριστοτελείου Πανεπιστημίου Θεσσαλονίκης ως μέρος των απαιτήσεων απόκτησης «Master in Informatics & Management»

Επιβλέπων καθηγητής: Συμεωνίδης Παναγιώτης

Θεσσαλονίκη, Ιανουάριος 2013

2

Κρινής Ε. Αντώνιος

Απόφοιτος τμήματος Οικονομικών Επιστημών, Α.Π.Θ.

Πνευματικά δικαιώματα (c) Κρινής Ε. Αντώνιος Με την επιφύλαξη παντός δικαιώματος

© Η παρούσα διατριβή, αποτελεί ιδιοκτησία του συγγραφέα, ο οποίος έχει το δικαίωμα ανεξάρτητης χρήσης και αναπαραγωγής της (στο σύνολο ή τμηματικά). Το αντίγραφο της διπλωματικής αυτής έχει παρασχεθεί, υπό την προϋπόθεση ότι ο καθένας που το συμβουλεύεται είναι εύλογο να κατανοήσει, ότι η πνευματική ιδιοκτησία ανήκει στον συντάκτη της, η γνώση και οι πληροφορίες που εμπεριέχονται διατίθενται μόνο για ανάγνωση και περαιτέρω μελέτη και, όχι για κερδοσκοπικούς σκοπούς. Οποιαδήποτε αναπαραγωγή, αποθήκευση, διανομή, μερική ή ολική τροποποίηση του εγγράφου καθώς και αντιγραφή του παρόντος κειμένου δεν μπορούν να υφίστανται απουσίας προηγούμενης γραπτής συγκατάθεσης του συγγραφέα ή του επόπτη.

Οι απόψεις και τα συμπεράσματα που περιλαμβάνονται στην εργασία εκφράζουν τον συγγραφέα και επομένως δεν αποτελούν απαραίτητα επίσημη θέση του Αριστοτελείου Πανεπιστημίου Θεσσαλονίκης.

3

Αφιερωμένο στους γονείς μου & στην Ιρίνα Ιβανουσκίνα

4 Περιεχόμενα

Ευρετήριο Σχημάτων & Διαγραμμάτων ...... 9 Ευρετήριο Πινάκων ...... 10 Ευρετήριο Εικόνων ...... 13 Κατάλογος Συντομογραφιών ...... 16 Ευχαριστίες ...... 17 Περίληψη ...... 19 Εισαγωγή ...... 21

1o Κεφάλαιο - Θεωρία 24 1.1 Theory ...... 25 1.1.1 Τύποι Γράφων ...... 25 1.1.2 Μέθοδοι Αναζήτησης ...... 27 1.2 Social Networks ...... 30 1.2.1 Social Graph Theory ...... 30 1.2.2 “People you may know” ...... 31 1.2.3 Preliminaries in Graphs ...... 35 1.2.4 Link Prediction Problem ...... 36 1.2.5 - FOAF ...... 37 1.2.6 Recommender Systems in Social Networks ...... 40 1.2.6.1 Definitions ...... 40 1.2.6.2 Explanation Styles ...... 42 1.3 Location-based Social Networks ...... 44 1.3.1 Definitions ...... 44 1.3.2 Location-based Services (LBS) ...... 46 1.3.3 Context Awareness ...... 47 1.3.4 Recommender Systems in LBSNs ...... 49 1.4 Commercial SNs & LBSNs ...... 50 1.5 Μελέτη ενός υπάρχοντος πρότυπου συστήματος – Geosocial ...... 54 1.5.1 Ανάλυση της ΒΔ του Geosocial ...... 55 1.5.2 Παρουσίαση του Geosocial ...... 57 1.5.3 Αξιολόγηση ...... 63

5 2o Κεφάλαιο - Geosocial beta 2.0 66 2.1 Στόχοι της υπάρχουσας εργασίας ...... 67 2.2 Ανάλυση της ΒΔ του Geosocial2 ...... 68 2.3 Γενικά στατιστικά της ΒΔ ...... 72 2.4 Εύρεση και προσθήκη πληροφορίας στο Geosocial ...... 76 2.4.1 Μέθοδος αναζήτησης και προσθήκης φίλων ...... 76 2.4.1.1 Παλαιά μέθοδος αναζήτησης- Simple Search ...... 76 2.4.1.2 Νέα μέθοδος αναζήτησης - Live Search ...... 77 2.4.2 Μέθοδος εισαγωγής POIs στο Geosocial ...... 79 2.4.2.1 Check-in σε προϋπάρχον σημείο ...... 80 2.4.2.2 Εισαγωγή νέου σημείου στη ΒΔ και ταυτόχρονα Check-in 81 2.5 Αλγόριθμοι ...... 83 2.5.1 Friend Rec – Τύπος συστάσεων φίλων ...... 83 2.5.1.1 Explanation Style A – Κοινοί φίλοι ...... 83 2.5.1.2 Explanation Style Β – Σύσταση φίλων μέσα από μονοπάτια μήκους 3 ...... 84 2.5.2 POI Rec – Τύπος συστάσεων τοποθεσιών με βάση την δραστηριότητα ...... 87 2.5.2.1 Explanation Style A – Με βάση το σύνολο των χρηστών . . 88 2.5.2.2 Explanation Style Β – Με βάση τις προτιμήσεις των φίλων του χρήστη ...... 89 2.5.3 Activity Rec – Τύπος συστάσεων δραστηριοτήτων με βάση την τοποθεσία ...... 90 2.5.3.1 Explanation Style A – Με βάση το σύνολο των χρηστών . . 91 2.5.3.2 Explanation Style Β – Με βάση τις προτιμήσεις των φίλων του χρήστη ...... 92

3o Κεφάλαιο - Μελέτη Χρηστών 94 3.1 Πρωτόκολλο που ακολουθήθηκε στην πειραματική διαδικασία ...... 96 3.1.1 Σχεδιασμός του ερωτηματολογίου – Α/Β Testing Method ...... 96 3.1.2 Πλαίσιο της ανάλυσης ...... 97 3.2 Έλεγχος, επεξεργασία και καθορισμός των δεδομένων ...... 99 3.3 Ανάλυση των δεδομένων ...... 101 3.3.1 Dataset – Α ...... 102

6 3.3.1.1 POI Rec Evaluation ...... 102 3.3.1.2 Activity Rec Evaluation ...... 104 3.3.2 Dataset – Β ...... 106 3.3.2.1 Friend Rec Evaluation Β30 ...... 106 3.3.2.2 Friend Rec Evaluation Β20 ...... 108 3.3.2.3 Friend Rec Evaluation Β10 ...... 110 3.4 Τελικά Συμπεράσματα ...... 112 3.4.1 Dataset – Α ...... 114 3.4.2 Dataset – Β ...... 117

4o Κεφάλαιο - Επίλογος 122 4.1 Περιορισμοί ...... 123 4.1.1 Υλοποίηση του project Geosocial2 ...... 123 4.1.2 Υλοποίηση μελέτης χρηστών ...... 124 4.2 Μελλοντικές ενέργειες & προσθήκες ...... 125 4.2.1 Κώδικας, λειτουργίες & εφαρμογές ...... 125 4.2.2 Διερεύνηση, μελέτη και ανάλυση του Συστήματος Συστάσεων . . . . 129

Τεχνικό Παράρτημα 132

I.Κώδικας 133 1.1 Εισαγωγή ...... 133 1.2 Μεταδεδομένα ...... 135 1.3 Charset UTF-8 ...... 136 1.3.1 Καθορισμός του αρχείου .htaccess στον Apache ...... 136 1.3.2 Καθορισμός της κωδικοποίησης σε διάφορες γλώσσες προγραμματισμού ...... 137 1.4 CSS Styling ...... 139 1.5 Εγγραφή νέου χρήστη ...... 142 1.5.1 Εμφάνιση της φόρμας εγγραφής ...... 142 1.5.2 Εισαγωγή των δεδομένων της φόρμας στη ΒΔ ...... 145 1.6 Κρυπτογράφηση προσωπικού κωδικού με τη μέθοδο Sha1 ...... 146 1.7 Σύστημα επαναπροσδιορισμού του προσωπικού κωδικού ...... 147 1.8 Σχήμα Βάσης Δεδομένων ...... 149

7 1.9 Δεδομένα ...... 151 1.9.1 Εισαγωγή και Αποθήκευση Δεδομένων ...... 151 1.9.2 Κωδικοποίηση Δεδομένων ...... 152 1.10 Συνολικές Αλλαγές & Προσθήκες ...... 153 1.11 Συγκεντρωτικός πίνακας δημιουργίας του dataset-B ...... 158

ΙΙ. Ανάλυση του dataset – C 160

1. Έλεγχος, επεξεργασία και καθορισμός των δεδομένων ...... 161 2. Dataset – C ...... 162 2.1 Friend Rec Evaluation ...... 163 2.2 POI Rec Evaluation ...... 164 2.3 Activity Rec Evaluation ...... 166 2.4 Search methods Evaluation ...... 168 3. Συμπεράσματα ...... 170

ΙΙI. Εγχειρίδιο Χρήσης 174

1. Ελληνικά (El) 175 Ι. Γενικά ...... 175 ΙΙ. Ορισμός / Λέξεις κλειδιά ...... 176 ΙΙΙ. Περιγραφή ...... 176 IV. Σχόλια – Σημαντικές παρατηρήσεις ...... 199 1. Σχόλια ...... 199 2. Οδηγίες χρηστών για την πραγματοποίηση της αξιολόγησης . . . . 200 3. Σημαντικές παρατηρήσεις ...... 204

2. English (En) 205 Ι. Instructions for the user ...... 205 ΙΙ. Important notices ...... 207

Βιβλιογραφία - Αναφορές 209

8 Ευρετήριο Σχημάτων & Διαγραμμάτων

Σχήμα 1. – Planar and Non-Planar Graphs ...... 25 Σχήμα 2. - Undirected Graph ...... 26 Σχήμα 3. - Directed Graph ...... 26 Σχήμα 4. - Multigraph ...... 26 Σχήμα 5. – Simple Graph ...... 27 Σχήμα 6. – Weighted Graph ...... 27 Σχήμα 7. – Γράφος G, ενός κοινωνικού δικτύου ...... 28 Σχήμα 8. – Ένας τυχαίος γράφος ενός κοινωνικού δικτύου ...... 32 Σχήμα 9. – Νέος χρήστης στο κοινωνικό δίκτυο ...... 32 Σχήμα 10. – Αλγόριθμος αναζήτησης DFS σε κοινωνικά δίκτυα ...... 33 Σχήμα 11. - Χρήση της DLS ορίζοντας συγκεκριμένος μήκος- ℓ αναζήτησης . . . 34 Σχήμα 12. – Η αρχιτεκτονική του Συστήματος Συστάσεων Geosocial ...... 55 Σχήμα 13. – Αναπαράσταση της συνδεσιμότητας των πινάκων της ΒΔ του Geosocial ...... 56 Σχήμα 14. – Αναπαράσταση της συνδεσιμότητας των πινάκων της ΒΔ του Geosocial2 ...... 69 Σχήμα 15. – Αναπαράσταση μονοπατιών/συστάσεων μήκους-ℓ=3 ...... 85

Διάγραμμα 1. – Ανάκληση και Ακρίβεια για τους τύπους συστάσεων φιλίας, τοποθεσίας και δραστηριότητας ...... 64 Διάγραμμα 2. – Μέση τιμή και τυπική απόκλιση (±σ) για τον τύπο συστάσεων σημείων ενδιαφέροντος (POI Rec) βάση της δραστηριότητας που επιλέγει κάθε φορά ο χρήστης ...... 115 Διάγραμμα 3. – Μέση τιμή και τυπική απόκλιση (±σ) για τον τύπο συστάσεων δραστηριοτήτων (Activity Rec) με βάση την τοποθεσία που επιλέγει κάθε φορά ο χρήστης ...... 116 Διάγραμμα 4. – Μέση τιμή και τυπική απόκλιση (±σ) για τα επεξηγηματικά στυλ (Α & Β) στον τύπο συστάσεων φιλίας (Friend Rec) για το dataset-B ...... 118

9 Ευρετήριο Πινάκων

Πίνακας 1. – Μήτρα γειτνίασης Α ενός γράφου G ...... 35 Πίνακας 2. – Μήτρα γειτνίασης Α ενός γράφου G υψωμένος στη δύναμη του 2 ...... 35 Πίνακας 3. – Categorization of Explanation Styles ...... 43 Πίνακες 4. και 5. – Συστάσεις φιλίας με βάση τους 2-hops και 3-hops φίλους 59 Πίνακας 6. – Εμφάνιση των σημείων που προτείνονται σε μορφή πίνακα . . . . 62 Πίνακας 7. – Εμφάνιση των αποτελεσμάτων της αναζήτησης ...... 62 Πίνακας 8. – Δυνατότητα αντιστοίχησης διαφορετικών δραστηριοτήτων σ’ ένα POI ...... 71 Πίνακας 9. – Αναπαράσταση του συστήματος rating ...... 72 Πίνακας 10. – Συνολικές εγγραφές στους πίνακες της ΒΔ ...... 73 Πίνακας 11. – Διαχωρισμός των χρηστών με βάση το φύλλο και την ηλιακή τους ομάδα ...... 73 Πίνακας 12. – Συγκεντρωτικός πίνακας σημείων και check-ins ανά πόλη . . . . . 74 Πίνακας 13. – Δημοφιλέστερα σημεία (places) στην Αθήνα ...... 75 Πίνακας 14. – Δημοφιλέστερα σημεία (places) στην Θεσσαλονίκη ...... 75 Πίνακας 15. – Δημοφιλέστερα σημεία (places) στην Χαλκίδα ...... 75 Πίνακας 16. – Εμφάνιση συστάσεων φιλίας με βάση τους κοινούς φίλους . . . . . 84 Πίνακας 17. - Εμφάνιση των μονοπατιών/συστάσεων φιλίας μήκους-?=3 . . . . . 86 Πίνακας 18. – Εμφάνιση των συστάσεων τοποθεσιών με βάση τη δραστηριότητα, στο σύνολο των χρηστών ...... 88 Πίνακας 19. – Εμφάνιση των συστάσεων τοποθεσιών με βάση τη δραστηριότητα, λαμβάνοντας υπόψη μόνο τους φίλους ενός χρήστη ...... 90 Πίνακας 20. – Εμφάνιση των συστάσεων δραστηριοτήτων με βάση την τοποθεσία, στο σύνολο των χρηστών ...... 91 Πίνακας 21. – Εμφάνιση των συστάσεων δραστηριοτήτων με βάση την τοποθεσία, λαμβάνοντας υπόψη μόνο τους φίλους ενός χρήστη . 92 Πίνακας 22. – Συχνοτήτων και Αθροιστικών Συχνοτήτων για POI Rec ...... 102 Πίνακας 23. – Μ.Ο. και Τυπικών Αποκλίσεων ...... 103 Πίνακας 24. – Levene’s Test for Equality of Variances ...... 103

10 Πίνακας 25. – Συχνοτήτων και Αθροιστικών Συχνοτήτων για Activity Rec . . . 104 Πίνακας 26. – Μ.Ο. και Τυπικών Αποκλίσεων ...... 105 Πίνακας 27. – Levene’s Test for Equality of Variances ...... 105 Πίνακας 28. – Συχνοτήτων και Αθροιστικών Συχνοτήτων για Firend Rec - B30 107 Πίνακας 29. – Μ.Ο. και Τυπικών Αποκλίσεων ...... 107 Πίνακας 30. – Levene’s Test for Equality of Variances ...... 107 Πίνακας 31. – Συχνοτήτων και Αθροιστικών Συχνοτήτων για Friend Rec - B20 108 Πίνακας 32. – Μ.Ο. και Τυπικών Αποκλίσεων ...... 109 Πίνακας 33. – Levene’s Test for Equality of Variances ...... 109 Πίνακας 34. – Συχνοτήτων και Αθροιστικών Συχνοτήτων για Friend Rec - B10 110 Πίνακας 35. – Μ.Ο. και Τυπικών Αποκλίσεων ...... 110 Πίνακας 36. – Levene’s Test for Equality of Variances ...... 111 Πίνακας 37. – Σύγκριση αποτελεσμάτων του ελέγχου T-test στο dataset-Α . . . . 114 Πίνακας 38. – Mέση τιμή (μ), τυπική απόκλιση (σ), διαφορά των μέσων (μd) και διαφορά των τυπικών αποκλίσεων (σd) των αξιολογήσεων των explanation styles A & B ...... 114 Πίνακας 39. – Μέση τιμή (μ), τυπική απόκλιση (σ), διαφορά των μέσων (μd) και διαφορά των τυπικών αποκλίσεων (σd), των αξιολογήσεων των explanation styles A & B του τύπου συστάσεων Friend Rec για τις ομάδες Β30, Β20 και Β10 χρηστών με τους περισσότερους φίλους ...... 118 Πίνακας 40. – Συγκεντρωτικός πίνακας μεταβολής των Μ.Ο. για κάθε σύστημα, ανά μέθοδο και ανά dataset ...... 119 Πίνακας 41. – dijnodes ...... 149 Πίνακας 42. – dijpaths ...... 149 Πίνακας 43. – places ...... 149 Πίνακας 44. – checkins ...... 150 Πίνακας 45. – activities ...... 150 Πίνακας 46. – country ...... 150 Πίνακας 47. – cities ...... 150 Πίνακας 48. – ratings ...... 150 Πίνακας 49. – Παρουσίαση των δεδομένων στα οποία στηρίχτηκε η ανάλυση του dataset-Α ...... 158 Πίνακας 50. – Αρχικό dataset πριν τον έλεγχο της βοηθητικής πληροφορίας . . . 161

11 Πίνακας 51. – Τελικό dataset μετά τον έλεγχο της βοηθητικής πληροφορίας . . . 161 Πίνακας 52. – Αρχικό dataset πριν τον έλεγχο της βοηθητικής πληροφορίας . . . 161 Πίνακας 53. – Τελικό dataset μετά τον έλεγχο της βοηθητικής πληροφορίας . . . 162 Πίνακας 54. – Αρχικό dataset πριν τον έλεγχο της βοηθητικής πληροφορίας . . . 162 Πίνακας 55. – Συχνοτήτων και Αθροιστικών Συχνοτήτων για Friend Rec . . . . . 163 Πίνακας 56. – Μ.Ο. και Τυπικών Αποκλίσεων ...... 164 Πίνακας 57. – Levene’s Test for Equality of Variances ...... 164 Πίνακας 58. – Συχνοτήτων και Αθροιστικών Συχνοτήτων για POI Rec ...... 165 Πίνακας 59. – Μ.Ο. και Τυπικών Αποκλίσεων ...... 166 Πίνακας 60. – Levene’s Test for Equality of Variances ...... 166 Πίνακας 61. – Συχνοτήτων και Αθροιστικών Συχνοτήτων για Activity Rec . . . 167 Πίνακας 62. – Μ.Ο. και Τυπικών Αποκλίσεων ...... 167 Πίνακας 63. – Levene’s Test for Equality of Variances ...... 168 Πίνακας 64. – Συχνοτήτων και Αθροιστικών Συχνοτήτων για Search Methods 169 Πίνακας 65. – Μ.Ο. και Τυπικών Αποκλίσεων ...... 170 Πίνακας 66. – Levene’s Test for Equality of Variances ...... 170 Πίνακας 67. – Σύνολο δεδομένων dataset–C ...... 170 Πίνακας 68. – Σύγκριση αποτελεσμάτων ελέγχων T-test για το Dataset-Α . . . . 171 Πίνακας 69. – Μέση τιμή (μ), τυπική απόκλιση (σ) διαφορά των μέσων (μd) και διαφορά των τυπικών αποκλίσεων (σd), σύμφωνα με το πλήθος των χρηστών που τεκμηρίωσαν τις αξιολογήσεις τους . . 172 Πίνακας 70. – Συγκεντρωτικός πίνακας του Dataset-B ...... 106

12 Ευρετήριο Εικόνων

Εικόνα 1. – Log In ...... 57 Εικόνα 2. – Register ...... 57 Εικόνα 3. – Menu ...... 57 Εικόνα 4. – Εμφάνιση των φίλων του χρήστη ...... 58 Εικόνα 5. – Drop down menus για την πραγματοποίηση Check-In ...... 58 Εικόνα 6. – Επιλογή συνδυασμού τοποθεσίας και δραστηριότητας ...... 60 Εικόνα 7. – Εμφάνιση των σημείων που προτείνονται πάνω στο χάρτη ...... 60 Εικόνα 8. – Επιλογή της τοποθεσίας από το χρήστη ...... 61 Εικόνα 9. – Χάρτης συστάσεων σημείων με βάση την τοποθεσία “Thessaloniki” 61 Εικόνα 10. – Μπάρα αναζήτησης χρηστών ...... 62 Εικόνα 11. – Ratings ...... 72 Εικόνα 12. – Απλή μέθοδος αναζήτησης χρηστών (Simple Search) ...... 76 Εικόνα 13. – Live Search Method ...... 77 Εικόνα 14. – Αναζήτηση με βάση τη λέξη κλειδί και στο πεδίο email ...... 79 Εικόνα 15. – Αναζήτηση με βάση των λέξεων κλειδιά μόνο στα πεδία Username και Lastname ...... 79 Εικόνα 16. – Αναζήτηση οποιασδήποτε διεύθυνσης στο χάρτη & κουμπιά εμφάνισης ομαδοποιημένων POIs ...... 80 Εικόνα 17. – Πραγματοποίηση check-in σε προϋπάρχον σημείο ...... 81 Εικόνα 18. – POI ...... 82 Εικόνα 19. – Εισαγωγή νέου σημείου στη ΒΔ και ταυτόχρονη πραγματοποίηση check-in ...... 82 Εικόνα 20. – Επιλογή συνδυασμού τοποθεσίας και δραστηριότητας ...... 87 Εικόνα 21. – Επιλογή της τοποθεσίας από το χρήστη ...... 91 Εικόνα 22. – InfoWindow ...... 92 Εικόνα 23. – Τύπος συστάσεων με βάση την τοποθεσία και τα συνολικά Check-ins ...... 96 Εικόνα 24. – Τύπος συστάσεων με βάση τη δραστηριότητα και τα Check-ins που έχουν γίνει μόνο από τους φίλους του χρήστη ...... 97 Εικόνα 25. – Φόρμα αξιολόγησης ...... 97

13 ΠΑΡΑΡΤΗΜΑ

Εικόνα 26. – evsearch ...... 151 Εικόνα 27. – evfriendrec ...... 151 Εικόνα 28. – evpoirec ...... 151 Εικόνα 29. – evactivity ...... 151 Εικόνα 30. – Simple button ...... 140 Εικόνα 31. – CSS3 button ...... 140 Εικόνα 32. – Εμφάνιση του tag «input» ορίζοντας ως τύπο «date» ...... 142 Εικόνα 33. – Χρήση του tag «abbr» ...... 143 Εικόνα 34. – Φόρμα επαναφοράς χαμένου κωδικού ...... 148 Εικόνα 35. – Φόρμα εισαγωγής νέου κωδικού ...... 148 Εικόνα 36. – Αρχική σελίδα Geosocial2 ...... 177 Εικόνα 37. – Φόρμα εγγραφής νέου χρήστη ...... 177 Εικόνα 38. – Έλεγχος και εμφάνιση των στοιχείων εισαγωγής του νέου χρήστη ...... 178 Εικόνα 39. – Φόρμα επαναφοράς χαμένου κωδικού ...... 178 Εικόνα 40. – Φόρμα εισαγωγής νέου κωδικού ...... 179 Εικόνα 41. – Header menu ...... 179 Εικόνα 42. – Live Search ...... 180 Εικόνα 43. – Αναζήτηση οποιασδήποτε διεύθυνσης στο χάρτη & κουμπιά εμφάνισης ομαδοποιημένων POIs ...... 181 Εικόνα 44. – Pop-up Window πραγματοποίησης Check-In σε προϋπάρχον POI 182 Εικόνα 45. – Εσφαλμένο POI ...... 183 Εικόνα 46. – Pop-up Window εισαγωγής νέου POI στο χάρτη/ΒΔ και ταυτόχρονη πραγματοποίηση Check-In σ’ αυτό ...... 183 Εικόνα 47. – Εμφάνιση συστάσεων φιλίας με βάση τους κοινούς φίλους . . . . . 185 Εικόνα 48. – Εμφάνιση των μονοπατιών/συστάσεων φιλίας μήκους-? =3 . . . . . 186 Εικόνα 49. – Επιλογή συνδυασμού τοποθεσίας και δραστηριότητας ...... 186 Εικόνα 50. – Εμφάνιση των συστάσεων τοποθεσιών με βάση τη δραστηριότητα, στο σύνολο των χρηστών ...... 187 Εικόνα 51. – Εμφάνιση των συστάσεων τοποθεσιών με βάση τη δραστηριότητα, λαμβάνοντας υπόψη μόνο τους φίλους ενός χρήστη ...... 189

14 Εικόνα 52. – Επιλογή της τοποθεσίας από το χρήστη ...... 189 Εικόνα 53. – Εμφάνιση των συστάσεων δραστηριοτήτων με βάση την την τοποθεσία, στο σύνολο των χρηστών ...... 190 Εικόνα 54. – Εμφάνιση των συστάσεων δραστηριοτήτων με βάση την τοποθεσία, λαμβάνοντας υπόψη μόνο τους φίλους ενός χρήστη . . . 191 Εικόνα 55. – InfoWindow ...... 191 Εικόνα 56. – Η καρτέλα Προφίλ ενός χρήστη ...... 192 Εικόνα 57. – Δυνατότητα διαγραφής ενός χρήστη από τη λίστα των φίλων του 193 Εικόνα 58. – Εμφάνιση των τελευταίων 10 Check-ins που έχει πραγματοποιήσει ένας χρήστης ...... 193 Εικόνα 59. – Απλός τρόπος πραγματοποίησης Check-in με τη χρήση drop down menus ...... 194 Εικόνα 60. – Παρουσίαση των Check-ins που έχουν πραγματοποιηθεί από τον ίδιο το χρήστη ...... 195 Εικόνα 61. – Υπηρεσία «Get Directions» ...... 195 Εικόνα 62. – POI Navigator ...... 196 Εικόνα 63. – Αποτελέσματα αναζήτησης χρηστών (Simple Search) ...... 198

15 Κατάλογος Συντομογραφιών

 BFS: Breadth-First Search  BPM: Business Process Management  CF: Collaborative-filtering  CLAR: Collaborative Location-Activity Recommendation  CRS: Conversational Recommender Systems  DBMS: Database Management System  DELAB: Data Engineering Laboratory (Department of Informatics, Aristotle University)  DFS: Depth-First Search  DLS: Depth-Limited Search  FOAF: Friend Of A Friend  GIS: Geographic Information System / Geographical Information Science  GPS: Global Positioning System  HTML: HyperText Markup Language  LBS: Location-based Services  LBSN: Location-based Social Network  OSN: Online Social Network  OWL: Web Ontology Language  POI: Point Of Interest  RDF: Resource Description Framework  RS: Recommender System / Recommendation System  SNS: Social Networking Service  URI: Uniform Resource Identifier  XFN: XHTML Friends Network  XHTML: Extensible HyperText Markup Language

16 Ευχαριστίες

Καθ’ όλη τη διάρκεια ολοκλήρωσης της παρούσας διπλωματικής εργασίας απέκτησα νέες, πολύτιμες γνώσεις και ιδέες σχετικά με τη θεωρία των Κοινωνικών Δικτύων, των Συστημάτων Συστάσεων και της επιστήμης των Υπολογιστών, γενικότερα. Για το λόγο αυτό θα ήθελα να απονείμω τις ευχαριστίες μου σε όλους όσους με βοήθησαν άμεσα ή έμμεσα σ’ αυτή την προσπάθεια. Αρχικά, θα ήθελα να ευχαριστήσω τον καθηγητή μου, κ. Συμεωνίδη Παναγιώτη που μου πρότεινε το εξαιρετικά ενδιαφέρον project «Geosocial - Recommender System, a Location-based Social Network». Η καθοδήγηση, οι παρατηρήσεις και οι συστάσεις του ήταν πολύτιμες για την εκπλήρωση της παρούσας εργασίας. Μου δόθηκε μια σημαντική ευκαιρία να πραγματοποιήσω μια εισαγωγή στον ερευνητικό χώρο των Κοινωνικών Δικτύων και των Συστημάτων Συστάσεων. Θα ήθελα να αποδώσω ιδιαίτερη μνεία στους προκάτοχους του project Geosocial, κ. Παπαδημητρίου Αλέξη (PhD), κ. Συμεωνίδη Παναγιώτη (PhD) και κ. Μανολόπουλου Ιωάννη (PhD), των οποίων η εργασία και επιστημονική μελέτη γύρω από τα συστήματα συστάσεων υπήρξε το εφαλτήριο για συνέχιση της έρευνας στο ίδιο πεδίο και για την ανάπτυξη και εξέλιξη του project αυτού σε μια 2η δοκιμαστική έκδοση από μεριάς μου, υπό την ονομασία «Geosocial 2.0 Recommender System». Θα ήθελα, επίσης, να ευχαριστήσω ιδιαιτέρως τους, κ. Καρατζά Γεώργιο, κ. Βακάλη Νικόλαο και κ. Μοδικό Βασίλειο, για την πολύτιμη συνεισφορά τους μέσα από την υποστήριξη, εκμάθηση και παροχή γνώσεων, χρόνου και ουσίας. Επιπρόσθετα, ευχαριστώ θερμά έναν προς έναν και τους 50 χρήστες, οι οποίοι αφιέρωσαν λίγο από τον προσωπικό τους χρόνο για να αξιολογήσουν τη δουλειά μου και τις υπηρεσίες συστάσεων του Geosocial 2.0. Δίχως τη δική τους συμμετοχή και προσπάθεια, η δοκιμή, η λειτουργία και τέλος, η αξιολόγηση αυτού του πρότυπου Συστήματος Συστάσεων δεν θα μπορούσε να καταστεί δυνατή. Τέλος και με μεγαλύτερη συναισθηματική αξία, θα ήθελα να ευχαριστήσω τους γονείς μου Κρινή Ελευθέριο και Μαστραγγελή Ανδρομάχη, καθώς και ένα πολύ αγαπημένο και πολύ κοντινό μου άνθρωπο, την Ιρίνα Ιβανουσκίνα, οι οποίοι μου στάθηκαν άνευ όρων, με αμέριστη εμπιστοσύνη και υποστήριξη για οτιδήποτε επέλεξα να κάνω κατά τη διάρκεια των δύο (2) χρόνων που διήρκησαν οι μεταπτυχιακές μου σπουδές.

17

18 Περίληψη

Το παρόν έργο αποτελεί μια προσπάθεια γεφύρωσης της ξένης βιβλιογραφίας και των ελληνικών ερευνητικών προσπαθειών γύρω από τα κοινωνικά δίκτυα. Ωστόσο, δεν θα λιμνάσει μονάχα σε βιβλιογραφικό περιεχόμενο. Γι’ αυτό το λόγο θα γίνει η παρουσίαση, ανάλυση και αξιολόγηση ενός πρότυπου ελληνικού Συστήματος Συστάσεων (Geosocial 2.0 Recommender System), το οποίο κάνει χρήση location- based υπηρεσιών. Στόχος του 1ου κεφαλαίου είναι να εισάγει τον αναγνώστη στις βασικές έννοιες της θεωρίας των γράφων, του κοινωνικού γράφου και του προβλήματος της συνδεσιμότητας στα κοινωνικά δίκτυα, τα συστήματα συστάσεων και ποιοι αλγόριθμοι το επιτυγχάνουν αυτό, τη νέα μορφή κοινωνικών δικτύων τα οποία βασίζονται στην τοποθεσία του χρήστη (location-based) και ακολούθως, μια μικρή αναφορά στα μεγαλύτερα εμπορικά συστήματα που μετουσιώνουν όλα τα παραπάνω στο σύγχρονο περιβάλλον του Παγκόσμιου Ιστού και των κινητών συσκευών. Στο τέλος του 1ου κεφαλαίου, γίνεται μια σύντομη αναφορά και περιγραφή της πρότυπης μορφής Geosocial. Γενικά, ακολουθεί μια περιεκτική και σύντομη παρουσίαση της αρχιτεκτονικής του Συστήματος Συστάσεων, οι πρωταρχικές λειτουργίες αυτού και τέλος, η αξιολόγηση του συστήματος. Ακολούθως, το 2ο κεφάλαιο αποτελεί την εξέλιξη του πρότυπου Συστήματος Συστάσεων Geosocial στη 2η του μορφή. Γι’ αυτό το λόγο θα παρουσιαστούν εκτενώς οι στόχοι της παρούσας εργασίας, η ανάλυση της νέας ΒΔ, οι διάφοροι τρόποι εύρεσης και προσθήκης πληροφορίας, όπως α) εύρεση/αναζήτηση φίλων και η προσθήκη αυτών, καθώς και β) οι μέθοδοι εισαγωγής νέων σημείων ενδιαφέροντος (POI’s). Τέλος, θα ακολουθήσει αναλυτική παρουσίαση της βελτίωσης των ήδη υπαρχόντων αλγορίθμων, αλλά και των νέων, καθώς και όλες οι τροποποιήσεις, αλλαγές, βελτιώσεις και προσθήκες που συντελέστηκαν στα πλαίσια της παρούσας εργασίας, για να οδηγηθούμε στην δεύτερη έκδοση αυτού του πρότυπου Συστήματος Συστάσεων. Ένας από τους στόχους που είχε τεθεί ως μελλοντική εργασία κατά τη διάρκεια της 1ης φάσης του Geosocial, παρουσιάζεται και αναλύεται εκτενώς στο 3ο κεφάλαιο. Αρχικά, παρουσιάζεται το πρωτόκολλο που ακολουθήθηκε για την πραγματοποίηση της μελέτης χρηστών. Αυτό συμπεριλαμβάνει το σχεδιασμό του

19 ερωτηματολογίου με τη μέθοδο Α/Β testing και το γενικότερο πλαίσιο πάνω στο οποίο στηριχθήκαμε για την συλλογή, κωδικοποίηση, αποθήκευση και επεξεργασία των δεδομένων. Στη συνέχεια στηριζόμενοι σε δύο διαφορετικές υποθέσεις, δημιουργούμε τρία υποσύνολα δεδομένων και πάνω σ’ αυτά ακολουθεί στατιστική ανάλυση με τη μέθοδο t-test. Τέλος, γίνεται συνοπτική παρουσίαση των αποτελεσμάτων και των συμπερασμάτων που πηγάζουν από τη μελέτη χρηστών (user study). Κλείνοντας την παρουσίαση της παρούσας εργασίας, το 4ο κεφάλαιο αποτελεί έναν ευρύτερο, στοχαστικό σχολιασμό του έργου αυτού, λαμβάνοντας υπόψη όλους τους περιορισμούς που υπήρξαν κατά τη διάρκεια υλοποίησης του. Τέλος, γίνονται μια σειρά από προτάσεις για μελλοντικές ενέργειες και προσθήκες με στόχο την περαιτέρω αξιολόγηση και βελτιστοποίηση τόσο του Συστήματος Συστάσεων, όσο και των location-based υπηρεσιών, ούτως ώστε να οδηγηθούμε σε μια 3η έκδοση του Geosocial, πιο ώριμη, με δυνατότητα περεταίρω αξιοποίησης σε ερευνητικό και εμπορικό επίπεδο.

20 Εισαγωγή

Τα κοινωνικά δίκτυα έχουν αναπτυχθεί ραγδαία τα τελευταία χρόνια στο διαδίκτυο και έχουν αποτελέσει ένα άκρως ενδιαφέρον ερευνητικό πεδίο στην παγκόσμια επιστημονική κοινότητα. Οι εξελίξεις στον Παγκόσμιο Ιστό και η ανάπτυξη κινητών τεχνολογιών επικοινωνίας (mobile devices) ενδυναμώνουν την επικοινωνία μεταξύ των ανθρώπων και τους παρακινούν να χρησιμοποιούν δεδομένα βασισμένα στην φυσική τους τοποθεσία σε απευθείας σύνδεση με τα υπάρχοντα κοινωνικά δίκτυα. Αυτή η νέα προοπτική έρχεται να ικανοποιήσει την ανάγκη γεφύρωσης του χάσματος μεταξύ του φυσικού κόσμου και των on-line υπηρεσιών κοινωνικής δικτύωσης. Επιπλέον, οι άνθρωποι σε ένα υπάρχον κοινωνικό δίκτυο μπορούν να επεκτείνουν την κοινωνική τους δομή και αλληλεπίδραση μέσω της διασύνδεσης / αλληλεξάρτησης τους, που προέρχεται από τη φυσική τους θέση (τοποθεσία τους). Η τοποθεσία του χρήστη (user) κατέχει το σημαντικότερο ρόλο σ’ αυτά τα δίκτυα. Η γνώση που προκύπτει από τη μελέτη της συμπεριφοράς ενός ατόμου, των ενδιαφερόντων του και τις σχέσεις του με τους άλλους πιστεύεται πως στηρίζεται στην τοποθεσία του χρήστη. Στις μέρες μας, περισσότερο παρά ποτέ οι χρήστες των on-line κοινωνικών δικτύων (ONS) ζητούν πρόσβαση σε πληροφορίες οι οποίες να είναι εξατομικευμένες και διαθέσιμες, οπουδήποτε, οποτεδήποτε και προσβάσιμες από όλες τις συσκευές. Τα location-based κοινωνικά δίκτυα (LBSN) προσφέρουν αυτή τη δυνατότητα στους χρήστες τους, προσαρμόζοντας και εξατομικεύοντας το περιεχόμενο τους με βάση την τοποθεσία, τα ενδιαφέροντα και τις δραστηριότητες του κάθε χρήστη, λαμβάνοντας υπόψη επιπλέον το ιστορικό του (ήδη υπάρχοντα check-ins, posts κα.). Αυτό επιτυγχάνεται με την πραγματοποίηση ενός check-in πάνω στο χάρτη, δημιουργώντας έτσι ένα εξατομικευμένο-πλαίσιο (context-awareness) το οποίο εμπεριέχει όλες εκείνες τις πληροφορίες που είναι απαραίτητες σ’ ένα σύστημα συστάσεων (recommender system), προκειμένου να προτείνει στο χρήστη παρόμοιες υπηρεσίες και σημεία ενδιαφέροντος (Point Of interest – POI). Λαμβάνοντας υπόψη όλα τα παραπάνω το Geosocial2 αποτελεί μια μικρογραφία ενός location-based κοινωνικού δικτύου, το οποίο δίνει τη δυνατότητα στους χρήστες να πραγματοποιούν check-ins πάνω στο χάρτη, υποδεικνύοντας έτσι

21 τη φυσική τους τοποθεσία και τις αγαπημένες τους δραστηριότητες. Το σύστημα συστάσεων του Geosocial2 κάνει χρήση του εξατομικευμένου πλαισίου που δημιουργείται από το σύνολο των check-ins που πραγματοποιούνται, είτε στο σύνολο των χρηστών, είτε μονάχα από τους φίλους κάθε χρήστη. Επιλέγοντας κάθε φορά ο χρήστης την επιθυμητή τοποθεσία ή δραστηριότητα, οι διάφοροι τύποι συστάσεων του Geosocial2 προτείνουν νέα σημεία ενδιαφέροντος λαμβάνοντας υπόψη, (Α) τόσο την συνολική προτίμηση (total check- ins) και την αξιολόγηση (avg. rating) των σημείων αυτών στο σύνολο των χρηστών, όσο και (Β) την συνολική προτίμηση και αξιολόγηση των σημείων αυτών με βάση τους φίλους του. Μ’ αυτόν τον τρόπο δίνεται η δυνατότητα στον κάθε χρήστη να προτιμήσει, είτε τις συστάσεις (πληροφορία) που βασίζονται στο σύνολο των χρηστών, είτε των συστάσεων (πληροφορία) που λαμβάνουν υπόψη μόνο τις προτιμήσεις των φίλων του. Ένα κοινωνικό δίκτυο δεν θα μπορούσε να μην εμπεριέχει ένα τύπο συστάσεων φιλίας. Το Geosocial2 παρέχει δύο διαφορετικούς τρόπους (explanation styles) συστάσεων νέων φίλων. Ο πρώτος τρόπος (Α) λαμβάνει υπόψη το πλήθος των κοινών φίλων που έχει ο χρήστης με αυτόν που του προτείνει το σύστημα για νέο φίλο, ενώ ο δεύτερος τρόπος (Β) παρουσιάζει στον χρήστη το μονοπάτι μέσα από το οποίο ο αλγόριθμος / το σύστημα οδηγείται σ’ αυτόν που του προτείνει για νέο φίλο, καθώς και το πλήθος των μονοπατιών αυτών. Τέλος, κρίθηκε απαραίτητη η διερεύνηση και ανάλυση των προτιμήσεων των χρηστών του Geosocial2, ανάμεσα στα διαφορετικά στυλ συστάσεων (Α και Β). Στα πλαίσια της παρούσας εργασίας, για λόγους ερευνητικούς και αξιοπιστίας ζητήθηκε από τους ίδιους τους χρήστες του Geosocial2 να βαθμολογήσουν και να δείξουν έτσι την προτίμηση τους αναφορικά με τα διαφορετικά στυλ συστάσεων. Η ανάλυση αυτών των δεδομένων οδηγεί σε άκρως σημαντικά συμπεράσματα σχετικά με την προτίμηση των χρηστών αναφορικά με τη διαμόρφωση γνώμης μέσα από τη “μάζα”, δηλαδή το σύνολο των χρηστών, ή της φιλτραρισμένης γνώμης που δημιουργείται από τις προτιμήσεις των φίλων τους. Το σίγουρο είναι πως στο μέλλον, ο τρόπος με τον οποίο διαμορφώνεται η γνώμη των χρηστών για μια τοποθεσία ή μια δραστηριότητα, θα συνεχίσει να αποτελεί ερευνητικό πόλο έλξης και δημιουργίας όλο και πιο εμπλουτισμένων τύπων συστάσεων που θα παρέχουν ολοένα περισσότερο εξατομικευμένες συστάσεις.

22

23

Κεφάλαιο 1ο Θεωρία

24 Κεφάλαιο 1o

1.1 Social Graph Theory

1.1.1 Τύποι Γράφων

Στην επιστήμη των μαθηματικών και των υπολογιστών, η θεωρία των γράφων είναι η μελέτη των γραφημάτων, τα οποία είναι μαθηματικές δομές που χρησιμοποιούνται για τη μοντελοποίηση σχέσεων (ζεύγη) μεταξύ των αντικειμένων από μια συγκεκριμένη συλλογή. Ένας «γράφος» σ’ αυτή την περίπτωση αποτελείται από "κορυφές" / "κόμβους" και τα άκρα που συνδέουν τα ζεύγη των κορυφών αυτών [21]. Planar Graph - Πρόκειται για γράφο του οποίου οι ακμές τέμνονται μόνο στα τελικά σημεία τους. Non Planar Graph – Πρόκειται για γράφο του οποίου οι ακμές μπορούν να τέμνονται μεταξύ τους.

Σχήμα 1. – Planar and Non-Planar Graphs.

Μη κατευθυνόμενος γράφος (Undirected Graph) – Γράφος του οποίου οι ακμές αποτελούν μη ταξινομημένα ζεύγη των κορυφών. Ένα μη-κατευθυνόμενο γράφημα είναι ένα διατεταγμένο ζεύγος G = (V, E), όπου V (v V) είναι ένα

πεπερασμένο μη κενό σύνολο, το οποίο καλείται ως οι κορυφές του G (αλλιώς αντικείμενα ή κόμβοι του G) και το E είναι ένα πεπερασμένο σύνολο του συνόλου

25 που καλείται ως τα άκρα του G (αλλιώς το σύνολο των δεσμών μεταξύ των κόμβων). Αυτό σημαίνει ότι δεν υπάρχει διάκριση μεταξύ των δύο κορυφών που συνδέονται μέσω μιας ακμής (edge). Επίσης Δ (G) = ο μέγιστος

βαθμός του G, δG (v): το σύνολο των

ακμών που προσπίπτουν στο v, degG (v)

= |δG (v)|: βαθμός του v. Στο παρακάτω παράδειγμα μας, ο μέγιστος βαθμός τους γράφου είναι Δ (G) = deg (5) = 3 και ο μικρότερος βαθμός τους γράφου δ (G) = deg (6) = 1. Σχήμα 2. - Undirected Graph.

Κατευθυνόμενος γράφος (Directed Graph) – Γράφος του οποίου οι ακμές είναι διατεταγμένα ζεύγη των κορυφών. Ένα κατευθυνόμενο γράφημα είναι ένα διατεταγμένο ζεύγος G = (V, A) όπου V είναι ένα σύνολο κορυφών του G και Α ορίζεται ως το διατεταγμένο ζεύγος των κορυφών που ονομάζονται βέλη / σύνδεσμοι (arcs / links). Για κάθε a = (u, v) A: i) a

ενώνει / συνδέει / προσπίπτει στο u και v, ii) a αφήνει ένα u και εισέρχεται σ’ ένα ν, iii) τα u και v είναι άκρα, iv) το u είναι η ουρά του a, και το v το κεφάλι του a, v) τα υ και ν γειτνιάζουν και vi) το v

αποτελεί out-neighbor του u, και το u in- Σχήμα 3. - Directed Graph. neighbor του ν. Mixed Graph – Πρόκειται για έναν συνδυασμό κατευθυνόμενου και μη-κατευθυνόμενου γράφου και απεικονίζεται ως σύνολο G = (V, E, A). Multigraph – Πρόκειται για έναν

γράφο, ο οποίος αποτελείται από έναν

αριθμό ακμών οι οποίες συνδέονται με

τους ίδιους κόμβους (nodes). Σχήμα 4. – Multigraph.

26

Απλό γράφημα (Simple Graph) – Πρόκειται για ένα απλό, μη - κατευθυνόμενο γράφο χωρίς βρόχους (loops) μεταξύ των κόμβων, οι οποίοι συνδέονται μονάχα με μια ακμή μεταξύ δύο κορυφών.

Σχήμα 5. – Simple Graph.

Σταθμισμένος γράφος (Weighted Graph) – Πρόκειται για γράφο του οποίου κάθε κλάδος έχει αριθμητικό βάρος που αντιπροσωπεύει κόστος, μήκος ή ικανότητες. Στη βιβλιογραφία [4, 11, 50, 59] συναντάμε τρεις κατηγορίες σταθμισμένων γράφων: α) edge-weighted graph, όπου μετράται το συνολικό βάρος των ακμών, β) arc- weighted graph, όπου μετράται το Σχήμα 6. – Weighted Graph. συνολικό βάρος των τόξων και γ) vertex- weighted graph, όπου μετράται το συνολικό βάρος των κορυφών.

1.1.2 Μέθοδοι Αναζήτησης

Η μέθοδος αναζήτησης Breadth-First Search (BFS) [46] ξεκινά από έναν κόμβο ρίζα και ελέγχει τους γειτονικούς του. Η μέθοδος BFS περιορίζεται ουσιαστικά σε δύο λειτουργίες: α) επίσκεψη και επιθεώρηση ενός κόμβου ενός γράφου και β) απόκτηση πρόσβασης για να επισκεφθεί τους κόμβους που γειτνιάζουν με τον κόμβο που έχει επισκεφτεί ήδη [36]. Ο αλγόριθμος χρησιμοποιεί τη δομή μιας ουράς για την αποθήκευση των αποτελεσμάτων καθώς διασχίζει το γράφημα, ως εξής: 1. Προσδιορίζει τον κόμβο που αποτελεί τη ρίζα του γράφου

27 2. Ξεκλειδώνει τον κόμβο και τον εξετάζει: Αν ναι (if yes): Εάν το στοιχείο που ζητείται βρίσκεται σε αυτόν τον κόμβο, σταματάει την αναζήτηση και επιστρέφει ένα αποτέλεσμα. Αν ναι (if no): Τοποθετεί στην ουρά όλους τους άμεσους διαδόχους (κόμβους) που δεν έχουν ακόμη ανακαλυφθεί. 3. Αν η ουρά είναι άδεια, κάθε κόμβος στο γράφημα έχει εξεταστεί – σταματάει η αναζήτηση και ο αλγόριθμος επιστρέψει "δεν βρέθηκε". 4. Αν η ουρά δεν είναι κενή, ο αλγόριθμος επαναλαμβάνει τη διαδικασία από το βήμα 2. Στην περίπτωση που χρησιμοποιείτε στοίβα αντί της ουράς ο αλγόριθμος μετατρέπεται σε Depth-first search (DFS). Η μέθοδος Depth-first search (DFS) [46] είναι ένας αλγόριθμος, ο οποίος διατρέχει ή κάνει αναζήτηση στη δομή ενός δέντρου, ή ενός γράφου. Ο αλγόριθμος ξεκινά από τη ρίζα (ορίζουμε κάποιον κόμβο ως τη ρίζα του γράφου) και εξερευνά όσο το δυνατόν περισσότερους κόμβους κατά μήκος κάθε κλάδου πριν την οπισθοδρόμηση (οπισθοδρομεί όταν ένα κόμβος δεν συνδέεται με κάποιον άλλον). Στον αλγόριθμο αυτό ενσωματώνεται ο παράγοντας του να θυμάται ποιον κόμβο έχει επισκεφτεί, διαφορετικά υπάρχει η περίπτωση να υποπέσει σε παγίδα ή βρόγχο (loop). Μια πρωταρχική έκδοση αυτού του αλγορίθμου ερευνήθηκε κατά τον 19ο αιώνα από τον Γάλλο μαθηματικό Charles Pierre Trémaux [15], ως μια στρατηγική για την επίλυση λαβύρινθων [24].

Σχήμα 7. – Γράφος G, ενός κοινωνικού δικτύου.

Για να παρουσιάσουμε τα βήματα της DFS θα βασιστούμε στο Σχήμα 7.: 1. Ξεκίνα από έναν κόμβο (εφεξής άνθρωπος/χρήστης), ας υποθέσουμε πως αυτός είναι ο 1.

28 2. Πήγαινε στο πρώτο άτομο, το οποίο είναι φίλος με τον 1, υποθέτουμε ότι αυτός είναι ο 2. 3. Πήγαινε σ’ ένα άλλο άτομο, το οποίο είναι φίλος με τον 2, υποθέτουμε ότι αυτός είναι ο 5. 4. Πήγαινε σ’ ένα άλλο άτομο, το οποίο είναι φίλος με τον 5, υποθέτουμε ότι αυτός είναι ο 1. 5. Από τη στιγμή που βρήκαμε ένα άτομο το οποίο έχει προηγηθεί, η αναζήτηση σταματάει και επιστρέφει στον προηγούμενο χρήστη (τον 5) και διαλέγει έναν άλλον φίλο του 5 (στο σχήμα μπορεί να είναι ο 2, ο οποίος έχει προηγηθεί, επομένως θα διαλέξει τον 4 στην συνέχεια). Ο αλγόριθμος ανατρέχει (συνεχίζει την αναζήτηση) μέχρι να περάσει από όλους τους χρήστες του γράφου (δικτύου). Αξίζει να σημειωθεί πως από άποψη πολυπλοκότητας χρόνου (time complexity) και οι δυο αλγόριθμοι BFS και DFS είναι ναι μεν το ίδιο, από άποψη όμως πολυπλοκότητας χώρου (space complexity) η DFS υπερτερεί της BFS. Η μέθοδος depth-limited search (DLS) λειτουργεί όπως και η DFS με τη διαφορά ότι αποφεύγει τις αδυναμίες της προηγούμενης, όσο αναφορά την πληρότητα της μεθόδου, με την επιβολή ενός μάξιμουμ ορίου στο βάθος της αναζήτησης. Μ’ αυτόν τον τρόπο αποφεύγεται η αναζήτηση σε μονοπάτια που δεν μας ενδιαφέρουν ή περιπτώσεις βρόγχων (loops). Επομένως, η μέθοδος αυτή θα οδηγήσει στην επιθυμητή λύση και εγγυάται πληρότητα σε όλους τους γράφους. Τα βήματα της DLS: 1. Αρχικά προσδιορίζει την κορυφή (vertex) από την οποία η αναζήτηση θα πρέπει να ξεκινήσει και ορίζεται το μέγιστο βάθος της αναζήτησης 2. Ελέγχει εάν η τρέχουσα κορυφή είναι επιθυμητή λύση ή ο στόχος της αναζήτησης. Αν όχι (if not): Καμία ενέργεια Αν ναι (if yes): Επιστρέφει την τιμή του βρόγχου 3. Ελέγχει εάν η τρέχουσα κορυφή είναι μέσα στο μέγιστο βάθος αναζήτησης Αν όχι (if not): Καμία ενέργεια Αν ναι (if yes): a. Ανέπτυξε (+) την κορυφή και αποθήκευσε όλους τους βρόγχους που την διαδέχονται σε μια στοίβα

29 b. Κάλεσε την DLS αναδρομικά για όλες τις κορυφές της στοίβας και μετά επέστρεψε στο βήμα 2 1.2 Social Networks

Μια υπηρεσία κοινωνικής δικτύωσης (Social Networking Service) είναι μια διαδικτυακή υπηρεσία, η πλατφόρμα, ή ιστοσελίδα που εστιάζει στη διευκόλυνση της οικοδόμησης κοινωνικών δικτύων ή στις κοινωνικές σχέσεις μεταξύ των ανθρώπων οι οποίοι, για παράδειγμα, μοιράζονται τα ενδιαφέροντα, τις δραστηριότητες, το προφίλ, ή προσωπικές στιγμές της ζωής τους. Μια κοινωνική υπηρεσία δικτύου (SNS) αποτελείται από μια αναπαράσταση του κάθε χρήστη (συχνά ένα προφίλ), των κοινωνικών δεσμών του, και μια πλειάδα από επιπλέον υπηρεσίες. Οι περισσότερες υπηρεσίες κοινωνικών δικτύων είναι web-based και παρέχουν στους χρήστες τα μέσα, ώστε να αλληλεπιδρούν μέσω του Διαδικτύου, μέσω ετεροχρονισμένων ή άμεσων μηνυμάτων και τη δημιουργία σχολίων. Οι ιστότοποι κοινωνικής δικτύωσης επιτρέπουν στους χρήστες να μοιράζονται ιδέες, δραστηριότητες, εκδηλώσεις, και τα ενδιαφέροντα τους εντός των επιμέρους (προσωπικών) δικτύων τους (φίλοι) [21].

1.2.1 Social Graph Theory

Το 1969 γεννήθηκε η ιδέα του «Small World Problem» (ελληνιστί θα μπορούσαμε να το θέσουμε ως “Πόσο μικρός είναι ο κόσμος!”). Πρόκειται για ένα πείραμα το οποίο αναπτύχθηκε από τον Milgram και βασίστηκε στην επιθυμία του να μάθει περισσότερα σχετικά με την πιθανότητα που υπάρχει, δύο τυχαία επιλεγμένα άτομα να γνωρίζονται μεταξύ τους. Μια εναλλακτική όψη του ίδιου ερωτήματος είναι να φανταστεί κανείς τον πληθυσμό ως ένα κοινωνικό δίκτυο και να προσπαθήσει να βρει το μέσο μήκος διαδρομής μεταξύ δύο ανθρώπων (στα πλαίσια της μαθηματικής επιστήμης, μεταξύ δυο κόμβων). Το πείραμα του Milgram σχεδιάστηκε για να μετρήσει αυτό το μήκος της διαδρομής, αναπτύσσοντας μια διαδικασία για να μετρήσει τον αριθμό των δεσμών μεταξύ δύο ανθρώπων [60]. Η θεωρία του κοινωνικού γράφου αποτελεί υποσύνολο της θεωρίας του γράφου και πρόκειται για έναν όρο που χρησιμοποιήθηκε 1η φορά για να περιγράψει τα «κοινωνικά διαγράμματα» που προκύπτουν στο πλαίσιο του Διαδικτύου. Το κοινωνικό διάγραμμα () είναι μία γραφική παράσταση που απεικονίζει τις

30 προσωπικές σχέσεις μεταξύ των χρηστών. Ο όρος διαδόθηκε στο συνέδριο F8 του στις 24 Μαΐου του 2007, όταν χρησιμοποιήθηκε για να εξηγήσει ότι η πλατφόρμα του Facebook θα επωφεληθεί από το κοινωνικό γράφημα λαμβάνοντας υπόψη και αξιοποιώντας τις σχέσεις μεταξύ των ατόμων που δημιουργούνται μέσα από την πλατφόρμα του, έχοντας ως αποτέλεσμα μια καλύτερη διαδικτυακή εμπειρία για τον χρήστη [1]. Ο ορισμός αυτός αποτέλεσε την επιτομή και επεκτάθηκε, ως ένας ευρύτερος ορισμός του κοινωνικού γράφου όλων των χρηστών του Διαδικτύου. Ο ιδρυτής της μεγαλύτερης διαδικτυακής κοινωνικής πλατφόρμας, Mark Elliot Zuckerberg, ανέφερε «στόχος μας είναι να προσφέρουμε αυτό το κοινωνικό γράφημα και σε άλλες ιστοσελίδες, έτσι ώστε οι σχέσεις και τα ενδιαφέροντα ενός χρήστη να μπορούν να γνωστοποιηθούν και να διατίθενται προς χρήση σε ιστοσελίδες που δεν βρίσκονται υπό τον έλεγχο του Facebook»1.Δύο χρόνια αργότερα, το 2010 στα πλαίσια παρουσίασης του Open Social Graph από το διαδικτυακό κοινωνικό ιστότοπο Facebook, το κοινωνικό διάγραμμα ορίσθηκε ως «η παγκόσμια χαρτογράφηση του κάθε χρήστη και πως ο κάθε χρήστης σχετίζεται με όλους τους υπόλοιπους» [2]. Η πλατφόρμα του Facebook χρησιμοποιεί τα πρωτόκολλα του Open Graph δίνοντας τη δυνατότητα σε άλλες ιστοσελίδες να διασυνδεθούν με το κοινωνικό γράφημα που έχει δημιουργηθεί.

“Μιας και αποτελεί νέα τεχνολογία, στόχος μας είναι να δημιουργήσουμε ανοιχτά πρότυπα, ώστε να οδηγηθούμε σ’ έναν πιο σημασιολογικό ιστό2”.

1.2.2 “People you may know”

Στην ενότητα αυτή στηριζόμενοι στη θεωρία του κοινωνικού γράφου και κυρίως χρησιμοποιώντας τις μεθόδους DFS και DLS, θα προσπαθήσουμε να προσεγγίσουμε τη μεθοδολογία εύρεσης φίλων στα κοινωνικά δίκτυα, σαν αυτή που χρησιμοποιεί η κοινωνική πλατφόρμα Facebook, “people you may know3”.

1 http://www.zdnet.com/blog/btl/facebooks-zuckerberg-uncorks-the-social-graph/5156 2 Facebook Open Graph for developers - http://developers.facebook.com/docs/opengraphprotocol/ 3 Το συγκεκριμένο παράδειγμα βασίζεται καθαρά στη θεωρία των γράφων και των μεθόδων αναζήτησης σ’ αυτούς, όπως αυτοί παρουσιάζονται στη βιβλιογραφία. Πρόκειται καθαρά για μια απλουστευμένη προσέγγιση του συγγραφέα και σε καμιά περίπτωση δεν πρόκειται για ταύτιση αυτής, με την αντίστοιχη λειτουργία του κοινωνικού δικτύου Facebook.

31 Ας υποθέσουμε, λοιπόν, πως το σχήμα 8. είναι ο γράφος ενός κοινωνικού δικτύου, όπου οι κόμβοι αναπαριστούν ανθρώπους (χρήστες του κοινωνικού δικτύου) και οι ακμές μεταξύ τους υποδεικνύουν ότι οι χρήστες που βρίσκονται στο τέλος κάθε ακμής είναι μεταξύ τους φίλοι.

Σχήμα 8. – Ένας τυχαίος γράφος ενός κοινωνικού δικτύου.

Υποθέτουμε ότι ο Α είναι νέος χρήστης ενός κοινωνικού δικτύου και δεν έχει ακόμα φίλους. Ακολούθως, έστω ότι ο Α πρόσθεσε πρόσφατα τους Β και Ι, ως φίλους του. Μετά από αυτή την υπόθεση ο παραπάνω γράφος φαίνεται ως εξής:

Σχήμα 9. – Νέος χρήστης στο κοινωνικό δίκτυο.

Όπως φαίνεται στο σχήμα 9. οι κόμβοι C και Η απέχουν 2 hops από τον χρήστη Α. Συνεπώς, υπάρχει η ίδια πιθανότητα να προταθούν ως φίλοι του Α. Με την ίδια ακολουθία σκέψης μπορούμε να φτάσουμε σε άπειρο βάθος (μήκος) μέσα στο κοινωνικό δίκτυο. Παρ’ όλα αυτά όσο περισσότερο απομακρυνόμαστε από τον αρχικό κόμβο (Α), τόσο περισσότερο μειώνεται η πιθανότητα ο Α να γνωρίζει κάποιον. Τίθεται λοιπόν το ερώτημα, ποιο μπορεί να είναι το επιθυμητό βάθος/μήκος της αναζήτησης και γιατί;

32

Σχήμα 10. – Αλγόριθμος αναζήτησης DFS σε κοινωνικά δίκτυα.

Στη συνέχεια εφαρμόζοντας τα βήματα αναζήτησης του αλγορίθμου της DFS (βλ. ενότητα 1.1.2) στο σχήμα 10. η σειρά/ακολουθία με την οποία ο αλγόριθμος θα ανατρέξει τους κόμβους είναι η εξής: A → I → H → F → G → C → D → E → B. Αυτό θα μπορούσε να γίνει και με την BFS, αλλά από άποψη πολυπλοκότητας χρόνου (time complexity) και οι δυο αλγόριθμοι είναι μεν το ίδιο, από άποψη πολυπλοκότητας χώρου (space complexity) η DFS υπερτερεί της BFS. Δεν είναι επιθυμητό να απαριθμήσουμε όλα τα άτομα στο γράφο, κάτι το οποίο η DFS το κάνει. Γι’ αυτό το λόγο χρειαζόμαστε να θέσουμε ένα όριο στο βάθος της αναζήτησης. Αυτό μπορεί να γίνει με την DLS. Όπως ήδη αναφέραμε στην ενότητα 1.1.2 η DLS [46] έχει την ιδιαιτερότητα να σταματήσει την επισκόπηση/αναζήτηση προς μια κατεύθυνση από τη στιγμή που φτάσει στο βάθος το οποίο της έχει ορισθεί εκ των προτέρων (μήκος ℓ4). Στην περίπτωση ενός κοινωνικού γράφου, αυτό αναφέρεται στον αριθμό των ατόμων που έχουν προσμετρηθεί (των κόμβων που αλγόριθμος έχει ανατρέξει) από το αρχικό άτομο (ρίζα) και προς μια κατεύθυνση.

4 Το μήκος ℓ ενός μονοπατιού (path) ισούται με το πλήθος των ακμών που εμπεριέχει.

33

Σχήμα 11. – Χρήση της DLS ορίζοντας συγκεκριμένο μήκος-ℓ αναζήτησης.

Αυτή την φορά παίρνουμε την ακολουθία A → I → H → F → B → C → D → E. Αν σ’ αυτή την περίπτωση η εφαρμογή σου δίνει το μήνυμα ότι ίσως να ξέρεις τους H, F, C, D, E, αυτό δείχνει πιο λογικό. Στην περίπτωση αυτή δεν έχουμε λάβει υπόψη τους φίλους που έχει ήδη ο Α (Β και Ι). Γενικά εξαιρούνται οι κόμβοι οι οποίοι συνδέονται με μήκος μονοπατιών ℓ = 1, που σημαίνει ότι είναι ήδη φίλοι. Παρακάτω ακολουθεί ο ψευδό-κώδικας που ακολουθεί η DLS για «τους ανθρώπους που ίσως γνωρίζεις» 1. Ο αλγόριθμος ξεκίνα από τον βρόγχο (ρίζα) που αναπαριστά τον χρήστη. Έστω ότι είναι ο Α. Βάζει σε μια άδεια στοίβα την πληροφορία αυτή και την μαρκάρει με μια σημαία ως «διαβασμένη» («as traversed»), έστω i (flag). 2. Σπρώχνει τον Α τόσες θέσεις προς τα πάνω όσοι είναι οι “φίλοι” που ακολουθούν και τους μαρκάρει και αυτούς με i. Ο αλγόριθμος συνεχίζει μέχρι να φτάσει το όριο που έχει τεθεί. 3. Μόλις η στοίβα “ξεχειλίσει” (overflowing), δηλαδή η στοίβα φτάσει στο όριο της (depth limit), ο αλγόριθμος σταματά να σπρώχνει και αποθηκεύει σε άλλη στοίβα την πληροφορία, χωρίς τη ρίζα (τον Α δηλαδή) και τους ήδη υπάρχοντες φίλους του. Η λίστα με τα άτομα που αποθηκεύονται στο τέλος, είναι οι φίλοι που ίσως γνωρίζει ο Α.

34 1.2.3 Preliminaries in Graphs

Ο πίνακας γειτνίασης Α ενός γράφου G είναι ένας πίνακας με γραμμές και

στήλες τις κορυφές του γράφου αποτελούμενος από 0 ή 1 σε κάθε θέση (ui, uj),

ανάλογα με το αν ui και uj είναι φίλοι ή όχι. Λαμβάνοντας υπόψη το παράδειγμα των A.Papadimitriou et al. [43] θα παρουσιάσουμε τον πίνακα γειτνίασης του γράφου του Σχήματος 7.

(ui, uj) 1 2 3 4 5 6 1 0 1 0 0 1 0 2 1 0 1 0 1 0 3 0 1 0 1 0 0 4 0 0 1 0 1 1 5 1 1 0 1 0 0 6 0 0 0 1 0 0 Πίνακας 1. – Μήτρα γειτνίασης Α ενός γράφου G.

Στο επόμενο βήμα, θα μετασχηματίσουμε τον παραπάνω πίνακα, υψώνοντας τον στην δύναμη του 2. Ο πίνακας 2. παρουσιάζει τον αριθμό των μονοπατιών μήκους 2 (length-2 paths) που υπάρχουν μεταξύ κάθε ζεύγους κόμβων. Ακολούθως, με τον ίδιο τρόπο μπορούμε να φτάσουμε σ’ ένα πίνακα που θα παρουσιάζει τον αριθμό των μονοπατιών μήκους 3 (length-3 paths) κ.ο.κ.

(ui, uj) 1 2 3 4 5 6 1 2 0 2 2 0 0 2 0 3 0 2 0 0 3 2 0 2 0 2 2 4 2 2 0 3 0 0 5 0 0 2 0 3 2 6 0 0 2 0 2 1 Πίνακας 2. – Μήτρα γειτνίασης Α ενός γράφου G υψωμένος στη δύναμη του 2.

35 1.2.4 Link Prediction Problem

Η πρόβλεψη ενός συνδέσμου (link prediction) είναι μια υποκατηγορία της ανάλυσης των κοινωνικών δικτύων. Πρόκειται για τη δυσκολία πρόβλεψης της (μελλοντικής) ύπαρξη δεσμών μεταξύ κόμβων σε ένα κοινωνικό δίκτυο. Το πρόβλημα της πρόβλεψης ενός συνδέσμου είναι άκρως ενδιαφέρον δεδομένου ότι ερευνά τη σχέση μεταξύ των αντικειμένων, ενώ οι παραδοσιακές εργασίες εξόρυξης δεδομένων επικεντρώνονται στα αντικείμενα αυτά καθ’ αυτά. Το πρόβλημα της πρόβλεψης ενός συνδέσμου περιγράφεται συνήθως ως ένα n σύνολο δεδομένων από αντικείμενα (κόμβους) V = {ui} i = 1, τα οποία είναι οργανωμένα με τη μορφή ενός κοινωνικού δικτύου G = (V, Ε), όπου Ε είναι το σύνολο των παρατηρηθέντων δεσμών. Στη συνέχεια αυτό που ζητείται είναι να

προβλεφθεί πόσο πιθανό είναι ένας μη υπάρχον (ή απαρατήρητος) σύνδεσμος eij Ε υπάρχει ανάμεσα σε ένα αυθαίρετο ζεύγος κόμβων στο σύνολο του κοινωνικού δικτύου. Στο σύνολο του, το πρόβλημα πρόβλεψης ενός συνδέσμου συμπεριλαμβάνει, α) την πρόβλεψη ύπαρξης ενός συνδέσμου (link existence prediction), (δηλαδή, εάν υπάρχει μια σύνδεση), β) την ταξινόμηση του συνδέσμου (link classification), (δηλαδή, το είδος της σχέσης), και γ) την εξέταση της παλινδρόμησης ενός συνδέσμου (link regression), (δηλαδή, πως οι χρήστες αξιολογούν το αντικείμενο) [22]. Το πρόβλημα της πρόβλεψης ενός συνδέσμου εμφανίζεται σε αρκετούς τομείς της επιστήμης και της διεθνής βιβλιογραφίας, όπως στη μοριακή βιολογία, στη διερεύνηση εγκληματικών υποθέσεων και τα συστήματα συστάσεων. Τέτοια ρητά παραδείγματα συμπεριλαμβάνουν την αυτόματη δημιουργία υπέρ-συνδέσμων στο Web (Web hyper-link creation [56]), την πρόβλεψη γενετικών ή πρωτεϊνικών αλληλεπιδράσεων [63] και το πρόβλημα της συνδεσιμότητας [42]. Σε γενικές γραμμές η θεωρία της πρόβλεψης ενός συνδέσμου μπορεί να έχει απτή εφαρμογή, όταν τα δεδομένα παρέχονται σε μια γραφική απεικόνιση ενός δικτύου. Υπάρχουν διάφοροι μέθοδοι για την επίλυση της πρόβλεψης ενός μελλοντικού συνδέσμου και οι οποίοι διακρίνονται στις εξής δυο κατηγορίες: α) node-based, λαμβάνουν υπόψη μονάχα την πληροφορία που βρίσκεται γύρω από τους κόμβους και β) path-based, λαμβάνουν υπόψη την συνδεσιμότητα μεταξύ κάθε ζεύγους κόμβων στο σύνολο όλων των μονοπατιών του κοινωνικού δικτύου [18, 22].

36 Node-based methods: Η βασική ιδέα είναι ότι δύο κόμβοι x και y είναι περισσότερο πιθανόν να συνδεθούν στο μέλλον, εάν τα σύνολα των γειτόνων τους Γ(x) και Γ(y) έχουν μεγάλη επικάλυψη (το πλήθος των κοινών φίλων). Ένα αρκετά γνωστό παράδειγμα στη διεθνή βιβλιογραφία είναι: αν οι κόμβοι x και y αναπαριστούν δύο αρθρογράφους οι οποίοι έχουν αρκετούς κοινούς συναδέλφους, τότε είναι περισσότερο πιθανό αυτοί οι δύο να συνεργαστούν στο μέλλον και να γράψουν ένα κοινό άρθρο. Τέτοιοι μέθοδοι είναι: α) των κοινών γειτόνων (Common neighbors [40]), β) ο συντελεστής Jaccard5, γ) Adamic/Adar [37] και της προνομιακής σύνδεσης (Preferential attachment). Path-based methods6: Οι μέθοδοι αυτοί εισχωρούν πιο βαθιά στην πληροφορία που εμπεριέχεται μέσω της συνδεσιμότητας των κοινωνικών δικτύων. Η βασική τους ιδέα είναι ότι, εάν υπάρχουν πολλά μονοπάτια τα οποία συνδέουν έμμεσα τον αρχικό κόμβο x με τον κόμβο y, τότε είναι πιθανό να υπάρχει ένα μονοπάτι που να συνδέει τους δύο αυτούς κόμβους άμεσα. Ουσιαστικά πρόκειται για μεθόδους, οι οποίες προσπαθούν να προσδιορίσουν το μικρότερο μονοπάτι (shortest- path distance) λαμβάνοντας υπόψη το σύνολο όλων των μονοπατιών μεταξύ των δύο κόμβων. Τέτοιοι μέθοδοι είναι: α) Katz. Katz [38], Hitting time [41], PageRank [55], και SimRank [27]. Στα πλαίσια αυτού του έργου δεν κρίνεται σκόπιμο να αναλυθούν οι παραπάνω αλγόριθμοι. Παρ’ όλα αυτά, το πώς μπορεί να επιτευχθεί η πρόβλεψη ενός συνδέσμου (link prediction) σε ένα δυναμικό κοινωνικό δίκτυο αποτελεί ακόμα και στις μέρες μας ένα άκρως ενδιαφέρον ερευνητικό πεδίο για περαιτέρω μελέτη.

1.2.5 Friend Of A Friend - FOAF

Τα online κοινωνικά δίκτυα (OSNs) οφείλουν την ανάπτυξη τους στην ανάπτυξη του Παγκόσμιου Ιστού (Worldwide Web) και στην εξέλιξη του σε Σημασιολογικό Ιστό (). Ο Σημασιολογικός Ιστός είναι ένα δίκτυο δεδομένων που μπορούν να υποβληθούν σε επεξεργασία άμεσα και έμμεσα από τις μηχανές αναζήτησης. Στην περίφημη δημοσίευση του «The Semantic Web» το 2001 από το οραματιστή του Σημασιολογικού Ιστού Tim Berners-Lee, αναφέρεται:

5 http://en.wikipedia.org/wiki/Jaccard_index 6 Αναφέρονται και ως global-based

37 “στόχος είναι η μετατροπή του σημερινού ιστού που κυριαρχείται από αδόμητες και ημι-δομημένες μορφές εγγράφων σε ένα ενιαίο "πλέγμα δεδομένων" (web of data) με εννοιολογικό περιεχόμενο” (Tim Berners-Lee, 2001) [12]. Μία από τις πρώτες προσπάθειες σημασιολογικού ιστού έγινε το 1999 με τη δημιουργία μιας κοινότητας, ενός κοινωνικού δικτύου, αφιερωμένο στο ελεύθερο λογισμικό, εν ονόματι Advogato7. Χρήστης του οποίου ήταν και ο Tim Berners-Lee8, ο οποίος συμπεριλαμβάνει το Advogato στη λίστα με τους πρωτοπόρους σχετικά με τη σύλληψη της ιδέας του FOAF (ελληνιστή θα λέγαμε «δείξε μου τον φίλο σου να σου πω ποιος είσαι»). Πάνω στην ιδέα αυτή στηρίχθηκαν τα πρωταρχικά OSNs. Η οντολογία FOAF9,10 (το προφίλ ενός ανθρώπου) είναι κατ’ ουσία ένα περιγραφικό λεξιλόγιο που εκφράζεται με τη χρήση του Resource Description Framework (RDF) και της Γλώσσας Οντολογίας του Παγκοσμίου Ιστού (OWL). Ουσιαστικά οι υπολογιστές μπορούν να διαβάσουν / κατανοήσουν αυτά τα προφίλ FOAF και να βρουν, για παράδειγμα, όλους τους ανθρώπους που ζουν στην Ευρώπη, ή να δημιουργήσουν μια λίστα με όλους τους ανθρώπους που εσείς και ένας φίλος σας ξέρετε. Αυτό επιτυγχάνεται με τον καθορισμό των σχέσεων μεταξύ των ανθρώπων. Στα πλαίσια του σημασιολογικού ιστού, κάθε προφίλ ενός ατόμου σ’ ένα online κοινωνικό δίκτυο έχει ένα μοναδικό αναγνωριστικό (όπως το e-mail, ένα μοναδικό ID ή ένα μοναδικό URI της σελίδας προφίλ του χρήστη ή της προσωπικής του σελίδας), το οποίο χρησιμοποιείται κατά τον καθορισμό αυτών των σχέσεων. Σ’ αυτό βοήθησε η ανάπτυξη μια νέας γλώσσας-web, η XHTML. Η XHTML Friends Network (XFN) είναι ένα HTML microformat το οποίο αναπτύχθηκε από την Παγκόσμια Ομάδα Πολυμέσων και Πρωτοκόλλων (Global Multimedia Protocols Group) που παρέχει έναν απλό τρόπο, ώστε να αναπαριστά τις ανθρώπινες σχέσεις χρησιμοποιώντας συνδέσμους (links). Η XFN επιτρέπει στους συγγραφείς ιστοσελίδων να δείχνουν τις σχέσεις μεταξύ των ανθρώπων με την

7 http://www.advogato.org/proj/FOAF/ 8 http://www.zdnet.com/blog/btl/tim-berners-lee-from-world-wide-web-to-giant-global-graph/7126 9 Το project FOAF, το οποίο καθορίζει και επεκτείνει το λεξιλόγιο του προφίλ FOAF, ξεκίνησε το 2000 από την Libby Miller και τον Dan Brickley. Μπορεί να θεωρηθεί ως την πρώτη Κοινωνική Σημασιολογική Web εφαρμογή, υπό την έννοια ότι συνδυάζει την τεχνολογία RDF με την έννοια του «κοινωνικού δικτύου». http://www.foaf-project.org 10 Για την ιστορία, ο όρος πρωτοεμφανίστηκε το 1978 σ το βιβλίο του Rodney Dale «The Tumour in the Whale», στο οποίο γίνεται αναφορά περί "FOAFtale".

38 προσθήκη ενός ή περισσοτέρων λέξεων-κλειδιών, με τη χρήση του χαρακτηριστικού (attribute) rel. Η XFN ήταν το πρώτο microformat, το οποίο εισήχθη στην HTML 4.0, τον Δεκέμβριο του 200311 [8]. Παρακάτω θα δείξουμε μια μικρογραφία του πως λειτουργεί ο σημασιολογικός ιστός (Semantic Web) και πως βοήθησε σ’ αυτό η ανάπτυξη γλωσσών web όπως η XFN. Θα εξετάσουμε πως μπορεί να γραφτεί ένας σύνδεσμος (link) που αναφέρεται σ’ έναν φίλο μας.

CV

Ωστόσο, χρησιμοποιώντας το χαρακτηριστικό rel, μπορούμε να θέσουμε περισσότερες από μία ιδιότητες ή έννοιες. Πλέον μπορούμε να δίνουμε περισσότερη πληροφορία και μια πιο ολοκληρωμένη δομή σ’ ένα έγγραφο web.

CV

Την τελευταία δεκαετία έχει αλλάξει ο τρόπος που μερικοί ερευνητές αντιμετωπίζουν την μέθοδο FOAF στα OSNs. Για τους Chen et al [31]. η μέθοδος

FOAF βασίζεται στην κοινή λογική, ότι οι δύο κόμβοι ux και uy είναι πιο πιθανό να συνδεθούν στο μέλλον, αν έχουν αρκετούς κοινούς φίλους / γείτονες. Άλλοι ερευνητές ανά τον κόσμο ασχολήθηκαν ιδιαίτερα με την σημασιολογία και τον τρόπο διάχυσης της πληροφορίας και των προβλημάτων που ανακύπτουν στη σύνδεση δύο φίλων / κόμβων. Για παράδειγμα, ο Josang και Pope (2005) [35] εισήγαγαν έννοιες, όπως η διάχυση της εμπιστοσύνης και εισήγαγαν τη διάκριση μεταξύ άμεσης και έμμεσης εμπιστοσύνης. Ομοίως, Quercia et al. (2007) [19], βασιζόμενοι στις πληροφορίες προερχόμενες από το μοντέλο Advogato, έδειξαν πως σε ένα OSN, η μεταβατικότητα / διάχυση (transitivity12) της απλής εμπιστοσύνης μεταξύ δυο φίλων δεν ισχύει πάντα, και ως εκ τούτου, πρότειναν νέες μεθόδους μέτρησης της εμπιστοσύνης. Η FOAF με πιο απλά λόγια πρόκειται για μια τεχνολογία που καθιστά ευκολότερο το διαμοιρασμό και τη χρήση της πληροφορίας σχετικά με τους ανθρώπους και τις δραστηριότητές τους (π.χ. φωτογραφίες, ημερολόγια, weblogs), τη μεταφορά πληροφοριών μεταξύ των ιστοσελίδων, την περιγραφή των προσώπων, των

11 XML and Semantic Web W3C Standards Timeline 12 Στα πλαίσια αυτού του έργου δεν κρίνεται σκόπιμη η περαιτέρω ανάλυση (βλ. βιβλιογραφία 32 και 18)

39 δραστηριοτήτων τους και τις σχέσεις τους με άλλους ανθρώπους ή αντικείμενα Η διάδοση όλης αυτής της πληροφορίας από φίλο σε φίλο, αποτέλεσε την αφετηρία και το έναυσμα δημιουργίας και της εμπορικής εκμετάλλευσης συστημάτων συστάσεων (recommender systems).

1.2.6 Recommender Systems in Social Networks

1.2.6.1 Definitions

Στη διεθνή βιβλιογραφία, υπάρχει μια πληθώρα από διαφορετικούς ορισμούς σχετικά με τα συστήματα συστάσεων (Recommender Systems ή Recommendation Systems - RS). Ο Burke [14] ορίζει τα συστήματα συστάσεων, ως οι υπηρεσίες που παρέχονται στους χρήστες προτείνοντας τους, προϊόντα και σχετικές πληροφορίες τις οποίες οι χρήστες ίσως να ήθελαν να αγοράσουν ή να εξετάσουν. Αρχικά εμφανίστηκαν κυρίως στο ηλεκτρονικό εμπόριο, παρέχοντας προτάσεις για υπηρεσίες ή προϊόντα προς τους χρήστες και στη συνέχεια χρησιμοποιήθηκαν ευρέως σε διάφορα συστήματα και εφαρμογές τουριστικών γραφείων, προτείνοντας ταξιδιωτικούς προορισμούς, φθηνά εισιτήρια και ξενοδοχεία με βάση τις κριτικές των χρηστών [13]. Ένας πιο περιεκτικός ορισμός, αναφέρει τα συστήματα συστάσεων, ως μια υποκατηγορία των συστημάτων φιλτραρίσματος πληροφοριών (information filtering system), τα οποία προσπαθούν να προβλέψουν την «βαθμολόγηση» ή «προτίμηση», την οποία ο χρήστης θα δώσει σε ένα στοιχείο (όπως μουσική, βιβλία, ταινίες ή σε μια τοποθεσία) ή σε ένα κοινωνικό στοιχείο (π.χ. άτομα ή ομάδες ή ένα σχόλιο), τα οποία ο χρήστης δεν έχει ακόμα εξετάσει, συνυπολογίσει ή ανακαλύψει προηγουμένως, χρησιμοποιώντας ένα μοντέλο, το οποίο έχει κατασκευαστεί από τα χαρακτηριστικά ενός στοιχείου (με βάση το περιεχόμενο) ή το κοινωνικό περιβάλλον του χρήστη (συνεργατικό φιλτράρισμα) [26]. Τα συστήματα συστάσεων διακρίνονται σε τρεις διαφορετικούς τύπους [Burke, 1999]: α) με βάση το περιεχόμενο (content-based), β) το συνεργατικό φιλτράρισμα (collaborative-filtering), και (γ) βασισμένα στην γνώση (knowledge- based ή hybrid).

40 Τα συστήματα συστάσεων που βασίζονται στο περιεχόμενο είναι συστήματα που χρησιμοποιούν τεχνικές μηχανικής μάθησης για τη δημιουργία προφίλ χρηστών με βάση τις προτιμήσεις του χρήστη, είτε ρητά από το χρήστη ή έμμεσα με βάση την προηγούμενη δραστηριότητα του χρήστη [30]. Προτείνονται προϊόντα ή αντικείμενα που είναι παρόμοια με άλλα προϊόντα, που ο χρήστης έχει αγοράσει ή έχουν χρησιμοποιηθεί στο παρελθόν. Αυτή η προσέγγιση έχει το πλεονέκτημα της άμεσης υπόδειξης, καθώς αυτή βασίζεται σε γεγονότα που σχετίζονται με τις δραστηριότητες του χρήστη και ως εκ τούτου, δεν υπάρχει η ανάγκη της ανάδρασης. Ωστόσο, το σύστημα προτείνει μόνο παρόμοια προϊόντα που ο χρήστης έχει επισκεφθεί στο παρελθόν και το σύστημα μπορεί να «υπέρ εξειδικεύει τις προτάσεις», που περιλαμβάνουν προϊόντα ή αντικείμενα που ο χρήστης γνωρίζει ήδη [6]. Συνεργατικά ή κοινωνικά συστήματα φιλτραρίσματος συστάσεων (CF) είναι συστήματα τα οποία δίνουν στους χρήστες προτάσεις με βάση τις προτιμήσεις άλλων χρηστών με παρόμοια ενδιαφέροντα, προτιμήσεις ή βαθμολόγηση προϊόντων / στοιχείων. Αυτή η προσέγγιση υπολογίζει τις ομοιότητες μεταξύ των προτιμήσεων, των συνηθειών και της ανάδρασης των χρηστών και προτείνει σε άλλους χρήστες το κατάλληλο προϊόν ή στοιχείο. Αυτή η μέθοδος δεν περιορίζεται σε εισηγήσεις για ένα προϊόν ή ενός στοιχείου που έχει επισκεφθεί ή έχουν προτιμηθεί στο παρελθόν, παρότι το σύστημα πρέπει να περιέχει μια μεγάλη ποσότητα δεδομένων που σχετίζονται με τους χρήστες. Επίσης, η ακρίβεια (accuracy) είναι ανεξάρτητη από τον αριθμό των στοιχείων που συνδέονται με ορισμένους χρήστες [29, 30]. Τα συστήματα συστάσεων που βασίζονται στη γνώση, χρησιμοποιούν τη γνώση που προκύπτει από τους χρήστες και τη χρήση των προϊόντων για τη δημιουργία συστάσεων που πληρούν τις απαιτήσεις του χρήστη [12]. Τα συστήματα αυτά είναι ανεξάρτητα από τη βαθμολογία των χρηστών ή τις πληροφορίες σχετικά με τους μεμονωμένους χρήστες [30]. Συνδυάζουν διαδραστικά πληροφορίες σχετικά με τους χρήστες και τα προϊόντα για να δημιουργήσουν τις σχετικές συστάσεις. Τα συστήματα συστάσεων έχουν γίνει εξαιρετικά δημοφιλή τα τελευταία χρόνια. Μερικά παραδείγματα τέτοιων συστημάτων είναι τα ακόλουθα:  Κατά την προβολή ενός προϊόντος στο Amazon.com, το σύστημα συστάσεων του καταστήματος θα προτείνει επιπρόσθετα προϊόντα βασιζόμενο σε έναν πίνακα που έχει δημιουργηθεί εκ των προτέρων από προηγούμενους αγοραστές και επισκέπτες, οι οποίοι έχουν ήδη αγοράσει, αναζητήσει ή διαβάσει το επιλεγμένο στοιχείο/προϊόν [39, 59].

41  Το Netflix προσφέρει προβλέψεις για ταινίες που ένας χρήστης θα μπορούσε να θέλει να παρακολουθήσει με βάση τις προηγούμενες αξιολογήσεις του ίδιου του χρήστη και καταγράφοντας συνήθειες (σε σύγκριση με τη συμπεριφορά των άλλων χρηστών), λαμβάνοντας επίσης υπόψη άλλου είδους χαρακτηριστικά (όπως το είδος) της ταινίας. Το 2009 η εταιρεία Netflix διοργάνωσε έναν παγκόσμιο ανοιχτό διαγωνισμό με την ονομασία «Netflix Prize». Στόχος του διαγωνισμού ήταν η επίτευξη του καλύτερου αλγορίθμου συνεργατικού φιλτραρίσματος, ο οποίος θα ήταν σε θέσει να προβλέψει τις αξιολογήσεις των χρηστών για τις ταινίες με βάση τις προηγούμενες αξιολογήσεις (ratings) που έχουν πραγματοποιήσει οι χρήστες και χωρίς οποιαδήποτε άλλη πληροφορία σχετικά με τους χρήστες ή τις ταινίες13.

1.2.6.2 Explanation Styles

Σύμφωνα με τους Papadimitriou et al. [7], ο χρήστης μπορεί να δεχθεί πιο εύκολα μια σειρά από συστάσεις που του παρέχει ένα σύστημα, όταν αυτό του εξηγεί με ποιο τρόπο/μέθοδο/τεχνική οδηγήθηκε σ’ αυτές. Μ’ αυτό τον τρόπο το σύστημα παρέχει μια διαφάνεια προς το χρήστη και έτσι επιτυγχάνεται η ανάπτυξη εμπιστοσύνης από το χρήστη προς ένα σύστημα συστάσεων. Τα συστήματα συστάσεων παρουσιάζουν συνήθως επεξηγήσεις για τις συστάσεις που παρέχουν με σκοπό να βοηθήσουν τους χρήστες να επιλέξουν προϊόντα, δραστηριότητες ή ακόμη και φίλους (τύποι συστάσεων). Μέχρι πρότινος ίσχυε ότι ο τύπος της επεξήγησης καθοριζόταν σύμφωνα με το σύστημα συστάσεων. Αυτή η σχέση ήταν ένα-προς-ένα (one-to-one), πράγμα που σημαίνει ότι για κάθε διαφορετική κατηγορία συστημάτων συστάσεων, υπήρχε μια διαφορετική κατηγορία στυλ επεξήγησης (explanation style). Για τη διάκριση των συστημάτων συστάσεων χρησιμοποιούνται τρείς καθοριστικοί παράγοντες, οι οποίοι είναι: i) users (χρήστες), ii) items (αντικείμενα) και features (χαρακτηριστικά). Ωστόσο, τα συστήματα συστάσεων των οποίων τα στυλ επεξήγησης στηρίζονται μονάχα σ’ ένα από αυτά, θα μπορούσαν να κατηγορηθούν για υπεραπλούστευση ή για γενίκευση [7].

13 http://www.netflixprize.com

42 Explanation Styles Α. Human style Β. Item style C. Feature style D. Hybrid style MovieLens Amazon Libra Tagsplanations Amazon Ebay Organization Interface MoviExpain Facebook Netflix Top Case HuffPost, Netflix Rec. Widget Geosocial Gowalla, Foursqaure Facebook Places

Πίνακας 3. – Categorization of Explanation Styles.

Οι Papadimitriou et al. (2011) λαμβάνοντας υπόψη τους παραπάνω παράγοντες αλλά και κάθε συνδυασμό αυτών όρισαν τέσσερις (4) διαφορετικούς τύπους επεξηγήσεων (βλ. Πίνακα 3). A. Οι επεξηγήσεις που στηρίζονται στο Human style χρησιμοποιούν άλλους χρήστες και τις προτιμήσεις τους για να δικαιολογήσουν τις συστάσεις τους. Συνήθως το μοντέλο της επεξήγησης είναι του στυλ "Οι χρήστες που αγόρασαν / βαθμολόγησαν το στοιχείο X, αγόρασαν / βαθμολόγησαν επίσης, τα στοιχεία Y, Z,. . . ". Το Human style βασίζεται στην παραδοχή ότι, τόσο ο χρήστης στόχος, όσο και οι χρήστες που είχαν χρησιμοποιηθεί ως επεξήγηση έχουν παρόμοια ενδιαφέροντα. B. Ο τρόπος επεξήγησης Item style παρέχει επεξηγήσεις, οι οποίες βασίζονται στις προτιμήσεις των χρηστών σχετικά με παρόμοια αντικείμενα. Συγκεκριμένα, τα συστήματα συστάσεων που αντιπροσωπεύουν το item style, παρέχουν συστάσεις με βάση τις αξιολογήσεις που ο χρήστης έχει δώσει στο σύστημα. Συνήθως, η επεξήγηση έχει την ακόλουθη μορφή: «Προτείνεται το στοιχείο/αντικείμενο Υ γιατί ο χρήστης αξιολόγησε/αγόρασε το στοιχείο / αντικείμενο Χ". Το ίδιο ισχύει και όταν προτείνονται δραστηριότητες. Στην περίπτωση αυτή η επεξήγηση είναι της μορφής, "Προτείνεται η Υ δραστηριότητα επειδή ο χρήστης (-ες) ενδιαφέρθηκαν για τη δραστηριότητα Χ ". C. Στην πλειοψηφία τους, τα συστήματα συστάσεων που χρησιμοποιούν το Feature style βασίζονται στο περιεχόμενο (content-based). Στην κατηγορία αυτή εντάσσονται και τα Conversational Recommender Systems (CRS) [47]. Ένα CRS χρησιμοποιεί τη φυσική γλώσσα που αναπτύσσεται σ’ ένα διάλογο μεταξύ του χρήστη και του συστήματος. Σ’ αυτή την περίπτωση οι αρχικές προτιμήσεις του χρήστη ενημερώνονται συνεχώς, ώστε να αξιοποιηθούν, προκειμένου το σύστημα να τις συνυπολογίσει και να παρουσιάσει στο

43 χρήστη εξατομικευμένες συστάσεις για ένα στοιχείο/αντικείμενο. Για το λόγο αυτό αναπτύχθηκε ένα πρότυπο text-based σύστημα διαλόγου, εν ονόματι ACORN. Το ACORN κατασκευάστηκε ειδικά για να εφαρμόσει και να αξιολογήσει μια στρατηγική συστάσεων με βάση το διάλογο στον τομέα των ταινιών [47]. D. Ο τελευταίος τρόπος επεξήγησης, Hybrid style, δημιουργείται από οποιονδήποτε συνδυασμό όλων των παραπάνω. Σε αντίθεση με το κοινωνικό γράφημα (δηλ. συνδέσεις εμπιστοσύνης/φίλων) που δεν ασχολείται με την ανάλυση ενός στοιχείου, ή το συνεργατικό φιλτράρισμα που διατηρεί το προφίλ ενός χρήστη βασισμένο κυρίως σε δεδομένα αξιολόγησης, οι αλγόριθμοι που εντάσσονται στο Hybrid style στηρίζονται σε multi-model δεδομένα. Αυτό σημαίνει ότι λαμβάνουν υπόψη μια σειρά από χαρακτηριστικά/στοιχεία, όπως οι φιλίες μεταξύ των χρηστών, τα ενδιαφέροντα κάθε χρήστη, την ιστορικότητα των αξιολογήσεων ενός χρήστη, τη φυσική του θέση κ.α. για να οδηγηθούν στις τελικές συστάσεις. Γενικά, αυτός ο τρόπος επεξήγησης αποδείχθηκε πως είναι ο πιο αποτελεσματικός, δεδομένου ότι ενσωματώνει όλες τις άλλες μορφές [7].

1.3 Location-based Social Network

1.3.1 Definitions

Τα κοινωνικά δίκτυα, τα οποία στηρίζονται στην τοποθεσία του χρήστη και χρησιμοποιούν χάρτες για να αποτυπώσουν την συμπεριφορά και τα ενδιαφέροντα του είναι γνωστά, ως location-based κοινωνικά δίκτυα και τυπικά ορίζονται ως εξής: Ένα location-based social network (LBSN) δεν σημαίνει μονάχα την προσθήκη μιας τοποθεσίας σε ένα υπάρχον κοινωνικό δίκτυο, έτσι ώστε οι χρήστες του δικτύου να μοιράζονται την πληροφορία της τοποθεσίας αυτής, αλλά επίσης περιλαμβάνει μια νέα κοινωνική δομή που αποτελείται από άτομα που συνδέονται μέσω της αλληλεξάρτησης, που προέρχεται από τις θέσεις τους στον φυσικό κόσμο, καθώς και το περιεχόμενο των ετικετών που ενσωματώνουν σε μια τοποθεσία, όπως

44 φωτογραφίες, βίντεο και κείμενο. Εδώ, η φυσική θέση αποτελείται από την στιγμιαία θέση ενός ατόμου σε μία δεδομένη χρονική στιγμή και το σύνολο των τοποθεσιών που ένα άτομο έχει καταχωρίσει σε ένα ορισμένο χρονικό διάστημα. Επιπλέον, η αλληλεξάρτηση δεν περιλαμβάνει μόνο, ότι δύο άτομα συνυπάρχουν στην ίδια φυσική τοποθεσία ή μοιράζονται παρόμοιες δραστηριότητες στην ίδια τοποθεσία, αλλά και η γνώση (π.χ. τα κοινά συμφέροντα, τη κοινή ή μη συμπεριφορά και τις δραστηριότητες τους) που προκύπτει από τη θέση ενός ατόμου ιστορικά και την πληροφορία που εσωκλείεται στη θέση-ετικέτα δεδομένων [65, 66]. Με την έννοια geolocation εννοούμε τον προσδιορισμό της γεωγραφική θέσης ενός αντικειμένου στον πραγματικό κόσμο, όπως ένα ραντάρ, το κινητό τηλέφωνο ή ενός τερματικού μέσω μιας σύνδεσης στο Internet. Επίσης, με την έννοια αυτή γίνεται αναφορά στη πρακτική που ακολουθείται για την εκτίμηση της πραγματικής θέσης. Ένα γεωγραφικό σύστημα πληροφοριών (Geographic Information System - GIS) είναι ένα σύστημα σχεδιασμένο, να συλλαμβάνει, αποθηκεύει, επεξεργάζεται, αναλύει, διαχειρίζεται, και να παρουσιάζει όλους τους τύπους των γεωγραφικών δεδομένων. Το ακρωνύμιο GIS χρησιμοποιείται μερικές φορές ως Geographical Information Science ή Geospatial Information. Με πιο απλά λόγια, ο όρος GIS συμπεριλαμβάνει τις έννοιες της χαρτογράφησης, της στατιστικής ανάλυσης, και των βάσεων δεδομένων [3]. Σε γενικές γραμμές, ο όρος περιγράφει κάθε πληροφοριακό σύστημα που ενσωματώνει, αποθηκεύει, επεξεργάζεται, αναλύει, διαμοιράζει, και εμφανίζει γεωγραφικές πληροφορίες με στόχο την πληροφόρηση για τη διαδικασία λήψης αποφάσεων. Οι εφαρμογές GIS επιτρέπουν στους χρήστες να δημιουργήσουν διαδραστικές ερωτήσεις (δημιουργούνται από το χρήστη αναζητήσεις), να αναλύσουν χωρικές πληροφορίες, να επεξεργαστούν δεδομένα πάνω σε χάρτες, και να παρουσιάσουν τα αποτελέσματα όλων των ενεργειών αυτών [17]. Γεωγραφική επιστήμη των πληροφοριών είναι η επιστήμη, η οποία υποστηρίζει γεωγραφικές έννοιες, εφαρμογές, και συστήματα [28]. Το GPS (Global Positioning System) είναι ένα σύστημα δορυφορικής πλοήγησης που παρέχει πληροφορίες για την ακριβή τοποθεσία του χρήστη (ή της κινητής συσκευής) σε πραγματικό χρόνο ανεξαρτήτως καιρικών συνθηκών, αρκεί να υπάρχει ανεμπόδιστη οπτική επαφή μεταξύ της κινητής συσκευής και τεσσάρων τουλάχιστον δορυφόρων GPS. Το σύστημα αυτό συντηρείται από την κυβέρνηση των

45 Ηνωμένων Πολιτειών και είναι ελεύθερα προσβάσιμο στον καθένα με έναν δέκτη GPS14.

1.3.2 Location-based Services (LBS)

Οι Location-based Services (LBS) έχουν γίνει ένα πολύ δημοφιλή θέμα για έρευνα στις μέρες μας, τόσο από ακαδημαϊκούς, όσο και από την ίδια τη βιομηχανία, καθώς φαίνεται να έχουν επιφέρει μια επανάσταση στην κοινωνική και οικονομική ζωή του ανθρώπου. Οι LBS είναι ένας συνδυασμός της τεχνολογίας ασύρματης δικτύωσης (Wi- Fi15), του γεωγραφικού συστήματος πληροφοριών (GIS) και του γεωγραφικού συστήματος εντοπισμού θέσης (GPS), που επιτρέπουν/παρέχουν πληροφορίες στους χρήστες ανάλογα με τη θέση τους [53]. Ο Yu [67] αναφέρει ότι «οι αλληλεπιδράσεις μεταξύ των χρηστών κινητής τηλεφωνίας και LBS χαρακτηρίζονται από την ανάγκη να επιτευχθεί μια ικανοποιητική απάντηση στα αιτήματα των χρηστών σε πολύ σύντομο χρονικό διάστημα». Ένας χρήστης εν κινήσει δεν είναι πρόθυμος να περιηγηθεί μέσα από πολλές σελίδες και μεγάλη ποσότητα πληροφοριών, ώστε να μάθει τις σχετικές πληροφορίες που επιθυμεί. Αναλυτές και ερευνητές έχουν επιχειρήσει διάφορες προσεγγίσεις για την ταξινόμηση των LBS εφαρμογών. Μια σημαντική διάκριση των LBS είναι αν είναι προσανατολισμένες ως προς το άτομο (person-oriented) ή προσανατολισμένες ως προς την συσκευή (device-oriented) [34]. Οι person-oriented LBS περιλαμβάνουν όλες εκείνες τις εφαρμογές, όπου η υπηρεσία είναι φιλική ως προς τον χρήστη. Σκοπός της εφαρμογής είναι να εστιάσει στην τοποθεσία του χρήστη ή να χρησιμοποιήσει τη θέση του. Συνήθως, ο χρήστης είναι αυτός που ελέγχει και χρησιμοποιεί την υπηρεσία (π.χ. μια εφαρμογή αναζήτησης φίλων με βάση την τοποθεσία του χρήστη). Οι device-oriented LBS είναι ανεξάρτητες από τον χρήστη. Ναι μεν, μπορεί να επικεντρώνονται σ’ αυτόν, αλλά ουσιαστικά δεν τον χρειάζονται για να

14 http://el.wikipedia.org/wiki/Global_Positioning_System 15 Ο όρος WiFi (Wireless Fidelity, προέρχεται από την ορολογία High Fidelity η οποία αφορά την εγγραφή ήχου) χρησιμοποιείται για να προσδιορίσει τις συσκευές που κάνουν χρήστη του προτύπου IEEE 802.11 b/g/n και εκπέμπουν σε συχνότητες 2.4GHz. Ωστόσο το WiFi («ασύρματη πιστότητα» στα ελληνικά) έχει επικρατήσει και ως όρος αναφερόμενος συνολικά στα ασύρματα τοπικά δίκτυα. http://en.wikipedia.org/wiki/Wi-Fi

46 λειτουργήσουν. Οι εφαρμογές αυτές μπορούν να επικεντρωθούν σε έναν χρήστη, ένα αντικείμενο ή μια ομάδα ανθρώπων, χωρίς αυτοί να ελέγχουν την εφαρμογή (π.χ. η εφαρμογή εντοπισμού ενός κλεμμένου αυτοκινήτου). Γενικά, location-based υπηρεσίες μπορούν να θεωρηθούν, οι υπηρεσίες πληροφοριών με τα ακόλουθα χαρακτηριστικά [66]:  Πρόκειται για ολοκληρωμένες υπηρεσίες πληροφόρησης.  Παρέχουν πληροφορίες σχετικά με γεγονότα ή αντικείμενα που ορίζονται γεωγραφικά και σχετίζονται συγκεκριμένα με τον τόπο που βρίσκεται ο χρήστης.  Χρησιμοποιούν τις πληροφορίες που συγκεντρώθηκαν από διάφορες πηγές δεδομένων.  Βασίζονται στα αιτήματα, την ώρα και την τοποθεσία των χρηστών.  Είναι σε θέση να παρέχουν εξατομικευμένες (personalized information) και context-aware πληροφορίες. Επιπλέον, πολλοί ερευνητές έχουν υποστηρίξει ότι η παροχή συνειδητοποιημένου περιεχομένου (context-aware) και εξατομικευμένων υπηρεσιών Ιστού (personalized web services) είναι πολύ σημαντικές για την επιτυχία των κινητών μηχανών αναζήτησης και βοηθάνε, ώστε τα παραγόμενα αποτελέσματά τους να είναι κοντά στις προτιμήσεις ενός συγκεκριμένου χρήστη [16].

1.3.3 Context Awareness

Η επίγνωση του περιεχομένου μιας πληροφορίας (context awareness) ενσωματώνει στα LBSN την έννοια της επίγνωσης της τοποθεσίας (location awareness), της φυσικής θέσης του χρήστη. Ο όροι αυτοί έχουν επίσης εφαρμοστεί στη θεωρία επιχειρήσεων (Business Theory) αναφορικά με θέματα διαχείρισης επιχειρηματικών διαδικασιών (Business Process Management - BPM) [54]. Ωστόσο, ο σχεδιασμός και η ανάπτυξη των location-based υπηρεσιών βρίσκεται αντιμέτωπη με μια μεγάλη ποικιλία από προκλήσεις [66]:  Τεχνικές υποδομές: Η τεχνική υποδομή για location-based υπηρεσίες απαιτεί την υιοθέτηση ή την ανάπτυξη λύσεων για πολλά θέματα σχετικά με, α) τις τεχνολογίες εντοπισμού θέσης, β) την ασύρματη επικοινωνία, γ) τα δίκτυα αισθητήρων, και δ) την τεχνολογία peer-to-peer computing.

47  User Interface: Περιέχει θέματα ευχρηστίας και προσβασιμότητας. Επιπλέον, τίθενται ζητήματα λογισμικού αναφορικά με την γρήγορη και αξιόπιστη παράδοσή πληροφοριών, λόγο των περιορισμών όσον αφορά την ποσότητα των πληροφοριών που μπορεί να εμφανιστεί σε έναν συγκεκριμένο χρόνο, και ποια μέθοδος πρέπει να χρησιμοποιηθεί για την αλληλεπίδραση με το χρήστη.  Διαχείριση Δεδομένων: Η γνώση που παράγεται ή ανακαλείται από τις location-based υπηρεσίες συχνά επικεντρώνεται σε μια περιορισμένη γεωγραφική περιοχή. Δε είναι εύκολο να συγκεντρωθούν όλα τα δεδομένα σε μια ενιαία κεντρική βάση δεδομένων. Η συλλογή δεδομένων, η εισαγωγή δεδομένων και η ενημέρωση τους είναι ευθύνη των παρόχων των εφαρμογών αυτών. Επιπλέον, η πρόσβαση των υπηρεσιών στα δεδομένα αυτά παρέχουν πληροφορίες στη δική τους μορφή και με τη δική τους σημασιολογία.  Εξατομίκευση: Απαιτεί κατάλληλες γνώσεις ενός συγκεκριμένου χρήστη. Το μεγαλύτερο μέρος αυτών των υπηρεσιών ζητούν από τους χρήστες να παρέχουν πληροφορίες στο προφίλ τους, απαντώντας σε ένα ερωτηματολόγιο. Άλλες προσεγγίσεις βασίζονται σε τακτικές αλληλεπιδράσεις με τον ίδιο τον χρήστη, είτε με τη βοήθεια του προσωπικού του προφίλ, είτε με τη βοήθεια της εξόρυξης δεδομένων (data mining), εξάγοντας πληροφορία μέσα από τις προτιμήσεις του χρήστη. Παρά το γεγονός ότι, υπάρχουν σημαντικά ζητήματα σε ό, τι αφορά τη δομή και το είδος του περιεχομένου της πληροφορίας που προκύπτει, τίθεται θέμα οργάνωσης, αποθήκευσης και διατήρησης της πληροφορίας αυτής για μελλοντική χρήση. Υπάρχουν τέσσερις νέες προσεγγίσεις της υιοθέτησης, εξατομίκευσης και παρουσίασης της πληροφορίας αυτής σε κινητές συσκευές [5]: o α) Device-specific authoring, o b) Multiple-device authoring, o c) Client-side navigation, o d) Automatic re-authoring.

48  Context Awareness: Ο Dey [20] έδωσε τους ακόλουθους ορισμούς του «πλαισίου» (context) και της «επίγνωσης ενός πλαισίου» (context- awareness): "Πλαίσιο είναι κάθε πληροφορία που μπορεί να χρησιμοποιηθεί για να χαρακτηρίσει την κατάσταση μιας οντότητας. Μια οντότητα είναι ένα πρόσωπο, ένας τόπος ή ένα αντικείμενο που θεωρείται ότι σχετίζεται, αλληλεπιδρά μεταξύ ενός χρήστη και μιας εφαρμογής, συμπεριλαμβανομένου του χρήστη και της εφαρμογής αυτής. Ένα σύστημα χαρακτηρίζεται ως context-aware, αν το πλαίσιο αυτό χρησιμοποιηθεί για την παροχή σχετικών πληροφοριών και / ή υπηρεσιών προς τον χρήστη, όπου η σχετικότητα αυτού βασίζεται στην εργασία των χρηστών". Ως πλαίσιο θα μπορούσε πιο απλά να οριστεί, τα δεδομένα που εμφανίζονται στον χρήστη, το περιβάλλον ή ακόμα και ολόκληρη η εφαρμογή [10]. Για παράδειγμα, αν υποτεθεί ότι μια location-based υπηρεσία προτείνει στο χρήστη να λάβει μια συγκεκριμένη αμαξοστοιχία σε μια συγκεκριμένη χρονική στιγμή, τι θα συμβεί αν η συγκεκριμένη διαδρομή της αμαξοστοιχίας ακυρωθεί; Ή αν υποτεθεί ότι μια υπηρεσία προτείνει στο χρήστη να ακολουθήσει μια συγκεκριμένη πορεία για να φθάσει σε έναν προορισμό με το αυτοκίνητο, τι θα συμβεί στην περίπτωση που πραγματοποιούνται εργασίες συντήρησης σε αυτό το δρόμο αυτή τη φορά; Τα δύο αυτά παραδείγματα δείχνουν μερικά από τα προβλήματα που ο χρήστης μπορεί να αντιμετωπίσει, εάν η υπηρεσία δεν είναι context-awareness.

1.3.4 Recommender Systems in LBSNs

Με τον καιρό τα συστήματα συστάσεων αναπτύχθηκαν και εφαρμόστηκαν για να καλύψουν τις ανάγκες των κινητών συσκευών [51], τα οποία είναι εξοπλισμένα με σύγχρονα χαρακτηριστικά, όπως η εξατομίκευση της επίγνωσης / ευαισθητοποίησης ενός πλαισίου κλπ. Πολλά ερευνητικά προγράμματα αναφορικά με συστήματα κινητών ξεναγών έχουν εφαρμοστεί από την ακαδημαϊκή κοινότητα.

49 Πολλά από αυτά είναι: (α) MOBYREC [52], το οποίο είναι ένα κινητό σύστημα συστάσεων που επιτρέπει στο χρήστη να εισάγει τις προτιμήσεις για σημεία ενδιαφέροντος, (β) CRUMPET [48], το οποίο είναι ένα σύστημα συστάσεων που μαθαίνει βασιζόμενο στο ιστορικό πλοήγησης του χρήστη και πραγματοποιεί συστάσεις επ’ αυτού και (γ) COMPASS [61], το οποίο είναι ένας κινητός οδηγός που λαμβάνει ως είσοδο τις προτιμήσεις των χρηστών και στη συνέχεια εμφανίζει φιλτραρισμένα αποτελέσματα πάνω στο χάρτη. Το Geolife 2.0 είναι ένα location-based κοινωνικό δίκτυο (LBSN), το οποίο παρουσιάστηκε από τη Microsoft Research Asia [64]. Παρέχει στους χρήστες γενικές και εξατομικευμένες συστάσεις σχετικά με μία τοποθεσία ή δραστηριότητα. Αναφορικά με τις γενικές συστάσεις, το Geolife 2.0 χρησιμοποιεί έναν hits-based αλγόριθμο για να εξαχθεί η δημοτικότητα των συνιστώμενων τοποθεσιών / δραστηριοτήτων. Σε ό, τι αφορά τις εξατομικευμένες συστάσεις, το Geolife 2.0 χρησιμοποιεί ένα ιεραρχικό graph-based μέτρο ομοιότητας με στόχο να μοντελοποιήσει ιστορικά τις τοποθεσίες που έχει επισκεφτεί ο χρήστης. Η προσέγγισή αυτή είναι γνωστή ως Collaborative Location-Activity Recommendation (CLAR) [62].

1.4 Commercial SNs & LBSNs

Στην ενότητα 1.3 ήδη παρουσιάσαμε μερικά από τα μεγαλύτερα και πιο δημοφιλή εμπορικά συστήματα συστάσεων, όπως αυτό της Amazon.com, Pandora.com, Last.fm και Netflix.com. Στη συνέχεια θα παρουσιάσουμε μερικά από τα πιο δημοφιλή εμπορικά συστήματα τα οποία, είτε είναι κοινωνικά δίκτυα τα οποία χρησιμοποιούν location-based υπηρεσίες, είτε πρόκειται για καθαρά location-based κοινωνικά δίκτυα. Η λίστα είναι αρκετά μεγάλη καθότι την τελευταία δεκαετία αναπτύχθηκαν ραγδαία, έγιναν ιδιαίτερα δημοφιλή και με την άνοδο των κινητών συσκευών, ολοένα περισσότερες mobile εφαρμογές έχουν αναπτυχθεί βασισμένες στο geolocation (βλ. ενότητα 1.3.1 παρ. 3).

50 Τον Αύγουστο του 2010, το κοινωνικό δίκτυο Facebook16 ακολουθώντας πιστά τις εξελίξεις εισήγαγε την εφαρμογή Places στην πλατφόρμα του, δίνοντας την ευκαιρία στους χρήστες να ενημερώνουν στο προφίλ τους σχετικά με την τοποθεσία στην οποία βρίσκονται, είτε μέσω σταθερού υπολογιστή, είτε κάνοντας χρήση της κινητής τους συσκευής. Με το Places μπορεί κανείς να ανακαλύψει άλλους φίλους που βρίσκονται κοντά του ή να τους κάνει επισήμανση (tag) σε μέρη που έχει πάει. Επίσης ο χρήστης έχει τη δυνατότητα να προσθέσει μια τοποθεσία ως tag σε μια ανακοίνωση, ένα σχόλιο ή μια φωτογραφία. Δημιουργώντας αυτή την επισήμανση (tag) αυτόματα από την υπηρεσία Places του δίνεται η δυνατότητα να καταχωρήσει μια νέα τοποθεσία στην database του Facebook. Με την αποθήκευση της νέας τοποθεσίας και τη δημιουργία του tag, αυτόματα δημιουργείται και μια fan page σελίδα για το σημείο αυτό. Εν συνεχεία ένας άλλο χρήστης μπορεί να βρει αυτή τη σελίδα και να πατήσει το δημοφιλέστατο “μου αρέσει”. Τέλος, το 2011 το Facebook λάνσαρε μια extra επιπλέον υπηρεσία βασισμένη στην υπηρεσία Places. Αυτή η νέα πιλοτική υπηρεσία ονομαζόταν Deals17 και επέτρεπε στους χρήστες 5 μεγάλων πόλεων των ΗΠΑ να λαμβάνουν προσφορές και εκπτωτικά κουπόνια και να πραγματοποιούν αγορές / check-ins σε τοπικές επιχειρήσεις. Γενικά, το Facebook χρησιμοποιεί την υπηρεσία Bing maps της εταιρείας Bing, η οποία αποτελεί το μεγαλύτερο ανταγωνιστή της υπηρεσίας Google maps, της εταιρείας Google Inc. Η εταιρεία Google Inc, λάνσαρε στις 28 Ιουνίου 2011 σε δοκιμαστική έκδοση το Google Circles που στη συνέχεια μετονομάστηκε σε Google+ (Google plus). Ένα χρόνο αργότερα, τον Ιούνιο του 2012 το νέο αυτό κοινωνικό δίκτυο που ουσιαστικά αναπτύχθηκε για να χτυπήσει το Facebook, είχε 250 εκατομμύρια χρήστες από τους οποίους οι 150 εκατομμύρια ήταν ενεργοί18. Στις 30 Μαΐου του 2012 η υπηρεσία Google Places αντικαταστάθηκε από την υπηρεσία Google+ Local, η οποία αλληλεπιδρά και διασυνδέεται απευθείας με το

16 Σύμφωνα με τον ορισμό της ενότητας 1.4 για τα LBSN, το Facebook δεν αποτελεί LBSN. Πρόκειται για πλατφόρμα κοινωνικού δικτύου, η οποία κάνει χρήση μιας εφαρμογής η οποία είναι location-based. 17 http://venturebeat.com/2011/04/25/facebook-launches-deals/ 18 http://www.engadget.com/2012/06/27/google-has-250-million-users-more-mobile-than-desktop/

51 κοινωνικό δίκτυο Google+, επιτρέποντας στους χρήστες να ανεβάσουν φωτογραφίες και να αφήσουν κριτικές σε μια τοποθεσία απευθείας στο προφίλ τους. Η υπηρεσία δίνει τη δυνατότητα στον χρήστη να ψάξει είτε ανά κατηγορία, είτε ανά περιοχή ή συνδυάζοντας και τα δυο. Επιπρόσθετα, η εφαρμογή κάνει απευθείας χρήση της υπηρεσίας Google maps και του συστήματος βαθμολόγησης (rating system) Zagat19. Αξίζει να σημειωθεί πως υπάρχει η δυνατότητα για τις επιχειρήσεις να καταχωρούν και να δημοσιεύουν την επιχείρηση τους, φτιάχνοντας ουσιαστικά μια αντίστοιχη σελίδα με την fan page του Facebook. Η υπηρεσία αυτή ονομάζεται Google Places for Business20 και δίνει το δικαίωμα στις επιχειρήσεις καταχωρήσουν στο Google+ Local την επιχείρηση τους, να γράψουν μια μικρή περιγραφή, να ανεβάσουν φωτογραφίες και να καθορίσουν ποιες κατηγορίες θα κληθούν να αξιολογήσουν οι χρήστες, όπως για παράδειγμα, φαγητό, εξυπηρέτηση ή κόστος υπηρεσιών. Μ’ αυτό τον τρόπο κάθε προτεινόμενο σημείο έχει τη δική του σελίδα, στην οποία παρουσιάζεται πάνω στο χάρτη. Ο χρήστης έχει τη δυνατότητα να ανεβάσει φωτογραφίες του σημείου αυτού, να δει μια μικρή περιγραφή, προηγούμενες κριτικές και το συνολικό σκορ (rating) του σημείου και τέλος να πληροφορηθεί μέσω της υπηρεσίας “Get Directions” πως μπορεί να φτάσει στο σημείο ενδιαφέροντος (POI). Το Foursquare21 είναι μια εφαρμογή για κινητές συσκευές που καθιστά την πλοήγηση στις πόλεις ευκολότερη και πιο ενδιαφέρουσα, ώστε ο χρήστης να τις εξερευνήσει. Λειτουργεί ως αναζήτηση φίλων, αποτελεί έναν κοινωνικό οδηγό πόλης και ένα παιχνίδι που προκαλεί τους χρήστες να δοκιμάσουν νέα πράγματα, και τους

19 Το σύστημα Zagat (http://www.zagat.com) χρησιμοποιεί μια κλίμακα αξιολόγησης από το 0–30 και συμπεριλαμβάνει συγκεκριμένες κατηγορίες (categories), συμπεριλαμβανομένων του φαγητού, της διακόσμησης, της εξυπηρέτησης και του κόστους. Το Zagat ιδρύθηκε το 1979 από τους Tim και Nina Zagat και το Μάιο του 2012 με την εξαγορά του από την Google, οι αξιολογήσεις των χρηστών και οι βαθμολογίες τους ενσωματώθηκαν στην υπηρεσία Google+ Local. Ωστόσο, αξίζει να σημειωθεί πως από τον χρήστη ζητείται να αξιολογήσει αρχικά σε μια κλίμακα από το 0-1, όπου 0: Poor to Fair, 1: Good, 3: Very Good και 3: Excellent. Στην συνέχεια ο αλγόριθμος της Google, υπολογίζει το συνολικό μέσο όρο στο σύνολο των αξιολογήσεων από τους χρήστες και στην συνέχεια τον πολλαπλασιάζει με το 10, ώστε να εξισώσει τον Μ.Ο. με το σύστημα Zagat. Το τελικό νούμερο που προκύπτει ανήκει στην κίμακα 0 – 30 του συστήματος Zagat, με την παρακάτω ερμηνεία: 0 – 10 Poor to fair, 11–15: Fair to good, 16–20: Good to very good, 21–25: Very good to excellent και 26–30: Extraordinary to perfection 20 http://www.google.com/+/business/ 21 https://foursquare.com/

52 επιβραβεύει γι’ αυτό. Το Foursquare επιτρέπει στους χρήστες να πραγματοποιήσουν "check in" σε ένα μέρος, σε πραγματικό χρόνο, να ενημερώνουν τους φίλους τους για το πού βρίσκονται και να παρακολουθούν χρονικά τις τοποθεσίες στις οποίες έχουν παρευρεθεί και με ποιους είχαν πάει. Το Foursquare ξεκίνησε το 2009 και στις μέρες μας αποτελεί τον ηγέτη των LBSN. Διαθέτει πάνω από 3 εκατομμύρια χρήστες. Το Yelp22 είναι ένας διαδικτυακός τόπος που συνδέει τους ανθρώπους με τις τοπικές επιχειρήσεις και επιτρέπει στους χρήστες να βαθμολογούν, να σχολιάζουν και να μοιράζονται αυτά που τους αρέσουν ή όχι, και έχουν τη δυνατότητα να αφήνουν κριτικές στις επιχειρήσεις. Ιδρύθηκε το 2004, και αυτή τη στιγμή έχει κοινότητες στις ΗΠΑ, τον Καναδά, το Ηνωμένο Βασίλειο, την Ιρλανδία και τη Γαλλία και είναι διαθέσιμο στα κινητά τηλέφωνα. Το Yelp έχει τώρα πάνω από 38 εκατομμύρια τακτικούς επισκέπτες στην ιστοσελίδα του. Το Gowalla ήταν ένα location-based κοινωνικό δίκτυο, όπου οι χρήστες πραγματοποιούσαν «check-in» στην περιοχή τους, είτε μέσω ειδικής εφαρμογής για κινητά ή μέσω του ιστότοπου για κινητές συσκευές. Ως ανταμοιβή οι χρήστες λάμβαναν μερικές φορές κάποια αντικείμενα βασισμένα στα check-ins που πραγματοποιούσαν. Ιδρύθηκε το 2007 και τρία χρόνια αργότερα, το 2010, κέρδισε στην κατηγορία Mobile applications στον ετήσιο διαγωνισμό της South by Soouthwest, Interactive awards23. Το 2012, πέντε χρόνια μετά την εμφάνιση του, εξαγοράστηκε από το Facebook24. Αξίζει να αναφέρουμε σ’ αυτό το σημείο την εφαρμογή Geosocials25, για δυο κύριους λόγους: α) την συνωνυμία με το project που θα περιγράψουμε στο 2ο μέρος αυτού του έργου και β)τις απίστευτες δυνατότητες που έχουν αναδυθεί από την προηγμένη τεχνολογία των κινητών συσκευών και την σημαντική πρόοδο των συστημάτων συστάσεων και των location-based εφαρμογών. Ουσιαστικά δίνει στο χρήστη μια εντελώς εικονική, διαφορετική εικόνα της περιοχής του, όπως δεν την είχε φανταστεί πρωτύτερα. Μπορεί κανείς να ανακαλύψει “θησαυρούς”, να δεχθεί προκλήσεις από άλλους χρήστες, ώστε να ξεκλειδώσει σημεία και να κερδίσει

22 http://www.yelp.com/ 23 SXSW 2010: The changing face of the web (http://www.sxsw.com) 24 http://blog.gowalla.com/post/13782997303/gowalla-going-to-facebook 25 http://www.geosocials.com/

53 πόντους και να δημιουργήσει ο ίδιος θησαυρούς τους οποίους οι υπόλοιποι χρήστες θα πρέπει να ανακαλύψουν. Τους πόντους αυτούς ο χρήστης μπορεί να τους εξαργυρώσει κάποιες φορές και στον πραγματικό κόσμο. Επίσης, δίνει τη δυνατότητα κοινωνικοποίησης του χρήστη, βρίσκοντας άλλους χρήστες κοντά σ' αυτόν, αναπτύσσοντας φιλίες μεταξύ τους, μιας και έχουν τα ίδια ενδιαφέροντα. Ένας εικονικός, διασκεδαστικός τρόπος κοινωνικοποίησης που πατάει πάνω στις νέες τεχνολογίες που περιγράψαμε σ' αυτό το πρώτο μέρος.

1.5 Μελέτη ενός υπάρχοντος συστήματος – Geosocial

Η επιστημονική ομάδα του εργαστηρίου DELAB26 του Α.Π.Θ., ξεκίνησε στις αρχές του 2011 να ασχολείται με τα συστήματα συστάσεων (RS) στα on-line κοινωνικά δίκτυα (OSNs27) με αμείωτο ενδιαφέρον. Αρχικά το ενδιαφέρον ξεκίνησε από τις μεθόδους συνεργατικού φιλτραρίσματος (βλ. ορισμό 1.2.6.1), αναπτύσσοντας τη μέθοδο Social-Union [58] η οποία παρείχε συστάσεις με βάση τις αξιολογήσεις των χρηστών. Εν συνεχεία, το πρόβλημα πρόβλεψης ενός συνδέσμου (link prediction – βλ. ενότητα 1.2.4) απασχόλησε ιδιαιτέρως την ερευνητική ομάδα. Απόρροια αυτής της μελέτης ήταν ο αλγόριθμος FriendLink [45], ο οποίος υπολογίζει την ομοιότητα (similarity) μεταξύ δύο οποιοδήποτε κόμβων ενός κοινωνικού γράφου. Ο αλγόριθμος αυτός στηρίχτηκε στον αλγόριθμο του Rubin [25], ωστόσο η πρωτοπορία αυτού έγκειται στο γεγονός ότι δεν υπολογίζει όλα τα πιθανά μονοπάτια μεταξύ 2 κόμβων στο σύνολο G του γράφου, αλλά αρχικά θέτουμε το μήκος ℓ28 που μας ενδιαφέρει να έχουν τα μονοπάτια αυτά.

26 Γιάννης Μανολόπουλος, Παναγιώτης Συμεωνίδης και Αλέξης Παπαδημητρίου 27 Ισχύει ο ορισμός της ενότητας 1.2. Ωστόσο, πρόκειται για τη μεταφορά / δημιουργία ενός κοινωνικού δικτύου στο Διαδίκτυο. 28 Το μήκος ℓ ενός μονοπατιού (path) ισούται με το πλήθος των ακμών που εμπεριέχει.

54 1.5.1 Ανάλυση της ΒΔ του Geosocial

Την ίδια χρονιά, 2011, η ερευνητική ομάδα του DELAB δημοσιεύει το άρθρο υπό την ονομασία “Geosocial Recommendations”, στο οποίο γίνεται λόγος για ένα πρωτότυπο on-line σύστημα συστάσεων που βασίζεται στη χρήστη "check-in" για την παροχή συστάσεων σχετικά με, έναν χρήστη, μια τοποθεσία ή μια δραστηριότητα. Η αρχιτεκτονική του συστήματος αυτού, αποτελείται από: α) τον ιστότοπο (the website) και αυτός με την σειρά του από τέσσερα υποσυστήματα (καρτέλες): i) Friend Recommendation ii) Location Recommendation iii) Activity Recommendation iv) Check-in System β) το προφίλ της ΒΔ και γ) το σύστημα συστάσεων.

Σχήμα 12. – Η αρχιτεκτονική του Συστήματος Συστάσεων Geosocial.

Οι συστάσεις σχετικά με τους φίλους βασίζονται στον αλγόριθμο FriendLink και στον μέσο όρο των γεωγραφικών αποστάσεων μεταξύ των «check-ins» των

55 χρηστών, τα οποία χρησιμοποιούνται ως βάρη (link weights). Οι άλλοι δυο τύποι συστάσεων, αυτά των τοποθεσιών (Point of Interest Recommendation) και των δραστηριοτήτων (Activity Recommendation), βασίζονται στο σύνολο των check-ins που έχει κάνει ο χρήστης ιστορικά. Η ΒΔ του συστήματος Geosocial στηριζόταν στο δημοφιλές Σύστημα Διαχείρισης Βάσεων Δεδομένων (DBMS29), MySQL30 (v.5.5.8). Η παρακάτω εικόνα μας δείχνει το σχήμα της ΒΔ, δηλαδή τη δομή της. Η ΒΔ απαρτιζόταν από τέσσερεις πίνακες οι οποίοι συνδέονταν μεταξύ τους με τα πρωτεύοντα κλειδιά του κάθε πίνακα.

Σχήμα 13. – Αναπαράσταση της συνδεσιμότητας των πινάκων της ΒΔ του Geosocial.

Η ΒΔ είχε πολύ λίγες εγγραφές, κάτι το οποίο βοηθά πάρα πολύ στην ανταπόκριση του συστήματος κατά το τρέξιμο ενός ερωτήματος (αλγόριθμου) στη

29 http://en.wikipedia.org/wiki/Database_management_system 30 http://www.mysql.com

56 ΒΔ. Επίσης, δεν μπορούν να βγουν ακριβή και ασφαλή συμπεράσματα σχετικά με την αξιοπιστία και την αποτελεσματικότητα ενός αλγορίθμου, καθότι με ελλειπή στοιχεία ίσως να έχουν παραλειφθεί κρίσιμοι παράγοντες ή πληροφορίες που θα μπορούσαν να επηρεάσουν τις τελικές συστάσεις προς τους χρήστες.

1.5.2 Παρουσίαση του Geosocial

Στην αρχική έκδοση του Geosocial και πριν την εισαγωγή του στο σύστημα ο μελλοντικός χρήστης είχε την δυνατότητα μονάχα δύο ενεργειών, είτε να πραγματοποιήσει εγγραφή, είτε να πραγματοποιήσει εισαγωγή στο σύστημα. Η αρχική σελίδα (Εικόνα 1.) που συναντούσε ο επισκέπτης ήταν αρκετά λιτή και τον οδηγούσε μόνο στην φόρμα εγγραφής (Εικόνα 2.).

Εικόνα 1. – Log In. Εικόνα 2. – Register.

Μετά την εισαγωγή του στο σύστημα ο χρήστης συνέχιζε να αντικρίζει την πρότυπη μορφή του Geosocial, η οποία χαρακτηριζόταν από λιτότητα. Στην αρχική σελίδα υπήρχε η μπάρα του menu, η δυνατότητα προσθήκης προσωπικής φωτογραφίας, η εμφάνιση των φίλων του χρήστη, ο χάρτης με τα σημεία στα οποία είχε κάνει check-ins ο χρήστης και μια μπάρα με drop down menus που επέτρεπαν στο χρήστη να πραγματοποιήσει ένα νέο check-in.

Εικόνα 3. – Menu.

57

Εικόνα 4. – Εμφάνιση των φίλων του χρήστη.

Εικόνα 5. – Drop down menus για την πραγματοποίηση Check-In.

Αξίζει να σημειωθεί πως αν στην Εικόνα 4. υπήρχαν συνολικά 2 ή 3 φίλοι, τότε ο πίνακας θα είχε τρεις (3) εγγραφές από τρεις (3) στήλες, όπου στη 1η θα εμφανιζόντουσαν οι εικόνες των φίλων, στη 2η τα ονόματα τους και στην 3η η επιλογή της διαγραφής τους (delete). Η Εικόνα 5. δείχνει το μοναδικό τρόπο που είχε στη διάθεση του ο χρήστης για να πραγματοποιήσει check-in. Αρχικά, ο χρήστης επιλέγει την πόλη που επιθυμεί, η σελίδα πραγματοποιεί αυτόματα ανανέωση (refresh) και στο 2ο drop down menu εμφανίζονται τα σημεία που ανήκουν στην πόλη που επέλεξε ο χρήστης. Στη συνέχεια επιλέγοντας το σημείο ενδιαφέροντος (Point Of Interest) που επιθυμεί ο χρήστης, η σελίδα ανανεώνεται εκ νέου αυτόματα και εμφανίζεται στο πεδίο «Address» η διεύθυνση που αντιστοιχεί στο σημείο αυτό. Στη συνέχεια ο χρήστης μπορεί να βαθμολογήσει το σημείο επιλέγοντας ανάμεσα στις κατηγορίες «Good», «Average» και «Bad» και να αφήσει ένα μικρό σχόλιο. Πατώντας το κουμπί «Check in now!» η σελίδα θα ανανεωθεί εκ νέου και στο χάρτη θα εμφανιστεί το σημείο στο οποίο πραγματοποίησε Check-in και από κάτω μια νέα εγγραφή με τα στοιχεία του Check-in. Στη συνέχεια πατώντας στην επιλογή «Friend Recommendation» από το menu, ο χρήστης θα οδηγηθεί στην καρτέλα όπου του δίνονται συστάσεις για νέους φίλους με δύο διαφορετικούς τρόπους. Στον 1ο πίνακα εμφανίζονται συστάσεις για

58 πιθανούς 2-hops φίλους. Αυτός ο αλγόριθμος στηρίζεται στους κοινούς φίλους που έχει ο χρήστης με τον χρήστη που του προτείνεται ως φίλο. Ο όρος 2-hops αναφέρεται στο μήκος ℓ=2 που υπάρχει ανάμεσα στους δύο χρήστες. Αντίστοιχα, με τον όρο 3-hops αναφερόμαστε στα μονοπάτια μήκους ℓ=3 μεταξύ του αρχικού χρήστη και των χρηστών που του προτείνονται ως φίλοι. Μια ακόμα σημαντική διαφορά μεταξύ των δύο αυτών τρόπων συστάσεων φιλίας είναι, ότι ο πρώτος εμφανίζει στον χρήστη το πλήθος των χρηστών και ποιοι είναι αυτοί, ενώ ο δεύτερος εμφανίζει τα μονοπάτια μέσων των οποίων οδηγείται στους φίλους που προτείνει, καθώς και το πλήθος αυτών των μονοπατιών. Παρακάτω παραθέτουμε και τους δύο αυτούς τρόπους:

Πίνακες 4. και 5. – Συστάσεις φιλίας με βάση τους 2-hops και 3-hops φίλους.

Πατώντας το κουμπί «add», ο χρήστης παίρνει μήνυμα επιβεβαίωσης ότι ο χρήστης προστέθηκε στους φίλους του και στη συνέχεια η σελίδα ανανεώνεται

59 εμφανίζοντας την αρχική σελίδα (Profile) στον χρήστη. Αν ο χρήστης επιθυμεί να προσθέσει κι άλλο χρήστη, θα πρέπει να ακολουθήσει την ίδια διαδικασία. Στη συνέχεια πατώντας στην καρτέλα «Point Of Interest Recommendation», οδηγείται στην σελίδα του τύπου συστάσεων τοποθεσιών με βάση τη δραστηριότητα / κατηγορία, για την οποία ενδιαφέρεται ο χρήστης. Ο χρήστης αρχικά πρέπει να επιλέξει την επιθυμητή πόλη και στη συνέχεια την επιθυμητή δραστηριότητα / κατηγορία (Εικόνα 6.) και να πατήσει το κουμπί «Select!».

Εικόνα 6. – Επιλογή συνδυασμού τοποθεσίας και δραστηριότητας.

Η σελίδα θα ανανεωθεί και ο χρήστης θα δει το αποτέλεσμα της Εικόνας 7. Τα σημεία ενδιαφέροντος με βάση τα στοιχεία που επέλεξε ο χρήστης εμφανίζονται πάνω στο χάρτη αλλά και σε μορφή πίνακα. Πατώντας αριστερό κλικ πάνω στην κουκκίδα παίρνουμε κάποιες βασικές πληροφορίες για το σημείο αυτό. Επίσης, αν στο συγκεκριμένο παράδειγμα είχαμε περισσότερα από ένα σημεία, τότε με το κουμπί «Move» μπορούμε να πλοηγηθούμε διαδραστικά πάνω στο χάρτη, ανάμεσα στα διάφορα σημεία τα οποία προτείνονται στον χρήστη.

Εικόνα 7. – Εμφάνιση των σημείων που προτείνονται πάνω στο χάρτη.

60 Στη συνέχεια, ο χρήστης πατώντας στην καρτέλα «Activity/Category Recommendation», οδηγείται στην σελίδα του τύπου συστάσεων δραστηριοτήτων με βάση την τοποθεσία που βρίσκεται ο χρήστης. Ο χρήστης αρχικά αρκεί να επιλέξει την επιθυμητή πόλη (Εικόνα 8.) και στη συνέχεια να πατήσει το κουμπί «Select!».

Εικόνα 8. – Επιλογή της τοποθεσίας από το χρήστη.

Εικόνα 9. – Χάρτης συστάσεων σημείων με βάση την τοποθεσία “Thessaloniki”.

Η σελίδα θα ανανεωθεί και ο χρήστης θα αντικρίσει έναν χάρτη με όλα τα σημεία που ανήκουν στην τοποθεσία που έχει επιλέξει. Κάτω από τον χάρτη παρουσιάζονται μόνο 6 σημεία από το σύνολο των σημείων. Αν και αυτό εκ πρώτης όψεως θα μπορούσε να αποτελεί πλεονέκτημα δηλαδή, ναι μεν προτείνονται κάποια σημεία αλλά δίνεται, επιπρόσθετα, η δυνατότητα στο χρήστη να εξερευνήσει και όλα τα υπόλοιπα, ωστόσο δεν υπάρχει κάποιος προκαθορισμένος τρόπος εμφάνισης των συγκεκριμένων έξι σημείων και όχι κάποιων άλλων. Με μια πιο προσεκτική ματιά

61 στον Πίνακα 6., μπορεί κανείς να αντιληφθεί μια φθίνουσα ταξινόμηση, τόσο στη στήλη «Category», όσο και στην στήλη «Point Of Interest». Στην περίπτωση αυτή, έχοντας περισσότερα από ένα σημεία, ο χρήστης μπορεί να χρησιμοποιήσει το κουμπί «Move!» για να πλοηγηθεί στα σημεία ενδιαφέροντος που του προτείνονται.

Πίνακας 6. – Εμφάνιση των σημείων που προτείνονται σε μορφή πίνακα.

Στη συνέχεια πατώντας στην καρτέλα «Friend Search», ο χρήστης οδηγείται στη σελίδα αναζήτησης χρηστών, η οποία μπορεί να χρησιμοποιηθεί και ως δεύτερος τρόπος πραγματοποίησης φιλιών μεταξύ των χρηστών (ο 1ος τρόπος ανήκει στο τύπο συστάσεων φιλίας «Friend Recommendation). Ο χρήστης πληκτρολογώντας οποιοδήποτε συνδυασμό χαρακτήρων και αριθμών ακόμα και email στην μπάρα αναζήτησης (Εικόνα 10.) και πατώντας το κουμπί «Search», μπορεί να λάβει τα αποτελέσματα της αναζήτησης στη μορφή που δείχνει ο Πίνακας 7.

Εικόνα 10. – Μπάρα αναζήτησης χρηστών.

Πίνακας 7. – Εμφάνιση των αποτελεσμάτων της αναζήτησης.

62 Ακολούθως, πατώντας ο χρήστης στο κουμπί «add» λαμβάνει μήνυμα επιβεβαίωσης ότι ο χρήστης προστέθηκε στους φίλους του και στη συνέχεια η σελίδα ανανεώνεται και εμφανίζει την αρχική σελίδα (Profile) στον χρήστη. Αν ο χρήστης επιθυμεί να προσθέσει κι άλλο χρήστη, θα πρέπει να ακολουθήσει την ίδια διαδικασία. Τέλος, πατώντας στην επιλογή «Logout», ο χρήστης αποσυνδέεται από το προφίλ του λαμβάνοντας χαρακτηριστικό μήνυμα. Στη συνέχεια η σελίδα ανανεώνεται αυτόματα και εμφανίζεται η αρχική σελίδα, όπου πρέπει να πραγματοποιήσει Log In αν θέλει να εισέλθει εκ νέου στο προφίλ του.

1.5.3 Αξιολόγηση

Στους κόλπους των διάφορων επιστημών της μηχανικής, της βιομηχανίας και της στατιστικής, η ακρίβεια (accuracy) ενός συστήματος μέτρησης (π.χ. αλγόριθμος) είναι ο βαθμός της εγγύτητας των μετρήσεων της ποσότητας αυτής, σχετικά με την πραγματική (αληθινή) αξία αυτής της ποσότητας. Η ακρίβεια (precision) ενός συστήματος μέτρησης, που ονομάζεται επίσης αναπαραγωγιμότητα (reproducibility) και επαναληψιμότητα (repeatability), είναι ο βαθμός στον οποίο επαναλαμβανόμενες μετρήσεις υπό αμετάβλητες συνθήκες δείχνουν τα ίδια αποτελέσματα [33]. Με όρους αναγνώρισης και ανάκτησης πληροφοριών, η ακρίβεια (precision) είναι το κλάσμα των ανακτημένων περιπτώσεων που είναι σχετικές, ενώ η ανάκληση (recall) είναι το κλάσμα των συναφών περιπτώσεων που ανακτώνται. Και οι δυο έννοιες βασίζονται στην κατανόηση και τη μέτρηση της συνάφειας (relevance) [49]. Για να γίνουν περισσότερο κατανοητές οι έννοιες αυτές στον αναγνώστη, θα περιγράψουμε ένα σύντομο παράδειγμα. Έστω, λοιπόν, ότι σ’ ένα δωμάτιο έχουμε ένα σύνολο αντικειμένων από 20 τραπέζια και 40 καρέκλες. Το πρόγραμμα αναγνώρισης και ανάκτησης πληροφοριών διαλέγει τυχαία 20 αντικείμενα, τα οποία τα αναγνωρίζει ως καρέκλες. Αν οι 15 από τις ταυτοποιήσεις είναι σωστές, αλλά τα 5 από αυτά αντικείμενα στην πραγματικότητα είναι τραπέζια, τότε η ακρίβεια του προγράμματος είναι 15/20, ενώ η ανάκληση είναι 15/40. Στην περίπτωση λοιπόν, της αξιολόγησης του τύπου συστάσεων, Geosocial, οι έννοιες αυτές ορίζονται αντίστοιχα ως εξής [44]:

63 Ακρίβεια (precision) είναι ο λόγος του αριθμού των προτεινόμενων φίλων / τοποθεσιών / δραστηριοτήτων της top-N λίστας σχετικά με το Ν. Ανάκληση (recall) είναι ο λόγος του αριθμού των προτεινόμενων φίλων / τοποθεσιών / δραστηριοτήτων της top-N λίστας, σε σχέση με το συνολικό αριθμό των προτεινόμενων φίλων / τοποθεσιών / δραστηριοτήτων. * Όπου top-Ν η λίστα με τις καλύτερες συστάσεις και Ν ένας συγκεκριμένος φίλος, τοποθεσία ή δραστηριότητα. Η αξιολόγηση του συστήματος σύμφωνα με τις παραπάνω έννοιες μέτρησης, έδειξε πως ο αλγόριθμος είναι περισσότερο ακριβής όσο αναφορά τις συστάσεις με βάση τη δραστηριότητα, απ’ ότι με βάση την τοποθεσία. Μια πιθανή εξήγηση αυτού θα μπορούσε να είναι, ότι το πλήθος των δραστηριοτήτων είναι μικρότερο από το πλήθος των σημείων. Σημαντικό είναι το γεγονός, ότι η απόδοση του αλγόριθμου FriendLink είναι αρκετά μικρή. Η εξήγηση που δίνουν οι Simeonidis et al [32, 57]. Έγκειται στο γεγονός ότι τα δεδομένα είναι ελάχιστα και ότι το δίκτυο φιλίας έχει μέσο όρο κόμβων 2.7 και ο μέσος όρος της μικρότερης απόστασης μεταξύ αυτών είναι 4.7.

Διάγραμμα 1.: Ανάκληση και Ακρίβεια για το σύστημα συστάσεων φιλίας, τοποθεσίας και δραστηριότητας.

Η συνεισφορά της προσέγγισης αυτής μπορεί να συνοψιστεί στα εξής: (i) Ορίστηκε ένα νέο μέτρο ομοιότητας των κόμβων, που αξιοποιεί τα τοπικά και τα παγκόσμια χαρακτηριστικά ενός δικτύου. (ii) Παρείχαν πιο ακριβείς συστάσεις φιλίας διασχίζοντας μονοπάτια διαφορετικού μήκους, που συνδέουν ένα άτομο με όλα τα

64 άλλα πρόσωπα σε ένα OSN. (iii) Παρείχαν υψηλότερη απόδοση από τις global-based προσεγγίσεις περιορίζοντας το μήκος-ℓ των διαδρομών σε ένα δίκτυο. (iv) Δημιουργήθηκαν, επίσης, παραλλαγές των μεθόδων αυτών, οι οποίες εφαρμόζονται σε διαφορετικούς τύπους δικτύων (κατευθυνόμενων ή μη, και υπογεγραμμένων ή μη). Οι συγγραφείς απέδειξαν ότι μια σημαντική βελτίωση στην ακρίβεια μπορεί να αποκτηθεί με τη χρήση πληροφοριών σχετικά τόσο με θετικές, όσο και με αρνητικές πλευρές (positive / negative edges). (v) Για την εκτέλεση των αλγορίθμων αυτών σε δίκτυα τεράστιου μεγέθους, γίνεται λόγος για την πιθανή υλοποίηση μέσω του MapReduce [32, 43].

65

Κεφάλαιο 2ο Geosocial beta 2.0

66 Κεφάλαιο 2ο

Στο 2ο κεφάλαιο της παρούσας εργασίας θα ακολουθήσει η παρουσίαση και ανάλυση των σημαντικότερων αλλαγών, τροποποιήσεων και προσθηκών που έλαβαν χώρα για την εξέλιξη του Geosocial στη μορφή που είναι σήμερα, Geosocial231. Αρχικά, θα θέσουμε τις βάσεις και τους στόχους της παρούσας εργασίας και ακολούθως, θα γίνει η παρουσίαση της εξέλιξης της ΒΔ πάνω στην οποία στηρίχθηκε το νέο πρότυπο Geosocial2. Ακολούθως, θα γίνει αναφορά ορισμένων γενικών στατιστικών δεδομένων που προέκυψαν από τη χρήση του Geosocial2. Στη συνέχεια, θα παρουσιαστούν και θα συγκριθούν οι δύο μέθοδοι αναζήτησης χρηστών και πως αυτές χρησιμοποιούνται για την προσθήκη νέων φίλων. Επίσης, θα παρουσιαστούν οι δύο τρόποι με τους οποίους ένας χρήστης μπορεί να πραγματοποιήσει check-ins πάνω στο χάρτη. Δίνεται η δυνατότητα στο χρήστη να πραγματοποιήσει check-in είτε σ’ ένα προϋπάρχον σημείο πάνω στο χάρτη, είτε να εισάγει ο ίδιος ένα νέο σημείο. Ακολούθως, θα παρουσιαστεί με αρκετή λεπτομέρεια το νέο σύστημα συστάσεων του Geosocial2. Πλην της βελτίωσης και τροποποίησης των ήδη υπαρχόντων αλγορίθμων που παρουσιάστηκαν στην υποενότητα 1.5.2 του προηγούμενου κεφαλαίου, θα παρουσιαστούν και οι δύο νέοι αλγόριθμοι οι οποίοι πραγματοποιούν συστάσεις λαμβάνοντας υπόψη μόνο τις προτιμήσεις των φίλων ενός χρήστη.

2.1 Στόχοι της υπάρχουσας εργασίας

Πρωταρχικός στόχος της παρούσας εργασίας ήταν η επέκταση του Συστήματος Συστάσεων του Geosocial, έτσι ώστε να λαμβάνει υπόψη τη γεωγραφική επιρροή και άλλες σημασιολογικές παραμέτρους, οι οποίες θα μπορούσαν να διαδραματίσουν καθοριστικό ρόλο στον τρόπο που πραγματοποιούνται τα «check- ins» από πλευράς χρηστών. Επιπρόσθετα, τέθηκε ως στόχος η δημιουργία δύο αλγορίθμων που θα λαμβάνουν υπόψη μόνο τα check-ins που έχουν πραγματοποιηθεί

31 Ανατρέξτε στο Ι μέρος του παραρτήματος, στην ενότητα 1.9 για να δείτε όλες τις αλλαγές/προσθήκες που συντελέστηκαν για την υλοποίηση της παρούσας μορφής του Geosocial2.

67 από τους φίλους ενός χρήστη, για την παροχή συστάσεων, είτε με βάση την τοποθεσία, είτε με βάση τη δραστηριότητα. Ωστόσο, απώτερος στόχος της υλοποίησης όλων των παραπάνω ήταν εκπόνηση μιας μελέτης χρηστών (Κεφάλαιο 3ο), η οποία θα μετρούσε την ικανοποίηση και την προτίμηση των χρηστών έναντι των δύο διαφορετικών επεξηγηματικών στυλ (explanation styles) και στους τρεις τύπους συστάσεων. Συγκεκριμένα, επιτεύχθηκαν μια σειρά από σημαντικές αλλαγές και προσθήκες, οι οποίες κατέστησαν το Geosocial ένα πιο πλήρες κοινωνικό δίκτυο, ενσωματώνοντας του βασικές λειτουργίες αυτών, τις οποίες θα δούμε και θα περιγράψουμε εκτενώς στο παρόν κεφάλαιο. Βελτιστοποιήσαμε και ενσωματώσαμε επιπλέον location-based υπηρεσίες, οι οποίες έδωσαν στο χρήστη τη δυνατότητα να πραγματοποιεί check-ins πάνω στο χάρτη σε πραγματικό χρόνο, πιο εύκολα και διαδραστικά, αλλά και τη δυνατότητα να προσθέτει ο ίδιος ένα νέο σημείο ενδιαφέροντος στη ΒΔ του Geosocial2. Επιπρόσθετα, θα δούμε ότι εμπλουτίστηκαν οι υπάρχοντες αλγόριθμοι συστάσεων με βάση την τοποθεσία και τη δραστηριότητα, εμφανίζοντας στον χρήστη επιπλέον πληροφορία σχετικά με τα συνολικά check-ins που έχουν πραγματοποιηθεί σ’ ένα σημείο, καθώς και το Μ.Ο. των βαθμολογίων που έχουν δώσει οι χρήστες για το σημείο αυτό. Εκτός από τους προϋπάρχοντες αλγόριθμους, δημιουργήθηκαν και δύο νέοι οι οποίοι πρότειναν σημεία ενδιαφέροντος με βάση την επιθυμητή τοποθεσία ή τη δραστηριότητα από πλευράς χρήστη, λαμβάνοντας υπόψη μόνο τα check-ins που έχουν πραγματοποιηθεί από τους φίλους ενός χρήστη.

2.2 Ανάλυση της ΒΔ του Geosocial2

Η ΒΔ μας αποτελείται από 12 πίνακες, οι οποίοι είναι οι ακόλουθοι: i. activities vii. evactivity ii. checkins viii. evfriendrec iii. cities ix. evpoirec iv. country x. evsearch v. dijnodes xi. places vi. dijpaths xii. ratings

68

Σχήμα 14. – Αναπαράσταση της συνδεσιμότητας των πινάκων της ΒΔ του Geosocial2.

Οι πίνακες32 evactivity, evfriendrec, evpoirec και evsearch συλλέγουν τα δεδομένα από τις φόρμες αξιολόγησης των διάφορων τύπων συστάσεων. Από τους υπόλοιπους πίνακες οι σημαντικότεροι είναι ο πίνακας dijnodes στον οποίο αποθηκεύονται όλοι οι χρήστες και πληροφορίες σχετικά μ’ αυτούς, ο πίνακας dijpaths στον οποίο αποθηκεύονται οι σύνδεσμοι φιλίας που δημιουργούνται ανάμεσα σ’ έναν χρήστη και σ’ έναν φίλο του, ο πίνακας places στον οποίο αποθηκεύονται όλα τα νέα σημεία που καταχωρούνται από τους χρήστες και τέλος, ο πίνακας checkins στον οποίο αποθηκεύονται όλα τα check-ins που πραγματοποιούνται στο σύνολο των χρηστών μαζί με όλες τις πληροφορίες που αυτά φέρουν. Πιο αναλυτικά, ο πίνακας dijnodes αποτελείται από 15 πεδία, με πρωτεύον κλειδί το nodeID. Το πρωτεύον κλειδί αποτελεί το συνδετικό κρίκο μεταξύ των διάφορων πινάκων σε μια ΒΔ. Στο πεδίο link της προσωπικής εικόνας ενός χρήστη έχουμε προκαθορίσει το default link, το οποίο όμως αλλάζει μετά από την εισαγωγή μιας νέας εικόνας από τον χρήστη. Το πεδίο country παίρνει πληροφορία από τον

32 Για το Σχήμα της Βάσης Δεδομένων και τα πεδία του κάθε πίνακα ανατρέξτε στο I. μέρος, ενότητα 1.8 & 1.9 του Παραρτήματος.

69 πίνακα country. Το πεδίο level μπορούμε να το χρησιμοποιήσουμε σε περίπτωση που θέλουμε να δώσουμε σε συγκεκριμένους χρήστες ενός κοινωνικού δικτύου συγκεκριμένα/extra δικαιώματα (privileges). Το πεδίο level μπορεί να πάρει τιμές 0, 1, όπου 1 οι χρήστες με τα extra δικαιώματα. Τα πεδία login_date, birthday και Sex τα χρησιμοποιήσαμε κυρίως για στατιστικούς σκοπούς, ενώ το πεδίο edit_date για να παρατηρούμε την κίνηση ενός χρήστη, αλλά και για να μπορέσουμε να παρουσιάσουμε στους υπόλοιπους χρήστες περισσότερη πληροφορία για έναν φίλο του33. Το ίδιο ισχύει και για τα πεδία status, about. Ενώ η πληροφορία του πεδίου homeloc χρησιμοποιείτε στη διασύνδεση της υπηρεσία «Get Direction» με το Google maps34. Στον πίνακα dijpaths, το πεδίο pathID κάνει χρέη πρωτεύοντος κλειδιού. Στη συνέχεια στο πεδίο fromNodeID αποθηκεύεται το nodeID (από τον πίνακα dijnodes) του χρήστη που κάνει το “αίτημα φιλίας” και στο πεδίο toNodeID το nodeID του χρήστη που γίνεται φίλος (“αποδέχεται το αίτημα”). Στον πίνακα places, το πρωτεύον κλειδί αποτελεί το πεδίο placeID. Στη συνέχεια αποθηκεύουμε την ονομασία του σημείου ενδιαφέροντος (placeName), τις συντεταγμένες και τη διεύθυνση του πάνω στο χάρτη (placeX, placeY & placeAddress, αντίστοιχα) τα οποία τα παίρνουμε αυτόματα από την υπηρεσία Google maps. Το πεδίο placeCity συνδέεται με το πρωτεύον κλειδί του πίνακα cities. Τέλος, αξίζει να τονισθεί πως στο πεδίο placeActivity καταχωρείται το πρωτεύον κλειδί που αντιστοιχεί σε μια συγκεκριμένη δραστηριότητα του πίνακα activities, εν τούτοις αυτή η δραστηριότητα αν και χαρακτηρίζει το σημείο αυτό, στον πίνακα checkins θα δούμε πως υπάρχει άλλο πεδίο για την δραστηριότητα το οποίο μπορεί να προσδώσει σ’ ένα σημείο περισσότερες από μία δραστηριότητες, ανάλογα με την εμπειρία του χρήστη. Στον πίνακα checkins χρέη πρωτεύοντος κλειδιού έχει το πεδίο id. Στη συνέχεια αποθηκεύονται μια σειρά από ξένα πρωτεύοντα κλειδιά (τα πρωτεύοντα κλειδιά άλλων πινάκων). Στο πεδίο nodeID αποθηκεύεται ο αύξων αριθμός του χρήστη από τον πίνακα dijnodes. Στο πεδίο placeID αποθηκεύεται ο αύξων αριθμός ενός σημείου. Στο πεδίο ratingID αποθηκεύεται ο αύξων αριθμός που συμβολίζει το ύψος της αξιολόγησης (τιμές από 1 έως 5). Στο πεδίο activityID αποθηκεύεται ο

33 βλ. μέρος III, ενότητα 2.5 του εγχειρίδιου χρήσης 34 βλ. μέρος III, ενότητα 2.6 του εγχειρίδιου χρήσης

70 αύξων αριθμός μιας δραστηριότητας από τον πίνακα activities. Όπως είπαμε και ποιο πάνω, η δραστηριότητα σ’ ένα σημείο δεν είναι απαραίτητο να συμβαδίζει με την δραστηριότητα που έχει αποθηκευτεί σαν πληροφορία στο πεδίο placeActivity του πίνακα places. Στο πεδίο cityID αποθηκεύεται ο αύξων αριθμός που αντιστοιχεί στην πόλη στην οποία ανήκει το σημείο. Στα πεδία date και tag αποθηκεύεται η πληροφορία της χρονικής στιγμής που πραγματοποιείται το check-in από τον χρήστη και το σχόλιο που αυτός αφήνει γι’ αυτό το σημείο. Για παράδειγμα, στον παρακάτω Πίνακα 8. παρουσιάζουμε το σημείο «Aristotelous Square», το οποίο στον πίνακα places, στο πεδίο placeActivity έχει τον αριθμό 16, ο οποίος αντιστοιχεί στην δραστηριότητα/κατηγορία «sight-seeing». Ωστόσο, στον πίνακα checkins βλέπουμε πως διαφορετικοί χρήστες έχουν κάνει check-in στην συγκεκριμένη τοποθεσία και έχουν επιλέξει διαφορετικές δραστηριότητες ή κατηγορίες. Αυτό θα μπορούσε να ισχύσει ακόμα και για check-ins προερχόμενα από έναν μόνο χρήστη. Π.χ. ένας χρήστης απολαμβάνει τον καφέ του ή τη βόλτα του στην συγκεκριμένη τοποθεσία ή κάποιος άλλος την χαρακτηρίζει ως «sight-seeing» ή ως «park». placeID placeName placeAddress placeActivity 16 Aristotelous Square Aristotle Square 16

nodeID placeID ratingID activityID Avg Rating 43 16 4 11 4 135 16 5 4 5 68 16 4 33 33 16 4 33 4,33 179 16 5 33 191 16 4 16 2,5 192 16 1 16 Πίνακας 8. – Δυνατότητα αντιστοίχησης διαφορετικών δραστηριοτήτων σ’ ένα POI.

Αξίζει να σημειωθεί πως, μ’ αυτό τον τρόπο όταν ο χρήστης θα επιλέξει να πάρει συστάσεις τοποθεσιών με βάση τη δραστηριότητα, το σύστημα μας θα του επιστρέψει περισσότερα αποτελέσματα χάριν σ’ αυτή την ιδιαιτερότητα. Σύμφωνα με το παράδειγμα μας, το σημείο «Aristotelous Square» θα εμφανιστεί στους συνδυασμούς: α) Thessaloniki-Sight-seeing, β) Thessaloniki-Food, γ) Thessaloniki- Coffee Shop, δ) Thessaloniki-Square. Επίσης, μ’ αυτό τον τρόπο ο χρήστης θα λάβει τα συνολικά check-ins αλλά και την αξιολόγηση του σημείου αυτού λαμβάνοντας υπόψη την κατηγορία/δραστηριότητα στην οποία ανήκει το σημείο κάθε φορά και όχι στο σύνολο της παρουσίας του, σαν σημείο (βλ. τελευταία στήλη Avg Rating).

71 Στον πίνακα activities αποθηκεύονται όλες οι κατηγορίες/δραστηριότητες και σε κάθε μια αντιστοιχεί ο αύξων αριθμός actID (πρωτεύον κλειδί). Στον πίνακα country αποθηκεύονται όλες οι χώρες και σε κάθε μια αντιστοιχεί ο αύξων αριθμός ID (πρωτεύον κλειδί). Στον πίνακα cities αποθηκεύονται όλες οι πόλεις και σε κάθε μια αντιστοιχεί ο αύξων αριθμός cityID (πρωτεύον κλειδί) και η χώρα (country) στην οποία ανήκει. Τέλος, στον πίνακα ratings αποτυπώνουμε τις τιμές της αξιολόγησης. Το πεδίο ratID (πρωτεύον κλειδί), ουσιαστικά, αντιπροσωπεύει τις τιμές της αξιολόγησης (τιμές από 1 – 5). Ενώ στο πεδίο ratingName έχουμε αποθηκεύσει τη μορφή της αξιολόγησης. Στο πεδίο image έχουμε αντιστοιχήσει σε κάθε βαθμολογία μια προκαθορισμένη εικόνα.

atID Π.χ. ratID=1 ή ratingName 1 * 2 ** ratID=3 3 *** 4 **** Εικόνα 11. - ratings 5 ***** Πίνακας 9. – Αναπαράσταση του συστήματος rating

2.3 Γενικά στατιστικά της ΒΔ

Στην ενότητα αυτή θα παρουσιάσουμε μερικά γενικά στατιστικά δεδομένα, κυρίως περιγραφικά. Στον πίνακα που ακολουθεί βλέπουμε τις συνολικές εγγραφές που υπάρχουν στους κύριους πίνακες της ΒΔ. Ο κυριότερος όγκος αυτών των δεδομένων πραγματοποιήθηκε από τους 50 ενεργούς χρήστες35, σε σύνολο 149 χρηστών.

35 Βλ. μέρος IV, ενότητα 2, εγχειρίδιου χρήσης

72

activities 112 checkins 860 cities 19 users 149 (1 demo user) paths 666 places 437 (unique place) distinct evaluation 50 rows/users Πίνακας 10. – Συνολικές εγγραφές στους πίνακες της ΒΔ.

Στη συνέχεια από τους 50 χρήστες που αξιολόγησαν τις υπηρεσίες μας, βλέπουμε πως το 40% είναι άντρες, με το 50% αυτών να ανήκουν στην 2η ηλικιακή ομάδα, μεταξύ 26-30 ετών. Ενώ το άλλο 60% είναι γυναίκες, με το 73% να ανήκει στην 1η ηλικιακή ομάδα, μεταξύ 18-25 ετών.

Sex / Age 18-25 26-30 31- Total Percentage male 8 10 2 20 40% female 22 6 2 30 60% Πίνακας 11. – Διαχωρισμός των χρηστών με βάση το φύλλο και την ηλιακή τους ομάδα.

Στον Πίνακα 10., είδαμε ότι αντιστοιχούν περίπου δύο check-ins ανά σημείο (860 check-ins, 437 places). Στον επόμενο Πίνακα 12. παρουσιάζουμε αναλυτικά τις 19 πόλεις που υπάρχουν στη ΒΔ ανά χώρα (1η στήλη), τα συνολικά σημεία που ανήκουν σε κάθε πόλη (2η στήλη), τα συνολικά check-ins που έχουν πραγματοποιηθεί στα σημεία της πόλης αυτής (3η στήλη), το ποσοστό που αντιστοιχεί στο σύνολο των σημείων (places) στη ΒΔ (4η στήλη) και τέλος, το ποσοστό που αντιστοιχεί στο σύνολο των check-ins (5η στήλη).

73 Percentage of Percentage of Cities Places Check-ins Total Places Total Check-ins Greece 410 824 94% 96% Alexandroupoli 8 16 2% 2% Amfilochia 20 27 5% 3% Athens 2η 100 165 23% 19% Chalkida 3η 38 89 9% 10% Crete Island 13 18 3% 2% Ioannina 10 23 2% 3% Ionian Islands 5 10 1% 1% Korinthos 9 14 2% 2% Lamia 4η 33 37 8% 4% Larisa 15 17 3% 2% Naousa 9 11 2% 1% Rhodes Island 4 5 1% 1% Thessaloniki 1η 132 376 30% 44% Volos 4 6 1% 1% Xanthi 10 10 2% 1% Germany (Berlin) 8 10 2% 1% Malta 6 7 1% 1% Spain (Madrid) 3 8 1% 1% Sweden 10 11 2% 1% (Stockholm) Total 437 860 100% 100% Πίνακας 12. – Συγκεντρωτικός πίνακας σημείων και check-ins ανά πόλη.

Στον παραπάνω Πίνακα 12., αξίζει να σημειωθεί πως η Θεσσαλονίκη έρχεται 1η και στις 4 στήλες, με την Αθήνα, τη Χαλκίδα και την Λαμία να την ακολουθούν στη 2η, 3η και 4η θέση αντίστοιχα. Συγκεκριμένα στην Θεσσαλονίκη αντιστοιχούν περίπου 3 check-ins ανά σημείο (376/132), στην Αθήνα 1,65 check-in ανά σημείο (165/100) και στη Χαλκίδα περίπου 2 check-ins ανά σημείο (89/38). Επίσης, το ποσοστό του συνόλου των σημείων που ανήκουν σ’ αυτές τις τρεις πόλεις φτάνει στο 63%, ενώ το ποσοστό των συνολικών check-ins που πραγματοποιήθηκαν στα σημεία που ανήκουν στις πόλεις αυτές, αγγίζει το 73%, με το 44% να ανήκει αποκλειστικά στην πόλη της Θεσσαλονίκης. Στην συνέχεια χρησιμοποιώντας τον αλγόριθμο που χρησιμοποιήσαμε τόσο στο τύπο συστάσεων τοποθεσιών, όσο και στον τύπο συστάσεων δραστηριοτήτων, παρουσιάζουμε στις τρεις δημοφιλέστερες πόλεις εκείνα τα σημεία που είχαν τα περισσότερα Check-ins από πλευράς χρηστών (στο σύνολο τους) και το μέσο όρο βαθμολογίας που αυτοί έδωσαν.

74 Total Avg. Athens Activity Checkins Rating IKEA Multi-Stores 10 2,4 Acropolis Museum Museums 8 4 Entertainment Mall Athens 8 3 Parks Πίνακας 13. – Δημοφιλέστερα σημεία (places) στην Αθήνα.

Total Avg. Thessaloniki Activity Checkins Rating White Tower Sight-seeing 14 4,3571 Aristotle University Education 13 4,2308 of Thessaloniki Aristotelous Square Sight-seeing 11 4,1818 Πίνακας 14. – Δημοφιλέστερα σημεία (places) στην Θεσσαλονίκη.

Total Avg. Chalkida Activity Checkins Rating paralia xalkidas Sight-seeing 9 3,7778 Palaia Gefira Evripou (Phenomenon of Sight-seeing 7 4,1429 Tides) Red House Sight-seeing 5 3,4 Πίνακας 15. – Δημοφιλέστερα σημεία (places) στην Χαλκίδα.

Με βάση τους παραπάνω πίνακες βλέπουμε, πως το δημοφιλέστερο σημείο ενδιαφέροντος από πλευράς χρηστών είναι ο Λευκός Πύργος, «White Tower» και έπεται στη 2η θέση το Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης, «Aristotle University of Thessaloniki». Επίσης, τα συγκεκριμένα δύο σημεία τυγχάνει να έχουν και τους υψηλότερους μέσους όρους.

75 2.4. Εύρεση και προσθήκη πληροφορίας στο Geosocial

2.4.1 Μέθοδος αναζήτησης και προσθήκης φίλων

2.4.1.1 Παλιά μέθοδος αναζήτησης - Simple Search

Στο προηγούμενο κεφάλαιο (βλ. υποενότητα 1.5.2) παρουσιάστηκε συνοπτικά η απλή μέθοδος αναζήτησης (εφεξής Simple Search – method A). Στη νέα έκδοση του Geosocial2 δεν πραγματοποιήθηκαν σημαντικές αλλαγές στην συγκεκριμένη μέθοδο αναζήτησης, πλην του τρόπου εμφάνισης των αποτελεσμάτων. Συγκεκριμένα, ο χρήστης μπορεί να μεταβεί στην αντίστοιχη σελίδα αναζήτησης πατώντας το κουμπί , το οποίο θα βρει σε αρκετές σελίδες μέσα στο website. Στην σελίδα αυτή, ο χρήστης αντικρίζει ένα εισαγωγικό κειμενάκι, το οποίο αναφέρει τα δύο είδη αναζητήσεων και κατόπιν την μπάρα αναζήτησης. Πληκτρολογώντας έναν οποιοδήποτε χαρακτήρα στην μπάρα αναζήτησης και πατώντας το κουμπί «Search», ο χρήστης λαμβάνει τα αποτελέσματα αναζήτησης στη μορφή της εικόνας . Η μπάρα αναζήτησης συνεχίζει να εμφανίζεται στον χρήστη σε περίπτωση που θέλει εκ νέου να πραγματοποιήσει μια αναζήτηση. Στον πίνακα εμφάνισης αποτελεσμάτων, εμφανίζονται μέχρι και πέντε (5) εγγραφές/αποτελέσματα ανά σελίδα εμφάνισης αποτελεσμάτων, ανάλογα με τη λέξη κλειδί με την οποία πραγματοποιήθηκε η αναζήτηση. Στο κάτω μέρος των αποτελεσμάτων εμφανίζεται το σύνολο των σελίδων και ανάλογα, ο χρήστης μπορεί να διατρέξει σε όλα τα αποτελέσματα της αναζήτησης. Στο παράδειγμα μας επίτηδες εμφανίσαμε μόνο τον χρήστη «demo».

Εικόνα 12. – Απλή μέθοδος αναζήτησης χρηστών (Simple Search).

76 Μέσω αυτού του τρόπου ο χρήστης δεν έχει τη δυνατότητα να μεταβεί στο προσωπικό προφίλ (βλ. επόμενη υπό-ενότητα) ενός χρήστη, επομένως δεν μπορεί να πάρει όλη την πληροφορία που χρειάζεται σχετικά με τις προτιμήσεις του γι’ αυτόν. Τέλος, αν ο χρήστης θέλει να γίνει “φίλος” με τον χρήστη «demo», δεν έχει παρά να πατήσει στο κουμπί «add». Στη συνέχεια θα εμφανιστεί μια σελίδα με το απαντητικό μήνυμα “You added that user as a friend” και έπειτα η σελίδα θα ανανεωθεί αυτόματα και θα εμφανιστεί η αρχικά σελίδα. Σε περίπτωση που ο χρήστης θέλει να κάνει και άλλους φίλους μέσω της απλής μεθόδου αναζήτησης, δεν έχει παρά να ακολουθήσει την ίδια διαδικασία.

2.4.1.2 Νέα μέθοδος αναζήτησης – Live Search

Στην αρχική έκδοση του Geosocial υπήρχε μία μόνο μέθοδος αναζήτησης (βλ. υποενότητα 1.5.2 και εγχειρίδιο χρήσης). Στο Geosocial2 προσθέσαμε έναν νέο, πιο διαδραστικό τρόπο αναζήτησης, ο οποίος στηρίζεται στην ασύγχρονη γλώσσα προγραμματισμού Ajax και η οποία επιτρέπει την εκτέλεση λειτουργιών χωρίς να απαιτεί την ανανέωση μιας web page. Γι’ αυτό το λόγο ονομάσαμε την νέα αυτή μέθοδο «Live Search», μιας και επιτρέπει την πραγματοποίηση αναζήτησης χρηστών και εμφανίζει τα αποτελέσματα αυτής, χωρίς να απαιτεί την ανανέωση της σελίδας ή να οδηγήσει το χρήστη σε μια νέα σελίδα. Στην εικόνα βλέπουμε πως καθώς ο χρήστης πληκτρολογεί ένα όνομα ή ένα email, δυναμικά του εμφανίζονται μέχρι και 5 χρήστες (maximum) οι οποίοι ταιριάζουν στη λέξη κλειδί της αναζήτησης. Πατώντας πάνω σ’ ένα από τα αποτελέσματα ο χρήστης θα μεταφερθεί κατευθείαν στο προσωπικό προφίλ (βλ. εγχειρίδιο χρήσης ενότητα 2.5.2) του νέου χρήστη.

Εικόνα 13. – Live Search Method.

77 Από άποψη κώδικα τέσσερις είναι οι κύριες διαφορές έναντι του αλγόριθμου αναζήτησης της απλής μεθόδου. 1. Η αναζήτηση πραγματοποιείτε δυναμικά. Δηλαδή, ταυτόχρονα κατά τη διάρκεια που πληκτρολογεί ο χρήστης. 2. Ο αλγόριθμος αναγνωρίζει την ύπαρξη του κενού (space). Μ’ αυτό τον τρόπο εμφανίζει αποτελέσματα στην φράση αναζήτησης «demo demo» κάτι το οποίο δεν συνέβαινε στην απλή μέθοδο. Επίσης, μ’ αυτό τον τρόπο δίνονται πιο έγκυρα αποτελέσματα γιατί ο αλγόριθμος ψάχνει ταυτόχρονα και συνδυαστικά σε δύο διαφορετικά πεδία, αυτά του «username» και «lastname». 3. Ο αλγόριθμος ψάχνει για αλληλουχία χαρακτήρων από μήκους 3 και πάνω στα δύο παραπάνω πεδία. Αυτό σημαίνει πως ο συνδυασμός χαρακτήρων “de mo”, δεν θα εμφανίσει κανένα αποτέλεσμα, παρότι μπορεί να υπάρχουν σαν συνδυασμοί χαρακτήρων. Αυτό όμως δεν σημαίνει ότι αντιστοιχούν και σ’ ένα υπαρκτό προφίλ ενός χρήστη. Αντίστοιχα, ο συνδυασμός χαρακτήρων “ano” θα βγάλει κάποια αποτελέσματα αλλά συνεχίζοντας την πληκτρολόγηση, οι παρακάτω συνδυασμοί “ano an”, “ano ak” δεν θα αλλάξουν τα αποτελέσματα αυτά. Ενώ, αν συνεχιστεί η πληκτρολόγηση με το συνδυασμό “ano aki” τότε τα αποτελέσματα θα αλλάξουν. Αυτό ακριβώς συμβαίνει βασιζόμενοι στην υπόθεση ότι μία αναζήτηση σ’ ένα «username» ή «lastname» θα μπορούσε να έχει εννοιολογικό υπόβαθρο κάνοντας χρήση ενός συνδυασμού χαρακτήρων μήκους 3 και πάνω. 4. Τέλος, πραγματοποιείται αναζήτηση και στο πεδίο «email» της ΒΔ, ωστόσο αυτό συμβαίνει μόνο αν η λέξη/φράση αναζήτησης δεν συμπεριλαμβάνει το κενό. Για παράδειγμα στην εικόνα που ακολουθεί έχουμε πληκτρολογήσει τον συνδυασμό χαρακτήρων “188”. Παρότι όπως βλέπουμε στην εικόνα, ο συνδυασμός αυτών των χαρακτήρων δεν ανήκει ούτε στο πεδίο του «username», ούτε στο πεδίο του «lastname», ωστόσο η εφαρμογή μας δίνει δύο αποτελέσματα.

78

Εικόνα 14. – Αναζήτηση με βάση τη λέξη κλειδί και στο πεδίο email.

Αν όμως αφήσουμε κενό και συνεχίσουμε την πληκτρολόγηση, τότε παίρνουμε το αποτέλεσμα της παρακάτω εικόνας. Αυτό συμβαίνει διότι ο αλγόριθμος καταλαβαίνει ότι ο χρήστης δεν ψάχνει για κάποιο email.

Εικόνα 15. – Αναζήτηση με βάση των λέξεων κλειδιά μόνο στα πεδία Username και Lastname.

Τέλος, στα πλαίσια της αξιολόγησης των συστημάτων μας επιλέξαμε να διατηρήσουμε και τους δύο τρόπους αναζήτησης, ώστε να μελετήσουμε την προτίμηση των χρηστών έναντι αυτών.

2.4.2 Μέθοδος εισαγωγής POIs στο Geosocial

Συγκριτικά με την προηγούμενη μορφή του Geosocial, η νέα δεύτερη του έκδοση φέρει δύο νέες σημαντικές καρτέλες, οι οποίες βασίζονται καθαρά σε location-based υπηρεσίες. Η εισαγωγή αυτών των υπηρεσιών ισχυροποίησαν τον χαρακτηρισμό LBSN για το Geosocial2. Πρώτης εξ’ αυτών και σημαντικότερη είναι η καρτέλα «Check In / Add POI», στην οποία ο χρήστης μπορεί να πραγματοποιήσει διαδραστικά check-ins πάνω στο χάρτη είτε σ’ ένα προϋπάρχον σημείο, είτε να προσθέσει αυτός ένα νέο σημείο στη ΒΔ. Επιπρόσθετα, δίνεται στο χρήστη η δυνατότητα να εμφανίσει πάνω στο χάρτη είτε όλα τα σημεία στα οποία έχει πραγματοποιήσει ο ίδιος check-ins, είτε των φίλων του, είτε όλα τα σημεία που υπάρχουν στη ΒΔ και έχουν γίνει στο σύνολο των χρηστών. Τέλος, χρησιμοποιώντας τη μπάρα αναζήτησης ο χρήστης μπορεί να μεταφερθεί οπουδήποτε πάνω στο χάρτη, αρκεί να πληκτρολογήσει μια επιθυμητή

79 διεύθυνση ή τοποθεσία, είτε με λατινικούς, είτε με ελληνικούς χαρακτήρες πατώντας το κουμπί «Location Search».

Εικόνα 16. – Αναζήτηση οποιασδήποτε διεύθυνσης στο χάρτη & κουμπιά εμφάνισης ομαδοποιημένων POIs.

Σε έναν νέο χρήστη, ο οποίος δεν έχει πραγματοποιήσει καμιά δραστηριότητα στο προφίλ του, ο χάρτης φορτώνει καθαρός (δίχως την υπόδειξη σημείων ενδιαφέροντος πάνω σ’ αυτόν) και ζουμάροντας σε προκαθορισμένες συντεταγμένες, εστιάζοντας στην πόλη της Θεσσαλονίκης36. Πατώντας το κουμπί «Show all POIs», η σελίδα ανανεώνεται και στο χάρτη εμφανίζονται όλα τα σημεία (places ή POI) στα οποία ο χρήστης μπορεί να πραγματοποιήσει Check-ins. Η πραγματοποίηση ενός Check-in μπορεί να γίνει, είτε σ’ ένα προϋπάρχον στη ΒΔ σημείο ή με τη προσθήκη ενός νέου. Η προσθήκη ενός νέου σημείου στη ΒΔ, αυτόματα συνεπάγεται και Check-in στο σημείο αυτό, από την πλευρά του χρήστη. Στην περίπτωση που ο χρήστης έχει πραγματοποιήσει ήδη check-ins και φίλους, μπορεί να χρησιμοποιήσει τα άλλα δυο κουμπιά. Πατώντας το κουμπί «Show my friends’ POIs», η σελίδα ανανεώνεται και στον χάρτη εμφανίζονται τα σημεία στα οποίοι οι φίλοι του χρήστη έχουν πραγματοποιήσει check-ins. Τέλος, αν ο χρήστης βρίσκεται στην κατάσταση, όπου στον χάρτη εμφανίζονται όλα τα σημεία της ΒΔ ή τα σημεία στα οποία έχουν κάνει check-ins οι φίλου του, μπορεί να επανέλθει στην αρχική κατάσταση, είτε πατώντας πάνω στην αρχική καρτέλα «Check In / Add POI», είτε πατώντας το κουμπί «Show my POIs».

2.4.2.1 Check-in σε προϋπάρχον σημείο

Πατώντας αριστερό κλικ πάνω σε μια κουκίδα, εμφανίζεται ένα αναδυόμενο παράθυρο (pop up window – Εικόνα 17.), το οποίο εμπεριέχει πληροφορία για το σημείο ενδιαφέροντος, όπως το μοναδικό ID του, το όνομα του σημείου, τη διεύθυνση του, σε ποια κατηγορία ανήκει, τα συνολικά Check-ins που έχουν γίνει σ’ αυτό στο σύνολο των χρηστών και το Μ.Ο. που προκύπτει από αυτά.

36 Η επιλογή αυτή έγινε στη βάση, ότι το project ανήκει σε ομάδα εργαστηρίου, η οποία υπάγεται στο Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης.

80

Εικόνα 17. – Πραγματοποίηση check-in σε προϋπάρχον σημείο.

Στη συνέχεια ο χρήστης καλείται να βαθμολογήσει το σημείο αυτό σε μια κλίμακα από το 1 έως το 5 (αντί για νούμερα, εμφανίζονται αστεράκια *) και τέλος να αφήσει ένα comment της αρεσκείας του με βάση την εμπειρία του από την πραγματοποίηση της συγκεκριμένης δραστηριότητας, ή την κατανάλωση μιας υπηρεσίας σ’ αυτό το μέρος ή της φυσικής του παρουσίας εκείνη τη χρονική στιγμή, στο παρελθόν ή στο μέλλον ως σημείο συνάντησης. Σε περίπτωση που το σημείο αυτό δεν τον ενδιαφέρει μπορεί να πατήσει το κουμπί «close» και στη συνέχεια να μεταφερθεί σε άλλο σημείο ή να προχωρήσει στην πραγματοποίηση του check-in, πατώντας το κουμπί «Check in now!». Ο χρήστης θα λάβει ένα ευχαριστήριο μήνυμα, στο οποίο πρέπει να πατήσει “ΟΚ” και στη συνέχεια θα κλείσει το παράθυρο και θα πραγματοποιηθεί ανανέωση στην αρχική σελίδα. Σ’ αυτή την περίπτωση θα φορτώσει ο χάρτης κεντράροντας και ζουμάροντας στο σημείο όπου έκανε check-in ο χρήστης. Αξίζει να σημειωθεί πως κάθε φορά που εισέρχεται ο χρήστης στο σύστημα, ο χάρτης φορτώνει κεντράροντας και ζουμάροντας πάντοτε στο τελευταίο check-in που έχει πραγματοποιηθεί από τον χρήστη.

2.4.2.2 Εισαγωγή νέου σημείου στη ΒΔ και ταυτόχρονα Check-in

Για τη εισαγωγή νέου σημείου στη ΒΔ είναι αυτονόητο πως ο χρήστης πρέπει να έχει μια συνολική εικόνα για τα σημεία που βρίσκονται στη ΒΔ και ιδιαίτερα στην περιοχή την οποία θέλει να εισάγει το νέο σημείο. Γι’ αυτό το λόγο ο χρήστης χρειάζεται να πατήσει το κουμπί «Show all POIs» και στη συνέχεια μεγεθύνοντας τον

81 χάρτη (zoom in) να πλοηγηθεί στην τοποθεσία που τον ενδιαφέρει. Στη συνέχεια ο χρήστης πραγματοποιεί δεξί κλικ πάνω στο χάρτη στο σημείο που θέλει για να εισάγει το νέο σημείο. Για την εισαγωγή ενός νέου σημείου (new POI) είναι απαραίτητο από πλευράς του χρήστη να πραγματοποιήσει αρκετό zoom in, ούτως ώστε η κουκίδα που θα υποδεικνύει το νέο σημείο να βρίσκεται όσο το δυνατόν πλησιέστερα στην πραγματική φυσική θέση του σημείου, προς αποφυγήν του λάθους της εικόνας 18. Εικόνα 18 – POI. Πατώντας δεξί κλικ πάνω στο χάρτη, λοιπόν, εμφανίζεται ένα αναδυόμενο παράθυρο (pop up window – Εικόνα 19.). Ο χρήστης παίρνει αυτόματα την πληροφορία των συντεταγμένων των σημείων και την ακριβή διεύθυνση του σημείου.

Εικόνα 19. – Εισαγωγή νέου σημείου στη ΒΔ και ταυτόχρονη πραγματοποίηση check-in.

Στην συνέχεια καλείται να συμπληρώσει ένα όνομα για το σημείο αυτό, να το βαθμολογήσει, να επιλέξει την δραστηριότητα στην οποία ανήκει το σημείο ή τη δραστηριότητα στην οποία προέυει ο χρήστης, την πόλη στην οποία βρίσκεται και τέλος, να αφήσει ένα σχόλιο για το σημείο αυτό. Αντίστοιχα με τη διαδικασία του check-in σε προϋπάρχον σημείο, ο χρήστης μπορεί να κλείσει το παράθυρο σε περίπτωση που αντιληφθεί πως η διεύθυνση του σημείου δεν είναι σωστή και θα

82 ήθελε να το διορθώσει πατώντας δεξί κλικ σε άλλο σημείο του χάρτη, είτε να πατήσει το κουμπί «Check in now!» και να ολοκληρώσει τη διαδικασία εισαγωγής νέου σημείου. Παρομοίως και σ’ αυτή την περίπτωση, θα εμφανιστεί ένα ευχαριστήριο μήνυμα, στο οποίο ο χρήστης πρέπει να πατήσει “OK” και εν συνεχεία η σελίδα θα ανανεωθεί. Και σ’ αυτή την περίπτωση θα φορτώσει ο χάρτης κεντράροντας και ζουμάροντας στο σημείο όπου έκανε check-in ο χρήστης.

2.5 Αλγόριθμοι

2.5.1 Friend Rec – Τύπος συστάσεων φίλων

Η καρτέλα «Friend Rec» αντιστοιχεί στο τύπο συστάσεων του Geosocial2 αναφορικά με τους φίλους που προτείνονται σ’ ένα χρήστη. Ενώ στην προγενέστερη μορφή του γινόταν λόγος για μεθόδους A & B, αυτό άλλαξε στηριζόμενοι στον τρόπο με τον οποίο παρουσιάζονται τα αποτελέσματα των αλγορίθμων αυτών στους χρήστες. Παρακάτω παρουσιάζουμε τις διαφορές που συντελέστηκαν αναφορικά με την προηγούμενη μορφή του Geosocial2.

2.5.1.1 Explanation Style A – Κοινοί φίλοι

Στον Πίνακα 16., ο συγκεκριμένος τύπος συστάσεων προτείνει στο χρήστη πιθανούς φίλους, τους οποίους μπορεί να γνωρίζει, με βάση τους κοινούς φίλους που έχει αυτός (ο χρήστης) με το άτομο το οποίο του προτείνεται. Ο πίνακας εμφανίζει πάντα 5 εγγραφές (5 πιθανούς φίλους) και τους ταξινομεί ιεραρχικά με βάση το πλήθος των κοινών φίλων. Ο πίνακας εμπεριέχει την πληροφορία του username, lastname, email, την εικόνα του χρήστη (που προτείνει), τη δυνατότητα να τον προσθέσει ο χρήστης ως φίλο και φυσικά το πλήθος των κοινών φίλων που έχουν μεταξύ τους. Πατώντας το κουμπί «add» βγαίνει μήνυμα επιβεβαίωσης, ύστερα γίνεται αυτόματα ανανέωση και φορτώνει η αρχική σελίδα, στην οποία φαίνεται ότι είναι πλέον φίλοι. Για ευνόητους λόγους στην εικόνα που ακολουθεί, έχουμε αποκρύψει την στήλη με το email του χρήστη.

83

Πίνακας 16. – Εμφάνιση συστάσεων φιλίας με βάση τους κοινούς φίλους.

Σε αντιπαραβολή με την εικόνα της υποενότητας 1.5.2, εδώ βλέπουμε κάποιες σημαντικές αλλαγές: 1. Ένα πιο φιλικό design εμφάνισης των αποτελεσμάτων στον χρήστη. 2. Υπάρχει ιεραρχική ταξινόμηση των φίλων που προτείνονται με βάση το πλήθος των κοινών φίλων. 3. Οι κοινοί φίλοι εμφανίζονται σε λίστα. Στο παράδειγμα μας, το σύστημα προτείνει ως πρώτη επιλογή τον χρήστη “Athina”, γιατί έχει δύο (2) κοινούς φίλους, έναντι των άλλων δύο που έχουν από ένα κοινό φίλο.

2.5.1.2 Explanation Style Β – Σύσταση φίλων μέσα από μονοπάτια μήκους 3

Ο δεύτερος αλγόριθμος του τύπου συστάσεων φιλίας εισχωρεί βαθύτερα στο κοινωνικό δίκτυο και αναζητά εκείνους τους χρήστες οι οποίοι απέχουν από το αρχικό χρήστη (ρίζα) με μήκος-ℓ μονοπατιού ίσο με 3. Ουσιαστικά ο αλγόριθμος αυτός δεν προτείνει απλά κάποιους χρήστες τους οποίους ο αρχικός χρήστης μπορεί να γνωρίζει, αλλά εμφανίζει μια πιο λεπτομερή πρόταση σχετικά με το πώς οδηγείται σ’ αυτούς τους χρήστες που προτείνει ως μελλοντικούς φίλους. Ακρογωνιαίος λίθος αυτού του αλγορίθμου αποτελεί η φιλοσοφία, ότι ο χρήστης θα δώσει μεγαλύτερη βαρύτητα στην πληροφορία που πηγάζει από την εμφάνιση του μονοπατιού μέσα από το οποίο θα οδηγηθεί στη δημιουργία φιλίας μ’

84 έναν χρήστη. Η εμφάνιση του μονοπατιού δεν αποτελεί μια στείρα πληροφορία την οποία κάνει χρήση μόνο ο αλγόριθμος, αλλά ίσως ενδιαφέρει πραγματικά τον ίδιο τον χρήστη. Για παράδειγμα, αν ο Α είναι φίλος με τον Β και τον C, και αυτοί με την σειρά τους ξέρουν ο καθένας από άλλους 2 φίλους, τους D, Ε και F, J αντίστοιχα, τότε τα μονοπάτια μήκους-ℓ=3 που θα προκύψουν είναι τα εξής: i. Α > Β > Ε >Ι iii. Α > C > G > I ii. Α > C > F > Κ iv. Α > Β > D >Κ

Α

B C μήκος-ℓ=1

D E F G μήκος-ℓ=2

Στον χρήστη Κ καταλήγουν 2 K I K J μήκος-ℓ=3 μονοπάτια Σχήμα 15. – Αναπαράσταση μονοπατιών/συστάσεων μήκους-ℓ=3.

Στο παραπάνω παράδειγμα, ο χρήστης αποτελεί τη ρίζα (Α) κάθε μονοπατιού και ακολουθούν οι φίλοι του (μήκους-ℓ=1). Οι χρήστες μήκους-ℓ=2 δεν αποτελούν απαραίτητα φίλοι του χρήστη Α, στο συγκεκριμένο παράδειγμα. Επομένως, αν ο χρήστης λάβει υπόψη του τους φίλους του και τους ενδιάμεσους κόμβους/χρήστες, τότε υπάρχουν δύο ενδεχόμενα: α) Ο χρήστης θα προτιμήσει να δημιουργήσει/συνάψει φιλία με τον Κ, ο οποίος προτείνεται δύο (2) φορές. Σ’ αυτή την περίπτωση ο χρήστης θα δώσει βαρύτητα στην παράμετρο του πλήθους των μονοπατιών μέσα από τα οποία το σύστημα οδηγείται στο να του προτείνει ένα χρήστη για φίλο. Έπειτα, ο χρήστης μπορεί να επιλέξει ανάμεσα στον Ι και στον J μιας και οι δύο τους προτείνονται μονάχα από μία φορά. β) Ανήκει στη διακριτική ευχέρεια του ατόμου να λάβει υπόψη του άλλα εννοιολογικού περιεχομένου κριτήρια που αφορούν τους ενδιάμεσους κόμβους/χρήστες κατά την επιλογή του να συνάψει φιλία μ’ έναν από τους προτεινόμενους χρήστες. Επομένως, η πληροφορία που «κουβαλάει» το

85 μονοπάτι υπερισχύει της στείρας πληροφορίας του πλήθους των μονοπατιών που οδηγούν στον ίδιο χρήστη. Αυτό που πρέπει να τονισθεί είναι ότι ο αλγόριθμος δεν εξετάζει σε καμία περίπτωση τέτοιες παραμέτρους, ωστόσο παρουσιάζει την πληροφορία του μονοπατιού με την οποία οδηγείται στους χρήστες που προτείνει για φίλους. Ύστερα ανήκει στη διακριτική ευχέρεια κάθε χρήστη, ο τρόπος και η συλλογιστική με την οποία θα επιλέξει τον μελλοντικό του φίλο. Ωστόσο, αυτή η εννοιολογική διάκριση θα μπορούσε να μελετηθεί σε επόμενη έρευνα σχετικά με τον τρόπο που οδηγούνται οι χρήστες ενός OSN στη σύναψη φιλιών μεταξύ τους ή θα μπορούσαν να συμπεριληφθούν κάποια κριτήρια/βάρη για τη δημιουργία ποιο εξειδικευμένων και στοχευμένων μονοπατιών ανάλογα με τα ενδιαφέροντα και τις προτιμήσεις ενός χρήστη. Συγκριτικά με τους Πίνακες 4 και 5, της υποενότητας 1.5.2 δεν υπήρξαν μεγάλες διαφορές ή αλλαγές στον συγκεκριμένο αλγόριθμο, πέραν του styling και της εμφάνισης του αρχικού και τελικού χρήστη στην πληροφορία του μονοπατιού. Ο Πίνακας 17. εμπεριέχει αντίστοιχα την πληροφορία του username, lastname, email, την εικόνα του χρήστη (που προτείνει) συν την απεικόνιση του μονοπατιού / μονοπατιών που ακολούθησε ο αλγόριθμος για να φτάσει στον προτεινόμενο φίλο/χρήστη, καθώς και το πλήθος αυτών (των μονοπατιών).

Πίνακας 17. – Εμφάνιση των μονοπατιών/συστάσεων φιλίας μήκους-ℓ=3.

Στο παράδειγμα μας, το σύστημα προτείνει δύο (2) χρήστες οι οποίοι συνδέονται με τον αρχικό χρήστη (demo demo) μ’ ένα (1) μόνο μονοπάτι. Στην πρώτη περίπτωση η πληροφορία που εξάγει ο χρήστης είναι ότι από τον εαυτό του (demo demo) οδηγείται στον χρήστη «Ersie Almp», έπειτα στον χρήστη «Christos Andras» και καταλήγει να του προτείνει τον χρήστη «Anastasia Kal». Είναι εύλογο ότι σ’ αυτή την περίπτωση ο χρήσης είναι ήδη φίλος με τον χρήστη «Ersie Almp», όχι

86 όμως απαραίτητα με τον χρήστη «Christos Andras». Ωστόσο, αυτό αυτόματα συνεπάγεται (επιπλέον πληροφορία, μονοπάτι μήκους 2) ότι και αυτός ο χρήστης θα μπορούσε να γίνει φίλος με τον αρχικό χρήστη.

2.5.2 POI Rec – Τύπος συστάσεων τοποθεσιών με βάση την δραστηριότητα

Στην υποενότητα αυτή θα περιγράψουμε τις αλλαγές και τις βελτιώσεις που συντελέστηκαν στον αλγόριθμο που προτείνει σημεία ενδιαφέροντος τοποθεσιών με βάση την επιθυμητή δραστηριότητα ενός χρήστη, αλλά και τη δημιουργία ενός νέου που προτείνει σημεία ενδιαφέροντος βασιζόμενος μόνο στην ιστορικότητα των check-ins που έχουν πραγματοποιηθεί από τους φίλους ενός χρήστη. Όπως και στην αρχική έκδοση του Geosocial (υποενότητα 1.5.2), ο χρήστης θα ανατρέξει στη σελίδα «POI Rec» με σκοπό να πάρει συστάσεις τοποθεσιών σχετικά με μια δραστηριότητα, σε μια περιοχή. Το σύστημα του επιτρέπει να εισάγει τον συνδυασμό περιοχή – δραστηριότητα, όπως φαίνεται στην παρακάτω εικόνα.

Εικόνα 20. - Επιλογή συνδυασμού τοποθεσίας και δραστηριότητας.

Ως αποτέλεσμα το σύστημα εμφανίζει δύο διαφορετικούς πίνακες (Α & Β), οι οποίοι αντιστοιχούν σε δύο διαφορετικά explanation style. Ο πίνακας Β εμφανίζεται μονάχα στην περίπτωση, όπου ο χρήστης έχει φίλους και αυτοί έχουν πραγματοποιήσει checki-ns τα οποία ανήκουν στην δραστηριότητα και στην τοποθεσία που έχουν επιλεγεί. Διαφορετικά πάντα εμφανίζεται ο πίνακας Α.

87 2.5.2.1 Explanation Style A – Με βάση το σύνολο των χρηστών

Στην περίπτωση του πίνακα Α, το σύστημα (ο αλγόριθμος) προτείνει σημεία ενδιαφέροντος (POIs) τα οποία ανήκουν στην δραστηριότητα/κατηγορία την οποία έχει επιλέξει ο χρήστης και τα παρουσιάζει πάνω στο χάρτη, εμφανίζοντας: i) το όνομα του σημείου, ii) τη διεύθυνση του, iii) τα συνολικά check-ins που έχουν γίνει στο σημείο αυτό από το σύνολο των χρηστών του Geosocial2, iv) τον Μ.Ο. που προκύπτει για κάθε σημείο από τις βαθμολογίες των χρηστών που έκαναν check-in στο σημείο αυτό και τέλος, v) δίνεται η δυνατότητα μετακίνησης του χρήστη στο κάθε σημείο με το κουμπί «Move!». Σ’ αυτή την περίπτωση, ο χάρτης κεντράρει στο σημείο αυτό. Η βελτίωση των συστάσεων που παρέχει ο συγκεκριμένος αλγόριθμος έγκειται στο γεγονός, ότι πλέον τα σημεία ενδιαφέροντος που προτείνονται, ταξινομούνται ιεραρχικά λαμβάνοντας υπόψη δύο νέες παραμέτρους: i. Λαμβάνονται υπόψη τα συνολικά check-ins που έχουν πραγματοποιηθεί στο σύνολο των χρηστών για κάθε σημείο. ii. Και στη συνέχεια ταξινομούνται και με βάση το Μ.Ο. που προκύπτει από τις αξιολογήσεις που έχουν δώσει οι χρήστες αυτοί σε κάθε σημείο.

Πίνακας 18. – Εμφάνιση των συστάσεων τοποθεσιών με βάση τη δραστηριότητα, στο σύνολο των χρηστών.

88 Στο παράδειγμα μας, στο πρώτο σημείο «BRISTOL» έχουν πραγματοποιηθεί 7 check-ins στο σύνολο των χρηστών και από τις βαθμολογίες που δόθηκαν σ’ αυτά τα check-ins προκύπτει, ότι ο Μ.Ο. είναι 4.2857. Αντίστοιχα, τα επόμενα δύο σημεία έχουν σύνολο 6 check-ins, ωστόσο το σύστημα εμφανίζει ιεραρχικά τις συστάσεις πρώτα με βάση το σύνολο των check-ins και ύστερα με βάση το Μ.Ο. αξιολόγησης που έχουν. Γι’ αυτό το λόγο το σημείο «BERLIN» υπερτερεί (3.5) έναντι του σημείου «ART HOUSE» με 3, αναφορικά με το Μ.Ο. της αξιολόγησης που προκύπτει από το rating που έχουν δώσει οι χρήστες για τα σημεία αυτά.

2.5.2.2 Explanation Style Β – Με βάση τις προτιμήσεις των φίλων του χρήστη

Όπως και στην περίπτωση του πίνακα Α, έτσι και στον πίνακα Β το σύστημα προτείνει σημεία ενδιαφέροντος (POIs) τα οποία ανήκουν στην δραστηριότητα/κατηγορία την οποία είχε επιλέξει αρχικά ο χρήστης. Ωστόσο, σ’ αυτή την νέα περίπτωση (νέος αλγόριθμος) τα σημεία που προτείνονται βασίζονται στις προτιμήσεις των φίλων του. Στόχος αυτού του νέου τρόπου συστάσεων είναι να δείξει ότι ένα σημείο μπορεί να είναι αρεστό στο σύνολο των χρηστών, ωστόσο με βάση τις προτιμήσεις των φίλων ενός χρήστη, το ίδιο σημείο να μην προτιμάτε. Αυτό σημαίνει ότι τα αποτελέσματα των δυο πινάκων όσο αναφορά την ιεραρχική κατάταξη των σημείων μπορεί να μην είναι πάντα η ίδια. Για παράδειγμα το 1ο σημείο του πίνακα Α να έχει στο σύνολο των χρηστών 10 check-ins, ωστόσο οι φίλοι του χρήστη να έχουν πραγματοποιήσει μονάχα 1 ή και κανένα check-in στο σημείο αυτό. Αντίστοιχα, η πληροφορία που εμπεριέχει ο πίνακας Β είναι: i) το όνομα του σημείου, ii) η διεύθυνση του, iii) τα συνολικά check-ins που έχουν γίνει στο σημείο αυτό από το σύνολο των φίλων του και μόνο, iv) τον Μ.Ο. που προκύπτει για κάθε σημείο από τις βαθμολογίες των φίλων του που έκαναν check-in στο σημείο αυτό και τέλος, v) δίνεται η δυνατότητα μετακίνησης του χρήστη στο κάθε σημείο με το κουμπί «Move!». Σ’ αυτή την περίπτωση, ο χάρτης κεντράρει στο σημείο αυτό.

89

Πίνακας 19. - Εμφάνιση των συστάσεων τοποθεσιών με βάση τη δραστηριότητα, λαμβάνοντας υπόψη μόνο τους φίλους ενός χρήστη.

Στο παράδειγμα μας, η κατάταξη των σημείων ιεραρχικά δεν έχει αλλάξει (σε σχέση με τον πίνακα Α), ωστόσο βλέπουμε ότι αλλάζει το πλήθος των check-ins ανά σημείο και φυσικά έχουν διαφορετικό Μ.Ο. με βάση τις προτιμήσεις, την εμπειρία και τη γνώμη των φίλων του χρήστη.

2.5.3 Activity Rec – Τύπος συστάσεων δραστηριοτήτων με βάση την τοποθεσία

Στην υποενότητα αυτή θα περιγράψουμε τις αλλαγές και τη βελτίωση που συντελέστηκαν στον αλγόριθμο που προτείνει σημεία ενδιαφέροντος δραστηριοτήτων με βάση την επιθυμητή τοποθεσία ενός χρήστη, αλλά και τη δημιουργία ενός νέου που προτείνει σημεία ενδιαφέροντος βασιζόμενος μόνο στην ιστορικότητα των check-ins που έχουν πραγματοποιηθεί από τους φίλους ενός χρήστη. Όπως και στην αρχική έκδοση του Geosocial (υποενότητα 1.5.2), ο χρήστης θα ανατρέξει σ’ αυτή την καρτέλα με σκοπό να πάρει συστάσεις δραστηριοτήτων σχετικά με μια τοποθεσία. Ο χρήστης δεν έχει παρά να επιλέξει μία από τις ήδη καταχωρημένες τοποθεσίες στο σύστημα και να πατήσει το κουμπί «Select!», όπως φαίνεται στην παρακάτω εικόνα.

90

Εικόνα 21. - Επιλογή της τοποθεσίας από το χρήστη.

Και σ’ αυτή την περίπτωση, εφόσον ο χρήστης έχει φίλους και αυτοί έχουν κάνει check-ins στην τοποθεσία που επιλέγει ο χρήστης, τότε θα εμφανιστούν και οι δύο πίνακες Α και Β. Διαφορετικά πάντα εμφανίζεται ο πίνακας Α.

2.5.3.1 Explanation Style A – Με βάση το σύνολο των χρηστών

Ο πίνακας Α, όπως βλέπουμε στην παρακάτω εικόνα, προτείνει σημεία ενδιαφέροντος με βάση την τοποθεσία στην οποία ανήκουν και τα ταξινομεί ιεραρχικά:

i. με βάση το πλήθος των check-ins που έχουν πραγματοποιηθεί στο σύνολο των χρηστών και ii. στη συνέχεια με βάση τον Μ.Ο. αξιολόγησης που έχουν δώσει οι χρήστες αυτοί σε κάθε σημείο.

Πίνακας 20. - Εμφάνιση των συστάσεων δραστηριοτήτων με βάση την τοποθεσία, στο σύνολο των χρηστών.

Σ’ αυτή την περίπτωση ο χρήστης παίρνει επιπρόσθετα την πληροφορία της κατηγορίας/δραστηριότητας στην οποία ανήκει κάθε σημείο.

91 2.5.3.2 Explanation Style Β – Με βάση τις προτιμήσεις των φίλων του χρήστη

Αντίστοιχα, με την ενότητα 2.5.2.2 και σ’ αυτή την περίπτωση δημιουργήσαμε έναν νέο αλγόριθμό (Πίνακας 21.), ο οποίος προτείνει σημεία ενδιαφέροντος δραστηριοτήτων με βάση την τοποθεσία στην οποία ανήκουν και τα ταξινομεί ιεραρχικά με βάση το πλήθος των check-ins που έχουν πραγματοποιηθεί μόνο από τους φίλους του χρήστη και αντίστοιχα δείχνει τον Μ.Ο. αξιολόγησης του εκάστοτε σημείου από τα check-ins αυτά. Αξίζει να σημειωθεί εδώ πως, σε αντίθεση με το παράδειγμα της σύστασης σημείων ενδιαφέροντος (POIs) τοποθεσιών με βάση την δραστηριότητα (βλ. ενότητα 2.5.2), σ’ αυτή την περίπτωση οι λίστες των δύο πινάκων διαφέρουν.

Πίνακας 21. - Εμφάνιση των συστάσεων δραστηριοτήτων με βάση την τοποθεσία, λαμβάνοντας υπόψη μόνο τους φίλους ενός χρήστη.

Ποιο αναλυτικά, ενώ στον πίνακα Α (στο σύνολο των χρηστών) το σημείο «White Tower» το οποίο ανήκει στην δραστηριότητα «Sight-seeing» βρίσκεται στη 1η θέση με τα περισσότερα check-ins, αυτό αλλάζει στον πίνακα Β (με βάση τους φίλους του χρήστη), πέφτοντας στη 2η θέση. Επιπρόσθετα, η αξιολόγηση του σημείου «White Tower» είναι χαμηλότερη με βάση Εικόνα 22. – InfoWindow.

92 τη γνώμη των φίλων του χρήστη, έναντι του συνόλου, ενώ αντίστοιχα η αξιολόγηση του σημείου «Aristotelous Square» είναι μεγαλύτερη, έναντι του συνόλου. Τέλος, πατώντας ο χρήστης αριστερό κλικ πάνω σε οποιαδήποτε κουκκίδα, ανοίγει ένα παράθυρο με βασικές πληροφορίες για το σημείο αυτό.

93

Κεφάλαιο 3ο Μελέτη χρηστών

94 Κεφάλαιο 3ο

Το αντικείμενο της μελέτης χρηστών που θα παρουσιάσουμε σ’ αυτό το 3ο κεφάλαιο του παρόντος έργου, είναι η αξιολόγηση του Συστήματος Συστάσεων του Geosocial2. Συγκεκριμένα, θέλουμε να αξιολογήσουμε τους βασικούς τύπους συστάσεων Friend Rec, POI Rec και Activity Rec, καθένας από τους οποίους έχει δύο διαφορετικούς τρόπους παρουσίασης συστάσεων προς το χρήστη (explanation styles A & B – Α/Β Testing). Οι συλλεγόμενες πληροφορίες από την ακόλουθη δειγματοληψία είναι ποιοτικές μιας και το αντικείμενο αυτής είναι να αποτυπώσει την προτίμηση των χρηστών έναντι των δύο διαφορετικών στυλ παρουσίασης. Στόχος μας είναι να αξιολογήσουμε και να αναλύσουμε αυτές τις προτιμήσεις αναφορικά με τα δύο διαφορετικά στυλ παρουσίασης των διάφορων τύπων συστάσεων. Πιο συγκεκριμένα, ποιο explanation style (Α & Β) είναι προτιμητέο έναντι του άλλου και αν η διαφορά αυτή θεωρείται στατιστικά σημαντική. Για να φτάσουμε στα τελικά συμπεράσματα: i) θα προηγηθεί η παρουσίαση του πρωτοκόλλου πάνω στο οποίο βασιστήκαμε για την επίτευξη της αξιολόγησης από πλευράς χρηστών και ii) θα παρουσιάσουμε τις δύο κύριες υποθέσεις πάνω στις οποίες στηρίχτηκε η δημιουργία των προς εξέταση datasets που θα αναλύσουμε στην πορεία του παρόντος κεφαλαίου. Στα τελικά συμπεράσματα παρουσιάζουμε και ερμηνεύουμε i) συγκεντρωτικούς πίνακες και διαγράμματα που δείχνουν την τάση της μέσης τιμής ανά dataset και καταλήγουμε ii) στο ποιο από τα δύο επεξηγηματικά στυλ υπερτερεί στις προτιμήσεις των χρηστών και πως αυτό αποκωδικοποιείται στα πλαίσια της μελέτης χρηστών και της αξιολόγησης των συστημάτων συστάσεων του Geosocial2.

95 3.1 Πρωτόκολλο που ακολουθήθηκε στην πειραματική διαδικασία

3.1.1 Σχεδιασμός του ερωτηματολογίου – Α/Β Testing Method

Για τον σχεδιασμό και τη δομή της φόρμας αξιολόγησης στηριχθήκαμε στην πολύ απλή, άμεση και αρκετά δημοφιλή τα τελευταία χρόνια, μεθοδολογία A/B testing37. Η μέθοδος αυτή χρησιμοποιείτε ευρέως στο ηλεκτρονικό εμπόριο, τα κοινωνικά δίκτυα, τα συστήματα συστάσεων, και σε καμπάνιες marketing, για να ελεγχθεί η προτίμηση ή η συμπεριφορά (υπέρ ή κατά) των χρηστών έναντι δύο συνόλων, αντικειμένων, μεθόδων, προσεγγίσεων ή προτάσεων. Η μέθοδος A/B testing είναι αποτελεσματική γιατί απαιτεί ένα επαρκές μέγεθος δεδομένων, ούτως ώστε να υπάρχει δυνατότητα ανίχνευσης μιας ουσιαστικής διαφοράς (στατιστικά σημαντικής) κατά τον έλεγχο των δυο διαφορετικών δειγμάτων. Η μέθοδος A/B testing εφαρμόζεται στις μέρες μας από μεγάλες διεθνής εταιρείες, οι οποίες κάνουν χρήση αυτής, για την εξαγωγή συμπερασμάτων και τη λήψη μελλοντικών αποφάσεων αναφορικά με την πολιτική marketing που ακολουθούν. Η αξιολόγηση των διάφορων τύπων συστάσεων του Geosocial2 πραγματοποιήθηκε με ηλεκτρονικό τρόπο επιτρέποντας από τη μία έναν αυτοματοποιημένο τρόπο αποθήκευσης των αξιολογήσεων και από την άλλη την άμεση αξιολόγηση των τύπων συστάσεων κατόπιν της χρήσης αυτών. Στην περίπτωση των Εικόνων 23. και 24., βλέπουμε τη μορφή και τον τρόπο με τον οποίο παρουσιάζονταν στον χρήστη τα δύο διαφορετικά επεξηγηματικά στυλ Α & Β. Μ’ αυτόν τον τρόπο μπορούμε να ελέγξουμε την προτίμηση των χρηστών ανάμεσα στα δύο διαφορετικά στυλ.

Εικόνα 23. – Τύπος συστάσεων με βάση την τοποθεσία και τα συνολικά Check-ins.

37 http://en.wikipedia.org/wiki/A/B_testing Δημοφιλείς διεθνής εταιρείες που χρησιμοποιούν την συγκεκριμένη μέθοδο: Google, Amazon, Ebay, Netflix κ.α.

96

Εικόνα 24. – Τύπος συστάσεων με βάση τη δραστηριότητα και τα Check-ins που έχουν γίνει μόνο από τους φίλους του χρήστη.

Όσον αναφορά τη φόρμα αξιολόγησης, αξίζει να σημειωθεί, ότι δόθηκε η δυνατότητα στο χρήστη να αποτυπώσει το ύψος της προτίμησης του και για τα δύο στυλ συστάσεων, σε μια κλίμακα από το 1 έως το 5. Επίσης, του ζητούσαμε να γράψει ένα μικρό σχόλιο / τεκμηρίωση της τιμής που επέλεγε για κάθε στυλ (σημασιολογική πληροφορία στα πλαίσια της ανάλυσης των δεδομένων38).

Εικόνα 25. – Φόρμα αξιολόγησης.

3.1.2 Πλαίσιο της ανάλυσης

Στην υποενότητα αυτή, δίνονται οι βασικοί ορισμοί των εννοιών που θα χρησιμοποιηθούν στην μελέτη χρηστών39:  Πληθυσμός-στόχος (target population): Αποτελείται από τους εγγεγραμμένους χρήστες του Geosocial2.

38 Τα σχόλια αυτά θα χρησιμοποιηθούν ως κριτήριο δημιουργίας ενός 3ου dataset, του οποίου η στατιστική ανάλυση παρουσιάζεται στο ΙΙ μέρος του παραρτήματος. 39 Για περισσότερες πληροφορίες ανατρέξτε στη βιβλιογραφία [68, 69].

97  Πληθυσμός δειγματοληψίας (sampling population): Όλος ο πληθυσμός-στόχος ανήκει εν δυνάμει στον πληθυσμό δειγματοληψίας.  Αρχικό Δείγμα (sample): Στα πλαίσια οργάνωσης και εκτέλεσης αυτής της δειγματοληψίας, κρίναμε σκόπιμο να επιλέξουμε εκείνα τα άτομα τα οποία ήταν ενεργοί χρήστες (υποσύνολο του πληθυσμού-στόχου), ούτως ώστε να αξιολογήσουν το σύστημα συστάσεων του Geosocial2.  Ενεργοί χρήστες: Ορίζουμε ως ενεργούς χρήστες αυτούς οι οποίοι ακολούθησαν όλα τα στάδια του μέρους IV του παραρτήματος, ενότητα 2 (βλ. εγχειρίδιο χρήσης, ). Αυτούς δηλαδή, που χρησιμοποίησαν τις υπηρεσίες του Geosocial2, σχηματίζοντας εικόνα και άποψη σχετικά με την χρήση των υπηρεσιών αυτών από την προσωπική τους εμπειρία.  Υποπληθυσμός (sub-population): Σ’ αυτή την περίπτωση, από το σύνολο των χρηστών (sample), οι οποίοι αξιολόγησαν, δημιουργήσαμε τρεις (3) διαφορετικούς υποπληθυσμούς40 (sub-population/datasets):  A) Για τη δημιουργία του 1ου dataset41 πήραμε τους 30 πρώτους χρήστες με τα περισσότερα check-ins στις τρεις δημοφιλέστερες πόλεις (Θεσσαλονίκη, Αθήνα, Χαλκίδα) του Geosocial2. Η επιλογή αυτή έγινε προκειμένου να εξεταστεί κατά πόσο ο παράγοντας του πλήθους των check-ins μπορεί να οδηγήσει σε καλύτερες συστάσεις.  B) Προκειμένου να μελετηθούν οι συστάσεις φίλων πραγματοποιήσαμε φθίνουσα ταξινόμηση στους χρήστες με βάση το πλήθος των φίλων τους και από αυτούς πήραμε τις αξιολογήσεις των πρώτων 30, 20 και 10 (sub-datasets) αντίστοιχα, ώστε να μελετήσουμε την τάση των Μ.Ο. που προκύπτουν κάθε φορά για τα δύο διαφορετικά στυλ.

40 Στο II μέρος του παραρτήματος γίνεται η παρουσίαση ενός 3ου dataset – C, για το οποίο λάβαμε υπόψη μονάχα εκείνες τις αξιολογήσεις των χρηστών, οι οποίες συνοδευόντουσαν από τη σημασιολογική πληροφορία των σχολίων τους. Δηλαδή, εκείνους τους χρήστες που είχαν αξιολογήσει και ταυτόχρονα είχαν τεκμηριώσει την αξιολόγηση τους. Η συγκεκριμένη επιλογή έγινε προκειμένου να φιλτράρουμε εκείνα τα δεδομένα που προέρχονταν από χρήστες που είχαν τεκμηρίωση την προτίμηση τους. 41 Βλ. Πίνακα 49. μέρος Ι του Παραρτήματος, ενότητα 1.11.

98 3.2 Έλεγχος, Επεξεργασία και καθορισμός των datasets

Ο αρχικός στόχος που είχε τεθεί ήταν να συγκεντρωθεί ένα σύνολο δεδομένων (dataset) από 30-35 χρήστες. Ο στόχος αυτός επιτεύχθηκε με το παραπάνω μιας και το σύνολο των δεδομένων αποτελείται από την αξιολόγηση 50 ενεργών χρηστών (περίπου +40% του αρχικού στόχου).

Α. Για τη δημιουργία του 1ου dataset (εφεξής Dataset-A) λάβαμε υπόψη τα δεδομένα του Πίνακα 49. στην ενότητα 1.11 του I. μέρους του παραρτήματος. Το dataset-A απαρτίζεται από τις αξιολογήσεις των 30 χρηστών α) με τα περισσότερα check-ins στο σύνολο όλων των χρηστών, και ταυτόχρονα β) τα περισσότερα από αυτά σε μία από τις τρεις δημοφιλέστερες πόλεις. Για να γίνει αυτό βρήκαμε αρχικά το συνολικό αριθμό των check-ins των χρηστών και στη συνέχεια αντιστοιχήσαμε πόσα από αυτά ανήκουν στην πόλη της Θεσσαλονίκης, της Αθήνας και της Χαλκίδας. Το υπόλοιπο των check-ins το καταχωρήσαμε στην στήλη «Other cities» (ανατρέξτε στον Πίνακα 49).

Σ’ αυτή την περίπτωση δίνουμε μεγαλύτερη βαρύτητα στην εμπειρία του χρήστη και στην ιστορικότητα των check-ins που αυτοί και οι φίλοι του έχουν πραγματοποιήσει. Το μεγάλο πλήθος check-ins δείχνει επίσης, ότι οι χρήστες έχουν εξοικειωθεί με τις υπηρεσίες του Geosocial2. Επιπρόσθετα, ένας χρήστης που ο ίδιος και οι φίλοι του έχουν πραγματοποιήσει μεγάλο πλήθος check-ins στις δημοφιλέστερες πόλεις, έχουν μεγαλύτερη πιθανότητα να απολαύσουν καλύτερες υπηρεσίες συστάσεων. Γενικά, η γνώμη και η προτίμηση που δείχνουν αυτοί οι χρήστες έχει μεγαλύτερη βαρύτητα. Αυτό ακριβώς θέλουμε να εξετάσουμε μέσα από τη δημιουργία του 1ου dataset. Γι’ αυτό το λόγο η ανάλυση του dataset-A θα θα γίνει μόνο ως προς τους τύπους συστάσεων με βάση την τοποθεσία και τη δραστηριότητα.

99 Β. Για τη δημιουργία του 2ου dataset (εφεξής Dataset-B), για κάθε ένα από τους 50 χρήστες που πραγματοποίησαν αξιολόγηση, υπολογίσαμε το συνολικό αριθμό των φίλων που είχαν. Από τον πίνακα που προέκυψε, διαλέξαμε τις αξιολογήσεις των 30, 20 και 10 χρηστών, αντίστοιχα, με τους περισσότερους φίλους. Μ’ αυτόν τον τρόπο θέλαμε να εξετάσουμε κατά πόσο το χαρακτηριστικό / παράμετρος «αριθμός φίλων ενός χρήστη», επηρεάζει την προτίμηση ανάμεσα στα δύο στυλ Α & Β.

Με τη δημιουργία του Dataset-B θέλουμε να μελετήσουμε συγκεκριμένα τον τύπο συστάσεων με βάση τη φιλία και να δείξουμε ότι οι χρήστες με τους περισσότερους φίλους, εκτός του ότι λάμβαναν πιο πλούσια και εγκυρότερη πληροφορία, έδειξαν μεγαλύτερη προτίμηση στο explanation style B. Για να αποδειχθεί αυτό έμπρακτα δημιουργήσαμε τρία sub-datasets (Β30, Β20 & Β10), ώστε να δείξουμε την αυξητική τάση των αξιολογήσεων (προτίμηση) των χρηστών ως προς το B επεξηγηματικό στυλ έναντι του Α.

100 3.3 Ανάλυση δεδομένων

Για την στατιστική ανάλυση που θα ακολουθήσει, χρησιμοποιήθηκε το έγκυρο και έγκριτο πρόγραμμα στατιστικής ανάλυσης SPSS42. Οι υποθέσεις στις οποίες στηριζόταν η ανάλυση οποιουδήποτε dataset, για οποιοδήποτε τύπο συστάσεων είναι οι κάτωθι:

H0: Η διαφορά των Μ.Ο. δεν είναι στατιστικά σημαντική, άρα οι Μ.Ο. θεωρούνται «ίσοι». Επομένως, δεν υπάρχει σαφή διάκριση / υπεροχή / προτίμηση μεταξύ των δύο στυλ συστάσεων / ή μεθόδων αναζήτησης.

H1: Η διαφορά των Μ.Ο. είναι στατιστικά σημαντική, άρα οι Μ.Ο. δεν θεωρούνται «ίσοι» μεταξύ τους. Επομένως, υπάρχει σαφή διάκριση / υπεροχή / προτίμηση μεταξύ των δύο στυλ συστάσεων / ή μεθόδων αναζήτησης.

Εφόσον ορίσαμε τη μηδενική και εναλλακτική υπόθεση, στη συνέχεια θα εξετάσουμε ποια ισχύει, χρησιμοποιώντας τη μέθοδο t-Test που εξετάζει το επίπεδο ομοιογένειας της διακύμανσης των δύο δειγμάτων [70]. Αυτό συμπεραίνεται από το αν το significant (εφεξής sig.) του Levene’s Test είναι μεγαλύτερο από το 0,05 (p>0,05). Αν ισχύει, αυτό σημαίνει πως το Levene’s Test είναι μη σημαντικό και επομένως οι διακυμάνσεις είναι ομοιογενείς. Τότε ελέγχουμε το sig. (2-tailed) στην 1η γραμμή, αν είναι p>0,05 τότε η διαφορά δεν είναι στατιστικά σημαντική, επομένως

ισχύει η μηδενική υπόθεση (Η0). Διαφορετικά αν ισχύει p<0,05, τότε η διαφορά των Μ.Ο. θεωρείται στατιστικά σημαντική, επομένως απορρίπτεται η μηδενική υπόθεση

(Η0) και δεχόμαστε την εναλλακτική (Η1). Στην περίπτωση που το sig. του Levene’s Test είναι μικρότερο από 0,05 (p<0,05), δηλαδή ο έλεγχος του Levene’s Test είναι στατιστικά σημαντικός, τότε η ομοιογένεια των διακυμάνσεων έχει διασπαστεί και συνεπώς ελέγχουμε το sig. (2- tailed), αν είναι μεγαλύτερο του 0,05 (p>0,05). τότε η διαφορά δεν είναι στατιστικά

σημαντική, επομένως ισχύει η μηδενική υπόθεση (Η0). Διαφορετικά αν ισχύει p<0,05,

42 SPSS: Statistical Package for the Social Sciences [9, 68]. Πρόκειται για εμπορικό πακέτο στατιστικής ανάλυσης. http://www.spss.com.

101 τότε η διαφορά των Μ.Ο. θεωρείται στατιστικά σημαντική, επομένως απορρίπτεται η

μηδενική υπόθεση (Η0) και δεχόμαστε την εναλλακτική (Η1).

3.3.1 Dataset – A

3.3.1.1 POI Rec Evaluation

Παρακάτω ακολουθεί η ανάλυση του τύπου συστάσεων τοποθεσιών με βάση τη δραστηριότητα (POI Rec). Όπως φαίνεται στον Πίνακα 22., 2 χρήστες βαθμολόγησαν το Α στυλ με την τιμή 1 και αυτό αποτελεί το 6,7% των χρηστών (*σε σύνολο 30), την τιμή 2 έδωσε μόνο ένας χρήστης και αυτό αποτελεί το 3,3% του συνόλου των χρηστών κ.ο.κ. Βλέπουμε πως το 66,7% των χρηστών αυτών (20 χρήστες) έδωσαν τις τιμές 4 και 5 στο Α στυλ. Στην περίπτωση του Β στυλ κανείς χρήστης δεν έδωσε την τιμή 2, ενώ υπάρχει μια ισχνή διαφορά στο πλήθος των χρηστών (22) οι οποίοι έδωσαν τις τιμές 4 και 5 στο Β στυλ. Explanation Style A

Explanation Style B

Πίνακας 22. – Συχνοτήτων και Αθροιστικών Συχνοτήτων για POI Rec.

Αξίζει να σημειωθεί, ότι όταν ένας χρήστης είναι “δραστήριος” έχοντας πραγματοποιήσει πολλά check-ins δεν σημαίνει απαραίτητα πως και οι φίλοι του

102 πράττουν το ίδιο. Επομένως, μπορεί να παρατηρηθεί ο αλγόριθμος, για την παραγωγή του Β επεξηγηματικού στυλ, να εμφανίζει λίγες ή και καθόλου συστάσεις σε κάποιες περιπτώσεις. Αυτό μπορεί να συμβεί, όταν ένα χρήστης μπορεί να έχει μεν αρκετούς φίλους, ωστόσο οι φίλοι του να μην έχουν πραγματοποιήσει κανένα check-in, ελάχιστα ή ακόμα και αν έχουν πραγματοποιήσει, αυτά να ανήκουν σε διαφορετικές κατηγορίες ενδιαφέροντος από αυτές που αναζητεί ο χρήστης. Πριν προχωρήσουμε στον έλεγχο T-test καλό είναι να υπενθυμίσουμε σ’ αυτό το σημείο, ότι το Α στυλ προτείνει σημεία ενδιαφέροντος (POIs) με βάση το συνδυασμό πόλη-δραστηριότητα στο σύνολο των χρηστών, ενώ το Β στυλ προτείνει σημεία ενδιαφέροντος (POIs) με βάση το συνδυασμό πόλη-δραστηριότητα, λαμβάνοντας υπόψη την ιστορικότητα των check-ins που έχουν πραγματοποιηθεί μόνο από τους φίλους του χρήστη (βλ. ενότητα 2.5.2). Λαμβάνοντας υπόψη τον τρόπο δημιουργίας του Dataset-A, όπως αναλύθηκε στην ενότητα 3.2, πραγματοποιήσαμε τον έλεγχο T-test [69], ο οποίος μας δείχνει αν η διαφορά των μέσω όρων δύο δειγμάτων είναι στατιστικά σημαντική. Στον Πίνακα 23. βλέπουμε πως οι μέσοι όροι των βαθμολογιών των δύο στυλ είναι 3,76 για το Α στυλ και 4,03 για το Β. Αντίστοιχα, η τυπική απόκλιση είναι 1,10 για το Α στυλ και 1,40 για το Β. Αυτό δείχνει μια σχετική υπεροχή του Β στυλ έναντι του Α (meanΒ>meanΑ), ωστόσο επαληθεύεται αυτό?! Είναι στατιστικά σημαντικό αυτό το εύρημα?!

Πίνακας 23. – Μ.Ο. και Τυπικών Αποκλίσεων.

Πίνακας 24. – Levene’s Test for Equality of Variances.

Στην περίπτωση αυτή το sig. του Levene’s Test = 0,215>0,05, άρα κοιτάμε το sig. (2-tailed) στην 1η γραμμή, το οποίο ισούται με 0,416>0,05. Αυτό σημαίνει πως

103 ισχύει η μηδενική υπόθεση (Η0). Δηλαδή, οι Μ.Ο. των βαθμολογιών που έδωσαν οι χρήστες για τα δύο διαφορετικά στυλ συστάσεων με βάση τη δραστηριότητα, δεν διαφέρουν μεταξύ τους. Επομένως, μπορούν να θεωρηθούν «ίσοι». Το αποτέλεσμα αυτό επιβεβαιώνεται και από το 95% διάστημα εμπιστοσύνης της διαφοράς μεταξύ των μέσων (-0,91954 έως -0,38621). Το διάστημα αυτό

περιλαμβάνει το -0,26 (μέσος της Η0) και επομένως η μηδενική υπόθεση απορρίπτεται.

3.3.1.2 Activity Rec Evaluation

Στην συνέχεια παρουσιάζουμε τις αθροιστικές συχνότητες των αξιολογήσεων του τύπου συστάσεων δραστηριοτήτων με βάση την τοποθεσία. Σ’ αυτή την περίπτωση μόνο ένας χρήστης βαθμολόγησε το Α στυλ με την τιμή 1 και αυτό αποτελεί το 3,3% των χρηστών (*σε σύνολο 30), την τιμή 2 έδωσε επίσης ένας μόνο χρήστης και αυτό αποτελεί το 3,3% του συνόλου των χρηστών κ.ο.κ. Βλέπουμε πως το 73,3% των χρηστών αυτών (22 χρήστες) έδωσαν τις τιμές 3 και 4 στο Α στυλ. Στην περίπτωση του Β στυλ αυτό που παρατηρείται και είναι άκρως επιθυμητό και αξιόλογο είναι ότι 20 (ποσοστό 66,7%) από τους 30 χρήστες με τους περισσότερους φίλους έδωσαν στο Β στυλ τη μέγιστη τιμή 5.

Explanation Style A

Explanation Style B

Πίνακας 25. – Συχνοτήτων και Αθροιστικών Συχνοτήτων για Activity Rec.

104 Πριν προχωρήσουμε στον έλεγχο T-test καλό είναι να υπενθυμίσουμε σ’ αυτό το σημείο, ότι το Α στυλ προτείνει σημεία ενδιαφέροντος (POIs) με βάση την τοποθεσία στο σύνολο των χρηστών, ενώ το Β στυλ προτείνει σημεία ενδιαφέροντος (POIs) με βάση την τοποθεσία, λαμβάνοντας υπόψη την ιστορικότητα των check-ins που έχουν πραγματοποιηθεί μόνο από τους φίλους του χρήστη (βλ. ενότητα 2.5.3). Στον Πίνακα 26. βλέπουμε πως οι μέσοι όροι των βαθμολογιών των δύο στυλ είναι 3,63 για το Α στυλ και 4,16 για το Β. Αντίστοιχα, η τυπική απόκλιση είναι 0,96 για το Α στυλ και 1,44 για το Β. Αυτό δείχνει μια σαφή υπεροχή του Β στυλ έναντι του Α (meanΒ>meanΑ).

Πίνακας 26. – Μ.Ο. και Τυπικών Αποκλίσεων.

Πίνακας 27. – Levene’s Test for Equality of Variances.

Στην περίπτωση αυτή το sig. του Levene’s Test = 0,097>0,05, άρα κοιτάμε το sig. (2-tailed) στην 1η γραμμή, το οποίο ισούται με 0,097>0,05. Αυτό σημαίνει πως

ισχύει η μηδενική υπόθεση (Η0). Δηλαδή, οι Μ.Ο. των βαθμολογιών που έδωσαν οι χρήστες για τα δύο διαφορετικά στυλ συστάσεων με βάση την τοποθεσία, δεν διαφέρουν μεταξύ τους. Επομένως, μπορούν να θεωρηθούν «ίσοι». Το αποτέλεσμα αυτό επιβεβαιώνεται και από το 95% διάστημα εμπιστοσύνης της διαφοράς μεταξύ των μέσων (-1,16682 έως -0,10015). Το διάστημα αυτό

περιλαμβάνει το -0,53 (μέσος της Η0) και επομένως η μηδενική υπόθεση απορρίπτεται.

105 3.3.2 Dataset – Β

3.3.2.1 Friend Rec Evaluation B30

Η ανάλυση που θα ακολουθήσει στην Total Total nodeID nodeID παρούσα υποενότητα αφορά το dataset-B, Friends Friends όπως το περιγράψαμε στην υποενότητα 19 16 210 7 9 15 20 6 3.1.2. Δίπλα, παρουσιάζουμε τον Πίνακα 70. 4 13 120 6 που προέκυψε βασιζόμενοι στην υπόθεση 34 12 142 6 αυτή. Από τους 50 χρήστες που αξιολόγησαν 39 12 171 6 τις υπηρεσίες του Geosocial2, διαλέξαμε τις 185 9 195 6 8 8 7 5 αξιολογήσεις των 30 χρηστών που είχαν τους 211 8 10 5 περισσότερους φίλους. 212 8 15 5 Στην συνέχεια παρουσιάζουμε τις 25 7 24 5 106 7 29 5 αθροιστικές συχνότητες των αξιολογήσεων 137 7 154 5 του τύπου συστάσεων φιλίας, οι οποίες 179 7 164 5 δείχνουν το πόσες φορές επιλέχτηκε μια τιμή 197 7 181 5 204 7 183 5 και το ποσοστό αυτών στο σύνολο των 30 αξιολογήσεων. Πίνακας 70. – Συγκεντρωτικός πίνακας του Dataset-B Σύμφωνα μ’ αυτά κανείς από τους χρήστες με τους περισσότερους φίλους δεν βαθμολόγησε το Α στυλ με την τιμή 1. Ένας χρήστης έδωσε την τιμή 2 και αυτό αποτελεί το 1,7% των χρηστών (*σε σύνολο 30), την τιμή 3 έδωσαν 11 χρήστες και αυτό αποτελεί το 36,7% του συνόλου των χρηστών κ.ο.κ. Βλέπουμε πως το 60% των χρηστών αυτών (18 χρήστες) έδωσαν τις τιμές 4 και 5 στο Α στυλ. Αντίστοιχα, για το στυλ Β έχουμε: 3 χρήστες έδωσαν την τιμή 1 και αυτό αποτελεί το 10%, 3 χρήστες έδωσαν την τιμή 2 και αυτό αποτελεί το 10% κ.ο.κ. Σ’ αυτή την περίπτωση το 46,7% βαθμολόγησαν το Β στυλ με τιμές από 1 έως 3.

106 Explanation Style A

Explanation Style B

Πίνακας 28. – Συχνοτήτων και Αθροιστικών Συχνοτήτων για Friend Rec – B30.

Πριν προχωρήσουμε στον έλεγχο T-test καλό είναι να υπενθυμίσουμε σ’ αυτό το σημείο, ότι το Α στυλ δείχνει πόσους κοινούς φίλους έχει ο χρήστης μ' αυτούς που του προτείνονται για φίλους και το Β δείχνει με πόσα μονοπάτια και ποια είναι αυτά, καταλήγει στο χρήστη που προτείνει για φίλο (βλ. ενότητα 2.5.1). Στον Πίνακα 29. βλέπουμε πως οι μέσοι όροι των βαθμολογιών των δύο στυλ είναι 3,90 για το Α στυλ και 3,63 για το Β. Αντίστοιχα, η τυπική απόκλιση είναι 0,92 για το Α στυλ και 1,37 για το Β. Αυτό δείχνει μια σχετική υπεροχή του Α στυλ έναντι του Β (meanΑ>meanΒ).

Πίνακας 29. – Μ.Ο. και Τυπικών Αποκλίσεων – B30.

Πίνακας 30. – Levene’s Test for Equality of Variances – B30.

107 Στην περίπτωση αυτή το sig. του Levene’s Test = 0,008<0,05, άρα κοιτάμε το sig. (2-tailed) στην 2η γραμμή, το οποίο ισούται με 0,382>0,05. Αυτό σημαίνει πως

ισχύει η μηδενική υπόθεση (Η0). Δηλαδή, η διαφορά των Μ.Ο. των βαθμολογιών που έδωσαν οι χρήστες για τα δύο διαφορετικά στυλ συστάσεων φιλίας δεν είναι στατιστικά σημαντική και επομένως μπορούμε να θεωρήσουμε πως δεν διαφέρουν μεταξύ τους. Το αποτέλεσμα αυτό επιβεβαιώνεται και από το 95% διάστημα εμπιστοσύνης της διαφοράς μεταξύ των μέσων (-0,34093 έως 0,87427). Το διάστημα αυτό

περιλαμβάνει το 0,26 (μέσος της Η0), επομένως η ισχύει μηδενική υπόθεση.

3.3.2.2 Friend Rec Evaluation B20

Ακολούθως, συνεχίζουμε την ανάλυση μας με τις αξιολογήσεις των 20 χρηστών με τους περισσότερους φίλους. Αρχικά, παρουσιάζουμε τις αθροιστικές συχνότητες των αξιολογήσεων του τύπου συστάσεων φιλίας, οι οποίες δείχνουν το πόσες φορές επιλέχτηκε μια τιμή και το ποσοστό αυτών στο σύνολο των 20 αξιολογήσεων. Σύμφωνα μ’ αυτά κανείς από τους χρήστες με τους περισσότερους φίλους δεν βαθμολόγησε το Α στυλ με την τιμή 1. Ένας χρήστης έδωσε την τιμή 2 και αυτό αποτελεί το 5% των χρηστών (*σε σύνολο 20), την τιμή 3 έδωσαν 8 χρήστες και αυτό αποτελεί το 40% του συνόλου των χρηστών κ.ο.κ. Βλέπουμε πως το 65% των χρηστών αυτών (13 χρήστες) έδωσαν την τιμή 4 και χαμηλότερες από αυτή, στο Α στυλ. Αντίστοιχα, για το στυλ Β έχουμε: 1 χρήστης έδωσε την τιμή 1 και αυτό αποτελεί το 5%, 1 χρήστης έδωσε την τιμή 2 και αυτό αποτελεί το 5% κ.ο.κ. Σ’ αυτή την περίπτωση το 60% των χρηστών βαθμολόγησαν το Β στυλ με τιμές 4 και 5.

Explanation Style A

108 Explanation Style B

Πίνακας 31. – Συχνοτήτων και Αθροιστικών Συχνοτήτων για Friend Rec – B20.

Εφαρμόζοντας τον έλεγχο t-test, στον Πίνακα 32. βλέπουμε πως οι μέσοι όροι των βαθμολογιών των δύο στυλ είναι ίσοι με 3,85. Ενώ, η τυπική απόκλιση είναι 0,98 για το Α στυλ και 1,18 για το Β. Πρώτη φορά στην ανάλυση μας συναντάμε την ισότητα των δύο Μ.Ο. (meanA=meanB). Προφανώς και θα ισχύει η μηδενική

υπόθεση (Η0) σ’ αυτή την περίπτωση.

Πίνακας 32. – Μ.Ο. και Τυπικών Αποκλίσεων – B20.

Πίνακας 33. – Levene’s Test for Equality of Variances – B20.

Στην περίπτωση αυτή το sig. του Levene’s Test = 0,502>0,05, άρα κοιτάμε το sig. (2-tailed) στην 1η γραμμή, το οποίο ισούται με 1,000>0,05. Αυτό σημαίνει πως

ισχύει η μηδενική υπόθεση (Η0). Δηλαδή, η διαφορά των Μ.Ο. των βαθμολογιών που έδωσαν οι χρήστες για τα δύο διαφορετικά στυλ συστάσεων φιλίας δεν είναι στατιστικά σημαντική και επομένως μπορούμε να θεωρήσουμε πως δεν διαφέρουν μεταξύ τους. Το αποτέλεσμα αυτό επιβεβαιώνεται και από το 95% διάστημα εμπιστοσύνης της διαφοράς μεταξύ των μέσων (-0,69742 έως 0,69742). Το διάστημα αυτό

περιλαμβάνει το 0,000 (μέσος της Η0), επομένως η ισχύει μηδενική υπόθεση.

109 3.3.2.3 Friend Rec Evaluation B10

Τέλος, συνεχίζουμε την ανάλυση μας με τις αξιολογήσεις των 10 χρηστών με τους περισσότερους φίλους. Ακολούθως, παρουσιάζουμε τις αθροιστικές συχνότητες των αξιολογήσεων του τύπου συστάσεων φιλίας, οι οποίες δείχνουν το πόσες φορές επιλέχτηκε μια τιμή και το ποσοστό αυτών στο σύνολο των 10 αξιολογήσεων. Σύμφωνα μ’ αυτά κανείς από τους χρήστες με τους περισσότερους φίλους δεν βαθμολόγησε το Α στυλ με την τιμή 1. Ένας χρήστης έδωσε την τιμή 2 και αυτό αποτελεί το 10% των χρηστών (*σε σύνολο 10), την τιμή 3 έδωσαν 4 χρήστες και αυτό αποτελεί το 40% του συνόλου των χρηστών κ.ο.κ. Αυτό που αξίζει να σημειωθεί είναι πως κανείς από τους χρήστες δεν έδωσε τις τιμές 1 και 2 στο Β στυλ.

Explanation Style A

Explanation Style B

Πίνακας 34. - Συχνοτήτων και Αθροιστικών Συχνοτήτων για Friend Rec – B10

Στον Πίνακα 35. βλέπουμε πως οι μέσοι όροι των βαθμολογιών των δύο στυλ είναι 3,8 για το Α στυλ και 4,1 για το Β. Αντίστοιχα, η τυπική απόκλιση είναι 1,13 για το Α στυλ και 0,99 για το Β. Αυτό δείχνει μια σχετική υπεροχή του Β στυλ έναντι του Α (meanΒ>meanΑ).

Πίνακας 35. - Μ.Ο. και Τυπικών Αποκλίσεων – B10.

110

Πίνακας 36. – Levene’s Test for Equality of Variances – B10.

Στην περίπτωση αυτή το sig. του Levene’s Test = 0,548>0,05, άρα κοιτάμε το sig. (2-tailed) στην 1η γραμμή, το οποίο ισούται με 0,538>0,05. Αυτό σημαίνει πως

ισχύει η μηδενική υπόθεση (Η0). Δηλαδή, η διαφορά των Μ.Ο. των βαθμολογιών που έδωσαν οι χρήστες για τα δύο διαφορετικά στυλ συστάσεων φιλίας δεν είναι στατιστικά σημαντική και επομένως μπορούμε να θεωρήσουμε πως δεν διαφέρουν μεταξύ τους. Το αποτέλεσμα αυτό επιβεβαιώνεται και από το 95% διάστημα εμπιστοσύνης της διαφοράς μεταξύ των μέσων (-1,30394 έως 0,70269). Το διάστημα αυτό

περιλαμβάνει το -0,30 (μέσος της Η0), επομένως η ισχύει μηδενική υπόθεση.

111 3.4 Τελικά συμπεράσματα

Πριν ξεκινήσουμε την ανακεφαλαίωση των στατιστικών συμπερασμάτων, αξίζει να τονισθεί ότι για την εκτέλεση του ελέγχου T-test απαραίτητη προϋπόθεση είναι η κανονικότητα των δεδομένων, δηλαδή τα δεδομένα ενός dataset να ακολουθούν την κανονική κατανομή. Επιπρόσθετα η μη σημαντικότητα του Levene’s Test (p>0,05) σημαίνει ότι οι διακυμάνσεις μεταξύ των δύο αξιολογήσεων, κάθε φορά, είναι ομοιογενείς και το t-test μπορεί να χρησιμοποιηθεί. Διαφορετικά, όταν το Levene’s Test είναι στατιστικά σημαντικό (p<0,05), τότε η ομοιογένεια των διακυμάνσεων έχει διασπαστεί και συνεπώς το t-test δεν κρίνεται κατάλληλο [63]. Συνοπτικά παρουσιάζουμε τις κυριότερες έννοιες που συναντήσαμε και θα μας βοηθήσουν να ανακεφαλαιώσουμε παρουσιάζοντας τα τελικά συμπεράσματα:

Friend Recommendation: Τύπος συστάσεων φιλίας. Ο χρήστης ανατρέχει σ’ αυτή τη λειτουργία του Geosocial2, ώστε να λάβει συστάσεις για άτομα που ίσως γνωρίζει.

POI Recommendation: Τύπος συστάσεων τοποθεσιών με βάση τη δραστηριότητα που θέλει να κάνει ο χρήστης. Ο χρήστης ανατρέχει σ’ αυτή τη λειτουργία του Geosocial2, ώστε να λάβει συστάσεις για σημεία ενδιαφέροντος (POI) που ανήκουν στο συνδυασμό τοποθεσία-δραστηριότητα που επέλεξε αρχικά.

Activity Recommendation: Τύπος συστάσεων δραστηριοτήτων με βάση την τοποθεσία που βρίσκεται ο χρήστης. Ο χρήστης ανατρέχει σ’ αυτή τη λειτουργία του Geosocial2, ώστε να λάβει συστάσεις για σημεία ενδιαφέροντος (POI) που ανήκουν στην τοποθεσία που επέλεξε αρχικά.

Explanation Style A: Για την περίπτωση του τύπου συστάσεων φιλίας (Friend Rec), το επεξηγηματικό στυλ Α εμφανίζει συστάσεις με βάση το πλήθος των κοινών φίλων μεταξύ του χρήστη και αυτού που του προτείνεται από το σύστημα ως μελλοντικό φίλο. Τα άτομα που προτείνονται σ’ αυτή την περίπτωση είναι μήκους- ℓ=2.

112 Στις περιπτώσεις των δύο άλλων τύπων συστάσεων με βάση την τοποθεσία και τη δραστηριότητα (POI Rec και Activity Rec, αντίστοιχα), εμφανίζει συστάσεις στηριζόμενο στο σύνολο των check-ins που έχουν πραγματοποιηθεί από όλους του χρήστες του Geosocial2.

Explanation Style B: Για την περίπτωση του τύπου συστάσεων φιλίας (Friend Rec), το επεξηγηματικό στυλ B εμφανίζει συστάσεις με βάση το πλήθος των μονοπατιών που καταλήγουν στον χρήστη που προτείνεται από το σύστημα ως μελλοντικό φίλο. Τα άτομα που προτείνονται σ’ αυτή την περίπτωση είναι μήκους- ℓ=3. Στις περιπτώσεις των δύο άλλων τύπων συστάσεων με βάση την τοποθεσία και τη δραστηριότητα (POI Rec και Activity Rec, αντίστοιχα), εμφανίζει συστάσεις στηριζόμενο μόνο στα check-ins που έχουν πραγματοποιηθεί από τους φίλους του χρήστη που κάνει την αναζήτηση και όχι στο σύνολο των χρηστών του Geosocial2.

Dataset – A: Πρόκειται για το dataset το οποίο αποτελείται από τις αξιολογήσεις των 30 χρηστών με τα περισσότερα check-ins στις τρεις δημοφιλέστερες πόλεις (ενότητα 3.3 – 1η υπόθεση).

Dataset – B30: Πρόκειται για το sub-dataset το οποίο αποτελείται από τις αξιολογήσεις των 30 χρηστών με τους περισσότερους φίλους (ενότητα 3.3 – 2η υπόθεση).

Dataset – B20: Πρόκειται για το sub-dataset το οποίο αποτελείται από τις αξιολογήσεις των 20 χρηστών με τους περισσότερους φίλους (ενότητα 3.3 – 2η υπόθεση).

Dataset – B10: Πρόκειται για το sub-dataset το οποίο αποτελείται από τις αξιολογήσεις των 10 χρηστών με τους περισσότερους φίλους (ενότητα 3.3 – 2η υπόθεση).

113 H0: Η διαφορά των Μ.Ο. δεν είναι στατιστικά σημαντική, άρα οι Μ.Ο. θεωρούνται «ίσοι». Επομένως, δεν υπάρχει σαφή διάκριση / υπεροχή / προτίμηση μεταξύ των δύο στυλ συστάσεων / ή μεθόδων αναζήτησης.

H1: Η διαφορά των Μ.Ο. είναι στατιστικά σημαντική, άρα οι Μ.Ο. δεν θεωρούνται «ίσοι» μεταξύ τους. Επομένως, υπάρχει σαφή διάκριση / υπεροχή / προτίμηση μεταξύ των δύο στυλ συστάσεων / ή μεθόδων αναζήτησης.

3.4.1 Dataset – A

Στην ενότητα αυτή θα συγκρίνουμε τα αποτελέσματα του ελέγχου T-test για το 1ο dataset. Το dataset-A δημιουργήθηκε για να μελετήσουμε κατά πόσο η παράμετρος του πλήθους των check-ins που έχει πραγματοποιήσει ένας χρήστης στις δημοφιλέστερες πόλεις στο σύνολο των χρηστών, επιδρά σημαντικά στον τρόπο με τον οποίο οι χρήστες αξιολογούν τα δύο διαφορετικά επεξηγηματικά στυλ.

Dataset Style / T-test B Method

POI Rec H0 B

Activity Rec H0 B Πίνακας 37. – Σύγκριση αποτελεσμάτων του ελέγχου T-test στο dataset-Α.

Ο έλεγχος T-test για το dataset-A μας δείχνει, πως δεν υπάρχει στατιστικά σημαντική διαφορά ανάμεσα στους Μ.Ο. των δύο διαφορετικών επεξηγηματικών στυλ, τόσο για POI Rec, όσο και για το Activity Rec. Επίσης, στην 3η στήλη παρατηρούμε πως η μέθοδο / επεξηγηματικό στυλ που υπερισχύει κάθε φορά (έστω και οριακά) είναι το Β.

Dataset - A

Rec Systems μA μΒ σA σΒ μdΑ σdA POI Rec 3,77 4,03 1,10 1,40 + 0,26 0,32 Activity Rec 3,63 4,17 0,96 1,44 + 0,54 0,31

* Πίνακας 38. - Μέση τιμή (μ), τυπική απόκλιση (σ), διαφορά των μέσων (μd) και διαφορά των τυπικών αποκλίσεων (σd) των αξιολογήσεων των explanation styles A & B.

Στον παραπάνω πίνακα, αντίστοιχα, βλέπουμε πως οι μέσες τιμές και οι τυπικές αποκλίσεις για το explanation style B υπερτερούν και στους δύο τύπους

114 συστάσεων. Η μεγαλύτερη μέση τιμή στις αξιολογήσεις του Β επεξηγηματικού στυλ, υποδηλώνει σαφώς μεγαλύτερες τιμές αξιολόγησης από πλευράς χρηστών και μια οριακή προτίμηση του τρόπου παρουσίασης των συστάσεων του Β τρόπου έναντι του Α. Ωστόσο, η μεγαλύτερη τυπική απόκλιση (σΒ), υποδηλώνει ότι η διασπορά των τιμών των αξιολογήσεων για το Β στυλ είναι μεγαλύτερη έναντι των τιμών των αξιολογήσεων για το Α στυλ. Στο διάγραμμα που ακολουθεί αναπαριστούμε γραφικά την υπεροχή του Β στυλ στις προτιμήσεις των χρηστών. Σ’ αυτή την περίπτωση φαίνεται καλύτερα το εύρος που καλύπτει το διάστημα [-σ, +σ] με βάση τις αξιολογήσεις των χρηστών.

Διάγραμμα 2. - Μέση τιμή και τυπική απόκλιση (±σ) για τον τύπο συστάσεων σημείων ενδιαφέροντος (POI Rec) βάση της δραστηριότητας που επιλέγει κάθε φορά ο χρήστης.

Στην περίπτωση του τύπου συστάσεων δραστηριοτήτων με βάση τη τοποθεσία, βλέπουμε πως υπάρχει σημαντική διαφορά στις μέσες τιμές των δύο επεξηγηματικών στυλ. Επίσης, άκρως σημαντικό είναι το γεγονός ότι το διάστημα [-σ, +σ] για το Β στυλ, έχει μειωθεί. Αυτό σημαίνει ότι εκτός του ότι υπερτερεί έναντι του Α, ως προς τη μέση τιμή, οι αξιολογήσεις που συνοδεύουν το Β στυλ έχουν μεγαλύτερη ομοιογένεια σε σχέση με την περίπτωση του POI Rec.

115

Διάγραμμα 3. - Μέση τιμή και τυπική απόκλιση (±σ) για τον τύπο συστάσεων δραστηριοτήτων (Activity Rec) με βάση την τοποθεσία που επιλέγει κάθε φορά ο χρήστης

Τέλος, θα λέγαμε πως το κριτήριο του πλήθους των check-ins δεν απέφερε τα αναμενόμενα αποτελέσματα που περιμέναμε (στατιστική σημαντική διαφορά μεταξύ των μέσων των δύο επεξηγηματικών στυλ). Επομένως, σύμφωνα με τα παραπάνω δεν μπορούμε να οδηγηθούμε σ’ ένα ασφαλές συμπέρασμα πως ο παράγοντας αυτός είναι κρίσιμος. Ωστόσο, θα μπορούσαμε να πούμε πως επιδρά στον τρόπο με τον οποίο οι χρήστες αξιολόγησαν του διάφορους τύπους συστάσεων μας, μιας και οι χρήστες με τα περισσότερα check-ins απολάμβαναν καλύτερες από άποψη πληρότητας συστάσεις και αυτό φαίνεται από το ότι οι χρήστες αυτοί βαθμολόγησαν το Β επεξηγηματικό στυλ καλύτερα από το Α. Υπάρχει, δηλαδή, μια σαφή τάση καλύτερων αξιολογήσεων από την πλευρά των χρηστών.

116 3.4.2 Datasets – B

Στην ενότητα αυτή θα συγκρίνουμε τα αποτελέσματα του ελέγχου T-test για όλα τα datasets, τα οποία δημιουργήθηκαν με σκοπό να μελετηθεί η επίδραση του πλήθους των φίλων που έχει ένας χρήστης, στον τρόπο με τον οποίο αξιολογεί τα δύο διαφορετικά επεξηγηματικά στυλ. Θυμίζουμε πως το dataset-B30 στηρίχθηκε στις αξιολογήσεις των 30 χρηστών με τους περισσότερους φίλους, το dataset-B20 στους 20 πρώτους και το dataset-B10 στους 10 πρώτους, αντίστοιχα. Στόχος της δημιουργίας αυτών των datasets ήταν: Α) να διερευνηθεί κατά πόσο το ύψος του αριθμού των φίλων που έχει ένας χρήστης κάθε φορά επηρεάζει την αποτίμηση της προτίμησης του έναντι των δύο διαφορετικών επεξηγηματικών στυλ. Με άλλα λόγια, αν ο αριθμός των φίλων που έχει ο χρήστης κάθε φορά παίζει ουσιαστικό/σημαντικό ρόλο στην προτίμηση που δείχνει έναντι των δύο στυλ. Β) να επιβεβαιωθεί η υπόθεση, ότι οι χρήστες με τους περισσότερους φίλους i) τυγχάνουν καλύτερων συστάσεων από τους αλγόριθμους συστάσεων του Geosocial2 και ii) οι χρήστες αυτοί δείχνουν σαφή προτίμηση υπέρ των συστάσεων που παρουσιάζουν μια πιο εις βάθος πληροφορία, παρουσιάζοντας τους ολόκληρο το μονοπάτι μέσα από το οποίο ο αλγόριθμος οδηγείται στην τελική σύσταση ενός ατόμου για νέο φίλο. Γ) να δείξουμε πως υπάρχει μια αυξητική τάση στο Μ.Ο. των αξιολογήσεων/προτιμήσεων του Β στυλ από τους χρήστες, όσο αυξάνεται το πλήθος των φίλων ενός χρήστη. Αντίστοιχα, ότι υπάρχει μια φθίνουσα τάση στο Μ.Ο. των αξιολογήσεων/προτιμήσεων του Α στυλ από τους χρήστες, όσο αυξάνεται το πλήθος των φίλων ενός χρήστη.

117

Διάγραμμα 4. - Μέση τιμή και τυπική απόκλιση (±σ) για τα επεξηγηματικά στυλ (Α & Β) στον τύπο συστάσεων φιλίας (Friend Rec) για το dataset-B.

Στο παραπάνω διάγραμμα, παρατηρώντας τη τάση των μέσων τιμών των δύο διαφορετικών επεξηγηματικών στυλ, βλέπουμε πως κινούμενοι από το dataset-B30 προς το dataset-B10, η μέση τιμή του explanation style A μειώνεται, ενώ η μέση τιμή του explanation style B αυξάνει. Αυτό υποδηλώνει πως ο παράγοντας «πλήθος φίλων ενός χρήστη» (βλ. 2η υπόθεση, εν. 4.3) δείχνει να επηρεάζει σημαντικά τον τρόπο και την προτίμηση των χρηστών έναντι των δύο explanation styles. Επίσης, πολύ σημαντικό είναι το γεγονός, ότι όχι μόνο μειώνεται η μέση τιμή του Α και αυξάνεται του Β, αλλά και η διαφορά των μέσω τιμών ανά dataset αυξάνει το εύρος της, όπως φαίνεται στον παρακάτω πίνακα.

Dataset - B30, B20, B10 Rec Systems μA μb σA σΒ μdA σdΒ Friend Rec B30 3,90 3,63 0,92 1,37 - 0,27 0,30 Friend Rec B20 3,85 3,85 0,98 1,18 0,00 0,34 Friend Rec B10 3,80 4,10 1,13 0,99 + 0,30 0,47

* Πίνακας 39. - Μέση τιμή (μ), τυπική απόκλιση (σ), διαφορά των μέσων (μd) και διαφορά των τυπικών αποκλίσεων (σd), των αξιολογήσεων των explanation styles A & B του τύπου συστάσεων Friend Rec για τις ομάδες Β30, Β20 και Β10 χρηστών με τους περισσότερους φίλους.

118 Στον Πίνακα 40. παρουσιάζουμε τους Μ.Ο. των αξιολογήσεων (ratingA & ratingB) για κάθε επεξηγηματικό στυλ και για τα τρία dataset (B30, B20 & B10) και δίπλα παρουσιάζουμε την τάση αυτών, καθώς αυξάνεται το πλήθος των φίλων που έχει κάθε χρήστης.

Dataset Friend Rec POI Rec Activity Rec Search methods / RS Avg. ratingA ratingB ratingA ratingB ratingA ratingB ratingA ratingB B30 3,90 3,63 3,43 4,43 3,57 4,43 3,57 3,70 B20 3,85↓ 3,85↑ 3,70↑ 4,20↓ 3,75↑ 4,60↑ 3,50↓ 4,00↑ B10 3,80↓ 4,1↑ 3,90↑ 4,30↑ 3,70↓ 4,90↑ 3,50 - 4,40↑

Πίνακας 40. – Συγκεντρωτικός πίνακας μεταβολής των Μ.Ο. για κάθε σύστημα, ανά μέθοδο και ανά dataset.

Αναλυτικά, για τον τύπο συστάσεων φιλίας (Friend Rec), βλέπουμε πως πράγματι όσο αυξάνεται το πλήθος των φίλων που έχουν οι χρήστες, αυτοί βαθμολογούν καλύτερα ή προτιμούν περισσότερο το Β στυλ έναντι του Α. Αυτό συνεπάγεται από το γεγονός, ότι ο Μ.Ο. του Α στυλ μειώνεται, ενώ του Β στυλ αυξάνεται, όσο αυξάνεται το πλήθος των φίλων που έχει ο κάθε χρήστης. Για τον τύπο συστάσεων τοποθεσιών με βάση τη δραστηριότητα (POI Rec), βλέπουμε πως αρχικά αυξάνεται ο Μ.Ο. των αξιολογήσεων του Α στυλ, έναντι του Β που μειώνεται και στη συνέχεια, ο Μ.Ο. του Α εξακολουθεί και αυξάνεται, ενώ του Β ναι μεν παίρνει ανοδική πορεία, ωστόσο δεν ξεπερνά τον αρχικό Μ.Ο. (avg του C30). Θα λέγαμε πως αυτά τα συμπεράσματα δεν είναι ικανοποιητικά, ωστόσο μάλλον οφείλονται στην ιδιαιτερότητα που περιγράψαμε στην υποενότητα 3.4.2.2. Για τον τύπο συστάσεων δραστηριοτήτων με βάση την τοποθεσία (Activity Rec), βλέπουμε πως αρχικά ο Μ.Ο. των αξιολογήσεων του Α στυλ αυξάνεται, αλλά στη συνέχει μειώνεται. Αξιόλογο και ενθαρρυντικό είναι το γεγονός πως ο Μ.Ο. των αξιολογήσεων του Β στυλ συνεχώς αυξάνεται, όσο αυξάνεται το πλήθος των φίλων των χρηστών. Τέλος, για τις μεθόδους αναζήτησης χρηστών βλέπουμε πως ο Μ.Ο. των αξιολογήσεων για το Α στυλ μειώνεται οριακά και στη συνέχεια παραμένει σταθερός, ενώ ο Μ.Ο. των αξιολογήσεων για το Β στυλ αυξάνεται σταθερά και στις δύο περιπτώσεις. Γενικά, σ’ αυτή την περίπτωση αξίζει να τονισθεί πως, υπάρχει μεγαλύτερη πιθανότητα οι χρήστες με τους περισσότερους φίλους να έχουν

119 χρησιμοποιήσει και τις δύο μεθόδους αναζήτησης χρηστών, έναντι των υπολοίπων χρηστών με λιγότερους φίλους (διαδικασία αναζήτησης και προσθήκης νέων φίλων), είτε απλά να έχουν αποκτήσει μεγαλύτερη εμπειρία/εξοικείωση για κάποια από τις δύο μεθόδους.

120

121

Κεφάλαιο 4ο Επίλογος

122 Κεφάλαιο 4ο

4.1 Περιορισμοί

Η ολοκλήρωση του Geosocial2 και η αξιολόγηση του από τους χρήστες δεν ήταν καθόλου εύκολο έργο. Το εκπαιδευτικό και επιστημονικό υπόβαθρο του συγγραφέα της παρούσας εργασίας (Οικονομικών Επιστημών), ναι με αποτελούσε από μόνο του περιορισμό, ωστόσο ήταν ένα ισχυρό κίνητρο για την εξερεύνηση γνώσης σ’ ένα διαφορετικό γνωστικό και επιστημονικό αντικείμενο. Για το λόγο αυτό, η τροποποίηση, βελτίωση και ανάπτυξη του υφιστάμενου αλλά και του νέου κώδικα ήταν ένας πολύ σημαντικός παράγοντας, ο οποίος απασχόλησε τον συγγραφέα του παρόντος έργου για το περισσότερο χρονικό διάστημα. Επίσης, για την υλοποίηση της παρούσας εργασίας, άκρως σημαντική και χρονοβόρα ήταν η προσπάθεια που καταβλήθηκε για την προώθηση του Geosocial2 με την προσέλκυση χρηστών, τη δημιουργία μιας όσο τον δυνατόν πληρέστερης και καθαρής ΒΔ από τους χρήστες αυτούς, καθώς και η πραγματοποίηση της αξιολόγησης του Συστήματος Συστάσεων από μια μεγάλη μερίδα των χρηστών του Geosocial2.

4.1.1 Υλοποίηση του project Geosocial2

Οι περιορισμοί στην υλοποίηση και εξέλιξη του Geosocial2 στην μορφή που παρουσιάστηκε, ήταν πολλοί, απαιτούσαν της κάλυψη νέας γνώσης, τόσο σε θεωρητικό όσο και σε πρακτικό επίπεδο. Για τον λόγο αυτό, η υλοποίηση του Geosocial2 δεν ήταν πάντα στρωμένη με ροδοπέταλα, ούτε είχε ένα σταθερό ρυθμό ανάπτυξης. Πρωταρχικός στόχος του συγγραφέα στην πρώτη του επαφή με το Geosocial, αποτέλεσε η αναζήτηση, εκμάθηση και κάλυψη των κενών που υπήρχαν γύρω από την ερευνητική γνώση σχετικά με τη θεωρία των γράφων, τα κοινωνικά δίκτυα, τα συστήματα συστάσεων και τον τρόπο λειτουργίας αυτών. Η πλήρης κατανόηση των παραπάνω βοήθησε σημαντικά στην προσέγγιση της φιλοσοφίας του πρότυπου

123 Συστήματος Συστάσεων Geosocial και της οριοθέτησης των στόχων για την τροποποίηση, βελτίωση και ανάπτυξη αυτού, στην δεύτερη έκδοση που παρουσιάσαμε στην παρούσα εργασία. Αρχικά, για την αλλαγή, τροποποίηση και βελτιστοποίηση του υφιστάμενου κώδικα της αρχικής έκδοσης του Geosocial, ήταν απαραίτητο από την πλευρά του συγγραφέα να κατανοηθεί ο τρόπος γραφής, σύνταξης, παραμετροποίησης και ανάπτυξης των web γλωσσών προγραμματισμού, όπως η HTML 4.0 & 5.0, CSS 1.0, 2.0 & 3.0, PHP, MySql, Javascript, JQuery, καθώς και του Google API της υπηρεσίας Google maps, τόσο στην παλιά του έκδοση V2, όσο και στην νεότερη του έκδοση V3.7. Ο χρόνος απόκτησης όλων αυτών των γνώσεων δεν έγινε μονομιάς. Σημαντικότατος περιορισμός αποτέλεσε η αναγκαιότητα της παράλληλης εκμάθησης των παραπάνω γλωσσών προγραμματισμού με την ανάγνωση και κατανόηση του κώδικα του Geosocial. Τα βήματα ήταν μικρά και σταθερά. Με τον καιρό αναπτύχθηκε η απαραίτητη μεθοδολογία ανάπτυξης κώδικα, η οποία διευκόλυνε τη μεταγενέστερη κατανόηση, διόρθωση και τροποποίηση του υφιστάμενου και νέου κώδικα. Οι αλλαγές και οι προσθήκες, όπως ήδη παρουσιάσαμε ήταν αρκετές και σε πολλά επίπεδα.

4.1.2 Υλοποίηση μελέτης χρηστών

Ο απώτερος στόχος ήταν να αξιολογήσουμε τόσο τους προγενέστερους αλγόριθμους συστάσεων του συστήματος μας, όσο και τους νέους που δημιουργήθηκαν. Για να γίνει αυτό, κρίθηκε σκόπιμο η ανάπτυξη μιας μικρογραφίας ενός κοινωνικού δικτύου, το οποίο θα είχε τις βασικές λειτουργίες αυτών, ώστε ο χρήστης να νιώθει οικεία από τη προσωπική του εμπειρία με άλλα κοινωνικά δίκτυα. Για την αξιολόγηση αυτή απαιτήθηκε πολύτιμος χρόνος εκμάθησης και εξοικείωσης των χρηστών από τον ίδιο τον συγγραφέα και διαχειριστή του project Geosocial2. Πολλοί από τους χρήστες παρότι ανήκουν στην κατηγορία των βαρύ χρηστών43, όσο αναφορά τον χρόνο που διαθέτουν μπροστά από τον προσωπικό τους υπολογιστή για πλοήγηση στο internet, ωστόσο δεν είχαν προγενέστερη εμπειρία με LBSNs.

43 Χρήστες που περνούν αφιερώνουν τουλάχιστον 35 ώρες εβδομαδιαίως στα διάφορα

124 Ο παραπάνω περιορισμός σε συνδυασμό με το ότι η πλειοψηφία των χρηστών44, παρότι χρήστες κοινωνικών δικτύων (όπως το Facebook), δεν ήξεραν την φιλοσοφία κάτω από την οποία λειτουργούν αυτά, αποτέλεσαν τους σημαντικότερους περιορισμούς στην συγκέντρωση και υλοποίηση ενός ικανοποιητικού συνόλου δεδομένων. Αποτέλεσμα αυτών των περιορισμών ήταν από τη μία η αποθάρρυνση μερικών από το να αξιολογήσουν τις υπηρεσίες συστάσεων του Geosocial, και από την άλλη η απαίτηση σημαντικού χρόνου για την εξοικείωση και την κατανόηση αυτών, από τους χρήστες.

4.2 Μελλοντικές ενέργειες, προσθήκες & αλλαγές

Κλείνοντας την παρουσίαση και τον σχολιασμό του έργου μας κρίνεται σκόπιμο να παρουσιάσουμε μια σειρά από μελλοντικές ενέργειες, προσθήκες και αλλαγές45, οι οποίες θα οδηγούσαν το πρότυπο σύστημα συστάσεων Geosocial2 στην τελική του μορφή, ίσως και στην εμπορική του εκμετάλλευση. Η παρουσίαση αυτών θα διακριθεί σε δύο κατηγορίες. Αρχικά, θα παρουσιάσουμε αυτές που αναφέρονται στην περαιτέρω ανάπτυξη και εξέλιξη του Geosocial2 από άποψη κώδικα, λειτουργιών και εφαρμογών και στη συνέχεια, όσο αναφορά την περαιτέρω επιστημονική διερεύνηση, μελέτη και ανάλυση των προτιμήσεων των χρηστών έναντι των διαφορετικών τύπων συστάσεων.

4.2.1 Κώδικας, λειτουργίες & εφαρμογές

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

44 Χρήστες κοινωνικών δικτύων όπως το Facebook 45 Οι προτάσεις αυτές αποτελούν προσωπικές πεποιθήσεις του συγγραφέα και developer της παρούσας μορφής του Geosocial2 και δεν αποτελούν απαραίτητα επίσημη θέση του επιβλέποντος καθηγητή ή του τμήματος Πληροφορικής του Αριστοτέλειου Πανεπιστημίου Θεσσαλονίκης

125 να έχει ως LBSN, ούτε θα μπορούσε να σταθεί ως εμπορική εφαρμογή. Για το λόγο αυτό ακολουθούν μια σειρά από προτάσεις προς την κατεύθυνση αυτή. Πρωτίστως, όσον αναφορά τον τύπο συστάσεων φιλίας: Παρουσιάστηκε πρόβλημα με την ανταπόκριση του συστήματος να παρουσιάσει γρήγορα και άμεσα τα αποτελέσματα των συστάσεων μήκους 3, των συστάσεων δηλαδή που παρουσιάζουν όλη την πληροφορία του μονοπατιού μέσα από το οποίο ο αλγόριθμος οδηγείτε στην τελική σύσταση. Διαπιστώθηκε πως αυτό είναι ζήτημα query optimization. Θα πρέπει λοιπόν να εξετασθεί ενδελεχώς και να επιλυθεί σε επόμενη φάση. Όσον αναφορά τους τύπους συστάσεων τοποθεσιών με βάση τη δραστηριότητα (POI Rec) και δραστηριοτήτων με βάση την τοποθεσία (Activity Rec), προτείνουμε τη δημιουργία ενός 3ου style το οποίο θα είναι υβριδικό. Σ’ αυτή την περίπτωση θα δίνονται συστάσεις με βάση το σύνολο των χρηστών, παρουσιάζοντας όμως και τις προτιμήσεις των φίλων τους για κάθε ένα σημείο αντίστοιχα. Ή ο χρήστης θα μπορούσε να έχει τη δυνατότητα να δει διαδραστικά την αξιολόγηση και τις κριτικές που θα έχουν αφήσει οι φίλοι του, πατώντας πάνω στα σημεία ενδιαφέροντος που προτείνονται από το σύστημα στο σύνολο των χρηστών. Όσον αναφορά τις μηχανές αναζήτησης χρηστών: Στην περίπτωση της απλής αναζήτησης δεν θα πρέπει να εμφανίζει τους φίλους οι οποίοι είναι ήδη φίλοι με τον χρήστη ή τουλάχιστον δεν θα πρέπει να δίνει την δυνατότητα να τον προσθέσει “πάλι”, μιας και ήδη είναι φίλοι. Στην περίπτωση του Live Search θα πρέπει να ξεπεραστεί το πρόβλημα συμβατότητας με ορισμένους browsers στους οποίους παρατηρείτε το φαινόμενο του να κλείνει η καρτέλα (tab), με το που ο χρήστης κάνει χρήση της υπηρεσίας. Αναφορικά με τον κώδικα, θα μπορούσαν να γίνουν πάρα πολλές αλλαγές, τροποποιήσεις και προσθήκες: 1. Αρχικά, πρέπει να γίνουν όλες εκείνες οι ενέργειες που θα καθιστούν το website σύγχρονο. Αυτό σημαίνει δημιουργία του κατάλληλου CSS. Αλλαγή δόμησης του website με τη χρήση div και όχι πινάκων για την κατάτμηση της μορφής και της δομής μιας σελίδας. 2. Επιπρόσθετα, να εφαρμοστούν όλες εκείνες οι τεχνικές που θα καταστήσουν το website «Responsive Design46». Μ’ αυτό τον τρόπο και

46 http://en.wikipedia.org/wiki/Responsive_Web_Design

126 μόνο χρησιμοποιώντας τις νέες τεχνικές CSS θα μπορούσε να επιτευχθεί η φιλική και άνετη πλοήγηση ενός χρήστη στο Geosocial3 από οποιαδήποτε ηλεκτρονική συσκευή, η οποία μπορεί να συνδεθεί στο Internet. Μ’ αυτό τον τρόπο θα επιτευχθεί η αλλαγή/προσαρμογή των αντικειμένων της σελίδας χωρίς να αλλάζει ή να “χαλάει” η δόμηση της. 3. Εν συνεχεία, προσπαθήσαμε να εισάγουμε τη δυνατότητα ο χρήστης να μπορεί να πραγματοποιεί Log In, είτε με τον συνδυασμό Username- Password, είτε με τον συνδυασμό Email-Password. Ενώ αρχικά αυτό δούλεψε, στην συνέχεια έπαψε να λειτουργεί. 4. Παρουσιάστηκε το πρόβλημα κατά την εισαγωγή ενός χρήστη στο σύστημα, να εισέρχεται σε προφίλ άλλου χρήστη. Αυτό γινόταν όταν οι δύο χρήστες είχαν το ίδιο Username, παρότι είχαν διαφορετικό Password. Αυτό ξεπεράστηκε με το να προστεθεί έλεγχος κατά τη διαδικασία εγγραφής που να ελέγχει αν το Username που επιλέγει ο μελλοντικός χρήστης υπάρχει ήδη στη ΒΔ. Ωστόσο, είναι εύλογο πως αυτή η αδυναμία πρέπει να ξεπεραστεί. Δηλαδή, θα πρέπει να μπορεί να υπάρχουν ίδια First Name (Username), και ταυτόχρονα να μην υπάρχει μπέρδεμα κατά την εισαγωγή ενός χρήστη στο προφίλ του. 5. Στην φόρμα εγγραφής θα μπορούσε να χρησιμοποιηθεί η νέα ασύγχρονη web γλώσσα προγραμματισμού Ajax47 για τον έλεγχο των στοιχείων που πληκτρολογεί ο χρήστης σε πραγματικό χρόνο. 6. Δυνατότητα επαναπροσδιορισμού του Username ενός χρήστη σε περίπτωση που αυτό έχει ξεχαστεί από τον χρήστη. Αυτή τη στιγμή υπάρχει η δυνατότητα μόνο του επαναπροσδιορισμού του προσωπικού του κωδικού. Αυτό μπορεί να γίνει πάλι χρησιμοποιώντας το προσωπικό του email, ίσως και κάποια συγκεκριμένη ερώτηση με μια κρυφή μοναδική απάντηση από τον χρήστη. 7. Μετά την εισαγωγή του χρήστη στο σύστημα να μην εμφανίζεται το τελευταίο check-in του χρήστη αλλά η φυσική του θέση σε πραγματικό χρόνο και γύρω του να του προτείνονται σημεία ενδιαφέροντος που θα λαμβάνουν υπόψη την ιστορικότητα των check-ins που έχει

http://msdn.microsoft.com/en-us/magazine/hh653584.aspx 47 http://www.w3schools.com/ajax/default.asp & http://en.wikipedia.org/wiki/Ajax_(programming)

127 πραγματοποιήσει ή τις δραστηριότητες τις οποίες έχει επιλέξει να παρακολουθεί. 8. Αντικατάσταση του παλιού V2 API της Google από την τελευταία έκδοση αυτού. 9. Δημιουργία check-box κατηγοριών, τις οποίες θα μπορεί να τις επιλέξει ο χρήστης και να εμφανίζονται διαδραστικά πάνω στο χάρτη με ανάλογο διαφορετικό εικονίδιο (π.χ. τράπεζες, εκπαίδευση, bars κτλ). Αυτό μπορεί να γίνει με χρήση της web γλώσσας προγραμματισμού XML σε συνεργασία με το V3.7 API του Google maps. 10. Κατά την εισαγωγή ενός νέου σημείου από το χρήστη, όταν πραγματοποιείται το δεξί κλικ π.χ. στην περιοχή της Θεσσαλονίκης να μην χρειάζεται ο χρήστης να επιλέξει την περιοχή που θα καταχωρήσει το σημείο. Η πληροφορία αυτή να λαμβάνεται αυτόματα. 11. Θα μπορούσε αντί για pop-window να χρησιμοποιηθεί η εντολή InfoWindow, μέσα στην οποία θα υπάρχει html div το οποίο θα περιέχει όλη τη πληροφορία που χρειάζεται ώστε να πραγματοποιηθεί ένα check-in σ’ ένα προϋπάρχον σημείο. 12. Δυνατότητα ο χρήστης να προσθέτει περισσότερες από μία εικόνες στο προφίλ του, καθώς και δημιουργία προσωπικών albums. 13. Δυνατότητα από το χρήστη καταχώρησης ή επισήμανσης μιας φωτογραφίας στο σημείο που πραγματοποιεί check-in. 14. Χρήση γραφικών αστεριών (stars) με τα οποία ο χρήστης να βαθμολογεί σε μια κλίμακα από το 1-10. Υλοποιήσιμο τόσο με Javascript, όσο και με Ajax. 15. Ενημέρωση του χρήστη όταν ένας φίλος του πραγματοποιεί check-in και εμφάνιση κατάλληλου μηνύματος στο χάρτη όταν αυτό το check-in πραγματοποιείτε σε μια συγκεκριμένη απόσταση από τον χρήστη. 16. Αυτόματη χάραξη διαδρομής μεταξύ δύο σημείων Α και Β, όταν ο χρήστης τα επιλέγει. 17. Δημιουργία ενός πιο ολοκληρωμένου και καλά διαμορφωμένου προφίλ ενός χρήστη στα πρότυπα των σύγχρονων κοινωνικών δικτύων. 18. Η ενσωμάτωση της καρτέλας «Activity History» και «Check In / Add POI» σε μία, η οποία θα αποτελεί την αρχική σελίδα κατά την είσοδο ενός χρήστη στο σύστημα. Η σελίδα αυτή θα περιέχει όλη την πληροφορία και

128 τις βασικές λειτουργίες που ο χρήστης θα χρησιμοποιεί κάθε φορά επί το πλείστον. 19. Η σελίδα «POI Navigator» μπορεί να χρησιμοποιηθεί συνδυαστικά με τις καρτέλες των τύπων συστάσεων POI Rec και Activity Rec για τη δημιουργία ενός ποιο σύγχρονου, διαδραστικού και υβριδικού περιβάλλοντος. 20. Με την παραπάνω αλλαγή μπορεί να επιτραπεί στον χρήστη να πλοηγείται αυτόματα στα σημεία που τον προτείνονται. Μιας και αυτή τη στιγμή η υπηρεσία «Move!» εντοπίζει ένα σημείο, αλλά ο χρήστης αναγκάζεται να πλοηγείτε πάνω-κάτω στη σελίδα για να δει το αποτέλεσμα. 21. Τέλος, να δοθεί η δυνατότητα στον χρήστη να επιλέγει ανάμεσα στην επιλογή συστάσεων μεταξύ Α & Β στυλ. Για παράδειγμα, η επιλογή ενεργοποίησης κάθε φορά του προτιμητέου στυλ συστάσεων. Μ’ αυτόν τον τρόπο θα μπορέσουν να μελετηθούν καλύτερα οι προτιμήσεις των χρηστών έναντι αυτών.

4.2.2 Διερεύνηση, μελέτη και ανάλυση του Συστήματος Συστάσεων

Κατόπιν πραγματοποίησης των παραπάνω διορθώσεων, τροποποιήσεων και προσθηκών θα οδηγηθούμε σ’ ένα πιο σύγχρονο και λειτουργικό περιβάλλον για το χρήστη και σ’ ένα αποτελεσματικότερο σύστημα συστάσεων, του οποίου η επανάληψη της αξιολόγησης και ανάλυσης του κρίνεται επιθυμητή και επιτακτική. Στηριζόμενοι στη μελέτη χρηστών που πραγματοποιήσαμε και παρουσιάσαμε στο 4ο κεφάλαιο της παρούσας εργασίας κρίνεται σκόπιμο να παραθέσουμε μια σειρά από προτάσεις για την περαιτέρω δοκιμή, αξιολόγηση και ανάλυση των προτιμήσεων των χρηστών ανάμεσα στα διαφορετικά στυλ συστάσεων. Πρώτα απ’ όλα θα πρέπει να γίνει σαφή διάκριση του στόχου και του πλαισίου στο οποίο θα κινηθεί η νέα αξιολόγηση και ανάλυση των διαφορετικών τύπων συστάσεων. Αυτό σημαίνει πως πρέπει να οριοθετηθεί α) αν θα δοθεί μεγαλύτερη βαρύτητα στη γνώμη των χρηστών αναφορικά με τις υπηρεσίες συστάσεων και θα ληφθούν υπόψη τα δημογραφικά και άλλα χαρακτηριστικά των χρηστών (όπως ηλικιακή ομάδα, φύλλο, μορφωτικό επίπεδο κ.α.) ή β) θα δοθεί βαρύτητα στην επιστημονική απόδειξη της αποτελεσματικότητας, εφευρετικότητας

129 και εγκυρότητας των διάφορων αλγορίθμων. Πρέπει να καταστεί σαφές ότι αυτές οι δύο προσεγγίσεις αποτελούν διαφορετικές έρευνες, με διαφορετική προσέγγιση και μεθοδολογία η καθεμία και υπάρχει σημαντική πιθανότητα αποκλειόμενων μεταξύ τους αποτελεσμάτων, καθώς αντιμετωπίζουν το χρήστη από διαφορετική οπτική. Εν συνεχεία, θα πρέπει να αλλαχτεί η κλίμακα αξιολόγησης/προτίμησης των διαφορετικών στυλ συστάσεων. Η κλίμακα αυτή θα παίρνει τιμές από 1-10 και θα παρουσιάζεται τόσο με γραφικό τρόπο (stars), όσο και με κείμενο στο οποίο θα αντιστοιχείται η κάθε τιμή, π.χ. 1=without meaning, 2=very bad … 9=very good και 10=excellent. Βασιζόμενοι σ’ αυτή την κλίμακα και αυξάνοντας το πλήθος των χρηστών οι οποίοι θα πραγματοποιήσουν αξιολόγηση (τουλάχιστον οι διπλάσιοι, δηλαδή 100 χρήστες), πιστεύεται πως θα επιτευχθούν καλύτερα και πληρέστερα διαγράμματα τάσης που θα δείχνουν την σαφή προτίμηση των χρηστών υπέρ του ενός ή του άλλου explanation style. Σ’ αυτό θα βοηθούσε η προώθηση του project από την εκπαιδευτική / πανεπιστημιακή κοινότητα του Τμήματος Πληροφορικής του Α.Π.Θ. Γίνεται κατανοητό πως η ύπαρξη, λειτουργία και ανάπτυξη ενός κοινωνικού δικτύου στηρίζεται και μετουσιώνεται από την ύπαρξη ικανού αριθμού χρηστών, τέτοιου ώστε να δίνεται ώθηση στην «αυτό-ανάπτυξη» του. Αναγκαία κρίνεται η ανάπτυξη ενός ερωτηματολογίου το οποίο θα συλλέγει συγκεκριμένες πληροφορίες από το χρήστη και θα στοχεύει στην αξιολόγηση των διάφορων τύπων συστάσεων από διαφορετικές οπτικές, καταγράφοντας τις προτιμήσεις των χρηστών σε διάφορες περιπτώσεις, όπως π.χ. «Λαμβάνετε υπόψη τις κριτικές των φίλων σας για ένα bar? Αν όχι, αγνοήστε την επόμενη ερώτηση, διαφορετικά ποια είδη μουσικής θα θέλετε να ακούν οι φίλοι σας/ή χρήστες στους οποίους βασίζονται οι κριτικές ενός bar;». Μ’ αυτόν τον τρόπο, στην περίπτωση που ο χρήστης δεν λαμβάνει υπόψη τις κριτικές των φίλων του, τότε τον ενδιαφέρει περισσότερο η συνολική εικόνα ενός σημείου ενδιαφέροντος στο σύνολο των χρηστών, διαφορετικά ενδεχομένως να προτιμά να ξέρει τις κριτικές ενός σημείου μόνο από τους χρήστες/ή τους φίλους του που αρέσκονται σ’ αυτή τη δραστηριότητα. Για παράδειγμα, η αξιολόγηση ενός jazz bar με την χαμηλότερη τιμή 1 από κάποιον χρήστη που απεχθάνεται την jazz μουσική σαφώς και δεν μπορεί να ληφθεί υπόψη ως σημαντική παράμετρος. Εν τούτοις, αυτό

130 δεν σημαίνει ότι αυτοί οι δύο χρήστες δεν μπορεί να είναι φίλοι μεταξύ τους και το αντίστροφο. Αρκεί να αναλογιστούμε την Amazon.com και το E-bay. Τα δύο αυτά δημοφιλή websites χρησιμοποιούν συστήματα συστάσεων τα οποία δεν απαιτούν την ύπαρξη φιλίας μεταξύ των χρηστών για να προτείνουν κάποιο αντικείμενο προς πώληση (collaborative-filtering). Επομένως, οφείλεται να εξεταστεί κατά πόσο η συνδεσιμότητα που υπάρχει μεταξύ των χρηστών είναι πάντοτε επιθυμητή να στηρίζεται στις φιλίες ή σε άλλες παραμέτρους, όπως τα hobbies, τα προσωπικά ενδιαφέροντα ή το μορφωτικό επίπεδο κ.α.. Σ’ αυτό το σημείο αξίζει να σημειωθεί η ανάγκη των κοινωνικών κύκλων «circles». Το σύστημα αυτό το εισήγαγε η Google και επιτρέπει στο χρήστη να κατηγοριοποιήσει τους φίλους του με βάσει τις ομάδες που αυτός δημιουργεί. Σύμφωνα με το παραπάνω παράδειγμα, ο χρήστης θα έχει δημιουργήσει μια ομάδα που αρέσκεται στη μουσική και θα αντιστοιχεί σ’ αυτή τους φίλους του με τους οποίους «συνδέεται» μαζί τους «μουσικά». Έτσι, η αξιολόγηση ενός jazz bar από ένα φίλο του που ανήκει σ’ αυτή τη λίστα/κατηγορία αποτελεί αξιολόγηση με μεγαλύτερο βάρος και επομένως λαμβάνεται περισσότερο υπόψη έναντι μια αξιολόγησης από κάποιο φίλο που απλά τυγχάνει να είναι συνάδελφοι στη δουλειά. Άλλη μια παράμετρος που θα πρέπει να ληφθεί υπόψη είναι το πλήθος των check-ins που πραγματοποιεί ο χρήστης σε μια συγκεκριμένη κατηγορία / δραστηριότητα. Για παράδειγμα, αν ο χρήστης ιστορικά έχει πραγματοποιήσει τα περισσότερα check-ins του στην κατηγορία «sports», τότε αυτό θα έπρεπε να ληφθεί υπόψη και να του προτείνονται σημεία που ανήκουν σ’ αυτή την κατηγορία ή σημεία στα οποία οι κριτικές εμπεριέχουν αυτή τη λέξη. Αυτό θα μπορούσε να χρησιμοποιηθεί για μια πιο στοχευμένη και εξατομικευμένη παρουσίαση της σελίδας «POI Navigator». Φθάνοντας στο τέλος της παρουσίασης αυτής της πολυποίκιλης εργασίας, αποτελεί προσωπική παρότρυνση του συγγραφέα η περαιτέρω προσπάθεια εξέλιξης και τελειοποίησης του Geosocial2 και η τελειοποίηση του Συστήματος Συστάσεων, το οποίο θα χρησιμοποιεί πιο αποτελεσματικούς και έγκυρους αλγόριθμους συστάσεων. Η παρούσα μελέτη χρηστών ας αποτελέσει το έναυσμα για περαιτέρω επιστημονική μελέτη και ανάλυση των προτιμήσεων των χρηστών ανάμεσα στα διαφορετικά στυλ συστάσεων ενός κοινωνικού δικτύου.

131

Παράρτημα

132 I. Κώδικας

1.1 Εισαγωγή

Για την διόρθωση, τη δοκιμή και την ανάπτυξη της νέας δοκιμαστικής έκδοσης του Geosocial2 χρησιμοποιήθηκε τοπικά η πλήρης σουίτα «XAMPP Control Panel Version 2.5», η οποία αναλυτικά περιλαμβάνει: + Apache 2.2.21 + Mercury Mail Transport + MySQL 5.5.16 (Community System v4.62 Server) + FileZilla FTP Server 0.9.39 + PHP 5.3.8 (VC9 X86 32bit + Webalizer 2.23-04 thread safe) + PEAR + Perl 5.10.1 + OpenSSL 1.0.0e + Mod_perl 2.0.4 + phpMyAdmin 3.4.5 + Tomcat 7.0.21 + ADOdb 5.14

Για την συγγραφή νέου ή την τροποποίηση του ήδη υπάρχοντος κώδικα, χρησιμοποιήθηκε ο επεξεργαστής κειμένου Notepad++, ο οποίος πραγματικά συνέβαλε ιδιαίτερα στην άμεση επίλυση λαθών αλλά και στην ανάπτυξη ενός καθαρού κώδικα από άποψη δομής. Η κωδικοποίηση όλων των εγγράφων είχε ορισθεί σε UTF-8 με BOM (βλ. ενότητα ). Σε όλες τις σελίδες του κώδικα μας, ορίζουμε στις πρώτες γραμμές την κωδικοποίηση στην οποία υπακούει ο κώδικας μας, έτσι ώστε οι διάφοροι browser να καταλαβαίνουν πως πρέπει να μεταφράσουν/διαβάσουν τον κώδικα της όποιας σελίδας κάθε φορά. Το στοιχείο (element) «xmlns» αναφέρεται στην κωδικοποίηση (namespace coding48) των διάφορων tags, elements και attributes και στο πρότυπο που αυτά ακολουθούν. Στην περίπτωση μας ακολουθούν το πρότυπο XHTML 1.049 που δημοσιεύθηκε από την W3C50 το 1999. Επίσης, χρησιμοποιούμε μια δεύτερη

48 http://www.w3.org/TR/REC-xml-names/ 49 http://www.w3.org/TR/xhtml1/ 50 http://www.w3.org

133 κωδικοποίηση5152 για να καλούμε και να χρησιμοποιούμε extra elements όπως map, polylines OnMouseOver, Z-index, κ.α.

Αμέσως μετά την επικεφαλίδα χρησιμοποιούμε το παρακάτω σχόλιο. Αν και εκ πρώτης όψεως φαίνεται σχόλιο καθώς συμπεριλαμβάνεται ανάμεσα στις ενδείξεις που υποδηλώνουν στον φυλλομετρητή να τα προσπεράσει, εν τούτοις κάποιες παλιές εκδόσεις των browser θα το προσπελάσουν κανονικά μιας και δεν αναγνωρίζουν τις συγκεκριμένες ενδείξεις, όπως και μια πλειάδα από tags elements και attributes. Ουσιαστικά χρησιμοποιούμε αυτό το σενάριο (script53) για να αποφύγουμε προβλήματα συμβατότητας με παλιότερες εκδόσεις του Internet Explorer και όχι μόνο. Ιδιαίτερα με τον συγκεκριμένο φυλλομετρητή (browser) αντιμετωπίσαμε πάρα πολλά προβλήματα συμβατότητας, όπως και με τον Firefox σε θέματα styling. Αυτό το σενάριο (script) επιτρέπει ουσιαστικά τη χρήση της HTML5 δομής στους Internet Explorer 6 με 9, Safari 4.x (iPhone και 3.x), και ο Firefox 3.x. Επίσης, μέσα στην επικεφαλίδα του εγγράφου μπορούμε να ορίσουμε τον τίτλο της συγκεκριμένης σελίδας. Για παράδειγμα: Geosocial2 Instructions for the user Friends Recommendation Page User’s Check-ins History Οποιαδήποτε σελίδα έχει κατάληξη .php, αυτό σημαίνει ότι κάπου στον κώδικα καλούμε την web γλώσσα προγραμματισμού (η οποία είναι server-side), ούτως ώστε να στείλουμε ή να αντλήσουμε δεδομένα από τη ΒΔ. Ουσιαστικά

51 http://msdn.microsoft.com/en-us/library/bb263897(v=vs.85).aspx 52 http://schemas.stylusstudio.com/msoffice2003/nea772a59/index.html 53 https://github.com/aFarkas/html5shiv

134 πρόκειται για το συνδετικό κρίκο μεταξύ front-end και back-end. Η διαφορά της κατάληξης .html ή .php ή .css ή .js έγκειται στο γεγονός ότι οι browsers καταλαβαίνουν κάθε φορά πως πρέπει να διαβάσουν τον κώδικα και κυρίως πώς να τον μεταφράσουν. Για παράδειγμα, αν σε μια σελίδα κώδικα η οποία έχει αποθηκευτεί με κατάληξη .html, εμπεριέχεται κώδικα της PHP ή της MySql τότε αυτό το κομμάτι κώδικα σε καμία περίπτωση δεν θα εκτελεστεί/διαβαστεί / μεταφραστεί από έναν browser.

1.2 Μεταδεδομένα

Στην υποενότητα αυτή θα περιγράψουν τις ετικέτες μεταδεδομένων που χρησιμοποιήσαμε. Αρχικά, χρησιμοποιήσαμε το χαρακτηριστικό "description", για να περιγράψουμε το project του Geosocial2 με λίγα λόγια. Αξίζει να σημειωθεί πως το κείμενο που εσωκλείεται στην πληροφορία του στοιχείου «content», εμφανίζεται ως προεπισκόπηση σε όλα τα social media, όταν κάποιος χρήστης κάνει share το link της ιστοσελίδας. Στη συνέχεια ορίζουμε λέξεις κλειδιά. Αυτές οι λέξεις κλειδιά λειτουργούν ως επισημάνσεις (tags) στον σημασιολογικό ιστό. Όταν οι μηχανές αναζήτησης προσπελαύνουν μια ιστοσελίδα, ανατρέχουν πρώτα στα μεταδεδομένα για να αντλήσουν τις πληροφορίες που χρειάζονται. Τέλος, καθορίζουμε τους εμπλεκόμενους στο Project54.

54 Ωστόσο, η συγγραφή, διόρθωση, τροποποίηση, αλλαγή και ανάπτυξη νέου κώδικα έγινε στο μέγιστο βαθμό από το συγγραφέα της παρούσας διπλωματικής και το κομμάτι του κώδικα που σχετίζεται με το Google maps στο μέγιστο βαθμό συνέβαλλε ο κ. Παπαδημητρίου Αλέξης.

135 1.3 Charset UTF-8

Η κωδικοποίηση55 (charset) χαρακτήρων utf8 αποτελεί την δημοφιλέστερη κωδικοποίηση στις μέρες μας, στο World Wide Web56. Πρόκειται για μια κωδικοποίηση που αντιπροσωπεύει κάθε χαρακτήρα στο σύνολο χαρακτήρων Unicode57. Παρακάτω θα παρουσιάσουμε όλους τους πιθανούς τρόπους που υπάρχουν για να ορίσεις την κωδικοποίηση στην οποία θα υπακούει ο κώδικας ενός website.

1.3.1 Καθορισμός του αρχείου .htaccess στον Apache

Αρχικά, μπορεί ο οποιοσδήποτε να χρησιμοποιήσει το αρχείο .htaccess για να θέσει την προκαθορισμένη (default) κωδικοποίηση (charset). Η προκαθορισμένη κωδικοποίηση στον Apache είναι η ISO-8859-158. Ο Apache χρησιμοποιεί την συγκεκριμένη κωδικοποίηση, η οποία καθορίζεται στην κεφαλίδα HTTP, για να επικοινωνεί με τους browser στην ίδια γλώσσα, θα λέγαμε. Για να οριστεί έναν προεπιλεγμένο σύνολο χαρακτήρων σε ολόκληρη την ιστοσελίδα, αρκεί να προστεθεί το ακόλουθο κομμάτι κώδικα στο αρχείο htaccess.:

AddDefaultCharset UTF-8

Για να αντιμετωπίζει όλα τα html έγγραφα ως UTF-8 αρκεί να προστεθεί η ακόλουθη γραμμή:

AddCharset UTF-8 .html ή AddType 'text/html; charset=UTF-8' html

Η εντολή AddCharset καθορίζει μονάχα την κωδικοποίηση, ενώ η εντολή AddType καθορίζει και το MIME-type και την κωδικοποίηση σε μια γραμμή. Μια

55 Είναι ένα σύστημα κωδικοποίησης χαρακτήρων το οποίο αποτελείται από ζεύγη, όπου κάθε χαρακτήρας αντιστοιχείται σ’ ένα συγκεκριμένο αριθμό (bit), έτσι ώστε να γίνονται κατανοητοί από τους υπολογιστές. 56 "UTF-8 Usage Statistics", BuiltWith. Retrieved 2011-03-28. & Usage of character encodings for websites, W3Techs. Retrieved 2010-03-30 57 http://en.wikipedia.org/wiki/Unicode 58 Πληροφορίες σχετικά με όλα τα είδη κωδικοποίησης, επισκεφτείτε την ακόλουθη διεύθυνση: http://www.w3schools.com/tags/ref_charactersets.asp

136 άλλη ακραία περίπτωση είναι η δημιουργία νέας επέκτασης αρχείου (π.χ. index.utf8 η οποία αντιμετωπίζεται ως Unicode UTF-8 έγγραφο, ενώ το προκαθορισμένο αρχείο index.html υπακούει στην κωδικοποίηση ISO-8859-1):

AddCharset UTF-8 .utf8 Αξίζει να σημειωθεί ότι όταν αναγκάζεις γλώσσες σεναρίων (scripting languages) όπως η PHP να χρησιμοποιήσουν ένα άλλο σύνολο χαρακτήρων δεν λειτουργεί πάντα. Για παράδειγμα, αυτό μπορεί να συμβεί, όταν το content-type ορίζεται στην PHP ή PHP εκτελείται σε λειτουργία CGI59). Δείτε παρακάτω πώς να διορθώσετε τα προγράμματά σας.

1.3.2 Καθορισμός της κωδικοποίησης σε διάφορες γλώσσες προγραμματισμού

1. Χρήστη της συνάρτησης «header» για την αποστολή μιας HTTP επικεφαλίδας. Η χρήση αυτή συνιστάται μετά από κάθε output της php προς τον browser.

header("Content-Type: text/html; charset=UTF-8");

2. Ορισμός του Content-Type μέσα σε μια ετικέτα μεταδεδομένων «meta tag». Στην περίπτωση αυτή, όμως, οι διάφοροι browsers μπορεί να αγνοήσουν αυτή την ετικέτα σε περίπτωση που το έγγραφο φέρει επικεφαλίδα BOM (διαβάστε παρακάτω). Για παράδειγμα, όλες οι σελίδες κώδικα του Geosocial2, αμέσως μετά το άνοιγμα της ετικέτας , φέρουν ως πρώτη γραμμή την ακόλουθη:

3. Αντίστοιχα σ’ ένα αρχείο XML, η πρώτη γραμμή πρέπει να είναι η εξής:

59 Common Gateway Interface (CGI) είναι ένα πρωτόκολλο που χρησιμοποιείται από τους web servers για να καλούν εκτελέσιμα αρχεία στο διακομιστή. Μετά την παραλαβή της αίτησης, ο διακομιστής (server) στέλνει τις πληροφορίες σχετικά με το αίτημα μέσω του πρωτοκόλλου CGI και επιστρέφει το αποτέλεσμα του εν λόγω αιτήματος πίσω στο πρόγραμμα περιήγησης (browser).

137 Η επικεφαλίδα BOM-header60 ή Byte Order Mark είναι μια Unicode κωδικοποίηση, ένα σημάδι (mark) το οποίο αποθηκεύεται στην αρχή ενός εγγράφου και υποδικνύει στους διάφορους επεξεργαστές κειμένου, φυλλομετρητές και άλλα προγράμματα (editors, browsers, other programs), ότι το συγκεκριμένο έγγραφο φέρει κωδικοποίηση UTF-8 (ή UTF-16, 32). Πολλοί επεξεργαστές κειμένου (όπως το Notepad++ που χρησιμοποιήσαμε εμείς) προσθέτει αυτόματα BOM-header από τη στιγμή που έχει ορισθεί ως προεπιλογή η κωδικοποίηση UTF-8. Κάποιοι άλλοι επεξεργαστές κειμένου χρησιμοποιούν cookies, όπως το "UTF-8 Cookie", ώστε μεταγενέστερα να θυμούνται την κωδικοποίηση των εγγράφων, θέτοντας ένα cookie στο σύστημα του χρήστη Γενικά, υπάρχει μια πληθώρα από προβλήματα γύρω από την κωδικοποίηση των εγγράφων, που μπορεί να συναντήσει κάποιος. Για παράδειγμα, κάποιοι BOM- headers μπορεί να παρουσιάσουν διάφορα προβλήματα στις γλώσσες σεναρίων, όπως η PHP. Για παράδειγμα, κατά τη φόρτωση μιας ιστοσελίδα, υπάρχει περίπτωση να εμφανιστούν περίεργοι χαρακτήρες, τα λεγόμενα «σκουπιδάκια», της μορφής Ω«ø'@¬#ÅH∞Ç. Τέλος, στο αρχείο database.inc που χρησιμοποιούμε για να συνδεθούμε με τη ΒΔ, μπορούμε να θέσουμε κάποιες εντολές για την ορίσουμε την κωδικοποίηση σε UTF-8. 1ος τρόπος: mysql_query( "SET CHARACTER SET utf8", $link); mysql_query("SET NAMES 'utf8'", $link); mb_internal_encoding( 'UTF-8' ); mb_internal_encoding('UTF-8'); mb_http_output('UTF-8'); mb_http_input('UTF-8'); mb_language('UTF-8'); 2ος τρόπος: mysql_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'", $link);

60 http://en.wikipedia.org/wiki/Byte_order_mark

138 3ος τρόπος: mysqli_set_charset($link, 'utf8'); //THIS IS THE IMPORTANT PART mysqli_query("SET NAMES 'utf8'");

1.4 CSS Styling

Στο σύνολο του κώδικα έχουμε χρησιμοποιήσει και τους τρεις τύπους styling: i) External styling, ii) Internal styling, ii) Inline Style. Σε όλες τις σελίδες, χρησιμοποιώντας την παρακάτω γραμμή, χρησιμοποιούμε external styling για να θέσουμε κάποια βασικά χαρακτηριστικά, όπως το ύψος και το πλάτος των ετικετών html, body, ή το πώς θα συμπεριφέρονται οι υπερσύνδεσμοι από άποψη εμφάνισης:

Σ’ αυτή την περίπτωση ουσιαστικά καλούμε σ’ ένα έγγραφο, είτε αυτό είναι .hmtl, είτε .php, ένα εξωτερικό αρχείο styling (τύπου text/css61), ορίζοντας επίσης ότι απευθύνεται μόνο σε οθόνες υπολογιστή (media="screen"62). Παρακάτω βλέπουμε τον βασικό κώδικα: html { height: 100% } : Εδώ ορίζουμε ότι το ύψος της σελίδας θα είναι 100% body { height: 100%; margin: 0; padding: 0; width:100%;} : Αντίστοιχα, ορίζουμε το ύψος και το πλάτος του body (ουσιαστικά στο body συμπεριλαμβάνεται το σύνολο του κώδικα που θέλουμε να εμφανίσουμε στον χρήστη) σε 100% και τα περιθώρια να είναι μηδέν. #map_canvas { width: 100%; height: 100%; margin-top:20px; } :Εδώ έχουμε ορίσει μια μεμονωμένη περιοχή του body, που καλείται

να έχει 100% πλάτος και ύψος, ενώ τα περιθώρια από την πάνω οριζόντια γραμμή να είναι +20 pixels. Στην περίπτωση που δεν υπάρχει άλλος κώδικας πριν ή μετά του συγκεκριμένου
, αυτό σημαίνει πως το
, ουσιαστικά πιάνει όλο το body. Παρακάτω βλέπουμε τον κώδικα που ισχύει για τους υπερσυνδέσμους. Αν μια σειρά χαρακτήρων, λέξεων, εικόνας κτλ αποτελεί υπερσύνδεσμο προς μια άλλη σελίδα, τότε αν ο σύνδεσμος δεν έχει επισκεφτεί στο παρελθόν δεν φέρει κανένα

61 http://www.w3schools.com/css/default.asp 62 http://www.w3schools.com/css/css_mediatypes.asp

139 styling, αν έχει επισκεφτεί, επίσης δεν αλλάζει η μορφή του. Αν όμως ο χρήστης μετακινήσει το ποντίκι (mouse) πάνω από τον σύνδεσμο τότε θα εμφανιστεί μια αυτόματη υπογράμμιση ή όποια παραμένει αν ο σύνδεσμος είναι ενεργός. a:link {text-decoration:none;} /* unvisited link */ a:visited {text-decoration:none;} /* visited link */ a:hover {text-decoration:underline;} /* mouse over link */ a:active {text-decoration:underline;} /* selected link */ Ουσιαστικά η χρήση των προτύπων Cascading Style Sheets (CSS), χρησιμοποιείται για τη μεταφορά όλου του format ή καλύτερα κυρίως αυτών που επαναλαμβάνονται συνέχεια στις σελίδες μια ιστοσελίδας σε ένα εξωτερικό αρχείο .css, έτσι ώστε να αποφεύγεται ανάπτυξη κώδικα ο οποίος επαναλαμβάνεται. Ουσιαστικά, ολόκληρη η δομή και η μορφοποίησης της HTML 4.0, μπορεί να γραφτεί σ’ ένα εξωτερικό αρχείο .css, το οποίο θα καλείται με τον τρόπο που περιγράψαμε πρωτύτερα, οποτεδήποτε αυτό καταστεί χρήσιμο. Με τα χρόνια η χρήση CSS διαδόθηκε ραγδαία και η ανάγκη όλων και καλύτερων, από άποψη γραφιστικής και design, σελίδων οδήγησε στην εξέλιξη της σε CSS2 και CSS3 αντίστοιχα. Στο Geosocial χρησιμοποιούμε ενδεικτικά και μόνο CSS3 για τη διαμόρφωση ενός κουμπιού «button», το οποίο στην απλή του μορφή φαίνεται όπως στην εικόνα , ενώ σε μορφή CSS363 μπορεί να γίνει όπως στην εικόνα .

Εικόνα 30. – Simple button. Εικόνα 31. – CSS3 button.

Ένα παράδειγμα Internal Styling ακολουθεί παρακάτω. Σ’ αυτή την περίπτωση ο κώδικας διαμόρφωσης της μορφής της ιστοσελίδας ενσωματώνεται στο ίδιο έγγραφο .html ή .php και συμπεριλαμβάνεται μέσα στην ετικέτα …. Το ότι πρόκειται για κώδικα CSS το ορίζουμε πάλι μέσα από το στοιχείο type. Σ’ αυτό το κομμάτι κώδικα ορίζουμε ότι η εικόνα που θα φαίνεται ως φόντο στην σελίδα έρχεται από την τοποθεσία «images/blue_earth.jpg», στοιχίζεται στο κέντρο της σελίδας, δεν επαναλαμβάνεται και το σημείο το οποίο τοποθετείται είναι δεδομένο και δεν αλλάζει ανάλογα με το μέγεθος της οθόνης του χρήστη. Επίσης, καταλαμβάνει το 100% του ύψους και του πλάτους της σελίδας. Αξίζει να σημειωθεί: i) ότι η το ύψος της σελίδας καθορίζεται από το πλήθος του κώδικα που εμπεριέχει και όχι από το ύψος της οθόνης ενός υπολογιστή και ii) στην περίπτωση μιας εικόνας που δεν επαναλαμβάνεται, θα πρέπει να είναι τόσο μεγάλη η ανάλυση της ή να προσαρμόζεται κάθε φορά στην ανάλυση της οθόνης κάθε χρήστη (βλ εικόνα ). Τέλος, θα αναφερθούμε σ’ ένα άλλο παράδειγμα “Styling”, το οποίο έχει να κάνει με τη γνωστή μικρογραφία που έχουν οι διάφορες ιστοσελίδες και εμφανίζονται στα tabs στον χρηστών, όπως η παρακάτω εικόνα .

Αυτό επιτυγχάνεται με την δημιουργία ενός ειδικού φορμάτ εικόνας το οποίο ονομάζεται Favicon64 και η κατάληξη του αρχείου είναι της μορφής .ico65.

Αφού, μετατρέψουμε την εικόνα που θέλουμε στο κατάλληλο φορμάτ, χρησιμοποιούμε την παραπάνω γραμμή κώδικα για να καλέσουμε το εικονίδιο μας. Πλέον η σελίδα μας έχει το δικό της μοναδικό αναγνωριστικό, όπως οι υπόλοιπες σελίδες.

64 http://el.wikipedia.org/wiki/Favicon 65 Για μετατροπές αρχείων εικόνας από μορφές JPG, GIF, PNG, BMP and TIF σε ICO μπορείτε να χρησιμοποιήσετε το παρακάτω free εργαλείο: http://www.prodraw.net/favicon/index.php

141 1.5 Εγγραφή νέου χρήστη

1.5.1 Εμφάνιση της φόρμας εγγραφής

Στη σελίδα εγγραφής νέου χρήστη της αρχικής έκδοσης του Geosocial, ο χρήστης χρειαζόταν να συμπληρώσει το όνομα του, το επίθετο του, το email του και να θέσει ένα προσωπικό κωδικό. Στο Geosocial2 προσθέσαμε μια σειρά από πεδία στηριζόμενοι στην HTML 5.0. Αρχικά προσθέσαμε το πεδίο της ημερομηνίας γέννησης. Στην παραπάνω γραμμή κώδικα το πεδίο όπου ο χρήστης ορίζει την ημερομηνία του βρίσκεται στην ετικέτα . Στην οποία βλέπουμε πως ο τύπος του πεδίου (type) ορίζεται ως «date». Υπάρχουν αρκετοί διαφορετικοί τύποι για την ετικέτα . Επίσης, θέτουμε ένα όνομα (name) το οποίο το χρησιμοποιούμε σε μια πληθώρα από ενέργειες. Ορίζουμε το μέγεθος του πεδίου σε 32 (ουσιαστικά πρόκειται για το πλάτος) και ορίζουμε ως μέγιστη ημερομηνία τη 2000-12-31 (βλ. Εικόνα 32.). Ο χρήστης αν χρησιμοποιεί φυλλομετρητή (browser) που υποστηρίζει την συγκεκριμένη ετικέτα τότε ο χρήστης θα δει στην οθόνη του την παρακάτω εικόνα.

Εικόνα 32. – Εμφάνιση του tag «input» ορίζοντας ως τύπο «date».

142 Διαφορετικά ο χρήστης δεν θα δει την ίδια μορφή, αλλά πατώντας πάνω στο πεδίο ή απλά περνώντας το ποντίκι πάνω από το πεδίο θα αντικρίσει την παρακάτω εικόνα που του υποδεικνύει τη μορφή του φορμάτ που πρέπει να ακολουθήσει ώστε να περαστεί σωστά η πληροφορία στη ΒΔ.

Εικόνα 33. – Χρήση του tag «abbr».

Το παραπάνω παράδειγμα είναι χαρακτηριστικότατο για το πώς οι browsers αντιλαμβάνονται και διαβάζουν τις διάφορες web γλώσσες προγραμματισμού και κυρίως για τις διαφορές που υπάρχουν μεταξύ HTML 4.0 & HTML 5.0. Η ετικέτα ο τύπος «date» της ετικέτας αποτελεί νέος τύπος της HTML 5.0 ενώ η ετικέτα ανήκει στην HTML 4.0. Στην συνέχεια προσθέσαμε την επιλογή του φύλλου (Male or Female) και της χώρας (Country) από την οποία προέρχεται ο χρήστης. Για να εμφανίσουμε την πληροφορία όλων των χωρών από τον πίνακα countries στην οθόνη ενός χρήστη και μάλιστα με τη μορφή ενός drop down menu, χρησιμοποιούμε γλώσσες προγραμματισμού όπως η PHP και η MySql στο ίδιο αρχείο που εμπεριέχεται και η HTML. Παρακάτω παρουσιάζουμε το κομμάτι κώδικα με το οποίο επιτυγχάνεται αυτό. η οποία φέρει όνομα (name=country) και ορίζουμε ότι είναι υποχρεωτικό ο χρήστης να

143 επιλέξει τη χώρα από την οποία προέρχεται με την επιλογή ' required='required'. Η επιλογή αυτή είναι επίσης χαρακτηριστικό της HTML 5.0. while($noticia = mysql_fetch_array($quer4)) // Στη γραμμή αυτή περνάμε τα δεδομένα που αντλήσαμε από το παραπάνω ερώτημα στη μεταβλητή $noticia. Όσο η μεταβλητή αυτή παίρνει δεδομένα τότε εκτέλεσε τις παρακάτω εντολές. { if($noticia['Name']==@$country) // βάλε { echo ""."
"; // *** } else { echo ""; } } echo ''; // Κλείνει η λίστα. ?> Το κείμενο με πράσινο χρώμα δημιουργείτε όταν στον κώδικα γράψουμε δύο πλάγιες γραμμές // και αυτό υποδηλώνει ότι πρόκειται για σχόλιο. Ο browser δεν το λαμβάνει υπόψη. Πρόκειται για μια τεχνική που βοηθάει τους developers να κατανοούν τη δουλειά που έχουν κάνει οι ίδιοι μετά από μεγάλο χρονικό διάστημα, αλλά και οι επόμενοι που ίσως να ασχοληθούν με το ίδιο project. Γενικά, τα σχόλια εμμέσου των γραμμών κώδικα συνίσταται και προσδίδει μεγαλύτερο επαγγελματισμό. ***Επίσης, οι γλώσσες όπως η PHP και η MySql είναι πολύ ευαίσθητες όσο αναφορά τους χαρακτήρες (sensitivity character). Ειδικότερα, υπάρχει πληθώρα αναφορών στον Παγκόσμιο Ιστό αναφορικά με τη χρήστη του μονού εισαγωγικού ' ή του διπλού '', πιο είναι προτιμητέο κάθε φορά κτλ. Το σημαντικό είναι όταν ανοίγεις με μονό εισαγωγικό να κλείνεις με μονό. Ωστόσο, αν η πληροφορία που εσωκλείεται δεν είναι απλά εκτυπώσιμη (echo ή print) αλλά χρησιμοποιείς και μεταβλητές,

144 χαρακτηριστικά κτλ, τότε είναι προτιμότερη η χρήση διπλών εισαγωγικών εξωτερικά και μονών εσωτερικά. Τέλος, προσθέσαμε την επιλογή, οποιαδήποτε στιγμή ο χρήστης να μπορεί να καθαρίσει μονομιάς τη φόρμα και να εισάγει εκ νέου τα στοιχεία του. Αυτό επιτυγχάνεται με την παρακάτω γραμμή κώδικα.

1.5.2 Εισαγωγή των δεδομένων της φόρμας στη ΒΔ

Στην προηγούμενη υπό-ενότητα παρουσιάσαμε τις αλλαγές που έγιναν στην φόρμα εγγραφής νέου χρήστη και πως αυτή εμφανίζεται. Στην παρούσα υπό-ενότητα θα παρουσιάσουμε πως η πληροφορία αυτή αποθηκεύεται στη ΒΔ. Αξίζει να σημειωθεί πως το κομμάτι του κώδικα που εισάγει τα δεδομένα στη ΒΔ μπορεί να βρίσκεται είτε στο ίδιο αρχείο είτε να καλείται άλλο αρχείο. Σ’ αυτή την περίπτωση χρησιμοποιούμε και θα παρουσιάσουμε το δεύτερο τρόπο. Κατ’ αρχήν αυτό για να επιτευχθεί θα πρέπει ο κώδικας που εμφανίζει τη φόρμα εγγραφής να εμπεριέχεται στον παρακάτω κώδικα:

Αρχικά δίνουμε ένα όνομα (name) στη φόρμα μας, δηλώνουμε ότι δίνουμε δεδομένα (post) και όχι παίρνουμε (get) και με το που θα πατήσουμε το κουμπί «Submit», θα εκτελεστεί η συνάρτηση elegxos(), η οποία βρίσκεται στο σκριπτ αρχείο (script, .js). Σε μόνο μια γραμμή κώδικα συνδέουμε τρία αρχεία μεταξύ τους, το αρχικό eggrafi2.php, το δεύτερο (η εισαγωγή στοιχείων στην ΒΔ) eggrafi.php και το αρχείο που εμπεριέχει τον έλεγχο που γίνεται πριν γίνει η εισαγωγή των στοιχείων elegxos.js.

145 To κουμπί «Submit» δημιουργείται με την ετικέτα ορίζοντας όμως ως τύπο (type=submit), το ότι φαίνεται στο κουμπί, καθορίζεται από το χαρακτηριστικό value. Επίσης, δίνουμε και ένα όνομα (“kataxorisi”). Αφού έχει συμπληρώσει τη φόρμα ο χρήστης και πατήσει το κουμπί να κάνει register, πρωτίστως ενεργοποιείτε η συνάρτηση elegxos() που βρίσκεται επίσης σε εξωτερικό αρχείο (elegxos.js). Ο κώδικας αυτός ορίζεται μεταξύ της ετικέτας . Πρόκειται για σκριπτ αρχείο γι’ αυτό το λόγο ο τύπος ορίζεται ως text/javascript και αντίστοιχα η γλώσσα ως javascript. Με το χαρακτηριστικό «src» υποδεικνύουμε την πηγή / το path στο οποίο βρίσκεται το αρχείο elegxos.js. Αφού ξεπεραστεί ο έλεγχος και δεν βγάλει κανένα σφάλμα τότε μεταφερόμαστε στο αρχείο eggrafi.php.

1.6 Κρυπτογράφηση προσωπικού κωδικού με τη μέθοδο Sha1

Στις μέρες μας, υπάρχει μια πληθώρα άρθρων στο διαδίκτυο σχετικά με το αν πρέπει να υπάρχει επαναφορά κωδικού ενός χρήστη ή δυνατότητα να θέσει ένα καινούργιο εξαρχής. Στην περίπτωση που ο κωδικός αποθηκεύεται κανονικά, δηλαδή σε μορφή κατανοητή από τον άνθρωπο, αυτό συνεπάγεται άμεσα δυνατότητα υποκλοπής, είτε από κακόβουλα λογισμικά, είτε από κάποιον που θέλει να υποκλέψει τον κωδικό ενός χρήστη ή και από τους ίδιους τους admin ενός website. Γι’ αυτούς τους λόγους, αλλά και εκπαιδευτικούς, αποφασίσαμε να χρησιμοποιήσουμε τη μέθοδο κρυπτογράφησης sha166, η οποία είναι η πιο δημοφιλής συνάρτηση hash η οποία μετατρέπει έναν κωδικό δυαδικής μορφής οποιοδήποτε μήκους, σε έναν δεκαεξαδικό αριθμό 40-χαρακτήρων. Αξίζει να τονισθεί ότι από τη στιγμή που γίνεται η μετατροπή δεν υπάρχει δυνατότητα μετατροπής αυτού σε δυαδική μορφή πάλι. Το μόνο που μπορεί να γίνει είναι να επαληθεύεται ο κωδικός αυτός, όπως γίνεται και κατά την εισαγωγή του χρήστη στο σύστημα. Ουσιαστικά, πρόκειται για μία από τις σημαντικότερες αλλαγές που εισάγαμε στο Geosocial2.

66 Αναφέρεται στην προσθήκη 10 της ενότητας 3.3. http://en.wikipedia.org/wiki/SHA-1 http://php.net/manual/en/function.sha1.php http://php.net/manual/en/faq.passwords.php#faq.passwords.fasthash

146 Παρακάτω παρουσιάζουμε ένα παράδειγμα, στο οποίο σε μια μεταβλητή $str θέτουμε τον κωδικό «car». Στην συνέχεια έχουμε κρυπτογραφήσει τη λέξη αυτή με τη μέθοδο sha1 και στην συνέχεια πραγματοποιούμε λογικό έλεγχο μέσω της if. Αν το αποτέλεσμα της κρυπτογραφημένης λέξης «car» είναι ίδιο με το αποτέλεσμα που υπάρχει είδη στη ΒΔ για τον κωδικό αυτόν, τότε εμφανίζεται το μήνυμα της επιλογής του πρώτου echo διαφορετικά εμφανίζεται το μήνυμα ότι έχει χρησιμοποιήσει λάθος κωδικό και να προσπαθήσει ξανά.

1.7 Σύστημα επαναπροσδιορισμού του προσωπικού κωδικού

Μία από τις βασικότερες λειτουργίες όλων των ιστοσελίδων οι οποίες επιτρέπουν στον χρήστη δημιουργία προσωπικού προφίλ, είναι η δυνατότητα επαναφοράς του προσωπικού τους κωδικού67 σε περίπτωση απώλειας. Γι’ αυτό το λόγο κρίθηκε αναγκαίο η δημιουργία και η ενσωμάτωση αυτής της λειτουργίας. Ωστόσο, υπάρχει μονάχα η δυνατότητα επαναφοράς του προσωπικού κωδικού και όχι και του Username ενός χρήστη (αυτό αποτελεί αδυναμία). Στην περίπτωση που ένας χρήστης έχει ξεχάσει το Username του, τότε θα αναγκαστεί να δημιουργήσει νέο λογαριασμό. Στα πλαίσια του project Geosocial2 επειδή ο συντάκτης της παρούσας εργασίας έκανε και χρέη admin, όπου χρειαζόταν υπήρχε ενημέρωση των χρηστών σχετικά με το Username τους. Στην περίπτωση τώρα που ένας χρήστης δεν θυμάται τον προσωπικό του κωδικό, από την σελίδα που πραγματοποιεί εισαγωγή στο σύστημα, πατώντας στο link «forgot your password» μεταφέρεται στην σελίδα της Εικόνας 34. . Εκεί του ζητείται να καταχωρήσει το email που συμπλήρωσε κατά τη διάρκεια της εγγραφής

67 Αναφέρεται στην προσθήκη 11 της ενότητας 3.3

147 του και πατώντας το κουμπί «Recover», του αποστέλλεται από το σύστημα ένα link στο προσωπικό του email της μορφής: http://delab.csd.auth.gr/geosocial2/recover.php?ID=93b459871c44d027179a1324382 a9f28c6d6529a

Εικόνα 34. – Φόρμα επαναφοράς χαμένου κωδικού.

Πατώντας το link αυτό, ο χρήστης θα μεταφερθεί στην παρακάτω σελίδα (Εικόνα 35.), στην οποία βλέπει τα στοιχεία που αντιστοιχούν στο email68 που έδωσε και μπορεί να θέσει νέο κωδικό. Πατώντας το κουμπί «Submit», ο νέος κωδικός έχει καταχωρηθεί στο σύστημα (ΒΔ), ωστόσο δεν εμφανίζεται κάποιο σχετικό μήνυμα. Ο χρήστης θα χρειαστεί να πατήσει το σύνδεσμο «Log In», ώστε να μεταφερθεί στην σελίδα εισαγωγής των στοιχείων του.

Εικόνα 35. – Φόρμα εισαγωγής νέου κωδικού.

68 Για ευνόητους λόγους έχουμε αποκρύψει το πεδίο του E-mail

148 1.8 Σχήμα Βάσης Δεδομένων

Πίνακας 41. – dijnodes.

Πίνακας 42. – dijpaths.

Πίνακας 43. – places.

149

Πίνακας 44 – checkins.

Πίνακας 45. – activities.

Πίνακας 46. – country.

Πίνακας 47. – cities.

Πίνακας 48. – ratings.

150 1.9 Δεδομένα

1.9.1 Εισαγωγή και Αποθήκευση Δεδομένων

Για την εισαγωγή και αποθήκευση των δεδομένων δημιουργήσαμε τέσσερις (4) διαφορετικούς πίνακες (Εικόνες 26 - 29) στη ΒΔ. Ο κάθε πίνακας αντλούσε τα δεδομένα από την φόρμα αξιολόγησης στην οποία αντιστοιχούσε. Έτσι, η φόρμα αξιολόγησης για τις μεθόδους αναζήτησης χρηστών συνδεόταν με τον πίνακα «evsearch», η φόρμα αξιολόγησης των δύο explanation style (Α & Β) συστάσεων φιλίας συνδεόταν με τον πίνακα «evfriendrec», η φόρμα αξιολόγησης των δύο explanation style (A & B) συστάσεων με βάση τη δραστηριότητα συνδεόταν με τον πίνακα «evpoirec» και τέλος, η φόρμα αξιολόγησης των δύο explanation style (A & B) συστάσεων με βάση την τοποθεσία συνδεόταν με τον πίνακα «evactivity».

Εικόνα 26. – evsearch. Εικόνα 27. – evfriendrec.

Εικόνα 28. – evpoirec. Εικόνα 29. – evactivity.

Στην εικόνα 26, βλέπουμε ότι ο πίνακας «evsearch» έχει ένα παραπάνω πεδίο, «method». Η προσθήκη αυτή είναι σκόπιμη και καθαρά για εκπαιδευτικούς λόγους.

151 Ουσιαστικά πρόκειται για πλεονασμό, καθώς ο χρήστης βαθμολογώντας και τα δύο στυλ επεξήγησης κάθε φορά, δείχνει την προτίμηση του μεταξύ των δύο στυλ. Επίσης, το πεδίο «method» παίρνει τις τιμές 1 και 2, όπου 1 το στυλ Α και 2 το στυλ Β. Αυτή την κατηγοριοποίηση θα την χρησιμοποιήσουμε στο στάδιο της ανάλυσης των δεδομένων (βλ. πίνακες «Μ.Ο. και Τυπικών Αποκλίσεων» στην ενότητα 3.4), όπου θα αντιστοιχήσουμε τα δεδομένα του πεδίου «ratinga» με 1 και τα δεδομένα του πεδίου «ratingb» με 2.

1.9.2 Κωδικοποίηση Δεδομένων

Όλοι οι παραπάνω πίνακες, της προηγούμενης ενότητας, διαθέτουν ένα ξεχωριστό id (primary key – auto increment), το οποίο υποδηλώνει ότι έχει πραγματοποιηθεί αξιολόγηση. Στο δεύτερο πεδίο, nodeID, αποθηκεύεται το μοναδικό id του χρήστη, ούτως ώστε να γνωρίζουμε αν ένας χρήστης έχει αξιολογήσει την ίδια υπηρεσία περισσότερο από μία φορά. Αυτό θα μας βοηθήσει στην συνέχεια κατά τον έλεγχο και καθορισμό της ποιότητας των δεδομένων (βλ. ενότητα 3.3). Με τον παραπάνω τρόπο κωδικοποίησης πετυχαίνουμε: α) όλα τα δεδομένα μας να είναι αριθμητικά, β) τα δεδομένα μιας μόνο αξιολόγησης καταλαμβάνουν μία μόνο γραμμή (row), γ) κάθε στήλη (column) εμπεριέχει τα δεδομένα της ίδιας και μόνο μεταβλητής στο σύνολο της αξιολόγησης, δ) όλες οι τιμές (κωδικοί) μιας μεταβλητής είναι αμοιβαία αποκλειόμενες. Μόνο μια τιμή καταγράφεται κάθε φορά για μια συγκεκριμένη μεταβλητή (π.χ. ο χρήστης βαθμολογεί με 4 την 1η μέθοδο. Δεν μπορεί στην ίδια αξιολόγηση η 1η μέθοδος να πάρει περισσότερες από 1 τιμές), ε) κάθε μεταβλητή κωδικοποιείται σε ξεχωριστό πεδίο (π.χ. ratinga, ratingb) στ) έχει καθοριστεί όλα τα πεδία να μην είναι μηδενικά (Not Null), έτσι ώστε να μην υπάρχουν χαμένες τιμές (missing values).

152 1.10 Συνολικές Αλλαγές & Προσθήκες στο Geosocial2

Η αρχική μορφή του Geosocial υστερούσε σημαντικά σε βασικές λειτουργίες των on-line κοινωνικών δικτύων. Γι’ αυτό το λόγο κρίθηκε αναγκαία η ένταξη αυτών των λειτουργιών στην νέα έκδοση του. Παρακάτω παρουσιάζουμε τις σημαντικότερες από τις αλλαγές / προσθήκες που πραγματοποιήθηκαν και συντελούν στην παρούσα μορφή του Geosocial2: 1. Ο εμπλουτισμός της ΒΔ με νέα πεδία (όπως countries, περισσότερες δραστηριότητες, περισσότερα πεδία για κάθε χρήστη κτλ). 2. Η επεξεργασία, ο καθαρισμός και εμπλουτισμός όλου του υφιστάμενου κώδικα με βασικές γραμμές κώδικα που καθιστά τη δομή του πιο οργανωμένη και κατανοητή τόσο από τους φυλλομετρητές (browser) όσο και από ένα άλλο developer. 3. Η διόρθωση και τροποποίηση του υφιστάμενου και του νέου κώδικα, έτσι ώστε να συμβαδίζει με τα νέα πρότυπα των web γλωσσών προγραμματισμού, όπως η HTML 5.0 & CSS2, καθώς και με τις παλαιότερες εκδόσεις των browser, οι οποίοι δημιουργούσαν πρόβλημα τόσο στην εμφάνιση, όσο και στη χρήση ορισμένων λειτουργιών/υπηρεσιών του website. 4. Η χρήση βασικής δομής και μεταδομένων στις σελίδες του κώδικα μας. 5. Η αλλαγή της εμφάνισης (styling) του website ώστε να είναι όσο το δυνατόν πιο φιλικό για τον χρήστη (χρήση βασικών στοιχείων CSS). 6. Η δημιουργία μοναδικού χαρακτηριστικού banner / icon για το Geosocial2. 7. Η δημιουργία μοναδικού fabicon που εμφανίζεται στην καρτέλα (tab) ενός browser. 8. Ο εμπλουτισμός της φόρμας εγγραφής του χρήστη. 9. Ο εμπλουτισμός του ελέγχου κατά την εγγραφή του χρήστη (αν υπάρχει ήδη το όνομα ή το email του χρήστη κτλ). 10. Η εισαγωγή της μεθόδου κρυπτογράφησης στον προσωπικό κωδικό ενός χρήστη (μέθοδος κρυπτογράφησης sha1). 11. Η δυνατότητα επαναπροσδιορισμού του προσωπικού του κωδικού σε περίπτωση απώλειας. Ο χρήστης σε περίπτωση που έχει ξεχάσει τον προσωπικού του κωδικό, αρκεί να ακολουθήσει τον σύνδεσμο «forgot your password». Στην συνέχεια θα του ζητηθεί να καταχωρήσει το προσωπικό του

153 email και να πατήσει «submit», ούτως ώστε να του σταλθεί ένα μοναδικό link στο email του. Ακολουθώντας αυτό το link, ο χρήστης είναι σε θέση να θέσει νέο κωδικό πρόσβασης. 12. Ο έλεγχος αν ο χρήστης είναι ήδη συνδεδεμένος στο σύστημα. 13. Η εισαγωγή οδηγιών για τους χρήστες. 14. Η αλλαγή του τρόπου εμφάνισης της προσωπικής φωτογραφίας ενός χρήστη, καθώς και της σελίδας στην οποία ο χρήστης προσθέτει μια νέα φωτογραφία ή αντικαθιστά μια υφιστάμενη. 15. Η δυνατότητα εντοπισμού της φυσικής τοποθεσίας του χρήστη πάνω στο χάρτη με τη βοήθεια της ip της συσκευής που χρησιμοποιεί ο χρήστης. 16. Η πιο εύχρηστη και απλή παρουσίαση των φίλων ενός χρήστη με μικρογραφίες των προσωπικών τους φωτογραφιών και την δυνατότητα μετάβασης στο προφίλ του καθενός. 17. Η εμφάνιση του πλήθους των φίλων ενός χρήστη, καθώς και των φίλων όλων των χρηστών στα προσωπικά τους προφίλ. 18. Η δημιουργία ατομικού προφίλ κάθε χρήστη, αλλά και η δημιουργία ξεχωριστών προφίλ για κάθε χρήστη. 19. Δημιουργία νέας καρτέλας για πραγματοποίηση check-ins από το χρήστη, διαδραστικά πάνω στο χάρτη χρησιμοποιώντας το νέο API της Google, V3.7. 20. Η δυνατότητα αναζήτησης στο χάρτη οποιασδήποτε τοποθεσίας επιθυμεί, μέσω της υπηρεσίας «Location Search». 21. Η δυνατότητα παρουσίασης των check-ins που έχουν πραγματοποιηθεί, είτε μονάχα από το χρήστη (κουμπί «Show my POIs»), είτε μονάχα από τους φίλους του (κουμπί «Show my friends’ POIs»), είτε το σύνολο των check-ins στη ΒΔ (κουμπί «Show all POIs»). 22. Η δυνατότητα εισαγωγής ενός νέου σημείου στη ΒΔ και η ταυτόχρονη πραγματοποίηση ενός check-in στο σημείο αυτό, πατώντας δεξί κλικ πάνω στο χάρτη, εμφανίζοντας έτσι ένα αναδυόμενο παράθυρο. 23. Η δυνατότητα πραγματοποίησης ενός check-in σ’ ένα υπάρχον σημείο ενδιαφέροντος πάνω στο χάρτη, πατώντας αριστερό κλικ πάνω σ’ αυτό και συμπληρώνοντας τη φόρμα που υπάρχει στο αναδυόμενο παράθυρο. 24. Η βελτίωση του τρόπου με τον οποίο εμφανίζονται τα αποτελέσματα της απλής αναζήτησης.

154 25. Η δημιουργία νέου τρόπου αναζήτησης. Η μέθοδος Live Search είναι: i) διαδραστική, ii) η αναζήτηση γίνεται σε πραγματικό χρόνο (κατά την πληκτρολόγηση του χρήστη), iii) καθώς ο χρήστης πληκτρολογεί τα αποτελέσματα της αναζήτησης μειώνονται ως ότου βρεθεί ο συγκεκριμένος χρήστης, iv) η αναζήτηση λαμβάνει υπόψη και τον συνδυασμό Username+ «κενό»+Lastname, v) εμφανίζεται επίσης η πληροφορία της χώρας προέλευσης του χρήστη, vi) πατώντας πάνω σ’ ένα αποτέλεσμα ο χρήστης οδηγείται απευθείας στο προφίλ του χρήστη, όπου εκεί μπορεί να τα προσωπικά του στοιχεία, το ιστορικό του σχετικά με τα check-ins και να τον προσθέσει σαν φίλο αν επιθυμεί και τέλος, vii) δεν χρειάζεται να αλλάξει σελίδα ο χρήστης για να πραγματοποιήσει την αναζήτηση. Η αναζήτηση μπορεί να γίνει στην ίδια σελίδα στην οποία βρίσκεται ο χρήστης. Σε περίπτωση που δεν θέλει να συνεχίσει την αναζήτηση, το αναδυόμενο παράθυρο κλείνει μόνο του. 26. Η βελτίωση / μορφοποίηση του τρόπου εμφάνισης των πινάκων του τύπου συστάσεων νέων φίλων. 27. Η διόρθωση του τρόπου εμφάνισης των συστάσεων με βάση τους κοινούς φίλους (ταξινόμηση των συστάσεων ιεραρχικά με βάση το πλήθος των κοινών φίλων). 28. Ο εμπλουτισμός της εμφάνισης των μονοπατιών του explanation style B, έτσι ώστε να παρουσιάζει όλο το μονοπάτι, από το όνομα του αρχικού χρήστη μέχρι το όνομα του τελικού χρήστη, ο οποίος προτείνεται από το σύστημα. 29. Τροποποίηση του αλγόριθμου συστάσεων τοποθεσιών με βάση τη δραστηριότητα, έτσι ώστε να προτείνονται ιεραρχικά τα σημεία ενδιαφέροντος που ανήκουν στην δραστηριότητα που αναζητεί ο χρήστης, λαμβάνοντας υπόψη το συνολικό αριθμό των check-ins που έχουν πραγματοποιηθεί από το σύνολο των χρηστών του Geosocial2, καθώς και το μέσο όρο αξιολόγησης κάθε σημείου. 30. Δημιουργία νέο αλγορίθμου συστάσεων τοποθεσιών με βάση τη δραστηριότητα. Ο νέος αλγόριθμος προτείνει σημεία ενδιαφέροντος με βάση τη δραστηριότητα και τα ταξινομεί ιεραρχικά με βάση το πλήθος των check- ins που έχουν πραγματοποιηθεί ΜΟΝΟ από τους φίλους του χρήστη, καθώς και το μέσο όρο των σημείων αυτών που προκύπτει από τα check-in που πραγματοποιήθηκαν ΜΟΝΟ από τους φίλους.

155 31. Τροποποίηση του αλγόριθμου συστάσεων δραστηριοτήτων με βάση την τοποθεσία, έτσι ώστε να προτείνονται ιεραρχικά τα σημεία ενδιαφέροντος που ανήκουν στην τοποθεσία που αναζητεί ο χρήστης, λαμβάνοντας υπόψη το συνολικό αριθμό των check-ins που έχουν πραγματοποιηθεί από το σύνολο των χρηστών του Geosocial2, καθώς και το μέσο όρο αξιολόγησης κάθε σημείου. 32. Δημιουργία νέο αλγορίθμου συστάσεων δραστηριοτήτων με βάση την τοποθεσία. Ο νέος αλγόριθμος προτείνει σημεία ενδιαφέροντος με βάση τη ν τοποθεσία και τα ταξινομεί ιεραρχικά με βάση το πλήθος των check-ins που έχουν πραγματοποιηθεί ΜΟΝΟ από τους φίλους του χρήστη, καθώς και το μέσο όρο των σημείων αυτών που προκύπτει από τα check-in που πραγματοποιήθηκαν ΜΟΝΟ από τους φίλους. 33. Δημιουργία νέας καρτέλας «POI Navigator», στην οποία ο χρήστης έχει τη δυνατότητα να πλοηγηθεί διαδραστικά σε όλα τα σημεία της ΒΔ πάνω στο χάρτη (Google maps V3.7). Επίσης, ο χρήστης έχει τη δυνατότητα να δει πόσα check-ins έχουν πραγματοποιηθεί συνολικά σ’ ένα σημείο, το μέσο όρο που προκύπτει από την βαθμολόγηση των χρηστών, καθώς και την παρουσίαση όλων των σχολίων που φέρει κάθε σημείο, μαζί με το όνομα του χρήστη και την προσωπική του αξιολόγηση. 34. Η δυνατότητα να λάβει διαδραστικά τη διαδρομή από την τοποθεσία διαμονής του, προς μία οποιαδήποτε άλλη τοποθεσία μέσω την υπηρεσία «Get Directions». 35. Μορφοποίηση και βελτιστοποίηση του πίνακα που παρουσιάζει τα check-ins που έχει πραγματοποιήσει ιστορικά ο χρήστης. 36. Εμπλουτισμός των drop down menu σχετικά με την απλή πραγματοποίηση ενός check-in από τον χρήστη (πρώτα επιλέγει τη χώρα, μετά την πόλη, μετά το σημείο κ.ο.κ). 37. Η δημιουργία προσωπικού προφίλ κάθε χρήστη. Στην σελίδα αυτή ο χρήστης μπορεί να πραγματοποιεί updates στα προσωπικά του στοιχεία σε ειδική διαμορφωμένη φόρμα, να βλέπει επίσης τα τελευταία check-ins που έχει κάνει, τους φίλους που έχει και να γράψει λίγα λόγια γι’ αυτόν ή να αφήσει ένα μικρό status.

156 38. Αντίστοιχα, δυνατότητα μεταφοράς στα προφίλ άλλων χρηστών. Στα προφίλ των άλλων χρηστών μπορεί κανείς να δει βασικές πληροφορίες των χρηστών, το «status», το «about», τους φίλους και τα check-ins αυτών. 39. Η δυνατότητα προσθήκης ή διαγραφής ενός χρήστη μέσα από το προσωπικό του προφίλ ανάλογα με το αν υπάρχει ήδη φιλία μεταξύ δύο χρηστών ή όχι. 40. Τέλος, η δημιουργία τεσσάρων φορμών αξιολόγησης μέσα στο περιβάλλον του συστήματος Geosocial2 χρησιμοποιώντας ειδικό κώδικα, ο οποίος τις εμφανίζει αφού πρώτα ο χρήστης κάνει χρήση των υπηρεσιών που πρόκειται να αξιολογήσει.

157 1.11 Συγκεντρωτικός πίνακας δημιουργίας του Dataset-B

4) Total 2) City 1) City 3) City nodeID Other Checkins Athens Thessaloniki Chalkida Cities 197 20 0 20 0 0 9 21 0 16 0 5 192 15 0 15 0 0 141 21 0 13 8 0 142 13 0 13 0 0 185 20 0 12 0 8 25 13 0 12 0 1 34 11 0 11 0 0 41 11 0 11 0 0 183 11 0 11 0 0 201 11 0 11 0 0 19 12 2 10 0 0 33 22 1 10 0 11 212 22 0 10 0 12 191 20 0 10 0 10 28 10 0 10 0 0 120 10 0 10 0 0 150 10 0 10 0 0 208 10 0 10 0 0 29 11 0 10 0 1 7 13 4 9 0 0 15 20 6 7 6 1 4 21 20 1 0 0 202 22 22 0 0 0 198 20 20 0 0 0 178 16 12 0 1 3 20 11 11 0 0 0 14 12 0 0 12 0 8 12 0 0 10 2 164 10 0 0 10 0 451 98 252 47 53

Ποσοστό 100% 22% 56% 10% 12% Πίνακας 49. Παρουσίαση των δεδομένων στα οποία στηρίχτηκε η ανάλυση του dataset-Α.

158

159

Ανάλυση του dataset – C

160 1. Έλεγχος, επεξεργασία και καθορισμός των δεδομένων

Μετά τη δημιουργία των dataset A & B που αναλύσαμε στο 4ο κεφάλαιο του παρόντος έργου, βασιστήκαμε σε μια 3η υπόθεση για την περαιτέρω ανάλυση και αξιολόγηση των τύπων συστάσεων του Geosocial2. Για κάθε τύπο συστάσεων επιλέξαμε μόνο τις βαθμολογίες των δύο explanation style οι οποίες συνοδευόντουσαν από τα επεξηγηματικά σχόλια των χρηστών. Γι’ αυτό το λόγο κρίθηκε σκόπιμη η εξονυχιστική ανάγνωση όλων των σχολίων για τυχόν (σημασιολογικές) παρατυπίες: Παράδειγμα 1ο, στον Πίνακα 50. βλέπουμε πως ενώ το σχόλιο του χρήστη δείχνει εμφανώς προτίμηση υπέρ του Β στυλ επεξήγησης, το οποίο λαμβάνει υπόψη τα check-ins των φίλων του, ωστόσο οι βαθμολογίες δείχνουν την αντίθετη προτίμηση.

RatingA RatingB Comment The second style is more useful because it informs you about your 5 3 friends! Πίνακας 50. – Αρχικό dataset πριν τον έλεγχο της βοηθητικής πληροφορίας.

RatingA RatingB Comment The second style is more useful because it informs you about your 3 5 friends! Πίνακας 51. – Τελικό dataset μετά τον έλεγχο της βοηθητικής πληροφορίας.

Η αλλαγή που πραγματοποιήσαμε ήταν απλά να αντιστρέψουμε τις βαθμολογίες, ώστε να υπάρχει συνάφεια μεταξύ σχολίου και βαθμολόγησης.

Παράδειγμα 2ο, στον Πίνακα 52. βλέπουμε πως ενώ το σχόλιο του χρήστη δείχνει εμφανώς προτίμηση υπέρ του Α στυλ επεξήγησης, το οποίο λαμβάνει υπόψη τα check-ins στο σύνολο των χρηστών, ωστόσο οι βαθμολογίες είναι ίσες μεταξύ τους.

RatingA RatingB Comment I prefer to know how many people check in a place, even though 3 3 they are not my friends Πίνακας 52. – Αρχικό dataset πριν τον έλεγχο της βοηθητικής πληροφορίας.

161 RatingA RatingB Comment I prefer to know how many people check in a place,even though they 4 3 are not my friends Πίνακας 53. – Τελικό dataset μετά τον έλεγχο της βοηθητικής πληροφορίας.

Η αλλαγή που πραγματοποιήσαμε ήταν να αυξήσουμε μόνο κατά μία μονάδα/κλίμακα την βαθμολογία του στυλ επεξήγησης στην οποία σημασιολογικά ο χρήστης δίνει μεγαλύτερη βαρύτητα

Παράδειγμα 3ο, στον Πίνακα 54. που ακολουθεί βλέπουμε ότι ο χρήστης έχει την ίδια προτίμηση ανάμεσα στα δύο explanation style. Λαμβάνοντας υπόψη και το σχόλιο του, βλέπουμε πως η αξιολόγηση αυτή στηρίζεται τεκμηριωμένα, γι’ αυτό το λόγο αφήνουμε τις βαθμολογίες ως έχουν, χωρίς να προβούμε σε οποιαδήποτε ενέργεια.

RatingA RatingB Comment Same as before, each style shows me a certain thing, so I like both 5 5 for the afforementioned reasons. Πίνακας 54. – Αρχικό dataset πριν τον έλεγχο της βοηθητικής πληροφορίας.

Αποτέλεσμα αυτού του 1ου βήματος ήταν η δημιουργία του 3ου dataset (εφεξής dataset-C), το οποίο ελέγξαμε, επεξεργαστήκαμε και διορθώσαμε, στηριζόμενοι στη σημασιολογία των σχολίων των χρηστών.

2. Dataset – C

Για το dataset-C θα ακολουθήσει ανάλυση τόσο των τριών τύπων συστάσεων, όσο και των μεθόδων αναζήτησης με σκοπό να δούμε την προτίμηση των χρηστών και στις τέσσερις περιπτώσεις και αν η διαφορά που προκύπτει ανάμεσα στα δύο explanation styles είναι στατιστικά σημαντική.

162 2.1 Friend Rec Evaluation

Στις ενότητες «Descriptive Statistics» γίνεται λόγος για τα περιγραφικά στατιστικά, γι’ αυτό το λόγο παρουσιάζουμε τον πίνακα συχνοτήτων των βαθμολογιών που έδωσαν οι χρήστες, τόσο για το explanation style A (ratingA), όσο και για το explanation style B (ratingB). Στην περίπτωση του τύπου συστάσεων φιλίας, το Α στυλ βαθμολόγησε με την τιμή 1, μόνο ένας χρήστης και αυτό αποτελεί το 2,6% των χρηστών, με 2 βαθμολόγησε μόνο ένας χρήστης και αυτό αποτελεί το 2,6% του συνόλου των χρηστών κ.ο.κ. Βλέπουμε πως το 46,2% των χρηστών (18 χρήστες), οι οποίοι τεκμηρίωσαν τον τρόπο με τον οποίο βαθμολόγησαν τα δύο διαφορετικά στυλ, έδωσαν την μέγιστη τιμή 5 στο Α στυλ. Αντίστοιχα, για το στυλ Β έχουμε: 4 χρήστες έδωσαν την τιμή 1 και αυτό αποτελεί το 10,3%, 6 χρήστες έδωσαν την τιμή 2 και αυτό αποτελεί το 15,4% κ.ο.κ. Αξιοσημείωτο αποτελεί το γεγονός, ότι το 59% των χρηστών, οι οποίοι τεκμηρίωσαν τον τρόπο με τον οποίο βαθμολόγησαν τα δύο διαφορετικά στυλ, έδωσαν στο Β στυλ τιμές από 1-3. Explanation Styles A & B

Πίνακας 55. – Συχνοτήτων και Αθροιστικών Συχνοτήτων για Friend Rec.

Στον Πίνακα 56. βλέπουμε πως οι μέσοι όροι των βαθμολογιών των δύο στυλ είναι 4,07 για το Α στυλ και 3,33 για το Β. Αντίστοιχα, η τυπική απόκλιση είναι 1,03 για το Α στυλ και 1,32 για το Β. Αυτό δείχνει μια σαφή υπεροχή του Α στυλ έναντι του Β (meanΑ>meanΒ).

163 Υπενθυμίζουμε ότι το Α στυλ δείχνει πόσους κοινούς φίλους έχει ο χρήστης μ' αυτούς που του προτείνονται για φίλοι και το Β δείχνει με πόσα μονοπάτια και ποια είναι αυτά, καταλήγει στο χρήστη που προτείνει για φίλο (βλ. ενότητα 3.4.1).

Πίνακας 56. – Μ.Ο. και Τυπικών Αποκλίσεων.

Πίνακας 57. – Levene’s Test for Equality of Variances.

Στην περίπτωση αυτή το sig. του Levene’s Test = 0,077>0,05, άρα κοιτάμε το sig. (2-tailed) στην 1η γραμμή, το οποίο ισούται με 0,007<0,05. Αυτό σημαίνει πως η

μηδενική υπόθεση (Η0) απορρίπτεται. Δηλαδή οι Μ.Ο. των βαθμολογιών που έδωσαν οι χρήστες για τα δύο διαφορετικά στυλ συστάσεων φιλίας, διαφέρουν μεταξύ τους και αυτή η διαφορά είναι στατιστικά σημαντική. Το αποτέλεσμα αυτό επιβεβαιώνεται και από το 95% διάστημα εμπιστοσύνης της διαφοράς μεταξύ των μέσων (0,20734 έως 1,27984). Το διάστημα αυτό

περιλαμβάνει το 0,74 (μέσος της Η0) και επομένως η μηδενική υπόθεση απορρίπτεται.

2.2 POI Rec Evaluation

Στην περίπτωση του τύπου συστάσεων τοποθεσιών με βάση τη δραστηριότητα, το Α στυλ το βαθμολόγησαν 3 χρήστες με την τιμή 1 και αυτό αποτελεί το 8,3% των χρηστών, με 2 βαθμολόγησε μόνο ένας χρήστης και αυτό αποτελεί το 2,8% του συνόλου των χρηστών κ.ο.κ. Βλέπουμε πως το 30,6% των

164 χρηστών (11 χρήστες), οι οποίοι τεκμηρίωσαν τον τρόπο με τον οποίο βαθμολόγησαν τα δύο διαφορετικά στυλ, έδωσαν την μέγιστη τιμή 5 στο Α στυλ. Αξιοσημείωτο αποτελεί το γεγονός, ότι το 58,4% των χρηστών, οι οποίοι τεκμηρίωσαν τον τρόπο με τον οποίο βαθμολόγησαν τα δύο διαφορετικά στυλ, έδωσαν στο Α στυλ τις τιμές 3 και 4. Αντίστοιχα, για το στυλ Β έχουμε: 4 χρήστες έδωσαν την τιμή 1 και αυτό αποτελεί το 11,1%, 6 χρήστες έδωσαν την τιμή 3 και αυτό αποτελεί το 16,7% κ.ο.κ. Αξιοσημείωτο αποτελεί το γεγονός, ότι το 72% των χρηστών, οι οποίοι τεκμηρίωσαν τον τρόπο με τον οποίο βαθμολόγησαν τα δύο διαφορετικά στυλ, έδωσαν στο Β στυλ τιμές 4 και 5. Ενώ, κανείς χρήστης δεν έδωσε την τιμή 2.

Explanation Styles A & B

Πίνακας 58. – Συχνοτήτων και Αθροιστικών Συχνοτήτων για POI Rec.

Στον Πίνακα 59. βλέπουμε πως οι μέσοι όροι των βαθμολογιών των δύο στυλ είναι 3,83 για το Α και 4 για το Β. Αντίστοιχα, η τυπική απόκλιση είναι 1,15 για το Α στυλ και 1,30 για το Β. Αυτό δείχνει μια σχετική υπεροχή του Β στυλ έναντι του Α (meanΒ>meanΑ). Υπενθυμίζουμε ότι το Α στυλ προτείνει σημεία ενδιαφέροντος (Point Of Interests), τα οποία ανήκουν στην τοποθεσία και στη δραστηριότητα τις οποίες επέλεξε ο χρήστης, και ταξινομούνται ιεραρχικά με βάση τα συνολικά check-ins που έχουν πραγματοποιηθεί σ’ αυτά από το σύνολο των χρηστών. Ενώ, το στυλ Β προτείνει σημεία ενδιαφέροντος (Point Of Interests), τα οποία ανήκουν στην τοποθεσία και στη δραστηριότητα τις οποίες επέλεξε ο χρήστης, αλλά

165 ταξινομούνται ιεραρχικά με βάση τα check-ins που έχουν πραγματοποιηθεί σ’ αυτά, ΜΟΝΟ από τους φίλους του χρήστη (βλ. ενότητα 3.4.2).

Πίνακας 59. – Μ.Ο. και Τυπικών Αποκλίσεων.

Πίνακας 60. – Levene’s Test for Equality of Variances.

Στην περίπτωση αυτή το sig. του Levene’s Test = 0,435>0,05, άρα κοιτάμε το sig. (2-tailed) στην 1η γραμμή, το οποίο ισούται με 0,569>0,05. Αυτό σημαίνει πως

ισχύει η μηδενική υπόθεση (Η0). Δηλαδή οι Μ.Ο. των βαθμολογιών που έδωσαν οι χρήστες για τα δύο διαφορετικά στυλ συστάσεων με βάση την δραστηριότητα, δεν έχουν στατιστικά σημαντική διαφορά, επομένως θεωρούνται «ίσοι». Το αποτέλεσμα αυτό επιβεβαιώνεται και από το 95% διάστημα εμπιστοσύνης της διαφοράς μεταξύ των μέσων (-0,74787 έως 0,41454). Το διάστημα αυτό

περιλαμβάνει το -0,16 (μέσος της Η0) και επομένως ισχύει μηδενική υπόθεση.

2.3 Activity Rec Evaluation

Στην περίπτωση του τύπου συστάσεων δραστηριοτήτων με βάση την τοποθεσία, το [(12+16)/37] = 75% των χρηστών έδωσαν μια μέση προτίμηση για το Α στυλ επιλέγοντας τις τιμές 3 και 4, ενώ το (24/37)=64% των χρηστών έδειξε τη σαφή προτίμηση του για το Β στυλ επιλέγοντας την τιμή 5. Για καθαρά εκπαιδευτικούς λόγους, στους πίνακες συχνοτήτων που ακολουθούν δείχνουμε και τις χαμένες τιμές (αξιολογήσεις δίχως σχόλια χρηστών). Ουσιαστικά, οι χρήστες που δεν αιτιολόγησαν την βαθμολόγηση της συγκεκριμένης

166 υπηρεσίας αποτελούν το 26% του συνόλου των χρηστών που αξιολόγησαν το σύστημα συστάσεων με βάση την τοποθεσία.

Explanation Styles A & B

Πίνακας 61. – Συχνοτήτων και Αθροιστικών Συχνοτήτων για Activity Rec.

Στον Πίνακα 62. βλέπουμε πως οι μέσοι όροι των βαθμολογιών των δύο στυλ είναι 3,81 για το Α και 4,13 για το Β. Αντίστοιχα, η τυπική απόκλιση είναι 0,87 για το Α στυλ και 1,43 για το Β. Αυτό δείχνει μια σχετική υπεροχή του Β στυλ έναντι του Α (meanΒ>meanΑ). Υπενθυμίζουμε ότι το Α στυλ προτείνει σημεία ενδιαφέροντος (Point Of Interests), τα οποία ανήκουν στην τοποθεσία την οποία επέλεξε ο χρήστης, και ταξινομούνται ιεραρχικά με βάση τα συνολικά check-ins που έχουν πραγματοποιηθεί σ’ αυτά από το σύνολο των χρηστών. Ενώ, το στυλ Β προτείνει σημεία ενδιαφέροντος (Point Of Interests), τα οποία ανήκουν στην τοποθεσία την οποία επέλεξε ο χρήστης, αλλά ταξινομούνται ιεραρχικά με βάση τα check-ins που έχουν πραγματοποιηθεί σ’ αυτά, ΜΟΝΟ από τους φίλους του χρήστη (βλ. ενότητα 3.4.3).

Πίνακας 62. – Μ.Ο. και Τυπικών Αποκλίσεων.

167 Πίνακας 63. – Levene’s Test for Equality of Variances.

Στην περίπτωση αυτή το sig. του Levene’s Test = 0,011<0,05, άρα κοιτάμε το sig. (2-tailed) στην 2η γραμμή, το οποίο ισούται με 0,246>0,05. Αυτό σημαίνει πως

ισχύει η μηδενική υπόθεση (Η0). Δηλαδή οι Μ.Ο. των βαθμολογιών που έδωσαν οι χρήστες για τα δύο διαφορετικά στυλ συστάσεων με βάση την τοποθεσία, δεν έχουν στατιστικά σημαντική διαφορά, επομένως θεωρούνται «ίσοι». Το αποτέλεσμα αυτό επιβεβαιώνεται και από το 95% διάστημα εμπιστοσύνης της διαφοράς μεταξύ των μέσων (-0,87596 έως 0,22732). Το διάστημα αυτό

περιλαμβάνει το -0,32 (μέσος της Η0) και επομένως ισχύει μηδενική υπόθεση.

2.4 Search Methods Evaluation

Στην περίπτωση των μεθόδων αναζήτησης χρηστών, την απλή μέθοδο Α (Simple Search) βαθμολόγησαν με 1 μόνο 2 χρήστες και αυτό αποτελεί το 4,5% των χρηστών, με 2 βαθμολόγησαν 2 χρήστες, επίσης, και αυτό αποτελεί το 4,5% του συνόλου των χρηστών κ.ο.κ. Βλέπουμε πως το 22,7% των χρηστών (10 χρήστες) έδωσαν την μέγιστη τιμή 5. Αξίζει να σημειωθεί πως το 50% των χρηστών βαθμολόγησαν το στυλ Α με την τιμή 3. Γενικά, όπως ήδη αναφέραμε για την τιμή 3, μπορεί να θεωρηθεί πως αντικατοπτρίζει την ουδετερότητα των χρηστών απέναντι σε μια μέθοδο.

168 Explanation Styles A & B

Πίνακας 64. – Συχνοτήτων και Αθροιστικών Συχνοτήτων για Search Methods.

Αντίστοιχα, τη μέθοδο Β (Live Search) 10 χρήστες έδωσαν την τιμή 1 και αυτό αποτελεί το 22,7%, 1 χρήστης έδωσε την τιμή 2 και αυτό αποτελεί το 2,3% κ.ο.κ. Αντίθετα ένα ποσοστό της τάξεως του 47,7% βαθμολόγησε το στυλ Β με την τιμή 5. Είναι πολύ πιθανόν οι 10 χρήστες, οι οποίοι βαθμολόγησαν τη μέθοδο Β (Live Search – βλ. ενότητα 3.4.1.2) με 1, να είναι εκείνοι οι οποίοι αντιμετώπισαν το πρόβλημα που υπήρχε με τη χρήση της μεθόδου αυτής, από κάποιους φυλλομετρητές (browsers). Σ’ αυτό το πόρισμα μπορούμε να οδηγηθούμε και από την απόλυτη σύγκριση των δύο υπο-πινάκων του πίνακα συχνοτήτων, όπου το πλήθος των χρηστών, οι οποίοι έδωσαν την τιμή 5 στην Α μέθοδο είναι το ίδιο με το πλήθος των χρηστών οι οποίοι έδωσαν την τιμή 1 στη Β μέθοδο. Σ’ αυτό το σημείο πρέπει να τονισθεί, πως δεν ισχυριζόμαστε ότι πρόκειται για τους ίδιους χρήστες, αλλά υπάρχει μεγάλη πιθανότητα επικάλυψης μεταξύ των χρηστών αυτών. Στον Πίνακα 65. βλέπουμε πως οι μέσοι όροι των βαθμολογιών των δύο μεθόδων αναζήτησης χρηστών είναι 3,5 για το Α στυλ και 3,61 για το Β. Αντίστοιχα, η τυπική απόκλιση είναι 1,04 για την Α μέθοδο και 1,63 για τη Β. Αυτό δείχνει μια οριακή υπεροχή της Β μεθόδου έναντι της Α (meanΒ>meanΑ).

169

Πίνακας 65. – Μ.Ο. και Τυπικών Αποκλίσεων.

Πίνακας 66. – Levene’s Test for Equality of Variances

Στην περίπτωση αυτή το sig. του Levene’s Test = 0,000<0,05, άρα κοιτάμε το sig. (2-tailed) στην 2η γραμμή, το οποίο ισούται με 0,698>0,05. Αυτό σημαίνει πως

ισχύει η μηδενική υπόθεση (Η0). Δηλαδή οι Μ.Ο. των βαθμολογιών που έδωσαν οι χρήστες για τις δύο διαφορετικές μεθόδους αναζήτησης χρηστών, δεν έχουν στατιστικά σημαντική διαφορά, επομένως θεωρούνται «ίσοι». Το αποτέλεσμα αυτό επιβεβαιώνεται και από το 95% διάστημα εμπιστοσύνης της διαφοράς μεταξύ των μέσων (-0,69432 έως 0,46704). Το διάστημα αυτό

περιλαμβάνει το -0,11 (μέσος της Η0) και επομένως ισχύει μηδενική υπόθεση.

3. Συμπεράσματα

Στον Πίνακα 67, παρουσιάζουμε το σύνολο των δεδομένων του dataset-C ανά πίνακα αξιολόγησης. With Without Comment Comment evsearch 44 6 evfriendrec 39 11 evpoirec 36 14 evactivity 37 13 Πίνακας 67. – Σύνολο δεδομένων dataset–C.

170 Σε απόλυτα νούμερα, θα μπορούσαμε να εξάγουμε τα εξής συμπεράσματα: α) Στην αξιολόγηση των μεθόδων αναζήτησης έχουμε τα περισσότερα σχόλια χρηστών. Αυτό ενδεχομένως οφείλεται στο γεγονός ότι τους ζητούσαμε να κάνουν τουλάχιστον 5 φίλους. Αυτό σημαίνει ότι είναι η υπηρεσία την οποία έχουν χρησιμοποιήσει περισσότερο, γι’ αυτό και εκφράζουν την γνώμη τους. Πρέπει να ληφθεί, βέβαια, υπόψη ότι η μέθοδος Live Search δεν λειτουργούσε σε όλους τους φυλλομετρητές (browsers). β) Επειδή, τα βήματα της αξιολόγησης69 ήταν τελευταία στην σειρά στο σύνολο των οδηγιών, θα μπορούσε να θεωρηθεί, ότι έχει επέλθει μια “κούραση” στον χρήστη, γι’ αυτό το λόγο αξιολογεί, δίχως να σχολιάσει. Αντίστοιχα, αν ο χρήστης επανερχόταν για να τελειώσει τα βήματα που άρχισε, ενδεχομένως να μην έδινε την δέουσα σημασία. γ) Στις περιπτώσεις της αξιολόγησης του «POI Rec» και «Activity Rec» ή συνεισφορά των φίλων κάθε χρήστη για την εμφάνιση του Β πίνακα παίζει καθοριστικό και σημαντικότατο ρόλο. Κάτι το οποίο σημαίνει, περισσότερες χρήσεις των υπηρεσιών αυτών από το χρήστη, έως ότου βρει εκείνο τον συνδυασμό τοποθεσία και δραστηριότητας που θα του εμφανίζει και τους δύο πίνακες (βλ. ενότητα 3.5.2 και 3.5.3). Στη συνέχεια παρουσιάζουμε τον συγκριτικό Πίνακα 68. των αποτελεσμάτων του ελέγχου T-test. Όσο αναφορά την αξιολόγηση του τύπου συστάσεων φιλίας (Friend Rec), το A style υπερισχύει έναντι του B και η διαφορά των Μ.Ο. τους είναι στατιστικά σημαντική. Σ’ αυτή την περίπτωση το πόρισμα αυτό είναι πιο ισχυροποιημένο, καθώς έχουν ληφθεί μόνο οι αξιολογήσεις των χρηστών που τεκμηρίωσαν τις βαθμολογίες τους. Dataset – Α Style / T-test Method

Friend Rec H1 A POI Rec H0 B Activity Rec H0 B Search methods H0 B Πίνακας 68. – Σύγκριση αποτελεσμάτων ελέγχων T-test για το Dataset-Α.

69 Βλ. Παράρτημα, μέρος IV, ενότητα 2. Οδηγίες χρηστών για την πραγματοποίηση της αξιολόγησης

171 Ακολούθως. όσο αναφορά για τους άλλους δύο τύπους συστάσεων (POI Rec και Activity Rec), καθώς και για τις Search methods, βλέπουμε πως ισχύει η μηδενική υπόθεση, επομένως οι Μ.Ο. των βαθμολογιών των δύο styles, θεωρούνται «ίσοι». Ωστόσο και για τα τρία συστήματα συστάσεων υπάρχει μια οριακή υπεροχή/προτίμηση των χρηστών υπέρ του Β επεξηγηματικού στυλ.

Dataset - C

Rec Systems μA μΒ σA σΒ μd σd Friend Rec 4,07 3,33 1,03 1,32 0,74 0,26 POI Rec 3,83 4,00 1,15 1,30 -0,16 0,29 Activity Rec 3,81 4,13 0,87 1,43 -0,32 0,27 Search Methods 3,50 3,61 1,04 1,63 -0,11 -0,29

* Πίνακας 69. - Μέση τιμή (μ), τυπική απόκλιση (σ) διαφορά των μέσων (μd) και διαφορά των τυπικών αποκλίσεων (σd), σύμφωνα με το πλήθος των χρηστών που τεκμηρίωσαν τις αξιολογήσεις τους. ** Με bold σημειώνονται οι μέσες τιμές που υπερισχύουν έναντι του άλλου επεξηγηματικού στυλ. ***μΑ: η μέση τιμή των αξιολογήσεων για το explanation style A και μΒ: η μέση τιμή των αξιολογήσεων για το explanation style Β και ούτω καθ’ εξής.

Στον παραπάνω συγκεντρωτικό Πίνακα 69., βλέπουμε πως η μέση τιμή των αξιολογήσεων που έδωσαν οι χρήστες για το explanation style B υπερισχύει στους τύπους συστάσεων POI Rec, Activity Rec & Search Method, ενώ αντίθετα για τον τύπο συστάσεων, Friend Rec, με βάση τους φίλους, υπερισχύει η μέση τιμή του explanation style A. Τέλος, παρατηρούμε πως η τυπική απόκλιση και των τεσσάρων τύπων συστημάτων είναι μεγαλύτερη για το Β στυλ (σΒ), έναντι του Α, κάτι το οποίο δηλώνει μεγαλύτερη διασπορά στις τιμές των αξιολογήσεων των χρηστών. Κλείνοντας την ανάλυση του 3ου dataset, θα λέγαμε πως στηριζόμενοι στον εννοιολογικό περιεχόμενο των σχολίων των χρηστών, το explanation style A για την περίπτωση του Friend Rec υπερτερεί σημαντικά στις προτιμήσεις των χρηστών, έναντι του Β. Αυτό ουσιαστικά έρχεται σε αντίθεση με τα ευρήματα των δύο πρώτων dataset. Επίσης, αναφορικά με τα υπόλοιπα τρία συστήματα, ναι μεν το explanation style B δείχνει μια οριακή προτίμηση, έναντι του Α, με βάση τις αξιολογήσεις των χρηστών, ωστόσο αυτή η διαφορά μεταξύ των δύο επεξηγηματικών στυλ δεν είναι στατιστικά σημαντική.

172

173

Εγχειρίδιο Χρήσης

174 Ελληνικά (El)

Ι. Γενικά

Πέραν της ανάλυσης που έχει γίνει στο παρόν έργο όσο αναφορά το υπόβαθρο και τη δημιουργία της πρώτης μορφής του Geosocial (Κεφ. 1ο, εν. 1.5), όσο και της εξέλιξης του στην δοκιμαστική δεύτερη έκδοση του (Geosocial beta 2.0 – Κεφ. 2ο), κρίνεται σκόπιμο να δοθεί και να παρουσιαστεί, συμπληρωματικά, προς το χρήστη τούτο το εγχειρίδιο χρήσης. Σκοπός του παρόντος εγχειριδίου είναι να εξοικειώσει το χρήστη σχετικά με την πλοήγηση του στην ιστοθέση του Geosocial2 και τον τρόπο λειτουργίας αυτού του πρότυπου Συστήματος Συστάσεων σχετικά με νέους φίλους, μια τοποθεσία ή μία δραστηριότητα. Η ηλεκτρονική διεύθυνση αυτού του συστήματος είναι η ακόλουθη:

http://delab.csd.auth.gr/geosocial2

Ο χρήστης μπορεί να βρει την αντίστοιχη ακόλουθη πληροφόρηση, ακολουθώντας τον σύνδεσμο (link) «Instructions» που βρίσκεται στο κάτω μέρος κάθε σελίδας, τόσο στο στάδιο πριν την εισαγωγή του στο σύστημα, όσο και εκ των υστέρων. Το ηλεκτρονικό εγχειρίδιο οδηγιών βρίσκεται στον ακόλουθο σύνδεσμο:

http://delab.csd.auth.gr/geosocial2/scroller/diruser.html

Οι οδηγίες χρήσης έχουν αναρτηθεί μόνο στην Αγγλική γλώσσα καθότι θέλαμε να προσδώσουμε στο εγχείρημα μας ένα διεθνή χαρακτήρα. Οι οδηγίες χρήσεις στην Αγγλική, είναι πιο άμεσες και σύντομες, όπως λένε οι Άγγλοι “to the point”. Στα πλαίσια του έργου αυτού θα ακολουθήσει λεπτομερέστατη περιγραφή / παρουσίαση, μόνο, στην Ελληνική γλώσσα. Ωστόσο, αμέσως μετά παρουσιάζουμε τις οδηγίες χρήσεις που είναι αναρτημένες στον ιστότοπο, στην Αγγλική γλώσσα.

175 ΙΙ. Ορισμός / Λέξεις κλειδιά

Geosocial2: Πρότυπο κοινωνικό δίκτυο συστάσεων, κάνοντας χρήση location-based υπηρεσιών. Πρόκειται για ένα κοινωνικό δίκτυο, το οποίο δίνει τη δυνατότητα στο χρήστη να πραγματοποιεί check-ins σε προϋπάρχοντα σημεία ενδιαφέροντος (Point of Interest) ή να καταχωρεί νέα πάνω στο χάρτη. Εν συνεχεία, το σύστημα συστάσεων πραγματοποιεί συστάσεις σχετικά με έναν φίλο, μια τοποθεσία ή μια δραστηριότητα, λαμβάνοντας υπόψη τα check-in του χρήστη «ιστορικά».

Λέξεις κλειδιά: geosocial, geocoding, LBS, LBSN, social network, checkin, recommendation, friends, locations, places, POI, activities, categories, lat, long, map

ΙΙΙ. Περιγραφή

1. Περιβάλλον πριν την εισαγωγή του χρήστη στο σύστημα

Η πρώτη επαφή του χρήστη με τη σελίδα του Geosocial2 είναι η αρχική σελίδα flash, στην οποία φαίνεται ο τίτλος του project και εν συνεχεία πατώντας πάνω του, μεταφέρεται στην σελίδα εισαγωγής (Εικόνα ) των προσωπικών του στοιχείων, ώστε να πραγματοποιήσει εισαγωγή στο σύστημα. Στην σελίδα αυτή, προτείνεται στον χρήστη, για την καλύτερη και ποιοτικότερη πλοήγηση του στην ιστοσελίδα του Geosocial, να χρησιμοποιήσει τον φυλλομετρητή (browser) Google Chrome70.

70 Οι λόγοι για τους οποίους προτείνεται ο συγκεκριμένος φυλλομετρητή (browser) αναφέρονται διεξοδικά στο 3ο Μέρος του παρόντος έργου και σε καμία περίπτωση δεν υπάρχει κέρδος ή συμφωνία από τη χρήση του εν λόγω φυλλομετρητή.

176

Εικόνα 36. – Αρχική σελίδα Geosocial2

Αρχικά, ένας νέος επισκέπτης θα ήταν καλό να συμβουλευθεί τις οδηγίες χρήσης πατώντας στο link «Instructions». Ύστερα, θα πρέπει να ακολουθήσει το link της εγγραφής (register) νέου χρήστη, πατώντας πάνω στη λέξη «Register». Ο χρήστης θα μεταφερθεί στην παρακάτω σελίδα (Εικόνα 37.), όπου θα συναντήσει τη φόρμα εγγραφής νέου χρήστη. Όλα τα πεδία είναι απαραίτητα για την επιτυχή εγγραφή του στο σύστημα. Υπάρχει ειδική υπόδειξη, ποιο θα είναι το μελλοντικό Username του χρήστη και μερικά πεδία, όπως η ημερομηνία γεννήσεως, το φύλλο και η χώρα καταγωγής του, καθαρά για λόγους συγκέντρωσης δημογραφικών στοιχείων.

Εικόνα 37. – Φόρμα εγγραφής νέου χρήστη

177 Ο επισκέπτης έχει τη δυνατότητα να καθαρίσει τη φόρμα οποιαδήποτε στιγμή, πατώντας το κουμπί «Reset». Ακολούθως πατώντας το κουμπί «Register», εφόσον πραγματοποιηθεί επιτυχώς η εγγραφή, θα εμφανιστεί μια νέα σελίδα (Εικόνα 38.), όπου θα υποδεικνύει το Username και Password που καταχώρησε ο χρήστης, διαφορετικά ο χρήστης θα πάρει ένα μήνυμα λάθους στην οθόνη του. Στη συνέχεια υπάρχει ειδικό link που τον επιστρέφει στην σελίδα εισαγωγής των στοιχείων του.

Εικόνα 38. – Έλεγχος και εμφάνιση των στοιχείων εισαγωγής του νέου χρήστη Στην περίπτωση τώρα που ένας χρήστης δεν θυμάται τον προσωπικό του κωδικό, πατώντας στο link «forgot your password» μεταφέρεται στην σελίδα δημιουργίας νέου κωδικού (Εικόνα 39.). Εκεί του ζητείται να καταχωρήσει το email που συμπλήρωσε κατά τη διάρκεια της εγγραφής του και πατώντας το κουμπί «Recover», του αποστέλλεται από το σύστημα ένα link στο προσωπικό του email της μορφής http://delab.csd.auth.gr/geosocial2/recover.php?ID=93b459871c44d027179a1324382 a9f28c6d6529a

Εικόνα 39. - Φόρμα επαναφοράς χαμένου κωδικού

Πατώντας το link αυτό, ο χρήστης θα μεταφερθεί στην παρακάτω σελίδα (Εικόνα 40.), στην οποία βλέπει τα στοιχεία που αντιστοιχούν στο email71 που έδωσε και μπορεί να θέσει νέο κωδικό. Πατώντας το κουμπί «Submit», ο νέος κωδικός έχει καταχωρηθεί στο σύστημα (ΒΔ), ωστόσο δεν εμφανίζεται κάποιο σχετικό μήνυμα. Ο

71 Για ευνόητους λόγους έχουμε αποκρύψει το πεδίο του E-mail

178 χρήστης θα χρειαστεί να πατήσει το σύνδεσμο «Log In», ώστε να μεταφερθεί στην σελίδα εισαγωγής των στοιχείων του.

Εικόνα 40. – Φόρμα εισαγωγής νέου κωδικού

2. Εισαγωγή του χρήστη στο σύστημα

Στη συνέχεια ο χρήστης κάνει Log In για να εισέλθει στο σύστημα. Σε περίπτωση που ο συνδυασμός του Username και Password δεν είναι επιτυχής, ο χρήστης λαμβάνει σχετικό μήνυμα, διαφορετικά εισέρχεται στο περιβάλλον λειτουργίας του Geosocial2. Στο πάνω μέρος της σελίδας ο χρήστης βλέπει πάντα το menu (Εικόνα 41.). Πατώντας στην καρτέλα (tab) «Logout», εύλογα σημαίνει πως ο χρήστης θα αποσυνδεθεί από το κύριο περιβάλλον λειτουργίας του Geosocial2.

Εικόνα 41. – Header menu

Στο Geosocial2 υπάρχουν δυο τρόποι αναζήτησης. Ο πρώτος τρόπος οποίος είναι πιο απλός στη μέθοδο αναζήτησης και παρουσίασης χρηστών (Simple Search – method A)72 και ο δεύτερος τρόπος αναζήτησης Live Search (method B – Εικόνα

72 Για περισσότερες πληροφορίες ανατρέξτε στην υποενότητα 2.8 του παρόντος εγχειριδίου.

179 42.), ο οποίος στην εμφάνιση και μόνο, θυμίζει το αναδυόμενο μενού αναζήτησης που έχει ο διαδικτυακός ιστότοπος Facebook73. Καθώς ο χρήστης πληκτρολογεί ένα όνομα ή ένα email, δυναμικά του εμφανίζονται μέχρι και 5 χρήστες (maximum) οι οποίοι ταιριάζουν στη λέξη κλειδί της αναζήτησης. Πατώντας πάνω σ’ ένα από τα αποτελέσματα ο χρήστης θα μεταφερθεί κατευθείαν στο προσωπικό προφίλ (βλ. ενότητα 2.5.2) του νέου χρήστη.

Εικόνα 42. – Live Search

Στις καρτέλες «Check In / Add POI», «Friend Rec», «POI Rec», «Activity Rec» και «Activity History» στα αριστερά κάθε σελίδας (left bar) ο χρήστης μπορεί να ανεβάσει νέα εικόνα (add new image or overwrite) ή να διαγράψει αυτή που έχει (delete image). Επίσης, πατώντας το κουμπί , παρουσιάζεται στον χρήστη ένας χάρτης και πάνω σ’ αυτόν το σημείο από όπου λαμβάνει την ip του. Γι’ αυτό το λόγο υπάρχει το σχετικό μήνυμα «Find your approximate position». Κάτω από αυτό εμφανίζονται οι φίλοι που έχει ο κάθε χρήστης σε μικρογραφία, με δυνατότητα κλικ πάνω στην εικόνα τους και μεταφοράς στο προσωπικό τους προφίλ. Πατώντας ο χρήστης «add new image» μεταφέρεται σε μια νέα σελίδα στην οποία έχει τη δυνατότητα να επιλέξει μια εικόνα μέχρι 100Kb μέγεθος και αφού πατήσει «Upload Picture», βλέπει την εικόνα που ανέβασε σε προεπισκόπηση. Στη συνέχεια πατώντας «Go back» επανέρχεται στην αρχική σελίδα. Στην περίπτωση διαγραφής μιας εικόνας, ο χρήστης πατάει «delete image», παίρνει απαντητικό μήνυμα πως η εικόνα διεγράφει και γίνεται ανανέωση (refresh) στην σελίδα και επανέρχεται στην αρχική.

73 Σε καμιά περίπτωση δεν γίνεται λόγος για αντιγραφή ή παραποίηση ή έστω προσπάθεια σύγκρισης της εν λόγω υπηρεσίας με την αντίστοιχη του διαδικτυακού ιστότοπου Facebook. Οποιαδήποτε αναφορά γίνεται καθαρά για λόγους καλύτερης κατανόησης από τον χρήστη και μόνο.

180 2.1 Check-in / Add POI

2.1.1 Γενικά

Εν συνεχεία, στην αρχική σελίδα «Check In / Add POI», ο χρήστης βλέπει έναν χάρτη και πάνω από αυτόν μια μπάρα αναζήτησης με βάση την επιθυμητή διεύθυνση / τοποθεσία και τρία κουμπιά. Πληκτρολογώντας μια διεύθυνση ή τοποθεσία είτε με λατινικούς, είτε με ελληνικούς χαρακτήρες και πατώντας το κουμπί «Location Search», ο χρήστης θα μεταφερθεί πάνω στο χάρτη στο επιθυμητό σημείο.

Εικόνα 43. – Αναζήτηση οποιασδήποτε διεύθυνσης στο χάρτη & κουμπιά εμφάνισης ομαδοποιημένων POIs

Σε έναν νέο χρήστη, ο οποίος δεν έχει πραγματοποιήσει καμιά δραστηριότητα στο προφίλ του, ο χάρτης φορτώνει καθαρός (δίχως την υπόδειξη σημείων ενδιαφέροντος πάνω σ’ αυτόν) και ζουμάροντας σε προκαθορισμένες συντεταγμένες, εστιάζοντας στην πόλη της Θεσσαλονίκης74. Πατώντας το κουμπί “Show all POIs», η σελίδα ανανεώνεται και στο χάρτη εμφανίζονται όλα τα σημεία (places ή POI) στα οποία ο χρήστης μπορεί να πραγματοποιήσει Check-ins. Η πραγματοποίηση ενός Check-in μπορεί να γίνει είτε σ’ ένα προϋπάρχον στη ΒΔ σημείο ή με τη καταχώρηση ενός νέου. Η καταχώρηση ενός νέου σημείου στη ΒΔ, αυτόματα συνεπάγεται και Check-in στο σημείο αυτό, από την πλευρά του χρήστη. Στην περίπτωση που ο χρήστης έχει πραγματοποιήσει ήδη check-ins και φίλους, μπορεί να χρησιμοποιήσει τα άλλα δυο κουμπιά. Πατώντας το κουμπί «Show my friends’ POIs», η σελίδα ανανεώνεται και στον χάρτη εμφανίζονται τα σημεία στα οποίοι οι φίλοι του χρήστη έχουν πραγματοποιήσει check-ins. Τέλος, αν ο χρήστης βρίσκεται στην κατάσταση, όπου στον χάρτη εμφανίζονται όλα τα σημεία της ΒΔ ή τα σημεία στα οποία έχουν κάνει check-ins οι φίλου του, μπορεί να επανέλθει στην αρχική κατάσταση, είτε πατώντας πάνω στην αρχική καρτέλα «Check In / Add POI», είτε πατώντας το κουμπί «Show my POIs».

74 Η επιλογή αυτή έγινε στη βάση, ότι το project ανήκει σε ομάδα εργαστηρίου, η οποία υπάγεται στο Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης.

181 2.1.2 Check-in σε προϋπάρχον σημείο

Πατώντας αριστερό κλικ πάνω σε μια κουκίδα, εμφανίζεται ένα αναδυόμενο παράθυρο (pop up window – Εικόνα 44.), το οποίο εμπεριέχει πληροφορία για το σημείο ενδιαφέροντος, όπως το μοναδικό ID του, το όνομα του σημείου, τη διεύθυνση του, σε ποια κατηγορία ανήκει, τα συνολικά Checkins που έχουν γίνει σ’ αυτό στο σύνολο των χρηστών και το Μ.Ο. που προκύπτει από αυτά.

Εικόνα 44. – Pop-up Window πραγματοποίησης Check-In σε προϋπάρχον POI

Στη συνέχεια ο χρήστης καλείται να βαθμολογήσει το σημείο αυτό σε μια κλίμακα από το 1 έως το 5 (αντί για νούμερα, εμφανίζονται αστεράκια *) και τέλος να αφήσει ένα comment της αρεσκείας του με βάση την εμπειρία του από την πραγματοποίηση της συγκεκριμένης δραστηριότητας, ή την κατανάλωση μιας υπηρεσίας σ’ αυτό το μέρος ή της φυσικής του παρουσίας εκείνη τη χρονική στιγμή, στο παρελθόν ή στο μέλλον ως σημείο συνάντησης. Σε περίπτωση που το σημείο αυτό δεν τον ενδιαφέρει μπορεί να πατήσει το κουμπί «close» και στη συνέχεια να μεταφερθεί σε άλλο σημείο ή να προχωρήσει στην πραγματοποίηση του check-in, πατώντας το κουμπί «Check in now!». Ο χρήστης θα λάβει ένα ευχαριστήριο μήνυμα, στο οποίο πρέπει να πατήσει “ΟΚ” και στη συνέχεια θα κλείσει το παράθυρο και θα πραγματοποιηθεί ανανέωση στην αρχική σελίδα. Σ’ αυτή την περίπτωση θα φορτώσει ο χάρτης κεντράροντας και ζουμάροντας στο σημείο όπου έκανε check-in ο χρήστης. Αξίζει να σημειωθεί πως κάθε φορά που εισέρχεται ο χρήστης στο σύστημα, ο χάρτης φορτώνει κεντράροντας και ζουμάροντας πάντοτε στο τελευταίο check-in που έχει πραγματοποιηθεί από τον χρήστη.

182 2.1.3 Εισαγωγή νέου σημείου στη ΒΔ και ταυτόχρονα Check-in

Για τη εισαγωγή νέου σημείου στη ΒΔ είναι αυτονόητο πως ο χρήστης πρέπει να έχει μια συνολική εικόνα για τα σημεία που βρίσκονται στη ΒΔ και ιδιαίτερα στην περιοχή την οποία θέλει να εισάγει το νέο σημείο. Γι’ αυτό το λόγο ο χρήστης χρειάζεται να πατήσει το κουμπί «Show all POIs» και στη συνέχεια μεγεθύνοντας τον χάρτη (zoom in) να πλοηγηθεί στην τοποθεσία που τον ενδιαφέρει. Στη συνέχεια ο χρήστης πραγματοποιεί δεξί κλικ πάνω στο χάρτη στο σημείο που θέλει για να εισάγει το νέο σημείο. Για την εισαγωγή ενός νέου σημείου (new POI) είναι απαραίτητο από πλευράς του χρήστη να πραγματοποιήσει αρκετό zoom in, ούτως ώστε η κουκίδα που θα υποδεικνύει το νέο σημείο να βρίσκεται όσο το δυνατόν πλησιέστερα στην πραγματική φυσική θέση του σημείου, προς αποφυγήν του λάθους της εικόνας 45. Εικόνα 45 – Εσφαλμένο POI

Πατώντας δεξί κλικ πάνω στο χάρτη, λοιπόν, εμφανίζεται ένα αναδυόμενο παράθυρο (pop up window – Εικόνα 46.). Ο χρήστης παίρνει αυτόματα την πληροφορία των συντεταγμένων των σημείων και την ακριβή διεύθυνση του σημείου.

Εικόνα 46. – Pop-up Window εισαγωγής νέου POI στο χάρτη/ΒΔ και ταυτόχρονη πραγματοποίηση Check-In σ’ αυτό

183 Στην συνέχεια καλείται να συμπληρώσει ένα όνομα για το σημείο αυτό, να το βαθμολογήσει, να επιλέξει την δραστηριότητα στην οποία ανήκει το σημείο ή τη δραστηριότητα στην προέυει ο χρήστης, την πόλη στην οποία βρίσκεται και να αφήσει ένα σχόλιο για το σημείο αυτό. Ακολούθως με τη διαδικασία του check-in σε προϋπάρχον σημείο, ο χρήστης είτε μπορεί να κλείσει το παράθυρο, σε περίπτωση που αντιληφθεί πως η διεύθυνση του σημείου δεν είναι σωστή και θα ήθελε να το διορθώσει πατώντας δεξί κλικ σε άλλο σημείο του χάρτη, είτε να πατήσει το κουμπί «Check in now!» και να ολοκληρώσει τη διαδικασία εισαγωγής νέου σημείου. Παρομοίως και σ’ αυτή την περίπτωση, θα εμφανιστεί ένα ευχαριστήριο μήνυμα, στο οποίο ο χρήστης πρέπει να πατήσει “OK” και εν συνεχεία η σελίδα θα ανανεωθεί. Και σ’ αυτή την περίπτωση θα φορτώσει ο χάρτης κεντράροντας και ζουμάροντας στο σημείο όπου έκανε check-in ο χρήστης.

2.2 Friend Rec – Τύπος συστάσεων φιλίας

Ο χρήστης θα ανατρέξει σ’ αυτή την καρτέλα με σκοπό να πάρει συστάσεις από το σύστημα σχετικά με νέους φίλους, με βάση δυο διαφορετικά στυλ επεξηγήσεων (explanation styles), τα οποία θα αναλύσουμε στη συνέχεια.

2.2.1 Explanation Style A – Κοινοί φίλοι

Στον πρώτο πίνακα Α (Εικόνα 47.), ο τύπος συστάσεων φιλίας προτείνει στο χρήστη πιθανούς φίλους, τους οποίους μπορεί να γνωρίζει, με βάση τους κοινούς φίλους που έχει αυτός (ο χρήστης) με το άτομο το οποίο του προτείνεται. Ο πίνακας εμφανίζει πάντα 5 εγγραφές (5 πιθανούς φίλους) και τους ταξινομεί ιεραρχικά με βάση το πλήθος των κοινών φίλων. Ο πίνακας εμπεριέχει την πληροφορία του username, lastname, email, την εικόνα του χρήστη (που προτείνει), τη δυνατότητα να τον προσθέσει ο χρήστης ως φίλος και φυσικά το πλήθος των κοινών φίλων που έχουν μεταξύ τους. Πατώντας το κουμπί «add» βγαίνει μήνυμα επιβεβαίωσης, ύστερα γίνεται αυτόματα ανανέωση και φορτώνει η αρχική σελίδα, στην οποία φαίνεται ότι πλέον είναι φίλοι. Για ευνόητους λόγους στην εικόνα που ακολουθεί, έχουμε αποκρύψει την στήλη με το email του χρήστη.

184

Εικόνα 47. - Εμφάνιση συστάσεων φιλίας με βάση τους κοινούς φίλους

Στο παράδειγμα μας, το σύστημα προτείνει ως πρώτη επιλογή τον χρήστη “Athina”, γιατί έχει δύο (2) κοινούς φίλους, έναντι των άλλων δύο που έχουν από ένα κοινό φίλο.

2.2.2 Explanation Style Β – Σύσταση φίλων μέσα από μονοπάτια μήκους 3

Σ’ αυτόν τον τρόπο σύστασης φίλων είναι άκρως σημαντικό να γίνει κατανοητό από τη μεριά του χρήστη, στα πλαίσια του εγχειρίδιου αυτού, ότι το σύστημα (ο αλγόριθμος) εισχωρεί βαθύτερα στην πληροφορία και εμφανίζει μια πιο λεπτομερή πρόταση σχετικά με το πώς οδηγείται στον χρήστη τον οποίο του προτείνει ως μελλοντικό φίλο. Ο πίνακας Β (Εικόνα 48.) εμπεριέχει αντίστοιχα την πληροφορία του username, lastname, email, την εικόνα του χρήστη (που προτείνει) συν την απεικόνιση του μονοπατιού / μονοπατιών που ακολούθησε ο αλγόριθμος για να φτάσει στον προτεινόμενο φίλο/χρήστη, καθώς και το πλήθος αυτών (των μονοπατιών). Ο αλγόριθμος σ’ αυτή τη περίπτωση διατρέχει το δίκτυο φίλων και αναζητεί μονοπάτια μήκους 3 μεταξύ αυτών (βλ. Κεφ. 2ο, ενότητα 2.5.1.2)

185

Εικόνα 48. - Εμφάνιση των μονοπατιών/συστάσεων φιλίας μήκους-ℓ =3

Στο παράδειγμα μας, το σύστημα προτείνει δύο (2) χρήστες οι οποίοι συνδέονται με τον αρχικό χρήστη (demo demo) μ’ ένα (1) μόνο μονοπάτι. Στην πρώτη περίπτωση η πληροφορία που εξάγει ο χρήστης είναι ότι από τον εαυτό του (demo demo) οδηγείται στον χρήστη «Ersie Almp», έπειτα στον χρήστη «Christos Andras» και καταλήγει να του προτείνει τον χρήστη «Anastasia Kal». Είναι εύλογο ότι σ’ αυτή την περίπτωση ο χρήσης είναι ήδη φίλος με τον χρήστη «Ersie Almp», όχι όμως απαραίτητα με τον χρήστη «Christos Andras». Ωστόσο, αυτό αυτόματα συνεπάγεται (επιπλέον πληροφορία, μονοπάτι μήκους 2) ότι και αυτός ο χρήστης θα μπορούσε να γίνει φίλος με τον αρχικό χρήστη (βλ. Κεφ. 2ο, ενότητα 2.5.1.2).

2.3 POI Rec – Τύπος συστάσεων τοποθεσιών με βάση την δραστηριότητα

Ο χρήστης θα ανατρέξει σ’ αυτή την καρτέλα με σκοπό να πάρει συστάσεις από το σύστημα σχετικά με μια δραστηριότητα, σε μια περιοχή. Το σύστημα του επιτρέπει να εισάγει τον συνδυασμό περιοχή – δραστηριότητα, όπως φαίνεται στην παρακάτω εικόνα.

Εικόνα 49. - Επιλογή συνδυασμού τοποθεσίας και δραστηριότητας

186 Ως αποτέλεσμα το σύστημα εμφανίζει δύο διαφορετικούς πίνακες (Α & Β), οι οποίοι αντιστοιχούν σε δύο διαφορετικά explanation style. Ο πίνακας Β εμφανίζεται μονάχα στην περίπτωση, όπου ο χρήστης έχει φίλους και αυτοί έχουν πραγματοποιήσει checki-ns τα οποία ανήκουν στην δραστηριότητα και στην τοποθεσία που έχουν επιλεγεί. Διαφορετικά πάντα εμφανίζεται ο πίνακα Α.

2.3.1 Explanation Style A – Με βάση το σύνολο των χρηστών

Στην περίπτωση του πίνακα Α, το σύστημα προτείνει σημεία ενδιαφέροντος (POIs) τα οποία ανήκουν στην δραστηριότητα/κατηγορία την οποία είχε επιλέξει, τα παρουσιάζει πάνω στο χάρτη και εμφανίζει i) το όνομα του σημείου, ii) τη διεύθυνση του, iii) τα συνολικά check-ins που έχουν γίνει στο σημείο αυτό από το σύνολο των χρηστών του Geosocial2, iv) τον Μ.Ο. που προκύπτει για κάθε σημείο από τις βαθμολογίες των χρηστών που έκαναν check-in στο σημείο αυτό και τέλος, v) δίνεται η δυνατότητα μετακίνησης του χρήστη στο κάθε σημείο με το κουμπί «Move!». Σ’ αυτή την περίπτωση, ο χάρτης κεντράρει στο σημείο αυτό.

Εικόνα 50. – Εμφάνιση των συστάσεων τοποθεσιών με βάση τη δραστηριότητα, στο σύνολο των χρηστών

187 Στο παράδειγμα μας, στο πρώτο σημείο «BRISTOL» έχουν πραγματοποιηθεί 7 check-ins στο σύνολο των χρηστών και από τις βαθμολογίες που δόθηκαν σ’ αυτά τα check-ins προκύπτει, ότι ο Μ.Ο. είναι 4.2857. Αντίστοιχα, τα επόμενα δύο σημεία έχουν στο σύνολο 6 check-ins ωστόσο το σύστημα εμφανίζει ιεραρχικά τις συστάσεις πρώτα με βάση το σύνολο των check-ins και ύστερα με βάση το Μ.Ο. αξιολόγησης που έχουν. Γι’ αυτό το λόγο το σημείο «BERLIN» υπερτερεί (3.5) έναντι του σημείου «ART HOUSE» με 3.

2.3.2 Explanation Style Β – Με βάση τις προτιμήσεις των φίλων του χρήστη

Όπως και στην περίπτωση του πίνακα Α, έτσι και στον πίνακα Β το σύστημα προτείνει σημεία ενδιαφέροντος (POIs) τα οποία ανήκουν στην δραστηριότητα/κατηγορία την οποία είχε επιλέξει αρχικά ο χρήστης. Ωστόσο, σ’ αυτή την περίπτωση τα σημεία που προτείνονται βασίζονται στις προτιμήσεις των φίλων του. Είναι σημαντικό να κατανοήσει ο επίδοξος χρήστης του Geosocial2 πως ενώ ένα σημείο μπορεί να είναι αρεστό στο σύνολο των χρηστών, ωστόσο με βάση τα ιδία ενδιαφέροντα του και των φίλων του, αυτό το σημείο να μην προτιμάτε. Αυτό σημαίνει ότι τα αποτελέσματα των δυο πινάκων όσο αναφορά την ιεραρχική κατάταξη των σημείων μπορεί να μην είναι πάντα ίδια. Για παράδειγμα το 1ο σημείο του πίνακα Α να έχει στο σύνολο των χρηστών 10 check-ins, ωστόσο οι φίλοι του χρήστη να έχουν πραγματοποιήσει μονάχα 1 ή και κανένα check-in στο σημείο αυτό. Αντίστοιχα, η πληροφορία που εμπεριέχει ο πίνακας Β είναι: i) το όνομα του σημείου, ii) η διεύθυνση του, iii) τα συνολικά check-ins που έχουν γίνει στο σημείο αυτό από το σύνολο των φίλων του και μόνο, iv) τον Μ.Ο. που προκύπτει για κάθε σημείο από τις βαθμολογίες των φίλων του που έκαναν check-in στο σημείο αυτό και τέλος, v) δίνεται η δυνατότητα μετακίνησης του χρήστη στο κάθε σημείο με το κουμπί «Move!». Σ’ αυτή την περίπτωση, ο χάρτης κεντράρει στο σημείο αυτό.

188

Εικόνα 51. - Εμφάνιση των συστάσεων τοποθεσιών με βάση τη δραστηριότητα, λαμβάνοντας υπόψη μόνο τους φίλους ενός χρήστη

Στο παράδειγμα μας, η κατάταξη των σημείων ιεραρχικά δεν έχει αλλάξει, ωστόσο βλέπουμε ότι αλλάζει το πλήθος των check-ins ανά σημείο και φυσικά έχουν διαφορετικό Μ.Ο. με βάση τις προτιμήσεις, την εμπειρία και τη γνώμη των φίλων του χρήστη.

2.4 Activity Rec – Τύπος συστάσεων δραστηριοτήτων με βάση την τοποθεσία

Ο χρήστης θα ανατρέξει σ’ αυτή την καρτέλα με σκοπό να πάρει συστάσεις για διάφορες δραστηριότητες, οι οποίες ανήκουν σε μια τοποθεσία. Ο χρήστης δεν έχει παρά να επιλέξει μία από τις ήδη καταχωρημένες τοποθεσίες στο σύστημα και να πατήσει το κουμπί «Select!», όπως φαίνεται στην παρακάτω εικόνα.

Εικόνα 52. - Επιλογή της τοποθεσίας από το χρήστη

Και σ’ αυτή την περίπτωση, εφόσον ο χρήστης έχει φίλους και αυτοί έχουν κάνει check-ins στην τοποθεσία που επιλέγει ο χρήστης, τότε θα εμφανιστούμε και οι δύο πίνακες Α και Β. Διαφορετικά πάντα εμφανίζεται ο πίνακα Α.

189 2.4.1 Explanation Style A – Με βάση το σύνολο των χρηστών

Ο πίνακας Α (Εικόνα 53.), όπως βλέπουμε στην παρακάτω εικόνα, προτείνει σημεία ενδιαφέροντος δραστηριοτήτων με βάση την τοποθεσία στην οποία ανήκουν και τα ταξινομεί ιεραρχικά με βάση το πλήθος των check-ins που έχουν πραγματοποιηθεί στο σύνολο των χρηστών και αντίστοιχα δείχνει τον Μ.Ο. αξιολόγησης του εκάστοτε σημείου από τα check-ins αυτά.

Εικόνα 53. - Εμφάνιση των συστάσεων δραστηριοτήτων με βάση την τοποθεσία, στο σύνολο των χρηστών

2.4.2 Explanation Style Β – Με βάση τις προτιμήσεις των φίλων του χρήστη

Αντίστοιχα, ο πίνακας Β (Εικόνα 54.) προτείνει σημεία ενδιαφέροντος δραστηριοτήτων με βάση την τοποθεσία στην οποία ανήκουν και τα ταξινομεί ιεραρχικά με βάση το πλήθος των check-ins που έχουν πραγματοποιηθεί από τους φίλους του χρήστη και αντίστοιχα δείχνει τον Μ.Ο. αξιολόγησης του εκάστοτε σημείου από τα check-ins αυτά. Αξίζει να σημειωθεί εδώ πως, σε αντίθεση με το παράδειγμα της σύστασης σημείων ενδιαφέροντος (POIs) με βάση την δραστηριότητα (βλ. ενότητα 2.3.2), σ’ αυτή την περίπτωση οι λίστες των δύο πινάκων διαφέρουν.

190

Εικόνα 54. - Εμφάνιση των συστάσεων δραστηριοτήτων με βάση την τοποθεσία, λαμβάνοντας υπόψη μόνο τους φίλους ενός χρήστη

Ποιο αναλυτικά, ενώ στον πίνακα Α (στο σύνολο των χρηστών) το σημείο «White Tower» το οποίο ανήκει στην δραστηριότητα «Sight-seeing» βρίσκεται στη 1η θέση με τα περισσότερα check-ins, αυτό αλλάζει στον πίνακα Β (με βάση τους φίλους του χρήστη), πέφτοντας στη 2η θέση. Επιπρόσθετα, η αξιολόγηση του σημείου «White Tower» είναι χαμηλότερη με βάση τη γνώμη των φίλων του χρήστη, έναντι του συνόλου, ενώ αντίστοιχα η αξιολόγηση του σημείου «Aristotelous Square» είναι μεγαλύτερη, έναντι του συνόλου. Τέλος, πατώντας ο χρήστης αριστερό κλικ πάνω σε οποιαδήποτε κουκκίδα, ανοίγει ένα παράθυρο με βασικές πληροφορίες για το σημείο αυτό. Εικόνα 55. - InfoWindow

191 2.5 Το προφίλ ενός χρήστη

2.5.1 Το προσωπικό προφίλ ενός χρήστη

Κάθε χρήστης μπορεί να μεταβεί στο προσωπικό του προφίλ πατώντας πάνω στην προσωπική του φωτογραφία. Αμέσως θα ανοίξει μια νέα σελίδα όπου στην αριστερή μπάρα θα εμφανιστούν τα προσωπικά του στοιχεία. Δίνεται η δυνατότητα στον χρήστη να αλλάξει τα προσωπικά του στοιχεία και να ορίσει νέα. Για να γίνει αυτό, απαραίτητα, πρέπει να συμπληρώσει τον προσωπικό του κωδικό στα πεδία «Password» και «Confirm Password» και στην συνέχεια να πατήσει το κουμπί «Submit». Αυτόματα θα εμφανιστούν οι αλλαγές στα ίδια πεδία και θα εμφανιστεί η ημερομηνία και ώρα που έγινε η ανανέωση των στοιχείων (Update). Επίσης, ο χρήστης εφόσον το θέλει μπορεί να καταχωρήσει τη διεύθυνση του, ούτως ώστε να χρησιμοποιήσει την υπηρεσία «Get Directions», που θα περιγράψουμε παρακάτω. Στα δεξιά της στήλης με τις προσωπικές του πληροφορίες ο χρήστης αντικρίζει την εικόνα του και στα δεξιά της έχει τη δυνατότητα να εισάγει ένα μικρό “Status” και να γράψει λίγα λόγια για τον ίδιο «About me». Στο κάτω μέρος φαίνονται οι φίλοι του και το κουμπί «Add friends».

Εικόνα 56. – Η καρτέλα Προφίλ ενός χρήστη

192 2.5.2 Το προφίλ άλλων χρηστών

Πατώντας πάνω στην εικόνα ενός φίλου του (Εικόνα 56.), θα μεταβεί στο προφίλ του φίλου του, όπου εκεί ο χρήστης έχει τη δυνατότητα να δει κάποιες από τις πληροφορίες του χρήστη, το “Status” και το αντίστοιχο “About me”, καθώς και τους φίλους του φίλου του. Για ευνόητους λόγους τα στοιχεία αυτά δεν μπορεί να τα πειράξει ο χρήστης και επίσης δεν φαίνεται η πληροφορία σχετικά με τη διεύθυνση του φίλου του. Επιπρόσθετα δίνεται η δυνατότητα στον χρήστη να διαγράψει ή να προσθέσει έναν χρήστη, ανάλογα με το αν είναι ήδη φίλοι ή όχι, εμφανίζοντας σχετικό μήνυμα κάθε φορά, όπως αυτό στην ακόλουθη εικόνα.

Εικόνα 57. – Δυνατότητα διαγραφής ενός χρήστη από τη λίστα των φίλων του

Τέλος, κάθε φορά ο χρήστης, είτε στο δικό του προφίλ, είτε στο προφίλ των άλλων χρηστών μπορεί να δει τα τελευταία δέκα check-ins (Εικόνα 58.) που έχουν πραγματοποιηθεί, βλέποντας την αξιολόγηση κάθε σημείου και το σχόλιο που το συνοδεύει. Μ’ αυτό τον τρόπο ο κάθε χρήσης μπορεί να διαπιστώσει αν έχει κοινά ενδιαφέροντα με τους υπόλοιπους χρήστες, σχετικά με μια δραστηριότητα ή μια τοποθεσία.

Εικόνα 58. – Εμφάνιση των τελευταίων 10 Check-ins που έχει πραγματοποιήσει ένας χρήστης

193 2.6 Activity History – Το ιστορικό αρχείο των check-ins ενός χρήστη

Η χρησιμότητα αυτής της καρτέλας έγκειται στο γεγονός, ότι αποτελεί ένα ιστορικό αρχείο καταγραφής των check-ins που πραγματοποιεί ο χρήστης. Στην περίπτωση που ένας χρήστης δεν έχει πραγματοποιήσει κανένα check-in μέχρι στιγμής, ο χάρτης που φορτώνει είναι καθαρός από σημεία. Διαφορετικά ο χάρτης φορτώνει πάντα κεντραρισμένος στο τελευταίο check-in που έχει πραγματοποιηθεί από τον χρήστη. Επιπρόσθετα δίνεται η δυνατότητα στον χρήστη να πραγματοποιήσει Check- in και από αυτή την σελίδα. Σε αντίθεση με την αρχική σελίδα «Check In / Add POI» της ενότητας 2.1, όπου ο χρήστης πλοηγείται διαδραστικά πάνω στο χάρτη και στα διάφορα σημεία της ΒΔ, σ’ αυτή την σελίδα ο χρήστης μπορεί να πραγματοποιήσει check-in χρησιμοποιώντας στατικά drop-down menus (Εικόνα 59.).

Εικόνα 59. – Απλός τρόπος πραγματοποίησης Check-in με τη χρήση drop down menus Ο χρήστης αρχικά επιλέγει την χώρα που επιθυμεί, ύστερα την πόλη και ύστερα το σημείο το οποίο θέλει να βαθμολογήσει και να σχολιάσει. Και στις τρεις αυτές επιλογές, κάθε φορά η σελίδα ανανεώνεται. Μόλις ο χρήστης επιλέξει το σημείο που θέλει, η σελίδα ανανεώνεται πάλι και εμφανίζεται αυτόματα η διεύθυνση του σημείου. Στη συνέχεια ο χρήστης καλείται να αξιολογήσει το σημείο, να επιλέξει τη δραστηριότητα στην οποία ανήκει ή την οποία πραγματοποίησε και να αφήσει ένα μικρό σχόλιο. Στην συνέχεια πατώντας το κουμπί «Check in now!», η σελίδα ανανεώνεται και η διαδικασία του check-in ολοκληρώνεται, καθώς εμφανίζεται μια κουκκίδα στο χάρτη στο σημείο που επέλεξε ο χρήστης.

194

Εικόνα 60. – Παρουσίαση των Check-ins που έχουν πραγματοποιηθεί από τον ίδιο το χρήστη

Στην παραπάνω εικόνα, βλέπουμε πως παρουσιάζονται στον χρήστη, τα check-ins που έχει πραγματοποιήσει. Ο πίνακας δείχνει, την τοποθεσία, την ονομασία και τη διεύθυνση του σημείου. Ακολούθως, την κατηγορία στην οποία ανήκει, τη βαθμολογία που του έχει βάλει, την ημερομηνία πραγματοποίησης του check-in, το σχόλιο που είχε αφήσει, η δυνατότητα του να σβήσει κάποιο από τα check-in που έχει πραγματοποιήσει, καθώς και να μετακινηθεί πάνω στο χάρτη διαδραστικά με το κουμπί «Move!». Τέλος, σ’ αυτή την σελίδα ο χρήστης συναντά την υπηρεσία «Get Directions» (Εικόνα 61.). Ο χρήστης αφού έχει συμπληρώσει την διεύθυνση του στις αντίστοιχες πληροφορίες του (ενότητα 2.5, εικόνα ), μπορεί να κάνει χρήση αυτής της υπηρεσίας. Πληκτρολογώντας, τη διεύθυνση της αρεσκείας του και πατώντας το κουμπί «Get directions» (Εικόνα ), οδηγείται αυτόματα σε μια σελίδα υπηρεσιών της Google, όπου του εμφανίζει οδηγίες για το πώς θα φτάσει στο σημείο, έχοντας ως αφετηρία το σημείο που έθεσε ως διεύθυνση του.

Εικόνα 61. – Υπηρεσία «Get Directions»

195 2.7 POI Navigator – Πλοήγηση του χρήστη διαδραστικά σε όλα τα σημεία της ΒΔ και εμφάνιση των σχολίων και της βαθμολογίας κάθε σημείου

Στην καρτέλα αυτή, ο χρήστης μπορεί να πλοηγηθεί σε όλα τα σημεία που είναι καταχωρημένα στη ΒΔ, με ένα διαδραστικό τρόπο πάνω στο χάρτη. Στην αριστερή στήλη ο χρήστης χρησιμοποιώντας τα βέλη «Up» και «Down» (Εικόνα 62), μπορεί να διατρέξει όλα τα σημεία ενδιαφέροντος. Μετατοπίζοντας τον κέρσορα πάνω από το όνομα ενός σημείου, αυτόματα ο χάρτης κεντράρει στο σημείο αυτό. Επίσης, σε κάθε σημείο ενδιαφέροντος εμφανίζεται η κατηγορία στην οποία ανήκει, τα συνολικά check-ins (total votes) που έχουν γίνει σ’ αυτό και ο Μ.Ο. της αξιολόγησης, στο σύνολο των χρηστών.

Εικόνα 62. – POI Navigator

Στο παράδειγμα της εικόνας 62., ο χάρτης κεντράρει στο σημείο «Palaia Gefira Evripou (Phenomenon of Tides)», όπου ο χρήστης βλέπει πως το σημείο αυτό ανήκει στην κατηγορία «Sight-seeing» και σε σύνολο 7 check-ins (votes), έχει Μ.Ο. αξιολόγησης 4.1429. Στα σημεία στα οποία δεν έχει πραγματοποιηθεί κανένα check- in μέχρι στιγμής, δεν εμφανίζεται η αντίστοιχη πληροφορία του συνόλου των check- ins και του Μ.Ο..

196 Στα δεξιά του χάρτη, ο χρήστης μπορεί να δει την αριστερή στήλη75 με τα σχόλια που έχουν γράψει οι χρήστες, οι οποίοι έχουν πραγματοποιήσει check-in σ’ ένα σημείο, καθώς και την προσωπική βαθμολογία που έδωσαν. Για να γίνει πιο κατανοητό θα χρησιμοποιήσουμε το παράδειγμα της εικόνας . Σ’ αυτή την περίπτωση είπαμε πως έχουν πραγματοποιηθεί συνολικά 7 check- ins στο σημείο αυτό. Ο χρήστης μπορεί να διαβάσει το σχόλιο που έχει αφήσει ο κάθε χρήστης, καθώς και την προσωπική του αξιολόγηση. Ο μέσος όρος των προσωπικών αξιολογήσεων της εικόνας , μας δίνει το Μ.Ο. 4.1429 της εικόνας . Ακόμα και αν κάποιος χρήστης δεν έχει αφήσει σχόλιο σ’ ένα σημείο, παρ’ όλα αυτά εμφανίζεται η προσωπική αξιολόγηση που έδωσε. Μ’ αυτόν τον τρόπο ο χρήστης έχει όλη την πληροφορία που χρειάζεται σε μια σελίδα.

2.8 Simple Search

Στο εισαγωγικό κομμάτι της ενότητας 2. του παρόντος εγχειριδίου έγινε λόγος για δύο μεθόδους αναζήτησης. Στην παρούσα ενότητα θα περιγράψουμε τη απλή μέθοδο αναζήτησης (Simple Search – method A). Ο χρήστης μπορεί να μεταβεί στην αντίστοιχη σελίδα αναζήτησης πατώντας το κουμπί , το οποίο θα βρει σε αρκετές σελίδες μέσα στο website. Στην σελίδα αυτή, ο χρήστης αντικρίζει ένα εισαγωγικό κειμενάκι, το οποίο αναφέρει τα δύο είδη αναζητήσεων και κατόπιν την μπάρα αναζήτησης. Αξίζει να σημειωθεί πως, μόνο, στην περίπτωση αυτής σελίδας, η μπάρα αναζήτησης που βρίσκεται πάνω

75 Για ευνόητους λόγους έχουμε αποκρύψει μερικώς τα στοιχεία των χρηστών της εικόνας

197 και δεξιά της σελίδας, αποτελεί και αυτή την απλή μέθοδο αναζήτησης. Με άλλα λόγια, στην σελίδα αυτή και οι δύο μπάρες αναζήτησης αντιπροσωπεύουν την απλή μέθοδο (method A). Πληκτρολογώντας έναν οποιοδήποτε χαρακτήρα στην μπάρα αναζήτησης και πατώντας το κουμπί «Search», ο χρήστης λαμβάνει τα αποτελέσματα αναζήτησης στη μορφή της εικόνας . Η μπάρα αναζήτησης συνεχίζει να εμφανίζεται στον χρήστη σε περίπτωση που θέλει εκ νέου να πραγματοποιήσει μια αναζήτηση. Στον πίνακα εμφάνισης αποτελεσμάτων, εμφανίζονται μέχρι και πέντε εγγραφές (5) / αποτελέσματα ανά σελίδα εμφάνισης αποτελεσμάτων, ανάλογα με τη λέξη κλειδί με την οποία πραγματοποιήθηκε η αναζήτηση. Στο κάτω μέρος των αποτελεσμάτων εμφανίζεται το σύνολο των σελίδων και ανάλογα, ο χρήστης μπορεί να διατρέξει σε όλα τα αποτελέσματα της αναζήτησης. Στο παράδειγμα μας επίτηδες εμφανίσαμε μόνο τον χρήστη «demo».

Εικόνα 63. – Αποτελέσματα αναζήτησης χρηστών (Simple Search)

Μέσω αυτού του τρόπου ο χρήστης δεν έχει τη δυνατότητα να μεταβεί στο προσωπικό προφίλ (βλ. ενότητα 2.5.2) ενός χρήστη, επομένως δεν μπορεί να πάρει όλη την πληροφορία που χρειάζεται σχετικά με τις προτιμήσεις του γι’ αυτόν. Τέλος, αν ο χρήστης θέλει να γίνει “φίλος” με τον χρήστη «demo», δεν έχει παρά να πατήσει στο κουμπί «add». Στη συνέχεια θα εμφανιστεί μια σελίδα με το απαντητικό μήνυμα “You added that user as a friend” και έπειτα η σελίδα θα ανανεωθεί αυτόματα και θα εμφανιστεί η αρχικά σελίδα (βλ. ενότητα 2.1). Σε περίπτωση που ο χρήστης θέλει να κάνει και άλλους φίλους μέσω της απλής μεθόδου αναζήτησης, δεν έχει παρά να ακολουθήσει την ίδια διαδικασία.

198 IV. Σχόλια – Σημαντικές παρατηρήσεις

1. Σχόλια

Κλείνοντας τούτο το εγχειρίδιο χρήσης αξίζει να επισημανθεί για ακόμα μια φορά πως το project Geosocial2 βρίσκεται σε δοκιμαστική έκδοση (beta 2.0). Στόχος ήταν και παραμένει η δημιουργία ενός πρότυπου Συστήματος Συστάσεων χρησιμοποιώντας location-based υπηρεσίες (βλ. ενότητα 1.4 του παρόντος έργου). Η 1η έκδοση του Geosocial είχε αρκετές ελλείψεις βασικών λειτουργιών ενός κοινωνικού δικτύου (βλ. μέρος 3ο του παρόντος έργου), γι’ αυτό το λόγο και δεν υπήρχε κάποιο εγχειρίδιο χρήσης. Καθώς το Geosocial αναπτύχθηκε στη 2η μορφή του και το σύστημα συστάσεων του έγινε ποιο περίπλοκο, αναδύθηκε η ανάγκη συγγραφής του παρόντος εγχειριδίου. Το Σύστημα Συστάσεων (Recommender System) του Geosocial2, παρουσιάστηκε αναλυτικά στις ενότητες 2.2, 2.3 και 2.4. Απώτερος στόχος του project αυτού ήταν να μετρηθεί η προτίμηση των χρηστών ανάμεσα στα δύο διαφορετικά explanation styles που περιγράψαμε σ’ αυτές τις ενότητες. Για το λόγο αυτό σε κάθε μία από αυτές τις σελίδες, καθώς και στην σελίδα της απλής μεθόδου αναζήτησης, ο χρήστης θα αντικρίσει φόρμες αξιολόγησης76 στις οποίες του ζητάμε να αποτυπώσει τις προτιμήσεις του σχετικά με αυτά τα δύο explanation styles. Είναι σημαντικό να κατανοήσει ο μελλοντικός χρήστης, πως το explanation style B εισχωρεί και εμφανίζει περισσότερη πληροφορία, βασιζόμενο στις προτιμήσεις των φίλων του χρήστη, έναντι του explanation style A, που βασίζεται στο σύνολο των χρηστών. Επιπρόσθετα, για οποιαδήποτε παρατήρηση, μελλοντική χρήση, πρόβλημα, βοήθεια ή τεχνική υποστήριξη κατά την πλοήγηση σας, μην διστάσετε να επικοινωνήσετε με τον διαχειριστή του website. Τέλος, παρακαλούμε να διαβάσετε τις σημαντικές παρατηρήσεις που ακολουθούν.

Επικοινωνία: [email protected] (Geosocial2 admin)

76 Για τον τρόπο αξιολόγησης του συστήματος συστάσεων και τα αποτελέσματα αυτής ανατρέξτε στο 4ο μέρος του παρόντος έργου, όπου υπάρχει εκτενής αναφορά στη μελέτη χρηστών (User Study).

199 2. Οδηγίες χρηστών για την πραγματοποίηση της αξιολόγησης

Κρίναμε σκόπιμο να εισάγουμε το νέο χρήστη σιγά-σιγά στις υπηρεσίες μας, ώστε να εξοικειωθεί, κυρίως, με τη φιλοσοφία αυτού του project, αλλά και με το περιβάλλον του (layout, καρτέλες, υπηρεσίες κτλ.). Γι’ αυτό το λόγο ζητήσαμε από όλους τους χρήστες, οι οποίοι αξιολογήσανε τις υπηρεσίες του Geosocial, αρχικά να διαβάσουν τις ακόλουθες οδηγίες:

ΠΡΩΤΑ ΒΗΜΑΤΑ

“Αρχικά, μπες στην ιστοθέση http://delab.csd.auth.gr/geosocial2 (είναι προτιμότερο να χρησιμοποιήσεις τον φυλλομετρητή (browser) Google Chrome. Στη συνέχεια, στην περίπτωση που δεν είσαι ήδη χρήστης του Geosocial2 πραγματοποίησε εγγραφή (register) νέου χρήστη, διαφορετικά συμπλήρωσε το προσωπικό σου Username & Password και κάνε Log In. Αν για οποιοδήποτε λόγο έχεις ξεχάσει / χάσει τον προσωπικό σου κωδικό (Password), ακολούθα την διαδικασία επαναφοράς κωδικού «forgot your password. Αν συναντήσεις οπουδήποτε πρόβλημα, μου το αναφέρεις επί τόπου και το επιλύουμε βήμα-βήμα. Αφού έχεις πραγματοποιήσει Log in και σου έχει εμφανίσει την αρχική σελίδα «Check In / Add POI» πάτα πάνω στην φωτογραφία σου, θα μεταβείς στο προσωπικό σου προφίλ! Εκεί άλλαξε την ημερομηνία γέννησης γιατί στην αρχή δεν την παίρνει σωστά (κατά τη διαδικασία εγγραφής), βάλε στο πεδίο home address την πόλη σου μόνο με λατινικούς χαρακτήρες (σε περίπτωση που θες να χρησιμοποιήσεις την υπηρεσία «Get Directions» και μετά συμπλήρωσε πάλι τον κωδικό σου στα ανάλογα πεδία και πάτα Submit. Η σελίδα θα ανανεωθεί αυτόματα και θα σου εμφανίσει στα αντίστοιχα πεδία τις αλλαγές που έκανες και θα σου βγάλει την ημερομηνία και ώρα που πραγματοποιήθηκε το Update” (βλ. ενότητα 2.5.2 “Εγχειρίδιο Χρήσης” – Εικόνα ). Στη συνέχεια χρησιμοποιώντας την μπάρα αναζήτησης φίλων, η οποία βρίσκεται πάνω και δεξιά σε όλες τις σελίδες, πληκτρολογώντας οποιοδήποτε λατινικό χαρακτήρα, ψάξε και βρες 5 φίλους στην ΤΥΧΗ. Αφού σου εμφανίσει τα αποτελέσματα της αναζήτησης με αναδυόμενο παράθυρο, πατώντας πάνω σ' έναν χρήστη θα οδηγηθείς στο προφίλ του. Εκεί θα δεις κάποιες βασικές πληροφορίες γι’

200 αυτόν, τη φωτογραφία του, τους φίλους του και τα τελευταία check-ins που έχει πραγματοποιήσει. Λαμβάνοντας υπόψη όλα αυτά, μπορείς να τον προσθέσεις ως φίλο σου, κάνοντας τον add, πατώντας εκεί που λέει "add me". Η σελίδα θα ανανεωθεί (refresh) και θα οδηγηθείς στην αρχική σελίδα.. Με τον ίδιο τρόπο κάνε άλλους 4 φίλους (τουλάχιστον 5 στο σύνολο). Αυτό στο ζητάμε για να ενεργοποιηθούν οι αλγόριθμοι συστάσεων στις καρτέλες «Friend Rec», «POI Rec» και «Activity Rec», τις οποίες θα τις συναντήσεις παρακάτω και θα κληθείς να τις αξιολογήσεις.

ΠΡΑΓΜΑΤΟΠΟΙΗΣΗ CHECK-INS ΣΕ ΠΡΟΥΠΑΡΧΟΝΤΑ ΣΗΜΕΙΑ

“Στη συνέχεια στην αρχική σελίδα και πάνω από το χάρτη θα δεις μια σειρά από κουμπιά. Πάτησε το τελευταίο δεξιά κουμπί «Show all POI's». Η σελίδα θα ανανεωθεί και θα φορτώσει ο χάρτης με όλα τα σημεία που υπάρχουν καταχωρημένα στη ΒΔ. Αρχικά, κάνε zoom out για να δεις που υπάρχουν σημεία πάνω στο χάρτη, ύστερα μετακινήσου πάνω στο χάρτη στην περιοχή που μένεις ή όπου θα ήθελες να πραγματοποιήσεις το 1ο σου check-in και ύστερα κάνε zoom in για να δεις καλύτερα όλα τα σημεία. Στη συνέχεια πατώντας ΑΡΙΣΤΕΡΟ ΚΛΙΚ πάνω σε μια κουκκίδα θα βγει ένα παράθυρο με πληροφορίες για το σημείο αυτό (βλ. ενότητα 2.1.2 “Εγχειρίδιο Χρήσης” – Εικόνα ). Στο παράθυρο που θα ανοίξει, μπορείς να δεις πληροφορίες για το σημείο αυτό, να το βαθμολογήσεις και να γράψεις και ένα μικρό σχόλιο (comment) "ΟΤΙ ΝΑ ΝΑΙ". Κάτι μικρό και σχετικό που να ταιριάζει με το σημείο που κάνεις check-in, για παράδειγμα, με βάση την κατηγορία στην οποία ανήκει. Τέλος, πατάς Check In και θα έχεις πραγματοποιήσει το 1ο σου. Η σελίδα θα ανανεωθεί και θα εμφανιστεί πάλι η αρχική σελίδα. Ακολουθώντας την ίδια διαδικασία ζητάμε από τον κάθε χρήστη να πραγματοποιήσει 10 τέτοια Check-In σε διαφορετικά σημεία. Τα σχόλια με λατινικούς χαρακτήρες!”

ΕΙΣΑΓΩΓΗ ΝΕΟΥ ΣΗΜΕΙΟΥ ΣΤΗ ΒΔ – CHECK-IN

“Πάλι από την αρχική σελίδα «Check In / Add POI», πάτα το κουμπί «Show all POI's», επίσης κάνε zoom out να δεις που υπάρχουν σημεία, μετά κάνε αρκετό zoom in στην περιοχή που ξέρεις καλύτερα (από αυτή που είσαι λογικά) και ΜΟΝΟ εφόσον ξέρεις που βρίσκεται ένα σημείο (την πραγματική του θέση), κάνεις ΔΕΞΙ

201 ΚΛΙΚ πάνω στο χάρτη. Πρέπει να έχεις κάνει αρκετό zoom in, διαφορετικά θα νομίζεις ότι πατάς στο σωστό σημείο αλλά λόγω της διαφοράς κλίμακας στον χάρτη, θα υπάρχει μεγάλη απόκλιση του σημείου από την πραγματική του τοποθεσία (βλ. ενότητα 2.1.3 “Εγχειρίδιο Χρήσης” – Εικόνα ). Και σ’ αυτή την περίπτωση θα ανοίξει ένα παράθυρο! Εκεί με λατινικούς χαρακτήρες και με 1ο γράμμα κεφαλαίο πρέπει να γράψεις το όνομα του σημείου (π.χ. Alpha Bank or Negro Cafe). Ύστερα, συμπληρώνεις τα υπόλοιπα πεδία, βαθμολογείς, επιλέγεις το Activity και την πόλη στα οποίο ανήκει και γράφεις και ένα σχόλιο αντίστοιχα. Τέλος, πατάς «Submit» και ανανεώνεται η σελίδα! Με αυτό τον τρόπο έχεις καταχωρήσει το 1ο σου νέο σημείο στη ΒΔ και ταυτόχρονα έχεις πραγματοποιήσει Check-in σ’ αυτό. Με τον ίδιο τρόπο ζητάμε 10 νέα σημεία ανά χρήστη! Τα σχόλια (comments) και το όνομα του σημείου (POI’s Name) με λατινικούς χαρακτήρες!

SEARCH METHODS – EVALUATION

“Σε σε όλες τις σελίδες του website πάνω και δεξιά υπάρχει μια μπάρα αναζήτησης φίλων «τύπου Facebook77». Σε μερικούς browser ,όμως δεν δουλεύει. Δοκίμασε να δεις πως δουλεύει σ' εσένα και μετά πήγαινε στην αρχική σελίδα και κάτω από τους φίλους σου πάτα στο κουμπί «add friends» στα αριστερά σου (βλ. ενότητα 2.8 “Εγχειρίδιο Χρήσης” – Εικόνα ). Στη συνέχεια διάβασε το κειμενάκι που έχει και μετά γράψε στην μπάρα αναζήτησης ένα οποιοδήποτε λατινικό χαρακτήρα και πάτα το κουμπί «Search». Στο τέλος των αποτελεσμάτων έχει μια φόρμα αξιολόγησης. Εκεί επέλεξε μεταξύ Α & Β τρόπου αναζήτησης, βαθμολόγησε τους και γράψε ένα μικρό σχόλιο για την επιλογή σου” .

Friend Rec – ΣΥΣΤΗΜΑ ΣΥΣΤΑΣΕΩΝ ΦΙΛΙΑΣ

“Στη συνέχεια πάτα στην καρτέλα «Friend Rec», θα καθυστερήσει λίγο να φορτώσει η σελίδα. Μόλις φορτώσει η σελίδα θα δεις δύο πίνακες Α και Β. Ο Α σου

77 Σε καμιά περίπτωση δεν γίνεται λόγος για αντιγραφή ή παραποίηση ή έστω προσπάθεια σύγκρισης της εν λόγω υπηρεσίας με την αντίστοιχη του διαδικτυακού ιστότοπου Facebook. Οποιαδήποτε αναφορά γίνεται καθαρά για λόγους καλύτερης κατανόησης από τον χρήστη και μόνο.

202 δείχνει πόσους κοινούς φίλους έχεις μ' αυτούς που σου προτείνει και ο Β σου δείχνει με πόσα μονοπάτια και ποια είναι αυτά, καταλήγει στο χρήστη που σου προτείνει για φίλο! Στο τέλος υπάρχει η φόρμα αξιολόγησης. Βαθμολόγησε τις 2 μεθόδους και γράψε ένα σχόλιο” (βλ. ενότητα 2.2 “Εγχειρίδιο Χρήσης”).

POI Rec – ΣΥΣΤΗΜΑ ΣΥΣΤΑΣΕΩΝ ΜΕ ΒΑΣΗ ΤΗ ΔΡΑΣΤΗΡΙΟΤΗΤΑ

“Στη συνέχεια πάτα στην καρτέλα «POI Rec», εκεί επέλεξε την πόλη που σε ενδιαφέρει και στη συνέχεια μια δραστηριότητα. Δες τα αποτελέσματα που σου βγάζει! Αν σου βγάζει μόνο έναν πίνακα (τον πίνακα Α) άλλαξε δραστηριότητα ή και πόλη μέχρι να σου βγάλει 2 πίνακες. Τον πίνακα Α και Β μαζί. Ο Α σου προτείνει σημεία στον χάρτη με ιεραρχική κατάταξη σύμφωνα με τα συνολικά Check-ins που έχουν γίνει στο σύνολο των χρηστών και σου δίνει και το Μ.Ο. που έχει το συγκεκριμένο σημείο με βάση τις βαθμολογίες που έχουν δώσει οι χρήστες που έκαναν Check-In σ' αυτό το σημείο. Ο Β σου προτείνει σημεία στον χάρτη με ιεραρχική κατάταξη σύμφωνα με τα Check-Ins που έχουν γίνει ΜΟΝΟ από τους φίλους σου (γι' αυτό και σου ζητήσαμε να κάνεις τουλάχιστον 5 φίλους). Επίσης, σου δείχνει το Μ.Ο. που έχει το κάθε σημείο με βάση τις βαθμολογίες που έχουν δώσει ΜΟΝΟ οι φίλοι σου που έκαναν Check-In σ' αυτό το σημείο. Κατόπιν αυτής της επεξήγησης, καλείσαι πάλι να αξιολογήσεις αυτά τα 2 διαφορετικά στυλ πινάκων” ” (βλ. ενότητα 2.3 “Εγχειρίδιο Χρήσης”).

Activity Rec –ΣΥΣΤΗΜΑ ΣΥΣΤΑΣΕΩΝ ΜΕ ΒΑΣΗ ΤΗΝ ΤΟΠΟΘΕΣΙΑ

“Τέλος, πήγαινε στην καρτέλα «Activity Rec», εκεί επιλέγεις μόνο την πόλη που θες και το σύστημα σου προτείνει μια σειρά από διαφορετικές δραστηριότητες στην πόλη αυτή. Υπάρχουν και εδώ δύο πίνακες, Α και Β. Ο Α σου προτείνει εκείνες τις δραστηριότητες/σημεία που έχουν τα περισσότερα check-ins που έχουν γίνει στο σύνολο των χρηστών και σου δίνει και το Μ.Ο. που έχει το συγκεκριμένο σημείο με βάση τις βαθμολογίες που έχουν δώσει οι χρήστες που έκαναν Check-In σ' αυτό το σημείο. Και ο Β αντίστοιχα, σου δίνει εκείνες τις δραστηριότητες/σημεία που έχουν γίνει ΜΟΝΟ από τους φίλους σου (γι' αυτό και σου ζητήσαμε να κάνεις τουλάχιστον

203 5 φίλους). Επίσης, σου δείχνει το Μ.Ο. που έχει το κάθε σημείο με βάση τις βαθμολογίες που έχουν δώσει ΜΟΝΟ οι φίλοι σου που έκαναν Check-In σ' αυτό το σημείο. Κατόπιν αυτής της επεξήγησης, καλείσαι πάλι να αξιολογήσεις αυτά τα δύο διαφορετικά στυλ πινάκων” (βλ. ενότητα 2.4 “Εγχειρίδιο Χρήσης”).

3. Σημαντικές παρατηρήσεις

i. Για την καλύτερη πλοήγηση σας χρησιμοποιείστε τον φυλλομετρητή (browser) Google Chrome. ii. Για την διατήρηση της ασφάλειας των δεδομένων κάθε χρήστη, το σύστημα μας χρησιμοποιεί μέθοδο κρυπτογράφησης του κωδικού του. Γι’ αυτό το λόγο ο χρήστης πρέπει να καταχωρήσει πραγματικό email κατά την εγγραφή του στην ιστοθέση. Με αυτό τον τρόπο θα μπορεί να θέσει μεταγενέστερα νέο κωδικό σε περίπτωση που τον ξεχάσει. iii. Δεν υπάρχει η δυνατότητα αλλαγής του username πριν εισέλθει στο προφίλ του ο χρήστης. iv. Στην περίπτωση που ξεχάσει ο χρήστης τον κωδικό του, τότε καλείται να ακολουθήσει την υπηρεσία «forgot your password». v. Όλα τα πεδία στο website είναι υποχρεωτικά. vi. Ειδικά, για την εισαγωγή νέου σημείου απατούνται λατινικοί χαρακτήρες. vii. Στα πλαίσια του έργου αυτού ζητάμε από τον κάθε χρήστη να προσθέσει τουλάχιστον 5 χρήστες ως φίλους του. viii. Σε περίπτωση που δεν υπάρχει η πόλη σας καταχωρημένη, παρακαλούμε επικοινωνήστε μαζί μας, ώστε να την προσθέσουμε στη ΒΔ. ix. Για την περαιτέρω βελτίωση του Geosocial2 είναι πάρα πολύ σημαντική η ανατροφοδότηση σχολίων και παρατηρήσεων (feedback) από τους χρήστες. x. Στις καρτέλες «Friend Rec», «POI Rec», «Activity Rec» και όταν ο χρήστης πατάει το κουμπί «add friends» για να χρησιμοποιήσει την απλή μέθοδο αναζήτησης, υπάρχουν φόρμες αξιολόγησης των υπηρεσιών αυτών.

204 English (En)

Ι. Instructions for the user

Welcome to Geosocial beta 2.0. Geosocial2 is a new way to find friends, who have the same interesting in a various categories and activities. Make your check-ins on the map, wherever you are and let your friends know it.

First of all, you must register in order to create a new account. After registering, log in with your Username and your Password. Once you have logged in, you will see the main tab "Check In / Add POI". There, you can upload your image or an avatar. Clicking on your image you will go to your profile page, where you can edit your personal details.

Clicking on the "Find it" button, you can find your approximate position or you can see from where the provider gives you the signal.

At the top-right of every page, you will see our Live Search bar (Method B), where you can search for new friends. As you can see, there is a button "add friends" in a few pages, clicking on this button you will find another page for searching friends. For the purpose of our user-study, we decided to keep both ways. Once, you have added your first friends (at least 5 friends per user), please evaluate our "search friends" system.

Then, visit the tab "Friend Rec". There, you will see our «Friend Recommendation System», which is separated by two different methods. At the bottom of this page, you are able to rate both these two methods.

Clicking on your friends’ image, you are able to see their profile and their friends. Furthermore, you can see the last ten Check-Ins which is made by your friend.

205 You will find the most valuable function visiting the tab "Check In / Add POI". Click on the "Show all POI's" button in order to see on the map all the Point Of Interests in our database. When pushing left click on the dots, a pop-up window opens. Please fill in the required fields in order to do your first Check-In. On the other hand, pushing right click anywhere on the map you can enter a new POI on the database/map. Using the search bar you can find any place, anywhere upon on the map. Click the other two buttons to see your POI's or your friends POI's.

After all, visit the tab "Activity History", where you can see your last ten Check-Ins made by you. Also, there are a few drop-down menus there. Select your preferable country, town/city and see which places there are already in our database. Rating your choice, select the appropriate activity and finally make your comment. In a future visit, if you do not remember where each point is, you can navigate on the map by pressing the button "Move". Finally, you are able to delete one or more of your Check-Ins.

Furthermore, there two other main tabs "POI Rec" and "Activity Rec". At the first tab, the user has the opportunity i) depending on the cities, where he/she has already made Check-ins and ii) his/her preferable activity to see on the map our recommendations based on his/her criteria. At the second tab, the user selecting the city of his choice, will get all the the POIs and activities for this city. At the bottom of these pages, there are evaluation forms. Please, evaluate our recommendation system.

For us, it is really important to take from users their feedback.

206 ΙΙ. Important notices:

i. For better navigation, please use the browser Google Chrome. ii. To store the data of each user with safety, our system uses a method of encryption code. For this reason, the user must enter a real email when registering on the website. This way you can set a new password later in case you forgot it. iii. There is no possibility to change your Username before entering at your profile. iv. In case you forgot the password, then you must follow our service «forgot your password». v. All fields are required, everywhere, on the website. vi. Especially, use Latin characters when you enter a new POI on the database vii. As part of this project we ask each user to add at least 5 users as friends. viii. If one location is not listed, please contact us to add it to the database. ix. To further improve Geosocial2 is very important the comments and feedback from users. x. On tabs «Friend Rec», «POI Rec», «Activity Rec» or when the user presses the button «add friends» in order to use the simple search method, there are evaluation forms of our services.

Do not hesitate to contact with the site admin at: [email protected]

207

208 ΒΙΒΛΙΟΓΡΑΦΙΑ - ΑΝΑΦΟΡΕΣ

[1] "Facebook Unveils Platform for Developers of Social Applications". Facebook. Retrieved July 11, 2010.

[2] "Facebook: One Social Graph to Rule Them All?", CBS News. Retrieved July 11, 2010.

[3] "Geographic Information Systems as an Integrating Technology: Context, Concepts, and Definitions". ESRI. Retrieved 9 June 2011.

[4] A. Schrijver, Combinatorial Optimization: Polyhedra and Efficiency. Algorithms and Combinatorics 24, Springer, Berlin, 2003. (Chapter 3).

[5] Adipat, B. and Zhang, D. (2005). Adaptive and personalized interfaces for mobile web. In Proceedings of the 15th Annual Workshop on Information Technologies and Systems (WITS’05), pages 21–26

[6] Adomavicius, G. and Tuzhilin, A. (2005). Toward the next generation of recommender systems: A survey of the state-of-the-art and possible extensions. IEEE Trans. on Knowl. and Data Eng., 17(6):734–749.

[7] Alexis Papadimitriou, Panagiotis Symeonidis ·Yannis Manolopoulos, (2011). A generalized taxonomy of explanations styles for traditional and social recommender systems.

[8] Andrews, Paul (2003-12-29). "Social networking beginning to take shape on the Web". The Seattle Times Business & Technology section page C1. The Seattle Times. Retrieved 2009-07-13.

[9] Andy Field, "Discovering Statistics Using SPSS", SAGE Publications, 2010.

[10] Arias, M., Cantera, J. M., Vegas, J., de la Fuente, P., Alonso, J. C., Bernardo, G. G., Llamas, C., and Zubizarreta, A´ . (2008). Context-based personalization for mobile web search. In PersDB, pages 33–39

[11] B. Korte and J. Vygen, Combinatorial Optimization: Theory and Algorithms (4th ed.). Algorithms and Combinatorics 21, Springer, Berlin Heidelberg New York, 2008. (Chapter 2).

209 [12] Berners-Lee, Tim; James Hendler and Ora Lassila (May 17, 2001). "The Semantic Web".

[13] Biuk-Aghai, R., Fong, S., and Si, Y.-W. (2008). Design of a recommender system for mobile tourism multimedia selection. Internet Multimedia Services Architecture and Applications, 2008. IMSAA 2008. 2nd International Conference on, pages 1–6.

[14] Burke, R. (2000). Knowledge-based recommender systems. In Encyclopedia of Library and Information Systems, volume 69.

[15] Charles Pierre Trémaux (1859–1882) École Polytechnique of Paris (X:1876), French engineer of the telegraph in Public conference, December 2, 2010 – by professor Jean Pelletier - Thibert in Académie de Macon (Burgundy – France) – (Abstract published in the Annals academic, March 2011 – ISSN: 0980- 6032).

[16] Church, K. and Smyth, B. (2008). Who, what, where & when: a new approach to mobile search. In IUI ’08: Proceedings of the 13th international conference on Intelligent user interfaces, pages 309–312, New York, NY, USA. ACM

[17] Clarke, K. C., 1986. Advances in geographic information systems, computers, environment and urban systems, Vol. 10, pp. 175–184.

[18] D. Liben-Nowell, J. Kleinberg, The link prediction problem for social networks, Proceedings 12th International Conference on Information and Knowledge Management (CIKM’2003).

[19] D. Quercia, S. Hailes, L. Capra. Lightweight Distributed Trust Propagation, Seventh IEEE International Conference on Data Mining, 2007.

[20] Dey, A. K. (2000). Providing architectural support for building context-aware applications. PhD thesis, Atlanta, GA, USA. Director-Abowd, Gregory D.

[21] Diestel, Graph Theory, GTM 173, 4th edition 2010, ISBN 978-3-642-14278-9.

[22] Evan Wei Xiang, A Survey on Link Prediction Models for Social Network Data, 2008.

[24] Even, Shimon (2011), Graph Algorithms (2nd ed.), Cambridge University Press, pp. 46–48, ISBN 978-0-521-73653-4.

210 [25] F. Rubin. Enumerating all simple paths in a graph. IEEE Transactions on Circuits and Systems, 25(8):641–642, 1978.

[26] Francesco Ricci and Lior Rokach and Bracha Shapira, Introduction to Recommender Systems Handbook, Recommender Systems Handbook, Springer, 2011, pp. 1-35.

[27] Glen Jeh and Jennifer Widom. Simrank: a measure of structural-context similarity. In KDD, pages 538–543, 2002.

[28] Goodchild, Michael F (2010). "Twenty years of progress: GIScience in 2010". Journal of Spatial Information Science.doi:10.5311/JOSIS.2010.1.2

[29] Hanani et al., 2001] Uri Hanani, Bracha Shapira, and Peretz Shoval. Information filtering: Overview of issues, research and systems. User Modeling and User-Adapted Interaction, 11:203–259, 2001.

[30] Hinze, A. and Junmanee, S. (2006). Advanced recommendation models for mobile tourist information. In Meersman, R. and Tari, Z., editors, On the Move to Meaningful Internet Systems 2006: CoopIS, DOA, GADA, and ODBASE, volume 4275 of Lecture Notes in Computer Science, pages 643– 660. Springer Berlin / Heidelberg.

[31] J. Chen, W. Geyer, C. Dugan, M. Muller, I. Guy, Make new friends, but keep the old: Recommending people on social networking sites, in: Proceedings 27th international conference on Human factors in Computing Systems (CHI’2009), Boston, MA, 2009, pp. 201–210.

[32] J. Dean, S. Ghemawat, Mapreduce: Simplified data processing on large clusters, Communications of the ACM 51 (2008) 107–113.

[33] JCGM 200:2008 International vocabulary of metrology, Basic and general concepts and associated terms (VIM).

[34] Jochen Schiller and Agnès Voisard, “Location-Based Services”, 2004 by Elsavier.

[35] Josang, A., and Pope, S. (2005) Semantic Constraints for Trust Transitivity Second Asia-Pacific Conference on Conceptual Modelling (APCCM2005).

211 [36] Knuth, Donald E. (1997), The Art Of Computer Programming Vol 1. 3rd ed., Boston: Addison-Wesley, ISBN 0-201-89683-4.

[37] Lada A. Adamic and Eytan Adar. Friends and neighbors on the web. Social Networks, 25(3):211–230, July 2003.

[38] Leo Katz. A new status index derived from sociometric analysis. Psychometrika, 18(1):39–43, March 1953.

[39] Linden; Gregory D., Jacobi; Jennifer A., Benson; Eric A., Collaborative recommendations using item-to-item similarity mappings, July 24, 2001

[40] M. E. J. Newman. Clustering and preferential attachment in growing networks, April 2001.

[41] M. E. J. Newman. Clustering and preferential attachment in growing networks, April 2001.

[42] Mikhail Bilenko, Raymond J. Mooney, WilliamW. Cohen, Pradeep Ravikumar, and Stephen E. Fienberg. Adaptive name matching in information integration. IEEE Intelligent Systems, 18(5):16–23, 2003.

[43] Papadimitriou A., Symeonidis P., Manolopoulos Y.: Fast and Accurate Link Prediction in Social Networking Systems, Journal of Systems and Software, 2012 (BIB).

[44] Papadimitriou A., Symeonidis P., Manolopoulos Y.: Geosocial Recommendations, Proceedings of the RecSys Workshop on Personalization on Mobile Applications (PeMA'2011), Chicago, Illinois, 2011 (BIB).

[45] Papadimitriou A., Symeonidis P., Manolopoulos Y.: Predicting Links in Social Networks of Trust via Bounded Local Path Traversal, Proceedings of the 3rd Conference on Computational Aspects of Social Networks (CASON'2011), Salamanca, Spain, 2011 (BIB).

[46] Papadopoulos A.N., Manolopoulos Y., Nanopoulos A., Theodoridis Y., R- Trees: Theory and Applications. Series: Advanced Information and Knowledge Processing, Publisher: Springer 2006, 194 p., Hardcover, ISBN: 1- 85233-977-7.

212 [47] Pontus Warnestal, User Evaluation of a Conversational Recommender Syste, Department of Computer Science, Linkoping University, SWEDEN

[48] Poslad, S., Laamanen, H., Malaka, R., Nick, A., Buckle, P., and Zipl, A. (2001). Crumpet: creation of user-friendly mobile services personalised for tourism. IEE Conference Publications, 2001(CP477):28–32.

[49] Powers, David M W (2007/2011). "Evaluation: From Precision, Recall and F- Factor to ROC, Informedness, Markedness & Correlation". Journal of Machine Learning Technologies 2 (1): 37-63.

[50] R. Diestel, Graph Theory (3rd ed.). Springer-Verlag, Graduate Texts in Mathematics, Volume 173, July 2005. (Chapter 1).

[51] Rao, B. and Minakakis, L. (2003). Evolution of mobile location-based services. Commun. ACM, 46(12):61–65.

[52] Ricci, F. and Nguyen, Q. N. (2007). Acquiring and revising preferences in a critique-based mobile recommender system. IEEE Intelligent Systems, 22(3):22–29.

[53] Rinner, C., Raubal, M., and Spigel, B. (2005). User interface design for locationbased decision services. In 13th International Conference on GeoInformatics, Toronto, Canada

[54] Rosemann, M., & Recker, J. (2006). "Context-aware process design: Exploring the extrinsic drivers for process flexibility". In T. Latour & M. Petit. 18th international conference on advanced information systems engineering, proceedings of workshops and doctoral consortium. Luxembourg: Namur University Press. pp. 149–158.

[55] Sergey Brin and Lawrence Page. The anatomy of a large-scale hypertextual web search engine. Computer Networks and ISDN Systems, 30(1–7):107– 117, 1998.

[56] Sisay Fissaha Adafre and Maarten de Rijke. Discovering missing links in wikipedia. In LinkKDD, 2005.

[57] Symeonidis P., Papadimitriou A., Manolopoulos Y., Senkul P., Toroslu I.: Geosocial Recommendations based on Incremental Tensor Reduction and Local Path Traversal, Proceedings of the 3rd ACM SIGSPATIAL

213 International Workshop on Location-Based Social Networks (LBSN'2011), Chicago, Illinois, 2011 (BIB).

[58] Symeonidis P., Tiakas E., Manolopoulos Y.: Product Recommendation and Rating Prediction based on Multi-modal Social Networks, Proceedings of the 5th ACM Conference in Recommender Systems (RecSys'2011), pp. 61-68, Chicago, IL, 2011 (BIB).

[59] T.H. Cormen, C.E. Leiserson, R.L. Rivest, and C. Stein, Introduction to Algorithms (2nd ed.). MIT Press and McGraw-Hill, 2001. (Chapter 5).

[60] Travers, Jeffrey & Stanley Milgram. 1969. "An Experimental Study of the Small World Problem." Sociometry, Vol. 32, No. 4, pp. 425-443.

[61] Van Setten, M., Pokraev, S., and Koolwaaij, J. (2004). Context-aware recommendations in the mobile tourist application compass. In De Bra, P. and Nejdl, W., editors, Adaptive Hypermedia and Adaptive Web-Based Systems, volume 3137 of Lecture Notes in Computer Science, pages 515–548. Springer Berlin / Heidelberg.

[62] Wenchen Zheng, Yu Zheng, Xing Xie, and Qiang Yang (2007). Collaborative Location and Activity Recommendations With GPS History Data. Microsoft Research Asia MRA08/09.EG03 and Hong Kong-CERG/China-NSFC N_HKUST624/09.

[63] Yoshihiro Yamanishi, Jean-Philippe Vert, and Minoru Kanehisa. Supervised enzyme network inference from the integration of genomic data and chemical information. In ISMB (Supplement of Bioinformatics), pages 468–477, 2005

[64] Yu Zheng, Yukun Chen, Xing Xie, and Wei-Ying Ma. 2009. GeoLife2.0: A Location-Based Social Networking Service. In Proceedings of the 2009 Tenth International Conference on Mobile Data Management: Systems, Services and Middleware (MDM '09). IEEE Computer Society, Washington, DC, USA, 357-358.

[65] Yu Zheng. Location-based social networks: Users. Computing with Spatial Trajectories, Yu Zheng and Xiaofang Zhou, Eds. Springer, 2011.

[66] Yu Zheng. Tutorial on Location-Based Social Networks. WWW2012.

214 [67] Yu, S. (2008). Contextualized and personalized location-based services. PhD thesis, School of Computer and Communication Sciences, Ecole Polytechnique Federale de Lausanne, Lausanne, Switzerland.

[68] Αγγελής Ελευθέριος 2011, Πανεπιστημιακές σημειώσεις μαθήματος “Στατιστική Ανάλυση Δεδομένων με το SPSS”, Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης, ΔΠΜΣ «Πληροφορική και Διοίκηση».

[69] Πραμαγγιούλης Παναγιώτης (2008), Οδηγός Ανάλυσης Δεδομένων με τη χρήση SPSS, Οικονομικό Πανεπιστήμιο Αθηνών, Τμήμα Στατιστικής.

[70] Σιώμκος Ι. Γεώργιος, Βασιλικοπούλου Ι. Αικατερίνη (2005), Εφαρμογή Μεθόδων Ανάλυσης στην Έρευνα Αγοράς, Εκδόσεις Σταμούλη Α.Ε., Αθήνα.

215