Εντοπισμός Θεματικά Επικαλυπτόμενων Άρθρων

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

Download "Εντοπισμός Θεματικά Επικαλυπτόμενων Άρθρων"

Transcript

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

2

3 «Εγώ ο Κωνσταντόπουλος Βασίλειος δηλώνω υπεύθυνα ότι η παρούσα Πτυχιακή Εργασία με τίτλο Εντοπισμός θεματικά επικαλυπτόμενων άρθρων είναι δική μου και βεβαιώνω ότι: Σε όσες περιπτώσεις έχω συμβουλευτεί δημοσιευμένη εργασία τρίτων, αυτό επισημαίνεται με σχετική αναφορά στα επίμαχα σημεία. Σε όσες περιπτώσεις μεταφέρω λόγια τρίτων, αυτό επισημαίνεται με σχετική αναφορά στα επίμαχα σημεία. Με εξαίρεση τέτοιες περιπτώσεις, το υπόλοιπο κείμενο της πτυχιακής αποτελεί δική μου δουλειά. Αναφέρω ρητά όλες τις πηγές βοήθειας που χρησιμοποίησα. Σε περιπτώσεις που τμήματα της παρούσας πτυχιακής έγιναν από κοινού με τρίτους, α- ναφέρω ρητά ποια είναι η δική μου συνεισφορά και ποια των τρίτων. Γνωρίζω πως η λογοκλοπή αποτελεί σοβαρότατο παράπτωμα και είμαι ενήμερος για την επέλευση των νόμιμων συνεπειών» < υπογραφή > Κωνσταντόπουλος Βασίλης

4 Εγκρίθηκε από την τριμελή εξεταστική επιτροπή Τόπος: Ημερομηνία: ΕΠΙΤΡΟΠΗ ΑΞΙΟΛΟΓΗΣΗΣ

5 Περίληψη Αντικείμενο της πτυχιακής είναι η μελέτη μηχανισμών (αλγορίθμων) μέτρησης ομοιότητας σε κείμενα και η δημιουργία μια εφαρμογής υπολογισμού της ομοιότητας μεταξύ κειμένων, με βάση διάφορους αλγόριθμους. Απώτερος στόχος είναι ο εντοπισμός θεματικά επικαλυπτόμενων άρθρων (που αναφέρονται δηλαδή στο ίδιο θέμα) σε μια ροή άρθρων. Ο υπολογισμός του μέτρου ομοιότητας (similarity measure) γίνεται πάνω σε προ επεξεργασμένα κείμενα, με στάδια προ επεξεργασίας την αφαίρεση λέξεων χωρίς βαρύτητα, τον υπολογισμό της ρίζας των λέξεων, την εύρεση των υπολοίπων ομοίων λέξεων και της συχνότητάς τους. Για τον υπολογισμό του μέτρου ομοιότητας χρησιμοποιούνται κάποιοι βασικοί αλγόριθμοι ομοιότητας κειμένων (document similarity algorithms), συγκεκριμένα οι Pearson Correlation, Cosine Similarity, Dice Coefficient, Tanimoto Coefficient. Για την υλοποίηση χρησιμοποιήθηκε γλώσσα php ενώ τα κείμενα αποθηκεύονται σε βάση δεδομένων mysql. Δημιουργήθηκε ένα απλό site που επιτρέπει στο χρήστη να πειραματιστεί όχι μόνο στην σύγκριση των άρθρων, αλλά και στα ενδιάμεσα βήματα (προεπεξεργασία). -i-

6

7 Ευχαριστίες Θα ήθελα να εκφράσω τις ιδιαίτερες ευχαριστίες μου στον επιβλέποντα μου κ. Κόκκορα Φώτη, Καθηγητή Εφαρμογών, για την εμπιστοσύνη που μου έδειξε αναθέτοντας μου τη συγκεκριμένη εργασία και για την καθοδήγηση του καθ όλη την διάρκεια της εκπόνησής της. Επίσης, θα ήθελα να ευχαριστήσω όλους όσους έμμεσα ή άμεσα, βοήθησαν στη περάτωση αυτού του δύσκολου έργου. Κωνσταντόπουλος Βασίλης 07/11/2014 -iii-

8

9 Περιεχόμενα ΠΕΡΙΛΗΨΗ... I ΕΥΧΑΡΙΣΤΙΕΣ... III ΠΕΡΙΕΧΟΜΕΝΑ... V 1 ΕΙΣΑΓΩΓΗ ΒΟΜΒΑΡΔΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΩΝ & AGGREGATORS ΑΝΤΙΚΕΙΜΕΝΟ ΤΗΣ ΠΤΥΧΙΑΚΗΣ ΠΕΡΙ ΟΜΟΙΟΤΗΤΑΣ ΚΕΙΜΕΝΩΝ ΤΟ ΠΡΟΒΛΗΜΑ ΤΗΣ ΕΥΡΕΣΗΣ ΟΜΟΙΟΤΗΤΑΣ Η ΟΜΟΙΟΤΗΤΑ ΣΑΝ ΕΝΝΟΙΑ ΑΛΓΟΡΙΘΜΟΙ ΟΜΟΙΟΤΗΤΑΣ Pearson Cosine Tanimoto Dice Μέσος όρος ΆΛΛΕΣ ΕΦΑΡΜΟΓΕΣ Aggregators Εφαρμογές λογοκλοπής Recommender systems Συστήματα ανάκτησης πληροφοριών ΒΑΣΙΚΗ ΙΔΕΑ ΚΑΙ ΣΧΕΔΙΑΣΜΟΣ ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ HTML PHP CSS SQL v-

10 3.2 ΕΡΓΑΛΕΙΑ ΣΧΕΔΙΑΣΜΟΥ Netbeans MySql Workbench XAMPP HyperSnap ΠΑΡΟΥΣΙΑΣΗ ΕΦΑΡΜΟΓΗΣ ΒΑΣΙΚΕΣ ΛΕΙΤΟΥΡΓΙΕΣ Tokenizer Stemmer Junk Word Remover Frequency counter ΣΥΝΘΕΤΕΣ ΛΕΙΤΟΥΡΓΙΕΣ Σύγκριση δύο κειμένων μεταξύ τους Εισαγωγή/Σύγκριση κείμενου με τη βάση δεδομένων Επιλογή και σύγκριση αρχείων από τη database ΠΡΟΔΙΑΓΡΑΦΕΣ ΧΡΗΣΗΣ ΜΕΣΩ WEB ΥΛΟΠΟΙΗΣΗ ΚΩΔΙΚΑΣ ΣΥΝΘΕΣΗΣ ΤΟΥ SITE CSS κανόνες Έλεγχος αρχείων Αρχική σελίδα ΚΩΔΙΚΑΣ ΛΕΙΤΟΥΡΓΙΩΝ Κώδικας Tokenizer Κώδικας Stemmer Κώδικας Junk Word Remover Κώδικας Frequency counter ΚΩΔΙΚΑΣ ΒΑΣΙΚΩΝ ΜΗΧΑΝΙΣΜΩΝ Κώδικας σύγκρισης δύο κειμένων Κώδικας εισαγωγής/σύγκρισης κειμένου με βάση δεδομένων Κώδικας σύγκρισης κειμένων από τη βάση δεδομένων ΚΩΔΙΚΑΣ ΣΥΝΑΡΤΗΣΕΩΝ Συνάρτηση Tokenizer() vi-

11 4.4.2 Συνάρτηση Junk word remover() Συνάρτηση Stemmer_Remover() Συνάρτηση Frequency() Συνάρτηση Teliko() Συνάρτηση similarity_algorithms() Συνάρτηση calling() ΚΩΔΙΚΑΣ ΑΛΓΟΡΙΘΜΩΝ ΟΜΟΙΟΤΗΤΑΣ Κώδικας Pearson Κώδικας Cosine Κώδικας Tanimoto Κώδικας Dice ΚΩΔΙΚΑΣ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ ΣΥΓΚΕΝΤΡΩΤΙΚΟΣ ΠΙΝΑΚΑΣ ΣΥΝΑΡΤΗΣΕΩΝ ΠΕΙΡΑΜΑΤΙΚΗ ΔΙΑΔΙΚΑΣΙΑ ΆΡΘΡΑ ΠΟΥ ΑΦΟΡΟΥΝ ΤΟ ΙΔΙΟ ΘΕΜΑ ΆΡΘΡΑ ΜΕ ΤΟΝ ΙΔΙΟ ΤΙΤΛΟ ΆΡΘΡΑ ΠΟΥ ΑΦΟΡΟΥΝ ΣΕ ΕΝΑ ΣΥΓΚΕΚΡΙΜΕΝΟ ΓΕΓΟΝΟΣ ΔΙΗΓΗΜΑΤΑ ΔΙΗΓΗΜΑΤΑ ΣΕ ΣΥΓΚΡΙΣΗ ΜΕ ΤΟΝ ΕΑΥΤΟ ΤΟΥΣ ΚΕΙΜΕΝΑ ΣΕ ΣΥΓΚΡΙΣΗ ΜΕ ΤΙΣ ΠΕΡΙΛΗΨΕΙΣ ΤΟΥΣ ΣΥΝΟΨΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΣΥΜΠΕΡΑΣΜΑΤΑ ΣΥΝΟΨΗ ΜΕΛΛΟΝΤΙΚΗ ΕΡΓΑΣΙΑ ΚΑΙ ΕΠΕΚΤΑΣΕΙΣ ΒΙΒΛΙΟΓΡΑΦΙΑ ΠΑΡΑΡΤΗΜΑ Α vii-

12

13 1 Εισαγωγή Το world wide web (www) έκλεισε φέτος 25 χρόνια λειτουργίας. Από τη δημιουργία του έως και σήμερα έχει περάσει από διάφορα στάδια εξέλιξης, αλλά πάντα με έναν κοινό γνώμονα, την εκθετική αύξηση των χρηστών του στη πάροδο του χρόνου. Το 1989 όταν και δημιουργήθηκε από τον Βρετανό Tim Bernes Lee, ο διαμοιρασμός πληροφοριών αφορούσε μια μικρή ομάδα χρηστών, κυρίως επιστημόνων. Με τη πάροδο του χρόνου, όλο και περισσότεροι χρήστες είχαν πρόσβαση σε έναν υπολογιστή, και όλο και περισσότεροι υπολογιστές ήταν συνδεδεμένοι στο διαδίκτυο. Πλέον, σχεδόν σε κάθε σπίτι υπάρχει η δυνατότητα πρόσβασης στο διαδίκτυο. Κάθε οικογένεια έχει από μια έως και πολλές συσκευές (laptop, tablet, smart-phones, υπολογιστές,smart tv s, κτλ.) που μπορούν να προσφέρουν πρόσβαση στο διαδίκτυο. Σήμερα, το www προσφέρει στο σύγχρονο άνθρωπο ένα πλούτο πληροφοριών και όχι μόνο. Ο καθένας, έχοντας μια συσκευή που μπορεί να αποκτήσει πρόσβαση στο διαδίκτυο, μπορεί να κάνει πράγματα που σε διαφορετικές συνθήκες δεν θα μπορούσε ή θα ξόδευε περισσότερο χρόνο και χρήμα για να τις κάνει. Η επικοινωνία, οι αγορές, η διασκέδαση είναι κάποιοι βασικοί τομείς, όπως βεβαίως και η ενημέρωση. 1.1 Βομβαρδισμός Πληροφοριών & Aggregators Όσο περισσότερες πηγές έχει κάποιος για ένα θέμα, τόσο πιο καλή και σφαιρική γνώμη μπορεί να αποκτήσει για αυτό. Σήμερα στο διαδίκτυο γίνεται ένας βομβαρδισμός από χρήσιμες και άχρηστες πληροφορίες, κάποιες βάσιμες αλλά και πολλές ψευδείς, που στόχο έχουν την παραπλάνηση του κοινού για προσωπικά οφέλη. Άρα, οι πληροφορίες που δεχόμαστε είναι μεν πολλές και χρήσιμες, αλλά από την άλλη, πρέπει να μπορούν να αξιολογηθούν. Για να γίνει όμως αυτό, πρέπει να υπάρχει η δυνατότητα να είναι ό- λες μας τις πληροφορίες συγκεντρωμένες. Αυτό, στις μέρες μας, είναι δουλειά των aggregators. Οι aggregators (συναθροιστές), είναι ιστοσελίδες ή προγράμματα υπολογιστών, που συγκεντρώνουν συγκεκριμένου τύπου πληροφορίες, από διάφορες πηγές του www. Έ- -1-

14 τσι, μπορεί ο καθένας να αποκτήσει πρόσβαση μόνο στο συγκεκριμένο θέμα που τον ενδιαφέρει, χωρίς να χρειάζεται να ψάξει στο χάος των πληροφοριών του www. Όμως, με τη συνεχή αύξηση των ιστοσελίδων του διαδικτύου, ακόμα και οι aggregators δεν είναι σε θέση από μόνοι τους να παρέχουν τις σωστές πληροφορίες. Πολλά site αναπαράγουν μια είδηση που έχουν βρει από άλλα site, με αποτέλεσμα στο χρήστη να φτάνουν πληροφορίες που στην ουσία είναι ίδιες, κάνοντας πάλι την αναζήτηση του δύσκολη. Το παραπάνω πρόβλημα των aggregators, εμφανίζεται και σε άλλες εφαρμογές. Η μεγάλης κλίμακας ροή πληροφοριών, έχει οδηγήσει τον άνθρωπο στην ανάγκη να φιλτράρει τις πληροφορίες που δέχεται για να μπορέσει να τις διαχειριστεί. Ανάλογο πρόβλημα παρουσιάζεται και στην εύρεση παρόμοιων κειμένων. Η λογοκλοπή, είναι ένα φαινόμενο, που εμφανίζεται όλο και περισσότερο στις μέρες μας και στηρίζεται στο μεγάλο όγκο δεδομένων του διαδικτύου. Τα εισηγητικά συστήματα (recommender systems), επίσης χρησιμοποιούν μεθόδους ομοιότητας για να μπορέσουν να αξιολογήσουν τα δεδομένα που χρειάζονται. Συστήματα ανάκτησης πληροφοριών, επίσης χρησιμοποιούν αριθμητικές βαθμολογίες για ταύτιση των ερωτημάτων του χρήστη, με κάθε α- ντικείμενο της εκάστοτε περιοχής αποθήκευσης των δεδομένων. Ακόμα και στο marketing χρησιμοποιούνται στατιστικές μέθοδοι για την καλύτερη προώθηση προϊόντων, βασισμένες σε αλγορίθμους ομοιότητας. Το φιλτράρισμα των δεδομένων δεν είναι νέο πρόβλημα, αφού πάντα υπήρχε η α- νάγκη για σύγκριση δύο κειμένων. Με το www έγινε πιο εύκολο, για αυτό και αποτέλεσε αντικείμενο μελέτης. 1.2 Αντικείμενο της Πτυχιακής Αντικείμενο της πτυχιακής, είναι η επίλυση ως ένα βαθμό του παραπάνω προβλήματος. Θα δημιουργηθεί ένας μηχανισμός εύρεσης θεματικά επικαλυπτόμενων άρθρων, με χρήση κάποιων στατιστικών μεθόδων, έχοντας σαν έξοδο το ποσοστό ομοιότητας των δύο άρθρων. Πιο συγκεκριμένα, τα στάδια αυτού του μηχανισμού είναι: ανάλυση του κειμένου σε λέξεις, αφαίρεση των άχρηστων λέξεων, αφαίρεση της κατάληξης λέξεων, υπολογισμός της συχνότητας εμφάνισης των λέξεων, -2-

15 σύγκριση των λέξεων μεταξύ των κειμένων, αλγόριθμοι ομοιότητας (pearson correlation, cosine similarity, tanimoto coefficient, dice coefficient). Το υπόλοιπο της εργασίας διαμορφώνεται ως εξής: Στο Κεφάλαιο 2, γίνεται η ανάλυση του προβλήματος και παρουσιάζονται οι αλγόριθμοι ομοιότητας. Στο Κεφάλαιο 3, αναλύεται η γενική ιδέα του προβλήματος και παρουσιάζεται η όψη της εργασίας. Στο Κεφάλαιο 4, αναλύεται ότι έχει σχέση με τον κώδικα, που κρύβεται πίσω από ότι έχει όψη. Στο κεφάλαιο 5 εφαρμόζονται οι αλγόριθμοι και παρουσιάζονται τα αποτελέσματα της πειραματικής διαδικασίας. Τέλος στο Κεφάλαιο 6 καταγράφονται τα όποια συμπεράσματα της λειτουργίας του μηχανισμού και προτείνονται πιθανές μελλοντικές ε- πεκτάσεις. -3-

16

17 2 Πέρι Ομοιότητας Κειμένων Το πρόβλημα εύρεσης της ομοιότητας κειμένων/άρθρων μέρα με τη μέρα γίνεται όλο και μεγαλύτερο, λόγω του μεγάλου όγκου πληροφοριών που εισέρχονται καθημερινά στο διαδίκτυο. Σκοπός της πτυχιακής, είναι με τη χρήση κάποιων γνωστών αλγορίθμων ομοιότητας, αλλά και περνώντας τα προς σύγκριση κείμενα/άρθρα από ορισμένα βήματα μορφοποίησης, να καταλήξουμε σε έναν συντελεστή ομοιότητας. 2.1 Το πρόβλημα της εύρεσης ομοιότητας Καθημερινά, περνώντας λίγο χρόνο μπροστά στην οθόνη ενός υπολογιστή, μπορεί κανείς να καταλάβει το προνόμιο της πρόσβασης στο διαδίκτυο. Κάνοντας μερικά κλικ, μπορεί ο καθένας να ενημερωθεί για αυτό που τον ενδιαφέρει, να αποκτήσει πρόσβαση σε πληροφορίες που πριν μερικά χρόνια θα του ήταν πιο δύσκολο, και να επιλέξει τις πιο έγκυρες πηγές για την ενημέρωσή του. Το βασικό πρόβλημα όμως, είναι το πως θα επιλέξει ποιά είναι η πιο έγκυρη πηγή. Με μια γρήγορη ματιά σε κάποια μηχανή αναζήτησης, γίνεται αντιληπτό ότι το προϊόν της αναζήτησης μας έχει πολλές αποκρίσεις. Αυτό έχει ως αποτέλεσμα, ναι μεν περισσότερες πληροφορίες και πιο σφαιρική προσέγγιση του εκάστοτε θέματος, αλλά και πολλές ίδιες πληροφορίες, που έχουν σκοπό να κάνουν πιο δύσκολη τη ζωή του α- ναγνώστη στην εύρεση αυτού που επιθυμεί. Εδώ λοιπόν, αρχίζει να φαίνεται πόσο επιτακτική είναι η ανάγκη για φιλτράρισμα των πληροφοριών και για σύγκριση αυτής της πληθώρας των πληροφοριών μεταξύ τους. Έτσι, είναι εύκολα αντιληπτή η ανάγκη για ύπαρξη ενός μηχανισμού, που θα μπορεί να κάνει αυτό ακριβώς, δηλαδή δίνοντας του ένα σύνολο άρθρων να αποφασίζει ποιά από αυτά είναι μοναδικά, ποιά είναι πανομοιότυπα με κάποια άλλα, ή ποιά έχουν έστω κάποια σχέση μεταξύ τους. 2.2 Η ομοιότητα σαν έννοια Η σύγκριση δύο πραγμάτων, συνεπάγεται την κατάληξη σε ένα συμπέρασμα. Όταν για παράδειγμα συγκρίνεται το ύψος ή το βάρος δύο ατόμων, μπορεί να γίνει εύκολα αντι- -5-

18 ληπτό ποιος είναι λεπτότερος ή βαρύτερος, ποιος είναι ψηλότερος ή κοντύτερος. Αυτό όμως, δεν μπορεί να εφαρμοστεί με την ίδια ευκολία και σε κείμενα. Αυτό συμβαίνει, γιατί ένα κείμενο αποτελείται από κεφάλαια, ενότητες, παραγράφους, προτάσεις και τελικά λέξεις. Οπότε είναι σαφές, ότι άλλο η σύγκριση ενός μέλους ενός συνόλου και άλλο δύο συνόλων μεταξύ τους. Για να βρεθεί η ομοιότητα δύο κειμένων, πρέπει να σπάσουν αυτά τα κείμενα στα συστατικά τους, δηλαδή σε λέξεις. Σε μια γλώσσα όμως, και πολύ περισσότερο την ελληνική με τον πλούσιο λεκτικό πλούτο που διαθέτει, αυτό κάνει τη σύγκριση αρκετά πιο δύσκολη, για αυτό και η ομοιότητα είναι προσεγγιστική με τη χρήση στατιστικών μεθόδων ομοιότητας. 2.3 Αλγόριθμοι ομοιότητας Οι μέθοδοι ομοιότητας βασίζονται πάνω σε γνωστούς αλγορίθμους ομοιότητας, οι ο- ποίοι παρουσιάζονται παρακάτω Pearson Ο συντελεστής συσχέτισης Pearson ([1], [2], [4]) (Pearson's Correlation Coefficient), αναπτύχθηκε από τον Karl Pearson, βασισμένος στην ιδέα που είχε εισάγει ο Francis Galton στη δεκαετία του Ο συντελεστής υπολογίζει τη γραμμική συσχέτιση δυο διανυσμάτων και επιστρέφει τιμές από -1 έως 1. Όσο η τιμή πλησιάζει το 1 και -1 αντίστοιχα, τα διανύσματα μοιάζουν όλο και περισσότερο, ενώ όσο η τιμή πλησιάζει στο μηδέν, τα διανύσματα είναι όλο και πιο αντίθετα. Ο τύπος της μετρικής είναι ο ακόλουθος: όπου, μο(α) και μο(β) είναι οι μέσοι όροι των τιμών των συνιστωσών των διανυσμάτων Α και Β αντίστοιχα. Έτσι, η ομοιότητα Peasron ορίζεται ως το άθροισμα των διαφορών των εκάστοτε τιμών Αi και του Bi, των διανυσμάτων Α και Β, με τους αντίστοιχους μέσους όρους τους, διά το γινόμενο των τετραγωνικών ριζών των αθροισμά- -6-

19 των του τετραγώνου των διαφορών του εκάστοτε Αi και Βi, με τους αντίστοιχους μέσους όρους τους Cosine Ως ομοιότητα συνημιτόνου ([2], [3], [4]) ( cosine similarity ), ορίζεται το συνημίτονο της γωνίας που σχηματίζουν τα δυο διανύσματα που συγκρίνονται. Επιστρέφει τιμές ανάμεσα στο -1 και το 1. Κυρίως όμως στην ομοιότητα χρησιμοποιεί μόνο θετικές τιμές στο διάστημα [0,1], οπότε όσο πιο κοντά στο 1 είναι η τιμή τόσο μεγαλύτερη η ομοιότητα, ενώ όσο πιο κοντά στο 0, τόσο πιο ανεξάρτητα είναι τα κείμενα. Ο τύπος της μετρικής είναι ο ακόλουθος: Έτσι, η ομοιότητα cosine ορίζεται ως το άθροισμα του γινομένου των τιμών των συνιστωσών των διανυσμάτων Α και Β, δια το γινόμενο των τετραγωνικών ριζών του αθροίσματος του τετραγώνου των συνιστωσών του Α και των συνιστωσών του Β Tanimoto Ο συντελεστής ομοιότητας Tanimoto ([2], [3], [4]) (tanimoto coefficient), είναι μια παραλλαγή του αλγορίθμου Jaccard για υπολογισμό μη δυαδικών δειγμάτων. Επιστρέφει τιμές από 0 ως 1, όσο πιο κοντά η τιμή είναι στο 1 τόσο μεγαλύτερη είναι και η ομοιότητα, ενώ όσο τείνει στο μηδέν η ομοιότητα μικραίνει. Ο τύπος της μετρικής είναι ο ακόλουθος: Έτσι, η ομοιότητα tanimoto, ορίζεται ως το άθροισμα του γινομένου των τιμών των συνιστωσών των διανυσμάτων Α και Β, δια το άθροισμα όλων των τετραγωνικών τιμών του διανύσματος Α, συν το άθροισμα όλων των τετραγωνικών τιμών του διανύσματος Β, μείον το άθροισμα του γινομένου των τιμών των συνιστωσών των διανυσμάτων Α και Β. -7-

20 2.3.4 Dice Ο συντελεστής ομοιότητας Dice [5] (Sorensen-dice coefficient), ή αλλιώς συντελεστής ομοιότητας Sorensen, αναπτύχθηκε ανεξάρτητα από τους βοτανολόγους Thorvald Sørensen και Lee Raymond Dice, το 1948 και το 1945 αντίστοιχα και αποτελεί μια στατιστική μέθοδο μέτρησης ομοιότητας δύο δειγμάτων. Ο Dice επιστρέφει τιμές ανάμεσα στο 0 και 1 και όπως και οι προηγούμενοι αλγόριθμοι όσο περισσότερο η τιμή του πλησιάζει στο 1 τόσο μεγαλύτερη είναι η ομοιότητα, ενώ αντίθετα, όσο πλησιάζει στο 0 τόσο πιο ανόμοια είναι δύο δείγματα. Ο τύπος της μετρικής είναι ο ακόλουθος: Έτσι, ως ομοιότητα dice, ορίζεται το άθροισμα του γινομένου των τιμών των συνιστωσών των διανυσμάτων Tik,Tqk, πολλαπλασιασμένο επί δύο, διά το άθροισμα όλων των τιμών του Tik συν το άθροισμα όλων των τιμών του Tqk Μέσος όρος Ο μέσος όρος, είναι η μέση τιμή της ομοιότητας των τεσσάρων παραπάνω αλγορίθμων. 2.4 Άλλες εφαρμογές Οι παρακάτω εφαρμογές έχουν ως κοινό στοιχείο τη σύγκριση ομοιότητας είτε αυτή είναι ανάμεσα σε δύο κείμενα, είτε ανάμεσα σε ένα σύνολο κειμένων, είτε ανάμεσα σε προτιμήσεις χρηστών Aggregators Όπως ανεφέρθηκε, οι aggregators, είναι ιστοσελίδες ή προγράμματα υπολογιστών, που συγκεντρώνουν συγκεκριμένου τύπου πληροφορίες από διάφορες πηγές του www. Προσφέρουν στους χρήστες γρηγορότερη και ευκολότερη ανεύρεση των πληροφοριών που επιθυμούν, καθώς συγκεντρώνουν το σύνολο των πληροφοριών σε ένα σημείο. Υπάρχουν διάφορα είδη aggregators, το καθένα αφορά και ένα συγκεκριμένο γκρουπ πληροφοριών. Υπάρχουν συλλέκτες νέων, συλλέκτες κριτικών ταινιών, συλλέκτες για video, ακόμα και συλλέκτες για δεδομένα από διάφορα blogs. Στόχος των aggregators είναι η συλλογή, ανάλυση και ταξινόμηση αυτών των πληροφοριών. -8-

21 2.4.2 Εφαρμογές λογοκλοπής Η λογοκλοπή (plagiarism) [6], είναι μια έννοια που χρησιμοποιείται όλο και περισσότερο στις μέρες μας. Ως λογοκλοπή, ορίζεται η οικειοποίηση των απόψεων, ιδεών ή ακόμα και φράσεων άλλων ατόμων χωρίς να γίνεται σαφής αναφορά σε αυτούς. Η λογοκλοπή όμως δεν είναι ένα ούτε καινούριο φαινόμενο, ούτε αφορά μόνο ένα συγκεκριμένο αντικείμενο. Λογοκλοπή υπάρχει σε οτιδήποτε μπορούμε να φανταστούμε, σε ανακαλύψεις πάνω στα μαθηματικά, τη φυσική ή και σε οποιαδήποτε άλλη επιστήμη, σε πίνακες και βιβλία, σε σύγχρονες ανακαλύψεις, για να φτάσουμε σε αυτό που αντικρίζουμε στην καθημερινότητα μας, τη δημοσιογραφία. Στις μέρες μας, με την εξάπλωση του διαδικτύου, έχουν αναπτυχθεί αρκετές online εφαρμογές εύρεσης και αντιμετώπισης της λογοκλοπής [7], που βασίζονται στην ομοιότητα κειμένων Recommender systems Το εισηγητικό σύστημα ή αλλιώς recommender system [8], είναι ένα σύστημα που με τη χρήση μεθόδων ομοιότητας, συλλέγει και αναλύει τις προτιμήσεις διαφόρων χρηστών, ώστε να είναι σε θέση να κάνει προτάσεις που ο εκάστοτε χρήστης θα τις βρίσκει ενδιαφέρουσες. Στις μέρες μας τέτοια συστήματα αποτελούν ένα από τα ισχυρότερα όπλα του marketing, καθώς δίνουν τη δυνατότητα στις εταιρείες να προωθούν τα προϊόντα τους με σωστότερο τρόπο και να μπορούν να γνωρίζουν από πριν το αγοραστικό τους κοινό Συστήματα ανάκτησης πληροφοριών Ως συστήματα ανάκτησης πληροφοριών (Information Retrieval Systems) [9], θεωρούνται τα συστήματα εκείνα, που έχουν ως στόχο την αποδοτική αναζήτηση πληροφοριών κάθε τύπου μέσα από ένα σύνολο δεδομένων. Η διαδικασία ξεκινάει από το χρήστη που ορίζει το προϊόν της αναζήτησης και το σύστημα κάνει την αναζήτηση δίνοντας ένα ποσοστό ομοιότητας σε κάθε αντικείμενο που βρίσκεται στον εκάστοτε χώρο αποθήκευσης, για παράδειγμα μια βάση δεδομένων. Έτσι, κατατάσσει τα αντικείμενα με βάση την ομοιότητά τους και επιστρέφει στο χρήστη αυτά με τη μεγαλύτερη. -9-

22

23 3 Βασική Ιδέα και Σχεδιασμός Στο παρόν κεφάλαιο γίνεται αναφορά στους τρόπους και τις τεχνικές που θα χρησιμοποιηθούν. Παρουσιάζεται το υπόβαθρο λειτουργίας του μηχανισμού εύρεσης ομοιότητας, δηλαδή το site αλλά και η βασική ιδέα στον τρόπο λειτουργίας όλου του μηχανισμού. 3.1 Γλώσσες προγραμματισμού HTML H HTML ([10], [11]), είναι το ακρωνύμιο των λέξεων HyperText Markup Language (γλώσσα μορφοποίησης υπερκειμένου) και είναι η βασική γλώσσα δόμησης σελίδων του διαδικτύου. Χρησιμοποιείται για να αποδοθεί οπτικά μια ιστοσελίδα στον χρήστη και επιτρέπει την ενσωμάτωση αντικειμένων, όπως αρχεία ήχου και εικόνας. Η HTML, αποτελεί υποσύνολο της γλώσσας SGML (Standard Generalized Markup Language) που επινοήθηκε από την IBM, ώστε να λυθεί το πρόβλημα της μη τυποποιημένης εμφάνισης κειμένων σε υπολογιστικά συστήματα. Η γλώσσα χρησιμοποιεί έναν αριθμό από tags (ετικέτες), κυρίως σε ζεύγη, για τη μορφοποίηση κειμένου και την εισαγωγή αντικειμένων. Έτσι, όταν ένας web browser δέχεται ένα HTML αρχείο, το μεταφράζει σε ειδικά διαμορφωμένα αποτελέσματα, με στόχο τη σωστή εμφάνιση και λειτουργία της ιστοσελίδας. Εκτός όμως από τις ετικέτες, ένα html αρχείο μπορεί να περιέχει και php κώδικα, css κανόνες, java scripts, και sql εντολές PHP Η php [12], είναι μια γλώσσα προγραμματισμού, που είναι κατάλληλη για προγραμματισμό διαδικτυακών εφαρμογών. Αποτελεί ακρωνύμιο των λέξεων Hypertext Preprocessor (προ επεξεργαστής κειμένου PHP). Χρησιμοποιείται για την κατασκευή και διαχείριση δυναμικών ιστοσελίδων, που τροποποιούνται από το διαχειριστή τους online ή διαφοροποιούνται ανάλογα με τις επιλογές του χρήστη που τις επισκέπτεται. -11-

24 Η λειτουργία μιας php σελίδας είναι τις περισσότερες φορές αόρατη στο μάτι του χρήστη, καθώς αναλαμβάνει κυρίως να εκτελεί διεργασίες για τη λειτουργία της ιστοσελίδας παρά για την εμφάνιση CSS Τα CSS (Cascading Style Sheets) [13], είναι αρχεία με ένα σύνολο κανόνων για τη μορφοποίηση ιστοσελίδων. Μπορούν να διαμορφώσουν χαρακτηριστικά μιας ιστοσελίδας, αλλά και να ελέγξουν τη συμπεριφορά τους σε διάφορες ενέργειες. Τα CSS, είναι ουσιαστικά μια εξελιγμένη μορφή μορφοποίησης ιστοσελίδων και δημιουργήθηκαν για την σταδιακή κατάργηση των κανόνων μορφοποίησης μέσα σε ετικέτες SQL Η sql (Structured Query Language) [14], είναι μια γλώσσα προγραμματισμού που σχεδιάστηκε για τη δημιουργία και διαχείριση βάσεων δεδομένων. Είναι σχεδιασμένη έτσι, ώστε να παρέχει στο χρήστη σημαντικές δυνατότητες όπως η εύρεση, προβολή, ενημέρωση και διαγραφή των δεδομένων. 3.2 Εργαλεία σχεδιασμού Netbeans Το Netbeans, είναι μια πλατφόρμα προγραμματισμού ανοιχτού κώδικα, που σχεδιάστηκε αρχικά για java εφαρμογές, αλλά πλέον καλύπτει ένα πολύ μεγαλύτερο φάσμα γλωσσών προγραμματισμού όπως php, html, c, c++ κτλ. Το Netbeans σχεδιάστηκε σε java και μπορεί να τρέξει σε Windows, Mac OS X, Linux, Solaris MySql Workbench To Mysql Workbench, είναι ένα λογισμικό που σχετίζεται με την ανάπτυξη sql κώδικα, τη διαχείριση και το σχεδιασμό βάσεων δεδομένων σε ένα ενιαίο περιβάλλον ανάπτυξης. Μπορεί να τρέξει σε Windows, Linux και Mac OS X. -12-

25 3.2.3 XAMPP To XAMPP [15], είναι ένα πακέτο προγραμμάτων ελεύθερου λογισμικού, λογισμικού ανοιχτού κώδικα και ανεξαρτήτου πλατφόρμας, το οποίο περιέχει τον εξυπηρετητή ι- στοσελίδων http Apache, τη βάση δεδομένων Mysql και έναν διερμηνέα για κώδικα γραμμένο σε γλώσσες προγραμματισμού php και perl. Το όνομα του αποτελεί ακρωνύμιο, από τα παρακάτω αρχικά, που αποτελούν και τα χαρακτηριστικά λειτουργίας του: Α) Χ (<<cross platform>>, λογισμικό ανεξάρτητο πλατφόρμας). Β) Α (Apache) Γ) M (MySql) Δ) P (PHP) Ε) P (Perl) Στόχος της δημιουργίας του, ήταν η ανάπτυξη και δοκιμή ιστοσελίδων τοπικά στον υπολογιστή χωρίς να είναι απαραίτητη η σύνδεση στο διαδίκτυο HyperSnap To Hypersnap, είναι ένα λογισμικό λήψης στιγμιότυπων από την οθόνη του υπολογιστή. Περιλαμβάνει, επίσης, ένα μενού επεξεργασίας των στιγμιότυπών. Είναι διαθέσιμο για Windows, Linux και Mac OS X. Χρησιμοποιήθηκε δοκιμαστική έκδοση καθώς είναι εμπορικό λογισμικό. 3.3 Παρουσίαση εφαρμογής Η δημιουργία μιας εφαρμογής εύρεσης ομοιότητας κειμένων προϋποθέτει την ύπαρξη κάποιων επιμέρους βημάτων, τα οποία μαζί θα συνθέσουν την τελική εφαρμογή. Τα βήματα αυτά αποτελούν από μόνα τους μια κατηγορία προβλημάτων, και χωρίζονται σε περαιτέρω λειτουργίες, όχι μόνο για τη χρήση του τελικού μηχανισμού, αλλά ακόμα προσφέροντας τη δυνατότητα για χρήση του καθενός ξεχωριστά. Επιπλέον, ο χρήστης έχει τη δυνατότητα να χρησιμοποιεί όλες τις λειτουργίες μέσω του site, αλλά και κάνοντας απευθείας μια url κλήση. Οι επιμέρους λειτουργίες που έχει τη δυνατότητα να δοκιμάσει ο χρήστης είναι: Tokenizer (αναλυτής του κειμένου σε λέξεις). Stemmer (αφαιρέτης της κατάληξης των λέξεων). Stop Word Remover (αφαιρέτης άχρηστων λέξεων). -13-

