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

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

Download "ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΑΠΟΔΟΣΗΣ ΤΟΥ ΜΗΧΑΝΙΣΜΟΥ ΔΙΑΣΧΙΣΗΣ ΤΟΥ ΔΙΑΔΙΚΤΥΟΥ ΜΕ ΒΑΣΗ ΤΟ ΣΗΜΑΣΙΟΛΟΓΙΚΟ ΠΕΡΙΕΧΟΜΕΝΟ"

Transcript

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

2 - 2 -

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

4 Περίληψη Είναι γεγονός ότι το Διαδίκτυο αποτελεί πλέον αναπόσπαστο κομμάτι της ζωής του σύγχρονου ανθρώπου. Αυτό σημαίνει ότι σε καθημερινή σχεδόν βάση παρατηρείται μία συνεχής ανταλλαγή πληροφοριών ανάμεσα στους χρήστες του Διαδικτύου και τους διαδικτυακούς τόπους. Οι προσπάθειες αναγνώρισης και καταχώρησης αυτής της πληροφορίας είναι συνεχείς, και έχουν ως στόχο την εξαγωγή ποιοτικών παρατηρήσεων και την καταγραφή των δεσμών επικοινωνίας μεταξύ πηγών και χρηστών. Για να το επιτύχουν αυτό οι Μηχανές Αναζήτησης βασίζονται στους Μηχανισμούς Διάσχισης του Διαδικτύου (Web Crawlers), οι οποίοι διασχίζουν το Διαδίκτυο ακολουθώντας τις ιστοσελίδες και τους συνδέσμους μεταξύ τους. Κατόπιν, αποθηκεύουν τις ιστοσελίδες που διέσχισαν έτσι ώστε να είναι καταχωρημένες για αποδοτικότερη εκτέλεση τυχόν ερωτημάτων των χρηστών. Συνεπώς, η εξέλιξη του Διαδικτύου και η ανάγκη για πληρέστερη κατανόηση της ποιότητας των πληροφοριών από τις μηχανές βοήθησαν στην αύξηση της επιρροής του Web 3.0 ή αλλιώς του Semantic Web. Στόχος αυτού του μοντέλου είναι να καταστήσει την πληροφορία κατανοητή όχι μόνο στους ανθρώπους, αλλά και στις μηχανές. Επίσης, στόχο αποτελεί η βελτίωση των Μηχανισμών Διάσχισης του Διαδικτύου μέσω της αυτόματης άντλησης και κατανόησης της πληροφορίας που παρέχουν οι ιστοσελίδες. Αντικείμενο της παρούσας διπλωματικής εργασίας είναι η βελτιστοποίηση της απόδοσης ενός ήδη υπάρχοντος Μηχανισμού Διάσχισης, του Apache Nutch. Ο καινούριος Μηχανισμός ονομάζεται SpiTag και διασχίζει τις ιστοσελίδες με βάση το σημασιολογικό περιεχόμενο τους. Τα πειράματα έδειξαν ότι ο SpiTag όντως παράγει ένα πιο αποδοτικό μονοπάτι διάσχισης από τον Nutch (σε σημασιολογικό επίπεδο) και παρέχει στο χρήστη ιστοσελίδες με περισσότερο και ποιοτικότερο σημασιολογικό περιεχόμενο, δηλαδή με περισσότερη και ποιοτικότερη πληροφορία. Καρβούνης Ευάγγελος Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Ιούλιος

5 Diploma Thesis Title: Optimizing the performance of a Web Crawling mechanism based on semantic content. Abstract: It is common knowledge that surfing the World Wide Web has become a daily activity for almost everyone. Each day Internet users continuously interact with websites. Extracting valuable observations and understanding the real link between the user and the website has, thus, become an important research question. In order to succeed in capturing this information, Search Engines depend upon Web Crawlers, that traverse the Web by following URLs and their hyperlinks. Then, they process and store the website content in repositories that can later be indexed for more efficient execution of user queries. The evolution of Web and the development of related frameworks and standards has helped towards the data machine understandable helped Web 3.0 (aka Semantic Web). Apart from other facets, the transition to the Semantic Web dictates the development of Web Crawlers that can handle and process semantic information. Within the context of this diploma thesis we have focused on optimizing the performance optimization of an existing Web Crawler, Apache Nutch, in order to optimally handle semantic data. The enhanced Web Crawler, SpiTag, traverses the Web focusing on the semantic content of the webpages and aims at finding a more efficient traversing path than Nutch in terms of semantic content. Experiments and results show that SpiTag indeed performs better than Nutch and acquires more information and improved information. Karvounis Evangelos Department of Electrical and Computer Engineering Aristotle University of Thessaloniki July 2014 Karvounis_B@hotmail.com - 5 -

6 Περιεχόμενα Ευχαριστίες... 3 Περίληψη... 4 Diploma Thesis... 5 Περιεχόμενα... 6 Λίστα Σχημάτων... 9 Λίστα Διαγραμμάτων Λίστα Πινάκων Κεφάλαιο 1. Εισαγωγή Αντικείμενο της διπλωματικής εργασίας Σκοπός της διπλωματικής εργασίας Δομή της διπλωματικής εργασίας Κεφάλαιο 2. Σημασιολογικός Ιστός και Μηχανισμοί Διάσχισης του Διαδικτύου Σημασιολογικός Ιστός Τεχνολογίες Δομή του Σημασιολογικού Ιστού Μηχανισμοί Διάσχισης του Διαδικτύου Αρχιτεκτονική Ταξινόμηση Δημοφιλέστεροι Μηχανισμοί Διάσχισης του Σημασιολογικού Ιστού Κατηγορίες Δημοφιλέστεροι Ανασκόπηση κεφαλαίου Κεφάλαιο 3. Nutch, ένας ανοιχτού κώδικα Web Crawler Εισαγωγή Αρχιτεκτονική Διανεμημένη Λειτουργία Διανεμημένο Σύστημα Αρχείων (NDFS) Μοντέλο MapReduce Επεκτάσεις Φίλτρα και επεκτάσεις ομαλοποίησης των ιστοσελίδων Επεκτάσεις πρωτοκόλλων

7 3.4.3 Επεκτάσεις ανάλυσης Επεκτάσεις κατάταξης και ερωτημάτων Επεκτάσεις βαθμολόγησης Αρχεία τροποποίησης λειτουργίας του Nutch Αρχεία ιδιοτήτων Αρχεία τροποποίησης φιλτραρίσματος Αρχεία επιλογής βάσης δεδομένων Μηχανισμός της διαδικασίας διάσχισης του διαδικτύου Εισαγωγή ιστότοπων Παραγωγή Ανάκτηση Ανάλυση Ανανέωση βάσης δεδομένων Κεφάλαιο 4. SpiTag: Η σημασιολογική έκδοση του Nutch Περιγραφή Διεργασίες που τροποποιήθηκαν Ανάλυση Ανανέωση βάσης δεδομένων Φόρμα διεπαφής Κεφάλαιο 5. Πειράματα Πειράματα με χρήση του Nutch Παραμετροποίηση του Nutch Αποτελέσματα πειραμάτων Συμπεράσματα Πειράματα με χρήση του SpiTag Παρουσίαση αριθμού metatags ανά depth Κανονικοποιημένα διαγράμματα Σύγκριση βαθμολογίας Σύγκριση SpiTag-Nutch Συνθήκες λειτουργίας Αποτελέσματα πειραμάτων Συμπεράσματα σύγκρισης Κεφάλαιο 6. Συμπεράσματα και Μελλοντική εργασία Συμπεράσματα Μελλοντική εργασία

8 Παράρτημα: Βάση Δεδομένων Βιβλιογραφία

9 Λίστα Σχημάτων Σχήμα 1: Δομή του Σημασιολογικού Ιστού Σχήμα 2: Αρχιτεκτονική των Web Crawlers Σχήμα 3: Ταξινόμηση των Web Crawlers Σχήμα 4: Διαδικασία MapReduce Σχήμα 5: Γραφική απεικόνιση του crawling κύκλου Σχήμα 6: Φόρμα γραφικής διεπαφής (GUI) Σχήμα 7: Αποτελέσματα πειραμάτων Σχήμα 8: Αποτελέσματα πειραμάτων Σχήμα 9: Αποτελέσματα πειραμάτων Σχήμα 10: Αποτελέσματα πειραμάτων Σχήμα 11: Σειρά επίσκεψης ακμών με breadth-first crawler

10 Λίστα Διαγραμμάτων Διάγραμμα 1: Αριθμός metatag ανά depth DailyMail.co.uk Διάγραμμα 2: Αριθμός metatag ανά depth Weather.com Διάγραμμα 3: Αριθμός metatag ανά depth Sourceforge.net Διάγραμμα 4: Αριθμός metatag ανά depth Uefa.com Διάγραμμα 5: Αριθμός metatag ανά depth Gamespot.com Διάγραμμα 6: Αριθμός metatag ανά depth Gametrailers.com Διάγραμμα 7: Αριθμός metatag ανά depth TheGuardian.com Διάγραμμα 8: Αριθμός metatag ανά depth NYTimes.com Διάγραμμα 9: Αριθμός metatag ανά depth VisitGreece.gr Διάγραμμα 10: Αριθμός metatag ανά depth omgfashion.com Διάγραμμα 11: Κανονικοποιημένο διάγραμμα βαθμολογίας Uefa.com Διάγραμμα 12: Κανονικοποιημένο διάγραμμα βαθμολογίας Weather.com Διάγραμμα 13: Κανονικοποιημένο διάγραμμα βαθμολογίας Dailymail.co.uk (1)61 Διάγραμμα 14: Κανονικοποιημένο διάγραμμα βαθμολογίας Dailymail.co.uk (2)61 Διάγραμμα 15: Μέγιστο και μέσος όρος βαθμολογίας για depth= Διάγραμμα 16: Σύγκριση SpiTag-Nutch. Διαφορά αθροίσματος metatags ανά επίπεδο Διάγραμμα 17: Σύγκριση SpiTag-Nutch. Διαφορά % αθροίσματος metatags ανά επίπεδο Διάγραμμα 18: Σύγκριση SpiTag-Nutch. Διαφορά % μέσου όρου αθροίσματος metatags ανά επίπεδο

11 Λίστα Πινάκων Πίνακας 1: Ταξινόμηση Focused Crawlers Πίνακας 2: Αποτελέσματα πειραμάτων - Weather.com (1) Πίνακας 3: Αποτελέσματα πειραμάτων - Weather.com (2) Πίνακας 4: Αναλυτική παρουσίαση των αποτελεσμάτων της σύγκρισης SpiTag- Nutch για τον αρχικό ιστότοπο 64 Πίνακας 5: Αναλυτική παρουσίαση σε απόλυτους αριθμούς της διαφοράς ανά metatag στο τελευταίο επίπεδο Πίνακας 6: Παρουσίαση ποσοστών των συγκρίσεων ανά ιστότοπο Πίνακας 7: Πεδία βάσης δεδομένων

12 - 12 -

13 Κεφάλαιο 1 Κεφάλαιο 1. Εισαγωγή 1.1 Αντικείμενο της διπλωματικής εργασίας Το αυξανόμενο μέγεθος του Διαδικτύου και η συνεχόμενη αλλαγή της δομής του καταστούν αναγκαία τη διαρκή και ποιοτική χαρτογράφηση του. Απαραίτητη διαδικασία είναι η χρήση των Web Crawlers, δηλαδή των Μηχανισμών Διάσχισης του Διαδικτύου, οι οποίοι θα πρέπει να υλοποιούν αποδοτικότερους τρόπους διάσχισης. Αυτή τη στιγμή υπάρχουν αρκετοί Web Crawlers οι οποίοι καταφέρνουν να δίνουν λύσεις στις καθημερινές προκλήσεις του Διαδικτύου, κυρίως σε επίπεδο στατικού περιεχομένου (Web 1.0) και περιεχομένου που εισάγει ο χρήστης (Web 2.0). Οι περισσότεροι από αυτούς υιοθετούν κάποια μέθοδος βαθμολόγησης των ιστοσελίδων για την κατανόηση της σπουδαιότητάς τους, και με τον τρόπο αυτόν σχεδιάζουν τους αλγορίθμους διάσχισης του Διαδικτύου. Ένας από τους πιο διαδεδομένους Web Crawlers, ο οποίος επιτρέπει διάσχιση μεγάλης κλίμακας και χρησιμοποιεί τη λογική της βαθμολόγησης και διάσχισης είναι ο Apache Nutch. Παρόλα αυτά, ο Nutch δε συνυπολογίζει ικανά το σημασιολογικό περιεχόμενο (Web 3.0) στην απόφαση επιλογής των ιστοσελίδων που θα ανακτηθούν και θα καταχωρηθούν. Το περιεχόμενο όμως αυτό είναι ιδιαίτερα σημαντικό, καθώς όλο και περισσότεροι διαδικτυακοί τόποι εμπλουτίζονται από αυτό. Η βαθμολόγηση, λοιπόν, των ιστοσελίδων με βάση το σημασιολογικό περιεχόμενο τους αποτελεί το αντικείμενο της παρούσας διπλωματικής εργασίας. 1.2 Σκοπός της διπλωματικής εργασίας Αρχικά, στόχος αυτής της διπλωματικής εργασίας είναι η κατανόηση του τρόπου λειτουργίας των Web Crawlers μέσα στον Σημασιολογικό Ιστό (Semantic Web). Συγκεκριμένα, επιλέχθηκε ο Apache Nutch και έγινε μια πρώτη ανάλυση των αποτελεσμάτων του σε διάφορους ιστότοπους με συγκεκριμένα χαρακτηριστικά. Μέσα από τη διαδικασία αυτή έγινε και η εξοικείωση με τον αλγόριθμο OPIC [ABI03], ο οποίος χρησιμοποιείται για τη βαθμολόγηση των ιστοσελίδων. Στη συνέχεια αναπτύχθηκε ένας νέος αλγόριθμος βαθμολόγησης των σελίδων με βάση το σημασιολογικό περιεχόμενο τους. Τροποποιώντας τον Nutch, δημιουργήσαμε τον SpiTag, ο οποίος δίνει βαρύτητα στα metatags που περιέχουν οι ιστοσελίδες, βαθμολογεί και επιλέγει ιστοσελίδες πλουσιότερες σε σημασιολογικό περιεχόμενο. Τα αποτελέσματα του SpiTag συγκρίθηκαν με τα αποτελέσματα του Nutch, σε μια προσπάθεια να συγκρίνουμε την αποτελεσματικότητα του νέου αλγόριθμου βαθμολόγησης και διάσχισης

