Κιτμερίδης Νικόλαος ΑΕΜ 1272

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Κιτμερίδης Νικόλαος ΑΕΜ 1272"

Transcript

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

2 Περίληψη Ο Κοινωνικός Ιστός (Web 2.0) διευκόλυνε σε μεγάλο βαθμό την παραγωγή πληροφορίας στον Παγκόσμιο Ιστό από απλούς χρήστες του Διαδικτύου, με αποτέλεσμα τη δημιουργία ενός τεράστιου, συνεχώς αυξανόμενου όγκου δεδομένων, ο οποίος στην πλειοψηφία του αποτελείται από δεδομένα σε μορφή κειμένου. Η κατάσταση αυτή καθιστά επιτακτική την ανάγκη εύρεσης αυτοματοποιημένων τρόπων οργάνωσης αυτών των δεδομένων, σε λογικά χρονικά πλαίσια, έτσι ώστε να είναι δυνατή η διαχείριση τους από εφαρμογές και ιστοσελίδες του Παγκοσμίου Ιστού, όπως είναι οι μηχανές αναζήτησης, ειδησεογραφικά ιστολόγια, κ.α. Στα πλαίσια αυτής της διπλωματικής εργασίας, αρχικά μελετούνται σε θεωρητικό επίπεδο οι τεχνικές και οι αλγόριθμοι που εφαρμόζονται για την ομαδοποίηση δεδομένων κειμένου, αλλά και οι μετρικές που χρησιμοποιούνται για την αξιολόγηση των αποτελεσμάτων αυτής της διαδικασίας. Επίσης γίνεται μια επισκόπηση των γνωστότερων τεχνικών κατανεμημένης επεξεργασίας δεδομένων, αλλά και της αρχιτεκτονικής των κατανεμημένων υλοποιήσεων κάποιων αλγορίθμων ομαδοποίησης, που επιτρέπουν την αποδοτική ανάλυση μεγάλου όγκου δεδομένων σε εύλογα χρονικά πλαίσια. Το πρακτικό κομμάτι της εργασίας αφορά στη δημιουργία ενός πλαισίου για την ομαδοποίηση δεδομένων κειμένου σε κατανεμημένο περιβάλλον και την αξιολόγηση των αποτελεσμάτων. Τα βήματα που ακολουθήθηκαν για την υλοποίηση του πλαισίου συνοπτικά περιγράφονται ως εξής: i) ανάπτυξη μεθόδων προεπεξεργασία των δεδομένων κειμένου με σκοπό αυτή να οδηγήσει σε ποιοτικότερη ομαδοποίηση, ii) εκτέλεση της κατανεμημένης υλοποίησης του αλγορίθμου ομαδοποίησης k-means που προσφέρει το εργαλείο Apache Mahout σε διάφορα σύνολα δεδομένων κειμένου, εναλλάσσοντας τις παραμέτρους-συνθήκες του κατανεμημένου περιβάλλοντος με σκοπό τη χρονική αξιολόγηση, και iii) προγραμματιστική υλοποίηση κάποιων γνωστών μέτρων αξιολόγησης με στόχο την αξιολόγηση της ποιότητας των παραγόμενων ομάδων από κάθε εξεταζόμενο σύνολο δεδομένων. ii

3 Abstract Web 2.0 has greatly facilitated the free generation of content from simple users in the World Wide Web. As a result, the formation of a huge, continuously growing, data set consisting in the great majority of data in textual form is being observed. This situation dictates the necessity of finding automated ways for the organization of such data in reasonable time, so as to be easily managed by web applications and web sites, such as search engines, newsblogs, etc. Initially, in this thesis, techniques and algorithms that are applied for text document clustering are discussed in a theoretical level, along with measures that are used for the evaluation of their outcome. In addition, a short survey of the most well-known techniques for distributed data processing is presented, including some clustering algorithms distributed implementation architecture that enables the efficient analysis of big datasets in reasonable time. In the context of this thesis a framework for text data clustering in distributed environments and for the evaluation of this procedure s outcome has been developed. The implementation of this framework involved the following steps: i) study and development of methods for data preprocessing that could increase the clustering outcome's quality, ii) execution of a distributed implementation of the k-means algorithm, which is available from the Apache Mahout project, in a variety of datasets with different parameterizations of the distributed environment, in order to access them in terms of (temporal) efficiency, iii) implementation of some of the most popular evaluation metrics in order to evaluate the clustering outcome's quality for each dataset. iii

4 Ευχαριστίες Θα ήθελα να ευχαριστήσω την αναπληρώτρια καθηγήτρια κα. Βακάλη Αθηνά για την εμπιστοσύνη και την αμέριστη στήριξη που μου παρείχε κατά τη διάρκεια της εκπόνησης της συγκεκριμένης εργασίας. Επίσης, οφείλω ένα πολύ μεγάλο ευχαριστώ στην υποψήφια Διδάκτωρ του τμήματος Γιάτσογλου Μαρία, της οποίας οι συμβουλές και οι διορθώσεις καθ όλη τη διάρκεια της ανάπτυξης της εργασίας ήταν καθοριστικές για την ολοκλήρωση της. Τέλος θα ήθελα να ευχαριστήσω την οικογένεια μου για την πολύτιμη στήριξη που μου παρείχε και επιπλέον τη φίλη μου Δάφνη για την απεριόριστη υπομονή που επέδειξε σε όλο το χρονικό διάστημα που απαιτήθηκε για να ολοκληρωθεί η συγκεκριμένη διπλωματική εργασία. iv

5 Περιεχόμενα 1 Εισαγωγή Δεδομένα κειμένου στον Παγκόσμιο Ιστό Προσέγγιση του προβλήματος της ομαδοποίησης κειμένων Συνεισφορά της Εργασίας Δομή της Διπλωματικής Εργασίας Θεωρητικό Υπόβαθρο Ομαδοποίηση Δεδομένων Ομαδοποίηση κειμένων Γενικά Βασικές Έννοιες Κατανεμημένες προσεγγίσεις του προβλήματος Map/reduce Message Passing Interface (MPI) Ομαδοποίηση κειμένων με χρήση κατανεμημένων αλγορίθμων Τεχνολογίες Apache Hadoop Apache Mahout Apache Lucene Apache OpenNLP Πλαίσιο υποδομής και διαχείρισης δεδομένων Υποδομή Σύνολα Δεδομένων Διαδικασίες του πλαισίου Αποτελέσματα Πειραματικής Διαδικασίας Αξιολόγηση ομάδων Reuters ICWSM 2009 Spinn3r Blog Dataset 10Κ ICWSM 2009 Spinn3r Blog Dataset 100Κ Χρονική αξιολόγηση Reuters v

6 5.2.2 ICWSM 2009 Spinn3r Blog Dataset 10Κ ICWSM 2009 Spinn3r Blog Dataset 100Κ Συμπεράσματα και Μελλοντικές Επεκτάσεις Βιβλιογραφία Παράρτημα Α Α1. Πίνακες αποτελεσμάτων αξιολόγησης ομαδοποίησης Α2. Πίνακες χρονικών αποτελεσμάτων Παράρτημα Β Β1. Κώδικας Μέτρου Silhouette B2. Κώδικας Μέτρου Davies-Bouldin Index Β3. Κώδικας Μέτρου F vi

7 1 Εισαγωγή Σε αυτό το εισαγωγικό κεφάλαιο γίνεται μια πρώτη προσπάθεια προσέγγισης των ζητημάτων με τα οποία ασχολείται η συγκεκριμένη διπλωματική εργασία. Αρχικά παρουσιάζονται κάποια στοιχεία για την κατάσταση που επικρατεί σήμερα στον Παγκόσμιο Ιστό κι έπειτα επιχειρείται μια πρώτη προσέγγιση του προβλήματος της ομαδοποίησης των δεδομένων κειμένου. Ακολουθεί μια επιγραμματική παρουσίαση του τρόπου συνεισφοράς της παρούσας διπλωματικής εργασίας στην αντιμετώπιση του συγκεκριμένου προβλήματος και τέλος γίνεται μια σύντομη αναφορά στη δομή αυτού του εγγράφου και στο θέμα που πραγματεύεται κάθε ένα από τα επόμενα κεφάλαια. 1

8 1.1 Δεδομένα κειμένου στον Παγκόσμιο Ιστό Η σημερινή εποχή συχνά αποκαλείται και «εποχή της πληροφορίας». Κύριο ρόλο γι αυτό αποτέλεσε η εγκαθίδρυση του Διαδικτύου ως απόλυτη πλατφόρμα για την επιτάχυνση της ροής των πληροφοριών, αποτελώντας ταυτόχρονα την ταχύτερα αναπτυσσόμενη μορφή των μέσων ενημέρωσης. Ειδικότερα, έπειτα από την εισαγωγή των τεχνολογιών του Κοινωνικού Ιστού (Web 2.0) και τη μετατροπή του ρόλου των χρηστών του Διαδικτύου από παθητικό σε ενεργητικό, η τεράστια θεματολογία της εισερχόμενης πληροφορίας καθιστά επιτακτική την ανάγκη της οργάνωσης αυτού του τεράστιου όγκου δεδομένων που αυξάνεται συνεχώς. Για παράδειγμα, στην Εικόνα 1.1, μπορεί κάποιος να δει τον ταχύτατο ρυθμό αύξησης των νέων κειμένων που αναρτώνται στο ιστότοπο en.wikipedia.org, ανά έτος. Είναι προφανές ότι χωρίς την κατηγοριοποίηση και την ομαδοποίηση τέτοιων, μεγάλου όγκου, συνόλων δεδομένων, η εξαγωγή πληροφορίας από αυτά θα απαιτεί χρονοβόρες και επίπονες διαδικασίες. Εικόνα 1.1: Αύξηση των άρθρων του ιστότοπου en.wikipedia.org ανά έτος. 1 Υπολογίζεται ότι τα δεδομένα σε μορφή κειμένου αποτελούν περίπου το 80% του συνολικού όγκου των δεδομένων στο διαδίκτυο (1). Χαρακτηριστικό της κατάστασης αποτελεί ο συνεχώς αυξανόμενος ανταγωνισμός των μεγάλων εταιριών του χώρου της πληροφορικής, για τη δημιουργία ποιοτικότερων υπηρεσιών που έχουν να κάνουν με την αναζήτηση αλλά και την εξαγωγή της πληροφορίας, χρησιμοποιώντας μεθόδους καλύτερης οργάνωσης και ομαδοποίησης των δεδομένων. Παράλληλα, έχουν αναπτυχθεί διάφορες εφαρμογές, εμπορικές αλλά και ανοικτού κώδικα, που αποτελούν πιο εξειδικευμένες μηχανές αναζήτησης οι οποίες πέραν της κλασσικής μορφής επιστροφής αποτελεσμάτων σε ένα ερώτημα αναλαμβάνουν να χωρίσουν τα αποτελέσματα αυτά σε θεματικές κατηγορίες. Μερικά παραδείγματα τέτοιων μηχανών αναζήτησης είναι η μηχανή αναζήτησης ανοικτού κώδικα 1 Πηγή: en.wikipedia.org/wiki/wikipedia:size_of_wikipedia 2

9 Carrot2 1, της οποίας, ένα στιγμιότυπο αναζήτησης φαίνεται στην Εικόνα 1.3, η μηχανή αναζήτησης helioid 2 αλλά και οι εμπορικές Northern Light 3 και Vivisimo 4. Εικόνα 1.2: Ποσοστά χρήσης των μηχανών αναζήτησης κατά το μήνα Μάϊο 2011 Εικόνα 1.3: Στιγμιότυπο από τη μηχανή αναζήτησης ανοικτού κώδικα Carrot2.Αριστερά φαίνεται η κατηγοριοποίηση των αποτελεσμάτων

10 1.2 Προσέγγιση του προβλήματος της ομαδοποίησης κειμένων Η συγκεκριμένη εργασία εστιάζει στο πρόβλημα της διαχείρισης των δεδομένων κειμένου που κατακλύζουν τον Παγκόσμιο Ιστό. Πιο συγκεκριμένα η εργασία πραγματεύεται το πρόβλημα της ανεύρεσης ομάδων κειμένων με βάση την θεματολογία τους και στη βελτίωση αυτής της διαδικασίας από άποψη χρόνου. Σκοπός είναι η βελτίωση των αποτελεσμάτων που επιστρέφονται, σε πραγματικό χρόνο, από τις μηχανές αναζήτησης αλλά και η μείωση του χρόνου που χρειάζεται η επεξεργασία των δεδομένων κειμένου για την ανεύρεση των ομάδων. Η ομαδοποίηση κειμένων (text/document clustering) αποτελεί αντικείμενο μελέτης των εξής πεδίων της επιστήμης της πληροφορικής: Ανάκτηση Πληροφορίας (Information Retrieval, IR) Επεξεργασία της φυσικής γλώσσας (Natural Language Processing, NLP) Μηχανική Μάθηση (Machine Learning, ML) ενώ δεν θα πρέπει να συγχέεται με το πεδίο της κατηγοριοποίησης (classification) των κειμένων, όπου ο αριθμός των ομάδων (κλάσεων) είναι από πριν γνωστός και το πρόβλημα έγκειται στη σωστή εκχώρηση των κειμένων σ αυτές. Αντίθετα στο πρόβλημα της ομαδοποίησης, ούτε ο αριθμός των ομάδων, αλλά ούτε και οι ιδιότητες και η σύνθεσή τους είναι γνωστά εκ των προτέρων (2). Εικόνα 1.4: Οπτικοποίηση της διαφοράς των προβλημάτων της (a) κατηγοριοποίησης και της (b) ομαδοποίησης (2). 4

11 Σήμερα υπάρχουν διάφορες τεχνικές ομαδοποίησης κειμένου, καθεμιά από τις οποίες υλοποιεί τους δικούς τις αλγόριθμους. Παρακάτω αναφέρονται επιγραμματικά οι κυριότερες μεθόδων ομαδοποίησης κειμένου (3): Συσσωρευτική Τεχνική (Agglomerative Technique), στην οποία το κάθε κείμενο, του εξεταζόμενου συνόλου δεδομένων, αποτελεί αρχικά μία ομάδα από μόνο του και μέσω της αλγοριθμικής διαδικασίας οι ομάδες ενώνονται και δημιουργούν μεγαλύτερες ομάδες. Διαιρετική Τεχνική (Divisive Technique), στην οποία το σύνολο των κειμένων, του εξεταζόμενου συνόλου δεδομένων, αποτελεί αρχικά μία κοινή ομάδα η οποία, μέσω της αλγοριθμικής διαδικασίας διασπάται σε μικρότερες ομάδες. Τεχνική Ανάμιξης (Shuffling Technique), στην οποία οι ομάδες των κειμένων, του εξεταζόμενου συνόλου δεδομένων, αρχικά δημιουργούνται με ασαφή ή τυχαίο τρόπο και μέσω των επαναλήψεων της αλγοριθμικής διαδικασίας, γίνεται ανακατάταξη των ομάδων με σκοπό τη βελτίωση της ποιότητας τους. Επίσης πρέπει να αναφερθεί και ακόμη ένας διαχωρισμός των μεθόδων ομαδοποίησης κειμένου, σε σειριακές (sequential) και κατανεμημένες (distributed), με τη δεύτερη κατηγορία να παρουσιάζει ιδιαίτερο ενδιαφέρον στις μέρες μας, καθώς παρουσιάζει τρόπους αντιμετώπισης του προβλήματος με τεχνικές παράλληλης ή κατανεμημένης επεξεργασίας. Φυσικά η ανάγκη για τη χρήση τέτοιων τεχνικών προέκυψε από την προαναφερθείσα τεράστια αύξηση του όγκου των δεδομένων αλλά και του ρυθμού με τον οποίο αυτά κατακλύζουν το Διαδίκτυο. Η κατάσταση αυτή τείνει να καταστήσει αδύνατη την αντιμετώπιση του προβλήματος από σειριακές υπολογιστικές τεχνικές που εφαρμόζονται σε μεμονωμένα συστήματα λόγω της περιορισμένης υπολογιστικής ισχύς τους και της ανάγκης της μείωσης του χρονικού κόστους εκτέλεσης των αναγκαίων διαδικασιών. Αντίθετα η χρήση υπερυπολόγιστων για την υλοποίηση παράλληλων αλγορίθμων, αλλά κυρίως η χρήση πολλών μηχανημάτων με την εκτέλεση κατανεμημένων αλγορίθμων (τεχνική η οποία γνωρίζει τα τελευταία χρόνια πολύ μεγάλη άνθιση λόγω της προσέγγισης map/reduce 1 και την ανάπτυξη του framework Apache Hadoop 2 ) δείχνουν ότι αποτελούν τις πλέον κατάλληλες λύσεις για την αντιμετώπιση του ζητήματος της ομαδοποίησης των κειμένων στο Διαδίκτυο (4). 1.3 Συνεισφορά της Εργασίας Στην παρούσα εργασία, το πρόβλημα της ομαδοποίησης δεδομένων κειμένων από το διαδίκτυο βασίστηκε σε τεχνικές προεπεξεργασίας και αναπαράστασης δεδομένων κειμένου και σε τεχνικές κατανεμημένης επεξεργασίας χρησιμοποιώντας αλγορίθμους του project

12 Mahout 1 του Apache Software Foundation (ASF) 2. Τα δεδομένα πάνω στα οποία εφαρμόστηκε η συγκεκριμένη μεθοδολογία αφορούν κατά κύριο λόγο σε μεγάλου όγκου συλλογές οι οποίες περιέχουν αρχεία κειμένου που έχουν συλλεχθεί από διάφορες πηγές του Διαδικτύου όπως ιστολόγια 3 (blogs) και κανάλια ενημέρωσης (news sources). Τα αρχεία είναι ημιδομημένα, με την έννοια ότι είναι μορφοποιημένα σε μορφή κάποιας γλώσσας σήμανσης (XML,SGML) και μάλιστα διακρίνονται, στην πλειοψηφία τους, από διάφορα πεδία, τα χαρακτηριστικότερα των οποίων είναι ο τίτλος το κυρίως κείμενο, ενώ αρκετά διαθέτουν και κάποιες ετικέτες (tags). Η ύπαρξη αυτής της διάκρισης σε πεδία αξιοποιήθηκε στην μεθοδολογία που αναπτύχθηκε στα πλαίσια της παρούσας εργασίας με στόχο τη βελτίωση της ποιότητας των αποτελεσμάτων των αλγορίθμων ομαδοποίησης κειμένων, προσδίδοντας διαφορετικά βάρη σε αυτά. Η προσέγγιση αυτή έγινε βάσει της υπόθεσης ότι σε δεδομένα κειμένου, ο τίτλος, παραδείγματος χάριν, προσφέρει περισσότερο συμπυκνωμένη πληροφορία, άρα συνήθως και πιο αντιπροσωπευτική της θεματολογία του εκάστοτε κειμένου. Έτσι έχει νόημα σε ένα τέτοιο πεδίο να προσδίδεται μεγαλύτερη βαρύτητα όταν πρόκειται για δημιουργία ομάδων κειμένου με βάση την θεματολογία τους. Πριν από το στάδιο του προσδιορισμού βαρών στα πεδία, προηγείται το στάδιο της προεπεξεργασίας και του καθαρισμού των δεδομένων. Η διαδικασία αυτή αποτελεί πρώιμο και αναπόσπαστο κομμάτι στον τομέα της ομαδοποίησης δεδομένων κειμένου. Πρόκειται στην ουσία για μια σειρά βημάτων κατά την οποία γίνεται φιλτράρισμα των κειμένων με στόχο την εξάλειψη του θορύβου που αυτά περιέχουν. Στα πλαίσια της παρούσας εργασίας ακολουθήθηκαν τα εξής βήματα: Αφαίρεση των κοινών λέξεων (stop words 4 ), όπως άρθρα, σύνδεσμοι κτλ., από τα κείμενα Stemming 5 των λέξεων (διαδικασία κατά την οποία όλες οι λέξεις αντικαθιστούνται από τη ρίζα τους) Εξαγωγή ονομαστικών οντοτήτων με τη χρήση έτοιμων, προεκπαιδευμένων μοντέλων (διαδικασία κατά την οποία οι ομάδες λέξεων που αποτελούν κύρια ονόματα, ονόματα οργανισμών, τοπωνύμια κτλ. αντιμετωπίζονται ως οντότητες και όχι ως μεμονωμένες λέξεις) Για την υλοποίηση των δύο πρώτων βημάτων έγινε χρήση της βιβλιοθήκης Apache Lucene 6, ενώ για το τρίτο χρησιμοποιήθηκε η βιβλιοθήκη Apache Opennlp

13 Τέλος, το πειραματικό στάδιο και η εφαρμογή των αλγορίθμων του Mahout βασίστηκε πάνω σε κατανεμημένο περιβάλλον με την χρήση του framework Apache Hadoop. Στο σημείο αυτό έγιναν διαδοχικές εκτελέσεις της υλοποίησης του αλγορίθμου k-means που προσφέρεται από το Mahout, σε διάφορα σύνολα δεδομένων κειμένου, με σκοπό την αξιολόγηση των παραγόμενων ομάδων, με τη χρήση διάφορων μέτρων αξιολόγησης, αλλά και την αξιολόγηση του χρόνου εκτέλεσης του αλγορίθμου σε διάφορες συνθήκες κατανεμημένου περιβάλλοντος. 1.4 Δομή της Διπλωματικής Εργασίας Παρακάτω παρατίθεται μια επεξήγηση των κεφαλαίων που ακολουθούν: Στο Δεύτερο Κεφάλαιο γίνεται μια προσπάθεια θεωρητικής προσέγγισης των διαδικασιών που ακολουθούνται για την αντιμετώπιση του προβλήματος της ομαδοποίησης κειμένων. Αρχικά γίνεται μια εισαγωγή στην έννοια της ομαδοποίησης των δεδομένων γενικά, αλλά και των δεδομένων σε μορφή κειμένου, πιο συγκεκριμένα. Έπειτα ακολουθεί μια πιο λεπτομερής επεξήγηση των τεχνικών, των μετρικών και των αλγορίθμων που χρησιμοποιούνται για την ομαδοποίηση κειμένων, αλλά και μια παρουσίαση μεθόδων για την αξιολόγηση των αποτελεσμάτων τους. Σε αυτό το κεφάλαιο γίνεται, επίσης, μια παρουσίαση των πιο σημαντικών σύγχρονων τεχνικών που υπάρχουν για την αντιμετώπιση του προβλήματος με κατανεμημένες (distributed) προσεγγίσεις. Στο Τρίτο Κεφάλαιο γίνεται μια αναλυτική παρουσίαση των βασικότερων τεχνολογιών που χρησιμοποιήθηκαν για την υλοποίηση της εργασίας. Συγκεκριμένα, παρουσιάζονται τα τέσσερα εργαλεία του Apache SF: Hadoop, Mahout, Lucene, και Opennlp. Στο Τέταρτο Κεφάλαιο γίνεται αναλυτική παρουσίαση της πειραματικής διαδικασίας που αναπτύχθηκε στα πλαίσια της παρούσας εργασίας. Παρουσιάζονται τα σύνολα δεδομένων στα οποία έγιναν οι δοκιμές και τα πειράματα, ενώ γίνεται και ανάλυση της επεξεργασίας στην οποία υποβλήθηκαν τα δεδομένα πριν την ομαδοποίησή τους. Σε αυτό το κεφάλαιο επίσης περιγράφονται οι τρόποι με τους οποίους χρησιμοποιήθηκε το Apache Mahout για την υλοποίηση της εργασίας. Παρουσιάζονται δηλαδή οι αλγόριθμοι και οι οδηγοί (drivers) που παρέχει το συγκεκριμένο εργαλείο και χρησιμοποιήθηκαν στα πλαίσια της εργασίας. Τέλος, εδώ γίνεται και η αναφορά στα κομμάτια της εργασίας που αναπτύχθηκαν (κυρίως σε κώδικα Java) με σκοπό την υλοποίηση των πειραμάτων. Στο Πέμπτο Κεφάλαιο γίνεται η πειραματική αξιολόγηση της εργασίας. Παρουσιάζονται αναλυτικά όλα τα δεδομένα εισόδου και η παραμετροποίηση των αλγορίθμων που χρησιμοποιήθηκαν στα πειράματα, και επιπλέον παρουσιάζονται τα σύνολα δεδομένων όπως οι μετρικές αξιολόγησης που χρησιμοποιήθηκαν σε κάθε πείραμα. Επίσης παρουσιάζονται τα αποτελέσματα των πειραμάτων. Γίνεται αναλυτική παρουσίαση της εξαγόμενης πληροφορίας που παράχθηκε από την εκτέλεση του κάθε πειράματος, ενώ επίσης γίνεται αξιολόγηση των 7

14 αποτελεσμάτων τόσο σύμφωνα με την ποιότητα των παραγόμενων ομάδων κειμένου όσο και σύμφωνα με τις επιδόσεις των αλγορίθμων στις διάφορες παραμετροποιήσεις του κατανεμημένου περιβάλλοντος στις οποίες υλοποιήθηκαν. Στο Έκτο Κεφάλαιο γίνεται μια συζήτηση με βάση τα συμπεράσματα που αποκομίστηκαν από την εκπόνηση της εργασίας, τα σημεία στα οποία υπάρχει περιθώριο βελτίωσης αλλά και τις μελλοντικές ενέργειες που μπορούν να γίνουν στον τομέα της ομαδοποίησης κειμένων. 8

15 2 Θεωρητικό Υπόβαθρο Ο τομέας της Εξόρυξης Δεδομένων (Data Mining) αποτελεί έναν ταχύτατα αναπτυσσόμενο κλάδο της επιστήμης της πληροφορικής. Υπάρχουν διάφοροι επιστημονικοί ορισμοί που προσπαθούν να εξηγήσουν την έννοια του όρου «εξόρυξη δεδομένων», κάποιοι από τους οποίους αναφέρουν ότι «πρόκειται για τη σύνθετη διαδικασία εξαγωγής συγκεκριμένης, προηγουμένως άγνωστης και δυνητικά ωφέλιμης γνώσης από δεδομένα» (5). Εναλλακτικά, συναντάται και ως η επιστήμη της εξόρυξης χρήσιμης πληροφορίας από σύνολα ή βάσεις δεδομένων μεγάλου μεγέθους (6). Εικόνα 2.1: Οι κυριότεροι τομείς αλληλεπίδρασης του data mining (7) Η εξόρυξη δεδομένων περιλαμβάνει έξι τάξεις διαδικασιών: (8) Ανίχνευση ανωμαλιών (Anomaly detection) - Ο προσδιορισμός ασυνήθιστων εγγραφών δεδομένων, που μπορεί να παρουσιάζουν κάποιο ενδιαφέρον ή λάθη στα δεδομένα που απαιτούν περαιτέρω έρευνα. Κανόνες συσχέτισης (Association rule learning) - Αναζητήσεις για σχέσεις μεταξύ των μεταβλητών. Ομαδοποίηση (Clustering) - Η διαδικασία ανακάλυψης ομάδων και δομών στα δεδομένα που είναι "παρόμοια" κατά κάποιο τρόπο, χωρίς να χρησιμοποιούνται γνωστές δομές στα δεδομένα. 9

16 Κατηγοριοποίηση (Classification) - Η διαδικασία γενίκευσης γνωστών δομών για την εφαρμογή τους πάνω σε νέα δεδομένα. Παλινδρόμηση (Regression) Η προσπάθεια εύρεσης μίας συνάρτηση που μοντελοποιεί τα δεδομένα με το λιγότερο λάθος. Σύνοψη (Summarization) - Η παροχή μιας συμπαγέστερης αναπαράστασης των δεδομένων, συμπεριλαμβάνοντας οπτικοποίηση και παραγωγή κανόνων. Από αυτές τις διαδικασίες, στην Ενότητα 2.1 επιχειρείται μια σύντομη παρουσίαση της ομαδοποίησης των δεδομένων. Παράλληλα, εκτός από την εξόρυξη δεδομένων υπάρχει και το υπό-πεδίο της εξόρυξης κειμένων (text mining), το οποίο μπορεί να οριστεί ως η διαδικασία ανάκτησης γνώσης από μία συλλογή κειμένων χρησιμοποιώντας διάφορα εργαλεία ανάλυσης. Σε μια αντιστοιχία με την εξόρυξη δεδομένων, μπορούμε να πούμε ότι η εξόρυξη κειμένων επιχειρεί να εξάγει χρήσιμη πληροφορία από πηγές δεδομένων, μέσω του προσδιορισμού και της εξερεύνησης ενδιαφερόντων προτύπων. Παρόλα αυτά, σε αντίθεση με την γενικότερη έννοια της εξόρυξης δεδομένων, εδώ οι πηγές δεδομένων αποτελούνται από συλλογές κειμένων, ενώ τα πρότυπα δεν βρίσκονται σε κανονικοποιημένες βάσεις δεδομένων, αλλά σε αδόμητες μορφές κειμένου (3). Οι κύριες διαδικασίες της εξόρυξης κειμένων είναι οι εξής: Κατηγοριοποίηση Ομαδοποίηση Εξαγωγή εννοιών Από αυτές παρακάτω, στη Ενότητα 2.2, αναλύεται η ομαδοποίηση των κειμένων η οποία αποτελεί και το αντικείμενο αυτής της εργασίας. Έτσι, αρχικά, στην υποενότητα γίνεται μια προσπάθεια για την επεξήγηση μερικών βασικών εννοιών, η κατανόηση των οποίων κρίνεται απαραίτητη για τη συνέχεια της ανάγνωσης του υπολοίπου κεφαλαίου, όπου και παρουσιάζονται οι σημαντικότερες προσεγγίσεις στο πρόβλημα της ομαδοποίησης κειμένων. 10

17 2.1 Ομαδοποίηση Δεδομένων Ομαδοποίηση δεδομένων (Data Clustering) είναι η διαδικασία εκείνη κατά την οποία ένα σύνολο από «αντικείμενα», διαχωρίζονται σε ένα σύνολο από «λογικές» ομάδες. Η καταχώρηση αντικειμένων σε ίδια ομάδα μεταφράζεται ως ομοιότητα των αντικειμένων αυτών και αντίστροφα (αντικείμενα που ανήκουν σε διαφορετικές ομάδες είναι ανόμοια). Η ομοιότητα ή μη, μεταξύ των αντικείμενων, ουσιαστικά εξαρτάται από το συγκεκριμένο πρόβλημα και τη μορφή των «αντικειμένων». Στη βιβλιογραφία συναντάται συχνά και ως συσταδοποίηση και μη επιβλεπόμενη μάθηση. Τα αντικείμενα μπορούν να αναφερθούν και αυτά με διαφορετικούς όρους όπως πρότυπα, διανύσματα, κ.α. Ο ορισμός της ομαδοποίησης δεδομένων από μαθηματική σκοποία ορίζεται ως εξής: Δοθέντος ενός συνόλου διανυσμάτων X = {x 1,x 2,x 3... x n } ζητούνται m σύνολα-ομάδες C 1, C 2,... C m, με m << n έτσι ώστε: C i Ø, i = 1, 2, 3,... m και οι m ομάδες αποτελούν διαμέριση του συνόλου Χ. Ο ορισμός αυτός αναφέρεται στη σαφή ομαδοποίηση (hard clustering) διότι κάθε διάνυσμα ανήκει σε μία και μόνο ομάδα. Εναλλακτικά, μπορεί να οριστεί η ασαφής ομαδοποίηση, (soft clustering). Κάνοντας χρήση των ασαφών συνόλων μπορούμε να ορίσουμε m συναρτήσεις συμμετοχής u j : X [0,1] για j = 1, 2,... m. Οι συναρτήσεις u j (i) ποσοτικοποιούν την βεβαιότητα που έχουμε για το αν κάποιο αντικείμενο i ανήκει στην ομάδα j. Η διαδικασία της ομαδοποίησης μπορεί να αναλυθεί σε τέσσερα βασικά χαρακτηριστικά: (9) (7) Επιλογή χαρακτηριστικών γνωρισμάτων: Ο στόχος είναι να επιλεγούν τα καταλληλότερα γνωρίσματα στα οποία πρόκειται να εφαρμοστεί η ομαδοποίηση ώστε να επιτυγχάνεται η βέλτιστη ομοιογένεια σε κάθε ομάδα. Έτσι η προεπεξεργασία των δεδομένων πριν την εφαρμογή της διαδικασίας ομαδοποίησης κρίνεται απαραίτητη. Αλγόριθμοι ομαδοποίησης: Σε αυτό το στάδιο γίνεται η επιλογή ενός αλγορίθμου που θα οδηγήσει σε ένα καλό σχήμα ομαδοποίησης για ένα σύνολο δεδομένων. Για τη επιλογή του αλγορίθμου χρησιμοποιείται το μέτρο γειτνίασης και το κριτήριο ομαδοποίησης τα οποία ορίζουν απόλυτα τον αλγόριθμο, καθώς επίσης και η δυνατότητά του να καθορίσει ένα σχήμα ομαδοποίησης που να προσαρμόζεται στο συγκεκριμένο σύνολο δεδομένων. Το μέτρο γειτνίασης αναφέρεται στην ομοιότητα δύο αντικειμένων (δηλαδή διανύσματα γνωρισμάτων). Η επιλογή των γνωρισμάτων πρέπει να γίνεται προσεχτικά ώστε η συμβολή τους να είναι ισοδύναμη κατά τον υπολογισμό του μέτρου γειτνίασης και να μην υπερισχύει το ένα έναντι του άλλου. Το κριτήριο ομαδοποίησης εκφράζεται βάση μιας συνάρτησης κόστους ή κάποιου άλλου τύπου κανόνα. Είναι σημαντικό να γνωρίζουμε τον τύπο των ομάδων που θα 11

18 προκύψουν από το σύνολο δεδομένων, για να διαλέξουμε το κατάλληλο κριτήριο που θα ταιριάζει στο σύνολο δεδομένων και θα έχει ως αποτέλεσμα μία επιτυχημένη τμηματοποίηση. Επικύρωση αποτελεσμάτων: Σε αυτή τη φάση αξιολογούνται τα αποτελέσματα του αλγορίθμου ομαδοποίησης σύμφωνα με κατάλληλα κριτήρια ορθότητας της ομαδοποίησης και τεχνικές. Παράδειγμα ενός τέτοιου κριτηρίου είναι η σύγκριση των αποτελεσμάτων της ανάλυσης με κάποια ήδη γνωστά αποτελέσματα ή η σύγκριση των αποτελεσμάτων δύο διαφορετικών ομαδοποιήσεων. Η ποιότητα της ομαδοποίησης εξαρτάται από την ομοιότητα (δηλαδή μεγάλη ομοιότητα εντός της ομάδας - μικρή ομοιότητα μεταξύ των ομάδων) και την μέθοδο υλοποίησης της ομαδοποίησης. Ερμηνεία των αποτελεσμάτων: Αποτελεί το τελευταίο στάδιο της διαδικασίας ομαδοποίησης, όπου οι αναλυτές καλούνται να εξάγουν γνώση από τις παραχθείσες ομάδες, συνδυάζοντας κι άλλα στοιχεία και αναλύσεις, με σκοπό το καλύτερο και εγκυρότερο αποτέλεσμα. Η ομαδοποίηση δεδομένων βρίσκει εφαρμογές σε διάφορους τομείς της πληροφορικής όπως στην αναγνώριση προτύπων, στην εξόρυξη γνώσης, στην ανάκτηση δεδομένων, στην τεχνητή νοημοσύνη και στη μηχανική μάθηση. Ορισμένα παραδείγματα εφαρμογής της ομαδοποίησης δεδομένων είναι τα παρακάτω: (9) Μείωση των δεδομένων: η ομαδοποίηση μπορεί να χρησιμοποιηθεί με σκοπό την συμπίεση των δεδομένων. Στην περίπτωση δηλαδή ενός μεγάλου συνόλου δεδομένων, η ομαδοποίηση δύναται αρχικά να το τμηματοποιήσει σε ομάδες, και ύστερα να επεξεργαστεί τους αντιπροσώπους τους, αντί τα δεδομένα ξεχωριστά. Παραγωγή υπόθεσης: η ομαδοποίηση εφαρμόζεται, με σκοπό την διαπίστωση τυχόν υποθέσεων που μπορεί να προκύψουν μετά από την επεξεργασία ενός συνόλου δεδομένων. Για παράδειγμα, είναι δυνατό να βρεθούν δύο μεγάλες ομάδες πελατών, με βάση την ηλικία τους και την χρονική στιγμή που κάνουν τις αγορές τους. Έτσι, μπορούμε να διαπιστώσουμε ότι λ.χ. «οι νέοι προτιμούν να κάνουν τα ψώνια τους τις βραδινές ώρες», ενώ «οι μεγαλύτεροι σε ηλικία κάνουν τα ψώνια τους κυρίως τις πρωινές ώρες». Έλεγχος υπόθεσης: μπορεί να χρησιμοποιηθεί η ανάλυση ομάδων για την εξακρίβωση και την αξιολόγηση μίας υπόθεσης. Για παράδειγμα, εάν θέλουμε να εξετάσουμε την υπόθεση «οι μεγαλύτεροι σε ηλικία κάνουν τα ψώνια τους κυρίως τις πρωινές ώρες», πρέπει να συλλέξουμε ένα αντιπροσωπευτικό σύνολο καταστημάτων, τα οποία διαθέτουν στοιχεία των πελατών τους. Αν το αποτέλεσμα της ομαδοποίησης είναι η υπόθεση «οι μεγαλύτεροι σε ηλικία κάνουν τα ψώνια τους κυρίως τις πρωινές ώρες», τότε η υπόθεση επαληθεύεται και από την ανάλυση των ομάδων. Πρόβλεψη βασισμένη σε ομάδες: εφαρμογή της ομαδοποίησης, όπου οι ομάδες που προκύπτουν, χαρακτηρίζονται από τα χαρακτηριστικά των προτύπων που ανήκουν σε αυτές. Αυτά τα πρότυπα μπορούν αργότερα να ταξινομηθούν στις προσδιοριζόμενες ομάδες με βάση 12

