Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός...

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

Transcript of Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός...

Page 1: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

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

ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ

του

Δημήτρη Ν. Νικολακόπουλου

Επιβλέπων : Εμμανουήλ Μαραγκουδάκης

Επίκουρος Καθηγητής Π.Α.

Σάμος, Σεπτέμβριος 2013

Εντοπισμός κακόβουλών χρηστών και

μηνυμάτων σε πλατφόρμα

Ηλεκτρονικής Συμμετοχικότητας

Page 2: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,
Page 3: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

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

ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ

του

Δημήτρη Ν. Νικολακόπουλου

Επιβλέπων : Εμμανουήλ Μαραγκουδάκης

Επίκουρος Καθηγητής Π.Α.

Εγκρίθηκε από τη τριμελή εξεταστική επιτροπή την 27η Σεπτεμβρίου 2013.

………..……………. …………..…………. ……………..……….

Εμμανουήλ Μαραγκουδάκης

Επίκουρος Καθηγητής Π.Α.

Εργίνα Καβαλλιεράτου

Επίκουρη Καθηγήτρια Π.Α

Ευστάθιος Σταματάτος

Μόνιμος Καθηγητής Π.Α.

Εντοπισμός κακόβουλών χρηστών και

μηνυμάτων σε πλατφόρμα

Ηλεκτρονικής Συμμετοχικότητας

Page 4: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

Σάμος, Σεπτέμβριος 2013

Δημήτριος Ν. Νικολακόπουλος

Διπλωματούχος Μηχανικός Πληροφοριακών και Επικοινωνιακών Συστημάτων Πανεπιστημίου

Αιγαίου

Copyright © Δημήτριος Ν. Νικολακόπουλος , 2013

Με επιφύλαξη παντός δικαιώματος. All rights reserved.

Απαγορεύεται η αντιγραφή, αποθήκευση και διανομή της παρούσας εργασίας, εξ

ολοκλήρου ή τμήματος αυτής, για εμπορικό σκοπό. Επιτρέπεται η ανατύπωση,

αποθήκευση και διανομή για σκοπό μη κερδοσκοπικό, εκπαιδευτικής ή ερευνητικής

φύσης, υπό την προϋπόθεση να αναφέρεται η πηγή προέλευσης και να διατηρείται το

παρόν μήνυμα. Ερωτήματα που αφορούν τη χρήση της εργασίας για κερδοσκοπικό

σκοπό πρέπει να απευθύνονται προς τον συγγραφέα.

Οι απόψεις και τα συμπεράσματα που περιέχονται σε αυτό το έγγραφο εκφράζουν τον

συγγραφέα και δεν πρέπει να ερμηνευθεί ότι αντιπροσωπεύουν τις επίσημες θέσεις του

Πανεπιστημίου Αιγαίου.

Page 5: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

Αφιερώνεται στην οικογένειά μου.

Page 6: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

Περίληψη

Η εξέλιξη του διαδικτύου, από το Web1.0 στο Web2.0, έδωσε τη δυνατότητα στους

ανθρώπους να αλληλοεπιδρούν ελεύθερα, να ανταλλάσσουν απόψεις και να

συνεργάζονται μέσω των υπηρεσιών που προσφέρονται, όπως τα κοινωνικά δίκτυα, οι

online κοινότητες, τα blogs, τα wikis κ.τ.λ. Ένα από τα βασικότερα γνωρίσματα του

διαδικτύου, που το έκανε αρκετά δημοφιλές, είναι η ελεύθερη διακίνηση ιδεών και η

δημοκρατικότητα του. Παρόλα αυτά η ανωνυμία και η ασυδοσία από μεμονωμένους

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

την κατάλυση της δημοκρατικής φύσης του διαδικτύου. Χαρακτηριστικό παράδειγμα

του φαινομένου αυτού είναι το trolling. Κακόβουλοι χρήστες ή ομάδες χρηστών

αναρτούν μαζικά τρολλ μηνύματα με σκοπό να διαταραχθεί μια διαδικτυακή συζήτηση

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

διαδικτυακές κοινότητες συναντάμε προειδοποιήσεις προς τους χρήστες για την

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

αποτελέσματα. Έτσι λοιπόν σκοπός της διπλωματικής εργασίας είναι η σχεδίαση και η

υλοποίηση πληροφοριακού συστήματος για τον εντοπισμό κακόβουλων χρηστών και

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

προτύπων από τα δεδομένα και γεωχωρικών γνωρισμάτων.

Page 7: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

Abstract

The evolution of the Internt, from Web1.0 to Web2.0, gave people the opportunity

to exchange ideas, interact and cooperate with each other through services like the

social media, online communities, blogs, wikis etc. What makes the Internet so popular

is the ability of exchanging ideas freely as a result of its democratic nature. However,

the anonymity and irresponsibility of some users lead to human rights violations and

endanger the Democracy in it. Trolling is a typical example of this phenomenon.

Malicious users or groups post massively troll messages in order to disturb an online

conversation resulting to a chain reaction by other users. In many online communities,

warnings for such behaviors have been given to the users, without significant results.

So the purpose of the diploma project is the development of an application, which

detects the malicious users and troll messages in news articles by using recognition

pattern from data and geοlocation.

Page 8: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

Ευχαριστίες

Αρχικά θα ήθελα να ευχαριστήσω ιδιαίτερα τον υπεύθυνο καθηγητή

κ. Μαραγκουδάκη Εμμανουήλ Επίκουρο Καθηγητή Πανεπιστημίου Αιγαίου που με

εμπιστεύτηκε και μου έδωσε την ευκαιρία να ασχοληθώ με ένα τόσο ενδιαφέρον θέμα,

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

του, οι εύστοχες προτάσεις και οι συμβουλές που μου πρόσφερε ήταν πολύ σημαντικές

και πολύτιμες για την εκπόνηση της διπλωματικής εργασίας.

Τέλος θα ήθελα να ευχαριστήσω την οικογένεια μου και του φίλους μου για την

στήριξη και τη συμπαράσταση που μου έδειξαν στην πολυετή πορεία μου στο

Πανεπιστήμιο Αιγαίου.

Page 9: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

Περιεχόμενα

Κεφάλαιο 1. Εισαγωγή ................................................................................................ 10

Κεφάλαιο 2. Το φαινόμενο του trolling και της ηλεκτρονική παρενόχλησης ............. 12

2.1. Εισαγωγή........................................................................................................... 13

2.2 Ψηφιακή παρενόχληση .................................................................................... 13

2.2 Το φαινόμενο του trolling στο Διαδίκτυο ......................................................... 15

Κεφάλαιο 3. Related Work .......................................................................................... 16

Κεφάλαιο 4. Εξόρυξη Γνώσης ..................................................................................... 19

4.1. Εισαγωγή........................................................................................................... 20

4.2. Εξόρυξη Γνώσης από τα Δεδομένα [Data Mining] ......................................... 20

4.3 Εξόρυξη Κειμένου [Text Mining] ..................................................................... 26

Κεφάλαιο 5. Εξόρυξη κειμένου για τον εντοπισμό κακόβουλων μηνυμάτων ............ 28

5.1 Εισαγωγή............................................................................................................ 29

5.2 TF-IDF ............................................................................................................... 29

5.3 Cosine Similarity ............................................................................................... 30

5.4 SVD .................................................................................................................... 30

Κεφάλαιο 6. Εφαρμογή ................................................................................................ 32

6.1 Εισαγωγή ....................................................................................................... 33

6.2 Περίπτωση χρήσης ........................................................................................ 34

6.3 Σχεδίαση και υλοποίηση συστήματος ........................................................... 35

6.3.1 Δομή ....................................................................................................................... 35

6.3.2 Εντοπισμός τοποθεσίας ......................................................................................... 35

6.3.3 Σχεδιασμός συστήματος με βάση τα γεωχωρικά γνωρίσματα .............................. 36

6.3.4 Εξαγωγή προτύπων από τα δεδομένα ................................................................... 37

Κεφάλαιο 7. Αποτελέσματα, Συμπεράσματα και Προοπτικές .................................... 56

7.1 Εισαγωγή......................................................................................................... 57

7.2 Αποτελέσματα ................................................................................................. 57

7.3 Συμπεράσματα ................................................................................................ 62

7.4 Προοπτικές ...................................................................................................... 63

Βιβλιογραφία ............................................................................................................... 65

Παράρτημα A ............................................................................................................... 68

Page 10: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

10

Κεφάλαιο 1. Εισαγωγή

Page 11: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

11

Στις μέρες μας που το διαδίκτυο αναπτύσσεται με ιλιγγιώδης ρυθμούς επηρεάζει

ολοένα και περισσότερο την καθημερινότητα του σύγχρονου ανθρώπου. Με την

ανάπτυξη του «Web 2.0» έχουν δημιουργηθεί μια πληθώρα από υπηρεσίες κοινωνικής

δικτύωσης όπως το Facebook, το Twitter, το Youtube, τα bolgs, τα wikis κτλ. Τα

δεδομένα, τα οποία παράγονται από τις υπηρεσίες αυτές αυξάνονται με ταχύ ρυθμό, με

αποτέλεσμα να έχουν κατακλύσει το παγκόσμιο ιστό. Θα μπορούσε να πει κάποιος ότι

στις μέρες μας τα κοινωνικά δίκτυα αποτελούν τα πιο δημοφιλή μέσα έκφρασης σε όλο

τον κόσμο. Παρόλα τα πλεονεκτήματα που εντοπίζονται στις τεχνολογίες αυτές,

υπάρχει και η «σκοτεινή» πλευρά του διαδικτύου. Κακόβουλοι χρήστες

εκμεταλλευόμενοι την ανωνυμία που το διέπει χρησιμοποιούν κακόβουλες τεχνικές

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

συμπεριφοράς είναι ο μαζικός σχολιασμός άρθρων από κακόβουλους χρήστες σε

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

ήταν η δημιουργία ενός συστήματος εντοπισμού ανεπιθύμητων μηνυμάτων troll με

χρήση γεωχωρικών δεδομένων και με χρήση τεχνικών «εξόρυξης γνώσης από

δεδομένα» για τον εντοπισμό ομοιοτήτων μεταξύ των σχολίων καθώς επίσης και γεω-

χωρικών χαρακτηριστικών.

Η εργασία διαρθρώνεται σε 5 βασικά μέρη. Αρχικά ορίζονται οι έννοιες της

«Ψηφιακής παρενόχλησης» και του «Trolling», οι οποίες αποτελούν τη βάση του

προβλήματος που είχαμε να αντιμετωπίσουμε στην διπλωματική εργασία (Κεφάλαιο

2). Στη συνέχεια παρουσιάζονται κάποιες προτάσεις που έχουν γίνει μέχρι σήμερα σε

ερευνητικές εργασίες για την αντιμετώπιση του προβλήματος (Κεφάλαιο 3) και

αναλύεται το θεωρητικό υπόβαθρο που είναι αναγκαίο για την κατανόηση των

τεχνικών και των μεθόδων που χρησιμοποιήθηκαν (Κεφάλαιο 4 & Κεφάλαιο 5).

Ακολούθως παρουσιάζονται οι διαδικασίες και οι τεχνικές που χρησιμοποιήσαμε κατά

την υλοποίηση του συστήματος (Κεφάλαιο 6) και τέλος παρατίθενται τα αποτελέσματα

και τα συμπεράσματα που εξαγάγαμε για το σύστημα, καθώς και τη μελλοντική

εργασία που θεωρούμε ότι είναι σκόπιμη να γίνει για την επέκταση του συστήματος

(Κεφάλαιο 7).

Page 12: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

12

Κεφάλαιο 2. Το φαινόμενο του trolling και της

ηλεκτρονική παρενόχλησης

Page 13: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

13

2.1. Εισαγωγή

Είσαι έξυπνος αν πιστεύεις μόνο το 50% απ' όσα σου λένε.

Είσαι ιδιοφυής αν γνωρίζεις ποιο 50% να πιστέψεις.

Ανώνυμος Συγγραφέας

Στις μέρες μας το διαδίκτυο έχει αλλάξει ριζικά τον τρόπο επικοινωνίας μεταξύ των

ανθρώπων. Με τη χρήση διαδραστικών μέσων όπως το «Web 2.0» η ανταλλαγή

απόψεων και ιδεών γίνεται πιο εύκολη και δεν επηρεάζεται από γεωγραφικά ή

πολιτιστικά σύνορα. Ένα από τα κυρίαρχα χαρακτηριστικά του διαδικτύου και των

τεχνολογιών αυτών είναι η ελεύθερη διακίνηση ιδεών με χρήση δημοκρατικών

διαδικασιών. Παρόλα αυτά εγκυμονούν αρκετοί κίνδυνοι. Πολλές φορές παρατηρούμε

στο διαδίκτυο το φαινόμενο της ασυδοσίας από μεμονωμένους χρήστες ή από ομάδα

χρηστών, οι οποίοι πλημυρίζουν το διαδίκτυο με μηνύματα τρολλ για ιδιοτελείς

σκοπούς. Αποτέλεσμα αυτής της συμπεριφοράς είναι η «Ψηφιακή παρενόχληση» των

χρηστών και η διακοπή της ομαλής λειτουργίας της δημοκρατικότητας του διαδικτύου.

