ΘΕΜΑ: Ανάπτυξη και αξιολόγηση οντολογίας γνωστικού πεδίου με βάση μαθησιακά αποτελέσματα.

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

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

Αναπαράσταση Γνώσης και Αναζήτηση στον Σηµασιολογικό Ιστό

Σχεδιασµός Ανάπτυξη Οντολογίας

Σημασιολογική Ολοκλήρωση Δεδομένων με τη χρήση Οντολογιών

Διαχείριση οντολογιών: μελέτη και εμβάθυνση στα βασικά προβλήματα που την αφορούν και παρουσίαση υπαρχουσών βιβλιοθηκών οντολογιών

Η ΟΝΤΟΛΟΓΙΑ ΤΟΥ ΕΛΛΗΝΙΚΟΥ ΚΤΗΜΑΤΟΛΟΓΙΟΥ. Μελέτη υλοποίησης στο Protégé-2000

Εννοιολογική Ομοιογένεια

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

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

ΜΑΘΗΜΑ 6. Σχήµατα ιαλειτουργικότητας Μεταδεδοµένων. Το RDF Το Warwick Framework. Ιόνιο Πανεπιστήµιο - Τµήµα Αρχειονοµίας - Βιβλιοθηκονοµίας

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

Aναπαράσταση Γνώσης στο Σημασιολογικό Ιστό

ΠΛΗΡΟΦΟΡΙΚΗ Γ ΤΑΞΗΣ ΓΕΛ ΚΛΕΙΩ ΣΓΟΥΡΟΠΟΥΛΟΥ. ΣΥΓΧΡΟΝΑ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΠΕΡΙΒΑΛΛΟΝΤΑ Αντικειμενοστραφής Προγραμματισμός

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

Οντολογία σύμφωνα με τη Φιλοσοφία

Τεχνολογία Λογισμικού. Ενότητα 1: Εισαγωγή στην UML Καθηγητής Εφαρμογών Ηλίας Γουνόπουλος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Εισαγωγή. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

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

ΑΝΑΛΥΣΗ ΑΠΑΙΤΗΣΕΩΝ ανάλυση απαιτήσεων Σε αυτό το μάθημα θα ασχοληθούμε με : Δημιουργία μοντέλων

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

Εισαγωγή στη Σχεδίαση Λογισμικού

Μάθημα: Δ3. Δίκτυα Γνώσης και Σημασιολογικός Ιστός. Διάλεξη 02 & 03. Δρ. Γεώργιος Χρ. Μακρής

Μάθημα: Δ3. Δίκτυα Γνώσης και Σημασιολογικός Ιστός. Διάλεξη 01 & 02. Δρ. Γεώργιος Χρ. Μακρής

Διδακτικές Τεχνικές (Στρατηγικές)

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

Υποστήριξη στη ιαχείριση Γνώσης

Μηχανική Λογισμικού για Διαδικτυακές & Φορητές Εφαρμογές

Μοντελοποίηση Πεδίου

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

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

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

Υπάρχουν διάφοροι ορισμοί. Η οντολογία (ontology), ως μια τυποποιημένη περιγραφή ενός συγκεκριμένου τομέα γνώσης η οποία πρέπει να είναι αποδεκτή από

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

8.2 Εννοιολογική χαρτογράφηση

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Ενότητα 1: Εισαγωγή στις Βάσεις Δεδομένων. Αθανάσιος Σπυριδάκος Διοίκηση Επιχειρήσεων

Τα σχέδια μαθήματος 1 Εισαγωγή

Μαθησιακές δραστηριότητες με υπολογιστή

Πληροφορική 2. Τεχνολογία Λογισμικού

Κωνσταντίνος Π. Χρήστου

Συστήματα Γνώσης. Θεωρητικό Κομμάτι Μαθήματος Ενότητα 2: Βασικές Αρχές Αναπαράστασης Γνώσης και Συλλογιστικής

Προτεινόμενα Θέματα Διπλωματικών Εργασιών

ΓΕΩΠΟΝΙΚΗ ΣΧΟΛΗ ΑΠΘ Εργαστήριο Πληροφορικής στη Γεωργία ΠΛΗΡΟΦΟΡΙΚΗ Ι

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

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

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

Ο πρώτος ηλικιακός κύκλος αφορά μαθητές του νηπιαγωγείου (5-6 χρονών), της Α Δημοτικού (6-7 χρονών) και της Β Δημοτικού (7-8 χρονών).

Εννοιολογική χαρτογράφηση: Διδακτική αξιοποίηση- Αποτελέσματα για το μαθητή

Διαχείριση Πληροφοριακών Συστημάτων

ΘΕΜΑ 1 Τεχνικές Εξαγωγής Συµφράσεων από εδοµένα Κειµένου και Πειραµατική Αξιολόγηση


Περιεχόµενα. Πληροφοριακά Συστήµατα: Κατηγορίες και Κύκλος Ζωής. Π.Σ. ιαχείρισης Πράξεων. Π.Σ. ιοίκησης. Κατηγορίες Π.Σ. Ο κύκλος ζωής Π.Σ.

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

Εννοιολογική χαρτογράφηση. Τ. Α. Μικρόπουλος

Τα Διδακτικά Σενάρια και οι Προδιαγραφές τους. του Σταύρου Κοκκαλίδη. Μαθηματικού

Δομές Δεδομένων. Ενότητα 1 - Εισαγωγή. Χρήστος Γκουμόπουλος. Πανεπιστήμιο Αιγαίου Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων

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

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

Παραδοτέο Π.2.1. Υπερχώρος και διαχείριση μοντέλων

ΔΙΔΑΚΤΙΚΗ της ΠΛΗΡΟΦΟΡΙΚΗΣ

περιεχόμενα παρουσίασης

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

ΕΠΙΣΤΗΜΟΝΙΚΟ ΛΕΞΙΚΟ ΚΟΙΝΩΝΙΚΩΝ ΟΡΩΝ

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

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

Οπτική αντίληψη. Μετά?..

Ανοικτά Ακαδηµα κά Μαθήµατα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

Eκπαίδευση Εκπαιδευτών Ενηλίκων & Δία Βίου Μάθηση

Βάσεις εδοµένων. Βασίλειος Βεσκούκης, Εµµ. Στεφανάκης ΣΥΣΤΗΜΑΤΑ ΙΑΧΕΙΡΙΣΗΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ

Μαθησιακές δραστηριότητες με υπολογιστή

Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού

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

Αναλυτικό Πρόγραμμα Μαθηματικών

Υποδείγματα Ανάπτυξης


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

Γενικοί Δείκτες για την Αξιολόγηση στη Συνεκπαίδευση

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

UML. Γενικά χαρακτηριστικά Στοιχεία µοντέλων Συσχετίσεις. Παραδείγματα

Κεφάλαιο 6 ο Εισαγωγή στον Προγραμματισμό 1

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

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

Αρχιτεκτονική Λογισμικού

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

Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

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

Ιόνιο Πανεπιστήμιο - Τμήμα Αρχειονομίας - Βιβλιοθηκονομίας

Μαθησιακές δραστηριότητες με υπολογιστή

ιπλωµατική εργασία: Νικόλαος Ματάνας Επιβλέπων Καθηγήτρια: Μπούσιου έσποινα

3 βήματα για την ένταξη των ΤΠΕ: 1. Εμπλουτισμός 2. Δραστηριότητα 3. Σενάριο Πέτρος Κλιάπης-Όλγα Κασσώτη Επιμόρφωση εκπαιδευτικών

Γλώσσες υψηλού επιπέδου Περιέχουν περισσότερες εντολές για την εκτέλεση πολύπλοκων εργασιών Τα προγράµµατα µεταφράζονται σε γλώσσα µηχανής είτε από το

Οντολογία Ψηφιακής Βιβλιοθήκης

H ΔΙΑΔΙΚΑΣΙΑ ΤΗΣ ΑΞΙΟΛΟΓΗΣΗΣ ΣΤΗΝ ΠΡΟΣΧΟΛΙΚΗ ΕΚΠΑΙΔΕΥΣΗ. Διδάσκουσα Φένια Χατζοπούλου

Εισαγωγή στις Οντολογίες και το Σημασιολογικό Ιστό

ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή

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

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Transcript:

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

Eυχαριστίες Η παρούσα διπλωματική εργασία εκπονήθηκε κατά το ακαδημαϊκό έτος 2014-2015 στο Πανεπιστήμιο Πατρών. Θα ήθελα να ευχαριστήσω τον επιβλέποντα καθηγητή κ. Αχιλλέα Καμέα για την εμπιστοσύνη που μου έδειξε αναθέτοντάς μου την εργασία αυτή και για τη δυνατότητα που μου έδωσε να ασχοληθώ με το συγκεκριμένο ενδιαφέρον θέμα. Επίσης, ευχαριστώ θερμά την κα. Λαμπρινή Σερεμέτη για την καθοδήγησή της και την εξαιρετική συνεργασία που είχαμε. Τέλος, θα ήθελα να ευχαριστήσω τις οικογένεια μου αλλά και όλους τους φίλους μου για την υπομονή και τη συμπαράστασή τους. 2

ΤΙΤΛΟΣ Ανάπτυξη οντολογίας γνωστικού πεδίου(γλώσσα προγραμματισμού C)ξεκινώντας από τα μαθησιακά αποτελέσματα και σύγκριση αυτής με υπάρχουσα οντολογία από ειδικούς για να πραγματοποιηθεί η αξιολόγηση της. ΠΕΡΙΛΗΨΗ Σύμφωνα με τον Gruber (2008), στα πλαίσια της επιστήμης των υπολογιστών και της πληροφορικής, μια οντολογία καθορίζει ένα σύνολο από αρχέτυπα αναπαράστασης (representational primitives) τα οποία χρησιμοποιούνται για την δημιουργία μοντέλων κάποιου πεδίου γνώσης ή ενδιαφέροντος. Τα αρχέτυπα αναπαράστασης είναι τυπικά κλάσεις (classes or sets), ιδιότητες (attributes or properties) και σχέσεις (relationships or relations) μεταξύ μέλη κλάσεων, οι οποίες αποτελούν σύνολα αντικειµένων. Το πεδίο γνώσης που θα καλυφθεί σε αυτή την εργασία είναι η γλώσσα προγραμματισμού C. Η εργασία μας συνίσταται στη δημιουργία μιας εκπαιδευτικής εφαρμογής για τη διαχείριση μαθησιακού υλικού και μαθησιακών αποτελεσμάτων σχετικών με το αντικείμενο της Γλώσσας Προγραμματισμού C και πιο συγκεκριμένα με το γνωστικό πεδίο της διαδικασίας προγραμματισμού,τους τελεστές-εκφραστές, τις Εντολές(σταθερές/μεταβλητές,δηλώσεις,κλήση συναρτήσεων,ι/ο, τύποι δεδομένων), τις Εντολές Ελέγχου Ροής και τις Συναρτήσεις, η οποία βασίζεται σε οντολογίες. Οι Οντολογίες συνδέονται στενά με το λεγόμενο Σημασιολογικό Ιστό, που αναφέρεται στη σημασιολογική διασύνδεση των πληροφοριών που υπάρχουν στον Παγκόσμιο Ιστό με τρόπο κατανοητό από μηχανές (Berners Lee et al., 2001). Σκοπός της παρούσας εργασίας είναι να αξιολογηθεί κατά πόσο μια οντολογία που προκύπτει από μη ειδικό του πεδίου γνώσης στηριζόμενο σε ερωτήσεις επάρκειας που αντιστοιχούν σε μαθησιακά αποτελέσματα μπορεί να συγκλίνει με μια οντολογία κατασκευασμένη από ειδικούς. 3

Περιεχόμενα Πίνακας περιεχομένων 1. Εισαγωγή... 6 2.Οντολογίες... 8 2.1 Ανάπτυξη οντολογιών... 8 2.2 Ορισμός... 10 2.3 Βασικά Χαρακτηριστικά των Οντολογιών... 11 2.4 Κατηγοριοποίηση οντολογιών... 12 2.4.1 Κατηγοριοποίηση ως προς την τυπικότητα στην έκφραση τους... 13 2.5 Μεθοδολογίες κατασκευής οντολογιών... 15 2.6 Γλώσσες αναπαράστασης οντολογιών... 16 2.6.1 OWL... 17 2.6.2 RDF/XML Σύνταξη... 19 2.6.3 Protégé... 20 2.6.3.1 Η Αρχιτεκτονική του Protégé... 21 2.6.3.2 Protégé Frames Editor... 22 2.7 Αξιολόγηση Οντολογιών... 23 3.Μαθησιακά Αποτελέσματα... 28 3.1 Ταξινόμηση Μαθησιακών αποτελεσμάτων κατά τον Bloom... 28 4. Εξαγωγή πληροφορίας... 31 4.1 Επεξεργασία Φυσικής Γλώσσας... 33 4.2 Part-of-speech Tagging... 34 5. Κανόνες δημιουργίας οντολογίας... 36 5.1 Class Naming Patterns... 36 5.2 Property Naming Patterns... 37 5.3 Subclass and Instantiation Naming Patterns... 37 5.4 Subproperty and Inverse Property Naming Patterns... 37 4

5.5 Naming Patterns over Restrictions... 38 6. Υλοποίηση... 38 6.1 Μεθοδολογία Μηχανικής Οντολογιών... 38 6.2 Μεθοδολογία κατασκευής... 40 6.3 Υλοποίηση ειδικών... 58 7. Συμπεράσματα... 61 Βιβλιογραφία... 65 5

1. Εισαγωγή Στην παρούσα εργασία ασχολούμαστε με την ανάπτυξη οντολογίας γνωστικού πεδίου,για την Γλώσσα Προγραμματισμού C. Η οντολογία υλοποιήθηκε βάση κανόνων ανάπτυξης της γραμματικής επισημείωσης (Pos Tagging Speech). Η οντολογία αυτή θα χρησιμοποιηθεί για να βγάλουμε συμπεράσματα πόσο μπορεί να ταιριάζει μια οντολογία που υλοποιείται από κάποιον που δεν είναι ειδικός του γνωστικού πεδίου και έχει βασιστεί σε κανόνες με αυτήν των ειδικών του γνωστικού πεδίου. Ως «Οντολογία» µπορεί να οριστεί ως το σύνολο των ρητών προσδιορισµών εννοιών και των συσχετίσεων τους στο πλαίσιο ύπαρξής τους «An ontology is a specification of a conceptualization» (Gruber, 1993). Τα κύρια χαρακτηριστικά των οντολογιών είναι ότι κωδικοποιούν την ανθρώπινη γνώση, έτσι ώστε αυτή να είναι αξιοποιήσιμη από τα υπολογιστικά συστήματα και επιπλέον ότι δίνουν τη δυνατότητα για εκτέλεση αυτόματων συλλογισμών, εξαγωγή συμπερασμάτων και υλοποίηση νοημόνων εφαρμογών, όπως η σημασιολογική αναζήτηση πληροφοριών. Για το λόγο αυτό οι οντολογίες αποτελούν θεμελιώδη γνωσιακό πόρο, απαραίτητο σε όλα τα πληροφορικά συστήματα αιχμής που επεξεργάζονται ή εξορύσσουν γνώση. Η οντολογία που θα υλοποιηθει θα απαντήσει σε όλες τις ερωτήσεις επάρκειας που μας έχουν δοθεί προκειμένου να γίνει περιγραφή του γνωστικού πεδίου. Οι ερωτήσεις επάρκειας σε αυτή την περίπτωση αποτελέσματα του μαθήματος Γλώσσα Προγραμματισμού C. αντιστοιχούν στα μαθησιακά Η οντολογία θα υλοποιηθεί στο περιβάλλον του Protege, το οποίο είναι ένα πάρα πολύ διαδεδομένο λογισμικό δημιουργίας οντολογίας. Στο πρώτο κεφάλαιο της εργασίας γίνεται εισαγωγή στο θέμα της εργασίας που θ αμελετηθεί. Στο δεύτερο κεφάλαιο γίνεται αναφορά γενικά στις οντολογίες, στις κατηγορίες τους, τις μεθοδολογίες κατασκευής τους, στις γλώσσες αναπαράστασης τους και στην αξιολόγηση τους. Στο τρίτο κεφάλαιο θα γίνει αναφορά στην οντολογία Προγραμματισμού με τη γλώσσα C που υλοποιήθηκε με την μέθοδο bottom-up. Επίσης γίνεται αναφορά στα μαθησιακά αποτελέσματα στα οποία στηρίχτηκε η οντολογία. Στο τέταρτο κεφάλαιο γίνεται αναφορά στην επιστήμη της εξαγωγής πληροφορίας κι στην μέθοδο της part-of-speech Tagging. Στο κεφάλαιο πέντε αναλύονται οι κανόνες ανάπτυξης οντολογίας. 6

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

