PyTorch में NLP आधारित चैटबॉट। बोनस फ्लास्क और जावास्क्रिप्ट परिनियोजन

स्रोत नोड: 1123050
विक्टोरिया मास्लोवा

ग्राहकों की संतुष्टि में सुधार करने के विभिन्न तरीकों में से चैटबॉट हैं: ग्राहक आधार की मदद करने के लिए शक्तिशाली समाधान. चैटबॉट किफ़ायती हैं, आपके व्यवसाय को बढ़ाने में मदद करते हैं, पूरी तरह से अनुकूलन योग्य हैं, आपके ग्राहकों को सही उत्पाद / सेवाएँ खोजने में मदद करते हैं, और आपके व्यवसाय के लिए विश्वास बनाने में मदद करते हैं। इसे साबित करने के लिए मैं निम्नलिखित सामग्री से गुजरूंगा:

  1. मशीन लर्निंग चैटबॉट क्या है?
  2. विभिन्न व्यावसायिक क्षेत्रों में चैटबॉट क्यों महत्वपूर्ण हैं?
  3. PyTorch का उपयोग करके अपना स्वयं का NLP आधारित चैटबॉट बनाएँ।
  4. जावास्क्रिप्ट और फ्लास्क में चैटबॉट तैनात करें।

एक चैटबॉट (संवादात्मक एआई) एक स्वचालित प्रोग्राम है जो टेक्स्ट संदेशों, वॉयस चैट या दोनों के माध्यम से मानव वार्तालाप का अनुकरण करता है। यह बहुत सारे इनपुट के आधार पर ऐसा करना सीखता है, और प्राकृतिक भाषा प्रसंस्करण (एनएलपी).

शब्दार्थ के लिए, इस लेख में चैटबॉट और संवादी सहायकों का परस्पर उपयोग किया जाएगा, उनका मतलब एक ही है।

बिजनेस इनसाइडर ने बताया कि वैश्विक चैटबॉट बाजार 2.6 में 2019 बिलियन डॉलर से बढ़कर 9.4 में 2024 बिलियन डॉलर होने की उम्मीद है, जो कि 29.7% की चक्रवृद्धि वार्षिक वृद्धि दर का अनुमान है। इसी रिपोर्ट ने यह भी सुझाव दिया कि चैटबॉट कार्यान्वयन में सबसे अधिक वृद्धि खुदरा और ईकॉमर्स उद्योगों में होगी, क्योंकि ग्राहकों को निर्बाध सर्व-चैनल अनुभव प्रदान करने की बढ़ती मांग के कारण।

आपको यह समझाने के लिए बस इतना ही काफी होना चाहिए चैटबॉट ग्राहक संबंधों को संभालने का तरीका है आगे बढ़ते हुए, लेकिन वे उद्यम उपकरणों के लिए आंतरिक उपकरण के रूप में भी विकसित होते रहेंगे और लगभग हर उद्योग प्रौद्योगिकी को अपनाएगा यदि यह पहले से नहीं है।

नीचे मुख्य कारण दिए गए हैं कि क्यों अधिक से अधिक व्यवसाय चैटबॉट रणनीति अपना रहे हैं और ग्राहकों को प्राप्त करने और बनाए रखने के लिए वे एक जीत-जीत फॉर्मूला कैसे हैं।

  • ग्राहक प्रतीक्षा समय कम करें - उपभोक्ताओं के 21% चैटबॉट को किसी व्यवसाय से संपर्क करने के सबसे आसान तरीके के रूप में देखें. बॉट यह सुनिश्चित करने का एक बेहतर तरीका है कि ग्राहकों को तत्काल प्रतिक्रिया प्राप्त हो, जिसे वे बिना कतार में प्रतीक्षा किए ढूंढ रहे हैं।
  • 24 × 7 उपलब्धता — बॉट हमेशा ग्राहकों को उनके द्वारा पूछे जाने वाले सामान्य प्रश्नों के तत्काल उत्तर के साथ संलग्न करने के लिए उपलब्ध होते हैं। चैटबॉट का उपयोग करने का शीर्ष संभावित लाभ 24 घंटे की ग्राहक सेवा है।
  • बेहतर ग्राहक जुड़ाव - संवादी बॉट सक्रिय संरक्षण शुरू करके और ग्राहक अनुभव को बढ़ावा देने वाले व्यक्तिगत अनुशंसाओं की पेशकश करके चौबीसों घंटे ग्राहकों को संलग्न कर सकते हैं।
  • ग्राहक सेवा लागत बचाएं — चैटबॉट व्यवसायों को . से अधिक बचत करने में मदद करेंगे 8 $ अरब प्रति वर्ष। बॉट्स को आसानी से बढ़ाया जा सकता है जो अधिक संसाधनों, बुनियादी ढांचे की लागत आदि को काम पर रखने की ग्राहक सहायता लागत बचाता है।
  • लीड योग्यता और बिक्री को स्वचालित करें - आप लीड्स को प्रीक्वालिफाई करने के लिए चैटबॉट्स के साथ अपनी बिक्री फ़नल को स्वचालित कर सकते हैं और उन्हें आगे के पोषण के लिए सही टीम को निर्देशित कर सकते हैं। ग्राहकों को तुरंत संलग्न करने में सक्षम होने से लीड और रूपांतरण दरों की संख्या बढ़ जाती है।