14 Εισαγωγή 1.3 Δομή της διπλωματικής εργασίας Κεφάλαιο 1: Αναφορά του αντικειμένου και του σκοπού της διπλωματικής εργασίας. Κεφάλαιο 2: Εισαγωγή στις έννοιες του Σημασιολογικού Ιστού (Semantic Web) και των Μηχανισμών Διάσχισης του Διαδικτύου (Web Crawlers). Γίνεται αναφορά στους δημοφιλέστερους Μηχανισμούς Διάσχισης, την αρχιτεκτονική τους και τη δομή του Σημασιολογικού Ιστού. Κεφάλαιο 3: Αναλυτική παρουσίαση του Μηχανισμού Διάσχισης Apache Nutch. Κρίνεται σκόπιμη η ανάλυση του τρόπου λειτουργίας του και των παραμέτρων του για την ευκολότερη κατανόηση από τον αναγνώστη. Κεφάλαιο 4: Παρουσίαση του νέου Μηχανισμού Διάσχισης SpiTag και ανάλυση των τροποποιήσεων που έγιναν στον Nutch. Κεφάλαιο 5: Διεξαγωγή πειραμάτων, ανάλυση των αποτελεσμάτων και σύγκριση των SpiTag-Nutch. Κεφάλαιο 6: Μελλοντική εργασία

15 Σημασιολογικός Ιστός και Μηχανισμοί Διάσχισης του Διαδικτύου Κεφάλαιο 2. Σημασιολογικός Ιστός και Μηχανισμοί Διάσχισης του Διαδικτύου 2.1 Σημασιολογικός Ιστός Η έννοια του Σημασιολογικού Ιστού γεννήθηκε το 2001 σε ένα άρθρο του Tim Berners-Lee [BER01]. Στο άρθρο αυτό, ο συγγραφέας παρουσιάζει τη δική του εκδοχή για τη δομή των ιστοσελίδων. Πρόκειται για ιστοσελίδες που θα περιέχουν πληροφορίες κατάλληλες για την άριστη διαδραστικότητά τους. Παράλληλα, κάνει αναφορά σε υπολογιστές που θα μπορούν να διεκπεραιώνουν σημαντικές εργασίες χωρίς την ανθρώπινη καθοδήγηση. The semantic Web will enable machines to COMPREHEND semantic documents and data, not human speech and writings. Tim Berners-Lee Το Semantic Web [FIN04] δίνει επίσης τη δυνατότητα στους πράκτορες λογισμικού ( agents ) να μπορούν να δημιουργήσουν και να μοιραστούν πληροφορίες. Πληροφορίες κατανοητές στις μηχανές και όχι στον άνθρωπο, όπως γίνεται μέχρι τώρα. Αυτό επιτυγχάνεται μέσω ενός σετ προκαθορισμένων, καλά ορισμένων και εύκολα ερμηνεύσιμων σημασιολογικών μεταδεδομένων καθώς και από τον τρόπο που αλληλεπιδρούν αυτά μεταξύ τους Τεχνολογίες Η συλλογή, η δόμηση και η ανάκτηση των πληροφοριών που συνδέονται μεταξύ τους, διατίθενται από τεχνολογίες που περιγράφονται ως W3C Standards και είναι: Resource Description Framework (RDF): Γενική μέθοδος περιγραφής πληροφορίας. RDF Schema (RDFS). Simple Knowledge Organization System (SKOS): Σύστημα που επιτρέπει την εύκολη συλλογή των διάφορων λεξιλογίων. SPARQL: Γλώσσα ερωτήσεων RDF. Notation3 (N3). N-Triples: Μέθοδος αποθήκευσης και αποστολής πληροφορίας. Turtle (Terse RDF Triple Syntax): Περιγράφει τον τρόπο έκφρασης της πληροφορίας ενός RDF μοντέλου

16 Κεφάλαιο 2 Web Ontology Language (OWL): Οικογένεια γλωσσών περιγραφής γνώσης. Rule Interchange Format (RIF) Δομή του Σημασιολογικού Ιστού Το διάγραμμα που ακολουθεί αποτυπώνει τη δομή του Σημασιολογικού Ιστού. Σχήμα 1: Δομή του Σημασιολογικού Ιστού Οι σχέσεις και οι λειτουργίες των στοιχείων που απεικονίζονται μπορούν να συνοψιστούν στα παρακάτω: Το XML παρέχει μία βασική σύνταξη για τη δόμηση των περιεχομένων μέσα στα αρχεία. Ωστόσο, υπάρχουν και εναλλακτικές συντάξεις, όπως το Turtle, οι οποίες συναντώνται συχνότερα. Το XML Schema είναι η γλώσσα που παρέχει και περιορίζει τη δομή και το περιεχόμενο των στοιχείων που περιέχονται σε ένα XML αρχείο

17 Σημασιολογικός Ιστός και Μηχανισμοί Διάσχισης του Διαδικτύου RDF ονομάζεται η γλώσσα που χρησιμοποιείται για την περιγραφή των μοντέλων πληροφορίας. Τα μοντέλα αυτά αναφέρονται στα αντικείμενα και τις σχέσεις μεταξύ τους ενώ υπάρχουν και διάφορες συντάξεις όπως RDF/XML, N3, TURTLE και RDFa. Θεωρείται πολύ βασικό στοιχείο του Semantic Web. Το RDF Schema επεκτείνει την RDF γλώσσα. Αποτελεί το λεξιλόγιο της περιγραφής των ιδιοτήτων και των κλάσεων των βασισμένων σε RDF στοιχείων. Το OWL προσθέτει επιπλέον λεξιλόγιο στον τρόπο περιγραφής των ιδιοτήτων και των κλάσεων. SPARQL είναι μία RDF query γλώσσα, η οποία μπορεί να αποκτά και να διαχειρίζεται πληροφορίες αποθηκευμένες σε RDF format. RIF είναι μία XML γλώσσα για την περιγραφή των κανόνων που μπορούν να εκτελέσουν οι υπολογιστές, Οι διάλεκτοι που περιέχει ονομάζονται RIF Basic Logic Dialect (RIF-BLD) και RIF Production Rules Dialect (RIF PRD). 2.2 Μηχανισμοί Διάσχισης του Διαδικτύου Ο Web Crawler ή Μηχανισμός Διάσχισης του Διαδικτύου, είναι ένα πρόγραμμα, το οποίο διασχίζει αυτόματα την δομή των διαδικτυακών σελίδων και κατεβάζει κάθε σελίδα που βρίσκει στο πέρασμα του σε έναν τοπικό αποθηκευτικό χώρο [BAL13]. Ο πρώτος Crawler δημιουργήθηκε από τον Matthew Gray το 1993 και ονομάστηκε World Wide Web Wanderer. Ο Web Crawler είναι λογισμικό το οποιο πολύ συχνά αναφέρεται ως Web spider, wanderer, automatic indexer, Web robot, ant ή bot. Αρχικά, του δίνουμε μία λίστα με ιστοσελίδες. Στη συνέχεια ζητάμε από το λογισμικό να επισκεφτεί αυτές τις ιστοσελίδες και να κατεβάσει το περιεχόμενο τους. Μέσω των hyperlinks, ο Crawler καταλαβαίνει ποιες ιστοσελίδες πρέπει να επισκεφτεί στο επόμενο επίπεδο. Τα αποτελέσματα αποθηκεύονται και κατατάσσονται κατάλληλα σε έναν τοπικό αποθηκευτικό χώρο, προκειμένου να είναι ευκολότερη η αναζήτησή τους σε οποιαδήποτε άλλη χρονική στιγμή. Αυτή η διεργασία ονομάζεται Web Crawling και είναι αναπόσπαστο κομμάτι των μηχανών αναζήτησης. Στη συνέχεια του υποκεφαλαίου, θα αναφέρουμε την αρχιτεκτονική των Web Crawlers καθώς και τον τρόπο ταξινόμησης ανάλογα με τον τρόπο εκτέλεσης τους

18 Κεφάλαιο Αρχιτεκτονική Στο παρακάτω σχήμα παρουσιάζεται η γενική αρχιτεκτονική ενός Web Crawler. Απομακρυσμένος Χρήστης World Wide Web Scheduler Downloader and Parser Ουρά Επεξεργασίας Indexer Βάση Δεδομένων Query Engine Χρήστης Διεπαφή Αναζήτησης Σχήμα 2: Αρχιτεκτονική των Web Crawlers Οι βασικές λειτουργίες που εκτελεί ο Web Crawler μπορούν να συνοψιστούν ως εξής [ΝΑΤ13]: i. Επιλογή αρχικής ή αρχικών σελίδων ( seed URLs ). ii. Προσθήκη των αρχικών σελίδων στην ουρά επεξεργασίας ( Processing queue )

19 Σημασιολογικός Ιστός και Μηχανισμοί Διάσχισης του Διαδικτύου iii. Επιλογή μίας ιστοσελίδας από την Ουρά Επεξεργασίας. iv. Ανάκτηση ( Fetch ) της ιστοσελίδας αυτής. v. Ανάλυση ( Parse ) της ιστοσελίδας για εύρεση νέων URLs. vi. Προσθήκη των αποτελεσμάτων στην Ουρά Επεξεργασίας. vii. Εάν η Ουρά Επεξεργασίας δεν άδειασε, πήγαινε στο βήμα ii και επανέλαβε. Τα παραπάνω βήματα βοηθούν καταλυτικά τις μηχανές αναζήτησης να δημιουργήσουν και να διατηρήσουν έναν πίνακα ευρετηρίου. Για να επιτύχουμε ενημερωμένη διαχείριση περιεχομένου, οι crawlers αναγκάζονται να επισκέπτονται τις ιστοσελίδες ξανά και ξανά Ταξινόμηση Στο άρθρο του, ο R.Nath [NAT13] προτείνει μία ταξινόμηση των Web Crawlers σύμφωνα με τις παρακάτω παραμέτρους: 1. Περιοχή κάλυψης 1. Focused Crawler: Ανακτά επιλεκτικά σελίδες σύμφωνα με ένα προκαθορισμένο θέμα και αποφεύγει άσχετες περιοχές του Διαδικτύου προκειμένου να ελαχιστοποιήσει την προσθήκη, άσχετων με το θέμα δεδομένων. Με αυτόν τον τρόπο καταφέρνει να περιορίσει τη λειτουργικότητά του σε μία μόνο ζώνη Σημασιολογικού Ιστού. 2. Unfocused Crawler: Σε αντίθεση με τον παραπάνω Crawler, ο σκοπός αυτού είναι η εξερέυνηση ολόκληρου του Διαδικτύου για την κατασκευή του ευρετηρίου. Αναπόφευκτα, λοιπόν, έχουμε την κατασκευή και διατήρηση τεράστιων σε χωρητικότητα βάσεων δεδομένων. 2. Ευελιξία 1. Mobile Crawler: Οι Mobile Agents είναι ένα ανεξάρτητο και αυτόματο πρόγραμμα που λειτουργεί εκ μέρους του ιδιοκτήτη του. Με τη βοήθειά τους, ο Mobile Crawler μεταφέρεται στο site που ελέγχει και το φιλτράρει από ανεπιθύμητα δεδομένα. Στη συνέχεια, επιστρέφει τα φιλτραρισμένα δεδομένα στη μηχανή αναζήτησης, ενώ εποπτεύουν συνέχεια τα αρχεία που τους έχουν οριστεί για τυχόν αλλαγές. Η συμπίεση των δεδομένων σε απομακρυσμένους hosts και η μείωση των

20 Κεφάλαιο 2 μεταφερόμενων δεδομένων έχουν ως αποτέλεσμα, το μεγάλο πλεονέκτημα αυτών των Crawlers, τη μείωση του φόρτου του δικτύου. 3. Συγκεκριμένης διεύθυνσης Διαδικτύου 1. Topic Specific Crawler: Πρόγραμμα το οποίο χρησιμοποιείται για αναζήτηση πληροφοριών σχετικά με ένα συγκεκριμένο θέμα. Το πλεονέκτημα του είναι το γεγονός ότι δε χρειάζεται να αναλύσει όλες τις ιστοσελίδες παρά μόνο τις σχετικές με το θέμα. Αρχικά, εφοδιάζεται με ένα topic vector. Για κάθε URL υπολογίζεται η σχετικότητα του με το θέμα και εφόσον κριθεί σημαντικό, τοποθετείται στη λίστα. Διαφορετικά, απορρίπτεται. 2. Ontologies Based Crawler / Semantic Based Crawler: Οι Crawlers αυτοί χρησιμοποιούν σημασιολογικά μεταδεδομένα για να αναλύσουν μόνο σχετικές ιστοσελίδες. Οι Οντολογίες παρέχουν τα σημασιολογικά μεταδεδομένα καθώς και ένα σετ λεξιλογίου, το οποίο περιγράφει την έννοια κάποιων όρων και τις σχέσεις μεταξύ τους. 4. Διανομή φορτίου 1. Intra-site Parallel Crawler: Οι διεργασίες τρέχουν παράλληλα σε ένα τοπικό δίκτυο και επικοινωνούν με ένα κανάλι πολύ υψηλών ταχυτήτων. 2. Distributed Crawler: Οι διεργασίες τρέχουν σε διάφορα μακρινά γεωγραφικά σημεία του πλανήτη και επικοινωνούν μέσω του Διαδικτύου

