Αρχιτεκτονική Συστημάτων Ανάκτησης


Τα Συστήματα Ανάκτησης πληροφοριών είναι συστήματα διαχείρισης πληροφοριών (βάσεων δεδομένων), τα στοιχεία των οποίων έχουν με μορφή κειμένου (εγγράφου) φυσικής γλώσσας (Free Text Data Bases). Μια τέτοια βάση αποτελείται από ένα σύνολο τμημάτων από κείμενα (doocuments, segments). Ένα τμήμα μπορεί να είναι ένα αρχείο κειμένου, μια παράγραφος, μια σελίδα, ή οποιαδήποτε άλλη ενότητα κειμένου. Κάθε τμήμα αποτελείται από όρους (terms) που είναι τα βασικά στοιχεία πληροφορίας τα οποία μπορεί να χειριστεί ένα σύστημα ανάκτησης. Η ανάκτηση των αποθηκευμένων τμημάτων επιτυγχάνεται μέσω ερωτήσεων (queries) που εισάγονται σε φυσική γλώσσα από το χρήστη. Οι ερωτήσεις αυτές αναλύονται σε απλούς όρους (λέξεις), οι οποίοι χρησιμοποιούνται για να προσπελάσουν την αποθηκευμένη πληροφορία. Ως εδώ, τα συστήματα ανάκτησης δεν φαίνεται να παρουσιάζουν σημαντικές διαφορές (εκ πρώτης όψεως τουλάχιστον) σε σχέση με τα παραδοσιακά συστήματα διαχείρισης βάσεων δεδομένων (DBMS). Ωστόσο έχουν αρκετά διαφορετική προσέγγιση με την οποία θα ασχοληθούμε στα επόμενα. Για παράδειγμα μια βάση δεδομένων είναι αυστηρά ορισμένη, δέχεται ερωτήματα σε μια αυτηρή γλώσσα (SQL) και οι απαντήσεις είναι εξ ίσου αυστηρές δηλαδή πληρούν ή δεν πληρούν το ερώτημα. Σε αντίθεση σε ένα σύστημα ανάκτησης τα κείμενα δεν είναι αυτηρά ορισμένα, οι ερωτήσεις είναι σε φυσική γλώσσα και κατά συνέπεια και οι απαντήσεις δεν είναι αυστηρές, για παράδειγμα κάποιες απαντήσεις δεν είναι σχετικές με το ερώτημα.

Architecture

Σχήμα 1. Γενική Δομή ενός συστήματος ανάκτησης

Αυτό που οδήγησε στην μελέτη γύρω από τα συστήματα ανάκτησης, είναι η ύπαρξη τεράστιων ποσοτήτων δεδομένων με μορφή κειμένου (textual data) σε οργανισμούς, υπηρεσίες, βιβλιοθήκες, πανεπιστήμια. Όλοι συμφωνούν ότι τέτοιου είδους δεδομένα, απαιτούν διαφορετική αντιμετώπιση και η απάντηση στο πρόβλημα φιλοδοξούν να είναι τα συστήματα ανάκτησης πληροφοριών τα οποία ενσωματώνουν χαρακτηριστικά που έχουν ως στόχο την αποτελεσματικότερη επεξεργασία των κειμένων. Σε γενικές γραμμές ένα σύστημα ανάκτησης και επεξεργασίας κειμένων αποτελείται από τις ενότητες που παρουσιάζονται στο σχήμα 1. Ο πυρήνας του συστήματος αποτελείται από δύο ενότητες. Την βάση δεδομένων και ένα μηχανισμό αναζήτησης. Εκτός του πυρήνα υπάρχουν μια σειρά από ενότητες που υποστηρίζουν την λειτουργία του πυρήνα. Η βάση δεδομένων αποτελείται από τα τμήματα κειμένου τα οποία αποθηκεύονται, και μια σειρά από δομές δεδομένων που επιταχύνουν την πρόσβαση και επεξεργασία των κειμένων. Η διαδικασία αναζήτησης στηρίζεται σε όλες τις πληροφορίες (Full Text Retrieval) που αντλούνται αυτόματα από το κείμενο κατά την δημιουργία των ευρετηρίων της βάσης δεδομένων (εκτός από ορισμένες λέξεις που αποδεδειγμένα δεν περιέχουν χρήσιμη πληροφορία) καθώς και σε πληροφορίες που είναι δυνατό να μην υπάρχουν στην βάση, αλλά να είναι σχετικές με άλλες ήδη αποθηκευμένες. Αυτό αποτελεί ένα από τα πιο ισχυρά χαρακτηριστικά των συστημάτων ανάκτησης κειμένων και βασίζεται τόσο στα μαθηματικά μοντέλα που χρησιμοποιούνται για το σκοπό αυτό (και τα οποία θα αναλύσουμε παρακάτω), όσο και στην λεξική ανάλυση (lexical analysis) και επεξεργασία του κειμένου, που γίνεται κατά την δημιουργία της βάσης δεδομένων. Όταν κάνουμε ερωτήσεις σε μια βάση δεδομένων που αποτελείται από τμήματα κειμένου, το σύστημα ανάκτησης κειμένων, ανταποκρίνεται εντοπίζοντας και αξιολογώντας τα τμήματα της βάσης που σχετίζονται εννοιολογικά με την ερώτηση. Για να μπορεί να γίνει κάτι τέτοιο γίνονται δύο βασικές παραδοχές:
  1. Θεωρούμε ότι, αν ένα τμήμα κειμένου είναι σχετικό με μια έννοια, τότε θα περιέχει λέξεις ή τμήματα λέξεων σχετικά με την έννοια αυτή.
  2. Θεωρούμε ότι, λεξική συγγένεια συνεπάγεται και εννοιολογική συγγένεια.