19 την ομοιότητά τους στα χαρακτηριστικά των ομάδων.κατά συνέπεια, προκύπτει χρήσιμη γνώση από τα δεδομένα. Παραδείγματος χάριν, εφαρμόζουμε την διαδικασία της ομαδοποίησης σε ένα σύνολο δεδομένων που αφορά ασθενείς μιας συγκεκριμένης νόσου. Το επιθυμητό αποτέλεσμα θα είναι ομάδες ασθενών με βάση την αντίδρασή τους στα ίδια φάρμακα. Έτσι, είναι δυνατό για έναν νέο ασθενή να κατηγοριοποιηθεί στην κατάλληλη ομάδα και να πάρει την σωστή φαρμακευτική αγωγή. 2.2 Ομαδοποίηση κειμένων Γενικά Η ομαδοποίηση κειμένων είναι μια μη-επιβλεπόμενη (unsupervised) διαδικασία, κατά την οποία επιχειρείται ο διαχωρισμός μιας μη κατηγοριοποιημένης συλλογής κειμένων, για τα οποία δεν υπάρχει κάποια προηγούμενη γνώση, σε ομάδες των οποίων τα μέλη διακρίνονται από κοινή θεματολογία. Στο περιβάλλον του Παγκοσμίου Ιστού η ομαδοποίηση κειμένων μπορεί να επιφέρει σημαντικές βελτιώσεις όσον αφορά στον τομέα της Ανάκτησης Πληροφορίας. Ακολουθεί μία παρουσίαση των σημείων στα οποία η ομαδοποίηση κειμένων συμβάλει στη βελτίωση αυτού του τομέα: (3) (10) Ανάκληση (Recall): Στον τομέα της Ανάκτησης Πληροφορίας, με τον όρο ανάκληση ορίζουμε τον λόγο του αριθμού των σχετικών εγγράφων που ανακτήθηκαν κατά την αναζήτηση των αποτελεσμάτων ενός ερωτήματος, προς τον συνολικό αριθμό των σχετικών εγγράφων που υπάρχουν στη συλλογή στην οποία γίνεται το ερώτημα. Η βελτίωση που μπορεί να παρέχει η ομαδοποίηση κειμένων στη μετρική της ανάκλησης γίνεται κατανοητή με το επόμενο παράδειγμα: Έστω ότι έχουμε μία συλλογή αγγλικών κειμένων και ζητάμε να επιστραφούν τα κείμενα τα οποία περιέχουν τον όρο car. Στη γενική περίπτωση τα αποτελέσματα αυτής της αναζήτησης δεν θα περιείχαν κείμενα στα οποία δεν περιέχεται η ίδια η λέξη car αλλά κάποιο συνώνυμο της π.χ. automobile. Παρόλα αυτά, ο συνολικός αριθμός των σχετικών, με την έννοια car, εγγράφων της συλλογής παραμένει ίδιος παρά την ύπαρξη διαφόρων συνωνύμων. Έτσι χρησιμοποιώντας τα αποτελέσματα της ομαδοποίησης, θα μπορούσαμε να βελτιώσουμε το ποσοστό της ανάκλησης, αν αντί να επιστρέφεται μόνο το κείμενο που ταιριάζει στο συγκεκριμένο ερώτημα, να επιστρέφονται όλα τα κείμενα που ανήκουν στην ίδια ομάδα με αυτό. (2.1) 13

20 Η χρήση αυτής της μεθόδου πρέπει να γίνεται προσεκτικά καθώς λόγω τις ύπαρξης διαφορετικών τρόπων με τους οποίους ομαδοποιούνται τα δεδομένα σε κάθε περίπτωση, ίσως να επηρεάζει τα ποσοστά της ακρίβειας, η έννοια της οποίας παρουσιάζεται παρακάτω. Ακρίβεια(Precision): Με τον όρο ακρίβεια περιγράφουμε το ποσοστό των εγγράφων που είναι σχετικά με ένα ερώτημα που έχει τεθεί σε μια συλλογή εγγράφων, προς το συνολικό αριθμό των εγγράφων που έχουν ανακτηθεί. Καθώς ο αριθμός των κειμένων αυξάνεται σε μία συλλογή, μεγαλώνει και ο αριθμός των επιστρεφομένων κειμένων, για ένα ερώτημα, από τη συλλογή αυτή. Έτσι η περιήγηση μέσα στην αδόμητη και αταξινόμητη λίστα των ανακτηθέντων κειμένων μετατρέπεται σε επίπονη διαδικασία. Η ομαδοποίηση κειμένων μπορεί να βελτιώσει αυτήν την κατάσταση, καθώς ο διαχωρισμός των κειμένων σε ομάδες και η ταξινόμηση τους μέσα σε αυτές, ανάλογα με το εκάστοτε ερώτημα, μπορεί να χρησιμοποιηθεί έτσι ώστε να γίνεται ανάκτηση κειμένων μόνο από ομάδες σχετικές με το ερώτημα. (2.2) Διασπορά/Συγκέντρωση(Scatter/Gather): Πάρα την αδιαμφισβήτητη θετική συμβολή της ομαδοποίησης κειμένων στις παραπάνω περιπτώσεις, η εμπειρία έχει δείξει ότι αυτή η συμβολή μπορεί να γίνει ακόμα πιο αποτελεσματική όταν ο χρήστης παρεμβαίνει στον τρόπο που γίνεται η ομαδοποίηση, ανάλογα με τις ανάγκες του. Σε αυτό το σκεπτικό βασίζεται η στρατηγική που ονομάζεται scatter/gather. Η λογική αυτής της μεθόδου είναι, ο χρήστης, να χρησιμοποιεί την ομαδοποίηση σαν βασικό εργαλείο οργάνωσης. Ο στόχος είναι η ενίσχυση της αποδοτικότητας της ανθρώπινης περιήγησης σε μια συλλογή κειμένων, όπου δεν μπορεί να διατυπωθεί επακριβώς ένα συγκεκριμένο ερώτημα αναζήτησης. Ο τρόπος λειτουργίας της μεθόδου είναι παρόμοιος με την τεχνική αναζήτησης που χρησιμοποιείται σε ένα βιβλίο. Όταν υπάρχει ένα συγκεκριμένο ερώτημα, η αναζήτηση πληροφορίας μπορεί να παρομοιαστεί με την αναζήτηση στον πίνακα των όρων που βρίσκεται στο τέλος του βιβλίου, όταν όμως η αναζήτηση πληροφορίας γίνεται πάνω σε μια πιο γενική σκοπιά τότε μπορεί να παρομοιαστεί με την αναζήτηση στον πίνακα των περιεχομένων, στην αρχή του βιβλίου. Η δεύτερη περίπτωση είναι και αυτή στην οποία η συγκεκριμένη μέθοδος επιχειρεί να συμβάλει. Έτσι, κατά τη διάρκεια κάθε επανάληψης της εκτέλεσης της μεθόδου, η συλλογή των κειμένων διαχωρίζεται (scatter) σε ένα σύνολο ομάδων κειμένων, μια σύντομη περιγραφή της κάθε μίας παρουσιάζεται στο χρήστη. Ο χρήστης, με γνώμονα αυτές τις περιγραφές, επιλέγει μία ή περισσότερες ομάδες, οι οποίες δείχνουν σχετικές με αυτό που αναζητά. Οι επιλεγόμενες 14

21 ομάδες συναθροίζονται (gather) και δημιουργούν μία νέα συλλογή, πάνω στην οποία μπορεί να επαναληφθεί η μέθοδος. Μπορούμε, λοιπόν, να πούμε ότι η μέθοδος αυτή, με τη χρήση των τεχνικών ομαδοποίησης κειμένου, δημιουργεί δυναμικά τον πίνακα περιεχομένων μιας συλλογής κειμένων και τον παραμετροποιεί σύμφωνα με τις επιλογές του χρήστη. Ομαδοποίηση σύμφωνα με το ερώτημα(query-specific clustering): Πέρα από την συμβολή της στην ανάκτηση πληροφορίας, όταν πρόκειται για γενικά ερωτήματα, η ομαδοποίηση κειμένων ανοίγει τον δρόμο για τη χρήση τεχνικών που συμβάλλουν στον τομέα αυτόν και όταν πρόκειται για συγκεκριμένα ερωτήματα. Η τεχνική της ιεραρχικής ομαδοποίησης έχει αποδειχτεί πολύ αποτελεσματική (11) σε περιπτώσεις ανάκτησης πληροφορίας με συγκεκριμένο ερώτημα καθώς εντοπίζει τις ομάδες εγγράφων που μπορεί να έχουν σχέση με το ερώτημα και δημιουργεί δυναμικά μέσα σε αυτές εμφωλευμένες ομάδες κειμένων σχετικές με το ερώτημα, τα κείμενα των οποίων επιστρέφονται ως αποτέλεσμα Βασικές Έννοιες Ορισμός του προβλήματος Τα προβλήματα ομαδοποίησης είναι, κατά κύριο λόγο, προβλήματα βελτιστοποίησης. Στόχος είναι η επιλογή του καλύτερου διαχωρισμού των δεδομένων, από ένα σύνολο εναλλακτικών λύσεων, σύμφωνα με τη δεδομένη συνάρτηση ποιότητας της ομαδοποίησης. Μία διεργασία ομαδοποίησης δεδομένων περιλαμβάνει τα εξής στάδια: (12) Αναπαράσταση του προβλήματος, συμπεριλαμβανομένης της εξαγωγής ή επιλογής των χαρακτηριστικών των δεδομένων. Ορισμός του κατάλληλου για τον τομέα, μέτρου εγγύτητας. Το στάδιο της ομαδοποίησης. Αφαίρεση των δεδομένων(data abstraction). Αξιολόγηση Πέρα από τον γενικό ορισμό του προβλήματος της ομαδοποίησης, η ομαδοποίηση δεδομένων σε μορφή κειμένου έχει κάποια ειδικά χαρακτηριστικά, τα οποία σχετίζονται με την πλούσια και πολύπλοκη εσωτερική δομή των κειμένων, και δημιουργούν πρόσθετες προκλήσεις (3). Με βάση τα παραπάνω, ακολουθεί η ανάλυση της διαδικασίας της ομαδοποίησης κειμένων σύμφωνα με τον διαχωρισμό των σταδίων που ακολουθούνται, όπως αυτά προαναφέρθηκαν. 15

22 Μοντελοποίηση των δεδομένων Η μοντελοποίηση των κειμένων που συμμετέχουν σε μια διαδικασία ομαδοποίησης γίνεται σύμφωνα με το Μοντέλο Διανυσματικού Χώρου (Vector Space Model). Καθώς είναι αδύνατη η χρήση της αρχικής μορφής των κειμένων ως δεδομένα εισόδου στους αλγορίθμους ομαδοποίησης, το κάθε κείμενο αντικαθίσταται από το αντίστοιχο διάνυσμα στοιχείων (feature vector). Η έννοια στοιχείο περιγράφει μία απλή, αδόμητη οντότητα, το σύνολο των οποίων αποτελεί τον χώρο των στοιχείων, μέσα στον οποίο το κάθε κείμενο αναπαριστάται ως μια ακολουθία τέτοιων στοιχείων με τα αντίστοιχα βάρη τους. Στην συντριπτική πλειοψηφία των περιπτώσεων μοντελοποίησης κειμένων με σκοπό την ομαδοποίηση τους το κάθε στοιχείο δεν είναι τίποτα άλλο από κάθε μοναδική λέξη μου υπάρχει στη συλλογή κειμένων. Αντίστοιχα ο αριθμός των διαστάσεων του διανύσματος που αντιπροσωπεύει κάθε κείμενο της συλλογής είναι ίσος με τον συνολικό αριθμό μοναδικών λέξεων που υπάρχουν σε αυτά. Ο προσδιορισμός βαρών σε κάθε στοιχείο του διανύσματος μπορεί να γίνει με διάφορους τρόπους. Ο πιο απλός είναι ο δυαδικός προσδιορισμός βαρών κατά τον οποίο το κάθε στοιχείο του διανύσματος μπορεί να λάβει είτε την τιμή 1, εάν η αντίστοιχη λέξη υπάρχει στο κείμενο στο οποίο αντιστοιχεί το διάνυσμα ή 0 αν συμβαίνει το αντίθετο. Βέβαια, για την εξαγωγή ποιοτικότερων ομάδων κειμένων κατά τη διαδικασία της ομαδοποίησης, τα βάρη των αντίστοιχων διανυσμάτων προσδιορίζονται με πιο πολύπλοκα μοντέλα από το δυαδικό. Τα δύο επικρατέστερα είναι τα μοντέλα tf (term-frequency) και tf-idf (term frequency-inverse document frequency). Στον προσδιορισμό βαρών στα στοιχεία των διανυσμάτων, με βάση το μοντέλο tf, το βάρος του κάθε στοιχείου-λέξης σε ένα διάνυσμα είναι η συχνότητα με την οποία εμφανίζεται η λέξη αυτή στο κείμενο το οποίο αναπαριστάται με το συγκεκριμένο διάνυσμα. Με την ίδια λογική χρησιμοποιείται η συχνότητα εμφάνισης της κάθε λέξης μέσα σε ένα κείμενο και από το μοντέλο tf-idf με τη διαφορά ότι στην περίπτωση αυτή, το μέτρο αυτό συνδυάζεται με ακόμα ένα παράγοντα που ονομάζεται inverse document frequency (idf). Αναλυτικότερα, στο μοντέλο προσδιορισμού βαρών tf-idf, η συχνότητα εμφάνισης μιας λέξης πολλαπλασιάζεται με τον παράγοντα idf ο οποίος αποτελεί τον αντίστροφο του αριθμού των κειμένων στα οποία υπάρχει αυτή η λέξη(df-document frequency). Η συχνότητα εμφάνισης της λέξης στα κείμενα δεν επηρεάζει τον υπολογισμό του df. Έτσι για μία λέξη w i σε μια συλλογή κειμένων, ισχύει: (2.3) 16

23 Το επόμενο, απλουστευμένο παράδειγμα, επιχειρεί να συμβάλει στην κατανόηση των παραπάνω: Παράδειγμα 2.1 Έστω ότι έχουμε μια συλλογή που αποτελείται από δύο αγγλικά κείμενα doc1 και doc2, το καθένα από τα οποία περιέχει μια και μόνο πρόταση. Doc1: Would you like something to drink or to eat? Doc2: Very nice to have you here, you rock! Ο χώρος των στοιχείων της συλλογής αντιπροσωπεύεται από τον παρακάτω πίνακα: 1 drink 2 eat 3 have 4 here 5 like 6 nice 7 or 8 rock 9 something 10 to 11 you 12 very 13 would Με βάση τον παραπάνω πίνακα θα δημιουργήσουμε τα διανύσματα που αντιπροσωπεύουν τα δύο κείμενα σύμφωνα με το τρία μοντέλα προσδιορισμού βαρών που προαναφέρθηκαν. Ο αριθμός των διαστάσεων των διανυσμάτων θα είναι ίσος με τον αριθμό των ξεχωριστών στοιχείων της συλλογής, δηλαδή 13. Αρχικά θα υπολογίσουμε τα διανύσματα που προκύπτουν από τα δύο πρώτα μοντέλα προσδιορισμού βαρών, ενώ θα ακολουθήσει αναλυτικός υπολογισμός των διανυσμάτων με το τρίτο μοντέλο που είναι και το πιο περίπλοκο. binary tf # Term doc 1 doc2 doc1 doc2 1 Drink Eat Have Here Like

24 6 Nice Or Rock something To You Very would Άρα τα διανύσματα των δύο κειμένων με βάση το δυαδικό μοντέλο προσδιορισμού βαρών είναι: Vector1(doc1) : <1,1,0,0,1,0,1,0,1,1,1,0,1> Vector2(doc2): <0,0,1,1,0,1,0,1,0,1,1,1,0> Σύμφωνα με το μοντέλο tf: Vector1(doc1) : <1,1,0,0,1,0,1,0,1,1,1,0,1> Vector2(doc2): <0,0,1,1,0,1,0,1,0,1,2,1,0> tf tf*idf # term df* idf doc1 doc2 doc1 doc2 1 drink eat have here like nice or rock something to 2 ½ 1 1 ½ ½ 11 you 2 ½ 1 2 ½ 1 12 very would *df: Ο αριθμός των κειμένων στον οποίο υπάρχει η λέξη Σύμφωνα με τον παραπάνω πίνακα προκύπτει ότι οι τιμές των διανυσμάτων για τα δύο κείμενα της συλλογής σύμφωνα με το μοντέλο προσδιορισμού βαρών tf-idf είναι: Vector1(doc1) : <1,1,0,0,1,0,1,0,1,,,0,1> Vector2(doc2): <0,0,1,1,0,1,0,1,0,,1,0> 18

25 Ένα πρόβλημα που συναντάται όταν γίνεται χρήση του μοντέλου tf-idf είναι ότι αν μία λέξη εμφανίζεται συχνά μέσα σε μια συλλογή κειμένων, η τιμή df (document frequency) για την λέξη αυτή θα είναι πολύ μεγάλη οπότε αντίστοιχα η τιμή idf θα είναι πολύ μικρή. Αυτό έχει ως αποτέλεσμα το βάρος που θα έχει η διάσταση του διανύσματος για τη συγκεκριμένη λέξη να μειώνεται σημαντικά. Για την αποφυγή αυτών των περιπτώσεων, συνήθως επιλέγεται να γίνει κανονικοποίηση της τιμής idf, πολλαπλασιάζοντας την με κάποια σταθερά, πριν την συμμετοχή της στον υπολογισμό του βάρους. Συνήθως αυτή η σταθερά είναι ο συνολικός αριθμός Ν των κειμένων της συλλογής. Ισχύει δηλαδή: Παρόλα αυτά, ούτε αυτός ο τρόπος υπολογισμού της τιμής idf δεν αποτελεί την ιδανική λύση καθώς σε παραδείγματα του πραγματικού κόσμου, ο αριθμός των κειμένων μιας συλλογής Ν είναι αρκετά μεγάλος, έτσι ώστε η παρουσία του στον υπολογισμό του βάρους μιας διάστασης του διανύσματος να επισκιάζει την τιμή tf. Για την αντιμετώπιση αυτού του προβλήματος, συνήθως, επιλέγεται η λογαρίθμηση της τιμής idf, όπως φαίνεται στον παρακάτω τύπο: (2.4) (2.5) Και τελικά το βάρος W i της διάστασης του διανύσματος, για μία λέξη w i είναι: Η ανωτερότητα της μεθόδου tf-idf για των προσδιορισμό βαρών των διαστάσεων των διανυσμάτων έγκειται στο γεγονός ότι σε ένα κείμενο υπάρχουν δύο περιπτώσεις μία λέξη να έχει υψηλή συχνότητα εμφάνισης. Η πρώτη περίπτωση είναι η λέξη αυτή να σχετίζεται με το θέμα του κειμένου και έτσι να αναφέρεται συχνά μέσα σ αυτό, ενώ η δεύτερη είναι να πρόκειται για μία κοινή λέξη της γλώσσας όπως είναι οι αγγλικές a, an, the, is κτλ., οι οποίες στον τομέα της εξόρυξης κειμένων (text mining) αποκαλούνται και stop-words. Όπως είναι λογικό, επιθυμούμε οι λέξεις που ανήκουν στην πρώτη περίπτωση να λαμβάνουν μεγάλο βάρος ενώ οι λέξεις που ανήκουν στη δεύτερη μικρό, καθώς δεν προσδίδουν πληροφορία για το θέμα του κειμένου. Αυτό επιτυγχάνεται λόγω του παράγοντα idf καθώς η συχνότητα παρουσίας των κοινών λέξεων (stop-words) στα κείμενα είναι μεγάλη και συνεπώς η τιμή του βάρους της λέξης στο διάνυσμα θα είναι μικρή, διότι είναι αντιστρόφως ανάλογη της συχνότητας αυτής. Αντίθετα, αναμένεται ότι στα κείμενα μιας συλλογής, η συχνότητα εμφάνισης των λέξεων που χαρακτηρίζουν τη θεματολογία τους θα είναι μικρή καθώς αυτές θα βρίσκονται μόνο σε κείμενα με παρόμοιο θέμα. Έτσι ο παράγοντας idf θα είναι μεγάλος και αντίστοιχα θα είναι μεγάλο και το βάρος αυτών των λέξεων. Σε αυτό το σημείο αξίζει να αναφερθεί ότι παρά το ότι, η έννοια «στοιχείο» στο χώρο των διανυσμάτων τα οποία αντιπροσωπεύουν τα κείμενα, συνήθως αντιστοιχεί στις μεμονωμένες λέξεις που υπάρχουν στη συλλογή κειμένων, κάποιες φορές έχει νόημα για την ποιότητα της ομαδοποίησης κάποιες λέξεις να μην θεωρούνται από μόνες τους μία διάσταση του (2.6) 19

26 διανύσματος αλλά σε συνδυασμό με άλλες λέξεις. Παράδειγμα τέτοιων περιπτώσεων αποτελεί ο συνδυασμός των λέξεων Coca Cola όπου κατά την παραγωγή του διανύσματος που αντιπροσωπεύει το κείμενο που περιέχει αυτές τις λέξεις, είναι επιθυμητό αυτές να θεωρούνται ως μία οντότητα και όχι ως δύο ξεχωριστές. Αυτές οι περιπτώσεις αποτελούν τα λεγόμενα n-grams, όπου το n αντικαθιστάται από τον αριθμό των λέξεων που σχηματίζουν την οντότητα όταν αναφερόμαστε σε μια συγκεκριμένη περίπτωση. Έτσι οι λέξεις Coca Cola σχηματίζουν ένα bigram, ενώ οι λέξεις Luther King Jr σχηματίζουν ένα trigram, στην ίδια λογική έχουμε 4-grams, 5-grams, κ.ο.κ. Υπάρχουν διάφοροι τρόποι που επιχειρούν να ανακαλύψουν τα n-grams κατά την προεπεξεργασία των κειμένων που πρόκειται να συμμετάσχουν σε μία διαδικασία ομαδοποίησης και να τα αντιμετωπίσουν σαν ενιαίες οντότητες κατά την παραγωγή των διανυσμάτων. Ένας από αυτούς διαφαίνεται στο παρακάτω παράδειγμα: (13) Παράδειγμα 2.2 Έστω ότι έχουμε ένα κείμενο που αποτελείται από τη φράση It was the best of times, it was the worst of times, ένας τρόπος να αναζητήσουμε τα bigrams σε αυτό το κείμενο είναι να το χωρίσουμε σε ζεύγη λέξεων: It was was the the best best of of times times it it was was the the worst worst of of times Κάποια από αυτά τα ζευγάρια αποτελούν καλούς συνδυασμούς, π.χ. the best, the worst, ενώ κάποια όχι, π.χ. was the. Το ποιά από αυτά τα ζευγάρια θα θεωρηθούν τελικά bigrams που θα αποτελέσουν ενιαίες οντότητες στην παραγωγή των διανυσμάτων αποφασίζεται με τη χρήση πιθανοτικών συναρτήσεων. Για την εξαγωγή των πιθανοτικών συναρτήσεων και των αποτελεσμάτων τους, γίνεται χρήση προεκπαιδευμένων μοντέλων που προκύπτουν από μεγάλες, αντιπροσωπευτικές συλλογές κειμένων. Εκτός από τη βελτίωση της ποιότητας των ομάδων, η εξαγωγή των n-grams από τα κείμενα μιας συλλογής συμβάλει και σε ένα άλλο πρόβλημα της ομαδοποίησης κειμένων, αυτό της μεγάλης διαστασιμότητας των διανυσμάτων. Αυτό συμβαίνει καθώς, όπως είδαμε, συνδυασμός πολλών λέξεων μπορεί να αποτελέσει μία μόνο διάσταση στο διάνυσμα του κειμένου. 20

27 Υπάρχουν και άλλες τεχνικές για την αντιμετώπιση του προβλήματος της μεγάλης διαστασιμότητας των διανυσμάτων. Συνήθως, στην πράξη, αυτές οι τεχνικές συνδυάζονται ώστε να υπάρξει βελτίωση του αποτελέσματος. Αναφέρουμε επιγραμματικά κάποιες από αυτές: Ολική αφαίρεση stop-words. Εδώ, κατά την προεπεξεργασία των κειμένων, δίνεται ένα σύνολο κοινών λέξεων της γλώσσας (όπως οι αγγλικές a, an, the κτλ.) οι οποίες υπάρχουν συνήθως σε κάθε κείμενο. Αυτές οι λέξεις αφαιρούνται από όλα τα κείμενα πριν την παράγωγη των διανυσμάτων που τα αντιπροσωπεύουν. Αφαίρεση λέξεων με μεγάλο df (document frequency). Σε αυτήν την περίπτωση ορίζεται ένα κατώφλι το όποιο αποτελείται από το μέγιστο ποσοστό των κειμένων στα οποία μπορεί να υπάρχει μία λέξη. Έτσι μετά τον υπολογισμό του df για κάθε λέξη, αν αυτό ξεπερνά την τιμή του κατωφλιού, τότε η λέξη αυτή δεν υπολογίζεται κατά την παραγωγή των διανυσμάτων των κειμένων. Για παράδειγμα αν έχουμε ορίσει τιμή κατωφλιού το 90%, όλες οι λέξεις οι οποίες συμμετέχουν σε ποσοστό από 90% και πάνω των κειμένων τις συλλογής θα αφαιρεθούν από αυτά πριν την παραγωγή των διανυσμάτων. Αντιμετώπιση θεμάτων που προκύπτουν από τη φύση της εκάστοτε γλώσσας. Για παράδειγμα η αντιμετώπιση των συνωνύμων τα οποία μπορεί να υπάρχουν σε ένα κείμενο ως μία ενιαία διάσταση και όχι σαν ξεχωριστές για την κάθε λέξη (3) Μέτρα απόστασης Η αναπαράσταση των κειμένων σε διανύσματα διευκολύνει τη διενέργεια των απαραίτητων υπολογισμών για την ανεύρεση ομάδων. Οι υπολογισμοί αυτοί αφορούν στη μέτρηση των αποστάσεων μεταξύ των διανυσμάτων στο χώρο, έτσι ώστε αυτές να χρησιμοποιηθούν από τους αλγορίθμους ομαδοποίησης ως σημείο αναφοράς κατά την διαδικασία ανεύρεσης των ομάδων κειμένων. Στον τομέα της ομαδοποίησης κειμένων χρησιμοποιούνται διάφορες μετρικές που υπολογίζουν την απόσταση μεταξύ των διανυσμάτων. Οι μετρικές αυτές αναφέρονται ως μέτρα ομοιότητας ή μέτρα απόστασης, και η επιλογή ενός από αυτά σε συνδυασμό με την επιλογή του αλγορίθμου ομαδοποίησης μπορούν να επηρεάσουν σημαντικά το τελικό αποτέλεσμα. Στη συνέχεια περιγράφονται τα βασικότερα μέτρα απόστασης. Μέτρο Ευκλείδειας Απόσταση (Euclidean Distance Measure): Η απόσταση μεταξύ των διανυσμάτων υπολογίζεται με βάση τον τύπο της ευκλείδειας απόστασης. ( ) ( ) ( ) (2.7) Έτσι αν για παράδειγμα έχουμε δύο διανύσματα V 1 :<a 1, a 2,.., a n > και V 2 :<b 1, b 2,.., b n > η μεταξύ τους απόσταση ορίζεται ως: 21

28 ( ) ( ) ( ) (2.8) Μέτρο του τετραγώνου της Ευκλείδειας Απόστασης (Squared Euclidean Distance Measure): Όπως προδίδει και το όνομα του πρόκειται για μια παραλλαγή της Ευκλείδειας απόστασης, με την ιδιαιτερότητα ότι σε αυτή την περίπτωση το μέτρο της απόστασης δύο διανυσμάτων είναι η Ευκλείδεια απόσταση τους υψωμένη στο τετράγωνο. Δηλαδή, από τον τύπο: ( ) ( ) ( ) (2.9) Έτσι η απόσταση δύο διανυσμάτων, V 1 :<a 1, a 2,.., a n > και V 2 :<b 1, b 2,.., b n >, υπολογίζεται βάσει της σχέσης: ( ) ( ) ( ) (2.10) Μέτρο της απόστασης Manhattan (Manhattan Distance Measure): Η απόσταση Manhattan δύο διανυσμάτων υπολογίζεται αθροίζοντας τις απόλυτες τιμές των διαφορών των αντίστοιχων συνιστωσών τους. ( ) ( ) (2.11) Συγκεκριμένα, για δύο διανύσματα, V 1 :<a 1, a 2,.., a n > και V 2 :<b 1, b 2,.., b n > η απόστασή τους υπολογίζεται βάσει της σχέσης: (2.12) Αξίζει να σημειωθεί ότι τα μέτρα απόστασης Euclidean Distance Measure και Manhattan Distance Measure αποτελούν ειδικές περιπτώσεις ενός άλλου μέτρου, που στη βιβλιογραφία αναφέρεται ως Minkowski Distance Measure και περιγράφεται από τον τύπο: για p = 2 και p = 1 αντίστοιχα. ( ) ( ) ( ) (2.13) Εικόνα 2.1: Σύγκριση της Ευκλείδειας απόστασης και της απόστασης Manhattan. 22

29 Μέτρο Απόστασης Συνημίτονου(Cosine Distance Measure): Το μέτρο Απόστασης Συνημίτονου εξαρτάται από την γωνία την οποία σχηματίζουν τα διανύσματα στο χώρο. Διαισθητικά, όταν η γωνία μεταξύ των διανυσμάτων είναι μικρή αυτά δείχνουν προς την ίδια κατεύθυνση και η απόσταση μεταξύ τους είναι σχετικά μικρή. Η τιμή του συνημίτονου αυτής της γωνίας είναι κοντά στο 1 όσο αυτή είναι μικρή, και μειώνεται όσο αυτή μεγαλώνει. Η εξίσωση απόστασης συνημίτονου, αφαιρεί από τη μονάδα την τιμή του συνημίτονου που σχηματίζουν δύο διανύσματα με αποτέλεσμα όταν αυτά είναι κοντά η τιμή της απόστασης να πλησιάζει στο 0, αλλιώς να αυξάνεται. Ο τύπος που δίνει το συνημίτονο της γωνίας θ που σχηματίζουν δύο διανύσματα Α και Β είναι: ( ) ( ) ( ) (2.14) Προκύπτει λοιπόν ότι η απόσταση d δύο διανυσμάτων, V 1 :<a 1, a 2,.., a n > και V 2 :<b 1, b 2,.., b n >, υπολογίζεται βάσει της σχέσης: ( ) ( )( ) (2.15) Θα πρέπει να σημειωθεί ότι το μέτρο απόστασης συνημίτονου δεν εξαρτάται από τα μήκη των διανυσμάτων, αλλά από τη κατεύθυνση τους. Η τιμή της απόστασης των διανυσμάτων κυμαίνεται από 0, αν τα διανύσματα έχουν την ίδια κατεύθυνση, έως 2, αν τα διανύσματα έχουν αντίθετη κατεύθυνση. Στην περίπτωση όμως που το μέτρο χρησιμοποιείται για την απόσταση κειμένων τα οποία αναπαριστώνται στο Μοντέλο Διανυσματικού χώρου με χρήση του μοντέλου tf-idf (ή tf) για την ανάθεση βαρών, το εύρος τιμών του είναι στο διάστημα [0,1], καθώς οι συχνότητες των λέξεων δεν λαμβάνουν αρνητικές τιμές. Στην ομαδοποίηση κειμένων το μέτρο απόστασης συνημίτονου συνήθως δίνει ποιοτικότερα αποτελέσματα σε σχέση με την Ευκλείδεια απόσταση (3) (13). Μέτρο Απόστασης Tanimoto (Tanimoto Distance Measure): Σε αντίθεση με την Ευκλείδεια απόσταση η οποία υπολογίζει την απόσταση μεταξύ δύο διανυσμάτων ανάλογα με το μέτρο τους, αλλά και με την απόσταση Συνημίτονου που υπολογίζει την απόσταση μόνο σύμφωνα με τη γωνία που αυτά σχηματίζουν, το μέτρο απόστασης Tanimoto (ή Jaccard όπως αλλιώς ονομάζεται), συνδυάζει και τους δύο αυτούς παράγοντες. Έτσι για παράδειγμα, σε ένα δείγμα τριών δισδιάστατων διανυσμάτων A(1.0,1.0), B(3.0,3.0) και C(3.5,3.5), η απόσταση, ανά δύο, σύμφωνα με το μέτρο συνημίτονου θα είναι 0, παρόλο που διαισθητικά τα διανύσματα Β και C είναι κοντινότερα μεταξύ τους, κάτι που θα φανεί στη μέτρηση της απόστασης σύμφωνα με το μέτρο της Ευκλείδειας απόστασης χωρίς όμως να υπολογιστεί σε αυτήν η κοινή τους 23

30 διεύθυνση, ενώ το μέτρο απόστασης Tanimoto θα κάνει χρήση και των δύο πληροφοριών για τον υπολογισμό των αποστάσεων. Η σχέση, λοιπόν, που υπολογίζει την απόσταση μεταξύ δύο διανυσμάτων V 1 :<a 1, a 2,.., a n > και V 2 :<b 1, b 2,.., b n > είναι η εξής: ( ) ( )( ) ( ) (2.16) To Tanimoto Distance Measure θεωρείται από τα καταλληλότερα για την ομαδοποίηση κειμένων. (13) Μέτρο Απόστασης Συσχέτισης Pearson (Pearson Correlation Distance Measure): Σύμφωνα με τη βιβλιογραφία (14), αυτό το μέτρο χρησιμοποιεί μια περισσότερο πολύπλοκη σχέση για να υπολογίσει την ομοιότητα μεταξύ δύο διανυσμάτων, έστω V 1 :<a 1, a 2,.., a n > και V 2 :<b 1, b 2,.., b n >, ο τύπος της οποίας είναι: ( ) [ ][ ] (2.17) όπου, και. Η απόσταση d, μεταξύ των διανυσμάτων δίνεται από τη σχέση:, για και (2.18), για (2.19) και κυμαίνεται μεταξύ του διαστήματος [-1,1], όπου 1 είναι η τιμή της απόστασης δύο όμοιων διανυσμάτων Αλγόριθμοι Ομαδοποίησης Υπάρχουν διάφορες κατηγορίες αλγορίθμων που επιχειρούν να επιλύσουν το πρόβλημα της ομαδοποίησης κειμένων. Οι δύο μεγαλύτερες κατηγορίες είναι: i) αυτή που αποτελείται από αλγορίθμους που επιχειρούν επίπεδη ομαδοποίηση (flat clustering), και ii) αυτή που αποτελείται από αλγορίθμους που επιχειρούν ιεραρχική ομαδοποίηση (hierarchical clustering). Κατά την επίπεδη ομαδοποίηση το αποτέλεσμα που παράγεται είναι ανεξάρτητες ομάδες που αποτελούνται από τα κείμενα της συλλογής, ενώ κατά την ιεραρχική, γίνεται επανάληψη της διαδικασίας στις παραγόμενες ομάδες με αποτέλεσμα την δημιουργία μικρότερων ομάδων κειμένων που είναι εμφωλευμένες σε μεγαλύτερες ομάδες. 24

31 Ανάλογα με τον αλγόριθμο που χρησιμοποιείται κατά την ομαδοποίηση των κειμένων, οι παραγόμενες ομάδες μπορεί να είναι σαφείς (hard clusters) ή ασαφείς (soft clusters). Οι σαφείς ομάδες είναι το αποτέλεσμα του τύπου της ομαδοποίησης κειμένων κατά τον οποίο το κάθε κείμενο μπορεί να ανήκει σε μία και μόνο ομάδα. Αντίθετα στις ασαφείς ομάδες τα κείμενα μπορεί να συμμετέχουν σε διάφορες ομάδες με κάποιο ποσοστό συμμετοχής στην κάθε μία. Το θέμα της βελτιστοποίησης του προβλήματος της ομαδοποίησης είναι γενικά δύσκολο υπολογιστικά. Ένας αλγόριθμος ωμής βίας (brute force) για την επίπεδη ομαδοποίηση n στοιχείων με δημιουργία k σαφών ομάδων, θα πρέπει να εξετάσει k n /k! πιθανούς διαχωρισμούς. Κάτι τέτοιο καθιστά απαγορευτική την προσπάθεια ακριβούς επίλυσης του προβλήματος της βελτιστοποίησης και προσανατολίζει το εγχείρημα της ομαδοποίησης κειμένων στην εύρεση λύσεων με τη χρήση άπληστων αλγορίθμων (greedy algorithms). Τέλος, μια ακόμη βασική κατηγοριοποίηση των αλγόριθμων ομαδοποίησης, όπως αναφέρθηκε και στην Ενότητα 1.2 είναι σε: συσσωρευτικούς (agglomerative), διαιρετικούς (divisive), και ανάμιξης (shuffling). Η διαδικασία της ομαδοποίησης σύμφωνα με τους συσσωρευτικούς αλγορίθμους ξεκινά αναθέτοντας κάθε αντικείμενο από τη συλλογή σε μία ξεχωριστή ομάδα και συνεχίζει με την ενοποίηση των ομάδων ανάλογα με τα κριτήρια του αλγορίθμου. Αντίθετα οι διαιρετικοί αλγόριθμοι ξεκινούν τη διαδικασία ομαδοποίησης εκχωρώντας όλα τα εξεταζόμενα αντικείμενα σε μία ομάδα η οποία διασπάται επαναληπτικά σε μικρότερες ομάδες. Τέλος, οι αλγόριθμοι που ανήκουν στην κατηγορία ανάμιξης δημιουργούν σε κάθε επανάληψη τους ομάδες από τα αντικείμενα, η δομή των οποίων μπορεί να αλλάξει σε επόμενες επαναλήψεις με την αναδιανομή των αντικειμένων σε νέες ομάδες ανάλογα με τις μετρικές που χρησιμοποιούνται (3). Στη συνέχεια ακολουθεί μια αναλυτική παρουσίαση των γνωστότερων αλγορίθμων που χρησιμοποιούνται στην ομαδοποίηση κειμένων (αλλά και δεδομένων γενικότερα). Αλγόριθμος Επίπεδη Ομαδοποίηση Πίνακας 2.1: Κατηγοριοποίηση αλγορίθμων ομαδοποίησης. Ιεραρχική Ομαδοποίηση Συσσωρευτικοί Διαιρετικοί Ανάμιξης Σαφείς Ομάδες Canopy K-means Fuzzy k-means Mean Shift Dirichlet Process LDA Spectral k- means Eigencuts Spectral Ασαφείς Ομάδες 25