21 Σημασιολογικός Ιστός και Μηχανισμοί Διάσχισης του Διαδικτύου Περιοχή κάλυψης Unfocused Crawler Focused Crawler Ευελιξία Mobile Crawler Crawlers Συγκεκριμένης διεύθυνσης Διαδικτύου Topic Specific Crawler Ontology Based / Semantic Based Crawler Διανομή φορτίου Intra-Site Parallel Crawler Distributed Crawler Δημοφιλέστεροι Σχήμα 3: Ταξινόμηση των Web Crawlers Οι δημοφιλέστεροι μηχανισμοί διάσχισης του Διαδικτύου είναι οι παρακάτω: 1) Apache Nutch: Ένα επεκτάσιμο, διανεμημένο, ανοιχτού κώδικα πρόγραμμα λογισμικού για μηχανισμούς διάσχισης του διαδικτύου υπό την αιγίδα του Apache Software

22 Κεφάλαιο 2 Foundation, γραμμένο στη γλώσσα Java [URL 1]. Λόγω της υψηλής αποδοτικότητας και χρησιμότητας του, θα το αναλύσουμε διεξοδικά στο επόμενο κεφάλαιο. 2) Heritrix: O Heritrix είναι ένα ανοιχτού κώδικα, επεκτάσιμο, web-scale, υψηλής ποιότητας web crawler πρόγραμμα της Internet Archive γραμμένο σε Java [URL 2]. 3) WebSPHINX: To WebSPHINX (Website-Specific Processors for HTML INformation extraction) δίνει τη δυνατότητα στους χρήστες να δημιουργήσουν τον προσωπικό τους Web Crawler [URL 3]. Αποτελείται από μία βιβλιοθήκη Java κλάσεων και ένα διαδραστικό περιβάλλον ανάπτυξης. 4) Mercator: Αποτελεί έναν από τους πιο παλιούς Web Crawlers. Δημιουργοί του οι A.Heydon και M.Najork, οι οποίοι περιγράφουν το δημιούργημα τους ως εξής: a scalable, extensible Web crawler written entirely in Java [ΗΕΥ99]. 5) WEBTracker: Ο σκοπός δημιουργίας αυτού του Crawler είναι η μεγιστοποίηση της χρήσης του Bandwidth [ΑΜΙ12]. Αυτό επιτυγχάνεται μόνο με 2 προϋποθέσεις: Ο downloader θεωρητικά δεν πρέπει να σταματήσει ποτέ και όλες οι άλλες διεργασίες πρέπει να επεξεργάζονται σε παρτίδες. 6) JSpider: Γραμμένος σε γλώσσα Java, o συγκεκριμένος Crawler ανήκει στην κατηγορία των highly configurable and customizable crawlers [URL 4]. Αναπτύχθηκε με την άδεια της LGPL Open Source. 7) Bingbot: Ο Web Crawler της Microsoft. Αντικατέστησε το Msnbot. 8) Web Fountain: Ανήκει στην κατηγορία των distributed, modular crawlers. Παρόμοιος με τον Mercator αλλά γραμμένος σε γλώσσα C++. Διαθέτει ένα μέρος ελέγχου το οποίο συντονίζει μία σειρά από ant machines. 9) GNU Wget:

23 Σημασιολογικός Ιστός και Μηχανισμοί Διάσχισης του Διαδικτύου Open source command-line-operated crawler γραμμένος σε γλώσσα C. Έγινε διαθέσιμος με την άδεια GNU General Public (GPL). 10) Norconex HTTP Collector: Γραμμένος σε Java, αυτός ο Open source Flexible Cross-Platform Crawler δίνει πολλές λύσεις στους προγραμματιστές [URL 5]. Έγινε διαθέσιμος κάτω από την άδεια GPL. 2.3 Μηχανισμοί Διάσχισης του Σημασιολογικού Ιστού Κατηγορίες Η ταξινόμηση των Μηχανισμών Διάσχισης του Σημασιολογικού Ιστού παρουσιάζεται στον παρακάτω πίνακα. Πίνακας 1: Ταξινόμηση Focused Crawlers Κατηγορία Ορισμός Ontology-Based focused Crawlers Οι focused Crawlers που υλοποιούν οντολογίες για να συνδέσουν ένα έγγραφο με προυπάρχουσες έννοιες-θέματα. Σκοπός τους είναι η οργάνωση και κατηγοριοποίηση των διαδικτυακών εγγράφων καθώς και το φιλτράρισμα των άσχετων με το θέμα ιστοσελίδων. Metadata abstraction focused crawlers Other semantic focused Crawlers Οι focused Crawlers που μπορούν να αποσπάσουν και να υποσημειώσουν metadata από έγγραφα τα οποία έχουν αναλυθεί. Επιπρόσθετα, μπορούν και φέρουν παρόμοια έγγραφα. Οι focused Crawlers που επιστρατεύουν άλλες semantic-web τεχνολογίες αντί των 2 που προαναφέρθηκαν Δημοφιλέστεροι 1) OntoCrawler

24 Κεφάλαιο 2 Ένας focused crawler που προτείνει τη χρήση ontology-supported website models για τους information agents έτσι ώστε να παράγονται γρήγορα, ακριβή και σταθερά αποτελέσματα αναζήτησης [ΥΑΝ10]. 2) BioCrawler Ένας Crawler που εκπαιδεύεται να βρίσκει σε ποιες ιστοσελίδες έχουμε μεγαλύτερη ποσότητα semantic περιεχομένου, ποιες ιστοσελίδες συνδέονται μαζί τους και προσαρμόζει αντίστοιχα τη συμπεριφορά του [ΒΑΤ08]. 3) Slug Υλοποιημένος σε γλώσσα Java και χρησιμοποιώντας το Apache Jena Framework, ο Slug σχεδιάστηκε για την άντληση σημασιολογικών μεταδεδομένων. Είναι ένας ανοιχτού κώδικα, πολύ επεκτάσιμος, πολυνηματικός web crawler. Παρέχει ένα RDF λεξιλόγιο για τη ρύθμιση του crawler και για τον τρόπο συλλογής των δεδομένων [DOD06]. Η αρχιτεκτονική του Slug Crawler είναι η εξής: Ο Ελεγκτής είναι υπεύθυνος για τη διαχείριση μίας λίστας από Διεργασίες, οι οποίες υλοποιούνται από ένα σύνολο Εργατών. Κάθε Εργάτης τρέχει ως ένα ξεχωριστό thread, κατευθυνόμενο από τον Ελεγκτή. Τέλος, τα αποτελέσματα του κάθε Εργάτη καταλήγουν στον Καταναλωτή. Η αρχιτεκτονική αυτή θυμίζει αρκετά την αρχιτεκτονική Master-Slave με τη διαφορά ότι εδώ τα αποτελέσματα δε συναθροίζονται ούτε στον Ελεγκτή ούτε στους Εργάτες. 4) LDSpider Παρέχει ένα web crawling framework για semantic data crawling. Αποτελείται από ένα αρχείο.jar το οποίο μπορεί εύκολα να προσαρμοστεί από το χρήστη στο πρόγραμμά του. Επικοινωνεί με τον Apache Any23 Server για την άντληση RDF και μπορεί να διαβάσει RDF/XML, N-TRIPLES και N- QUADS. Τέλος, υποστηρίζει τις εξής τεχνικές crawling: Breadth-first crawl, Depth-first crawl, optionally crawl schema information (Tbox) [URL 7]. 5) Aperture To Aperture είναι ένα open source library for crawling and indexing information sources [URL 8]. Ο κώδικάς του αποτελείται από τα παρακάτω, ανεξάρτητα μεταξύ τους, μέρη: Crawling των πηγών πληροφορίας: file systems, websites, mail boxes, Αναγνώριση των τύπων MIME, Full-text και metadata extraction από διάφορα αρχεία, Άνοιγμα των crawled resources

25 Σημασιολογικός Ιστός και Μηχανισμοί Διάσχισης του Διαδικτύου 6) Multithreaded Semantic Web Crawler Πρόταση των T. Nadkarni και Mrs. S.Ringe [NAD13], αυτός ο multithreaded crawler χρησιμοποιεί δύο FIFO ουρές προτεραιότητας των URLS σε κάθε thread. Μία ουρά από URLS που έχουν ανακαλυφθεί και μία από URLS που έχουν ήδη γίνει crawled. Χρησιμοποιεί επίσης την έννοια της οντολογίας για την ταυτοποίηση της σχετικότητας μίας ιστοσελίδας. Ο αλγόριθμος για κάθε thread είναι ο εξής: i. Πάρε το πρώτο URL από την ουρά URLS που έχουν ανακαλυφθεί. ii. Άντλησε το όνομα του host 'h', το h/robot.txt και αρχικοποίησε τον πίνακα URLS που απαγορεύονται.έλεγξε αν το URL είναι στον πίνακα απαγόρευσης. iii. Αν ναι, πήγαινε στο βήμα (i). iv. Φέρε τη σελίδα από το Διαδίκτυο. v. Ανέλυσε τη σελίδα για αναγνώριση του anchor tag και για κάθε hyperlink ρώτησε τον thread controller εάν το URL έχει αναλυθεί στο παρελθόν. vi. Υπολόγισε τη σχετικότητα της σελίδας με βάση την έννοια της Οντολογίας. 2.4 Ανασκόπηση κεφαλαίου Σε αυτό το κεφάλαιο μελετήθηκαν οι έννοιες του Σημασιολογικού Ιστού και των Μηχανισμών Διάσχισης του Διαδικτύου. Επίσης, ξεχωρίσαμε τις διαφορετικές αρχιτεκτονικές και δομές, ενώ αναφέραμε και τους δημοφιλέστερους web crawlers ανάλογα με το είδος του Διαδικτύου που διασχίζουν. Στόχος μας ήταν η δημιουργία ενός μηχανισμού διάσχισης που εστιάζει στο πλήθος του σημασιολογικού περιεχομένου των ιστοσελίδων. Για την επίτευξη αυτού του στόχου κάναμε την εξής υπόθεση: Όσο μεγαλύτερο το πλήθος του σημασιολογικού περιεχομένου, τόσο μεγαλύτερη και η αξία της ιστοσελίδας. Επίσης, όσες περισσότερες οι αξιόλογες ιστοσελίδες που δείχνουν σε αυτήν, τόσο μεγαλώνει η αξία της. Υποθέσαμε ότι εάν βαθμολογούσαμε με αυτόν τον τρόπο τις ιστοσελίδες, τότε είναι πιθανότερο στο επόμενο επίπεδο ο μηχανισμός διάσχισης να μας φέρει για ανάλυση, ιστοσελίδες με μεγαλύτερο πλήθος σημασιολογικού περιεχομένου. Για την πραγματοποίηση αυτής της υπόθεσης χρειαζόμασταν έναν γνωστό, χρήσιμο, ανοιχτού κώδικα Web Crawler. Ως καταλληλότερη επιλογή κρίθηκε ο Apache Nutch. Συγκεντρώνει όλα τα στοιχεία που χρειαζόμασταν και προσφέρει τη δυνατότητα επεκτάσεων που λειτουργούν μαζί με την κύρια λειτουργία του Nutch. Στο επόμενο κεφάλαιο, αναλύεται ο τρόπος λειτουργίας του Apache Nutch

26 Κεφάλαιο 3 Κεφάλαιο 3. Nutch, ένας ανοιχτού κώδικα Web Crawler 3.1 Εισαγωγή Ο Nutch είναι ένα επεκτάσιμο, διανεμημένο, ανοιχτού κώδικα πρόγραμμα λογισμικού για μηχανισμούς διάσχισης του διαδικτύου (Web Crawlers), όπως χαρακτηριστικά αναφέρεται στην κεντρική ιστοσελίδα του [URL 6]. Αναπτύχθηκε από το Apache Software Foundation και αποτελεί ένα υψηλής ποιότητας σύστημα αναζήτησης του Διαδικτύου καθώς και μία ιδιαίτερα ευέλικτη πλατφόρμα για ανάπτυξη πρωτοποριακών μηχανών αναζήτησης. Είναι γραμμένος σε γλώσσα Java και μπορεί να τρέξει σε διαφορετικά λειτουργικά συστήματα, καθώς και σε μία πληθώρα υπολογιστών. Το Nutch project περιέχει: έναν Web Crawler, διάφορους αναλυτές για ανάλυση περιεχομένου, έναν link-graph builder, schemas για καταχώρηση και αναζήτηση, διανεμημένη ( distributed ) λειτουργία και μία επεκτάσιμη, βασισμένη σε επεκτάσεις (plugins) δομή. Απόρροια της γραμμένης σε Java βιβλιοθήκης για μηχανές αναζήτησης, της Apache Lucene, ο Nutch διαφοροποιήθηκε και αποτελείται από τους εξής 2 κώδικες λογισμικού: i. Nutch 1.x: Παλαιότερος, πιο ώριμος και έτοιμος για παραγωγή Crawler. Βασισμένος στην Apache Hadoop βιβλιοθήκη, που είναι κατάλληλη για επεξεργασία δεδομένων σε παρτίδες, προσφέρει εξαιρετικά ικανοποιητική διαμόρφωση των προγραμμάτων που θέλουμε να υλοποιήσουμε. Αυτή τη στιγμή, η πιο ενημερωμένη έκδοση είναι η 1.8 που έγινε διαθέσιμη στις 17 Μαρτίου ii. Nutch 2.x: Εμπνευσμένος από τον Nutch 1.x, αλλά με μία βασική διαφορά: η αποθήκευση των δεδομένων γίνεται από το Apache Gora Framework. Αυτό σημαίνει ότι μπορούμε να υλοποιήσουμε ένα πολύ ευέλικτο μοντέλο αποθήκευσης (fetch time, status, content, parsed text, outlinks, inlinks) σε έναν αριθμό από NoSql αποθηκευτικές λύσεις. Με αυτήν την έκδοση και συγκεκριμένα με την έκδοση θα ασχοληθούμε σε αυτήν τη διπλωματική εργασία