Παρά το γεγονός ότι είναι πιθανό να υπάρχουν περιπτώσεις, στις οποίες να μην ισχύουν απόλυτα τα παραπάνω, είναι αποδεκτό ότι στις περισσότερες περιπτώσεις, οι λέξεις ενός τμήματος κειμένου μπορούν να προσδιορίζουν σε μεγάλο βαθμό τα περιεχόμενά του. Έτσι για παράδειγμα, σε μια βάση που αποτελείται από επιστημονικά άρθρα σχετικά με την πληροφορική, αν η ερώτηση είναι «συστήματα στήριξης αποφάσεων», το αποτέλεσμα θα είναι μια λίστα των άρθρων που σχετίζονται με τα συστήματα στήριξης αποφάσεων, σε φθίνουσα σειρά σπουδαιότητας. Η σπουδαιότητα ενός άρθρου, - στην προκειμένη περίπτωση - υπολογίζεται από το σύστημα και είναι η απάντησή του στην ερώτηση πόσο σχετικό (relevant) είναι, κάθε ένα από τα άρθρα που θεωρήθηκαν ως σχετικά με την ερώτηση του χρήστη. Η διαδικασία της διαβάθμισης ή ταξινόμησης των κειμένων σύμφωνα με το κατά πόσο είναι σχετικά ή συναφή με το αντίστοιχο ερώτημα είναι η βασική λειτουργία του μηχανισμού αναζήτησης. Οι τεχνικές και η θεωρητικές αρχές πίσω από αυτήν την διαδικασία, θα παρουσιαστούν στο επόμενο κεφάλαιο. Τα βασικά πλεονεκτήματα των συστημάτων ανάκτησης, έναντι άλλων γνωστών προσεγγίσεων στο πρόβλημα της αναζήτησης και ανάκτησης πληροφοριών, συνοψίζονται σε τρία κυρίως σημεία.
  1. Σε πληροφορίες που αποθηκεύονται υπό την μορφή κειμένου σε φυσική γλώσσα, δεν μπορούν να επιτύχουν ικανοποιητικό χειρισμό τα παραδοσιακά συστήματα DBMS, κυρίως λόγω του προσανατολισμού τους σε δομημένα δεδομένα.
  2. Οι πληροφορίες που αποθηκεύονται στη βάση δεδομένων ενός συστήματος ανάκτησης, είναι το μοναδικό κριτήριο που χρησιμοποιείται για την αναζήτηση. Αντίθετα στις κλασικές προσεγγίσεις των βάσεων δεδομένων, ένα αντικείμενο του πραγματικού κόσμου (π.χ. ένα βιβλίο) αναπαρίσταται από μια δομή δεδομένων (π.χ. μια εγγραφή με τα στοιχεία του βιβλίου), η οποία στην συνέχεια αποτελεί την παρουσία του αντικειμένου και με βάση αυτήν γίνεται η όποια αναφορά στο αντικείμενο (π.χ. δεν μπορεί κανείς να βρει το βιβλίο με βάση ένα θεματικό όρο που δεν είχε κριθεί εκ των προτέρων σκόπιμο να καταχωρηθεί).
  3. Ο πυρήνας ενός τέτοιου συστήματος είναι εξαιρετικά μικρός, με αποτέλεσμα να μπορεί να ενσωματωθεί σε ένα άλλο, μεγαλύτερο σύστημα με χαρακτηριστική ευκολία.