32 Canopy (15) Ο αλγόριθμος canopy παρέχει έναν πολύ απλό, γρήγορο και ακριβή τρόπο για την εκχώρηση των αντικειμένων σε ομάδες. Ο αλγόριθμος κάνει χρήση των διανυσμάτων στα οποία έχουν μοντελοποιηθεί τα δεδομένα και υπολογίζει την απόσταση μεταξύ τους σύμφωνα με κάποιο από τα μέτρα απόστασης. Επίσης δέχεται σαν είσοδο και δύο τιμές Τ 1 και Τ 2, για τις οποίες ισχύει η σχέση Τ 1 > Τ 2, οι οποίες αποτελούν τιμές κατωφλιών απόστασης. Στη συνέχεια παρουσιάζονται τα βήματα που ακολουθούνται κατά την εκτέλεση του αλγορίθμου. Βήμα 1: Η διαδικασία ομαδοποίησης ξεκινά με την τυχαία επιλογή ενός διανύσματος από τα συνολικά δεδομένα και τη δημιουργία μιας πρώιμης ομάδας (canopy) που αποτελείται από αυτό. Βήμα 2: Εξετάζεται η απόσταση των υπόλοιπων διανυσμάτων από το αρχικά επιλεγόμενο και αν αυτή είναι μικρότερη της τιμής Τ 1 τότε αυτά εκχωρούνται στην ομάδα του. Βήμα 3: Ελέγχεται αν η τιμή της απόστασης, για ένα διάνυσμα, είναι μικρότερη και από την τιμή Τ 2, τότε αυτό αφαιρείται τελείως από το σύνολο των υπό εξέταση δεδομένων, ώστε να αποφευχθεί η περαιτέρω επεξεργασία του. Βήμα 4: Επιστροφή στο Βήμα 1 και επανάληψη της διαδικασίας δημιουργώντας ένα σύνολο από ομάδες (canopies) όπου η κάθε μία αποτελείται από ένα ή περισσότερα στοιχεία. Βήμα 5: Ο αλγόριθμος τερματίζει όταν όλα τα στοιχεία αφαιρεθούν από το αρχικό σύνολο. Συνήθως ο αλγόριθμος canopy χρησιμοποιείται σαν το πρώτο στάδιο πιο αυστηρών τεχνικών ομαδοποίησης, όπως αυτές που γίνονται με τη χρήση του αλγορίθμου k-means που παρουσιάζεται αμέσως μετά. k-means (16) Πρόκειται ίσως για τον πιο διαδεδομένο αλγόριθμο ομαδοποίησης. Δέχεται ως είσοδο αριθμητικά δεδομένα, δηλαδή τα διανύσματα τα οποία αντιστοιχούν στα προς ομαδοποίηση κείμενα, και έναν αριθμό k ο οποίος συμβολίζει τον αριθμό των ομάδων που ο χρήστης επιθυμεί να παραχθούν. Επίσης, ο αλγόριθμος δέχεται ως παράμετρο μία μετρική σύμφωνα με την οποία θα υπολογιστούν οι αποστάσεις των διανυσμάτων, η οποία συνήθως είναι μία από αυτές που παρουσιάστηκαν στην Ενότητα , και μία τιμή κατωφλιού, η χρήση της οποίας γίνεται κατανοητή στο Βήμα 4 του αλγορίθμου ο οποίος παρουσιάζεται στη συνέχεια: Βήμα 1: Αρχικά ο αλγόριθμος επιλέγει τυχαία k διανύσματα από το αρχικό σύνολο τα οποία ορίζει ως τα αρχικά κέντρα των ομάδων. Βήμα 2: Τα υπόλοιπα διανύσματα εκχωρούνται στις ομάδες από το κέντρο των οποίων απέχουν τη μικρότερη απόσταση, σύμφωνα με το επιλεγμένο μέτρο απόστασης. Βήμα 3: Υπολογίζεται εκ νέου το κέντρο της κάθε ομάδας σύμφωνα με το μέσο ορό όλων των διανυσμάτων που ανήκουν σ αυτές. 26

33 Βήμα 4: Επιστροφή στο Βήμα 2 και επανάληψη μέχρις ότου τα νέα κέντρα των ομάδων να απέχουν από τα προηγούμενα, ένα προς ένα, απόσταση μικρότερη από την τιμή κατωφλιού που όρισε ο χρήστης. Βήμα 5: Στο στάδιο της επανάληψης κατά το οποίο τα κέντρα των ομάδων μετακινήθηκαν απόσταση μικρότερη από την τιμή του κατωφλιού, θεωρούμε ότι ο αλγόριθμος συγκλίνει, οι ομάδες που δημιουργήθηκαν κατά την τελευταία επανάληψη είναι οι τελικές, και ο αλγόριθμος τερματίζει. Είναι αποδεδειγμένο ότι ο αλγόριθμος συγκλίνει έπειτα από πεπερασμένο αριθμό επαναλήψεων. Οι ομάδες που δημιουργούνται τελικά είναι σαφείς ομάδες, με την έννοια ότι τα στοιχεία που αποτελούν μία ομάδα ανήκουν αποκλειστικά σε αυτήν και σε καμία άλλη ομάδα. Fuzzy k-means (17) Ο αλγόριθμος αυτός, που συναντάται στη βιβλιογραφία και ως fuzzy c-means, αποτελεί μια επέκταση του κλασικού αλγορίθμου k-means. Η ιδιαιτερότητα του είναι ότι τα αποτελέσματα της ομαδοποίησης αποτελούνται από ασαφείς ομάδες, δηλαδή από ομάδες των οποίων τα στοιχεία μπορεί να ανήκουν κατά ένα ποσοστό σε αυτές και κατά διαφορετικά ποσοστά σε άλλες ομάδες. Ο Fuzzy k-means λειτουργεί με παρόμοιο τρόπο με τον κλασικό k-means, δέχεται ως είσοδο τα μοντελοποιημένα ως διανύσματα αντικείμενα και τον αριθμό των επιθυμητών ομάδων k. Η επιλογή του αριθμού των ομάδων μπορεί να γίνει με τις μεθόδους που παρουσιάζονται στο τέλος αυτής της υποενότητας. Τα βήματα που ακολουθούνται από τον αλγόριθμο είναι τα εξής: Βήμα 1: Ο αλγόριθμος επιλέγει τυχαία, ή δέχεται σαν είσοδο από τον χρήστη, k διανύσματα και τα ορίζει ως κέντρα των αρχικών ομάδων. Βήμα 2: Υπολογίζει την πιθανότητα με την οποία κάθε διάνυσμα ανήκει σε κάθε ομάδα σύμφωνα με την απόσταση που αυτό απέχει από το διάνυσμα που αποτελεί κέντρο της κάθε ομάδας, με τον υπολογισμό της απόστασης να γίνεται με ένα από τα μέτρα που παρουσιάστηκαν στην Ενότητα Βήμα 3: Αφού γίνει η ανάθεση όλων των διανυσμάτων στις ομάδες και ο υπολογισμός των ποσοστών σύμφωνα με τα οποία το κάθε διάνυσμα ανήκει σε αυτές, υπολογίζονται εκ νέου τα κέντρα τους. Σε αυτό το βήμα εντοπίζεται ξεκάθαρα και η διαφορά του αλγορίθμου από τον κλασικό k-means, καθώς τα διανύσματα συνεισφέρουν στον υπολογισμό των νέων κέντρων των ομάδων ανάλογα με το ποσοστό που ανήκουν σε αυτές. Παραδείγματος χάριν, αν μία ομάδα αποτελείται από τρία διανύσματα, έστω Χ,Υ,Ζ, με τις πιθανότητες συμμετοχής σε αυτήν, σύμφωνα με τη σειρά που αναφέρθηκαν, να είναι 1,1 και 0.5 τότε ο υπολογισμός του νέου κέντρου δίνεται από την εξίσωση: ( ) ( ) ( ) (2.20) 27

34 Βήμα 4: Επιστροφή στο Βήμα 2 και επανάληψη μέχρις ότου τα νέα κέντρα των ομάδων να απέχουν από τα προηγούμενα, ένα προς ένα, απόσταση μικρότερη από την τιμή κατωφλιού που όρισε ο χρήστης. Βήμα 5: Στο στάδιο της επανάληψης κατά το οποίο τα κέντρα των ομάδων μετακινήθηκαν απόσταση μικρότερη από την τιμή του κατωφλιού, θεωρούμε ότι ο αλγόριθμος συγκλίνει, οι ομάδες που δημιουργήθηκαν κατά την τελευταία επανάληψη είναι οι τελικές, και ο αλγόριθμος τερματίζει. Mean Shift (18) Το σημαντικότερο πλεονέκτημα του αλγόριθμου Mean Shift, σε σχέση με τον k-means, είναι ότι δεν απαιτεί εκ των προτέρων γνώση του αριθμού των ομάδων στον οποίο θα χωριστούν τα δεδομένα. Ο αλγόριθμος σχηματίζει απροσδιόριστης μορφής ομάδες δεδομένων με βάση την τοπολογία τους. Συνοπτικά, η διαδικασία που ακολουθείται είναι η εξής: αρχικά δημιουργείται ένα παράθυρο με συγκεκριμένη ακτίνα για κάθε ένα από τα διανύσματα που αντιπροσωπεύουν τα δεδομένα και τα οποία αποτελούν το κέντρο αυτών των παραθύρων. Έπειτα, για κάθε παράθυρο υπολογίζεται το αντίστοιχο mean shift διάνυσμα, του οποίου η διεύθυνση αντιστοιχεί στην μέγιστη αύξηση της τοπικής συνάρτησης πυκνότητας. Στη συνέχεια το κάθε παράθυρο μετακινείται σύμφωνα με αυτό το διάνυσμα. Η διαδικασία επαναλαμβάνεται μέχρι τα παράθυρα να τοποθετηθούν στην περιοχή που αντιστοιχεί στο τοπικό μέγιστο της συνάρτησης πυκνότητας (19). Η Εικόνα 2.2 παρουσιάζει ένα στιγμιότυπο της διαδικασίας, όπου εμφανίζονται τα τοπικά μέγιστα της συνάρτησης πυκνότητας. Εικόνα 2.2:Γραφική απεικόνιση των τοπικών μεγίστων της κανονικοποιημένης συνάρτησης πυκνότητας. Στη συνέχεια επιχειρούμε να κάνουμε πιο κατανοητή την παραπάνω διαδικασία με την αναλυτική παρουσίαση των βημάτων του αλγορίθμου. Βήμα 1: Αρχικά το κάθε διάνυσμα αποτελεί το κέντρο μιας ομάδας. Βήμα 2: Ο αλγόριθμος δέχεται ως είσοδο δύο παραμέτρους, τις Τ 1 και Τ 2, με την πρώτη να αποτελεί την τιμή της ακτίνας των παραθύρων και τη δεύτερη το κατώφλι σύμφωνα με το οποίο αν η απόσταση δύο παραθύρων είναι μικρότερη από αυτό, αυτά να ενοποιούνται και να συνθέτουν μία νέα ομάδα. 28

35 Βήμα 3: Υπολογισμός του mean shift διανύσματος κάθε ομάδας προσθέτοντας τα στοιχεία που την αποτελούν. Το διάνυσμα αυτό κανονικοποιείται και αποτελεί το κέντρο της ομάδας, ενώ στη συνέχεια επιτελείται η ενοποίηση κάποιων ομάδων σύμφωνα με την τιμή Τ 2. Βήμα 4: Επιστροφή στο Βήμα 2 και επανάληψη της διαδικασίας, για τις ίδιες τιμές Τ 1 και Τ 2, σύμφωνα με τις νέες ομάδες που δημιουργήθηκαν. Βήμα 5: Ο αλγόριθμος τερματίζει όταν το mean shift διάνυσμα της κάθε ομάδας έχει μικρότερο μέτρο από ένα όριο προκαθορισμένο από τον χρήστη. Dirichlet Process Clustering (20) Η βασική ιδέα πίσω από την υλοποίηση αυτού του αλγορίθμου είναι η χρήση έτοιμων πιθανοκρατικών μοντέλων για την ανακάλυψη των ομάδων. Η αρχική υπόθεση είναι ότι κάθε αντικείμενο προέρχεται από ένα μοντέλο χωρίς όμως να είναι γνωστή η ταυτότητα του μοντέλου αυτού. Για την εξαγωγή αυτής της πληροφορίας χρησιμοποιείται η λεγόμενη λανθάνουσα (latent) παράμετρος. Βέβαια, η πληροφορία αυτή δεν αποτελεί από μόνη της τη λύση του προβλήματος, αλλά αποτελεί μέρος μιας επαναληπτικής διαδικασίας κατά την οποία γίνεται δειγματοληψία από την κατανομή των μοντέλων και τη λανθάνουσα εκχώρηση των δεδομένων σε αυτά, καθώς και από τις προηγούμενες κατανομές των παραμέτρων των μοντέλων. Τα βήματα που ακολουθεί ο αλγόριθμος είναι τα εξής: Βήμα 1: Η αρχικοποίηση της επαναληπτικής διαδικασίας γίνεται με την τυχαία δειγματοληψία μοντέλων από την αρχική κατανομή των μοντέλων. Βήμα 2: Γίνεται εκχώρηση των δεδομένων στα διάφορα μοντέλα με τη χρήση πιθανοτήτων και του βαθμού ταιριάσματος ανάμεσα στο συγκεκριμένο στοιχείο που εξετάζεται και στο μοντέλο, ο οποίος βαθμός ορίζεται ως η πιθανότητα το στοιχείο αυτό να προήλθε από το συγκεκριμένο μοντέλο. Βήμα 3: Αφού γίνει η εκχώρηση των αντικειμένων σε ομάδες, δειγματοληπτούνται νέες παράμετροι του κάθε μοντέλου από την προηγούμενη κατανομή, υπολογίζοντας πλέον και όλα τα δεδομένα που εκχωρήθηκαν σε κάθε μοντέλο. Τα μοντέλα στα οποία δεν έχει εκχωρηθεί κανένα στοιχείο δειγματοληπτούνται και αυτά αλλά, δεδομένου ότι δεν έχουν στοιχεία, η δειγματοληψία αυτή γίνεται αποκλειστικά βάσει της προηγούμενης κατανομής των παραμέτρων των μοντέλων. Το αποτέλεσμα είναι ένας αριθμός δειγμάτων ο οποίος αντιπροσωπεύει τις μεικτές πιθανότητες, τα μοντέλα και την εκχώρηση των δεδομένων σε αυτά. Τα δείγματα αυτά περιέχουν χρήσιμη πληροφορία η οποία λείπει στις περιπτώσεις απλής ομαδοποίησης όπου γίνεται μία και μόνο εκχώρηση των δεδομένων στις ομάδες. Πρώτον, εξετάζοντας τον αριθμό των μοντέλων, σε κάθε δείγμα, στα οποία έχουν εκχωρηθεί δεδομένα, εξάγεται πληροφορία για το σε πόσα μοντέλα (ομάδες) χωρίζονται τα δεδομένα. Επιπλέον, εξετάζοντας το πόσο συχνά δύο αντικείμενα εκχωρούνται στο ίδιο μοντέλο μπορούμε να έχουμε μία εκτίμηση του 29

36 ποσοστού της πιθανότητας με την οποία τα αντικείμενα αυτά θα ανήκουν όντως σε αυτήν την ομάδα. Latent Dirichlet Allocation (21) Ο αλγόριθμος Latent Dirichlet Allocation (LDA) είναι ένας αποτελεσματικός αλγόριθμος για την αυτόματη εκχώρηση των λέξεων σε διάφορες κατηγορίες και των κειμένων σε συνδυασμούς κατηγοριών. Ο αλγόριθμος αρχικά θεωρεί ότι η συλλογή κειμένων χωρίζεται σε k κατηγορίες, όπου η παράμετρος k δίνεται ως είσοδος από τον χρήστη, και ότι κάθε κείμενο ανήκει, με κάποια πιθανότητα, σε κάθε μία από αυτές. Οι κατηγορίες αποτελούνται από υποσύνολα των λέξεων όλων των κειμένων της συλλογής. Έτσι η πιθανότητα ένα κείμενο να ανήκει σε μία κατηγορία είναι ανάλογη του ποσοστού των λέξεων του κειμένου που υπάρχουν στην κατηγορία αυτή. Ο σκοπός του αλγορίθμου είναι η δημιουργία αυτών των κατηγοριών μέσω της μελέτης των διανυσμάτων που αντιπροσωπεύουν τα κείμενα της συλλογής με βάση τις οποίες θα δημιουργηθούν οι ομάδες κειμένων, όπου, όπως είναι προφανές θα είναι ασαφής. Συνοπτικά, τα βήματα του αλγορίθμου είναι τα εξής: Βήμα 1: Αρχικά οι k κατηγορίες είναι κενές και υπολογίζεται η πιθανότητα κάθε λέξη της συλλογής να ανήκει σε μία από αυτές. Βήμα 2: Γίνεται κατανομή των λέξεων στις κατηγορίες, όπου μία λέξη μπορεί να εκχωρηθεί σε διάφορες κατηγορίες έχοντας διαφορετικά ποσοστά συμμετοχής στην κάθε μία. Βήμα 3: Υπολογίζεται το ποσοστό με βάση το οποίο το κάθε κείμενο ανήκει σε μία κατηγορία. Το αποτέλεσμα της παραπάνω διαδικασίας είναι οι δημιουργία ενός μοντέλου που αποτελείται από τις κατηγορίες που σχηματίζουν οι λέξεις. Η διαδικασία μπορεί να επαναληφθεί μέχρι ο αλγόριθμος να συγκλίνει, σύμφωνα με κάποιο κατώφλι που ορίζει ο χρήστης και είναι σχετικό με το πόσο καλά του μοντέλο που δημιουργήθηκε εκφράζει τα κείμενα της συλλογής. Spectral Clustering Πρόκειται για μέθοδο που οφείλει το όνομα της στη φασματική (spectral) ανάλυση γράφων, η οποία αποτελεί την μελέτη της σχέσης που συνδέει ένα γράφο με τις ιδιοτιμές πινάκων συσχετιζόμενων με το γράφο και στην συγκεκριμένη περίπτωση εκφράζει τον τρόπο με τον οποίο αναπαριστούνται τα δεδομένα προς ομαδοποίηση. Η μέθοδος αυτή μπορεί να υλοποιηθεί με δύο διαφορετικούς αλγόριθμους, τον k-means Spectral (22) και τον Eigencuts Spectral (23). Κάθε, προς ομαδοποίηση, αντικείμενο αναπαριστάται με ένα n-διάστατο αριθμητικό διάνυσμα, αλλά η διαφορά με τους υπόλοιπους αλγορίθμους είναι η ύπαρξη μιας μεθόδου, μέσω της οποίας η σύγκριση μεταξύ των αντικειμένων εκφράζεται ως μονοδιάστατη. Αυτή η n επί n σύγκριση όλων των αντικειμένων παράγει έναν πίνακα γειτνίασης (adjacency matrix) όπου μπορεί να θεωρηθεί ως ένας πλήρης, μη κατευθυνόμενος, σταθμισμένος γράφος όπου η κάθε 30

37 ακμή του συμβολίζει τη σχέση δύο αντικειμένων της συλλογής. Αυτός ο πίνακας αποτελεί και τη βάση πάνω στην οποία λειτουργούν οι δύο φασματικοί αλγόριθμοι ομαδοποίησης. Η εξίσωση με βάση την οποία προκύπτουν οι σχέσεις μεταξύ των αντικειμένων μπορεί να ποικίλει ανάλογα με τις ανάγκες του χρήση. Τα αρχικά βήματα των δύο αλγορίθμων που υλοποιούν τη μέθοδο είναι ίδια και έχουν ως εξής: Βήμα 1: Ο παραγόμενος πίνακας γειτνίασης, Α, πολλαπλασιάζεται με ένα διαγώνιο πίνακα του οποίου τα δεδομένα αποτελούν τα αθροίσματα των γραμμών του Α, με αποτέλεσμα την μετατροπή του Α σε έναν ψευδο-λαπλασιανό πίνακα L. Βήμα 2: Ο πίνακας L διασπάται στα χαρακτηριστικά ιδιοδιανύσματα και στις αντίστοιχες ιδιοτιμές του. Βήμα 3: Από τα εξαγόμενα ιδιοδιανύσματα δημιουργείται ένας μονοδιάστατος πίνακας, U, του οποίου οι τιμές αντιπροσωπεύουν τα πραγματικά δεδομένα. Παράλληλα δημιουργείται ένας πίνακας Λ, ο οποίος αποτελείται από τις αντίστοιχες ιδιοτιμές. Από αυτό το σημείο και μετά ο τρόπος λειτουργίας των δύο αλγορίθμων διαφοροποιείται και ο καθένας ακολουθεί τα εξής βήματα: k-means Spectral Βήμα 4: Στα δεδομένα του πίνακα U εκτελείται ο κλασικός αλγόριθμος k-means και σύμφωνα με τις παραγόμενες ομάδες των ιδιοδιανυσμάτων δημιουργούνται οι αντίστοιχες ομάδες των πραγματικών δεδομένων, που αυτά αντιπροσωπεύουν. Eigencuts Spectral Βήμα 4: Για κάθε ιδιοδιάνυσμα του πίνακα U υπολογίζεται το πόσο σταθερή είναι η αντίστοιχη ροή της πιθανότητας τους μέσα στον γράφο των αρχικών δεδομένων. Το πρόβλημα αυτό συνδέεται εγγενώς με το πρόβλημα min-cut, max-flow για την εύρεση σημείων συμφόρησης ( bottlenecks) σε γράφους (24). Η διαδικασία αυτή, συνοπτικά εξετάζει το πόσο σταθερή παραμένει η γενική ροή του αρχικού γράφου αν διαταραχθεί ο ρυθμός ροής μίας συγκεκριμένης ακμής. Αν γενική ροή του γράφου δεν αλλάξει σημαντικά, το συμπέρασμα που προκύπτει είναι ότι η συγκεκριμένη ακμή δεν αποτελεί σημείο συμφόρησης. Σε αντίθετη περίπτωση, συμπεραίνεται ότι η ακμή αποτελεί σημείο συμφόρησης και η ιδιορροή (eigenflow) της είναι ασταθής. Υπάρχουν συγκεκριμένοι τύποι για τον υπολογισμό αυτών τιμών (23), ενώ η διαδικασία αναφέρεται στη βιβλιογραφία ως υπολογισμός της ευαισθησίας των ιδιοδιανυσμάτων. Βήμα 5: Το βήμα αυτό αναφέρεται ως το βήμα της μη μέγιστης καταστολής και κατά την εκτέλεση του αγνοούνται όλες οι, υπολογισμένες από το προηγούμενο βήμα, ευαισθησίες των ιδιοδιανυσμάτων για τις οποίες υπάρχει μία πιο μικρή ευαισθησία, στην ίδια περιοχή του γράφου. 31

38 Βήμα 6: Οι τιμές ευαισθησιών των ιδιοδιανυσμάτων που δεν αγνοούνται στο προηγούμενο βήμα εξετάζονται και αν είναι μεγαλύτερες από την τιμή κάποιου κατωφλιού που ορίζεται από τον χρήστη τότε οι αντίστοιχες ακμές αποκόπτονται από τον αρχικό γράφο των δεδομένων. Βήμα 7: Η διαδικασία επαναλαμβάνεται από το αρχικό βήμα για κάθε νέο γράφο που προκύπτει από τις αφαιρέσεις ακμών του προηγούμενου βήματος μέχρις ότου να μην προκύψουν νέες αφαιρέσεις ακμών από αυτό το βήμα. Οι παραγόμενες ομάδες προκύπτουν από τη μελέτη των κοινοτήτων που προκύπτουν στον τελικό γράφο των δεδομένων σύμφωνα με τις σχέσεις γειτνίασης τους. Επιλογή του αριθμού των ομάδων Η επιλογή του αριθμού k των ομάδων αποτελεί, ίσως, το δυσκολότερο σημείο για την εκτέλεση των αλγορίθμων που απαιτούν η τιμή αυτή να δοθεί ως είσοδος από τον χρήστη. Υπάρχουν διάφορες τεχνικές για την επιλογή του κατάλληλου k, χωρίς όμως κάποια να υπερισχύει αποδεδειγμένα των υπολοίπων. Συνήθως η επιλογή της κατάλληλης τεχνικής σχετίζεται με κάποια χαρακτηριστικά τα οποία ορίζουν και το είδος της επιθυμητής ομαδοποίησης. Κάποιες από τις τεχνικές αυτές είναι οι εξής: Γενικός Κανόνας (Rule of Thumb) (25): Πρόκειται για απλή και γενικού σκοπού τεχνική όπου το k υπολογίζεται από τη σχέση (2.21) όπου το n συμβολίζει τον συνολικό αριθμό των, προς ομαδοποίηση, αντικειμένων. Επιλογή προσανατολισμένη σε βάσεις δεδομένων κειμένου (26): Στις βάσεις δεδομένων κειμένου μια συλλογή κειμένων ορίζεται ως ένας m x n πίνακας D, όπου το m δηλώνει το συνολικό αριθμό των κειμένων ενώ το n δηλώνει το συνολικό αριθμό των διαφορετικών όρων που υπάρχουν στα κείμενα αυτά. Ο αριθμός k των ομάδων δίνεται από τη σχέση (2.22) όπου το t είναι ο αριθμός των μη μηδενικών στοιχείων του πίνακα D. Να σημειωθεί ότι κάθε γραμμή και κάθε στήλη του πίνακα D πρέπει να περιέχει τουλάχιστον ένα μη μηδενικό στοιχείο. Μέθοδος Elbow: Αυτή η μέθοδος ξεκινά θέτοντας τον αριθμό k ίσο με 1 και αυξάνοντας τον σταδιακά, μετρώντας παράλληλα το ποσοστό διακύμανσης των δεδομένων στις ομάδες σε σχέση με τον αριθμό k. Αρχικά, όσο αυξάνεται το k, αυξάνεται και το οριακό κέρδος στη συνάρτηση της διακύμανσης, όμως μετά από κάποιο k το κέρδος αυτό αρχίζει να μειώνεται σταδιακά. Η τιμή που έχει το k την στιγμή που αρχίζει να μειώνεται ο ρυθμός αύξησης του 32

39 ποσοστού του οριακού κέρδους, είναι αυτή που δίνεται και σαν είσοδος στον αλγόριθμο. Η συνάρτηση διακύμανσης στην προκειμένη περίπτωση είναι γνωστή και με τον όρο F-test και προκύπτει από τον τύπο: ( ) ( ) ( ) ( ) (2.23), ΣΥΜΒΟΛΟ Πίνακας 2.1:Επεξήγηση συμβόλων της εξίσωσης 2.23 ΟΡΙΣΜΟΣ i-οστή ομάδα j-οστό στοιχείο-διάνυσμα Αριθμός στοιχείων της i-οστής ομάδας Κέντρο της i-οστής ομάδας Κέντρο του συνόλου των δεδομένων Συνολικός αριθμός στοιχείων-διανυσμάτων Συνολικός αριθμός ομάδων Η Εικόνα 2.3 παρουσιάζει ένα παράδειγμα του ρυθμού αύξησης της συνάρτησης F σε σχέση με τον αριθμό τον ομάδων, όπου, στη συγκεκριμένη περίπτωση, ο ρυθμός αύξησης της συνάρτησης μειώνεται για αριθμό ομάδων μεγαλύτερο από 4. Έτσι επιλέγεται ως καταλληλότερος αριθμός ομάδων για το συγκεκριμένο παράδειγμα ο αριθμός 4. Εικόνα 2.3: Παράδειγμα του ρυθμού αύξησης του ποσοστού κέρδους της συνάρτησης διακύμανσης σε σχέση με την αύξηση του αριθμού k των ομάδων. Προσέγγιση μέσω διαφόρων Κριτηρίων Πληροφορίας: Πρόκειται για ένα σύνολο μεθόδων που κάνουν χρήση γνωστών Κριτηρίων Πληροφορίας (Information Criteria) όπως τα Akaike IC (AIC), Bayesian IC (BIC) και Deviance IC (DIC) σε συνδυασμό με τη χρήση πιθανοτικών συναρτήσεων για την εύρεση του κατάλληλου αριθμού ομάδων k για ένα σύνολο δεδομένων, δημιουργώντας διάφορα πιθανοτικά μοντέλα. Μέθοδος Jump: (27)Η μέθοδος αυτή προσπαθεί να καθορίσει τον αριθμό των ομάδων k ο οποίος αυξάνει την αποδοτικότητα και παράλληλα μειώνει το ποσοστό λάθους σύμφωνα με 33

40 διάφορα πρότυπα της θεωρίας της πληροφορίας. Η στρατηγική που ακολουθείται είναι η δημιουργία μιας καμπύλης παραμόρφωσης για τα n δεδομένα εισόδου εκτελώντας τον ίδιο τον αλγόριθμο k-means για k από 1 έως n, και ο υπολογισμός αυτής της παραμόρφωσης από τις προκύπτουσες ομάδες κάθε εκτέλεσης του αλγορίθμου. Έπειτα, η καμπύλη παραμόρφωσης μετασχηματίζεται με τη χρήση μιας αρνητικής δύναμης, η επιλογή της οποίας σχετίζεται με το μέγεθος της διαστασιμότητας των προς ομαδοποίηση διανυσμάτων. Τελικά, γίνεται διαδοχική σύγκριση των τιμών της μετασχηματισμένης καμπύλης και ο δείκτης i της θέσης του στοιχείου που έχει τη μεγαλύτερη διαφορά από το προηγούμενο του εκχωρείται στην τιμή k, δηλαδή στον κατάλληλο αριθμό των ομάδων που θα πρέπει να δημιουργήσει ο αλγόριθμος. Ο ακόλουθος ορισμός εξηγεί την έννοια της παραμόρφωσης που χρησιμοποιήθηκε πιο πριν. Έστω ότι μοντελοποιούμε τα προς ομαδοποίηση δεδομένα σαν μία p-διαστάσεων τυχαία μεταβλητή Χ, αποτελούμενη από τα στοιχεία του συνόλου G, μιας μεικτής κατανομής, με κοινή διακύμανση, Γ. Αν θεωρήσουμε ότι τα σημεία c 1,,c k αποτελούν τα κέντρα k ομάδων, με το σημείο c x να αποτελεί το κοντινότερο κέντρο σε ένα δεδομένο δείγμα του Χ, τότε η μικρότερη μέση παραμόρφωση για κάθε διάσταση και για το συγκεκριμένο k, δίνεται από τη σχέση: [( ) ( )] (2.24) Ακολουθεί ο ψευδοκώδικας της μεθόδου συμφώνα με όσα προηγήθηκαν. JumpMethod(X): 1. Let Y = (p/2) 2. Init a list D, of size n+1 3. Let D[0] = 0 4. For k = 1... n: 5. Cluster X with k clusters (e.g., with k-means) 6. Let d = Distortion of the resulting clustering 7. D[k] = d^(-y) 8. Define J(i) = D[i] - D[i-1] 9. Return the k between 1 and n that maximizes J(k) Μέτρο Silhouette: To μέτρο Silhouette (Silhouette coefficient) χρησιμοποιείται για την επικύρωση και την αξιολόγηση των ομάδων δεδομένων που προκύπτουν από μία διαδικασία ομαδοποίησης. Οι τιμές που μπορεί να λάβει το μέτρο αυτό ορίζονται στο διάστημα [-1,1]. Όταν η τιμή silhouette για ένα στοιχείο μιας ομάδας πλησιάζει στο 1 τότε συμπεραίνουμε ότι το στοιχείο αυτό είναι εκχωρημένο στη σωστή ομάδα, αντίθετα όταν η τιμή είναι κοντά στο -1 τότε θεωρούμε ότι τα αποτελέσματα τις ομαδοποίησης είναι λανθασμένα (28). Έτσι, μετά από διάφορες δοκιμές εκτέλεσης του αλγορίθμου ομαδοποίησης, για διαφορετικό αριθμό ομάδων κάθε φορά, η αξιολόγηση με το μέτρο Silhouette μπορεί να αποτελέσει κριτήριο για την επιλογή του σωστού αριθμού ομάδων. Το μέτρο Silhouette παρουσιάζεται αναλυτικά στην 34

41 Ενότητα η οποία αφορά στους τρόπους αξιολόγησης των παραγόμενων ομάδων από μια διαδικασία ομαδοποίησης Διάφορες τεχνικές βελτιστοποίησης, όπως είναι οι γενετικοί αλγόριθμοι κάνουν χρήση αυτής της πληροφορίας και υπολογίζουν τον κατάλληλο αριθμό των ομάδων για τον οποίο μεγιστοποιείται η τιμή του μέτρου για τα στοιχεία του συνόλου (29). Cross-Validation: Για την επιλογή του κατάλληλου αριθμού ομάδων μπορεί να χρησιμοποιηθεί και η διαδικασία του Cross-Validation. Κατά τη διαδικασία αυτή τα, προς ομαδοποίηση, δεδομένα χωρίζονται σε v υποσύνολα. Κάθε ένα από αυτά τα υποσύνολα ορίζεται, διαδοχικά, ως σύνολο δοκιμών, ενώ τα υπόλοιπα v-1 υποσύνολα αποτελούν τα δεδομένα εκπαίδευσης, πάνω στα οποία υπολογίζεται ένα μοντέλο ομαδοποίησης. Έπειτα, για το σύνολο δοκιμών υπολογίζεται η τιμή της συνάρτησης στόχου. Καθώς ο τομέας της ομαδοποίησης των δεδομένων αποτελεί μία μη επιβλεπόμενη τεχνική μάθησης είναι λογική η αντικατάσταση της συνήθους έννοιας της ακρίβειας (accuracy), η οποία βρίσκει εφαρμογές σε επιβλεπόμενες τεχνικές μάθησης, με την έννοια της απόστασης (distance). Έτσι, η συνάρτηση στόχος μπορεί να είναι για παράδειγμα, το άθροισμα των τετραγώνων των αποστάσεων των σημείων από τα κέντρα των ομάδων που παράγονται από τον αλγόριθμο k-means. Ο μέσος όρος αυτών των v τιμών που προκύπτουν υπολογίζεται για διάφορες εναλλακτικές τιμές k ομάδων, όπου και τελικά επιλέγεται το k εκείνο που ελαχιστοποιεί το λάθος στα σύνολα δοκιμής Αξιολόγηση των ομάδων Σε αυτήν την ενότητα γίνεται συζήτηση σχετικά με το θέμα της αξιολόγησης των ομάδων που προκύπτουν από μια διαδικασία ομαδοποίησης κειμένων, αρχικά σε θεωρητικό επίπεδο και στη συνέχεια με την παρουσίαση γνωστών τεχνικών που χρησιμοποιούνται για το σκοπό αυτό. Σε γενικές γραμμές οι ποιότητα των ομάδων περιγράφεται από δύο μετρικές. Αυτές είναι η πυκνότητα (compactness) και η απομόνωση (isolation). Η πρώτη μετρική αφορά στη συνοχή ή τη μοναδικότητα των αντικειμένων μέσα σε μια ομάδα σε σχέση με τα αντικείμενα εκτός της ομάδας, π.χ. η μέση ομοιότητα των αντικειμένων μέσα στην ομάδα όπου όσο μεγαλύτερη είναι τόσο μεγαλύτερη είναι και η πυκνότητα. Η δεύτερη μετρική αφορά στον διαχωρισμό μιας ομάδας από τις υπόλοιπες, π.χ. όσο πιο μικρή είναι η ομοιότητα των αντικειμένων μιας ομάδας με άλλα εκτός της ομάδας τόσο αυξάνεται και η τιμή της απομόνωσης. Στην ιδανική περίπτωση, η ομαδοποίηση παράγει ομάδες με αρκετά πυκνή σύσταση και καλά διαχωρισμένες από τις υπόλοιπες ομάδες. Στη βιβλιογραφία αναφέρονται τέσσερα κυρίως κριτήρια με βάση τα οποία γίνεται αξιολόγηση των ομάδων που παράγονται σε μία διαδικασία ομαδοποίησης κειμένων δίνοντας βάση στα δύο προαναφερθέντα μέτρα. Τα κριτήρια αυτά είναι τα εξής: (30) 35

42 Κριτήριο της ελάχιστης ολικής απόστασης (Minimum total distance criterion): Σε αυτό το κριτήριο γίνεται υπολογισμός του αθροίσματος των αποστάσεων των στοιχείων όλων των ομάδων από τα κέντρα των ομάδων τους (intra-cluster distance) και του αθροίσματος των αποστάσεων των κέντρων των ομάδων από το γενικό κέντρο του χώρου στον οποίο αυτές ανήκουν (inter-cluster distance). Η πρώτη ποσότητα αντιπροσωπεύει την γενική πυκνότητα ενώ η δεύτερη την απομόνωση των ομάδων. Το άθροισμα των δύο αυτών ποσοτήτων δίνει και την εικόνα της αξιολόγησης, όπου όσο πιο μικρό είναι το αποτέλεσμα τόσο καλύτερη είναι και η ποιότητα των παραχθέντων ομάδων. Κριτήριο των διαχωρισμένων ομάδων (Seperated clusters criterion): Η αξιολόγηση σύμφωνα με αυτό το κριτήριο περιγράφεται από τον αντίστροφο αριθμό του αθροίσματος των λόγων της ελάχιστης πυκνότητας ως προς την ελάχιστη απομόνωση κάθε ομάδας. Με την έννοια της ελάχιστης πυκνότητας εννοούμε ότι υπολογίζεται για το σκοπό αυτό η μεγαλύτερη απόσταση μεταξύ δύο στοιχείων της ίδιας ομάδας, ενώ με την έννοια της ελάχιστης απομόνωσης μιας ομάδας εννοούμε την μικρότερη απόσταση του κέντρου της από το κέντρο κάποιας άλλης ομάδας. Έτσι όσο μικρότερο είναι το αποτέλεσμα αυτού του κριτηρίου τόσο πιο ποιοτική είναι και η ομαδοποίηση. Κριτήριο της τοποθέτησης των αντικειμένων (Object positioning criterion): Σε αυτό το κριτήριο η ποιότητα της ομαδοποίησης καθορίζεται από την έκταση στην οποία το κάθε αντικείμενο έχει τοποθετηθεί. Η έκταση για κάθε αντικείμενο υπολογίζεται ως η διαφορά της μεγαλύτερης απόστασης του από κάποιο από τα άλλα αντικείμενα της ομάδας του από την κοντινότερη απόσταση του από αντικείμενο που ανήκει σε κάποια άλλη ομάδα. Το άθροισμα αυτών των διαφορών για κάθε στοιχείο της ομάδας αποτελεί ένα μέτρο της ποιότητας της συγκεκριμένης ομαδοποίησης. Κριτήριο των αντικειμένων που έχουν τοποθετηθεί σωστά (Number of objects correctly positioned criterion): Αυτό το κριτήριο ορίζει ένα μέτρο σύμφωνα με το οποίο υπολογίζεται αν ένα αντικείμενο έχει τοποθετηθεί σωστά σε κάποια ομάδα. Έτσι όσο περισσότερα είναι τα στοιχεία που υπολογίζεται ότι έχουν ομαδοποιηθεί σωστά τόσο καλύτερη είναι και η ποιότητα της ομαδοποίησης. Το μέτρο αυτό υπολογίζει την εσωτερική ομοιότητα για κάθε αντικείμενο (intra-cluster similarity), δηλαδή το άθροισμα όλων των μέτρων ομοιότητας από τα υπόλοιπα αντικείμενα της ομάδας, και την εξωτερική ομοιότητα του κάθε αντικειμένου (inter-cluster similarity), δηλαδή το άθροισμα των τιμών ομοιότητας του αντικειμένου από όλα τα αντικείμενα εκτός της ομάδας του. Ένα στοιχείο θεωρείται ότι είναι σωστά τοποθετημένο όταν η εσωτερική του ομοιότητα είναι μεγαλύτερη από την εξωτερική. Έτσι η ποιότητα της ομαδοποίησης αυξάνεται για όσο περισσότερα στοιχεία του συνόλου ισχύει κάτι τέτοιο. Οι παραπάνω μετρικές και κριτήρια αναφέρονται ως εσωτερικές μετρικές αξιολόγησης. Στο πλαίσιο αυτών των εννοιών εφαρμόζονται κάποιες τεχνικές για την αξιολόγηση των αποτελεσμάτων της ομαδοποίησης με τις πιο γνωστές να είναι οι εξής: 36