2.Οντολογίες 2.1 Ανάπτυξη οντολογιών Τα βασικά μοντέλα ανάπτυξης οντολογιών είναι δύο: η από πάνω προς τα κάτω ανάπτυξη (top-down) και η από κάτω προς τα πάνω ανάπτυξη (bottom-up). Κάθε ένα από αυτά τα μοντέλα έχει τα πλεονεκτήματα και τα μειονεκτήματα του και το ποιο θα πρέπει να προτιμήσει ο μηχανικός οντολογιών εξαρτάται κυρίως από την εφαρμογή για την οποία αναπτύσσονται οι οντολογίες. Σύμφωνα με το από πάνω προς τα κάτω μοντέλο ανάπτυξης αρχικά αναπτύσσεται μια οντολογία που αναπαριστά το θεματικό πεδίο στο οποίο εντάσσεται η εφαρμογή, χρησιμοποιώντας θεμελιώδεις (top-level) έννοιες του πεδίου. Στη συνέχεια επεκτείνουμε τη βασική θεματική αυτή οντολογία έτσι ώστε να αποτυπώνει πιο συγκεκριμένες έννοιες, μέχρι να φτάσουμε το σημείο η οντολογία μας να παρέχει μια πλήρη περιγραφή όλων των δεδομένων που πρέπει να καλύπτει. Μια τέτοια προσέγγιση απαιτεί από τους μηχανικούς και τους ειδικούς να χαρακτηρίσουν το θεματικό πεδίο και να προσδιορίσουν τις βασικές έννοιες και συσχετίσεις. Στην πράξη τις περισσότερες φορές είναι δύσκολο να υπάρξει μια τέτοια συμφωνία μεταξύ των ειδικών. Όταν όμως οι δυσκολία αυτή ξεπεραστεί, η παραγόμενη οντολογία αποτελεί ένα πλούσιο σημασιολογικά θεματικό μοντέλο και παρέχει μια σαφή και πλήρη αναπαράσταση του θεματικού πεδίου, που μπορεί να χρησιμοποιηθεί στη συνέχεια για τη συσχέτιση εννοιών που εντάσσονται σε διαφορετικές θεματικές περιοχές. Κατά την παραγωγή οντολογιών ακολουθώντας το μοντέλο της από πάνω προς τα κάτω ανάπτυξης, είναι συχνά χρήσιμη η επαναχρησιμοποίηση οντολογιών που έχουν κατασκευαστεί από τρίτους. Τέτοιες οντολογίες που µποϱούν να χρησιμοποιηθούν για την κατασκευή μιας νέας οντολογίας είναι οι θεμελιώδεις οντολογίες. Με την χρησιμοποίηση ήδη υπαρχουσών οντολογιών δεν επιτυγχάνεται μόνο επαναχρησιμοποίηση πόρων, αλλά και η κατασκευή ενός ποιο πλήρους και συνεπούς οντολογικού μοντέλου. Χρησιμοποιώντας τις εμπειρίες και τη δουλειά άλλων, οι μηχανικοί έχουν την ευελιξία να επεκτείνουν τις έννοιες που περιέχονται σε θεμελιώδεις οντολογίες έτσι ώστε να καλύπτουν τις ανάγκες των εφαρμογών που αναπτύσσουν. Τέλος έχει εκφραστεί η ελπίδα ότι η επαναχρησιμοποίηση θεμελιωδών οντολογιών θα βοηθήσει στην αντιστοίχηση και διασύνδεση μεταξύ οντολογιών που καλύπτουν διαφορετικά θεματικά πεδία. Μια βασική πρόκληση που θέτει το μοντέλο της από πάνω προς τα κάτω ανάπτυξης είναι η επέκταση της θεματικής οντολογίας έτσι ώστε οι χαμηλού επιπέδου έννοιες να περιγράφουν και να αναπαριστούν με ακρίβεια τα δεδομένα 8

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

2.2 Ορισμός Για την υλοποίηση του Σημασιολογικού Ιστού είναι απαραίτητος ο σημασιολογικός εμπλουτισμός της πληροφορίας μέσα από τη χρήση των οντολογιών. Πρόκειται για ένα σχετικά καινούργιο τομέα στην περιοχή της διαχείρισης της γνώσης, αφού οι οντολογίες μετατρέπουν την πληροφορία σε σημασιολογική και διευκολύνουν την ανταλλαγή δεδομένων μεταξύ εφαρμογών, μέσω της αποδοχής κοινής σημασιολογίας για την περιγραφή της πληροφορίας. Η διαδικασία αυτή είναι δυνατή στο πλαίσιο περιγραφής RDF (Resource Description Framework) και των αντίστοιχων σχημάτων του (RDF schemas). Το RDF περιγράφει οντολογίες που προορίζονται αποκλειστικά για το Διαδίκτυο - μια φιλόδοξη και πολύ δύσκολη προσπάθεια. Ο όρος Οντολογία εµφανίζεται από τα αρχαία χρόνια. Αρχικά, επινοήθηκε από τους φιλοσόφους, κυρίως της Πλατωνικής σχολής. Σαν κλάδος της µεταφυσικής, είχε ως προεξέχων αντικείµενο έρευνας το τι πραγµατικά υπάρχει. Συνεπώς, µελετούσε τα όντα, τις κατηγορίες που αυτά ανήκαν και τις σχέσεις µεταξύ τους. Παρόλα αυτά, όσον αφορά την επιστήµη υπολογιστών έχει δοθεί ένας σαφώς πιο συγκεκριµένος ορισµός. Εδώ, η οντολογία αποτελεί µία συστηµατική διάταξη όλων των σηµαντικών κατηγοριών των αντικειµένων που ανήκουν σε ένα πεδίο έρευνας όπου παράλληλα καταδεικνύονται και οι σχέσεις µεταξύ τους (ενν. των αντικειµένων). Στη διεθνή βιβλιογραφία είναι δυνατό να εντοπιστούν πάρα πολλοί ορισμοί για το τι είναι η οντολογία. Ένας ορισμός της, που προσεγγίζει τη φιλοσοφική πλευρά του όρου, ορίζει την οντολογία ως την επιστήμη που μελετά την ύπαρξη, τη φύση και τις σχέσεις των όντων. Επιπρόσθετα, ένας από τους ορισμούς που χρησιμοποιείται ευρύτατα από τους περισσότερους ερευνητές, είναι αυτός που προτείνεται από τον Gruber (1993): «Μια οντολογία είναι ένας τυπικός ορισμός μιας εννοιολογικής αναπαράστασης (An ontology is an explicit specification of a conceptualization)». Λίγο αργότερα (1997) ο Boorst τροποποιώντας ελαφρώς τον ορισμό του Gruber, έγραψε ότι η οντολογία είναι τυπική και σαφής περιγραφή μιας κοινά αποδεκτής εννοιολογικής αναπαράστασης μέρος του κόσμου μας (an ontology is a formal, explicit specification of a shared conceptualization). Ο όρος τυπική (formal) αναφέρεται στο ότι η οντολογία θα πρέπει να είναι μηχανικά αναγνώσιμη, να διαβάζεται από ένα υπολογιστικό σύστημα. Ο όρος σαφής ή κατηγορηματική (explicit) περιγραφή σημαίνει ότι το είδος των εννοιών που χρησιμοποιούνται και οι περιορισμοί που αφορούν την χρήση αυτών των 10

εννοιών είναι προσδιορισμένα με σαφήνεια. Ο όρος κοινά αποδεκτή (shared) αναφέρεται στο ότι η οντολογία πρέπει να αποτυπώνει γνώση κοινής αποδοχής στα πλαίσια μιας κοινότητας. Ο όρος εννοιολογική αναπαράσταση ( conceptualization) αναφέρεται στα αντικείμενα, τις ιδέες και άλλες οντότητες που συνάγεται ότι υπάρχον σε κάποια περιοχή ενδιαφέροντος και στις μεταξύ τους σχέσεις (Genesereth and Nilsson, 1987). Ο Fensel (2001), επιχειρώντας να αναλύσει αυτόν το σύνθετο εννοιολογικά ορισμό, αναγνωρίζει τις τέσσερις βασικές έννοιες που εμπλέκονται: ένα αφηρημένο μοντέλο ενός φαινομένου που ορίζεται ως «εννοιολογική αναπαράσταση», μια ακριβής, μαθηματικά, περιγραφή που υποδηλώνει ο όρος «τυπικός», η ακρίβεια των εννοιών και των εμφανώς ορισμένων σχέσεών τους, που εκφράζονται με τον όρο «σαφής» και η ύπαρξη μιας συμφωνίας μεταξύ εκείνων που χρησιμοποιούν τις οντολογίες, που υποδηλώνεται με τον όρο «διαμοιρασμένη». Συμπερασματικά, λοιπόν, μπορούμε να σημειώσουμε τα εξής σημαντικά στοιχεία, αναφορικά με τις οντολογίες: Οι οντολογίες χρησιμοποιούνται για να περιγράψουν ένα συγκεκριμένο τομέα. Οι όροι και οι σχέσεις τους ορίζονται εμφανώς στον τομέα αυτό. Υπάρχει κάποιος μηχανισμός και κάποια μεθοδολογία για την οργάνωση των όρων αυτών (π.χ. μία ιεραρχική δομή χρησιμοποιεί τις σχέσεις IS-A ή HAS-A). Πάντα προηγείται μία συμφωνία μεταξύ εκείνων που θα χρησιμοποιήσουν μία οντολογία, ούτως ώστε να παραμένει σταθερή η έννοια των όρων. Σύμφωνα με έναν πιο πρόσφατο ορισμό της έννοιας οντολογίας, επίσης από τον Gruber (2008), στα πλαίσια της επιστήμης των υπολογιστών και της πληροφορικής, μια οντολογία καθορίζει ένα σύνολο από αρχέτυπα αναπαράστασης (representational primitives) τα οποία χρησιμοποιούνται για την δημιουργία μοντέλων κάποιου πεδίου γνώσης ή ενδιαφέροντος. Έτσι, ενώ μέχρι σήμερα το δίκτυο ήταν ένας χώρος που περιέχει μεγάλη ποσότητα ανοργάνωτης, κατά κύριο λόγω, πληροφορίας, πλέον ο ιστός θα γίνει φορέας γνώσης. 2.3 Βασικά Χαρακτηριστικά των Οντολογιών Οι περισσότερες οντολογίες έχουν κάποιες βασικές δοµικές οµοιότητες, ανεξάρτητα από τη γλώσσα µε την οποία περιγράφονται. Κάθε οντολογία περιγράφει διακριτά αντικείµενα ή στιγµιότυπα (individuals), όπως π.χ. ανθρώπους, ζώα ή οχήµατα. Η οντολογία παρέχει ένα είδος ταξινόµησης και οµαδοποίησης στα αντικείµενα αυτά, οπότε συγκροτούνται κλάσεις (classes) οι οποίες αποτελούν σύνολα αντικειµένων. Σε γενικές γραµµές, µια κλάση µπορεί να περιέχει διακριτά αντικείµενα ή και άλλες κλάσεις, αν και µπορεί να τίθενται διάφοροι περιορισµοί ανάλογα µε τη γλώσσα που χρησιµοποιείται κάθε φορά. 11

Έτσι δηµιουργείται µια ιεραρχική απεικόνιση των κλάσεων των αντικειµένων (υπερκλάσεις υποκλάσεις). Επιπλέον, σε κάθε αντικείµενο αντιστοιχούν κάποια χαρακτηριστικά (attributes). Κάθε χαρακτηριστικό έχει ένα όνοµα και µια τιµή. Μέσω των χαρακτηριστικών µπορούν να περιγραφούν σχέσεις (relationships) µεταξύ των αντικειµένων που ανήκουν σε µια οντολογία. Συνήθως, µια σχέση είναι ένα χαρακτηριστικό που η τιµή του είναι ένα από τα αντικείµενα της οντολογίας. Στην πραγματικότητα, η ανάπτυξη μιας οντολογίας περιλαμβάνει: Καθορισμό των κλάσεων της, Ιεραρχική ταξινόμηση των κλάσεων σε υποκλάσεις υπέρ-κλάσεις, Καθορισμός των ιδιοτήτων και περιγραφή των επιτρεπόμενων τιμών σε αυτές, Ενημέρωση των τιμών όλων των στιγμιότυπων. Μια Οντολογία έχει διττό ρόλο, από τη μια εξασφαλίζει ένα κοινό λεξιλόγιο και από την άλλη εξασφαλίζει μια κοινή κατανόηση του τομέα γνώσης τον οποίο μοντελοποιεί. 2.4 Κατηγοριοποίηση οντολογιών Οι οντολογίες απευθύνονται σε οποιονδήποτε τομέα επιστημονικής γνώσης. Όμως η πληθώρα των τομέων στους οποίους απευθύνονται δημιουργεί μια «σύγχυση» σχετικά με το τι είναι και τι όχι οντολογία μιας και κάθε περιοχή προσδιορίζει με τον όρο οντολογία με τέτοιο τρόπο ώστε να ικανοποιεί τις δικές τις ανάγκες. Επομένως, καθίσταται αναγκαία η σε πρώτη φάση κατηγοριοποίηση τους με βάση τα χαρακτηριστικά και την λειτουργικότητα τους και σε δεύτερη φάση η αναγνώριση των βασικών χαρακτηριστικών που τις απαρτίζουν. 12

2.4.1 Κατηγοριοποίηση ως προς την τυπικότητα στην έκφραση τους Η κατηγοριοποίηση με το κριτήριο της αυστηρότητας και τυπικότητας της έκφρασης στον ορισμό της οντολογίας, τις διακρίνει σε τέσσερις βασικές κατηγορίες Μία οντολογία, σύμφωνα με το βαθμό της τυπικότητας (formality) της αναπαράστασής της, μπορεί να είναι: Άτυπη (highly informal), εκφρασμένη δηλαδή σε μια φυσική γλώσσα. Μερικώς Άτυπη (Semi Informal): Οι οντολογίες αυτής της κατηγορίας αν και περιγράφονται σε φυσική γλώσσα, διαφοροποιούνται από τις προηγούμενες εξαιτίας του γεγονότος ότι η χρησιμοποιούμενη φυσική γλώσσα περιορίζεται σε ένα συγκεκριμένο λεξιλόγιο και ακολουθεί μια συγκεκριμένη στοιχειώδη δομή. Μερικώς Τυπική (Semi Formal): Στην κατηγορία αυτή εντάσσονται οι οντολογίες οι οποίες εκφράζονται διαμέσου μιας τεχνητής και τυπικά καθορισμένης γλώσσας. Αυστηρά τυπική (rigorously formal): ορισμοί όρων με αυστηρή σημασιολογία, θεωρήματα και αποδείξεις ιδιοτήτων. Οι Gomez-Perez και Benjamins (1999) ταξινομούν τις οντολογίες ως ακολούθως: Οντολογίες αναπαράστασης γνώσης (knowledge representation ontologies): παρέχουν οντότητες αναπαράστασης χωρίς να προσδιορίζουν τι συγκεκριμένο αναπαριστούν. Γενικές ή κοινές οντολογίες (general/ common ontologies): στοχεύουν στο να αποτυπώσουν γενική γνώση γύρω από τον κόσμο, παρέχοντας βασικές έννοιες όπως ο χρόνος, ο χώρος, τα συμβάντα κλπ. Οντολογίες ανώτερου επιπέδου (top-level ontologies): παρέχουν γενικές έννοιες κάτω από τις οποίες συσχετίζονται όλοι οι όροι σε ήδη υπάρχουσες οντολογίες. Οντολογίες μεταδεδομένων (metadata ontologies): παρέχουν ένα λεξιλόγιο για την περιγραφή του περιεχομένου πληροφορίας, η οποία είναι ηλεκτρονικά διαθέσιμη. Οντολογίες πεδίου ορισμού (domain ontologies): αναπαριστούν γνώση γύρω από ένα συγκεκριμένο πεδίο, π.χ. ιατρική κλπ. 13