Ένα βασικό μειονέκτημα ωστόσο των συστημάτων ανάκτησης πληροφορίας είναι ότι η επίδοσή τους δεν βρίσκεται ακόμη στο επιθυμητό επίπεδο. Πολλές φορές η απάντηση από μια ερώτηση δεν είναι σχετική με την ερώτηση. Έτσι, στην ερώτηση «συστήματα στήριξης αποφάσεων» μπορεί η λίστα των άρθρων που θα πάρουμε (και τα οποία υποτίθεται ότι είναι σχετικά με την ερώτηση), να περιέχει άρθρα τα οποία είναι (πολύ ή λίγο) άσχετα με αυτό που εμείς επιθυμούσαμε. Στην χειρότερη περίπτωση, είναι δυνατό, τα άσχετα άρθρα να καταλαμβάνουν πολύ καλή θέση στην κατάταξη σχετικότητας, υποσκελίζοντας άρθρα που είναι σχετικότερα. Πρέπει ωστόσο να τονίσουμε, ότι και το ερώτημα που υποβάλλεται σε ένα σύστημα ανάκτησης είναι πιο «χαλαρό» και όχι τόσο αυστηρό όσο ένα SQL ερώτημα γι’ αυτό και τα αποτελέσματα δεν είναι τα αναμενόμενα. Πολλές προσπάθειες γίνονται για την βελτίωση αυτού του προβλήματος, και μια σειρά λύσεων έχει προταθεί, όπως για παράδειγμα η μέθοδος βελτίωσης της ερώτησης με αυτόματη εισαγωγή σχετικών όρων (relevance feedback). Έχοντας δώσει μια εικόνα του τι είναι τα συατήματα ανάκτησης, μπορούμε να περάσουμε στο θεωρητικό υπόβαθρο που σχετίζεται με αυτά, καθώς και την περιγραφή των μεθοδολογιών για την ανάπτυξή τους, που ακολουθεί στη συνέχεια. Εδώ θα περιγράψουμε τη βασική δομή, τα χαρακτηριστικά και τη τεχνολογία πάνω στην οποία στηρίζεται ένα τυπικό σύστημα ανάκτησης κειμένων. Παρά το γεγονός ότι δεν υπάρχει ακόμη κάποιου είδους πρότυπο για την δημιουργία τέτοιων συστημάτων, υπάρχουν απόψεις και προσεγγίσεις που τείνουν να καθιερωθούν. Κυρίαρχο ρόλο έχει εδώ, η παρουσίαση -με ένα όσο πιο γενικό τρόπο- του μαθηματικού μοντέλου του διανυσματικού χώρου, που φαίνεται να αποτελεί αυτή τη στιγμή το σημείο σύγκλισης στην σχεδίαση και υλοποίηση των συστημάτων ανάκτησης. Επίσης ιδιαίτερη βαρύτητα δίνεται στον τρόπο με τον οποίο μετασχηματίζεται η είσοδος των κειμένων σε μία βάση δεδομένων, με χαρακτηριστικά τέτοια ώστε να επιτρέπουν την γρήγορη ανάκτηση της απoθηκευμένης πληροφορίας. Η βασική φιλοσοφία των συστημάτων ανάκτησης, έχει ήδη παρουσιαστεί παραπάνω.

Architecture2

Σχήμα 2. Αρχιτεκτονική Συστήματος Ανάκτησης

Στη συνέχεια θα παρουσιαστούν και θα αναλυθούν τα βασικά συστατικά που περιλαμβάνει ο πυρήνας ενός συστήματος ανάκτησης κειμένων, τα οποία εμφανίζονται στο σχήμα 2 και συνοψίζονται στα εξής: Σημαντικό επίσης συστατικό ενός συστήματος ανάκτησης από το web ), αποτελεί η διαδικασία συγκέντρωσης της πληροφορίας (crawling) η ανάγνωση των κειμένων, τα μορφότυπα των κειμένων που αναγνωρίζει το σύστημα και η προεπεξεργασία την οποία πρέπει να υποστούν πριν εισαχθούν στη βάση δεδομένων. Όλες αυτές οι διεργασίες αναφέρονται ως προεπεξεργασία των κειμένων και είναι εξ ίσου σημαντικές στην συνολική επίδοση του συστήματος. Στη συνέχεια θα επιχειρήσουμε μια γενική περιγραφή των χαρακτηριστικών αυτών, έτσι ώστε να δοθεί μία σαφής εικόνα σχετικά με την δομή και λειτουργία τέτοιων συστημάτων. Η περιγραφή που ακολουθεί δεν εξειδικεύεται σε συγκεκριμένα σημεία, αλλά προσπαθεί να συγκεντρώσει τις γενικές γραμμές, που κατευθύνουν την δημιουργία ενός συστήματος ανάκτησης κειμένων. Στα επόμενα, θα θεωρήσουμε ότι κάθε τμήμα κειμένου είναι ένα ξεχωριστό αρχείο. Έτσι όταν θα μιλάμε για κείμενα (documents) θα εννοούμε αρχεία κειμένου. Επίσης θα αναφερόμαστε σε όλα τα κείμενα με τον όρο συλλογή κειμένων, (corpus) για να υπάρχει μια σαφή διάκριση μεταξύ της βάσης δεδομένων που αποτελείται από κείμενο (Free Text Data Base) και της βάσης δεδομένων που δημιουργείται αυτόματα από ένα σύνολο κειμένων.