27 Nutch, ένας ανοιχτού κώδικα Web Crawler 3.2 Αρχιτεκτονική Ο κώδικας του Nutch έχει έναν αριθμό από interfaces τα οποία υλοποιούνται από τις επεκτάσεις. Οι επεκτάσεις ευθύνονται για τη δημιουργία των πρωτόκολλων δικτύων, της καταχώρησης των schemas και τη μορφοποίηση των εγγράφων. Generic αλγόριθμοι συνεργάζονται με τις επεκτάσεις, με αποτέλεσμα τη δημιουργία ενός ολοκληρωμένου συστήματος. 3.3 Διανεμημένη Λειτουργία H διανεμημένη λειτουργία του Nutch στηρίζεται σε 2 επίπεδα, την αποθήκευση και τον υπολογισμό Διανεμημένο Σύστημα Αρχείων (NDFS) Το NDFS (NUTCH DISTRIBUTED FILE SYSTEM) παρέχει τον τρόπο αποθήκευσης του Nutch και είναι εμπνευσμένο από το Google File System (GFS). Παρέχει, επίσης, αξιόπιστη αποθήκευση σε ένα δίκτυο υπολογιστών. Τα αρχεία αποθηκεύονται σε μία ακολουθία από blocks, ενώ κάθε block αναπαράγεται σε πολλαπλούς hosts. Εάν θελήσει ο χρήστης, το Nutch μπορεί να προγραμματιστεί έτσι, ώστε να χρησιμοποιεί έναν τοπικό σκληρό δίσκο για την αποθήκευση των δεδομένων στη θέση του NDFS Μοντέλο MapReduce Το MapReduce είναι ένα προγραμματιστικό μοντέλο για την επεξεργασία μεγάλων σετ δεδομένων, με τη βοήθεια ενός μεγάλου αριθμού παράλληλων και διανεμημένων υπολογιστών. Εάν όλοι αυτοί οι υπολογιστές-κόμβοι ανήκουν στο ίδιο δίκτυο και χρησιμοποιούν παρόμοιο hardware, αναφέρονται ως cluster ενώ εάν οι κόμβοι μοιράζονται σε γεωγραφικά και διοικητικά διανεμημένα συστήματα, αναφέρονται ως grid. Προσφέρεται, επίσης, η επιλογή της υλοποίησής του ως μοναδικού-νήματος, γεγονός που βοηθάει όχι μόνο το debugging αλλά και την εγκατάσταση του Nutch σε ένα μόνο μηχάνημα. Εμπνευσμένο και αυτό από τη Google, το MapReduce αποτελείται από δύο βήματα: τη διαδικασία Map() και τη διαδικασία Reduce(). Βήμα Map : Ο κόμβος-άρχοντας δέχεται την εισαγωγή, την οποία και χωρίζει σε επιμέρους υπο-προβλήματα και τα μοιράζει σε υποδεέστερους κόμβους-εργάτες. Ο κόμβος-εργάτης μπορεί να το ξανακάνει, δημιουργώντας έτσι ένα δέντρο πολλαπλών επιπέδων. Μόλις ο κόμβος-εργάτης τελειώσει το πρόβλημα που του ανατέθηκε, επιστρέφει το αποτέλεσμα στον κόμβο-άρχοντά του

28 Κεφάλαιο 3 Βήμα Reduce : Ο αρχικός κόμβος-άρχοντας συλλέγει όλα τα αποτελέσματα και τα συνδυάζει κατάλληλα για να βρει την απάντηση στο αρχικό πρόβλημα. Σχήμα 4: Διαδικασία MapReduce Τα δεδομένα που εισέρχονται και εξέρχονται είναι αρχεία που περιέχουν ακολουθίες από κλειδί-τιμή ζευγάρια. Η Map() δέχεται ένα ζευγάρι δεδομένων ενός data domain και επιστρέφει μία λίστα από ζευγάρια σε διαφορετικό data domain: Map(k1,v1) list(k2,v2) H Map() εφαρμόζεται παράλληλα σε κάθε ζευγάρι εισερχόμενων δεδομένων και παράγεται μία λίστα από ζευγάρια για κάθε περίπτωση. Στη συνέχεια, το MapReduce framework συλλέγει όλα τα ζευγάρια με το ίδιο κλειδί από όλες τις λίστες και τα ομαδοποιεί, φτιάχνοντας έτσι μία ομάδα για κάθε κλειδί. Σε αυτό το σημείο, η Reduce() εφαρμόζεται παράλληλα σε κάθε ομάδα και παράγεται έτσι μία συλλογή από τιμές στο ίδιο domain: Reduce(k2, list (v2)) list(v3). Κάθε κλήση της Reduce() παράγει μία τιμή ν3 ή επιστρέφει κενό. Ωστόσο, μπορεί μία κλήση να επιστρέψει περισσότερες της μίας τιμής. Η επιστροφή όλων των κλήσεων αποτελούν την επιθυμητή λίστα αποτελεσμάτων. Συνοψίζοντας, το MapReduce επιτρέπει την διανεμημένη επεξεργασία των Map() και Reduce(). Με αυτόν τον τρόπο, γίνεται ικανή ακόμη και η επεξεργασία δεδομένων ενός petabyte, σε διάστημα λίγων ωρών, από μία μεγάλη συστοιχία από servers. Επίσης, είναι ευκολότερη η ανάνηψη από μερική βλάβη κάποιων servers, διότι η εργασία μπορεί να επαναπρογραμματιστεί, εφόσον τα εισερχόμενα δεδομένα είναι ακόμα διαθέσιμα. Αυτό δείχνει ότι το MapReduce είναι πολύ σταθερό σε σοβαρά ζητήματα όπως machine failures και application errors

29 Nutch, ένας ανοιχτού κώδικα Web Crawler 3.4 Επεκτάσεις Οι επεκτάσεις ( plugins ) καθιστούν το Nutch ιδιαίτερα εύχρηστο για τους προγραμματιστές. Καλούνται, ανάλογα με τη διεργασία που εκτελούν, σε διάφορα σημεία του αλγορίθμου και εκτελούν σημαντικές διεργασίες, όπως η ανάλυση, η κατάταξη και η αναζήτηση. Επιπρόσθετα, κάθε επέκταση πρέπει να διαθέτει 3 XML αρχεία τα οποία εξηγούν τον τρόπο χρήσης του plugin: Ένα plugin.xml αρχείο που ενημερώνει το Nutch σχετικά με το plugin, Ένα build.xml αρχείο που ενημερώνει το Ant για το πως να κάνει build το plugin, Ένα ivy.xml αρχείο που περιγράφει τυχόν εξαρτήσεις ( dependencies ) που απαιτεί το plugin. Αυτές διαχειρίζονται από το Apache Ivy. Στη συνέχεια, αναλύουμε τα βασικά plugin interfaces του Nutch: Φίλτρα και επεκτάσεις ομαλοποίησης των ιστοσελίδων Καλούνται κατά την είσοδο ενός URL στο σύστημα. Ο URL Normalizer μεταμορφώνει τα URLs σε επιθυμητή μορφή. Βασικές υλοποιήσεις πραγματοποιούν εργασίες όπως το lower-casing των ονομάτων των πρωτοκόλλων και την αφαίρεση των αριθμών των ports. Τα URL Filters χρησιμοποιούνται για το φιλτράρισμα των URLs. Το Nutch παρέχει υλοποιήσεις βασισμένες σε regular-expressions και των δύο επεκτάσεων. Με την αλλαγή των παραμέτρων σε συγκεκριμένα αρχεία, δίνεται στο χρήστη η δυνατότητα αλλαγής της συμπεριφοράς των δύο αυτών επεκτάσεων Επεκτάσεις πρωτοκόλλων Οι επεκτάσεις πρωτοκόλλων (Protocol Plugins) καλούνται να ανακτήσουν το περιεχόμενο των URLs με συγκεκριμένο schema, π.χ. HTTP, FTP και FILE. Μία υλοποίηση δέχεται ως είσοδο ένα URL και επιστρέφει το raw, binary περιεχόμενο του μαζί με τα metadata Επεκτάσεις ανάλυσης Οι επεκτάσεις ανάλυσης (Parser Plugins) δέχονται το αποτέλεσμα των επεκτάσεων πρωτοκόλλων (Protocol Plugins, raw content και metadata) και αντλούν κείμενο, links και metadata. Τα links αναπαριστώνται ως ένα ζεύγος string: το URL στο οποίο συνδέονται και το anchor κείμενο του link. Ο Nutch χρησιμοποιεί αναλυτές για την ανάλυση HTML, PDF, WORD,RTF και άλλα. Συνεργάζεται με το Apache Tika, το οποίο χρησιμοποιεί υπάρχουσες βιβλιοθήκες για την ανίχνευση και άντληση metadata και structured text content

30 Κεφάλαιο Επεκτάσεις κατάταξης και ερωτημάτων Το Nutch χρησιμοποιεί το Apache Lucene για την καταχώρηση ( indexing ) και την αναζήτηση ( searching ) των ιστοσελίδων. Κατά τη διάρκεια του indexing, κάθε αναλυμένη σελίδα περνάει από μία σειρά Indexing Plugins με στόχο τη δημιουργία ενός Lucene document. Η κάθε επέκταση, δηλαδή, ορίζει ποια περιεχόμενα θα καταταχθούν και που. Από προεπιλογή, το περιεχόμενο, το URL και τα incoming anchor texts είναι αυτά που κατατάσσονται, αλλά αυτό μπορεί να το αλλάξει ο κάθε χρήστης ανάλογα με τις ανάγκες του. Τα ερωτήματα-queries αναλύονται σε ένα abstract syntax tree και στη συνέχεια, περνούν από μία σειρά Query Plugins προκειμένου να δημιουργηθεί ένα Lucene query. Το βασικό plugin παράγει queries που αναζητούν το περιεχόμενο, το URL και τα anchor fields. Κάποια άλλα επιτρέπουν συγκεκριμένη αναζήτηση με βάση κάποιο ορισμένο πεδίο Επεκτάσεις βαθμολόγησης Οι επεκτάσεις βαθμολόγησης ευθύνονται για τη βαθμολόγηση των URLs. Με βάση κάποιον υπολογιστικό αλγόριθμο, τα διάφορα URLs βαθμολογούνται και αυτά με την υψηλότερη βαθμολογία επιλέγονται να αναλυθούν. Η επέκταση με την ονομασία scoring-opic είναι αυτή που χρησιμοποιεί ο Nutch 2.x. Βασίζεται στον αλγόριθμο με την ονομασία OPIC, που προτάθηκε από τον S. Abiteboul et al. [ΑBI03]. Συνοπτικά, λειτουργεί ως εξής: Το Διαδίκτυο αποτελεί ένα γράφο στον οποίο οι ιστοσελίδες είναι οι κορυφές και τα links που τις ενώνουν αποτελούν τις πλευρές. Για κάθε κορυφή, κρατάει 2 τιμές. Η πρώτη ονομάζεται cash και η δεύτερη (credit) history της σελίδας, η οποία είναι το άθροισμα των cash που αποκτήθηκαν από την τελευταία φορά που διασχίστηκε. Αρχικά, μοιράζει κάποιο cash σε όλες τις κορυφές. Αν υπάρχουν n κορυφές, κάθε μία θα αποκτήσει 1/n cash. Όταν μία σελίδα i ανακτηθεί από τον web agent, γνωρίζουμε τις ιστοσελίδες, τις οποίες δείχνει αυτή η σελίδα ( outgoing links ). Προσθέτουμε τη μεταβλητή cash στο history, τη μοιράζουμε στα outgoing links και τη μηδενίζουμε για τη σελίδα i

31 Nutch, ένας ανοιχτού κώδικα Web Crawler Ψευδοκώδικας OPIC: for each i let C[i] := 1/n ; let H[i] := 0 ; let G:=0 ; do forever begin choose some node i ; %% each node is selected %% infinitely often H[i] += C[i]; %% single disk access per page for each child j of i, do C[j] += C[i]/out[i]; %% Distribution of cash %% depends on L G += C[i]; C[i] := 0 ; End 3.5 Αρχεία τροποποίησης λειτουργίας του Nutch Ο Nutch επιτρέπει την τροποποίηση του κώδικά του και των μεταβλητών που επηρεάζουν τη λειτουργία του. Αυτό γίνεται εφικτό μέσω της τροποποίησης των αρχείων λειτουργίας του και παρουσιάζεται αναλυτικά παρακάτω Αρχεία ιδιοτήτων Σε αυτό το σημείο θα αναφέρουμε τα αρχεία που συμβάλλουν στην λειτουργία του Nutch ανάλογα με τις απαιτήσεις του χρήστη. Ο κώδικας επικαλείται αυτά τα αρχεία για την αρχικοποίηση διάφορων μεταβλητών σύμφωνα με τις ιδιότητες που βρίσκονται σε αυτά. Συγκεκριμένα, βρίσκονται στο φάκελο apache-nutch-2.x/conf και τα 2 πιο βασικά αρχεία είναι τα εξής: nutch-default.xml: Αρχείο προεπιλογής. Εδώ περιέχονται όλες οι παράμετροι που χρησιμοποιεί ο Nutch από προεπιλογή για τη λειτουργία του. Οι ιδιότητες είναι γραμμένες με την εξής μορφή:

32 Κεφάλαιο 3 <property> <name>fetcher.server.delay </name> <value>5.0</value> <description>the number of seconds the fetcher will delay between successive requests to the same server.</description> </property> Στο πεδίο <name> βρίσκεται το όνομα της ιδιότητας, στο πεδίο <value> η τιμή της και στο πεδίο <description> η περιγραφή της. Όλα αυτά περικλείονται από το πεδίο <property>. Μόνο η περιγραφή της ιδιότητας μπορεί να είναι κενή. Η παραπάνω ιδιότητα ανήκει στην κατηγορία των fetcher properties. Περιγράφει την καθυστέρηση στην αποστολή αιτημάτων σε κάποιον server. Για λόγους που αφορούν το polite crawling και την αποσυμφόρηση των servers, επιλέγεται η τιμή των 5 δευτερόλεπτων. nutch-site.xml: Αρχείο τροποποίησης ιδιοτήτων. Εάν ο χρήστης επιθυμεί να αλλάξει την τιμή μίας ιδιότητας, άρα και τον τρόπο λειτουργίας του Nutch, αντιγράφει την ιδιότητα σε αυτό το αρχείο και ύστερα τη μεταβάλλει. Ο κώδικας θα διαβάσει τις ιδιότητες που υπάρχουν και στα δύο αρχεία. Εάν κάποια ιδιότητα βρίσκεται και στα δύο, τότε θα επιλέξει την τιμή της ιδιότητας που βρίσκεται στο nutch-site.xml. Όλες οι άλλες τιμές θα φορτωθούν από το αρχείο προεπιλογής Αρχεία τροποποίησης φιλτραρίσματος Σε αυτή την κατηγορία ανήκουν τα αρχεία που περιγράφουν το φιλτράρισμα των ιστοσελίδων. Η επιλογή του φίλτρου γίνεται από την επιλογή ενός URL Filter Plugin που είδαμε προηγουμένως. Τα αρχεία αυτά είναι τα εξής: domain-urlfilter.txt: Προσπελαύνεται από το urlfilter-domain plugin και περιέχει τον τρόπο σύμφωνα με το οποίο θα φιλτράρονται οι ιστοσελίδες. Παρακάτω αναφέρονται 3 παραδείγματα τρόπων λειτουργίας του plugin: i. com : Επιτρέπονται οι ιστότοποι με domain.com, ενώ οι υπόλοιποι φιλτράρονται. ii. Apache.org : Επιτρέπονται όλοι οι ιστότοποι του apache.org καθώς και τα subdomains του, όπως τα lucene.apache.org και hadoop.apache.org. iii. : Επιτρέπονται μόνο οι ιστότοποι από το