Οντολογίες μεθοδολογίας ή εργασιών (method or task ontologies): παρέχουν όρους που αναφέρονται σε συγκεκριμένες εργασίες, π.χ. διάγνωση κλπ. 14

2.5 Μεθοδολογίες κατασκευής οντολογιών Μεθοδολογία είναι ένα σύνολο από ενοποιημένες τεχνικές ή μεθόδους που απαρτίζουν μία γενική θεωρία συστημάτων για το πώς (δηλ. με ποια προσέγγιση) ένα σύνολο εργασιών βασισμένο στην σκέψη οφείλει να εκτελεστεί (IEEE, 1995). Οι µεθοδολογίες κατασκευής οντολογιών χωρίζονται στις παρακάτω κατηγορίες: Κατασκευή οντολογιών µε µη αυτόµατο τρόπο µε βασικά στάδια να αποτελούν ο καθορισµός εµβέλειας, η επαναχρησιµοποίηση, η απαρίθµηση όρων, ο ορισµός ταξινοµίας, ιδιοτήτων, στιγµιότυπων και ο έλεγχος ανωµαλιών. Επαναχρησιµοποίηση υφιστάµενων οντολογιών κάτι που αποτελεί πρόταση για εκκίνηση από µια υπάρχουσα οντολογία. Η υπάρχουσα οντολογία µπορεί να υπάρχει µε διάφορες παραλλαγές, σαν κωδικοποιηµένο υλικό εξειδικευµένης γνώσης, ως ενοποιηµένα λεξιλόγια, ως οντολογίες υψηλού επιπέδου, ως θεµατικές ιεραρχίες, ως γλωσσολογικοί πόροι και ως βιβλιοθήκες οντολογιών. Ηµιαυτόµατη ανάπτυξη οντολογιών που πρόκειται για µια εναλλακτική λύση για τη δηµιουργία οντολογιών µε τη βοήθεια της µηχανικής µάθησης ώστε να γλιτώσουµε από τη χρονοβόρα και πολυδάπανη µη αυτόµατη ανάπτυξη οντολογιών. Οι τύποι οντολογιών που µπορούν να υποστηριχτούν µε τη χρήση τεχνικών µηχανικής µάθησης είναι οι οντολογίες φυσικής γλώσσας, οι οντολογίες πεδίου και τα στιγµιότυπα οντολογίας. Αντιστοίχιση οντολογιών, η οποία αναφέρεται στη λύση της ανάγκης για εξυπηρέτηση των αναγκών εφαρµογών από συνδυασµό πολλών οντολογιών λόγω της µη κάλυψης τους από µια µόνο οντολογία. Πρόκειται για το πρόβληµα της ενοποίησης των οντολογιών (ontology integration) κρίσιµο για την υλοποίηση του Σηµασιολογικού Ιστού. Οι προσεγγίσεις που υπάρχουν είναι οι γλωσσολογικές, οι στατιστικές, οι δοµικές και οι λογικές µέθοδοι. Η αρχιτεκτονική Σηµασιολογικού Ιστού του προγράµµατος On-To-Knowledge αφορά τα εργαλεία που σχετίζονται µε το Σηµασιολογικό Ιστό και µπορούν να ενοποιηθούν σε µια απλή αρχιτεκτονική µε τη χρήση προτύπων του για την επίτευξη της διαλειτουργικότητας µεταξύ των ανεξάρτητα κατασκευασµένων εργαλείων. Αυτά είναι η απόκτηση, η αποθήκευση, η συντήρηση και η χρήση γνώσης και η τεχνική διαλειτουργικότητα. 15

2.6 Γλώσσες αναπαράστασης οντολογιών Ένας προγραμματιστής περιγράφει μια οντολογία με τη δημιουργία κλάσεων και σχέσεων μεταξύ τους και ένας σχεδιαστής βάσεων δεδομένων με τη δημιουργία ενός E-R model που περιγράφει πως τα διάφορα δεδομένα αλληλεπιδρούν. Σταδιακά όμως και καθώς τα πλεονεκτήματα της σημασιολογίας και των standalone οντολογιών άρχισαν να αναδεικνύονται, δημιουργήθηκε η ανάγκη για την ανάπτυξη τυπικών γλωσσών περιγραφής που θα είναι ανεξάρτητες από το πεδίο εφαρμογής. Αυτές στηρίχτηκαν στο έργο των επιστημόνων της λογικής είτε από το χώρο των μαθηματικών όπως του David Hilbert και του Kurt Gödel, είτε από το χώρο της φιλοσοφίας όπως του Bertrand Russell. Σε αυτές, με μία αυστηρά ορισμένη σύνταξη μπορούν να οριστούν οντότητες, σχέσεις και ιδιότητες καθώς και αξιώματα που διέπουν τον αντικειμενικό μας χώρο (universe of discourse). Σημαντικό χαρακτηριστικό που πρέπει να διέπει μια τέτοια γλώσσα περιγραφής είναι η πεπερασμένη υπολογιστική πολυπλοκότητα στην εξαγωγή συμπερασμάτων αφού μια οντολογία πρέπει να είναι κατάλληλο πεδίο ανάπτυξης συλλογισμών (reasoning) από υπολογιστή. Παράλληλα όμως πρέπει να διαθέτει αρκετή εκφραστικότητα ώστε να είναι δυνατή η συνεκτική περιγραφή της δομής και των ιδιοτήτων του πεδίου εφαρμογής μας (domain). Επίσης, αρκετά ενδιαφέρον χαρακτηριστικό μιας τέτοιας γλώσσας θα ήταν η δυνατότητα συνεργασίας με κάποια άλλη συντακτική γλώσσα (ενδεχομένως επέκταση αυτής) για την αναπαράστασητης γνώσης υπό τον έλεγχο της πρώτης. Αυτό, γιατί η δόμηση μιας οντολογίας δεν είναι αυτοσκοπός αλλά ένα δυνατό εργαλείο για τον έλεγχο της ορθότητας της αναπαριστώμενης πληροφορίας καθώς και εξαγωγών συμπερασμάτων από αυτή μέσα στα πλαίσια σημασιολογικά ενεργής πληροφορίας. Ακολουθούν μερικά παραδείγματα τέτοιων γλωσσών. Δυο από τις σημαντικότερες τεχνολογίες στις οποίες βασίστηκε η ανάπτυξη γλωσσών αναπαράστασης οντολογιών είναι η XML και η RDF. H XML είναι μια markup γλώσσα, χρησιμοποιεί δηλαδή ετικέτες για να δώσει πληροφορίες για τα δεδομένα της ιστοσελίδας. Οι ετικέτες της XML δίνουν πληροφορία για την δομή του εγγράφου, δηλαδή πληροφορίες για τα δεδομένα του εγγράφου και τις σχέσεις μεταξύ τους. Με αυτό τον τρόπο οι πληροφορίες γίνονται προσπελάσιμες από την μηχανή. Ο χρήστης μπορεί να ορίσει διαφορετικές κάθε φορά XML ετικέτες ανάλογα με το πεδίο συζήτησης, δηλαδή ο χρήστης μπορεί να ορίσει ένα λεξιλόγιο κατάλληλο κατάλληλο για την εφαρμογή του. Έτσι η XML επιτρέπει στους χρήστες να προσθέτουν μια αυθαίρετη δομή στα έγγραφα τους αλλά δεν προσφέρει καμία πληροφορία σχετικά με την σημασία αυτής της δομής. 16

Η RDF είναι η πρώτη γλώσσα που δημιουργήθηκε από το W3C για την αναπαράσταση σημασιολογικής πληροφορίας για αυθαίρετους πόρους. Η RDF εκφράζει σημασία την οποία κωδικοποιεί σε σύνολα τριάδων, κάθε τριάδα θα μπορούσε να παρομοιαστεί με το Υποκείμενο-Ρήμα-Αντικείμενο μιας στοιχειώδους πρότασης. Οι τριάδες αυτές μπορούν να γραφτούν χρησιμοποιώντας ετικέτες της XML, και έτσι προκύπτει ότι η RDF βασίζεται στην XML. Η RDF έχει αρκετή εκφραστική ισχύ και επιτρέπει την αναπαράσταση ορισμένης οντολογικής γνώσης, δεν ανταποκρίνεται όμως στην ανάπτυξη μιας υψηλής σημασιολογικής αναπαράστασης και αδυνατεί να περιγράψει εις βάθος το νόημα της πληροφορίας. Εξάλλου η σύνταξη της, βασισμένη στην XML είναι κατάλληλη για επεξεργασία από την μηχανή αλλά όχι ιδιαίτερα φιλική για τον άνθρωπο. Επέκταση της RDF είναι η RDF Schema 15 είναι μια γλώσσα με την οποία το μοντέλο δεδομένων της RDF εμπλουτίζεται με χαρακτηριστικά αντικειμενοστραφούς αναπαράστασης. Το RDF Schema ορίζει ένα λεξικό για να εκφράζονται οι κλάσεις των πόρων, οι πόροι, οι ιδιότητες τους και οι μεταξύ τους σχέσεις. 2.6.1 OWL Η RDF είναι η RDF Schema όπως αναφέρθηκε έχουν περιορισμένες εκφραστικές δυνατότητες. Επομένως προέκυψε η ανάγκη για μια πλουσιότερη οντολογική γλώσσα. H OWL (Ontology Web Language, Γγλώσσα Οντολογίας Ιστού) είναι η πιο πρόσφατη εξέλιξη στις γλώσσες οντολογιών για τον Σημαντικό Ιστό. Είναι σημαντικό να αναφερθεί ότι η OWL (που αναπτύσσεται από το W3C) έχει οριστικοποιηθεί πολύ πρόσφατα, καθώς τον Φεβρουάριο του 2004 πέρασε σε κατάσταση σύστασης (W3C Recommendation). Σχετικά µε τη γλώσσα OWL (Ontology Web Language), αποτελεί προέκταση της RDF(S) και έχει τα εξής τρία είδη: 1. OWL Lite: Συντακτικά απλή, χρησιµοποιείται για απλές ιεραρχίες κλάσεων. 2. OWL-DL: Είναι πιο εκφραστική από την OWL Lite, βασίζεται στη Description Logic, ελέγχει ασυµβατότητες στην ιεραρχία. 3. OWL-Full: Είναι η πιο εκφραστική, δεν έχει αυτόµατο reasoning. 17

Η OWL έχει σχεδιαστεί για τις εφαρµογές που πρέπει να επεξεργαστούν το περιεχόµενο των πληροφοριών αντί απλά να παρουσιάσουν τις πληροφορίες στους ανθρώπους. Σύµφωνα µε το W3C, ο σκοπός της OWL είναι να παρασχεθεί ένα τυποποιηµένο σχήµα που είναι συµβατό µε την αρχιτεκτονική του ιαδικτύου και του Σηµασιολογικού Ιστού. Η τυποποίηση των οντολογιών σε γλώσσα OWL θα κάνει τα δεδοµένα στο Web περισσότερο επεξεργάσιµα από µηχανές και επαναχρησιµοποιήσιµα στις εφαρµογές. - 22 - Έτσι, η επεκτασιµότητα, η µετατρεψιµότητα και η διαλειτουργικότητα κατέχουν υψηλή προτεραιότητα στο σχεδιασµό της γλώσσας. Συγκριτικά µε τις υπάρχουσες τεχνολογίες, η OWL υπερβαίνει τις γνωστές και ευρέως διαδεδοµένες γλώσσες XML, XML Schema, RDF και RDF Schema αφού υποστηρίζει µεγαλύτερη διασαφήνιση του περιεχοµένου του Ιστού από τις µηχανές, παρέχοντας πρόσθετο λεξιλόγιο µαζί µε µια επίσηµη σηµασιολογία. Η OWL προσθέτει περισσότερο λεξιλόγιο για την περιγραφή των ιδιοτήτων και των κλάσεων όπως για παράδειγµα σχέσεις µεταξύ των κλάσεων (disjointness), αριθµός στοιχείων συνόλου (cardinality), λογικοί συνδυασµοί κλάσεων (ένωση, τοµή, συµπλήρωµα), ισότητα, πλουσιότερη δακτυλογράφηση ιδιοτήτων, χαρακτηριστικά ιδιοτήτων (για παράδειγµα συµµετρία, µοναδικότητα, µεταβατικότητα) και απαριθµηµένες κλάσεις. Ένα πλεονέκτηµα των OWL οντολογιών είναι η διαθεσιµότητα των εργαλείων που µπορούν να εξάγουν συµπεράσµατα για αυτές. Τα εργαλεία παράγουν γενική υποστήριξη που δεν είναι συγκεκριµένη για την ιδιαίτερη υπαγόµενη περιοχή, κάτι το οποίο θα συνέβαινε εάν επρόκειτο να δηµιουργηθεί ένα σύστηµα για την εξαγωγή συλλογισµών για ένα συγκεκριµένο βιοµηχανικό πρότυπο XML σχήµατος. Η γλώσσα OWL αναπτύσσεται ως επέκταση του λεξιλογίου RDF, προέρχεται από τη γλώσσα οντολογίας Ιστού DAML+OIL και είναι γραµµένη σε µορφή XML ώστε να µπορεί εύκολα να είναι ανεξάρτητη του λειτουργικού συστήµατος και των γλωσσών εφαρµογής ενός υπολογιστή. Επιπλέον, ο Σηµασιολογικός Ιστός χρησιµοποιώντας βασισµένες στην XML οντολογίες κι όχι παραδοσιακές δοµές δέντρων θα καταστήσει ευκολότερη για τις εφαρµογές Υπηρεσιών Ιστού την επεξεργασία στοιχείων από πολλαπλές πηγές. Μια OWL οντολογία περιλαµβάνει τις περιγραφές των κλάσεων, των ιδιοτήτων και των στιγµιοτύπων τους. Λαµβάνοντας υπόψη µια τέτοια οντολογία, η επίσηµη OWL σηµασιολογία διευκρινίζει πώς να παράγει τα λογικά συµπεράσµατά της, δηλαδή γεγονότα, όχι κυριολεκτικά παρόντα στην οντολογία, αλλά συνεπαγόµενα από τη σηµασιολογία. Αυτές οι συνεπαγωγές µπορούν να βασιστούν σε ένα ενιαίο έγγραφο ή σε πολλαπλά κατανεµηµένα έγγραφα που έχουν συνδυαστεί χρησιµοποιώντας καθορισµένους OWL µηχανισµούς. 18