26 Freguency counter (μετρητής ποσοστού εμφάνισης των λέξεων). Σύγκριση κειμένων (ολόκληρη η εφαρμογή, συνδυάζοντας όλα τα παραπάνω βήματα, καθώς και τους αλγορίθμους ομοιότητας). Εικόνα 3.1 Αρχική σελίδα 3.4 Βασικές Λειτουργίες Όπως είδαμε και παραπάνω, ο μηχανισμός εύρεσης ομοιότητας απαρτίζεται από κάποιες βασικές λειτουργίες. Οι λειτουργίες είναι οι tokenizer, stemmer, Stop Word Remover και Frequency counter. Αυτές οι λειτουργείες συνθέτουν τον τελικό μηχανισμό, αλλά μπορούν και να κληθούν ανεξάρτητα. Όλες λοιπόν οι λειτουργίες έχουν ως είσοδο ένα αρχείο κειμένου, το οποίο όμως πρέπει να πληροί κάποιες προϋποθέσεις, δηλαδή να είναι στην ελληνική γλώσσα, όπως επίσης να είναι αρχείο με κατάληξη.txt και κωδικοποίηση Utf-8. Ο σχεδιασμός του μηχανισμού επιτρέπει στο χρήστη να κάνει εισαγωγή του αρχείου είτε μέσω της φόρμας εισαγωγής του site, είτε με κλήση του μηχανισμού ως υπηρεσία μέσω url. Και στις δύο περιπτώσεις, ο χρήστης έχει την επιλογή να διαλέξει εκτός από τον τρόπο εισαγωγής του αρχείου, τη λειτουργία που θέλει να χρησιμοποιήσει, καθώς και τον τρόπο που θέλει να εμφανιστούν τα αποτελέσματα. Η γενική σύνταξη της url κλήσης, ακολουθεί την παρακάτω μορφή: Όνομα_αρχείου.php?(file ή text)= κείμενο ή όνομα αρχείου &choise=

27 Ανάλογα με τη λειτουργία, υπάρχει η δυνατότητα να εισαχθεί αρχείο (file) ή κείμενο (text). Αντίστοιχα, στον τρόπο εμφάνισης των αποτελεσμάτων, ο χρήστης μπορεί να επιλέξει αν θέλει να πάρει το αποτέλεσμα ως λέξεις σε λίστα, ως κείμενο ή και τα δύο (Εικόνα 3.2), δίνοντας την κατάλληλη επιλογή (1 για κείμενο, 2 για λίστα λέξεων, 3 και για τα δύο). Αυτή του η επιλογή ρυθμίζεται από την παράμετρο choise. Upload: keimeno1.txt ENCODING: ASCI Type: text/plain Size: kb Temp file: C:\Users\Vasilis\Desktop\ptyxiaki\xampp\tmp\php2425.tmp Stored in: upload/keimeno1.txt Βρέθηκαν συνολικά 12 λέξεις Βρέθηκαν 12 μοναδικές λέξεις ΑΝΤΙΚΕΙΜΕΝΟ(1) ΤΗΣ(1) ΠΤΥΧΙΑΚΗΣ(1) ΕΙΝΑΙ(1) Η(1) ΔΗΜΙΟΥΡΓΙΑ(1) ΕΝΟΣ(1) ΜΗΧΑΝΙΣΜΟΥ(1) ΕΝΤΟΠΙΣΜΟΥ(1) ΘΕΜΑΤΙΚΑ(1) ΕΠΙΚΑΛΥΠΤΟΜΕΝΩΝ(1) ΑΡΘΡΩΝ(1) -ΑΝΤΙΚΕΙΜΕΝΟ(1) -ΤΗΣ(1) -ΠΤΥΧΙΑΚΗΣ(1) -ΕΙΝΑΙ(1) -Η(1) -ΔΗΜΙΟΥΡΓΙΑ(1) -ΕΝΟΣ(1) -ΜΗΧΑΝΙΣΜΟΥ(1) -ΕΝΤΟΠΙΣΜΟΥ(1) -ΘΕΜΑΤΙΚΑ(1) -ΕΠΙΚΑΛΥΠΤΟΜΕΝΩΝ(1) -ΑΡΘΡΩΝ(1) Εικόνα 3.2 Ενδεικτικό αποτέλεσμα εξόδου, ως κείμενο και ως λίστα λέξεων Tokenizer Ο tokenizer (αναλυτής λέξεων) όπως και όλες οι υπόλοιπες λειτουργίες, δίνουν τη δυνατότητα στο χρήστη να τις καλεί είτε μέσω του site, όπως φαίνεται στην Εικόνα 3.3, είτε με κάποια url κλήση, εισάγοντας αρχείο ή κείμενο της πτυχιακης είναι η δημιουργία ενός μηχανισμού εντοπισμού θεματικά επικαλυπτόμενων άρθρων&choise=1.. Ο Tokenizer, είναι η λειτουργία πάνω στην οποία βασίζονται όλες οι υπόλοιπες. Για να μπορέσουν να φέρουν αποτελέσματα, χρειάζεται πρώτα το κείμενο/αρχείο/άρθρο που τους δίνεται να σπάσει σε λέξεις. -15-

28 Εικόνα 3.3 Φόρμα εισαγωγής αρχείου στον tokenizer Όπως φαίνεται και στην Εικόνα 3.3, ο tokenizer δέχεται ένα αρχείο ως είσοδο. Α- ντίστοιχα στις κλήσεις μέσω url, ο tokenizer δέχεται σαν ορίσματα την πλήρη διαδρομή του αρχείου προς εισαγωγή ή ένα μικρής έκτασης κείμενο. Έτσι, και στις τρεις περιπτώσεις, το αποτέλεσμα φαίνεται στην Εικόνα 3.4. Upload: keimeno1.txt ENCODING: ASCII Type: text/plain Size: kb Temp file: C:\Users\Vasilis\Desktop\ptyxiaki\xampp\tmp\php6FB7.tmp Stored in: upload/keimeno1.txt Βρέθηκαν συνολικά 12 λέξεις -ΑΝΤΙΚΕΙΜΕΝΟ -ΤΗΣ -ΠΤΥΧΙΑΚΗΣ -ΕΙΝΑΙ -Η -ΔΗΜΙΟΥΡΓΙΑ -ΕΝΟΣ -ΜΗΧΑΝΙΣΜΟΥ -ΕΝΤΟΠΙΣΜΟΥ -ΘΕΜΑΤΙΚΑ -ΕΠΙΚΑΛΥΠΤΟΜΕΝΩΝ -ΑΡΘΡΩΝ Stemmer Εικόνα 3.4 Αποτέλεσμα Tokenizer Ο stemmer [16] (αφαιρέτης κατάληξης λέξεων), για την ελληνική γλώσσα αποτελεί έργο του Γιώργου Νταή στο Msc Thesis με τίτλο Development of a Stemmer for the Greek Language, του Πανεπιστημίου της Στοκχόλμης / Βασιλικό Ινστιτούτο Τεχνολογίας. -16-

29 Ο stemmer, δέχεται σαν είσοδο μια λέξη και αφαιρεί την κατάληξη της σύμφωνα με έναν αλγόριθμο. Ο αλγόριθμος αυτός, βασίζεται στον αλγόριθμο Porter [17], που είναι ο αντίστοιχος αλγόριθμος για την αγγλική γλώσσα, προσαρμοσμένος όμως στους γραμματικούς κανόνες της ελληνικής γλώσσας. Εικόνα 3.5 Stemmer μίας λέξης Εικόνα 3.6 Αποτέλεσμα stemmer μίας λέξης Στόχος του είναι να μπορεί να αναγνωρίσει λέξεις, που ενώ φαίνονται διαφορετικές, στην ομοιότητα κειμένων είναι ίδιες. Για παράδειγμα, ένα ουσιαστικό είτε είναι σε ο- νομαστική είτε σε γενική πτώση, παραμένει η ίδια λέξη. Βέβαια, αυτό ισχύει για τον άνθρωπο, ο υπολογιστής όμως για να το αντιληφθεί ως ίδια οντότητα, πρέπει να είναι ακριβώς το ίδιο. -17-

30 Στην παρούσα εργασία, ο χρήστης έχει τη δυνατότητα, να χρησιμοποιήσει τέσσερις εκδοχές του stemmer. Στην πρώτη εκδοχή (Εικόνα 3.5), ο stemmer δέχεται ως είσοδο μια λέξη και δίνει σαν έξοδο τη λέξη χωρίς την κατάληξη της (Εικόνα 3.6). Εικόνα 3.7 Φόρμα εισαγωγής αρχείου στον stemmer Σε όλες λοιπόν τις περιπτώσεις, εκτός της πρώτης, το αποτέλεσμα φαίνεται στην Εικόνα 3.8. Upload: keimeno1.txt ENCODING: ASCII Type: text/plain Size: kb Temp file: C:\Users\Vasilis\Desktop\ptyxiaki\xampp\tmp\phpB679.tmp Stored in: upload/keimeno1.txt Βρέθηκαν συνολικά 12 λέξεις Κείμενο: Αντικείμενο της πτυχιακής είναι η δημιουργία ενός μηχανισμού εντοπισμού θεματικά επικαλυπτόμενων άρθρων Αποτέλεσμα σε κείμενο: ΑΝΤΙΚΕΙΜ ΤΗΣ ΠΤΥΧΙΑΚ ΕΙΝ Η ΔΗΜΙΟΥΡΓ ΕΝ ΜΗΧΑΝΙΣΜ ΕΝΤΟΠΙΣΜ ΘΕΜΑΤ ΕΠΙΚΑΛΥΠΤΟΜ ΑΡΘΡ Λίστα λέξεων: -ΑΝΤΙΚΕΙΜ -ΤΗΣ -ΠΤΥΧΙΑΚ -ΕΙΝ -Η -ΔΗΜΙΟΥΡΓ -ΕΝ -ΜΗΧΑΝΙΣΜ -ΕΝΤΟΠΙΣΜ -ΘΕΜΑΤ -ΕΠΙΚΑΛΥΠΤΟΜ -ΑΡΘΡ Εικόνα 3.8 Αποτέλεσμα Stemmer -18-

31 Στη δεύτερη εκδοχή, ο χρήστης μπορεί να δώσει παραπάνω από μια λέξεις σαν είσοδο μέσω url, χωρισμένες μεταξύ τους με ότι αυτός επιθυμεί, Αντικείμενο της πτυχιακης είναι η δημιουργία ενός μηχανισμού εντοπισμού θεματικά επικαλυπτόμενων άρθρων&choise=1-3. Στην τρίτη εκδοχή, ο χρήστης μπορεί να δώσει ένα αρχείο ως είσοδο (Εικόνα 3.7). Και στην τέταρτη εκδοχή του stemmer, ο χρήστης κάνοντας μια url κλήση, δίνει ως είσοδο την πλήρη διαδρομή ενός αρχείου, Junk Word Remover Ο Junk Word Remover (αφαιρέτης άχρηστων λέξεων), είναι ένας μηχανισμός, που επιτρέπει στο χρήστη να του δώσει σαν είσοδο ένα αρχείο και να πάρει στην έξοδο το ίδιο κείμενο, αλλά απαλλαγμένο από λέξεις που δεν έχουν βαρύτητα στην εύρεση ομοιότητας. Όπως και ο stemmer, βασίζει τη λειτουργία του αρχικά στον tokenizer, ώστε να σπάσει τα κείμενα σε λέξεις. Το λεξικό αποτελείται από σύνολο λέξεων, το οποίο απαρτίζεται από τις πιο συνηθισμένες λέξεις των παρακάτω κατηγοριών της νεοελληνικής γραμματικής [18]: Συντομογραφίες (π.χ., δηλ., αρ., κτλ.). Άρθρα 1. Οριστικό άρθρο(ο, η, το, κτλ.). 2. Αόριστο άρθρο( ένας, μια, ένα, κτλ.). Αντωνυμίες 1. Προσωπικές αντωνυμίες ( εγώ, εσύ, αυτός, κτλ.). 2. Κτητικές αντωνυμίες ( μου, σου, του, κτλ.). 3. Αυτοπαθείς αντωνυμίες ( του εαυτού μου, του εαυτού σου, κτλ.). 4. Οριστικές αντωνυμίες ( ο ίδιος, η ίδια, το ίδιο, κτλ.). 5. Δεικτικές αντωνυμίες ( αυτός, τούτος, εκείνος, τέτοιος, τόσος, κτλ.). 6. Αναφορικές αντωνυμίες ( που, οποίος, όποιος, όσος, κτλ.). 7. Ερωτηματικές αντωνυμίες ( τί, ποιός, πόσος, κτλ.). 8. Αόριστες αντωνυμίες (ένας, κανένας, κάποιος, μερικοί, κάτι, τίποτα, κτλ.). Επιρρήματα 1. Τοπικά επιρρήματα ( εδώ, εκεί, πάνω, κάτω, κτλ.). -19-

32 2. Χρονικά επιρρήματα ( πότε, κάποτε, πριν, τώρα κτλ.). 3. Τροπικά επιρρήματα ( έτσι, καλά, κακά, κτλ.). 4. Ποσοτικά επιρρήματα ( τόσο, πολύ, λίγο, κτλ.). 5. Βεβαιωτικά, διστακτικά, αρνητικά επιρρήματα ( ναι, ίσως, όχι, δεν, κτλ.). Προθέσεις ( κατά, μετά, παρά, από, κτλ.). Σύνδεσμοι 1. Συμπλεκτικοί σύνδεσμοι( και, ούτε, μήτε, κτλ.). 2. Διαχωριστικοί σύνδεσμοι ( ή, είτε). 3. Αντιθετικοί σύνδεσμοι ( μα, αλλά, παρά, κτλ.). 4. Συμπερασματικοί σύνδεσμοι ( λοιπόν, άρα, κτλ.). 5. Επεξηγηματικός σύνδεσμος ( δηλαδή ). 6. Ειδικοί σύνδεσμοι ( πως, που, ότι ). 7. Χρονικοί σύνδεσμοι ( όταν, σαν, ενώ, κτλ.). 8. Αιτιολογικοί σύνδεσμοι ( γιατί, επειδή, κτλ.). 9. Υποθετικοί σύνδεσμοι ( αν, σαν, άμα ). 10. Τελικοί σύνδεσμοι ( να, για να ). 11. Αποτελεσματικοί σύνδεσμοι ( ώστε, που ). 12. Διστακτικοί σύνδεσμοι ( μη, μην, κτλ.). 13. Συγκριτικός σύνδεσμος ( παρά ). Μόρια ( ας, θα, να, μα, για ). Επιφωνήματα ( α, εύγε, μπράβο, μακάρι, κτλ.). Εικόνα 3.9 Φόρμα εισαγωγής αρχείου στον Junk Word Remover -20-

33 Όπως και οι προηγούμενες λειτουργίες, δίνει τη δυνατότητα στο χρήστη να τον καλέσει με τρεις τρόπους, μέσω της φόρμας εισαγωγής του site (Εικόνα 3.9), έσω κλήσης url με είσοδο αρχείο, ή με κλήση url με είσοδο κείμενο, Αντικείμενο της πτυχιακης είναι η δημιουργία ενός μηχανισμού εντοπισμού θεματικά επικαλυπτόμενων άρθρων& choise=1-3. Τα αποτελέσματα φαίνονται στην Εικόνα Upload: keimeno1.tx ENCODING: ASCII Type: text/plain Size: kb Temp file: C:\Users\Vasilis\Desktop\ptyxiaki\xampp\tmp\phpC6CF.tmp Stored in: upload/keimeno1.txt Βρέθηκαν συνολικά 12 λέξεις Υπάρχουν 798 άχρηστες λέξεις στο λεξικό Βρέθηκαν συνολικά 4 άχρηστες λέξεις Έμειναν 8 λέξεις Αποτέλεσμα σε κείμενο:αντικειμενο ΠΤΥΧΙΑΚΗΣ ΔΗΜΙΟΥΡΓΙΑ ΜΗΧΑΝΙΣΜΟΥ ΕΝΤΟΠΙΣΜΟΥ ΘΕΜΑΤΙΚΑ ΕΠΙΚΑΛΥΠΤΟΜΕΝΩΝ ΑΡΘΡΩΝ Λίστα λέξεων: ΑΝΤΙΚΕΙΜΕΝΟ ΠΤΥΧΙΑΚΗΣ ΔΗΜΙΟΥΡΓΙΑ ΜΗΧΑΝΙΣΜΟΥ ΕΝΤΟΠΙΣΜΟΥ ΘΕΜΑΤΙΚΑ ΕΠΙΚΑΛΥΠΤΟΜΕΝΩΝ ΑΡΘΡΩΝ Frequency counter Εικόνα 3.10 Αποτέλεσμα Junk Word Remover O frequency counter (μετρητής συχνότητας λέξεων), είναι η τελευταία αυτόνομη λειτουργία. Δέχεται ένα αρχείο ή κείμενο στην είσοδο του, και αφού πρώτα το περάσει από τον tokenizer, παίρνει την έξοδο αυτού, δηλαδή τις λέξεις και τις συγκρίνει μεταξύ τους. Στόχος του, είναι στη νέα λίστα λέξεων που δημιουργεί, να μην υπάρχει διπλή λέξη, να εμφανίζει δηλαδή τις μοναδικές λέξεις, αλλά και το πόσες φορές έχουν εμφανιστεί αυτές στο κείμενο. Όπως και όλες οι υπόλοιπες λειτουργίες, η είσοδος των δεδομένων γίνεται με τρεις τρόπους, μέσω της φόρμας εισαγωγής αρχείου του site (Εικόνα 3.11), -21-

34 Εικόνα 3.11 Φόρμα εισαγωγής αρχείου στον Frequency counter μέσω κλήσης url με είσοδο αρχείο, ή με κλήση url με είσοδο κείμενο, Αντικείμενο της πτυχιακης είναι η δημιουργία ενός μηχανισμού εντοπισμού θεματικά επικαλυπτόμενων άρθρων& choise=1-3. Τα αποτελέσματα φαίνονται στην Εικόνα Upload: keimeno1.txt ENCODING: ASCII Type: text/plain Size: kb Temp file: C:\Users\Vasilis\Desktop\ptyxiaki\xampp\tmp\phpAD38.tmp Stored in: upload/keimeno1.txt Βρέθηκαν συνολικά 12 λέξεις Βρέθηκαν 12 μοναδικές λέξεις Αποτέλεσμα σε κείμενο: ΑΝΤΙΚΕΙΜΕΝΟ(1) ΤΗΣ(1) ΠΤΥΧΙΑΚΗΣ(1) ΕΙΝΑΙ(1) Η(1) ΔΗΜΙΟΥΡΓΙΑ(1) ΕΝΟΣ(1) ΜΗΧΑΝΙΣΜΟΥ(1) ΕΝΤΟΠΙΣΜΟΥ(1) ΘΕΜΑΤΙΚΑ(1) ΕΠΙΚΑΛΥΠΤΟΜΕΝΩΝ(1) ΑΡΘΡΩΝ(1) Λίστα λέξεων: -ΑΝΤΙΚΕΙΜΕΝΟ(1) -ΤΗΣ(1) -ΠΤΥΧΙΑΚΗΣ(1) -ΕΙΝΑΙ(1) -Η(1) -ΔΗΜΙΟΥΡΓΙΑ(1) -ΕΝΟΣ(1) -ΜΗΧΑΝΙΣΜΟΥ(1) -ΕΝΤΟΠΙΣΜΟΥ(1) -ΘΕΜΑΤΙΚΑ(1) -ΕΠΙΚΑΛΥΠΤΟΜΕΝΩΝ(1) -ΑΡΘΡΩΝ(1) Εικόνα 3.12 Αποτέλεσμα Frequency counter -22-

35 3.5 Σύνθετες λειτουργίες Εκτός των βασικών λειτουργιών που προσφέρονται στο χρήστη και περιγράφονται παραπάνω, το βασικό αντικείμενο μελέτης είναι η εύρεση της ομοιότητας θεματικά επικαλυπτόμενων άρθρων. Αυτό προϋποθέτει την ύπαρξη κάποιων μηχανισμών, που βασισμένοι στις προηγούμενες λειτουργίες, φτάνουν στο τελικό αποτέλεσμα. Αυτοί οι μηχανισμοί είναι τρεις: σύγκριση δύο κειμένων μεταξύ τους, εισαγωγή ή σύγκριση ενός κειμένου με τη database και σύγκριση δυο κειμένων απευθείας από τη database Σύγκριση δύο κειμένων μεταξύ τους Σε αυτό το μηχανισμό, ο χρήστης έχει τη δυνατότητα να εισάγει δύο αρχεία. Μπορεί να τα εισάγει μέσω της φόρμας εισαγωγής του site (Εικόνα 3.13), ή κάνοντας μια κλήση, Lοcalhost/doc_compare.php?file1=keimeno4.txt&file2=keimeno4.txt&choise=1-6. Από την παράμετρο choise, αν η επιλογή είναι από το 2-5, τότε το αποτέλεσμα θα αφορά τον εκάστοτε αλγόριθμο(1-pearson, 2-cosine, 3-tanimoto, 4-dice), αν η επιλογή είναι το 6, τότε θα εμφανίζει το μέσο όρο των τεσσάρων αλγορίθμων, ενώ αν η επιλογή είναι το 1, θα τα εμφανίζει όλα. Ωστόσο, οι κανόνες για την εισαγωγή των αρχείων ισχύουν και εδώ, το αρχείο πρέπει να είναι στα ελληνικά, σε μορφή.txt και με κωδικοποίηση utf-8. Εικόνα 3.13 Σύγκριση δύο αρχείων, με έξι επιλογές Για να λειτουργήσει όμως ο μηχανισμός εύρεσης ομοιότητας, πρέπει να περάσει από ορισμένα βήματα. Κάποια ανφέρθηκαν, τα υπόλοιπα παρουσιάζονται παρακάτω. Αρχικά, τα υπό εξέταση αρχεία, περνούν μέσα από τον tokenizer (σελ. 15), ώστε και τα δύο αρχεία να σπάσουν σε λέξεις. Έπειτα, το αποτέλεσμα του tokenizer, δηλαδή -23-

36 δύο πίνακες με λέξεις, στέλνονται στον junk word remover (σελ. 19) ώστε να αφαιρεθούν οι λέξεις χωρίς βαρύτητα. Σαν έξοδο ο junk word remover, δίνει δύο νέους πίνακες με τις λέξεις που έχουν μείνει. Αυτοί οι δύο νέοι πίνακες, περνάνε μέσα από τον stemmer, (σελ. 16) ώστε να φύγουν οι καταλήξεις των λέξεων. Ο stemmer με τη σειρά του, δημιουργεί δύο νέους πίνακες, που τους δίνει στον frequency counter (σελ. 21), ώστε να τους πάρει και να τους συγκρίνει. Έπειτα, ο frequency counter, παίρνει αυτούς τους δύο πίνακες, συγκρίνει για τον κάθε πίνακα ξεχωριστά τις λέξεις μεταξύ τους και βγάζει τις μοναδικές λέξεις και τη συχνότητά τους. Αυτές μέχρι τώρα ήταν και οι λειτουργίες που είχαμε δει. Υπάρχουν όμως και άλλοι μηχανισμοί, που δεν υπάρχει λόγος να χρησιμοποιούνται ανεξάρτητα, ώστε να φτάσουν σε ένα ποσοστό ομοιότητας δύο άρθρων. Αρχικά, το α- ποτέλεσμα του frequency counter είναι δύο νέοι πίνακες για κάθε αρχείο, ένας με λέξεις και ένας με τις αντίστοιχες συχνότητες τους. Υπάρχει εδώ μια συνάρτηση, που έχει ως είσοδο το παραπάνω και η δουλειά της είναι να συγκρίνει την κάθε λέξη του ενός κειμένου με το άλλο, ώστε να δει ποιες λέξεις είναι ίδιες, ποιες όχι και να δημιουργήσει ένα νέο κοινό πίνακα, με τις συχνότητες των δύο άρθρων. Το νέο αυτόν πίνακα, τον δίνει σε μια νέα συνάρτηση, η οποία ανάλογα με ποιον αλγόριθμο διάλεξε ο χρήστης, καλεί και τον αντίστοιχο αλγόριθμο σύγκρισης ομοιότητας. Έτσι, οι αλγόριθμοι τρέχουν και ο καθένας βγάζει ένα ποσοστό ομοιότητας. Ένα ενδεικτικό αποτέλεσμα του μηχανισμού σύγκρισης, φαίνεται παρακάτω. C:\Users\Vasilis\Desktop\ptyxiaki\xampp\htdocs\keimeno4.txt C:\Users\Vasilis\Desktop\ptyxiaki\xampp\htdocs\keimeno4.txt Βρέθηκαν συνολικά 767 λέξεις στο πρώτο κείμενο Βρέθηκαν συνολικά 767 λέξεις στο δεύτερο κείμενο Υπάρχουν 798 άχρηστες λέξεις στο λεξικό Υπάρχουν 388 άχρηστες λέξεις στο πρώτο κείμενο Υπάρχουν 388 άχρηστες λέξεις στο δεύτερο κείμενο Υπάρχουν 266 μοναδικές λέξεις στο πρώτο κείμενο Υπάρχουν 266 μοναδικές λέξεις στο δεύτερο κείμενο Υπάρχουν 266 μοναδικές λέξεις και στα δύο κείμενα Pearson 100% Cosine 100% Tanimoto 100% Dice 100% Average 100% Εικόνα 3.14 Αποτέλεσμα σύγκρισης δύο αρχείων Εισαγωγή/Σύγκριση κείμενου με τη βάση δεδομένων Παρόμοιος μηχανισμός με το μηχανισμό σύγκρισης δύο αρχείων, μόνο που πλέον δεν υπάρχουν δύο, αλλά μόνο ένα αρχείο. Ο χρήστης έχει τη δυνατότητα να εισάγει απλά ένα αρχείο στη database για μελλοντική χρήση, αλλά και τη δυνατότητα εισάγοντας το -24-

37 να συγκριθεί η ομοιότητα του με όλα τα υπόλοιπα άρθρα που υπάρχουν αποθηκευμένα μέσα στη database. Στη φόρμα εισαγωγής, ο χρήστης μπορεί να ορίσει πόσο θα είναι το ποσοστό της ομοιότητας, έτσι αν κάποιο κείμενο της βάσης δεδομένων έχει μεγαλύτερη ή ίση ομοιότητα με αυτή που έχει ορίσει ο χρήστης, θα του το επιστρέφει μαζί με τις απαραίτητες λεπτομέρειες (Εικόνα 3.15). Εικόνα 3.15 Εισαγωγή/ Σύγκριση αρχείου με database Upload: keimeno2.txt ENCODING: ASCII Type: text/plain Size: kb Temp file: C:\Users\Vasilis\Desktop\ptyxiaki\xampp\tmp\phpD1D7.tmp Stored in: upload/keimeno2.txt Γενικές Πληροφορίες: Υπαρχουν 885 συνολικες λεξεις στο κειμενο Υπάρχουν 798 άχρηστες λέξεις στο λεξικό Βρέθηκαν συνολικά 404 άχρηστες λέξεις στο κειμενο Έμειναν 481 λέξεις Βρέθηκαν 304 μοναδικές λέξεις Εικόνα 3.16 Αποτέλεσμα εισαγωγής αρχείου Η λειτουργία του μηχανισμού είναι σχεδόν ίδια με το μηχανισμό σύγκρισης κειμένων, πρέπει τα κείμενα να είναι στα ελληνικά, σε txt. μορφή και utf-8 κωδικοποίηση. Χρησιμοποιεί όλους τους μηχανισμούς που προαναφέρθηκαν, tokenizer, stop word remover, stemmer, frequency counter, καθώς και τους μηχανισμούς για τη σύγκριση των λέξεων και την κλήση των αλγορίθμων ομοιότητας. Η μόνη διαφορά είναι, ότι οι λέξεις του δευτέρου κειμένου προέρχονται από τη database και όχι από αρχείο, καθώς και ότι -25-