2.2 Ψηφιακή παρενόχληση

Εικόνα 2.1: καμπάνια κατά του Cyber Bullying

Η ραγδαία εξέλιξη των Τεχνολογιών της Πληροφορικής και των Επικοινωνιών, η

ταχύτατη εξάπλωση του διαδικτύου και η αύξηση των υπηρεσιών του «Web2» έχουν

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

κατά κανόνα βελτιώνουν την ποιότητα ζωή του. Μαζί όμως με τις αλλαγές αυτές

έχουν διαμορφωθεί νέες παράμετροι που ευνοούν την ανάπτυξη της νέων μορφών

εγκληματικότητας, οι οποίες θεσμοθετούνται με τον όρο του Ηλεκτρονικού

εγκλήματος. Ένα από τα συχνότερα εγκλήματα που παρατηρούνται στο διαδίκτυο

στις υπηρεσίες Ηλεκτρονικής Συμμετοχικότητας είναι ο ψηφιακός εκφοβισμός ή

η ψηφιακής παρενόχλησης (cyberbullying).

Page 14: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

14

Με τον όρο ψηφιακό εκφοβισμό ή ψηφιακή παρενόχληση θεωρείται οποιαδήποτε

πράξη εκφοβισμού, επιθετικότητας, παρενόχλησης, τρομοκρατική ή αυταρχικής

συμπεριφοράς που θεσπίζεται και πραγματοποιείται μέσω ψηφιακών συσκευών

επικοινωνίας, συγκεκριμένα του διαδικτύου και των κινητών τηλεφώνων και η οποία

επαναλαμβάνεται ανά τακτά ή άτακτα χρονικά διαστήματα.

Ο ψηφιακός εκφοβισμός λαμβάνει χώρα με διάφορες μορφές. Οι κυριότερες

μορφές που συναντάμε είναι οι εξής:

Ανάφλεξη (flaming)

Αναφέρεται στη περίπτωση που υπάρχουν διαδικτυακοί διαπληκτισμοί, με

χρήση βίαιης ή χυδαίας και αγενούς γλώσσας.

Παρενόχληση (harassment)

Αναφέρεται στη περίπτωση που υπάρχουν προσβλητικά μηνύματα τα οποία

παραπέμπουν σε έμμεσο εκφοβισμό

Δυσφήμιση (denigration)

Αναφέρεται στη περίπτωση δημοσίευσης “σκληρών” κουτσομπολιών ή

φημών σχετικά με ένα άτομο, με σκοπό να τον προσβάλει και να αλλοιώσει τη

φήμη του.

Πλαστοπροσωπία (impersonation)

Αναφέρεται στη περίπτωση που ένας κακόβουλος χρήστης υποδύεται κάποιο

άλλο άτομο, θέτοντας σε κίνδυνο την υπόληψη του.

Εξαπάτηση (trickery)

Αναφέρεται στη περίπτωση εξαπάτησης κάποιου ατόμου στο διαδίκτυο

αποσπώντας του επιβαρυντικές για αυτόν πληροφορίες, οι οποίες εν συνέχεια

χρησιμοποιούνται για να τον βλάψουν.

Διαδικτυακή καταδίωξη (cyber stalking)

Αναφέρεται στη περίπτωση συστηματικής παρακολούθησης και

κατασκοπείας ενός ατόμου σε διαδικτυακό επίπεδο.

Διαδικτυακές απειλές (cyber hearts)

Αναφέρεται στη περίπτωση που τα σχόλια αποτελούν απευθείας απειλή ή

περιέχουν ενοχλητικό περιεχόμενο.

Page 15: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

15

Sexting

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

προκλητικών εικόνων, οι οποίες έχουν υποβληθεί προηγουμένως σε

επεξεργασία. Επίσης αναφέρεται και στη περίπτωση σεξουαλικά προκλητικού

κειμένου.

Πολλές φορές ο ηλεκτρονικός εκφοβισμός μπορεί να καταστεί ανησυχητικά

επικίνδυνος. Η αλληλεπίδραση ατόμων, που δεν υπάρχει μεταξύ τους κατ’ ιδίαν

επαφή, επιτρέπει την διατύπωση ιδεών και σκέψεων χωρίς τη πλήρη κατανόηση των

αρνητικών επιπτώσεων που μπορούν να επιφέρουν οι λέξεις ή οι πράξεις. Πολλές

φορές άτομα που συμπεριφέρονται κατ’ αυτόν τον τρόπο δεν βλέπουν το στόχο και

επωφελούμενοι από την ανωνυμία που διέπει το διαδίκτυο αυξάνει ολοένα και

περισσότερο τον κίνδυνο που ενυπάρχει στις συγκεκριμένες συμπεριφορές.

Σύμφωνα με Αμερικανούς ερευνητές, ο εκφοβισμός στον κυβερνοχώρο μπορεί να

είναι πιο σκληρός για τα θύματά του από ό,τι η σωματική επίθεση ή οι βρισιές.

2.2 Το φαινόμενο του trolling στο Διαδίκτυο

Εικόνα 2.2 Χιουμοριστική εικόνα “Please do not feed the Trolls”

Στην Ελληνική αργκό του διαδικτύου η λέξη τρολλ ή τρολ προέρχεται από την

αγγλική troll, με την οποία χαρακτηρίζεται κάποιος που έχει σκοπό να βλάψει μια

διαδικτυακή κοινότητα κάνοντας χρήση της μεθόδου του τρολαρίσματος (trolling).

Το trolling είναι μια μέθοδος ψαρέματος με χρήση δολώματος. Το δόλωμα σύρεται

μέσα στο νερό, ώστε να δελεάσει τα ψάρια με σκοπό να αγκιστρωθούν στην πετονιά.

Κάπως έτσι λειτουργεί και το online trolling.

Κακόβουλοι χρήστες επιτίθενται, όχι απαραίτητα με κακό σκοπό, σε μια

διαδικτυακή κοινότητα με προκλητικές και σκόπιμα προσβλητικές ή επιτηδευμένες

εκτός θέματος απόψεις με στόχο να προκαλέσουν και να ερεθίσουν άλλους

ανυποψίαστους χρήστες. Αυτή η συμπεριφορά φέρει ως αποτέλεσμα να επέλθει

διαταραχή σε μια διαδικτυακή συζήτηση και να πετύχει αλυσιδωτή αντίδραση από

άλλους χρήστες.

Page 16: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

16

Κεφάλαιο 3. Related Work

Page 17: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

17

Do Not Feel The Trolls

To 2010 οι Erik Cambria, Praphul Chandra, Avinash Sharma και ο Amir Hussain

παρουσίασαν ένα σύστημα ανίχνευσης troll μηνυμάτων χρησιμοποιώντας τεχνικές

εξόρυξης συναισθήματος και συγκεκριμένα Sentic analysis. Ο κύριος στόχος του

ανιχνευτή troll είναι να εντοπίσει κακόβουλο περιεχόμενο σε κείμενα φυσικής

γλώσσας. Για την εκπαίδευση του συστήματος εφαρμόστηκε μια τεχνική που

ονομάζεται CF-IOF (Concept Frequency – Inverse Opinion Frequency) η οποία είναι

μια παρόμοια προσέγγιση της TF-IDF (Term Frequency – Inverse Document

Frequency) και αξιολογεί πόσο σημαντικό είναι το περιεχόμενο του μηνύματος με

βάση μία σειρά μηνυμάτων με το ίδιο θέμα. Στη συνέχεια εφαρμόστηκε μια τεχνική η

οποία ονομάζεται “spectral association” προκειμένου να διευρύνει το σύνολο των

εννοιών που προέκυψαν από τη CF-IOF με έννοιες που σχετίζονται σημασιολογικά με

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

να χαρακτηριστεί ως trollenes, δηλαδή υπολογίζει τη πιθανότητα η προέλευση του να

είναι από κακόβουλο χρήστη.

Αυτόματο φιλτράρισμα ανεπιθύμητης ηλεκτρονικής αλληλογραφίας με χρήση

μεθόδων μηχανικής μάθησης

Το 2008 ο Ανυφάντης Διονύσιος παρουσίαση τη μεταπτυχιακή εργασία που

αφορούσε την ανίχνευση spam μηνυμάτων ηλεκτρονικής αλληλογραφίας. Πιο

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

Δεδομένων ηλεκτρονικών μηνυμάτων που εμφανίζουν χαρακτηριστικά spam. Η

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

τεχνικών Μηχανικής μάθησης όπως οι εξής αλγόριθμοι ταξινόμησης: οι Naïve Bayes

και AdaBoost-Naive Bayes, o C4.5 (J48), οι Μηχανές Διανυσμάτων Υποστήριξης

(SVMs), Decision-Stump & AdaBoost, KStar, Random Forest και τα Νευρωτικά

Δίκτυα (RBF, Multilayer Perceptron). Επιπλέον μελετήθηκε η επίδραση της διάστασης

των εξαγόμενων παραμέτρων, του μεγέθους του σώματος εκπαίδευσης και της

μεθόδου αναπαράστασης των χαρακτηριστικών.

An Open Digest-based Technique for Spam Detection

To 2004 οι E. Damiani, S. De Capitani di Vimercati, S Paraboschi και P Samarti

πρότειναν ένα σύστημα ανίχνευσης spam μηνυμάτων και συγκεκριμένα μηνυμάτων

που το περιεχόμενο τους είναι παρόμοιο και αποδίδει το ίδιο νόημα. Η τεχνική που

πρότειναν αποτελεί μια παραλλαγή του συστήματος Nilsimsa