2.6.2 RDF/XML Σύνταξη Εφόσον η OWL είναι μια γλώσσα αναπαράστασης γνώσης για το Σημασιολογικό Ιστό εκτός από την αφηρημένη σύνταξη πρέπει να διαθέτει και RDF/XML σύνταξη. Η σύνταξη αυτή μας δίνει τη δυνατότητα να διαμορφώσουμε τη γνώση μας σε μια μορφή προσπελάσιμη από εφαρμογές του Παγκοσμίου Ιστού. Εφόσον η OWL διαθέτει αρκετά περίπλοκους κατασκευαστές η σύνταξη αυτή είναι πολλές φορές περίπλοκη. Στην ενότητα αυτή θα δούμε ορισμένα παραδείγματα της σύνταξης αυτής χωρίς να κάνουμε μια λεπτομερή παρουσίαση. Στις περισσότερες περιπτώσεις η RDF/XML σύνταξη προκύπτει από την αντιστοίχηση των λέξεων κλειδιών της αφηρημένης σύνταξης της OWL σε στοιχεία της γλώσσας XML. Ας θεωρήσουμε για παράδειγμα τον ορισμό της κλάσης restriction(r allvaluesfrom(c)), ο οποίος μας δηλώνει μια OWL κλάση εφαρμόζοντας έναν περιορισμό στην ιδιότητα R. Σε RDF/XML σύνταξη η λέξη κλειδί restriction αντιστοιχεί στο στοιχείο owl:restriction, ενώ η λέξη κλειδί allvaluesfrom αντιστοιχεί στο στοιχείο owl:allvaluesfrom. Για να μπορέσουμε όμως να δηλώσουμε σε ποια ιδιότητα εφαρμόζουμε τον περιορισμό, με σκοπό τον ορισμό της κλάσης, χρειαζόμαστε ένα επιπλέον XML στοιχείο. Το στοιχείο αυτό είναι το στοιχείο owl:onproperty. Συνοψίζοντας η RDF/XML μορφή της παραπάνω δήλωσης είναι η ακόλουθη, 19 Παρομοίως, οι λέξεις κλειδιά Class και unionof αντιστοιχούν στα στοιχεία owl:class και owl:unionof. Έτσι λοιπόν η δήλωση Class(A complete unionof(c D)) αντιστοιχεί στη RDF/XML δήλωση, Έστω τώρα ότι σε αφηρημένη σύνταξη OWL κάνουμε τη δήλωση ObjectProperty(R domain(c) range(d) transitive symmetric) η οποία μας δηλώνει ότι το πεδίο ορισμού της ιδιότητας R είναι η έννοια C το πεδίο τιμών είναι η έννοια D και τέλος ότι η ιδιότητα R είναι μεταβατική και συμμετρική. Χρησιμοποιώντας τα στοιχεία XML που αντιστοιχούν στις παραπάνω λέξεις κλειδιά μπορούμε να κάνουμε τη δήλωση αυτή χρησιμοποιώντας τη σύνταξη RDF/XML. Η δήλωση αυτή είναι η ακόλουθη, Τέλος ας δούμε ένα αξίωμα ατόμων. Έστω η δήλωση Individual(a type(c) type(d) value(r, b)) η οποία μας δηλώνει ότι το άτομο a είναι στιγμιότυπο των κλάσεων C και D και συνδέεται με το άτομο b μέσω της σχέσης R. Η αντίστοιχη δήλωση σε RDF/XML σύνταξη είναι η ακόλουθη, Εφόσον θεωρητικά μια OWL οντολογία πρέπει να επεκτείνει μια RDF οντολογία, ένα OWL αρχείο εκκινεί με τις ίδιες ετικέτες με τις οποίες εκκινεί και ένα RDF αρχείο. Πιο συγκεκριμένα ένα OWL αρχείο ξεκινά με την ετικέτα. Στη συνέχεια όμως προκειμένου να δηλώσουμε ότι αυτό που ακολουθεί είναι μια OWL οντολογία χρησιμοποιούμε την ετικέτα owl:ontology. Η ετικέτα αυτή περιέχει το στοιχείο rdf:about το οποίο αποδίδει ένα όνομα για την οντολογία. Εκτός από τα στοιχεία τα οποία είδαμε και έχουν σχέση με περιγραφή και 19

αξιώματα κλάσεων και ιδιοτήτων η OWL προσφέρει και μια σειρά από στοιχεία τα οποία χρησιμοποιούνται για την περιγραφή μεταπληροφορίας για την οντολογία. Πιο συγκεκριμένα το στοιχείο owl:priorversion δηλώνει ένα URL στο οποίο βρίσκεται μια OWL οντολογία η οποία είναι προηγούμενη έκδοση της οντολογίας που δηλώνεται από το τρέχον αρχείο OWL. Επίσης το στοιχείο owl:versioninfo χρησιμοποιείται για να δηλώσει πληροφορίες για το τρέχον αρχείο όπως για παράδειγμα ημερομηνία και ώρα δημιουργίας και άλλα. Τέλος ένα στοιχείο της OWL το οποίο χρησιμοποιείται αρκετά αλλά επίσης έχει αποτελέσει αμφιλεγόμενο σημείο για τους ερευνητές όσον αφορά τη σημασιολογία του είναι το στοιχείο owl:imports. Με το στοιχείο αυτό μπορούμε να 20 εισάγουμε τους ορισμούς, κλάσεις, αξιώματα και ιδιότητες μιας άλλης οντολογίας στο τρέχον αρχείο. 2.6.3 Protégé Τα τελευταία χρόνια έχουν πραγµατοποιηθεί σηµαντικά βήµατα προόδου στον τοµέα της οντολογικής έρευνας, τόσο σε θεωρητικό όσο και σε καθαρά πρακτικό επίπεδο. Στο τελευταίο, η πλειοψηφία των επιτευγµάτων που έχουν σηµειωθεί µέχρι σήµερα αφορά ανάπτυξη εφαρµογών για κατασκευή και αναπαράσταση οντολογιών. Αυτές οι εφαρµογές (ontology editors & ontology browsers) έχουν αρχίσει και αναπτύσσονται µε ταχύτατους ρυθµούς, άλλες βασιζόµενες σε ήδη υπάρχουσες γλώσσες και άλλες σε γλώσσες που κατασκευάζονται ειδικά για την εκάστοτε εφαρµογή. Μία από τις πιο διαδεδοµένες εφαρµογές αυτής της κατηγορίας είναι το Protégé το οποίο χρησιµοποιεί τη γλώσσα OWL.. To Protégé αποτελεί µια πλατφόρµα «ανοιχτού κώδικα» (open source) βασισµένη σε JAVA που παρέχει ένα σύνολο από εργαλεία για την µοντελοποίηση πεδίων γνώσης και την ανάπτυξη και επεξεργασία οντολογιών. Πρωτοε µφανίστ ηκε το 1988 και στην αρχή αποτελο ύσε απλώς ένα µέσο για 20

τη δηµιουργία εργαλείων ανάκτησης γνώσης για έµπειρα συστήµατα. Σήµερα, χάρη στις προσπάθειες του τµήµατος ιατρικής πληροφορικής του Πανεπιστηµίου του Stanford (Stanford Medical Informatics SMI) το Protégé έχει εξελιχθεί σε ένα σύγχρονο εργαλείο µοντελοποίησης γνώσης, το οποίο εξελίσσεται µε ταχύτατους ρυθµούς. Το βασικό τµήµα του Protégé παρέχει ένα πλούσιο σύνολο από δοµές µοντελοποίησης γνώσης και λειτουργίες που υποστηρίζουν τη δηµιουργία, απεικόνιση και επεξεργασία οντολογιών σε µια πληθώρα τύπων αναπαράστασης. Επιπλέον, το Protégé µπορεί να επεκταθεί κάνοντας χρήση της αρχιτεκτονικής των plugins και µιας προγραµµατιστικής διεπαφής (Application Programming Interface API) βασισµένη σε JAVA, την οποία υποστηρίζει για την ανάπτυξη εργαλείων και εφαρµογών επεξεργασίας οντολογιών. Μια οντολογία περιγράφει το σύνολο των ρητών προσδιοριστικών εννοιών και συσχετίσεων που είναι σηµαντικές σε ένα συγκεκριµένο πεδίο γνώσης, παρέχοντας ένα λεξικό για το πεδίο αυτό. Επίσης, προσδιορίζει τη σηµασία των όρων που χρησιµοποιούνται στο συγκεκριµένο πεδίο και βρίσκονται στο λεξικό. Τα τελευταία χρόνια, οι οντολογίες συναντώνται σε αρκετές επιστηµονικές και επαγγελµατικές κοινότητες ως µέσο διαµερισµού, επαναχρησιµοποίησης και επεξεργασίας γνώσης σε συγκεκριµένα πεδία. Η πλατφόρµα του Protégé υποστηρίζει δυο βασικούς τρόπους µοντελοποίησης οντολογιών: Η εφαρµογή «Protégé Frames Editor» που δίνει τη δυνατότητα στους χρήστες να κατασκευάσουν και να δηµοσιοποιήσουν οντολογίες που ακολουθούν το πλαίσιο του πρωτοκόλλου Open Knowledge Base Connectivity (OKBC). Η εφαρµογή «Protégé OWL Editor» που δίνει τη δυνατότητα στους χρήστες να κατασκευάσουν οντολογίες για τον Σηµασιολογικό Ιστό και συγκεκριµένα για τη γλώσσα OWL. Η δηµιουργία οντολογιών αποτελεί µια δύσκολη διαδικασία χωρίς συγκεκριµένα βήµατα η οποία πολλές φορές γίνεται διαισθητικά και µε βάση τις γνώσεις και τις εµπειρίες του κατασκευαστή της. Το δυσκολότερο κοµµάτι κατά τη δηµιουργία µιας οντολογίας είναι αυτό της σύλληψης της γνώσης στο αρχικό στάδιο. 2.6.3.1 Η Αρχιτεκτονική του Protégé Όπως στα περισσότερα εργαλεία µοντελοποίησης, η αρχιτεκτονική του Protégé είναι καθαρά χωρισµένη στο τµήµα του «µοντέλου» και στο τµήµα της «απεικόνισης». Το «µοντέλο» είναι ο µηχανισµός εσωτερικής αναπαράστασης για οντολογίες και βάση γνώσης. Τα εργαλεία της «απεικόνισης» παρέχουν ένα περιβάλλον για απεικόνιση και επεξεργασία του µοντέλου της γνώσης. Το «µοντέλο» του Protégé βασίζεται σε ένα απλό, αλλά ευέλικτο µετα-µοντέλο, το 21

οποίο συγκρίνεται µε αυτό των αντικειµενοστραφών και βασισµένων σε πλαίσιο (frame based) συστηµάτων. Γενικά, µπορεί να αναπαριστά οντολογίες που αποτελούνται από κλάσεις, ιδιότητες, χαρακτηριστικά των ιδιοτήτων και στιγµιότυπα. Το Protégé παρέχει µια ανοικτή προγραµµατιστική διεπαφή βασισµένη σε JAVA για να εκτελεί ερωτήµατα και να διαχειρίζεται τα µοντέλα. Σηµαντικό είναι επίσης το γεγονός ότι το µεταµοντέλο του Protégé αποτελεί το ίδιο µια οντολογία, µε κλάσεις που αναπαριστούν κλάσεις, ιδιότητες κλπ., κάτι που του δίνει τη δυνατότητα εύκολα να µπορεί να επεκταθεί και να προσαρµοστεί σε άλλες αναπαραστάσεις. Χρησιµοποιώντας τα εργαλεία της «απεικόνισης» του Protégé, οι σχεδιαστές οντολογιών δηµιουργούν κλάσεις, αναθέτουν ιδιότητες στις κλάσεις και περιορίζουν τα χαρακτηριστικά των ιδιοτήτων ορισµένων κλάσεων. «Φορτώνοντας» µια οντολογία, το Protégé είναι σε θέση να παράγει επιφάνειες αλληλεπίδρασης µε το χρήστη, µέσω των οποίων θα µπορούν οι χρήστες να δηµιουργούν νέα στιγµιότυπα. Για κάθε κλάση της οντολογίας και για κάθε ιδιότητα της κλάσης δηµιουργείται µια φόρµα µε επεξεργάσιµα συστατικά (components widgets). Οι φόρµες που δηµιουργούνται µπορούν επιπλέον να διαµορφωθούν µε το εργαλείο «Protégé Forms Editor», όπου οι χρήστες µπορούν να επιλέξουν εναλλακτικά widgets. Εκτός των widgets που παρέχει η βιβλιοθήκη του Protégé, το Protégé διαθέτει µια ευέλικτη αρχιτεκτονική που επιτρέπει στους προγραµµατιστές να αναπτύσσουν τα δικά τους widgets, τα οποία στην συνέχεια µπορούν να συνδεθούν µε τον πυρήνα του συστήµατος της εφαρµογής. Ανάλογα µπορούν να αναπτυχθούν πλαίσια επιφανειών αλληλεπίδρασης µε το χρήστη σε πλήρες µέγεθος (tabs), τα οποία θα περιέχουν διάφορα άλλα συστατικά. Εκτός από τη βασική συλλογή των tabs για τη συγγραφή κλάσεων, ιδιοτήτων, φορµών και στιγµιοτύπων, υπάρχει και µια βιβλιοθήκη µε επιπλέον tabs για την εκτέλεση ερωτηµάτων, για την πρόσβαση σε αποθήκες δεδοµένων, για τη γραφική απεικόνιση οντολογιών και για την διαχείριση των εκδόσεων των οντολογιών. 2.6.3.2 Protégé Frames Editor Στα χαρακτηριστικά του Protégé Frames Editor ανήκουν τα εξής : Ένα περιβάλλον εργασίας που µπορεί να προσαρµοστεί ώστε να δώσει στους χρήστες τη δυνατότητα να µοντελοποιήσουν τη γνώση και να εισάγουν δεδοµένα µε φόρµες που να αντιπροσωπεύουν το εκάστοτε πεδίο. Μια αρχιτεκτονική plugin που επιτρέπει την ενσωµάτωση στοιχείων, όπως γραφικά, πολυµέσα, χρήση τυποποιήσεων (π.χ. RDF, XML, HTML), αλλά και πρόσθετων υποστηρικτικών εργαλείων για επεξεργασία ή απεικόνιση οντολογιών, εξαγωγής συµπερασµάτων, κ.ά. 22

Μια προγραµµατιστική διεπαφή (API) βασισµένη σε JAVA που επιτρέπει στα plugins και σε άλλες εφαρµογές να έχουν πρόσβαση στη χρήση και την απεικόνιση οντολογιών που έχουν δηµιουργηθεί µέσω του Protégé Frames Editor. Protégé OWL Editor Η εφαρµογή αυτή επιτρέπει στους χρήστες : Να φορτώνουν και να σώζουν OWL και RDF οντολογίες. Να συντάσσουν και να απεικονίζουν κλάσεις, ιδιότητες και SWRL κανόνες. v Να ορίζουν λογικά χαρακτηριστικά κλάσεων ως OWL παραστάσεις. Να εκτελούν λογικούς συλλογισµούς, όπως τα Description Logic Classifiers. v Να συντάσσουν την OWL µε στόχο την οικοδόµηση του Σηµασιολογικού Ιστού. 2.7 Αξιολόγηση Οντολογιών Κατά την κατασκευή µιας οντολογίας είναι χρήσιµη η επαναχρησιµοποίηση και η επέκταση ήδη υπαρχουσών οντολογιών (θεµελιώδεις οντολογίες, οντολογίες αναφοράς), ενώ κατά την κατασκευή µιας εφαρµογής που ϐασίζεται σε οντολογίες είναι συχνή η χρησιµοποίηση αυτούσιων οντολογιών κατασκευασµένων από τρίτους. Αν και οι οντολογίες αποτελούν µια θεµελιώδη δοµή αναπαράστασης της γνώσης, είναι δυνατή η κατασκευή πολλών διαφορετικών οντολογιών που να αναπαριστούν το ίδιο ϑεµατικό πεδίο ή σύνολο δεδοµένων. Είτε λοιπόν κατασκευάζεται µια νέα οντολογία ή µια εφαρµογή στην οποία ο σκοπός είναι να χρησιµοποιήσει υπάρχουσες οντολογίες ϑα πρέπει να µπορεί να γίνει διάκριση ποίες από τις οντολογίες που καλύπτουν το ϑεµατικό πεδίο της εφαρµογής ή της οντολογίας που αναπτύσσεται καλύπτουν καλύτερα τις ανάγκες της. Η αξιολόγηση αποτελεί λοιπόν ένα σηµαντικό ϐήµα της διαδικασίας ανάπτυξης και (επανα)χρησιµοποίησης οντολογιών και πρέπει να συστηµατοποιηθεί προκειµένου να καθιερωθεί η χρήση οντολογιών στο σηµασιολογικό ιστό και γενικότερα στις σηµασιολογικές εφαρµογές. Οι χρήστες που αναζητούν οντολογίες πρέπει να έχουν στη διάθεσή τους κάποια µέθοδο που να τους ϐοηθάει να τις αξιολογήσουν και να αποφασίσουν ποιες είναι αυτές που καλύπτουν καλύτερα τις απαιτήσεις τους. Οµοίως, όσοι κατασκευάζουν οντολογίες χρειάζονται έναν τρόπο να αξιολογήσουν τις προκύπτουσες οντολογίες προκειµένου να ϐελτιώσουν την διαδικασία παραγωγής ή να κάνουν 23

