Chatbot που βασίζεται στο NLP στο PyTorch. Ανάπτυξη Bonus Flask και JavaScript

Κόμβος πηγής: 1123050
Βικτόρια Μάσλοβα

Μεταξύ των διαφόρων τρόπων με τους οποίους μπορείτε να βελτιώσετε την ικανοποίηση των πελατών, τα chatbots είναι α ισχυρή λύση για να βοηθήσει την πελατειακή βάση. Τα Chatbots είναι οικονομικά, βοηθούν στην κλίμακα της επιχείρησής σας, πλήρως προσαρμόσιμα, βοηθούν τους πελάτες σας να βρουν τα σωστά προϊόντα/υπηρεσίες και συμβάλλουν στην οικοδόμηση εμπιστοσύνης για την επιχείρησή σας. Για να το αποδείξω αυτό θα περάσω από το ακόλουθο περιεχόμενο:

  1. Τι είναι ένα chatbot μηχανικής εκμάθησης;
  2. Γιατί τα chatbots είναι σημαντικά σε διαφορετικούς επιχειρηματικούς τομείς;
  3. Δημιουργήστε το δικό σας chatbot που βασίζεται στο NLP χρησιμοποιώντας το PyTorch.
  4. Αναπτύξτε το chatbot σε Javascript και Flask.

Ένα chatbot (Conversational AI) είναι ένα αυτοματοποιημένο πρόγραμμα που προσομοιώνει ανθρώπινη συνομιλία μέσω μηνυμάτων κειμένου, φωνητικών συνομιλιών ή και των δύο. Μαθαίνει να το κάνει αυτό με βάση πολλές εισροές και Επεξεργασία φυσικής γλώσσας (NLP).

Για λόγους σημασιολογίας, τα chatbot και οι βοηθοί συνομιλίας θα χρησιμοποιηθούν εναλλακτικά σε αυτό το άρθρο, σημαίνουν κάπως το ίδιο πράγμα.

Το Business Insider ανέφερε ότι η παγκόσμια αγορά chatbot αναμενόταν να αυξηθεί από 2.6 δισεκατομμύρια δολάρια το 2019 σε 9.4 δισεκατομμύρια δολάρια το 2024, προβλέποντας σύνθετο ετήσιο ρυθμό ανάπτυξης 29.7%. Η ίδια έκθεση πρότεινε επίσης ότι η υψηλότερη ανάπτυξη στην εφαρμογή chatbot θα σημειωθεί στις βιομηχανίες λιανικής και ηλεκτρονικού εμπορίου, λόγω της αυξανόμενης ζήτησης για παροχή απρόσκοπτων πολυκαναλικών εμπειριών στους πελάτες.

Αυτό από μόνο του αρκεί για να σε πείσει Τα chatbots είναι ο τρόπος χειρισμού των σχέσεων με τους πελάτες προχωρώντας προς τα εμπρός, αλλά θα συνεχίσουν να αναπτύσσονται ως εσωτερικά εργαλεία για εταιρικά εργαλεία και σχεδόν κάθε κλάδος θα υιοθετήσει την τεχνολογία αν δεν την έχει ήδη κάνει.

Παρακάτω είναι οι βασικοί λόγοι για τους οποίους όλο και περισσότερες επιχειρήσεις υιοθετούν τη στρατηγική chatbot και πώς αποτελούν μια φόρμουλα win-win για την απόκτηση και τη διατήρηση πελατών.

  • Μειώστε τον χρόνο αναμονής των πελατών - 21% των καταναλωτών δείτε τα chatbots ως τον ευκολότερο τρόπο επικοινωνίας με μια επιχείρηση. Τα ρομπότ είναι ένας πιο έξυπνος τρόπος για να διασφαλιστεί ότι οι πελάτες λαμβάνουν την άμεση απάντηση που αναζητούν χωρίς να τους κάνουν να περιμένουν σε μια ουρά.
  • 24 × 7 διαθεσιμότητα — Τα bots είναι πάντα διαθέσιμα για να προσελκύσουν τους πελάτες με άμεσες απαντήσεις στις συνήθεις ερωτήσεις που τους κάνουν. Το κορυφαίο πιθανό όφελος από τη χρήση chatbots είναι η 24ωρη εξυπηρέτηση πελατών.
  • Καλύτερη δέσμευση πελατών — Τα ρομπότ συνομιλίας μπορούν να προσελκύσουν πελάτες όλο το εικοσιτετράωρο ξεκινώντας την προληπτική διατήρηση και προσφέροντας εξατομικευμένες προτάσεις που ενισχύουν την εμπειρία των πελατών.
  • Εξοικονομήστε κόστος εξυπηρέτησης πελατών — Τα chatbots θα βοηθήσουν τις επιχειρήσεις να εξοικονομήσουν περισσότερα από $ 8 δισ. ανά έτος. Τα bots μπορούν εύκολα να κλιμακωθούν, γεγονός που εξοικονομεί κόστος υποστήριξης πελατών για πρόσληψη περισσότερων πόρων, κόστος υποδομής κ.λπ.
  • Αυτοματοποιήστε την πιστοποίηση και τις πωλήσεις — Μπορείτε να αυτοματοποιήσετε τη διοχέτευση πωλήσεών σας με chatbots για να προεπιλέξετε δυνητικούς πελάτες και να τους κατευθύνετε στη σωστή ομάδα για περαιτέρω ανάπτυξη. Η δυνατότητα να προσελκύσετε πελάτες αμέσως αυξάνει τον αριθμό των δυνητικών πελατών και τα ποσοστά μετατροπών.