43 Υπολογισμός του μέτρου Silhouette (28): Ο υπολογισμός του μέτρου Silhouette γίνεται για κάθε διάνυσμα του συνόλου δεδομένων. Ο τρόπος υπολογισμού του μέτρου για ένα διάνυσμα είναι ο εξής: Αρχικά υπολογίζεται η μέση απόσταση του διανύσματος από τα υπόλοιπα διανύσματα της ομάδας στην οποία ανήκει. Για ένα διάνυσμα, έστω i, η απόσταση αυτή έστω πως συμβολίζεται ως a(i) και αποτελεί ένα δείγμα για το κατά πόσο καλά, το i, ταιριάζει στην ομάδα στην οποία έχει εκχωρηθεί. Στη συνέχεια υπολογίζεται η μέση απόσταση του διανύσματος i από κάθε ένα από τα διανύσματα μίας ξένης ομάδας. Η διαδικασία επαναλαμβάνεται για όλες τις ξένες, ως προς το i, ομάδες και η μικρότερη μέση απόσταση που προκύπτει, έστω b(i), αποτελεί την μέση απόσταση του i από τη γειτονική του ομάδα. Η δύο αποστάσεις συνδυάζονται με αποτέλεσμα την παραγωγή του μέτρου Silhouette για το διάνυσμα i, έστω s(i), σύμφωνα με τον παρακάτω τύπο : ( ) ( ) ( ) { ( ) ( )} (2.25) Οι τιμές που μπορεί να πάρει το μέτρο είναι ( ) ( ) ( ) ( ) ( ) { ( ) ( ) ( ) ( ) ( ) ( ) (2.26) Ισχύει, δηλαδή, ότι ( ), όπου στην ιδανική περίπτωση, δηλαδή ( ) θα πρέπει να ισχύει ( ) ( ). Καθώς το a(i) ενός στοιχείου i είναι το μέτρο της ανομοιότητας του στοιχείου σε σχέση με την ομάδα που ανήκει, μια μικρή τιμή γι αυτό συμβολίζει ότι το στοιχείο είναι σωστά ομαδοποιημένο. Αντίστοιχα, μια μεγάλη τιμή για το b(i) είναι ενδεικτική της καλής ομαδοποίησης του i. Έτσι προκύπτει ότι όταν η τιμή του s(i) είναι κοντά στο 1 το στοιχείο είναι καλά ομαδοποιημένο, ενώ όταν είναι κοντά στο -1 συμπεραίνουμε ότι το στοιχείο δεν θα έπρεπε να τοποθετηθεί στην τωρινή του ομάδα αλλά στην αμέσως επόμενη κοντινότερη του. Η τιμές του μέτρου Silhouette κάθε διανύσματος μιας ομάδας αθροίζεται και υπολογίζεται το μέσο μέτρο Silhouette της ομάδας. Στη συνέχεια τα μέσα μέτρα Silhouette όλων των ομάδων αθροίζονται και ο μέσος όρος τους αποτελεί και το τελικό μέτρο για την ποιότητα της ομαδοποίησης. Υπολογισμός του δείκτη Davies Bouldin (Davies Bouldin index-dbi) (31): Αυτή η τεχνική κάνει χρήση του μέτρου DBI για την εξαγωγή συμπερασμάτων για την ποιότητα της ομαδοποίησης. Το μέτρο αυτό παίρνει πάντα θετικές τιμές και όσο χαμηλότερη είναι η τιμή του, τόσο καλύτερη είναι και η ποιότητα της ομαδοποίησης. Για την εξαγωγή της τιμής DBI ακολουθείται μια σειρά βημάτων η οποία περιγράφεται αμέσως παρακάτω. Έστω ότι με C i συμβολίζουμε μια ομάδα διανυσμάτων που μοντελοποιούν κείμενα της συλλογής και με T i συμβολίζουμε το μέγεθος της ομάδας i, επίσης με Χ j συμβολίζουμε ένα 37

44 διάνυσμα της ομάδας C i και με Α i το κέντρο της. Η ποσότητα S i αποτελεί ένα μέτρο της διασποράς της ομάδας C i και ορίζεται από τη σχέση (2.27) Στη συνέχεια υπολογίζουμε ένα ακόμη μέτρο, έστω Μ i,j, η τιμή του οποίου συμβολίζει τον διαχωρισμό δύο ομάδων C i και C j και δίνεται από τη σχέση (2.28) όπου το α k,i αποτελεί το k-οστό στοιχείο του διανύσματος κέντρου της ομάδας i. Έστω τώρα ότι με R i,j συμβολίζουμε ένα μέτρο για την ποιότητα της κατανομής στοιχείων σε ομάδες. Αυτό το μέτρο υπολογίζεται σε συνάρτηση των Μ i,j, η τιμή του οποίου στην ιδανική περίπτωση πρέπει να είναι όσο μεγαλύτερη γίνεται και S i, που στην ιδανική περίπτωση η τιμή του πρέπει να είναι όσο το δυνατόν μικρότερη: (2.29) Όσο χαμηλότερη είναι η τιμή αυτή τόσο καλύτερος είναι ο διαχωρισμός των ομάδων και η πυκνότητα τους. Παίρνοντας το χειρότερο σενάριο έχουμε: (2.30) και με Ν να συμβολίζει το συνολικό αριθμό των ομάδων, δείκτης DBI ως εξής: (2.31) Παράλληλα στην αξιολόγηση της ομαδοποίησης των κειμένων είναι πολύ διαδεδομένες και κάποιες άλλες μετρικές και τεχνικές που αναφέρονται ως εξωτερικές. Ο όρος εξωτερικές αναφέρεται στην προϋπόθεση για ύπαρξη κλάσεων που είναι αντιπροσωπευτικές για τη συλλογή των κειμένων, η ύπαρξη των οποίων δεν παίζει κάποιο ρόλο στην διαδικασία της ομαδοποίησης αλλά χρησιμοποιείται για να αξιολογηθούν τα αποτελέσματα της (32) (33). Οι συνηθέστερες εξωτερικές μετρικές που χρησιμοποιούνται κατά την αξιολόγηση μιας διαδικασίας ομαδοποίησης είναι η αγνότητα (purity) των παραγομένων ομάδων σε συνάρτηση με τις προκαθορισμένες κλάσεις, όπου θεωρώντας ένα σύνολο κλάσεων {L 1, L 2, L n } και ένα σύνολο παραγόμενων ομάδων {C 1, C 2,, C n } η αγνότητα της κάθε ομάδας δίνεται από τη σχέση ( ) (2.32), η εντροπία (entropy) των προκαθορισμένων κλάσεων στις παραγόμενες ομάδες και η αμοιβαία πληροφορία (mutual information) μεταξύ προκαθορισμένων κλάσεων και παραγόμενων ομάδων (3) (32). 38

45 Στο πλαίσιο των εξωτερικών μετρικών υπάρχουν διάφορες τεχνικές που εφαρμόζονται για την αξιολόγηση των αποτελεσμάτων της ομαδοποίησης. Οι πιο γνωστές τεχνικές είναι οι εξής: Εξαγωγή της Κανονικοποιημένης Αμοιβαίας Πληροφορίας (Normalized Mutual Information- NMI) :Το μέτρο NMI χρησιμοποιείται συχνά για την αξιολόγηση της ποιότητας των παραγόμενων ομάδων. Για δύο τυχαίες μεταβλητές Χ και Υ το μέτρο ΝΜΙ δίνεται από τη σχέση ( ) ( ) ( ) ( ) (2.33) όπου Ι(Χ,Υ) εκφράζει την αμοιβαία πληροφορία για τις δύο μεταβλητές ενώ Η(Χ) και Η(Υ) εκφράζουν την εντροπία των δύο μεταβλητών. Γενικά ισχύει ότι ΝΜΙ(Χ,Χ) = 1 που είναι και η μέγιστη τιμή που μπορεί να λάβει αυτό το μέτρο. Από τα αποτελέσματα μιας ομαδοποίησης η ποσότητα του μέτρου ΝΜΙ εκτιμάται ως εξής: ( ( )( ) ) (2.34) όπου το συμβολίζει των αριθμό των κειμένων που υπάρχουν σε μία ομάδα ( ), το συμβολίζει τον αριθμό των κειμένων που ανήκουν στην h-οστή προκαθορισμένη κλάση με, και το συμβολίζει τον αριθμό των κειμένων που ανήκουν στην τομή της ομάδας με την h-οστή κλάση. Όσο μεγαλύτερη είναι η τιμή ΝΜΙ τόσο καλύτερη είναι η απόδοση της διαδικασίας ομαδοποίησης (34). Υπολογισμός του μέτρου F1 (33): Η τεχνική αυτή κάνει χρήση των τιμών των μέτρων της ακρίβειας και της ανάκλησης όπως αυτά προκύπτουν από την εκ των προτέρων γνώση των προκαθορισμένων κλάσεων και τις παραγόμενες ομάδες. Ο υπολογισμός των δύο μέτρων δίνεται από τις σχέσεις: ( ) (2.35) ( ) (2.36) όπου η πρώτη αφορά στην ακρίβεια και η δεύτερη στην ανάκληση. Η ποσότητα α συμβολίζει τον αριθμό των λεγόμενων true positives, δηλαδή τον συνολικό αριθμό των κειμένων που ανήκουν στην ίδια κλάση και έχουν τοποθετηθεί στην ίδια ομάδα, η ποσότητα b συμβολίζει τον αριθμό των false positives, δηλαδή των αριθμό των κειμένων που παρόλο που δεν ανήκουν στην ίδια κλάση έχουν τοποθετηθεί στην ίδια ομάδα, και η ποσότητα c συμβολίζει τον αριθμό των false negatives, δηλαδή τον αριθμό των κειμένων που ενώ ανήκουν στην ίδια κλάση δεν έχουν τοποθετηθεί στην ίδια ομάδα. Η γνώση των παραπάνω τιμών μας δίνει τη δυνατότητα να υπολογίσουμε το μέτρο F1 το οποίο αποτελεί στην ουσία ένα ποσοστό της καλής ποιότητας ομαδοποίησης και δίνεται από τη σχέση: ( ) (2.37) 39

46 2.3 Κατανεμημένες προσεγγίσεις του προβλήματος Τα κατανεμημένα συστήματα υπολογισμού αποτελούν έναν ταχέως αναπτυσσόμενο κλάδο στην επιστήμη της πληροφορικής. Η ανάπτυξη τους ενισχύεται από τον καθημερινά αυξανόμενο όγκο των δεδομένων, όπου η διαχείριση τους, στις διάφορες μορφές της, δεν μπορεί να γίνει με μεμονωμένα υπολογιστικά συστήματα. Ένα κατανεμημένο σύστημα αποτελείται από πολλούς υπολογιστές οι οποίοι επικοινωνούν μεταξύ τους μέσω ενός δικτύου. Οι υπολογιστές αλληλεπιδρούν μεταξύ τους με στόχο να φέρουν εις πέρας μία εργασία, η υλοποίηση της οποίας γίνεται μέσω κατανεμημένων προγραμμάτων, όπου το πρόβλημα χωρίζεται σε διάφορα υποπροβλήματα, το καθένα από τα οποία αναλαμβάνει να λύσει ένας ή περισσότεροι υπολογιστές του συστήματος (35). Ο κάθε υπολογιστής ορίζεται ως ένας κόμβος του συστήματος, ενώ όλοι μαζί μπορούν να αναφερθούν είτε i) ως cluster, όπου όλοι οι κόμβοι ανήκουν στο ίδιο τοπικό δίκτυο και αποτελούνται από παρόμοιο υλικό (hardware), είτε ii) ως grid αν οι κόμβοι είναι διαμοιρασμένοι σε διαφορετικά γεωγραφικά ή διαχειριστικά συστήματα και χρησιμοποιούν πιο ετερογενές hardware. Δύο από τις γνωστότερες τεχνικές, που χρησιμοποιούνται στα κατανεμημένα συστήματα για τη λύση υπολογιστικών προβλημάτων είναι: i) η τεχνική map/reduce και ii) η τεχνική Message Passing Interface (MPI). Παρακάτω ακολουθεί μια προσπάθεια για την θεωρητική προσέγγιση των τεχνικών αυτών αλλά, επίσης, και για την παρουσίαση του τρόπου με τον οποίο αυτές μπορούν να χρησιμοποιηθούν στο πρόβλημα της ομαδοποίησης μεγάλων συνόλων δεδομένων κειμένου Map/reduce Η τεχνική map/reduce αποτελεί ένα προγραμματιστικό μοντέλο για την επεξεργασία μεγάλων συνόλων δεδομένων, μέσω κατανεμημένων υπολογιστικών συστημάτων, τοι οποίο προτάθηκε αρχικά από την εταιρία Google. Η ονομασία της τεχνικής προήρθε από τις ομώνυμες, και συχνά χρησιμοποιούμενες, συναρτήσεις του Συναρτησιακού Προγραμματισμού (36). Παρόλα αυτά ο σκοπός και η υλοποίηση των συναρτήσεων αυτών στον τομέα των κατανεμημένων συστημάτων διαφέρουν από τις πρωτότυπες συναρτήσεις (37). Παρόλο που η τεχνική μπορεί να χρησιμοποιηθεί, για τη λύση προβλημάτων, σε μεμονωμένα υπολογιστικά συστήματα, η πραγματική της αξία διαφαίνεται όταν αυτή υλοποιείται σε κατανεμημένα συστήματα αποτελούμενα από πολλούς υπολογιστές. Σε αυτά τα συστήματα ο 40

47 κάθε κόμβος αναλαμβάνει ένα ρόλο. Σε γενικές γραμμές οι ρόλοι των κόμβων μπορούν να κατηγοριοποιηθούν ως εξής: Master node: Αυτόν τον ρόλο τον αναλαμβάνει συνήθως ένας μόνο από τους κόμβους του συστήματος και η δουλεία του είναι να συντονίζει την συνολική εργασία, χωρίζοντας της σε μικρότερα προβλήματα και αναθέτοντας τη λύση τους σε κάποιους από τους υπόλοιπους κόμβους. Στη συνέχεια παραλαμβάνει τα επιμέρους αποτελέσματα αναθέτει, ξανά στους υπόλοιπους κόμβους, το συνδυασμό τους με σκοπό τη λύση του αρχικού προβλήματος. Slave node: Ο ρόλος αυτός ανήκει στους υπόλοιπους κόμβους του κατανεμημένου συστήματος, εκτός του master node, όπου αναλαμβάνουν να λύσουν, ανεξάρτητα ο καθένας, τα επιμέρους προβλήματα που τους έχουν ανατεθεί και να επιστρέψουν την λύση τους, συμβάλλοντας έτσι στην λύση του αρχικού προβλήματος. Σε πραγματικές καταστάσεις μπορεί να υπάρχουν παραλλαγές της παραπάνω κατηγοριοποίησης. Για παράδειγμα σε περιπτώσεις συστημάτων όπου ο αριθμός υπολογιστών είναι περιορισμένος, ένας master node να εκτελεί παράλληλα καθήκοντα slave node. Επίσης, μία άλλη παραλλαγή που μπορεί να υπάρξει είναι σε συστήματα με πιο πολύπλοκη ιεραρχία, όπου η εργασία που ανατίθεται στους slave nodes είναι να παίξουν το ρόλο του master, διαχωρίζοντας το υποπρόβλημα που τους ανατέθηκε σε μικρότερα υποπροβλήματα και αναθέτοντας τη λύση τους σε άλλους κόμβους. Όπως φαίνεται στην Εικόνα 2.4, η διαδικασία εκτέλεσης ενός προγράμματος με την τεχνική map/reduce χωρίζεται σε διάφορα στάδια. Κάποια από αυτά τα στάδια είναι ευδιάκριτα και αυτοματοποιημένα, ενώ για τον τρόπο λειτουργίας τους, πέρα από τη γενική αρχιτεκτονική της τεχνικής, υπεύθυνος είναι ο χρήστης (συναρτήσεις map και reduce). Παράλληλα, υπάρχουν και κάποια στάδια της διαδικασίας, τα οποία δεν είναι σε μεγάλο βαθμό ευδιάκριτα, τα οποία αποτελούν αυτοματοποιημένες διαδικασίες της τεχνικής με σκοπό τη βελτιστοποίηση της χρήσης των πόρων του συστήματος κατά τη διάρκεια της εκτέλεσης ενός προγράμματος. Παρακάτω παρατίθενται ονομαστικά τα στάδια της διαδικασίας εκτέλεσης ενός προγράμματος με την τεχνική map/reduce, ενώ στη συνέχεια επιχειρείται η επεξήγηση του καθενός από αυτά. Ανάγνωση και διαχωρισμός εισόδου. Εκτέλεση συνάρτησης map. Εκτέλεση συνάρτησης partition Εκτέλεση συνάρτησης combiner. Εκτέλεση συνάρτησης reduce. Ενοποίηση και εγγραφή εξόδου. 41

48 Εικόνα 2.4: Εικονική αναπαράσταση της εκτέλεσης ενός προγράμματος με την τεχνική map/reduce. 1 Ανάγνωση και διαχωρισμός εισόδου: Κατά το πρώτο στάδιο της εκτέλεσης ενός προγράμματος με την τεχνική map/reduce, γίνεται ανάγνωση της εισόδου του προγράμματος. Στη συνέχεια η είσοδος τμηματοποιείται σε κατάλληλο αριθμό τμημάτων (συνήθως, μεγέθους από 16MB ως 128ΜΒ) τα οποία μετατρέπονται σε μορφή κατάλληλη ώστε να διαβιβαστούν ως είσοδος στις συναρτήσεις map. Η είσοδος μιας συνάρτησης map πρέπει να έχει συγκεκριμένη δομή. Η δομή αυτή είναι μία λίστα αποτελούμενη από ζεύγη της μορφής <key, value> (<κλειδί, τιμή>), όπου η τιμή του κλειδιού αποτελείται από έναν μοναδικό αύξοντα ακέραιο αριθμό ενώ το πεδίο της τιμής μπορεί να ποικίλει ανάλογα με τα δεδομένα (38). Εκτέλεση συναρτήσεων map: Το σύστημα δεσμεύει έναν αριθμό slave nodes και ορίζει σε καθέναν από αυτούς έναν αριθμό mappers. Σε κάθε mapper ανατίθεται ένα τμήμα της διαχωρισμένης εισόδου. Καθώς το κάθε τμήμα αποτελείται από μια λίστα ζευγών <key, value>, ο κάθε mapper εκτελεί τη συνάρτηση map όσες φορές χρειάζεται ώστε το κάθε ζεύγος να δοθεί ως είσοδος σε αυτήν μία φορά. Η έξοδος των συναρτήσεων map αποθηκεύεται προσωρινά σε φακέλους του τοπικού συστήματος αρχείων. Εκτέλεση συνάρτησης partition: Η συνάρτηση partition είναι υπεύθυνη για την κατανομή της εξόδου κάθε συνάρτησης map σε έναν συγκεκριμένο reducer, o ρόλος των οποίων εξηγείται παρακάτω στο στάδιο της εκτέλεσης των συναρτήσεων reduce. Η συνάρτηση δέχεται ως είσοδο

49 το κλειδί της εξόδου της συνάρτησης map και τον αριθμό των reducers ώστε να κάνει την απαραίτητη ανάθεση. Ένας τυπικός τρόπος ανάθεσης των δεδομένων σε κάθε reducer, είναι δια της μεθόδου του κατακερματισμού σύμφωνα με τον αριθμό που προκύπτει από το υπόλοιπο της ακεραίας διαίρεσης του αριθμού των reducers προς τον αριθμό του κάθε κλειδιού. Βέβαια, σε στην πραγματικότητα μία τόσο απλή αντιμετώπιση μπορεί να οδηγήσει σε μια κατανομή που χαρακτηρίζεται σε μεγάλο βαθμό από ανομοιομορφία με αποτέλεσμα την καθυστέρηση της συνολικής διαδικασίας λόγω αυξημένου φόρτου εργασίας σε κάποιους reducers. Επίσης λόγω της φύσης της ίδιας της εργασίας της συνάρτησης partition, δηλαδή της ταξινόμησης των δεδομένων αλλά και της μεταφοράς τους μεταξύ τον κόμβων προκειμένου να καταλήξουν στον τελικό τους προορισμό, μπορεί να προκληθεί αναπόφευκτη καθυστέρηση. Έτσι, για τη βελτιστοποίηση της διαδικασίας, από άποψη χρόνου, πρέπει να λαμβάνονται υπόψη και εξωτερικοί παράγοντες όπως είναι το εύρος ζώνης του δικτύου, οι ταχύτητες των επεξεργαστών των κόμβων, ο όγκος των δεδομένων που παράγονται αλλά και οι χρόνοι υπολογισμού που απαιτούνται από τις συναρτήσεις map και reduce. Εκτέλεση συνάρτησης combiner: Μετά την εξαγωγή της πληροφορίας σχετικά με την ανάθεση των δεδομένων σε κάθε reducer, κάθε ομάδα δεδομένων ταξινομείται σύμφωνα με τις τιμές των κλειδιών των στοιχείων της, μέσω της συνάρτησης comparison. Αποτέλεσμα αυτής της διαδικασίας είναι να προκύπτουν δεδομένα της μορφής <key2, list<value2>> όπου η τιμή του key2 είναι ο δείκτης σύμφωνα με τον οποίο τα δεδομένα καταχωρούνται στον εκάστoτε reducer ενώ η list<value2>> είναι η ταξινομημένη λίστα που προκύπτει από τη συνάρτηση comparison, για τα δεδομένα, των οποίων η τιμή value2 αποτελείται από το αποτέλεσμα της συνάρτησης map. Εκτέλεση συναρτήσεων reduce: Σε αυτό το στάδιο γίνεται η κλίση των συναρτήσεων reduce. Οι συναρτήσεις reduce είναι τόσες όσος είναι και ο αριθμός των μοναδικών κλειδιών key2. Κάθε συνάρτηση reduce λαμβάνει ως είσοδο τα δεδομένα σε μορφή <key2, list<value2>> και μέσω επαναληπτικών διαδικασιών στις τιμές τις λίστας παράγει την απαιτούμενη λύση ανάλογα με το συγκεκριμένο πρόβλημα. Η έξοδος η οποία παράγεται από τη συνάρτηση reduce είναι ζεύγη δεδομένων της μορφής <key3, value3>. Ενοποίηση και εγγραφή εξόδου: Στο τελευταίο στάδιο τα δεδομένα εξόδου των συναρτήσεων reduce συλλέγονται και εγγράφονται σε ένα ή περισσότερα αρχεία του κατανεμημένου συστήματος αρχείων Message Passing Interface (MPI) Το MPI αποτελεί ένα πρωτόκολλο επικοινωνίας που χρησιμοποιείται για τον προγραμματισμό παράλληλων υπολογιστικών συστημάτων. Υποστηρίζει και τα δύο μοντέλα επικοινωνίας που μπορούν να εφαρμοστούν σε αυτά τα συστήματα, τα οποία είναι το μοντέλο επικοινωνίας σημείο-προς-σημείο (point-to-point communication) και το συλλογικό μοντέλο επικοινωνίας 43

50 (collective communication). Στόχος του MPI αποτελεί η επίτευξη υψηλής απόδοσης, κλιμάκωσης και φορητότητας και μέχρι και σήμερα αποτελεί κυρίαρχο μοντέλο στον τομέα του (39). Η αρχική ιδέα για την υλοποίηση του MPI ξεκίνησε το 1991 στην Αυστρία από μια μικρή ομάδα ερευνητών. Τον Νοέμβριο του 1992 παρουσιάστηκε η πρώτη πρόταση του MPI από το Oak Ridge National Laboratory, ενώ ένα χρόνο μετά παρουσιάστηκε επίσημα το πρότυπο MPI στο Συνέδριο Υπερυπολογιστών-93. Η τελική έκδοση του προτύπου παρουσιάστηκε τον Μάϊο του Έπειτα ξεκίνησε η ανάπτυξη του MPI-2 ως συνέχεια του πρώτου MPI, το οποίο έμεινε γνωστό ως MPI-1, το οποίο τελειοποιήθηκε το Σήμερα οι υλοποιήσεις του MPI αποτελούν συνδυασμό των MPI-1 και MPI-2. Παράλληλα, έχουν αναπτυχθεί και κάποιες παραλλαγές όπως το MPI-G2 (ειδικά για εφαρμογές Grid) ή το FT-MPI (Fault Tolerant MPI) (40). Το MPI παρέχει τη δυνατότητα υλοποίησης προγραμμάτων σε αρχιτεκτονικές παράλληλων υπολογιστικών συστημάτων κατανεμημένης μνήμης, διαμοιραζόμενης μνήμης, αλλά και υβριδικές. Ένα πρόγραμμα γραμμένο με βάση το πρότυπο MPI αποτελείται από πολλές διεργασίες οι οποίες εκτελούνται παράλληλα. Τυπικά, για την βέλτιστη απόδοση, σε κάθε στιγμή της εκτέλεσης του προγράμματος ανατίθεται μία διεργασία σε κάθε υπολογιστή του συστήματος ή σε κάθε πυρήνα του, αν πρόκειται για υπολογιστές με πολυπύρηνους επεξεργαστές. Κάθε διεργασία εκτελεί το ένα τμήμα του προγράμματος χρησιμοποιώντας τη δική της θέση μνήμης και επικοινωνεί με τις υπόλοιπες διεργασίες μέσω της μεταβίβασης μηνυμάτων. Ο προγραμματιστής μπορεί να καλέσει τις συναρτήσεις αποστολής και παραλαβής μηνυμάτων των μηνυμάτων μέσα από την εφαρμογή του, ενώ όλες οι λεπτομέρειες συντονίζονται από το ίδιο το MPI απλοποιώντας τη διαδικασία. Εικόνα 2.5: Γενική δομή προγραμμάτων MPI

51 Το MPI απαρτίζεται από ένα μεγάλο αριθμό συναρτήσεων, οι οποίες μπορούν να χρησιμοποιηθούν στη συγγραφή εφαρμογών. Στη συνέχεια παρουσιάζονται οι έξι βασικότερες συναρτήσεις, με τη χρήση των οποίων μπορούν να γραφούν τα περισσότερα προγράμματα, και ο σκοπός της χρήσης της κάθε μίας από αυτές. MPI_init(): Αρχικοποίηση του MPI. MPI_Comm_rank(): Αριθμός διεργασίας. MPI_Comm_size(): Σύνολο διεργασιών. MPI_Recv(): Παραλαβή μηνυμάτων. MPI_Send(): Αποστολή μηνυμάτων. MPI_Finalize(): Τερματισμός του MPI Ομαδοποίηση κειμένων με χρήση κατανεμημένων αλγορίθμων Η τεράστια αύξηση του όγκου των δεδομένων κειμένου που παράγονται καθημερινά οδήγησε στην ανάγκη εύρεσης κατανεμημένων προσεγγίσεων για το πρόβλημα της ομαδοποίησης. Υπάρχουν διάφορες παραλλαγές των αλγορίθμων ομαδοποίησης, που παρουσιάστηκαν στην Ενότητα , οι οποίες είναι σχεδιασμένες έτσι ώστε να μπορούν να υλοποιηθούν σε κατανεμημένα συστήματα είτε μέσω της τεχνικής map/reduce είτε μέσω της τεχνικής MPI. Οι πιο διαδεδομένες παραλλαγές αλγορίθμων σύμφωνα με τη βιβλιογραφία, για τους οποίους μάλιστα υπάρχουν υλοποιήσεις και για τις δύο τεχνικές, είναι οι παραλλαγές του αλγορίθμου k-means και του αλγορίθμου LDA. Μάλιστα, σε αυτές τις περιπτώσεις στο όνομα των αλγορίθμων προσδίδεται και το χαρακτηριστικό parallel (παράλληλος). Έτσι οι δύο αλγόριθμοι αναφέρονται ως parallel-k-means (pk-means) και parallel-lda (plda). Στη συνέχεια γίνεται παρουσίαση του τρόπου με τον οποίο οι δύο αλγόριθμοι υλοποιούνται σύμφωνα με τις τεχνικές map/reduce και MPI. Parrallel-k-means Υλοποίηση map/reduce (13) (41): Η φιλοσοφία της υλοποίησης είναι όμοια με αυτήν του κλασικού αλγορίθμου k-means. Η διαφορά έγκειται στο γεγονός ότι μετά την τυχαία επιλογή των διανυσμάτων που θα αποτελέσουν τα αρχικά κέντρα, τα δεδομένα χωρίζονται σε υποσύνολα ώστε να γίνει παράλληλη επεξεργασία τους από τους mappers του συστήματος. Τα βήματα που ακολουθεί ο αλγόριθμος είναι τα εξής: Βήμα 1: Τυχαία επιλογή k διανυσμάτων από το αρχικό σύνολο, με τον αριθμό k να δίνεται ως είσοδος από τον χρήστη, και ορισμός τους ως τα αρχικά κέντρα των ομάδων. Τα αρχικά κέντρα αποθηκεύονται μέσα στο σύστημα το οποίο είναι προσβάσιμο από όλους του mappers. 45

52 Βήμα 2: Τμηματοποίηση του συνόλου των δεδομένων σύμφωνα με το μέγεθος διαχωρισμού που είναι ορισμένο από το σύστημα και εκχώρηση των τμημάτων στους mappers. Η μορφή που έχει η είσοδος στους mappers, σύμφωνα με τη λογική <key,value>, είναι <id, vector>, όπου ως key δίνεται ένας αύξων ακέραιος αριθμός ενώ ως value δίνεται το ίδιο το διάνυσμα. Βήμα 3: Ο κάθε mapper υπολογίζει την απόσταση του κάθε διανύσματος που του έχει εκχωρηθεί ως είσοδος από τα αρχικά κέντρα και το εκχωρεί στην ομάδα από το κέντρο της οποίας έχει τη μικρότερη απόσταση. H έξοδος για κάθε διάνυσμα που μελετάται από κάθε mapper έχει τη μορφή <cluster-center, vector>. Βήμα 4: Τα δεδομένα εξόδου κάθε mapper συνδυάζονται και δημιουργούν μία λίστα η οποία η οποία ταξινομείται. Έτσι δημιουργείται η είσοδος που θα δοθεί στον reducer και είναι της μορφής list(<cluster-id>, list<vectors>), όπου το κλειδί cluster-id αποτελείται από έναν ακέραιο, μοναδικό για κάθε ομάδα στο οποίο αντιστοιχεί η λίστα με τα διανύσματα της ομάδας. Βήμα 5: Ο reducer λαμβάνει ως είσοδο τα δεδομένα που παράγονται στο προηγούμενο βήμα. Για κάθε ομάδα προσθέτει τα διανύσματα από τα οποία αποτελείται και τα διαιρεί με τον συνολικό αριθμό τους ώστε να παράγει τα νέα κέντρα των ομάδων. Αξίζει να σημειωθεί ότι σε αυτό το βήμα είναι δυνατόν να γίνει χρήση παραπάνω του ενός reducer. Bήμα 6: Η τοποθεσία στην οποία είναι αποθηκευμένα τα αρχικά κέντρα ενημερώνεται με τα νέα και η διαδικασία επαναλαμβάνεται από το Βήμα 2 μέχρις ότου τα παραχθέντα κέντρα των ομάδων να μη μετακινηθούν σε απόσταση μεγαλύτερη από μία τιμή κατωφλιού, την οποία έχει ορίσει ο χρήστης. Υλοποίηση MPI (42): Η φιλοσοφία της υλοποίησης του αλγορίθμου με την μέθοδο MPI είναι παρόμοια με την αντίστοιχη της μεθόδου map/reduce από άποψη του διαμοιρασμού των εργασιών αλλά παράλληλα παρουσιάζουν και κάποιες διαφορές. Οι διαφορές αυτές έχουν να κάνουν, κυρίως, με τον τρόπο εκτέλεσης του αλγορίθμου, λόγω των τεχνικών διαφορών που συναντώνται στις δύο μεθόδους, αλλά και με τον τρόπο που γίνεται η αρχικοποίηση των ομάδων. Εδώ σε αναλογία με τους mappers της μεθόδου map/reduce τα δεδομένα διαμοιράζονται στους υπολογιστές του δικτύου που έχουν το ρόλο του slave, ενώ η αντίστοιχη εργασία του reducer εκτελείται στον master node του συστήματος. Αναλυτικά τα βήματα που ακολουθεί ο αλγόριθμος σύμφωνα με τη μέθοδο MPI είναι τα εξής: Βήμα 1: Η διεργασία που λαμβάνει χώρα στον master node αναλαμβάνει τη δημιουργία, με τυχαίο τρόπο, k υποσυνόλων διανυσμάτων από το σύνολο των δεδομένων. Βήμα 2: Τα υποσύνολα των διανυσμάτων διαμοιράζονται στους slave nodes. Βήμα 3: Οι διεργασίες που εκτελούνται στους slave nodes υπολογίζουν τα κέντρα των υποσυνόλων που τους έχουν ανατεθεί, αθροίζοντας τα διανύσματα από τα οποία αποτελούνται και διαιρώντας τα με το συνολικό αριθμό τους. Βήμα 4: Οι διεργασίες επικοινωνούν μεταξύ τους μέσω μηνυμάτων σχετικά με τα αρχικά κέντρα που δημιουργήθηκαν στο προηγούμενο βήμα. Βήμα 5: Οι διεργασίες υπολογίζουν τις αποστάσεις των διανυσμάτων από τα κέντρα και εκχωρούν το καθένα από αυτά στην ομάδα από της οποίας το κέντρο απέχουν τη μικρότερη απόσταση. 46

53 Βήμα 6: Υπολογίζονται τα νέα κέντρα των ομάδων και η διαδικασία επαναλαμβάνεται από το βήμα 5 μέχρις ότου τα κέντρα να μη μετακινούνται απόσταση μεγαλύτερη από το κατώφλι που έχει ορίσει ο χρήστης. Βήμα 6: Οι τελικές ομάδες επιστρέφονται στην διεργασία που εκτελείται στον master node. Parallel LDA (43) Το μοντέλο του αλγορίθμου που εφαρμόζεται, στη βιβλιογραφία, σε κατανεμημένα συστήματα, τόσο με τη μέθοδο map/reduce όσο και με τη μέθοδο MPI, βασίζεται στη δειγματοληψία Gibbs (Gibbs Sampling) (44) για την δημιουργία των μοντέλων, σύμφωνα με τα οποία θα δημιουργηθούν οι κατηγορίες, και ακολουθεί την λογική του διαμοιρασμού υποσυνόλων των δεδομένων στους κόμβους του συστήματος. Για κάθε υποσύνολο που έχει ανατεθεί σε κάθε κόμβο, οι διεργασία που εκτελείται σε αυτόν επιχειρεί να δημιουργήσει ένα σύνολο k κατηγοριών, με τον αριθμό k να ορίζεται από τον χρήστη, οι οποίες είναι κοινές σε κάθε κόμβο. Έτσι σε κάθε κόμβο πραγματοποιείται μία τοπική εκτέλεση του αλγορίθμου με αποτέλεσμα την εξαγωγή ασαφών ομάδων οπού κάθε δεδομένο του υποσυνόλου του αντιστοιχίζεται με κάποιο ποσοστό (πιθανότητα) στις ομάδες αυτές. Παράλληλα ο κάθε κόμβος, μετά από το τέλος της κάθε επανάληψης του αλγορίθμου, ενημερώνει το κατανεμημένο σύστημα ώστε να παραχθεί το συνολικό αποτέλεσμα. Το τελευταίο σημείο είναι και αυτό που διαφοροποιεί τον αλγόριθμο, ανάλογα με το ποια κατανεμημένη τεχνική χρησιμοποιείται. Υλοποίηση map/reduce: Βήμα 1: Τα δεδομένα διαχωρίζονται σε έναν αριθμό υποσυνόλων, όσοι είναι και οι slave nodes του συστήματος, και διαμοιράζονται σε αυτούς. Βήμα 2: Ο κάθε mapper φορτώνει αρχικά το αρχικό μοντέλο και δημιουργεί ένα κενό πίνακα μεγέθους αντίστοιχου με αυτόν του αρχικού μοντέλου. Βήμα 3: Ο κάθε mapper εκτελεί τον αλγόριθμο για τα δεδομένα που του έχουν ανατεθεί σύμφωνα με το αρχικό μοντέλο. Βήμα 4: Σε αυτό το βήμα τα αποτελέσματα του mapper δίνεται ως είσοδος σε δύο reducers. O πρώτος ενημερώνει τον τοπικό πίνακα που δημιούργησε ο mapper για να χρησιμοποιηθεί από αυτόν στην επόμενη επανάληψη. Ο δεύτερος συνδυάζει τα αποτελέσματα που λαμβάνει από όλους τους mappers για να ενημερώσει το γενικό μοντέλο. Βήμα 5: Η διαδικασία επαναλαμβάνεται μέχρις ότου τα δεδομένα να ομαδοποιηθούν κατάλληλα με βάση το γενικό μοντέλο που παράγεται, σύμφωνα με κάποια παράμετρο που ορίζει ο χρήστης. Υλοποίηση MPI: Βήμα 1: Τα δεδομένα διαχωρίζονται σε έναν αριθμό υποσυνόλων, όσοι είναι και οι slave nodes του συστήματος, και διαμοιράζονται σε αυτούς. 47

54 Βήμα 2: Η διεργασία που εκτελείται σε κάθε slave node εκτελεί τον αλγόριθμο για τα δεδομένα που της έχουν εκχωρηθεί, σύμφωνα με το αρχικό μοντέλο το οποίο είτε φορτώνεται σε αυτήν κατά την έναρξη της διαδικασίας, είτε βρίσκεται σε κάποιο σημείο του συστήματος προσβάσιμο από όλους τους κόμβους. Βήμα 3: Μετά την εκτέλεση της κάθε επανάληψης,η κάθε διεργασία ενημερώνει το σύστημα για τα αποτελέσματά της μέσω της μεθόδου MPI_AllReduce(). Βήμα 4: Η μέθοδος MPI_AllReduce() αφού λάβει τα αποτελέσματα όλων των διεργασιών τα συνδυάζει ώστε να ενημερώσει το μοντέλο, σύμφωνα με το οποίο ομαδοποιούνται τα δεδομένα. Μια διεργασία που έχει εκχωρήσει τα αποτελέσματα της στη μέθοδο, περνάει σε κατάσταση αναμονής μέχρι όλες οι υπόλοιπες διεργασίες να καταχωρήσουν και αυτές τα αποτελέσματα τους και αυτά να συνδυαστούν. Βήμα 5: Η διαδικασία επαναλαμβάνεται μέχρις ότου τα δεδομένα να ομαδοποιηθούν κατάλληλα με βάση το γενικό μοντέλο που παράγεται, σύμφωνα με κάποια παράμετρο που ορίζει ο χρήστης. 48