διορθώσεις. Επίσης, αυτόµατες ή ηµιαυτόµατες τεχνικές ontology learning απαιτούν αποδοτικά µέτρα αξιολόγησης για την επιλογή της καλύτερης οντολογίας από ένα σύνολο υποψήφιων οντολογιών, για την επιλογή των ϐέλτιστων τιµών για τις παραµέτρους του αλγόριθµου µάθησης, ή για την κατεύθυνση της διαδικασίας µάθησης (εάν αυτή εκφράζεται ως ένα µονοπάτι µέσα σε ένα χώρο αναζήτησης). ιάφορες προσεγγίσεις στο ϑέµα της αξιολόγησης οντολογιών έχουν προταθεί. Οι προσεγγίσεις αυτές ποικίλουν ανάλογα µε το είδος των προς αξιολόγηση οντολογιών και τους σκοπούς της αξιολόγησης. Οι µέθοδοι αξιολόγησης που έχουν κατά καιρούς προταθεί µπορούν να κατηγοριοποιηθούν είτε µε ϐάση τον τρόπο προσέγγισης που ακολουθείται, είτε µε ϐάση το επίπεδο στο οποίο εστιάζεται η αξιολόγηση. Γενικά οι περισσότερες µέθοδοι αξιολόγησης ακολουθούν κάποια από τις παρακάτω προσεγγίσεις: Σύγκριση της αξιολογούµενης οντολογίας µε ένα χρυσό πρότυπο (Golden Standard). Ως χρυσό πρότυπο µπορεί να χρησιµοποιηθεί και µια άλλη οντολογία. Χρήση της υπό εξέταση οντολογίας σε κάποια εφαρµογή και αξιολόγηση των αποτελεσµάτων στης εφαρµογής αυτής. Σύγκριση της οντολογίας µε κάποια πηγή δεδοµένων (πχ. µια συλλογή εγγράφων) σχετικών µε το ϑεµατικό πεδίο που καλύπτει η οντολογία. Αξιολόγηση από ανθρώπους που αποφαίνονται αν η οντολογία πληρεί κάποιο σύνολο προκαθορισµένων κριτηρίων, προτύπων ή απαιτήσεων. Παράλληλα µε τις παραπάνω κατηγορίες αξιολόγησης, µπορεί να γίνει οµαδοποιήση των µεθόδων αξιολόγησης µε ϐάση το επίπεδο στο οποίο εστιάζουν. Μια οντολογία αποτελεί µια πολύπλοκη δοµή και πολλές ϕορές είναι πιο πρακτικό να πραγματοποιείται εστίαση στην αξιολόγηση σε καθένα από τα επίπεδα της οντολογίας χωριστά, από το να αξιολογείται η οντολογία ως σύνολο. Η εστίαση στα διάφορα επίπεδα της οντολογίας είναι απαραίτητη όταν η αξιολόγηση γίνεται εξ ολοκλήρου αυτόµατα χωρίς την παρέµβαση κάποιου χρήστη ή εµπειρογνώµονα. Επίσης η αξιολόγηση πρέπει να γίνεται ανά επίπεδο όταν η οντολογία έχει κατασκευαστεί µε αυτόµατες τεχνικές µάθησης που διαφέρουν από επίπεδο σε επίπεδο. Τα επίπεδα στα οποία µπορεί να αναλυθεί µια οντολογία έχουν καθοριστεί από διάφορους ερευνητές, και τα ϐασικότερα από αυτά είναι: Λεξιλογικό επίπεδο ή επίπεδο δεδοµένων (lexical, vocambulary or data layer). Η µελέτη του επιπέδου αυτού εστιάζει στις έννοιες, τα στιγµιότυπα, γεγονότα κλπ. που περιλαµβάνει η οντολογία και το λεξιλόγιο που χρησιµοποιείται για την αναπαράσταση ή τον ορισµό τους. Η αξιολόγηση 24

σε αυτό το επίπεδο συνήθως γίνεται µέσω συγκρίσεων µε διάφορες πηγές δεδοµένων σχετικών µε το ϑεµατικό πεδίο της οντολογίας (πχ. αποσπάσµατα κείµενων σχετικών µε το ϑέµα), καθώς και µε τεχνικές µέτρησης οµοιότητας συµβολοσειρών (string similarity measures). Ιεραρχικό ή ταξονοµικό επίπεδο (hierarchy or taxonomy). Μια οντολογία συνήθως συνδέει έννοιες µε την ιεραρχική σχέση είναι-ένα (is-a). Αν και µέσα στην οντολογία µπορεί να ορίζονται διάφορες άλλες σχέσεις µεταξύ των εννοιών, η σχέση είναι-ένα είναι συνήθως ιδιαίτερα σηµαντική και γι αυτό αποτελεί το σηµείο εστίασης για διάφορες µεθόδους αξιολόγησης. Αλλες σηµασιολογικές σχέσεις. Μια οντολογία µπορεί να περιέχει και άλλες σχέσεις εκτός της είναι-ένα. Αυτές οι σχέσεις πολλές ϕορές αξιολογούνται ως ξεχωριστό επίπεδο. Η αξιολόγηση αυτού του επιπέδου περιλαµβάνει συνήθως µετρικές όπως η ακρίβεια (precision) και η ανάκληση (recall). Επίπεδο περιβάλλοντος ή εφαρµογής (context or application level). Μια οντολογία µπορεί να ανήκει σε µια ευρύτερη συλλογή οντολογιών και ίσως να αναφέρεται σε κάποιες από τις οντολογίες της συλλογής ή να αποτελεί η ίδια αναφορά για κάποιες άλλες. Σε αυτή την περίπτωση είναι σηµαντικό να ληφθεί υπ όψιν αυτό το περιβάλλον κατά την αξιολόγηση της οντολογίας. Μια άλλη µορφή περιβάλλοντος αποτελεί η εφαρµογή στην οποία ϑα χρησιµοποιηθεί η οντολογία. Η αξιολόγηση µπορεί να εξετάζει τον τρόπο που η λειτουργία ή τα αποτελέσµατα της εφαρµογής επηρεάζονται από τη χρήση της οντολογίας. Συντακτικό επίπεδο (syntactic level). Η αξιολόγηση αυτού του επιπέδου έχει ιδιαίτερη αξία σε περιπτώσεις οντολογιών που έχουν κατασκευαστεί µε µη αυτόµατο τρόπο. Η οντολογία συνήθως είναι εκφρασµένη σε µια τυπική γλώσσα και πρέπει να ακολουθεί τους συντακτικούς κανόνες της γλώσσας αυτής. Αλλες συντακτικές παράµετροι που λαµβάνονται συνήθως υπ όψη είναι η παρουσία τεκµηρίωσης σε ϕυσική γλώσσα, η αποφυγή δηµιουργίας ϐρόγχων µεταξύ των ορισµών και άλλα. Επίπεδο δοµής, αρχιτεκτονικής και σχεδιασµού (structure, architectu-re, design). Το επίπεδο αυτό αποτελεί πρωτεύον αντικείµενο αξιολόγησης για οντολογίες κατασκευασµένες µε µη αυτόµατο τρόπο. Συνήθως απαιτείται η οντολογία να ακολουθεί κάποιες προκαθορισµένες αρχές σχεδιασµού ή να πληρεί κάποια σχετικά κριτήρια. Παράµετροι για την αξιολόγηση της δοµής µιας οντολογίας αποτελούν η οργάνωσή της και η καταλληλότητά 25

της για περαιτέρω ανάπτυξη. Αυτό το είδος αξιολόγησης συνήθως γίνεται µε µη αυτόµατο τρόπο. Στη συνέχεια παρουσιάζεται µια ϑεωρητική προσέγγιση στο ϑέµα της αξιολόγησης των οντολογιών. Το µοντέλο αποτελείται από µια µετα-οντολογία (O2) που χαρακτηρίζει τις οντολογίες ως σηµειολογικά αντικείµενα. Τη µεταοντολογία O2 συµπληρώνει µια οντολογία αξιολόγησης και ελέγχου αξιοπιστίας οντολογιών που ονοµάζεται oqual. Με ϐάση τις οντολογίες O2 και oqual προσδιοϱίζονται τρεις ϐασικοί τύποι µετρικών για την αξιολόγηση οντολογιών: οµικές µετρικές: Η δοµική διάσταση µιας οντολογίας ϕανερώνεται όταν αυτή αναπαριστάται µε τη µορφή γράφου. Σε αυτή τη µορφή, µπο-ϱούµε να µετρήσουµε µέσω αντιστοιχών µετρικών τις τοπολογικές και λογικές ιδιότητες της οντολογίας. Συνεπώς, οι δοµικές µετρικές (ή µετρικές δοµής) µετρούν διαστάσεις όπως: depth, breadth, tangledness, leaf and sibling distribution, density, modularity, consistency, complexity, logical elements distribution, logical adequacy και άλλες. Λειτουργικές µετρικές: Η λειτουργική διάσταση συµπίπτει µε το ϐασι-κό έργο που επιτελεί µια οντολογία. Πχ. Τον ορισµό µιας έννοιας, ή ενός συνόλου συλλογισµών σχετικά µε την περιοχή ενδιαφέροντος. Η ακρίβεια (precision), η ανάκληση (recall) και η ορθότητα (accuracy) αποτελούν τις ϐασικές συνιστώσες των λειτουργικών µετρικών. Η λειτουργική ποιότητα µιας οντολογίας µπορεί να µετρηθεί µε ϐάση: 1. Τη συµφωνία εµπειρογνωµόνων µε τα στοιχεία της οντολογίας. Ο-ταν η λειτουργική ποιότητα αποτιµάται από µια οµάδα εµπειρογνωµόνων είναι σηµαντική η µέτρηση του ϐαθµού οµοφωνίας όπου καταλήγουν. 2. Την ικανοποίηση του χρήση. Η ικανοποίηση των χρηστών της οντολογίας µπορεί να µετρηθεί είτε µέσω ερωτηµατολογίων, είτε µετρώντας τη δηµοτικότητα ή την εµπιστοσύνη που δείχνουν οι χρήστες στην οντολογία. 3. Την απόδοσή της σε κάποιο έργο (task). Αυτού του είδους οι µετρήσεις λαµβάνουν υπ όψη τους την απόδοση της οντολογίας στην επίτευξη κάποιων στόχων, την ικανοποίηση κάποιων προϋποθέσεων, περιορισµών κλπ. Αυτό κάνει τις µετρήσεις αυτές πολύ αξιόπιστες κατά τη διαδικασία του σχεδιασµού, ενώ χρειάζεται να επανεκτιµηθούν στην περίπτωση επαναχρησιµοποίησης. 4. Την απόδοσή της στην κάλυψη κάποιου συγκεκριµένου ϑέµατος (topic). Αυτό το είδος µετρήσεων εστιάζει στο πόσο καλά καλύπτει η οντολογία το ϑεµατικό πεδίο. Οι µετρήσεις αυτές είναι ιδιαίτερα 26

αξιόπιστες κατά τη διαδικασία του σχεδιασµού και της επαναχρησιµοποίησης της οντολογίας, αλλά εξαρτώνται από την ύπαρξη διαϑέσιµων δεδοµένων που να µπορούν µε ασφάλεια να χρησιµοποι-ηθούν ως σχετικά και περιγραφικά του ϑέµατος που καλείται να καλύψει η οντολογία. Σε αυτή την κατηγορία χρησιµοποιούνται µέθοδοι επεξεργασίας ϕυσικής γλώσσας που αποτελούν και την πιο αξιόπιστη προσέγγιση για την αξιολόγηση µικρού µεγέθους οντολογιών. 5. Το αν µπορεί να αναλύεται σε επαναχρησιµοποιήσιµες υποµονάδες (modularity). Η κατηγορία αυτή ϐασίζεται στην ύπαρξη πληροφοριών σχετικά µε τον σχεδιασµό µιας οντολογίας. Μετράται ο ϐαθµός στον οποίο η οντολογία περιλαµβάνει υποµονάδες προερχόµενες από µια πηγή επαναχρησιµοποιήσιµων τµηµάτων. Τα µέτρα αυτά είναι αξιόπιστα τόσο κατά τον σχεδιασµό όσο και κατά την επαναχρησιµοποίηση της οντολογίας, αλλά µπορούν να αποτιµηθούν εύκολα µόνο για οντολογίες που έχουν κατασκευαστεί µε κατάλληλη µεθοδολογία. Οι µέθοδοι αξιολόγησης που ϐασίζονται στη συµφωνία κάποιου εµπειϱογνώµονα ή την ικανοποίηση του χρήστη απαιτούν λογικούς πράκτοϱες (rational agents) και ονοµάζονται µέθοδοι µαύρου κουτιού (black-box methods). Οι µέθοδοι που µετρούν την απόδοση της οντολογίας σε κάποια συγκεκριµένη λειτουργία ή ϑεµατικό πεδίο, και τη δυνατότητα ανάλυσής της σε υποµονάδες απαιτούν ένα σύνολο δεδοµένων που αποτελούν δείγµα της γνώσης που πρέπει να καλύπτει η οντολογία και µε ϐάση αυτό το σύνολο αποτιµάται η απόδοσή της. Αυτές οι µέθοδοι αποκαλούνται µέθοδοι γυάλινου κουτιού (glass-box methods). Μετρικές χρηστικότητας: Η εξέταση της χρηστικότητας µιας οντολογίας εστιάζει στο προφίλ της, δηλαδή στο τρόπο που αυτή επικοινωνεί µε το περιβάλλον της. Τρία ϐασικά µέτρα χρηστικότητας έχουν προσδιοριστεί: η αναγνωρισιµότητα (recognition), η αποτελεσµατικότητα (efficiency) η αλληλεπιδραστικότητα (interfacing). 27

3.Μαθησιακά Αποτελέσματα Σύμφωνα με τον Cook (2005) τα μαθησιακά αποτελέσματα αφορούν τις ικανότητες/δεξιότητες που ο φοιτητής αναπτύσσει ως αποτέλεσμα των σπουδών και της ευρύτερης συμμετοχής του σε ένα μάθημα. Ως εκ τούτου τα μαθησιακά αποτελέσματα εκτείνονται πέρα από τη γνωσιο-κεντρική μάθηση και περιλαμβάνουν πρακτικές, επαγγελματικές και μεταβιβάσιμες ικανότητες/δεξιότητες. Σύμφωνα με τον οργανισμό Cedefop, ως μαθησιακά αποτελέσματα νοούνται οι διατυπώσεις όλων αυτών που ο εκπαιδευόμενος γνωρίζει, κατανοεί και μπορεί να κάνει μετά την ολοκλήρωση μιας μαθησιακής διαδικασίας και οι σχετικοί ορισμοί αφορούν τις γνώσεις, τις δεξιότητες και τις ικανότητες. Σύμφωνα με τον φορέα ΑΑCSB (φορέας πιστοποίησης Σχολών Διοίκησης Επιχειρήσεων και Λογιστικής) τα μαθησιακά αποτελέσματα αντανακλούν γενικές εκπαιδευτικές προσδοκίες και αντανακλούν σημαντικές πνευματικές ικανότητες και ικανότητες συμπεριφοράς που ένα πανεπιστημιακό πρόγραμμα πρόκειται να εμφυσήσει στους φοιτητές. Τα μαθησιακά αποτελέσματα διαχωρίζονται από τους μαθησιακούς στόχους με βάση από ποια πλευρά μελετούνται, από τη πλευρά του εκπαιδευόμενου ή του διδάσκοντα. ΟΠΤΙΚΗ ΕΚΠΑΙΔΕΥΟΜΕΝΟΥ Τα μαθησιακά αποτελέσματα ταυτίζονται κατά κύριο λόγο με τη μάθηση και τα επιτεύγματα του εκπαιδευόμενου. ΟΠΤΙΚΗ ΔΙΔΑΣΚΟΝΤΑ Οι μαθησιακοί στόχοι (ή διδακτικοί στόχοι) συνδέονται περισσότερο με τη διδασκαλία και τους στόχους/επιδιώξεις του διδάσκοντα. 3.1 Ταξινόμηση Μαθησιακών αποτελεσμάτων κατά τον Bloom Οι εκπαιδευτικοί στόχοι μπορούν να διακριθούν σε τρεις τομείς: 1.τον γνωστικό (cognitive), που αφορά τις διεργασίες τηςγνώσης 2.τον συναισθηματικό (affective), που αφορά τις στάσεις (attitudes) και 3.τον ψυχοκινητικό (psychomotor), που αφορά τις δεξιότητες (skills). Γνώση (knowledge): ανάκληση δεδομένων ή πληροφορίας. Το χαμηλότερο επίπεδο. Οι μαθητές ονομάζουν μέρη, αναγνωρίζουν, δίνουν ορισμό. Η 28

