Chatbot ที่ใช้ NLP ใน PyTorch โบนัสขวดและการปรับใช้ JavaScript

โหนดต้นทาง: 1123050
วิกตอเรีย มาสโลวา

ในบรรดาวิธีต่างๆ ที่คุณสามารถปรับปรุงความพึงพอใจของลูกค้า แชทบอทคือ a โซลูชันที่มีประสิทธิภาพเพื่อช่วยฐานลูกค้า. Chatbots มีราคาไม่แพง ช่วยขยายธุรกิจของคุณ ปรับแต่งได้อย่างเต็มที่ ช่วยให้ลูกค้าค้นหาผลิตภัณฑ์/บริการที่เหมาะสม และช่วยสร้างความไว้วางใจให้กับธุรกิจของคุณ เพื่อพิสูจน์สิ่งนี้ ฉันจะผ่านเนื้อหาต่อไปนี้:

  1. แมชชีนเลิร์นนิ่งแชทบอทคืออะไร?
  2. เหตุใดแชทบอทจึงมีความสำคัญในแวดวงธุรกิจต่างๆ
  3. สร้างแชทบอทที่ใช้ NLP ของคุณเองโดยใช้ PyTorch
  4. ปรับใช้ chatbot ใน Javascript และ Flask

แชทบอท (สนทนา AI) เป็นโปรแกรมอัตโนมัติที่จำลองการสนทนาของมนุษย์ผ่านข้อความ แชทด้วยเสียง หรือทั้งสองอย่าง มันเรียนรู้ที่จะทำสิ่งนั้นตามปัจจัยการผลิตจำนวนมากและ การประมวลผลภาษาธรรมชาติ (NLP).

เพื่อประโยชน์ของความหมาย แชทบอทและผู้ช่วยสนทนาจะถูกใช้สลับกันในบทความนี้ ซึ่งมีความหมายเหมือนกัน

Business Insider รายงานว่าตลาดแชทบอททั่วโลกคาดว่าจะเติบโตจาก 2.6 พันล้านดอลลาร์ในปี 2019 เป็น 9.4 พันล้านดอลลาร์ในปี 2024 โดยคาดการณ์ว่าจะมีอัตราการเติบโตต่อปีที่ 29.7% รายงานเดียวกันนี้ยังชี้ว่าการเติบโตของการใช้แชทบอทจะเติบโตสูงสุดในอุตสาหกรรมค้าปลีกและอีคอมเมิร์ซ เนื่องจากความต้องการที่เพิ่มขึ้นในการให้บริการลูกค้าด้วยประสบการณ์แบบ Omnichannel ที่ราบรื่น

แค่นั้นก็น่าจะเพียงพอแล้วที่จะโน้มน้าวใจคุณว่า แชทบอทคือวิธีจัดการกับความสัมพันธ์กับลูกค้า ก้าวไปข้างหน้า แต่พวกเขาจะเติบโตต่อไปในฐานะเครื่องมือภายในสำหรับเครื่องมือระดับองค์กร และเกือบทุกอุตสาหกรรมจะใช้เทคโนโลยีนี้หากยังไม่ได้ดำเนินการ

ด้านล่างนี้คือเหตุผลหลักว่าทำไมธุรกิจจำนวนมากขึ้นเรื่อยๆ จึงนำกลยุทธ์แชทบอทมาใช้ และวิธีที่พวกเขาเป็นสูตรวิน-วินในการได้มาซึ่งและรักษาลูกค้าไว้

  • ลดเวลารอลูกค้า - 21% ของผู้บริโภค ดูแชทบอทเป็นวิธีที่ง่ายที่สุดในการติดต่อธุรกิจ. บอทเป็นวิธีที่ชาญฉลาดกว่าเพื่อให้แน่ใจว่าลูกค้าจะได้รับการตอบสนองทันทีที่พวกเขากำลังมองหาโดยไม่ต้องรอคิว
  • ความพร้อมใช้งาน 24×7 — บอทพร้อมเสมอเพื่อดึงดูดลูกค้าด้วยคำตอบสำหรับคำถามทั่วไปที่พวกเขาถามในทันที ประโยชน์ที่เป็นไปได้สูงสุดของการใช้แชทบอทคือการบริการลูกค้าตลอด 24 ชั่วโมง
  • การมีส่วนร่วมของลูกค้าที่ดีขึ้น — บอทสนทนาสามารถดึงดูดลูกค้าได้ตลอด XNUMX ชั่วโมงโดยเริ่มการอนุรักษ์เชิงรุกและเสนอคำแนะนำส่วนบุคคลที่ช่วยเพิ่มประสบการณ์ของลูกค้า
  • ประหยัดค่าใช้จ่ายในการบริการลูกค้า — Chatbots จะช่วยให้ธุรกิจประหยัดเงินได้มากกว่า $ 8 พันล้าน ต่อปี. บอทสามารถปรับขนาดได้อย่างง่ายดายซึ่งช่วยประหยัดค่าใช้จ่ายในการสนับสนุนลูกค้าในการจ้างทรัพยากรเพิ่มเติม ค่าใช้จ่ายด้านโครงสร้างพื้นฐาน ฯลฯ
  • รับรองคุณสมบัติและการขายแบบอัตโนมัติ — คุณสามารถทำให้ช่องทางการขายของคุณเป็นแบบอัตโนมัติด้วยแชทบอทเพื่อคัดเลือกลีดและนำพวกเขาไปยังทีมที่เหมาะสมเพื่อการบำรุงเลี้ยงต่อไป ความสามารถในการดึงดูดลูกค้าในทันทีจะเพิ่มจำนวนโอกาสในการขายและอัตรา Conversion