55 3 Τεχνολογίες Στο παρόν κεφάλαιο γίνεται μία επισκόπηση των τεχνολογιών που χρησιμοποιήθηκαν στο πειραματικό στάδιο της διπλωματικής εργασίας. Ακολουθεί μία σύντομη επεξήγηση της δομής της παρουσίασης της κάθε τεχνολογίας, για κάθε μία από τις οποίες αφιερώνεται μία υποενότητα του κεφαλαίου. Hadoop: Πρόκειται για το εργαλείο πάνω στο οποίο βασίζεται η λογική της κατανεμημένης αντιμετώπισης του προβλήματος. Γίνεται μια μικρή ιστορική αναφορά, μια προσπάθεια παρουσίασης της αρχιτεκτονικής του και της προσέγγισης της τεχνικής map/reduce από το συγκεκριμένο εργαλείο και τέλος μια επεξήγηση του τρόπου χρήσης του στη συγκεκριμένη εργασία. Mahout: Το εργαλείο αυτό παρέχει ένα περιβάλλον για την υλοποίηση αλγορίθμων για τεχνικές classification, clustering και recommendation. Εδώ, γίνεται μία γενική παρουσίαση των τεχνικών καθώς και στον τρόπο που το εργαλείο χρησιμοποιήθηκε για την υλοποίηση των πειραμάτων. Lucene: Γίνεται παρουσίαση της συγκεκριμένης βιβλιοθήκης από το ξεκίνημα της, των υπηρεσιών που αυτή προσφέρει καθώς και αναφορά στο κομμάτι στο οποίο αυτή συνέβαλε για την υλοποίηση της συγκεκριμένης εργασίας, δηλαδή στην επεξεργασία των δεδομένων και στη δεικτοδότησή τους (indexing). Opennlp: Εδώ παρουσιάζεται ο τρόπος λειτουργιάς της συγκεκριμένης βιβλιοθήκης, για την εξαγωγή λεκτικών οντοτήτων από τα κείμενα αλλά και των έτοιμων μοντέλων που αυτή παρέχει για το σκοπό αυτό και τα όποια χρησιμοποιήθηκαν στην συγκεκριμένη εργασία. 49

56 3.1 Apache Hadoop Το Apache Hadoop είναι ένα framework ανοικτού κώδικα, γραμμένο σε Java, για την υλοποίηση κατανεμημένων εφαρμογών που διαχειρίζονται μεγάλου όγκου δεδομένα. Αρχικά δεν αποτελούσε αυτόνομο project αλλά μέρος της διαδικτυακής μηχανής αναζήτησης ανοικτού κώδικα Apache Nutch, η οποία, τη σειρά της αποτελούσε μέρος του project Apache Lucene. Η δημιουργία του ήταν αποτέλεσμα της ανάγκης για μια οικονομική λύση στο ζήτημα της διαχείρισης και της αποθήκευσης των δεδομένων που προερχόταν από τα δισεκατομμύρια των αναρτημένων σελίδων στο Διαδίκτυο. Πηγή έμπνευσης για την υλοποίηση του Hadoop αποτέλεσαν δύο δημοσιεύσεις της Google, το 2003 και το 2004 αντίστοιχα. Η πρώτη (45) αφορούσε στο κατανεμημένο σύστημα αρχείων που χρησιμοποιεί η εταιρία, το λεγόμενο GFS, με βάση το οποίο δημιουργήθηκε το Hadoop Distributed File System (HDFS) (46), το οποίο είναι ικανό να καλύψει τις απαιτητικές, από άποψη χώρου και συντήρησης, ανάγκες αποθήκευσης μεγάλου όγκου δεδομένων. Η δεύτερη δημοσίευση της Google (47) αφορούσε στην υλοποίηση της τεχνικής, για τη δημιουργία κατανεμημένων εφαρμογών, map/reduce. Η φιλοσοφία της τεχνικής υιοθετήθηκε από τους δημιουργούς του Hadoop, αποτελώντας, μαζί με το HDFS, τα δύο θεμελιώδη συστατικά του framework. To 2006 το Hadoop διαχωρίστηκε από το Nutch, αποτελώντας πλέον, άμεσα, μέρος του Lucene project, ενώ, το 2008, η πρόσληψη του βασικού προγραμματιστή του, Doug Cutting, από την εταιρία Yahoo! και η δημιουργία ειδικής ομάδας για την ανάπτυξη του, σηματοδότησε την απόλυτη ανεξαρτητοποίηση του project (48). Αρχιτεκτονική Όπως ήδη αναφέρθηκε, τα δύο θεμελιώδη συστατικά του Hadoop είναι το σύστημα αρχείων HDFS και η υλοποίηση της τεχνικής map/reduce. Τα δύο αυτά συστατικά είναι μεταξύ τους αλληλένδετα. Η ανάπτυξη και η εφαρμογή κατανεμημένων εφαρμογών με το Hadoop προϋποθέτει την ύπαρξη ενός αριθμού υπολογιστών συνδεδεμένων μεταξύ τους μέσω δικτύου, οι οποίοι αποτελούν τους κόμβους για την υλοποίηση των map/reduce εφαρμογών καθώς και το φυσικό περιβάλλον πάνω στο οποίο είναι χτισμένο το HDFS. Το σύνολο αυτών των υπολογιστών και το δίκτυο μέσω του οποίου επικοινωνούν αποτελεί τον λεγόμενο Hadoop Cluster. Τυπικά, σε έναν Hadoop Cluster, ένας από τους υπολογιστές έχει το ρόλο του master node, ενώ οι υπόλοιποι εκτελούν χρέη slave node. Για την οργάνωση μιας κατανεμημένης εφαρμογής σε έναν Hadoop Cluster, δηλαδή την αποθήκευση των δεδομένων εισόδου και εξόδου στο HDFS αλλά και την υλοποίηση των σταδίων της τεχνικής map/reduce, όπως αυτά αναφέρθηκαν στην Ενότητα απαιτείται η ενεργοποίηση κάποιων προγραμμάτων (daemons) στους κόμβους του cluster. Τα προγράμματα αυτά χωρίζονται σε δύο κατηγορίες: i) τους αποθηκευτικούς daemons και ii) τους daemons υπολογισμού. Αμφότερες οι δύο κατηγορίες στηρίζονται σε αρχιτεκτονική master/slave (Εικόνες 3.2 και 3.3). Τα παραπάνω παρουσιάζονται συνοπτικά στην Εικόνα 3.1, ενώ στη συνέχεια παρουσιάζονται αναλυτικά τα προγράμματα (38): 50

57 Εικόνα 3.1: Τυπικό παράδειγμα της αρχιτεκτονικής ενός Hadoop Cluster 1 NameNode: Πρόκειται για τον πιο σημαντικό daemon σε ένα Hadoop Cluster. Εκτελείται στον master node και μπορεί να θεωρηθεί ως ο θεματοφύλακας του συστήματος. Είναι υπεύθυνος για την τροφοδότηση των slave DataNode daemons, οι οποίοι παρουσιάζονται στην επόμενη παράγραφο, με χαμηλού επιπέδου εργασίες εισόδου/εξόδου. Επίσης o NameNode είναι υπεύθυνος για την δημιουργία εγγραφών σχετικά με το πώς τα αρχεία των δεδομένων διαχωρίζονται σε blocks αρχείων, σε ποιόν κόμβο είναι αποθηκευμένο το κάθε block, αλλά και για τη γενική κατάσταση στην οποία βρίσκεται το κατανεμημένο σύστημα αρχείων. Καθώς οι βασικές λειτουργίες του NameNode έχουν να κάνουν με τη μνήμη και τις διεργασίες εισόδου/εξόδου, ο κόμβος στον οποίο εκτελείται, τυπικά, δεν χρησιμοποιείται, ο ίδιος για αποθήκευση δεδομένων ή για άμεσους υπολογισμούς σε μία map/reduce διαδικασία. Με άλλα λόγια ένας κόμβος που εκτελεί χρέη NameNode, δεν πρέπει να εκτελεί και χρέη DataNode (για αποθήκευση δεδομένων) ή TaskTracker (για εκτέλεση map/reduce διεργασιών,). Στην πράξη, ειδικά σε clusters που αποτελούνται από πολύ λίγους κόμβους, η προηγούμενη συνθήκη πολλές φορές παραβλέπεται. Στον υπάρχων σχεδιασμό ο NameNode έχει μια σοβαρή αδυναμία. Σε αντίθετη με τους υπόλοιπους daemons όπου τυχών αποτυχία σε υλικό ή λογισμικό δεν προκαλεί παύση της λειτουργίας του συστήματος ή απώλεια δεδομένων, μια ανέλπιστη βλάβη στον NameNode οδηγεί στην κατάρρευση του συστήματος. DataNode: Κάθε slave node του Hadoop Cluster φιλοξενεί και έναν DataNode daemon. Οι DataNodes είναι υπεύθυνοι για την ανάγνωση και την εγράφη blocks αρχείων δεδομένων από το κατανεμημένο σύστημα σε πραγματικά αρχεία του τοπικού συστήματος αρχείων. Όταν μία διεργασία πρέπει να διαβάσει ή να γράψει ένα αρχείο του HDFS, το αρχείο αυτό διασπάται σε

58 blocks και ο NameNode ενημερώνει τη διεργασία για το ποιο block ανήκει σε ποιόν DataNode. Στη συνέχεια η διεργασία έρχεται σε επικοινωνία με τους αντίστοιχους DataNodes έτσι ώστε να μπορέσει να επεξεργαστεί τα συγκεκριμένα αρχεία του τοπικού συστήματος του καθενός, τα οποία αντιστοιχούν στα blocks των HDFS αρχείων. Επιπλέον οι DataNodes επικοινωνούν και μεταξύ τους με σκοπό τη δημιουργία αντιγράφων των HDFS αρχείων για λόγους βλαβοανοχής. Εικόνα 3.2: Στιγμιότυπο αλληλεπίδρασης μεταξύ NameNode και DataNodes. (38) Secondary NameNode: O Secondary NameNode (SNN) είναι ένας εφεδρικός daemon που έχει ως στόχο την καταγραφή της κατάστασης του cluster. Κάθε Hadoop Cluster διαθέτει έναν SNN για τον οποίο, τυπικά, διατίθεται ένα αποκλειστικό μηχάνημα στο οποίο δεν τρέχουν οι daemons DataNode και TaskTracker. Η διαφορά του SNN από τον NameNode είναι ότι, στον πρώτο, οι αλλαγές στο HDFS δεν καταγράφονται σε πραγματικό χρόνο. Αντίθετα, ο SNN επικοινωνεί με τον NameNode, ανά διαστήματα τα οποία ορίζονται κατά τη διαμόρφωση του Hadoop Cluster, και λαμβάνει στιγμιότυπα της κατάστασης του HDFS. Όπως αναφέρθηκε νωρίτερα, μία αποτυχία του NameNode μπορεί να οδηγήσει σε απώλεια δεδομένων και σε κατάρρευση του συστήματος. Τα στιγμιότυπα του SNN συμβάλλουν στην αντιμετώπιση του προβλήματος της απώλειας δεδομένων, ενώ σε περίπτωση ανάγκης και με την κατάλληλη παρέμβαση από τον χρήστη ο SNN μπορεί να παίξει το ρόλο του κύριου NameNode. JobTracker: O JobTracker daemon αποτελεί τον σύνδεσμο μεταξύ των εφαρμογών και του Hadoop. Καθώς ο κώδικας μιας εφαρμογής υποβάλλεται στον Hadoop Cluster, ο JobTracker καθορίζει το σχέδιο εκτέλεσης ορίζοντας τους προς επεξεργασία φακέλους και αναθέτοντας διάφορες διεργασίες στους κόμβους. Παράλληλα, καταγράφει τις καταστάσεις των υπό 52

59 εκτέλεση διεργασιών. Σε περίπτωση που η εκτέλεση μιας διεργασίας αποτύχει, ο JobTracker αυτόματα προσπαθεί επανεκκινήσει τη διεργασία, ενώ πιθανότατα αναθέτει την εκτέλεση της σε διαφορετικό κόμβο. Ο αριθμός των προσπαθειών επανεκτέλεσης των αποτυχημένων διεργασιών είναι πεπερασμένος και καθορίζεται κατά τη διαμόρφωση του cluster. Σε κάθε Hadoop Cluster υπάρχει ένας μόνο JobTracker. Το μηχάνημα στο οποίο αυτός εκτελείται αποτελεί και τον master node του cluster. TaskTracker: Σε κάθε slave node του cluster, ο TaskTracker είναι αυτός που αναλαμβάνει να εκτελέσει τη διεργασία που έχει ανατεθεί από τον JobTracker. Παρόλο που σε κάθε slave node υπάρχει μόνο ένας TaskTracker, αυτός μπορεί να διαχειρίζεται ταυτόχρονα πολλές JVMs (Java Virtual Machines) ώστε να εκτελούνται παράλληλα διάφορες map ή reduce συναρτήσεις. Μια ακόμα υποχρέωση του TaskTracker είναι να επικοινωνεί σε τακτά χρονικά διαστήματα με τον JobTracker, ώστε ο δεύτερος να είναι ενήμερος για τη σωστή λειτουργία του πρώτου. Αν ο JobTracker δεν λάβει σήμα επικοινωνίας από τον TaskTracker σε ένα συγκεκριμένο χρονικό διάστημα, τότε υποθέτει ότι αυτός κατέρρευσε και αναθέτει τις μη ολοκληρωμένες διεργασίες σε άλλο κόμβο. Εικόνα 3.3: Οπτικοποίηση της αλληλεπίδρασης του JobTracker με τους TaskTrackers. (38) Συνεισφορά στην παρούσα εργασία Η συνεισφορά του Hadoop στην παρούσα διπλωματική μπορεί να χωριστεί σε δύο στάδια, ένα μη αυτοματοποιημένο και ένα αυτοματοποιημένο. Κατά την υλοποίηση του μη αυτοματοποιημένου σταδίου αναπτύχθηκε ένα πρόγραμμα για την εξαγωγή των κατάλληλων αρχείων κειμένου από συλλογές κειμένων που βρίσκονταν αποθηκευμένες σε αρχεία xml και η 53

60 αποθήκευση του καθενός από αυτά σε ξεχωριστό αρχείο κειμένου. Τα αρχεία αυτά αποτέλεσαν τα δεδομένα πάνω στα οποία εκτελέστηκαν οι αλγόριθμοι ομαδοποίησης και ο αυξημένος όγκος τους, τόσο στην αρχική τους μορφή όσο και στην τελική, όπου υπήρχε ανάγκη για την εγγραφή, οδήγησε στην εύρεση μιας κατανεμημένης λύσης μέσω του Hadoop για λόγους απόδοσης. Κατά το αυτοματοποιημένο στάδιο, το Hadoop χρησιμοποιήθηκε για την εκτέλεση των κατανεμημένων αλγορίθμων ομαδοποίησης που προσφέρονται από το Apache Mahout, το οποίο περιγράφεται στη συνέχεια. 3.2 Apache Mahout To Apache Mahout αποτελεί ένα framework ανοικτού κώδικα γραμμένο σε Java το οποίο, ομοίως με το Apache Hadoop, αρχικά αναπτύχθηκε ως μέρος του project Apache Lucene. Οι πρώτες προσπάθειες για την υλοποίηση αυτού του εγχειρήματος ξεκίνησαν το 2008, ενώ από το 2010 το Mahout αποτελεί αυτόνομο project του Apache Software Foundation. Η περιγραφή του Mahout μπορεί να γίνει μέσω των τριών χαρακτηριστικών ιδιοτήτων του. Πρώτoν, το Mahout αποτελεί μια βιβλιοθήκη αλγορίθμων μηχανικής μάθησης, στο πλαίσιο της οποίας υλοποιούνται αλγόριθμοι: i) για τη δημιουργία προτασιακών συστημάτων, ii) κατηγοριοποίησης δεδομένων, iii) ομαδοποίησης δεδομένων. Δεύτερον, είναι κλιμακώσιμο (scalable), με την έννοια ότι στοχεύει να αποτελέσει το εργαλείο για την υλοποίηση αλγορίθμων μηχανικής μάθησης σε σύνολα δεδομένων όπου το μέγεθος τους αποτρέπει τον οποιοδήποτε χειρισμό από μεμονωμένα μηχανήματα. Ο τρόπος με τον οποίο επιτυγχάνεται αυτό, είναι η παραμετροποίηση των αλγορίθμων έτσι ώστε αυτοί να εκτελούνται σε κατανεμημένα συστήματα μέσω του Hadoop. Βεβαίως, αυτή η ιδιότητα δεν προκαλεί κανένα απολύτως περιορισμό καθώς οι αλγόριθμοι του Mahout μπορούν να εφαρμοστούν και σε μεμονωμένα μηχανήματα, όταν αυτό είναι επιτρεπτό από το μέγεθος του συνόλου δεδομένων που επεξεργάζονται. Τέλος το Mahout αποτελεί μια βιβλιοθήκη της Java, τη συλλογή των εργαλείων της οποίας μπορεί οποιοσδήποτε να χρησιμοποιήσει για να αναπτύξει δικές του εφαρμογές. (13) Ορισμός λειτουργιών Όπως ήδη αναφέρθηκε το Mahout προσφέρει τη δυνατότητα υλοποίησης τριών διαφορετικών λειτουργιών. Αυτές είναι η δημιουργία προτασιακών συστημάτων, η κατηγοριοποίηση δεδομένων και η ομαδοποίηση δεδομένων. Στη συνέχεια ακολουθεί η περιγραφή των τριών αυτών λειτουργιών. Δημιουργία προτασιακών συστημάτων: Το αντικείμενο της του τομέα των προτασιακών συστημάτων μπορεί να χαρακτηριστεί ως η αναζήτηση αυτοματοποιημένων τεχνικών μέσω των οποίων είναι εφικτή η εύρεση των αντικειμένων μίας κατηγορίας όπου υπάρχει μεγάλη πιθανότητα να θεωρούνται χρήσιμα από το χρήστη. Βάση για την δημιουργία αυτών των 54

61 τεχνικών αλλά και των αποτελεσμάτων τους αποτελεί η γνώση για τις προηγούμενες επιλογές του ίδιου του χρήστη, σε σχέση με αντικείμενα της ίδιας κατηγορίας, αλλά και οι επιλογές άλλων χρηστών που επιδεικνύουν που επιδεικνύουν παρόμοια συμπεριφορά όσον αφορά στο ενδιαφέρον που δείχνουν για τα αντικείμενα μίας κατηγορίας. Με βάση τα παραπάνω, οι τεχνικές δημιουργίας προτασιακών συστημάτων χωρίζονται σε τρεις βασικές κατηγορίες. Αυτές είναι οι εξής: Προσέγγιση με βάση το περιεχόμενο (content-based filtering), όπου εξετάζονται τα στοιχεία που συνθέτουν τα αντικείμενα στα οποία ο χρήστης έχει ήδη εκδηλώσει ενδιαφέρον, ώστε να ανακαλυφθούν αντικείμενα με παρόμοια χαρακτηριστικά τα οποία στη συνέχεια θα προταθούν σε αυτόν. Συνεργατική προσέγγιση (collaborative filtering), όπου τα αντικείμενα που προτείνονται στο χρήστη έχουν επιλεχτεί από ένα σύνολο χρηστών με τους οποίους ο πρώτος έχει επιδείξει στο παρελθόν, σε μεγάλο βαθμό, κοινή συμπεριφορά. Υβριδική προσέγγιση, η οποία αποτελεί των συνδυασμό της γνώσης που προκύπτει από τις δύο πρώτες κατηγορίες. Κατηγοριοποίηση δεδομένων: Ως κατηγοριοποίηση δεδομένων αναφέρεται το πρόβλημα της ανακάλυψης της κατηγορίας στην οποία ανήκουν τα δεδομένα ενός συνόλου. Για το σκοπό αυτό, σε κάθε πρόβλημα χρησιμοποιείται, ως μέθοδος σύγκρισης, ένα υποσύνολο από εκπαιδευμένα δεδομένα, για τα οποία είναι γνωστή η κατηγορία στην οποία ανήκει το καθένα. Με βάση τoν βαθμό ομοιότητας των χαρακτηριστικών των παρατηρούμενων δεδομένων με αυτά των δεδομένων του συνόλου εκπαίδευσης, γίνεται και η ανάθεση αυτών στις αντίστοιχες κατηγορίες. Ομαδοποίηση δεδομένων: Το πεδίο της ομαδοποίησης δεδομένων παρουσιάστηκε αναλυτικά στο Κεφάλαιο 2 της παρούσας εργασίας. Αξίζει να σημειωθεί ότι το Mahout προσφέρει υλοποίηση για το σύνολο των αλγορίθμων που παρουσιάστηκαν στην ενότητα , επιτρέποντας είτε τη σειριακή εκτέλεση τους σε ένα μόνο μηχάνημα, είτε την κατανεμημένη υλοποίηση τους μέσω της τεχνικής map/reduce σε ένα σύνολο υπολογιστών που αποτελούν έναν Hadoop cluster. Οι παραγόμενες, από την εκτέλεση των αλγορίθμων του Mahout, ομάδες αποθηκεύονται σε μία συγκεκριμένη μορφή δυαδικών αρχείων η οποία είναι κατάλληλη για να αποθηκεύει δεδομένα στη μορφή ζευγών <key, value>, και είναι ιδανική ώστε να διαχειρίζεται από το HDFS. Τα αρχεία αυτά ονομάζονται Sequence Files και ο τρόπος δημιουργίας τους παρέχεται από το API του Hadoop. Συνεισφορά στην παρούσα εργασία Το Mahout αποτέλεσε τη βάση για την υλοποίηση του πειραματικού μέρους της παρούσας εργασίας. Η συμβολή του διακρίνεται σε δύο επίπεδα. Στο πρώτο επίπεδο ανήκει η χρήση των drivers που παρέχονται από το project για την εκτέλεση των αλγορίθμων ομαδοποίησης σε 55

62 περιβάλλον κονσόλας. Στο δεύτερο επίπεδο ανήκει η χρήση του Java API (Application Programming Interface) του Mahout για την μελέτη των αποτελεσμάτων των αλγορίθμων ομαδοποίησης και για την υλοποίηση, σε κώδικα Java, μετρικών αξιολόγησης των παραγόμενων ομάδων, μέσω των κλάσεων που αυτό παρέχει. 3.3 Apache Lucene Η Apache Lucene είναι μία, ανοικτού κώδικα γραμμένη σε Java, βιβλιοθήκη για τη δημιουργία καταλόγων (indexing) από δεδομένα κειμένου αλλά και την αναζήτηση σε αυτά (searching). Η δημιουργία του project ξεκίνησε το 1999 και αποτελούσε ανεξάρτητη εφαρμογή η οποία ήταν διαθέσιμη στον διαδικτυακό τόπο SourceForge 1. Το 2001 εντάχθηκε στην οικογένεια του Jakarta 2, ενός project του Apache SF, που έχει ως σκοπό την ανάπτυξη και συντήρηση εφαρμογών που είναι γραμμένες σε Java, ενώ από το 2005 αποτελεί αυτόνομο project του οργανισμού. Η βιβλιοθήκη Lucene δεν αποτελεί από μόνη της μια έτοιμη προς χρήση εφαρμογή, όπως είναι μια εφαρμογή αναζήτησης αρχείων ή μια μηχανή αναζήτησης κειμένων στον Παγκόσμιο Ιστό. Αντίθετα, αποτελεί το εργαλείο μέσω του οποίου τέτοιες εφαρμογές θα προσφέρουν αντίστοιχες υπηρεσίες αναζήτησης. Επίσης, παρέχει μεγάλη ευελιξία καθώς μπορεί να χειρίζεται δεδομένα κειμένου ανεξάρτητα από την μορφή αρχείου που αυτά είναι αποθηκευμένα. Όπως ήδη αναφέρθηκε, η βιβλιοθήκη Lucene προσφέρει υπηρεσίες δεικτοδότησης και αναζήτησης σε δεδομένα κειμένου. Η υπηρεσία της δεικτοδότησης μπορεί να λειτουργήσει αυτόνομα σε μία εφαρμογή για διάφορους σκοπούς, αποτελώντας έναν εναλλακτικό τρόπο αποθήκευσης δεδομένων κειμένου. Αντίθετα, προϋπόθεση για την εφαρμογή υπηρεσιών αναζήτησης σε δεδομένα κειμένου μέσω της βιβλιοθήκης Lucene, είναι να έχει εφαρμοστεί σε αυτά το στάδιο της δεικτοδότησης. Για την υλοποίηση κάθε μίας από αυτές τις υπηρεσίες σε μία εφαρμογή ακολουθείται ένας συγκεκριμένος αριθμός βημάτων. Η Εικόνα 3.4 παρουσιάζει τα βήματα αυτά, ενώ στη συνέχεια ακολουθεί μία σύντομη περιγραφή των βημάτων που αφορούν το στάδιο της δεικτοδότησης, το οποίο αποτελεί μέρος της πειραματικής διαδικασίας της παρούσας εργασίας

63 Εικόνα 3.4: Ολοκληρωμένη επισκόπηση της αρχιτεκτονικής στην οποία βασίζονται οι υπηρεσίες δεικτοδότησης και αναζήτησης της βιβλιοθήκης Apache Lucene. (49) Στάδιο indexing (49) Ως δεικτοδότησης αναφέρεται η διαδικασία δημιουργίας καταλόγων από δεδομένα κειμένου. Ένας κατάλογος μπορεί να θεωρηθεί ως μία δομή δεδομένων αποτελούμενη από τις λέξεις που υπάρχουν στα κείμενα μίας συλλογής και η οποία επιτρέπει τη γρήγορη και με τυχαίο τρόπο πρόσβαση σε αυτές. Κάνοντας μία απλουστευμένη παραδοχή, ένας κατάλογος μπορεί να παρομοιαστεί με τα ευρετήρια όρων που συναντώνται στις τελευταίες σελίδες ενός επιστημονικού συγγράμματος. Η δημιουργία καταλόγου για μία συλλογή κειμένων τα οποία βρίσκονται αποθηκευμένα με αφηρημένο τρόπο σε έναν ή περισσότερους υπολογιστές, στον Παγκόσμιο Ιστό κτλ. απαιτεί τα εξής στάδια: Συλλογή των δεδομένων (Acquire Content): Πρόκειται για το απαραίτητο στάδιο της συλλογής των δεδομένων στα οποία πρόκειται να εφαρμοστεί η δημιουργία καταλόγου. Η συλλογή των δεδομένων μπορεί να αποτελεί από μία απλή έως μία ιδιαίτερη περίπλοκη διαδικασία. Αυτό εξαρτάται από το είδος της εφαρμογής η οποία χρησιμοποιεί τη βιβλιοθήκη Lucene. Έτσι υπάρχουν απλές περιπτώσεις στις οποίες μία εφαρμογή βασίζεται σε δεδομένα που είναι 57

64 αποθηκευμένα σε ένα φάκελο ή σε μία μικρή βάση δεδομένων, αλλά και περιπτώσεις όπου η εφαρμογή βασίζεται σε δεδομένα τα οποία βρίσκονται στον Παγκόσμιο Ιστό και είναι απαραίτητη η χρήση ανιχνευτικών προγραμμάτων όπως crawlers ή spiders. Επίσης σε αυτό το στάδιο τίθενται και θέματα απόδοσης καθώς εδώ γίνεται η διαχείριση των θεμάτων του χειρισμού των νέων δεδομένων που προκύπτουν σε πραγματικό χρόνο ή των ενημερώσεων που γίνονται στα ήδη υπάρχοντα. Έτσι, παρόλο που πρόκειται για απαραίτητο στάδιο της διαδικασίας του indexing, η ποικιλομορφία των περιπτώσεων δεν επιτρέπει τη μοντελοποίηση του τρόπου λειτουργίας του από τον πυρήνα της βιβλιοθήκης. Αντιθέτως ο χειρισμός πρέπει να γίνεται στο προγραμματιστικό κομμάτι της εκάστοτε εφαρμογής. Δόμηση κειμένων (Build Document): Σύμφωνα με τη φιλοσοφία στην οποία βασίζεται ο χειρισμός των κειμένων από τη βιβλιοθήκη Lucene, το κάθε κείμενο αποτελείται από διάφορα πεδία. Παραδείγματος χάριν, ένα κείμενο μπορεί να αποτελείται από τα πεδία: τίτλος, περίληψη, κυρίως σώμα κτλ. Ο κύριος λόγος αυτού του τρόπου δόμησης των κειμένων είναι η καλύτερη ποιότητα των αποτελεσμάτων της αναζήτησης. Ο παραγόμενος κατάλογος για μία συλλογή κειμένων αποτελείται από τμήματα, καθένα από τα οποία αφορά και ένα πεδίο των κειμένων. Ομοίως με το στάδιο της συλλογής, η δόμηση των κειμένων μπορεί να αποτελεί μια πολύ απλή έως μία αρκετά περίπλοκη διαδικασία. Ως απλή περίπτωση μπορεί να θεωρηθεί μια συλλογή από άρθρα τα οποία είναι αποθηκευμένα σε μορφή απλών αρχείων κειμένου και τα οποία αποτελούνται από τον τίτλο, το κυρίως κείμενο και το όνομα του συγγραφέα. Αντίθετα σε πιο περίπλοκες περιπτώσεις τα δεδομένα είναι αποθηκευμένα σε πιο εξειδικευμένες μορφές αρχείων, π.χ. xml, pdf, κτλ., και η εξαγωγή της χρήσιμης πληροφορίας απαιτεί ειδικά προγράμματα ανάλυσης (parsers). Είναι προφανές λοιπόν ότι είναι αδύνατη η μοντελοποίηση της λογικής με την οποίο τα δεδομένα θα διαχωρίζονται σε διάφορα πεδία και η εργασία αυτή είναι ευθύνη του προγραμματιστή. Παρόλα αυτά η καθεαυτή δημιουργία των πεδίων εφαρμόζεται μέσω του API της βιβλιοθήκης. Ανάλυση κειμένων (Analyze Document): Η διαδικασία της δημιουργίας του καταλόγου δεν γίνεται απευθείας πάνω στο σώμα των κειμένων. Τα κείμενα διασπώνται στα επιμέρους συστατικά τους, τα οποία αναφέρονται ως tokens. Στην απλούστερη περίπτωση ένα token αποτελείται από μία λέξη της συλλογής των κειμένων. Βέβαια, για λόγους ποιότητας των εφαρμογών χρειάζεται πιο εξειδικευμένη μελέτη για τη δημιουργία της λογικής με την οποία εξάγονται τα tokens. Το API της βιβλιοθήκης Lucene παρέχει μία σειρά έτοιμων κλάσεων μέσω των οποίων γίνεται η ποιοτική εξαγωγή και επεξεργασία των tokens. Οι κλάσεις αυτές αποτελούν τους: i) Stemmers, οι οποίοι αναλαμβάνουν την εξαγωγή των ριζών από τις οποίες προέρχονται οι λέξεις του κειμένου (έτσι δύο λέξεις με κοινή ρίζα αντιπροσωπεύονται από ένα token στον τελικό κατάλογο), ii) Tokenizers, όπου ορίζουν τον τρόπο με τον οποίο θα γίνεται ο διαχωρισμός του κειμένου (παραδείγματος χάριν ο ορισμός των κενών ανάμεσα στις λέξεις ως διαχωριστικά των tokens), iii) Analyzers, οι οποίοι αποτελούν το έδαφος της εφαρμογής των στιγμιότυπων των δύο προηγούμενων κλάσεων και των υπολοίπων πρακτικών που εφαρμόζονται σύμφωνα με την εκάστοτε λογική εξαγωγής των tokens. Εκτός από την δυνατότητα χρήσης των έτοιμων κλάσεων που κληρονομούν από τις τρεις παραπάνω κλάσεις, 58

65 το API της βιβλιοθήκης παρέχει τη δυνατότητα δημιουργίας νέων, πιο εξειδικευμένων κλάσεων από τους προγραμματιστές των εφαρμογών. Εισαγωγή κειμένων στον κατάλογο (Index Document): Πρόκειται για το τελικό στάδιο της εισαγωγής των πεδίων του κειμένου, διαχωρισμένων σε tokens, στον κατάλογο. Η διαδικασία είναι αυτοματοποιημένη και δεν χρειάζεται κάποια, χαμηλού επιπέδου, παραμετροποίηση. Παρόλα αυτά η βιβλιοθήκη παρέχει τη δυνατότητα της επιλογής κάποιων χαρακτηριστικών που θα εφαρμοστούν σε κάθε πεδίο. Παραδείγματα αποτελούν η επιλογή του αν εκτός από το indexing θα ακολουθήσει αποθήκευση της αρχικής μορφής του πεδίου, η χρήση διαφορετικού Analyzer σε κάποιο πεδίο, κ.τ.λ. Συνεισφορά στην παρούσα εργασία Η βιβλιοθήκη Lucene χρησιμοποιήθηκε για την δημιουργία καταλόγων από τα κείμενα πάνω στα οποία εφαρμόστηκαν οι αλγόριθμοι ομαδοποίησης του Mahout. Το Mahout παρέχει τη δυνατότητα χρήσης ενός driver μέσω του οποίου είναι δυνατή η εξαγωγή των διανυσμάτων, που αντιπροσωπεύουν τα κείμενα, από τους καταλόγους που δημιουργούνται με τη Lucene. Η επιλογή αυτού του driver του Mahout, για την δημιουργία των διανυσμάτων και όχι του αντίστοιχου σύμφωνα με τον οποίο τα διανύσματα δημιουργούνται κατευθείαν από την αρχική μορφή των κειμένων, έγινε λόγω της δυνατότητας του διαχωρισμού των κειμένων σε διάφορα πεδία από τη βιβλιοθήκη Lucene. Έτσι είναι δυνατός ο προσδιορισμός διαφορετικών βαρών στα διανύσματα του κάθε πεδίου των κειμένων, κάτι που αποτέλεσε βασικό συστατικό της πειραματικής διαδικασίας της παρούσας εργασίας, με σκοπό την εξαγωγή ποιοτικότερων ομάδων κειμένου. 3.4 Apache OpenNLP Η βιβλιοθήκη Apache OpenNLP αποτελεί ένα, ανοικτού κώδικα, εργαλείο για την επεξεργασία της φυσικής γλώσσας από προγραμματιστικές εφαρμογές. Η επεξεργασία της φυσικής γλώσσας (Natural Language Processing-NLP) αποτελεί πεδίο του ευρύτερου τομέα της Μηχανικής Μάθησης και η βιβλιοθήκη OpenNLP παρέχει την δυνατότητα υλοποίησης των βασικότερων εργασιών που συνθέτουν το πεδίο αυτό. Οι εργασίες αυτές είναι οι εξής: Ανίχνευση Προτάσεων (Sentence Detection): Πρόκειται για τη διαδικασία του εντοπισμού των σημείων στίξης ενός κειμένου και η επιλογή του αν αυτό συμβολίζει τον τερματισμό μιας πρότασης του κειμένου. Διαχωρισμός δομικών συστατικών του κειμένου (Tokenizing): Η λειτουργία αυτή, η οποία αναφέρθηκε και στην ενότητα 3.3, αφορά στον διαχωρισμό των δομικών συστατικών (λέξεις, αριθμοί, σημεία στίξης κτλ.) του κειμένου σύμφωνα με κάποιο κριτήριο. Ένα απλό κριτήριο αποτελεί η ύπαρξη κενού ανάμεσα στα συστατικά. 59

66 Αναγνώριση Ονομαστικών Οντοτήτων (Name Entity Recognition-NER): Πρόκειται για τη διαδικασία κατά την οποία αναγνωρίζονται οντότητες οι οποίες συνήθως αποτελούνται από συνδυασμό λέξεων (n-grams) ή συντομογραφίες και αποτελούν ονόματα ανθρώπων ή οργανισμών, τοπωνύμια κτλ. Κατηγοριοποίηση κειμένων (Document Categorization): Η προσπάθεια ένταξης ενός κειμένου σε μία ήδη υπάρχουσα κατηγορία με βάση το περιεχόμενο του. Σήμανση των μερών του λόγου (Part-of-Speech Tagging): Αφορά την προσπάθεια σωστής σήμανσης των δομικών συστατικών ενός κειμένου με την κατηγορία του μέρους του λόγου στο οποίο αυτό ανήκει. Τμηματοποίηση με βάση τα μέρη του λόγου (Chunking): Η προσπάθεια της δημιουργίας ομάδων από τα συστατικά που αποτελούν τις προτάσεις του κειμένου με βάση τα μέρη του λόγου στα οποία αυτά ανήκουν, χωρίς όμως να παρέχεται πληροφορία για την εσωτερική δομή τους ή τον ρόλο τους στην πρόταση. Ανάλυση του κειμένου (Parsing): Αφορά στη συντακτική ανάλυση των δομικών στοιχείων του κειμένου. Ανάλυση κοινών αναφορών (Co-reference Resolution): Πρόκειται για την προσπάθεια εντοπισμού εκφράσεων, μέσα σε μία πρόταση, οι οποίες αναφέρονται στην ίδια έννοια. Για την υλοποίηση των παραπάνω εργασιών είναι απαραίτητη η ύπαρξη μοντέλων εκπαίδευσης που δημιουργήθηκαν πάνω σε κάποια σύνολα δεδομένων. Τα μοντέλα εκπαίδευσης αποτελούν τα πρότυπα με βάση τα οποία εξάγεται η πληροφορία στα εξεταζόμενα σύνολα δεδομένων. Η βιβλιοθήκη OpenNLP παρέχει για κάθε εργασία έναν αριθμό έτοιμων μοντέλων, ενώ παράλληλα επιτρέπει στον χρήση την εκπαίδευση νέων μοντέλων με τη χρήση κάποιου συνόλου δεδομένων. Συνεισφορά στην παρούσα εργασία Η χρήση της βιβλιοθήκης OpenNLP, στην παρούσα εργασία έγινε στο στάδιο της ανάλυσης των κειμένων από τη βιβλιοθήκη Lucene. Χρησιμοποιήθηκαν τα μοντέλα εκπαίδευσης που παρέχει η OpennNLP και αφορούν στον εντοπισμό ονομάτων ανθρώπων, οργανισμών και τοπωνυμιών ώστε αυτά στην περίπτωση που αποτελούνται από παραπάνω από μία λέξη να αντιμετωπιστούν ως μία οντότητα και να μη διασπαστούν κατά το στάδιο του tokenizing. 60

67 4. Πλαίσιο υποδομής και διαχείρισης δεδομένων Όπως ήδη αναφέρθηκε από το πρώτο κεφάλαιο, η εργασία αυτή πραγματεύεται το πρόβλημα της ομαδοποίησης μεγάλου όγκου δεδομένων κειμένου που προέρχονται από πηγές του Παγκοσμίου Ιστού. Για το σκοπό αυτό χρησιμοποιήθηκαν οι γνώσεις και οι τεχνολογίες που παρουσιάστηκαν στα Κεφάλαια 2 και 3. Τα δεδομένα πάνω στα οποία βασίστηκαν οι πειραματικές διαδικασίες προήρθαν από δύο διαφορετικές πηγές, ενώ για την εκτέλεση αυτών των διαδικασιών αναπτύχθηκε ένα πλαίσιο το οποίο περιγράφεται στην Εικόνα 4.1. Στη συνέχεια αυτού του κεφαλαίου γίνεται αναφορά στην υποδομή στην οποία εκτελέστηκαν τα πειράματα, στην παρουσίαση των συνόλων δεδομένων που χρησιμοποιήθηκαν, και στην αναλυτική περιγραφή των διαδικασιών του πλαισίου. 61