συνηθέστερη μορφή μάθησης (ανάκληση γνώσης) όπου ζητείται από, τους εκπαιδευόμενους να ανακαλέσουν στη μνήμη τους και να διατυπώσουν ή να κάνουν χρήση πληροφοριών που συγκράτησαν από τη διδασκαλία ή μελέτησαν από διάφορες πηγές. Ουσιαστικά ελέγχεται η απομνημόνευση και η δυνατότητα άρτιας παρουσίασης. (Ορίζω, περιγράφω, απαριθμώ, αναγνωρίζω, κατονομάζω, κατηγοριοποιώ, ταιριάζω, ονομάζω, διαβάζω, καταγράφω, αναπαράγω, επιλέγω, δηλώνω, βλέπω, γράφω) Κατανόηση (comprehension):κατανόηση της σημασίας, ερμηνεία προβλημάτων και οδηγιών, δήλωση ενός προβλήματος με διαφορετικές λέξεις. Ο μαθητής ερμηνεύει, εξηγεί γιατί συμβαίνει ένα φαινόμενο, κατατάσσει σε κατηγορίες. Ελέγχουμε κατά πόσον ο εκπαιδευόμενος κατάλαβε τις έννοιες που διδάχθηκε, προχωρώντας πέρα από την απλή συγκpάτηση γνώσεων, αν είναι δηλ. σε θέση να διακρίνει ανάμεσα σε παρόμοια «αντικείμενα» το ζητούμενο και να οδηγηθεί σε περαιτέρω συμπεράσματα. Αξιολογείται έμμεσα από τα αποτελέσματά της όπως είναι προφανές αφoύ το ρήμα «καταλαβαίνω», ως μη ενεργητικό, δεν μπορεί να εισαγάγει ΣΤΟΧΟΥΣ. (Κατηγοριοποιώ, αναφέρω, αλλάζω, περιγράφω, συζητώ, εκτιμώ, εξηγώ, γενικεύω, δίνω παραδείγματα, διασαφηνίζω, βγάζω νόημα, παραφράζω, επαναδηλώνω, ανακεφαλαιώνω, συνοψίζω, κατανοώ) Εφαρμογή (application): χρήση μιας έννοιας ή γενίκευσης σε νέες καταστάσεις και πλαίσια, εφαρμογή της γνώσης από το σχολείο σε άλλους χώρους. Ο μαθητής επιλύει, χρησιμοποιεί αρχές σε πραγματικές καταστάσεις, προβλέπει αποτέλεσμα. Το τρίτο επίπεδο στην ταξινομία στόχων του Bloom προϋποθέτει και γνώση και κατανόηση από μέρους του εκπαιδευομένου. Εδώ εξετάζεται η ικανότητα της χρησιμοποίησης της Γνώσης που δεν απομνημονεύθηκε απλώς, αλλά και κατανοήθηκε και είναι πλέον εργαλείο του μαθητή για επίλυση 29

ζητουμένων καταστάσεων. Αν η επίλυση δεν απαιτεί σχετική γνώση που προέκυψε από τη διδασκαλία, αλλά δίνεται και από άτομα μη σχετικά με το αντικείμενο, τότε δεν πρόκειται για εφαρμογή αλλά οφείλεται στη νοητική ανάπτυξη και κριτική ικανότητα του εξεταζομένου. (Ενεργώ, εφαρμόζω, διαχειρίζομαι, εκφράζω, ελέγχω, δηλώνω, καθορίζω, αναπτύσσω, ανακαλύπτω, συνεισφέρω, καθιερώνω, επεκτείνω, υλοποιώ, περικλείω, ενημερώνω, διδάσκω, συμμετέχω, προβλέπω, ετοιμάζω, διατηρώ, προβάλλω, παρέχω, συσχετίζω, αναφέρω, δείχνω, λύνω, διδάσκω, μεταφέρω, χρησιμοποιώ, εκμεταλλεύομαι) Ανάλυση (analysis): διάκριση σε συστατικά μέρη και κατανόηση της οργανωτικής δομής τους. Ο μαθητής συγκρίνει, αντιπαραβάλλει, αναλύει πρόβλημα στα επιμέρους συστατικά. Ελέγχεται η ικανότητα του ατόμου, το οποίο αφού έχει κατανοήσει το γνωστικό περιεχόμενο, μπορεί να διακρίνει καταστάσεις, προθέσεις και επιπτώσεις που δεν αναγράφονται, και συχνά τροποποιεί την αρχική αντίληψη. Είναι η ικανότητα διάκρισης που συχνά διατυπώνουμε ως μήνυμα του συγγραφέα ή του καλλιτέχνη. (Αναλύω, αποσυνθέτω, κατηγοριοποιώ, συγκρίνω, αντιπαραβάλλω, συσχετίζω, κάνω διάγραμμα, διαφοροποιώ, διακρίνω, διαχωρίζω, εστιάζω, διασαφηνίζω, συμπεραίνω, περιορίζω, περιγράφω, καταδεικνύω, προβάλλω, αναγνωρίζω, χωρίζω, υποδιαιρώ). Σύνθεση (synthesis): κατασκευή νέας δομής από διαφορετικά στοιχεία, δημιουργία νέου νοήματος ή δομής. Ο μαθητής σχεδιάζει, αναπτύσσει, οργανώνει επιμέρους στοιχεία για τη λύση προβλήματος. Η αντίστροφη πορεία της διαδικασίας της ανάλυσης. Ελέγχεται η δημιουργική ικανότητα του εξεταζομένου να δομεί ενιαίο σύνολο, που δεν προϋπήρχε, συνδυάζοντας διάσπαρτα στοιχεία. Πρόκειται για παραγωγική διαδικασία. (Προσαρμόζω, προβλέπω, συνεργάζομαι, συνδυάζω, επικοινωνώ, συσσωρεύω, συνθέτω, δημιουργώ, σχεδιάζω, αναπτύσσω, μηχανεύομαι, εκφράζω, διευκολύνω, σχηματίζω, γενικεύω, υποθέτω, ενσωματώνω, εξατομικεύω, αρχικοποιώ, εντάσσω, παρεμβάλλω, εφευρίσκω, μοντελοποιώ, τροποποιώ, ενισχύω, σχεδιάζω, αναδιατάσσω, ανακατασκευάζω, δομώ, συνίσταμαι, καθιστώ έγκυρο) Αξιολόγηση (evaluation): διατύπωση αξιολογικών κρίσεων. Ο μαθητής εκτιμά, ασκεί κριτική σε μία άποψη, επιχειρηματολογεί ενάντια σε μία πρόταση. Το ανώτερο επίπεδο στην ταξινομία. Προσπαθούμε να ελέγξουμε την ικανότητα του μαθητή να κρίνει την αξία ή την ποιότητα ενεργειών, τεκμηριώνοντας την άποψη του με συγκεκριμένα κριτήρια που του δίνονται ή θέτει μόνος του. Σ αυτό αποσκοπούν οι ερωτήσεις κρίσης. Πρέπει, βέβαια, να στηρίζονται όσο είναι δυνατόν σε αντικειμενικά κριτήρια και όχι σε εκτιμήσεις (γνώμες) που 30

αποσκοπούν σε προσωπικά συμφέροντα. Η αξιολόγηση αποτελεί πρελούδιο για τις νέες γνώσεις. (Επιβραβεύω, συγκρίνω και αντιπαραβάλλω, συμπεραίνω, κριτικάρω, κρίνω, αποφασίζω, υποστηρίζω, ερμηνεύω, δικαιολογώ, αναπλαισιώνω, υπερασπίζομαι) 4. Εξαγωγή πληροφορίας Η εξαγωγή πληροφορίας (information extraction, information retrieval) συνίσταται στην αυτόματη εξαγωγή δομημένης πληροφορίας από αδόμητα και/ή ημι- δομημένα έγγραφα τα οποία μπορεί να επεξεργαστεί ένας υπολογιστής. Τις περισσότερες φορές, το information extraction αφορά κείμενα γραμμένα σε φυσική γλώσσα, οπότε και χρησιμοποιούνται τεχνικές επεξεργασίας φυσικής γλώσσας (natural language processing - NLP). Ωστόσο, πολλές φορές, ο όρος information extraction αναφέρεται και σε άλλου τύπου δεδομένα, όπως εικόνα, μουσική, βίντεο κ.λπ. από τα οποία μπορεί κανείς να εξάγει χρήσιμες πληροφορίες (content extraction) ή να πραγματοποιήσει εργασίες οι οποίες εμπεριέχουν κάποιας μορφής εξαγωγή πληροφορίας (όπως π.χ. το αυτόματο annotation σε multimedia αρχεία). Επειδή το πρόβλημα του information extraction είναι, εν γένει, δύσκολο, πολλές φορές οι προσεγγίσεις περιορίζονται σε έγγραφα συγκεκριμένης θεματολογίας, όπου η «παραγόμενη πληροφορία» είναι σχετικά αναμενόμενη. Στην περίπτωση αυτή, η διαδικασία του information extraction, πρακτικά, συνίσταται στην αναγνώριση συγκεκριμένου είδους πληροφοριών, όπως κύρια ονόματα (ονόματα ανθρώπων, τοπωνύμια, ονόματα εταιρειών, ημερών, μηνών κ.λπ.), χρονικές πληροφορίες (ημερομηνίες), σχέσεις και γεγονότα. Εν συντομία, στόχος του information extraction είναι η δημιουργία δομημένης πληροφορίας από τον τεράστιο όγκο δεδομένων τα οποία βρίσκονται σε ανθρωπίνως κατανοητή αναπαράσταση. Επιτυγχάνοντας κάτι τέτοιο, μπορεί να καταστεί δυνατή η εξαγωγή νέας πληροφορίας, μέσω συλλογιστικής. Πιθανές εφαρμογές μιας τέτοιας ανάλυσης είναι η αυτόματη εξαγωγή περιλήψεων κειμένων, αυτόματη απάντηση ερωτήσεων ή αυτόματη μετάφραση κ.ά Τα βασικά στάδια της εξαγωγής πληροφοριών είναι συνήθως πέντε, σύμφωνα με τον οδηγό των συνεδρίων MUC (Message Understanding Conference): Αναγνώριση κυρίων ονομάτων: Η αναγνώριση κυρίων ονομάτων είναι ο αυτόματος εντοπισμός και εξαγωγή λεξικών αλληλουχιών που αναφέρονται σε κύρια ονόματα μέσα στο υπό ανάλυση κείμενο. 31

Αναγνώριση αναφορικών σχέσεων μεταξύ ονομάτων: Αναγνώριση γεγονότων: Αναγνώριση σχέσεων μεταξύ κυρίων ονομάτων: Αναγνώριση σχέσεων μεταξύ γεγονότων: 32

4.1 Επεξεργασία Φυσικής Γλώσσας Η επεξεργασία της φυσικής γλώσσας είναι κλάδος της πληροφορικής σε συνδυασμό με τον κλάδο της τεχνητής νοημοσύνης και της γλωσσολογίας και ασχολείται με τις αλληλεπιδράσεις μεταξύ των υπολογιστών και των ανθρώπινων φυσικών γλωσσών. Ως κατά συνέπειαν, η Επεξεργασία του φυσικού λόγου συνδέεται στενά με την Αλληλεπίδραση ανθρώπου-υπολογιστή. Μακροπρόθεσμος στόχος της επεξεργασίας φυσικής γλώσσας είναι όχι απλά η ανάλυση κειμένου, αλλά η κατανόησή του από υπολογιστή. Μιας και αυτό, είναι εξαιρετικά δύσκολο, έχουν πραγματοποιηθεί εργασίες οι οποίες λύνουν κάποιο μέρος του προβλήματος. Κάποια προβλήματα τα οποία έχουν λυθεί ως ένα βαθμό και οι λύσεις τους παρουσιάζουν επιστημονικό και χρηστικό ενδιαφέρον, είναι: κατάτμηση σε λεκτικές μονάδες (tokenization): εξαγωγή όρων οι οποίοι αποτελούν λεκτικές μονάδες (tokens) από ένα κείμενο. συντακτική ανάλυση (parsing): συντακτική ανάλυση ενός κειμένου με βάση κάποιους καθορισμένους συντακτικούς κανόνες. χαμηλού επιπέδου συντακτική ανάλυση (chunking): αναγνώριση ουσιαστικών, ονοματικών φράσεων, ρηματικών φράσεων κ.λπ., χωρίς να προσδιορίζεται ο συντακτικός τους ρόλος μέσα στα συμφραζόμενα. γραμματική επισημείωση (part-of-speech tagging): προσδιορισμός μέρους του λόγου για κάθε λέξη του κειμένου. περιστολή λέξεων (stemming): αναγωγή στη ρίζα κάθε λέξης. Αυτό επιτυγχάνεται με τη χρήση κανόνων, καθώς και με την αφαίρεση προθεμάτων και καταλήξεων. Κύριος στόχος του stemming είναι η αναγνώριση διαφορετικών λέξεων με την ίδια ρίζα. 33

4.2 Part-of-speech Tagging Η γραμματική επισημείωση (part-of-speech tagging) συνίσταται στην κατάταξη κάθε λέξης ενός κειμένου σε μια κατηγορία ανάλογα με το τι μέρος του λόγου είναι και σημειώνεται η ιδιότητα αυτή δίπλα στη λεκτική μονάδα. Έτσι, η έξοδος ενός προγράμματος που υλοποιεί αυτή τη διαδικασία (Part of speech tagger) είναι οι λεκτικές μονάδες του κειμένου και από ένα tag για την κάθε μία που προσδιορίζει αυτή την ιδιότητά της. Έτσι, η έξοδος ενός προγράμματος που υλοποιεί αυτή τη διαδικασία (Part of speech tagger) είναι οι λεκτικές μονάδες του κειμένου και από ένα tag για την κάθε μία που προσδιορίζει αυτή την ιδιότητά της. Με τον όρο tag γίνεται αναφορά σε μία ακολουθία χαρακτήρων που συμβολίζουν τα μέρη του λόγου. Υπάρχουν πολλά διαφορετικά συστήματα ορισμού των μερών του λόγου, άρα και συμβολισμού τους. Για παράδειγμα, υπάρχουν διαφορετικοί τρόποι αντιμετώπισης σημείων στίξης, ειδικών λέξεων κλπ. Πρέπει να σημειωθεί πως τα tags δεν προσδιορίζουν μέρος του λόγου όπως ο όρος αυτός αναφέρεται ως όρος της γλωσσολογίας. Αποσκοπούν σε μία πιο γενική αναγνώριση του συντακτικού και γραμματικού ρόλου που έχει η κάθε λεκτική μονάδα στην πρόταση, ώστε να είναι πιο εύκολα διαχειρίσιμη για περεταίρω ανάλυση του κειμένου. H γραμματική επισημείωση χρησιμοποιείται συνήθως ως ένα πρώτο επίπεδο επεξεργασίας κειμένου το οποίο θα χρησιμεύσει σε πιο σύνθετες εργασίες που ανήκουν στον τομέα της επεξεργασίας φυσικής γλώσσας, όπως αναλυτικότερη συντακτική ανάλυση, σημασιολογική ανάλυση, μεταφράσεις κλπ. Ένας σημαντικός παράγοντας που συνέβαλε στην πρόοδο για την γραμματική επισημείωση και στη δημιουργία αντίστοιχων εργαλείων επισημείωσης με αρκετά καλή ακρίβεια, είναι η ύπαρξη μεγάλων σωμάτων δεδομένων κάθε ένα από τα οποία ονομάζεται επισημειωμένο σύνολο δεδομένων (tagged corpus), δηλαδή μεγάλου όγκου κειμένων κάθε λέξη των οποίων ακολουθείται από μία ετικέτα (tag) γραμματικής επισημείωσης. Η δημιουργία αυτών των σωμάτων έγινε κυρίως με μη αυτοματοποιημένες διαδικασίες με συμβολή ειδικών στον τομέα της γλωσσολογίας και με περιορισμένη χρήση κανόνων από στατικούς αυτόματους συντακτικούς αναλυτές. Μέχρι σήμερα, η ακρίβεια των εργαλείων επισημείωσης έχει φτάσει μέχρι και το 96%, πο- σοστό που αν και είναι αρκετά ικανοποιητικό, μπορεί να δημιουργήσει προβλήματα σε δεύτερο και τρίτο επίπεδο επεξεργασίας μετά το τέλος της επισημείωσης. Η δυσκολία επίτευξης μεγάλης ακρίβειας στη γραμματική επισημείωση οφείλεται σε δύο ανασταλτικούς παράγοντες. Ο πρώτος έχει να κάνει με την ύπαρξη λέξεων με διφορούμενα νοήματα. Τέτοιες λέξεις που μπορούν να έχουν παραπάνω από μία σημασιολογικές ερμηνείες είναι πολύ δύσκολο να αναγνωριστούν από τον υπολογιστή, καθώς θα μπορούσαν να εμφανιστούν με διαφορετικά tags σε διαφορετικές προτάσεις. Για τον άνθρωπο, 34

