1. ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΑΠΟΔΟΣΗΣ ΤΟΥ
ΜΗΧΑΝΙΣΜΟΥ ΔΙΑΣΧΙΣΗΣ ΤΟΥ ΔΙΑΔΙΚΤΥΟΥ
ΜΕ ΒΑΣΗ ΤΟ ΣΗΜΑΣΙΟΛΟΓΙΚΟ ΠΕΡΙΕΧΟΜΕΝΟ
ΚΑΡΒΟΥΝΗΣ ΕΥΑΓΓΕΛΟΣ
υπό την επίβλεψη του
κ. Συμεωνίδη Ανδρέα
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ
ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ
ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ
ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΡΓΑΣΤΗΡΙΟ ΕΠΕΞΕΡΓΑΣΙΑΣ ΠΛΗΡΟΦΟΡΙΩΝ ΚΑΙ ΥΠΟΛΟΓΙΣΜΩΝ
2. Σκοπός διπλωματικής
• Κατανόηση τρόπου λειτουργίας των
Μηχανισμών Διάσχισης του Διαδικτύου
• Επιλογή Apache Nutch
– Δοκιμή σε ιστοσελίδες
– Ανάλυση αποτελεσμάτων
– Εξοικείωση με αλγόριθμο βαθμολόγησης OPIC
• Δημιουργία του SpiTag
– Δίνει βαρύτητα στα metatags των σελίδων
– Βαθμολόγηση με βάση το σημασιολογικό
περιεχόμενο
• Σύγκριση SpiTag-Nutch
2
3. Υπόθεση
• Μεγαλύτερο πλήθος σημασιολογικού
περιεχομένου Μεγαλύτερη αξία της
ιστοσελίδας
• Περισσότερες και πλουσιότερες ιστοσελίδες
που παραπέμπουν σε μία ιστοσελίδα
Μεγαλύτερη αξία της ιστοσελίδας
• Επισκεπτόμαστε σημασιολογικά
πλουσιότερες ιστοσελίδες;;;
3
4. Σημασιολογικός Ιστός
• Semantic Web / Web 3.0
• Δημιούργημα του Tim Berners-Lee, 2001
• Δεδομένα που μπορούν να καταλάβουν και οι
μηχανές
• eXtensible Markup Language - XML
• Resource Description Framework – RDF
• Ontologies
4
5. Μηχανισμοί Διάσχισης του
Διαδικτύου
• Web Crawlers ή Spiders
• Ο Matthew Gray το 1993 δημιούργησε τον
πρώτο και ονομάστηκε World Wide Web
Wanderer
• Λειτουργία
– Επισκέπτονται τις ιστοσελίδες
– Κατεβάζουν το περιεχόμενό τους
– Το αποθηκεύουν σε τοπικό αποθηκευτικό χώρο
5
8. Προσθήκη
ιστοσελίδων
στην Ουρά
Επεξεργασίας
Επιλογή μίας
ιστοσελίδας
από την Ουρά
Επεξεργασίας
Ανάκτηση –
Fetch της
ιστοσελίδας
Ανάλυση –
Parse της
ιστοσελίδας
Προσθήκη
αποτελεσμάτων
στην Ουρά
Επεξεργασίας
Επιλογή
αρχικών
ιστοσελίδων Επανέλαβε μέχρι να αδειάσει
η Ουρά Επεξεργασίας
Τυπικός
κύκλος
λειτουργίας
ενός Web
Crawler
8
9. Γιατί Apache Nutch
• Ανοιχτού κώδικα γραμμένος σε Java
• Επεκτάσιμος
• Διανεμημένος
– Διανεμημένο Σύστημα Αρχείων (NDFS)
– Μοντέλο MapReduce
• Βαθμολόγηση σύμφωνα με αλγόριθμο OPIC
– Μεταβλητές “μετρητά”, “ιστορικό μετρητών”
9
10. Μοντέλο MapReduce
• Προγραμματιστικό μοντέλο
• Παράλληλη Επεξεργασία Προβλημάτων
• Χρησιμοποιεί μεγάλο αριθμό υπολογιστών
•Διαδικασία Map()
i. Ο κόμβος-άρχοντας συλλέγει τα
δεδομένα
ii. Τα διαιρεί σε υπο-προβλήματα
iii. Τα μοιράζει στους κόμβους-
εργάτες
iv. Οι κόμβοι-εργάτες τα
επεξεργάζονται και ενημερώνουν
τον κόμβο-άρχοντα
•Διαδικασία Reduce()
i. Ο κόμβος-άρχοντας συλλέγει
τα αποτελέσματα από όλους
τους κόμβους-εργάτες
ii. Τα συνδυάζει κατάλληλα
ώστε να σχηματίσει το
τελικό αποτέλεσμα
10
11. Κύκλος Crawling του Nutch
i. Εισαγωγή αρχικών
ιστοσελίδων
ii. Παραγωγή (΄Generate΄)
topN: Επιλογή Ν ιστοσελίδων με
την υψηλότερη βαθμολογία
iii. Ανάκτηση (΄Fetch΄)
iv. Ανάλυση (΄Parse΄)
v. Ανανέωση Βάσης
Δεδομένων (΄Update
Database΄)
vi. Εάν δεν τελείωσε,
πήγαινε στο βήμα ii
Παραγωγή
Ανάκτηση
Ανάλυση
Ανανέωση
Βάσης
Δεδομένων
Εισαγωγή
ιστοσελίδων /
seed.txt
11
12. SpiTag
• Νέος Μηχανισμός Διάσχισης του Διαδικτύου
• Spi(der) και (meta)Tag
• Βασισμένος στον Apache Nutch 2.2.1
• Αλλαγές
– Παραγωγή
• Βαθμολόγηση ιστοσελίδων που επιλέγονται για ανάκτηση
– Ανάλυση ιστοσελίδων
• Άντληση των metatags
• Καταμέτρηση των metatags
– Ανανέωση Βάσης Δεδομένων
• Βαθμολόγηση ιστοσελίδων
12
13. Στόχοι
• Βαθμολόγηση ιστοσελίδων με βάση το περιεχόμενο τους
• Επίσκεψη ιστοσελίδων με πλουσιότερο περιεχόμενο
• Καταμέτρηση και αποθήκευση των metatags του περιεχομένου
i. Image Tags
ii. Video Tags
iii. Meta Name
iv. Meta Property
v. Meta Equiv
vi. Meta Item Property
vii. Twitter Tags
viii. Facebook Tags
ix. Script
x. Rel
13
14. • Βαθμολογία ιστοσελίδας που
αναλύθηκε
– Άντληση των μετρητών των metatags
– Άντληση των βαρών των metatags
– Υπολογισμός βαθμολογίας
𝜄=1
𝑛
( 𝑊𝑒𝑖𝑔ℎ𝑡 ∗ 𝑁𝑢𝑚𝑏𝑒𝑟𝑂𝑓𝑀𝑒𝑡𝑎𝑡𝑎𝑔𝑠)
όπου i = ο αριθμός των metatags που εξετάζουμε,
0 ≤ Weight ≤ 1
Βαθμολόγηση
• Βαθμολογία ιστοσελίδας-
παιδιού
𝑖=1
𝑛
𝑆𝑐𝑜𝑟𝑒𝑂𝑓𝑃𝑎𝑟𝑒𝑛𝑡𝑠
𝑁𝑢𝑚𝑏𝑒𝑟𝑂𝑓𝑃𝑎𝑟𝑒𝑛𝑡𝑠
όπου i = ο αριθμός γονέων της νεοεισερχόμενης
σελίδας
14
15. Σύνολο Πειραμάτων
Πειράματα Nutch SpiTag SpiTagVSNutch
Αριθμός αρχικών
ιστοσελίδων
4 9 6
Πειράματα σε κάθε
ιστοσελίδα
15 3 2
Διάρκεια
πειράματος
30 λεπτά – 5 ώρες 24 – 62 ώρες 12-24 ώρες
15
• Ubuntu Linux 13.04
• 4 GB RAM
• 6 Mbps
• MySQL
• Χρόνος μεταξύ 2 αιτημάτων στον ίδιο
server: 5 δευτερόλεπτα
Επίπεδο 1
Επίπεδο 2
Επίπεδο 3
Επίπεδο 4
17. Πειράματα με χρήση SpiTag
www.dailymail.co.uk
www.sourceforge.net
www.gamespot.com
www.gametrailers.com
17
18. Πειράματα με χρήση SpiTag
Κανονικοποιημένα διαγράμματα βαθμολογίας για
www.dailymail.co.uk
18
19. SpiTag VS Nutch
• Στόχος: Αντικειμενική Σύγκριση
• Κοινές συνθήκες λειτουργίας
A. Οι ιστοσελίδες φιλτράρονται με βάση το domain
name τους
B. Οι ιστοσελίδες φιλτράρονται με βάση την επέκτασή
τους
C. Επιλέχθηκαν έξι αρχικές ιστοσελίδες
• Προσφέρουν διακύμανση στο σημασιολογικό
περιεχόμενο
D. Επίπεδο ανάλυσης = 8 έως 10
E. Ιστοσελίδες ανά επίπεδο = 500
19
20. Σύγκριση SpiTag - Nutch
-100,000
0
100,000
200,000
300,000
400,000
500,000
600,000
1 2 3 4 5 6 7 8 9 10
DailyMail Uefa Weather Wired Telegraph Guardian
Διάγραμμα διαφοράς του αθροίσματος των metatags ανά επίπεδο
20
21. Σύγκριση SpiTag - Nutch
Διάγραμμα διαφοράς % του αθροίσματος των metatags ανά επίπεδο
-60%
-40%
-20%
0%
20%
40%
60%
80%
1 2 3 4 5 6 7 8 9 10
DailyMail Uefa Weather Wired Telegraph Guardian
21
22. Σύγκριση SpiTag - Nutch
Διάγραμμα διαφοράς % του μέσου όρου του αθροίσματος των metatags ανά
επίπεδο
-60%
-40%
-20%
0%
20%
40%
60%
80%
1 2 3 4 5 6 7 8 9 10
DailyMail Uefa Weather Wired Telegraph Guardian
22
23. Σύγκριση SpiTag - Nutch
SpiTag Nutch Διαφορά
Σύνολο metatag 4,576,134 2,634,496
1,941,638
73.70%
Ιστότοποι που
αναλύθηκαν
34,315 35,022
Μέσος όρος
metatag ανά
ιστότοπο
133.3 75.22
58.13
77.21%
23
24. Συμπεράσματα
• Επίσκεψη ιστότοπων με περισσότερα
metatags
• Διακύμανση ανάλογα με τον ιστότοπο και το
επίπεδο
• Ικανοποιητική διαφορά σε απόλυτους
αριθμούς και σε ποσοστό %
24
Αρχικά, στόχος αυτής της διπλωματικής εργασίας είναι η κατανόηση του τρόπου λειτουργίας των Web Crawlers μέσα στον Σημασιολογικό Ιστό (Semantic Web). Συγκεκριμένα, επιλέχθηκε ο Apache Nutch και έγινε μια πρώτη ανάλυση των αποτελεσμάτων του σε διάφορους ιστότοπους με συγκεκριμένα χαρακτηριστικά. Μέσα από τη διαδικασία αυτή έγινε και η εξοικείωση με τον αλγόριθμο OPIC [ABI03] , ο οποίος χρησιμοποιείται για τη βαθμολόγηση των ιστοσελίδων.
Στη συνέχεια αναπτύχθηκε ένας νέος αλγόριθμος βαθμολόγησης των σελίδων με βάση το σημασιολογικό περιεχόμενο τους. Τροποποιώντας τον Nutch, δημιουργήσαμε τον SpiTag, ο οποίος δίνει βαρύτητα στα metatags που περιέχουν οι ιστοσελίδες, βαθμολογεί και επιλέγει ιστοσελίδες πλουσιότερες σε σημασιολογικό περιεχόμενο.
Τα αποτελέσματα του SpiTag συγκρίθηκαν με τα αποτελέσματα του Nutch, σε μια προσπάθεια να συγκρίνουμε την αποτελεσματικότητα του νέου αλγόριθμου βαθμολόγησης και διάσχισης.
XML: XML was designed to carry data, not to display data. Maybe it is a little hard to understand, but XML does not DO anything. XML was created to structure, store, and transport information. a markup language that defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. παρέχει μία βασική σύνταξη για τη δόμηση των περιεχομένων μέσα στα αρχεία. RDF: ονομάζεται η γλώσσα που χρησιμοποιείται για την περιγραφή των μοντέλων πληροφορίας. Τα μοντέλα αυτά αναφέρονται στα αντικείμενα και τις σχέσεις μεταξύ τους ενώ υπάρχουν και διάφορες συντά
Ontologies are the structural frameworks for organizing information. an ontology formally represents knowledge as a hierarchy of concepts within a domain, using a shared vocabulary to denote the types, properties and interrelationships of those concepts.