33 Nutch, ένας ανοιχτού κώδικα Web Crawler Prefix-urlfilter.txt : Χρησιμοποείται από το urlfilter-prefix plugin. Ο χρήστης μπορεί να τοποθετήσει τα προθέματα των URLs που επιθυμεί να φιλτράρονται. Παράδειγμα: ή ftp://. Regex-urlfilter.txt : Το αρχείο προεπιλογής του Nutch για φιλτράρισμα. Χρησιμοποιείται από το urfliter-regex plugin και περιέχονται οι τακτικές εκφράσεις (REGular EXpressions). Έχουμε την επιλογή να αγνοήσουμε ή να συμπεριλάβουμε κάποιο ιστότοπο σύμφωνα με τα δεδομένα αυτού του αρχείου. Παραδείγματα: +.gif Δεχόμαστε τα αρχεία με κατάληξη.gif. -.jpg Αγνοούμε τα αρχεία με κατάληξη.jpg. - [?*!@=] : Αγνοούμε τις ιστοσελίδες που περιέχουν αυτούς τους χαρακτήρες. suffix-urlfilter.txt : Χρησιμοποιείται από το urlfilter-suffix plugin και εδώ τοποθετούνται οι καταλήξεις των ιστότοπων που θέλουμε να φιλτράρουμε. Παράδειγμα:.zip αγνοούμε τουςς ιστότοπους με κατάληξη.zip Αρχεία επιλογής βάσης δεδομένων Σε αυτή την κατηγορία ανήκουν τα αρχεία επιλογής βάσης δεδομένων καθώς και ο τρόπος αποθήκευσης της πληροφορίας σε αυτές. Οι βάσεις δεδομένων που υποστηρίζονται από το Nutch 2.x είναι οι: Apache Hbase, Apache Cassandra, Apache Accumulo και MySQL. 3.6 Μηχανισμός της διαδικασίας διάσχισης του διαδικτύου Ένας τυπικός κύκλος Crawling του Nutch 2.x αποτελείται από τις εξής διεργασίες: i. Εισαγωγή (Inject) URLs που είναι αποθηκευμένα στο αρχείο seed.txt, ii. Παραγωγή (Generate), iii. Ανάκτηση (Fetch), iv. Ανάλυση (Parse), v. Ανανέωση βάσης δεδομένων (Update Database), vi. Εάν δεν τελείωσε, πήγαινε στο βήμα ii

34 Κεφάλαιο 3 Εισαγωγή ιστοσελίδων / seed.txt Παραγωγή Ανανέωση Βάσης Δεδομένων Ανάκτηση Ανάλυση Σχήμα 5: Γραφική απεικόνιση του crawling κύκλου Ο κύκλος ξεκινάει και διατηρείται μέσα από εντολές που δίνει ο χρήστης στο τερματικό του υπολογιστή. Υπάρχει ένας μοναδικός πίνακας με την ονομασία Webpage, κάθε σειρά του οποίου είναι ένα URL, ο οποίος χρησιμοποιείται στις παραπάνω διεργασίες για την ανάκτηση και αποθήκευση των απαραίτητων πληροφοριών. Τα πεδία των σειρών είναι διάφορες πληροφορίες για το URL και αναφέρονται διεξοδικά στο Παράρτημα: Βάση Δεδομένων. Ο Nutch διαθέτει 2 έτοιμα scripts, το nutch και το crawl, που περιέχουν τις εντολές αυτές και καλούν τις αντίστοιχες κλάσεις. Για κάθε διεργασία θα αναφέρουμε στα αντίστοιχα υποκεφάλαια τις εντολές και τα ορίσματα που μπορεί να επιλέξει ο χρήστης Εισαγωγή ιστότοπων Η συγκεκριμένη διεργασία διαβάζει το/τα αρχικά URLs με το/τα οποία θα ξεκινήσει το crawling και τα αποθηκεύει στη βάση δεδομένων μας. Επίσης, χρησιμοποιεί τα URL Normalizer και Filter Plugins για την κατάλληλη εγγραφή των αρχικών URLs. Θέτει το page distance=0 και αρχικοποιεί τη βαθμολογία με τη χρήση των Scoring Plugins. Καλείται η κλάση InjectorJob() με την εντολή:

35 Nutch, ένας ανοιχτού κώδικα Web Crawler bin/nutch inject <url_dir>, όπου url_dir είναι ο φάκελος μέσα στον οποίο υπάρχει το αρχείο με τη λίστα των seed URLs. Για να ομαδοποιήσουμε τα URLs από το ίδιο top-level domain (TLD) ή ίδιο domain, το κλειδί κάθε σειράς του πίνακα Webpage είναι αποθηκευμένο στη μορφή των αντίστροφων στοιχείων ξενιστή. Εκμεταλλεύεται ουσιαστικά το γεγονός ότι στις περισσότερες βάσεις δεδομένων τα κλειδιά των σειρών είναι αλφαβητικά ταξινομημένα. Μερικά παραδείγματα αυτού του τρόπου αποθήκευσης προσφέρονται παρακάτω: com.example.www:http/ com.example.www:http/about/ org.apache.nutch:http/ org.apache.www:http/ org.wikipedia.en:http/ org.wikipedia.nl:http/ Παραγωγή Σκοπός αυτού του βήματος είναι η διαλογή των URLs που θα ανακτήσει ( fetch ) ο Crawler. Καλείται η κλάση GeneratorJob() με την εντολή (σε παρένθεση οι επιλογές που είναι προαιρετικές): bin/nutch generate -topn (-crawlid) (-nofilter) (- nonorm) (-adddays) (-batchid) -topn -crawlid O αριθμός των URLs που θα επιλεχθούν με βάση το υψηλότερο σκορ. Εάν επιθυμούμε να αναλύσουμε όλο το επίπεδο, θέτουμε αυτή την επιλογή σε πολύ υψηλή τιμή. Tο id των prefix των schemas που θα λειτουργήσουν. -nofilter Απενεργοποιεί τα filter plugins (default: true). -nonorm Απενεργοποιεί τα normalizer plugins (default: true). -adddays -batchid Προσθέτει το adddays στην τωρινή ώρα για να διευκολύνει τα URLs που έχουν έρθει νωρίτερα (default: 0). Το πεδίο batchid

36 Κεφάλαιο Ανάκτηση Φέρνει τα URLs που έχουν μαρκαριστεί από τον Generator με batchid. Καλείται η κλάση FetcherJob() με την εντολή: bin/nutch fetch -batchid (-crawlid) (-threads) (-resume) (- numtasks). -batchid Το συγκεκριμένο batchid των URLs που θα φέρει ο Fetcher. Επιλογή το -all για να φέρει όλα τα URLs. -crawlid Tο id των prefix των schemas που θα λειτουργήσουν (default: storage.crawl.id). -threads Αριθμός των fetching threads ανά εργασία. -resume -numtasks Συνέχεια εργασίας που έχει διακοπεί. Αριθμός που περιορίζει τις εργασίες που μπορούν να γίνουν (default: mapred.map.tasks). Mapper i. Διαβάζει όλα τα URLs από τη βάση δεδομένων. ii. Ελέγχει εάν το generatorμark (batchid) ταιριάζει. iii. Αποτέλεσμά του είναι η προσθήκη ενός τυχαίου ακέραιου σε κάθε URL ως κλειδί (shuffle URLs). Partition Διαχωρισμός με βάση τον host. Reducer i. Τοποθετεί τα τυχαία URLs σε fetch queues (μία queue per domain για politeness) και σκανάρει τις ουρές για εύρεση αντικειμένων για ανάκτηση. ii. Ανακτά το κάθε URL. iii. Επιστρέφει τις επιτυχίες και τις αποτυχίες στον πίνακα webtable και θέτει το πεδίο fetchtime σε 'now'. iv. Κάνει την ανάλυση των σελίδων εάν το επιλέξουμε. Ωστόσο, τις περισσότερες φορές το βήμα αυτό το αποφεύγουμε Ανάλυση Με βάση ένα δοσμένο batchid, αναλύει όλα τα URLs που έχουν αυτό το batchid. Καλείται η κλάση ParserJob() με τη χρήση της εντολής: bin/nutch parse -batchid (-crawlid) (-resume) (-force)

37 Nutch, ένας ανοιχτού κώδικα Web Crawler -batchid Ανάλυση των URLs με το συγκεκριμένο batchid. Με την επιλογή -all επιλέγονται όλες οι σελίδες. -crawlid Tο id των prefix των schemas που θα λειτουργήσουν (default: storage.crawl.id). -resume Συνεχίζει μία προηγούμενη ανεκπλήρωτη εργασία. -force Υποχρεώνει το re-parsing ακόμα και αν η σελίδα έχει ήδη αναλυθεί. Mapper i. Διαβάζει όλα τα URLs από τον πίνακα webtable. ii. Ελέγχει εάν το fetchμark ταιριάζει. iii. Εάν η σελίδα έχει αναλυθεί προηγούμενη φορά, την προσπερνάει. iv. Εκτελεί την ανάλυση στον ιστότοπο. v. Αποθηκεύει τον αναλυμένο ιστότοπο στον πίνακα Ανανέωση βάσης δεδομένων Ανανεώνει όλες τις σειρές με τα inlinks, το fetchtime και το score. Καλείται η κλάση DbUpdaterJob() με τη χρήση της εντολής: bin/nutch updatedb Mapper i. Διαβάζει κάθε σειρά από τον πίνακα webtable. ii. Ανανεώνει το score για κάθε outlink. iii. Επιστρέφει το κάθε outlink με το score και το anchor (linktext) του. iv. Επιστρέφει το rowkey μαζί με το score. Partition Partition by {url}, sort by {url, score}, group by {url}. Αυτό διαβεβαιώνει ότι τα inlinks είναι ταξινομημένα με αύξουσα σειρά με βάση το score στον Reducer. Reducer i. Το κλειδί στον Reducer είναι μία σειρά στον πίνακα webtable και οι reduce τιμές είναι τα inlinks. ii. Ανανεώνει το πεδίο fetchtime. iii. Ανανεώνει τα inlinks (το ανώτατο όριο ορίζεται στην επιλογή db.update.max.inlinks ). iv. Ανανεώνει το score σε μία σειρά βασισμένη στα inlinks. v. Επιστρέφει τη διαμορφωμένη σειρά στον πίνακα

38 Κεφάλαιο 4 Κεφάλαιο 4. SpiTag: Η σημασιολογική έκδοση του Nutch Ο Nutch είναι ένας ανοιχτού κώδικα web crawler. Αυτό πρακτικά σημαίνει ότι ο κώδικας του (Java) είναι ελεύθερος και καθένας μπορεί να τον τροποποιήσει σύμφωνα με τις δικές του ανάγκες. 4.1 Περιγραφή Όπως έχει ήδη συζητηθεί, πρόθεσή μας ήταν η βελτιστοποίηση της απόδοσης ενός crawler με βάση το σημασιολογικό περιεχόμενο των σελίδων. Με την επιλογή του Apache Nutch λύσαμε το πρόβλημα της αναζήτησης του καταλληλότερου crawler. Ωστόσο, υπήρχε ένα ακόμα πρόβλημα. Ο τρόπος λειτουργίας του, παρόλο που επισκέπτεται το περιεχόμενο των σελίδων, δεν εστιάζει στην αποθήκευση και ανάλυσή τους. Επίσης, βαθμολογεί τις ιστοσελίδες με βάση τον αριθμό των σελίδων που παραπέμπουν σε αυτήν και αδιαφορεί για το περιεχόμενό τους. Αποτέλεσμα αυτής της τεχνικής είναι η ανάκτηση ιστοσελίδων με (πολλές φορές) χαμηλό σημασιολογικό περιεχόμενο. Το ενδιαφέρον, λοιπόν, στράφηκε στην κατασκευή ενός Web crawler που θα εστίαζε στο περιεχόμενο των σελίδων και κυρίως στα metatags που περιέχουν τις πληροφορίες για την ποιότητα του περιεχομένου. Αποτέλεσμα αυτού του ενδιαφέροντος ήταν η δημιουργία του SpiTag, από τις λέξεις Spi(der) και (Meta)Tag. Ο SpiTag θεωρεί ότι μία ιστοσελίδα με υψηλότερη βαθμολογία, άρα και περισσότερο σημασιολογικό περιεχόμενο, είναι πιθανότερο να δείχνει σε ιστοσελίδες με περισσότερο σημασιολογικό περιεχόμενο από ότι μία ιστοσελίδα με χαμηλότερη βαθμολογία. Στη συνέχεια του κεφαλαίου, αναφέρονται οι τροποποιήσεις και οι προσθήκες που έγιναν σε διάφορα μέρη του πηγαίου κώδικα του Apache Nutch Επίσης, παρουσιάζονται αναλυτικότερα ο τρόπος λειτουργίας και οι παράμετροι λειτουργίας του SpiTag. 4.2 Διεργασίες που τροποποιήθηκαν Στην παρούσα διπλωματική, τροποποιήσαμε 2 φάσεις του crawling κύκλου: τη φάση της Aνάλυσης (parsing) και τη φάση της Aνανέωσης της βάσης δεδομένων (update database)

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

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

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

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

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

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

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

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

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΡΟΣΟΜΟΙΩΣΗ ΔΙΕΡΓΑΣΙΩΝ ΧΡΗΣΙΜΟΠΟΙΩΝΤΑΣ ΤΟ ΛΟΓΙΣΜΙΚΟ EXTEND. 1 ο εργαστήριο Διοίκησης και Παραγωγής Έργων

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΡΟΣΟΜΟΙΩΣΗ ΔΙΕΡΓΑΣΙΩΝ ΧΡΗΣΙΜΟΠΟΙΩΝΤΑΣ ΤΟ ΛΟΓΙΣΜΙΚΟ EXTEND. 1 ο εργαστήριο Διοίκησης και Παραγωγής Έργων ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΡΟΣΟΜΟΙΩΣΗ ΔΙΕΡΓΑΣΙΩΝ ΧΡΗΣΙΜΟΠΟΙΩΝΤΑΣ ΤΟ ΛΟΓΙΣΜΙΚΟ EXTEND 1 ο εργαστήριο Διοίκησης και Παραγωγής Έργων ΙΣΤΟΤΟΠΟΣ ΕΡΓΑΣΤΗΡΙΟΥ http://www.mech.upatras.gr/~adamides/dpe ΠΡΟΣΟΜΟΙΩΣΗ Η τεχνική

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