1. Πώς η συνομιλία AI μπορεί να αυτοματοποιήσει την εξυπηρέτηση πελατών

2. Αυτοματοποιημένες vs Ζωντανές συνομιλίες: Πώς θα μοιάζει το μέλλον της εξυπηρέτησης πελατών;

3. Chatbots ως ιατρικοί βοηθοί στην πανδημία COVID-19

4. Chatbot εναντίον Ευφυής εικονικός βοηθός - Ποια είναι η διαφορά και γιατί φροντίζετε;

Υπάρχουν πολλές πλατφόρμες όπου οι προγραμματιστές, οι επιστήμονες δεδομένων και οι μηχανικοί μηχανικής μάθησης μπορούν να δημιουργήσουν και να διατηρήσουν chatbots όπως Διαλογική ροή και Amazon-Lex. Αλλά ο στόχος μου σε αυτό το άρθρο να σας δείξω πώς να δημιουργήσετε ένα chatbot από την αρχή για να σας βοηθήσω να κατανοήσετε τις έννοιες των Δικτύων τροφοδοσίας για επεξεργασία φυσικής γλώσσας.

Ας ξεκινήσουμε!

Μπορείτε εύκολα να βρείτε έναν πλήρη κωδικό στο my GitHub repo.

Εδώ είναι ένα σύντομο σχέδιο που θέλω να ακολουθήσω για να φτιάξω ένα μοντέλο.

  1. Θεωρία + Έννοιες NLP (Stemming, Tokenization, bag of words)
  2. Δημιουργήστε δεδομένα εκπαίδευσης
  3. Μοντέλο PyTorch και εκπαίδευση
  4. Αποθηκεύστε/φορτώστε το μοντέλο και εφαρμόστε τη συνομιλία

Θα δημιουργήσουμε chatbot για τις ανάγκες του Προμηθευτή καφέ και τσαγιού για να χειριστεί απλές ερωτήσεις σχετικά με τις ώρες λειτουργίας, τις επιλογές κράτησης και ούτω καθεξής.

Ένα πλαίσιο chatbot χρειάζεται μια δομή στην οποία καθορίζονται οι προθέσεις συνομιλίας. Ένας καθαρός τρόπος για να γίνει αυτό είναι με ένα αρχείο JSON, όπως αυτό.

Προθέσεις Chatbot

Κάθε πρόθεση συνομιλίας περιέχει:

  • a ετικέτα (ένα μοναδικό όνομα)
  • πρότυπα (μοτίβα προτάσεων για τον ταξινομητή κειμένου νευρωνικού δικτύου μας)
  • απαντήσεις (ένα θα χρησιμοποιηθεί ως απάντηση)

Έτσι ο αγωγός NLP μας μοιάζει με αυτό

  • συμβολίζω
  • Κάτω + στέλεχος
  • Εξαίρεση χαρακτήρων στίξης
  • Τσάντα λέξεων

Δημιουργούμε μια λίστα εγγράφων (προτάσεων), κάθε πρόταση είναι μια λίστα βασικές λέξεις και κάθε έγγραφο συνδέεται με μια πρόθεση (μια κλάση). Ο πλήρης κωδικός είναι μέσα αυτό το αρχείο.

Στη συνέχεια πρέπει να ορίσουμε δεδομένα εκπαίδευσης και υπερπαραμέτρους.

Μετά από όλα τα απαραίτητα βήματα προεπεξεργασίας δημιουργούμε ένα model.py αρχείο για να ορίσετε το νευρωνικό δίκτυο FeedForward.

