คำถามที่พบบ่อย ChatBot
การได้รับคำตอบอัตโนมัติช่างมหัศจรรย์!! มันเป็น AI ที่แท้จริง (จำการทดสอบทัวริงได้ไหม)
โปรเจ็กต์นี้เป็นเฟรมเวิร์กแชทบอตที่ใช้คำถาม-คำตอบอย่างง่าย (แบบสอบถามแบบอะตอมมิก) ใช้ความคล้ายคลึงกันโดยอาศัยเวกเตอร์ต่างๆ เพื่อค้นหาคำถามที่ตรงกัน จากนั้นจึงตอบกลับด้วยคำตอบที่สอดคล้องกัน
ขอบเขตการสมัคร:
- มีความต้องการอย่างมากในการดูแลคำถามทั่วไป
- เครื่องชั่ง (เลเวอเรจ ระบบอัตโนมัติ พาสซีฟ)
- ไม่ค่อยมีงานมากนักในแชทบอทพื้นถิ่น (รับใช้มนุษยชาติ)
หมายเหตุ:
- แชทบอทนี้จะขึ้นอยู่กับการจำแนกหมวดหมู่ก่อน จากนั้นจึงตามความคล้ายคลึงกันภายในหมวดหมู่ที่เลือก
- Rasa แตกต่างจากเฟรมเวิร์กแชทบอตโอเพ่นซอร์สยอดนิยม โดยที่ NLU อิงตามเจตนาและเอนทิตี ในขณะที่การจัดการไดอะล็อกอิงตามลำดับ/การทำนาย LSTM
- ตามแนวคิดแล้วจะคล้ายกับ QnA Maker ของ Microsoft แต่ความแตกต่างที่สำคัญก็คือ หากคุณได้โค้ดเบส GitHub ทั้งหมดนี้ โมเดลของคุณก็จะอยู่ในเครื่อง ไม่มีอะไรบนเซิร์ฟเวอร์ การรักษาความปลอดภัยที่ดีขึ้นโดยเฉพาะสำหรับแชทบอทข้อมูลที่ละเอียดอ่อน เช่น ฝ่ายทรัพยากรบุคคลหรือการเงิน
ลิขสิทธิ์ (C) 2019 Yogesh H Kulkarni
ถึง Dos
- ใช้การฝังประโยคผ่าน HuggingFace หรือ Spacy
- สร้างแพลตฟอร์มแชทบอตคำถามที่พบบ่อยแบบเต็มโดยใช้การฝังแบบสลับได้
- [ใหม่] สามารถใช้ LangChain + Vector Db เช่น GPT-Index หรือ Pinecone (คลาวด์) เพื่อดำเนินการคำถามที่พบบ่อย
วิธีการทำงาน:
- คุณระบุคำถามที่พบบ่อยในรูปแบบ CSV (ไฟล์คั่นด้วยเครื่องหมายจุลภาค) โดยมีคลาสคำถาม-คำตอบในแต่ละแถว (เช่น "ยาสีฟันอัตรา GST คืออะไร, 12, อัตรา")
- คำถามจะถูกกำหนดเป็นเวกเตอร์และเตรียมพร้อมสำหรับการจับคู่ พร้อมด้วยโมเดลตัวแยกประเภท [X=vector(question), y=class]
- เมื่อข้อความค้นหาของผู้ใช้มาถึง 'คลาส' ของมันจะถูกคาดการณ์โดยใช้โมเดลตัวแยกประเภท และภายในคลาส ข้อความค้นหาแบบเวกเตอร์จะถูกจับคู่กับคำถามแบบเวกเตอร์ที่มีอยู่
- ขึ้นอยู่กับว่าข้อใดคล้ายกันมากที่สุด คำตอบนั้นจะถูกนำเสนอต่อผู้ใช้
สคริปต์:
- app.py: Chatbot UI ที่สร้างโดยใช้ Flask โดยใช้ templates/*.html
- bankfaqs.py: ตรรกะหลักของ Chatbot รวมถึงฐานความรู้
ข้อมูลอื่นๆ:
- คำถามที่พบบ่อย: ไฟล์ CSV ที่มีคำถามและคำตอบ
- สแตติกและเทมเพลต: ไฟล์ที่เกี่ยวข้องกับ Flask UI
หากต้องการเรียกใช้:
- ดำเนินการ app.py
- เปิด http://127.0.0.1:8080/ ในเบราว์เซอร์
- เริ่มแชท
การพึ่งพา:
- ต้องการ Python 3.6, numpy, scipy, sklearn
อ้างอิง
- โค้ดบอทเหตุการณ์ของ Bhavani Ravi วิดีโอ Youtube
- รหัสบอทคำถามที่พบบ่อยเกี่ยวกับการธนาคาร
ข้อสงวนสิทธิ์:
- ผู้เขียน ([email protected]) ไม่รับประกันผลลัพธ์ของโปรแกรม มันเป็นเพียงสคริปต์ที่สนุก ยังมีการปรับปรุงอีกมากมาย ดังนั้นอย่าพึ่งมันเลย