1. कैसे संवादी AI ग्राहक सेवा को स्वचालित कर सकता है

2. स्वचालित बनाम लाइव चैट: ग्राहक सेवा का भविष्य कैसा दिखेगा?

3. COVID-19 महामारी में चिकित्सा सहायक के रूप में चैटबॉट

4. चैटबॉट बनाम। बुद्धिमान आभासी सहायक - क्या अंतर है और देखभाल क्यों?

ऐसे कई प्लेटफॉर्म हैं जहां डेवलपर्स, डेटा वैज्ञानिक और मशीन लर्निंग इंजीनियर चैटबॉट बना और बनाए रख सकते हैं जैसे Dialogflow और अमेज़न लेक्स. लेकिन इस लेख में मेरा लक्ष्य आपको यह दिखाना है कि प्राकृतिक भाषा प्रसंस्करण के लिए फ़ीड-फ़ॉरवर्ड नेटवर्क की अवधारणाओं को समझने में आपकी मदद करने के लिए स्क्रैच से चैटबॉट कैसे बनाया जाए।

चलो शुरू हो जाओ!

आप आसानी से my . में एक पूरा कोड पा सकते हैं गीथहब रेपो.

यहां एक छोटी योजना है जिसका मैं एक मॉडल बनाने के लिए अनुसरण करना चाहता हूं।

  1. थ्योरी + एनएलपी अवधारणाएं (स्टेमिंग, टोकनाइजेशन, शब्दों का बैग)
  2. प्रशिक्षण डेटा बनाएं
  3. PyTorch मॉडल और प्रशिक्षण
  4. मॉडल सहेजें/लोड करें और चैट को लागू करें

हम कॉफी और चाय आपूर्तिकर्ता के लिए चैटबॉट का निर्माण करेंगे, जिसे संचालन के घंटों, आरक्षण विकल्पों आदि के बारे में सरल प्रश्नों को संभालने की आवश्यकता है।

एक चैटबॉट ढांचे को एक संरचना की आवश्यकता होती है जिसमें संवादी इरादों को परिभाषित किया जाता है। ऐसा करने का एक साफ तरीका इस तरह एक JSON फ़ाइल के साथ है।

चैटबॉट इरादे

प्रत्येक संवादी आशय में शामिल हैं:

  • a टैग (एक अनूठा नाम)
  • पैटर्न उपयोग करें (हमारे तंत्रिका नेटवर्क टेक्स्ट क्लासिफायरियर के लिए वाक्य पैटर्न)
  • प्रतिक्रियाएं (एक प्रतिक्रिया के रूप में इस्तेमाल किया जाएगा)

तो हमारी एनएलपी पाइपलाइन इस तरह दिखती है

  • टोकन लेना
  • निचला + तना
  • विराम चिह्नों को छोड़ दें
  • शब्दों का थैला

हम दस्तावेजों (वाक्य) की एक सूची बनाते हैं, प्रत्येक वाक्य की एक सूची है स्टेमडवर्ड्स और प्रत्येक दस्तावेज़ एक आशय (एक वर्ग) से जुड़ा है। पूरा कोड में है यह फ़ाइल.

फिर हमें एक प्रशिक्षण डेटा और हाइपरपैरामीटर सेट करने की आवश्यकता है।

सभी आवश्यक प्रीप्रोसेसिंग चरणों के बाद हम a . बनाते हैं model.py FeedForward तंत्रिका नेटवर्क को परिभाषित करने के लिए फ़ाइल।