38 μπορεί να συγκρίνει πολύ περισσότερα κείμενα από τα δύο του προηγούμενου μηχανισμού. Ένα ενδεικτικό αποτέλεσμα του μηχανισμού στην εισαγωγή κειμένου φαίνεται στην Εικόνα 3.16 ένω ένα ενδεικτικό αποτέλεσμα του μηχανισμού στη σύγκριση αρχείων, με ορισμό ποσοστού ομοιότητας 100% φαίνεται στην Εικόνα Upload: keimeno1.txt ENCODING: ASCII Type: text/plain Size: kb Temp file: C:\Users\Vasilis\Desktop\ptyxiaki\xampp\tmp\php48F1.tmp Stored in: upload/keimeno1.txt Γενικές Πληροφορίες: Υπαρχουν 11 συνολικες λεξεις στο κειμενο Υπάρχουν 798 άχρηστες λέξεις στο λεξικό Βρέθηκαν συνολικά 4 άχρηστες λέξεις στο κειμενο Έμειναν 7 λέξεις Βρέθηκαν 7 μοναδικές λέξεις Όμοιο κείμενο: Το πρωι λεμε καλημερα, το απογευμα καλησπερα και το βραδυ καληνυχτα Πληροφορίες σύγκρισης: Βρέθηκαν 14 συνολικές λέξεις και στα δυο κειμενα. Βρέθηκαν 7 μοναδικές λέξεις και στα δυο κειμενα. Βρέθηκαν 7 μοναδικες λεξεις στο πρωτο κειμενο. Βρέθηκαν 7 μοναδικές λέξεις στο δευτερο κειμενο Ποσοστά ομοιότητας: Η ομοιότητα pearson είναι: 100 % Η ομοιότητα cosine είναι: 100 % Η ομοιότητα dice είναι: 100 % Η ομοιότητητα tanimoto είναι: 100 % Η μέση ομοιότητητα είναι: 100 % Εικόνα 3.17 Αποτέλεσμα σύγκρισης αρχείου Επιλογή και σύγκριση αρχείων από τη database Ο τελευταίος μηχανισμός ομοιότητας, στην ουσία δεν αποτελεί αυτόνομο μηχανισμό ομοιότητας, αλλά βασίζεται στη δουλειά που έχει κάνει ο προηγούμενος μηχανισμός εισαγωγής/σύγκρισης αρχείων στη database. Εδώ ο χρήστης δεν εισάγει κανένα αρχείο, το μόνο που μπορεί να κάνει είναι να διαλέξει δύο κείμενα που υπάρχουν ήδη στη database, για να δει τις λεπτομέρειες και την ομοιότητα τους (Εικόνα 3.18). Εάν είναι κείμενα που ήδη έχουν ελεγχθεί κάποια στιγμή, τότε απλά χρησιμεύει στο να δει το απο- -26-

39 τέλεσμα χωρίς να κάνει όλη την προηγούμενη διαδικασία και μάλιστα πολύ γρήγορα. Σε αντίθετη περίπτωση, αν έχει απλά εισάγει ένα αρχείο στη database χωρίς όμως να το συγκρίνει με τα υπόλοιπα, μπορεί να το καλέσει και να το συγκρίνει όποια στιγμή θέλει με όποιο αρχείο επιθυμεί, χωρίς να χρειάζεται να το εισάγει ξανά. Άρα, ο μηχανισμός προσφέρεται και για μελλοντική χρήση, είτε για επανάληψη της ίδιας σύγκρισης, είτε για σύγκριση ενός κειμένου που έχει απλά εισαχθεί. Το αποτέλεσμα μιας τέτοιας σύγκρισης φαίνεται στην Εικόνα Εικόνα 3.18 Σύγκριση δυο αρχείων από τη database Βρέθηκαν 1064 συνολικές λέξεις και στα δυο κειμενα. Βρέθηκαν 511 μοναδικές λέξεις και στα δυο κειμενα. Βρέθηκαν 269 μοναδικες λεξεις στο πρωτο κειμενο. Βρέθηκαν 349 μοναδικές λέξεις στο δευτερο κειμενο Η ομοιότητα pearson είναι: 42.7 % Η ομοιότητα cosine είναι: % Η ομοιότητα dice είναι: % Η ομοιότητητα tanimoto είναι: % Η μέση ομοιότητητα είναι: % Εικόνα 3.19 Αποτέλεσμα σύγκρισης δύο αρχείων από τη database -27-

40 3.6 Προδιαγραφές χρήσης μέσω web Γενική σύνταξη της url κλήσης των βασικών λειτουργιών: Όνομα_αρχείου.php?(file ή text)= κείμενο ή όνομα αρχείου &choise= 1-3. Tokenizer tokens_result.php Επιστρέφει τις λέξεις του αρχείου ή του κειμένου που έχει εισαχθεί. File Text Δέχεται ως είσοδο την πλήρη διαδρομή ενός αρχείου. Δέχεται σαν είσοδο κείμενο. Choise Επιλογή του τρόπου εμφάνισης των αποτελεσμάτων, μόνο μια επιλογή εδώ. Παραδείγματα χρήσης 1 file=c:\users\vasilis\desktop\ptyxiaki\keimeno1.txt& choise=1 2 της πτυχιακης είναι η δημιουργία ενός μηχανισμού εντοπισμού θεματικά επικαλυπτόμενων άρθρων&choise=1. Αποτέλεσμα Εικόνα 3.4 Αποτέλεσμα Tokenizer Stemmer stems.php Επιστρέφει τις λέξεις του αρχείου ή του κειμένου με αποκομμένη την κατάληξή τους. File Text Δέχεται ως είσοδο την πλήρη διαδρομή ενός αρχείου. Δέχεται σαν είσοδο κείμενο. Choise Επιλογή του τρόπου εμφάνισης των αποτελεσμάτων, τρεις επιλογές εμφάνισης. Παραδείγματα χρήσης 1 file=c:\users\vasilis\desktop\ptyxiaki\keimeno1.txt& choise=1 2 της πτυχιακης είναι η δημιουργία ενός μηχανισμού εντοπισμού θεματικά επικαλυπτόμενων άρθρων&choise=1. Αποτέλεσμα Εικόνα 3.8 Αποτέλεσμα Stemmer -28-

41 Junk Word Remover Junk_words.php Διαγράφει όσες λέξεις του αρχείου ή του κειμένου θεωρούνται μη σημαντικές και επιστρέφει τις υπόλοιπες. File Text Δέχεται ως είσοδο την πλήρη διαδρομή ενός αρχείου. Δέχεται σαν είσοδο κείμενο. Choise Επιλογή του τρόπου εμφάνισης των αποτελεσμάτων, τρεις επιλογές εμφάνισης. Παραδείγματα χρήσης 1 file=c:\users\vasilis\desktop\ptyxiaki\keimeno1.txt& choise=1 2 της πτυχιακης είναι η δημιουργία ενός μηχανισμού εντοπισμού θεματικά επικαλυπτόμενων άρθρων&choise=1. Αποτέλεσμα Εικόνα 3.10 Αποτέλεσμα Junk Word Remover Frequency counter frequency.php Επιστρέφει τις λέξεις του αρχείου ή του κειμένου που έχει εισαχθεί, μαζί με το ποσοστό εμφάνισης της κάθε λέξης. File Δέχεται ως είσοδο την πλήρη διαδρομή ενός αρχείου. Text Δέχεται σαν είσοδο κείμενο. Choise Επιλογή του τρόπου εμφάνισης των αποτελεσμάτων, τρεις επιλογές εμφάνισης. Παραδείγματα χρήσης file=c:\users\vasilis\desktop\ptyxiaki\keimeno1.txt& choise=1 της πτυχιακης είναι η δημιουργία ενός μηχανισμού εντοπισμού θεματικά επικαλυπτόμενων άρθρων&choise=1. Αποτέλεσμα Εικόνα 3.12 Αποτέλεσμα Frequency counter -29-

42 Σύγκριση δυο κειμένων μεταξύ τους Doc_compare.php Συγκρίνει δύο κείμενα ή αρχεία και επιστρέφει το ποσοστό ομοιότητάς τους. File1 Δέχεται ως είσοδο την πλήρη διαδρομή του πρώτου αρχείου. File2 Δέχεται ως είσοδο την πλήρη διαδρομή του δεύτερου αρχείου. Choise Επιλογή του τρόπου εμφάνισης των αποτελεσμάτων, έξι επιλογές εμφάνισης. Παράδειγμα χρήσης 1 Lοcalhost/doc_compare.php? file1=c:\users\vasilis\desktop\ptyxiaki\xammp\htdocs\keimeno4.txt& file2=c:\users\vasilis\desktop\ptyxiaki\xampp\htdocs\keimeno4.txt& choise=1-6. Αποτέλεσμα Εικόνα 3.14 Αποτέλεσμα σύγκρισης δύο αρχείων -30-