Διαχείριση Έργων Πληροφορικής Εργαστήριο

Διαχείριση Έργων Πληροφορικής Εργαστήριο Διαχείριση Έργων Πληροφορικής Εργαστήριο «Εισαγωγή στο MS Project- Διάγραμμα Gantt» Μ.Τσικνάκης, Ρ.Χατζάκη Ε. Μανιαδή, Ά. Μαριδάκη 1. Εισαγωγή στο Microsoft Project To λογισμικό διαχείρισης έργων MS Project

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

Εργαστήριο Σημασιολογικού Ιστού

Εργαστήριο Σημασιολογικού Ιστού Εργαστήριο Σημασιολογικού Ιστού Ενότητα 8: Εισαγωγή στη SPARQL Βασική Χρήση Μ.Στεφανιδάκης 3-5-2015. Η γλώσσα ερωτημάτων SPARQL Ερωτήσεις (και ενημερώσεις) σε σετ δεδομένων RDF Και σε δεδομένα άλλης μορφής

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

ΜΕΛΕΤΗ ΣΧΕΔΙΑΣΗ ΕΦΑΡΜΟΓΗΣ ΣΕ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ (CLOUD COMPUTING) ΜΕ ΕΜΦΑΣΗ ΣΤΗΝ ΚΑΤΑΣΚΕΥΗ ΔΕΝΤΡΩΝ.

ΜΕΛΕΤΗ ΣΧΕΔΙΑΣΗ ΕΦΑΡΜΟΓΗΣ ΣΕ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ (CLOUD COMPUTING) ΜΕ ΕΜΦΑΣΗ ΣΤΗΝ ΚΑΤΑΣΚΕΥΗ ΔΕΝΤΡΩΝ. ΤΕΙ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΗΥΣ Θέμα: ΜΕΛΕΤΗ ΣΧΕΔΙΑΣΗ ΕΦΑΡΜΟΓΗΣ ΣΕ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ (CLOUD COMPUTING) ΜΕ ΕΜΦΑΣΗ ΣΤΗΝ ΚΑΤΑΣΚΕΥΗ ΔΕΝΤΡΩΝ. Εισηγητής: Δ. Ν. Καλλέργης, MSc. Φοιτήτρια: Κοντζοπούλου Παναγιώτα Εισαγωγή

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

12. Σταχυολόγηση Ιστού

12. Σταχυολόγηση Ιστού Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 12. Σταχυολόγηση Ιστού Ανάκτηση Πληροφοριών Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων Βασική Λειτουργία

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

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

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

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

Εργαλεία ανάπτυξης εφαρμογών internet Ι

Εργαλεία ανάπτυξης εφαρμογών internet Ι IEK ΟΑΕΔ ΚΑΛΑΜΑΤΑΣ ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΟΦΟΡΙΚΗΣ Εργαλεία ανάπτυξης εφαρμογών internet Ι Διδάσκουσα: Κανελλοπούλου Χριστίνα ΠΕ19 Πληροφορικής 4 φάσεις διαδικτυακών εφαρμογών 1.Εφαρμογές στατικής πληροφόρησης

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

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

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

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ Εαρινό Εξάμηνο

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

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

«Μηχανή Αναζήτησης Αρχείων» Ημερομηνία Παράδοσης: 30/04/2015, 09:00 π.μ.

«Μηχανή Αναζήτησης Αρχείων» Ημερομηνία Παράδοσης: 30/04/2015, 09:00 π.μ. ΕΡΓΑΣΙΑ 4 «Μηχανή Αναζήτησης Αρχείων» Ημερομηνία Παράδοσης: 30/04/2015, 09:00 π.μ. Στόχος Στόχος της Εργασίας 4 είναι να η εξοικείωση με την αντικειμενοστρέφεια (object oriented programming). Πιο συγκεκριμένα,

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

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

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

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

Λύση (από: Τσιαλιαμάνης Αναγνωστόπουλος Πέτρος) (α) Το trie του λεξιλογίου είναι

Λύση (από: Τσιαλιαμάνης Αναγνωστόπουλος Πέτρος) (α) Το trie του λεξιλογίου είναι Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών HY463 - Συστήματα Ανάκτησης Πληροφοριών 2006-2007 Εαρινό Εξάμηνο 3 η Σειρά ασκήσεων (Ευρετηρίαση, Αναζήτηση σε Κείμενα και Άλλα Θέματα) (βαθμοί 12: όποιος

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

Σταύρος Καουκάκης Ευτύχιος Βαβουράκης

Σταύρος Καουκάκης Ευτύχιος Βαβουράκης ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Βασικές Έννοιες Διαδικτύου Wordpress & Κοινωνικά Δίκτυα (Part 1) Σταύρος Καουκάκης Ευτύχιος Βαβουράκης 1 Περιεχόμενα Γενικές Έννοιες Διαδικτύου Η αρχιτεκτονική του Web Συστήματα Διαχείρισης

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

EPL 660: Lab 4 Introduction to Hadoop

EPL 660: Lab 4 Introduction to Hadoop EPL 660: Lab 4 Introduction to Hadoop Andreas Kamilaris Department of Computer Science MapReduce Πρόβλημα: Ανάγκη για επεξεργασία μεγάλου όγκου δεδομένων στα συστήματα ανάκτησης πληροφορίας. Λύση: κατανομή

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

Εισαγωγή στην εφαρμογή Βασική Σελίδα (Activity) Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10

Εισαγωγή στην εφαρμογή Βασική Σελίδα (Activity) Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10 Περιεχόμενα Εισαγωγή στην εφαρμογή... 2 Βασική Σελίδα (Activity)... 3 Ρυθμίσεις... 3 Πελάτες... 6 Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10 Αποθήκη... 11 Αναζήτηση προϊόντος...

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

Βασίλης Πλαχούρας. Χρυσόστομος Καπέτης Μιχάλης Βαζιργιάννης. Οικονομικό Πανεπιστήμιο Αθηνών 3/11/2003

Βασίλης Πλαχούρας. Χρυσόστομος Καπέτης Μιχάλης Βαζιργιάννης. Οικονομικό Πανεπιστήμιο Αθηνών 3/11/2003 Χρυσόστομος Καπέτης Μιχάλης Βαζιργιάννης Οικονομικό Πανεπιστήμιο Αθηνών 3/11/2003 Απώλεια της πληροφορίας από τους ιστότοπους του πανεπιστημίου Ανάγκη για μακροπρόθεσμη διατήρηση Προστασία της φήμης του

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

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Τεχνολογίες και Εφαρμογές Διαδικτύου ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Τεχνολογίες και Εφαρμογές Διαδικτύου Τυπικά Χαρακτηριστικά Εφαρμογών Διαδικτύου Κατερίνα Πραματάρη Τεχνολογίες και Εφαρμογές Διαδικτύου

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

ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. Μηχανές αναζήτησης

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

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

Εργαστήριο Διοίκησης Παραγωγής & Έργων. Εισαγωγή στην προσομοίωση διεργασιών χρησιμοποιώντας το λογισμικό Extend

Εργαστήριο Διοίκησης Παραγωγής & Έργων. Εισαγωγή στην προσομοίωση διεργασιών χρησιμοποιώντας το λογισμικό Extend Εργαστήριο Διοίκησης Παραγωγής & Έργων Εισαγωγή στην προσομοίωση διεργασιών χρησιμοποιώντας το λογισμικό Extend ΕΠΙΣΚΟΠΗΣΗ ΤΟΥ EXTEND Το Extend είναι ένα λογισμικό εικονικής προσομοίωσης που μπορεί να

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

Βασικές Έννοιες Διαδικτύου, Wordpress και BuddyPress

Βασικές Έννοιες Διαδικτύου, Wordpress και BuddyPress ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Βασικές Έννοιες Διαδικτύου, Wordpress και BuddyPress Σταύρος Καουκάκης Χάρης Παπαγιαννάκης Ευτύχης Βαβουράκης 1 Περιεχόμενα Γενικές Έννοιες Διαδικτύου Η αρχιτεκτονική του Web Συστήματα

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

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

Ενσωματωμένα controls τα οποία προσαρμόζονται και χρησιμοποιούνται σε οποιαδήποτε ιστοσελίδα επιλέγει ο φορέας. Η Πυξίδα Απασχόλησης είναι ένα πλήρως παραμετροποιήσιμο portal που απευθύνεται σε Κέντρα Επαγγελματικής Κατάρτισης, Δήμους, Εκπαιδευτικούς Οργανισμούς και Εταιρίες Εύρεσης Εργασίας, με στόχο τόσο την μηχανογράφηση

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

Διαδίκτυο: δίκτυο διασυνδεμένων δικτύων Ξεκίνησε ως ένα μικρό κλειστό στρατιωτικό δίκτυο, απόρροια του Ψυχρού Πολέμου μεταξύ ΗΠΑ και ΕΣΣΔ.

Διαδίκτυο: δίκτυο διασυνδεμένων δικτύων Ξεκίνησε ως ένα μικρό κλειστό στρατιωτικό δίκτυο, απόρροια του Ψυχρού Πολέμου μεταξύ ΗΠΑ και ΕΣΣΔ. ΚΕΦΑΛΑΙΟ 9 Διαδίκτυο: δίκτυο διασυνδεμένων δικτύων Ξεκίνησε ως ένα μικρό κλειστό στρατιωτικό δίκτυο, απόρροια του Ψυχρού Πολέμου μεταξύ ΗΠΑ και ΕΣΣΔ. Το 1966 αρχίζει ο σχεδιασμός του ARPANET, του πρώτου

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

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

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

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

4/2014 ΣΥΝΟΠΤΙΚΗ ΠΑΡΟΥΣΙΑΣΗ ΥΔΡΟΛΗΨΙΕΣ ΑΤΤΙΚΗΣ ΑΠΟΚΕΝΤΡΩΜΕΝΗ ΔΙΟΙΚΗΣΗ ΑΤΤΙΚΗΣ ΔΙΕΥΘΥΝΣΗ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ

4/2014 ΣΥΝΟΠΤΙΚΗ ΠΑΡΟΥΣΙΑΣΗ ΥΔΡΟΛΗΨΙΕΣ ΑΤΤΙΚΗΣ ΑΠΟΚΕΝΤΡΩΜΕΝΗ ΔΙΟΙΚΗΣΗ ΑΤΤΙΚΗΣ ΔΙΕΥΘΥΝΣΗ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ 4/2014 ΣΥΝΟΠΤΙΚΗ ΠΑΡΟΥΣΙΑΣΗ ΥΔΡΟΛΗΨΙΕΣ ΑΤΤΙΚΗΣ ΑΠΟΚΕΝΤΡΩΜΕΝΗ ΔΙΟΙΚΗΣΗ ΑΤΤΙΚΗΣ ΔΙΕΥΘΥΝΣΗ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΥΔΡΟΛΗΨΙΕΣ ΑΤΤΙΚΗΣ Η εφαρμογή "Υδροληψίες Αττικής" είναι ένα πληροφοριακό σύστημα (αρχιτεκτονικής

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

Βασικές Έννοιες Web Εφαρμογών

Βασικές Έννοιες Web Εφαρμογών ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Τεχνολογίες και Εφαρμογές Διαδικτύου Βασικές Έννοιες Web Εφαρμογών Κατερίνα Πραματάρη Τεχνολογίες και Εφαρμογές Διαδικτύου Περιεχόμενα

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ «ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ» ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ «ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ» ΗΜΕΡ.ΑΝΑΘΕΣΗΣ: Δευτέρα 21 Δεκεμβρίου 2015 ΗΜΕΡ.ΠΑΡΑΔΟΣΗΣ: Δευτέρα 25 Ιανουαρίου 2016 Διδάσκοντες:

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

ΟΙΚΟΝΟΜΙΚΗ ΠΡΟΣΦΟΡΑ ΣΧΕ ΙΑΣΗΣ ΚΑΙ ΚΑΤΑΣΚΕΥΗΣ ΙΑ ΙΚΤΥΑΚΟΥ ΠΛΗΡΟΦΟΡΙΑΚΟΎ ΣΥΣΤΗΜΑΤΟΣ. Τρίτη, 7 Φεβρουαρίου 2012

ΟΙΚΟΝΟΜΙΚΗ ΠΡΟΣΦΟΡΑ ΣΧΕ ΙΑΣΗΣ ΚΑΙ ΚΑΤΑΣΚΕΥΗΣ ΙΑ ΙΚΤΥΑΚΟΥ ΠΛΗΡΟΦΟΡΙΑΚΟΎ ΣΥΣΤΗΜΑΤΟΣ. Τρίτη, 7 Φεβρουαρίου 2012 ΟΙΚΟΝΟΜΙΚΗ ΠΡΟΣΦΟΡΑ ΣΧΕ ΙΑΣΗΣ ΚΑΙ ΚΑΤΑΣΚΕΥΗΣ ΙΑ ΙΚΤΥΑΚΟΥ ΠΛΗΡΟΦΟΡΙΑΚΟΎ ΣΥΣΤΗΜΑΤΟΣ Τρίτη, 7 Φεβρουαρίου 2012 Για την εταιρεία ACTS : Παπαγεωργίου Κων/νος Ποτιέ 21/ Χανιά, ΤΚ 73100 AΦΜ: 065439343 Τηλ./Fax:

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

Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy

Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy Σ ε λ ί δ α 1 Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy Περιεχόμενα 1. Download Arebas Easy... 2 2. Εγκατάσταση Arebas Easy... 3 3. Εγγραφή στον Arebas Server... 7 4. Παραμετροποίηση Arebas Easy...

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

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών Οργάνωση Υπολογιστών Υπολογιστικό Σύστημα Λειτουργικό Σύστημα Αποτελεί τη διασύνδεση μεταξύ του υλικού ενός υπολογιστή και του χρήστη (προγραμμάτων ή ανθρώπων). Είναι ένα πρόγραμμα (ή ένα σύνολο προγραμμάτων)

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

Κεφάλαιο 4: Λογισμικό Συστήματος

Κεφάλαιο 4: Λογισμικό Συστήματος Κεφάλαιο 4: Λογισμικό Συστήματος Ερωτήσεις 1. Να αναφέρετε συνοπτικά τις κατηγορίες στις οποίες διακρίνεται το λογισμικό συστήματος. Σε ποια ευρύτερη κατηγορία εντάσσεται αυτό; Το λογισμικό συστήματος

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

Σεμινάριο Wordpress CMS (Δημιουργία Δυναμικών Ιστοσελίδων)

Σεμινάριο Wordpress CMS (Δημιουργία Δυναμικών Ιστοσελίδων) Σεμινάριο Wordpress CMS (Δημιουργία Δυναμικών Ιστοσελίδων) Τι είναι το Wordpress: To Wordpress είναι ένα δωρεάν ανοικτού κώδικα (open source) λογισμικό (εφαρμογή), με το οποίο μπορεί κάποιος να δημιουργεί

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

ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΑ ΣΥΣΤΗΜΑΤΑ

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

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

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

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

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

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ Διάλεξη 25: Τεχνικές Κατακερματισμού II Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Διαχείριση Συγκρούσεων με Ανοικτή Διεύθυνση a) Linear Probing, b) Quadratic Probing c) Double Hashing Διατεταγμένος

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

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