1. Conversational AI สามารถให้บริการลูกค้าอัตโนมัติได้อย่างไร

2. แชทอัตโนมัติและแชทสด: อนาคตของการบริการลูกค้าจะเป็นอย่างไร?

3. Chatbots เป็นผู้ช่วยทางการแพทย์ในการระบาดของ COVID-19

4. แชทบอทกับ ผู้ช่วยเสมือนอัจฉริยะ — อะไรคือความแตกต่าง & ทำไมต้องใส่ใจ?

มีแพลตฟอร์มมากมายที่นักพัฒนา นักวิทยาศาสตร์ข้อมูล และวิศวกรแมชชีนเลิร์นนิงสามารถสร้างและดูแลแชทบอทได้เช่น ไดอะล็อกโฟลว์ และ อเมซอน เล็กซ์. แต่เป้าหมายของฉันในบทความนี้เพื่อแสดงวิธีสร้างแชทบ็อตตั้งแต่ต้นเพื่อช่วยให้คุณเข้าใจแนวคิดของเครือข่ายฟีดฟอร์เวิร์ดสำหรับการประมวลผลภาษาที่เป็นธรรมชาติ

มาเริ่มกันเลย!

คุณสามารถค้นหารหัสที่สมบูรณ์ใน my . ได้อย่างง่ายดาย repo GitHub.

นี่คือแผนสั้นๆ ที่ฉันต้องการทำตามเพื่อสร้างแบบจำลอง

  1. ทฤษฎี + แนวคิด NLP (Stemming, Tokenization, กระเป๋าคำ)
  2. สร้างข้อมูลการฝึก
  3. โมเดล PyTorch และการฝึกอบรม
  4. บันทึก/โหลดโมเดลและใช้งานการแชท

เราจะสร้างแชทบอทสำหรับผู้ผลิตกาแฟและชาเพื่อจัดการกับคำถามง่ายๆ เกี่ยวกับเวลาทำการ ตัวเลือกการจอง และอื่นๆ

กรอบงานแชทบอทต้องมีโครงสร้างที่กำหนดเจตนาในการสนทนา วิธีหนึ่งที่ชัดเจนในการทำเช่นนี้คือการใช้ไฟล์ JSON แบบนี้

ความตั้งใจของ Chatbot

ความตั้งใจในการสนทนาแต่ละครั้งประกอบด้วย:

  • a แท็ก (ชื่อเฉพาะ)
  • รูปแบบ (รูปแบบประโยคสำหรับตัวแยกข้อความเครือข่ายประสาทของเรา)
  • การตอบสนอง (จะใช้เป็นคำตอบ)

ไปป์ไลน์ NLP ของเราจึงเป็นแบบนี้

  • tokenize
  • ล่าง + ก้าน
  • ยกเว้นเครื่องหมายวรรคตอน
  • กระเป๋าคำ

เราสร้างรายการเอกสาร (ประโยค) แต่ละประโยคเป็นรายการของ คำต้นกำเนิด และเอกสารแต่ละฉบับมีความเกี่ยวข้องกับเจตนา (คลาส) รหัสเต็มอยู่ใน ไฟล์นี้.

จากนั้นเราต้องตั้งค่าข้อมูลการฝึกอบรมและไฮเปอร์พารามิเตอร์

หลังจากขั้นตอนก่อนการประมวลผลที่จำเป็นทั้งหมด เราสร้าง a model.py ไฟล์เพื่อกำหนด FeedForward Neural Network