43 4 Υλοποίηση Στο προηγούμενο κεφάλαιο, παρουσιάστηκε το πώς δουλεύουν οι μηχανισμοί, η όψη τους και τι αποτελέσματα μας δίνουν. Σε αυτό το κεφάλαιο, παρουσιάζεται το εσωτερικό αυτών των μηχανισμών, ώστε να αναλυθεί το πως λειτουργούν [19]. 4.1 Κώδικας σύνθεσης του site CSS κανόνες Στο Css_register1.css αρχείο, εμπεριέχονται όλες εκείνες οι ρυθμίσεις που είναι απαραίτητες για τη σωστή εμφάνιση της αρχικής σελίδας του site. Ανάλογα με την ετικέτα, ορίζει το χρώμα του φόντου, το φόντο, τις ρυθμίσεις της γραμματοσειράς, τη στοίχιση, τα περιθώρια, τις διαστάσεις κτλ Έλεγχος αρχείων Το αρχείο One.php, εμπεριέχει τους κανόνες εκείνους που χρειάζεται το site, ώστε να ελέγχει τη σωστή λειτουργία των φορμών εισαγωγής, όταν εισάγονται αρχεία. Ελέγχει αρχικά αν έχει εισαχθεί αρχείο, και αν ναι, τότε πρέπει να είναι σε μορφή.txt και όχι μεγαλύτερο από περίπου 2 MB. Αν ισχύουν τα παραπάνω, τότε εμφανίζει στο χρήστη πληροφορίες για το αρχείο και το αποθηκεύει σε έναν προσωρινό φάκελο στο server, κάνοντας έλεγχο αν υπάρχει αρχείο με το ίδιο όνομα. Αν κάτι από τα παραπάνω δεν ισχύει, τότε βγάζει στο χρήστη το ανάλογο μήνυμα. Η ίδια διαδικασία επαναλαμβάνεται και δεύτερη φορά αν τα αρχεία που εισάγουμε είναι δύο Αρχική σελίδα Η αρχική σελίδα, αποτελείται από δύο αρχεία php, το Ptixiaki.php και το `Formes.php. Στο πρώτο υπάρχει ότι έχει σχέση με την όψη του site, εκτός από τις φόρμες, οι οποίες βρίσκονται στο δεύτερο αρχείο. Το αρχείο Ptixiaki.php είναι ένα html αρχείο, που με τη χρήση των ετικετών και το Css_register1.css αρχείο, δίνει μορφή στην αρχική σελίδα. Δίνει ένα μενού επιλογών στο χρήστη, που τον βοηθάει να επιλέξει ποια λειτουργία θέλει να χρησιμοποιήσει. Α- -31-

44 νάλογα με την επιλογή που κάνει, από το αρχείο `Formes.php, o browser επιστρέφει και την αντίστοιχη φόρμα. Για να το επιτύχει αυτό, σε κάθε επιλογή υπάρχουν δύο μεταβλητές, οι $cat και $value, που ανάλογα με την τιμή που τους δίνεται, φέρνουν και το αντίστοιχο αποτέλεσμα. Αντίστοιχα, το `Formes.php περιέχει τις φόρμες που ανάλογα με το τι υπάρχει στα $cat και $value, τρέχουν την αντίστοιχη φόρμα. Η φόρμα του tokenizer, δέχεται σαν input ένα αρχείο, το οποίο το στέλνει στο Tokens_result.php.Οι φόρμες των stop word remover, frequency counter και stemmer (για αρχείο), δέχονται σαν input ένα αρχείο, και ο χρήστης μπορεί να διαλέξει μια επιλογή εμφάνισης από τα radio buttons, τα οποία στέλνονται στα Frequency.php, Junk_words.php και Stems.php αντίστοιχα. Αντίθετα, ο stemmer για μια λέξη, δέχεται σαν input μια λέξη στα ελληνικά και αφού πρώτα με τη javascript εντολή τη μετατρέπει σε κεφαλαία, έπειτα με τη συνάρτηση GreekPorterStemmerUtf8();, η οποία είναι αρμόδια για την αφαίρεση της κατάληξης της λέξης, επιστρέφει το ανάλογο αποτέλεσμα στην ίδια φόρμα. H φόρμα της σύγκρισης κειμένων, έχει δύο inputs για αρχεία, και radio buttons για την επιλογή αλγορίθμου, που τα στέλνει στο Doc_compare.php. Η φόρμα για την εισαγωγή/σύγκριση αρχείων με τη βάση δεδομένων, έχει ένα input για είσοδο αρχείου, ένα input για κείμενο και δυο radio buttons για επιλογή, εισαγωγή ή σύγκριση που στέλνονται στο Com_total.php. Τέλος, η φόρμα για σύγκριση κειμένων μέσω της βάσης δεδομένων, έχει δύο λίστες επιλογής, μια για κάθε κείμενο, οι οποίες έχουν ως ορίσματα τα αποτελέσματα που φέρνει το sql ερώτημα που γίνεται στη βάση δεδομένων, δηλαδή τα κείμενα που υπάρχουν ήδη μέσα και τα στέλνει στο Database.php. Ptixiaki.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" " strict.dtd"> <html xmlns=" <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>πτυχιακή Εργασία</title> <link rel="stylesheet" type="text/css" href="css_register1.css"/> </head> <body> <div id="container"> <div id="header" > <div id="inside_header"> <div align="left" ><font color="blue">τει ΘΕΣΣΑΛΙΑΣ</font></div> <div align="right" ><font color="red">πτυχιακη ΕΡΓΑΣΙΑ</font></div> <div>τμημα</div> <div>μηχανικων</div> <div>πληροφορικησ ΤΕ</div> </div> </div> <div id="diaxwristiko"> </div> -32-

45 <div id="main"> <div id="menu"> <div id="menu-options"> <div id="center"><b>μενου</b></div> <ul> <li><a href="ptixiaki.php">αρχική σελίδα</a></li> <li><a href="ptixiaki.php?cat=tokenizer&value=1">tokenizer</a></li> <li><a href="ptixiaki.php?cat=fre_counter&value=1">frequency counter</a></li> <li><a>stemmer</a></li> <ul> <li><a href="ptixiaki.php?cat=stemmer&value=λέξη">λέξη</a></li> <li><a href="ptixiaki.php?cat=stemmer&value=κείμενο">αρχείο</a></li> </ul> <li><a href="ptixiaki.php?cat=remover&value=1">junk Word Remover</a></li> <li><a>σύγκριση</a></li> <ul> <li><a href="ptixiaki.php?cat=σύγκριση&value=κείμενο με database">κείμενο με database</a></li> <li><a href="ptixiaki.php?cat=σύγκριση&value=κείμενο">κείμενα μεταξύ τους</a></li> <li><a href="ptixiaki.php?cat=σύγκριση&value=database">κείμενα από τη Βάση</a></li> </ul> </ul> </div> </div> <div id="view"> <?php ini_set('default_charset', 'utf-8');?> <?php include'formes.php';?> </div> </div> <div id="diaxwristiko"> </div> <div id="footer"> <div id="right">v. Konstantopoulos</div> </div> </div> </body> </html> 4.2 Κώδικας λειτουργιών Όλες οι λειτουργίες, για να μπορέσουν να φέρουν αποτελέσματα, χρειάζονται δύο αρχεία το One.php και το Tokens.php. Το πρώτο για να γίνει έλεγχος αν το αρχείο που έχει εισαχθεί από τη φόρμα πληροί τις προϋποθέσεις και το δεύτερο για να ελέγχει αν η είσοδος είναι αρχείο μέσω της φόρμας, μέσω του url ή κείμενο μέσω url, να το αποθηκεύει στην κατάλληλη μεταβλητή μαζί με τις επιλογές που μπορεί να δώσει, και να καλεί τη συνάρτηση Tokenizer(), ώστε να σπάει η συμβολοσειρά σε λέξεις. Η συνάρτηση Tokenizer(), όπως και οι υπόλοιπες συναρτήσεις που χρησιμοποιούν οι λειτουργίες, βρίσκονται στο Sinartiseis.php. -33-

46 4.2.1 Κώδικας Tokenizer Στο προηγούμενο κεφάλαιο είδαμε το τι μπορεί να κάνει ο tokenizer, εδώ θα δούμε τι χρειάζεται, ώστε να μας φέρει αποτέλεσμα. Tokens_result.php <?php ini_set('default_charset', 'utf-8'); require("one.php"); require ("Tokens.php"); echo "<p>"."\n"."</p>"; echo '<B>'. ' Βρέθηκαν συνολικά '. $try[1].' λέξεις'. '</B>'; echo '<P>'; echo '<ul>'; for($i=0;$i<$try[1];$i++){ $apot[$i]=$try[0][$i]; echo '<li>'. $apot[$i]. '</li>'; echo '</ul>'; echo '</P>';?> Όπως φαίνεται, για να λειτουργήσει ο tokenizer χρειάζεται αρχικά το One.php, ώ- στε να ελέγξει την είσοδο, και μετά το Tokens.php, ώστε να του επιστρέψει τις λέξεις και να τις βάλει σε έναν πίνακα καλώντας από το Sinartiseis.php, όπου μέσα εμπεριέχει όλες τις συναρτήσεις που θα συναντήσουμε σε όλη την πορεία, τη συνάρτηση Tokenizer() και έπειτα εμφανίζει το αποτέλεσμα Κώδικας Stemmer Η ίδια διαδικασία ακολουθείται και εδώ, ελέγχεται η είσοδος, σπάει η συμβολοσειρά σε λέξεις και το αποτέλεσμα αποθηκεύεται σε έναν πίνακα. Έπειτα, αυτός ο πίνακας δίνεται στη συνάρτηση Stemmer_Remover(), ώστε να αφαιρεθούν οι καταλήξεις των λέξεων. Ανάλογα τώρα με την επιλογή που έχει δώσει ο χρήστης, τα αποτελέσματα έχουν και διαφορετικό τρόπο εμφάνισης. <?php Stems.php ini_set('default_charset', 'utf-8'); require("one.php"); require ("Tokens.php"); $apot5 = array(); $try5 = Stemmer_Remover($apot); echo '<B>'. ' Βρέθηκαν συνολικά '. $try[1]. ' λέξεις'. '</B>'; echo "<span style='color:blue;'>". $ptext. "</span>". ","; echo '<P>'; echo '<ul>'; for ($i = 0; $i < $try[1]; $i++) { $apot5[$i] = $try5[0][$i]; if ($choise == 1) { -34-

47 echo $apot5[$i]. " "; elseif ($choise == 2) { echo '<li>'. $apot5[$i]. '</li>'; else { echo $apot5[$i]. " "; for ($i = 0; $i < $try[1]; $i++) { if (($choise!= 1) && ($choise!= 2)) { echo '<li>'. $apot5[$i]. '</li>'; echo '</ul>'; echo '</P>';?> Κώδικας Junk Word Remover Και εδώ ισχύει ότι και στις προηγούμενες λειτουργίες, βέβαια με κάποιες μικρές αλλαγές. Πάλι γίνεται έλεγχος της εισόδου, πάλι σπάει η συμβολοσειρά και οι λέξεις τοποθετούνται σε πίνακα, αλλά πλέον υπάρχει και το αρχείο με τις άχρηστες λέξεις, Stopwords.txt. Για να σπάσουν τα αρχεία σε λέξεις, καλείται η συνάρτηση Tokenizer() και τα αποτελέσματά τους τοποθετούνται σε πίνακες. Έπειτα, καλείται η συνάρτηση Junk_Word_Remover(), έχοντας σαν είσοδο τον πίνακα με τις λέξεις και τον πίνακα με τις άχρηστες λέξεις και εμφανίζει το αποτέλεσμα ανάλογα με τον τρόπο εμφάνισης που επιθυμεί ο χρήστης. Junk_words.php <?php ini_set('default_charset', 'utf-8'); require("one.php"); require ("Tokens.php"); $stop_words = \file_get_contents("stopwords.txt"); $apot3 = array(); $apot4 = array(); $try3 = Tokenizer($stop_words); for ($i = 0; $i < $try3[1]; $i++) { $apot3[$i] = $try3[0][$i]; $try4 = Junk_Word_Remover($apot, $apot3); $lekseis = $try[1] - $try4[1]; echo '<B>'. ' Βρέθηκαν συνολικά '. $try[1]. ' λέξεις'. '</B>'; echo '<B>'. ' Υπάρχουν '. $try3[1]. ' άχρηστες λέξεις στο λεξικό'. '</B>'; echo '<B>'. ' Βρέθηκαν συνολικά '. $lekseis. ' άχρηστες λέξεις'. '</B>'; echo '<P>'; echo '<B>'. ' Έμειναν '. $try4[1]. ' λέξεις'. '</B>'; echo '<P>'; echo '<ul>'; for ($i = 0; $i < $try4[1]; $i++) { $apot4[$i] = $try4[0][$i]; if ($choise == 1) { -35-

48 echo $apot4[$i]. " "; elseif ($choise == 2) { echo '<li>'. $apot4[$i]. '</li>'; else { echo $apot4[$i]. " "; for ($i = 0; $i < $try4[1]; $i++) { if (($choise!= 1) && ($choise!= 2)) { echo '<li>'. $apot4[$i]. '</li>'; echo '</ul>'; echo '</P>';?> Κώδικας Frequency counter Και εδώ υπάρχει η ίδια λογική με τα προηγούμενα, έλεγχος της εισόδου, σπάσιμο της συμβολοσειράς σε λέξεις και πίνακας λέξεων. Η μόνη διαφορά με τον stemmer, είναι ότι εδώ ο πίνακας δίνεται στη συνάρτηση Frequency(), ώστε να βρεθούν οι μοναδικές λέξεις και ο αριθμός εμφάνισής τους. Ο τρόπος εμφάνισης των αποτελεσμάτων ποικίλει ανάλογα με την επιλογή που έχει κάνει ο χρήστης. Frequency.php <?php ini_set('default_charset', 'utf-8'); require("one.php"); require ("Tokens.php"); $apot1 = array(); $apot2 = array(); $try2 = Frequency($apot); echo '<B>'. ' Βρέθηκαν συνολικά '. $try[1]. ' λέξεις'. '</B>'; echo '<B>'. ' Βρέθηκαν '. $try2[2]. ' μοναδικές λέξεις'. '</B>'; echo '<P>'; echo '<ul>'; for ($i = 0; $i < $try2[2]; $i++) { $apot1[$i] = $try2[0][$i]; $apot2[$i] = $try2[1][$i]; if ($choise == 1) { echo $apot1[$i]. "(". $apot2[$i]. ") "; elseif ($choise == 2) { echo '<li>'. $apot1[$i]. "(". $apot2[$i]. ")". '</li>'; else { echo $apot1[$i]. "(". $apot2[$i]. ") "; for ($i = 0; $i < $try2[2]; $i++) { if (($choise!= 1) && ($choise!= 2)) { echo '<li>'. $apot1[$i]. "(". $apot2[$i]. ")". '</li>'; echo '</ul>'; echo '</P>'; -36-

49 ?> 4.3 Κώδικας βασικών μηχανισμών Παραπάνω παρουσιάστηκαν οι κώδικες των βασικών λειτουργιών και οι συναρτήσεις που χρησιμοποιήθηκαν. Σε αυτή την ενότητα, παρουσιάζονται οι κώδικες για το βασικό αντικείμενο μελέτης, που είναι η εύρεση θεματικά επικαλυπτόμενων άρθρων. Και οι τρεις μηχανισμοί που περιγράφονται παρακάτω έχουν σαν βάση τους τις συναρτήσεις που είδαμε παραπάνω Κώδικας σύγκρισης δύο κειμένων Για να φτάσει ο μηχανισμός σε ένα ποσοστό ομοιότητας δύο κειμένων, αυτά τα κείμενα πρέπει να περάσουν από κάποια στάδια σύγκρισης. <?php Doc_compare.php ini_set('default_charset', 'utf-8'); $arr2 = \file_get_contents("stopwords.txt"); $set = 2; require("one.php"); require("sinartiseis.php"); if (isset($_files["file1"]["type"])) { $type = $_FILES["file1"]["type"]; $choise = $_POST["choise"]; if ($type == "text/plain") { $k = $_FILES["file1"]["name"]; $x = basename($k, ".txt"); $arr1 = \file_get_contents("upload/$x.txt"); else { header("location: ptixiaki.php?msg=invalid File"); elseif (isset($_get["file1"])) { $sinartisi = $_GET["file1"]; $choise = $_GET["choise"]; echo $sinartisi; $arr1 = \file_get_contents($sinartisi); if (isset($_files["file2"]["type"])) { $type2 = $_FILES["file2"]["type"]; $choise2 = $_POST["choise"]; if ($type2 == "text/plain") { $k = $_FILES["file2"]["name"]; $x = basename($k, ".txt"); $arr3 = \file_get_contents("upload/$x.txt"); $files = glob('upload/*'); foreach ($files as $file) { if (is_file($file)) unlink($file); else { header("location: ptixiaki.php?msg=invalid File"); elseif (isset($_get["file2"])) { $sinartisi2 = $_GET["file2"]; -37-

50 $choise = $_GET["choise"]; echo $sinartisi2; $arr3 = \file_get_contents($sinartisi2); $final = calling($arr1, $arr2, $arr3, $choise); $axr1 = $final[1][1] - $final[4][1]; $axr2 = $final[2][1] - $final[5][1]; echo '<B>'. ' Βρέθηκαν συνολικά '. $final[1][1]. ' λέξεις στο πρώτο κείμενο'. '</B>'; echo '<B>'. ' Βρέθηκαν συνολικά '. $final[2][1]. ' λέξεις στο δεύτερο κείμενο'. '</B>'; echo '<B>'. ' Υπάρχουν '. $final[3][1]. ' άχρηστες λέξεις στο λεξικό'. '</B>'; echo '<B>'. ' Υπάρχουν '. $axr1. ' άχρηστες λέξεις στο πρώτο κείμενο'. '</B>'; echo '<B>'. ' Υπάρχουν '. $axr2. ' άχρηστες λέξεις στο δεύτερο κείμενο'. '</B>'; echo '<B>'. ' Υπάρχουν '. $final[6][2]. ' μοναδικές λέξεις στο πρώτο κείμενο'. '</B>'; echo '<B>'. ' Υπάρχουν '. $final[7][2]. ' μοναδικές λέξεις στο δεύτερο κείμενο'. '</B>'; echo '<B>'. ' Υπάρχουν '. $final[8][1]. ' μοναδικές λέξεις και στα δύο κείμενα'. '</B>'; if ($choise == 1) { echo "Pearson ". $final[0][1]. "%"; echo "Cosine ". $final[0][2]. "%"; echo "Tanimoto ". $final[0][3]. "%"; echo "Dice ". $final[0][4]. "%"; echo "Average ". $final[0][5]. "%"; else { echo '<B>'. "Η ομοιότητα είναι: ". $final[0][1]. "%". '</B>';?> Όπως φαίνεται και στο Doc_compare.php, στην αρχή γίνεται έλεγχος για το τι έχει εισαχθεί, αν τα αρχεία έχουν εισαχθεί από τη φόρμα ή έχουν δοθεί από το url και ελέγχεται αν πληρούν τις προϋποθέσεις που ορίζονται στο One.php. Έπειτα, αν δεν υπάρχει κάποιο πρόβλημα, καλείται η συνάρτηση calling() με ορίσματα τα δύο κείμενα, το λεξικό των άχρηστων λέξεων και την επιλογή του αλγορίθμου. Τέλος, βγάζει τις λεπτομέρειες σύγκρισης των κειμένων και ανάλογα με την επιλογή του χρήστη το ποσοστό ο- μοιότητας από τον αντίστοιχο αλγόριθμο Κώδικας εισαγωγής/σύγκρισης κειμένου με βάση δεδομένων Η λογική αυτού του μηχανισμού είναι παρόμοια με την απλή σύγκριση κειμένων, με τη διαφορά ότι εδώ υπάρχει και βάση δεδομένων, πράγμα το οποίο δίνει περισσότερες δυνατότητες στο χρήστη για σύγκριση κειμένων. Στο αρχείο Com_total.php υπάρχει όλος ο κώδικας και εδώ αναλύονται κάποια μέρη του εκτενώς. $arr2 = \file_get_contents("stopwords.txt"); Κλήση του αρχείου άχρηστων λέξεων. -38-

51 require("one.php"); require("sinartiseis.php"); $dbhost = 'localhost'; $dbname = 'mydb'; $dbuser = 'Vasilis'; $dbpass = '1234'; Κλήση των αρχείων, One.php και Sinartiseis.php, καθώς και οι ρυθμίσεις που χρειάζονται για τη βάση δεδομένων. if (isset($_files["file1"]["type"])) { $type = $_FILES["file1"]["type"]; $set = $_POST["choise"]; if ($set == 1) { $arithmos = $_POST["num"]; if ($type == "text/plain") { $k = $_FILES["file1"]["name"]; $x = basename($k, ".txt"); $ptext = \file_get_contents("upload/$x.txt"); unlink("upload/$x.txt"); else { header("location: ptixiaki.php?msg=invalid File"); Έλεγχος για το τί υπάρχει σαν είσοδος και τοποθέτηση όσων έχει λάβει σε μεταβλητές. $last32=0; try { $pdoobject = new PDO("mysql:host=$dbhost; dbname=$dbname;charset=utf8", $dbuser, $dbpass); $sql31 = "SELECT ID_KEIM FROM KEIMENA WHERE TITLOS ='$TITLOS'"; $statement = $pdoobject->prepare($sql31); $statement->execute(); while ($result32 = $statement->fetch()) { $last32 = $result32['id_keim']; $statement->closecursor(); $pdoobject = null; catch (PDOException $e) { header('location: ptixiaki.php?msg=pdo Exception: '. $e->getmessage()); exit(); if($last32!==0){ header('location: ptixiaki.php?msg=to keimeno iparxei idi'); exit(); Έλεγχος αν υπάρχει ήδη το κείμενο στη βάση δεδομένων. $TITLOS = $_POST['word2']; $KEIMENO = $ptext; try { $pdoobject = new PDO("mysql:host=$dbhost; dbname=$dbname;charset=utf8", $dbuser, $dbpass); $sql1 = "INSERT INTO KEIMENA (TITLOS,KEIMENO)VALUES(:TITLOS, :KEIMENO)"; $statement = $pdoobject->prepare($sql1); $statement->execute(array(':titlos' => $TITLOS, ':KEIMENO' => $KEIMENO)); $result1 = $statement->fetch(); -39-

52 $sql2 = "SELECT ID_KEIM FROM KEIMENA WHERE TITLOS ='$TITLOS'"; $statement = $pdoobject->prepare($sql2); $statement->execute(); while ($result2 = $statement->fetch()) { $last = $result2['id_keim']; $statement->closecursor(); $pdoobject = null; catch (PDOException $e) { header('location: ptixiaki.php?msg=pdo Exception: '. $e->getmessage()); exit(); Πρώτη σύνδεση με τη βάση δεδομένων. Με το ερώτημα $sql1 γίνεται είσοδος του τίτλου και του κειμένου στη βάση δεδομένων, στον πίνακα ΚΕΙΜΕΝΑ. Με το ερώτημα $sql2 γίνεται αναζήτηση του id του κειμένου που έχει εισαχθεί από τον ίδιο πίνακα. $try = Tokenizer($pText); ////Σπασιμο του κειμενου σε λεξεις for ($i = 0; $i < $try[1]; $i++) { $apot[$i] = $try[0][$i]; $sl = $try[1]; Κλήση της συνάρτησης Tokenizer(), με είσοδο τη συμβολοσειρά που έχει εισαχθεί και αποθήκευση των λέξεων στον πίνακα $apot και του αριθμού των λέξεων στο $sl. $try3 = Tokenizer($arr2); ////Σπασιμο του λεξικου αχρηστων λεξεων σε λεξεις for ($i = 0; $i < $try3[1]; $i++) { $apot3[$i] = $try3[0][$i]; Κλήση της συνάρτησης Tokenizer(), με είσοδο το λεξικό των άχρηστων λέξεων που έχει εισαχθεί και αποθήκευση των λέξεων στον πίνακα $apot3 και του αριθμού των λέξεων του λεξικού στο $try3[1]. $try4 = Junk_Word_Remover($apot, $apot3); for ($i = 0; $i < $try4[1]; $i++) {///Οι λέξεις του κειμένου που έμειναν $apot4[$i] = $try4[0][$i]; $telikes = $try[1] - $try4[1]; Κλήση της συνάρτησης Junk_Word_Remover(), με είσοδο τους πίνακες $apot και $apot3, που πήρε από τις δύο προηγούμενες συναρτήσεις και τοποθέτηση των λέξεων στον πίνακα $apot4, του αριθμού των λέξεων που έχουν μείνει στο $try4[1] και του α- ριθμού των άχρηστων λέξεων του κειμένου στο $telikes. $try5 = Stemmer_Remover($apot4); ///Stemmer for ($i = 0; $i < $try4[1]; $i++) { $apot5[$i] = $try5[0][$i]; Κλήση της συνάρτησης Stemmer_Remover(), με είσοδο τον πίνακα $apot4 που έχει πάρει από τη συνάρτηση Junk_Word_Remover() και τοποθέτηση των αποτελεσμάτων στον πίνακα $apot5. $apo = $try4[1]; $MON_LEKSEIS = 0; -40-

53 try { $pdoobject = new PDO("mysql:host=$dbhost; dbname=$dbname;charset=utf8", $dbuser, $dbpass); $sql3 = "INSERT INTO L_KEIMENOU (ID_KEIM,LEKSEIS,AX_LEKSEIS,MON_LEKSEIS)VALUES(:ID_KEIM, :LEKSEIS, :AX_LEKSEIS, :MON_LEKSEIS)"; $statement = $pdoobject->prepare($sql3); $statement->execute(array(':id_keim' => $last, ':LEKSEIS' => $sl, ':AX_LEKSEIS' => $telikes, ':MON_LEKSEIS' => $MON_LEKSEIS)); $result3 = $statement->fetch(); $statement->closecursor(); $pdoobject = null; catch (PDOException $e) { header('location: ptixiaki.php?msg=pdo Exception: '. $e->getmessage()); exit(); Δεύτερη σύνδεση με τη βάση δεδομένων. Με το ερώτημα $sql3 γίνεται εισαγωγή δεδομένων στον πίνακα L_KEIMENOU, το id του κειμένου, οι συνολικές λέξεις, οι άχρηστες λέξεις και οι μοναδικές λέξεις. $try2 = Frequency($apot5); ///Frequency counter for ($i = 0; $i < $try2[2]; $i++) { $apot1[$i] = $try2[0][$i]; $apot2[$i] = $try2[1][$i]; try { $pdoobject = new PDO("mysql:host=$dbhost; dbname=$dbname;charset=utf8", $dbuser, $dbpass); $sql4 = "INSERT INTO WORD (ID_KEIM,WORDS,FREE)VALUES(:ID_KEIM, :WORDS, :FREE)"; $statement = $pdoobject->prepare($sql4); $statement->execute(array(':id_keim' => $last, ':WORDS' => $apot1[$i], ':FREE' => $apot2[$i])); $result4 = $statement->fetch(); $statement->closecursor(); $pdoobject = null; catch (PDOException $e) { header('location: bases.php?msg=pdo Exception: '. $e->getmessage()); exit(); Κλήση της συνάρτησης Frequency(), με είσοδο τον πίνακα $apot5 που έχει λάβει από τη συνάρτηση Stemmer_Remover() και τοποθέτηση των λέξεων και των συχνοτήτων στους πίνακες $apot1 και $apot2 και του αριθμού των λέξεων στο $try2[2]. Σύνδεση με τη βάση δεδομένων μέσα σε loop, για εισαγωγή του id του κειμένου, των λέξεων και των συχνοτήτων στον πίνακα WORD της βάσης δεδομένων. Από εδώ και κάτω υπάρχουν δύο περιπτώσεις, αν ο χρήστης έχει επιλέξει εισαγωγή ή σύγκριση αρχείων. Αν έχει επιλέξει εισαγωγή, τότε η μεταβλητή $set έχει τιμή τρία, ενώ αντίθετα έχει τιμή 1. if ($set == 3) { try { $pdoobject = new PDO("mysql:host=$dbhost; dbname=$dbname;charset=utf8", $dbuser, $dbpass); $sql10 = "select count(words) from WORD where ID_KEIM = :ID_KEIM"; -41-

54 $statement = $pdoobject->prepare($sql10); $statement->execute(array(':id_keim' => $last)); $result10 = $statement->fetch(); $apotkeimeno1 = $result10[0]; $sql11 = "update L_KEIMENOU set MON_LEKSEIS = :MON_LEKSEIS where ID_KEIM = :ID_KEIM"; $statement = $pdoobject->prepare($sql11); $statement->execute(array(':mon_lekseis' => $apotkeimeno1, ':ID_KEIM' => $last)); $result11 = $statement->fetch(); $statement->closecursor(); $pdoobject = null; catch (PDOException $e) { header('location: ptixiaki.php?msg=pdo Exception: '. $e->getmessage()); exit(); echo " "; Ο παραπάνω κώδικας αφορά μόνο την εισαγωγή αρχείων. Γίνεται σύνδεση με τη βάση δεδομένων και με το ερώτημα $sql10 βρίσκει τον αριθμό των μοναδικών λέξεων για το κείμενο που εισήγαγε. Με το ερώτημα $sql11 κάνει ενημέρωση του πεδίου MON_LEKSEIS του πίνακα L_KEIMENOU. Ο κώδικας που θα δούμε από εδώ και κάτω αφορά μόνο τη σύγκριση του αρχείου με τη βάση δεδομένων. try { $pdoobject = new PDO("mysql:host=$dbhost; dbname=$dbname;charset=utf8", $dbuser, $dbpass); $sql5 = "SELECT count(id_keim) FROM KEIMENA "; $statement = $pdoobject->prepare($sql5); $statement->execute(); $result5 = $statement->fetch(); $athroisma = $result5[0]; $statement->closecursor(); $pdoobject = null; catch (PDOException $e) { header('location: ptixiaki.php?msg=pdo Exception: '. $e->getmessage()); exit(); Γίνεται σύνδεση με τη βάση δεδομένων για να βρεθεί, με το ερώτημα $sql5, ο αριθμός των αρχείων που βρίσκονται ήδη μέσα και τοποθετεί το αποτέλεσμα στη μεταβλητή $athroisma. for ($vaseis = 1; $vaseis < $athroisma; $vaseis++) { Μια επαναληπτική διαδικασία. Οι διαδικασίες που ακολουθούν επαναλαμβάνονται τόσες φορές όσα είναι και τα κείμενα στη βάση δεδομένων. $vaslex = array(); $vasfree = array(); $count = 0; $count1 = 0; $l = $try2[2]; try { $pdoobject = new PDO("mysql:host=$dbhost; dbname=$dbname;charset=utf8", $dbuser, $dbpass); -42-

55 $sql6 = "SELECT WORDS,FREE FROM WORD WHERE ID_KEIM='$vaseis' "; $statement = $pdoobject->prepare($sql6); $statement->execute(); while ($result6 = $statement->fetch()) { $count1 = $count1 + $result6['free']; ////συνολικες λέξεις $vaslex[$count] = $result6['words']; ////λέξεις $vasfree[$count] = $result6['free']; ///συχνότητες $count = $count + 1; ///μοναδικες λεξεις $statement->closecursor(); $pdoobject = null; catch (PDOException $e) { header('location: ptixiaki.php?msg=pdo Exception: '. $e->getmessage()); exit(); Σύνδεση με τη βάση δεδομένων και εύρεση, με το ερώτημα $sql6, των λέξεων και των συχνοτήτων από τον πίνακα WORD, όπου ο κωδικός του κειμένου είναι η μεταβλητή $vaseis. Τοποθέτηση των αποτελεσμάτων στους πίνακες $vaslex και $vasfree και μέτρημα συνολικών και μοναδικών λέξεων. $try3 = Teliko($apot1, $apot2, $vaslex, $vasfree); /// for ($i = 0; $i < $try3[1]; $i++) { $apot6[$i] = $try3[2][$i]; $apot7[$i] = $try3[3][$i]; Κλήση της συνάρτησης Teliko(), με ορίσματα τους πίνακες $apot1,$apot2, που περιέχουν τις λέξεις και τις συχνότητες του κειμένου που έχει εισαχθεί και $vaslex, $vasfree που περιέχουν τις λέξεις και τις συχνότητες για το κάθε αρχείο της βάσης δεδομένων. Τοποθέτηση των αποτελεσμάτων στους πίνακες $apot6 και $apot7, που είναι οι πίνακες με τις συχνότητες των δύο κειμένων προς εξέταση. $metrima = $count1 + $try4[1]; ///Συνολικές λέξεις $i = 0; $apotkeimeno1 = 0; $apotkeimeno2 = 0; while ($i < $try3[1]) { if (($apot6[$i])!= 0) { $apotkeimeno1++; if (($apot7[$i])!= 0) { $apotkeimeno2++; $i++; $sin_mon = $try3[1] - 1; try { $pdoobject = new PDO("mysql:host=$dbhost; dbname=$dbname;charset=utf8", $dbuser, $dbpass); $sql7 = "INSERT INTO L_SIGKRISIS (ID_KEIM1,ID_KEIM2,LEKSEIS,MON_LEKSEIS,MON_LEKSEIS2,MON_LEKSEIS3)VALUES(:ID_KEIM1, :ID_KEIM2, :LEKSEIS, :MON_LEKSEIS, :MON_LEKSEIS2, :MON_LEKSEIS3)"; $statement = $pdoobject->prepare($sql7); -43-

56 $statement->execute(array(':id_keim1' => $last, ':ID_KEIM2' => $vaseis, ':LEKSEIS' => $metrima, ':MON_LEKSEIS' => $apotkeimeno1, ':MON_LEKSEIS2' => $apotkeimeno2, ':MON_LEKSEIS3' => $sin_mon)); $result7 = $statement->fetch(); $statement->closecursor(); $pdoobject = null; catch (PDOException $e) { header('location: ptixiaki.php?msg=pdo Exception: '. $e->getmessage()); exit(); Υπολογίζει αρχικά τις συνολικές λέξεις και των δύο κειμένων, τις μοναδικές λέξεις και των δύο κειμένων, τις μοναδικές λέξεις για κάθε κείμενο ξεχωριστά. Γίνεται σύνδεση με τη βάση δεδομένων και με το ερώτημα $sql7 κάνει εισαγωγή στον πίνακα L_SIGKRISEIS, με τη σειρά, τον κωδικό του κειμένου που εισάγαμε, τον κωδικό του κειμένου από τη βάση δεδομένων, τις συνολικές λέξεις, τις μοναδικές λέξεις του πρώτου και του δευτέρου κειμένου, και τις συνολικές μοναδικές λέξεις. $z = 1; ///Προκαθορισμενη τιμη για ολους τους αλγοριθμους $try4 = similarity_algorithms($apot6, $apot7, $z); if ($z == 1) { for ($i = 1; $i <= 5; $i++) { $apot8[$i] = $try4[0][$i]; else { $apot8[1] = $try4[0][1]; $dice = $apot8[4]; $tanimoto = $apot8[3]; $correlation = $apot8[1]; $similarity = $apot8[2]; $r = $apot8[5]; Γίνεται κλήση της συνάρτησης similarity_algorithms(), με είσοδο τα $apot6, $apot7 και την επιλογή του χρήστη για τον αλγόριθμο. Ανάλογα με το τι ζητάει ο χρήστης, τα αποτελέσματα αποθηκεύονται στο $apot8 και μετά στην αντίστοιχη μεταβλητή για τον αλγόριθμο ομοιότητας. if ($r >= $arithmos) { $epilogi_flag = 1; try { $pdoobject = new PDO("mysql:host=$dbhost; dbname=$dbname;charset=utf8", $dbuser, $dbpass); $sql15 = "SELECT KEIMENO FROM KEIMENA WHERE ID_KEIM='$vaseis'"; $statement = $pdoobject->prepare($sql15); $statement->execute(); $result15 = $statement->fetch(); echo $result15['keimeno']; $statement->closecursor(); $pdoobject = null; catch (PDOException $e) { header('location: ptixiaki.php?msg=pdo Exception: '. $e->getmessage()); exit(); -44-

57 Γίνεται έλεγχος, αν ο μέσος όρος των συντελεστών ομοιότητας είναι μεγαλύτερος από αυτόν που έχει δώσει ο χρήστης. Αν ναι, τότε γίνεται σύνδεση με τη βάση, και με το ερώτημα $sql15 καλείται το αντίστοιχο κείμενο που υπάρχει ομοιότητα και το εμφανίζει. echo " "; echo 'Βρέθηκαν <b>'. $metrima. '</B> συνολικές λέξεις και στα δυο κειμενα.<br />'; echo 'Βρέθηκαν <b>'. $try3[1]. '</B> μοναδικές λέξεις και στα δυο κειμενα.<br />'; echo 'Βρέθηκαν <b>'. $apotkeimeno1. '</B> μοναδικες λεξεις στο πρωτο κειμενο.<br />'; echo 'Βρέθηκαν <b>'. $apotkeimeno2. '</B> μοναδικές λέξεις στο δευτερο κειμενο.<br />'; echo " "; echo " "; echo "Η ομοιότητα pearson είναι: ". $correlation. " %"; echo "Η ομοιότητα cosine είναι: ". $similarity. " %"; echo "Η ομοιότητα dice είναι: ". $dice. " %"; echo "Η ομοιότητητα tanimoto είναι: ". $tanimoto. " %"; echo "Η μέση ομοιότητητα είναι: ". $r. " %"; echo " "; Η εμφάνιση των αποτελεσμάτων ομοιότητας, αν ισχύει ο παραπάνω κανόνας. for ($svisimo = 0; $svisimo < $count; $svisimo++) { $vaslex[$svisimo] = ""; $vasfree[$svisimo] = ""; for ($svisimo = 0; $svisimo <= $try3[1]; $svisimo++) { $apot6[$svisimo] = ""; $apot7[$svisimo] = ""; Αδειάζει τους πίνακες $vaslex, $vasfree, $apot6 και $apot7, ώστε στην επόμενη ε- πανάληψη να μπουν τα νέα δεδομένα. try { $dbpass); $pdoobject = new PDO("mysql:host=$dbhost; dbname=$dbname;charset=utf8", $dbuser, $sql8 = "SELECT ID_KWDIKOS FROM L_SIGKRISIS WHERE (ID_KEIM1='$last' && ID_KEIM2='$vaseis')"; $statement = $pdoobject->prepare($sql8); $statement->execute(); $result8 = $statement->fetch(); $kwdikos = $result8['id_kwdikos']; $statement->closecursor(); $sql9 = "INSERT INTO SIGKRISEIS (ID_KWDIKOS,PEARSON,COSINE,ADJUSTED_COSINE,TANIMOTO,OMOIOTHTA)VALUES(:ID_KWDIKOS, :PEARSON, :COSINE, :ADJUSTED_COSINE, :TANIMOTO, :OMOIOTHTA)"; $statement = $pdoobject->prepare($sql9); $statement->execute(array(':id_kwdikos' => $kwdikos, ':PEARSON' => $correlation, ':COSINE' => $similarity, ':ADJUSTED_COSINE' => $dice, ':TANIMOTO' => $tanimoto, ':OMOIOTHTA' => $r)); $result9 = $statement->fetch(); -45-

58 $statement->closecursor(); $pdoobject = null; catch (PDOException $e) { header('location: ptixiaki.php?msg=pdo Exception: '. $e->getmessage()); exit(); Γίνεται σύνδεση με τη βάση δεδομένων, ώστε να βρεθεί με το ερώτημα $sql18 ο κωδικός της γραμμής που είναι καταχωρημένες οι πληροφορίες για τη σύγκριση του κειμένου που έχει εισαχθεί, με το αντίστοιχο κείμενο κατά τη διάρκεια του loop από τη βάση δεδομένων. Με το ερώτημα $sql19, εισάγει στον πίνακα SIGKRISEIS τον παραπάνω κωδικό και τα ποσοστά των αλγορίθμων ομοιότητας. if ($epilogi_flag == 0) { echo "Δεν υπάρχει όμοιο κείμενο στη βαση!"; Αφού έχει τελειώσει η επαναληπτική διαδικασία, αν η μεταβλητή $epilogi_flag έχει ακόμα την τιμή μηδέν, σημαίνει ότι δε βρέθηκε όμοιο κείμενο στη βάση δεδομένων, τουλάχιστον όχι με ποσοστό ίσο ή μεγαλύτερο από αυτό που έχει ορίσει ο χρήστης. try { $dbpass); $pdoobject = new PDO("mysql:host=$dbhost; dbname=$dbname;charset=utf8", $dbuser, $sql10 = "update L_KEIMENOU set MON_LEKSEIS = :MON_LEKSEIS where ID_KEIM = :ID_KEIM"; $statement = $pdoobject->prepare($sql10); $statement->execute(array(':mon_lekseis' => $apotkeimeno1, ':ID_KEIM' => $last)); $result10 = $statement->fetch(); $statement->closecursor(); $pdoobject = null; catch (PDOException $e) { header('location: ptixiaki.php?msg=pdo Exception: '. $e->getmessage()); exit(); Αφού έχει γίνει η παραπάνω διαδικασία, γίνεται ξανά σύνδεση με τη βάση δεδομένων, ώστε να ενημερωθεί η τιμή MON_LEKSEIS του πίνακα L_KEIMENOU Κώδικας σύγκρισης κειμένων από τη βάση δεδομένων Ένα μεγάλο μέρος του μηχανισμού βασίζεται στο μηχανισμό της εισαγωγής και σύγκρισης κείμενων. Αν δύο κείμενα έχουν ήδη συγκριθεί, τότε αυτό που κάνει ο μηχανισμός, είναι με διάφορες κλήσεις στη βάση δεδομένων να φέρνει τα απαραίτητα αποτελέσματα, ενώ αν δεν έχουν συγκριθεί, τότε χρησιμοποιεί τη βάση δεδομένων, ώστε να ανακτήσει τις προ επεξεργασμένες λέξεις των κειμένων και να γίνει η σύγκριση. Όλος ο κώδικας βρίσκεται στο Database.php και εδώ αναλύεται το τι κάνει το κάθε κομμάτι. ini_set('default_charset', 'utf-8'); $dbhost = 'localhost'; $dbname = 'mydb'; $dbuser = 'Vasilis'; $dbpass = '1234'; require("functions.php"); -46-

59 $x1 = $_POST['ΚΕΙΜΕΝΟ1']; $x2 = $_POST['ΚΕΙΜΕΝΟ2']; Δίνονται τα δεδομένα για να λειτουργήσει η βάση δεδομένων, καλείται η συνάρτηση function() και αποθηκεύονται τα ονόματα των αρχείων που έχουν δοθεί από τη φόρμα σε μεταβλητές. try { $pdoobject = new PDO("mysql:host=$dbhost; dbname=$dbname;charset=utf8", $dbuser, $dbpass); $sql1 = "SELECT ID_KEIM FROM KEIMENA WHERE TITLOS ='$x1'"; $statement = $pdoobject->prepare($sql1); $statement->execute(); while ($result1 = $statement->fetch()) { $cod1 = $result1['id_keim']; $statement->closecursor(); $pdoobject = null; catch (PDOException $e) { header('location: ptixiaki.php?msg=pdo Exception: '. $e->getmessage()); exit(); Σύνδεση με τη βάση δεδομένων και εύρεση του κωδικού του πρώτου αρχείου, με βάση το όνομα του από τον πίνακα ΚΕΙΜΕΝΑ. try { $pdoobject = new PDO("mysql:host=$dbhost; dbname=$dbname;charset=utf8", $dbuser, $dbpass); $sql2 = "SELECT ID_KEIM FROM KEIMENA WHERE TITLOS ='$x2'"; $statement = $pdoobject->prepare($sql2); $statement->execute(); while ($result2 = $statement->fetch()) { $cod2 = $result2['id_keim']; $statement->closecursor(); $pdoobject = null; catch (PDOException $e) { header('location: ptixiaki.php?msg=pdo Exception: '. $e->getmessage()); exit(); Σύνδεση με τη βάση δεδομένων και εύρεση του κωδικού του δευτέρου αρχείου, με βάση το όνομα του από τον πίνακα ΚΕΙΜΕΝΑ. try { $pdoobject = new PDO("mysql:host=$dbhost; dbname=$dbname;charset=utf8", $dbuser, $dbpass); $sql3 = "SELECT ID_KWDIKOS FROM L_SIGKRISIS WHERE ((ID_KEIM1 ='$cod1' && ID_KEIM2 ='$cod2' ) (ID_KEIM1 ='$cod2' && ID_KEIM2 ='$cod1' ))"; $statement = $pdoobject->prepare($sql3); $statement->execute(); while ($result3 = $statement->fetch()) { $cod3 = $result3['id_kwdikos']; $statement->closecursor(); $pdoobject = null; catch (PDOException $e) { -47-

60 header('location: ptixiaki.php?msg=pdo Exception: '. $e->getmessage()); exit(); Σύνδεση με τη βάση δεδομένων και εύρεση του κωδικού από τον πίνακα L_SIGKRISIS, με βάση τους κωδικούς που έχουν βρεθεί από τις προηγούμενες αναζητήσεις. Αν υπάρχει ο κωδικός, δηλαδή το $cod3, τότε try { $pdoobject = new PDO("mysql:host=$dbhost; dbname=$dbname;charset=utf8", $dbuser, $dbpass); $sql8 = "SELECT * FROM L_SIGKRISIS where ID_KWDIKOS ='$cod3'"; $statement = $pdoobject->prepare($sql8); $statement->execute(); while ($result8 = $statement->fetch()) { $metrima = $result8['lekseis']; $metritis = $result8['mon_lekseis']; $apotkeimeno1 = $result8['mon_lekseis2']; $apotkeimeno2 = $result8['mon_lekseis3']; $statement->closecursor(); $pdoobject = null; catch (PDOException $e) { header('location: ptixiaki.php?msg=pdo Exception: '. $e->getmessage()); exit(); try { $pdoobject = new PDO("mysql:host=$dbhost; dbname=$dbname;charset=utf8", $dbuser, $dbpass); $sql4 = "SELECT * FROM sigkriseis where ID_KWDIKOS ='$cod3' "; $statement = $pdoobject->prepare($sql4); $statement->execute(); while ($result4 = $statement->fetch()) { $pearson = $result4['pearson']; $cosine = $result4['cosine']; $adjusted_cosine = $result4['adjusted_cosine']; $tanimoto = $result4['tanimoto']; $omoiothta = $result4['omoiothta']; $statement->closecursor(); $pdoobject = null; catch (PDOException $e) { header('location: ptixiaki.php?msg=pdo Exception: '. $e->getmessage()); exit(); echo " "; echo 'Βρέθηκαν <b>'. $metrima. '</B> συνολικές λέξεις και στα δυο κειμενα.<br />'; echo 'Βρέθηκαν <b>'. $metritis. '</B> μοναδικές λέξεις και στα δυο κειμενα.<br />'; echo 'Βρέθηκαν <b>'. $apotkeimeno1. '</B> μοναδικες λεξεις στο πρωτο κειμενο.<br />'; echo 'Βρέθηκαν <b>'. $apotkeimeno2. '</B> μοναδικές λέξεις στο δευτερο κειμενο.<br />'; echo " "; echo "Η ομοιότητα pearson είναι: ". $pearson. " %"; echo "Η ομοιότητα cosine είναι: ". $cosine. " %"; -48-

61 echo "Η ομοιότητα dice είναι: ". $adjusted_cosine. " %"; echo "Η ομοιότητητα tanimoto είναι: ". $tanimoto. " %"; echo "Η μέση ομοιότητητα είναι: ". $omoiothta. " %"; echo " "; από τον πίνακα L_SIGKRISEIS με κωδικό το $cod3, επιστρέφονται οι λεπτομέρειες σύγκρισης από τον πίνακα SIGKRISEIS με κωδικό $cod3, επιστρέφονται τα ποσοστά ομοιότητας από τους αλγορίθμους και εμφανίζονται στο χρήστη. Σε αντίθετη περίπτωση, αν δεν υπάρχει $cod3, δηλαδή τα κείμενα δεν έχουν περάσει από σύγκριση αλλά μόνο από εισαγωγή, τότε $count = 0; $count1 = 0; $keim1 = array(); $count2 = 0; $count3 = 0; $keim2 = array(); try { $pdoobject = new PDO("mysql:host=$dbhost; dbname=$dbname;charset=utf8", $dbuser, $dbpass); $sql4 = "SELECT WORDS,FREE FROM WORD WHERE ID_KEIM='$cod1' "; $statement = $pdoobject->prepare($sql4); $statement->execute(); while ($result4 = $statement->fetch()) { $count1 = $count1 + $result4['free']; $keim1[$count][1] = $result4['words']; $keim1[$count][2] = $result4['free']; $keim1[$count][3] = 0; $count = $count + 1; $statement->closecursor(); $pdoobject = null; catch (PDOException $e) { header('location: ptixiaki.php?msg=pdo Exception: '. $e->getmessage()); exit(); try { $pdoobject = new PDO("mysql:host=$dbhost; dbname=$dbname;charset=utf8", $dbuser, $dbpass); $sql5 = "SELECT WORDS,FREE FROM WORD WHERE ID_KEIM='$cod2' "; $statement = $pdoobject->prepare($sql5); $statement->execute(); while ($result5 = $statement->fetch()) { $count3 = $count3 + $result5['free']; $keim2[$count2][1] = $result5['words']; $keim2[$count2][2] = $result5['free']; $count2 = $count2 + 1; $statement->closecursor(); $pdoobject = null; catch (PDOException $e) { header('location: ptixiaki.php?msg=pdo Exception: '. $e->getmessage()); exit(); -49-

62 γίνεται σύνδεση με τη βάση δεδομένων και με το ερώτημα $sql4, επιστρέφονται τα περιεχόμενα του πίνακα Word, όπου κωδικός είναι ο κωδικός του πρώτου κειμένου που διαλέξαμε. Με το ερώτημα $sql5, επιστρέφονται τα περιεχόμενα του πίνακα Word, ό- που κωδικός είναι ο κωδικός του δευτέρου κειμένου που διαλέξαμε. Τα αποτελέσματα αποθηκεύονται σε δύο δισδιάστατους πίνακες. $metritis = $count; for ($i = 0; $i < $count2; $i++) { $flag = 0; for ($j = 0; $j < $count; $j++) { if ((strcmp($keim1[$j][1], $keim2[$i][1]) == 0) && $flag == 0) { $keim1[$j][3] = $keim2[$i][2]; $flag = 1; if ($flag == 0) { $keim1[$metritis][1] = $keim2[$i][1]; $keim1[$metritis][2] = 0; $keim1[$metritis][3] = $keim2[$i][2]; $metritis++; $i = 0; $metrima = $count1 + $count3; $apotkeimeno1 = 0; $apotkeimeno2 = 0; while ($i < $metritis) { if (($keim1[$i][2])!= 0) { $apotkeimeno1++; if (($keim1[$i][3])!= 0) { $apotkeimeno2++; $i++; Αυτοί οι δύο πίνακες συγκρίνονται, αν κάποια λέξη του δευτέρου κειμένου είναι ί- δια με κάποια του πρώτου, στην αντίστοιχη θέση του πίνακα στην τρίτη στήλη τοποθετείται η συχνότητα της λέξης. Αλλιώς, αν δεν υπάρχει ίδια λέξη, τότε η λέξη προστίθεται στο τέλος του πρώτου πίνακα, τοποθετώντας τη λέξη στην πρώτη στήλη, στη δεύτερη στήλη μηδέν και στην τρίτη στήλη τη συχνότητα της λέξης. Τέλος, βρίσκει τις μοναδικές λέξεις κάθε κειμένου. try { $pdoobject = new PDO("mysql:host=$dbhost; dbname=$dbname;charset=utf8", $dbuser, $dbpass); $sql6 = "INSERT INTO L_SIGKRISIS (ID_KEIM1,ID_KEIM2,LEKSEIS,MON_LEKSEIS,MON_LEKSEIS2,MON_LEKSEIS3)VALUES(:ID_KEIM1, :ID_KEIM2, :LEKSEIS, :MON_LEKSEIS, :MON_LEKSEIS2, :MON_LEKSEIS3)"; $statement = $pdoobject->prepare($sql6); $statement->execute(array(':id_keim1' => $cod1, ':ID_KEIM2' => $cod2, ':LEKSEIS' => $metrima, ':MON_LEKSEIS' => $apotkeimeno1, ':MON_LEKSEIS2' => $apotkeimeno2, ':MON_LEKSEIS3' => $metritis)); $result6 = $statement->fetch(); $statement->closecursor(); -50-

63 $pdoobject = null; catch (PDOException $e) { header('location: ptixiaki.php?msg=pdo Exception: '. $e->getmessage()); exit(); Σύνδεση με τη βάση δεδομένων και τοποθέτηση στον πίνακα L_SIGKRISEIS τα δεδομένα που έχουν συλλεχθεί μέχρι τώρα, κωδικοί των δύο κειμένων, συνολικές και μοναδικές λέξεις και στα δύο κείμενα, μοναδικές λέξεις για το κάθε κείμενο. $array1 = array(); $array2 = array(); for ($i = 0; $i < $metritis; $i++) { $array1[$i] = $keim1[$i][2]; $array2[$i] = $keim1[$i][3]; $sum4 = 0; for ($i = 0; $i < $metritis; $i++) { if ((($keim1[$i][3])!== 0) && (($keim1[$i][2])!== 0)) { if ($keim1[$i][3] == $keim1[$i][2]) { $sum4 = $sum4 + $keim1[$i][2] + $keim1[$i][3]; if ($keim1[$i][3] > $keim1[$i][2]) { $sum4 = $sum4 + ($keim1[$i][2] * 2); if ($keim1[$i][3] < $keim1[$i][2]) { $sum4 = $sum4 + ($keim1[$i][3] * 2); $adjusted_cosine = Adsimilarity($array1, $array2); $tanimoto = Tanimoto($array1, $array2); $pearson = Correlation($array1, $array2); $cosine = similarity_algorithm_cosine($array1, $array2); $r = ($adjusted_cosine + $tanimoto + $cosine + $pearson) / 4; $omoiothta = $r; echo " "; echo 'Βρέθηκαν <b>'. $metrima. '</B> συνολικές λέξεις και στα δυο κειμενα.<br />'; echo 'Βρέθηκαν <b>'. $metritis. '</B> μοναδικές λέξεις και στα δυο κειμενα.<br />'; echo 'Βρέθηκαν <b>'. $apotkeimeno1. '</B> μοναδικες λεξεις στο πρωτο κειμενο.<br />'; echo 'Βρέθηκαν <b>'. $apotkeimeno2. '</B> μοναδικές λέξεις στο δευτερο κειμενο.<br />'; echo " "; echo " "; echo 'Βρέθηκαν <b>'. $sum4. '</B> ιδιες λεξεις στα δυο κειμενα.<br />'; echo " "; Τοποθέτηση των συχνοτήτων σε δύο νέους πίνακες, υπολογισμός των ίδιων λέξεων και στα δύο κείμενα, κλήση των αλγορίθμων ομοιότητας και εμφάνιση των αποτελεσμάτων. try { $pdoobject = new PDO("mysql:host=$dbhost; dbname=$dbname;charset=utf8", $dbuser, $dbpass); -51-

64 $sq25 = "SELECT ID_KWDIKOS FROM L_SIGKRISIS WHERE ((ID_KEIM1 ='$cod1' && ID_KEIM2 ='$cod2' ) (ID_KEIM1 ='$cod2' && ID_KEIM2 ='$cod1' ))"; $statement = $pdoobject->prepare($sq25); $statement->execute(); while ($result3 = $statement->fetch()) { $cod3 = $result3['id_kwdikos']; $statement->closecursor(); $pdoobject = null; catch (PDOException $e) { header('location: ptixiaki.php?msg=pdo Exception: '. $e->getmessage()); exit(); try { $pdoobject = new PDO("mysql:host=$dbhost; dbname=$dbname;charset=utf8", $dbuser, $dbpass); $sql19 = "INSERT INTO SIGKRISEIS (ID_KWDIKOS,PEARSON,COSINE,ADJUSTED_COSINE,TANIMOTO,OMOIOTHTA)VALUES(:ID_KWDIKOS, :PEARSON, :COSINE, :ADJUSTED_COSINE, :TANIMOTO, :OMOIOTHTA)"; $statement = $pdoobject->prepare($sql19); $statement->execute(array(':id_kwdikos' => $cod3, ':PEARSON' => $pearson, ':COSINE' => $cosine, ':ADJUSTED_COSINE' => $adjusted_cosine, ':TANIMOTO' => $tanimoto, ':OMOIOTHTA' => $omoiothta)); $result19 = $statement->fetch(); $statement->closecursor(); $pdoobject = null; catch (PDOException $e) { header('location: ptixiaki.php?msg=pdo Exception: '. $e->getmessage()); exit(); Εύρεση του $cod3. Εισαγωγή στη βάση δεδομένων στον πίνακα SIGKRISEIS, του $cod3 και των ποσοστών των αλγορίθμων ομοιότητας. 4.4 Κώδικας συναρτήσεων Στο αρχείο Sinartiseis.php, εμπεριέχονται όλες οι συναρτήσεις που συναντώνται σε ολόκληρο το μηχανισμό ομοιότητας. Σε αυτή την ενότητα, αναλύονται όλες εκτός από όσες συναρτήσεις αφορούν τους αλγορίθμους ομοιότητας που θα αναλυθούν στην επόμενη ενότητα Συνάρτηση Tokenizer() Η συνάρτηση Tokenizer(), δέχεται στην είσοδο της μια συμβολοσειρά. Πρώτα αντικαθιστά τα τονισμένα γράμματα με άτονα και μετέπειτα όλα σε κεφαλαία. Έπειτα καλείται η συνάρτηση strtok()[], η οποία δέχεται ως ορίσματα ένα σύνολο συμβόλων ($seperators), που μπορούν να διαχωρίσουν μια λέξη από μια άλλη και τη συμβολοσειρά. Έτσι, η συμβολοσειρά τεμαχίζεται όπου βρει κάποιο σύμβολο και επιστρέφει τις λέξεις που την αποτελούν. Η συνάρτηση Tokenizer() στην έξοδο της, δίνει τον πίνακα των λέξεων του κειμένου, καθώς και τον αριθμό των λέξεων. -52-

65 4.4.2 Συνάρτηση Junk word remover() Η συνάρτηση Junk_Word_Remover(), δέχεται στην είσοδο της δύο πίνακες. Ο ένας, περιλαμβάνει τις λέξεις από το λεξικό άχρηστων λέξεων και ο άλλος, τις λέξεις που έ- χουν προκύψει από τη συμβολοσειρά που επεξεργάστηκε ο Tokenizer(). Έτσι, με τη συνάρτηση strcmp()[], συγκρίνεται η κάθε λέξη της συμβολοσειράς με την κάθε λέξη του λεξικού, και αν υπάρχει ίδια λέξη τότε διαγράφεται από τον πίνακα. Οι υπόλοιπες λέξεις που μένουν, μπαίνουν σε έναν νέο πίνακα και επιστρέφονται από τη συνάρτηση μαζί με το πλήθος τους Συνάρτηση Stemmer_Remover() Η συνάρτηση Stemmer_Remover(), δέχεται στην είσοδο της έναν πίνακα. Ο πίνακας περιλαμβάνει τις λέξεις που έχουν προκύψει από τη συμβολοσειρά που επεξεργάστηκε ο Tokenizer(). Έτσι, η κάθε λέξη του πίνακα, περνάει μέσα από τη συνάρτηση GreekPorterStemmerUtf8(), ώστε να κοπεί η κατάληξη της. Οι νέες λέξεις που προκύπτουν, τοποθετούνται σε ένα νέο πίνακα και επιστρέφονται από τη συνάρτηση Stemmer_Remover(). Η συνάρτηση GreekPorterStemmerUtf8(), εμπεριέχεται στο αρχείο Stemmer.php [16a]. Η βασική λειτουργία περιγράφεται στο παρακάτω παράδειγμα: // Step 2a $re = '/^(.+?)(ΑΔΕΣ ΑΔΩΝ)$/u'; if( preg_match($re,$w,$fp) ) { $stem = $fp[1]; $w = $stem; $re = '/(ΟΚ ΜΑΜ ΜΑΝ ΜΠΑΜΠ ΠΑΤΕΡ ΓΙΑΓΙ ΝΤΑΝΤ ΚΥΡ ΘΕΙ ΠΕΘΕΡ)$/u'; if(!preg_match($re,$w) ) { $w = $w. "ΑΔ"; Στη μεταβλητή $re, αποθηκεύονται οι εκάστοτε καταλήξεις που χρειάζονται αποκοπή και το αποτέλεσμα του stemming αποθηκεύεται στο $w. Έπειτα, ανάλογα με τον αν για τις συγκεκριμένες καταλήξεις υπάρχουν εξαιρέσεις, τότε πραγματοποιείται και η ανάλογη ενέργεια. Στο συγκεκριμένο παράδειγμα, αν η λέξη που μένει μετά την αποκοπή είναι μία από τις: ΟΚ ΜΑΜ ΜΑΝ ΜΠΑΜΠ ΠΑΤΕΡ ΓΙΑΓΙ ΝΤΑΝΤ ΚΥΡ ΘΕΙ ΠΕΘΕΡ, τότε η λέξη που δίνεται στη μεταβλητή $w, παίρνει και την κατάληξή ΑΔ Συνάρτηση Frequency() Η συνάρτηση Frequency(), δέχεται στην είσοδο της έναν πίνακα. Ο πίνακας αυτός περιλαμβάνει, όπως και στις προηγούμενες συναρτήσεις, τις λέξεις που έχουν προκύψει -53-

66 από τη συμβολοσειρά που επεξεργάστηκε ο Tokenizer(). Αυτό που κάνει η συνάρτηση, είναι να ελέγχει κάθε λέξη με όλες τις επόμενές της. Αν η λέξη δε βρει άλλη ίδια, τότε τοποθετείται σε δύο νέους πίνακες, ο ένας για τη λέξη και ο δεύτερος για τη συχνότητά της που σε αυτή την περίπτωση είναι 1. Αν πάλι η λέξη, υπάρχει περισσότερες από μια φόρα, τότε στον νέο πίνακα τοποθετείται η λέξη μια φορά και στον αντίστοιχο πίνακα συχνοτήτων μπαίνει ο αριθμός εμφάνισης της λέξης. Σκοπός, είναι ο νέος πίνακας, να περιλαμβάνει λέξεις που είναι μοναδικές, που δηλαδή δεν υπάρχουν δεύτερη φορά. Στην έξοδο της, η συνάρτηση επιστρέφει τους δύο νέους πίνακες με τις λέξεις και τις συχνότητες, καθώς και τον αριθμό των μοναδικών λέξεων Συνάρτηση Teliko() Η συνάρτηση Teliko(), δέχεται στην είσοδο της τέσσερις πίνακες. Οι πίνακες αυτοί για να προκύψουν, χρειάζονται δύο συμβολοσειρές και απαραίτητα τις συναρτήσεις tokenizer() και frequency(), ώστε να σπάσουν αρχικά οι συμβολοσειρές σε λέξεις και έ- πειτα να δημιουργηθούν οι πίνακες με τις μοναδικές λέξεις και τις αντίστοιχες συχνότητές τους. Στόχος της συνάρτησης, είναι να συγκρίνει τις λέξεις των δύο πινάκων, ώστε να δημιουργήσει έναν ενιαίο πίνακα με τις λέξεις και των δύο. Για να το καταφέρει αυτό, αρχικά δημιουργείται ένας πίνακας με τρεις στήλες, που στην πρώτη στήλη μπαίνουν οι λέξεις του πρώτου κειμένου, στη δεύτερη οι αντίστοιχες συχνότητες τους και η τρίτη στήλη γεμίζει με μηδενικά. Μετά, η κάθε μια από τις λέξεις του δευτέρου κειμένου, συγκρίνεται με όλες τις λέξεις του πρώτου. Αν βρεθεί ίδια λέξη, τότε στη θέση που βρίσκεται αυτή η λέξη στον πίνακα, στην τρίτη στήλη, τοποθετείται η συχνότητα της λέξης του δευτέρου πίνακα και ξεκινάει ο έλεγχος για την επόμενη λέξη. Αν πάλι κάποια λέξη του δευτέρου πίνακα δεν υπάρχει στον πρώτο, τότε στο τέλος του πίνακα προστίθεται μια ακόμα εγγραφή, στην πρώτη στήλη η λέξη, στη δεύτερη μηδέν (γιατί δεν υπάρχει η λέξη) και στην τρίτη η συχνότητά της. Ουσιαστικά ο νέος πίνακας που δημιουργείται, έχει στην πρώτη του στήλη τις μοναδικές λέξεις και των δύο πινάκων, στη δεύτερη στήλη τις συχνότητες των λέξεων του πρώτου πίνακα (που μπορεί πλέον να είναι και 0) και στην τρίτη στήλη τις συχνότητες των λέξεων του δευτέρου πίνακα (που μπορεί πλέον να είναι μηδέν). Η συνάρτηση επιστρέφει αυτόν τον πίνακα, καθώς και το πλήθος των εγγραφών του. -54-

67 4.4.6 Συνάρτηση similarity_algorithms() Η συνάρτηση similarity_algorithms(), είναι μια συνάρτηση που ενώνει τις κλήσεις των αλγορίθμων ομοιότητας που θα δούμε παρακάτω. Σαν είσοδο, δέχεται δύο πίνακες με συχνότητες λέξεων και μια μεταβλητή που ορίζει ποιος αλγόριθμος θα χρησιμοποιηθεί. Αυτό σημαίνει, ότι για να λειτουργήσει η συνάρτηση πρέπει οι συμβολοσειρές να περάσουν απαραίτητα από τη συνάρτηση tokenizer(), ώστε να σπάσουν σε λέξεις, έπειτα από τη συνάρτηση frequency(), ώστε να βρεθούν οι μοναδικές λέξεις και οι συχνότητες κάθε συμβολοσειράς και μετά από τη συνάρτηση teliko(), ώστε να βρεθούν οι μοναδικές λέξεις και των δύο συμβολοσειρών, όπως και οι αντίστοιχες συχνότητές τους. Στην ουσία, αυτό που κάνει η συνάρτηση, είναι ανάλογα με την επιλογή που έχει δώσει ο χρήστης να καλεί και τον αντίστοιχο αλγόριθμο ομοιότητας και να επιστρέφει το ποσοστό ομοιότητας των συμβολοσειρών Συνάρτηση calling() Η συνάρτηση calling(), είναι η συνάρτηση που ενώνει όλες τις παραπάνω συναρτήσεις. Σαν είσοδο δέχεται τις δύο συμβολοσειρές προς σύγκριση, το λεξικό με τις άχρηστες λέξεις και την επιλογή του αλγορίθμου. Καλεί κάθε φορά μια συνάρτηση και το αποτέλεσμα της το προωθεί στην επόμενη. Έτσι, καλεί με τη σειρά τις συναρτήσεις tokenizer() τρεις φορές, δύο για τις συμβολοσειρές και μια για το λεξικό άχρηστων λέξεων. Μετά καλεί τη junk word remover() δύο φορές, μια για κάθε συμβολοσειρά. Έπειτα, καλεί την stemmer_remover πάλι δύο φορές για κάθε συμβολοσειρά. Στη συνέχεια, καλεί τη frequency() πάλι δύο φορές για κάθε συμβολοσειρά. Μετά, καλεί τη teliko() και τέλος τη similarity_algorithms(). Στην έξοδο, επιστρέφει το ποσοστό ομοιότητας, τον αριθμό των λέξεων της πρώτης και δεύτερης συμβολοσειράς, τον αριθμό των λέξεων μετά την αφαίρεση, των άχρηστων λέξεων από την πρώτη και δεύτερη συμβολοσειρά και τις μοναδικές λέξεις της πρώτης και δεύτερης συμβολοσειράς, καθώς και των συνολικών μοναδικών λέξεων. 4.5 Κώδικας αλγορίθμων ομοιότητας Όλες οι συναρτήσεις των αλγορίθμων ομοιότητας βρίσκονται στο αρχείο functions.php. Και στις τέσσερις συναρτήσεις και για τους τέσσερις αλγορίθμους ομοιότητας, pearson, cosine, tanimoto, dice, οι συναρτήσεις δέχονται στην είσοδό τους δύο πίνακες με αριθ- -55-

68 μητικές τιμές, και δια μέσω των αλγορίθμων, βγάζουν ένα ποσοστό ομοιότητας των δύο πινάκων σε ποσοστιαία μορφή και στρογγυλοποιημένο κατά δύο δεκαδικά ψηφία Κώδικας Pearson Η συνάρτηση Correlation(), είναι η συνάρτηση που υπολογίζει την ομοιότητα pearson. Υπολογίζει αρχικά τον μέσο όρο των τιμών του κάθε πίνακα ξεχωριστά, $count1 και $count2. Έπειτα για κάθε γραμμή των πινάκων, υπολογίζει τις διαφορές των στοιχείων του κάθε πίνακα με τους αντίστοιχους μέσους όρους τους και τις πολλαπλασιάζει μεταξύ τους. Μετά, προσθέτει τα γινόμενα όλου του πίνακα και δίνει το αποτέλεσμα στη μεταβλητή $arithm. Στη συνέχεια, υπολογίζει το άθροισμα του τετραγώνου της διαφοράς του κάθε στοιχείου του κάθε πίνακα με τον αντίστοιχο μέσο όρο του πίνακα και το δίνει στις μεταβλητές $am και $bm. Έπειτα, δίνει την τετραγωνική ρίζα του γινομένου των $am και $bm, στη μεταβλητή $par και τελικά, η ομοιότητα προκύπτει από τη διαίρεση των $arithm και $par. Τέλος, η συνάρτηση επιστρέφει την ομοιότητα $correlation. function Correlation($arr1, $arr2) { $num = count($arr1); $count1 = 0; $count2 = 0; $arithm = 0; $par = 0; $am = 0; $bm = 0; for ($i = 0; $i < $num; $i++) { $count1 = $count1 + $arr1[$i]; $count2 = $count2 + $arr2[$i]; $count1 = $count1 / $num; $count2 = $count2 / $num; for ($i = 0; $i < $num; $i++) { $arithm = $arithm + (($arr1[$i] - $count1) * ($arr2[$i] - $count2)); $am = $am + ($arr1[$i] - $count1) * ($arr1[$i] - $count1); $bm = $bm + ($arr2[$i] - $count2) * ($arr2[$i] - $count2); $par = sqrt($am) * sqrt($bm); $correlation = $arithm / $par; return (round((abs($correlation) * 100), 2)); Κώδικας Cosine Η συνάρτηση similarity_algorithm_cosine(), είναι η συνάρτηση που υπολογίζει την ο- μοιότητα cosine. Αρχικά, υπολογίζει το άθροισμα του γινομένου των στοιχείων κάθε γραμμής του πίνακα, $count1 και το άθροισμα του τετραγώνου των στοιχείων κάθε πίνακα, $count2 και $count3. Και έπειτα, διαιρεί το $count1 με το γινόμενο των τετραγωνικών ρίζων των $count2 και $count3. Τέλος, η συνάρτηση επιστρέφει την ομοιότητα $correlation. -56-

69 function similarity_algorithm_cosine($arr1, $arr2) { $num = count($arr1); $count1 = 0; $count2 = 0; $count3 = 0; for ($i = 0; $i < $num; $i++) { $count1 = $count1 + ($arr1[$i] * $arr2[$i]); $count2 = $count2 + ($arr1[$i] * $arr1[$i]); $count3 = $count3 + ($arr2[$i] * $arr2[$i]); $correlation = $count1 / (sqrt($count2) * sqrt($count3)); return (round((abs($correlation) * 100), 2)); Κώδικας Tanimoto Η συνάρτηση Tanimoto(), είναι η συνάρτηση που υπολογίζει την ομοιότητα Tanimoto. Αρχικά, υπολογίζει το άθροισμα του γινομένου των στοιχείων κάθε γραμμής του πίνακα, $tan1 και το άθροισμα του τετραγώνου των στοιχείων κάθε πίνακα, $tan2 και $tan3. Και έπειτα, διαιρεί το $tan1 με το άθροισμα των $tan2 και $tan3 μείον το $tan1. Τέλος, η συνάρτηση επιστρέφει την ομοιότητα $tanimoto. function Tanimoto($arr1, $arr2) { $tan1 = 0; $tan2 = 0; $tan3 = 0; $num = count($arr1); for ($i = 0; $i < $num; $i++) { $tan1 = $tan1 + ($arr1[$i] * $arr2[$i]); $tan2 = $tan2 + ($arr2[$i] * $arr2[$i]); $tan3 = $tan3 + ($arr1[$i] * $arr1[$i]); $tanimoto = $tan1 / ($tan2 + $tan3 - $tan1); return (round((abs($tanimoto) * 100), 2)); Κώδικας Dice Η συνάρτηση Adsimilarity(), είναι η συνάρτηση που υπολογίζει την ομοιότητα dice. Αρχικά, υπολογίζει το άθροισμα του γινομένου των στοιχείων κάθε γραμμής του πίνακα, $sum1 και το άθροισμα του τετραγώνου των στοιχείων κάθε πίνακα, $sum2 και $sum3. Και έπειτα, διαιρεί, δύο φορές το $sum1, με το άθροισμα των $sum2 και $sum3. Τέλος, η συνάρτηση επιστρέφει την ομοιότητα $adsimilarity. function Adsimilarity($arr1, $arr2) { $sum1 = 0; $sum2 = 0; $sum3 = 0; $num = count($arr1); for ($i = 0; $i < $num; $i++) { $sum1 = $sum1 + ($arr1[$i] * $arr2[$i]); $sum2 = $sum2 + ($arr1[$i] * $arr1[$i]); $sum3 = $sum3 + ($arr2[$i] * $arr2[$i]); $adsimilarity = (2 * $sum1) / ($sum3 + $sum2); -57-

70 return (round((abs($adsimilarity) * 100), 2)); 4.6 Κώδικας βάσης δεδομένων Η βάση δεδομένων αποτελείται από 5 πίνακες. Τον πίνακα KEIMENA, που έχει σαν πεδία ένα μοναδικό κωδικό, τον τίτλο του κειμένου και το ίδιο το κείμενο. Τον πίνακα L_KEIMENOU, που έχει σαν πεδία τον κωδικό του κειμένου και τις λεπτομέρειες μετά την εισαγωγή του, δηλαδή, αριθμό λέξεων, άχρηστων και μοναδικών λέξεων. Τον πίνακα L_SIGKRISEIS, που έχει ένα μοναδικό κωδικό, τους κωδικούς των κειμένων που συγκρίνονται και τις λεπτομέρειες μετά τη σύγκριση, μοναδικές λέξεις στο πρώτο κείμενο, μοναδικές λέξεις στο δεύτερο κείμενο, μοναδικές λέξεις και στα δύο κείμενα και συνολικές λέξεις. Τον πίνακα SIGKRISEIS, που έχει τα αποτελέσματα των αλγορίθμων ομοιότητας και τον κωδικό των προς σύγκριση δεδομένων από τον πίνακα L_SIGKRISEIS. Και τέλος, τον πίνακα WORD, που έχει σαν πεδία ένα μοναδικό κωδικό, τον κωδικό του κειμένου, τις λέξεις που βρέθηκαν στο κείμενο, και τις συχνότητές τους. Καλύτερα, η διάταξη των πινάκων και οι πίνακες φαίνονται στα Database schema Ptixiaki.sql UNIQUE_CHECKS=0; FOREIGN_KEY_CHECKS=0; SQL_MODE='TRADITIONAL'; DROP SCHEMA IF EXISTS `mydb` ; CREATE SCHEMA IF NOT EXISTS `mydb` DEFAULT CHARACTER SET utf8 ; USE `mydb` ; Table `mydb`.`keimena` DROP TABLE IF EXISTS `mydb`.`keimena` ; CREATE TABLE IF NOT EXISTS `mydb`.`keimena` ( `ID_KEIM` INT UNSIGNED NOT NULL AUTO_INCREMENT, `TITLOS` VARCHAR(45) NOT NULL, `KEIMENO` LONGTEXT CHARACTER SET 'utf8' NOT NULL, PRIMARY KEY (`ID_KEIM`), UNIQUE INDEX `idκειμενα_unique` (`ID_KEIM` ASC) UNIQUE INDEX `TITLOS_UNIQUE` (`TITLOS` ASC) ) ) ENGINE = InnoDB DEFAULT CHARACTER SET = utf8; Table `mydb`.`l_keimenou` DROP TABLE IF EXISTS `mydb`.`l_keimenou` ; CREATE TABLE IF NOT EXISTS `mydb`.`l_keimenou` ( `LEKSEIS` DECIMAL(10,0) NOT NULL, `AX_LEKSEIS` DECIMAL(10,0) NOT NULL, `MON_LEKSEIS` DECIMAL(10,0) NOT NULL, `ID_KEIM` INT UNSIGNED NOT NULL, PRIMARY KEY (`ID_KEIM`), -58-

71 INDEX `fk_l_keimenou_keimena1` (`ID_KEIM` ASC), CONSTRAINT `fk_l_keimenou_keimena1` FOREIGN KEY (`ID_KEIM` ) REFERENCES `mydb`.`keimena` (`ID_KEIM` ) ON DELETE RESTRICT ON UPDATE RESTRICT) ENGINE = InnoDB DEFAULT CHARACTER SET = utf8; Table `mydb`.`l_sigkrisis` DROP TABLE IF EXISTS `mydb`.`l_sigkrisis` ; CREATE TABLE IF NOT EXISTS `mydb`.`l_sigkrisis` ( `ID_KWDIKOS` INT UNSIGNED NOT NULL AUTO_INCREMENT, `LEKSEIS` DECIMAL(10,0) NOT NULL, `MON_LEKSEIS` DECIMAL(10,0) NOT NULL, `MON_LEKSEIS2` DECIMAL(10,0) NOT NULL, `ID_KEIM1` INT UNSIGNED NOT NULL, `ID_KEIM2` INT UNSIGNED NOT NULL, `MON_LEKSEIS3` DECIMAL(10,0) NOT NULL, PRIMARY KEY (`ID_KWDIKOS`), UNIQUE INDEX `ID_L_UNIQUE` (`ID_KWDIKOS` ASC), INDEX `fk_l_sigkrisis_keimena1` (`ID_KEIM1` ASC), INDEX `fk_l_sigkrisis_keimena2` (`ID_KEIM2` ASC), CONSTRAINT `fk_l_sigkrisis_keimena1` FOREIGN KEY (`ID_KEIM1` ) REFERENCES `mydb`.`keimena` (`ID_KEIM` ) ON DELETE RESTRICT ON UPDATE RESTRICT, CONSTRAINT `fk_l_sigkrisis_keimena2` FOREIGN KEY (`ID_KEIM2` ) REFERENCES `mydb`.`keimena` (`ID_KEIM` ) ON DELETE RESTRICT ON UPDATE RESTRICT) ENGINE = InnoDB DEFAULT CHARACTER SET = utf8; Table `mydb`.`sigkriseis` DROP TABLE IF EXISTS `mydb`.`sigkriseis` ; CREATE TABLE IF NOT EXISTS `mydb`.`sigkriseis` ( `PEARSON` FLOAT NOT NULL, `COSINE` FLOAT NOT NULL, `ADJUSTED_COSINE` FLOAT NOT NULL, `TANIMOTO` FLOAT NOT NULL, `OMOIOTHTA` FLOAT NOT NULL, `ID_KWDIKOS` INT UNSIGNED NOT NULL, PRIMARY KEY (`ID_KWDIKOS`), INDEX `fk_sigkriseis_l_sigkrisis1` (`ID_KWDIKOS` ASC), CONSTRAINT `fk_sigkriseis_l_sigkrisis1` FOREIGN KEY (`ID_KWDIKOS` ) REFERENCES `mydb`.`l_sigkrisis` (`ID_KWDIKOS` ) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB DEFAULT CHARACTER SET = utf8; Table `mydb`.`word` DROP TABLE IF EXISTS `mydb`.`word` ; CREATE TABLE IF NOT EXISTS `mydb`.`word` ( -59-

72 `ID_WORD` INT UNSIGNED NOT NULL AUTO_INCREMENT, `ID_KEIM` INT UNSIGNED NOT NULL, `words` VARCHAR(45) NOT NULL, `free` INT UNSIGNED NOT NULL, PRIMARY KEY (`ID_WORD`), UNIQUE INDEX `idword_unique` (`ID_WORD` ASC), INDEX `fk_word_keimena1` (`ID_KEIM` ASC), CONSTRAINT `fk_word_keimena1` FOREIGN KEY (`ID_KEIM` ) REFERENCES `mydb`.`keimena` (`ID_KEIM` ) ON DELETE CASCADE ON UPDATE CASCADE) ENGINE = InnoDB; SET SQL_MODE=@OLD_SQL_MODE; SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS; Εικόνα 4.1 Database schema -60-

73 4.7 Συγκεντρωτικός πίνακας συναρτήσεων Tokenizer Tokenizer ($arr1) Δέχεται ένα κείμενο στην είσοδό του. Καλεί τη συνάρτηση strtok() και τεμαχίζει το κείμενο σε λέξεις. Επιστρέφει έναν πίνακα με τις λέξεις του κειμένου και τον αριθμό αυτών των λέξεων. $arr1 Μεταβλητή που περιέχει το κείμενο. Παράδειγμα χρήσης 1 $try = Tokenizer($arr1); Stemmer Stemmer_Remover ($arr1) Δέχεται έναν πίνακα με λέξεις. Καλεί τη συνάρτηση GreekPorterStemmerUtf8() και αποκόπτει την κατάληξη για την κάθε λέξη του πίνακα. Επιστρέφει ένα νέο πίνακα, ίδιου μεγέθους με τον αρχικό, γεμάτο με τις λέξεις που έχει αποκοπεί η κατάληξή τους. $arr1 Μεταβλητή που περιέχει τον πίνακα των λέξεων. Παράδειγμα χρήσης 1 $try = Stemmer_Remover ($arr1); Junk Word Remover Junk_Word_Remover ($arr1, $arr2) Δέχεται έναν πίνακα με λέξεις και έναν πίνακα με μη σημαντικές λέξεις. Συγκρίνει τους δύο πίνακες των λέξεων, με τη συνάρτηση strcmp() και αν υπάρχει μη σημαντική λέξη στον πίνακα των λέξεων, τη διαγράφει και τοποθετεί τις υπόλοιπες σε ένα νέο πίνακα. Επιστρέφει το νέο πίνακα των λέξεων καθώς και τον αριθμό αυτών των λέξεων. $arr1 Μεταβλητή που περιέχει τον πίνακα των λέξεων. $arr2 Μεταβλητή που περιέχει τον πίνακα των μη σημαντικών λέξεων. Παράδειγμα χρήσης 1 $try = Junk_Word_Remover($arr1, $arr2); -61-

74 Frequency counter Frequency ($arr1) Δέχεται έναν πίνακα με λέξεις. Συγκρίνει κάθε λέξη του πίνακα με όλο τον υπόλοιπο πίνακα, χρησιμοποιώντας τη συνάρτηση strcmp(). Τοποθετεί τη λέξη σε ένα νέο πίνακα, και αν στη συνέχεια του πίνακα υπάρχει ξανά η ίδια λέξη, αυξάνει το μετρητή συχνότητάς της και τη διαγράφει από το συγκεκριμένο σημείο του πίνακα, ώστε να μην υπάρχει διπλότυπο στο τέλος της σύγκρισης. Επιστρέφει ένα νέο πίνακα, με τις μοναδικές λέξεις, τις συχνότητές τους και τον αριθμό των λέξεων. $arr1 Μεταβλητή που περιέχει τον πίνακα των λέξεων. Παράδειγμα χρήσης 1 $try = Frequency ($arr1); Teliko Teliko ($arr1, $arr2, $arr3, $arr4) Δέχεται δύο πίνακες με λέξεις και δύο πίνακες με τις αντίστοιχες συχνότητές τους. Συγκρίνει τις λέξεις των δύο πινάκων μία προς μία, με τη συνάρτηση strcmp(). Δημιουργεί ένα νέο πίνακα με τις λέξεις του πρώτου κειμένου και τις συχνότητές τους. Αν υπάρχει ίδια λέξη στο δεύτερο πίνακα, τότε στην αντίστοιχη θέση του νέου πίνακα, τοποθετεί τη συχνότητα της λέξης του δευτέρου πίνακα. Αν κάποια λέξη του δευτέρου πίνακα δεν έχει βρεθεί στον πρώτο, προστίθεται στο τέλος του νέου πίνακα. Επιστρέφει τον παραπάνω νέο πίνακα, καθώς και το πλήθος των εγγραφών του. $arr1 Μεταβλητή που περιέχει τον πίνακα των λέξεων του πρώτου κειμένου. $arr2 Μεταβλητή που περιέχει τον πίνακα των συχνοτήτων του πρώτου κειμένου. $arr3 Μεταβλητή που περιέχει τον πίνακα των λέξεων του δευτέρου κειμένου. $arr4 Μεταβλητή που περιέχει τον πίνακα των συχνοτήτων του δευτέρου κειμένου. Παράδειγμα χρήσης 1 $try = Teliko($arr1, $arr2, $arr3, $arr4); -62-

75 Similarity Algorithms similarity_algorithms ($arr1, $arr2, $choise) Δέχεται δύο πίνακες με τις συχνότητες των λέξεων, των κειμένων και έναν αριθμό. Ανάλογα με τον αριθμό που έχει πάρει, καλεί και την αντίστοιχη συνάρτηση του αλγορίθμου ομοιότητας. Επιστρέφει το ποσοστό ομοιότητάς του ή των αλγορίθμων. $arr1 Μεταβλητή που περιέχει τον πίνακα των συχνοτήτων του πρώτου κειμένου. $arr2 $choise Μεταβλητή που περιέχει τον πίνακα των συχνοτήτων του δευτέρου κειμένου. Μεταβλητή που παίρνει τιμές από 1-6 και ορίζει ποιος αλγόριθμος ομοιότητας θα χρησιμοποιηθεί. Παράδειγμα χρήσης 1 $try = Similarity_algorithms($arr1, $arr2, $choise); Calling Calling ($arr1, $arr2, $arr3, $z) Δέχεται τρια αρχεία με λέξεις, δύο με λέξεις από τα προς σύγκριση κείμενα και ένα με τις μη σημαντικές λέξεις, καθώς και έναν αριθμό. Είναι η συνάρτηση που ενώνει όλες τις συναρτήσεις. Επιστρέφει το ποσοστό ομοιότητας δύο κειμένων. $arr1 Μεταβλητή που περιέχει το αρχείο των λέξεων του πρώτου κειμένου. $arr2 Μεταβλητή που περιέχει το αρχείο των μη σημαντικών λέξεων. $arr3 Μεταβλητή που περιέχει το αρχείο των λέξεων του δευτέρου κειμένου. $z Μεταβλητή που παίρνει τιμές από 1-6 και ορίζει ποιος αλγόριθμος ομοιότητας θα χρησιμοποιηθεί. Παράδειγμα χρήσης 1 $try = calling($arr1, $arr2, $arr3, $z); -63-

76 Pearson Correlation($arr1, $arr2) Δέχεται δύο πίνακες με αριθμούς, στην περίπτωσή μας πίνακες με συχνότητες των δύο κειμένων. Επιστρέφει το ποσοστό ομοιότητας των δύο κειμένων. $arr1 Μεταβλητή που περιέχει τον πίνακα των λέξεων του πρώτου κειμένου. $arr2 Μεταβλητή που περιέχει τον πίνακα των λέξεων του δευτέρου κειμένου. Παράδειγμα χρήσης 1 $try = correlation($arr1, $arr2); Cosine Similarity_algorithm_cosine ($arr1, $arr2) Δέχεται δύο πίνακες με αριθμούς, στην περίπτωσή μας πίνακες με συχνότητες των δύο κειμένων. Επιστρέφει το ποσοστό ομοιότητας των δύο κειμένων. $arr1 Μεταβλητή που περιέχει τον πίνακα των λέξεων του πρώτου κειμένου. $arr2 Μεταβλητή που περιέχει τον πίνακα των λέξεων του δευτέρου κειμένου. Παράδειγμα χρήσης 1 $try = similarity_algorithm_cosine($arr1, $arr2); Tanimoto Tanimoto ($arr1, $arr2) Δέχεται δύο πίνακες με αριθμούς, στην περίπτωσή μας πίνακες με συχνότητες των δύο κειμένων. Επιστρέφει το ποσοστό ομοιότητας των δύο κειμένων. $arr1 Μεταβλητή που περιέχει τον πίνακα των λέξεων του πρώτου κειμένου. $arr2 Μεταβλητή που περιέχει τον πίνακα των λέξεων του δευτέρου κειμένου. Παράδειγμα χρήσης 1 $try = Tanimoto($arr1, $arr2); -64-

77 Dice Adsimilarity ($arr1, $arr2) Δέχεται δύο πίνακες με αριθμούς, στην περίπτωσή μας πίνακες με συχνότητες των δύο κειμένων. Επιστρέφει το ποσοστό ομοιότητας των δύο κειμένων. $arr1 Μεταβλητή που περιέχει τον πίνακα των λέξεων του πρώτου κειμένου. $arr2 Μεταβλητή που περιέχει τον πίνακα των λέξεων του δευτέρου κειμένου. Παράδειγμα χρήσης 1 $try = Adsimilarity($arr1, $arr2); GreekPorterStemmerUtf8 Stem ($arr1) Δέχεται μια λέξη ως είσοδο. Κάνει αποκοπή της κατάληξης αυτής της λέξης. Επιστρέφει τη λέξη χωρίς την κατάληξή της. $arr1 Μεταβλητή που περιέχει μια λέξη. Παράδειγμα χρήσης 1 $stm = new GreekPorterStemmerUtf8() $stem = $stm->stem($word); -65-

78

79 5 Πειραματική Διαδικασία Στο παρόν κεφάλαιο, παρουσιάζεται το πειραματικό στάδιο της πτυχιακής. Παρουσιάζονται οι αλγόριθμοι ομοιότητας κειμένων σε έξι διαφορετικά γκρουπ κειμένων. Αυτά τα έξι γκρουπ περιλαμβάνουν: άρθρα που αφορούν το ίδιο θέμα (ανασκαφές στην Αμφίπολη), άρθρα που έχουν τον ίδιο τίτλο, άρθρα για ένα συγκεκριμένο γεγονός από διαφορετικές πηγές, διηγήματα, διηγήματα σε σύγκριση με τον εαυτό τους, αλλά με μειωμένο ποσοστό λέξεων και κείμενα με τις περιλήψεις τους που προκύπτουν από διάφορες πηγές. 5.1 Άρθρα που αφορούν το ίδιο θέμα Το συγκεκριμένο γκρουπ κειμένων περιλαμβάνει 16 άρθρα που έχουν συλλεχθεί από το ίντερνετ και έχουν ως κύριο θέμα τους τις ανασκαφές που πραγματοποιούνται στην Αμφίπολη. Είναι άρθρα που δε μιλάνε για ένα μεμονωμένο γεγονός, αλλά καλύπτουν ένα μεγάλο μέρος της πορείας των ανασκαφών, άρα αναφέρονται στο ίδιο γενικό θέμα, αλλά στο κάθε άρθρο δίνεται ιδιαίτερη βαρύτητα σε κάτι διαφορετικό. Λαμβάνοντας υπόψη τα παραπάνω, η ομοιότητα που αναμένεται να παρατηρηθεί στα άρθρα, δεν πρέπει να είναι ιδιαίτερα υψηλή. Αυτό συμβαίνει, διότι, ούτε νοηματικά θα υφίσταται μεγάλη ομοιότητα, πόσο μάλλον στο λεκτικό επίπεδο που επικεντρώνεται περισσότερο η όλη διαδικασία, καθώς εκτός από κάποιες λέξεις κλειδιά δεν αναμένεται να υπάρχουν περισσότερες όμοιες λέξεις. Τα άρθρα είναι 16 ([22], [23], [24], [25], [26], [27], [28], [29], [30], [31], [32], [33], [34], [35], [36], [37]), οπότε για να μπορέσουν να συγκριθούν όλα μεταξύ τους, δημιουργούνται 120 διαφορετικοί συνδυασμοί και τα αποτελέσματα τους φαίνονται στους πίνακες (Πίνακας 5.2, Πίνακας 5.3, Πίνακας 5.4). Τα κείμενα με την αντιστοιχία των κωδικών τους βρίσκονται στον πίνακα (Πίνακας 5.1). -67-

80 -68- Πίνακας 5.1 Αντιστοιχία τίτλων με τους κωδικούς τους

81 Πίνακας 5.2 Αποτελέσματα ομοιότητας άρθρων

82 -70- Πίνακας 5.3 Αποτελέσματα ομοιότητας άρθρων 41-80

83 Πίνακας 5.4 Αποτελέσματα ομοιότητας άρθρων Από τους παραπάνω πίνακες, μπορεί να γίνει εύκολα αντιληπτό το πόσο διαφορετικά είναι τα νούμερα, τόσο στο σύνολό τους, όσο και για κάθε σύγκριση από αλγόριθμο -71-

84 σε αλγόριθμο. Η διαφορά, οφείλεται στο γεγονός ότι οι αλγόριθμοι βασίζονται πάνω στις λέξεις και τις συχνότητές τους, άρα ο καθένας ανάλογα με τον τύπο που τον ορίζει δίνει και ένα διαφορετικό αποτέλεσμα. Από τα ποσοστά παρατηρήθηκε, ότι οι αλγόριθμοι dice και cosine δίνουν τιμές σχετικά κοντά ο ένας στον άλλο. Για να γίνει πιο εύκολα κατανοητό, η μέση συνολική ο- μοιότητα για όλες τις συγκρίσεις ανά αλγόριθμο είναι: Pearson (11,72%). Cosine (30,57%). Dice (27,41%). Tanimoto (16,28%). Από τα αποτελέσματα επίσης παρατηρήθηκε, ότι μόλις σε μια σύγκριση υπάρχει ομοιότητα πάνω από 50 %, στη γραμμή με κωδικό 88 και μάλιστα και οι τέσσερις αλγόριθμοι έχουν την μέγιστη τους τιμή σε αυτή τη γραμμή του πίνακα. Αντίθετα, την ελάχιστη τιμή του ο pearson την παρουσιάζει στη γραμμή με κωδικό 39, ενώ οι υπόλοιποι τρεις αλγόριθμοι στη γραμμή με κωδικό 11, του πίνακα. Από τη μελέτη των κειμένων, παρατηρήθηκε ότι τα άρθρα στο σύνολο τους, εκτός από κάποιες λέξεις κλειδιά και κάποιες επαναλήψεις ορισμένων τμημάτων τους, δεν παρουσιάζουν άλλα σημάδια ομοιότητας. Σε αυτή την ανομοιότητα, βοηθάει και το γεγονός ότι τα κείμενα έχουν διαφορετική έκταση μεταξύ τους. Παρόλα αυτά, στα κείμενα 10 και 14, παρατηρήθηκε η μεγαλύτερη ομοιότητα, σε σχέση με τα υπόλοιπα άρθρα, καθώς αναφέρονται σε γενικές γραμμές στα ίδια γεγονότα, την περιγραφή του εσωτερικού του τύμβου και τις εργασίες θωράκισης. Συμπερασματικά, ύστερα από τη μελέτη τόσο των αποτελεσμάτων του πίνακα, όσο και των ίδιων των κειμένων, παρατηρείται ταύτιση των αποτελεσμάτων, τουλάχιστον στα κείμενα που έχουν τη μέγιστη ομοιότητα. 5.2 Άρθρα με τον ίδιο τίτλο Το συγκεκριμένο γκρουπ κειμένων αποτελείται από 7 άρθρα. Όλα έχουν τον ίδιο ή παρόμοιο τίτλο και έχουν συλλεχθεί από διαφορετικές πηγές από το ίντερνετ. Πραγματεύονται την είδηση της χαρτογράφησης της θαλάσσιας βλάστησης των ελληνικών θαλασσών (Ποσειδωνία). -72-

85 Σύμφωνα λοιπόν με τα παραπάνω, η ομοιότητα που αναμένεται να παρατηρηθεί, θα ποικίλει ανάλογα με το περιεχόμενο των κειμένων. Μπορεί να υπάρξει μεγάλη ομοιότητα, αν το ένα άρθρο είναι αντιγραφή από κάποιο άλλο, αλλά και μικρή αν το λεξιλόγιο που χρησιμοποιείται σε δύο υπό σύγκριση άρθρα είναι διαφορετικό, ενώ αναφέρονται και τα δύο στο ίδιο γεγονός. Τα άρθρα είναι 7 ([38], [39], [40], [41], [42], [43], [44]), άρα και οι συγκρίσεις που θα γίνουν ώστε να καλυφθούν όλα τα ενδεχόμενα είναι 21 και φαίνονται στον παρακάτω πίνακα (Πίνακας 5.5). Πίνακας 5.5 Αποτελέσματα ομοιότητας άρθρων με ίδιο τίτλο Από τον παραπάνω πίνακα παρατηρείται, ότι και πάλι υπάρχουν αποκλίσεις ανάμεσα στους αλγορίθμους, αλλά αυτή τη φορά σε μικρότερο βαθμό. Ο Cosine και ο Dice, αποδίδουν σχεδόν τα ίδια αποτελέσματα, ο tanimoto βρίσκεται σταθερά πίσω τους, ενώ o pearson δίνει και πάλι πολύ μικρή ομοιότητα σε σχέση με τους υπολοίπους. Αυτό μπορεί να φανεί και από τη μέση συνολική ομοιότητα τους, που είναι: Pearson (30,05%). Cosine (63,88%). -73-

86 Dice (62,31%). Tanimoto (48,32%). Αντίθετα, όπως και στα άρθρα παραπάνω, όσο πιο όμοια είναι δύο άρθρα τόσο πιο μικρή γίνεται η απόκλιση ανάμεσα στους αλγορίθμους. Αυτό φαίνεται από το γεγονός ότι και οι τέσσερις αλγόριθμοι έχουν τη μέγιστη τιμή τους στην ίδια σύγκριση στη γραμμή του πίνακα με κωδικό 13. Ενώ στην ελάχιστη τιμή ο pearson την αποδίδει σε άλλη σύγκριση σε σχέση με τους άλλους τρεις αλγορίθμους. Στο συγκεκριμένο πίνακα, παρατηρείται ότι υπάρχει σχεδόν ταύτιση τριών άρθρων. Και οι τέσσερις αλγόριθμοι σε αυτές τις συγκρίσεις δίνουν ποσοστό ομοιότητας πάνω από 94% και παρατηρείται ότι οι τρεις συγκρίσεις αναφέρονται σε τρία κείμενα κυκλικά. Από τη μελέτη αυτών των άρθρων, παρατηρήθηκε ότι κάποιο από αυτά αποτελεί το γνήσιο, ενώ τα άλλα δύο είναι αναδημοσιεύσεις αυτού. Όσον αφορά τις υπόλοιπες συγκρίσεις, από τη μελέτη των άρθρων, παρατηρήθηκε ότι υπάρχει επανάληψη όχι μόνο κάποιων λέξεων κλειδιών, αλλά και αυτούσιων παραγράφων. Αυτά τα άρθρα, δίνουν την εντύπωση ότι προέρχονται από το ίδιο κείμενο, το οποίο έχει τεμαχιστεί. Έτσι, το καθένα έχει πάρει κάποια τμήματα αυτού του αρχικού υποθετικού κειμένου. 5.3 Άρθρα που αφορούν σε ένα συγκεκριμένο γεγονός Το συγκεκριμένο γκρουπ κειμένων αποτελείται από 8 άρθρα. Όλα έχουν συλλεχθεί από το ίντερνετ από διαφορετικές πηγές. Πραγματεύονται ένα συγκεκριμένο αγώνα ποδοσφαίρου. Σύμφωνα με τα παραπάνω, αυτό που αναμένεται να παρατηρηθεί από τη σύγκριση των άρθρων είναι η ύπαρξη μιας κάποιας ομοιότητας, η οποία θα εξαρτηθεί από το περιεχόμενο των κειμένων. Αν κάποιο είναι αναδημοσίευση κάποιου άλλου, θα υπάρχει μεγαλύτερη ομοιότητα, ενώ ακόμα και μικρή σχετικά ομοιότητα είναι αποδεκτή αν λάβουμε υπόψη τη διαφορετικότητα στο λεξιλόγιο και στο ύφος του εκάστοτε αρθρογράφου. Τα άρθρα είναι 8, οπότε οι συγκρίσεις που θα γίνουν είναι 28 ([45], [46], [47], [48], [49], [50], [51], [52]) και τα αποτελέσματα των συγκρίσεων φαίνονται στον παρακάτω πίνακα (Πίνακας 5.6). -74-

87 Πίνακας 5.6 Αποτελέσματα ομοιότητας άρθρων ενός συγκεκριμένου θέματος Από τον παραπάνω πίνακα, παρατηρείται ότι ο Cosine και ο Dice, αποδίδουν σχεδόν τα ίδια αποτελέσματα, ο tanimoto βρίσκεται σταθερά πίσω τους μαζί με τον pearson, έχοντας μεγάλη διαφορά από τους άλλους δύο. Αυτό μπορεί να φανεί και από τη μέση συνολική ομοιότητα, που είναι: Pearson (39,89%). Cosine (59,83%). Dice (55,9%). Tanimoto (39,5%). -75-

88 Οι μέγιστες τιμές των pearson και cosine παρατηρούνται στην ίδια γραμμή του πίνακα, στη θέση με κωδικό 12, ενώ των dice και tanimoto στη γραμμή με κωδικό 4. Ενώ οι ελάχιστες τιμές των dice και tanimoto παρατηρούνται στη γραμμή με κωδικό 17, του pearson στη γραμμή με κωδικό 16 και του cosine στη γραμμή με κωδικό 20, δηλαδή στην ελάχιστη τιμή υπάρχει απόκλιση ανάμεσα στους αλγορίθμους. Από τα αποτελέσματα, φαίνεται ότι η μέση ομοιότητα στο σύνολο των κειμένων είναι κοντά στο 50%, υπάρχει δηλαδή μια σχετική ομοιότητα, αλλά όχι σε τέτοιο βαθμό ώστε να προκύπτει ταύτιση μεταξύ των άρθρων. Από τη μελέτη των άρθρων, παρατηρήθηκε ότι αυτά τα άρθρα αποτελούν απόδειξη της μη αντικειμενικής προσέγγισης των πραγμάτων, όταν αφορούν αθλητικές δραστηριότητες, από τον εκάστοτε αρθρογράφο. Αυτό φαίνεται διότι, για τον ίδιο ποδοσφαιρικό αγώνα, υπάρχει έντονος υποκειμενισμός, καθώς ο καθένας δίνει ιδιαίτερη βαρύτητα σε διαφορετικά γεγονότα και αντιλαμβάνεται τον αγώνα διαφορετικά. Ακόμα, σε κάποια άρθρα, παρατηρείται η ύπαρξη πέραν της περιγραφής αγώνα και το φαινόμενο της κριτικής πάνω στα γεγονότα. Επίσης, παρατηρούνται σημαντικές διαφορές και στο λεξιλόγιο που χρησιμοποιεί ο καθένας, εκτός βέβαια των λέξεων κλειδιών. Από όλα τα παραπάνω, προκύπτει ότι ναι μεν τα κείμενα αναφέρονται στο ίδιο πράγμα, αλλά και το πόσο διαφορετικό μπορεί να είναι το κάθε άρθρο. Το ίδιο δηλαδή που έχει υποδείξει και ο πίνακας των αποτελεσμάτων. 5.4 Διηγήματα Το συγκεκριμένο γκρουπ κειμένων αποτελείται από ένα σύνολο 6 διηγημάτων, που έ- χουν συλλεχθεί από το ίντερνετ. Τα τρία διηγήματα είναι από τον ίδιο συγγραφέα και τα υπόλοιπα τρία από διάφορους. Στόχος του συγκεκριμένου πειράματος, είναι να δειχθεί η λειτουργία των αλγορίθμων σε μεγαλύτερης έκτασης κείμενα, αλλά και κατά πόσο μπορούν να αναγνωρίσουν ομοιότητα ανάμεσα σε κείμενα του ίδιου συγγραφέα. Έτσι, αναμένεται στη σύγκριση των τριών κειμένων του ίδιου συγγραφέα να υπάρχει μεγαλύτερη ομοιότητα, σε σχέση με τα υπόλοιπα. Τα διηγήματα είναι 6 ([53], [54], [55], [56], [57], [58]), οπότε για να γίνει σύγκριση όλων μεταξύ τους, χρειάζονται 15 συγκρίσεις, που φαίνονται στον πίνακα (Πίνακας 5.7). -76-

89 Πίνακας 5.7 Αποτελέσματα ομοιότητας διηγημάτων Τα αποτελέσματα φαίνονται ελαφρώς βελτιωμένα σε σχέση με τις τρεις προηγούμενες περιπτώσεις, καθώς οι αλγόριθμοι δεν έχουν τόσο μεγάλη απόκλιση μεταξύ τους. Αυτό μπορεί να φανεί και από τη μέση συνολική ομοιότητα, που είναι: Pearson (16,52%). Cosine (25,86%). Dice (20,27%). Tanimoto (11,61%). Οι μέγιστες τιμές των αλγορίθμων, δεν αναφέρονται όμως εδώ στην ίδια σύγκριση, αλλά σε δύο διαφορετικές. Ο pearson με τον cosine, στη σύγκριση με κωδικό 9, και ο dice με τον tanimoto στη σύγκριση με κωδικό 2. Κάτι αντίστοιχο συμβαίνει και με τις ελάχιστες τιμές, μόνο που τώρα ο pearson με τον tanimoto δίνουν την ελάχιστη τιμή τους στη σύγκριση με κωδικό 10, ενώ ο cosine και ο dice στη σύγκριση με κωδικό 16. Όσον αφορά τις προβλέψεις, τα διηγήματα <<Αντιγόνη>>, <<Γλάροι>>, <<Τουρκολίμανο>>, είναι του ίδιου συγγραφέα, του Η. Βενέζη, και από τα αποτελέσματα πα- -77-

90 ρατηρείται ότι οι μεγαλύτερες ομοιότητες αναφέρονται και στη σύγκριση των τριών αυτών κειμένων. 5.5 Διηγήματα σε σύγκριση με τον εαυτό τους Αυτό το γκρουπ κειμένων αποτελείται από 24 διηγήματα. Τα έξι ([53], [54], [55], [56], [57], [58]) από αυτά, τα είδαμε παραπάνω. Τα υπόλοιπα 18 είναι τα παραπάνω διηγήματα, μόνο που τους έχει αφαιρεθεί ένα ποσοστό λέξεων, 10%, 30% και 50% για το καθένα. Η σύγκριση που θα γίνει, αφορά το κάθε κείμενο ξεχωριστά και έχει ως στόχο την παρακολούθηση της συμπεριφοράς των αλγορίθμων στη σύγκριση όμοιων κειμένων, αλλά όχι εντελώς ίδιων. Αναμένεται να βρεθεί πολύ μεγάλη ομοιότητα ανάμεσα στο αρχικό κείμενο και σε αυτό που έχει κοπεί κατά 10%, μια αρκετά μεγάλή για το κείμενο που έχει κοπεί κατά 30% και μια μεσαία για το κείμενο με το 50% των αρχικών λέξεων του. Τα αποτελέσματα φαίνονται στον πίνακα (Πίνακας 5.8). Πίνακας 5.8 Αποτελέσματα ομοιότητας διηγημάτων σε σύγκριση με τον ποσοστιαία μεταβαλλόμενο εαυτό τους Από τα αποτελέσματα, παρατηρείται ότι στις συγκρίσεις όλων των διηγημάτων με τον εαυτό τους μειωμένο κατά 10%, η ομοιότητα που προκύπτει είναι εξαιρετικά μεγάλη, με αποτελέσματα όλων των αλγορίθμων πάνω από 95%. Στην περίπτωση του 30%, υπάρχει μια μικρή μείωση των ποσοστών, περισσότερο βέβαια στον tanimoto, αλλά και -78-

91 πάλι η μέση ομοιότητα για κάθε περίπτωση είναι αρκετά μεγάλη. Τώρα, στην περίπτωση του 50%, τα αποτελέσματα διαφέρουν από κείμενο σε κείμενο. Αν και είναι μικρότερα τα ποσοστά σε σχέση με τα προηγούμενα, υπάρχουν μεγάλες διαφορές τόσο στους αλγορίθμους για κάθε κείμενο, αλλά και στα κείμενα μεταξύ τους. Αυτό, οφείλεται στο ότι η αφαίρεση των λέξεων γίνεται τυχαία, που σημαίνει ότι αν είχαν αφαιρεθεί διαφορετικές λέξεις τα αποτελέσματα μπορεί να ήταν αρκετά διαφορετικά, καθώς οι αλγόριθμοι δεν αντιμετωπίζουν τα κείμενα ως λέξεις αλλά ως αριθμούς, οπότε όσο μεγαλύτερος είναι ένας αριθμός (συχνότητα λέξης), τόσο μεγαλύτερη διαφορά κάνει και η α- φαίρεση ενός ποσοστού της λέξης και όχι η αφαίρεση λέξεων συνολικά από το κείμενο. 5.6 Κείμενα σε σύγκριση με τις περιλήψεις τους Σε αυτό το γκρουπ των κειμένων υπάρχουν δύο ομάδες των τεσσάρων κειμένων. Η κάθε ομάδα περιλαμβάνει ένα κείμενο, την περίληψή του όπως προέκυψε χειροκίνητα, μια περίληψη που βασίζεται πάνω σε ένα μηχανισμό εξαγωγής αυτόματης περίληψης [21], και μια περίληψη από ένα online μηχανισμό εξαγωγής περίληψης [20]. Η περίληψη ενός κειμένου, είναι η εν συντομία απόδοση του περιεχομένου του κειμένου. Όταν γίνεται από άνθρωπο ακολουθεί κάποιους κανόνες, ένας εξ αυτών είναι η μη απόδοση του περιεχομένου αυτούσιο από το κείμενο, δηλαδή ναι μεν η περιγραφή του κειμένου αλλά όχι με το λεξιλόγιο του κειμένου. Λαμβάνοντας υπόψιν αυτό, η σύγκριση ενός κειμένου με την περίληψή του αναμένεται να μην έχει μεγάλο ποσοστό ομοιότητας, καθώς είναι αρκετά μικρότερη σε έκταση και το λεξιλόγιο που χρησιμοποιείται, εκτός από κάποιες λέξεις κλειδιά, είναι διαφορετικό. Αντίθετα οι περιλήψεις που εξάγουν τόσο ο μηχανισμός αυτόματης περίληψης, όσο και ο online μηχανισμός βασίζονται περισσότερο στις λέξεις του κειμένου. Πιο συγκεκριμένα, ο μηχανισμός εξαγωγής αυτόματης περίληψης χρησιμοποιώντας κάποιες μεθόδους παρόμοιες με την παρούσα πτυχιακή, δίνει βαθμούς βαρύτητας σε κάθε πρόταση ώστε να σχηματίσει την τελική περίληψη. Όπως είναι λοιπόν λογικό, αναμένεται μια σημαντική ομοιότητα του κειμένου, με αυτά τα δύο είδη περιλήψεων. Από τα αποτελέσματα των πειραμάτων (Πίνακας 5.9), παρατηρείται ότι επιβεβαιώνονται οι προβλέψεις καθώς παρουσιάζεται μεγαλύτερη ομοιότητα μεταξύ των κειμένων και των αντίστοιχων περιλήψεών τους από τον αυτόματο μηχανισμό εξαγωγής περίληψης και τον online μηχανισμό, αλλά και μεταξύ των δύο μηχανισμών. -79-

92 Τα αποτελέσματα των αλγορίθμων έχουν πολλές διακυμάνσεις, αλλά όλοι τους δίνουν τις μέγιστες τιμές τους σε αυτό που αναμενόταν. Πίνακας 5.9 Αποτελέσματα ομοιότητας κειμένων με τις περιλήψεις τους 5.7 Σύνοψη αποτελεσμάτων Από τους πίνακες, παρατηρείται ότι τα αποτελέσματα των αλγορίθμων διαφέρουν, τόσο μεταξύ τους από σύγκριση σε σύγκριση, αλλά και στην ίδια σύγκριση από αλγόριθμο σε αλγόριθμο. Οι αλγόριθμοι cosine και dice, τις περισσότερες φορές αποδίδουν σχεδόν το ίδιο, με τον tanimoto να ακολουθεί τρίτος σε ποσοστό ομοιότητας και τον pearson να βγάζει τις περισσότερες φορές ποσοστά πολύ χαμηλότερα από τους υπολοίπους. Αυτό, οφείλεται στο γεγονός, ότι οι τύποι των αλγορίθμων διαφέρουν στον τρόπο υπολογισμού των αποτελεσμάτων, καθώς ο Pearson χρησιμοποιεί και το μέσο όρο των συχνοτήτων των λέξεων, ενώ οι υπόλοιποι όχι. Το σημαντικό όμως είναι, ότι οι αλγόριθμοι ενώ σε χαμηλά ποσοστά, άρα και ανομοιότητα, βγάζουν πολύ διαφορετικά αποτελέσματα, στην ομοιότητα, άρα σε υψηλό ποσοστό έχουν πολύ μικρές διαφορές. Επίσης, τα αποτελέσματα των αλγορίθμων βελτιώνονται αισθητά όταν έχουν να κάνουν με μεγαλύτερης έκτασης κείμενα, λόγω του μεγαλύτερου εύρους λέξεων. -80-

ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΗ ΛΟΓΙΣΤΙΚΗ

ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΗ ΛΟΓΙΣΤΙΚΗ ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΗ ΛΟΓΙΣΤΙΚΗ ΑΘΗΝΑ 2015 1 Το επιστημονικό περιεχόμενο του παρόντος βιβλίου έχει υποβληθεί σε κριτική ανάγνωση και εγκριθεί με το σύστημα των κριτών. Η κριτική ανάγνωση πραγματοποιήθηκε από

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

ΤΕΤΑΡΤΗ ΕΞΑΜΗΝΙΑΙΑ ΕΚΘΕΣΗ ΠΕΡΙΒΑΛΛΟΝΤΙΚΗΣ ΔΙΑΧΕΙΡΙΣΗΣ 01.01-30.06.2010

ΤΕΤΑΡΤΗ ΕΞΑΜΗΝΙΑΙΑ ΕΚΘΕΣΗ ΠΕΡΙΒΑΛΛΟΝΤΙΚΗΣ ΔΙΑΧΕΙΡΙΣΗΣ 01.01-30.06.2010 Μελέτη, Κατασκευή, Χρηματοδότηση, Λειτουργία, Συντήρηση και Εκμετάλλευση του Αυτοκινητόδρομου «Ελευσίνα Κόρινθος Πάτρα Πύργος Τσακώνα» ΤΕΤΑΡΤΗ ΕΞΑΜΗΝΙΑΙΑ ΕΚΘΕΣΗ ΠΕΡΙΒΑΛΛΟΝΤΙΚΗΣ ΔΙΑΧΕΙΡΙΣΗΣ (σύμφωνα με

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

Trans. D.A/Koss/LLM (EU Law) (UKC), MA (Soc. Sciences) (OU) 17 Ιουνίου 2015 1

Trans. D.A/Koss/LLM (EU Law) (UKC), MA (Soc. Sciences) (OU) 17 Ιουνίου 2015 1 1 Ένα σοσιαλδημοκρατικό μοντέλο για την Κίνα; Tony Andréani & Rémy Herrera Κριτικές παρατηρήσεις στο βιβλίο των Μ. Αλιετά & Γκούο Μπάι «Ο Κινέζικος Δρόμος: Καπιταλισμός και Αυτοκρατορία» Στο βιβλίο αυτό

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

Ίδρυση και μετονομασία Υπουργείων, μεταφορά και κατάργηση υπηρεσιών

Ίδρυση και μετονομασία Υπουργείων, μεταφορά και κατάργηση υπηρεσιών Ίδρυση και μετονομασία Υπουργείων, μεταφορά και κατάργηση υπηρεσιών Εκδόθηκε το Προεδρικό Διάταγμα, υπ αριθ. 85 (ΦΕΚ 141/τ. Α /21-6- 2012) για την «Ίδρυση και μετονομασία Υπουργείων, μεταφορά και κατάργηση

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

ΟΙΚΟΝΟΜΙΚΗ ΚΡΙΣΗ ΚΑΙ ΤΡΑΠΕΖΙΚΟ ΣΥΣΤΗΜΑ

ΟΙΚΟΝΟΜΙΚΗ ΚΡΙΣΗ ΚΑΙ ΤΡΑΠΕΖΙΚΟ ΣΥΣΤΗΜΑ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΙΟΝΙΩΝ ΝΗΣΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΤΗ ΔΙΟΙΚΗΣΗ ΚΑΙ ΤΗΝ ΟΙΚΟΝΟΜΙΑ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΟΙΚΟΝΟΜΙΚΗ ΚΡΙΣΗ ΚΑΙ ΤΡΑΠΕΖΙΚΟ ΣΥΣΤΗΜΑ Επιβλέπων: Καθηγητής Αρσένος Παναγιώτης

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

Α. ΟΡΓΑΝΑ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΕΦΑΡΜΟΓΗΣ

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

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

Α. Πολιτιστικοί φορείς... 3. 1. Πλήθος φορέων... 3. 2. Έδρα... 3. 3. Γεωγραφική κατανομή φορέων... 4. 4. Νομική μορφή... 5. 5. Έτος ίδρυσης...

Α. Πολιτιστικοί φορείς... 3. 1. Πλήθος φορέων... 3. 2. Έδρα... 3. 3. Γεωγραφική κατανομή φορέων... 4. 4. Νομική μορφή... 5. 5. Έτος ίδρυσης... ΦΕΒΡΟΥΑΡΙΟΣ 2012 Α. Πολιτιστικοί φορείς... 3 1. Πλήθος φορέων... 3 2. Έδρα... 3 3. Γεωγραφική κατανομή φορέων... 4 4. Νομική μορφή... 5 5. Έτος ίδρυσης... 6 6. Αντικείμενο δραστηριότητας... 7 1 7. Εργαζόμενοι...

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

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

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

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

Δασικά Οικοσυστήματα και Τεχνικά Έργα

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

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

ΔΕΛΤΙΟ ΤΥΠΟΥ. Ακολουθεί ολόκληρη η τοποθέτηση - παρέμβαση του Υπουργού Δ.Μ.&Η.Δ.

ΔΕΛΤΙΟ ΤΥΠΟΥ. Ακολουθεί ολόκληρη η τοποθέτηση - παρέμβαση του Υπουργού Δ.Μ.&Η.Δ. ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΥΠΟΥΡΓΕΙΟ ΔΙΟΙΚΗΤΙΚΗΣ ΜΕΤΑΡΡΥΘΜΙΣΗΣ & ΗΛΕΚΤΡΟΝΙΚΗΣ ΔΙΑΚΥΒΕΡΝΗΣΗΣ ΓΡΑΦΕΙΟ ΤΥΠΟΥ Αθήνα, 18 Ιουνίου 2013 ΔΕΛΤΙΟ ΤΥΠΟΥ Ο Υπουργός Διοικητικής Μεταρρύθμισης και Ηλεκτρονικής Διακυβέρνησης

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

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

ΓΕΝΙΚΟΙ ΟΡΟΙ ΣΥΜΒΑΣΗΣ ΠΡΟΜΗΘΕΙΑΣ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΓΙΑ ΠΕΛΑΤΕΣ ΧΑΜΗΛΗΣ ΤΑΣΗΣ WATT AND VOLT AE ΕΜΠΟΡΙΑ ΚΑΙ ΠΡΟΜΗΘΕΙΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΕΔΡΑ: ΚΗΦΙΣΙΑΣ 116 & ΔΑΒΑΚΗ 1 Τ: 801 700 7080, FAX: 210 3619835 info@watt-volt.gr - www.watt-volt.gr ΓΕΝΙΚΟΙ ΟΡΟΙ ΣΥΜΒΑΣΗΣ ΠΡΟΜΗΘΕΙΑΣ ΗΛΕΚΤΡΙΚΗΣ

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

FARM ΝΟΜΟΙ ΑΠΟΦΑΣΕΙΣ Η ΔΙΕΥΚΡΙΝΙΣΤΙΚΗ ΕΓΚΥΚΛΙΟΣ ΓΙΑ ΤΟ ΣΥΝΕΤΑΙΡΙΣΤΙΚΟ ΝΟΜΟ 4015/2011. εκδοση AgroNews.gr

FARM ΝΟΜΟΙ ΑΠΟΦΑΣΕΙΣ Η ΔΙΕΥΚΡΙΝΙΣΤΙΚΗ ΕΓΚΥΚΛΙΟΣ ΓΙΑ ΤΟ ΣΥΝΕΤΑΙΡΙΣΤΙΚΟ ΝΟΜΟ 4015/2011. εκδοση AgroNews.gr Η ΔΙΕΥΚΡΙΝΙΣΤΙΚΗ ΕΓΚΥΚΛΙΟΣ ΓΙΑ ΤΟ ΣΥΝΕΤΑΙΡΙΣΤΙΚΟ ΝΟΜΟ 4015/2011 3 ΝΟΜΟΙ FARM ΑΠΟΦΑΣΕΙΣ επανέρχεται το αφορολόγητο πλεόνασμα διευκολύνονται οι συγχωνεύσεις συμπράξεις, αναγκαστικοί και δασικοί συνεταιρισμοί

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

Ο Υφυπουργός κατά την επίσκεψή του στο νέο κτίριο, ανακοίνωσε τα

Ο Υφυπουργός κατά την επίσκεψή του στο νέο κτίριο, ανακοίνωσε τα Τρίπολη, 4 Απριλίου 2008 Δηλώσεις του Υφυπουργού Εθνικής Παιδείας και Θρησκευμάτων κ. Ανδρέα Λυκουρέντζου μετά την επιθεώρηση των έργων μεταστέγασης της Δημόσιας Κεντρικής Βιβλιοθήκης Τρίπολης από το Μαντζούνειο

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

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

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

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

Κατηγορία: Είσπραξη δημοσίων Εσόδων

Κατηγορία: Είσπραξη δημοσίων Εσόδων Κατηγορία: Είσπραξη δημοσίων Εσόδων Αιτιολογική έκθεση Στο σχέδιο νόμου "Ρυθμίσεις για την επανεκκίνηση της οικονομίας". Προς τη Βουλή των Ελλήνων Α. Επί της Αρχής : Με το προτεινόμενο σχέδιο νόμου προτείνονται

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

ΑΓΡΟΤΙΚΗ ΖΩΗ ΚΑΙ ΚΥΠΡΙΑΚΗ ΠΑΡΑΔΟΣΗ

ΑΓΡΟΤΙΚΗ ΖΩΗ ΚΑΙ ΚΥΠΡΙΑΚΗ ΠΑΡΑΔΟΣΗ ΑΓΡΟΤΙΚΗ ΖΩΗ ΚΑΙ ΚΥΠΡΙΑΚΗ ΠΑΡΑΔΟΣΗ Έργα παιδιών Εμπνευσμένα από το Εκπαιδευτικό Πρόγραμμα στη Δημοτική Πινακοθήκη Λεμεσού Πρόγραμμα Ο τόπος μας με την παλέτα των ζωγράφων Τα έργα είναι εμπνευσμένα από

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

Β. 'Εκπτωση 50% στα οίκοθεν πρόσθετα τέλη για βεβαιωμένες οφειλές χρονικής περιόδου

Β. 'Εκπτωση 50% στα οίκοθεν πρόσθετα τέλη για βεβαιωμένες οφειλές χρονικής περιόδου -- 355 -- * ΑΣΦΑΛΙΣΤΙΚΑ * Νο. 5 ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Αθήνα 26/1/1999 ΙΔΡΥΜΑ ΚΟΙΝΩΝΙΚΩΝ ΑΣΦΑΛΙΣΕΩΝ ΔΙΟΙΚΗΣΗ Αριθ. Πρωτ: Ε33/3 ΓΕΝ. Δ/ΝΣΗ ΑΣΦ/ΚΩΝ ΥΠΗΡΕΣΙΩΝ ΤΜΗΜΑΤΑ ΚΟΙΝΩΝ - ΟΙΚΟΔ/ΚΩΝ ΕΠΙΧ/ΣΕΩΝ ΚΑΙ ΑΝΑΓΚΑΣΤΙΚΩΝ

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΥΠΟΥΡΓΕΙΟ ΕΣΩΤΕΡΙΚΩΝ ΑΝΑΠΛΗΡΩΤΗΣ ΥΠΟΥΡΓΟΣ Προς: Δημάρχους της Χώρας Αθήνα, 16 Δεκεμβρίου 2013 Α.Π.:2271. Αγαπητέ κ.

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

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

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

ΚΩΔΙΚΑΣ ΕΠΑΓΓΕΛΜΑΤΙΚΗΣ ΔΕΟΝΤΟΛΟΓΙΑΣ ΕΠΙΣΚΕΠΤΩΝ ΥΓΕΙΑΣ ΠΑΝΕΛΛΗΝΙΟΣ ΣΥΛΛΟΓΟΣ ΕΠΙΣΚΕΠΤΩΝ ΥΓΕΙΑΣ Π.Σ.Ε.Υ. - Ν.Π.Δ.Δ. ΥΠΟΜΝΗΜΑ ΠΑΝΕΛΛΗΝΙΟΥ ΣΥΛΛΟΓΟΥ ΕΠΙΣΚΕΠΤΩΝ ΥΓΕΙΑΣ Π.Σ.Ε.Υ.-Ν.Π.Δ.Δ. ΚΩΔΙΚΑΣ ΕΠΑΓΓΕΛΜΑΤΙΚΗΣ ΔΕΟΝΤΟΛΟΓΙΑΣ ΕΠΙΣΚΕΠΤΩΝ ΥΓΕΙΑΣ ΑΘΗΝΑ 2015 1 Πίνακας περιεχομένων

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

Ε Κ Θ Ε Σ Η. του Διοικητικού Συμβουλίου της Ανωνύμου Εταιρίας με την επωνυμία. «Unibios Ανώνυμος Εταιρία Συμμετοχών»

Ε Κ Θ Ε Σ Η. του Διοικητικού Συμβουλίου της Ανωνύμου Εταιρίας με την επωνυμία. «Unibios Ανώνυμος Εταιρία Συμμετοχών» Ε Κ Θ Ε Σ Η του Διοικητικού Συμβουλίου της Ανωνύμου Εταιρίας με την επωνυμία «Unibios Ανώνυμος Εταιρία Συμμετοχών» για την έκδοση Μετατρέψιμου Ομολογιακού Δανείου βάσει του άρθρου 4.1.4.1.2 του Κανονισμού

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

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

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

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

Η ΑΥΤΕΠΑΓΓΕΛΤΗ ΑΝΑΖΗΤΗΣΗ ΔΙΚΑΙΟΛΟΓΗΤΙΚΩΝ ΜΙΑ ΚΡΙΤΙΚΗ ΑΠΟΤΙΜΗΣΗ. ( Διοικητική Ενημέρωση, τ.51, Οκτώβριος Νοέμβριος Δεκέμβριος 2009)

Η ΑΥΤΕΠΑΓΓΕΛΤΗ ΑΝΑΖΗΤΗΣΗ ΔΙΚΑΙΟΛΟΓΗΤΙΚΩΝ ΜΙΑ ΚΡΙΤΙΚΗ ΑΠΟΤΙΜΗΣΗ. ( Διοικητική Ενημέρωση, τ.51, Οκτώβριος Νοέμβριος Δεκέμβριος 2009) Η ΑΥΤΕΠΑΓΓΕΛΤΗ ΑΝΑΖΗΤΗΣΗ ΔΙΚΑΙΟΛΟΓΗΤΙΚΩΝ ΜΙΑ ΚΡΙΤΙΚΗ ΑΠΟΤΙΜΗΣΗ ( Διοικητική Ενημέρωση, τ.5, Οκτώβριος Νοέμβριος Δεκέμβριος 009). Η θέσπιση του νέου μέτρου Η σημαντικότερη απόπειρα καινοτομικής δράσης της

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

ΝΕΑ ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΑ ΠΡΟΪΟΝΤΑ- ΕΦΑΡΜΟΓΗ ΣΕ ΑΣΦΑΛΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΗ

ΝΕΑ ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΑ ΠΡΟΪΟΝΤΑ- ΕΦΑΡΜΟΓΗ ΣΕ ΑΣΦΑΛΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΗ ΝΕΑ ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΑ ΠΡΟΪΟΝΤΑ- ΕΦΑΡΜΟΓΗ ΣΕ ΑΣΦΑΛΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΗ ΕΙΣΗΓΗΤΗΣ: ΣΩΤΗΡΟΠΟΥΛΟΣ ΙΩΑΝΝΗΣ ΟΙ ΦΟΙΤΗΤΕΣ: ΤΣΙΡΙΠΙΔΟΥ ΦΩΤΕΙΝΗ ΚΑΣΙΑΡΑΣ ΑΘΑΝΑΣΙΟΣ ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος...1 Εισαγωγή...6 ΜΕΡΟΣ Α ΝΕΟ ΠΡΟΪΟΝ

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

«Φιλολογικό» Φροντιστήριο Επαναληπτικό διαγώνισμα στη Νεοελληνική Γλώσσα. Ενδεικτικές απαντήσεις. Περιθωριοποίηση μαθητών από μαθητές!

«Φιλολογικό» Φροντιστήριο Επαναληπτικό διαγώνισμα στη Νεοελληνική Γλώσσα. Ενδεικτικές απαντήσεις. Περιθωριοποίηση μαθητών από μαθητές! «Φιλολογικό» Φροντιστήριο Επαναληπτικό διαγώνισμα στη Νεοελληνική Γλώσσα Ενδεικτικές απαντήσεις Περιθωριοποίηση μαθητών από μαθητές! Α. Να συντάξετε την περίληψη του κειμένου που σας δίνεται (λέξεις 100-120).

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

ΣΥΝΕΝΤΕΥΞΗ ΤΥΠΟΥ. Η ολοκληρωμένη προσέγγιση θα εφαρμοστεί με τα παρακάτω Εργαλεία

ΣΥΝΕΝΤΕΥΞΗ ΤΥΠΟΥ. Η ολοκληρωμένη προσέγγιση θα εφαρμοστεί με τα παρακάτω Εργαλεία ΣΥΝΕΝΤΕΥΞΗ ΤΥΠΟΥ ΕΙΣΑΓΩΓΗ Η κρίση υπερχρέωσης και οι πολιτικές δημοσιονομικής προσαρμογής ανέδειξαν τις διαρθρωτικές αδυναμίες της περιφερειακής οικονομίας και προκάλεσαν επιπτώσεις σε σχέση με την οικονομική

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

ΠΡΟΟΙΜΙΟ... 4-5 1.ΑΝΑΤΡΟΠΗ ΤΟΥ ΠΟΛΙΤΙΚΟΥ ΣΥΣΤΗΜΑΤΟΣ ΚΑΙ ΤΩΝ ΚΑΤΕΣΤΗΜΕΝΩΝ... 6-20

ΠΡΟΟΙΜΙΟ... 4-5 1.ΑΝΑΤΡΟΠΗ ΤΟΥ ΠΟΛΙΤΙΚΟΥ ΣΥΣΤΗΜΑΤΟΣ ΚΑΙ ΤΩΝ ΚΑΤΕΣΤΗΜΕΝΩΝ... 6-20 Πίνακας περιεχομένων ΠΡΟΟΙΜΙΟ... 4-5 1.ΑΝΑΤΡΟΠΗ ΤΟΥ ΠΟΛΙΤΙΚΟΥ ΣΥΣΤΗΜΑΤΟΣ ΚΑΙ ΤΩΝ ΚΑΤΕΣΤΗΜΕΝΩΝ... 6-20 1.1 Αλλαγή του πολιτικού συστήματος... 6-9 1.1.1 Εξυγίανση του πολιτικού συστήματος. Διαφάνεια παντού...

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

Βασικά σημεία διάλεξης

Βασικά σημεία διάλεξης Διάλεξη 3 η Βασικές έννοιες και κατηγορίες κόστους Μέρος Β Δρ. Δημήτρης Μπάλιος_ 2 _Βασικές έννοιες και κατηγορίες κόστους Βασικά σημεία διάλεξης Σταθερό, μεταβλητό και μικτό κόστος. Άμεσο και έμμεσο κόστος.

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

Εσωτερικοί Κανονισμοί Τοπικής Αυτοδιοίκησης

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

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

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

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

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

Η συμβολή του Πλάτωνα στα Μαθηματικά

Η συμβολή του Πλάτωνα στα Μαθηματικά ΠΛΑΤΩΝ Η συμβολή του Πλάτωνα στα Μαθηματικά I. Ανδρέας Παπαϊωάννου II. Αλέξανδρος Μπαλάσκας III. Κωνσταντίνος Θούας IV.Λουκάς Σωτηρόπουλος V. Πέτρος Κορφιάτης Εισηγητής : Γεώργιος Κ. Ντόντος (ΠΕ03) Χρονικη

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

Θεματική Ενότητα: ΠΑΙΔΕΙΑ ΠΟΛΙΤΙΣΜΟΣ - ΑΘΛΗΤΙΣΜΟΣ

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

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

ΓΑΝΤΑ ΧΑΝΤΑΜ Β ΓΥΜΝΑΣΙΟΥ. Διήγημα με τίτλο: «Τι σημαίνει ελευθερία;»

ΓΑΝΤΑ ΧΑΝΤΑΜ Β ΓΥΜΝΑΣΙΟΥ. Διήγημα με τίτλο: «Τι σημαίνει ελευθερία;» 2 O ΒΡΑΒΕΙΟ ΓΥΜΝΑΣΙΟΥ ΓΑΝΤΑ ΧΑΝΤΑΜ Β ΓΥΜΝΑΣΙΟΥ 5 ο ΓΥΜΝΑΣΙΟ ΚΑΛΛΙΘΕΑΣ Διήγημα με τίτλο: «Τι σημαίνει ελευθερία;» 1 ΤΙ ΣΗΜΑΙΝΕΙ ΕΛΕΥΘΕΡΙΑ; Όταν παλεύεις για την ελευθερία σου είναι κάτι ωραίο, όταν πεθαίνεις

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

Προδημοσιεύτηκαν τα τέσσερις πρώτα προγράμματα του νέου ΕΣΠΑ που αφορούν

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

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

ΕΘΙΜΑ ΤΟΥ ΚΟΣΜΟΥ. Αγγελική Περιστέρη Α 2

ΕΘΙΜΑ ΤΟΥ ΚΟΣΜΟΥ. Αγγελική Περιστέρη Α 2 ΕΘΙΜΑ ΤΟΥ ΚΟΣΜΟΥ Αγγελική Περιστέρη Α 2 ΧΡΙΣΤΟΥΓΕΝΝΑ Ιρλανδία: Τη νύκτα της παραμονής των Χριστουγέννων όλα τα παράθυρα των σπιτιών που βλέπουν προς το δρόμο, φωτίζονται από ένα αναμμένο κερί, το οποίο

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

ΧΟΤΕΛΑΪΝ ΑΝΤΙΠΡΟΣΩΠΕΙΕΣ ΕΙΔΩΝ ΞΕΝΟΔΟΧΕΙΑΚΟΥ ΕΞΟΠΛΙΣΜΟΥ Α.Ε. ΠΡΑΚΤΙΚΑ ΤΗΣ ΑΥΤΟΚΛΗΤΗΣ ΓΕΝΙΚΗΣ ΣΥΝΕΛΕΥΣΗΣ ΤΗΣ 29-04-2014

ΧΟΤΕΛΑΪΝ ΑΝΤΙΠΡΟΣΩΠΕΙΕΣ ΕΙΔΩΝ ΞΕΝΟΔΟΧΕΙΑΚΟΥ ΕΞΟΠΛΙΣΜΟΥ Α.Ε. ΠΡΑΚΤΙΚΑ ΤΗΣ ΑΥΤΟΚΛΗΤΗΣ ΓΕΝΙΚΗΣ ΣΥΝΕΛΕΥΣΗΣ ΤΗΣ 29-04-2014 ΧΟΤΕΛΑΪΝ ΑΝΤΙΠΡΟΣΩΠΕΙΕΣ ΕΙΔΩΝ ΞΕΝΟΔΟΧΕΙΑΚΟΥ ΕΞΟΠΛΙΣΜΟΥ Α.Ε. ΠΡΑΚΤΙΚΑ ΤΗΣ ΑΥΤΟΚΛΗΤΗΣ ΓΕΝΙΚΗΣ ΣΥΝΕΛΕΥΣΗΣ ΤΗΣ 29-04-2014 Στη Νέα Φιλαδέλφεια, σήμερα στις 29 Απριλίου 2014, ημέρα Τρίτη και ώρα 13:00, στα γραφεία

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

Του Σταύρου Ν. PhD Ψυχολόγου Αθλητικού Ψυχολόγου

Του Σταύρου Ν. PhD Ψυχολόγου Αθλητικού Ψυχολόγου Του Σταύρου Ν. PhD Ψυχολόγου Αθλητικού Ψυχολόγου Η σχέση και η αλληλεπίδραση των αθλητών, των προπονητών και των γονιών αποτελεί μια αναπόσπαστη διαδικασία στην αθλητική ανάπτυξη του παιδιού. Η αλληλεπίδραση

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

ΔΗΜΟΣ ΘΑΣΟΥ ΦΑΚΕΛΛΟΣ ΑΣΦΑΛΕΙΑΣ ΚΑΙ ΥΓΕΙΑΣ

ΔΗΜΟΣ ΘΑΣΟΥ ΦΑΚΕΛΛΟΣ ΑΣΦΑΛΕΙΑΣ ΚΑΙ ΥΓΕΙΑΣ Ε Λ Λ Η Ν Ι Κ Η Δ Η Μ Ο Κ Ρ Α Τ Ι Α ΔΗΜΟΣ ΘΑΣΟΥ Διαμορφώσεις μικρής κλίμακας, κατασκευή παρατηρητηρίων και κέντρου ενημέρωσης επισκεπτών στην περιοχή Ατσπάς, Σκ. Μαριών ΦΑΚΕΛΛΟΣ ΑΣΦΑΛΕΙΑΣ ΚΑΙ ΥΓΕΙΑΣ Τ.Υ.

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

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

ΚΩ ΙΚΑΣ ΕΟΝΤΟΛΟΓΙΑΣ ΤΗΣ ΕΤΑΙΡΕΙΑΣ ΜΕ ΤΗΝ ΕΠΩΝΥΜΙΑ «ΠΑΠΟΥΤΣΑΝΗΣ ΑΝΩΝΥΜΗ ΒΙΟΜΗΧΑΝΙΚΗ ΚΑΙ ΕΜΠΟΡΙΚΗ ΕΤΑΙΡΕΙΑ ΚΑΤΑΝΑΛΩΤΙΚΩΝ ΑΓΑΘΩΝ» ΚΩ ΙΚΑΣ ΕΟΝΤΟΛΟΓΙΑΣ ΤΗΣ ΕΤΑΙΡΕΙΑΣ ΜΕ ΤΗΝ ΕΠΩΝΥΜΙΑ «ΠΑΠΟΥΤΣΑΝΗΣ ΑΝΩΝΥΜΗ ΒΙΟΜΗΧΑΝΙΚΗ ΚΑΙ ΕΜΠΟΡΙΚΗ ΕΤΑΙΡΕΙΑ ΚΑΤΑΝΑΛΩΤΙΚΩΝ ΑΓΑΘΩΝ» ΠΕΡΙΕΧΟΜΕΝΑ 1 Γενικά...3 2 Θέματα Απασχόλησης...3 3 Σύγκρουση συμφερόντων...4

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

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

ΕΝΩΠΙΟΝ ΠΑΝΤΟΣ ΑΡΜΟΔΙΟΥ ΔΙΚΑΣΤΗΡΙΟΥ ΚΑΙ ΠΑΣΗΣ ΔΗΜΟΣΙΑΣ ΑΡΧΗΣ ΕΞΩΔΙΚΗ ΔΙΑΜΑΡΤΥΡΙΑ ΠΡΟΣΚΛΗΣΗ ΔΗΛΩΣΗ ΕΝΩΠΙΟΝ ΠΑΝΤΟΣ ΑΡΜΟΔΙΟΥ ΔΙΚΑΣΤΗΡΙΟΥ ΚΑΙ ΠΑΣΗΣ ΔΗΜΟΣΙΑΣ ΑΡΧΗΣ ΕΞΩΔΙΚΗ ΔΙΑΜΑΡΤΥΡΙΑ ΠΡΟΣΚΛΗΣΗ ΔΗΛΩΣΗ Της ΟΜΟΣΠΟΝΔΙΑΣ ΕΝΩΣΕΩΝ ΝΟΣΟΚΟΜΕΙΑΚΩΝ ΓΙΑΤΡΩΝ ΕΛΛΑΔΑΣ (Ο.Ε.Ν.Γ.Ε.), που εδρεύει στην Αθήνα (οδός Λαμίας,

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

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

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

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

ΕΚΠΟΝΗΣΗ ΕΡΓΑΣΙΑΣ: Δημοκώστα Καλλιόπη ΕΠΙΒΛΕΠΟΝΤΕΣ ΚΑΘΗΓΗΤΕΣ: Ισπικούδης Ιωάννης Πολίζου Ευαγγελία

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

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

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

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

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

EUROCORP ΑΝΩΝΥΜΟΣ ΕΤΑΙΡΕΙΑ ΠΑΡΟΧΗΣ ΕΠΕΝ ΥΤΙΚΩΝ ΥΠΗΡΕΣΙΩΝ

EUROCORP ΑΝΩΝΥΜΟΣ ΕΤΑΙΡΕΙΑ ΠΑΡΟΧΗΣ ΕΠΕΝ ΥΤΙΚΩΝ ΥΠΗΡΕΣΙΩΝ EUROCORP ΑΝΩΝΥΜΟΣ ΕΤΑΙΡΕΙΑ ΠΑΡΟΧΗΣ ΕΠΕΝ ΥΤΙΚΩΝ ΥΠΗΡΕΣΙΩΝ Ενδιάµεσες Ατοµικές και Ενοποιηµένες Οικονοµικές Καταστάσεις Περιόδου από 1 η Ιανουαρίου 2014 µέχρι 30 η Ιουνίου 2014 Ενδιάµεσες Οικονοµικές Καταστάσεις

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

στο ΕΣΠΑ του έργου ανέγερσης του 4ου Λυκείου Κέρκυρας.

στο ΕΣΠΑ του έργου ανέγερσης του 4ου Λυκείου Κέρκυρας. Η ένταξη στο ΕΣΠΑ του έργου ανέγερσης του 4ου Λυκείου Κέρκυρας. Δευτέρα, 06 Φεβρουαρίου 2012 Ο Περιφερειάρχης Ιονίων Νήσων, Σπύρος Σπύρου, υπέγραψε την ένταξη στο ΕΣΠΑ του έργου ανέγερσης του 4ου Λυκείου

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

ΙΕΘΝΗΣ ΣΥΜΒΑΣΗ ΕΡΓΑΣΙΑΣ 183 «για την αναθεώρηση της (αναθεωρηµένης) σύµβασης για την προστασία της µητρότητας,»

ΙΕΘΝΗΣ ΣΥΜΒΑΣΗ ΕΡΓΑΣΙΑΣ 183 «για την αναθεώρηση της (αναθεωρηµένης) σύµβασης για την προστασία της µητρότητας,» ΙΕΘΝΗΣ ΣΥΜΒΑΣΗ ΕΡΓΑΣΙΑΣ 183 «για την αναθεώρηση της (αναθεωρηµένης) σύµβασης για την προστασία της µητρότητας,» Η γενική Συνδιάσκεψη της ιεθνούς Οργάνωσης Εργασίας, που συγκλήθηκε στη Γενεύη από το ιοικητικό

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

ΠΡΑΚΤΙΚΑ ΣΥΝΕΔΡΙΑΣΕΩΣ ΔΗΜΟΤΙΚΟΥ ΣΥΜΒΟΥΛΙΟΥ ΤΡΙΠΟΛΗΣ ΣΥΝΕΔΡΙΑΣΗ ΤΗΣ 23 ης ΣΕΠΤΕΜΒΡΙΟΥ 2013 ΑΠΟΦΑΣΗ ΜΕ ΑΡΙΘΜΟ 787/2013

ΠΡΑΚΤΙΚΑ ΣΥΝΕΔΡΙΑΣΕΩΣ ΔΗΜΟΤΙΚΟΥ ΣΥΜΒΟΥΛΙΟΥ ΤΡΙΠΟΛΗΣ ΣΥΝΕΔΡΙΑΣΗ ΤΗΣ 23 ης ΣΕΠΤΕΜΒΡΙΟΥ 2013 ΑΠΟΦΑΣΗ ΜΕ ΑΡΙΘΜΟ 787/2013 1 Ελληνική ΑΝΑΡΤΗΤΕΑ ΣΤΟ ΔΙΑΔΙΚΤΥΟ ΘΕΜΑ: Γνωμοδότηση σχετικά με Εισήγηση της Δ/νσης Νεώτερης & Σύγχρονης Αρχιτεκτονικής Κληρονομιάς του ΥΠΠΟ, για τον χαρακτηρισμό ή μη ως μνημείων ταφικών κατασκευών στο

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

Ο Οδικός Χάρτης για την Ελλάδα της δημιουργίας

Ο Οδικός Χάρτης για την Ελλάδα της δημιουργίας Ο Οδικός Χάρτης για την Ελλάδα της δημιουργίας Από την κρίση και τα ελλείμματα στην ανάπτυξη και την κοινωνική δικαιοσύνη ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ Α. Αντιμέτωποι με την κρίση: τα πρώτα βήματα για τη σωτηρία

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

ΟΙΚΙΣΜΟΣ ΕΞΩ ΠΟΤΑΜΟΙ

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

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

ISSN 1986-2709 Περιοδικόν εκδοθέν εν έτει 2011, περιέχει διηγήσεις ιστοριών Δοξασιών που αφορούσιν το χωρίον της Χλώρακας. Συγγραφέν υπό τού Κυριάκου

ISSN 1986-2709 Περιοδικόν εκδοθέν εν έτει 2011, περιέχει διηγήσεις ιστοριών Δοξασιών που αφορούσιν το χωρίον της Χλώρακας. Συγγραφέν υπό τού Κυριάκου ISSN 1986-2709 Περιοδικόν εκδοθέν εν έτει 2011, περιέχει διηγήσεις ιστοριών Δοξασιών που αφορούσιν το χωρίον της Χλώρακας. Συγγραφέν υπό τού Κυριάκου Ταπακούδη Τύποις Κ. Ταπακούδης Ιστοσελίδα: www.chlorakasefimerida.com

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

Διακήρυξη Διαγωνισμού για το Έργο

Διακήρυξη Διαγωνισμού για το Έργο Διακήρυξη Διαγωνισμού για το Έργο «Ανάπτυξη Σύγχρονου Πλαισίου Ευρείας Διάθεσης και Ανοικτής Πρόσβασης των Πολιτών στις Αθλητικές Εγκαταστάσεις και Δρώμενα του Δήμου Φυλής» Αναθέτουσα Αρχή: Δήμος Φυλής

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

ΒΑΣΙΚΕΣ ΑΡΧΕΣ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ

ΒΑΣΙΚΕΣ ΑΡΧΕΣ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ 1 ΒΑΣΙΚΕΣ ΑΡΧΕΣ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ Β ΤΑΞΗ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΣ ΑΝΘΡΩΠΙΣΤΙΚΩΝ ΣΠΟΥΔΩΝ 2 ΚΕΦΑΛΑΙΟ 1Ο Ενότητα 1.3 Η διεπιστημονικότητα στις κοινωνικές επιστήμες ΚΟΙΝΩΝΙΚΕΣ ΕΠΙΣΤΗΜΕΣ 1/9 Δεν εξελίσσονται

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

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

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ «ΚΑΚΟΠΟΙΗΜΕΝΟΙ ΑΝΗΛΙΚΟΙ: ΠΡΟΣΤΑΣΙΑ, ΦΟΡΕΙΣ ΣΤΟ ΠΛΑΙΣΙΟ ΤΗΣ ΕΥΡΩΠΑΪΚΗΣ ΕΝΩΣΗΣ» ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΚΑΛΑΜΑΤΑΣ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗ ΜΟΝΑΔΩΝ ΥΓΕΙΑΣ ΚΑΙ ΠΡΟΝΟΙΑΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Τ Ε I ΚΑΛΑΜΑΤΑΣ τ Μ Η Μ Α ΕΚΔΟΣΕΩΝ & ΒΙΒΛΙΟΘΗΚΗ! «ΚΑΚΟΠΟΙΗΜΕΝΟΙ ΑΝΗΛΙΚΟΙ:

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

ΑΠΟΣΠΑΣΜΑ Από το υπ' αριθμ. 30/12-11-2012 Πρακτικό της Οικονομικής Επιτροπής Ιονίων Νήσων

ΑΠΟΣΠΑΣΜΑ Από το υπ' αριθμ. 30/12-11-2012 Πρακτικό της Οικονομικής Επιτροπής Ιονίων Νήσων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΕΡΙΦΕΡΕΙΑ ΙΟΝΙΩΝ ΝΗΣΩΝ ΟΙΚΟΝΟΜΙΚΗ ΕΠΙΤΡΟΠΗ ΑΠΟΣΠΑΣΜΑ Από το υπ' αριθμ. 30/12-11-2012 Πρακτικό της Οικονομικής Επιτροπής Ιονίων Νήσων Αριθμ. απόφασης 732-30/12-11-2012 ΠΕΡΙΛΗΨΗ: Έγκριση

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

1 Επιμέλεια: Γράβαλος Βασίλειος, Χρυσανθάκης Ιωάννης

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

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Αθήνα, 23 /05/2013 ΥΠΟΥΡΓΕΙΟ ΕΡΓΑΣΙΑΣ, ΚΟΙΝ. ΑΣΦΑΛΙΣΗΣ

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Αθήνα, 23 /05/2013 ΥΠΟΥΡΓΕΙΟ ΕΡΓΑΣΙΑΣ, ΚΟΙΝ. ΑΣΦΑΛΙΣΗΣ ΑΔΑ: ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Αθήνα, 23 /05/2013 ΥΠΟΥΡΓΕΙΟ ΕΡΓΑΣΙΑΣ, ΚΟΙΝ. ΑΣΦΑΛΙΣΗΣ Αρ. Πρ.: Β/7/15878/2915 & ΠΡΟΝΟΙΑΣ ΓΕΝΙΚΗ ΓΡΑΜΜΑΤΕΙΑ ΚΟΙΝΩΝΙΚΗΣ ΑΣΦΑΛΙΣΗΣ ΓΕΝIKH Δ/ΝΣΗ ΟΙΚΟΝΟΜΙΚΩΝ ΥΠΗΡΕΣΙΩΝ ΔΙΕΥΘΥΝΣΗ ΟΙΚΟΝΟΜΙΚΟΥ

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

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

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

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

ΑΔΑ: 4ΙΦΝΚ-ΔΘ. Αθήνα, 14 Δεκεμβρίου 2010 Αριθ. Πρωτ.: 71351. Ταχυδρομική. Σταδίου 27 Διεύθυνση: Ταχυδρομικός Κώδικας: 101 83 ΑΘΗΝΑ

ΑΔΑ: 4ΙΦΝΚ-ΔΘ. Αθήνα, 14 Δεκεμβρίου 2010 Αριθ. Πρωτ.: 71351. Ταχυδρομική. Σταδίου 27 Διεύθυνση: Ταχυδρομικός Κώδικας: 101 83 ΑΘΗΝΑ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΥΠΟΥΡΓΕΙΟ ΕΣΩΤΕΡΙΚΩΝ ΑΠΟΚΕΝΤΡΩΣΗΣ ΚΑΙ ΗΛΕΚΤΡΟΝΙΚΗΣ ΔΙΑΚΥΒΕΡΝΗΣΗΣ ΓΕΝΙΚΗ ΔΙΕΥΘΥΝΣΗ ΤΟΠΙΚΗΣ ΑΥTΟΔΙΟΙΚΗΣΗΣ ΔΙΕΥΘΥΝΣΗ ΟΡΓΑΝΩΣΗΣ & ΛΕΙΤΟΥΡΓΙΑΣ ΟΡΓΑΝΙΣΜΩΝ ΤΟΠΙΚΗΣ ΑΥΤΟΔΙΟΙΚΗΣΗΣ ΑΔΑ: Ταχυδρομική

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

Επιμελητής: Βαΐτσης Ευάγγελος Α.Μ.: 9357

Επιμελητής: Βαΐτσης Ευάγγελος Α.Μ.: 9357 ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΣΕΡΡΩΝ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΛΟΓΙΣΤΙΚΗΣ ΘΕΜΑ: ΕΣΩΤΕΡΙΚΟΣ ΕΛΕΓΧΟΣ Α.Ε. Επιμελητής: Α.Μ.: 9357 Εισηγητής: Ζωϊτσάς Άγγελος, Τμήμα Λογιστικής 2012-2013 ΠΡΟΛΟΓΟΣ

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

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

Η παρακμή του εργατικού κινήματος είναι μια διαδικασία που έχει ήδη διαρκέσει. πολλά χρόνια, τώρα ζούμε τα επεισόδια του τέλους της. Η παρακμή του εργατικού κινήματος είναι μια διαδικασία που έχει ήδη διαρκέσει πολλά χρόνια, τώρα ζούμε τα επεισόδια του τέλους της. 1 / 7 Αυτή η διαδικασία, φυσικά, δεν ήταν μια ευθεία πορεία από την ακμή

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

ΣΤΗΝ ΤΡΟΙΖΗΝΙΑ ΑΠΟ ΑΓ.ΕΛΕΝΗ ΕΩΣ ΤΟΝ ΚΟΜΒΟ ΚΑΛΛΟΝΗΣ ΚΑΙ ΣΤΗΝ ΠΑΡΑΛΙΑ ΤΟΥ ΑΡΤΙΜΟΥ. ΤΙΜΟΛΟΓΙΟ ΜΕΛΕΤΗΣ Τιμαριθμική 2012Α

ΣΤΗΝ ΤΡΟΙΖΗΝΙΑ ΑΠΟ ΑΓ.ΕΛΕΝΗ ΕΩΣ ΤΟΝ ΚΟΜΒΟ ΚΑΛΛΟΝΗΣ ΚΑΙ ΣΤΗΝ ΠΑΡΑΛΙΑ ΤΟΥ ΑΡΤΙΜΟΥ. ΤΙΜΟΛΟΓΙΟ ΜΕΛΕΤΗΣ Τιμαριθμική 2012Α ΠΕΡΙΦΕΡΕΙΑ ΑΤΤΙΚΗΣ ΠΕΡΙΦΕΡΕΙΑΚΗ ΕΝΟΤΗΤΑ ΝΗΣΩΝ Δ/ΝΣΗ ΤΕΧΝΙΚΩΝ ΕΡΓΩΝ ΤΜΗΜΑ ΟΔ & Μ.Ε Αριθμός Μελέτης : 3 Δήμος : ΤΡΟΙΖΗΝΙΑΣ Εργο : ΑΠΟΚΑΤΑΣΤΑΣΗ ΒΛΑΒΩΝ ΣΤΑ ΔΙΚΤΥΑ ΟΔΟΦΩΤΙΣΜΟΥ ΣΤΗΝ ΤΡΟΙΖΗΝΙΑ ΑΠΟ ΑΓ.ΕΛΕΝΗ ΕΩΣ

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

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

Η Υγεία είναι ο παράγοντας που μετράει την φυσική, ψυχολογική ή ακόμα και την πνευματική κατάσταση ενός ζώντος οργανισμού. ΔΙΑΤΡΟΦΗ ΚΑΙ ΥΓΕΙΑ Η Υγεία είναι ο παράγοντας που μετράει την φυσική, ψυχολογική ή ακόμα και την πνευματική κατάσταση ενός ζώντος οργανισμού. Διατροφή είναι η επιστήμη της τροφής που σχετίζεται με την

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

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

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

ΤΙΜΟΛΟΓΙΟ ΜΕΛΕΤΗΣ ΓΕΝΙΚΟΙ ΟΡΟΙ

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

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

Επιπτώσεις της οικονομικής κρίσης και ύφεσης στην ελληνική οικονομία 2008-2013 Προτάσεις για έξοδο από την κρίση

Επιπτώσεις της οικονομικής κρίσης και ύφεσης στην ελληνική οικονομία 2008-2013 Προτάσεις για έξοδο από την κρίση Επιπτώσεις της οικονομικής κρίσης και ύφεσης στην ελληνική οικονομία 2008-2013 Προτάσεις για έξοδο από την κρίση Καραβάς Ηλίας Α.Μ.: 2001029 Επόπτης καθηγητής: Λυγγίτσος Αλέξανδρος Καθηγητής Εφαρμ. Λογιστικής

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

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

ΠΑΡΑΡΤΗΜΑ ΤΜΗΜΑΤΑ ΕΚΘΕΣΗΣ ΑΥΤΟΑΞΙΟΛΟΓΗΣΗΣ ΤΟΥ ΙΔΡΥΜΑΤΟΣ ΠΟΥ ΘΑ ΠΡΕΠΕΙ ΝΑ ΣΥΜΠΛΗΡΩΘΟΥΝ ΑΠΟ ΤΑ ΤΜΗΜΑΤΑ ΤΟΥ ΕΚΠΑ ΠΑΡΑΡΤΗΜΑ ΤΜΗΜΑΤΑ ΕΚΘΕΣΗΣ ΑΥΤΟΑΞΙΟΛΟΓΗΣΗΣ ΤΟΥ ΙΔΡΥΜΑΤΟΣ ΠΟΥ ΘΑ ΠΡΕΠΕΙ ΝΑ ΣΥΜΠΛΗΡΩΘΟΥΝ ΑΠΟ ΤΑ ΤΜΗΜΑΤΑ ΤΟΥ ΕΚΠΑ 2 Δ. Προγράμματα Σπουδών Στην ενότητα αυτή το Ίδρυμα καλείται να αναλύσει κριτικά και να αξιολογήσει

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

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

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

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

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

ΠΑΡΟΥΣΙΑΣΗ ΤΩΝ ΓΕΝΙΚΩΝ ΚΑΙ ΕΙΔΙΚΩΝ ΟΡΩΝ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ «ΑΣΦΑΛΩΣ ΚΑΤΟΙΚΕΙΝ» ΚΟΙΝΟΧΡΗΣΤΟΙ ΧΩΡΟΙ ΠΑΡΟΥΣΙΑΣΗ ΤΩΝ ΓΕΝΙΚΩΝ ΚΑΙ ΕΙΔΙΚΩΝ ΟΡΩΝ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ «ΑΣΦΑΛΩΣ ΚΑΤΟΙΚΕΙΝ» ΚΟΙΝΟΧΡΗΣΤΟΙ ΧΩΡΟΙ ΓΕΝΙΚΟΙ ΟΡΟΙ ΑΡΘΡΟ 1. ΟΡΙΣΜΟΙ Αξία καινούργιου: Είναι το ποσό που απαιτείται για την ανακατασκευή του κτιρίου

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

μεταπτυχιακός σπουδαστής : Λάζαρος Η. Κενανίδης σύμβουλος καθηγητής: κ. Aθανάσιος Ε. Καραθανάσης

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

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

ΠΡΑΚΤΙΚΑ ΤΗΣ ΒΟΥΛΗΣ ΠΑΡΑΣΚΕΥΗ 30 ΑΠΡΙΛΙΟΥ

ΠΡΑΚΤΙΚΑ ΤΗΣ ΒΟΥΛΗΣ ΠΑΡΑΣΚΕΥΗ 30 ΑΠΡΙΛΙΟΥ ΠΡΑΚΤΙΚΑ ΤΗΣ ΒΟΥΛΗΣ ΠΑΡΑΣΚΕΥΗ 30 ΑΠΡΙΛΙΟΥ Συνεχίζουμε με την με αριθμό 715/45/27-4-2010 Επίκαιρη Ερώτηση του Προέδρου της Κοινοβουλευτικής Ομάδας του Συνασπισμού Ριζοσπαστικής Αριστεράς κ. Αλέξη Τσίπρα

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

ΑΞΙΟΛΟΓΗΣΗ ΑΚΑΔΗΜΑΪΚΟΥ ΕΤΟΥΣ 2014-15

ΑΞΙΟΛΟΓΗΣΗ ΑΚΑΔΗΜΑΪΚΟΥ ΕΤΟΥΣ 2014-15 ANOIXTO ΠΑΝΕΠΙΣΤΗΜΙΟ ΔΗΜΟΥ ΘΕΣΣΑΛΟΝΙΚΗΣ ΔΙΕΥΘΥΝΣΗ ΕΚΠΑΙΔΕΥΣΗΣ KAI ΑΘΛΗΤΙΣΜΟΥ ΤΜΗΜΑ ΠΡΟΓΡΑΜΜΑΤΩΝ & ΔΙΑ ΒΙΟΥ ΜΑΘΗΣΗΣ ΑΞΙΟΛΟΓΗΣΗ ΑΚΑΔΗΜΑΪΚΟΥ ΕΤΟΥΣ 2014-15 Κύκλοι χειμερινό εξάμηνο: 114 Ζητήματα Ελληνικής

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

Υποψήφιοι Σχολικοί Σύμβουλοι 1986 2005

Υποψήφιοι Σχολικοί Σύμβουλοι 1986 2005 Υποψήφιοι Σχολικοί Σύμβουλοι 1986 25 Για τους /τις εκπαιδευτικούς που υπέβαλαν αίτηση υποψηφιότητας για τη θέση Σχολικού Συμβούλου υπάρχουν μας διατέθηκαν από τις αρμόδιες υπηρεσίες του ΥΠΕΠΘ, για τα έτη

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

ΠΡΑΚΤΙΚΟΥ 10 / 14-06 - 2011

ΠΡΑΚΤΙΚΟΥ 10 / 14-06 - 2011 ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΕΡΙΦΕΡΕΙΑ ΙΟΝΙΩΝ ΝΗΣΩΝ ΟΙΚΟΝΟΜΙΚΗ ΕΠΙΤΡΟΠΗ Κέρκυρα, 14-06 /2011 ΠΡΑΚΤΙΚΟΥ 10 / 14-06 - 2011 Στην Κέρκυρα σήμερα 14-06 - 2011 ημέρα Tρίτη και ώρα 18:30, συνεδρίασε, η Οικονομική Επιτροπή,

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

ΔΙΚΤΥΟΥ ΑΠΟΧΕΤΕΥΣΗΣ» Η ΠΡΟΕΔΡΟΣ

ΔΙΚΤΥΟΥ ΑΠΟΧΕΤΕΥΣΗΣ» Η ΠΡΟΕΔΡΟΣ 18ης Οκτωβρίου 18, 582 00 Έδεσσα τηλ. 2381025555, fax. 2381051255 Εργασία: Αποφράξεις δικτύου αποχέτευσης Προϋπολογισμός: 30.100,00 (με Φ.Π.Α.) Αριθμός Μελέτης: 35/2013 Έδεσσα, 27-12-2013 ΔΙΑΚΗΡΥΞΗ ΠΡΟΧΕΙΡΟΥ

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

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

ΤΜΗΜΑ ΦΙΛΟΣΟΦΙΑΣ ΚΑΙ ΠΑΙΔΑΓΩΓΙΚΗΣ Πρόγραμμα Μεταπτυχιακών Σπουδών Φιλοσοφίας ΕΣΩΤΕΡΙΚΟΣ ΚΑΝΟΝΙΣΜΟΣ ΛΕΙΤΟΥΡΓΙΑΣ ΤΜΗΜΑ ΦΙΛΟΣΟΦΙΑΣ ΚΑΙ ΠΑΙΔΑΓΩΓΙΚΗΣ Πρόγραμμα Μεταπτυχιακών Σπουδών Φιλοσοφίας ΕΣΩΤΕΡΙΚΟΣ ΚΑΝΟΝΙΣΜΟΣ ΛΕΙΤΟΥΡΓΙΑΣ Υπουργικές αποφάσεις λειτουργίας: Υ.Α. Ζ1/9760/23.12.14 (ΦΕΚ 3591/31.12.14, τ. Β ), Υ.Α. Β7/29073/6.7.06

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

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

ΑΠΑΝΤΗΣΕΙΣ ΣΤΟ ΙΑΓΩΝΙΣΜΑ ΝΕΟΕΛΛΗΝΙΚΗΣ ΛΟΓΟΤΕΧΝΙΑΣ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ ΑΠΑΝΤΗΣΕΙΣ ΣΤΟ ΙΑΓΩΝΙΣΜΑ ΝΕΟΕΛΛΗΝΙΚΗΣ ΛΟΓΟΤΕΧΝΙΑΣ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ Κυριακή 4 Μαρτίου 2012 Α. α) η απάντηση βρίσκεται στη σχολικό βιβλίο: Εισαγωγή των «Ποιημάτων για την Ποίηση», σελίδες

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

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

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

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

ΣΧΟΛΗ ΕΘΝΙΚΗΣ ΑΜΥΝΑΣ ΠΡΟΚΗΡΥΞΗ

ΣΧΟΛΗ ΕΘΝΙΚΗΣ ΑΜΥΝΑΣ ΠΡΟΚΗΡΥΞΗ ΣΧΟΛΗ ΕΘΝΙΚΗΣ ΑΜΥΝΑΣ ΠΡΟΚΗΡΥΞΗ Για το διορισμό Καθηγητών με Ετήσια Σύμβαση Εργασίας Ιδιωτικού Δικαίου, με Ωριαία Αποζημίωση, για το Ακαδημαϊκό έτος 2013-2014 1. ΓΕΝΙΚΑ Η Σχολή Εθνικής Άμυνας (ΣΕΘΑ), λαμβάνοντας

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

ΑΝΩΤΑΤΗ ΣΧΟΛΗ ΠΑΙΔΑΓΩΓΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΚΗΣ ΕΚΠΑΙΔΕΥΣΗΣ

ΑΝΩΤΑΤΗ ΣΧΟΛΗ ΠΑΙΔΑΓΩΓΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΚΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΑΝΑΡΤΗΤΕΑ ΣΤΗ ΔΙΑΥΓΕΙΑ Α.Σ.ΠΑΙ.Τ.Ε. ΑΝΩΤΑΤΗ ΣΧΟΛΗ ΠΑΙΔΑΓΩΓΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΚΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΕΔΡΑ: ΑΜΑΡΟΥΣΙΟ (ΣΤΑΘΜΟΣ «ΕΙΡΗΝΗ» ΗΣΑΠ) Αριθμ. Πρωτ.:Δ/2450 ΤΑΧ.Δ/ΝΣΗ : ΗΡΑΚΛΕΙΟ ΑΤΤΙΚΗΣ

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

ΠΑΓΚΥΠΡΙΟ ΤΖΑΜΠΟΡΙ ΕΚΑΤΟΝΤΑΕΤΗΡΙΔΑΣ «ΓΛΥΚΙΑ ΠΑΤΡΙΔΑ»

ΠΑΓΚΥΠΡΙΟ ΤΖΑΜΠΟΡΙ ΕΚΑΤΟΝΤΑΕΤΗΡΙΔΑΣ «ΓΛΥΚΙΑ ΠΑΤΡΙΔΑ» ΣΩΜΑ ΠΡΟΣΚΟΠΩΝ ΚΥΠΡΟΥ ΓΕΝΙΚΗ ΕΦΟΡΕΙΑ ΚΛΑΔΟΣ ΠΡΟΣΚΟΠΩΝ ΠΑΓΚΥΠΡΙΟ ΤΖΑΜΠΟΡΙ ΕΚΑΤΟΝΤΑΕΤΗΡΙΔΑΣ «ΓΛΥΚΙΑ ΠΑΤΡΙΔΑ» Έντυπο Επίσημης Προκήρυξης V. 2.3 11 Απριλίου 2014 1 ΠΡΟΚΗΡΥΞΗ JAMBOREE Το Σώμα Προσκόπων Κύπρου

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

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

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

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

ΑΛΛΕΡΓΙΚΗ ΡΙΝΙΤΙΔΑ ΕΠΙΔΗΜΙΟΛΟΓΙΑ & ΑΙΤΙΟΛΟΓΙΚΟΙ ΠΑΡΑΓΟΝΤΕΣ

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

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

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

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

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

Όταν το μάθημα της πληροφορικής γίνεται ανθρωποκεντρικό μπορεί να αφορά και την εφηβεία.

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

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

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

συνήλθε στην Αίθουσα των συνεδριάσεων του Βουλευτηρίου η Βουλή σε ολομέλεια για να συνεδριάσει υπό την προεδρία του Ε Αντιπροέδρου αυτής κ. ΠΡΑΚΤΙΚΑ ΒΟΥΛΗΣ ΙΕ ΠΕΡΙΟΔΟΣ ΠΡΟΕΔΡΕΥΟΜΕΝΗΣ ΚΟΙΝΟΒΟΥΛΕΥΤΙΚΗΣ ΔΗΜΟΚΡΑΤΙΑΣ ΣΥΝΟΔΟΣ Β ΣΥΝΕΔΡΙΑΣΗ ϞΔ Δευτέρα 24 Φεβρουαρίου 2014 Αθήνα, σήμερα στις 24 Φεβρουαρίου 2014, ημέρα Δευτέρα και ώρα 18.08 συνήλθε στην

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

Ξαναδίνουμε ζωή στο δικό μας ΗΡΑΚΛΕΙΟ Δ.Α.Σ.Η. ΓΙΩΡΓΟΣ ΜΑΣΤΟΡΑΚΟΣ. Δημοτική Ανεξάρτητη Συνεργασία Ηρακλείου

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

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

«Συλλογή, μεταφορά και διαχείριση επικίνδυνων στερεών αποβλήτων της Γ.Μ.Μ.Α.Ε. ΛΑΡΚΟ»

«Συλλογή, μεταφορά και διαχείριση επικίνδυνων στερεών αποβλήτων της Γ.Μ.Μ.Α.Ε. ΛΑΡΚΟ» Διακήρυξη για την: «Συλλογή, μεταφορά και διαχείριση επικίνδυνων στερεών αποβλήτων της Γ.Μ.Μ.Α.Ε. ΛΑΡΚΟ» Διακήρυξη Νο: Ε140038 Η Γ.Μ.Μ.Α.Ε. ΛΑΡΚΟ («Εταιρία») προκηρύσσει μειοδοτικό διαγωνισμό με σφραγισμένες

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

ΠΕΡΙΕΧΟΜΕΝΑ ΒΙΑ ΚΑΙ ΚΑΚΟΠΟΙΗΣΗ ΠΑΙΔΙΩΝ...!

ΠΕΡΙΕΧΟΜΕΝΑ ΒΙΑ ΚΑΙ ΚΑΚΟΠΟΙΗΣΗ ΠΑΙΔΙΩΝ...! 1 ΒΙΑ ΚΑΙ ΚΑΚΟΠΟΙΗΣΗ ΠΑΙΔΙΩΝ...! ΠΕΡΙΕΧΟΜΕΝΑ ΒΙΙΝΤΕΟ ΓΙΑ ΤΗΝ ΚΑΚΟΠΟΙΗΣΗ...ΣΕΛ 3 ΕΙΔΗ ΒΙΑΣ...ΣΕΛ 5 ΛΕΚΤΙΚΗ ΒΙΑ...ΣΕΛ 6 ΡΑΤΣΙΣΤΙΚΗ ΒΙΑ...ΣΕΛ 6 ΣΩΜΑΤΙΚΗ ΒΙΑ...ΣΕΛ 7 ΨΥΧΟΛΟΓΙΚΗ ΒΙΑ...ΣΕΛ 9 ΣΕΞΟΥΑΛΙΚΗ ΒΙΑ...ΣΕΛ

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

Η ΕΠΙΤΡΟΠΗ ΤΩΝ ΕΥΡΩΠΑΪΚΩΝ ΚΟΙΝΟΤΗΤΩΝ,

Η ΕΠΙΤΡΟΠΗ ΤΩΝ ΕΥΡΩΠΑΪΚΩΝ ΚΟΙΝΟΤΗΤΩΝ, ΚΑΝΟΝΙΣΜΟΣ (ΕΚ) αριθ. 1077/2008 ΤΗΣ ΕΠΙΤΡΟΠΗΣ της 3ης Νοεμβρίου 2008 περί της θέσπισης λεπτομερών κανόνων εφαρμογής του κανονισμού (ΕΚ) αριθ. 1966/2006 του Συμβουλίου σχετικά με την ηλεκτρονική καταχώριση

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

ΔΗΜΟΤΙΚΟ ΣΥΜΒΟΥΛΙΟ ΑΠΟΣΠΑΣΜΑ Από το Αριθ. 6/28-2-2011 πρακτικό Συνεδρίασης Δημοτικού Συμβουλίου

ΔΗΜΟΤΙΚΟ ΣΥΜΒΟΥΛΙΟ ΑΠΟΣΠΑΣΜΑ Από το Αριθ. 6/28-2-2011 πρακτικό Συνεδρίασης Δημοτικού Συμβουλίου ΔΗΜΟΤΙΚΟ ΣΥΜΒΟΥΛΙΟ ΑΠΟΣΠΑΣΜΑ Από το Αριθ. 6/28-2-2011 πρακτικό Συνεδρίασης Δημοτικού Συμβουλίου ΑΠΟΦΑΣΗ 56/2011 Περί ορισμού Διοικητικού Συμβουλίου του ανωτέρω νέου ΝΠΔΔ. Σήμερα, στις 28 του μήνα Φεβρουαρίου

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

Συνήγορος του Καταναλωτή Νομολογία ΕφΑθ 5253/2003

Συνήγορος του Καταναλωτή Νομολογία ΕφΑθ 5253/2003 ΕφΑθ 5253/2003 Τράπεζες. Στεγαστικά δάνεια. Γενικοί Όροι Συναλλαγών. Καταχρηστικοί όροι. Έξοδα χρηματοδότησης. Προμήθεια φακέλου Παράνομες επιβαρύνσεις. Υπέρμετρες εγγυήσεις. Καταγγελία σύμβασης δανείου.

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

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Πρώτες βοήθειες και αντιλήψεις του πληθυσμού στους Νομούς Χανίων, Ηρακλείου, Λασιθίου και Μεσσηνίας

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Πρώτες βοήθειες και αντιλήψεις του πληθυσμού στους Νομούς Χανίων, Ηρακλείου, Λασιθίου και Μεσσηνίας Α.Τ.Ε.Ι. ΚΡΗΤΗΣ ΣΧΟΛΗ ΕΠΑΓΓΕΛΜΑΤΩΝ ΥΓΕΙΑΣ ΠΡΟΝΟΙΑΣ ΤΜΗΜΑ ΝΟΣΗΛΕΥΤΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Πρώτες βοήθειες και αντιλήψεις του πληθυσμού στους Νομούς Χανίων, Ηρακλείου, Λασιθίου και Μεσσηνίας ΣΠΟΥΔΑΣΤΕΣ Δημητρακόπουλος

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

ΔΙΑΚΗΡΥΞΗ Ο ΔΗΜΑΡΧΟΣ ΘΕΣ/ΝΙΚΗΣ

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

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

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

Για την ομοιόμορφη εφαρμογή των διατάξεων της ανωτέρω απόφασης, παρέχονται οι ακόλουθες οδηγίες και διευκρινίσεις: ! ΠΟΛ.1024/17.1.2014 Παροχή οδηγιών και διευκρινίσεων επί των διατάξεων της απόφασης ΠΟΛ 1281/2013(ΦΕΚ 3367Β/31.12.2013) «Απαλλαγή από την υποχρέωση τήρησης βιβλίων και έκδοσης στοιχείων των αγροτών του

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

ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ ΝΟΜΟΣ ΘΕΣΣΑΛΟΝΙΚΗΣ Ο ΗΜΑΡΧΟΣ ΘΕΣΣΑΛΟΝΙΚΗΣ /ΝΣΗ ΟΙΚΟΝΟΜΙΚΗΣ & ΤΑΜΕΙΑΚΗΣ ΙΑΧΕΙΡΙΣΗΣ ΤΜΗΜΑ ΠΡΟΚΗΡΥΞΕΩΝ & ΗΜΟΠΡΑΣΙΩΝ

ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ ΝΟΜΟΣ ΘΕΣΣΑΛΟΝΙΚΗΣ Ο ΗΜΑΡΧΟΣ ΘΕΣΣΑΛΟΝΙΚΗΣ /ΝΣΗ ΟΙΚΟΝΟΜΙΚΗΣ & ΤΑΜΕΙΑΚΗΣ ΙΑΧΕΙΡΙΣΗΣ ΤΜΗΜΑ ΠΡΟΚΗΡΥΞΕΩΝ & ΗΜΟΠΡΑΣΙΩΝ ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ ΝΟΜΟΣ ΘΕΣΣΑΛΟΝΙΚΗΣ ΗΜΟΣ ΘΕΣΣΑΛΟΝΙΚΗΣ /ΝΣΗ ΟΙΚΟΝΟΜΙΚΗΣ & ΤΑΜΕΙΑΚΗΣ ΙΑΧΕΙΡΙΣΗΣ ΤΜΗΜΑ ΠΡΟΚΗΡΥΞΕΩΝ & ΗΜΟΠΡΑΣΙΩΝ Προµήθεια παιχνιδιών για την κάλυψη των αναγκών των ηµοτικών Παιδικών Σταθµών

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

ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΗΠΕΙΡΟΥ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΧΑΪΔΑΡΗΣ ΧΡ. ΝΙΚΟΛΑΟΣ ΑΜ:6805. Εισηγητής: Σωτηρόπουλος Ιωάννης

ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΗΠΕΙΡΟΥ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΧΑΪΔΑΡΗΣ ΧΡ. ΝΙΚΟΛΑΟΣ ΑΜ:6805. Εισηγητής: Σωτηρόπουλος Ιωάννης ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΗΠΕΙΡΟΥ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α «ΤΟΥΡΙΣΜΟΣ ΚΑΙ ΟΙΚΟΝΟΜΙΚΗ ΑΝΑΠΤΥΞΗ: H περίπτωση της Περιφέρειας Ιονίων Νήσων» ΧΑΪΔΑΡΗΣ ΧΡ. ΝΙΚΟΛΑΟΣ

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

ΕΙΣΗΓΗΣΗ. επί της 5ης Αναμόρφωσης του προϋπολογισμού της Περιφέρειας Ιονίων Νήσων, για το οικονομικό έτος 2014

ΕΙΣΗΓΗΣΗ. επί της 5ης Αναμόρφωσης του προϋπολογισμού της Περιφέρειας Ιονίων Νήσων, για το οικονομικό έτος 2014 ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΕΡΙΦΕΡΕΙΑ ΙΟΝΙΩΝ ΝΗΣΩΝ ΓΕΝΙΚΗ Δ/ΝΣΗ ΕΣΩΤΕΡΙΚΗΣ ΛΕΙΤΟΥΡΓΙΑΣ Δ/ΝΣΗ ΟΙΚΟΝΟΜΙΚΟΥ ΤΜΗΜΑ ΠΡΟΥΠ/ΣΜΟΥ ΚΑΙ ΔΙΑΧ/ΣΗΣ ΤΑΧ. ΔΙΕΥΘΥΝΣΗ: ΣΑΜΑΡΑ 13 ΚΕΡΚΥΡΑ, 49100 Πληρ.: Αικ. Κότση Τηλ.:2661362254

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

ΠΡΟΣΩ ΟΛΟΤΑΧΩΣ! ΑΝΑΓΕΝΝΗΣΗ ΤΗΣ ΕΛΛΑΔΑΣ

ΠΡΟΣΩ ΟΛΟΤΑΧΩΣ! ΑΝΑΓΕΝΝΗΣΗ ΤΗΣ ΕΛΛΑΔΑΣ 1 Απόστολος Πιερρής ΠΡΟΣΩ ΟΛΟΤΑΧΩΣ! ΡΙΖΟΣΠΑΣΤΙΚΗ ΣΤΡΑΤΗΓΙΚΗ ΓΙΑ ΤΗΝ ΑΝΑΓΕΝΝΗΣΗ ΤΗΣ ΕΛΛΑΔΑΣ πόλιν δὲ μικρὰν καὶ ἄδοξον παραλαβὼν ἔνδοξον καὶ μεγάλην ἀπεργάσασθαι 14 Ιανουαρίου 2015 2 Η χώρα έχει ναυαγήσει.

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

Π.Δ. 396/94 (ΦΕΚ 220 Α

Π.Δ. 396/94 (ΦΕΚ 220 Α Π.Δ. 396/94 (ΦΕΚ 220 Α - Διόρθ. Σφάλμ. στο ΦΕΚ 6 Α): Ελάχιστες προδιαγραφές ασφάλειας και υγείας για τη χρήση από τους εργαζόμενους εξοπλισμών ατομικής προστασίας κατά την εργασία σε συμμόρφωση προς την

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

Συνοπτική Παρουσίαση. Ελλάδα

Συνοπτική Παρουσίαση. Ελλάδα Ελλάδα Συνοπτική Παρουσίαση Η θρησκευτική ελευθερία προστατεύεται από το Σύνταγμα και άλλους νόμους και πολιτικές, με κάποιους περιορισμούς. Γενικώς, η κυβέρνηση σεβάστηκε εμπράκτως τη θρησκευτική ελευθερία,

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