γνωρίζοντας τη σημασιολογία της εκάστοτε λέξης αλλά και τα συμφραζόμενα, η επιλογή της σωστής ετικέτας είναι αρκετά πιο εύκολη. Ο δεύτερος ανασταλτικός παράγοντας είναι άγνωστες για το εργαλείο γραμματικής επισημείωσης λέξhς. Πρόκειται για λέξεις τις οποίες δεν συνάντησε κατά την εκπαίδευσή του (δεν βρίσκονταν στο επισημειωμένο σύνολο δεδομένων που χρησιμοποιήθηκε) και κατ επέκταση δεν ξέρει πώς θα τις αντιμετωπίσει. 35

5. Κανόνες δημιουργίας οντολογίας 5.1 Class Naming Patterns Το όνομα της κλάσης πρέπει οπωσδήποτε να είναι μια φράση με ουσιαστικό στον ενικό αριθμό. Δεν υπάρχει κανένας λόγος να χρησιμοποιήσουμε κάτι άλλο από ουσιαστικά για τα ονόματα των κλάσεων. Οι ειδικοί παραλείπουν κάποιες φορές τα ουσιαστικά αν βρίσκονται σε υψηλότερο επίπεδο, και χρησιμοποιούν το επίθετο που τα προσδιορίζει, όπως ΚρατικήΙδιοκτησία σαν υποκλάση της κλάσης Εταιρεία. Instance Naming Patterns Εαν υπάρχουν individuals σε μια OWL οντολογία, το όνομα τους αντιστοιχούν σε στανταρ φράσεις με ουσιαστικά, για παράδειγμα χημικά στοιχεία. Σε κάποιες οντολογίες τα ονόματα των individuals μπορεί να είναι ονόματα ή κωδικοί προϊόντων. Τα individuals που απαριθμούνται ορίζουν μια κλάση, για παράδειγμα φτωχή υγεία, μέτρια υγεία, καλή υγεία ορίζουν την κλάση υγεία. Το όνομα ενός individual μπορεί να είναι διαφορετικό από φράση με ουσιαστικό. Μπορεί να προσδιορίζει αξία ή κατάσταση. Η χρήση όμως σκέτου επιθέτου όπως καλό ή υψηλό δεν προσδιορίζει ικανοποιητικά την κλάση. Όταν χρησιμοποιούνται γενικά επίθετα μπορεί να υπάρχει σύγχυση σε ποια κλάση ανήκουν γιατί πιθανόν να ταιριάζουν σε περισσότερες από μια. 36

5.2 Property Naming Patterns Αν και οι object properties και οι data properties φαίνεται να έχουν ίδια κατάσταση στην owl, η ονομασία τους φαίνεται να συνδέουν διαφορετικές κλάσεις. Η ονομασία μιας object property δεν μπορεί να είναι μόνο μια φράση ουσιαστικών, για να είναι σαφώς ευδιάκριτη από τα ονόματα των κλάσεων όσο και από τα ονόματα των αντίστροφων κλάσεων. Η πλειοψηφία των object properties ή έχει ένα ρήμα στην κεφαλή ή τελειώνει μεμια πρόθεση όπως για-του, από, που σημαίνει πως το όνομα διαβάζεται σαν να ξεκινάει με το ρήμα είναι δηλαδή είναι φίλος του, είναι στοιχείο για(for) Οι προθέσεις χρησιμοποιούνται για χωρο-χρονικές σχέσεις Η ονομασία των data properties είναι ανάλογη με τα πεδία της βάσης δεδομένων. Συχνά χρησιμοποιούνται λέξεις όπως ημερομηνία, κωδικός, αριθμός, αξία, id. 5.3 Subclass and Instantiation Naming Patterns Οι υποκλάσεις έχουν το ίδιο βασικό ουσιαστικό όπως οι κλάσεις πατέρας. 5.4 Subproperty and Inverse Property Naming Patterns Εαν υπάρχουν πολλαπλές ιδιότητες(data και object) με το ίδιο βασικό ουσιαστικό μπορούν να γενικευτούν σε super-property. Για παράδειγμα οι ιδιότητες έχειμικρόόνομα, έχειοικογενειακόονομα έχουν το έχειονομα σαν superproperty. Η ονομασία των Inverse property βοηθάει την σύνδεση ενός object property με το αντίστροφο και την ίδια στιγμή διακρίνεται μεταξύ των δύο. ενεργητική και παθητική φωνή του ίδιου ρήματος 37

5.5 Naming Patterns over Restrictions Για την ονομασία των object property περιέχεται το όνομα της κλάσης στο τέλος(range) και/ή αρχή(domain) της ιδιότητας. 6. Υλοποίηση Στόχος της παρούσας εργασίας είναι να υλοποιηθεί μια οντολογία γνωστικού πεδίου με θέμα τον προγραμματισμό της γλώσσας C. Η οντολογία αυτή θα απαντάει σε ερωτήσεις επάρκειας και θα είναι βασισμένη στους κανόνες της γραμματικής επισημείωσης. Η μέθοδος που θα χρησιμοποιηθεί είναι η από κάτω προς τα πάνω ανάπτυξη (bottom-up). Οι ερωτήσεις επάρκειας που χρησιμοποιήθηκαν αντιστοιχούν προγραμματισμού C. τα μαθησιακά αποτελέσματα της γλώσσας Στη συνέχεια αφού ολοκληρωθεί η ανάπτυξη της θα γίνει σύγκριση αυτής με μια οντολογία του ίδιου γνωστικού πεδίου, η οποία έχει υλοποιηθεί από ειδικούς του γνωστικού πεδίου με την μέθοδο από πάνω προς τα κάτω ανάπτυξη (top-down). Θα αξιολογηθεί κατά πόσο μια οντολογία που προκύπτει από τη μέθοδο από κάτω προς τα πάνω (bottom-up) μπορεί να συγκλίνει με μια οντολογία κατασκευασμένη από ειδικούς του πεδίου γνώσης με την μέθοδο από πάνω προς τα κάτω ανάπτυξη (top-down). Τα αποτελέσματα της σύγκρισης θα δείξουν αν οι οντολογίες απαντούν στις ίδιες ερωτήσεις επάρκειας. Τέλος θα γίνει σύγκριση του κόστους που έχει καθεμιά από τις οντολογίες με βάση τους ανθρωπομήνες και τους πόρους που απαιτούνται για την ανάπτυξη τους. Η μέθοδος που θα έχει το μικρότερο κόστος θα είναι αυτή που θα προτιμηθεί σε επόμενη ανάπτυξη. 6.1 Μεθοδολογία Μηχανικής Οντολογιών Για την οντολογία των μαθησιακών αποτελεσμάτων ακολουθήθηκε η προσέγγιση on-two-knowledge [staab et al.,2001], η οποία μεθοδολογία έχει ως στόχο την έξυπνη πρόσβαση σε µεγάλους όγκους δεδοµένων, τα οποία είναι ηµιδοµηµένα, και πληροφορία που έχει τη µορφή κειµένου, η οποία µπορεί να βρίσκεται σε διάφορα δίκτυα. Οι διαδικασίες που προτείνονται από αυτή τη µμεθοδολογία είναι οι ακόλουθες: ιαδικασία 1: Προµελέτη της συνολικής εφαρµογής, η οποία πρέπει να λάβει χώρα πριν την ανάπτυξη των οντολογιών. 38

ιαδικασία 2: Έναρξη. Στη φάση αυτή περιγράφονται το θεµατικό πεδίο και ο στόχος της οντολογίας, οι σχεδιαστικές προδιαγραφές, οι πηγές, οι πιθανοί χρήστες και οι πιθανές εφαρμογές. ιαδικασία 3: Βελτιστοποίηση της οντολογίας µέσω των παρακάτω ενεργειών. Ενέργεια 1: Εκµαίευση γνώσης από τους ειδικούς στο συγκεκριμένο θεµατικό πεδίο. Και εδώ χρησιµοποιούνται ενδιάμεσα επίπεδα αναπαράστασης γνώσης. Ενέργεια 2: Μεταφορά της οντολογίας σε µία τυπική γλώσσα. ιαδικασία 4: Αξιολόγηση µέσω των παρακάτω ενεργειών: Ενέργεια 1: Έλεγχος των απαιτήσεων και των ερωτήσεων ικανότητας. Ενέργεια 2: Έλεγχος της οντολογίας στο περιβάλλον της εφαρμογής. ιαδικασία 5: Συντήρηση. Προτείνεται η συντήρηση της οντολογίας ως µέρος του λογισµικού. Εικόνα 1 Οι φάσεις δημιουργίας μιας εφαρμογής διαχείρισης γνώσης βασισμένης σε οντολογία 39

6.2 Μεθοδολογία κατασκευής Οι ερωτήσεις επάρκειας που θα χρησιμοποιηθούν αντιστοιχούν με τα μαθησιακά αποτελέσματα της γλώσσας προγραμματισμού C. Τα μαθησιακά αποτελέσματα χωρίζονται στις παρακάτω ενότητες : Α. Διαδικασία προγραμματισμού Β. Τελεστές-Εκφράσεις Γ. Εντολές (αναφέρεται σε σταθερές / μεταβλητές, δηλώσεις, κλήση συναρτήσεων, I/O, τύπους δεδομένων) Δ. Εντολές Ελέγχου Ροής Ε. Συναρτήσεις Οι παραπάνω ενότητες χωρίζονται με βάση την κατηγοριοποίηση Bloom που είδαμε σε προηγούμενο κεφάλαιο σε : Γνώση Κατανόηση Εφαρμογή Ανάλυση Αξιολόγηση Ως προς τα βήματα κατασκευής της οντολογίας, σε γενικές γραμμές ακολουθήθηκε η εξής διαδικασία Αρχικά εντοπίστηκαν οι κύριες έννοιες του γνωστικού πεδίου οι οποίες και αποτέλεσαν τις κλάσεις. Οι κλάσεις αυτές οργανώθηκαν σε μια ιεραρχία (υποκλάσεις υπερκλάσεις) Οι έννοιες-κλάσεις περιγράφηκαν με κάποιες ιδιότητες, Μετά από μελέτη των μαθησιακών αποτελεσμάτων και τους κανόνες για την ανάπτυξη της οντολογίας προκύπτουν οι ακόλουθες κλάσεις : Στην εικόνα 1 βλέπουμε την ιεραρχία κλάσεων της οντολογίας της Γλώσσας Προγραμματισμού C. Στο πρώτο επίπεδο της ιεραρχίας συναντάμε (ανάμεσα σε 40

άλλες) την κλάση την κλάση Γλώσσα Προγραμματισμού και τη κλάση Γλώσσα Προγραμματισμού C. Η κλάση Γλώσσα Προγραμματισμού είναι η κλάση-πατέρας της κλάσης Γλώσσα Προγραμματισμού C, η οποία είναι η βασική έννοια της οντολογίας. Η κλάση Γλώσσα Προγραμματισμού C εξειδικεύεται στις κλάσεις Έκφραση, Εντολή, Μεταβλητή, Σταθερά, Συντακτικό, Τελεστής, Τελεσταίος. Άλλη σημαντική κλάση πατέρας είναι η κλάση Πρόγραμμα, η οποία αναλύεται στις κλάσεις Δείκτης, Πρόγραμμα, Συνάρτηση, Απαρίθμηση, Δεδομένο, Διαδικασία, Δομή, Προσδιοριστής, Στοιχείο και Σχόλιο. 41

Εικόνα 1 42

εικόνα 2 Αποτύπωση κλάσεων με την χρήση του λογισμικού Protege. Θα ακολουθήσει ανάλυση με βάση ποια μαθησιακά αποτελέσματα προήλθαν οι ιδιότητες(object properties) της οντολογίας μέσα στο περιβάλλον του Protégé όπως φαίνεται στην εικόνα 3. Πιο συγκεκριμένα για τα μαθησιακά αποτελέσματα της ενότητας Α. Διαδικασία προγραμματισμού για το κομμάτι Γνώση προκύπτουν οι ιδιότητες : Μαθησιακά αποτελέσματα : Γνώση A.1 «Να αναφέρετε τους βασικούς κανόνες του συντακτικού της γλώσσας προγραμματισμού C» A.2 «Να αναφέρετε τη διαδικασία εκτέλεσης ενός προγράμματος σε ένα ολοκληρωμένο περιβάλλον προγραμματισμού» A.3 «Να αναφέρετε τι είναι αμυντικός προγραμματισμός» 43

A.4 «Να αναφέρετε τη χρησιμότητα των σχολίων σε ένα πρόγραμμα» Ιδιότητες στο περιβάλλον του Protege για την ενότητα Α. Διαδικασία προγραμματισμού για το κομμάτι Γνώση. εικόνα 3 Στην εικόνα 4 βλέπουμε πως ορίζεται ένα μαθησιακό αποτέλεσμα αλλά και τη σύνδεση του στόχου Ενδεικτικά, στην εικόνα 4 βλέπουμε μια οθόνη όπου απεικονίζεται η σύνδεση του μαθησιακού αποτελέσματος «Α.1 Να αναφέρετε τους βασικούς κανόνες του συντακτικού της γλώσσας προγραμματισμού C (εχεισυντακτικό)» με την κλάση «Γλώσσα Προγραμματισμού C (γλώσσαπρογραμματισμούc)» και την κλάση Συντακτικό(Συντακτικό)από την οντολογία. H σύνδεση γίνεται μέσω της ιδιότητας εχεισυντακτικό. Η αντίστροφη ιδιότητα είναι η (αποτελείταισυντακτικόαπό). Εικόνα 4 44

Μαθησιακά αποτελέσματα : Εφαρμογή A.5 «Να κατασκευάσετε πρόγραμμα σε γλώσσα προγραμματισμού C και να το μεταγλωττίσετε σε ολοκληρωμένο περιβάλλον προγραμματισμού» A.6 «Να κατασκευάσετε πρόγραμμα σε γλώσσα προγραμματισμού C και να το εκτελέσετε σε ολοκληρωμένο περιβάλλον προγραμματισμού» A.7 «Να κατασκευάσετε πρόγραμμα σε γλώσσα προγραμματισμού C και να το εκσφαλματώσετε σε ολοκληρωμένο περιβάλλον προγραμματισμού» A.8 «Να κατασκευάσετε πρόγραμμα σε γλώσσα προγραμματισμού C το οποίο να χρησιμοποιεί συναρτήσεις βιβλιοθήκης» A.9 «Να κατασκευάσετε πρόγραμμα σε γλώσσα προγραμματισμού C, στο οποίο να εισάγονται δεδομένα με χρήση αμυντικού προγραμματισμού» εικόνα 5 Object properties από το Protege. 45

