ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΔΙΑ ΒΙΟΥ ΜΑΘΗΣΗΣ & ΘΡΗΣΚΕΥΜΑΤΩΝ ΕΠΙΧΕΙΡΗΣΙΑΚΑ ΠΡΟΓΡΑΜΜΑΤΑ «ΑΝΤΑΓΩΝΙΣΤΙΚΟΤΗΤΑ & ΕΠΙΧΕΙΡΗΜΑΤΙΚΟΤΗΤΑ» ΚΑΙ ΠΕΡΙΦΕΡΕΙΩΝ ΣΕ ΜΕΤΑΒΑΣΗ ΕΘΝΙΚΟ ΣΤΡΑΤΗΓΙΚΟ ΠΛΑΙΣΙΟ ΑΝΑΦΟΡΑΣ ΕΣΠΑ 2007-2013 Παραδοτέο Π4.2 - Δίκτυο οντολογικής περιγραφής οπτικοακουστικού περιεχομένου Κωδικός Έργου: 09ΣΥΝ-72-922 Τίτλος του Έργου: IS-HELLEANA - Intelligent System for HELLEnic Audiovisual National Aggregator ΕΥΦΥΕΣ ΣΥΣΤΗΜΑ ΣΗΜΑΣΙΟΛΟΓΙΚΗΣ ΕΝΟΠΟΙΗΣΗΣ ΚΑΙ ΑΝΑΔΕΙΞΗΣ TΟΥ ΕΛΛΗΝΙΚΟΥ ΟΠΤΙΚΟΑΚΟΥΣΤΙΚΟΥ ΑΠΟΘΕΜΑΤΟΣ ΔΡΑΣΗ ΕΘΝΙΚΗΣ ΕΜΒΕΛΕΙΑΣ «ΣΥΝΕΡΓΑΣΙΑ» ΕΥΡΩΠΑΪΚΗ ΕΝΩΣΗ ΕΥΡΩΠΑΪΚΟ ΤΑΜΕΙΟ ΠΕΡΙΦΕΡΕΙΑΚΗΣ ΑΝΑΠΤΥΞΗΣ Υπουργείο Παιδείας, Δια Βίου Μάθησης και Θρησκευμάτων ΓΓΕΤ ΕΥΔΕ-ΕΤΑΚ (Ε. Π. Ανταγωνιστικότητα και Επιχειρηματικότητα (ΕΠΑΝ ΙΙ), ΠΕΠ Μακεδονίας Θράκης, ΠΕΠ Κρήτης και Νήσων Αιγαίου, ΠΕΠ Θεσσαλίας Στερεάς Ελλάδας Ηπείρου, ΠΕΠ Αττικής)
ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ 1. Εισαγωγή... 3 2. Συσχέτιση μεταδεδομένων με τις οντολογίες του δικτύου.... 4 2.1 ScriptOntology... 4 2.2 MovieOntology... 6 3. Κατασκευή τριάδων RDF... 8 3.1 Κατασκευή τριάδων RDF από το σενάριο μιας ταινίας... 8 3.2 Κατασκευή τριάδων RDF για τα γενικά μεταδεδομένα μιας ταινίας... 10 4. Κατασκευή αποθήκης RDF... 12 5. Περιγραφή συστήματος κατασκευής των αντιστοιχίσεων από τα δεδομένα... 15 6. Αντιστοίχιση οντολογιών... 17 6.1 Αντιστοίχιση με γενικές οντολογίες του διαδικτύου... 17 6.2 Αντιστοίχιση επώνυμων οντοτήτων με το οντολογικό δίκτυο... 19 6.3 Αντιστοίχιση λεκτικών εννοιών με το οντολογικό δίκτυο... 21 7. Συμπεράσματα... 22 Σελίδα 2 από 22
1. Εισαγωγή Το παρόν έργο στοχεύει στην ανάπτυξη ενός ολοκληρωμένου συστήματος για την ενοποιημένη πρόσβαση, διαχείριση, αναζήτηση και διαδραστική παρουσίαση οπτικοακουστικού υλικού, με χαρακτηριστική περίπτωση τις κινηματογραφικές ταινίες, αλλά και ντοκιμαντέρ. Για το σκοπό αυτό το διαθέσιμο οπτικοακουστικό υλικό περιγράφεται με τη χρήση του δικτύου οντολογιών που παρουσιάστηκε στο Παραδοτέο 4.1 όπως αυτό επεκτείνεται με τα περιγραφόμενα στο παρόν παραδοτέο. Στο παρόν παραδοτέο επεξηγούμε αναλυτικά τον τρόπο αντιστοίχισης των μεταδεδομένων του οπτικοακουστικού υλικού στις οντολογίες, ενώ παράλληλα παρουσιάζουμε και τα βασικά σημεία του ολοκληρωμένου συστήματος επεξεργασίας των δεδομένων που αναπτύχθηκε για την πραγματοποίηση και αξιοποίηση της σημασιολογικής περιγραφής του υλικού. Το σύστημα εξυπηρετεί τους σκοπούς του έργου καθώς επιτρέπει τη συσχέτιση των οντολογιών του δικτύου, την εξαγωγή και επεξεργασία των μεταδεδομένων, και τη μετατροπή τους στην κατάλληλη μορφή ώστε να διασυνδεθούν με τις οντολογίες και να αποθηκευτούν σε κατάλληλες βάσεις δεδομένων. Η βασική υπηρεσία που προσφέρει το σύστημα είναι η σύνδεση του πρωτογενούς οπτικοακουστικού υλικού με τις οντολογίες του δικτύου μας μέσω της συσχέτισης των μεταδεδομένων που το χαρακτηρίζουν με σημασιολογικές περιγραφές. Πιο αναλυτικά, το ψηφιακό οπτικοακουστικό υλικό συνοδεύεται από μεταδεδομένα που αναφέρονται στο πρωτογενές θέμα που απεικονίζεται, σε διάφορα τεχνικά και πληροφοριακά χαρακτηριστικά του ίδιου του υλικού και της διαδικασίας ψηφιοποίησης του καθώς και πληροφορίες για το φορέα και τη σχέση του με το υλικό, τη διάθεσή του αλλά και τις πηγές που συνεισφέρουν στην τεκμηρίωσή του. Σκοπός στα πλαίσια αυτής της εργασίας είναι τα μεταδεδομένα να αντιστοιχιστούν σε έννοιες που περιγράφονται στις οντολογίες του δικτύου. Η σημασιολογική περιγραφή του διαθέσιμου υλικού θα αξιοποιείται από το σύστημα ώστε οι διάφορες αναζητήσεις να προσφέρουν πολύ πλουσιότερα και στοχευμένα αποτελέσματα σε σύγκριση με τις συνήθεις αναζητήσεις που απλώς βρίσκουν όμοιες λέξεις κλειδιά. Προκειμένου όμως τα δεδομένα να είναι προσπελάσιμα πρέπει να αναπαρασταθούν με κατάλληλο τρόπο και να εξαχθούν τα σωστά στιγμιότυπα από την κειμενική περιγραφή του πρωτογενούς υλικού ώστε να αντιστοιχιστούν στις κατάλληλες περιγραφές των οντολογιών. Η συλλογή αυτής της πληροφορίας υποστηρίζεται από το σύστημα που κατασκευάζει μία νέα βάση δεδομένων με όλη τη σχετική πληροφορία που περιγράφεται από το ενοποιημένο σχήμα του δικτύου μας. Εφόσον εξασφαλιστεί η κατάλληλη αναπαράσταση των δεδομένων, ένας παράγοντας που πρέπει να ληφθεί υπόψη για τη σωστή σημασιολογική περιγραφή της πληροφορίας είναι η ετερογένεια μεταξύ των οντολογιών που περιγράφουν δεδομένα από διαφορετική πηγή προέλευσης. Προκειμένου να εξασφαλίζεται η ενοποιημένη αναπαράσταση των δεδομένων είναι απαραίτητο οι έννοιες των οντολογιών του δικτύου να συσχετιστούν αντιστοιχίζοντας τις περιγραφές ίδιων αντικειμένων. Προς την κατεύθυνση αυτή το σύστημά μας συσχετίζει την πληροφορία που περιγράφεται από έννοιες οι οποίες θεωρούνται ισοδύναμες ή συνδέονται μέσω κάποιου ρόλου ώστε το δίκτυο οντολογιών σε συνδυασμό με την προκύπτουσα αποθήκη δεδομένων να αναπαριστούν με ενιαίο τρόπο τη διαθέσιμη πληροφορία, γεγονός που καθιστά εφικτή τη σύνθετη αναζήτηση στα πλαίσια του έργου. Στο παρόν παραδοτέο περιγράφεται ο τρόπος με τον οποίο τα μεταδεδομένα αντιστοιχίζονται στις περιγραφές του δικτύου οντολογιών που έχουμε επιλέξει. Επεξηγείται ο τρόπος με τον οποίο οι έννοιες οντολογιών αποκτούν υπόσταση από τις διαθέσιμες περιγραφές που συνοδεύουν το οπτικοακουστικό υλικό καθώς και ο τρόπος με τον οποίο τα εν λόγω στιγμιότυπα σχετίζονται με άλλα που αφορούν σε έννοιες διαφορετικής οντολογίας του δικτύου ώστε τελικά η πληροφορία που συλλέγεται να διαθέτει σε ενοποιημένη και προσπελάσιμη μορφή. Επιπλέον, παρουσιάζονται οι τρόποι συσχέτισης της πληροφορίας που έχουμε με μεταδεδομένα που ξεφεύγουν από τα τυπικά δεδομένα ενός οπτικοακουστικού υλικού και αφορούν γενικότερα πεδία γνώσης, όπως γεωγραφικές περιοχές, ιστορικά πρόσωπα και γεγονότα που είναι διαθέσιμα στο Σημασιολογικό Ιστό (π.χ. μέσω της DBPedia), άλλα και εννοιολογικές κατηγορίες λέξεων (π.χ. μέσω του Wordnet). Σελίδα 3 από 22
2. Συσχέτιση μεταδεδομένων με τις οντολογίες του δικτύου. Σε αυτήν την ενότητα περιγράφεται ο τρόπος με τον οποίο τα μεταδεδομένα που συνοδεύουν το οπτικοακουστικό υλικό, και συγκεκριμένα τις κινηματογραφικές ταινίες και τα ντοκιμαντέρ, αντιστοιχίζονται στις σημασιολογικές περιγραφές των οντολογιών. Για την σημασιολογική περιγραφή κάθε οπτικοακουστικής παραγωγής χρησιμοποιούνται ουσιαστικά δύο διαφορετικές μεταξύ τους οντολογίες, οι οποίες αφορούν διαφορετικά είδη μεταδεδομένων, καθώς τα μεταδεδομένα που διατίθενται για κάθε παραγωγή είναι δύο ειδών: α) μεταδεδομένα που αφορούν τα γενικά και τα τεχνικά χαρακτηριστικά της παραγωγής (όπως τον τίτλο, τους συντελεστές, το έτος παραγωγής της, κτλ.) και β) το λεπτομερές σενάριο της παραγωγής. Καθώς η φύση των μεταδεδομένων αυτών είναι διαφορετική και έχουν διαφορετική χρήση χρησιμοποιήθηκαν διαφορετικές οντολογίες για την περιγραφή τους. Ξεκινούμε από το δεύτερο είδος μεταδεδομένων που αφορά την σημασιολογική περιγραφή του σεναρίου μιας οπτικοακουστικής παραγωγής. Παρότι η παρουσίαση που ακολουθεί για ευκολία επικεντρώνεται κυρίως στον τρόπο αναπαράστασης κινηματογραφικών ταινιών, το ίδιο δίκτυο οντολογιών χρησιμοποιήθηκε και για την αναπαράσταση ντοκιμαντέρ, καθώς οι έννοιες που χρησιμοποιούνται για τις ταινίες (π.χ. ρόλοι, πλάνα, σκηνές, διάλογοι, ηθοποιοί) είναι γενικοί και μπορούν να χρησιμοποιηθούν για την αναπαράσταση οποιασδήποτε οπτικοακουστικής παραγωγής, καθώς στόχος τους είναι να αναπαραστήσουν τα δομικά στοιχεία της παραγωγής. 2.1 ScriptOntology Το υλικό που συνοδεύει μία οπτικοακουστική παραγωγή και αφορά το σενάριο της είναι λεπτομερέστατο και παρέχει αναλυτική περιγραφή των σκηνών και των επιμέρους πλάνων που απαρτίζουν κάθε σκηνή καθώς και τους διαλόγους που λαμβάνουν χώρα σε κάθε πλάνο. Οι περιγραφές των πλάνων και των σκηνών είναι σύντομα κείμενα που περιγράφουν την τοποθεσία κάθε σκηνής ή πλάνου καθώς και τις πράξεις και τα γεγονότα που διαδραματίζονται σε αυτά. Οι διάλογοι είναι το ακριβές κείμενο που εκφέρεται από τους χαρακτήρες που συμμετέχουν στην παραγωγή με στοιχεία για το μεταξύ ποιων χαρακτήρων διαμείβεται κάθε διάλογος. Έτσι μια από τις βασικές λειτουργίες του συστήματός που υλοποιήθηκε είναι η εξαγωγή των κατάλληλων δεδομένων από το εκάστοτε σενάριο ώστε αυτά να αντιστοιχιστούν στις έννοιες που περιλαμβάνουν οι οντολογίες του δικτύου. Η πληροφορία που εξάγεται από το σενάριο μιας οπτικοασκουστικής παραγωγής περιγράφεται στο δίκτυό μας από τις έννοιες της οντολογίας ScriptOntology, που κατασκευάστηκε ειδικά για τον σκοπό αυτό. Βασισμένη στην δομή των σεναρίων, περιλαμβάνει έννοιες όπως οι Video (Οπτικοακουστική παραγωγή) με υποέννοιες τις Movie (Ταινία) Documentary (Ντοκιμαντέρ), Scene (Σκηνή), Shot (Πλάνο), Act (Πράξη), Event (Γεγονός), Person (Πρόσωπο). Παρακάτω φαίνεται ένα τμήμα της ιεραρχίας εννοιών της οντολογίας ScriptOntology: Act o HumanAct o... Movie Person o MovieCharacter Scene o DayScene o NightScene o InternalScene o... Shot o CloseUpShot o LowAngleShot o... Σελίδα 4 από 22
... Μια κινηματογραφική ταινία αποτελεί στιγμιότυπο της έννοιας Movie (αντίστοιχα ένα ντοκιμαντέρ αποτελεί στιγμιότυπο της έννοιας Documentary) και αποτελείται από σκηνές που είναι στιγμιότυπα της έννοιας Scene, τα οποία με τις σειρά τους αποτελούνται από πλάνα που είναι στιγμιότυπα της έννοιας Shot. Η σχέση «αποτελείται» στις παραπάνω περιπτώσεις μοντελοποιείται στην ScriptOntology από τον ρόλο haspart. Κάθε σκηνή και πλάνο είχε κάποια κειμενική περιγραφή (για την μοντελοποίηση της οποίας χρησιμοποιείται ο ρόλος τύπου δεδομένων description), μια χρονική στιγμή έναρξης (που μοντελοποιείται μέσω του ρόλου starttime). Τέλος στα διάφορα πλάνα ή σκηνές της παραγωγής μπορεί να συμβαίνουν διάφορες πράξεις και γεγονότα, τα οποία είναι στιγμιότυπα των εννοιών Act και Event, ενώ το σε ποια σκηνή ή πλάνο λαμβάνουν χώρα δηλώνεται μέσω του ρόλου happens. Κάθε πράξη έχει κάποιον δράστη, που είναι κάποιος χαρακτήρας της παραγωγής και μπορεί να επενεργεί σε κάποιον άλλο. Έτσι π.χ. μια φράση που λέγεται από κάποιον χαρακτήρα προς κάποιον άλλο, αποτελεί στιγμιότυπο της υπoέννοιας SpeakingAct της έννοιας Act, και εκτελείται από κάποιον χαρακτήρα (στιγμιότυπο της έννοιας MovieCharacter) το οποίο δηλώνεται από τον ρόλο performedby, και απευθύνεται σε κάποιον άλλο χαρακτήρα μέσω του ρόλου isaddressedto. Πέραν των παραπάνω ρόλων, η ScriptOntology περιλαμβάνει και τους ρόλους hasrole, που συσχετίζει μια ταινία με τους χαρακτήρες της, και τους ρόλους startswith και isnextof, που χρησιμοποιούνται για να δηλωθεί η πρώτη σκηνή μιας ταινίας και το πρώτο πλάνο κάθε σκηνής, καθώς και η χρονική διαδοχή τους. Η παραπάνω περιγραφή αφορά τον γενικό τρόπο αντιστοίχισης μιας παραγωγής στους όρους της ScriptOntology. Ωστόσο όπως φαίνεται και από την ιεραρχία εννοιών της οντολογίας, ορίζονται πολλές υποέννοιες, ιδιαίτερα των εννοιών Scene και Shot. Και αυτό διότι από την επεξεργασία του κειμένου που αφορά την περιγραφή μιας σκηνής ή πλάνου είναι δυνατόν να εξαχθεί κάποια ιδιαίτερη κατηγοριοποίηση της σκηνής ή του πλάνου. Συγκεκριμένα, τα σενάρια, στις επιμέρους περιγραφές που περιέχουν χρησιμοποιούν πολλές φορές ειδικές συντομογραφίες για να ορίσουν αν μια σκηνή είναι π.χ. εσωτερική ή εξωτερική, νυχτερινή ή πρωινή, κλπ, ή αν ένα πλάνο είναι κοντινό, μακρινό, τραβηγμένα από ψηλά, υπό κίνηση της κάμερας, κλπ. Αυτές οι πληροφορίες μπορούν να ανιχνευτούν με αυτόματο τρόπο από τα σενάρια ώστε να χρησιμοποιηθούν στη συνέχεια για τη δήλωση κάθε σκηνής ή πλάνου ως στιγμιότυπου των κατάλληλων εννοιών της οντολογίας ScriptOntology. Έτσι μια σκηνή που είναι γυρισμένη την ημέρα ή τη νύχτα θα περιέχει ως τελευταία λέξη της περιγραφής της την λέξη DAY και NIGHT αντίστοιχα, και αντιστοιχίζεται από το σύστημά μας στις έννοιες NightScene και DayScene, αντίστοιχα. Με παρόμοιο η περιγραφή ενός κοντινού πλάνο θα ξεκινά με την συντομογραφία CU (CloseUp) και ενός μακρινού με την συντομογραφία LS (Long Shot) και θα αντιστοιχιστεί στις έννοιες CloseUpShot και LongShot αντίστοιχα. Όπως είναι φανερό από τα παραπάνω, για την αντιστοίχιση του σεναρίου μας οπτικοακουστικής παραγωγής στις έννοιες της ScriptOntology απαιτείται η αυτόματη επεξεργασία του αρχείου περιγραφής του σεναρίου. Ωστόσο, και παρότι η γενική δομή των σεναρίων, τουλάχιστον όσον αφορά τις κινηματογραφικές ταινίες, είναι κοινή, υπάρχουν πολλές και σημαντικές διαφορές ως προς τον ακριβή τρόπο παρουσίασης του για κάθε ταινία, καθώς τα σενάρια διατίθενται ως απλά αρχεία κειμένου (με μόνα δομικά στοιχεία τους πίνακες και τα στοιχεία μορφοποίησης) και όχι ως δομημένα δεδομένα. Για τον λόγο αυτό απαιτήθηκε η κατασκευή πολλών διαφορετικών προγραμμάτων αντιστοίχισης σεναρίων στην ScriptOntology, ένα για κάθε διαφορετικά μορφοποιημένο σενάριο. Τέλος, δεδομένου ότι στο παρόν έργο οι οπτικοακουστικές παραγωγές και τα μεταδεδομένα που τις συνοδεύουν αποτέλεσαν αντικείμενο οπτικής, ακουστικής και κειμενικής επεξεργασίας, ώστε να αναγνωριστούν λέξεις κλειδιά από τους διαλόγους, εικόνες χαρακτηριστικών κτηρίων και τοποθεσιών, και αναφορές σε επώνυμες οντότητες αντίστοιχα, απαιτήθηκε η μοντελοποίηση στα πλαίσια της γενικής οντολογίας ScriptOntology και της επιπρόσθετης αυτής πληροφορίας. Για τον λόγο η συγκεκριμένη οντολογία περιλαμβάνει και τον ρόλο hasextracteddata σκοπός του οποίου είναι να συνδέσει κάποιο στοιχείο μιας παραγωγής (πλάνο, διάλογο, κτλ.) με κάποιο είδος πληροφορίας που Σελίδα 5 από 22
εξήχθη αυτόματα. Όπως θα δούμε στη συνέχεια αυτή η πληροφορία μπορεί να είναι για παράδειγμα μια έννοια της DBPedia ή μια λεκτική έννοια του Wordnet που έχει προκύψει από την επεξεργασία της κειμενικής πληροφορίας που συνοδεύει τις κινηματογραφικές ταινίες, ή απλώς μια λέξη στην περίπτωση της αναγνώρισης χαρακτηριστικών λέξεων από το ακουστικό υλικό των ντοκιμαντέρ. 2.2 MovieOntology Το σύστημά μας, πέρα από την πληροφορία που συγκεντρώνει από το κείμενο του σεναρίου όπως αναλύθηκε παραπάνω, συγκεντρώνει επιπρόσθετη πληροφορία σχετικά με μια οπτικοακουστική παραγωγή από εξωτερικές πηγές. Σκοπός είναι η συγκομιδή μεταδεδομένων που σχετίζονται με τα γενικά και τεχνικά χαρακτηριστικά μιας παραγωγής, όπως είναι τα ονόματα των συντελεστών και το ποιοι ηθοποιοί παίζουν τους διάφορους χαρακτήρες που συμμετέχουν στην παραγωγή, πληροφορία που εν γένει δεν περιλαμβάνεται στο σενάριο. Βασική πηγή για τη συλλογή αυτής της επιπλέον πληροφορίας για το σύστημά μας αποτέλεσες για τις κινηματογραφικές ταινίες η διαδικτυακή βάση της IMDB. Έτσι, ένα βασικό ζήτημα που ανακύπτει είναι ο τρόπος που μπορούμε να αξιοποιήσουμε κατάλληλα τη βάση δεδομένων της IMDB ώστε να συλλέξουμε τη ζητούμενη πληροφορία που σχετίζεται με το υλικό που έχουμε στη διάθεσή μας ώστε στη συνέχεια να την εντάξουμε στο σύνολο των μεταδεδομένων της εφαρμογής. Η IMDB, παρότι είναι μια πολύ πλούσια βάση δεδομένων, δεν διαθέτει κάποια προγραμματιστική διεπαφή που να επιτρέπει την άμεση λήψη και χρήση των δεδομένων της από τρίτα προγράμματα, ούτε διαθέτει δημοσίως το σημασιολογικό σχήμα περιγραφής των δεδομένων που χρησιμοποιεί. Ωστόσο, παρέχει τα δεδομένα της υπό μορφή αρχείων κειμένου (σε μορφή tab separated files), τα οποία με κατάλληλη επεξεργασία μπορούν να μετασχηματιστούν σε σχεσιακή βάση δεδομένων, από την οποία να μπορεί να αντληθεί η απαραίτητη πληροφορία. Έτσι για να μπορέσει να εκτελέσει την λειτουργία του το σύστημά μας χρησιμοποιεί με αυτόν τον τρόπο την βάση δεδομένων της IMDB, δηλαδή χρησιμοποιεί μια τοπική βάση δεδομένων που έχει προκύψει από την κατάλληλη επεξεργασία και μετατροπή σε σχεσιακό σχήμα των διαθέσιμων αρχείων κειμένου με τα δεδομένα της IMDB. Ακολουθεί η αναλυτική περιγραφή του τρόπου με τον οποίο γίνεται η συγκομιδή των δεδομένων από την IMDB: Για το σύνολο των κινηματογραφικών ταινιών για τις οποίες διατίθενται σενάρια, υπάρχει ένα αρχείο XML με κάποια βασικά μεταδεδομένα την ταινίας. Ένα μικρό ενδεικτικό απόσπασμα αυτού του αρχείου είναι εξής: <?xml version="1.0"?> <Movies> <Movie ID="2553" Year="2003" Duration="91'" Release="16/12/2011" AspectRatio="16:9 / 2.40:1"> <Title>Η Συνομωσία</Title> <OriginalTitle>A Conspiracy</OriginalTitle> <Categories> <Category>Δράσης</Category> </Categories> <AvailableFormatLanguages> <AvailableFormatLanguage>English</AvailableFormatLanguage> </AvailableFormatLanguages>... </Movie> <Movie ID="3079" Year="1" Duration="90'" Release="16/12/2011" AspectRatio="16:9 / 2.40:1"> <Title>Διπλή Απάτη</Title> <OriginalTitle>A Little Trip To Heaven</OriginalTitle> <Categories> <Category>Μυστηρίου</Category> Σελίδα 6 από 22
</Categories> <AvailableFormatLanguages> <AvailableFormatLanguage>English</AvailableFormatLanguage> </AvailableFormatLanguages>... </Movie>... </Movies> Η αναζήτηση της ταινίας στη βάση δεδομένων της IMDB πραγματοποιείται με βάση αυτά τα μεταδεδομένα, και συγκεκριμένα χρησιμοποιώντας σαν αναγνωριστικά τα δύο πεδία που αφορούν τον τίτλο και την ημερομηνία παραγωγής της. Ο λόγος που χρησιμοποιούνται αυτά τα δύο πεδία είναι η πιθανότητα περισσότερες από μία ταινίες να έχουν τον ίδιο τίτλο αλλά διαφορετική ημερομηνία παραγωγής. Στη συνέχεια, αφού εντοπιστεί το αναγνωριστικό της ζητούμενης ταινίας στην βάση δεδομένα, εκτελώντας τα κατάλληλα SQL ερωτήματα προς τη βάση, συγκεντρώνονται τα πρόσθετα μεταδεδομένα όπως είναι τα ονόματα ηθοποιών, του σκηνοθέτη, το είδος της ταινίας, κ.ά. Η πληροφορία συλλέγεται από τη βάση IMDB υπό τη μορφή απαντήσεων σε σχεσιακά ερωτήματα, δηλαδή ως πίνακες δεδομένων, ωστόσο για να χρησιμοποιηθεί από το σύστημά μας πρέπει να περιγραφεί σημασιολογικά βάσει κάποιας οντολογίας. Για αυτόν τον λόγο, μόλις τα δεδομένα ληφθούν από την βάση της IMDB αντιστοιχίζονται σε έννοιες της οντολογίας MovieOntology (http://www.movieontology.org). H MovieOntology είναι μια οντολογία για τη σημασιολογική περιγραφή οπτικοακουστικών παραγωγών που έχει αναπτυχθεί από το Τμήμα Πληροφορικής του Πανεπιστημίου της Ζυρίχης. Η ΜovieΟntology παρέχει αρκετά επίπεδα ιεράρχησης καθώς και πληθώρα στιγμιοτύπων που αφορούν στα είδη των ταινιών. Ως γλώσσα οντολογίας για την σύνταξή της χρησιμοποιεί την OWL. Παραθέτουμε τμήμα της ιεραρχίας των εννοιών της MovieOntology. Award Gernre o Information o Entertainment Movie Person o Actor o Actress o Constume_Designer o Producer o Writer o... Place Presentation o Colorinfo o Language o SoundMix... Η MovieOntology διαθέτει επίσης τους απαραίτητους ρόλους που συσχετίζουν μεταξύ τους έννοιες όπως ο ρόλος hasactor, καθώς επίσης και ρόλους συσχέτισης έννοιας με τύπους δεδομένων όπως ο title που δηλώνει τον τίτλο μίας ταινίας. Σελίδα 7 από 22
Η επιλογή χρήσης της MovieOntology για την περιγραφή των γενικών μεταδεδομένων των οπτικοακουστικών παραγωγών στο σύστημά μας έγινε αφενός επειδή η συγκεκριμένη οντολογία έχει αναπτυχθεί ακριβώς από τον σκοπό αυτό, και αφετέρου επειδή η πηγή δεδομένων που είναι η IMDB δεν παρέχει το δικό της οντολογικό σχήμα. Ωστόσο, όπως παρατηρούμε από τα παραπάνω, η πληροφορία που περιγράφεται με τις έννοιες της οντολογίας MovieOntology δεν καλύπτει πλήρως τον σύνολο των μεταδεδομένων που λαμβάνονται από την IMDB προς χρήση από το σύστημά μας. Η βασικότερη τέτοια έλλειψη είναι η απουσία της δυνατότητας περιγραφής τους ρόλων (χαρακτήρων) που υποδύονται οι συμμετέχοντες σε μια οπτικοακουστική παραγωγή. Για το σύστημά μας αυτή η πληροφορία είναι κρίσιμη, γιατί όπως αναφέραμε παραπάνω, τα σενάρια βασίζονται στους χαρακτήρες της παραγωγής, ενώ τελικά τον τελικό χρήστη του συστήματος μπορεί ενδιαφέρει περισσότερο ο συντελεστής που συμμετέχει σε μια ταινία ως φυσικό πρόσωπο (και δευτερευόντως ποιον χαρακτήρα υποδύεται). Έτσι, προκειμένου να συσχετίσουμε την πληροφορία για τους συμμετέχοντες με τους χαρακτήρες μιας οπτικοακουστικής παραγωγής χρειάστηκε να επεκτείνουμε την οντολογία MovieOntology με κατάλληλους ρόλους. Για το σκοπό αυτό αναπτύξαμε και συμπεριλάβαμε στο δίκτυό μας την οντολογία extramovieontolology. Συγκεκριμένα, η extramovieontology περιλαμβάνει το ρόλο hascharacter που σχετίζει μία ταινία που περιγράφεται με την έννοια Movie της MovieOntology, με κάποιο χαρακτήρα που περιγράφεται με την έννοια Character της extramovieontology. Ο ρόλος isplayedby σχετίζει το χαρακτήρα Character της extramovieontology με τον αντίστοιχο ηθοποιό Actor της MovieOntology. Αναλυτικά ο τρόπος με τον οποίο κατασκευάζεται η σχετική πληροφορία που αντλείται από το σενάριο και την IMDB θα παρουσιαστεί σε επόμενη ενότητα. 3. Κατασκευή τριάδων RDF Σκοπός του συστήματος, αφού συλλέξει τα μεταδεδομένα και τα συσχετίζει με τις έννοιες του δικτύου οντολογιών είναι να τα αναπαραστήσει στην κατάλληλη μορφή που να επιτρέπει την εύκολη αναζήτηση, ανάκτηση και συσχέτισή τους με δεδομένα από άλλες πηγές. Για το λόγο αυτό η εξαγόμενη πληροφορία μετασχηματίζεται ώστε να λάβει τη μορφή τριάδων RDF με τελικό στόχο την αποθήκευσή τους σε μια αποθήκη τριάδων RDF. 3.1 Κατασκευή τριάδων RDF από το σενάριο μιας ταινίας Προκειμένου να δομηθεί με βάση το πρότυπο RDF το υλικό του σεναρίου που είναι στη διάθεσή μας, είναι απαραίτητο η πληροφορία που συλλέγεται να αναπαρασταθεί με τον κατάλληλο τρόπο ώστε να προκύψουν τα στιγμιότυπα των εννοιών και οι κατάλληλες τριάδες RDF. Επομένως, το αρχικό ζητούμενο είναι να κατασκευαστούν τα στιγμιότυπα των εννοιών της οντολογίας ScriptOntology και MovieOntology (και extramovieontology). Για το σκοπό το πρόγραμμα επεξεργασίας των σεναρίων του συστήματός μας αποδίδει κατάλληλους κωδικούς στα τμήματα πληροφορίας που εξάγει από κάθε σενάριο, οι οποίοι χρησιμοποιούνται για την κατασκευή του URI που θα αντιπροσωπεύει το συγκεκριμένο στιγμιότυπο της κατάλληλης έννοιας. Για παράδειγμα, όταν ανιχνεύεται ένα καινούργιο πλάνο μιας ταινίας, το οποίο φέρει λ.χ. με τον χαρακτηρισμό CU (κοντινό πλάνο), τότε στο συγκεκριμένο πλάνο αποδίδεται ένας κωδικός που χρησιμοποιείται για την κατασκευή ενός μοναδικού αναγνωριστικού URI, το οποίο κατόπιν δηλώνεται ως στιγμιότυπο της έννοιας CloseUpShot της οντολογίας ScriptOntology. Ένα άλλο παράδειγμα είναι η απόδοση αναγνωριστικού σε κάποια νέα σκηνή, η οποία κατόπιν δηλώνεται στιγμιότυπο της έννοιας Scene. H σκηνή που έπεται αποκτά ένα διαφορετικό κωδικό και αναγνωριστικό ώστε να δηλωθεί επίσης ως διαφορετικό στιγμιότυπο της Scene, κ.ο.κ. Τέλος, τα διαφορετικά στιγμιότυπα σχετίζονται μεταξύ τους με τους κατάλληλους ρόλους, εν προκειμένω με τον ρόλο isnextof, ώστε να δηλωθεί ότι η μία σκηνή διαδέχεται την άλλη. Το ίδιο αναγνωριστικό θα χρησιμοποιηθεί για να δηλώσουμε τα επιμέρους πλάνα της σκηνής, την περιγραφή της και οποιαδήποτε άλλη πληροφορία μπορεί να περιγραφεί από την οντολογία. Παραθέτουμε τις τριάδες RDF για τα παραδείγματα που αναφέραμε παραπάνω, όπου φαίνεται ότι η σκηνή με όνομα Σελίδα 8 από 22
«SCENE_24» είναι μια εσωτερική σκηνή που λαμβάνει χώρα νύχτα, και έχει κάποια περιγραφή που δηλώνει την τοποθεσία όπου λαμβάνει χώρα <http://moviedb.org/scriptontology/mov_12794/scene_25 > <http://moviedb.org/scriptontology/internalscene> <http://moviedb.org/scriptontology/mov_12794/scene_25 > <http://moviedb.org/scriptontology/nightscene> <http://moviedb.org/scriptontology/mov_12794/scene_25> <http://moviedb.org/scriptontology/descr> "HOTEL ROOM."^^xsd:string και παρόμοια ότι το πλάνο με όνομα «SHOT_14» είναι ένα κοντινό πλάνο, οπότε περιγράφεται από την έννοια CloseUpShot, και έχει επίσης κάποια περιγραφή: <http://moviedb.org/scriptontology/mov_12794/scene_25/shot_14> <http://moviedb.org/scriptontology/closeupshot> <http://moviedb.org/scriptontology/mov_12794/scene_25/shot_14> <http://moviedb.org/scriptontology/descr> "Joe enters LT, past paraphernalia, and sits on couch."^^xsd:string Παραθέτουμε επίσης τις τριάδες RDF που κωδικοποιούν την χρονική διαδοχή των σκηνών. Περιγράφεται πως η σκηνή SCENE_25 διαδέχεται την SCENE_24 η οποία με τη σειρά της διαδέχεται την SCENE_25 και επιπλέον ότι το πλάνο SHOT_14 ανήκει στη σκηνή SCENE_25. Αντίστοιχα κωδικοποιείται και η χρονική διαδοχή των πλάνων. <http://moviedb.org/scriptontology/mov_12794/scene_24> <http://moviedb.org/scriptontology/isnextof> <http://moviedb.org/scriptontology/mov_12794/scene_23> <http://moviedb.org/scriptontology/mov_12794/scene_25> <http://moviedb.org/scriptontology/isnextof> <http://moviedb.org/scriptontology/mov_12794/scene_24> <http://moviedb.org/scriptontology/mov_12794/scene_25> <http://moviedb.org/scriptontology/haspart> <http://moviedb.org/scriptontology/mov_12794/scene_25/shot_14> Όλες οι παραπάνω τριάδες RDF παράγονται από τα προγράμματα επεξεργασίας σεναρίων που υλοποιήθηκαν από το σύστημά μας. Κάθε τέτοιο πρόγραμμα λαμβάνει ως είσοδο ένα αρχείο κειμένου (doc ή pdf) και παράγει ένα σύνολο τριάδων RDF ως έξοδο. Δεδομένου ότι το σενάριο μιας ταινίας περιέχει αναλυτικά τους διαλόγους που λαμβάνουν χώρα σε αυτή, όπου σε κάθε διάλογο δηλώνεται μεταξύ ποιον διαμείβεται, από την επεξεργασία των σεναρίων είναι δυνατόν να εξαχθούν εύκολα και οι χαρακτήρες που συμμετέχουν σε μια ταινία. Για παράδειγμα, για την παραπάνω ταινία, οι τριάδες RDF που εξάγονται από το σενάριο και αφορούν έναν συγκεκριμένο χαρακτήρα είναι οι εξής: <http://moviedb.org/scriptontology/mov_12794/ > <http://moviedb.org/scriptontology/hasrole> Σελίδα 9 από 22
< http://moviedb.org/scriptontology/mov_12794/role_3> <http://moviedb.org/scriptontology/mov_12794/role_3> <http://moviedb.org/scriptontology/moviecharacter> <http://moviedb.org/scriptontology/mov_12794/role_3> <http://moviedb.org/scriptontology/name> "SURAT"^^xsd:string Ασφαλώς οι διάλογοι δεν χρησιμοποιούνται μόνο για την εξαγωγή των χαρακτήρων που συμμετέχουν σε μια ταινία. Παράλληλα με αυτό εξάγεται και μετατρέπεται σε κατάλληλες τριάδες RDF το κείμενο του κάθε διαλόγου, αλλά και η πληροφορία σχετικά με το μεταξύ ποιων χαρακτήρων διαμείφθηκε ο διάλογος. Έτσι σε συνέχεια του παραπάνω παραδείγματος, οι παρακάτω τριάδες RDF που εξάγονται από το σενάριο δηλώνουν ότι στο πλάνο SHOT_14 της σκηνής SCENE_25 λαμβάνει χώρα (με χρήση του ρόλου happens της ScriptOntology) μια πράξη διαλόγου μεταξύ των χαρακτήρων ROLE_0 και ROLE_1 (μέσω των ρόλων performedby και addressedto), ενώ καταγράφεται και το ακριβές κείμενο του διαλόγου. <http://moviedb.org/scriptontology/mov_12794/scene_25/shot_14> <http://moviedb.org/scriptontology/happens> <http://moviedb.org/scriptontology/mov_12794/scene_25/shot_14/act_1> <http://moviedb.org/scriptontology/mov_12794/scene_25/shot_14/act_1> <http://moviedb.org/scriptontology/speakingact> <http://moviedb.org/scriptontology/mov_12794/scene_25/shot_14/act_1> <http://moviedb.org/scriptontology/performedby> <http://moviedb.org/scriptontology/mov_12794/role_0> <http://moviedb.org/scriptontology/mov_12794/scene_25/shot_14/act_1> <http://moviedb.org/scriptontology/addressedto> <http://moviedb.org/scriptontology/mov_12794/role_1> <http://moviedb.org/scriptontology/mov_12794/scene_25/shot_14/act_1> <http://moviedb.org/scriptontology/text> "You re late. "^^xsd:string 3.2 Κατασκευή τριάδων RDF για τα γενικά μεταδεδομένα μιας ταινίας Με αντίστοιχο τρόπο αναπαριστώνται τα δεδομένα που αντλούμε από την βάση της IMDB. Έτσι, κάθε στιγμιότυπο ταινίας διαθέτει ένα αναγνωριστικό όνομα που μας επιτρέπει να δηλώσουμε τον τίτλο της ταινίας και τους χαρακτήρες της. Για παράδειγμα, με τις παρακάτω τριάδες δηλώνεται ότι το URI <http://movie.org/51652> είναι στιγμιότυπο της έννοιας Movie της MovieOntology με τίτλο «Bangkok Dangerous», είναι ταινία δράσης, και δηλώνονται τρεις χαρακτήρες που συμμετέχουν στην ταινία. <http://movie.org/51652> <http://www.movieontology.org/2009/10/01/movieontology.owl#movie> <http://movie.org/51652> <http://www.movieontology.org/2009/10/01/movieontology.owl#title> "Bangkok Dangerous"^^xsd:string <http://movie.org/1895369> Σελίδα 10 από 22
<http://www.movieontology.org/2009/10/01/movieontology.owl#belongstogenre> <http://movie.org/genre/action> <http://movie.org/51652> <http://moviedb.org/extramovieontology/hascharacter> <http://movie.org/255> <http://movie.org/51652> <http://moviedb.org/extramovieontology/hascharacter> <http://movie.org/790463> <http://movie.org/51652> <http://moviedb.org/extramovieontology/hascharacter> <http://movie.org/7771> <http://movie.org/51652> <http://moviedb.org/extramovieontology/hascharacter> <http://movie.org/49740> Παρακάτω φαίνεται πώς το στιγμιότυπο ενός χαρακτήρα που προκύπτει από την IMDB σχετίζεται στο σύστημά μας με το όνομα του χαρακτήρα καθώς και με το πρόσωπο του ηθοποιού κάνοντας χρήση των σχέσεων της extramovieontology: <http://movie.org/255> <http://moviedb.org/extramovieontology/character> <http://movie.org/255> <http://moviedb.org/extramovieontology/charactername> "Joe"^^xsd:string <http://movie.org/255> <http://moviedb.org/extramovieontology/isplayedby> <http://movie.org/133887> Πιο συγκεκριμένα, με τις παραπάνω τριάδες δηλώνεται ότι η ταινία με στιγμιότυπο <http://movie.org/51652> διαθέτει τον χαρακτήρα <http://movie.org/255> με όνομα Joe, που τον υποδύεται ο ηθοποιός <http://movie.org/133887>. Τέλος, από την βάση της IMDB έχει επίσης εξαχθεί το γεγονός ότι με URI <http://movie.org/133887> είναι ένα συγκεκριμένο φυσικό πρόσωπο με συγκεκριμένο όνομα. Για την αναπαράσταση των φυσικών προσώπων η MovieOntology χρησιμοποιεί την αντίστοιχη έννοια της DBpedia. Έτσι για το συγκεκριμένο URI, το σύστημά μας, με βάση τα δεδομένα που λαμβάνει από την IMDB παράγει επίσης τις ακόλουθες τριάδες: <http://movie.org/133887> <http://dbpedia.org/ontology/person> <http://movie.org/133887> <http://dbpedia.org/ontology/birthname> "Cage, Nicolas"^^xsd:string Δεδομένου ότι οι παραπάνω πληροφορίες που λαμβάνονται από την IMDB, σε αντίθεση με αυτές που λαμβάνονται από τα σενάρια, προκύπτουν από μια σχεσιακή βάση δεδομένων, δηλαδή ως αποτελέσματα ερωτημάτων SQL, οι κατασκευή των παραπάνω τριάδων για όλες τις ταινίες Σελίδα 11 από 22
αυτοματοποιήθηκε στο σύστημά μας με τη χρήση της μέθοδο αντιστοίχισης οντολογιών σε βάσεις δεδομένων. Συγκεκριμένα, η μέθοδος αυτή απαιτεί τον ορισμό ενός συνόλου αντιστοιχίσεων, καθένα μια από τις οποίες δηλώνει με ποιον τρόπο κάποια δεδομένα της σχεσιακής βάσης θα μετατραπούν σε στιγμιότυπα μιας οντολογίας. Στην πράξη, κάθε τέτοια αντιστοίχιση ορίζεται ως ένα ζεύγος ενός ερωτήματος SQL και ενός μορφοτύπου παραγωγής οντολογικών στιγμιοτύπων. Για παράδειγμα, το ζεύγος ( select CAST.PERSON_ROLE_ID from CAST and CAST.ROLE_ID IN (1,2), Character[http://movie.org/] ) δηλώνει ότι όσα δεδομένα προκύψουν από την εκτέλεση του συγκεκριμένου ερωτήματος (και συγκεκριμένα το CAST_INFO.PERSON_ROLE_ID θα μετατραπούν σε στιγμιότυπα της έννοιας Character, και τα URIs θα έχουν ως πρόθεμα URI το http://movie.org/. Αντίστοιχα ορίζονται και τα υπόλοιπα ζεύγη των αντιστοιχίσεων. Δίνουμε ένα ακόμη παράδειγμα που κατασκευάζει στιγμιότυπα ενός ρόλου, συγκεκριμένα του charactername, ο οποίος απαιτεί δύο ορίσματα, για αυτό και το ερώτημα SQL έχει επιστρέφει δύο πεδία: ( select CAST.PERSON_ROLE_ID, CHAR_NAME.NAME from CAST, CHAR_NAME where CAST.PERSON_ROLE_ID = CHAR_NAME.ID and CAST.ROLE_ID IN (1,2), charactername[http://movie.org/,^^xsd:string] ) Τα στιγμιότυπα που προκύπτουν από τις παραπάνω αντιστοιχίσεις μετατρέπονται αυτόματα στις κατάλληλες RDF τριάδες με βάση το μοντέλο RDF. Για παράδειγμα, η τριάδα <http://movie.org/255> <http://moviedb.org/extramovieontology/character> που αναφέρθηκε σε προηγούμενο παράδειγμα έχει προκύψει από το στιγμιότυπο Character(http://movie.org/255) η οποία παρήχθη από την εκτέλεση των αντιστοιχίσεων πάνω στην βάση δεδομένων. Προφανώς, για την κατασκευή των παραπάνω αντιστοιχίσεων και τη διατύπωση των SQL ερωτημάτων απαιτείται η γνώση του σχήματος της βάσης δεδομένων, η οποία για λόγους συντομίας δεν παρατίθεται αναλυτικά στο παρόν κείμενο. Σύμφωνα με όσα έχουμε περιγράψει μέχρι στιγμής το σύστημα εξάγει και συλλέγει δεδομένα από τα κείμενα των σεναρίων της εκάστοτε ταινίας καθώς και από τη βάση δεδομένων της IMDB. Τα δεδομένα αυτά αποκτούν σημασιολογικό περιεχόμενο μετατρεπόμενα στις κατάλληλες RDF τριάδες με βάση το δίκτυο οντολογιών που έχει επιλεγεί για την σημασιολογική αναπαράσταση της γνώσης. Αυτό που απομένει για την χρήση των τριάδων για την εκτέλεση αναζητήσεων επί των ταινιών, είναι να ενσωματωθούν με κατάλληλο τρόπο σε μία αποθήκη RDF. 4. Κατασκευή αποθήκης RDF Η κατασκευή της αποθήκης RDF με τα σημασιολογικά χαρακτηρισμένα δεδομένα των ταινιών πραγματοποιείται σε δύο φάσεις. Αρχικά αποθηκεύονται τα δεδομένα, συγκεκριμένα οι τριάδες RDF, ακριβώς όπως προέκυψαν από τις δύο διαφορετικές πηγές. Έπειτα, οι τριάδες που σχετίζονται με Σελίδα 12 από 22
διαφορετικές οντολογίες του δικτύου μας συνδέονται μεταξύ τους ώστε να η πληροφορία να διαθέτει μία ενοποιημένη μορφή και να είναι αξιοποιήσιμη σε όλο το εύρος της. Ο τρόπος παραγωγής των τριάδων που αποθηκεύονται κατά το πρώτο στάδιο αναλύθηκε στην προηγούμενη ενότητα. Στη συνέχεια θα εξηγήσουμε τον τρόπο παραγωγής επιπλέον τριάδων RDF κατά το δεύτερο στάδιο εμπλουτισμού της αποθήκης RDF. Οι επιπλέον τριάδες RDF εμπίπτουν σε δύο κατηγορίες: Στις τριάδες που ορίσουν αντιστοιχίσεις μεταξύ ταυτόσημων αντικειμένων που αναπαριστώνται όμως από διαφορετικά στιγμιότυπα στις διάφορες οντολογίες του συστήματος οντολογιών, και δεύτερον στις τριάδες που εμπλουτίσουν σημασιολογικά περαιτέρω κάποια από τα αντικείμενα που έχουν αποθηκευτεί στην αποθήκη. Στην πρώτη κατηγορία, για τους λόγους που εξηγήθηκαν παραπάνω κάθε ταινία αναπαρίσταται ουσιαστικά από δύο διαφορετικά στιγμιότυπα, ένα για τη οντολογία ScriptOntology και ένα για την MovieOntology, πρέπει να δηλωθεί η ισοδυναμία των ταυτόσημων αυτών στιγμιοτύπων. Αυτό γίνεται με εκμετάλλευση της πληροφορίας που αφορά τον τίτλο μιας ταινίας (καθώς αυτό είναι το μόνο κοινό εξασφαλισμένο στοιχείο των αναπαραστάσεων στις δύο οντολογίες.) Οι τριάδες που περιγράφουν τον τίτλο και προκύπτουν από το σενάριο της ταινίας και την βάση της IMDB έχουν την παρακάτω μορφή, αντίστοιχα: <http://moviedb.org/scriptontology/mov_12794> <http://moviedb.org/scriptontology/title> "Bangkok Dangerous"^^xsd:string <http://movie.org/51652> <http://www.movieontology.org/2009/10/01/movieontology.owl#title> "Bangkok Dangerous"^^xsd:string Έτσι προκειμένου να συσχετιστούν τα παραπάνω δεδομένα της αποθήκης RDF το σύστημά μας υποβάλλει προς την αποθήκη τα κατάλληλα SPARQL ερωτήματα. Στη συγκεκριμένη περίπτωση θα πρέπει να αναζητήσει τα στιγμιότυπα εκείνα της οντολογίας MovieOntology και της ScriptOntology που έχουν τον ίδιο τίτλο. Το ερώτημα έχει την παρακάτω μορφή: PREFIX so: <http://moviedb.org/scriptontology/> PREFIX mo: <http://www.movieontology.org/2009/10/01/movieontology.owl#> SELECT?m?s?tm WHERE {?m a mo:movie.?m mo:title?tm.?s a so:movie.?s so:title?ts. FILTER ( lcase(?tm) = lcase(?ts)) } Από τις απαντήσεις του παραπάνω ερωτήματος επί της αποθήκης RDF το σύστημα κατασκευάζει τριάδες που συσχετίζουν τα διαφορετικά στιγμιότυπα και θα ενσωματωθούν σε αυτή. Στο συγκεκριμένο παράδειγμα θα κατασκευαστεί και θα εισαχθεί στην αποθήκη η τριάδα <http://movie.org/51652> <http://www.w3.org/2002/07/owl#sameas> <http://moviedb.org/scriptontology/mov_12794>, και αντίστοιχα για τις υπόλοιπες ταινίες. Αφού αναγνωριστούν οι ταυτόσημες παραγωγές, το επόμενο βήμα είναι η ταυτοποίηση των χαρακτήρων που συμμετέχουν, οι οποίοι με βάση τα παραπάνω έχουν προκύψει αφενός από το Σελίδα 13 από 22
σενάριο της παραγωγής (μέσω τη ScriptOntology) και αφετέρου από την IMDB (μέσω της MovieOntology). Για παράδειγμα, όπως είδαμε προηγουμένως οι παρακάτω τριάδες κατασκευάζονται από το σύστημά μας από το σενάριο μιας κινηματογραφικής ταινίας και περιγράφουν το στιγμιότυπο ενός χαρακτήρα και το όνομά του: <http://moviedb.org/scriptontology/mov_12794/role_3> <http://moviedb.org/scriptontology/moviecharacter> <http://moviedb.org/scriptontology/mov_12794/role_3> <http://moviedb.org/scriptontology/name> "SURAT"^^xsd:string Η αντίστοιχη πληροφορία που έχει προκύψει από τη βάση της IMDB έχει την εξής μορφή: <http://movie.org/790463> <http://moviedb.org/extramovieontology/character> <http://movie.org/790463> <http://moviedb.org/extramovieontology/charactername> "Surat"^^xsd:string Προκειμένου να συσχετιστούν οι παραπάνω τριάδες της αποθήκης εκτελείται το παρακάτω ερώτημα SPARQL: PREFIX so: <http://moviedb.org/scriptontology/> PREFIX emo: <http://moviedb.org/extramovieontology/> PREFIX mo: <http://www.movieontology.org/2009/10/01/movieontology.owl#> PREFIX owl: <http://www.w3.org/2002/07/owl#> SELECT?mc?sr?mcn WHERE {?m a mo:movie.?m emo:hascharacter?mc.?mc emo:charactername?mcn.?m owl:sameas?s.?s so:hasrole?sr.?sr so:name?srn. FILTER ( lcase(?mcn) = lcase(?srn) ). } Λαμβάνοντας υπόψη τα αποτελέσματα της εκτέλεσης του ερωτήματος κατασκευάζονται τριάδες ώστε να συμπεριληφθούν στην rdf αποθήκη: <http://movie.org/790463> <http://www.w3.org/2002/07/owl#sameas> <http://moviedb.org/scriptontology/mov_12794/role_3> και αντίστοιχα για τους υπόλοιπους χαρακτήρες των ταινιών. Σελίδα 14 από 22
5. Περιγραφή συστήματος κατασκευής των αντιστοιχίσεων από τα δεδομένα Συνοψίζοντας τα όσα περιγράψαμε στις προηγούμενες ενότητες για τις δυνατότητες του συστήματος που αναπτύχθηκε στα πλαίσια του έργου αναφέρουμε ότι επιτρέπει τη συλλογή των δεδομένων από διαφορετικές πηγές όπως είναι το σενάριο που σχετίζεται με την κάθε ταινία και η βάση δεδομένων της IMDB και τη συσχέτισή της πληροφορίας με σκοπό την κατασκευή μίας αποθήκης RDF. Το σύστημα που αναπτύχθηκε είναι αρκετά γενικό και επιτρέπει τον ορισμό μιας ροής επεξεργασίας και διασύνδεσης δεδομένων με βάση ένα γραφικό περιβάλλον εργασίας. Βασίζεται στην λογική της χρήσης υπολογιστικών μονάδων, οι οποίες έχουν τη μορφή κόμβων, και οι οποίοι είναι κατασκευασμένοι να εκτελούν κάποια συγκεκριμένη λειτουργία επί των εισόδων τους, πιθανόν λαμβάνοντας υπόψη κάποιες παραμέτρους, και να παράγουν μία ή περισσότερες εξόδους. Οι κόμβοι, χωρίζονται σε διάφορες κατηγορίες και μπορεί να είναι κόμβοι εισαγωγής δεδομένων (π.χ. ανάγνωσης αρχείων κειμένου από το σύστημα αρχείων ενός υπολογιστή, ανάγνωση μιας οντολογίας, κατασκευής ενός πίνακα δεδομένων), αναφοράς σε πηγές δεδομένων (π.χ. μιας σχεσιακής βάσης δεδομένων ή μιας αποθήκης RDF), μετασχηματισμού δεδομένων (π.χ. αντικατάσταση συγκεκριμένων συμβολοσειρών από άλλες, εισαγωγής και διαγραφής στηλών από κάποιον πίνακα), εκτέλεσης ερωτημάτων (π.χ. εκτέλεσης SQL ή SPARQL ερωτημάτων προς κάποια κατάλληλη πηγή, εξαγωγή δεδομένων από κάποιο XML αρχείο μέσω ερωτημάτων XPath) καθώς και κόμβοι άλλοι ειδικών λειτουργιών. Γραφικά, οι κόμβοι φέρουν στα αριστερά κάποιες υποδοχές που αντιστοιχούν στις εισόδους τους, και στα αριστερά άλλες υποδοχές που αντιστοιχούν στις εξόδους τους. Συνδέοντας την έξοδο κάποιο κόμβου με την είσοδο κάποιου άλλου ορίζεται και επαναλαμβάνοντας αυτό για πολλούς κόμβους με τον επιθυμητό τρόπο, μπορεί να οριστεί μια ροή δεδομένων που να επιτελεί κάποια επιθυμητή λειτουργία. Για κάθε κόμβο παρέχεται επίσης και ένα παράθυρο απόδοσης τιμών σε τυχόν παραμέτρους που ρυθμίζουν την ακριβή λειτουργία του. Σχήμα 1: Διάγραμμα επεξεργασίας δεδομένων για την κατασκευή των αντιστοιχίσεων. Σελίδα 15 από 22
Στο Σχήμα 1 φαίνεται σχηματικά ο τρόπος με τον οποίο κατασκευάζεται η αποθήκη RDF της εφαρμογής με χρήση του συστήματος που μόλις περιεγράφηκε. Στους κόμβους 1-5 διαβάζεται το XML αρχείο με τα μεταδεδομένα των διατιθέμενων οπτικοακουστικών παραγωγών και εξάγονται το αναγνωριστικό, ο τίτλος και τα η ημερομηνία παραγωγής τους. Ποια στοιχεία θα εξαχθούν από το XML καθορίζεται από τα περιεχόμενα του κόμβου 2, οποίος είναι ένας κόμβος κατασκευής πίνακα, που στη συγκεκριμένη περίπτωση περιέχει μια γραμμή και δύο στήλες με περιεχόμενα //Movie @ID,OriginalTitle,@Year Η πρώτη στήλη περιέχει ένα ερώτημα XPath, και η δεύτερη ποιο ακριβώς μέρος των δεδομένων θα ανακτηθούν από τα δομημένα δεδομένα που επιστρέφονται από το ερώτημα. Οι κόμβοι 4, 5 καθορίζουν εισάγουν κατάλληλα εισαγωγικά στους τίτλους των ταινιών που ανακτήθηκαν ώστε να μπορέσουν να χρησιμοποιηθούν ακολούθως σε ερωτήματα SQL προς την βάση της IMDB. Η σχεσιακή βάση της IMDB αντιπροσωπεύεται από τον κόμβο 6, επί του οποίου ο κόμβος 8 εκτελεί το ερώτημα που ορίζεται στον κόμβο 7, το οποίο είναι το εξής: SELECT id, title, imdb_index FROM title WHERE title = '@[1]' and production_year = @[2] and kind_id = 1 όπου @[1], @[2] είναι οι αντίστοιχες στήλες του πίνακα εξόδου του κόμβου 5 που περιέχουν τα δεδομένα για τις αναζητούμενες ταινίες. Η βάση της IMDB που αναπαριστά ο κόμβος 6 τροφοδοτεί και τον κόμβο 15 όπου ορίζονται οι αντιστοιχίσεις μεταξύ οντολογίας και βάσης δεδομένων που αναλύθηκαν παραπάνω. Ενδεικτικά η διεπαφή ορισμού των παραμέτρων του κόμβου αυτού φαίνεται στο Σχήμα 2. Σχήμα 2: Διεπαφή ορισμού των αντιστοιχίσεων οντολογίας βάσης δεδομένων. Όπως φαίνεται υπάρχει ένα πίνακας όπου ορίζονται τα ζεύγη των αντιστοιχίσεων. Η μόνο διαφορά στο παραπάνω ερώτημα που αφορά τους χαρακτήρες μιας ταινίας σε σχέση με όσα αναφέρθηκαν στην ενότητα 4 είναι η υπάρξει του περιορισμού where CAST.MOVIE_ID @RESTRICTION@ στο ερώτημα SQL όπου το συμβολικό όνομα @RESTRICTION@ αντιπροσωπεύει τα αναγνωριστικά του συνόλου των ταινιών επί των οποίων εφαρμόζεται η επεξεργασία, ώστε να μην ανακτηθούν από την βάση τα δεδομένα για όλες τις ταινίες που περιέχει η IMDB. Η τιμή της ποσότητας @RESTRICTION@ υπολογίζεται από τους κόμβους 9-10, και τελικά αντικαθίσταται στο παραπάνω ερώτημα από τον κόμβο 16. Μετά την αντικατάσταση αυτή ο κόμβος 11 κατασκευάζει την κατάλληλη δομή δεδομένων, που περιλαμβάνει όλα τα ζεύγη των αντιστοιχίσεων και τα προωθεί στον κόμβο 17, ο οποίος τα εκτελεί ένα ένα και παράγει έτσι τα τελικά δεδομένα στην έξοδό του. Όπως είναι φανερό από το σχήμα, οι κόμβοι 15 και 17 που εμπλέκονται σ την εκτέλεση των αντιστοιχίσεων δέχονται ως δεύτερη απαραίτητη Σελίδα 16 από 22
είσοδο και την οντολογία με τις απαραίτητες έννοιες που χρησιμοποιούνται στις αντιστοιχίσεις, η οποία αποτελεί την συνένωση των MovieOntology και extramovieontology (κόμβοι 12, 13, 14). Έτσι, η έξοδος του κόμβου 17, μετά την εκτέλεσή του είναι ένας πίνακας με τρεις στήλες, κάθε γραμμή του οποίο αντιστοιχεί σε μια τριάδα RDF προς εισαγωγή στην αποθήκη τριάδων, και αντιπροσωπεύει κάποιο μεταδεδομένο που ανακτήθηκε από την βάση της IMDB βάσει τον ορισμένων αντιστοιχίσεων. Οι έξοδοι των κόμβων 19 και 20 αντιστοιχούν επίσης σε τριάδες RDF, οι οποίες είναι οι τριάδες που ορίζουν τα αντικείμενα των ταινιών και τους τίτλους τους όπως εξήχθησαν από το αρχείο XML. Οι υπόλοιπο κόμβοι 23-33 αφορούν στην κατασκευή των τριάδων που δηλώνουν ισοδύναμες ταινίες και ισοδύναμους ρόλους, όπου θεωρείται ότι πέραν των τριάδων RDF που εισήχθησαν στην αποθήκη μέσω της παραπάνω διαδικασίες, έχουν εισαχθεί και οι αντίστοιχες τριάδες που προέκυψαν απευθείας από την επεξεργασία των σεναρίων. Έτσι οι ακολουθία των κόμβων αυτών ορίζει και εκτελεί τα κατάλληλα ερωτήματα που αναφέρθηκαν στην ενότητα 5 και κατόπιν μετατρέπει τα αποτελέσματα στην μορφή των κατάλληλων τριάδων, ώστε να εισαχθούν και αυτά στην αποθήκη. 6. Αντιστοίχιση οντολογιών 6.1 Αντιστοίχιση με γενικές οντολογίες του διαδικτύου Στις παραπάνω ενότητες περιεγράφηκαν αναλυτικά οι οντολογίες περιγραφής των δεδομένων που αφορούν τις κινηματογραφικές ταινίες και τα σενάριά τους, τα μοντέλα αναπαράστασης που χρησιμοποιήθηκαν, καθώς και ο τρόπος εξαγωγής και κατασκευής των δεδομένων μέσω τον μοντέλων αυτών ώστε να κατασκευαστούν τα δεδομένα στην τελική τους μορφή, υπό την μορφή τριάδων RDF αποθηκευμένων σε μια αποθήκη RDF, ώστε να χρησιμοποιηθούν από τα υπόλοιπα μέρη του συστήματος που θα αναπτυχθούν και αφορούν την πραγματοποίηση ευφυών αναζητήσεων επί αυτών των δεδομένων. Στα παραπάνω υποτέθηκε ότι υπάρχουν η οντολογία ScriptOntology και η κατάλληλα εκτεταμένη MovieOntology, οι οποίες καλύπτουν τις βασικές ανάγκες περιγραφής των μεταδεδομένων. Είναι σαφές ότι οι οντολογίες αυτές που έχουμε αξιοποιήσει για την περιγραφή των μεταδεδομένων της εφαρμογής έχουν αρκετά κοινά χαρακτηριστικά και εν μέρει συναφείς στόχους, και χρησιμοποιούνται από διαφορετικούς φορείς για τον χαρακτηρισμό παρόμοιου είδους μεταδεδομένων. Έτσι, προκειμένου οι συγκεκριμένες οντολογίες να μπορέσουν να ενταχθούν στο δίκτυο οντολογίων του συστήματος είναι απαραίτητο να υπολογιστούν οι σχέσεις και αντιστοιχίσεις μεταξύ των διαφόρων εννοιών που ορίζουν. Με τον τρόπο αυτό υπάρχει η δυνατότητα ενοποιημένης διαχείρισης ολόκληρου του περιεχομένου του συστήματος, ανεξαρτήτως του τρόπου σημασιολογικής περιγραφής που έχουν επιλέξει οι επιμέρους φορείς που προσφέρουν το οπτικοακουστικό υλικό. Πέραν αυτού, η σταδιακή υιοθέτηση των τεχνολογιών σημασιολογικής περιγραφής της πληροφορίας από το διαδίκτυο έχει οδηγήσει στην δημιουργία διάφορων σχημάτων σημασιολογικής περιγραφής της διατιθέμενης πληροφορίας, υπό τη μορφή γενικών οντολογιών κατασκευασμένων να χαρακτηρίσουν ένα μεγάλο εύρος ετερογενούς πληροφορίας. Καθότι μη εξειδικευμένες, αυτές οι οντολογίες δεν καλύπτουν κάθε πλευρά των δεδομένων που απαιτείται από ένα συγκεκριμένο πρόβλημα (όπως το πρόβλημα αναλυτικής περιγραφής των μεταδεδομένων του σεναρίου μιας κινηματογραφικής ταινίας που μας απασχολεί στα πλαίσια του παρόντος έργου), ωστόσο είναι ικανές να περιγράψουν κάποια τμήματα των δεδομένων. Καθώς οι οντολογίες αυτές είναι καθιερωμένες στο Διαδίκτυο και χρησιμοποιούνται από πολλούς φορείς για τον αλλά και από τις μηχανές αναζήτησης, για τον με κοινό τρόπο σημασιολογικό χαρακτηρισμό της πληροφορίας, και δεδομένου ότι τα περιεχόμενα του παρόντος έργου θέλουν να ενταχθούν και να επωφεληθούν από τις υπάρχουσες ήδη διασυνδεδεμένες πληροφορίες, τα δεδομένα που κατασκευάστηκαν στην παραπάνω ενότητες πρέπει να αντιστοιχιστούν και με αυτές τις οντολογίες. Σελίδα 17 από 22
Από αυτές τις γενικές οντολογίες κρίθηκε σκόπιμο, να ενταχθούν στο δίκτυο οντολογιών του παρόντος έργου οι γενικές οντολογίες Dublin Core, DBPedia, Schema.org: Το Dublin Core που είναι ένα ένα βασικό σύνολο μεταδεδομένων για την περιγραφή ψηφιακών αντικειμένων και χρησιμοποιείται για την περιγραφή ψηφιακών αντικειμένων όπως βίντεο, ήχο, εικόνα, κείμενο. Τα στοιχεία μεταδεδομένων χωρίζονται σε τρείς ομάδες που κατά προσέγγιση υποδεικνύουν την κατηγορία ή τον σκοπό της πληροφορίας που περιγράφουν: (1) στοιχεία σχετικά κυρίως με το περιεχόμενο του πόρου: Title, Subject, Description, Source, Language, Relation, Coverage (2) στοιχεία σχετικά κυρίως με την πηγή ως πνευματική ιδιοκτησία: Creator, Publisher, Contributor, Rights και (3) στοιχεία σχετικά κυρίως με το στιγμιότυπο της πηγής: Date, Type, Format, Identifier. Πέραν αυτών υπάρχει παρέχει και ένα σύνολο επιπλέον μεταδεδομένων, το DCTERMS, που περιέχει πλήθος άλλων σχέσεων για καλύτερη περιγραφή του υλικού. Όπως είναι φανερό κάποιες από τις σχέσεις που αφορούν μια κινηματογραφική ταινία και μοντελοποιούνται από τις ScriptOntology και MovieOntology μπορούν να εκφραστούν μέσω του Dublin Core (όπως π.χ. οι σχέσεις Title, Description, Language, Creator), κτλ. Η DBpedia που είναι μια από τις πλουσιότερες οντολογίες γενικού περιεχομένου. Κατασκευασμένη με βάση την εξαγωγή δομημένου περιεχομένου από τις πληροφορίες που περιέχει η διαδικτυακή εγκυκλοπαίδεια Wikipedia, προσφέρει μια αρκετά ευρείας χρήσης οντολογία που ορίζει πλήθος εννοιών. Η DBpedia διαθέτει έννοιες για την περιγραφή ταινιών και σχετικών με αυτές όρων. Για παράδειγμα περιλαμβάνει τις έννοιες Film, Actor, και σχέσεις όπως π.χ. title, birthname, κλπ. οι οποίες έχουν ισοδύναμες έννοιες στις ScriptOntology και MovieOntology. Το Schema.org αποτελεί μια πρόσφατη προσπάθεια μεγάλων εταιριών της πληροφορικής που ασχολούνται με τις τεχνολογίες του διαδικτύου να κατασκευάσουν ένα μοντέλο περιγραφής μεταδεδομένων για τις ιστοσελίδες, ώστε να βοηθούν την σημασιολογική ανάκτηση πληροφορίας από τις μηχανές αναζήτησης. Η προσπάθεια αυτή έχει καταλήξει στον ορισμό μιας αρκετά εκφραστικής ορολογίας για αρκετά πεδία γνώσης, με τρόπο παρόμοιο με την DBPedia. Το Schema.org περιέχει και αυτό αρκετές έννοιες που θα μπορούσαν να χρησιμοποιηθούν στο συγκεκριμένο έργο μέσω του δικτύου οντολογιών. Περιλαμβάνει π.χ. τις έννοιες Movie, Person και ρόλους όπως title, name, datacreated, creator, actor, κλπ. Έτσι, για να ενταχθεί το υπό κατασκευή έργου στο γενικό δίκτυο των χρησιμοποιούμενων οντολογικών μοντέλων περιγραφής του διαδικτύου, οι παραπάνω οντολογίες χρειάστηκε να αντιστοιχιστούν με τις εξειδικευμένες οντολογίες ScriptOntology και MovieOntology που χρησιμοποιήθηκαν πρωτογενώς για την περιγραφή του όγκου των διατιθέμενων δεδομένων. Η αντιστοίχιση αυτή αποτελεί στην ουσία ένα σύνολο ζευγών που δηλώνουν έννοιες και ρόλους των οντολογιών ScriptOntology και MovieOntology είναι ισοδύναμοι με κάποιες έννοιες οι ρόλους των οντολογιών του υπόλοιπου δικτύου. Το σύνολο αυτό υπολογίστηκε ημιαυτόματα, με χρήση του Alignment API (http://alignapi.gforg.innria.fr) που είναι μια διεπαφή ειδικά κατασκευασμένη για να διευκολύνει την αντιστοίχιση οντολογιών, υπολογίζονται αυτόματα πιθανές ισοδυναμίες εννοιών και ρόλων, με βάση αλγορίθμους συνταιριάσματος συμβολοσειρών. Κάθε αντιστοίχιση συνοδεύεται από έναν βαθμό ταιριάσματος, που μπορεί να ερμηνευτεί ως ένας βαθμός εμπιστοσύνης στην δεδομένη αντιστοίχιση. Οι αντιστοιχίσεις που παρήχθησαν αυτόματα, αφού ελέγχθηκαν ώστε να απορριφθούν οι εσφαλμένες, εντάχθηκαν στον δίκτυο οντολογιών του συστήματός μας. Σελίδα 18 από 22
Σχήμα 3: Δίκτυο οντολογιών και αντιστοιχίσεων για την περιγραφή των δεδομένων. Τελικά, κατασκευάστηκε το δίκτυο οντολογιών που φαίνεται στο παρακάτω Σχήμα 3. Το δίκτυο ορίστηκε στο γενικό σύστημα που περιεγράφηκε στο πλαίσια της ενότητας 5, και το τελικό αποτέλεσμα του παραπάνω διαγράμματος είναι μια οντολογίας που περιέχει τις βασικές οντολογίες ScriptOntology και ΜοvieOntology, μαζί με όλες τις αντιστοιχίσεις (δηλωμένες με την μορφή κατάλληλων αξιωμάτων ισοδυναμίας της γλώσσας OWL) που διασυνδέουν αυτές τις οντολογίες με τις Dublin Core, DBPedia και Schema.org. 6.2 Αντιστοίχιση επώνυμων οντοτήτων με το οντολογικό δίκτυο Σε ορισμένες περιπτώσεις τα κείμενα που περιέχονται στο σενάριο ενδέχεται να περιέχουν συγκεκριμένες περιγραφές από τις οποίες να μπορεί να εξαχθεί κάποια χρήσιμη για την αναζήτηση πληροφορία, που να αφορά σε τοποθεσίες, πρόσωπα και γεγονότα. Η σημασιολογική περιγραφή της πληροφορίας αυτής μπορεί να αποτελέσει ένα ιδιαίτερα σημαντικό εργαλείο για την πλουσιότερη περιγραφή του οπτικοακουστικού υλικού, πέραν των καθιερωμένων που αφορούν τον τίτλο, το είδος, του συντελεστές, κτλ. Το αποτέλεσμα θα είναι η παροχή ιδιαίτερα αυξημένων δυνατοτήτων αναζήτησης στους χρήστες, οι οποίοι δεν θα μπορούν να ανακτούν οπτικοακουστικά αντικείμενα μόνο βάσει των τυπικών χαρακτηριστικών τους, αλλά και βάση του περιεχομένου τους. Πράγματι, το σύστημά μας πέρα από την πληροφορία που προκύπτει από το δομικό υλικό του σεναρίου και την βάση της IMDB καθιστά εφικτή την αξιοποίηση της πληροφορίας που περιγράφεται στο κείμενο του σεναρίου και δεν είναι σαφώς δηλωμένη σε κάποιο πεδίο αλλά έχει προκύψει από επεξεργασία κειμένου με χρήση κατάλληλου εργαλείου εξαγωγής εννοιών από κείμενο. Συγκεκριμένα η κειμενική πληροφορία που εξάγεται από τα σενάρια, σύμφωνα με τα όσο αναφέρθηκαν στις παραπάνω ενότητες, αφορά τις περιγραφές των σκηνών και των πλάνων (που κωδικοποιούνται μέσω του ρόλου description) και των κειμένων των διαλόγων (που κωδικοποιούνται μέσω του ρόλου text). Τα κείμενα αυτά υποβάλλονται σε επεξεργασία μέσω τεχνικών επεξεργασίας φυσικής γλώσσας με τελικό σκοπό την ανίχνευση ενδιαφερουσών επώνυμων οντοτήτων. Επειδή όμως τα συστήματα αναγνώρισης οντοτήτων παρέχουν απλώς έναν γενικό χαρακτηρισμό για τις οντότητες που ανιχνεύουν (συγκεκριμένα αν είναι πρόσωπο, τοποθεσία, οργανισμός, κλπ.), ο οποίος είναι εξαιρετικά περιοριστικός για τις ανάγκες του συστήματος μας, επιδιώκουμε να διασυνδέσουμε τις ενότητες που ανιχνεύονται με γενικές οντολογίες του διαδικτύου και συγκεκριμένα με την DΒpedia, η οποία πέραν του οντολογικού σχήματος που παρέχει, προσφέρει και μια τεράστια βάση δεδομένων υπό τη μορφή αποθήκης τριάδων RDF. Έτσι για παράδειγμα όταν το σύστημα επεξεργασία φυσικής γλώσσας χαρακτηρίσει ένα τμήμα κειμένου ως τοποθεσία, το σύστημά μας αποστέλλει το κατάλληλο SPARQL ερώτημα προς την αποθήκη τριάδων RDF της DBpedia, ώστε να λάβει τις συγκεκριμένες έννοιες που Σελίδα 19 από 22