Ανάπτυξη διαδικτυακής διαδραστικής εκπαιδευτικής εφαρμογής σε λειτουργικό σύστημα Android Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε. Ανάπτυξη διαδικτυακής διαδραστικής εκπαιδευτικής εφαρμογής σε λειτουργικό σύστημα Android Πτυχιακή Εργασία Φοιτητής:

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

Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών

Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών Οδηγός Εργαστηρίου:

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ. του Γεράσιμου Τουλιάτου ΑΜ: 697

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ. του Γεράσιμου Τουλιάτου ΑΜ: 697 ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΣΤΑ ΠΛΑΙΣΙΑ ΤΟΥ ΜΕΤΑΠΤΥΧΙΑΚΟΥ ΔΙΠΛΩΜΑΤΟΣ ΕΙΔΙΚΕΥΣΗΣ ΕΠΙΣΤΗΜΗ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ του Γεράσιμου Τουλιάτου

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Ηλεκτρονικό Εμπόριο

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Ηλεκτρονικό Εμπόριο ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Ηλεκτρονικό Εμπόριο Αναπτύσσοντας ένα Ηλεκτρονικό Κατάστημα Ηλεκτρονικό Εμπόριο Λειτουργικότητα Εφαρμογής Κατάλογος προϊόντων Καλάθι

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

App Inventor 3ο Μάθημα (Ζάρια - επέκταση)

App Inventor 3ο Μάθημα (Ζάρια - επέκταση) App Inventor 3ο Μάθημα (Ζάρια - επέκταση) Μεταβλητές Δομή επιλογής If then Λογικές συνθήκες Στο μάθημα αυτό θα επεκτείνουμε την εφαρμογή ζάρια που αναπτύξαμε στο πρώτο μάθημα ώστε να εμφανίζει μήνυμα επιτυχίας

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

Έκδοσης 2005 Π. Κεντερλής

Έκδοσης 2005 Π. Κεντερλής Σύστημα «Ηλέκτρα» Το Σύστημα «Ηλέκτρα» αποτελεί μια ολοκληρωμένη διαδικτυακή εφαρμογή διαχείρισης πληροφοριών μαθημάτων και χρηστών. Αναπτύχθηκε εξολοκλήρου από τον εργαστηριακό συνεργάτη Παναγιώτη Κεντερλή

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

Κατανεμημένα Συστήματα

Κατανεμημένα Συστήματα Κατανεμημένα Συστήματα Σημειώσεις εργαστηρίου Lab#7 - Διεργασίες, Nήματα, Πολυνημάτωση στη Python Νεβράντζας Βάιος-Γερμανός Λάρισα, Φεβρουάριος 2013 Lab#7 - Διεργασιές, Νη ματα, Πολυνημα τωση στη Python,

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

ΟΙΚΟΝΟΜΙΚΗ ΠΡΟΣΦΟΡΑ ΣΧΕ ΙΑΣΗΣ ΚΑΙ ΚΑΤΑΣΚΕΥΗΣ web εφαρµογής - ηλεκτρονικού κατατήµατος για έξυπνα κινητά

ΟΙΚΟΝΟΜΙΚΗ ΠΡΟΣΦΟΡΑ ΣΧΕ ΙΑΣΗΣ ΚΑΙ ΚΑΤΑΣΚΕΥΗΣ web εφαρµογής - ηλεκτρονικού κατατήµατος για έξυπνα κινητά ΟΙΚΟΝΟΜΙΚΗ ΠΡΟΣΦΟΡΑ ΣΧΕ ΙΑΣΗΣ ΚΑΙ ΚΑΤΑΣΚΕΥΗΣ web εφαρµογής - ηλεκτρονικού κατατήµατος για έξυπνα κινητά Για την STUDIO KOSTA BODA ILLUM Χανίων Πέµπτη, 9 Φεβρουαρίου 2012 Για την εταιρεία ACTS : Παπαγεωργίου

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

Λιβανός Γιώργος Εξάμηνο 2017Β

Λιβανός Γιώργος Εξάμηνο 2017Β Λιβανός Γιώργος Εξάμηνο 2017Β Υπολογιστικό σύστημα Υλικό (hardware) Λογισμικό (Software) Ολοκληρωμένα κυκλώματα, δίσκοι, οθόνη, κλπ. Λογισμικό συστήματος Προγράμματα εφαρμογών Χρειάζονται ένα συντονιστή!!!

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

Αρχίζοντας. Το Joomla τρέχει: Στο Joomla μπορούμε να προσθέσουμε επιπλέον λειτουργικότητα, να την επεκτείνουμε δηλαδή (extensions) PHP MySql

Αρχίζοντας. Το Joomla τρέχει: Στο Joomla μπορούμε να προσθέσουμε επιπλέον λειτουργικότητα, να την επεκτείνουμε δηλαδή (extensions) PHP MySql Php και Joomla Ψηφιακό Περιεχόμενο & Επικοινωνίες Αρχίζοντας Το Joomla τρέχει: PHP MySql Στο Joomla μπορούμε να προσθέσουμε επιπλέον λειτουργικότητα, να την επεκτείνουμε δηλαδή (extensions) με την χρήση

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

Τεχνικές ταξινόµησης αποτελεσµάτων µηχανών αναζήτησης µε βάση την ιστορία του χρήστη

Τεχνικές ταξινόµησης αποτελεσµάτων µηχανών αναζήτησης µε βάση την ιστορία του χρήστη Τεχνικές ταξινόµησης αποτελεσµάτων µηχανών αναζήτησης µε βάση την ιστορία του χρήστη Όνοµα: Νικολαΐδης Αντώνιος Επιβλέπων: Τ. Σελλής Περίληψη ιπλωµατικής Εργασίας Συνεπιβλέποντες: Θ. αλαµάγκας, Γ. Γιαννόπουλος

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

8. ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ ΔΕΔΟΜΕΝΩΝ

8. ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ ΔΕΔΟΜΕΝΩΝ 8. ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ ΔΕΔΟΜΕΝΩΝ Στόχος του εργαστηρίου αυτού είναι να δείξει πώς τα εργαστήρια με τα δεδομένα της ICAP μπορούν να υλοποιηθούν χωρίς τη χρήση SQL Server, χρησιμοποιώντας μόνον Excel και Rapid

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

PROXY SERVER. Άριστη πύλη διαχωρισμού μεταξύ του εσωτερικού δικτύου και του Internet.

PROXY SERVER. Άριστη πύλη διαχωρισμού μεταξύ του εσωτερικού δικτύου και του Internet. PROXY SERVER Άριστη πύλη διαχωρισμού μεταξύ του εσωτερικού δικτύου και του Internet. Αποτελεσματικό εργαλείο για την απόκρυψη των εσωτερικών λεπτομερειών και διευθύνσεων IP του δικτύου. Αυξάνει τη συνολική

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

Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές

Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές Λαμπαδαρίδης Αντώνιος el04148@mail.ntua.gr Διπλωματική εργασία στο Εργαστήριο Συστημάτων Βάσεων Γνώσεων και Δεδομένων Επιβλέπων: Καθηγητής Τ. Σελλής Περίληψη

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

Εισαγωγή στην Πληροφορική

Εισαγωγή στην Πληροφορική Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Εισαγωγή στην Πληροφορική Ενότητα 8: Λειτουργικά Συστήματα Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

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

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δεντρικά Ευρετήρια Βάσεις Δεδομένων 2017-2018 1 Δέντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόμβος του περιέχει το πολύ p - 1 τιμές αναζήτησης και ρ

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

Μέρος Ι: Εγκατάσταση και ιαμόρφωση των MySQL, Apache και PHP

Μέρος Ι: Εγκατάσταση και ιαμόρφωση των MySQL, Apache και PHP Εισαγωγή... 1 Σε Ποιους Απευθύνεται το Βιβλίο... 1 Η Οργάνωση του Βιβλίου... 2 Ο Πηγαίος Κώδικας του Βιβλίου... 3 Συμβάσεις που Χρησιμοποιούνται σε Αυτό το Βιβλίο... 3 Μέρος Ι: Εγκατάσταση και ιαμόρφωση

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

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

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

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

Δημιουργία μιας εφαρμογής Java με το NetBeans

Δημιουργία μιας εφαρμογής Java με το NetBeans Δημιουργία μιας εφαρμογής Java με το NetBeans Για να δημιουργήσετε μια εφαρμογή Java πρέπει να ακολουθήσετε τα εξής βήματα : Αρχικά πρέπει να δημιουργηθεί ένα project το οποίο θα περιέχει όλα τα αρχεία

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

Πώς λειτουργεί το Google?

Πώς λειτουργεί το Google? Πώς λειτουργεί το Google? Στα άδυτα του Γίγαντα της Αναζήτησης! Το να ψάξουμε κάτι στο Google είναι κάτι τόσο καθημερινό για τους περισσότερους από εμάς, που το θεωρούμε δεδομένο. Αυτό που ίσως ξεχνάμε

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

Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή

Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή 1 Πίνακας Περιεχομένων 1. Εισαγωγή... 4 1.1 Περιβάλλον Moodle...4 1.2 Χρήση ονόματος χρήστη και κωδικού...4 1.3 Δημιουργία νέου μαθήματος...4 1.3.1

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

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

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

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

ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ. της Πλατφόρμας Τηλεκατάρτισης

ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ. της Πλατφόρμας Τηλεκατάρτισης ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ της Πλατφόρμας Τηλεκατάρτισης ΠΕΡΙΕΧΟΜΕΝΑ 1. Εισαγωγή...2 2. Αρχική σελίδα, Εισαγωγή & Περιβάλλον Συστήματος...3 2.1. Αρχική σελίδα εισαγωγής...3 2.2. Εισαγωγή στην Πλατφόρμα Τηλε-κατάρτισης...4

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

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Μηχανές αναζήτησης

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

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

Βασικές Υπηρεσίες Διαδικτύου. Επικοινωνίες Δεδομένων Μάθημα 2 ο

Βασικές Υπηρεσίες Διαδικτύου. Επικοινωνίες Δεδομένων Μάθημα 2 ο Βασικές Υπηρεσίες Διαδικτύου Επικοινωνίες Δεδομένων Μάθημα 2 ο Μεταφορά αρχείων (File Transfer Protocol, FTP) user at host FTP user interface FTP client local file system file transfer FTP server remote

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

SilverPlatter WebSPIRS 4.1.

SilverPlatter WebSPIRS 4.1. WebSPIRS 4.1. Η υπηρεσία WebSPIRS από τη SilverPlatter αποτελεί ένα φιλικό εργαλείο πρόσβασης και αναζήτησης σε περιεχόμενα βάσεων δεδομένων. Η Βιβλιοθήκη και Κέντρο Πληροφόρησης του Πανεπιστημίου Θεσσαλίας

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

ΟΔΗΓΟΣ ΧΡΗΣΗΣ(ΜΑΝUΑL) ΔΙΑΧΕΙΡΙΣΤΗ-ΧΡΗΣΤΗ.