Τα νευρωνικά δίκτυα ανατροφοδότησης είναι τεχνητά νευρωνικά δίκτυα όπου οι συνδέσεις μεταξύ των μονάδων δεν σχηματίζουν α κύκλος. Τα νευρωνικά δίκτυα τροφοδοσίας ήταν ο πρώτος τύπος τεχνητού νευρωνικού δικτύου που εφευρέθηκε και είναι απλούστερα από τα αντίστοιχα. επαναλαμβανόμενα νευρωνικά δίκτυα. Καλούνται τροφοδοσία προς τα εμπρός επειδή οι πληροφορίες ταξιδεύουν μόνο προς τα εμπρός στο δίκτυο (χωρίς βρόχους), πρώτα μέσω των κόμβων εισόδου και μετά μέσω του κρυφούς κόμβους (εάν υπάρχει), και τέλος μέσω των κόμβων εξόδου.

Πρόσεχε! Τελικά δεν χρειαζόμαστε συνάρτηση ενεργοποίησης γιατί αργότερα θα χρησιμοποιήσουμε απώλεια διασταυρούμενης εντροπίας και αυτόματα εφαρμόζει μια συνάρτηση ενεργοποίησης για εμάς.

Γιατί χρησιμοποιούμε το ReLU;

Είναι απλοί, γρήγοροι στον υπολογισμό και δεν υποφέρουν από εξαφανιζόμενες κλίσεις, όπως σιγμοειδείς συναρτήσεις (logistic, tanh, erf και παρόμοιες). Η απλότητα της υλοποίησης τα καθιστά κατάλληλα για χρήση σε GPU, οι οποίες είναι πολύ διαδεδομένες σήμερα λόγω της βελτιστοποίησης για λειτουργίες matrix (που χρειάζονται και για τρισδιάστατα γραφικά).

Αφού ορίσουμε μια απώλεια CrossEntropy και Adam, υλοποιούμε το βήμα προς τα πίσω και βελτιστοποίησης.

Τι σημαίνουν όλες αυτές οι γραμμές;

Ορίσαμε το zero_grad() στο optimizer επειδή στο PyTorch, για κάθε mini-batch κατά τη διάρκεια της φάσης εκπαίδευσης, πρέπει ρητά να μηδενίσουμε τις διαβαθμίσεις πριν αρχίσουμε να κάνουμε backprogation (δηλ. ενημέρωση Weights και biases) επειδή το PyTorch συσσωρεύει τις διαβαθμίσεις στο επόμενες προς τα πίσω πάσες.

Η κλήση πολλαπλών χρόνων .backward() συσσωρεύει τη διαβάθμιση (με προσθήκη) για κάθε παράμετρο. Γι' αυτό θα πρέπει να καλέσετε την optimizer.zero_grad() μετά από κάθε κλήση .step(). Λάβετε υπόψη ότι μετά την πρώτη κλήση .backward, μια δεύτερη κλήση είναι δυνατή μόνο αφού έχετε πραγματοποιήσει μια άλλη προώθηση προς τα εμπρός.

Το optimizer.step εκτελεί μια ενημέρωση παραμέτρων με βάση την τρέχουσα διαβάθμιση (αποθηκευμένη στο χαρακτηριστικό .grad μιας παραμέτρου) και τον κανόνα ενημέρωσης.

Τελικά, μετά την εκτέλεση του σεναρίου train.py τι υπέροχο αποτέλεσμα είχαμε!

Και στο τελευταίο μέρος πρέπει να σώσουμε το μοντέλο μας. Να ο τρόπος που το έκανα εύκολα.

Αποφάσισα να προχωρήσω περισσότερο και να δημιουργήσω αυτήν την εκπληκτική απεικόνιση του ChatBot.

Όλα τα σενάρια HTML, CSS και JavaScript μου θα βρείτε στο αποθετήριο GitHub.

Απολαύστε το!

Τώρα, όπως γνωρίζετε τι είναι ένα chatbot και πόσο σημαντική είναι η τεχνολογία bot για κάθε είδους επιχείρηση. Σίγουρα θα συμφωνήσετε ότι τα bots έχουν αλλάξει δραστικά τον τρόπο που οι επιχειρήσεις αλληλεπιδρούν με τους πελάτες τους.

Οι τεχνολογίες Chatbot θα γίνουν ζωτικό μέρος της στρατηγικής αφοσίωσης των πελατών στο μέλλον. Τα bot στο μέλλον θα προχωρήσουν για να ενισχύσουν τις ανθρώπινες ικανότητες και οι ανθρώπινοι πράκτορες να είναι πιο καινοτόμοι στον χειρισμό στρατηγικών δραστηριοτήτων.

Source: https://chatbotslife.com/nlp-based-chatbot-in-pytorch-bonus-flask-and-javascript-deployment-474c4e59ceff?source=rss—-a49517e4c30b—4

Σφραγίδα ώρας:

Περισσότερα από Ζωντανή συνομιλία