Πράκτορες Συζήτησης

Εισαγωγή

Μια από τις μεθόδους Αλληλεπίδρασης Ανθρώπου Υπολογιστή (HCI) είναι η χρήση φυσικής γλώσσας. Οι Πράκτορες Συζήτησης (Conversational Agents) είναι λογισμικό σχεδιασμένο να αλληλεπιδρά με ένα χρήστη χρησιμοποιώντας φυσική γλώσσα και να παρέχει διάφορες μορφές υπηρεσίας. Η αλληλεπίδραση έχει τη μορφή διαλόγου και γίνεται προσπάθεια να προσομοιάζει κατά το δυνατόν την ανθρώπινη επικοινωνία. Οι παρεχόμενες υπηρεσίες μπορεί να έχουν επαγγελματικό χαρακτήρα, όπως παροχή πληροφοριών και συμβουλών ή μπορεί να έχουν ως σκοπό τη δημιουργία μιας συζήτησης ψυχαγωγικού χαρακτήρα.
Οι πράκτορες συζήτησης ξεκίνησαν ως προγράμματα προσομοίωσης ανθρώπινης συζήτησης. Η ιδέα βασίστηκε στο έργο του Alan Turing (Turing, 1950), που θεωρείται ο πατέρας της Τεχνητής Νοημοσύνης. Ο Turing πρότεινε ένα κριτήριο αξιολόγησης της τεχνητής ευφυίας, γνωστό ως Δοκιμασία Τούρινγκ (Turing Test). Το Turing Test (Turing, 1950) βασίζεται σε μία σειρά από ερωτήσεις που υποβάλει κάποιος κριτής σε έναν άνθρωπο και μία μηχανή (τα οποία δε βλέπει), χωρίς να ξέρει εκ των προτέρων ποιος είναι ποιος. Αν στο τέλος δεν καταφέρει να ξεχωρίσει τον άνθρωπο από τη μηχανή, τότε η μηχανή περνάει το τεστ και θεωρείται ευφυής. 
Με την ραγδαία εξάπλωση του Παγκόσμιου Ιστού, τέτοιοι πράκτορες βρίσκονται πλέον σε ιστοσελίδες ηλεκτρονικών καταστημάτων για να συνομιλούν με τους πελάτες, σε ιστοσελίδες εκπαιδευτικού περιεχομένου και  γενικά όπου χρειάζεται παροχή πληροφοριών σε ενδιαφερόμενους χρήστες. Επίσης, ψυχαγωγικοί πράκτορες συζήτησης συναντώνται σε παιχνίδια υπολογιστή για να συνομιλούν με τους παίκτες παρέχοντας πληροφορίες για γεγονότα σχετικά με το παιχνίδι (Lester, Branting, & Mott, 2004). 
Στην εργασία αυτή παρουσιάζονται οι πρώτοι ιστορικά πράκτορες συζήτησης, που ήταν τα chatbots ELIZA, PARRY και ALICE. Στη συνέχεια περιγράφονται οι διάφορες κατηγορίες πρακτόρων συζήτησης και κάποια βασικά χαρακτηριστικά τους. Επίσης, περιγράφονται συνοπτικά οι τεχνικές που χρησιμοποιούνται για την δημιουργία chatbots, καθώς και οι σημαντικότερες γλώσσες σήμανσης AIML και ChatScript. Τέλος γίνεται αναφορά σε κάποια σημαντικά chatbots που κέρδισαν στον πρόσφατο διαγωνισμό Loebner.

Ιστορία των Πρακτόρων Συζήτησης