ΟΔΗΓΟΣ ΧΡΗΣΗΣ(ΜΑΝUΑL) ΔΙΑΧΕΙΡΙΣΤΗ-ΧΡΗΣΤΗ. ΟΔΗΓΟΣ ΧΡΗΣΗΣ(ΜΑΝUΑL) ΔΙΑΧΕΙΡΙΣΤΗ-ΧΡΗΣΤΗ. Οδηγός Διαχειριστή Το m-learning Toolkit είναι μια ολοκληρωμένη πλατφόρμα εξ αποστάσεως εκπαίδευσης που έχει σχεδιαστεί για να υπάρχει η δυνατότητα της πρόσβασης

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

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Γραφήματα. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Γραφήματα. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Γραφήματα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Γραφήματα Κατευθυνόμενο Γράφημα Ένα κατευθυνόμενο γράφημα G είναι ένα ζευγάρι (V, E) όπου V είναι ένα

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

Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών «Πληροφορική»

Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών «Πληροφορική» Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών «Πληροφορική» Μεταπτυχιακή Διατριβή Τίτλος Διατριβής Ανάπτυξη Πλατφόρμας Διαδικτυακής Δημοσίευσης Χαρτογραφικών Δεδομένων Developing

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

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΕΡΓΑΛΕΙΑ ΓΙΑ ΤΟ ΔΙΑΔΙΚΤΥΟ

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΕΡΓΑΛΕΙΑ ΓΙΑ ΤΟ ΔΙΑΔΙΚΤΥΟ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΕΡΓΑΛΕΙΑ ΓΙΑ ΤΟ ΔΙΑΔΙΚΤΥΟ Κεφάλαιο 2. Το περιβάλλον του παγκόσμιου Ιστού Επιμέλεια: Καραγιάννης Σπύρος Καθηγητής ΠΕ19 Πλεονεκτήματα παγκόσμιου Ιστού Εξυπηρετητής Ιστού & Ιστοσελίδες Κύριες

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

Ημερομηνία Παράδοσης: 4/4/2013

Ημερομηνία Παράδοσης: 4/4/2013 Δράση 9.14 / Υπηρεσία εντοπισμού λογοκλοπής Κυρίως Παραδοτέο / Σχεδιασμός και ανάπτυξη λογισμικού (λογοκλοπής) και βάσης δεδομένων (αποθετηρίου) Επιμέρους Παραδοτέο 9.14.1.4 / Πληροφοριακό σύστημα υπηρεσίας

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

Σχεδίαση και Ανάπτυξη Ιστότοπων

Σχεδίαση και Ανάπτυξη Ιστότοπων Σχεδίαση και Ανάπτυξη Ιστότοπων Ιστορική Εξέλιξη του Παγκόσμιου Ιστού Παρουσίαση 1 η 1 Βελώνης Γεώργιος Καθηγητής Περιεχόμενα Τι είναι το Διαδίκτυο Βασικές Υπηρεσίες Διαδικτύου Προηγμένες Υπηρεσίες Διαδικτύου

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

Πληροφορική ΙΙ Εισαγωγή στις Βάσεις Δεδομένων. Τμήμα Λογιστικής

Πληροφορική ΙΙ Εισαγωγή στις Βάσεις Δεδομένων. Τμήμα Λογιστικής Εισαγωγή στις Βάσεις Δεδομένων Εισαγωγή στις Βάσεις Δεδομένων Ορισμός Βάσης Δεδομένων Σύστημα Διαχείρισης Βάσης Δεδομένων ΣΔΒΔ (DBMS) Χαρακτηριστικά προσέγγισης συστημάτων αρχειοθέτησης Χαρακτηριστικά

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

Μεταδεδομένα στο Ψηφιακό περιβάλλον

Μεταδεδομένα στο Ψηφιακό περιβάλλον Μεταδεδομένα στο Ψηφιακό περιβάλλον Μονάδα Αριστείας Ανοικτού Λογισμικού - Χαροκόπειο Πανεπιστήμιο Ψηφιακό Τεκμήριο Οτιδήποτε υπάρχει σε ηλεκτρονική μορφή και μπορεί να προσπελαστεί μέσω υπολογιστή Μεταδεδομένα

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

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Επεξεργασία πινάκων

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Επεξεργασία πινάκων Ενότητα 4 Επεξεργασία πινάκων 36 37 4.1 Προσθήκη πεδίων Για να εισάγετε ένα πεδίο σε ένα πίνακα που υπάρχει ήδη στη βάση δεδομένων σας, βάζετε τον κέρσορα του ποντικιού στο πεδίο πάνω από το οποίο θέλετε

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

ΕΠΛ 002: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Μηχανές αναζήτησης

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

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

World Wide Web: Ο παγκόσµιος ιστός Πληροφοριών

World Wide Web: Ο παγκόσµιος ιστός Πληροφοριών Περιεχόµενα World Wide Web: Ο παγκόσµιος ιστός Πληροφοριών Εισαγωγή Ιστορική Αναδροµή Το ιαδίκτυο και το WWW Υπερκείµενο Εντοπισµός πληροφοριών στο WWW Search Engines Portals Unicode Java Plug-Ins 1 2

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

Πληροφορική 2. Δομές δεδομένων και αρχείων

Πληροφορική 2. Δομές δεδομένων και αρχείων Πληροφορική 2 Δομές δεδομένων και αρχείων 1 2 Δομή Δεδομένων (data structure) Δομή δεδομένων είναι μια συλλογή δεδομένων που έχουν μεταξύ τους μια συγκεκριμένη σχέση Παραδείγματα δομών δεδομένων Πίνακες

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

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο Πρωτόκολλα και Αρχιτεκτονική Δικτύου Για να ανταλλάξουν δεδομένα δύο σταθμοί, εκτός από την ύπαρξη διαδρομής μεταξύ

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

Σύστημα Αναθέσεων. Σχεδιασμός Υποσυστημάτων

Σύστημα Αναθέσεων. Σχεδιασμός Υποσυστημάτων Unified IT services Αγ. Παρασκευής 67 15234 Χαλάνδρι http://www.uit.gr Σύστημα Αναθέσεων Σχεδιασμός Υποσυστημάτων ΕΛΛΑΚ Ημερομηνία: 7/12/2010 UIT Χαλάνδρι Αγ. Παρασκευής 67 15234 210 6835289 Unified Information

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

Διαφορές single-processor αρχιτεκτονικών και SoCs

Διαφορές single-processor αρχιτεκτονικών και SoCs 13.1 Τα συστήματα και η επικοινωνία μεταξύ τους γίνονται όλο και περισσότερο πολύπλοκα. Δεν μπορούν να περιγραφούνε επαρκώς στο επίπεδο RTL καθώς αυτή η διαδικασία γίνεται πλέον αρκετά χρονοβόρα. Για αυτό

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

Τεχνολογίες RDF για τον Ιστό Δεδοµένων

Τεχνολογίες RDF για τον Ιστό Δεδοµένων 1 Τεχνολογίες RDF για τον Ιστό Δεδοµένων The Semantic Web is Dead? Hardly! The reports of my death are greatly exaggerated. Mark Twain Διαχείριση δεδοµένων στον Ιστό 2 Έστω ένας φανταστικός ιστός! html

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

Σύστημα υποβολής αιτήσεων υποψήφιων συνεργατών ΕΚΤ

Σύστημα υποβολής αιτήσεων υποψήφιων συνεργατών ΕΚΤ Σύστημα υποβολής αιτήσεων υποψήφιων συνεργατών ΕΚΤ 1 Λειτουργικές απαιτήσεις Το σύστημα υποβολής αιτήσεων υποψήφιων συνεργατών στοχεύει στο να επιτρέπει την πλήρως ηλεκτρονική υποβολή αιτήσεων από υποψήφιους

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

Πλοήγηση και Αναζήτηση

Πλοήγηση και Αναζήτηση Πλοήγηση και Αναζήτηση Περιήγηση Το Eprints παρέχει πολλούς διαφορετικούς τρόπους να επιμεριστεί το καταθετήριο σε διαφορετικές συλλογές και να προσεγγίζεται το περιεχόμενό του από διαφορετικές οπτικές

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

Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap

Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap Version 2.00 Επιμέλεια Σημειώσεων: Δημήτρης Κόγιας Πατρικάκης Χαράλαμπος Πίνακας περιεχομένων TELNET... 2 PING...

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

Περιεχόμενα. Δημιουργία σύνδεσης... 27 5. ΤΙ ΕΙΝΑΙ ΙΣΤΟΣΕΛΙΔΕΣ ΚΑΙ ΤΙ ΤΟΠΟΘΕΣΙΕΣ ΙΣΤΟΥ... 37. Γνωριμία με μια ιστοσελίδα:... 38

Περιεχόμενα. Δημιουργία σύνδεσης... 27 5. ΤΙ ΕΙΝΑΙ ΙΣΤΟΣΕΛΙΔΕΣ ΚΑΙ ΤΙ ΤΟΠΟΘΕΣΙΕΣ ΙΣΤΟΥ... 37. Γνωριμία με μια ιστοσελίδα:... 38 Περιεχόμενα ΠΡΟΛΟΓΟΣ... 11 ΔΙΑΔΙΚΤΥΟ... 13 1. ΙΣΤΟΡΙΑ ΤΟΥ ΔΙΑΔΙΚΤΥΟΥ... 15 2. ΤΙ ΕΙΝΑΙ ΤΟ ΔΙΑΔΙΚΤΥΟ INTERNET;... 16 3. ΤΙ ΠΡΟΣΦΕΡΕΙ ΤΟ ΔΙΑΔΙΚΤΥΟ, ΤΙ ΜΠΟΡΕΙ ΝΑ ΒΡΕΙ ΚΑΝΕΙΣ... 19 4. ΤΙ ΑΠΑΙΤΕΙΤΑΙ ΓΙΑ ΝΑ

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

Σύστημα Ηλεκτρονικού Πρωτοκόλλου. Σχεδιασμός Υποσυστημάτων

Σύστημα Ηλεκτρονικού Πρωτοκόλλου. Σχεδιασμός Υποσυστημάτων Unified IT services Αγ. Παρασκευής 67 15234 Χαλάνδρι http://www.uit.gr Σύστημα Ηλεκτρονικού Πρωτοκόλλου Σχεδιασμός Υποσυστημάτων ΕΛΛΑΚ Ημερομηνία: 10/1/2011 UIT Χαλάνδρι Αγ. Παρασκευής 67 15234 210 6835289

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

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

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

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

JDSL Java Data Structures Library

JDSL Java Data Structures Library ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ JDSL Java Data Structures Library Δομές Δεδομένων Μπαλτάς Αλέξανδρος 24 Μαρτίου 2015 ampaltas@ceid.upatras.gr Εισαγωγή Η JDSL είναι μια βιβλιοθήκη ομών εδομένων σε

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

Νέες τεχνολογίες εισάγονται ή χρησιµοποιούνται

Νέες τεχνολογίες εισάγονται ή χρησιµοποιούνται special report τoυ Γιώργου Φετοκάκη / gfetokakis@boussias.com Jobs scheduling Η χρυσή τοµή της αυτοµατοποίησης Μια λύση job scheduling πρέπει να είναι αρκετά περιεκτική. Πρέπει να υποστηρίζει την ενσωµάτωση

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

Ανάπτυξη Οντολογικής Γνώσης για Τεκμηρίωση Οπτικοακουστικού Περιεχομένου ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ

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

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr Διπλωματικές

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

Ανοικτά Δεδομένα. Η εμπειρία του OpenDataCloud

Ανοικτά Δεδομένα. Η εμπειρία του OpenDataCloud Ανοικτά Δεδομένα Προκλήσεις και Ευκαιρίες: Η εμπειρία του OpenDataCloud Κώστας Σαΐδης, PhD Πάροχοι Ανοικτών Δεδομένων datagov.gr diavgeia.gr geodata.gov.gr Πυροσβεστικό σώμα Ελληνική Αστυνομία Υπουργείο

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

Εκτέλεση-Χρήση Auto Moto Cube

Εκτέλεση-Χρήση Auto Moto Cube POWERED BY ACT Εκτέλεση-Χρήση Auto Moto Cube Version: 01 1 Μάιος 2017 Περιεχόμενα All in One 3 Καλάθι 13 2 All in One Η All in One αποτελεί μια ευέλικτη και εύχρηστη φόρμα δημιουργημένη να εξυπηρετεί πολλαπλές

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

Νέα ευέλικτη λίστα εργαζομένων

Νέα ευέλικτη λίστα εργαζομένων Νέα ευέλικτη λίστα εργαζομένων Στο παρόν τεύχος αναλύονται οι οδηγίες χρήσης της νέας ευέλικτης λίστας εργαζομένων που έχει ενσωματωθεί στην εφαρμογή της μισθοδοσίας Περιεχόμενα Πρόλογος... 3 Ενεργοποίηση

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

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

Υπηρεσίες ιστού και ιδιωτικότητα: Μια προσέγγιση βασισμένη στη δημιουργία προφίλ χρήστη για προσαρμοστικούς ιστότοπους Υπηρεσίες ιστού και ιδιωτικότητα: Μια προσέγγιση βασισμένη στη δημιουργία προφίλ χρήστη για προσαρμοστικούς ιστότοπους Η Μεταπτυχιακή Διατριβή παρουσιάστηκε ενώπιον του Διδακτικού Προσωπικού του Πανεπιστημίου

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

A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ

A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ 1 Βάση Δεδομένων: Με το όρο Βάση Δεδομένων εννοούμε ένα σύνολο δεδομένων που είναι οργανωμένο

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τμήμα Πληροφορικής

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

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

Οντολογία για την περιγραφή των προσωπικοτήτων της Σάμου, την κατηγοριοποίηση και τις σχέσεις τους

Οντολογία για την περιγραφή των προσωπικοτήτων της Σάμου, την κατηγοριοποίηση και τις σχέσεις τους Οντολογία για την περιγραφή των προσωπικοτήτων της Σάμου, την κατηγοριοποίηση και τις σχέσεις τους Επιμέλεια: Καρανικολάου Θεοδώρα Επιβλέπων καθηγητής: Δενδρινός Μάρκος Αθήνα, 2017 Σκοπός Στόχος της πτυχιακής

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

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ Διάλεξη 9: Εισαγωγή στους Γράφους Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Γράφοι - ορισμοί και υλοποίηση Διάσχιση Γράφων Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

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

Αξιολόγηση Υπηρεσιών ιαδικτύου µέσω Περιπτώσεων Μελέτης

Αξιολόγηση Υπηρεσιών ιαδικτύου µέσω Περιπτώσεων Μελέτης Αξιολόγηση Υπηρεσιών ιαδικτύου µέσω Περιπτώσεων Μελέτης Κωστής Αϊβαλής Μηχανικός Πληροφορικής TU-Berlin 2/5/2008 ΕΑΠ-ΓΤΠ61-Κωστής Αϊβαλής 1 Εισαγωγή Η ταχύτητα επεξεργασίας των εφαρµογών διαδικτυακών υπηρεσιών

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

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

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

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