Η ανάπτυξη της Τεχνητής Νοημοσύνης τα τελευταία χρόνια έχει επιτρέψει τις τεχνολογίες ψηφιακών βοηθών να αναδειχθούν. Από κέντρα εξυπηρέτησης πελα τών εώς και ιατρικές διαγνώσεις, οι ψηφιακοί βοηθοί βρίσκουν εφαρμογή σε πολ λούς τομείς και χρησιμοποιούνται καθημερινά από χρήστες. Όλο και περισσότερες εταιρείες προσπαθούν να τους ενσωματώσουν στο πλαίσιό τους και οι τεχνολογίες πίσω από αυτούς συνεχώς εξελίσσονται. Επιπλέον, οι τεχνολογίες Ανοιχτού Κώδικα φέρνουν τα εργαλεία δημιουργίας ψηφιακών βοηθών πιο κοντά στους προγραμμα τιστές επιτρέποντας τους να πειραματιστούν με αυτά. Ένα τέτοιο εργαλείο είναι και το Rasa, μια τεχνολογία Ανοιχτού Κώδικα για τη δημιουργία ψηφιακών βοηθών βιομηχανικού επιπέδου που χρησιμοποιούν την Τεχνητή Νοημοσύνη. Η χρήση του Rasa απαιτεί ένα υψηλό επίπεδο προγραμματιστικών γνώσεων πράγμα που περιορίζει την ανάπτυξη τέτοιων συστημάτων αποκλειστικά σε προ γραμματιστές. Ενώ οι ψηφιακοί βοηθοί γίνονται όλο και πιο απαραίτητοι σε καθη μερινές εφαρμογές, το εμπόδιο της τεχνογνωσίας περιορίζει τον αριθμό των ατόμων που ασχολούνται με αυτές. Η παρούσα διπλωματική εργασία εστιάζει στην ανάπτυξη ενός εύχρηστου ερ γαλείου δημιουργίας σεναρίων-δεδομένων για το Rasa με στόχο την γρήγορη δη μιουργία ψηφιακών βοηθών. Με τη χρήση Python και συγκεκριμένα του framework Django παρουσιάζεται η υλοποίηση μιας full-stack εφαρμογής, από τις όψεις και τις διευθύνσεις των πόρων εώς τα μοντέλα και τις back-end διεργασίες. Η εφαρμογή αυτή κάνει εύκολη την δημιουργία και επεξεργασία ψηφιακών βοηθών αυτοματο ποιώντας τις περισσότερες λειτουργίες του Rasa. Επιπρόσθετα, γίνεται η χρήση της εφαρμογής με τη δημιουργία ψηφιακών βοη θών, απλών και σύνθετων. Αρχικά παρουσιάζεται η σχεδίαση των σεναρίων και των ιστοριών που θα ακολουθήσει η συζήτηση και στη συνέχεια αυτά υλοποιούνται στο σύστημα. Τέλος, δοκιμάζονται οι βοηθοί και αξιολογείται το αποτέλεσμα από τα παραδείγματα συζητήσεων. Σύμφωνα με τα αποτελέσματα, η εφαρμογή μπορεί να δημιουργήσει επιτυχη μένα ψηφιακούς βοηθούς που περιέχουν τα βασικά συστατικά του Rasa. Όσο όμως οι ψηφιακοί βοηθοί γίνονται πιο σύνθετοι, καθίστανται αναγκαία κάποια ανθρώπινη παρέμβαση ώστε η επιθυμητή λειτουργία να υλοποιηθεί. Έτσι παρότι η εφαρμογή λειτουργεί όπως θέλουμε σε απλά και σύνθετα σενάρια, όταν ο χειριστής χρειά ζεται κάτι αρκετά απαιτητικό σε πολυπλοκότητα, απαραίτητη είναι και πάλι η τεχνογνωσία προγραμματιστικών ικανοτήτων.
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψηφιακών βοηθών
1. Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων
για την δημιουργία ψηφιακών βοηθών
Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης
Πολυτεχνική Σχολή
Τμήμα Ηλεκτρολόγων Μηχανικών &
Μηχανικών Υπολογιστών
Τομέας Ηλεκτρονικής και Υπολογιστών
Διπλωματική Εργασία
Ανάπτυξη εργαλείου αυτοματοποίησης της
παραγωγής σεναρίων για τη δημιουργία
ψηφιακών βοηθών
Εκπόνηση:
Παναγιώτου Θεόφιλος
ΑΕΜ: 9164
Επίβλεψη:
Αν. Καθ. Συμεωνίδης Ανδρέας
Υπ. Δρ. Μάλαμας Νικόλας
2. Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων
για την δημιουργία ψηφιακών βοηθών
2
Μεθοδολογία Συμπεράσματα
Εισαγωγή
Μελλοντικές
Επεκτάσεις
Πειράματα -
Αποτελέσματα
3. Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων
για την δημιουργία ψηφιακών βοηθών
3
Κίνητρο - Περιγραφή του προβλήματος
Ανάπτυξη εργαλείων απλοποίησης της διαδικασίας δημιουργίας ψηφιακών βοηθών
Ένα τέτοιο εργαλείο είναι και το Rasa Framework
Η χρήση τέτοιων συστημάτων απευθύνεται αποκλειστικά
σε προγραμματιστές
Πρόβλημα
4. Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων
για την δημιουργία ψηφιακών βοηθών
4
Σκοπός της διπλωματικής
Η υλοποίηση ενός εύχρηστου και φιλικού περιβάλλοντος χρήστη
Η αυτοματοποίηση της διαδικασίας παραγωγής ψηφιακών βοηθών
Η δοκιμή ψηφιακών βοηθών και σύγκριση τους για τον έλεγχο
αποτελεσματικότητας και χρησιμότητας του συστήματος
5. Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων
για την δημιουργία ψηφιακών βοηθών
5
Μεθοδολογία Συμπεράσματα
Εισαγωγή
Μελλοντικές
Επεκτάσεις
Πειράματα -
Αποτελέσματα
6. Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων
για την δημιουργία ψηφιακών βοηθών
6
Λειτουργία του ψηφιακού βοηθού
Κάθε ψηφιακός βοηθός Rasa ακολουθεί τα παρακάτω στάδια με κάθε είσοδο που λαμβάνει
7. Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων
για την δημιουργία ψηφιακών βοηθών
Βασικά στοιχεία του Rasa
Intents (Προθέσεις)
Stories (Ιστορίες)
Rules (Κανόνες)
Responses
(Απαντήσεις)
♦ Οι προθέσεις είναι η κατανόηση του
ψηφιακού βοηθού
♦ Οι ιστορίες σχηματίζουν τη ροή της
συζήτησης
⬧ Οι απαντήσεις είναι οι προτάσεις
εξόδου του ψηφιακού βοηθού
♦ Οι κανόνες είναι υποχρεωτικές
κατευθύνσεις της συζήτησης
7
8. Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων
για την δημιουργία ψηφιακών βοηθών
Έξτρα συστατικά
1 Forms (Φόρμες):
Αποθήκευση στοιχείων από την
απάντηση του χρήστη
2 Entities (Οντότητες):
Δομημένα κομμάτια
πληροφορίας μέσα στα μηνύματα
του χρήστη
3 Slots (Θέσεις μνήμεις):
Ειδικός αποθηκευτικός χώρος για
απαντήσεις του χρήστη
4 Custom Actions (Προσαρμοσμένες
δράσεις):
Προγραμματισμός εξειδικευμένων
δράσεων για πιο πολύπλοκες
διαδικασίες
8
10. Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων
για την δημιουργία ψηφιακών βοηθών
10
Αρχιτεκτονική Συστήματος
✽ URLs: Κατεύθυνση προς τα
κατάλληλα views
✽ Views: Συναρτήσεις που
λαμβάνουν δεδομένα από τα
μοντέλα και καθιστούν τα
πρότυπα των σελίδων
✽ Models: Αναπαράσταση των
μοντέλων της βάσης
✽ Templates: Σελίδες
αλληλεπίδρασης του χρήστη
Χρήση του Framework
11. Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων
για την δημιουργία ψηφιακών βοηθών
11
Δομή της Βάσης Δεδομένων
Κάθε χρήστης έχει ένα προφίλ και ένα ή
περισσότερα Chatbot (ψηφιακό βοηθό)
Κάθε Chatbot έχει ένα ή περισσότερα
Intents (προθέσεις), Stories (ιστορίες),
Rules (κανόνες), Forms (φόρμες),
Responses (απαντήσεις), Custom
Actions (σύνθετες δράσεις)
Κάθε ένα από τα Intents μπορεί να έχει
περισσότερα από ένα Examples
(παραδείγματα) όπως και κάθε Story
μπορεί να έχει περισσότερα από ένα
Steps (βήματα)
13. Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων
για την δημιουργία ψηφιακών βοηθών
13
Η σύνταξη του ψηφιακού βοηθού
Level 1
Ανάκτηση
αντικειμένων από τη
βάση δεδομένων και
διαμοιρασμός στις
κατάλληλες
συναρτήσεις
Level 2
Ένταξη αντικειμένων
σε λίστες και
προεπεξεργασία των
δεδομένων
Level 3
Μετατροπή των
λιστών σε YAML
Level 5
Εκπαίδευση του
μοντέλου
Level 4
Σύνταξη των
σεναρίων του
ψηφιακού βοηθού
14. Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων
για την δημιουργία ψηφιακών βοηθών
14
Μεθοδολογία Συμπεράσματα
Εισαγωγή
Μελλοντικές
Επεκτάσεις
Πειράματα -
Αποτελέσματα
15. Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων
για την δημιουργία ψηφιακών βοηθών
15
Απλός ψηφιακός βοηθός
Το σχεδιάγραμμα συνομιλίας του ψηφιακού
βοηθού Moodbot
Αναγνώριση διάθεσης του χρήστη και
κατάλληλη απάντηση σε αυτόν
Ένα απλό παράδειγμα χρήσης
ψηφιακού βοηθού
17. Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων
για την δημιουργία ψηφιακών βοηθών
17
Σύνθετος ψηφιακός βοηθός με φόρμες
Ένα παράδειγμα ψηφιακού βοηθού που
χρησιμοποιεί φόρμες με θήκες μνήμης
Λαμβάνει τις απαντήσεις από τον χρήστη
και τις επαναχρησιμοποιεί
Μπορεί να τις αποθηκεύσει ή και να τις
ενσωματώσει σε επόμενες απαντήσεις
18. Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων
για την δημιουργία ψηφιακών βοηθών
18
Συνομιλία με τον σύνθετο ψηφιακό βοηθό με φόρμες
19. Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων
για την δημιουργία ψηφιακών βοηθών
19
Σύνθετος ψηφιακός βοηθός με δράσεις
Ο ψηφιακός βοηθός μπορεί επίσης να
χρησιμοποιήσει σύνθετες δράσεις
Προγραμματίζονται σε Python και μπορούν
να τρέξουν ό,τι κώδικα θελήσει ο δημιουργός
Μια συνήθης χρήση είναι η κλήση σε
APIs για λήψη δεδομένων
20. Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων
για την δημιουργία ψηφιακών βοηθών
20
Συνομιλία με τον σύνθετο ψηφιακό βοηθό με δράσεις
21. Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων
για την δημιουργία ψηφιακών βοηθών
21
Μεθοδολογία Συμπεράσματα
Εισαγωγή
Μελλοντικές
Επεκτάσεις
Πειράματα -
Αποτελέσματα
22. Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων
για την δημιουργία ψηφιακών βοηθών
22
Συμπεράσματα
➤ Το Django είναι ικανό να δημιουργήσει μια εφαρμογή μεγάλης έκτασης,
διαχειρίζοντας κατάλληλα τα μοντέλα και τις CRUD διεργασίες της.
➤ Η εφαρμογή μπορεί να συνθέσει ψηφιακούς βοηθούς όλων των δυνατοτήτων,
απλά όταν αυξάνεται η πολυπλοκότητα του μονοπατιού χρειάζεται μεγαλύτερη
τεχνική γνώση.
➤ Το Rasa είναι αρκετά βαρύ λογισμικό γιατί χρησιμοποιεί βιβλιοθήκες μηχανικής
μάθησης με πολλές εξαρτήσεις, οπότε δυσκολεύει το στήσιμο του σε διακομιστή.
➤ Το Django με την DTL (Django Template Language) δημιουργεί τις όψεις σε
ικανοποιητικό επίπεδο, μαζί με τα Crispy Forms για τη μορφοποίηση των φορμών.
23. Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων
για την δημιουργία ψηφιακών βοηθών
23
Μεθοδολογία Συμπεράσματα
Εισαγωγή
Μελλοντικές
Επεκτάσεις
Πειράματα -
Αποτελέσματα
24. Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων
για την δημιουργία ψηφιακών βοηθών
24
Μελλοντικές επεκτάσεις
� Εγκατάσταση της εφαρμογής σε υποδομές Cloud
� Αναζήτηση για κενά ασφαλείας και κάλυψη τους
� Μετάβαση της αρχιτεκτονικής σε REST API
� Χρήση εργαλείων DevOps για την αυτοματοποίηση και τον έλεγχο του
κύκλου ζωής του λογισμικού
25. Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων
για την δημιουργία ψηφιακών βοηθών
25
Ευχαριστίες
● Τον κ. Συμεωνίδη Ανδρέα για την στήριξη του και τις γνώσεις που μας
έχει μεταφέρει όλα αυτά τα χρόνια
● Τον επιβλέπον Υπ. Δρ. Μάλαμα Νικόλα για την βοήθεια και την
καθοδήγηση του
● Φίλους και συγγενείς που μου συμπαραστάθηκαν κατά τη διάρκεια των
σπουδών μου
Θα ήθελα να ευχαριστήσω:
26. Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων
για την δημιουργία ψηφιακών βοηθών
26
Ερωτήσεις;
Ευχαριστώ πολύ για την προσοχή σας!