צ'אטבוט מבוסס NLP ב- PyTorch. בקבוק בונוס ופריסת JavaScript

צומת המקור: 1123050
ויקטוריה מסלובה

בין הדרכים השונות בהן ניתן לשפר את שביעות רצון הלקוחות, צ'אטבוטים הם א פתרון רב עוצמה שיעזור לקהל הלקוחות. צ'אטבוטים הם סבירים, עוזרים להגדיל את העסק שלך, ניתנים להתאמה אישית מלאה, עוזרים ללקוחות שלך למצוא את המוצרים/שירותים הנכונים ועוזרים לבנות אמון בעסק שלך. כדי להוכיח זאת אעבור על התכנים הבאים:

  1. מהו צ'טבוט למידת מכונה?
  2. מדוע צ'אטבוטים חשובים בתחומים עסקיים שונים?
  3. בנה לך צ'אטבוט מבוסס NLP באמצעות PyTorch.
  4. פרוס צ'אטבוט ב-Javascript ו-Flask.

צ'אט בוט (בינה מלאכותית לשיחה) היא תוכנית אוטומטית המדמה שיחה אנושית באמצעות הודעות טקסט, צ'אט קולי או שניהם. הוא לומד לעשות זאת על סמך הרבה תשומות, ו עיבוד שפה טבעית (NLP).

למען הסמנטיקה, צ'אטבוטים ועוזרי שיחה ישמשו לסירוגין במאמר זה, הם בערך מתכוונים לאותו דבר.

Business Insider דיווח כי שוק הצ'אטבוטים העולמי היה צפוי לגדול מ-2.6 מיליארד דולר ב-2019 ל-9.4 מיליארד דולר ב-2024, צופה קצב צמיחה שנתי מורכב של 29.7%. אותו דו"ח גם הציע שהצמיחה הגבוהה ביותר בהטמעת צ'טבוט תהיה בתעשיות הקמעונאות והמסחר האלקטרוני, בשל הביקוש הגובר לספק ללקוחות חוויות חלקות של כל הערוצים.

זה לבד צריך להספיק כדי לשכנע אותך את זה צ'אטבוטים הם הדרך לטפל ביחסי לקוחות מתקדמים, אבל הם גם ימשיכו לצמוח ככלים פנימיים לכלים ארגוניים וכמעט כל תעשייה תאמץ את הטכנולוגיה אם היא עדיין לא עשתה זאת.

להלן הסיבות העיקריות לכך שיותר ויותר עסקים מאמצים את אסטרטגיית הצ'טבוט וכיצד הם מהווים נוסחה מנצחת לרכישת לקוחות ושימורם.

  • צמצם את זמן ההמתנה של הלקוחות - 21% מהצרכנים ראה בצ'אטבוטים את הדרך הקלה ביותר ליצור קשר עם עסק. בוטים הם דרך חכמה יותר להבטיח שהלקוחות יקבלו את המענה המיידי שהם מחפשים מבלי לגרום להם להמתין בתור.
  • זמינות 24 × 7 - בוטים זמינים תמיד כדי למשוך לקוחות עם תשובות מיידיות לשאלות הנפוצות שנשאלות על ידם. היתרון הפוטנציאלי העיקרי של שימוש בצ'אטבוטים הוא שירות לקוחות 24 שעות ביממה.
  • מעורבות לקוחות טובה יותר - בוטים לשיחה יכולים למשוך לקוחות מסביב לשעון על ידי התחלת שימור יזום והצעת המלצות מותאמות אישית המשפרות את חווית הלקוח.
  • חסכון בעלויות שירות לקוחות - צ'אטבוטים יעזרו לעסקים לחסוך יותר מ 8 $ מיליארד לשנה. ניתן להגדיל את הבוטים בקלות מה שחוסך עלויות תמיכת לקוחות של שכירת משאבים נוספים, עלויות תשתית וכו'.
  • אוטומציה של הסמכת לידים ומכירות - אתה יכול להפוך את משפך המכירות שלך לאוטומטי באמצעות צ'אטבוטים כדי להכשיר מראש לידים ולהפנות אותם לצוות הנכון לטיפוח נוסף. היכולת למשוך לקוחות מגדילה באופן מיידי את מספר הלידים ושיעורי ההמרה.

1. כיצד AI בשיחה יכול להפוך את שירות הלקוחות לאוטומטי

2. צ'טים אוטומטיים מול שידורים חיים: איך ייראה עתיד שירות הלקוחות?

3. צ'טבוטים כעוזרים רפואיים במגפת COVID-19

4. צ'טבוט נגד. עוזר וירטואלי חכם - מה ההבדל ומדוע אכפת?

יש הרבה פלטפורמות שבהן מפתחים, מדעני נתונים ומהנדסי למידת מכונה יכולים ליצור ולתחזק צ'אטבוטים כמו זרימת דיאלוג ו אמזון לקס. אבל המטרה שלי במאמר זה להראות לך איך ליצור צ'אט בוט מאפס כדי לעזור לך להבין את המושגים של רשתות הזנה קדימה לעיבוד שפה טבעית.

בואו נתחיל!

אתה יכול בקלות למצוא קוד מלא ב-my GitHub ריפו.