68 Εικόνα 4.1: Το πλαίσιο πάνω στο οποίο βασίστηκε η πειραματική διαδικασία. Τα ορθογώνια παραλληλόγραμμα δηλώνουν διεργασίες που εκτελούνται μόνο μία φορά κατά την εκτέλεση ενός κύκλου πειραμάτων. Οι ελλείψεις δηλώνουν διεργασίες που εκτελούνται επαναληπτικά για διαφορετικές παραμέτρους. Τα συνεχόμενα βέλη δηλώνουν τη ροή εκτέλεσης ενός κύκλου πειραμάτων ενώ τα διακεκομμένα δηλώνουν την αποθήκευση των ενδιάμεσων ή των τελικών αποτελεσμάτων στο κατανεμημένο σύστημα αρχείων HDFS. Οι διεργασίες έχουν τοποθετηθεί σύμφωνα με το περιβάλλον στο οποίο εκτελούνται. 62

69 4.1 Υποδομή Η υποδομή στην οποία είναι στημένος ο Hadoop cluster πάνω στον οποίο εκτελέστηκαν οι αλγόριθμοι του Mahout κατά την εκτέλεση του πειραματικού μέρους της συγκεκριμένης εργασίας αποτελείται από έξι υπολογιστές, καθένας από τους οποίους έχει τα εξής χαρακτηριστικά: Λειτουργικό Σύστημα: Red Hat Linux Έκδοση πυρήνα: 2.6 Επεξεργαστής: Intel(R) Core(TM)2 Quad 2.40GHz Αριθμός πυρήνων επεξεργαστή: 4 Μνήμη (Ram): 3.79 GB 4.2 Σύνολα Δεδομένων Για την εκτέλεση των πειραματικών διαδικασιών χρησιμοποιήθηκαν κείμενα από δύο διαφορετικά σύνολα δεδομένων. Τα σύνολα αυτά είναι τα εξής: Reuters : Το συγκεκριμένο σύνολο δεδομένων αποτελεί μία συλλογή κειμένων η οποία δημιουργήθηκε το 1987 από πηγές του ειδησεογραφικού οργανισμού Reuters Ltd. 2. Η συλλογή αυτή διατέθηκε για ερευνητικούς σκοπούς το 1990, ενώ μετά από μία σειρά παρεμβάσεων, από διάφορους οργανισμούς, έφτασε στην τελική της μορφή το Τα κείμενα είναι αποθηκευμένα σε αρχεία SGML 3, μίας γλώσσας σήμανσης από την οποία προέρχονται οι ευρύτερα γνωστές XML, HTML, και XHTML. Για κάθε κείμενο της συλλογής παρέχονται πληροφορίες για τον συγγραφέα του, την ημερομηνία έκδοσης του, τον τίτλο του και το ίδιο το περιεχόμενο του, καθώς και μία μοναδική ταυτότητα (id). Επιπροσθέτως, η πλειοψηφία των κειμένων έχει ανατεθεί σε μία ή περισσότερες κατηγορίες, κάθε μία από τις οποίες αποτελείται από έναν αριθμό υποκατηγοριών. Οι βασικές κατηγορίες στις οποίες μπορεί να ανατεθεί ένα κείμενο της συλλογής ανάλογα με το περιεχόμενο του είναι: χρηματιστήρια (exchanges), οργανισμοί (organizations), άνθρωποι (people), τόποι (places), θεματολογία (topics). Τόσο οι πληροφορίες του κειμένου όσο και οι κατηγορίες στις οποίες αυτό ανήκει βρίσκονται μέσα στα αντίστοιχα tags της SGML. Στη συγκεκριμένη εργασία χρησιμοποιήθηκαν τα κείμενα του συνόλου που εντάσσονται σε μία μόνο υποκατηγορία της βασικής κατηγορίας θεματολογία. Ο αριθμός τους ανέρχεται στα 9494 κείμενα από τα οποία μετά το στάδιο του καθαρισμού, το οποίο περιγράφεται στη συνέχεια, χρησιμοποιούνται τα "Reuters-21578,Distribution 1.0":

70 ICWSM 2009 Spinn3r Blog Dataset (50): Πρόκειται για ένα, πολύ μεγάλου όγκου, σύνολο δεδομένων κειμένου που προέρχονται από δημοσιεύσεις σε διάφορα ιστολόγια του Παγκοσμίου Ιστού. Αποτελείται από 44 εκατομμύρια κείμενα, γραμμένα σε διάφορες γλώσσες, τα οποία δημιουργήθηκαν μεταξύ της 1 ης Αυγούστου και 1 ης Οκτωβρίου του 2008 και παρέχονται από την εταιρία Spinn3r 1 κατόπιν αιτήσεως. Τα κείμενα είναι αποθηκευμένα σε αρχεία XML και για το καθένα από αυτά παρέχεται πλήθος πληροφοριών όπως: η πηγή προέλευσης (σε μορφή url),η γλώσσα, ο συγγραφέας, η ημερομηνία δημοσίευσης, ο τίτλος, το περιεχόμενο (κυρίως κείμενο), κατηγορίες (tags), κ.α. Η δομή των κειμένων δεν είναι αυστηρή, με την έννοια ότι δεν έχουν όλα τα κείμενα πληροφορία για κάθε ένα από τα προαναφερθέντα πεδία. Έτσι υπάρχουν και περιπτώσεις κειμένων που δεν παρέχουν πληροφορία για τον τίτλο ή ακόμα και για το ίδιο τους το περιεχόμενο. Ένα ακόμα σημείο που πρέπει να επισημανθεί είναι ότι στη συγκεκριμένη συλλογή δεν έχει γίνει κάποιου είδους κατηγοριοποίηση στο σύνολο της. Έτσι το πεδίο της κατηγορίας που διαθέτουν κάποια κείμενα έχει την έννοια των ετικετών που οι συγγραφείς τους έχουν αποδώσει και όχι την έννοια ότι το κείμενο κατατάσσεται σε έναν αριθμό προκαθορισμένων κατηγοριών. Η πληροφορία για το κάθε πεδίο του κειμένου βρίσκεται ανάμεσα στο αντίστοιχο XML tag. Ο τεράστιος όγκος του συγκεκριμένου συνόλου κειμένων απαιτεί την ύπαρξη μιας πολύ ισχυρής υποδομής για την επεξεργασία του συνόλου των δεδομένων του. Στην παρούσα διπλωματική εργασία χρησιμοποιήθηκαν διαφορετικού μεγέθους υποσύνολα, ώστε να είναι δυνατή η υλοποίηση πειραματισμού και η διεξαγωγή ελέγχων στην υπάρχουσα εργαστηριακή υποδομή του Τμήματος 4.3 Διαδικασίες του πλαισίου Στην παρούσα υποενότητα γίνεται μια λεπτομερής περιγραφή των βημάτων του πλαισίου που αναπτύχθηκε, και εκτελούνται με τη σειρά που περιγράφεται στην Εικόνα 4.1 για κάθε κύκλο πειραμάτων. Ως κύκλος πειραμάτων ορίζεται η εκτέλεση όλων των βημάτων του πλαισίου για κάθε ένα από τα σύνολα δεδομένων σε συγκεκριμένου αριθμού κόμβων του Hadoop cluster. Παραδείγματος χάριν, η εκτέλεση των βημάτων του πλαισίου για ένα υποσύνολο κειμένων από το σύνολο δεδομένων ICWSM 2009 Spinn3r Blog Dataset με τη χρήση Hadoop cluster αποτελούμενου από 6 κόμβους, αποτελεί ένα κύκλο πειραμάτων. Καθαρισμός και εξαγωγή δεδομένων Όπως αναφέρθηκε, τα δεδομένα αρχικά αναπαρίστανται με τη χρήση μίας γλώσσας σήμανσης (SGML,XML). Για την εξαγωγή της χρήσιμης πληροφορίας αναπτύχθηκε ένας parser σε κώδικα Java. Η χρήσιμη πληροφορία, στη συγκεκριμένη εργασία, αποτελείται από τα πεδία που

71 περιγράφουν το id, τον τίτλο και το περιεχόμενο (από εδώ και στο εξής θα αναφέρεται ως περιγραφή) του κάθε κειμένου, για τα δεδομένα του συνόλου Reuters-21578, αλλά και των ετικετών του για τα δεδομένα του συνόλου ICWSM 2009 Spinn3r Blog Dataset. Επίσης, για τα δεδομένα του πρώτου συνόλου χρήσιμη πληροφορία θεωρείται ο αριθμός των κατηγοριών στις οποίες εντάσσεται το κάθε κείμενο καθώς επιλέγονται μόνο τα κείμενα που εντάσσονται σε μία μόνο υποκατηγορία της κατηγορίας θεματολογία. Για τα δεδομένα του δεύτερου συνόλου χρήσιμη πληροφορία, σε αυτό το στάδιο, είναι και η γλώσσα η οποία είναι γραμμένη το κάθε κείμενο, καθώς χρησιμοποιήθηκαν μόνο κείμενα που είναι γραμμένα στην αγγλική γλώσσα. Για τον εντοπισμό των tags των γλωσσών σήμανσης, που αφορούν στα απαιτούμενα πεδία και στην εξαγωγή της πληροφορίας από αυτά, γίνεται χρήση της βιβλιοθήκης Jericho 1. Στη συνέχεια γίνεται καθαρισμός των εξαγόμενων δεδομένων από στοιχεία τα οποία είναι περιττά και θα μπορούσαν να αλλοιώσουν τα αποτελέσματα. Παράδειγματα τέτοιων στοιχείων αποτελούν χαρακτηριστικές συμβολοσειρές των γλωσσών σήμανσης, όπως " κ.α., μη αλφαριθμητικοί χαρακτήρες, κ.τ.λ. Τέλος κάθε κείμενο που πληροί τις προϋποθέσεις εγγράφεται σε ξεχωριστό αρχείο με συγκεκριμένη δομή. Οι εικόνες 4.2 και 4.3 οπτικοποιούν λεπτομερώς το συγκεκριμένο βήμα παρουσιάζοντας, επίσης, παραδείγματα της δομής των αρχείων εισόδου και εξόδου, για τα δεδομένα που προέρχονται από τα δύο σύνολα. Εικόνα 4.2: Επιλογή κειμένων από το σύνολο δεδομένων Reuters-21578, καθαρισμός τους, και εξαγωγή σε ξεχωριστά text αρχεία

72 Εικόνα 4.3: Επιλογή κειμένων από το σύνολο δεδομένων ICWSM 2009 Spinn3r Blog Dataset, καθαρισμός τους και εξαγωγή σε ξεχωριστά text αρχεία. Δημιουργία καταλόγων Lucene Σε αυτό το στάδιο δημιουργούνται οι κατάλογοι Lucene (Lucene indexes) από τους οποίους στη συνέχεια θα δημιουργηθούν τα διανύσματα τα οποία αντιπροσωπεύουν το κάθε κείμενο και χρησιμοποιούνται ως δεδομένα εισόδου στον αλγόριθμο k-means. Για την δημιουργία των καταλόγων Lucene δημιουργήθηκε ένα πρόγραμμα σε γλώσσα Java. Καθένα από τα αρχεία κειμένου που παράχθηκε κατά το προηγούμενο στάδιο, εισέρχεται ως είσοδος στο πρόγραμμα. Στη συνέχεια το κάθε αρχείο υποβάλλεται στη διαδικασία της ανάλυσης, η οποία μελετά το κάθε πεδίο του κειμένου ξεχωριστά. Για το σκοπό αυτό δημιουργήθηκαν δύο analyzers οι οποίοι κληρονομούν από την κλάση Analyzer που παρέχεται από το Lucene API. Ανάλογα με το σύνολο δεδομένων λαμβάνουν χώρα οι εξής διαδικασίες: Reuters-21578: Το πεδίο id, το οποίο αποτελεί μοναδικό χαρακτηριστικό του κάθε κειμένου, θα συνεχίσει να έχει την ιδιότητα αυτή και μέσα στον κατάλογο Lucene. Γι αυτό το λόγο το πεδίο id δεν υποβάλλεται σε καμία διαδικασία από τον analyzer και αποθηκεύεται αυτούσιο στον κατάλογο. Τα πεδία τίτλος και περιγραφή αρχικά υποβάλλονται στη διαδικασία της εξαγωγής ονομαστικών οντοτήτων, με τη χρήση του Opennlp API και των εκπαιδευμένων μοντέλων που παρέχει η βιβλιοθήκη. Στη συνέχεια ο analyzer χωρίζει τα περιεχόμενα των πεδίων σε tokens, τα οποία αποτελούνται είτε από τις μεμονωμένες λέξεις που υπάρχουν σε αυτά είτε από τις ονομαστικές οντότητες που εξήχθησαν. Κάθε token υποβάλλεται στη διαδικασία της ανάλυσης κατά την οποία μελετάται αν αυτό αντιστοιχεί σε μία από τις λέξεις ενός αρχείου που αποτελείται από stopwords και έχει δοθεί ως είσοδος στο πρόγραμμα. Αν ένα token αποτελεί stopword ή αποτελείται μόνο από αριθμούς ή μη αλφαριθμητικά σύμβολα της αγγλικής γλώσσας τότε αφαιρείται και δεν λαμβάνεται υπόψη στα επόμενα στάδια. Σε αντίθετη περίπτωση το token αντικαθιστάται από τη ρίζα της λέξης από την οποία προέρχεται, διαδικασία γνωστή ως stemming. Μετά το τέλος των προαναφερθέντων διαδικασιών τα περιεχόμενα των δύο πεδίων ( τίτλος και περιγραφή ) αποθηκεύονται στον κατάλογο. Το 66

73 πεδίο κατηγορία δεν εμπλέκεται σε αυτό το στάδιο και κατ επέκταση ούτε στο στάδιο της ομαδοποίησης. Η ύπαρξη του αφορά στο στάδιο της αξιολόγησης των ομάδων με τρόπο που θα αναφερθεί σε επόμενη υποενότητα. ICWSM 2009 Spinn3r Blog Dataset: Η διαδικασία που ακολουθείται για τα πεδία id, τίτλος, περιγραφή των κειμένων του συγκεκριμένου συνόλου δεδομένων είναι πανομοιότυπη με αυτή που περιγράφεται παραπάνω για τα αντίστοιχα πεδία των κειμένων του συνόλου Reuters Για το επιπλέον πεδίο, δηλαδή για το πεδίο ετικέτες, γίνεται χρήση ενός δεύτερου analyzer σύμφωνα με τον οποίο ολόκληρη η ετικέτα αποτελεί ένα token το οποίο υποβάλλεται στη διαδικασία του stemming. Η επιλογή του μη διαχωρισμού των λέξεων μιας ετικέτας σε ξεχωριστά tokens (όπως π.χ. απεικονίζεται στην Εικόνα 4.4 για την ετικέτα gnu linux) γίνεται με το σκεπτικό ότι πρέπει να δοθεί μεγαλύτερη βαρύτητα στο αν κάποια κείμενα διαθέτουν ένα ποσοστό πανομοιότυπων ετικετών, κατά το στάδιο της ομαδοποίησης. Μετά την επεξεργασία τους, τα περιεχόμενα του κάθε πεδίου αποθηκεύονται στον κατάλογο Lucene. Εικόνα 4.4: Παράδειγμα εκτέλεσης του σταδίου της δημιουργίας του καταλόγου Lucene. Αριστερά διακρίνονται τα πεδία του κειμένου στην αρχική τους μορφή και δεξιά όπως αποθηκεύονται στον κατάλογο Lucene. Με κόκκινο χρώμα εμφανίζονται οι λέξεις που ο analyzer ορίζει ως stopwords και με πράσινο οι ονομαστικές οντότητες που εξάγει η βιβλιοθήκη Opennlp. Δημιουργία διανυσμάτων Στο στάδιο αυτό γίνεται χρήση του Mahout μέσω ενός driver που αυτό παρέχει. Πρόκειται για τον lucene.vector driver o οποίος διαβάζει έναν κατάλογο Lucene, αναγνωρίζει το κάθε κείμενο από το χαρακτηριστικό id του, και παράγει τα αντίστοιχα διανύσματα από τις τιμές του κάθε πεδίου του, έτσι όπως αυτές είναι αποθηκευμένες στον κατάλογο. Αρχικά, ο lucene.vector driver δημιουργεί τα λεξικά των όρων (tokens) για κάθε πεδίο όλων των κειμένων του εκάστοτε συνόλου δεδομένων. Τα λεξικά αυτά είναι κατάλογοι, αποθηκευμένοι σε αρχεία text, οι οποίοι αποτελούνται από όλους τους διαφορετικούς όρους που υπάρχουν στα κείμενα του συνόλου, για κάθε πεδίο, τοποθετημένους σε αλφαβητική σειρά. Επίσης, τα λεξικά περιέχουν πληροφορία για τον αριθμό των κειμένων στα οποία υπάρχει ο κάθε όρος στη συλλογή, καθώς και για τη θέση στην οποία αυτός βρίσκεται μέσα στο λεξικό. 67

74 Εικόνα 4.5: Στιγμιότυπο παραγόμενου λεξικού από τον lucene.vector driver. Στην κορυφή φαίνεται ο συνολικός αριθμός των όρων του λεξικού που θα αποτελέσει και το μήκος των διανυσμάτων για το συγκεκριμένο πεδίο. Ο κάθε όρος συνοδεύεται από τον αριθμό των κειμένων στα οποία βρίσκεται (doc freq) και από τη θέση του μέσα στο λεξικό (idx). Τα διανύσματα των κειμένων για κάθε πεδίο δημιουργούνται με βάση αυτά το λεξικά και έχουν συγκεκριμένο μέγεθος, το οποίο είναι ίσο με τον αριθμό των όρων που περιέχει το λεξικό. Έτσι, για παράδειγμα, το διάνυσμα ενός κειμένου για το πεδίο τίτλος θα αποτελείται από τόσα στοιχεία (διαστάσεις) όσοι είναι οι όροι του λεξικού του συγκεκριμένου πεδίου, για τα κείμενα του εξεταζόμενου συνόλου. Το κάθε στοιχείο του διανύσματος θα έχει την τιμή 0 αν ο όρος που βρίσκεται στην αντίστοιχη θέση του λεξικού δεν υπάρχει στον τίτλο του συγκεκριμένου κειμένου. Αντίθετα αν ένας όρος υπάρχει στον τίτλο του συγκεκριμένου κειμένου το αντίστοιχο στοιχείο του διανύσματος θα πάρει την τιμή tf-idf του όρου αυτού. Η συγκεκριμένη λογική γίνεται κατανοητή από το Παράδειγμα 2.1 της Ενότητας Όπως είναι φυσικό τα διανύσματα που παράγονται έχουν μηδενική τιμή στις περισσότερες διαστάσεις τους (αραιά διανύσματα). Ο lucene.vector driver παράγει διανύσματα για τα πεδία τίτλος και περιγραφή, για τα κείμενα που προέρχονται από το σύνολο δεδομένων Reuters και για τα πεδία τίτλος, περιγραφή και ετικέτες για τα κείμενα που προέρχονται από το σύνολο δεδομένων ICWSM 2009 Spinn3r Blog Dataset. Ανάθεση βαρών στα επιμέρους διανύσματα και ένωση των διανυσμάτων Στο πειραματικό τμήμα της συγκεκριμένης εργασίας διερευνήθηκε το αν τα αποτελέσματα της ομαδοποίησης μπορεί να γίνουν πιο ποιοτικά εάν αποδοθούν μεγαλύτερα βάρη στα πιο χαρακτηριστικά πεδία των κειμένων, όπως είναι τα πεδία τίτλος και ετικέτες. Για τον σκοπό αυτό δημιουργήθηκε ένα πρόγραμμα σε κώδικά Java το οποίο δέχεται ως είσοδο τα λεξικά και 68

75 τα διανύσματα των επιμέρους πεδίων. Το πρόγραμμα αυτό αρχικά δημιουργεί ένα ενιαίο λεξικό αποτελούμενο από τους όρους όλων των επιμέρους λεξικών προσθέτοντας στην αρχή του καθενός ένα χαρακτηριστικό που υποδηλώνει το πεδίο από το οποίο προήρθε. Αυτό συμβαίνει έτσι ώστε οι κοινοί όροι των πεδίων να αντιμετωπίζονται ως διαφορετικοί και να έχουν διαφορετικά βάρη. Η δομή του ενιαίου λεξικού είναι κοινή με τη δομή των επιμέρους, όπως αυτή φαίνεται στην Εικόνα 4.5 και ο σκοπός της κατασκευής του είναι για λόγους πληρότητας και οπτικής επαλήθευσης. Αυτό σημαίνει ότι δεν χρησιμοποιείται για την κατασκευή των ενιαίων διανυσμάτων, όπως γίνεται με τα επιμέρους λεξικά. Αντίθετα η διαδικασία δημιουργίας των ενιαίων διανυσμάτων είναι η εξής: τα διανύσματα των επιμέρους πεδίων διαβάζονται ένα-ένα από το πρόγραμμα και πολλαπλασιάζονται με το αντίστοιχο βάρος που έχει οριστεί ως είσοδος στο πρόγραμμα. Για το σκοπό αυτό γίνεται χρήση κλάσεων και συναρτήσεων που προσφέρονται από το Mahout API. Το αποτέλεσμα είναι η δημιουργία νέων διανυσμάτων βασισμένων στα αρχικά διανύσματα των κειμένων, για κάθε πεδίο τους. Στη συνέχεια, με βάση το id του κάθε κειμένου, εντοπίζονται όλα τα νέα διανύσματα που αντιστοιχούν σε κάθε πεδίο του και συνενώνονται με αποτέλεσμα την παραγωγή των ενιαίων διανυσμάτων. Τελικά, τα ενιαία διανύσματα αποθηκεύονται σε αρχεία τύπου sequence files ώστε να είναι δυνατός ο χειρισμός τους από το HDFS και από το ίδιο το Mahout. Αξιολόγηση των ενιαίων διανυσμάτων Το στάδιο αυτό αφορά στην αξιολόγηση των παραγόμενων, κατά την εκτέλεση του προηγούμενου σταδίου, ενιαίων διανυσμάτων. Η διαδικασία αυτή γίνεται με την εκτέλεση δύο διαδοχικών βημάτων στα διανύσματα που παράγονται από κάθε συνδυασμό βαρών. Αρχικά, εφαρμόζεται ο αλγόριθμος k-means του Mahout στα διανύσματα αυτά και στη συνέχεια γίνεται αξιολόγηση των παραγόμενων ομάδων μέσω ενός προγράμματος Java, που αναπτύχθηκε και υπολογίζει το συνολικό μέτρο Silhouette, το οποίο παρουσιάστηκε στην Ενότητα (Εξισώσεις 2.24 και 2.25), που προκύπτει από τις ομάδες αυτές. Ο αριθμός k των ομάδων, κατά την εκτέλεση του αλγορίθμου k-means, σε αυτό το στάδιο, δίνεται μέσω του Kανόνα του Aντίχειρα που παρουσιάστηκε στην Ενότητα (Εξίσωση 2.21). Η διαδικασία είναι κοινή για τα διανύσματα που παράγονται από τα κείμενα των συνόλων δεδομένων Reuters και ICWSM 2009 Spinn3r Blog Dataset. Για τον εντοπισμό του καλύτερου συνδυασμού βαρών, όσον αφορά τα διανύσματα των κειμένων του συνόλου ICWSM 2009 Spinn3r Blog Dataset χρησιμοποιήθηκε ένα υποσύνολο κειμένων. Ο συνδυασμός βαρών που παράγει τα διανύσματα τα οποία δημιουργούν τις ποιοτικότερες ομάδες, σύμφωνα με το μέτρο Silhouette, στις περιπτώσεις των κειμένων που προέρχονται και από τα δυο εξεταζόμενα σύνολα δεδομένων είναι αυτός που χρησιμοποιείται στη συνέχεια της πειραματικής διαδικασίας της εργασίας. Το επόμενο στάδιο αφορά στον εντοπισμό του καταλληλότερου αριθμού ομάδων k για τα εξεταζόμενα σύνολα κειμένων. 69

76 Εντοπισμός του καταλληλότερου αριθμού ομάδων Η διαδικασία που ακολουθείται για τον εντοπισμό του καταλληλότερου αριθμού ομάδων, k, για κάθε εξεταζόμενο σύνολο διανυσμάτων είναι παρόμοια με τη διαδικασία που παρουσιάστηκε στο ακριβώς προηγούμενο στάδιο. Στα ενιαία διανύσματα του εξεταζόμενου συνόλου κειμένων εκτελείται ο αλγόριθμος k-means του Mahout για διάφορες τιμές του k ξεκινώντας με μία τιμή κοντά σε αυτήν που παράγεται από τον Γενικό Κανόνα που παρουσιάστηκε στην Ενότητα στο τμήμα της παρουσίασης των μεθόδων για την επιλογή του αριθμού των ομάδων, για κάθε σύνολο, και αυξάνοντας το διαδοχικά. Οι ομάδες που προκύπτουν για τους διάφορους αριθμούς k αξιολογούνται μέσω του προγράμματος Java που υπολογίζει την τιμή του μέτρου Silhouette. Ο αριθμός των ομάδων k, ο οποίος έχει ως αποτέλεσμα την ποιοτικότερη ομαδοποίηση, σύμφωνα με το μέτρο Silhouette, σε κάθε εξεταζόμενο σύνολο είναι αυτός για τον οποίο θα εκτελεστεί ο αλγόριθμος k-means στο τελικό στάδιο της πειραματικής διαδικασίας. Ομαδοποίηση σύμφωνα με διάφορα μέτρα απόστασης και τελική αξιολόγηση Πρόκειται για το τελικό στάδιο της πειραματικής διαδικασίας όπου γίνεται εκτέλεση του αλγορίθμου k-means του Mahout για τα διανύσματα του κάθε εξεταζόμενου συνόλου, όπως αυτά προέκυψαν κατά το στάδιο της εύρεσης του καταλληλότερου συνδυασμού βαρών των διανυσμάτων των επιμέρους πεδίων, για αριθμό ομάδων, τον καταλληλότερο αριθμό k, που προέκυψε από την εκτέλεση του σταδίου που παρουσιάστηκε αμέσως πριν, για το κάθε σύνολο. Μετά την διαδοχική εκτέλεση του αλγορίθμου για τα διάφορα μέτρα απόστασης ακολουθεί η αξιολόγηση των ομάδων που παράγονται σε κάθε εκτέλεση. Η αξιολόγηση γίνεται με τη χρήση του προγράμματος Java χρησιμοποιήθηκε και σε προηγούμενα στάδια και υπολογίζει το συνολικό μέτρο Silhouette των ομάδων. Επιπλέον, για την αξιολόγηση των ομάδων που προκύπτουν σε αυτό το στάδιο, αναπτύχθηκαν και χρησιμοποιούνται δύο ακόμη προγράμματα σε Java, καθένα από τα οποία χρησιμοποιείται ως ένα δεύτερο μέτρο αξιολόγησης των ομάδων που προκύπτουν από τα κείμενα που προέρχονται από τα δύο σύνολα δεδομένων, Reuters και ICWSM 2009 Spinn3r Blog Dataset. Για τις ομάδες που παράγονται από τα κείμενα του συνόλου Reuters-21578, το αντίστοιχο πρόγραμμα υπολογίζει το μέτρο F1, που παρουσιάστηκε στην Ενότητα (Εξίσωση 2.37), και βασίζεται στην εκ των προτέρων κατηγοριοποίηση που υπάρχει για τα συγκεκριμένα κείμενα. Η αξιολόγηση των ομάδων με βάση το μέτρο F1 είναι ο λόγος που επιλέχθηκαν κείμενα τα οποία ανήκουν σε μία μόνο κατηγορία καθώς η εμφάνιση ενός κειμένου σε περισσότερες από μία κατηγορίες θα οδηγούσε σε εσφαλμένα αποτελέσματα. Για τις ομάδες που παράγονται από τα κείμενα του συνόλου ICWSM 2009 Spinn3r Blog Dataset το αντίστοιχο πρόγραμμα υπολογίζει την τιμή του δείκτη Davies Bouldin των παραγόμενων ομάδων, ο οποίος παρουσιάστηκε στην Ενότητα (Εξίσωση 2.31). 70

77 5 Αποτελέσματα Πειραματικής Διαδικασίας Στο κεφάλαιο αυτό παρουσιάζονται τα αποτελέσματα των σταδίων της πειραματικής διαδικασίας. Τα αποτελέσματα που παρουσιάζονται ανήκουν σε δύο κατηγορίες. Η πρώτη κατηγορία αφορά στην αξιολόγηση των παραγόμενων ομάδων στα διάφορα στάδια της διαδικασίας, ενώ η δεύτερη αφορά στους χρόνους εκτέλεσης του αλγόριθμου k-means του Mahout για κάθε εξεταζόμενο σύνολο δεδομένων σε κάθε έναν από τους κύκλους των πειραμάτων. Η πειραματική διαδικασία εκτελέστηκε στα εξής σύνολα δεδομένων: Reuters-21578: κείμενα τα οποία ανήκουν σε μία μόνο υποκατηγορία της κατηγορίας θεματολογία ICWSM 2009 Spinn3r Blog Dataset 10Κ: Τυχαίο δείγμα κειμένων από το ICWSM 2009 Spinn3r Blog Dataset ICWSM 2009 Spinn3r Blog Dataset 100Κ: Τυχαίο δείγμα κειμένων από το ICWSM 2009 Spinn3r Blog Dataset Για τον εντοπισμό του καλύτερου συνδυασμού βαρών για τα διανύσματα του κάθε πεδίου το πρόγραμμα εκτελείται: i) για τιμές βαρών από 1 έως 2 με βήμα 0.2 για τα διανύσματα του πεδίου τίτλος των δεδομένων του συνόλου Reuters και ii) για όλους τους συνδυασμούς των τιμών βαρών από 1 έως 2 με βήμα 0.2 για τα διανύσματα των πεδίων τίτλος και ετικέτες του συνόλου ICWSM 2009 Spinn3r Blog Dataset. Τα διανύσματα που αφορούν το πεδίο περιγραφή για τα δεδομένα και των δυο συνόλων δεν πολλαπλασιάζονται με κάποιο βάρος καθώς, σύμφωνα με την υπόθεση που έγινε, το πεδίο αυτό περιέχει και αρκετούς όρους που είναι λιγότερο αντιπροσωπευτικοί της θεματολογίας των κειμένων. Συμπερασματικά, το πρόγραμμα εκτελείται 6 φορές για τα διανύσματα του πρώτου συνόλου δεδομένων και 36 φορές για τα διανύσματα του δεύτερου συνόλου. Τα αποτελέσματα της κάθε εκτέλεσης του προγράμματος, στη συνέχεια, περνούν από το στάδιο της αξιολόγησης, σύμφωνα με το μέτρο Silhouette, το οποίο σύμφωνα με τη βιβλιογραφία φαίνεται να αποτελεί το πιο αξιόπιστο μέτρο αξιολόγησης ανάμεσα σε αυτά που παρουσιάστηκαν στην Ενότητα (51) (52).Σκοπός είναι ο εντοπισμός του καλύτερου συνδυασμού βαρών έτσι ώστε τα αντίστοιχα διανύσματα να είναι αυτά που θα χρησιμοποιηθούν στο στάδιο της τελικής ομαδοποίησης, όπου ο αλγόριθμος k-means εκτελείται τρεις φόρες για τα διανύσματα του κάθε εξεταζόμενου συνόλου, αλλάζοντας κάθε φορά την τιμή της παραμέτρου που αφορά στο μέτρο απόστασης που χρησιμοποιείται. Κάθε εκτέλεση του αλγορίθμου γίνεται σύμφωνα με ένα από τα μέτρα της Ευκλείδειας απόστασης, της απόστασης Συνημίτονου και της απόστασης Tanimoto, τα οποία παρουσιάστηκαν στην Ενότητα (Εξισώσεις 2.7, 2.14 και 2.15 αντίστοιχα). 71

78 Μέτρο Silhouette 5.1 Αξιολόγηση ομάδων Η παρούσα ενότητα χωρίζεται σε τέσσερεις υποενότητες, κάθε μία από τις οποίες αφορά σε ένα από τα εξεταζόμενα σύνολα δεδομένων. Σε κάθε υποενότητα παρουσιάζονται τα αποτελέσματα αξιολόγησης των ομάδων που παράγονται από τον αλγόριθμο k-means του Mahout στα διάφορα στάδια της πειραματικής διαδικασίας για το συγκεκριμένο εξεταζόμενο σύνολο δεδομένων. Τα αποτελέσματα σε αυτό το κεφάλαιο απεικονίζονται με τη μορφή διαγραμμάτων. Στην Ενότητα Α1 του Παράρτηματος Α, γίνεται λεπτομερής απεικόνιση των αποτελεσμάτων με τη μορφή πινάκων Reuters Στάδιο επιλογής των βαρών των διανυσμάτων του πεδίου «τίτλος» Στο στάδιο επιλογής βαρών των διανυσμάτων του πεδίου τίτλος για τα κείμενα του συγκεκριμένου συνόλου, έγινε διαδοχική εκτέλεση του αλγορίθμου k-means του Mahout για αριθμό ομάδων, k, ίσο με 66 με χρήση της Απόστασης Συνημίτονου και αξιολόγηση των παραγόμενων ομάδων σύμφωνα με το μέτρο Silhouette. Τα αποτελέσματα της εκτέλεσης του συγκεκριμένου σταδίου φαίνονται στο σχεδιάγραμμα της Eικόνας 5.1 και αναλυτικά στο Παράρτημα Α-Ενότητα Α1, Πίνακας Α1.1. 0,1 0,09 0,08 0,07 0,06 0,05 0,04 0,03 0,02 0, Βάρη: "Τίτλος"-"Περιγραφή" Εικόνα 5.1: Αποτελέσματα αξιολόγησης των παραγόμενων ομάδων από τον αλγόριθμο k-means για τα διάφορα βάρη των διανυσμάτων του πεδίου τίτλος, σύμφωνα με το μέτρο Silhouette. Σύμφωνα με τα αποτελέσματα που φαίνονται στην Εικόνα 5.1, τα διανύσματα που χρησιμοποιήθηκαν στα επόμενα στάδια της πειραματικής διαδικασίας, για το συγκεκριμένο 72

79 Μέτρο Silhouette συνόλου, αποτελούνται από την ένωση των διανυσμάτων του πεδίου τίτλος, πολλαπλασιασμένα με βάρος 2, και των διανυσμάτων του πεδίου περιγραφή. Στάδιο επιλογής καταλληλότερου αριθμού ομάδων Στο στάδιο επιλογής του καταλληλότερου αριθμού ομάδων, k, για το συγκεκριμένο σύνολο δεδομένων, εκτελέστηκε ο αλγόριθμος k-means του Mahout ξεκινώντας από k ίσο με 60, έχοντας ως γνώμονα τον Γενικό Κανόνα, το αποτέλεσμα του οποίου είναι περίπου ίσο με 68, και αυξάνοντας το διαδοχικά με βήμα 10. Τα αποτελέσματα των διαδοχικών εκτελέσεων φαίνονται στην Εικόνα 5.2 και αναλυτικά στο Παράρτημα Α-Ενότητα Α1, Πίνακας Α1.2. 0,08 0,07 0,06 0,05 0,04 0,03 0,02 0, Αριθμός Ομάδων k Εικόνα 5.2: Αποτελέσματα διαδοχικών εκτελέσεων του αλγορίθμου k-means σύμφωνα με το μέτρο Silhouette, για τον εντοπισμό του καταλληλότερου αριθμού ομάδων. Όπως φαίνεται από την Εικόνα 5.2 η διαδικασία της ομαδοποίησης για το συγκεκριμένο σύνολο δεδομένων αποδίδει καλύτερα για αριθμό ομάδων, k, ίσο με 220. Αυτός ο αριθμός ομάδων χρησιμοποιήθηκε στις εκτελέσεις του αλγορίθμου k-means στο τελευταίο στάδιο της πειραματικής διαδικασίας για το συγκεκριμένο σύνολο δεδομένων. Στάδιο τελικής ομαδοποίησης με χρήση διαφόρων μέτρων απόστασης Στο στάδιο, αυτό που αποτελεί το τελικό στάδιο της πειραματικής διαδικασίας, εκτελείται ο αλγόριθμος k-means του Mahout για τα διανύσματα που παρήχθησαν σύμφωνα με τον ιδανικότερο συνδυασμό βαρών των επιμέρους πεδίων για αριθμό ομάδων k τον καταλληλότερο αριθμό όπως αυτός προέκυψε κατά την αξιολόγηση στο αντίστοιχο στάδιο. Ο αλγόριθμος εκτελείται τρεις φορές, μία για κάθε ένα από τα μέτρα της Ευκλείδειας Απόστασης, της Απόστασης Συνημίτονου και της Απόστασης Tanimoto. Η Εικόνα 5.3 παρουσιάζει τα αποτελέσματα της αξιολόγησης των παραγόμενων ομάδων από τις τρεις εκτελέσεις του 73

80 Μέτρο F1 Μέτρο Silhouette αλγορίθμου k-means σύμφωνα με το μέτρο Silhouette. Για τον υπολογισμό των αποστάσεων των διανυσμάτων των παραγόμενων ομάδων με σκοπό τον υπολογισμό του μέτρου Silhouette έγινε χρήση του μέτρου απόστασης Συνημίτονου. Η Εικόνα 5.4 παρουσιάζει τα αντίστοιχα αποτελέσματα σύμφωνα με το μέτρο F1. Οι αναλυτικές τιμές των αποτελεσμάτων παρουσιάζονται στο Παράρτημα Α-Ενότητα Α1, Πίνακας Α1.3. 0,08 0,06 0,04 0,02 0 Ευκλείδεια Συνημίτονου Tanimoto Μέτρα Απόστασης Εικόνα 5.3: Αποτελέσματα ομαδοποίησης του αλγορίθμου k-means για τα διάφορα μέτρα απόστασης σύμφωνα με το μέτρο Silhouette. 0,24 0,22 0,2 0,18 Ευκλείδεια Συνημίτονου Tanimoto Μέτρα Απόστασης Εικόνα 5.4: Αποτελέσματα ομαδοποίησης του αλγορίθμου k-means για τα διάφορα μέτρα απόστασης σύμφωνα με το μέτρο F1. Αξίζει να σημειωθεί ότι, παρά τη χρήση διαφορετικών μέτρων απόστασης, για της περιπτώσεις των μέτρων Συνημίτονου και Tanimoto ο αλγόριθμος k-means παράγει πανομοιότυπα αποτελέσματα. Συμπεράσματα Τα αποτελέσματα της πειραματικής διαδικασίας για τα 9422 κείμενα του συνόλου δεδομένων Reuters οδηγούν σε μία σειρά συμπερασμάτων. Από το πρώτο στάδιο της διαδικασίας φαίνεται πως η υπόθεση ότι ο προσδιορισμός μεγαλύτερων βαρών στα πιο αντιπροσωπευτικά πεδία των κειμένων και συγκεκριμένα στο πεδίο τίτλος για το συγκεκριμένο σύνολο, έχει ως 74