फीडफॉरवर्ड न्यूरल नेटवर्क हैं कृत्रिम तंत्रिका प्रसार जहां इकाइयों के बीच संबंध नहीं बनता है a चक्र. फीडफॉरवर्ड न्यूरल नेटवर्क पहले प्रकार के कृत्रिम तंत्रिका नेटवर्क का आविष्कार किया गया था और अपने समकक्ष की तुलना में सरल हैं, आवर्तक तंत्रिका नेटवर्क। वे कहते हैं खिला हुआ क्योंकि सूचना केवल नेटवर्क में आगे बढ़ती है (कोई लूप नहीं), पहले इनपुट नोड्स के माध्यम से, फिर के माध्यम से छिपे हुए नोड्स (यदि मौजूद है), और अंत में आउटपुट नोड्स के माध्यम से।

ध्यान से! अंत में हमें सक्रियण फ़ंक्शन की आवश्यकता नहीं है क्योंकि बाद में हम क्रॉस-एन्ट्रॉपी हानि का उपयोग करेंगे और यह स्वचालित रूप से हमारे लिए एक सक्रियण फ़ंक्शन लागू करता है।

हम ReLU का उपयोग क्यों करते हैं?

वे सरल हैं, गणना करने में तेज़ हैं, और लुप्त होने वाले ग्रेडिएंट्स से ग्रस्त नहीं हैं, जैसे सिग्मॉइड फ़ंक्शंस (लॉजिस्टिक, टैन, एआरएफ, और इसी तरह)। कार्यान्वयन की सादगी उन्हें GPU पर उपयोग के लिए उपयुक्त बनाती है, जो आज मैट्रिक्स संचालन के लिए अनुकूलित होने के कारण बहुत आम हैं (जो कि 3D ग्राफिक्स के लिए भी आवश्यक हैं)।

क्रॉसएन्ट्रॉपी लॉस और एडम को परिभाषित करने के बाद हम बैकवर्ड और ऑप्टिमाइज़र स्टेप को लागू करते हैं।

इन सभी पंक्तियों का क्या अर्थ है?

हम ऑप्टिमाइज़र के लिए शून्य_ग्रेड () सेट करते हैं क्योंकि PyTorch में, प्रशिक्षण चरण के दौरान प्रत्येक मिनी-बैच के लिए, हमें बैकप्रोपेगेशन (यानी, वज़न और पूर्वाग्रहों का अद्यतन) शुरू करने से पहले ग्रेडिएंट को स्पष्ट रूप से शून्य पर सेट करने की आवश्यकता होती है क्योंकि PyTorch ग्रेडिएंट को जमा करता है बाद में पिछड़ा गुजरता है।

कॉलिंग .backward() एकाधिक बार प्रत्येक पैरामीटर के लिए ग्रेडिएंट (अतिरिक्त द्वारा) जमा करता है। यही कारण है कि आपको प्रत्येक .step() कॉल के बाद ऑप्टिमाइज़र.zero_grad() को कॉल करना चाहिए। ध्यान दें कि पहली .बैकवर्ड कॉल के बाद, दूसरी कॉल केवल तभी संभव है जब आपने एक और फॉरवर्ड पास किया हो।

ऑप्टिमाइज़र.स्टेप वर्तमान ग्रेडिएंट (पैरामीटर की .grad विशेषता में संग्रहीत) और अद्यतन नियम के आधार पर एक पैरामीटर अद्यतन करता है।

अंत में, train.py स्क्रिप्ट चलाने के बाद हमें क्या शानदार परिणाम मिला!

और आखिरी भाग में हमें अपने मॉडल को सेव करना है। यहाँ जिस तरह से मैंने इसे आसानी से किया।

मैंने आगे जाकर चैटबॉट के इस अद्भुत दृश्य को बनाने का फैसला किया।

मेरे सभी एचटीएमएल, सीएसएस और जावास्क्रिप्ट स्क्रिप्ट आपको मेरे गिटहब रेपो में मिलेंगे।

का आनंद लें!

अब, जैसा कि आप जानते हैं कि चैटबॉट क्या है और किसी भी प्रकार के व्यवसाय के लिए बॉट तकनीक कितनी महत्वपूर्ण है। आप निश्चित रूप से इस बात से सहमत होंगे कि बॉट्स ने व्यवसायों के अपने ग्राहकों के साथ बातचीत करने के तरीके को काफी हद तक बदल दिया है।

चैटबॉट प्रौद्योगिकियां आगे चलकर ग्राहक जुड़ाव रणनीति का एक महत्वपूर्ण हिस्सा बन जाएंगी। भविष्य के निकट बॉट रणनीतिक गतिविधियों को संभालने में मानवीय क्षमताओं और मानव एजेंटों को और अधिक नवीन बनाने के लिए आगे बढ़ेंगे।

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

समय टिकट:

से अधिक चैटबॉट्स लाइफ