הנה תוכנית קצרה שאני רוצה לעקוב אחריה כדי לבנות מודל.

  1. מושגי תיאוריה + NLP (גזע, אסימון, שקית מילים)
  2. צור נתוני אימון
  3. מודל והדרכה של PyTorch
  4. שמור/טען מודל והטמיע את הצ'אט

אנו נבנה צ'אטבוט לצרכי ספקי קפה ותה כדי לטפל בשאלות פשוטות לגבי שעות פעילות, אפשרויות הזמנה וכן הלאה.

מסגרת צ'טבוט זקוקה למבנה שבו מוגדרות כוונות שיחה. דרך נקייה אחת לעשות זאת היא באמצעות קובץ JSON, כמו זה.

כוונות צ'אטבוט

כל כוונת שיחה מכילה:

  • a תג (שם ייחודי)
  • דפוסי (דפוסי משפטים עבור מסווג הטקסט של הרשת העצבית שלנו)
  • תגובות (אחד ישמש כתגובה)

אז צינור ה-NLP שלנו נראה כך

  • אסימון
  • תחתון + גבעול
  • אל תכלול תווי פיסוק
  • תיק מילים

אנו יוצרים רשימה של מסמכים (משפטים), כל משפט הוא רשימה של מילות מוצא וכל מסמך משויך לכוונה (מחלקה). הקוד המלא נמצא קובץ זה.

אז אנחנו צריכים להגדיר נתוני אימון והיפרפרמטרים.

לאחר כל שלבי העיבוד המקדים הדרושים אנו יוצרים א model.py קובץ להגדרת FeedForward Neural Network.

רשתות עצביות מזרימות הן רשתות עצביות מלאכותיות כאשר החיבורים בין היחידות אינם יוצרים א מחזור. רשתות עצבים להזנה קדימה היו הסוג הראשון של רשת עצבים מלאכותית שהומצאה והן פשוטות יותר מהמקבילה שלהן, רשתות עצביות חוזרות. הם נקראים הזנה מכיוון שמידע עובר רק קדימה ברשת (ללא לולאות), תחילה דרך צמתי הקלט, ואז דרך ה- צמתים נסתרים (אם קיים), ולבסוף דרך צמתי הפלט.

הזהר! בסופו של דבר אנחנו לא צריכים פונקציית הפעלה כי אחר כך נשתמש באובדן צולב אנטרופיה והיא מיישמת עבורנו פונקציית הפעלה אוטומטית.

מדוע אנו משתמשים ב-ReLU?

הם פשוטים, מהירים לחישוב ואינם סובלים מהדרגות נעלמים, כמו פונקציות סיגמואידיות (לוגיסטיות, tanh, erf וכדומה). פשטות ההטמעה הופכת אותם למתאימים לשימוש במעבדי GPU, הנפוצים מאוד כיום בשל היותם אופטימליים לפעולות מטריקס (שנדרשות גם עבור גרפיקה תלת מימדית).

לאחר הגדרת CrossEntropy Loss ו-Adam, אנו מיישמים צעד אחורה ואופטימיזציה.

מה המשמעות של כל השורות האלה?

הגדרנו את zero_grad() לאופטימיזר מכיוון שב-PyTorch, עבור כל מיני-אצט במהלך שלב האימון, עלינו להגדיר במפורש את ההדרגות לאפס לפני שמתחילים לבצע פרופרגציה לאחור (כלומר, עדכון של משקלים והטיות) מכיוון ש-PyTorch צובר את ההדרגות ב- מסירות אחורה לאחר מכן.

קריאה ל-.backward() פעמים רבות צוברת את הגרדיאנט (על ידי הוספה) עבור כל פרמטר. זו הסיבה שעליך לקרוא ל-optimizer.zero_grad() לאחר כל קריאה .step(). שים לב שבעקבות השיחה הראשונה לאחור, שיחה שנייה אפשרית רק לאחר שביצעת מעבר קדימה נוסף.

optimizer.step מבצע עדכון פרמטר המבוסס על הגרדיאנט הנוכחי (מאוחסן בתכונת .grad של פרמטר) וכלל העדכון.

לבסוף, לאחר הפעלת התסריט של train.py איזו תוצאה נפלאה קיבלנו!

ובחלק האחרון אנחנו צריכים לשמור את הדגם שלנו. הנה הדרך שבה עשיתי את זה בקלות.

החלטתי ללכת רחוק יותר וליצור את ההדמיה המדהימה הזו של ChatBot.

את כל סקריפטי ה-HTML, CSS וה-JavaScript שלי תמצאו ב-GitHub שלי.

תהנו!

כעת, כפי שאתה מודע למה זה צ'אט בוט וכמה חשובה טכנולוגיית הבוט עבור כל סוג של עסקים. אתה בהחלט מסכים שהבוטים שינו באופן דרסטי את הדרך שבה עסקים מתקשרים עם הלקוחות שלהם.

טכנולוגיות צ'טבוט יהפכו לחלק חיוני מאסטרטגיית מעורבות הלקוחות בעתיד. בוטים קרובים לעתיד יתקדמו כדי לשפר את היכולות האנושיות וסוכנים אנושיים להיות חדשניים יותר בטיפול בפעילויות אסטרטגיות.

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

בול זמן:

עוד מ חיי צ'אט בוטס