81 αποτέλεσμα την ποιοτικότερη ομαδοποίηση τους, είναι επιτυχής. Αυτό προκύπτει από το γεγονός ότι η σταθερή αύξηση του βάρους του πεδίου τίτλος έχει ως αποτέλεσμα την αύξηση του μέτρου Silhouette. Τα αποτελέσματα του δεύτερου σταδίου της πειραματικής διαδικασίας οδηγούν στο συμπέρασμα ότι ο Γενικός Κανόνας αποτυγχάνει να προσδιορίσει σωστά τον καταλληλότερο αριθμό ομάδων για τον οποίο θα εκτελεστεί ο αλγόριθμος k-means. Μάλιστα ο βαθμός αποτυχίας του Γενικού Κανόνα είναι αρκετά μεγάλος καθώς η πειραματική διαδικασία έδειξε ότι ο καταλληλότερος αριθμός ομάδων είναι πολύ μεγαλύτερος, από αυτόν που παράγεται από τον κανόνα. Στο τελικό στάδιο της πειραματικής διαδικασίας προκύπτει το συμπέρασμα ότι η Ευκλείδεια Απόσταση είναι το λιγότερο κατάλληλο μέτρο απόστασης για την εκτέλεση του αλγορίθμου k- means σε δεδομένα κειμένου, ενώ μεταξύ των μέτρων απόστασης Συνημίτονου και Tanimoto δεν υπάρχει διάκριση καθώς οδηγούν στην ίδια ακριβώς ομαδοποίηση. Τέλος, το γενικό συμπέρασμα είναι ότι υπάρχει μεγάλη ποικιλομορφία στη θεματολογία των κειμένων του συγκεκριμένου συνόλου καθώς σε όλα τα στάδια της πειραματικής διαδικασίας τα αποτελέσματα της αξιολόγησης των παραγόμενων ομάδων είναι οριακά θετικά, με βάση το μέτρο Silhouette, του οποίου οι τιμές ανήκουν στο διάστημα [-1,1]. Εντύπωση προκαλεί και το γεγονός της σχετικά μικρής τιμής που παράγεται από το μέτρο αξιολόγησης F1 και υποδηλώνει ότι τα αποτελέσματα του αλγορίθμου k-means δεν συμφωνούν σε μεγάλο βαθμό με την υπάρχουσα κατηγοριοποίηση που έχει γίνει στο συγκεκριμένο σύνολο δεδομένων ICWSM 2009 Spinn3r Blog Dataset 10Κ Στάδιο επιλογής των βαρών των διανυσμάτων των πεδίων «τίτλος» και «ετικέτες» Στο στάδιο αυτό γίνεται η αξιολόγηση των ομάδων που προκύπτουν από τις διαδοχικές εκτελέσεις του αλγορίθμου k-means του Mahout για τα ενιαία διανύσματα που προκύπτουν από την ένωση των διανυσμάτων των επιμέρους πεδίων για τους διάφορους συνδυασμούς βαρών που έχουν ανατεθεί στα διανύσματα αυτά. Η επιλογή του κατάλληλου συνδυασμού, που γίνεται σε αυτό το στάδιο, επηρεάζει τις εκτελέσεις των υπόλοιπων σταδίων, τόσο για το συγκεκριμένο υποσύνολο δεδομένων όσο και για τα υπόλοιπα υποσύνολα του συνόλου δεδομένων ICWSM 2009 Spinn3r Blog Dataset, στα οποία εκτελέστηκε η πειραματική διαδικασία. Η Εικόνα 5.5 παρουσιάζει τα αποτελέσματα των διαδοχικών εκτελέσεων σύμφωνα με το μέτρο Silhouette ενώ μια πιο λεπτομερής παρουσίαση γίνεται στο Παράρτημα Α-Ενότητα Α1, Πίνακας Α

82 Μέτρο Silhouette 0,035 0,03 0,025 0,02 0,015 0,01 0,005 0 Βάρη: "Τίτλος"-"Περιγραφή"-"Ετικέτες" Εικόνα 5.5: Αποτελέσματα αξιολόγησης των παραγόμενων ομάδων από τον αλγόριθμο k-means για τoυς διάφορους συνδυασμούς βαρών των διανυσμάτων των ςπεδίων τίτλος και περιγραφή, σύμφωνα με το μέτρο Silhouette. Σύμφωνα με τα αποτελέσματα που φαίνονται στην Εικόνα 5.5, τα διανύσματα που χρησιμοποιήθηκαν στα επόμενα στάδια της πειραματικής διαδικασίας, για τα κείμενα που προέρχονται από το σύνολο δεδομένων ICWSM 2009 Spinn3r Blog Dataset, αποτελούνται από την ένωση των διανυσμάτων του πεδίου τίτλος, πολλαπλασιασμένα με βάρος 1.2, των διανυσμάτων του πεδίου περιγραφή και των διανυσμάτων του πεδίου ετικέτες, πολλαπλασιασμένα με βάρος 2. Στάδιο επιλογής καταλληλότερου αριθμού ομάδων Στο στάδιο επιλογής του καταλληλότερου αριθμού ομάδων, k, για το συγκεκριμένο σύνολο δεδομένων, εκτελέστηκε ο αλγόριθμος k-means του Mahout ξεκινώντας από k ίσο με 70, τιμή κοντά σε αυτήν που παράγεται από τον "Γενικό Κανόνα", και αυξάνοντας το διαδοχικά με βήμα 10. Τα αποτελέσματα της ποιότητας των παραγόμενων ομάδων, σύμφωνα με το μέτρο Silhouette παρουσιάζονται στην Εικόνα 5.6 και αναλυτικότερα στον Πίνακα Α1.5 του Παραρτήματος Α-Ενότητα Α1. Όπως φαίνεται από τα αποτελέσματα, ο αλγόριθμος k-means παράγει ποιοτικότερα αποτελέσματα για αριθμό ομάδων, k, ίσο με 350. Με βάση αυτόν τον αριθμό εκτελέστηκε το τελευταίο στάδιο της πειραματικής διαδικασίας για το συγκεκριμένο υποσύνολο δεδομένων. 76

83 Μέτρο Silhouette Μέτρο Silhouette 0,05 0,04 0,03 0,02 0,01 0 Αριθμός ομάδων k Εικόνα 5.6: Αποτελέσματα διαδοχικών εκτελέσεων του αλγορίθμου k-means σύμφωνα με το μέτρο Silhouette, για τον εντοπισμό του καταλληλότερου αριθμού ομάδων. Στάδιο τελικής ομαδοποίησης με χρήση διαφόρων μέτρων απόστασης Στο στάδιο αυτό έγιναν τρεις διαδοχικές εκτελέσεις του αλγορίθμου k-means του Mahout, μία για κάθε ένα από τα μέτρα απόστασης Ευκλείδεια, Συνημίτονου και Απόσταση Tanimoto. Ο αριθμός των ομάδων, σύμφωνα με τον οποίο εκτελέστηκε ο αλγόριθμος, προέκυψε από το προηγούμενο στάδιο της πειραματικής διαδικασίας και είναι ίσος με 350. Η αξιολόγηση των ομάδων που παρήχθησαν από την εκτέλεση του αλγορίθμου έγινε σύμφωνα με τα μέτρα Silhouette και Davies-Bouldin index. Για την εξαγωγή των συγκεκριμένων μέτρων χρησιμοποιήθηκε το μέτρο Απόσταση Συνημίτονου. Τα αποτελέσματα των αξιολογήσεων παρουσιάζονται στην Εικόνα 5.7 και στην Εικόνα 5.8. Παράλληλα στον Πίνακα Α1.6 του Παραρτήματος Α-Ενότητα Α1 παρέχεται μια πιο λεπτομερής παρουσίαση των αποτελεσμάτων. 0,05 0,04 0,03 0,02 0,01 0 Ευκλείδεια Συνημίτονου Tanimoto Μέτρα Απόστασης Εικόνα 5.7: Αποτελέσματα ομαδοποίησης του αλγορίθμου k-means για τα διάφορα μέτρα απόστασης σύμφωνα με το μέτρο Silhouette. Σημειώνεται ότι ο αλγόριθμος k-means παράγει τα ίδια αποτελέσματα ομαδοποίησης στις εκτελέσεις με βάση τα μέτρα απόστασης Συνημίτονου και Tanimoto. 77

84 Μέτρο DBI Ευκλείδεια Συνημίτονου Tanimoto Μέτρα Απόστασης Εικόνα 5.8: Αποτελέσματα ομαδοποίησης του αλγορίθμου k-means για τα διάφορα μέτρα απόστασης σύμφωνα με το μέτρο DBI. Συμπεράσματα Τα αποτελέσματα των διαφόρων σταδίων της πειραματικής διαδικασίας στο δείγμα κειμένων του συνόλου ICWSM 2009 Spinn3r Blog Dataset οδηγούν στα ακόλουθα συμπεράσματα: Στο πρώτο στάδιο της διαδικασίας επιβεβαιώνεται η υπόθεση ότι ο προσδιορισμός μεγαλύτερων βαρών στα πιο αντιπροσωπευτικά πεδία των κειμένων, που στο συγκεκριμένο σύνολο αποτελούνται από τα πεδία τίτλος και ετικέτες, έχει ως αποτέλεσμα την ποιοτικότερη ομαδοποίηση τους. Μάλιστα από τα αποτελέσματα της αξιολόγησης των ομάδων σε αυτό το στάδιο διακρίνεται μία ιεραρχία μεταξύ των πεδίων καθώς η ποιοτικότερη ομαδοποίηση προκύπτει από τον προσδιορισμό μεγαλύτερου βάρους στο πεδίο ετικέτες απ ότι στο πεδίο τίτλος και όχι από τον προσδιορισμό του μέγιστου βάρους και στα δύο πεδία. Στο δεύτερο στάδιο της πειραματικής διαδικασίας προκύπτει για ακόμη μία φορά το συμπέρασμα ότι ο "Γενικός Κανόνας" αποτυγχάνει να προσδιορίσει τον καταλληλότερο αριθμό ομάδων για τον οποίο θα πρέπει να εκτελεστεί ο αλγόριθμος k-means. Μάλιστα στο συγκεκριμένο σύνολο δεδομένων η διαφορά μεταξύ του αποτελέσματος του "Γενικού Κανόνα" είναι μεγαλύτερη από τον αριθμό που προκύπτει από την πειραματική διαδικασία, σε σχέση με την αντίστοιχη διαφορά για τα κείμενα του συνόλου δεδομένων Reuters Τα αποτελέσματα της αξιολόγησης των ομάδων, που προκύπτουν στο τελικό στάδιο της διαδικασίας ενισχύουν το συμπέρασμα ότι η Ευκλείδεια Απόσταση αποτελεί το λιγότερο κατάλληλο μέτρο απόστασης για ομαδοποίηση δεδομένων κειμένου με τον αλγόριθμο k- means. Επίσης διακρίνεται ότι και στα κείμενα αυτού του συνόλου, ομοίως με τα κείμενα του συνόλου Reuters-21578, η ομαδοποίηση με τη χρήση των μέτρων απόστασης Συνημίτονου και Tanimoto έχει ακριβώς τα ίδια αποτελέσματα. 78

85 Το γενικό συμπέρασμα που προκύπτει είναι ότι, σύμφωνα με την αξιολόγηση των παραγόμενων ομάδων σε όλα τα στάδια της πειραματικής διαδικασίας, η ομαδοποίηση μπορεί να θεωρηθεί ως οριακά θετική καθώς οι τιμές που προκύπτουν από το μέτρο Silhouette είναι ελάχιστα υψηλότερες από το 0. Το ίδιο συμπέρασμα προκύπτει και από τη μελέτη των αποτελεσμάτων της αξιολόγησης των ομάδων στο τελικό στάδιο της διαδικασίας, σύμφωνα με το μέτρο Davies-Bouldin Index, το οποίο, γενικώς, παράγει τιμές μεγαλύτερες ή ίσες του μηδενός, με τη χαμηλότερη τιμή να αποτελεί ένδειξη ποιοτικότερης ομαδοποίησης. Ο πιθανότερος λόγος για αυτήν την οριακά θετική ποιότητα της ομαδοποίησης είναι η ανομοιογένεια των κειμένων του συνόλου δεδομένων ICWSM 2009 Spinn3r Blog Dataset καθώς αυτά προέρχονται από εκατομμύρια ετερογενείς πηγές του Διαδικτύου σε συνδυασμό με την τυχαία επιλογή του συγκεκριμένου δείγματος και το γεγονός ότι τα αποτελέσματα του αλγορίθμου k-means επηρεάζονται σε μεγάλο βαθμό από την επιλογή των αρχικών κέντρων, τα οποία όμως λαμβάνονται με τυχαίο τρόπο ICWSM 2009 Spinn3r Blog Dataset 100Κ Όπως αναφέρθηκε στην προηγούμενη υποενότητα, η επιλογή των βαρών των πεδίων που επιλέχτηκε στο υποσύνολο των κειμένων του ICWSM 2009 Spinn3r Blog Dataset, εφαρμόστηκε και στα υπόλοιπα υποσύνολα του συγκεκριμένου συνόλου. Έτσι, σε αυτό το υποσύνολο δεδομένων η πειραματική διαδικασία παραλείπει αυτό το στάδιο. Στάδιο επιλογής καταλληλότερου αριθμού ομάδων Ομοίως με τη λογική που ακολουθήθηκε στα προηγούμενα εξεταζόμενα σύνολα δεδομένων, σε αυτό το υποσύνολο έγιναν διαδοχικές εκτελέσεις του αλγορίθμου k-means του Mahout με τον αριθμό, k, των ομάδων να ξεκινάει κοντά στην τιμή που προκύπτει από τον Γενικό Κανόνα, δηλαδή ίσο με 200 και να αυξάνεται με βήμα 200. Η αξιολόγηση των παραγομένων ομάδων γίνεται με τη χρήση του μέτρου Silhouette και τα αποτελέσματα της παρουσιάζονται στην Εικόνα 5.9 και αναλυτικότερα στον Πίνακα Α1.7 του Παραρτήματος Α-Ενότητα Α1. Σύμφωνα με τα αποτελέσματα της αξιολόγησης των ομάδων, ο αλγόριθμος k-means παράγει ποιοτικότερη ομαδοποίηση για αριθμό ομάδων ίσο με 1000, για το συγκεκριμένο υποσύνολο. 79

86 Μέτρο Silhouette Μέτρο Silhouette 0,08 0,07 0,06 0,05 0,04 0,03 0,02 0, Αριθμός Ομάδων k Εικόνα 5.9: Αποτελέσματα διαδοχικών εκτελέσεων του αλγορίθμου k-means σύμφωνα με το μέτρο Silhouette, για τον εντοπισμό του καταλληλότερου αριθμού ομάδων. Στάδιο τελικής ομαδοποίησης με χρήση διαφόρων μέτρων απόστασης Ομοίως με τη διαδικασία που ακολουθήθηκε στο αντίστοιχο στάδιο της πειραματικής διαδικασίας του υποσυνόλου των κειμένων, στο στάδιο αυτό έγιναν τρεις διαδοχικές εκτελέσεις του αλγορίθμου k-means του Mahout, μία για κάθε ένα από τα μέτρα απόστασης Ευκλείδεια Απόσταση, Απόσταση Συνημίτονου και Απόσταση Tanimoto. Η αξιολόγηση των παραγόμενων ομάδων της κάθε εκτέλεσης έγινε με τα μέτρα Silhouette και DBI και τα αποτελέσματα παρουσιάζονται στην εικόνα 5.10 και 5.11, ενώ πιο αναλυτικά παρουσιάζονται στον Πίνακα Α1.8 του Παραρτήματος Α-Ενότητα Α1. 0,06 0,04 0,02 0 Ευκλείδεια Συνημίτονου Tanimoto Μέτρα Απόστασης Εικόνα 5.10: Αποτελέσματα ομαδοποίησης του αλγορίθμου k-means για τα διάφορα μέτρα απόστασης σύμφωνα με το μέτρο Silhouette. Παρατηρείται ότι και σε αυτό το σύνολο δεδομένων οι εκτελέσεις του αλγορίθμου k-means με τα μέτρα απόστασης Συνημίτονου και Tanimoto παράγουν ακριβώς τα ίδια αποτελέσματα. 80

87 Αριθμος Ομάδων Μέτρο DBI 2,5 2 1,5 1 0,5 0 Ευκλείδεια Συνημίτονου Tanimoto Μέτρα Απόστασης Εικόνα 5.11: Αποτελέσματα ομαδοποίησης του αλγορίθμου k-means για τα διάφορα μέτρα απόστασης σύμφωνα με το μέτρο DBI. Παρατηρήσεις και παραδείγματα Το διάγραμμα της Εικόνας 5.12 παρουσιάζει την κατανομή των κειμένων στις ομάδες, μια πιο λεπτομερής επισκόπηση παρουσιάζεται στην Ενότητα Α1-Πίνακας του Παραρτήματος Α Αριθμός Κειμένων Εικόνα 5.12: Κατανομή κειμένων στις ομάδες. Στην Εικόνα 5.13, 5.14, 5.15, 5.16 και 5.17 γίνεται μια παρουσίαση, σε μορφή tag clouds, των 20 πιο συχνά εμφανιζόμενων όρων στα κείμενα πέντε ομάδων, από τις παραγόμενες κατά την εκτέλεση του αλγορίθμου k-means στο τελευταίο στάδιο της πειραματικής διαδικασίας με τη χρήση του μέτρου απόστασης Συνημίτονου. Η συχνότητα εμφάνισης επηρεάζεται από το βάρος το οποίο εκχωρήθηκε στο αντίστοιχο στάδιο του κάθε όρου κατά την πειραματική διαδικασία. 81

88 Παρατηρείται ότι παρά τη γενική αξιολόγηση της ομαδοποίησης ως οριακά θετική, οι συγκεκριμένες ομάδες παρουσιάζουν καλή συνοχή από σημασιολογικής απόψεως, σύμφωνα με τους όρους οι οποίοι έχουν μεγαλύτερη συχνότητα εμφάνισης στα κείμενα που τις αποτελούν. Υπενθυμίζεται ότι οι αριθμοί μπροστά από τις λέξεις υποδηλώνουν το πεδίο από το οποίο προέρχονται. Έτσι το 1 αντιστοιχεί στο πεδίο τίτλος, το 2 στο πεδίο περιγραφή και το 3 στο πεδίο ετικέτες. Εικόνα 5.13: Οι 20 πιο συχνά εμφανιζόμενοι όροι σε ομάδα αποτελούμενη από 22 κείμενα. Εικόνα 5.14: Οι 20 πιο συχνά εμφανιζόμενοι όροι σε ομάδα αποτελούμενη από 42 κείμενα. Εικόνα 5.15: Οι 20 πιο συχνά εμφανιζόμενοι όροι σε ομάδα αποτελούμενη από 100 κείμενα. Εικόνα 5.16: Οι 20 πιο συχνά εμφανιζόμενοι όροι σε ομάδα αποτελούμενη από 99 κείμενα. Εικόνα 5.17: Οι 20 πιο συχνά εμφανιζόμενοι όροι σε ομάδα αποτελούμενη από 227 κείμενα. 82

ΔΙΑΧΕΙΡΙΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ ΠΑΓΚΟΣΜΙΟΥ ΙΣΤΟΥ ΚΑΙ ΓΛΩΣΣΙΚΑ ΕΡΓΑΛΕΙΑ. Data Mining - Classification

ΔΙΑΧΕΙΡΙΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ ΠΑΓΚΟΣΜΙΟΥ ΙΣΤΟΥ ΚΑΙ ΓΛΩΣΣΙΚΑ ΕΡΓΑΛΕΙΑ. Data Mining - Classification ΔΙΑΧΕΙΡΙΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ ΠΑΓΚΟΣΜΙΟΥ ΙΣΤΟΥ ΚΑΙ ΓΛΩΣΣΙΚΑ ΕΡΓΑΛΕΙΑ Data Mining - Classification Data Mining Ανακάλυψη προτύπων σε μεγάλο όγκο δεδομένων. Σαν πεδίο περιλαμβάνει κλάσεις εργασιών: Anomaly Detection:

Διαβάστε περισσότερα

ΑΣΚΗΣΗ. Δημιουργία Ευρετηρίων Συλλογής Κειμένων

ΑΣΚΗΣΗ. Δημιουργία Ευρετηρίων Συλλογής Κειμένων Γλωσσική Τεχνολογία Ακαδημαϊκό Έτος 2011-2012 Ημερομηνία Παράδοσης: Στην εξέταση του μαθήματος ΑΣΚΗΣΗ Δημιουργία Ευρετηρίων Συλλογής Κειμένων Σκοπός της άσκησης είναι η υλοποίηση ενός συστήματος επεξεργασίας

Διαβάστε περισσότερα

Ανάκτηση Πληροφορίας

Ανάκτηση Πληροφορίας Ανάκτηση Πληροφορίας Το μοντέλο Boolean Το μοντέλο Vector Ταξινόμηση Μοντέλων IR Ανάκτηση Περιήγηση Κλασικά Μοντέλα Boolean Vector Probabilistic Δομικά Μοντέλα Non-Overlapping Lists Proximal Nodes Browsing

Διαβάστε περισσότερα

Ανάκτηση Πληροφορίας

Ανάκτηση Πληροφορίας Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Ανάκτηση Πληροφορίας Διδάσκων: Φοίβος Μυλωνάς fmylonas@ionio.gr Διάλεξη #05 Ακρίβεια vs. Ανάκληση Extended Boolean Μοντέλο Fuzzy Μοντέλο 1 Άδεια χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΔΙΑΤΜΗΜΑΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΣΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΠΑΡΟΥΣΙΑΣΗ ΔΙΠΛΩΜΑΤΙΚΗΣ ΕΡΓΑΣΙΑΣ ΔΟΥΒΛΕΤΗΣ ΧΑΡΑΛΑΜΠΟΣ ΕΠΙΒΛΕΠΟΝΤΕΣ ΚΑΘΗΓΗΤΕΣ Μαργαρίτης Κωνσταντίνος Βακάλη

Διαβάστε περισσότερα

Διαχείριση εγγράφων. Αποθήκες και Εξόρυξη Δεδομένων Διδάσκων: Μ. Χαλκίδη

Διαχείριση εγγράφων. Αποθήκες και Εξόρυξη Δεδομένων Διδάσκων: Μ. Χαλκίδη Διαχείριση εγγράφων Αποθήκες και Εξόρυξη Δεδομένων Διδάσκων: Μ. Χαλκίδη Απεικόνιση κειμένων για Information Retrieval Δεδομένου ενός κειμένου αναζητούμε μια μεθοδολογία απεικόνισης του γραμματικού χώρου

Διαβάστε περισσότερα

Τεχνικές Εξόρυξης Δεδομένων

Τεχνικές Εξόρυξης Δεδομένων ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ Διατμηματικό Μεταπτυχιακό Πρόγραμμα στα Πληροφοριακά Συστήματα ( MIS ) Τεχνικές Εξόρυξης Δεδομένων για την βελτίωση της απόδοσης σε Κατανεμημένα Συστήματα Ζάχος Δημήτριος Επιβλέποντες:

Διαβάστε περισσότερα

ΜΑΘΗΜΑ: Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ. 1 η ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

ΜΑΘΗΜΑ: Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ. 1 η ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΜΑΘΗΜΑ: Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ 1 η ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ Στόχος Θεματικής Ενότητας Οι μαθητές να περιγράφουν τους βασικούς τομείς της Επιστήμης των Υπολογιστών και να μπορούν

Διαβάστε περισσότερα

Γλωσσικη τεχνολογια. Προεπεξεργασία Κειμένου

Γλωσσικη τεχνολογια. Προεπεξεργασία Κειμένου Γλωσσικη τεχνολογια Προεπεξεργασία Κειμένου Στόχος Επεξεργασίας Γραπτό κείμενο: Τρόπος επικοινωνίας Φέρει σημασιολογικό περιεχόμενο Αναζητούμε τρόπο να: Μετρήσουμε το πληροφοριακό περιεχόμενο Ποσοτικοποιήσουμε

Διαβάστε περισσότερα

Ανάκτηση Πληροφορίας

Ανάκτηση Πληροφορίας Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Ανάκτηση Πληροφορίας Διδάσκων: Φοίβος Μυλωνάς fmylonas@ionio.gr Διάλεξη #06 Πιθανοτικό Μοντέλο 1 Άδεια χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

Ζητήματα ηήμ με τα δεδομένα

Ζητήματα ηήμ με τα δεδομένα Ζητήματα ηήμ με τα δεδομένα Ποιότητα Απαλοιφή θορύβου Εντοπισμός ανωμαλιών λώ Ελλιπείς τιμές Μετασχηματισμός Κβάντωση Μείωση μεγέθους Γραμμών: ειγματοληψία Στηλών: Ιδιοδιανύσματα, Επιλογή χαρακτηριστικών

Διαβάστε περισσότερα

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΤΟΜΕΑΣ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ, ΠΛΗΡΟΦΟΡΙΚΗΣ & ΔΙΚΤΥΩΝ Εργ. Τεχνολογίας Λογισμικού & Υπηρεσιών S 2 E Lab Π Τ Υ Χ Ι

Διαβάστε περισσότερα

ΑΕΠΠ Ερωτήσεις θεωρίας

ΑΕΠΠ Ερωτήσεις θεωρίας ΑΕΠΠ Ερωτήσεις θεωρίας Κεφάλαιο 1 1. Τα δεδομένα μπορούν να παρέχουν πληροφορίες όταν υποβάλλονται σε 2. Το πρόβλημα μεγιστοποίησης των κερδών μιας επιχείρησης είναι πρόβλημα 3. Για την επίλυση ενός προβλήματος

Διαβάστε περισσότερα

Ανάκτηση πολυμεσικού περιεχομένου

Ανάκτηση πολυμεσικού περιεχομένου Ανάκτηση πολυμεσικού περιεχομένου Ανίχνευση / αναγνώριση προσώπων Ανίχνευση / ανάγνωση κειμένου Ανίχνευση αντικειμένων Οπτικές λέξεις Δεικτοδότηση Σχέσεις ομοιότητας Κατηγοριοποίηση ειδών μουσικής Διάκριση

Διαβάστε περισσότερα

Ανάκτηση Πληροφορίας

Ανάκτηση Πληροφορίας Το Πιθανοκρατικό Μοντέλο Κλασικά Μοντέλα Ανάκτησης Τρία είναι τα, λεγόμενα, κλασικά μοντέλα ανάκτησης: Λογικό (Boolean) που βασίζεται στη Θεωρία Συνόλων Διανυσματικό (Vector) που βασίζεται στη Γραμμική

Διαβάστε περισσότερα

Τεχνητή Νοημοσύνη. 18η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Τεχνητή Νοημοσύνη. 18η διάλεξη ( ) Ίων Ανδρουτσόπουλος. Τεχνητή Νοημοσύνη 18η διάλεξη (2016-17) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Οι διαφάνειες αυτής της διάλεξης βασίζονται: στο βιβλίο Machine Learning του T. Mitchell, McGraw- Hill, 1997,

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Εξαγωγή γεωγραφικής πληροφορίας από δεδομένα παρεχόμενα από χρήστες του

Διαβάστε περισσότερα

Ανάκτηση Πληροφορίας

Ανάκτηση Πληροφορίας Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Ανάκτηση Πληροφορίας Διδάσκων: Φοίβος Μυλωνάς fmylonas@ionio.gr Διάλεξη #02 Ιστορική αναδρομή Σχετικές επιστημονικές περιοχές 1 Άδεια χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

1 Συστήματα Αυτοματισμού Βιβλιοθηκών

1 Συστήματα Αυτοματισμού Βιβλιοθηκών 1 Συστήματα Αυτοματισμού Βιβλιοθηκών Τα Συστήματα Αυτοματισμού Βιβλιοθηκών χρησιμοποιούνται για τη διαχείριση καταχωρήσεων βιβλιοθηκών. Τα περιεχόμενα των βιβλιοθηκών αυτών είναι έντυπα έγγραφα, όπως βιβλία

Διαβάστε περισσότερα

Δημιουργία Ευρετηρίων Συλλογής Κειμένων

Δημιουργία Ευρετηρίων Συλλογής Κειμένων Γλωσσική Τεχνολογία Ακαδημαϊκό Έτος 2011-2012 - Project Σεπτεμβρίου Ημερομηνία Παράδοσης: Στην εξέταση του μαθήματος Εξέταση: Προφορική, στο τέλος της εξεταστικής. Θα βγει ανακοίνωση στο forum. Ομάδες

Διαβάστε περισσότερα

ΑΣΚΗΣΗ. Συγκομιδή και δεικτοδότηση ιστοσελίδων

ΑΣΚΗΣΗ. Συγκομιδή και δεικτοδότηση ιστοσελίδων Γλωσσική Τεχνολογία Ακαδημαϊκό Έτος 2010-2011 ΑΣΚΗΣΗ Συγκομιδή και δεικτοδότηση ιστοσελίδων Σκοπός της άσκησης είναι η υλοποίηση ενός ολοκληρωμένου συστήματος συγκομιδής και δεικτοδότησης ιστοσελίδων.

Διαβάστε περισσότερα

Ανάπτυξη συστήματος ερωταποκρίσεων για αρχεία ελληνικών εφημερίδων

Ανάπτυξη συστήματος ερωταποκρίσεων για αρχεία ελληνικών εφημερίδων Ανάπτυξη συστήματος ερωταποκρίσεων για αρχεία ελληνικών εφημερίδων Οικονομικό Πανεπιστήμιο Αθηνών Πρόγραμμα Μεταπτυχιακών Σπουδών «Επιστήμη των Υπολογιστών» Διπλωματική Εργασία Μαρία-Ελένη Κολλιάρου 2

Διαβάστε περισσότερα

ΓΛΩΣΣΙΚΗ ΤΕΧΝΟΛΟΓΙΑ. Μάθημα 1 ο : Εισαγωγή στην γλωσσική τεχνολογία. Γεώργιος Πετάσης. Ακαδημαϊκό Έτος: 2012 2013

ΓΛΩΣΣΙΚΗ ΤΕΧΝΟΛΟΓΙΑ. Μάθημα 1 ο : Εισαγωγή στην γλωσσική τεχνολογία. Γεώργιος Πετάσης. Ακαδημαϊκό Έτος: 2012 2013 ΓΛΩΣΣΙΚΗ ΤΕΧΝΟΛΟΓΙΑ Μάθημα 1 ο : Εισαγωγή στην γλωσσική τεχνολογία Γεώργιος Πετάσης Ακαδημαϊκό Έτος: 2012 2013 ΤMHMA MHXANIKΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ, Πανεπιστήμιο Πατρών, 2012 2013 Τι είναι η γλωσσική τεχνολογία;

Διαβάστε περισσότερα

Ομαδοποίηση ΙΙ (Clustering)

Ομαδοποίηση ΙΙ (Clustering) Ομαδοποίηση ΙΙ (Clustering) Πασχάλης Θρήσκος PhD Λάρισα 2016-2017 pthriskos@mnec.gr Αλγόριθμοι ομαδοποίησης Επίπεδοι αλγόριθμοι Αρχίζουμε με μια τυχαία ομαδοποίηση Βελτιώνουμε επαναληπτικά KMeans Ομαδοποίηση

Διαβάστε περισσότερα

Παράλληλος προγραμματισμός περιστροφικών αλγορίθμων εξωτερικών σημείων τύπου simplex ΠΛΟΣΚΑΣ ΝΙΚΟΛΑΟΣ

Παράλληλος προγραμματισμός περιστροφικών αλγορίθμων εξωτερικών σημείων τύπου simplex ΠΛΟΣΚΑΣ ΝΙΚΟΛΑΟΣ Παράλληλος προγραμματισμός περιστροφικών αλγορίθμων εξωτερικών σημείων τύπου simplex ΠΛΟΣΚΑΣ ΝΙΚΟΛΑΟΣ Διπλωματική Εργασία Μεταπτυχιακού Προγράμματος στην Εφαρμοσμένη Πληροφορική Κατεύθυνση: Συστήματα Υπολογιστών

Διαβάστε περισσότερα

MBR Ελάχιστο Περιβάλλον Ορθογώνιο (Minimum Bounding Rectangle) Το µικρότερο ορθογώνιο που περιβάλλει πλήρως το αντικείµενο 7 Παραδείγµατα MBR 8 6.

MBR Ελάχιστο Περιβάλλον Ορθογώνιο (Minimum Bounding Rectangle) Το µικρότερο ορθογώνιο που περιβάλλει πλήρως το αντικείµενο 7 Παραδείγµατα MBR 8 6. Πανεπιστήµιο Πειραιώς - Τµήµα Πληροφορικής Εξόρυξη Γνώσης από εδοµένα (Data Mining) Εξόρυξη Γνώσης από χωρικά δεδοµένα (κεφ. 8) Γιάννης Θεοδωρίδης Νίκος Πελέκης http://isl.cs.unipi.gr/db/courses/dwdm Περιεχόµενα

Διαβάστε περισσότερα

ΕΙΔΗ ΕΡΕΥΝΑΣ I: ΠΕΙΡΑΜΑΤΙΚΗ ΕΡΕΥΝΑ & ΠΕΙΡΑΜΑΤΙΚΟΙ ΣΧΕΔΙΑΣΜΟΙ

