Technology

วิธีสร้างแชทบอทง่าย ๆ โดยใช้ python

2023-10-06 05:09:20


How to สร้างแชทบอทง่าย ๆ โดยใช้ python

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


แพ็คเกจที่จำเป็น

แพ็คเกจ python ที่จำเป็นมีดังนี้

tensorflow==2.3.1
nltk==3.5
colorama==0.4.3
numpy==1.18.5
scikit_learn==0.23.2
Flask==1.1.2


กำหนดเจตนา

กำหนด Intent ง่ายๆ และกลุ่มข้อความที่สอดคล้องกับ Intent เหล่านั้น


การเตรียมข้อมูล

นำเข้าแพ็คเกจที่จำเป็นทั้งหมดและแตกข้อมูลที่ต้องการ

ตัวแปร “training_sentences” เก็บข้อมูลการฝึกอบรมทั้งหมด (ซึ่งเป็นข้อความตัวอย่างในแต่ละ Intent Category) และตัวแปร “training_labels” เก็บป้ายกำกับเป้าหมายทั้งหมดที่สอดคล้องกับข้อมูลการฝึกอบรมแต่ละรายการและเรากำหนดเวกเตอร์คลังข้อมูลข้อความของเราโดยใช้คลาส " Tokenizer " และช่วยให้เราจำกัดขนาดคำศัพท์ของเราให้อยู่ที่จำนวนที่กำหนด เมื่อเราใช้คลาสนี้สำหรับงานการประมวลผลข้อความล่วงหน้า ตามค่าเริ่มต้น เครื่องหมายวรรคตอนทั้งหมดจะถูกลบออก เปลี่ยนข้อความให้เป็นลำดับคำที่คั่นด้วยช่องว่าง จากนั้นลำดับเหล่านี้จะถูกแบ่งออกเป็นรายการโทเค็น จากนั้นจะถูกจัดทำดัชนีหรือทำเป็นเวกเตอร์ นอกจากนี้เรายังสามารถเพิ่ม "oov_token" ซึ่งเป็นค่าสำหรับ "out of token" เพื่อจัดการกับคำศัพท์ (โทเค็น) ที่ไม่อยู่ในเวลาประมวลผล


จำลองการใช้งาน

กำหนดสถาปัตยกรรม Neural Network ของเราสำหรับโมเดลที่นำเสนอและเราใช้คลาสโมเดล " ตามลำดับ " ของKeras และทดสอบ


ทดสอบการใช้งานจริง

ใช้ฟังก์ชันแชทเผื่อมีส่วนร่วมกับผู้ใช้จริง เมื่อได้รับข้อความผู้ใช้ใหม่ แชทบอทจะคำนวณความคล้ายคลึงกันระหว่างลำดับข้อความใหม่และข้อมูลการฝึก เมื่อพิจารณาคะแนนความเชื่อมั่นที่ได้รับในแต่ละหมวดหมู่ ระบบจะจัดหมวดหมู่ข้อความของผู้ใช้ตามความตั้งใจที่มีคะแนนความเชื่อมั่นสูงสุด


การนำมาทำงานร่วมกับแอปพลิเคชัน

รวมโมเดลแชทบอทที่ผ่านการทดสอบเข้ากับแอปพลิเคชันแชทอื่น ๆ เพื่อให้การจัดการกับผู้ใช้ในโลกแห่งความเป็นจริงมีประสิทธิภาพมากขึ้น


ร่วมเเสดงความคิดเห็น :