Το πρώτο πρόγραμμα προσομοίωσης συζήτησης ήταν η ELIZA που αναπτύχθηκε από τον Joseph Weizenbaum και δημοσιεύθηκε το 1966 (Weizenbaum, 1966) και προσπαθούσε να προσομοιώσει τις απαντήσεις ενός ψυχοθεραπευτή σε μια ψυχιατρική συνέντευξη. Όντας το πρώτο πρόγραμμα της κλάσης αυτής, η ELIZA έκανε μεγάλη εντύπωση σε άτομα που δεν είχαν πολλές γνώσεις υπολογιστών, αλλά και σε ειδικούς στον τομέα της τεχνητής νοημοσύνης. Συγκεκριμένα, πολλοί από τους χρήστες ήταν απολύτως σίγουροι ότι πραγματικά τους βοήθησε και πίστευαν ότι είχαν συνομιλήσει με πραγματικό θεραπευτή. Βέβαια η ELIZA δεν καταλάβαινε πραγματικά τι έλεγε ο χρήστης, καθώς απλώς έψαχνε για λέξεις-κλειδιά τις οποίες στη συνέχεια αντιστοίχιζε με απαντήσεις που είχε αποθηκευμένες οι οποίες μπορούσαν να προάγουν τη συζήτηση. Για παράδειγμα αν ο χρήστης ανέφερε τη λέξη “μητέρα”, η ELIZA θα απαντούσε με κάτι σαν “Πες μου περισσότερα για την οικογένεια σου”. Με τον τρόπο αυτό έδινε την ψευδαίσθηση ότι καταλαβαίνει τις δηλώσεις του χρήστη, οδηγώντας όμως έτσι εύκολα σε μη σχετικές απαντήσεις.  Λόγω των “ρηχών” απαντήσεων της, η ELIZA αλλά και όλα τα επόμενα προγράμματα που βασίστηκαν σε αυτό το μοντέλο λειτουργίας, ονομάστηκαν μετέπειτα ρομπότ συνομιλίας (chatterbots ή chatbots) με βάση τον (Mauldin, 1994).
Το επόμενο γνωστό chatterbot, είναι ο PARRY που γράφτηκε το 1972 από τον ψυχίατρο Kenneth Colby (Colby, Weber, & Hilf, 1971) και προσπάθησε να προσομοιώσει έναν παρανοϊκό σχιζοφρενή. Σε αντίθεση με τη βασική μέθοδο λειτουργίας της ELIZA, δηλαδή την υποκατάσταση λέξεων ή φράσεων κλειδιών που αναγνωρίζονται στην ανθρώπινη ομιλία και βάζοντας τες σε κατάλληλα προετοιμασμένα πρότυπα, ο PARRY προσομοίωνε εσωτερικές συναισθηματικές καταστάσεις, όπως φόβος, θυμός και δυσπιστία, οι οποίες εναλλάσσονταν κατά τη διάρκεια της συζήτησης. Για το λόγο αυτό θεωρήθηκε πιο εξελιγμένο πρόγραμμα σε σύγκριση με την ELIZA.
To A.L.I.C.E. (Artificial Linguistic Internet Computer Entity), αλλιώς γνωστό και ώς Alicebot ή απλά ALICE, είναι ένα από τα πιο γνωστά μοντέρνα chatterbots (Wallace, 2009). Το ALICE δημιουργήθηκε το 1995 από τον Richard Wallace και χρησιμοποιεί την AIML, μια γλώσσα XML που σχεδιάστηκε  για τη δημιουργία chatterbots ερεθίσματος - απόκρισης. Ορισμένοι θεωρούν την A.L.I.C.E. και την  AIML ως μια απλή επέκταση της ELIZA. Αυτό αληθεύει ως προς τον τρόπο λειτουργίας των δύο προγραμμάτων, αλλά το A.L.I.C.E. έχει, επί του παρόντος, περισσότερες από 40.000 κατηγορίες γνώσης, ενώ η αρχική ELIZA είχε μόνο περίπου 200. Επίσης μια άλλη καινοτομία ήταν συλλογή μεγάλου δείγματος δεδομένων φυσικής γλώσσας, μια δυνατότητα που παρέχεται από το διαδίκτυο, και με τα οποία εμπλουτίστηκαν οι γνώσεις του A.L.I.C.E.
Το μοντέλο μάθησης στο A.L.I.C.E. ονομάζεται μάθηση με επίβλεψη επειδή ένα άτομο, ο botmaster, παίζει έναν καίριο ρόλο. Ο botmaster παρακολουθεί τις συνομιλίες του ρομπότ και δημιουργεί νέο περιεχόμενο σε AIML το οποίο θα κάνει τις απαντήσεις πιο κατάλληλες, ακριβείς, πιστευτές, "ανθρώπινες" ή ότι άλλο σκοπεύει ο botmaster. Πάρα πολλά chatbots βασίστηκαν στο μοντέλο λειτουργίας του ALICE και στην AIML.