ΕΙΔΗ ΕΡΕΥΝΑΣ I: ΠΕΙΡΑΜΑΤΙΚΗ ΕΡΕΥΝΑ & ΠΕΙΡΑΜΑΤΙΚΟΙ ΣΧΕΔΙΑΣΜΟΙ ΤΕΧΝΙΚΕΣ ΕΡΕΥΝΑΣ (# 252) Ε ΕΞΑΜΗΝΟ 9 η ΕΙΣΗΓΗΣΗ ΣΗΜΕΙΩΣΕΙΣ ΕΙΔΗ ΕΡΕΥΝΑΣ I: ΠΕΙΡΑΜΑΤΙΚΗ ΕΡΕΥΝΑ & ΠΕΙΡΑΜΑΤΙΚΟΙ ΣΧΕΔΙΑΣΜΟΙ ΛΙΓΗ ΘΕΩΡΙΑ Στην προηγούμενη διάλεξη μάθαμε ότι υπάρχουν διάφορες μορφές έρευνας

Διαβάστε περισσότερα

Μέθοδοι Μηχανών Μάθησης για Ευφυή Αναγνώριση και ιάγνωση Ιατρικών εδοµένων

Μέθοδοι Μηχανών Μάθησης για Ευφυή Αναγνώριση και ιάγνωση Ιατρικών εδοµένων Μέθοδοι Μηχανών Μάθησης για Ευφυή Αναγνώριση και ιάγνωση Ιατρικών εδοµένων Εισηγητής: ρ Ηλίας Ζαφειρόπουλος Εισαγωγή Ιατρικά δεδοµένα: Συλλογή Οργάνωση Αξιοποίηση Data Mining ιαχείριση εδοµένων Εκπαίδευση

Διαβάστε περισσότερα

ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams

ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams Αλέκα Σεληνιωτάκη Ηράκλειο, 26/06/12 aseliniotaki@csd.uoc.gr ΑΜ: 703 1. Περίληψη Συνεισφοράς

Διαβάστε περισσότερα

Ανάκτηση Πληροφορίας. Διδάσκων: Φοίβος Μυλωνάς. Διάλεξη #01

Ανάκτηση Πληροφορίας. Διδάσκων: Φοίβος Μυλωνάς. Διάλεξη #01 Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Ανάκτηση Πληροφορίας Διδάσκων: Φοίβος Μυλωνάς fmylonas@ionio.gr Διάλεξη #01 Διαδικαστικά μαθήματος Εισαγωγικές έννοιες & Ορισμοί Συστήματα ανάκτησης πληροφορίας 1

Διαβάστε περισσότερα

ΟΜΑΔΕΣ. Δημιουργία Ομάδων

ΟΜΑΔΕΣ. Δημιουργία Ομάδων Δημιουργία Ομάδων Μεθοδολογίες ομαδοποίησης δεδομένων: Μέθοδοι για την εύρεση των κατηγοριών και των υποκατηγοριών που σχηματίζουν τα δεδομένα του εκάστοτε προβλήματος. Ομαδοποίηση (clustering): εργαλείο

Διαβάστε περισσότερα

Πανεπιστήµιο Πειραιώς Τµήµα Πληροφορικής. Εξόρυξη Γνώσης από εδοµένα (Data Mining) Συσταδοποίηση. Γιάννης Θεοδωρίδης

Πανεπιστήµιο Πειραιώς Τµήµα Πληροφορικής. Εξόρυξη Γνώσης από εδοµένα (Data Mining) Συσταδοποίηση. Γιάννης Θεοδωρίδης Πανεπιστήµιο Πειραιώς Τµήµα Πληροφορικής Εξόρυξη Γνώσης από εδοµένα (Data Mining) Συσταδοποίηση Γιάννης Θεοδωρίδης Οµάδα ιαχείρισης εδοµένων Εργαστήριο Πληροφοριακών Συστηµάτων http://isl.cs.unipi.gr/db

Διαβάστε περισσότερα

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων:

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων: Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων: Oμαδοποίηση: Μέρος B http://delab.csd.auth.gr/~gounaris/courses/dwdm/ gounaris/courses/dwdm/ Ευχαριστίες Οι διαφάνειες του μαθήματος σε γενικές γραμμές ακολουθούν

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΛΟΓΙΣΜΙΚΟΥ ΓΙΑ ΤΗ ΔΙΕΝΕΡΓΕΙΑ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΜΕΛΕΤΩΝ

ΑΝΑΠΤΥΞΗ ΛΟΓΙΣΜΙΚΟΥ ΓΙΑ ΤΗ ΔΙΕΝΕΡΓΕΙΑ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΜΕΛΕΤΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΑΝΑΠΤΥΞΗ ΛΟΓΙΣΜΙΚΟΥ ΓΙΑ ΤΗ ΔΙΕΝΕΡΓΕΙΑ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΜΕΛΕΤΩΝ ΠΛΟΣΚΑΣ ΝΙΚΟΛΑΟΣ Α.Μ. 123/04 ΕΠΙΒΛΕΠΩΝ: ΣΑΜΑΡΑΣ ΝΙΚΟΛΑΟΣ ΘΕΣΣΑΛΟΝΙΚΗ, ΙΟΥΝΙΟΣ 2007 Περιεχόμενα

Διαβάστε περισσότερα

ΔΙΑΧΕΙΡΙΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ ΠΑΓΚΟΣΜΙΟΥ ΙΣΤΟΥ ΚΑΙ ΓΛΩΣΣΙΚΑ ΕΡΓΑΛΕΙΑ. Τεχνικές NLP Σχεδιαστικά Θέματα

ΔΙΑΧΕΙΡΙΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ ΠΑΓΚΟΣΜΙΟΥ ΙΣΤΟΥ ΚΑΙ ΓΛΩΣΣΙΚΑ ΕΡΓΑΛΕΙΑ. Τεχνικές NLP Σχεδιαστικά Θέματα ΔΙΑΧΕΙΡΙΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ ΠΑΓΚΟΣΜΙΟΥ ΙΣΤΟΥ ΚΑΙ ΓΛΩΣΣΙΚΑ ΕΡΓΑΛΕΙΑ Τεχνικές NLP Σχεδιαστικά Θέματα Natural Language Processing Επεξεργασία δεδομένων σε φυσική γλώσσα Κατανόηση φυσικής γλώσσας από τη μηχανή

Διαβάστε περισσότερα

Τίμος Κουλουμπής. Τμήμα Μηχανικών Πληροφοριακών & Επικοινωνιακών Συστημάτων, Πανεπιστήμιο Αιγαίου

Τίμος Κουλουμπής. Τμήμα Μηχανικών Πληροφοριακών & Επικοινωνιακών Συστημάτων, Πανεπιστήμιο Αιγαίου Τίμος Κουλουμπής Τμήμα Μηχανικών Πληροφοριακών & Επικοινωνιακών Συστημάτων, Πανεπιστήμιο Αιγαίου Αντικείμενο Εργασίας Εισαγωγή στην Αυτόματη Κατηγοριοποίηση Κειμένου Μεθοδολογίες Συγκριτική Αποτίμηση Συμπεράσματα

Διαβάστε περισσότερα

Τεχνικές Μείωσης Διαστάσεων. Ειδικά θέματα ψηφιακής επεξεργασίας σήματος και εικόνας Σ. Φωτόπουλος- Α. Μακεδόνας

Τεχνικές Μείωσης Διαστάσεων. Ειδικά θέματα ψηφιακής επεξεργασίας σήματος και εικόνας Σ. Φωτόπουλος- Α. Μακεδόνας Τεχνικές Μείωσης Διαστάσεων Ειδικά θέματα ψηφιακής επεξεργασίας σήματος και εικόνας Σ. Φωτόπουλος- Α. Μακεδόνας 1 Εισαγωγή Το μεγαλύτερο μέρος των δεδομένων που καλούμαστε να επεξεργαστούμε είναι πολυδιάστατα.

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ

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

Διαβάστε περισσότερα

Ιδιότητες και Τεχνικές Σύνταξης Επιστημονικού Κειμένου Σχολιασμός ερευνητικής πρότασης

Ιδιότητες και Τεχνικές Σύνταξης Επιστημονικού Κειμένου Σχολιασμός ερευνητικής πρότασης Ιδιότητες και Τεχνικές Σύνταξης Επιστημονικού Κειμένου Σχολιασμός ερευνητικής πρότασης Αναστασία Χριστοδούλου, Dr. Γεώργιος Δαμασκηνίδης Τμήμα Ιταλικής Γλώσσας & Φιλολογίας Θεσσαλονίκη, 2015 Ιδιότητες

Διαβάστε περισσότερα

Κεφάλαιο 20. Ανακάλυψη Γνώσης σε Βάσεις δεδοµένων. Τεχνητή Νοηµοσύνη - Β' Έκδοση Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η.

Κεφάλαιο 20. Ανακάλυψη Γνώσης σε Βάσεις δεδοµένων. Τεχνητή Νοηµοσύνη - Β' Έκδοση Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η. Κεφάλαιο 20 Ανακάλυψη Γνώσης σε Βάσεις δεδοµένων Τεχνητή Νοηµοσύνη - Β' Έκδοση Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η. Σακελλαρίου Τεχνητή Νοηµοσύνη, B' Έκδοση - 1 - Ανακάλυψη Γνώσης σε

Διαβάστε περισσότερα

Στο στάδιο ανάλυσης των αποτελεσµάτων: ανάλυση ευαισθησίας της λύσης, προσδιορισµός της σύγκρουσης των κριτηρίων.

Στο στάδιο ανάλυσης των αποτελεσµάτων: ανάλυση ευαισθησίας της λύσης, προσδιορισµός της σύγκρουσης των κριτηρίων. ΠΕΡΙΛΗΨΗ Η τεχνική αυτή έκθεση περιλαµβάνει αναλυτική περιγραφή των εναλλακτικών µεθόδων πολυκριτηριακής ανάλυσης που εξετάσθηκαν µε στόχο να επιλεγεί η µέθοδος εκείνη η οποία είναι η πιο κατάλληλη για

Διαβάστε περισσότερα

ΔΙΑΧΩΡΙΣΤΙΚΗ ΟΜΑΔΟΠΟΙΗΣΗ

ΔΙΑΧΩΡΙΣΤΙΚΗ ΟΜΑΔΟΠΟΙΗΣΗ ΔΙΑΧΩΡΙΣΤΙΚΗ ΟΜΑΔΟΠΟΙΗΣΗ Εισαγωγή Τεχνικές διαχωριστικής ομαδοποίησης: Ν πρότυπα k ομάδες Ν>>k Συνήθως k καθορίζεται από χρήστη Διαχωριστικές τεχνικές: επιτρέπουν πρότυπα να μετακινούνται από ομάδα σε

Διαβάστε περισσότερα

ΓΛΩΣΣΙΚΗ ΤΕΧΝΟΛΟΓΙΑ. Μάθημα 7 ο : Ανάκτηση πληροφορίας. Γεώργιος Πετάσης. Ακαδημαϊκό Έτος:

ΓΛΩΣΣΙΚΗ ΤΕΧΝΟΛΟΓΙΑ. Μάθημα 7 ο : Ανάκτηση πληροφορίας. Γεώργιος Πετάσης. Ακαδημαϊκό Έτος: ΓΛΩΣΣΙΚΗ ΤΕΧΝΟΛΟΓΙΑ Μάθημα 7 ο : Ανάκτηση πληροφορίας Γεώργιος Πετάσης Ακαδημαϊκό Έτος: 2012 2013 ΤMHMA MHXANIKΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ, Πανεπιστήμιο Πατρών, 2012 2013 Οι διαφάνειες αυτού του μαθήματος βασίζονται

Διαβάστε περισσότερα

Τεχνητή Νοημοσύνη. 15η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Τεχνητή Νοημοσύνη. 15η διάλεξη ( ) Ίων Ανδρουτσόπουλος. Τεχνητή Νοημοσύνη 15η διάλεξη (2016-17) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Οι διαφάνειες αυτής της διάλεξης βασίζονται σε ύλη του βιβλίου Artificial Intelligence A Modern Approach των

Διαβάστε περισσότερα

ΔΙΑΧΕΙΡΙΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ ΠΑΓΚΟΣΜΙΟΥ ΙΣΤΟΥ ΚΑΙ ΓΛΩΣΣΙΚΑ ΕΡΓΑΛΕΙΑ. Προεπεξεργασία Κειμένου

ΔΙΑΧΕΙΡΙΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ ΠΑΓΚΟΣΜΙΟΥ ΙΣΤΟΥ ΚΑΙ ΓΛΩΣΣΙΚΑ ΕΡΓΑΛΕΙΑ. Προεπεξεργασία Κειμένου ΔΙΑΧΕΙΡΙΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ ΠΑΓΚΟΣΜΙΟΥ ΙΣΤΟΥ ΚΑΙ ΓΛΩΣΣΙΚΑ ΕΡΓΑΛΕΙΑ Προεπεξεργασία Κειμένου Στόχος Επεξεργασίας Γραπτό κείμενο: Τρόπος επικοινωνίας Φέρει σημασιολογικό περιεχόμενο Αναζητούμε τρόπο να: Μετρήσουμε

Διαβάστε περισσότερα

Περιεχόμενα. Ανάλυση προβλήματος. Δομή ακολουθίας. Δομή επιλογής. Δομή επανάληψης. Απαντήσεις. 1. Η έννοια πρόβλημα Επίλυση προβλημάτων...

Περιεχόμενα. Ανάλυση προβλήματος. Δομή ακολουθίας. Δομή επιλογής. Δομή επανάληψης. Απαντήσεις. 1. Η έννοια πρόβλημα Επίλυση προβλημάτων... Περιεχόμενα Ανάλυση προβλήματος 1. Η έννοια πρόβλημα...13 2. Επίλυση προβλημάτων...17 Δομή ακολουθίας 3. Βασικές έννοιες αλγορίθμων...27 4. Εισαγωγή στην ψευδογλώσσα...31 5. Οι πρώτοι μου αλγόριθμοι...54

Διαβάστε περισσότερα

Εξόρυξη γνώμης πολιτών από ελεύθερο κείμενο

Εξόρυξη γνώμης πολιτών από ελεύθερο κείμενο Δίκαρος Νίκος Δ/νση Μηχανογράνωσης κ Η.Ε.Σ. Υπουργείο Εσωτερικών. Τελική εργασία Κ Εκπαιδευτικής Σειράς Ε.Σ.Δ.Δ. Επιβλέπων: Ηρακλής Βαρλάμης Εξόρυξη γνώμης πολιτών από ελεύθερο κείμενο Κεντρική ιδέα Προβληματισμοί

Διαβάστε περισσότερα

Αναγνώριση Προτύπων Ι

Αναγνώριση Προτύπων Ι Αναγνώριση Προτύπων Ι Ενότητα 1: Μέθοδοι Αναγνώρισης Προτύπων Αν. Καθηγητής Δερματάς Ευάγγελος Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D.

Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D. Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D. Μη γραμμικός προγραμματισμός: βελτιστοποίηση χωρίς περιορισμούς Πανεπιστήμιο Θεσσαλίας Σχολή Θετικών Επιστημών ΤμήμαΠληροφορικής Διάλεξη 7-8 η /2017 Τι παρουσιάστηκε

Διαβάστε περισσότερα

Εισαγωγικές Έννοιες. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο

Εισαγωγικές Έννοιες. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο Εισαγωγικές Έννοιες ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών 44 Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν τα βήματα που ακολουθούνται κατά την ανάπτυξη μιας εφαρμογής.

Διαβάστε περισσότερα

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Άσκηση 1 α) Η δομή σταθμισμένης ένωσης με συμπίεση διαδρομής μπορεί να τροποποιηθεί πολύ εύκολα ώστε να υποστηρίζει τις

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Πτυχιακή εργασία ΟΛΙΣΘΗΡΟΤΗΤΑ ΚΑΙ ΜΑΚΡΟΥΦΗ ΤΩΝ ΟΔΟΔΤΡΩΜΑΤΩΝ ΚΥΚΛΟΦΟΡΙΑΣ

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Πτυχιακή εργασία ΟΛΙΣΘΗΡΟΤΗΤΑ ΚΑΙ ΜΑΚΡΟΥΦΗ ΤΩΝ ΟΔΟΔΤΡΩΜΑΤΩΝ ΚΥΚΛΟΦΟΡΙΑΣ ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Πτυχιακή εργασία ΟΛΙΣΘΗΡΟΤΗΤΑ ΚΑΙ ΜΑΚΡΟΥΦΗ ΤΩΝ ΟΔΟΔΤΡΩΜΑΤΩΝ ΚΥΚΛΟΦΟΡΙΑΣ Χριστοδούλου Αντρέας Λεμεσός 2014 2 ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ

Διαβάστε περισσότερα

Μέθοδοι Μηχανικής Μάθησης στην επεξεργασία Τηλεπισκοπικών Δεδομένων. Δρ. Ε. Χάρου

Μέθοδοι Μηχανικής Μάθησης στην επεξεργασία Τηλεπισκοπικών Δεδομένων. Δρ. Ε. Χάρου Μέθοδοι Μηχανικής Μάθησης στην επεξεργασία Τηλεπισκοπικών Δεδομένων Δρ. Ε. Χάρου Πρόγραμμα υπολογιστικής ευφυίας Ινστιτούτο Πληροφορικής & Τηλεπικοινωνιών ΕΚΕΦΕ ΔΗΜΟΚΡΙΤΟΣ exarou@iit.demokritos.gr Μηχανική

Διαβάστε περισσότερα

Συλλογιστική εξαγωγής συμπερασμάτων από συγκεκριμένες υποθέσεις δοθείσα μεθοδολογία διαδικασία της σκέψης, πρέπει να «συλλογιστεί» υπόθεση/παραγωγή

Συλλογιστική εξαγωγής συμπερασμάτων από συγκεκριμένες υποθέσεις δοθείσα μεθοδολογία διαδικασία της σκέψης, πρέπει να «συλλογιστεί» υπόθεση/παραγωγή REASON ING Η Συλλογιστική, είναι η πράξη εξαγωγής συμπερασμάτων από συγκεκριμένες υποθέσεις χρησιμοποιώντας μία δοθείσα μεθοδολογία. Στην ουσία είναι η ίδια η διαδικασία της σκέψης, μία λογική διαμάχη,

Διαβάστε περισσότερα

Μελέτη και Υλοποίηση Αλγορίθμων για Βιολογικές Εφαρμογές σε MapReduce Περιβάλλον

Μελέτη και Υλοποίηση Αλγορίθμων για Βιολογικές Εφαρμογές σε MapReduce Περιβάλλον Μελέτη και Υλοποίηση Αλγορίθμων για Βιολογικές Εφαρμογές σε MapReduce Περιβάλλον Δανάη Κούτρα Eργαστήριο Συστημάτων Βάσεων Γνώσεων και Δεδομένων Εθνικό Μετσόβιο Πολυτεχνείο Θέματα Σκοπός της διπλωματικής

Διαβάστε περισσότερα

Θεμελιώδεις αρχές επιστήμης και μέθοδοι έρευνας

Θεμελιώδεις αρχές επιστήμης και μέθοδοι έρευνας A. Montgomery Θεμελιώδεις αρχές επιστήμης και μέθοδοι έρευνας Καρολίνα Δουλουγέρη, ΜSc Υποψ. Διαδάκτωρ Σήμερα Αναζήτηση βιβλιογραφίας Επιλογή μεθοδολογίας Ερευνητικός σχεδιασμός Εγκυρότητα και αξιοπιστία

Διαβάστε περισσότερα

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων Ενότητα 7: Ομαδοποίηση Μέρος Α Αναστάσιος Γούναρης, Επίκουρος Καθηγητής Άδειες Χρήσης Το παρόν

Διαβάστε περισσότερα

«Αναζήτηση Γνώσης σε Νοσοκομειακά Δεδομένα»

«Αναζήτηση Γνώσης σε Νοσοκομειακά Δεδομένα» ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ Μεταπτυχιακό Πρόγραμμα Σπουδών M.I.S. «Αναζήτηση Γνώσης σε Νοσοκομειακά Δεδομένα» Μεταπτυχιακός Φοιτητής: Επιβλέπων Καθηγητής: Εξεταστής Καθηγητής: Τορτοπίδης Γεώργιος Μηχανικός

Διαβάστε περισσότερα

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων:

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων: Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων: Oμαδοποίηση: Μέρος Α http://delab.csd.auth.gr/~gounaris/courses/dwdm/ gounaris/courses/dwdm/ Ευχαριστίες Οι διαφάνειες του μαθήματος σε γενικές γραμμές ακολουθούν

Διαβάστε περισσότερα

Ιεραρχική αναλυση αποφασεων Analytic hierarchy process (AHP)

Ιεραρχική αναλυση αποφασεων Analytic hierarchy process (AHP) Ιεραρχική αναλυση αποφασεων Analytic hierarchy process (AHP) Εισαγωγή Παρουσιάστηκε από τον Thomas L. Saaty τη δεκαετία του 70 Μεθοδολογία που εφαρμόζεται στην περιοχή των Multicriteria Problems Δίνει

Διαβάστε περισσότερα

Ανάλυση Δεδομένων με χρήση του Στατιστικού Πακέτου R

Ανάλυση Δεδομένων με χρήση του Στατιστικού Πακέτου R Ανάλυση Δεδομένων με χρήση του Στατιστικού Πακέτου R, Επίκουρος Καθηγητής, Τομέας Μαθηματικών, Σχολή Εφαρμοσμένων Μαθηματικών και Φυσικών Επιστημών, Εθνικό Μετσόβιο Πολυτεχνείο. Περιεχόμενα Εισαγωγή στο

Διαβάστε περισσότερα

Υπολογιστικό Πρόβληµα

Υπολογιστικό Πρόβληµα Υπολογιστικό Πρόβληµα Μετασχηµατισµός δεδοµένων εισόδου σε δεδοµένα εξόδου. Δοµή δεδοµένων εισόδου (έγκυρο στιγµιότυπο). Δοµή και ιδιότητες δεδοµένων εξόδου (απάντηση ή λύση). Τυπικά: διµελής σχέση στις

Διαβάστε περισσότερα

Θέματα Προγραμματισμού Η/Υ

Θέματα Προγραμματισμού Η/Υ Πρόγραμμα Μεταπτυχιακών Σπουδών Πληροφορική και Υπολογιστική Βιοϊατρική Θέματα Προγραμματισμού Η/Υ Ενότητα 1: Εισαγωγή Θεματική Ενότητα: Εισαγωγή στον Προγραμματισμό ΘΕΜΑΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ Θεματική

Διαβάστε περισσότερα

Εισαγωγή στα Τεχνητά Νευρωνικά Δίκτυα. "Τεχνητά Νευρωνικά Δίκτυα" (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων

Εισαγωγή στα Τεχνητά Νευρωνικά Δίκτυα. Τεχνητά Νευρωνικά Δίκτυα (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων Εισαγωγή στα Τεχνητά Νευρωνικά Δίκτυα Τεχνητή Νοημοσύνη (Artificial Intelligence) Ανάπτυξη μεθόδων και τεχνολογιών για την επίλυση προβλημάτων στα οποία ο άνθρωπος υπερέχει (?) του υπολογιστή Συλλογισμοί

Διαβάστε περισσότερα

ΑΝΑΛΥΤΙΚΟ ΠΡΟΓΡΑΜΜΑ B ΤΑΞΗΣ. χρησιμοποιήσουμε καθημερινά φαινόμενα όπως το θερμόμετρο, Θετικοί-Αρνητικοί αριθμοί.

ΑΝΑΛΥΤΙΚΟ ΠΡΟΓΡΑΜΜΑ B ΤΑΞΗΣ. χρησιμοποιήσουμε καθημερινά φαινόμενα όπως το θερμόμετρο, Θετικοί-Αρνητικοί αριθμοί. ΑΝΑΛΥΤΙΚΟ ΠΡΟΓΡΑΜΜΑ B ΤΑΞΗΣ ΑΛΓΕΒΡΑ (50 Δ. ώρες) Περιεχόμενα Στόχοι Οδηγίες - ενδεικτικές δραστηριότητες Οι μαθητές να είναι ικανοί: Μπορούμε να ΟΙ ΑΚΕΡΑΙΟΙ ΑΡΙΘΜΟΙ χρησιμοποιήσουμε καθημερινά φαινόμενα

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 18. 18 Μηχανική Μάθηση

ΚΕΦΑΛΑΙΟ 18. 18 Μηχανική Μάθηση ΚΕΦΑΛΑΙΟ 18 18 Μηχανική Μάθηση Ένα φυσικό ή τεχνητό σύστηµα επεξεργασίας πληροφορίας συµπεριλαµβανοµένων εκείνων µε δυνατότητες αντίληψης, µάθησης, συλλογισµού, λήψης απόφασης, επικοινωνίας και δράσης

Διαβάστε περισσότερα

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

Διαφοροποίηση στρατηγικών διδασκαλίας ανάλογα με το περιεχόμενο στα μαθήματα των φυσικών επιστημών Διαφοροποίηση στρατηγικών διδασκαλίας ανάλογα με το περιεχόμενο στα μαθήματα των φυσικών επιστημών Κων/νος Στεφανίδης Σχολικός Σύμβουλος Πειραιά kstef2001@yahoo.gr Νικόλαος Στεφανίδης Φοιτητής ΣΕΜΦΕ, ΕΜΠ

Διαβάστε περισσότερα

ΤΑΞΙΝΟΜΗΣΗ ΠΡΟΤΥΠΩΝ ΜΕ ΣΥΝΑΡΤΗΣΕΙΣ ΑΠΟΣΤΑΣΗΣ

ΤΑΞΙΝΟΜΗΣΗ ΠΡΟΤΥΠΩΝ ΜΕ ΣΥΝΑΡΤΗΣΕΙΣ ΑΠΟΣΤΑΣΗΣ Απλοί Ταξινομητές Δύο προσεγγίσεις για το σχεδιασμό ενός ταξινομητή. 1. Θεωρητική: Αρχικά, δημιουργείται μαθηματικό μοντέλο του προβλήματος, μετά, βάση του μοντέλου, σχεδιάζεται βέλτιστος ταξινομητής.

Διαβάστε περισσότερα

ΙΑ ΟΧΙΚΕΣ ΒΕΛΤΙΩΣΕΙΣ

ΙΑ ΟΧΙΚΕΣ ΒΕΛΤΙΩΣΕΙΣ Tel.: +30 2310998051, Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Σχολή Θετικών Επιστημών Τμήμα Φυσικής 541 24 Θεσσαλονίκη Καθηγητής Γεώργιος Θεοδώρου Ιστοσελίδα: http://users.auth.gr/theodoru ΙΑ ΟΧΙΚΕΣ ΒΕΛΤΙΩΣΕΙΣ

Διαβάστε περισσότερα

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής Προγραμματισμός Η/Υ Προτεινόμενα θέματα εξετάσεων Εργαστήριο Μέρος 1 ό ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής Ιανουάριος 2011 Καλογιάννης Γρηγόριος Επιστημονικός/ Εργαστηριακός

Διαβάστε περισσότερα

ΑΣΚΗΣΕΙΣ ΠΙΘΑΝΟΤΗΤΩΝ του Παν. Λ. Θεοδωρόπουλου 0

ΑΣΚΗΣΕΙΣ ΠΙΘΑΝΟΤΗΤΩΝ του Παν. Λ. Θεοδωρόπουλου 0 ΑΣΚΗΣΕΙΣ ΠΙΘΑΝΟΤΗΤΩΝ του Παν. Λ. Θεοδωρόπουλου 0 Η Θεωρία Πιθανοτήτων είναι ένας σχετικά νέος κλάδος των Μαθηματικών, ο οποίος παρουσιάζει πολλά ιδιαίτερα χαρακτηριστικά στοιχεία. Επειδή η ιδιαιτερότητα

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Σημασιολογική Συσταδοποίηση Αντικειμένων Με Χρήση Οντολογικών Περιγραφών.

Διαβάστε περισσότερα

Ευφυής Προγραμματισμός

Ευφυής Προγραμματισμός Ευφυής Προγραμματισμός Ενότητα 10: Δημιουργία Βάσεων Κανόνων Από Δεδομένα-Προετοιμασία συνόλου δεδομένων Ιωάννης Χατζηλυγερούδης Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής Δημιουργία Βάσεων Κανόνων

Διαβάστε περισσότερα

Σχεδιασµός βασισµένος σε συνιστώσες

Σχεδιασµός βασισµένος σε συνιστώσες Σχεδιασµός βασισµένος σε συνιστώσες 1 Ενδεικτικά περιεχόµενα του κεφαλαίου Ποια είναι τα "άτοµα", από τα οποία κατασκευάζονται οι υπηρεσίες; Πώς οργανώνουµε τις συνιστώσες σε ένα αρµονικό σύνολο; Τι είναι

Διαβάστε περισσότερα

Πιο συγκεκριμένα, η χρήση του MATLAB προσφέρει τα ακόλουθα πλεονεκτήματα.

Πιο συγκεκριμένα, η χρήση του MATLAB προσφέρει τα ακόλουθα πλεονεκτήματα. i Π Ρ Ο Λ Ο Γ Ο Σ Το βιβλίο αυτό αποτελεί μια εισαγωγή στα βασικά προβλήματα των αριθμητικών μεθόδων της υπολογιστικής γραμμικής άλγεβρας (computational linear algebra) και της αριθμητικής ανάλυσης (numerical

Διαβάστε περισσότερα

GoNToggle: ΕΞΥΠΝΗ ΜΗΧΑΝΗ ΑΝΑΖΗΤΗΣΗΣ ΜΕ ΧΡΗΣΗ ΟΝΤΟΛΟΓΙΩΝ

GoNToggle: ΕΞΥΠΝΗ ΜΗΧΑΝΗ ΑΝΑΖΗΤΗΣΗΣ ΜΕ ΧΡΗΣΗ ΟΝΤΟΛΟΓΙΩΝ ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ: GoNToggle: ΕΞΥΠΝΗ ΜΗΧΑΝΗ ΑΝΑΖΗΤΗΣΗΣ ΜΕ ΧΡΗΣΗ ΟΝΤΟΛΟΓΙΩΝ ΣΠΟΥ ΑΣΤΗΣ: Γιαννόπουλος Γεώργιος ΕΠΙΒΛΕΠΩΝ: Καθ. Ι. Βασιλείου ΒΟΗΘΟΙ: Α. ηµητρίου, Θ. αλαµάγκας Γενικά Οι µηχανές αναζήτησης

Διαβάστε περισσότερα

HMY 795: Αναγνώριση Προτύπων

HMY 795: Αναγνώριση Προτύπων HMY 795: Αναγνώριση Προτύπων Διάλεξη 5 Κατανομές πιθανότητας και εκτίμηση παραμέτρων Κατανομές πιθανότητας και εκτίμηση παραμέτρων δυαδικές τυχαίες μεταβλητές Διαχωριστικές συναρτήσεις Ταξινόμηση κανονικών

Διαβάστε περισσότερα

Γεώργιος Φίλιππας 23/8/2015

Γεώργιος Φίλιππας 23/8/2015 MACROWEB Προβλήματα Γεώργιος Φίλιππας 23/8/2015 Παραδείγματα Προβλημάτων. Πως ορίζεται η έννοια πρόβλημα; Από ποιους παράγοντες εξαρτάται η κατανόηση ενός προβλήματος; Τι εννοούμε λέγοντας χώρο ενός προβλήματος;

Διαβάστε περισσότερα

Κεφ. 1: Εισαγωγή στην έννοια του Αλγορίθμου και στον Προγραμματισμό. Η έννοια του προβλήματος

Κεφ. 1: Εισαγωγή στην έννοια του Αλγορίθμου και στον Προγραμματισμό. Η έννοια του προβλήματος Η έννοια του προβλήματος 1. Αναφέρετε μερικά από τα προβλήματα που συναντάτε στην καθημερινότητά σας. Απλά προβλήματα Ποιο δρόμο θα ακολουθήσω για να πάω στο σχολείο; Πως θα οργανώσω μια εκδρομή; Πως θα

Διαβάστε περισσότερα

HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems

HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems Ημερομηνία Παράδοσης: 0/1/017 την ώρα του μαθήματος ή με email: mkarabin@csd.uoc.gr Γενικές Οδηγίες α) Επιτρέπεται η αναζήτηση στο Internet και στην βιβλιοθήκη

Διαβάστε περισσότερα

Ανακάλυψη κανόνων συσχέτισης από εκπαιδευτικά δεδομένα

Ανακάλυψη κανόνων συσχέτισης από εκπαιδευτικά δεδομένα 6ο Πανελλήνιο Συνέδριο των Εκπαιδευτικών για τις ΤΠΕ «Αξιοποίηση των Τεχνολογιών της Πληροφορίας και της Επικοινωνίας στη Διδακτική Πράξη» Σύρος 6-8 Μαϊου 2011 Ανακάλυψη κανόνων συσχέτισης από εκπαιδευτικά

Διαβάστε περισσότερα

ΓΛΩΣΣΙΚΗ ΤΕΧΝΟΛΟΓΙΑ. Μάθημα 11 ο : Αυτόματη παραγωγή περιλήψεων. Γεώργιος Πετάσης. Ακαδημαϊκό Έτος:

ΓΛΩΣΣΙΚΗ ΤΕΧΝΟΛΟΓΙΑ. Μάθημα 11 ο : Αυτόματη παραγωγή περιλήψεων. Γεώργιος Πετάσης. Ακαδημαϊκό Έτος: ΓΛΩΣΣΙΚΗ ΤΕΧΝΟΛΟΓΙΑ Μάθημα 11 ο : Αυτόματη παραγωγή περιλήψεων Γεώργιος Πετάσης Ακαδημαϊκό Έτος: 2012 2013 ΤMHMA MHXANIKΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ, Πανεπιστήμιο Πατρών, 2012 2013 Οι διαφάνειες αυτού του μαθήματος

Διαβάστε περισσότερα

HMY 795: Αναγνώριση Προτύπων

HMY 795: Αναγνώριση Προτύπων HMY 795: Αναγνώριση Προτύπων Διάλεξη 5 Κατανομές πιθανότητας και εκτίμηση παραμέτρων δυαδικές τυχαίες μεταβλητές Bayesian decision Minimum misclassificaxon rate decision: διαλέγουμε την κατηγορία Ck για

Διαβάστε περισσότερα

Εξόρυξη Γνώσης από Βιολογικά εδομένα

Εξόρυξη Γνώσης από Βιολογικά εδομένα Παρουσίαση Διπλωματικής Εργασίας Εξόρυξη Γνώσης από Βιολογικά εδομένα Καρυπίδης Γεώργιος (Μ27/03) Επιβλέπων Καθηγητής: Ιωάννης Βλαχάβας MIS Πανεπιστήμιο Μακεδονίας Φεβρουάριος 2005 Εξόρυξη Γνώσης από Βιολογικά

Διαβάστε περισσότερα

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΕΦΑΡΜΟΣΜΕΝΩΝ ΜΑΘΗΜΑΤΙΚΩΝ ΚΑΙ ΦΥΣΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΠΛΗΡΟΦΟΡΙΑΣ ΠΑΡΟΥΣΙΑΣΗ ΤΕΛΙΚΗΣ ΕΡΓΑΣΙΑΣ ΛΙΝΑ ΜΑΣΣΟΥ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΕΦΑΡΜΟΣΜΕΝΩΝ ΜΑΘΗΜΑΤΙΚΩΝ ΚΑΙ ΦΥΣΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΑΛΓΟΡΙΘΜΟΙ ΕΞΟΡΥΞΗΣ ΠΛΗΡΟΦΟΡΙΑΣ ΠΑΡΟΥΣΙΑΣΗ ΤΕΛΙΚΗΣ ΕΡΓΑΣΙΑΣ ΛΙΝΑ ΜΑΣΣΟΥ Δ.Π.Μ.Σ: «Εφαρμοσμένες Μαθηματικές Επιστήμες» 2008

Διαβάστε περισσότερα

Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα

Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα Ενότητες βιβλίου: 6.4, 6.7 Ώρες διδασκαλίας: 1 Τεχνικές σχεδίασης προγραμμάτων Στο βιβλίο γίνεται αναφορά σε μία τεχνική για την ανάπτυξη

Διαβάστε περισσότερα

Μία αξιωματική προσέγγιση για τη διαφοροποίηση των αποτελεσμάτων

Μία αξιωματική προσέγγιση για τη διαφοροποίηση των αποτελεσμάτων Μία αξιωματική προσέγγιση για τη διαφοροποίηση των αποτελεσμάτων ΜΑΘΗΜΑ Ανάκτηση Πληροφορίας Παππάς Χρήστος Ιωάννινα, Ιανουάριος 2010 Διάρθρωση Εισαγωγή Πρόβλημα Σημαντικότητα Ενδιαφέροντα θέματα Τεχνικό

Διαβάστε περισσότερα

Κύρια σημεία. Η έννοια του μοντέλου. Έρευνα στην εφαρμοσμένη Στατιστική. ΈρευναστηΜαθηματικήΣτατιστική. Αντικείμενο της Μαθηματικής Στατιστικής

Κύρια σημεία. Η έννοια του μοντέλου. Έρευνα στην εφαρμοσμένη Στατιστική. ΈρευναστηΜαθηματικήΣτατιστική. Αντικείμενο της Μαθηματικής Στατιστικής Κύρια σημεία Ερευνητική Μεθοδολογία και Μαθηματική Στατιστική Απόστολος Μπουρνέτας Τμήμα Μαθηματικών ΕΚΠΑ Αναζήτηση ερευνητικού θέματος Εισαγωγή στην έρευνα Ολοκλήρωση ερευνητικής εργασίας Ο ρόλος των

Διαβάστε περισσότερα

ΔΕΙΓΜΑΤΟΛΗΨΙΑ ΧΡΟΝΟΣΗΜΑΣΜΕΝΩΝ, ΑΚΟΛΟΥΘΙΑΚΩΝ, ΣΥΝΘΕΤΩΝ ΤΥΠΩΝ ΔΕΔΟΜΕΝΩΝ

ΔΕΙΓΜΑΤΟΛΗΨΙΑ ΧΡΟΝΟΣΗΜΑΣΜΕΝΩΝ, ΑΚΟΛΟΥΘΙΑΚΩΝ, ΣΥΝΘΕΤΩΝ ΤΥΠΩΝ ΔΕΔΟΜΕΝΩΝ ΔΕΙΓΜΑΤΟΛΗΨΙΑ ΧΡΟΝΟΣΗΜΑΣΜΕΝΩΝ, ΑΚΟΛΟΥΘΙΑΚΩΝ, ΣΥΝΘΕΤΩΝ ΤΥΠΩΝ ΔΕΔΟΜΕΝΩΝ Δομή παρουσίασης Εισαγωγή Βασικές Έννοιες Σχετικές μελέτες Εφαρμογή Δεδομένων Συμπεράσματα Εισαγωγή Μελέτη και προσαρμογή των διάφορων

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΙΑΤΡΙΚΗΣ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ. Χατζηλιάδη Παναγιώτα Ευανθία

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΙΑΤΡΙΚΗΣ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ. Χατζηλιάδη Παναγιώτα Ευανθία ΜΠΣ «ΜΕΘΟΔΟΛΟΓΙΑ ΒΪΟΙΑΤΡΙΚΗΣ ΕΡΕΥΝΑΣ, ΒΙΟΣΤΑΤΙΣΤΙΚΗ ΚΑΙ ΚΛΙΝΙΚΗ ΒΙΟΠΛΗΡΟΦΟΡΙΚΗ» ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΙΑΤΡΙΚΗΣ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ «Ανάπτυξη λογισμικού σε γλώσσα προγραματισμού python για ομαδοποίηση

Διαβάστε περισσότερα

ΛΟΓΙΣΜΟΣ ΜΙΑΣ ΜΕΤΑΒΛΗΤΗΣ, ΕΣΠΙ 1

ΛΟΓΙΣΜΟΣ ΜΙΑΣ ΜΕΤΑΒΛΗΤΗΣ, ΕΣΠΙ 1 ΛΟΓΙΣΜΟΣ ΜΙΑΣ ΜΕΤΑΒΛΗΤΗΣ, ΕΣΠΙ 1 ΣΥΝΑΡΤΗΣΕΙΣ Η έννοια της συνάρτησης είναι θεμελιώδης στο λογισμό και διαπερνά όλους τους μαθηματικούς κλάδους. Για το φοιτητή είναι σημαντικό να κατανοήσει πλήρως αυτή

Διαβάστε περισσότερα

Τεχνητή Νοημοσύνη. 17η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Τεχνητή Νοημοσύνη. 17η διάλεξη ( ) Ίων Ανδρουτσόπουλος. Τεχνητή Νοημοσύνη 17η διάλεξη (2016-17) Ίων Ανδρουτσόπουλος http://.aueb.gr/users/ion/ 1 Οι διαφάνειες αυτής της διάλεξης βασίζονται: στο βιβλίο Artificia Inteigence A Modern Approach των S. Russe και

Διαβάστε περισσότερα

ΔΙΚΤΥO RBF. "Τεχνητά Νευρωνικά Δίκτυα" (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων

ΔΙΚΤΥO RBF. Τεχνητά Νευρωνικά Δίκτυα (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων ΔΙΚΤΥO RBF Αρχιτεκτονική δικτύου RBF Δίκτυα RBF: δίκτυα συναρτήσεων πυρήνα (radial basis function networks). Πρόσθιας τροφοδότησης (feedforward) για προβλήματα μάθησης με επίβλεψη. Εναλλακτικό του MLP.

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ Εισαγωγή Μεθοδολογία της Έρευνας ΕΙΚΟΝΑ 1-1 Μεθοδολογία της έρευνας.

ΚΕΦΑΛΑΙΟ Εισαγωγή Μεθοδολογία της Έρευνας ΕΙΚΟΝΑ 1-1 Μεθοδολογία της έρευνας. ΚΕΦΑΛΑΙΟ 1 Εισαγωγή Η Μεθοδολογία της Έρευνας (research methodology) είναι η επιστήμη που αφορά τη μεθοδολογία πραγματοποίησης μελετών με συστηματικό, επιστημονικό και λογικό τρόπο, με σκοπό την παραγωγή

Διαβάστε περισσότερα

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Διαδικασίες παραγωγής λογισμικού Περιεχόμενα Παρουσίαση μοντέλων διεργασίας ανάπτυξης λογισμικού Περιγραφή τριών γενικών μοντέλων διεργασίας ανάπτυξης λογισμικού Γενική περιγραφή των διαδικασιών που περιλαμβάνονται

Διαβάστε περισσότερα

Ανάκτηση Πληροφορίας

Ανάκτηση Πληροφορίας Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Ανάκτηση Πληροφορίας Διδάσκων: Φοίβος Μυλωνάς fmylonas@ionio.gr Διάλεξη # 09 Ομαδοποίηση και Ταξινόμηση Κειμένων Φοίβος Μυλωνάς fmylonas@ionio.gr Ανάκτηση Πληροφορίας

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ 1 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΛΥΣΗ ΠΡΟΒΛΗΜΑΤΟΣ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ 1 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΛΥΣΗ ΠΡΟΒΛΗΜΑΤΟΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 1 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΛΥΣΗ ΠΡΟΒΛΗΜΑΤΟΣ 1.1 Να δοθεί ο ορισμός του προβλήματος καθώς και τρία παραδείγματα

Διαβάστε περισσότερα

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος Χιωτίδης Γεώργιος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

Μεθοδολογία Έρευνας Διάλεξη 6 η : Μέθοδοι Δειγματοληψίας

Μεθοδολογία Έρευνας Διάλεξη 6 η : Μέθοδοι Δειγματοληψίας Μεθοδολογία Έρευνας Διάλεξη 6 η : Μέθοδοι Δειγματοληψίας Δρ. Αλέξανδρος Αποστολάκης Email: aapostolakis@staff.teicrete.gr Τηλ.: 2810379603 E-class μαθήματος: https://eclass.teicrete.gr/courses/pgrad_omm104/

Διαβάστε περισσότερα