(http://lexx.shinn.net/cmeclax/nilsimsa.html). Το σύστημα κατά την επεξεργασία εγγράφου

χρησιμοποιεί ένα παράθυρο (window) 5 χαρακτήρων το οποίο ολισθαίνει κατά μήκος

του κειμένου. Όταν ένας νέος χαρακτήρας εισέρχεται στο παράθυρο, ο αλγόριθμος

δημιουργεί τριγράμματα (trigrams) τα οποία συνδέονται με το παράθυρο.

Page 18: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

18

Στη συνέχεια το καθένα από αυτά τα τριγράμματα περνά από μια hash συνάρτηση h().

Η συνάρτηση hash υπολογίζει μια τιμή i=h(trigram) μεταξύ του 0 και του 255 η οποία

αντιστοιχεί στην i-οστη θέση ενός πίνακα ο οποίος ονομάζεται accumulator. O

accumulator περιλαμβάνει ακέραιους αριθμούς οι οποίοι αυξάνονται κατά 1. Μετά την

επεξεργασία εγγράφου, υπολογίζοντας τη συχνότητα εμφάνισης της κάθε αλληλουχίας

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

χρήστης αποφασίζεται αν το μήνυμα αποτελεί spam ή όχι.

Exploiting Redundancy in Natural Language to Penetrate Bayesian Spam Filters

To 2007 οι Christoph Karlberger, Gunther Bayler, Christopher Kruegel, και Engin

Kirda πρότειναν ένα σύστημα ανίχνευσης spam μηνυμάτων βασισμένο στη Bayesian

λογική. Αρχικά ανέλυσαν την φόρμουλα που χρησιμοποιούν τα Bayesian φίλτρα για

τον εντοπισμό spam μηνυμάτων και μελέτησαν τις μεθόδους που χρησιμοποιούν

κακόβουλοι χρήστες με σκοπό να μην ανιχνεύονται τα μηνύματα τους από τα φίλτρα

αυτά. Στη συνέχεια πρότειναν ένα σύστημα που ενισχύει τα φίλτρα χρησιμοποιώντας

αντικατάσταση συνωνύμων λέξεων κατά την επεξεργασία εγγράφου. Με τον τρόπο

αυτό μετατρέπουν ένα κακόβουλο μήνυμα σε ανιχνεύσιμη μορφή από τα φίλτρα χωρίς

όμως να αλλοιωθεί το περιεχόμενό του. Στην πραγματικότητα πρότειναν την

αντικατάσταση λέξεων, οι οποίες δεν έχουν καταγραφεί ως «ύποπτες λέξεις» στα

ειδικά λεξικά, με αντίστοιχες που προσδίδουν το ίδιο νόημα στο κείμενο και

περιλαμβάνονται στα λεξικά.

Development of a Stemmer for the Greek Language

Το 2006 ο Georgios Ntais παρουσίασε τη διδακτορική διατριβή με την οποία

πρότεινε ένα σύστημα Stemming για την Ελληνική γλώσσα. Ακολουθώντας τη λογική

του αλγορίθμου Porter για την Αγγλική γλώσσα και χρησιμοποιώντας τους κανόνες

της νεοελληνικής γραμματικής δημιούργησε ένα αλγόριθμο, ο οποίος εξάγει το θέμα

- ρίζα μιας λέξης απαλείφοντας την κατάληξη της.

Page 19: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

19

Κεφάλαιο 4. Εξόρυξη Γνώσης

Page 20: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

20

«Πνιγόμαστε στις πληροφορίες, αλλά διψάμε για γνώση»

John Naisbitt

4.1. Εισαγωγή

Η παραπάνω ρήση είναι πιο επίκαιρη από ποτέ, καθώς ζούμε στην «Εποχή της

Πληροφορίας». Ο όγκος των δεδομένων που συλλέγονται και αποθηκεύονται

καθημερινά σε αποθήκες δεδομένων (data warehouses) αυξάνεται με εντυπωσιακούς

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

εξειδικευμένες πληροφορίες. Το γεγονός αυτό αποτέλεσε ιδανικό κίνητρο προς έρευνα

και ανάπτυξη τεχνικών εξόρυξης γνώσης από τα δεδομένα (Data Mining).

4.2. Εξόρυξη Γνώσης από τα Δεδομένα [Data Mining]

Εικόνα 3.1: Data Mining

Πηγή: http://infospace.ischool.syr.edu/files/2013/04/textmining.png

Η εξόρυξη γνώσης από τα δεδομένα αφορά όλες εκείνες τις τεχνικές και τις

διαδικασίες εύρεσης μιας νέας και πιθανόν χρήσιμης γνώσης από τα δεδομένα τα οποία

βρίσκονται σε μεγάλες αποθήκες δεδομένων.

Οι πρώτες ενδείξεις για την ανάγκη εξαγωγής προτύπων από τα δεδομένα

εμφανίστηκε αρκετούς αιώνες πριν. Οι πρώτες μέθοδοι εξαγωγής γνώσης

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

επιστήμης της Εξόρυξης Δεδομένων τοποθετείται περίπου στα τέλη του 18ου αιώνα και

σήμερα έχει ταυτιστεί με την έννοια της «Ανακάλυψης γνώσης από Βάσεις

Δεδομένων» (Knowledge Discovery In Databases - KDD).

Page 21: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

21

Στη διεθνή βιβλιογραφία έχουν δοθεί διάφοροι ορισμοί για το τι είναι η Ανακάλυψη

γνώσης από Βάσεις Δεδομένων. Χαρακτηριστικά αναφέρεται ένας από αυτούς.

Η Ανακάλυψη γνώσης από Βάσεις Δεδομένων (KDD) είναι μια μη – τετριμμένη

διαδικασία για την αναγνώριση έγκυρων, νέων, χρήσιμων και εύκολα κατανοητών

προτύπων από τα δεδομένα.

Στο σημείο αυτό θα ήταν χρήσιμο να επεξηγήσουμε τους επιμέρους όρους του

παραπάνω ορισμού.

Δεδομένα

Με τον όρο δεδομένα εννοούμε κάθε γεγονός, αριθμό ή κείμενο που μπορεί να

αναπαρασταθεί και να υποστεί επεξεργασία με έναν ηλεκτρονικό υπολογιστή.

Πρότυπα (patterns)

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

υποσύνολο δεδομένων. Για παράδειγμα η έκφραση “Αν εισόδημα>t τότε

έκδοση δανείου” θα μπορούσε να αποτελέσει ένα πρότυπο για κάποιο

κατάλληλο κατώφλι t.

Διαδικασία KDD

Πρόκειται για μια διαδικασία, η οποία περιλαμβάνει την κατάλληλη

προετοιμασία των δεδομένων, την αναζήτηση προτύπων και την αξιολόγηση

της αποκτηθείσας γνώσης.

Εγκυρότητα

Τα πρότυπα, τα οποία προκύπτουν κατά τη διαδικασία Ανακάλυψης Γνώσης,

θα πρέπει να ισχύουν και για νέα στιγμιότυπα που μπορεί να προκύψουν στο

πρόβλημα και είναι άγνωστα μέχρι στιγμής.

Page 22: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

22

Χρησιμότητα

Τα πρότυπα θα πρέπει να οδηγούν σε κάποιες χρήσιμες ενέργειες,ς για

παράδειγμα απόφαση έκδοσης δανείου.

Κατανοησιμότητα

Τα πρότυπα θα πρέπει να είναι πλήρως κατανοητά στον άνθρωπο, καθώς ο

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

κατανόηση των προτύπων δεν θα πρέπει να απαιτείται εξειδικευμένη γνώση,

αντιθέτως θα πρέπει να είναι απλά και κατανοητά ακόμα και σε μη-ειδικούς

χρήστες έτσι ,ώστε να μπορούν εύκολα να εξάγουν χρήσιμα συμπεράσματα.

Υπάρχουν διάφορες παραλλαγές για τα στάδια που περιλαμβάνει η διαδικασία

ανακάλυψης γνώσης από βάσεις δεδομένων (KDD). Ο επικρατέστερος όμως ορισμός

περιλαμβάνει πέντε στάδια (βλ. εικόνα 3.2), τα οποία είναι τα εξής:

1. Συλλογή

2. Προεπεξεργασία

3. Μετασχηματισμός

4. Εξόρυξη δεδομένων

5. Ερμηνεία – Αξιολόγηση αποτελεσμάτων

Εικόνα 3.2: Διαδικασία εξόρυξης γνώσης.

Page 23: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

23

Γενικά η Ανακάλυψη γνώσης μέσα από βάσεις δεδομένων αναφέρεται στη

συνολική διαδικασία ανακάλυψης πληροφορίας από τα δεδομένα. Όπως είδαμε και

παραπάνω, ένα από τα στάδια της KDD διαδικασίας είναι η «Εξόρυξη Δεδομένων» ή

αλλιώς «Εξόρυξη Γνώσης από τα Δεδομένα» (Data Mining).

Έχουν γίνει πολλές προσπάθειες να δοθεί ένας πλήρης ορισμός για το τι είναι

εξόρυξη γνώσης από τα δεδομένα (data mining) με μικρότερη ή μεγαλύτερη επιτυχία

κάθε φορά. Χαρακτηριστικά μπορούν να αναφερθούν οι ακόλουθοι ορισμοί:

Ορισμός 1

H εξόρυξη γνώσης από τα δεδομένα αποτελεί ένα βήμα τη KDD διαδικασίας και

ορίζεται ως η διαδικασία ανακάλυψης νέων, πιθανώς κρυμμένων, προτύπων και

μοντέλων με αυτόματο ή ημιαυτόματο τρόπο με απώτερο στόχο την περιγραφή των

δεδομένων μιας βάσης δεδομένων και την πρόβλεψη και εξήγηση νέων δεδομένων.

Ορισμός 2

Η εξόρυξη γνώσης από τα δεδομένα είναι η χρήση αλγορίθμων για την εξαγωγή των

πληροφοριών και προτύπων στα δεδομένα.

Η εξόρυξη γνώσης από τα δεδομένα (Data Mining) περιλαμβάνει διάφορες τεχνικές

και λειτουργίες. Σύμφωνα με το βιβλίο «DATA MINING, Margaret H. Dunham» oι

βασικότερες από αυτές είναι οι εξής:

Κατηγοριοποίηση

Η κατηγοριοποίηση (classification) απεικονίζει τα δεδομένα σε

προκαθορισμένες ομάδες – κλάσεις (classes). Αναφέρεται συχνά σαν

εποπτευόμενη μάθηση, επειδή οι κατηγορίες – κλάσεις καθορίζονται πριν

ακόμη εξεταστούν τα δεδομένα. Οι αλγόριθμοι κατηγοριοποίησης απαιτούν οι

κατηγορίες να ορίζονται με βάση τις τιμές των γνωρισμάτων των δεδομένων,

Συχνά περιγράφουν αυτές τις κατηγορίες κοιτάζοντας τα χαρακτηριστικά

δεδομένων που είναι ήδη γνωστό ότι ανήκουν στις κατηγορίες. Η αναγνώριση

προτύπου (pattern recognition) αποτελεί ένα είδος κατηγοριοποίησης, όπου ένα

πρότυπο εισόδου κατηγοριοποιείται σε μία από διάφορες κατηγορίες, με βάση

την εγγύτητά του ως προς το πρόβλημα κατηγοριοποίησης.

Page 24: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

24

Παλινδρόμηση

Η παλινδρόμηση (regression) χρησιμοποιείται για να απεικονιστεί ένα

στοιχειώδες δεδομένο σε μια πραγματική μεταβλητή πρόβλεψης. Στην

πραγματικότητα η παλινδρόμηση περιλαμβάνει την εκμάθηση της συνάρτησης

που κάνει αυτή την απεικόνιση. Η παλινδρόμηση προϋποθέτει ότι τα σχετικά

δεδομένα ταιριάζουν με μερικά γνωστά είδη συνάρτησης (π.χ. γραμμική,

λογαριθμική κλπ.) και μετά καθορίζει την καλύτερη συνάρτηση αυτού του

είδους που μοντελοποιεί τα δεδομένα που έχουν δοθεί.

Ανάλυση Χρονοσειρών

Με την ανάλυση χρονολογικών σειρών ή χρονοσειρών (time series analysis),

μελετάται η τιμή ενός γνωρίσματος καθώς μεταβάλλεται στο χρόνο. Οι τιμές

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

αναπαράσταση των χρονοσειρών χρησιμοποιείται ένα διάγραμμα χρονοσειρών

(εικόνα 3.3). Υπάρχουν τρεις βασικές λειτουργίες που πραγματοποιούνται στην

ανάλυση χρονοσειρών. Στην πρώτη περίπτωση χρησιμοποιούνται οι μονάδες

μέτρησης απόστασης για να καθορίσουν την ομοιότητα ανάμεσα σε

διαφορετικές χρονοσειρές. Στη δεύτερη περίπτωση εξετάζεται η δομή της

χρονοσειράς για να καθορίσει και πιθανώ ς να κατηγοριοποιήσει τη

συμπεριφορά της. Τέλος στην τελευταία περίπτωση γίνεται χρήση των

διαγραμμάτων χρονοσειρών με σκοπό την πρόβλεψη μελλοντικών τιμών.

Εικόνα 3.3: Διάγραμμα χρονοσειρών

Page 25: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

25

Συσταδιοποίηση

Η συσταδιοποίηση (clustering) είναι παρόμοια με την κατηγοριοποίηση εκτός

από το ότι οι συστάδες δεν είναι προκαθορισμένες, αλλά ορίζονται κυρίως από

τα ίδια τα δεδομένα. Η συσταδιοποίηση αναφέρεται και ως μη εποπτευόμενη

μάθηση ή τμηματοποίηση. Μπορεί να θεωρηθεί σαν μια διαμέριση ή

τμηματοποίηση των δεδομένων σε ομάδες που μπορεί να είναι ή να μην είναι

διακριτές μεταξύ τους. Η συσταδιοποίηση συνήθως επιτυγχάνεται με τον

καθορισμό της ομοιότητας ως προς προκαθορισμένα

γνωρίσματα ανάμεσα στα δεδομένα. Τα πιο σχετικά δεδομένα ομαδοποιούνται

στις ίδιες ομάδες.

Παρουσίαση Συνόψεων

Η παρουσίαση συνόψεων (summarization) απεικονίζει τα δεδομένα σε

υποσύνολά τους με συνοδευτικές απλές περιγραφές. Η σύνοψη των δεδομένων

ονομάζεται επίσης και χαρακτηρισμός (characterization) ή γενίκευση

(generalization). Εξάγει ή παράγει αντιπροσωπευτικές πληροφορίες σχετικά με

τις βάσεις δεδομένων. Αυτό γίνεται ανακτώντας στην πραγματικότητα τμήματα

από τα δεδομένα. Εναλλακτικά μπορούν να εξαχθούν από τα δεδομένα

συνοπτικές πληροφορίες όπως για παράδειγμα ένας μέσος όρος κάποιου

αριθμητικού γνωρίσματος. Εν ολίγοις, η παρουσίαση συνόψεων χαρακτηρίζει

τα περιεχόμενα της βάσης δεδομένων.

Κανόνες Συσχέτισης

Η ανάλυση δεδομένων (link analysis), που εναλλακτικά αναφέρεται και σαν

ανάλυση συγγένειας (affinity analysis) ή συσχέτιση

(association), αναφέρεται σαν τη διαδικασία εκείνη της εξόρυξης γνώσης που

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

αυτού του είδους εφαρμογής είναι ο προσδιορισμός κανόνων συσχετίσεων.

Ένας κανόνας συσχέτισης (association rule) είναι ένα μοντέλο που αναγνωρίζει

ειδικούς τύπους συσχέτισης μεταξύ των δεδομένων.

Page 26: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

26

Ανακάλυψη Ακολουθιών

Η ακολουθιακή ανάλυση (sequential analysis) ή αλλιώς ανακάλυψη

ακολουθιών (sequence discovery) χρησιμοποιείται για να καθοριστούν

σειριακά πρότυπα στα δεδομένα. Αυτά τα πρότυπα βασίζονται σε μία χρονική

ακολουθία ενεργειών. Αυτά τα πρότυπα είναι παρόμοια με τις συσχετίσεις στο

ότι συσχετίζονται τα δεδομένα ή τα γεγονότα που εξάγονται, με τ η διαφορά ότι

η συσχέτισή τους αυτή βασίζεται στο χρόνο.

4.3 Εξόρυξη Κειμένου [Text Mining]

Η εξόρυξη κειμένου (text mining) είναι ένας νέος ερευνητικός τομέας που

προσπαθεί να επιλύσει το πρόβλημα της υπερφόρτωσης πληροφοριών σε κειμενικούς

πόρους. Για την επίτευξη του σκοπού χρησιμοποιούνται τεχνικές από την εξόρυξη

δεδομένων (data mining), την μηχανική μάθηση (machine learning), την επεξεργασία

φυσικής γλώσσας (natural language processing), την ανάκτηση πληροφορίας

(information retrieval), την εξαγωγή πληροφορίας (information extraction) και τη

διαχείριση γνώσης (knowledge management). Η βασική ιδέα της επιστήμης αυτής είναι

να επιλύσει το πρόβλημα της μετατροπής των τεράστιων ποσοτήτων από δεδομένα σε

χρήσιμη γνώση. Στο σημείο αυτό θα πρέπει να τονίσουμε ότι η εξόρυξη κειμένου δεν

θα πρέπει να συγχέεται σε καμία περίπτωση με μια απλή αναζήτηση πληροφορίας στο

διαδικτύου (web search). Στο web search αναζητάμε μια πληροφορία, η οποία είναι

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

διαδίκτυο. Αντιθέτως η εξόρυξη κειμένου (text mining) έχει ως απώτερο σκοπό την

εξαγωγή μιας νέας-καινούριας πληροφορίας από μία συλλογή κειμένων, η οποία δεν

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

Έτσι λοιπόν για τον όρο της Εξόρυξης Κειμένου θα μπορούσαμε να δώσουμε τον

παρακάτω ορισμό.

Η εξόρυξη κειμένου (Text Mining) είναι μια διαδικασία εξαγωγής με αυτόματο τρόπο

μιας νέας, έγκυρης και αγώγιμης γνώσης από διαφορετικούς γραπτούς πόρους καθώς

επίσης και η όσο το δυνατόν καλύτερη οργάνωση αυτής της νέας γνώσης – πληροφορίας

για την όποια μελλοντική αναφορά.

Page 27: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

27

H εξαγωγή πληροφοριών από κειμενικούς πόρους αποτελείται από πέντε βασικά

στάδια τα οποία είναι τα εξής:

1. Αναγνώριση κύριων ονομάτων

2. Αναγνώριση αναφορικών σχέσεων μεταξύ των ονομάτων

3. Αναγνώριση γεγονότων

4. Αναγνώριση σχέσεων μεταξύ κύριων ονομάτων

5. Αναγνώριση σχέσεων μεταξύ γεγονότων

Η επιστήμη της εξόρυξης κειμένου έχει κεντρίσει το ενδιαφέρον πολλών ερευνητών

και έχουν δημιουργηθεί μια πληθώρα από τεχνικές και μεθόδους για την εξαγωγή της

επιθυμητής γνώσης. Οι κυριότερες κατηγορίες των μεθόδων που χειρίζεται η εξόρυξη

κειμένου είναι οι εξής:

Εξαγωγή χαρακτηριστικών γνωρισμάτων (Feature Extraction)

Πλοήγηση με βάση το κείμενο (Text Based Navigation)

Κατηγοριοποίηση (Classification)

Συσταδιοποίηση (Clustering)

Αυτόματη παραγωγή περίληψης κειμένων (Summarization)

Γλωσσικός προσδιορισμός (Language Identification)

Μια από τις πιο δημοφιλείς τεχνικές του Text Mining είναι η κατηγοριοποίηση

κειμένων φυσικής γλώσσας (Classification). Η κατηγοριοποίηση είναι η διαδικασία της

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

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

κατηγορίες είτε μπορούν να έχουν διαμορφωθεί εξαρχής από το δημιουργό της

εφαρμογής είτε μπορούν να προσδιορίζονται από το χρήστη. Υπάρχουν δύο τρόποι για

την κατηγοριοποίηση. Ο πρώτος περιλαμβάνει τη δημιουργία ενός θησαυρού

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

κατηγορίας καθώς και συσχετίσεις μεταξύ των όρων αυτών και τελικά τον ορισμό του

θέματος του κειμένου με βάση τη συχνότητα των όρων των σχετικών με το θέμα που

υπάρχουν στο έγγραφο. Ο δεύτερος τρόπος περιλαμβάνει την εκπαίδευση ενός

μοντέλου με κάποια δείγματα από τα έγγραφα, τη στατιστική ανάλυση λεκτικών

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

των προτύπων σε κατηγορίες, και τέλος την ταξινόμηση των υπόλοιπων εγγράφων. Η

δεύτερη προσέγγιση είναι προτιμότερη όταν έχουμε να χειριστούμε μεγάλους τομείς,

καθώς τότε είναι αρκετά δύσκολο να δημιουργηθεί κάποιος θησαυρός εννοιών.

Page 28: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

28

Κεφάλαιο 5. Εξόρυξη κειμένου για τον

εντοπισμό κακόβουλων μηνυμάτων

Page 29: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

29

5.1 Εισαγωγή

Κατά την εκπνόηση της διπλωματικής εργασίας πειραματιστήκαμε με διάφορες

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

τον εντοπισμό κακόβουλων μηνυμάτων (troll) που έχουν δημοσιευτεί σε πλατφόρμες

ηλεκτρονικής συμμετοχικότητας. Στις επόμενες ενότητες παρουσιάζουμε τους

βασικότερους αλγόριθμους που χρησιμοποιήθηκαν στην παρούσα διπλωματική

εργασία.

5.2 TF-IDF

Στην εξόρυξη κειμένου το κάθε έγγραφο μοντελοποιείται σε ένα διάνυσμα βαρών

και όρων στο ν-διάστατο χώρο. Το βάρος είναι ένας πραγματικός αριθμός που

αντιπροσωπεύει τη συχνότητα εμφάνισης του κάθε όρου. Ένας από τους πιο

διαδεδομένους αλγόριθμους για τη μοντελοποίηση κειμένων είναι ο αλγόριθμος Term

Frequency – Inverse Document Frequency ή TF-IDF και ορίζεται ως εξής:

Όπου

N: ο συνολικός αριθμός των εγγράφων που εξετάζονται

nk: ο αριθμός των εγγράφων που εμφανίζεται ο όρος tk

TF(tk , dj): συνάρτηση η οποία ορίζεται από το τύπο:

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

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

Page 30: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

30

5.3 Cosine Similarity

Ο αλγόριθμος Cosine Similarity στην εξόρυξη κειμένου αποτελεί μια μέθοδο

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

διανυσμάτων και βαρών για κάθε έγγραφο και συγκρίνει τα έγγραφα με βάση τον

παρακάτω τύπο:

5.4 SVD

O αλγόριθμος Signature Value Decomposition ή SVD αποτελεί μια στατιστική

φόρμουλα, η οποία έχει ως στόχο τη μείωση του χώρου (γραμμές – στήλες) ενός

πίνακα. Χρησιμοποιείται ιδιαίτερα σε εφαρμογές εξόρυξης κειμένου για την εξαγωγή

όρων (terms) από έγγραφα (documents). Στο κάθε όρο αποδίδεται μια ιδιάζουσα τιμή.

O SVD δέχεται ως είσοδο έναν πίνακα διανυσμάτων Α = [Α1,Α2,…,Αn]. Τα

διανύσματα Ai αντιπροσωπεύουν την κάθε λέξη στο έγγραφο που εξετάζεται καθώς

και τη συχνότητα εμφάνισής της. Σύμφωνα με μια θεωρία της γραμμικής άλγεβρας

ένα πίνακας Α μεγέθους m x n μπορεί να αναλυθεί σε γινόμενο τριών πινάκων. όπως

φαίνεται στον παρακάτω τύπο:

όπου

U = [ui,j] ένας ορθοκανονικός πίνακας μεγέθους mxn

S = diag(σ1,σ2,σ3) ένας διαγώνιος πίνακας μεγέθους nxn

V = [vi,j] ένας ορθοκανονικός πίνακας μεγέθους nxn

Επίσης ισχύουν οι εξής σχέσεις:

UT U = I

VT V = I

Page 31: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

31

Οι στήλες του πίνακα U είναι ορθοκανονικά ιδιοδυνύσματα του ΑΑΤ, οι στήλες του

V είναι ορθοκανονικά διανύσματα του ΑΤ Α και ο S περιέχει τις τετραγωνικές ρίζες

των ιδιοτιμών των πινάκων U και V σε φθίνουσα σειρά. Έτσι λοιπόν

χρησιμοποιώντας του πίνακες U,S και VΤ ανακατασκευάζουμε τον πίνακα Α και

εξάγουμε τους κύριους όρους (terms) από τα έγγραφα.

Εικόνα 4.1: Singular Value Decomposition

Page 32: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

32

Κεφάλαιο 6. Εφαρμογή

Page 33: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

33

6.1 Εισαγωγή

Στα προηγούμενα κεφάλαια αρχικά αναλύσαμε το θεωρητικό υπόβαθρο που ήταν

αναγκαίο για την κατανόηση του προβλήματος, και στη συνέχεια είδαμε κάποιες

προτάσεις που έχουν δημοσιοποιηθεί μέχρι σήμερα για την επίλυσή του. Επίσης

ορίσαμε κάποιες βασικές έννοιες και περιγράψαμε τους βασικότερους αλγορίθμους

που χρησιμοποιήθηκαν κατά την υλοποίηση του συστήματος. Έτσι λοιπόν πλέον

είμαστε σε θέση να παρουσιάσουμε το σύστημα που υλοποιήσαμε κατά την εκπόνηση

της διπλωματικής εργασίας.

Για την εξαγωγή προτύπων από τα δεδομένα χρησιμοποιήθηκε το πρόγραμμα

RapidMiner, το οποίο είναι αρκετά διαδεδομένο για ερευνητικές αλλά και εμπορικές

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

μεγάλο πλήθος λειτουργιών. Η εφαρμογή κατασκευάστηκε σε μορφή Web Application

στη σουίτα NetBeans 5.7 και οι γλώσσες προγραμματισμού που χρησιμοποιήθηκαν

είναι οι εξής: Java, Html και Javasctript. Για χάρη της παρούσας διπλωματικής

κατασκευάστηκε ένα πραγματικό σενάριο αντλώντας δεδομένα από υπάρχουσες

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

σε μια βάση δεδομένων και συγκεκριμένα σε MySql Database. Τέλος η εφαρμογή έχει

δοκιμαστεί και εκτελείται σε Apache Tomcat Server στην έκδοση 7.0.34.0.

Στις επόμενες ενότητες θα παρουσιαστούν οι τεχνικές και οι διαδικασίες που

εφαρμόσαμε, ώστε να επιτύχουμε το στόχο να εντοπίσουμε τους κακόβουλους χρήστες

και τα μηνύματα τρολλ που έχουν πλημμυρίσει το διαδίκτυο στις μέρες μας.

Page 34: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

34

6.2 Περίπτωση χρήσης

Όπως μπορούμε να δούμε στην εικόνα 6.1 το σύστημα αποτελείται από δύο

επιμέρους συστήματα. Το πρώτο σύστημα αφορά το άρθρο και τα σχόλια που

αναρτώνται σε αυτό, ενώ το δεύτερο αφορά τη λειτουργία ανίχνευσης κακόβουλων

μηνυμάτων και χρηστών τρολλ.

Όσον αφορά το πρώτο συστήμα ο χρήστης διαβάζει κάποιο άρθρο και καταχωρεί

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

κάθε δημοσίευσης εντοπίζονται τα εξής δεδομένα: η IP διεύθυνση του χρήστη και οι

γεωχωρικές του συντεταγμένες. Στη συνέχεια τα παραπάνω δεδομένα αποθηκεύονται

σε μία βάση δεδομένων. Τη λειτουργία αυτή μπορεί να την παρέχει οποιοσδήποτε

ειδησεογραφικός ιστότοπος, blog κ.τ.λ. Για λόγους ευκολίας στη διπλωματική εργασία

έχουμε δημιουργήσει μια φόρμα καταχώρησης δεδομένων για το σκοπό αυτό.

Όσον αφορά το δεύτερο σύστημα αρχικά διαβάζει τα δεδομένα από τη βάση

δεδομένων και κάνοντας χρήση τεχνικών εξαγωγής προτύπων από τα δεδομένα και

γεωχωρικών γνωρισμάτων εντοπίζει κακόβουλους χρήστες και μηνύματα τρολλ. Στη

συνέχεια εξάγει τα αποτελέσματα σε ένα κατάλληλα διαμορφωμένο γραφικό

περιβάλλον το οποίο θα το δούμε αναλυτικότερα στο επόμενο κεφάλαιο.

Εικόνα 6.1: Περίπτωση χρήσης

Page 35: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

35

6.3 Σχεδίαση και υλοποίηση συστήματος

6.3.1 Δομή

Το σύστημα αποτελείται από δύο μέρη. Στο πρώτο μέρος μοντελοποιήσαμε το

πρόβλημα με βάση τα γεωχωρικά γνωρίσματα των χρηστών ενώ στο δεύτερο

σχεδιάσαμε κάποιες διεργασίες για την εξαγωγή προτύπων από τα δεδομένα κάνοντας

χρήση αλγορίθμων εξόρυξης γνώσης. Στις επόμενες ενότητες θα παρουσιάσουμε τα

μέρη αυτά και τις τεχνικές που ακολουθήσαμε για να φτάσουμε στο επιθυμητό

αποτέλεσμα την ανίχνευση κακόβουλων χρηστών και μηνυμάτων τρολλ.

6.3.2 Εντοπισμός τοποθεσίας

Το πρώτο θέμα με το οποίο μας απασχόλησε είναι ο εντοπισμός της τοποθεσίας

ενός χρήστη που αναρτά μια δημοσίευση σε ένα άρθρο. Για να το πετύχουμε αυτό

εξετάσαμε δύο τεχνικές. Η πρώτη αφορούσε τη εύρεση της τοποθεσίας με βάση την IP

διεύθυνση μέσα από βάσεις δεδομένων που παρέχουν τέτοιου είδους υπηρεσίες, ενώ η

δεύτερη με χρήση gps ή εικονικού γεωσένσορα. Ας δούμε όμως τα βασικά

χαρακτηριστικά τους.

Η εύρεση τοποθεσίας με βάση την IP διεύθυνση είναι ένα από τους πιο διαδομένους

τρόπους που χρησιμοποιείται σε πολλές εφαρμογές. Το βασικό πλεονέκτημα της

τεχνικής αυτής είναι ότι εντοπίζει τη τοποθεσία με διαφανή τρόπο, δηλαδή χωρίς να το

καταλαβαίνει ο χρήστη της εκάστοτε εφαρμογής. Παρόλα αυτά η ακρίβεια του

εξαρτάται από τις πληροφορίες που έχει δώσει ο πάροχος - ISP. Δοκιμάζοντας τη

τεχνική αυτή με IP διευθύνσεις προερχόμενες από ελληνικούς παρόχους ίντερνετ

παρατηρήσαμε ότι η ακρίβεια των αποτελεσμάτων ήταν μη ικανοποιητική αφού

αρκετές φορές η απόκλιση από το πραγματικό σημείο έφτανε σε απόσταση πολλών

χιλιομέτρων μακριά και κατά συνέπεια απορρίψαμε αυτή τη τεχνική.

Από την άλλη πλευρά ο εντοπισμός της τοποθεσία με χρήση gps ή εικονικού

γεωσένσορα, μας έδωσε πολύ καλύτερα αποτελέσματα. Η απόκλιση από το

πραγματικό σημείο ήταν απειροελάχιστη κα ως εκ τούτου για το σύστημά μας

μπορούμε να τη θεωρήσουμε ως μηδενική. Ο εντοπισμός της τοποθεσίας με την

τεχνική αυτή γίνεται εύκολα καλώντας τη συνάρτηση geolocation() που παρέχεται στο

API της html 5. Tο μειονεκτήματα αυτής της τεχνικής είναι ότι απαιτείται από τη

συσκευή του χρήστη να έχει gps ή να υπάρχει εγκατεστημένος εικονικός γεωσένσορας.

Αυτό δημιουργεί πολλές φορές προβλήματα αφού πολλές συσκευές δεν περιέχουν gps

και πολλά λειτουργικά συστήματα δεν έχουν προεγκατεστημένο τον εικονικά

Page 36: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

36

γεωσένσορα. Ένα άλλο επίσης σημαντικό μειονέκτημα είναι ότι παλαιότερες εκδόσεις

περιηγητών δεν υποστηρίζουν HTML 5. Αναφορικά HTML 5 υποστηρίζουν οι εξής

browsers: Internet Explorer 9 και μεταγενέστερες εκδώσεις του, Firefox, Safari και

Opera. Tέλος η τεχνική αυτή δεν είναι διαφανής προς το χρήστη αφού μέχρι σήμερα

απαιτείται η έγκριση του για το διαμοιρασμό της τοποθεσίας του.

6.3.3 Σχεδιασμός συστήματος με βάση τα γεωχωρικά γνωρίσματα

Όπως αναφέραμε και στην ενότητα 6.2 το σύστημα μας αποτελείται από δύο

επιμέρους συστήματα. Το πρώτο αφορά το άρθρο ενώ το δεύτερο την ανίχνευση τρολλ

μηνυμάτων από κακόβουλους χρήστες.

Όσον αφορά το άρθρο ο χρήστης έχει τη δυνατότητα να αναρτήσει μια δημοσίευση

– σχόλιο και να εκφράσει την άποψη του πάνω στο θέμα που αναφέρεται το άρθρο.

Στο σημείο αυτό ζητείται να εισάγει ένα username και το σχόλιο. Πριν τη καταχώρηση

της εγγραφής το σύστημα καταγράφει την IP διεύθυνση του χρήστη, τις γεωχωρικές

του συστνεταγμένες , καθώς και τη χρονοσφραγίδα (timestamp) της δημοσίευσης.

Όσον αφορά τα γεωχωρικά γνωρίσματα ακολουθείται η παρακάτω διαδικασία.

Για κάθε IP διεύθυνση εντόπισε το γεωχωρικό σημείο του χρήστη.

Για κάθε χρήστη κατασκεύασε ένα παραλληλόγραμμο, τέτοιο ώστε να περιέχει το

εν λόγω γεωχωρικό σημείο.

Αν δύο ή περισσότερα παραλληλόγραμμα επικαλύπτονται δημιούργησε νέο, τέτοιο

ώστε να περιέχει τα αντίστοιχα παραλληλόγραμμα.

Έτσι λοιπόν οι βάση δεδομένων έχει την εξής μορφή:

ID Timestamp

IP Address

Γεωχωρικές συντεταγμένες χρήστη

Username

Timestamp

Comment

Page 37: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

37

Εικόνα 6.2: Στιγμιότυπο της βάσης δεδομένων

Από την άλλη πλευρά το σύστημα ανίχνευσης κακόβουλων χρηστών και μνημάτων

γνωρίζει τα εξής χαρακτηριστικά για τις εγγραφές:

Κάθε παραλληλόγραμμο περιλαμβάνει N IP διευθύνσεις.

Η κάθε IP διεύθυνση αντιστοιχεί σε Μ username.

Κάθε username έχει αναρτήσει τουλάχιστον μία δημοσίευση.

Όπου Μ,Ν ≥ 1

6.3.4 Εξαγωγή προτύπων από τα δεδομένα

Στην ενότητα αυτή θα δούμε τις διεργασίες που δημιουργήσαμε για τον εντοπισμό

κακόβουλων - τρολλ μηνυμάτων με χρήση εξόρυξης κειμένου κάνοντας χρήση του

προγράμματος RapidMiner. Για το σκοπό αυτό εγκαταστήσαμε το “Text Mining

Extension” που παρέχεται δωρεάν από τη κοινότητα του Rapid-I, και περιλαμβάνει μια

σειρά από operators που είναι απαραίτητοι για να εφαρμόσουμε στατιστική ανάλυση

κειμένου (statistical text analysis).

Page 38: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

38

6.3.4.1 Δημιουργία νέας διεργασίας

Για τη δημιουργία μιας νέας διεργασίας (process) επιλέγουμε το κουμπί “NEW” και

στη συνέχεια την αποθηκεύουμε για μελλοντική χρήση στο “Repository Browser”

όπως φαίνεται παρακάτω:

Εικόνα 6.1: Αρχική οθόνη του RapidMiner

Page 39: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

39

Εικόνα 6.2: Repository Browser

Έτσι λοιπόν πλέον είμαστε σε θέση να ξεκινήσουμε το σχεδιασμό της διεργασίας.

Ανοίγοντας τη περιοχή σχεδίασης (Design Perspective) του RapidMiner εμφανίζεται

το ακόλουθο παράθυρο:

Page 40: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

40

Εικόνα 6.3: Παράθυρο Design Perspective στο RapidMiner

Στο πάνω αριστερό μέρος της οθόνης (εικόνα 6.3) βλέπουμε τους διαθέσιμους

Operators που υπάρχουν στο λογισμικό, οι οποίοι όπως μπορούμε να διακρίνουμε είναι

κατηγοριοποιημένοι ανάλογα με τη λειτουργία που εκτελούν. Το κύριο μέρος της

σχεδίασης μιας διεργασίας πραγματοποιείται με το σύρσιμο και την κατάλληλή

διασύνδεση των Operators στην καρτέλα σχεδίασης που βρίσκεται στο κέντρο της

οθόνης. Για κάθε Operator δίνεται η δυνατότητα παραμετροποίησης του, από μία λίστα

ιδιοτήτων η οποία βρίσκεται στο δεξί μέρος της οθόνης. Τέλος κάτω αριστερά

βρίσκεται ο Browser Repository, ο οποίος περιέχει τις διεργασίες και τα δεδομένα που

έχουμε αποθηκεύσει στο παρελθόν.

Page 41: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

41

6.3.4.2 Σχεδίαση Διεργασιών

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

οποίες είναι οι εξής:

1. word frequency

Σκοπός της διεργασίας αυτής είναι ο εντοπισμός των λέξεων που

χρησιμοποιούνται συχνά μέσα από ένα σύνολο δημοσιεύσεων (posts). Έτσι

λοιπόν απεικονίζοντας τα αποτελέσματα της διεργασίας αυτής σε ένα

«Σύννεφο Λέξεων ή Cloud Word», ο χρήστης του συστήματος με μια ματιά

μπορεί να καταλάβει τη κύρια ιδέα και το θέμα της συζήτησης.

2. Similarity

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

ομοιότητας που υπάρχουν μεταξύ των δημοσιεύσεων που έχουν αναρτήσει

οι χρήστες μιας πλατφόρμας Ηλεκτρονικής Συμμετοχικότητας. Η

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

στη συνέχεια, γίνεται συνδέοντας με γραμμές τους κόμβους1 που έχουν

μεγαλύτερη ομοιότητα από αυτή του κατωφλίου που έχει οριστεί.

3. SVD

Η διεργασία αυτή εξάγει τους κύριου όρους (terms) από κειμενικούς πόρους

(documents). Στη περίπτωσ μας εξάγουμε λέξεις μέσα από τα σχόλια όπως

περιγράψαμε στην ενότητα 5.4. Η αναπαράσταση των αποτελεσμάτων της

διεργασίας αυτής γίνεται με ένα διάγραμμα διασποράς το οποίο

περιλαμβάνει τους κύριους όρους και τα σχόλια των χρηστών.

1 Κόμβος θεωρείται κάθε IP διεύθυνση ή ένα σύνολο από IP διευθύνσεις που έχουν μικρή γεωχωρική

απόσταση μεταξύ τους (μικρότερη από 100 m).

Page 42: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

42

Σχεδίαση 1ης διεργασίας

Η πρώτη διεργασία που υλοποιήσαμε απεικονίζεται στις παρακάτω εικόνες.

Εικόνα 6.4.1: Διεργασία word frequency

Page 43: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

43

Εικόνα 6.4.2: Επεξεργασία εγγράφων

Όπως παρατηρούμε στην εικόνα 6.4.1 η πρώτη διεργασία αποτελείται από τους εξής

Operators:

Read Database

Διαβάζει τα δεδομένα από τη βάση δεδομένων

Nominal to Text

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

Process Document

Επεξεργασία κειμένου και εξαγωγή διανυσμάτων μέσω του αλγορίθμου

TF-IDF

WordList to Data

Μετατροπή λίστας σε μορφή dataset. Το dataset περιλαμβάνει μια

γραμμή για κάθε λέξη και την συχνότητα εμφάνισης της

Page 44: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

44

Ο Operator “ Process Document ” περιλαμβάνει ένα επιπλέον επίπεδο (υποδιεργασία)

η οποία αποτελείται από τους Operators (εικόνα 6.4.2):

Replace Token

Αντικατάσταση ειδικών χαρακτήρων

Tokenize

Διαχωρισμός κειμένου σε επίπεδο λέξεων

Transform Cases

Μετατροπή γραμμάτων σε πεζούς χαρακτήρες

Filter Tokens (by length)

Φίλτρο με βάση το μήκος της λέξης. Κατώφλι φίλτρου: 4 ≤

length(word) ≤ 25

Filter Stopwords

Φίλτρο ειδικών λέξεων από λεξικό. π.χ. άρθρα, αντωνυμίες κλπ

Generate n-Grams

Σειρά διαδοχικών λέξεων μήκους 2

Λειτουργία

Αρχικά διαβάζουμε τα δεδομένα από τη βάση δεδομένων και τα μετατρέπουμε σε

κατάλληλη μορφή προς επεξεργασία. Στη συνέχεια επεξεργαζόμαστε τα έγγραφα και

δημιουργούμε διανύσματα λέξεων στα οποία υπολογίζουμε τη συχνότητα εμφάνισης

της κάθε λέξης με τον αλγόριθμο “TF-IDF”. Τέλος μετατρέπουμε τη λίστα σε dataset

και το επιστρέφουμε στην έξοδο της διεργασίας.

Κατά την επεξεργασία Εγγράφων αρχικά διαγράφουμε τους ειδικούς χαρακτήρες2

που υπάρχουν στο κείμενο. Στη συνέχεια χωρίζουμε το κείμενο σε επίπεδο λέξεων

(Tokenize) και μετατρέπουμε όλα τα γράμματα σε πεζούς χαρακτήρες. Επίσης

εφαρμόζουμε δύο φίλτρα. Με πρώτο φίλτρο απαλείφουμε τις λέξεις που περιέχουν

λιγότερους από 4 χαρακτήρες και περισσότερους από 25. Με δεύτερο φίλτρο

απαλείφουμε όλες εκείνες τις λέξεις ή τους χαρακτήρες που δεν αποδίδουν ιδιαίτερο

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

N-Grams3 μεταξύ των λέξεων και επιστρέφουμε τα αποτελέσματα.

2 Ειδικοί χαρακτήρες: [-!"#$%&'()*+,./:;<=>?@\[\\\]_`{|}~] 3 N-grams: διαδοχικές λέξεις μέσα σε ένα κείμενο

Page 45: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

45

Σχεδίαση 2ης διεργασίας

Η δεύτερη διεργασία που υλοποιήσαμε απεικονίζεται στις παρακάτω εικόνες.

Εικόνα 6.5.1: Διεργασία Similarity

Page 46: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

46

Εικόνα 6.5.2: Επεξεργασία εγγράφων

Όπως παρατηρούμε στην εικόνα 6.5.1 η πρώτη διεργασία αποτελείται από τους εξής

Operators:

Read Database

Διαβάζει τα δεδομένα από τη βάση δεδομένων

Nominal to Text

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

Process Document

Επεξεργασία κειμένου και εξαγωγή διανυσμάτων μέσω του αλγορίθμου

TF-IDF

Data to Similarity

Σύγκριση διανυσμάτων με τον αλγόριθμο του συνημιτόνου (cosine

similarity)

Page 47: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

47

Ο Operator “ Process Document ” περιλαμβάνει ένα επιπλέον επίπεδο (υποδιεργασία)

η οποία αποτελείται από τους Operators (εικόνα 6.5.2):

Replace Token

Αντικατάσταση ειδικών χαρακτήρων

Tokenize

Διαχωρισμός κειμένου σε επίπεδο λέξεων

Transform Cases

Μετατροπή γραμμάτων σε πεζούς χαρακτήρες

Filter Tokens (by length)

Φίλτρο με βάση το μήκος της λέξης. Κατώφλι φίλτρου: 4 ≤

length(word) ≤ 25

Filter Stopwords

Φίλτρο ειδικών λέξεων από λεξικό. π.χ. άρθρα, αντωνυμίες κλπ

Stem

Εξαγωγή θέματος-ρίζα μίας λέξης απαλείφοντας την κατάληξη της. π.χ.

γιαγιά γιαγ, γιαγιάκα γιαγ

Λειτουργία

Αρχικά διαβάζουμε τα δεδομένα από τη βάση δεδομένων και τα μετατρέπουμε σε

κατάλληλη μορφή προς επεξεργασία. Στη συνέχεια επεξεργαζόμαστε τα έγγραφα και

δημιουργούμε διανύσματα λέξεων στα οποία υπολογίζουμε τη συχνότητα εμφάνιση

της κάθε λέξης με τον αλγόριθμο “TF-IDF”. Τέλος εφαρμόζουμε τον αλγόριθμο

«cosine similarity» και υπολογίζουμε την ομοιότητα που υπάρχει μεταξύ των

δημοσιεύων (posts).

Κατά την επεξεργασία Εγγράφων αρχικά διαγράφουμε τους ειδικούς χαρακτήρες

που υπάρχουν στο κείμενο. Στη συνέχεια χωρίζουμε το κείμενο σε επίπεδο λέξεων

(Tokenize) και μετατρέπουμε όλα τα γράμματα σε πεζούς χαρακτήρες. Επίσης

εφαρμόζουμε δύο φίλτρα. Με πρώτο φίλτρο απαλείφουμε τις λέξεις που περιέχουν

λιγότερους από 4 χαρακτήρες και περισσότερους από 25. Με δεύτερο φίλτρο

απαλείφουμε όλες εκείνες τις λέξεις ή τους χαρακτήρες που δεν αποδίδουν ιδιαίτερο

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

θέμα-ρίζα της κάθε λέξης και επιστρέφουμε τα αποτελέσματα. Στο σημείο αυτό θα

πρέπει να αναφέρουμε ότι το RapidMiner δεν παρέχει τη λειτουργία Stem για την

Page 48: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

48

ελληνική γλώσσα. Για το λόγω αυτό υλοποιήσαμε τη λειτουργία αυτή σε Java

ακολουθώντας τους κανόνες για την ελληνική γλώσσα [7] .

Σχεδίαση 3ης διεργασίας

Η τελευταία διεργασία που υλοποιήσαμε απεικονίζεται στις παρακάτω εικόνες.

Εικόνα 6.6.1: Διεργασία SVD

Page 49: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

49

Εικόνα 6.6.2: Επεξεργασία εγγράφων

Όπως παρατηρούμε στην εικόνα 5.6.1 η πρώτη διεργασία αποτελείται από τους εξής

Operators:

Read Database

Διαβάζει τα δεδομένα από τη βάση δεδομένων

Nominal to Text

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

Process Document

Επεξεργασία κειμένου και εξαγωγή διανυσμάτων μέσω του αλγορίθμου

Term frequency

SVD

Μειώνει τις διαστάσεις του ExampleSet και εξάγει τους κύριου όρους

(terms)

Page 50: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

50

Ο Operator “ Process Document ” περιλαμβάνει ένα επιπλέον επίπεδο (υποδιεργασία)

η οποία αποτελείται από τους Operators (εικόνα 5.6.2):

Replace Token

Αντικατάσταση ειδικών χαρακτήρων

Tokenize

Διαχωρισμός κειμένου σε επίπεδο λέξεων

Transform Cases

Μετατροπή γραμμάτων σε πεζούς χαρακτήρες

Filter Tokens (by length)

Φίλτρο με βάση το μήκος της λέξης. Κατώφλι φίλτρου: 4 ≤

length(word) ≤ 25

Filter Stopwords

Φίλτρο ειδικών λέξεων από λεξικό. π.χ. άρθρα, αντωνυμίες κλπ

Λειτουργία

Αρχικά διαβάζουμε τα δεδομένα από τη βάση δεδομένων και τα μετατρέπουμε σε

κατάλληλη μορφή προς επεξεργασία. Στη συνέχεια επεξεργαζόμαστε τα έγγραφα και

δημιουργούμε διανύσματα λέξεων στα οποία υπολογίζουμε τη συχνότητα εμφάνισης

της κάθε λέξης με τον αλγόριθμο “Term frequency”. Τέλος εφαρμόζουμε τον

αλγόριθμο «SVD» και εξάγουμε τους κύριους όρους (terms) από τα έγγραφα

(documents) που στη προκειμένη περίπτωση είναι τα σχόλια (posts) που βρίσκονται

στη βάση.

Κατά την επεξεργασία Εγγράφων αρχικά διαγράφουμε τους ειδικούς χαρακτήρες

που υπάρχουν στο κείμενο. Στη συνέχεια χωρίζουμε το κείμενο σε επίπεδο λέξεων

(Tokenize) και μετατρέπουμε όλα τα γράμματα σε πεζούς χαρακτήρες. Τέλος

εφαρμόζουμε δύο φίλτρα. Με πρώτο φίλτρο απαλείφουμε τις λέξεις που περιέχουν

λιγότερους από 4 χαρακτήρες και περισσότερους από 25, ενώ με δεύτερο απαλείφουμε

τις λέξεις και τους χαρακτήρες που δεν αποδίδουν ιδιαίτερο νόημα στο κείμενο όπως

για παράδειγμα άρθρα, αντωνυμίες κ.τ.λ.

Page 51: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

51

6.3.4.2 Αποτελέσματα Διεργασιών

Στην ενότητα αυτή θα παρουσιάσουμε τα στιγμιότυπα εκτέλεσης των παραπάνω

διεργασιών και θα περιγράψουμε τα αποτελέσματα.

Αποτελέσματα 1ης διεργασίας

Εικόνα 6.7: Στιγμιότυπο εκτέλεσης διεργασίας word frequency

Στη παραπάνω εικόνα βλέπουμε ένα στιγμιότυπο εκτέλεσης της διεργασίας “word

Frequency”. Όπως μπορούμε να διακρίνουμε ο πίνακας περιέχει τέσσερεις στήλες. Η

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

έχουν εξαχθεί, η τρίτη σε ποιο έγγραφο περιλαμβάνεται η αντίστοιχη λέξη και η

τελευταία τη συχνότητα εμφάνισης της κάθε λέξης.

Page 52: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

52

Αποτελέσματα 2ης διεργασίας

Εικόνα 6.8: Στιγμιότυπο εκτέλεσης διεργασίας Similarity

Στη παραπάνω εικόνα βλέπουμε ένα στιγμιότυπο εκτέλεσης της διεργασίας

“Similarity”. Όπως μπορούμε να διακρίνουμε ο πίνακας περιέχει τέσσερεις στήλες. Η

πρώτη στήλη μας δείχνει τον αριθμό της εκάστοτε γραμμής, η δεύτερη και η τρίτη τα

αναγνωριστικά ID των εγγραφών στη βάση δεδομένων που έγινε η σύγκριση και η

τέταρτη τα αποτελέσματα της σύγκρισης. Τα αποτελέσματα της τελευταίας στήλης

κυμαίνονται μεταξύ 0 και 1, όπου 0 αναφέρεται στη περίπτωση που δεν υπάρχει

ομοιότητα μεταξύ των εν λόγω εγγραφών και 1 στη περίπτωση που οι εν λόγω

εγγραφές είναι πανομοιότυπες. Οι ενδιάμεσες τιμές δείχνουν το ποσοστό ομοιότητας

των εγγραφών.

Page 53: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

53

Αποτελέσματα 3ης διεργασίας

Εικόνα 6.9: To ExampleSet της διεργασίας SVD.

Page 54: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

54

Εικόνα 6.10: Στιγμιότυπο εκτέλεσης διεργασίας SVD.

Στη εικόνα 6.9 βλέπουμε το ExampleSet της διεργασίας “SVD”. Όπως μπορούμε

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

χαρακτηριστικό ID της κάθε εγγραφής στη βάση ενώ οι άλλες τρεις δείχνουν τις

ιδιάζουσες τιμές που έχει αποδώσει ο αλγόριθμος Signature Value Decomposition

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

τιμές SVD2 και SVD3 διότι προσέδιδαν καλύτερα αποτελέσματα.

Στη εικόνα 5.10 βλέπουμε ένα στιγμιότυπο εκτέλεσης της διεργασίας “SVD”.

Η πρώτη στήλη του πίνακα δείχνει τους κύριους όρους (terms) που έχει εξάγει από

Page 55: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

55

τα έγγραφα (documents), ενώ οι υπόλοιπε δείχνουν τις ιδιάζουσες τιμές που έχει

αποδώσει ο αλγόριθμος Signature Value Decomposition στο κάθε όρο. Και σε αυτή

τη περίπτωση χρησιμοποιήσαμε τις τιμές SVD2 και SVD3.

Page 56: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

56

Κεφάλαιο 7. Αποτελέσματα, Συμπεράσματα και

Προοπτικές

Page 57: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

57

7.1 Εισαγωγή

Στην ενότητα αυτή παρουσιάζονται τα αποτελέσματα και τα συμπεράσματα που

εξαγάγαμε κατά την εκπόνηση της διπλωματικής εργασίας. Αναλυτικότερα στην

ενότητα 7.2 θα δούμε στιγμιότυπα εκτέλεσης του συστήματος, μέσα από ένα

κατάλληλα διαμορφωμένο γραφικό περιβάλλον που δημιουργήθηκε για την

αναπαράσταση των αποτελεσμάτων. Στην ενότητα 7.3 παρουσιάζονται τα

συμπεράσματα, τα οποία εξάγουμε για το σύστημα ανίχνευσης τρολλ μηνυμάτων και

τέλος στην ενότητα 7.4 θα προτείνουμε κάποιες επεκτάσεις του που θεωρούμε

σκόπιμες να γίνουν στο μέλλον.

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

από πραγματικές συνθήκες, κατασκευάσαμε ένα σενάριο, το οποίο περιλαμβάνει

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

ιστότοπους.

7.2 Αποτελέσματα

Όπως μπορούμε να διακρίνουμε στο στιγμιότυπο εκτέλεσης (εικόνα 7.1.1, εικόνα

7.2.2) το σύστημα αποτελείται από ένα χάρτη (Map), με τον οποίο μπορούμε να

διακρίνουμε τα γεωχωρικά γνωρίσματα των χρηστών καθώς και τη διασύνδεσή τους,

ένα διάγραμμα διασποράς (SVD) με τους κύριους όρους που εξήχθησαν κατά την

εκτέλεση της λειτουργίας SVD, ένα σύννεφο λέξεων (Cloud Word) με τις συχνότερες

λέξεις που συναντάμε στα σχόλια και τέλος έναν πίνακα (Users) με όλους τους χρήστες

ταξινομημένο με βάση την IP διεύθυνση.

Page 58: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

58

Εικόνα 7.1.1: Στιγμιότυπο εκτέλεσης (1/2)

Εικόνα 7.1.2: Στιγμιότυπο εκτέλεσης (2/2)

Στη συνέχεια θα δούμε αναλυτικότερα το κάθε συστατικό που εμφανίζεται στο

σύστημα, καθώς και τη χρησιμότητά του.

Page 59: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

59

Map

Εικόνα 7.2.1 Χάρτης

Εικόνα 7.2.2: Χάρτης

Page 60: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

60

Στην εικόνα 7.2.1 βλέπουμε το χάρτη, ο οποίος περιλαμβάνει τα γεωχωρικά

γνωρίσματα των χρηστών. Στο σημείο αυτό θα πρέπει να τονίσουμε ότι για λόγους

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

έχουν σχεδιαστεί παραλληλόγραμμα, όπως περιγράψαμε στην προηγούμενη ενότητα,

στα οποία γνωρίζουμε ότι ανήκει ένας ή περισσότεροι χρήστες. Τα pins, τα οποία

μπορούμε να διακρίνουμε στο χάρτη, αποτελούν το κέντρο του κάθε παραλληλο-

γράμμου. Επιλέγοντας ένα από αυτά μπορούμε να δούμε τις συχνότερες λέξεις

του/των σχολίων που έχουν αναρτηθεί από τον/τους χρήστες που ανήκουν στο

τετράγωνο αυτό (εικόνα 7.2.2). Τέλος στα παραλληλόγραμμα που εντοπίζεται μεγάλη

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

ένα παραλληλόγραμμο εντοπιστούν σχόλια από διαφορετικά username, τα οποία

έχουν ομοιότητα μεγαλύτερη από αυτή του κατωφλίου, τότε εμφανίζεται ένα κύκλος

γύρω από το εν λόγω παραλληλόγραμμο. Οι γραμμές και οι κύκλοι μας δείχνουν ότι

στα αντίστοιχα παραλληλόγραμμα υπάρχουν υποψήφια τρολλ μηνύματα.

SVD

Εικόνα 7.3: Διάγραμμα διασποράς

Page 61: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

61

Στην εικόνα 7.3 βλέπουμε το διάγραμμα διασποράς από τα αποτελέσματα

της διεργασίας SVD που περιγράψαμε στο προηγούμενο κεφάλαιο. Με μπλε

αναπαρίστανται τα σχόλια (documents) ενώ με κόκκινο οι κύριοι όροι (terms).

Επιλέγοντας ένα από τα στοιχεία του διαγράμματος εμφανίζεται μήνυμα με το

περιεχόμενό του, δηλαδή το σχόλιο αν αφορά document ή τον όρο (λέξη) αν

αφορά term. Στο διάγραμμα αυτό μπορούμε να διακρίνουμε ποια σχόλια είναι

κοντινά και τους όρους που αποτελούνται.

Users

Εικόνα 7.4: Πίνακας χρηστών

Στην εικόνα 7.4 βλέπουμε όλους τους χρήστες και τα σχόλια που έχουν

αναρτηθεί στο άρθρο. Ο πίνακας είναι ταξινομημένος με βάση τις IP

διευθύνσεις. Αναλυτικότερα μπορούμε να δούμε από την κάθε ΙΡ διεύθυνση

τα username που έχουν αναρτήσει δημοσίευση/σεις, καθώς και το

πρωτότυπο σχόλιο του κάθε χρήστη.

Page 62: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

62

Cloud Word

Εικόνα 7.5: Σύννεφο λέξεων

Στο διάγραμμα αυτό (εικόνα 7.5) βλέπουμε τις λέξεις με συχνότητα

μεγαλύτερη από αυτήν του κατωφλίου που έχουμε ορίσει. Όσο μεγαλύτερη

γραμματοσειρά και πιο έντονο χρώμα έχει η κάθε λέξη, τόσο μεγαλύτερη

είναι η συχνότητα εμφάνισής της. Έτσι λοιπόν από το διάγραμμα αυτό

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

κυριότερες λέξεις που έχουν χρησιμοποιηθεί σε αυτά.

7.3 Συμπεράσματα

Στις μέρες μας το διαδίκτυο διαδραματίζει όλο και πιο σημαντικό ρόλο στη ζωή

του σύγχρονου ανθρώπου. Η ανάγκη του για ενημέρωση, επικοινωνία και

αλληλεπίδραση με άλλους ανθρώπους τον έφερε πιο κοντά στις υπηρεσίες που

προσφέρει το Web 2.0. Μία από τις δημοφιλέστερες υπηρεσίες που προσφέρεται στο

διαδίκτυο είναι οι ειδησεογραφικοί ιστότοποι, στους οποίους ένας χρήστης μπορεί να

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

κάποιο σχόλιο στη διαδικτυακή συζήτηση που προσφέρεται. Συχνά όμως

παρατηρείται το φαινόμενο μαζικού σχολιασμού άρθρων από κακόβουλους

χρήστες.

Έτσι λοιπόν στη διπλωματική εργασία αυτή κληθήκαμε να κατασκευάσουμε

ένα πληροφοριακό σύστημα ικανό να ανιχνεύει τέτοιου είδους συμπεριφορές. Με

το εργαλείο αυτό ο administrator μιας πλατφόρμας ηλεκτρονικής συμμετοχικότητας ή

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

του διαδικτύου, μπορεί να εντοπίσει εύκολα και γρήγορα κακόβουλο περιεχόμενο σε

μία διαδικτυακή κοινότητα. Εκτός από την ανίχνευση τρολλ μηνυμάτων ο χρήστης του

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

χρηστών και να εξάγει τα αντίστοιχα συμπεράσματα. Επίσης δίδεται η δυνατότητα να

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

τεχνική - συμπεριφορά, τι μηνύματα προσπαθούν να προωθήσουν, και τι αντιδράσεις

Page 63: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

63

προκαλούν στους υπόλοιπους συμμετέχοντες της διαδικτυακής κοινότητας. Τέλος

μπορεί να εξάγει πληροφορίες για την άποψη των αναγνωστών του άρθρου.

Καταλήγοντας η δημιουργία συστημάτων ανίχνευσης κακόβουλων χρηστών και

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

κειμενικούς πόρους, αποτελεί καίριο ζήτημα στις μέρες μας και είναι χρέος μας να

διαφυλάξουμε τη δημοκρατικότητα του διαδικτύου. Μην ξεχνάμε ότι το διαδίκτυο

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

στην πληροφορία και τη γνώση.

7.4 Προοπτικές

Ολοκληρώνοντας την παρούσα διπλωματική εργασία, θα θέλαμε να σας

παρουσιάσουμε κάποιες προτάσεις που θα μπορούσαν να συνεισφέρουν στη βελτίωση

της λειτουργίας του συστήματος ανίχνευσης τολλ μηνυμάτων.

Μία από τις δημοφιλέστερες τεχνικές εξόρυξης κειμένου που έχει κεντρίσει το

επιστημονικό ενδιαφέρον και χρησιμοποιείται σε πολλές εφαρμογές είναι η

εξόρυξη γνώμης / συναισθήματος (opinion mining ή sentiment analysis). Θα

μπορούσε να φανεί πολύ χρήσιμη η εφαρμογή μιας τέτοιας τεχνικής, με την

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

λειτουργία αυτή σε συνδυασμό με έναν αλγόριθμο, ο οποίος εξετάζει κατά πόσο

ένα μήνυμα αποτελεί τρολλ ή όχι, θα προσέδιδε μεγαλύτερη ευκρίνεια στα

αποτελέσματα του συστήματος.

Μία άλλη τεχνική, η οποία θα είχε ιδιαίτερο ενδιαφέρον, είναι η εφαρμογή

κάποιου αλγορίθμου Classification. Με τον τρόπο αυτό μπορούμε να

κατηγοριοποιήσουμε τα σχόλια και να εξάγουμε τα αντίστοιχα συμπεράσματα

από τη διαδικασία αυτή.

Μία από τις μορφές τρολλ μηνυμάτων που συναντάμε συχνά στο διαδίκτυο

είναι μηνύματα εκτός θέματος. Έτσι λοιπόν κρίνεται απαραίτητη η δημιουργία

κατάλληλου αλγορίθμου για την εύρεση συσχέτισης μεταξύ άρθρου και

μηνυμάτων. Με τον τρόπο αυτό θα μπορούσαμε να εντοπίσουμε κακόβουλα

μηνύματα, τα οποία δεν έχουν σχέση με το άρθρο και στα οποία δεν εντοπίζεται

ομοιότητα με άλλο μήνυμα.

Page 64: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

64

Έχει παρατηρηθεί ότι τα κείμενα μικρού μήκους, όπως είναι τα σχόλια σε ένα

ειδησεογραφικό ιστότοπο, περιέχουν πολλά ορθογραφικά λάθη με αποτέλεσμα

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

Επίσης συναντάμε συχνά τη χρήση “greeklish” και τη χρήση emoticons. Οπότε

θεωρούμε σκόπιμο να συμπεριλάβουμε τα παραπάνω χαρακτηριστικά και να

βελτιστοποιήσουμε την επεξεργασία κειμένου.

Τέλος ιδιαίτερο ενδιαφέρον θα είχε η μετατροπή του προγράμματος σε real

time application, το οποίο θα αναγνωρίζει σε πραγματικό χρόνο κακόβουλα

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

διαδικτυακής κοινότητας. Για την αντιμετώπιση τέτοιων φαινομένων ίσως είναι

προτιμότερη η πρόληψη από την καταστολή.

Page 65: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

65

Βιβλιογραφία

Page 66: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

66

[1] Δ. Α. Πλώτα, «Τεχνικές Text Minining για την συγκριτική ανάλυση νοήματος

κειμένου,» 2010.

[2] Ε. Δ. Καλύβα, «Συλλογή, Ανάλυση και Αξιολόγηση απόψεων Ελλήνων Πολιτών

σε σχέση με παρεχόμενες Υπηρεσίες Ηλεκτρονικής Διακυβέρνησης, όπως αυτές

εκφράζονται σε πηγές Web 2.0,» 2011.

[3] Δ. Ανυφάντης, «Αυτόματο φιλτράρισμα ανεπιθύμητης ηλεκτρονικής

αλληλογραφίας με χρήση μεθόδων μηχανικής μάθησης,» 2008.

[4] I. H. Witten, «Text mining,» 2004.

[5] J. Steinberger και K. Ježek, «Using Latent Semantic Analysis in Text

Summarization».

[6] J. Ramos, Using TF-IDF to Determine Word Relevance in Document Queries.

[7] G. Ntais, «Development of a Stemmer for the Greek Language,» 2007.

[8] I. Kehayov, «Εξόρυξη δεδομένων για κατηγοριοποίηση κειμένων,» 2011.

[9] C. Karlberger, G. Bayler, C. Kruegel και E. Kirda, «Exploiting Redundancy in

Natural Language to Penetrate Bayesian Spam Filters,» 2007.

[10] R. Feldman, The Text Mining Handbook: Advanced Approaches in Analyzing

Unstructured Data, 2004.

[11] C. Erik, C. Praphul, S. Avinash and H. Amir, "Do Not Feel The Trolls," 2010.

[12] M. H. Dunham, Β. Βρύκιος και Γ. Θεοδωρίσης, Data Minining, Εκδόσεις νεων

τεχνολογιών, 2004.

[13] E. Damiani, S. De Capitani di Vimercati, S. Paraboschi και P. Samarti, «An Open

Digest-based Technique for Spam Detection,» 2004.

[14] M. W. Berry και J. Kogan, Text Minining Application and Theory, 2010.

[15] M. W. Berry, S. T. Dumais και G. W. O'Brien, «Using Linear Algebra for Intelligent

Information Retrieval,» 1994.

[16] R. Albright, «Taming Text with the SVD,» 2004.

[17] N. Jindal και B. Liu, Analyzing and Detecting Review Spam, 2007.

Page 67: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

67

[18] http://pyevolve.sourceforge.net/wordpress/?p=2497

[18] http://kidshealth.org/parent/positive/talk/cyberbullying.html

[20] http://www.cyberkid.gov.gr/above8/tips/%CE%A8%CE%B7%CF%86%CE%B9

%CE%B1%CE%BA%CE%AE%20%CF%80%CE%B1%CF%81%CE%B5%

CE%BD%CF%8C%CF%87%CE%BB%CE%B7%CF%83%CE%B7.html

[21] http://kb.iu.edu/data/afhc.html

[22] http://people.ischool.berkeley.edu/~hearst/text-mining.html

Page 68: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

68

Παράρτημα A

Page 69: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

69

Κώδικας διεργασίας Word frequency

1. <?xml version="1.0" encoding="UTF-8" standalone="no"?>

2. <process version="5.3.013">

3. <context>

4. <input/>

5. <output/>

6. <macros/>

7. </context>

8. <operator activated="true" class="process" compatibility="5.3.013"

expanded="true" name="Process">

9. <process expanded="true">

10. <operator activated="true" class="read_database" compatibility="5.3.013"

expanded="true" height="60" name="Read Database" width="90" x="45" y="75">

11. <parameter key="connection" value="diplomatii"/>

12. <parameter key="query" value="SELECT `comment`&#10;FROM `web2`"/>

13. <enumeration key="parameters"/>

14. </operator>

15. <operator activated="true" class="nominal_to_text" compatibility="5.3.013"

expanded="true" height="76" name="Nominal to Text" width="90" x="179" y="75"/>

16. <operator activated="true" class="text:process_document_from_data"

compatibility="5.3.001" expanded="true" height="76" name="Process Documents from

Data" width="90" x="380" y="75">

17. <list key="specify_weights"/>

18. <process expanded="true">

19. <operator activated="true" class="text:replace_tokens"

compatibility="5.3.001" expanded="true" height="60" name="Replace Tokens"

width="90" x="45" y="30">

20. <list key="replace_dictionary">

21. <parameter key="[-!&quot;#$%&amp;'()*+,./:;&lt;=&gt;?@\[\\\]_`{|}~]"

value=" "/>

22. <parameter key="έ" value="ε"/>

23. <parameter key="ή" value="η"/>

24. <parameter key="ί" value="ι"/>

25. <parameter key="ϊ" value="ι"/>

26. <parameter key="ά" value="α"/>

27. <parameter key="ό" value="ο"/>

28. <parameter key="ύ" value="υ"/>

29. <parameter key="ώ" value="ω"/>

30. </list>

31. </operator>

32. <operator activated="true" class="text:tokenize" compatibility="5.3.001"

expanded="true" height="60" name="Tokenize" width="90" x="179" y="30"/>

Page 70: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

70

33. <operator activated="true" class="text:transform_cases"

compatibility="5.3.001" expanded="true" height="60" name="Transform Cases"

width="90" x="313" y="30"/>

34. <operator activated="true" class="text:filter_by_length"

compatibility="5.3.001" expanded="true" height="60" name="Filter Tokens (by

Length)" width="90" x="447" y="30"/>

35. <operator activated="true" class="text:filter_stopwords_dictionary"

compatibility="5.3.001" expanded="true" height="76" name="Filter Stopwords

(Dictionary)" width="90" x="581" y="30">

36. <parameter key="file" value="C:\Users\Dimitris\Desktop\greek

stopwords.txt"/>

37. </operator>

38. <operator activated="true" class="text:generate_n_grams_terms"

compatibility="5.3.001" expanded="true" height="60" name="Generate n-Grams (Terms)"

width="90" x="648" y="165"/>

39. <connect from_port="document" to_op="Replace Tokens" to_port="document"/>

40. <connect from_op="Replace Tokens" from_port="document" to_op="Tokenize"

to_port="document"/>

41. <connect from_op="Tokenize" from_port="document" to_op="Transform Cases"

to_port="document"/>

42. <connect from_op="Transform Cases" from_port="document" to_op="Filter

Tokens (by Length)" to_port="document"/>

43. <connect from_op="Filter Tokens (by Length)" from_port="document"

to_op="Filter Stopwords (Dictionary)" to_port="document"/>

44. <connect from_op="Filter Stopwords (Dictionary)" from_port="document"

to_op="Generate n-Grams (Terms)" to_port="document"/>

45. <connect from_op="Generate n-Grams (Terms)" from_port="document"

to_port="document 1"/>

46. <portSpacing port="source_document" spacing="0"/>

47. <portSpacing port="sink_document 1" spacing="0"/>

48. <portSpacing port="sink_document 2" spacing="0"/>

49. </process>

50. </operator>

51. <operator activated="true" class="text:wordlist_to_data"

compatibility="5.3.001" expanded="true" height="76" name="WordList to Data"

width="90" x="581" y="75"/>

52. <connect from_op="Read Database" from_port="output" to_op="Nominal to Text"

to_port="example set input"/>

53. <connect from_op="Nominal to Text" from_port="example set output"

to_op="Process Documents from Data" to_port="example set"/>

54. <connect from_op="Process Documents from Data" from_port="word list"

to_op="WordList to Data" to_port="word list"/>

55. <connect from_op="WordList to Data" from_port="example set" to_port="result

1"/>

Page 71: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

71

56. <portSpacing port="source_input 1" spacing="0"/>

57. <portSpacing port="sink_result 1" spacing="0"/>

58. <portSpacing port="sink_result 2" spacing="0"/>

59. </process>

60. </operator>

61. </process>

Page 72: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

72

Κώδικας διεργασίας Similarity

1. <?xml version="1.0" encoding="UTF-8" standalone="no"?>

2. <process version="5.3.013">

3. <context>

4. <input/>

5. <output/>

6. <macros/>

7. </context>

8. <operator activated="true" class="process" compatibility="5.3.013"

expanded="true" name="Process">

9. <process expanded="true">

10. <operator activated="true" class="read_database" compatibility="5.3.013"

expanded="true" height="60" name="Read Database" width="90" x="45" y="75">

11. <parameter key="connection" value="diplomatii"/>

12. <parameter key="query" value="SELECT `comment`&#10;FROM `web2`"/>

13. <enumeration key="parameters"/>

14. </operator>

15. <operator activated="true" class="nominal_to_text" compatibility="5.3.013"

expanded="true" height="76" name="Nominal to Text" width="90" x="179" y="75"/>

16. <operator activated="true" class="text:process_document_from_data"

compatibility="5.3.001" expanded="true" height="76" name="Process Documents from

Data (2)" width="90" x="313" y="75">

17. <parameter key="vector_creation" value="Term Occurrences"/>

18. <list key="specify_weights"/>

19. <process expanded="true">

20. <operator activated="true" class="text:tokenize" compatibility="5.3.001"

expanded="true" height="60" name="Tokenize (2)" width="90" x="45" y="30"/>

21. <operator activated="true" class="text:transform_cases"

compatibility="5.3.001" expanded="true" height="60" name="Transform Cases (2)"

width="90" x="179" y="30">

22. <parameter key="transform_to" value="upper case"/>

23. </operator>

24. <operator activated="true" class="text:replace_tokens"

compatibility="5.3.001" expanded="true" height="60" name="Replace Tokens (2)"

width="90" x="313" y="30">

25. <list key="replace_dictionary"/>

26. </operator>

27. <operator activated="true" class="text:filter_by_length"

compatibility="5.3.001" expanded="true" height="60" name="Filter Tokens (2)"

width="90" x="447" y="30">

28. <parameter key="min_chars" value="3"/>

29. </operator>

Page 73: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

73

30. <operator activated="true" class="text:filter_stopwords_dictionary"

compatibility="5.3.001" expanded="true" height="76" name="Filter Stopwords (2)"

width="90" x="648" y="30">

31. <parameter key="file" value="C:\Users\Dimitris\Desktop\greek

stopwords.txt"/>

32. </operator>

33. <connect from_port="document" to_op="Tokenize (2)" to_port="document"/>

34. <connect from_op="Tokenize (2)" from_port="document" to_op="Transform

Cases (2)" to_port="document"/>

35. <connect from_op="Transform Cases (2)" from_port="document"

to_op="Replace Tokens (2)" to_port="document"/>

36. <connect from_op="Replace Tokens (2)" from_port="document" to_op="Filter

Tokens (2)" to_port="document"/>

37. <connect from_op="Filter Tokens (2)" from_port="document" to_op="Filter

Stopwords (2)" to_port="document"/>

38. <connect from_op="Filter Stopwords (2)" from_port="document"

to_port="document 1"/>

39. <portSpacing port="source_document" spacing="0"/>

40. <portSpacing port="sink_document 1" spacing="0"/>

41. <portSpacing port="sink_document 2" spacing="0"/>

42. </process>

43. </operator>

44. <operator activated="true" class="data_to_similarity_data"

compatibility="5.3.013" expanded="true" height="60" name="Data to Similarity Data"

width="90" x="447" y="120">

45. <parameter key="measure_types" value="NumericalMeasures"/>

46. <parameter key="numerical_measure" value="CosineSimilarity"/>

47. </operator>

48. <connect from_op="Read Database" from_port="output" to_op="Nominal to Text"

to_port="example set input"/>

49. <connect from_op="Nominal to Text" from_port="example set output"

to_op="Process Documents from Data (2)" to_port="example set"/>

50. <connect from_op="Process Documents from Data (2)" from_port="example set"

to_op="Data to Similarity Data" to_port="example set"/>

51. <connect from_op="Data to Similarity Data" from_port="similarity example set"

to_port="result 1"/>

52. <portSpacing port="source_input 1" spacing="0"/>

53. <portSpacing port="sink_result 1" spacing="0"/>

54. <portSpacing port="sink_result 2" spacing="0"/>

55. </process>

56. </operator>

57. </process>

Page 74: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

74

Κώδικας διεργασίας SVD

1. <?xml version="1.0" encoding="UTF-8" standalone="no"?>

2. <process version="5.3.013">

3. <context>

4. <input/>

5. <output/>

6. <macros/>

7. </context>

8. <operator activated="true" class="process" compatibility="5.3.013"

expanded="true" name="Process">

9. <process expanded="true">

10. <operator activated="true" class="read_database" compatibility="5.3.013"

expanded="true" height="60" name="Read Database" width="90" x="45" y="30">

11. <parameter key="connection" value="diplomatii"/>

12. <parameter key="query" value="SELECT `comment`&#10;FROM `web2`"/>

13. <enumeration key="parameters"/>

14. </operator>

15. <operator activated="true" class="nominal_to_text" compatibility="5.3.013"

expanded="true" height="76" name="Nominal to Text" width="90" x="179" y="30"/>

16. <operator activated="true" class="text:process_document_from_data"

compatibility="5.3.001" expanded="true" height="76" name="Process Documents from

Data (3)" width="90" x="313" y="30">

17. <parameter key="vector_creation" value="Term Frequency"/>

18. <parameter key="prune_method" value="percentual"/>

19. <parameter key="prune_above_percent" value="60.0"/>

20. <parameter key="select_attributes_and_weights" value="true"/>

21. <list key="specify_weights">

22. <parameter key="comment" value="1.0"/>

23. </list>

24. <process expanded="true">

25. <operator activated="true" class="text:replace_tokens"

compatibility="5.3.001" expanded="true" height="60" name="Replace Tokens"

width="90" x="45" y="30">

26. <list key="replace_dictionary">

27. <parameter key="[-!&quot;#$%&amp;'()*+,./:;&lt;=&gt;?@\[\\\]_`{|}~]"

value=" "/>

28. <parameter key="έ" value="ε"/>

29. <parameter key="ή" value="η"/>

30. <parameter key="ί" value="ι"/>

31. <parameter key="ϊ" value="ι"/>

32. <parameter key="ά" value="α"/>

33. <parameter key="ό" value="ο"/>

Page 75: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

75

34. <parameter key="ύ" value="υ"/>

35. <parameter key="ώ" value="ω"/>

36. </list>

37. </operator>

38. <operator activated="true" class="text:tokenize" compatibility="5.3.001"

expanded="true" height="60" name="Tokenize (3)" width="90" x="180" y="30">

39. <parameter key="mode" value="linguistic tokens"/>

40. </operator>

41. <operator activated="true" class="text:transform_cases"

compatibility="5.3.001" expanded="true" height="60" name="Transform Cases (3)"

width="90" x="313" y="30"/>

42. <operator activated="true" class="text:filter_by_length"

compatibility="5.3.001" expanded="true" height="60" name="Filter Tokens (3)"

width="90" x="450" y="30"/>

43. <operator activated="true" class="text:filter_stopwords_dictionary"

compatibility="5.3.001" expanded="true" height="76" name="Filter Stopwords

(Dictionary)" width="90" x="648" y="30">

44. <parameter key="file" value="C:\Users\Dimitris\Desktop\greek

stopwords.txt"/>

45. </operator>

46. <connect from_port="document" to_op="Replace Tokens" to_port="document"/>

47. <connect from_op="Replace Tokens" from_port="document" to_op="Tokenize

(3)" to_port="document"/>

48. <connect from_op="Tokenize (3)" from_port="document" to_op="Transform

Cases (3)" to_port="document"/>

49. <connect from_op="Transform Cases (3)" from_port="document" to_op="Filter

Tokens (3)" to_port="document"/>

50. <connect from_op="Filter Tokens (3)" from_port="document" to_op="Filter

Stopwords (Dictionary)" to_port="document"/>

51. <connect from_op="Filter Stopwords (Dictionary)" from_port="document"

to_port="document 1"/>

52. <portSpacing port="source_document" spacing="0"/>

53. <portSpacing port="sink_document 1" spacing="0"/>

54. <portSpacing port="sink_document 2" spacing="0"/>

55. </process>

56. </operator>

57. <operator activated="true" class="singular_value_decomposition"

compatibility="5.3.013" expanded="true" height="94" name="SVD" width="90" x="514"

y="30">

58. <parameter key="dimensions" value="3"/>

59. </operator>

60. <connect from_op="Read Database" from_port="output" to_op="Nominal to Text"

to_port="example set input"/>

Page 76: Σχολή θετικών Επιστημών · 2013-11-26 · 6.3.2 Εν οπισμός οποθσίας ... δικτύωσης όπως το Facebook, το Twitter, το Youtube,

76

61. <connect from_op="Nominal to Text" from_port="example set output"

to_op="Process Documents from Data (3)" to_port="example set"/>

62. <connect from_op="Process Documents from Data (3)" from_port="example set"

to_op="SVD" to_port="example set input"/>

63. <connect from_op="SVD" from_port="example set output" to_port="result 1"/>

64. <connect from_op="SVD" from_port="preprocessing model" to_port="result 2"/>

65. <portSpacing port="source_input 1" spacing="0"/>

66. <portSpacing port="sink_result 1" spacing="0"/>

67. <portSpacing port="sink_result 2" spacing="0"/>

68. <portSpacing port="sink_result 3" spacing="0"/>

69. </process>

70. </operator>

71. </process>