Η Τεχνητή Νοηµοσύνη αποτελεί έναν τοµέα της τεχνολογίας που καθηµερινά πραγµατοποιεί άλµατα. Αποτελεί την αιχµή του δόρατος στην επίλυση πληθώρας προβληµάτων αλλά και στην παροχή υπηρεσιών υψηλού επιπέδου. Οι εµπορικές εφαρµογές, αν και µε απεριόριστες προοπτικές, τα τελευταία χρόνια εστιάζουν κυϱίως στη Συνοµιλητική Τεχνητή Νοηµοσύνη ή στην Τεχνητή Νοηµοσύνη Επεξεργασίας Βίντεο και Εικόνας, µε αποτέλεσµα τον ενθουσιασµό της αγοράς και των χρηστών, οι οποίοι αποκτούν όλο και µεγαλύτερες απαιτήσεις, ως προς την ποιότητα και τις δυνατότητες των εργαλείων τους. Οι συνοµιλητικοί ϐοηθοί, Chatbots, έχουν διεισδύσει στην καθηµερινότητά, µε πληθώρα µορφών και χρήσεων. Η παραδοσιακή µορφή τους, που απαντούσε ένα κλειστό σύνολο απλοϊκών ερωτήσεων, αντικαταστάθηκε από µοντέρνα συστήµατα και εφαρµογές που προτείνουν, συζητούν, συνοµιλούν, διασκεδάζουν, συµβουλεύουν. Είτε ως εφαρµογές στο κινητό του χρήστη, είτε διαθέσιµοι online, οι σύγχρονοι βοηθοί αποτελούν πλέον κοµµάτι της καθηµερινής ϱουτίνας και των εργαλείων που την καθιστούν πιο ανεκτή και ευχάριστη. Αυτή η καθολική πλέον παρουσία τους καθιστά αναγκαίο τον εκλεκτισµό αυτών των υπηρεσιών προσθέτοντας νέα στοιχεία και παραµέτρους, ανάλογα µε την εξειδίκευση κάθε χρήστη και των αναγκών του. Αυτές οι εφαρµογές, όντας συνεχώς συνδεδεµένες στο διαδίκτυο, θυσιάζουν την ιδιωτικότητα του χρήστη, καθιστώντας τον επιρρεπή σε κακόβουλο λογισµικό ή απάτες. Παράλληλα ,όµως, η πλειοψηφία αυτών των εφαρµογών αδυνατούν να χρησιµοποιήσουν τον µεγαλύτερο όγκο της πληροφορίας η οποία είναι διαθέσιµη στο διαδίκτυο, παρότι είναι συνδεδεµένες σε αυτό. Τέλος, τα υπάρχοντα συστήµατα δεν έχουν προσωποποιηµένο χαρακτήρα. Οι απαντήσεις και οι υπηρεσίες τους σπανίως προσαρµόζονται στον εκάστοτε χρήστη. Σε αυτήν τη διπλωµατική εργασία γίνεται µια προσπάθεια ανάπτυξης ενός ψηφιακού βοηθού ερωταπαντήσεων που αναζητά δυναµικά τις απαντήσεις στον ιστό. Αυτό το σύστηµα, χρησιµοποιώντας προεκπαιδευµένα µοντέλα αλλά και τεχνολογίες λογισµικού, απαντάει τις ερωτήσεις του χρήστη αξιοποιώντας το σύνολο της online πληροφορίας. Η ϕορητότητα του συστήµατος µπορεί να εξασφαλίσει µια ιδιωτική εµπειρία καθώς και απαντήσεις από εξειδικευµένες πηγές δεδοµένων. Τα πειραµατικά αποτελέσµατα αποδεικνύουν ότι το συγκεκριµένο σύστηµα είναι επαρκώς ακριβές, ενώ ταυτόχρονα επιτυγχάνει τους σκοπούς για τους οποίους αναπτύχθηκε. Θυσιάζεται η αναλυτικότητα και το συνοµιλητικό ύφος των συµβατικών ψηφιακών βοηθών, για να αξιοποιηθεί το µέγιστο πλήθος πληροφορίας. Επιπλέον, οι προεκτάσεις του συστήµατος µπορούν να οδηγήσουν σε χρήση του σε εξειδικευµένα συστήµατα όπου η πληροφορία που είναι διαθέσιµη είναι περιορισµένη και προέρχεται πάλι από το διαδίκτυο αλλά µόνο από µια συγκεκριµένη πηγή.
6. Σκοπός
Δημιουργία ενός συστήματος ερωταπαντήσεων
● Δυναμικού
○ Χρήση του διαδικτύου για την
πληροφορία
● Προσωποποιημένου
○ Χρήση πηγών μέσα από τη
συμπεριφορά του χρήστη
6
7. Σκοπός
Δημιουργία ενός συστήματος ερωταπαντήσεων
● Δυναμικού
○ Χρήση του διαδικτύου για την
πληροφορία
● Προσωποποιημένου
○ Χρήση πηγών μέσα από τη
συμπεριφορά του χρήστη
7
27. Dataset Ερωτημάτων
Διαφορετικά Ερωτήματα ως προς:
● Το είδος (Κλειστά, ανοιχτά)
● Την απάντηση (Μονολεκτική, αναλυτική, αριθμός)
● Την διαδικασία (Μαθηματικά, αναζήτηση)
● Την γλώσσα (Αγγλικά, Γερμανικά)
● Την αντικειμενικότητα (Αντικειμενικά γεγονότα, υποκειμενικές απόψεις)
27
31. Ποιότητα Απαντήσεων
● Κοντινές επιδόσεις minilm και roberta-
base
● Gelectra έπεται
● Πολύ κακές επιδόσεις deberta και xlm-
roberta
31
● Υπεροχή του μοντέλου albert
35. Συμπεράσματα
● Το albert είναι εξαιρετικά χρονοβόρο.
● Τα μοντέλα minilm και roberta-base δίνουν απαντήσεις αποδεκτής ποιότητας σε
εύλογο χρονικό διάστημα.
● 2 από τα 3 πολυγλωσσικά μοντέλα είναι απογοητευτικά. Το τρίτο, το gelectra, είναι
ελαφρώς χειρότερο από τα αγγλικά μοντέλα.
● Επέκτασης τα βασικής αρχιτεκτονικής του pipeline με προσθήκη δυναμικών
στοιχείων
● Επιλογή μοντέλου roberta-base
35
38. Μελλοντικές Επεκτάσεις
● Νέο βελτιωμένο User Interface
● Δημιουργία Widget ή Add-On για ιστοσελίδες
● Μεταφορά σε PaaS μορφή
● Χρήση άλλων μοντέλων (νέες Γλώσσες)
● Προσθήκη Λειτουργίας Αναζήτησης Βάθους
● Χρήση Διαφορετικών Readers
38
Αξιότιμοι καθηγητές της επιτροπής, αγαπητοί συμφοιτητές και συμφοιτήτριες, κυρίες και κύριοι, ονομάζομαι Σκαπέτης Χρήστος και θα σας παρουσιάσω την διπλωματική μου εργασία με όνομα "Ανάπτυξη Ιδιωτικού Δυναμικού Συστήματος Ερωταπαντήσεων με Πηγή το Διαδίκτυο".
Θα ξεκινήσω με μια σύντομη εισαγωγή και με μια ανασκόπηση των εργαλείων που χρησιμοποιήθηκαν, θα συνεχίσω με την υλοποίηση, τα αποτελέσματα των πειραμάτων, τα συμπεράσματα και τις πιθανές μελλοντικές επεκτάσεις.
Ο σκοπός αυτής της διπλωματικής είναι η ανάπτυξη ενός συστήματος ερωταπαντήσεων,
δυναμικού, γιατί θα χρησιμοποιεί πληροφορία από το διαδίκτυο,
και προσωποποιημένου, διότι θα γίνεται επιλογή και χρήση πηγών μέσα από την συμπεριφορά του χρήστη.
Το πρόβλημα έχει δύο τμήματα. Την προσπέλαση της πληροφορίας, και την εξόρυξη της απάντησης από αυτήν.
Οι τρανσφόρμερς, σύγχρονες νευρωνικές αρχιτεκτονικές, αποτελούν την βάση των μοντέλων που χρησιμοποιήθηκαν.
Αυτές οι αρχιτεκτονικές κυριαρχούν στα σύγχρονα LLMs
και διακρίνονται για ένα στάδιό τους, την αυτο-προσοχή, στο οποίο κάθε λέξη έχει διαφορετικό βάρος αναλόγως το context στο οποίο βρίσκεται.
Για την ανάπτυξη του backend έγινε χρήση βιβλιοθηκών python, όπως η Beautiful Soup για την χειραγώγηση πληροφορίας στο διαδίκτυο, ή το Flask για το στήσιμο της διαδικτυακής εφαρμογής.
Τέλος, τα pipelines, αλυσίδες επεξεργασίας δεδομένων, μετατρέπουν την πληροφορία σε αρχείο, την αποθηκεύουν στο Document Store,
Τέλος, τα pipelines, αλυσίδες επεξεργασίας δεδομένων, μετατρέπουν την πληροφορία σε αρχείο, την αποθηκεύουν στο Document Store,
Τέλος, τα pipelines, αλυσίδες επεξεργασίας δεδομένων, μετατρέπουν την πληροφορία σε αρχείο, την αποθηκεύουν στο Document Store,
Εδώ βλέπετε ένα διάγραμμα ροής του αλγορίθμου. Στην αρχή, το σύστημα λαμβάνει ένα ερώτημα, ενεργοποιείται το Document Store, και γίνεται χρήση του για την απάντηση του ερωτήματος με τις πληροφορίες που έχουν ήδη αποθηκευτεί από τυχόν προηγούμενα ερωτήματα.
Δημιουργείται ένα pipeline με όρισμα την ερώτηση, και δίνεται μια απάντηση μέσα από την ήδη αποθηκευμένη πληροφορία. Αν το σκορ της απάντησης είναι πάνω από ένα όριο, τότε τερματίζει ο αλγόριθμος. Αν είναι μικρότερο, τότε συνεχίζει στο επόμενο βήμα.
Στο επόμενο βήμα, γίνεται χρήση του SERP API για την λήψη του info box και των συχνών ερωτήσεων της Google. Πλέον, με αυτές τις πληροφορίες ως πηγή, δημιουργείται ένα pipeline και εξάγεται μια απάντηση. Γίνεται ξανά έλεγχος για πιθανό τερματισμό του αλγορίθμου.
Στην συνέχεια, λαμβάνονται τα 5 κορυφαία αποτελέσματα της μηχανής αναζήτησης της Google. Αν είναι ενεργή η λειτουργία βάθους, τότε εξάγονται οι σημαντικότερες λέξεις του ερωτήματος (θα είναι χρήσιμες αργότερα). Γίνεται προσπέλαση του κορυφαίου αποτελέσματος και με την λειτουργία βάθους ενεργή αποθηκεύονται όλοι οι υπερσύνδεσμοι σε αυτό.
με την χρήση αυτού του κορυφαίου αποτελέσματος δημιουργείται ένα pipeline, και εξάγεται μια νέα απάντηση. Πραγματοποιείται ξανά έλεγχος για τερματισμό του αλγορίθμου.
Τέλος, γίνεται προσπέλαση των υπόλοιπων 4 αποτελεσμάτων, και σε περίπτωση που η λειτουργία βάθους είναι ενεργή, προσπελάζονται και όλοι οι σύνδεσμοι που αποθηκεύτηκαν από το πρώτο αποτέλεσμα, εφόσον θεωρηθούν σχετικοί. Αυτή η συσχέτιση κρίνεται με την βοήθεια των σημαντικών λέξεων που απομονώθηκαν νωρίτερα από το ερώτημα. Πλέον, με το σύνολο της πληροφορίας, είτε με τα 4 αποτελέσματα είτε και με τους υπόλοιπους συνδέσμους, εξάγονται οι τελικές απαντήσεις και τερματίζεται ο αλγόριθμος.
Εδώ βλέπετε ένα διάγραμμα ροής του αλγορίθμου. Στην αρχή, το σύστημα λαμβάνει ένα ερώτημα, ενεργοποιείται το Document Store, και γίνεται χρήση του για την απάντηση του ερωτήματος με τις πληροφορίες που έχουν ήδη αποθηκευτεί από τυχόν προηγούμενα ερωτήματα.
Δημιουργείται ένα pipeline με όρισμα την ερώτηση, και δίνεται μια απάντηση μέσα από την ήδη αποθηκευμένη πληροφορία. Αν το σκορ της απάντησης είναι πάνω από ένα όριο, τότε τερματίζει ο αλγόριθμος. Αν είναι μικρότερο, τότε συνεχίζει στο επόμενο βήμα.
Στο επόμενο βήμα, γίνεται χρήση του SERP API για την λήψη του info box και των συχνών ερωτήσεων της Google. Πλέον, με αυτές τις πληροφορίες ως πηγή, δημιουργείται ένα pipeline και εξάγεται μια απάντηση. Γίνεται ξανά έλεγχος για πιθανό τερματισμό του αλγορίθμου.
Στην συνέχεια, λαμβάνονται τα 5 κορυφαία αποτελέσματα της μηχανής αναζήτησης της Google. Αν είναι ενεργή η λειτουργία βάθους, τότε εξάγονται οι σημαντικότερες λέξεις του ερωτήματος (θα είναι χρήσιμες αργότερα). Γίνεται προσπέλαση του κορυφαίου αποτελέσματος και με την λειτουργία βάθους ενεργή αποθηκεύονται όλοι οι υπερσύνδεσμοι σε αυτό.
με την χρήση αυτού του κορυφαίου αποτελέσματος δημιουργείται ένα pipeline, και εξάγεται μια νέα απάντηση. Πραγματοποιείται ξανά έλεγχος για τερματισμό του αλγορίθμου.
Τέλος, γίνεται προσπέλαση των υπόλοιπων 4 αποτελεσμάτων, και σε περίπτωση που η λειτουργία βάθους είναι ενεργή, προσπελάζονται και όλοι οι σύνδεσμοι που αποθηκεύτηκαν από το πρώτο αποτέλεσμα, εφόσον θεωρηθούν σχετικοί. Αυτή η συσχέτιση κρίνεται με την βοήθεια των σημαντικών λέξεων που απομονώθηκαν νωρίτερα από το ερώτημα. Πλέον, με το σύνολο της πληροφορίας, είτε με τα 4 αποτελέσματα είτε και με τους υπόλοιπους συνδέσμους, εξάγονται οι τελικές απαντήσεις και τερματίζεται ο αλγόριθμος.
Για την απάντηση των ερωτημάτων χρησιμοποιήθηκαν 6 μοντέλα. 3 Αγγλικά, και 3 πολυγλωσσικά. Η επιλογή τους έγινε με βάση την γλώσσα εκπαίδευσης και το μέγεθός τους. Το albert είναι το μεγαλύτερο αγγλικό και ακολουθούν το roberta base squad και το minilm. Το gelectra base είναι πολυγλωσσικό με εξειδίκευση στα Γερμανικά.
Όσον αφορά την διεπαφή, ο χρήστης χρησιμοποιεί την μπάρα αναζήτησης. Πέρα από το ερώτημά του, μπορεί να επιλέξει τη γλώσσα στην οποία αναζητά απάντηση, την ιστοσελίδα στην οποία θέλει να αναζητήσει την πληροφορία, αλλά και το μοντέλο το οποίο θα χρησιμοποιηθεί.
Στην κορυφή των αποτελεσμάτων θα βρίσκεται το κορυφαίο αποτέλεσμα της αναζήτησης στον google,
ενώ στο δεύτερο τμήμα βλέπουμε τις απαντήσεις αυτού του αποτελέσματος μαζί με το σκορ τους. Εδώ βλέπουμε, στο ερώτημα για το ποιος είναι ο πρόεδρος των ΗΠΑ, λαμβάνουμε κάποιες σωστές και κάποιες λανθασμένες απαντήσεις.
Τέλος, βλέπουμε όλα τα αποτελέσματα, με το σύνολο των ιστοσελίδων και λοιπών πηγών. Η απάντηση, το σκορ, το λινκ της πηγής και το Context στο οποίο βρέθηκε η απάντηση.
Στην κορυφή των αποτελεσμάτων θα βρίσκεται το κορυφαίο αποτέλεσμα της αναζήτησης στον google,
ενώ στο δεύτερο τμήμα βλέπουμε τις απαντήσεις αυτού του αποτελέσματος μαζί με το σκορ τους. Εδώ βλέπουμε, στο ερώτημα για το ποιος είναι ο πρόεδρος των ΗΠΑ, λαμβάνουμε κάποιες σωστές και κάποιες λανθασμένες απαντήσεις.
Τέλος, βλέπουμε όλα τα αποτελέσματα, με το σύνολο των ιστοσελίδων και λοιπών πηγών. Η απάντηση, το σκορ, το λινκ της πηγής και το Context στο οποίο βρέθηκε η απάντηση.
Για τα πειράματα πραγματοποιήθηκαν 49 ερωτήματα. Έγινε προσπάθεια διαφοροποίησής τους με βάσει το είδος (Κλειστά, ανοιχτά), την απάντηση (Μονολεκτική, αναλυτική, αριθμός, ημερομηνία, ονοματεπώνυμο), την διαδικασία (Μαθηματικά, αναζήτηση), την γλώσσα (Αγγλικά, Γερμανικά) και την αντικειμενικότητα (Αντικειμενικά γεγονότα, υποκειμενικές απόψεις, επιστήμη). Εδώ βλέπετε την πλήρη λίστα.
Για την σύγκριση των χρόνων εκτέλεσης θα μελετήσουμε 3 διαφορετικά μοντέλα στα 2 αυτά στάδιο του αλγορίθμου. Την απάντηση από το πρώτο αποτέλεσμα της Google, και την απάντηση από τα υπόλοιπα 4.
Ο χρόνος εκτέλεσης του albert είναι απαγορευτικός για ένα τέτοιο σύστημα ενώ το minilm είναι ελαφρώς ταχύτερο από το roberta. Το δεύτερο στάδιο είναι αναμενόμενα πιο αργό αλλά όχι 4 φορές πιο αργό παρ' ότι έχει 4 φορές περισσότερη πληροφορία.
Ας δούμε τώρα αναλυτικά ένα από αυτά τα ερωτήματα. Αριστερά βλέπουμε ένα διάγραμμα όπου στον χ άξονα είναι ο αριθμός της κάθε απάντησης (είναι ταξινομημένες σε αύξουσα σειρά με βάση το σκορ), και στον ψ άξονα είναι το σκορ της κάθε απάντησης. Το μοντέλο albert έχει το υψηλότερο σκορ, όπως είναι αναμενόμενο καθώς είναι και το μοντέλο με τις περισσότερες παραμέτρους. Μάλιστα, καθώς το σκορ της κορυφαίας απάντησης είναι τόσο υψηλό, τερματίζει ο αλγόριθμος νωρίτερα, οπότε και επιστρέφονται λιγότερες απαντήσεις. Το μοντέλο minilm έχει 4 στις 14 σωστές απαντήσεις, ενώ το roberta squad2 έχει 8 στις 14 παρ' ότι τα σκορ του είναι αρκετά χαμηλότερα. Τα 2 πολυγλωσσικά μοντέλα έχουν απογοητευτικές επιδόσεις.
Παρατηρώντας τις κατανομές των σκορ του κάθε μοντέλου, βλέπουμε την υπεροχή του μοντέλου albert. Το minilm και το roberta base squad 2 έχουν αρκετά κοντινές επιδόσεις, ενώ ακολουθεί το gelectra, το Γερμανικό πολυγλωσσικό μοντέλο.
Το albert είχε, αναμενόμενα, 48.5% σωστές απαντήσεις από το σύνολο των απαντήσεών του. Ακολουθεί με 46% το roberta base παρά τα χαμηλά του σκορ. Έπονται minilm και gelectra.
Το albert είχε, αναμενόμενα, 48.5% σωστές απαντήσεις από το σύνολο των απαντήσεών του. Ακολουθεί με 46% το roberta base παρά τα χαμηλά του σκορ. Έπονται minilm και gelectra.
Όπως είναι προφανές, το μοντέλο albert είναι εξαιρετικά χρονοβόρο, παρά τις κορυφαίες επιδόσεις, καθιστώντας το μη αποδεκτό για μια τέτοια εφαρμογή. Τα μοντέλα minilm και roberta-base δίνουν απαντήσεις αποδεκτής ποιότητας σε εύλογο χρονικό διάστημα, ενώ τα 2 από τα 3 πολυγλωσσικά μοντέλα είναι απογοητευτικά. Το τρίτο, το gelectra, είναι ελαφρώς χειρότερο από τα αγγλικά μοντέλα, αλλά είναι το κορυφαίο, όπως είναι λογικό, στα Γερμανικά ερωτήματα. Διαφορετικές μέθοδοι για τη λειτουργία βάθους οδηγούν σε ένα trade-off ταχύτητας και ακρίβειας. Τελικά όμως, η λειτουργία απορρίφθηκε, γιατί όπως είπα και νωρίτερα, στην πλειονότητα των περιπτώσεων οι απαντήσεις που προέρχονται από το βήμα δεν προσέδιδαν νέα πληροφορία ενώ ταυτόχρονα οι χρόνοι εκτέλεσης εκτινάσσονταν.
Σε μια πιο γενική αξιολόγηση του συστήματος, οι απαντήσεις, σε σχέση με αντίστοιχους ψηφιακούς βοηθούς που είναι διαθέσιμοι, είναι πιο προσωποιημένες καθώς το document store αποθηκεύει τις πληροφορίες από τα προηγούμενα ερωτήματα. Επιπρόσθετα, δύναται να είναι πιο ιδιωτικές, καθώς αν γίνει χρήση των ήδη αποθηκευμένων πληροφοριών επιτυγχάνεται η απεξάρτηση από το διαδίκτυο. Τέλος, υπάρχει φορητότητα και δυναμικός χαρακτήρας. Όσον αφορά τις αδυναμίες, οι απαντήσεις δεν είναι αναλυτικές όπως σε κάποια LLMs, υπάρχουν λιγότερες λεπτομέρειες, και η απόκριση είναι σχετικά αργή.
===========================================================================Πιθανές μελλοντικές επεκτάσεις και βελτιώσεις του συστήματος είναι ένα Νέο Βελτιωμένο User Interface, η Δημιουργία Widget ή Add-On για ιστοσελίδες όπου οι πληροφορίες θα προέρχονται μόνο από αυτές, μεταφορά σε PaaS μορφή, όπως είναι το docker, και επιπλέον φορητότητα, και η Χρήση άλλων μοντέλων (πχ. νέες Γλώσσες).
Ακόμα, υπάρχουν περιθώρια βελτιστοποίησης όσον αφορά την ταχύτητα με παραλληλοποίηση ακόμα περισσότερων τμημάτων του αλγορίθμου.