AIML (Artificial Itnelligence Markup Language)

Η AIML είναι μια γλώσσα σήμανσης η οποία έχει βασιστεί στην XML και χρησιμοποιείται για τον προγραμματισμό εφαρμογών που διαθέτουν τεχνητή νοημοσύνη.
Η AIML αναπτύχθηκε από την κοινότητα ελεύθερου λογισμικού Alicebot και από τον Dr. Richard S. Wallace από το 1995 μέχρι το 2000. Αρχικά η πρώτη υλοποίηση της AIML έγινε με το project “Program A” και χρησιμοποίησε την γλώσσα JAVA. Στην συνέχεια το 1999 μπήκε στη φάση υλοποίησης του “Project B” οπού μετατράπηκε σε XML γλώσσα και αποτέλεσε τη βάση για το πρώτο Alicebot, το A.L.I.C.E..
Η AIML περιγράφει μια κατηγορία αντικειμένων δεδομένων, τα αντικείμενα AIML, που αποτελούνται από μονάδες που αποκαλούνται topics και categories (θέματα και κατηγορίες). Η γλώσσα προτύπων AIML είναι απλή, αποτελείται μόνο από λέξεις, κενά διαστήματα και τα δύο σύμβολα μπαλαντέρ _ και * (Αμοιρίδου, 2008).
Η βασική μονάδα γνώσης στην AIML καλείται κατηγορία (category). Κάθε κατηγορία μπορεί να παρομοιασθεί με ένα κανόνα που αποτελείται από μια ερώτηση σαν είσοδο, μια απάντηση σαν έξοδο και προαιρετικά κάποια συμφραζόμενα. Η ερώτηση ή ερέθισμα καλείται πρότυπο (pattern). Η απάντηση ή απόκριση καλείται υπόδειγμα (template). Οι δύο τύποι προαιρετικών συμφραζομένων καλούνται <that> και <topic>. Η ετικέτα <that> εμφανίζεται μέσα σε ένα category και σημαίνει ότι το συγκεκριμένο pattern εξαρτάται από μια προηγούμενη έξοδο του chatbot. 
Η ανάμνηση μιας τελευταίας έκφρασης είναι σημαντική για το ρομπότ όταν υποβάλλει μια ερώτηση. Η ετικέτα <topic> έχει ένα όνομα ως χαρακτηριστικό και περιλαμβάνει ένα σύνολο από categories που είναι σχετικά με το topic.
Η βασική επιδίωξη του μηχανισμού λειτουργίας της AIML για να δώσει την καταλληλότερη απάντηση, είναι να βρει το pattern που κάνει το καλύτερο και  μεγαλύτερο ταίριασμα στην είσοδο που δέχτηκε από τον χρήστη.

ChatScript

