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 จะเป็นผู้ควบคุมการสนทนา และถามสำหรับข้อมูลที่ต้องการอย่างชัดเจน เช่น สถานที่ หรือวันเวลาที่ต้องการ เป็นต้น แม้ว่าระบบนี้จะสามารถนำไปใช้อย่างตรงไปตรงมาได้มากกว่า เนื่องจากสามารถคาดการณ์การตอบสนองของผู้ใช้ได้ แต่ก็ขาดความยืดหยุ่นและความเป็นธรรมชาติที่บ่งบอกลักษณะของการโต้ตอบปกติของมนุษย์