Μαθησιακά αποτελέσματα :Αξιολόγηση Αξιολόγηση A.10 «Να κρίνετε τη χρησιμότητα εκσφαλμάτωσης ενός προγράμματος C μέσω ενός ολοκληρωμένου περιβάλλοντος προγραμματισμού» Α.10 «Να κρίνετε τη χρησιμότητα του αμυντικού προγραμματισμού κατά την εισαγωγή δεδομένων από το χρήστη» εικόνα 6 Μαθησιακά αποτελέσματα :Β. Τελεστές-Εκφράσεις Γνώση Β.1«Να αναφέρετε τουλάχιστον 3 κατηγορίες τελεστών της γλώσσας προγραμματισμού C» Β.2 «Να αναφέρετε τους αριθμητικούς τελεστές της γλώσσας προγραμματισμού C» Β.3«Να αναφέρετε τους 3 λογικούς τελεστές της γλώσσας προγραμματισμού C» Β.4«Να αναφέρετε τουλάχιστον 4 σύνθετους τελεστές ανάθεσης της γλώσσας προγραμματισμού C» Β.5«Να αναφέρετε τους τελεστές σύγκρισης της γλώσσας προγραμματισμού C» Β.6«Να αναφέρετε τους τελεστές διαχείρισης bits της γλώσσας προγραμματισμού C» Ιδιότητες στο περιβάλλον του Protege για την ενότητα Β. Τελεστές-Εκφράσεις για το κομμάτι Γνώση. 46

Μαθησιακά αποτελέσματα :Κατανόηση Εικόνα 7 Β.7 «Να διακρίνετε τους τελεστές από τους τελεστέους μέσα σε μια έκφραση» Β.8«Να εξηγήσετε την έννοια της προσεταιριστικότητας των τελεστών χρησιμοποιώντας παραδείγματα» Β.9«Να εξηγήσετε την έννοια της προτεραιότητας των τελεστών χρησιμοποιώντας παραδείγματα» Β.10«Να εξηγήσετε τη χρήση των αριθμητικών και των λογικών τελεστών» Β.11«Να εξηγήσετε τη διαφορά του τελεστή ανάθεσης (=) με τον τελεστή σύγκρισης (==)» Β.12 «Να εξηγήσετε τη διαφορά των τελεστών δεικτών (*) και (&)» Β.13 «Να εξηγήσετε τη χρήση των δεικτών» Β.14«Να εξηγήσετε τη χρήση του διπλού τελεστή (**) που χρησιμοποιούμε στους δείκτες» Β.15 «Να εξηγήσετε τη χρήση των τελεστών ([]) για τη διαχείριση πινάκων» Β.16 «Να εξηγήσετε τη χρήση του τριαδικού τελεστή» Β.17«Να εξηγήσετε τη χρήση των σύνθετων τελεστών ανάθεσης» Β.18«Να εξηγήσετε τη χρήση των τελεστών διαχείρισης bits» 47

Β.19«Να εξηγήσετε τη χρήση του τελεστή διαίρεσης / ανάμεσα σε δύο μεταβλητές τύπου ακεραίου» Β.20«Να εξηγήσετε τη χρήση του τελεστή υπολογισμού υπολοίπου (%)» Β.21«Να εξηγήσετε τη χρήση του τελεστή μεγέθους τύπου sizeof» Β.22«Να εξηγήσετε τη διαφορά της εντολής ++i με την i++, όπου i μια μεταβλητή τύπου ακεραίου» Β.23 «Να εξηγήσετε τη χρήση του τελεστή (.) σε μια δομή» εικόνα 8 48

Μαθησιακά αποτελέσματα :Εφαρμογή Β.24«Να κατασκευάσετε ένα παράδειγμα δήλωσης ενός πίνακα ακεραίων δέκα θέσεων» Β.25«Να κατασκευάσετε ένα παράδειγμα χρήσης λογικών τελεστών» Β.26«Να κατασκευάσετε ένα παράδειγμα χρήσης σύνθετων τελεστών ανάθεσης» Β.27«Να κατασκευάσετε ένα παράδειγμα τριαδικού τελεστή για την εύρεση του μεγαλύτερου αριθμού μεταξύ δύο ακεραίων» Β.28«Να κατασκευάσετε ένα παράδειγμα ανταλλαγής τιμών δύο δεικτών σε ακεραίους αριθμούς» Β.29«Να κατασκευάσετε ένα παράδειγμα χρήσης του τελεστή μεγέθους τύπου sizeof» Β.30«Να κατασκευάσετε ένα παράδειγμα προσθήκης κόμβων σε μια απλά συνδεδεμένη λίστα» Β.31«Να κατασκευάσετε ένα παράδειγμα μετατροπής (casting) μιας μεταβλητής τύπου ακεραίου σε μεταβλητή τύπου πραγματικού αριθμού» Β.32«Να κατασκευάσετε ένα παράδειγμα ανάγνωσης των πεδίων μιας δομής από το χρήστη» Β.33«Να κατασκευάσετε ένα παράδειγμα ορισμού ενός δείκτη ακεραίου αριθμού καθώς και ανάθεσης τιμής στη διεύθυνση που περιέχει ο δείκτης Β.34«Να κατασκευάσετε ένα παράδειγμα δήλωσης μιας συμβολοσειράς» Β.35«Να κατασκευάσετε ένα παράδειγμα δήλωσης και χρήσης ενός δείκτη, ο οποίος να δείχνει σε δείκτη ακεραίου» 49

Μαθησιακά αποτελέσματα : Ανάλυση Β.36«Να αναλύσετε τα επιμέρους στοιχεία μιας έκφρασης» Β.37«Να αναλύσετε τα επιμέρους στοιχεία ενός τριαδικού τελεστή» εικόνα 9 Μαθησιακά αποτελέσματα :Αξιολόγηση Β.38«Να αξιολογήσετε τα πλεονεκτήματα χρήσης συνδεδεμένων λιστών» Β.39«Να αξιολογήσετε τα πλεονεκτήματα της χρήσης δεικτών στις παραμέτρους μιας συνάρτησης» εικόνα 10 εικόνα 11 50

Μαθησιακά αποτελέσματα :Σύνθεση Β.40«Να συνδυάσετε τελεστές και τελεστέους σε ένα πρόγραμμα για το σχηματισμό εκφράσεων» Β.41«Να συνδυάσετε έναν αριθμητικό και έναν λογικό τελεστή για το σχηματισμό ενός τριαδικού τελεστή» εικόνα 12 Γ.Εντολές (αναφέρεται σε σταθερές / μεταβλητές, δηλώσεις, κλήση συναρτήσεων, I/O, τύπους δεδομένων) Μαθησιακά αποτελέσματα :Γνώση Γ.1«Να αναφέρετε τις βασικές εντολές ορισμού τύπου δεδομένων της γλώσσας προγραμματισμού C» Γ.2 «Να αναφέρετε τις βασικές εντολές που χρησιμοποιούνται για την υλοποίηση συναρτήσεων στη γλώσσα προγραμματισμού C» Γ.3«Να αναφέρετε τις 2 βασικές εντολές εισόδου/εξόδου της γλώσσας προγραμματισμού C» Γ.4«Να αναφέρετε τους βασικούς προδιοριστές που χρησιμοποιούνται στις συναρτήσεις εισόδου/εξόδου της γλώσσας προγραμματισμού C» εικόνα 13 Μαθησιακά αποτελέσματα :Κατανόηση Γ.5«Να εξηγήσετε τη διαφορά μιας μεταβλητής και μιας σταθεράς» Γ.6 «Να εξηγήσετε τη χρήση των εντολών εισόδου/εξόδου της γλώσσας προγραμματισμού C» 51

Γ.7 «Να εξηγήσετε τη χρήση της εντολής return μιας συνάρτησης» Γ.8«Να εξηγήσετε τη χρήση των προσδιοριστών (modifier)» Γ.9 «Να εξηγήσετε τη χρήση απαριθμήσεων» Γ.10«Να εξηγήσετε τη χρήση των σταθερών σε ένα πρόγραμμα C» Γ.11«Να εξηγήσετε τη διαφορά των τύπων float και double για τους πραγματικούς αριθμούς» εικόνα 14 Μαθησιακά αποτελέσματα :Εφαρμογή Γ.12«Να κατασκευάσετε ένα παράδειγμα εισόδου ενός ακεραίου από το χρήστη» Γ.13«Να κατασκευάσετε ένα παράδειγμα δήλωσης μιας μεταβλητής τύπου μη προσημασμένου ακεραίου αριθμού» Γ.14«Να κατασκευάσετε ένα παράδειγμα εισόδου μιας συμβολοσειράς από το χρήστη» Γ.15«Να κατασκευάσετε ένα παράδειγμα εξόδου ενός ακεραίου στην οθόνη του Η/Υ» Γ.16«Να κατασκευάσετε ένα παράδειγμα απαρίθμησης» Γ.17«Να κατασκευάσετε ένα παράδειγμα ορισμού και χρήσης φυσικών αριθμών σε ένα πρόγραμμα» 52

Δ.Εντολές Ελέγχου Ροής Μαθησιακά αποτελέσματα :Γνώση Δ.1«Να αναφέρετε τις εντολές ελέγχου της γλώσσας προγραμματισμού C» Δ.2«Να αναφέρετε τις εντολές επανάληψης της γλώσσας προγραμματισμού C» εικόνα 15 Μαθησιακά αποτελέσματα :Κατανόηση Δ.3 «Να εξηγήσετε τις βασικές διαφορές των τριών εντολών επανάληψης χρησιμοποιώντας παραδείγματα» Δ.4 «Να εξηγήσετε τις βασικές διαφορές των εντολών ελέγχου χρησιμοποιώντας παραδείγματα» Δ.5«Να γενικεύσετε σε ένα μαθηματικό τύπο το πλήθος των επαναλήψεων που εκτελούνται σε μια επανάληψη for» Δ.6«Να εξηγήσετε τη χρήση της εντολής else σε μια εντολή ελέγχου if» 53

Δ.7«Να εξηγήσετε τη χρήση των εντολών case και break σε μια εντολή ελέγχου switch» εικόνα 16 Δ.Εφαρμογή Δ.8«Να κατασκευάσετε ένα παράδειγμα με την εντολή επανάληψης for για την προσπέλαση ενός πίνακα μίας διάστασης» Δ.9«Να κατασκευάσετε ένα παράδειγμα εμφωλιασμένης for επανάληψης για την προσπέλαση ενός πίνακα δύο διαστάσεων» Δ.10«Να κατασκευάσετε ένα παράδειγμα προσπέλασης ενός πίνακα δύο διαστάσεων υπό συνθήκη με τη χρήση εντολών επανάληψης do-while» Δ.11«Να κατασκευάσετε ένα παράδειγμα προσπέλασης ενός πίνακα δύο διαστάσεων υπό συνθήκη με τη χρήση εντολών επανάληψης while» Δ.12«Να κατασκευάσετε ένα παράδειγμα εισαγωγής θετικού ακεραίου αριθμού από το χρήστη με αμυντικό προγραμματισμό» Δ.13«Να κατασκευάσετε κώδικα όπου να διακρίνεται η διαφορά στη χρήση των εντολών επανάληψης while και do-while» Δ.14«Να κατασκευάσετε κώδικα όπου θα ορίζει πίνακα δομών και θα εκτελεί προσπέλαση των στοιχείων του» 54

εικόνα 17 Μαθησιακά αποτελέσματα :Ανάλυση Δ.15«Να αναλύσετε την εντολή ελέγχου if στα επιμέρους στοιχεία της» Δ.16«Να αναλύσετε την εντολή ελέγχου switch στα επιμέρους στοιχεία της» Δ.17 «Να συσχετίσετε την εντολή ελέγχου switch με την εντολή ελέγχου if» Δ.18«Να συσχετίσετε την εντολή ελέγχου if με την εντολή επανάληψης while» Δ.19«Να αναλύσετε την εντολή επανάληψης for στα επιμέρους στοιχεία της» εικόνα 18 Μαθησιακά αποτελέσματα :Αξιολόγηση Δ.20 «Να κρίνετε ποιά είναι η κατάλληλη εντολή επανάληψης, ανάλογα με την επαναληπτική εργασία που θέλετε να υλοποιήσετε» 55

εικόνα 19 Μαθησιακά αποτελέσματα :Σύνθεση Δ.21«Να συνδυάσετε τις εντολές if και do-while σε ένα πρόγραμμα για την εισαγωγή στοιχείων από το χρήστη με αμυντικό προγραμματισμό» Δ.22«Να τροποποιήσετε μια επανάληψη τύπου for σε while και do-while» Δ.23«Να τροποποιήσετε μια εντολή ελέγχου switch σε πολλαπλές εντολές ελέγχου if» εικόνα 20 Ε.Συναρτήσεις Μαθησιακά αποτελέσματα :Κατανόηση Ε.1«Να εξηγήσετε τη χρησιμότητα των συναρτήσεων» Ε.2«Να εξηγήσετε τη χρησιμότητα των ορισμάτων μιας συνάρτησης» Ε.3«Να εξηγήσετε την εμβέλεια των ολικών μεταβλητών χρησιμοποιώντας παραδείγματα» Ε.4«Να εξηγήσετε την εμβέλεια των τοπικών μεταβλητών χρησιμοποιώντας παραδείγματα» Ε.5«Να εξηγήσετε τη διαφορά της κλήσης μιας συνάρτησης με τιμή (by value) με την κλήση με αναφορά (by reference) χρησιμοποιώντας παραδείγματα» Ε.6«Να διακρίνετε τη διαφορά των συναρτήσεων που επιστρέφουν τιμή με τις συναρτήσεις που δεν επιστρέφουν τιμή» Ε.7«Να διακρίνετε τη διαφορά των συναρτήσεων βιβλιοθήκης με τις συναρτήσεις χρήστη» Ε.8«Να εξηγήσετε τη χρήση της εντολής return για συναρτήσεις» Ε.9«Να εξηγήσετε τη χρήση της βιβλιοθήκης stdio.h της γλώσσας προγραμματισμού C» 56

Μαθησιακά αποτελέσματα :Εφαρμογή Ε.10 «Να κατασκευάσετε ένα παράδειγμα συνάρτησης που θα χρησιμοποιεί μεταβλητές ολικής εμβέλειας» Ε.11«Να κατασκευάσετε ένα παράδειγμα συνάρτησης η οποία θα δέχεται δύο παραμέτρους και θα επιστρέφει μια τιμή» Ε.12«Να κατασκευάσετε ένα παράδειγμα συνάρτησης της οποίας οι παράμετροι θα περνιούνται με αναφορά» Ε.13«Να κατασκευάσετε ένα παράδειγμα μιας αναδρομικής συνάρτησης» Ε.14«Να αλλάξετε μια αναδρομική συνάρτηση σε συνάρτηση που υλοποιείται με επανάληψη» Ε.15«Να κατασκευάσετε ένα παράδειγμα μιας συνάρτησης που δεν επιστρέφει τιμή» εικόνα 21 57

6.3 Υλοποίηση ειδικών Οι ειδικοί ανέπτυξαν την οντολογία της Γλώσσας Προγραμματισμού C ξεκινώντας από το γνωστικό πεδίο. Πιο συγκεκριμένα εξέτασαν το μοντέλο αναπαράστασης γνωστικού πεδίου, όπως αναπτύχθηκε από τον ΣΕΠ Α, με τη μορφή ενός εναλλακτικού τρόπου αναπαράστασης (Αναπαράσταση Β ) ο οποίος χρησιμοποιεί: μια ιεραρχία των εννοιών του πεδίου ένα πίνακα σχέσεων εννοιών ο οποίος περιλαμβάνει όλες οι σχέσεις που αναπτύσσονται μεταξύ των εννοιών του μοντέλου, κατηγοριοποιημένες ανά έννοια. Γνωρίζοντας το πεδίο γνώσης οι ειδικοί κατέληξαν στην δημιουργία της οντολογίες. Από την οντολογία αυτή προέκυψαν τα μαθησιακά αποτελέσματα. Οι κλάσεις που ανέπτυξαν είναι οι ακόλουθες όπως φαίνονται από το λογισμικό ανάπτυξης, Protege. 58

Εικόνα 22 εικόνα 23 59

Ιδιότητες Εικόνα 24 Individuals εικόνα 25 60