โครงข่ายประสาทฟีดฟอร์เวิร์ดคือ โครงข่ายประสาทเทียม โดยที่การเชื่อมต่อระหว่างหน่วยไม่เกิด a วงจร. โครงข่ายประสาทฟีดฟอร์เวิร์ดเป็นโครงข่ายประสาทเทียมประเภทแรกที่คิดค้นขึ้นและง่ายกว่าโครงข่ายประสาทเทียม เครือข่ายประสาทที่เกิดซ้ำ. พวกเขาถูกเรียก ฟีดไปข้างหน้า เนื่องจากข้อมูลเดินทางไปข้างหน้าในเครือข่ายเท่านั้น (ไม่มีการวนซ้ำ) ก่อนผ่านโหนดอินพุตแล้วจึงผ่าน โหนดที่ซ่อนอยู่ (ถ้ามี) และสุดท้ายผ่านโหนดเอาต์พุต

ระวัง! ในท้ายที่สุด เราไม่ต้องการฟังก์ชันการเปิดใช้งาน เพราะภายหลัง เราจะใช้การสูญเสียเอนโทรปีแบบไขว้ และจะใช้ฟังก์ชันการเปิดใช้งานสำหรับเราโดยอัตโนมัติ

ทำไมเราใช้ ReLU?

พวกมันง่าย รวดเร็วในการคำนวณ และไม่ต้องทนทุกข์กับการไล่ระดับสีที่หายไป เช่น ฟังก์ชัน sigmoid (ลอจิสติก, tanh, erf และอื่นๆ) ความเรียบง่ายของการใช้งานทำให้เหมาะสำหรับใช้กับ GPU ซึ่งเป็นเรื่องปกติมากในปัจจุบันเนื่องจากมีการปรับให้เหมาะสมสำหรับการทำงานของเมทริกซ์ (ซึ่งจำเป็นสำหรับกราฟิก 3D ด้วย)

หลังจากกำหนด CrossEntropy Loss และ Adam เราจะใช้ขั้นตอนย้อนกลับและตัวเพิ่มประสิทธิภาพ

บรรทัดทั้งหมดเหล่านี้หมายความว่าอย่างไร

เราตั้งค่า zero_grad() เป็นตัวเพิ่มประสิทธิภาพเพราะใน PyTorch สำหรับทุกชุดย่อยในระหว่างขั้นตอนการฝึก เราจำเป็นต้องตั้งค่าการไล่ระดับสีให้เป็นศูนย์อย่างชัดเจนก่อนที่จะเริ่มดำเนินการย้อนกลับ (เช่น การอัปเดตน้ำหนักและอคติ) เนื่องจาก PyTorch สะสมการไล่ระดับสีบน ย้อนหลังผ่านไป

การเรียก .backward() หลายครั้งจะสะสมการไล่ระดับสี (โดยเพิ่มเติม) สำหรับแต่ละพารามิเตอร์ นี่คือเหตุผลที่คุณควรเรียกOptimizer.zero_grad() หลังจากการเรียก .step() แต่ละครั้ง โปรดทราบว่าหลังจากการโทร .backward ครั้งแรก การโทรครั้งที่สองจะทำได้หลังจากที่คุณดำเนินการส่งต่ออีกครั้งแล้วเท่านั้น

Optimizer.step จะดำเนินการอัปเดตพารามิเตอร์ตามการไล่ระดับสีปัจจุบัน (เก็บไว้ในแอตทริบิวต์ .grad ของพารามิเตอร์) และกฎการอัปเดต

ในที่สุด หลังจากรันสคริปต์ train.py เราก็ได้ผลลัพธ์ที่ยอดเยี่ยมมาก!

และในส่วนสุดท้าย เราต้องบันทึกโมเดลของเรา นี่คือวิธีที่ฉันทำได้อย่างง่ายดาย

ฉันตัดสินใจที่จะก้าวต่อไปและสร้างการแสดงภาพอันน่าทึ่งของ ChatBot

สคริปต์ HTML, CSS และ JavaScript ทั้งหมดของฉันที่คุณจะพบใน repo GitHub ของฉัน

สนุก!

ตอนนี้ เมื่อคุณทราบแล้วว่าแชทบอทคืออะไร และเทคโนโลยีบอทมีความสำคัญต่อธุรกิจทุกประเภทอย่างไร คุณจะเห็นด้วยอย่างแน่นอนว่าบอทได้เปลี่ยนแปลงวิธีที่ธุรกิจโต้ตอบกับลูกค้าอย่างมาก

เทคโนโลยี Chatbot จะกลายเป็นส่วนสำคัญของกลยุทธ์การมีส่วนร่วมของลูกค้าในอนาคต บอทในอนาคตอันใกล้จะพัฒนาขีดความสามารถของมนุษย์และตัวแทนมนุษย์ให้มีนวัตกรรมมากขึ้นในการจัดการกิจกรรมเชิงกลยุทธ์

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

ประทับเวลา:

เพิ่มเติมจาก ชีวิตแชทบอท