Το ChatScript είναι ένα νεότερης γενιάς chatbot σύστημα που έχει ως στόχο να γίνει ο διάδοχος την AIML. Μέχρι τώρα κατάφερε να κερδίσει τις χρόνιες 2010 και 2011 στον γνωστό διαγωνισμό «Loebner Prize» και να βγει δεύτερο την χρονιά 2012, πάλι στον ίδιο διαγωνισμό (Broersma & Dignum, 2012).
Η ChatScript σχεδιάστηκε ώστε να κάνει ευκολότερη την εξαγωγή νοήματος από προτάσεις και να παρέχει ένα συντακτικό που μπορεί ευκολότερα να υλοποιηθεί, ενισχύοντας έτσι την συντηρησιμότητα του κώδικα. Εισάγει νέους ισχυρούς τύπους κανόνων για ταίριασμα γλωσσικών προτύπων συμπεριλαμβάνοντας τα σημεία στίξης στην ανάλυση του κειμένου και προσφέροντας παράλληλα μια ποιο σαφή σύνταξη για ένθετους διαλόγους. Ακόμα η ChatScript υποστηρίζει την αντιστοίχιση  των κανονικών και πρωτότυπων μορφών των ρημάτων και των λέξεων σε  «έννοιες» που βασίζονται στις εγγραφές του λεξικού της αγγλικής γλώσσας WordNet. Σε υψηλότερο επίπεδο μπορούμε να πούμε ότι ο μηχανισμός της ChatScript έχει την δυνατότητα να απαγορεύει επαναλαμβανόμενους κανόνες από το να εκτελεστούν και μπορεί να αναγνωρίσει βασικές συναισθηματικές καταστάσεις όπως την πλήξη, τον θυμό και την απόλαυση που προκαλούνται από την συμπεριφορά του συνομιλητή.

Chabots Online

Από το 2000 και μετά οι πράκτορες άρχισαν να ξεφεύγουν από τον χώρο της φαντασίας και έγιναν σιγά σιγά αντικείμενο μελέτης και πειραματισμού. Έχουν γίνει πολλές προσπάθειες και διάφορες υλοποιήσεις πρακτόρων από  διάφορες ομάδες. Για να μπορέσουν να ξεχωρίσουν οι αξιόλογες προσπάθειες και να επιβραβευτούν οι πραγματικοί καινοτόμοι του χώρου, έχει δημιουργηθεί ένας θεσμός με το όνομα “Loebner Prize” που λειτουργεί κάτω από την αιγίδα του AISB (Society for the Study of Artificial Intelligence and Simulation of Behavior).  Ο διαγωνισμός αυτός βασίζεται στο Turing Test και έχει ως στόχο να αναδείξει το καλύτερο πράκτορα συζήτησης της κάθε χρονιάς. Στην Εικόνα 4 φαίνεται το βραβείο Loebster.
Το 2014 ο διαγωνισμός πραγματοποιήθηκε στο Bletchley Park της Μεγάλης Βρετανίας και ανέδειξε ως νικητή το chatbot “Rose” του Bruce Wilcox.

Chatbot Izar

Το chatbot “Izar” τερμάτισε δεύτερο στον διαγωνισμό “Loebner” με ποσοστό 88.33%. Όπως και το “Rose” έτσι και αυτό έχει ιστορία στη συμμετοχή διαγωνισμών συμμετέχοντας σε διάφορους, ξεκινώντας από 2012. Ο πράκτορας αυτός είναι αποτέλεσμα της δουλειάς του Brian Rigsby. Η ηλεκτρονική διεύθυνση που μπορεί κάποιος να το βρει είναι στο (“Izar chatbot,” 2015). Στην Εικόνα 6 φαίνεται ένα παράδειγμα χρήσης του Izar.

Συμπεράσματα

Οι πράκτορες συζήτησης έχουν κάνει την εμφάνιση τους από το 1966 με το πρόγραμμα ELIZA και από τότε προσπαθούν συνεχώς να εξελιχθούν. Έχουν καταφέρει να σημειώσουν μεγάλη πρόοδο τα τελευταία 20 χρόνια με την αρχή να γίνεται από το ALICE, με την ταυτόχρονη δημιουργία της γλώσσας AIML. Η ανάπτυξη που σημειώθηκε είναι αξιοθαύμαστη αλλά τα περιθώρια περαιτέρω βελτίωσης παραμένουν μεγάλα. Οι πράκτορες συζήτησης και γενικότερα ο τομέας της τεχνητής νοημοσύνης έχει λαμπρό μέλλον και φαντάζει ικανός να αλλάξει τον κόσμο με τις καινοτομίες και τις εφαρμογές που μπορεί να φέρει στην καθημερινότητα μας. Οι μέρες που ένα chatbot θα περάσει με απόλυτη επιτυχία το Turing Test πλησιάζουν.