chatbot เป็นซอฟต์แวร์ที่ออกแบบมาเพื่อใช้ในการสนทนาหรือโต้ตอบ สามารถพบได้ในหลากหลายอุตสาหกรรมเพื่อตอบสนองวัตถุประสงค์ที่หลากหลาย ตั้งแต่การให้การช่วยเหลือลูกค้าไปจนถึงการให้ความบันเทิง
ตัวอย่างของ chatbots ที่พบได้และเป็นที่รู้จักดีในชีวิตประจำวัน เช่น Siri และ Alexa
chatbots มีการทำงานอย่างไร?
- แยกแยะและวิเคราะห์สิ่งที่ผู้ใช้งานกรอก (input)
- แปลความหมายของ input ที่ได้รับ
- ตอบสนองหรือให้คำตอบด้วยผลลัพธ์ที่เหมาะสม
ตัวอย่างข้อความค้าหาของผู้ใช้งาน เช่น
แสดงสภาพอากาศในกรุงเทพฯพรุ่งนี้ให้หน่อย
Chatbots ที่ดีจะสามารถระบุเจตนาและเอนทิตี้ที่ผู้ใช้งานต้องการค้นหาได้ เจตนาคือวัตถุประสงค์หรือหมวดหมู่ข้อความค้นหาของผู้ใช้เพื่อดึงข้อมูลเกี่ยวกับสภาพอากาศ ส่วนเอนทิตี้คือข้อมูลเพิ่มเติมที่อธิบายถึงเจตนาของผู้ใช้ ในที่นี้เอนทิตี้คือ “กรุงเทพฯ” และ “พรุ่งนี้” ด้วยข้อมูลที่ได้รับจากผู้ใช้งานนี้ chatbots ควรที่จะตอบกลับผู้ใช้งานด้วยสภาพอากาศในสถานที่ที่ถูกต้องและวันเวลาที่ถูกต้องได้
ประเภทของ Chatbots
โดยทั่วไป Chatbots แบ่งออกเป็นหมวดหมู่กว้าง ๆ ไม่กี่ประเภทขึ้นอยู่กับวัตถุประสงค์ที่ออกแบบมาเพื่อให้บริการ
Response architecture models
ขั้นแรกแชทบอทสามารถแบ่งประเภทได้ตามวิธีสร้างการตอบสนองที่ส่งกลับไปยังผู้ใช้ วิธีการที่ง่ายที่สุดคือวิธีการแบบ ruled-based model ซึ่งการตอบสนองของ chatbots จะถูกกำหนดไว้ล่วงหน้าทั้งหมดและส่งคำตอบให้กับผู้ใช้ตามกฏที่วางไว้ วิธีการนี้รวมถึงการเรียนรู้แบบ decision trees ที่มีการกำหนดชุดผลลัพธ์ที่เป็นไปได้ไว้อย่างชัดเจนสำหรับแต่ละขั้นตอนสำหรับการโต้ตอบในบทสนทนา
ขั้นตอนต่อไปคือวิธีการที่เรียกว่า retrieval-based model ที่การตอบสนองของ chatbots จะถูกดึงมาจากคลังข้อมูลของการสนทนาที่มีอยู่ Machine Learning model เช่น แบบจำลองเชิงสถิติ NLP และเครือข่ายประสาทเทียม จะถูกใช้เพื่อตีความข้อมูลที่ผู้ใช้ป้อนและกำหนดการตอบสนองที่เหมาะสมที่สุดในการดึงข้อมูลออกมาจากคลัง
เช่นเดียวกับ retrieval-based model ที่ยึดตามการดึงข้อมูลการตอบสนองที่กำหนดไว้ล่วงหน้าแล้ว แต่ Machine Learning จะมีความสามารถเพิ่มเติมในการเรียนรู้ด้วยตนเองและพัฒนาตัวเลือกการตอบสนองเมื่อเวลาผ่านไป
สุดท้ายนี้ chatbots ที่สร้างขึ้นจะสามารถสร้างคำตอบของตนเองตามข้อมูลที่ผู้ใช้ป้อนแทนที่จะอาศัยข้อความที่มีอยู่แล้ว ซึ่งจะเกี่ยวข้องกับการใช้ deep learning เช่น LSTM-based seq2seq models เพื่อฝึกแชทบอทให้สามารถตัดสินใจได้ว่าคำตอบที่เหมาะสมคืออะไร
ในขณะที่แบบจำลอง หรือ models ที่สร้างขึ้นมาจะมีความยืดหยุ่นและทรงพลังมาก เพราะทำให้ chatbots ไม่ถูกจำกัดให้ใช้ชุดของกฎเกณฑ์หรือการตอบสนองที่กำหนดไว้ล่วงหน้าเท่านั้น แต่ก็มีความท้าทายในการนำมาใช้จริงอย่างมาก การฝึก chatbots จะต้องนำเข้าข้อมูลจำนวนมาก และบ่อยครั้งมักไม่แน่ชัดว่าข้อมูลอะไรที่ chatbots ต้องการใช้ในการตัดสินใจ ส่งผลให้ chatbots ที่ได้มีแนวโน้มที่จะเกิดข้อผิดพลาดทางไวยากรณ์และการตอบกลับที่ไร้สาระหรือไม่ตรงกับคำถาม
ในทางตรงกันข้าม แบบจำลอง retrieval-based models สามารถรับประกันคุณภาพของคำตอบได้เนื่องจากมีการกำหนดไว้ล่วงหน้า แต่ chatbots ที่ใช้แบบจำลองนี้จะถูกจำกัดให้ใช้เฉพาะภาษาที่มีอยู่ในข้อมูลที่ได้รับการฝึกเท่านั้น
ดังนั้นส่วนมากแล้ว chatbots จะถูกสร้างขึ้นโดยใช้แบบจำลองแบบผสมผสานเพื่อให้ผลลัพธ์ที่ดีที่สุด เช่น chatbots สำหรับ customer support อาจใช้แบบจำลองที่สร้างการสนทนาเล็กๆ น้อยๆแบบเปิดกว้างกับผู้ใช้งานก่อน จากนั้นจะสามารถดึงข้อมูลหรือคำตอบที่เป็นมืออาชีพที่กำหนดไว้ล่วงหน้าแล้วสำหรับตอบคำถามของผู้ใช้งานเกี่ยวกับสินค้าหรือบริการ เป็นต้น
Conversation domains
นอกจากนี้ chatbots ยังสามารถแบ่งออกให้ครอบคลุมหัวข้อการสนทนาได้อีกด้วย Closed domain chatbots หรือ dialog agent จะถูกจำกัดให้ตอบคำถามโดยโฟกัสไปที่หัวข้อใดหัวข้อหนึ่งเท่านั้น เพราะ chatbots เหล่านี้จะถูกสร้างขึ้นมาสำหรับจุดประสงค์ใดจุดประสงค์หนึ่ง ทำให้พวกมันมีประสิทธิภาพสูงและประสบความสำเร็จอย่างมากในการบรรลุเป้าหมายที่กำหนด ส่วนคุณภาพที่ผู้ใช้งานได้รับจาก chatbots ประเภทนี้ก็มีคุณภาพที่ดี เนื่องจากผู้ใช้งานเองก็ไม่ได้คาดหวังว่าจะได้รับคำตอบนอกจากหัวข้อที่กำหนดไว้
ในทางกลับกัน Open domain chatbots หรือ conversational agents ก็สามารถตอบสนองหัวข้อต่างๆในการสนทนา ที่ห้ความรู้สึกเหมือนการสนทนาระหว่างมนุษย์ โดย chatbots เหล่านี้จะเติมเต็มบทบาทความเป็นเพื่อนหรือนักบำบัดให้แก่ผู้ใช้ ทำให้ผู้ใช้สามารถเชื่อมต่อกับ chatbots ในระดับอารมณ์ความรู้สึก ซึ่งเป็นการเชื่อมต่อในระดับที่สูงขึ้นไปอีก แม้ว่า Open domain chatbots จะมีศักยภาพที่ดีอย่างน่าทึ่ง แต่ก็มีความท้าทายอย่างมากในการสร้างและประเมิน
บ่อยครั้งคำว่า chatbots จะถูกใช้ครอบคลุมสำหรับ open domain conversational agents เท่านั้น
การเริ่มบทสนทนา
อีกวิธีหนึ่งที่สามารถแบ่งประเภท chatbots ได้คือการสลับบทบาทให้ผู้ใช้หรือ bot สามารถเริ่มต้นการสนทนาก่อนได้ ตัวอย่างเช่นการสอบถามสภาพอากาศในกรุงเทพฯ สังเกตว่าผู้ใช้มีอิสระที่จะป้อนข้อความของตนเอง และ chatbot สามารถระบุและปะติดปะต่อคำหลักที่เกี่ยวข้องเพื่อตอบคำถามได้ นี่คือตัวอย่างของระบบการริเริ่มแบบผสมผสาน (mixed-initiative system) ซึ่งเป็นตัวแทนของการสนทนาระหว่างมนุษย์กับมนุษย์ตามปกติที่ผู้สนทนาทุกคนมีโอกาสเริ่มการสนทนาได้
ในทางตรงกันข้าม ระบบแบบ System-initiative system คือ ระบบที่ chatbots จะเป็นผู้ควบคุมการสนทนา และถามสำหรับข้อมูลที่ต้องการอย่างชัดเจน เช่น สถานที่ หรือวันเวลาที่ต้องการ เป็นต้น แม้ว่าระบบนี้จะสามารถนำไปใช้อย่างตรงไปตรงมาได้มากกว่า เนื่องจากสามารถคาดการณ์การตอบสนองของผู้ใช้ได้ แต่ก็ขาดความยืดหยุ่นและความเป็นธรรมชาติที่บ่งบอกลักษณะของการโต้ตอบปกติของมนุษย์