เปลี่ยนคำพูด แปลคำไทย จาก Google Dialogflow บน Line chat
รูปภาพที่เกี่ยวข้อง
หลายๆบริษัทกำลังให้ความสนใจกับแชทบอท (chatbot) มาก โดยเฉพาะแชทบอทบน LINE ซึ่งเป็นแอพที่คนไทยใช้คุยหรือตามข่าวสารกันแทบจะตลอดเวลา ตัวเสริมที่จะมาช่วยแพลตฟอร์มช่วยสร้างแชทบอทจาก Google ที่ชื่อว่า “GOOGLE Dialogflow” กัน

ปัญหาของการทำ LINE Chatbot ในปัจจุบัน

ก่อนจะไปรู้จักกับ Dialogflow ขอเกริ่นก่อนว่าปัจจุบันการทำแชทบอทบน LINE สามารถทำได้ 2 แบบด้วยกัน คือ

  1. Keyword Reply Message : นี่เป็นแบบเบสิคเลย คือยัด Keyword เข้าไปแล้วให้เซ็ทว่าให้ bot ตอบว่าไร แต่ด้วยความง่ายของมัน ก็ข้อจำกัดมากมาย เช่น
  • ต้องพิมพ์ตาม Keyword เป๊ะๆ ถึงจะ Reply ได้
  • ส่งรูปแบบ message ได้แค่บางอย่างเท่านั้น ไม่สามารถส่งพวกปุ่มกด หรือ Image Carousel ได้
  • ไม่จำคำตอบ คือมันจะไม่จำว่าเมื่อกี้คนพูดอะไรมาบ้าง ทำได้แค่ถามมา-ตอบไป

     2. LINE Message API : ถ้าใช้อันนี้เราก็สามารถลบข้อจำกัดของ Keyword Reply Message ไปได้เลย แต่ว่าความยากของมันก็คือ ต้องโค้ดจ้า ไม่เหมือน Facebook Messenger ที่มี Chatfuel เป็นเครื่องมือสร้าง Chatbot แบบโคตรง่าย แค่กดๆลากๆ ไม่ต้องโค้ดก็สร้าง Chatbot ได้แล้ว

                  Facebook Chatfuel เป็นเครื่องมือสร้าง Chatbot แบบโคตรง่าย แค่กดๆลากๆ ไม่ต้องโค้ดก็สร้าง Chatbot ได้แล้ว

Google Dialogflow คืออะไร แล้วมันดียังไง?

ทีนี้เรามารู้จัก Google Dialogflow แบบสั้นๆกัน

Google Dialogflow คือ platform สำหรับทำแชทบอทของ Google ที่ใช้ Machine Learning มาช่วยทำให้แชทบอทเรียนรู้และตอบได้เป็นธรรมชาติมากขึ้น  และ Dialogflowใช้กับภาษาไทยได้แล้วนะ

Google Dialogflow เรียนรู้ภาษาไทยได้

Google Dialogflow เป็น Intent-based chatbot คือ แชทบอทที่หาความต้องการ (Intent) ของผู้ใช้จากข้อความพิมพ์มา แล้วหาคำตอบที่เหมาะสมสำหรับ Intent นั้นๆ

ใน Google Dialogflow เราสามารถจัดกลุ่มประโยคที่มีความต้องการ (Intent) เหมือนกันให้บอทเรียนรู้ และกำหนดคำตอบสำหรับแต่ละ Intent ได้ ถ้าคำตอบที่เรากำหนดไว้มีหลายแบบ Google Dialogflow จะสุ่มเลือกคำตอบให้เอง

ตัวอย่าง Intent-Response ของประโยคต่างๆ

หากยังงงๆ ลองไปดูตัวอย่างที่ได้จาก Dialogflow ในรูปด้านล่างกัน

จากรูปด้านซ้ายใน Google Dialogflow เราใส่ประโยคตัวอย่าง (Training phases) ไป 4 ประโยคสำหรับ Intent:Who เพื่อถามว่าบอทคือใคร และกำหนดคำตอบ (Responses) สำหรับ Intent นี้ไว้ 3 แบบ

พอลองมาพิมพ์ใน LINE (รูปด้านขวา)จะเห็นว่าเราพิมพ์ไม่ได้ตรงกับ Training phases เป๊ะๆ แต่บอทก็หา Intent จากข้อความของเราได้เพราะบอทเรียนรู้จากประโยคที่เราใส่ไปแล้ว ส่วนคำตอบบอทก็สุ่มจากประโยคที่เรากำหนดไว้ ทำให้บอทตอบได้หลากหลาย ดูเป็นธรรมชาติมากกว่าตอบแค่แบบเดียว

หรือถ้าบอทเจอประโยคที่ไม่เข้าใจ เราก็สามารถ train บอทได้โดยเลือก Intent ให้กับข้อความที่บอทงง

(เพิ่มเติมทางเทคนิคสั้นๆ: ใน Google Dialogflow เราสามารถกำหนด Entities และ Context ให้กับ Training Phases ของเราได้ด้วย ทำให้บอทเรียนรู้ได้ดีขึ้น และทำ conversation flow ได้ เดี๋ยวรายละเอียดจะอธิบายในตอนต่อๆไป)

Google Dialogflow เชื่อมต่อกับ Chat platform ได้มากมาย

Google Dialogflow ไม่ได้ออกแบบมาเพื่อใช้บนแอพใดแอพหนึ่งเท่านั้น มันสามารถต่อกับอุปกรณ์ (Google Assistant, Amazon Alexa) และ Chat platform อื่นๆได้มากมาย รวมทั้ง LINE ด้วยจ้า ซึ่งตอนนี้ Google เปิดให้ใช้กันฟรีๆเลย

Google Dialogflow ส่งข้อความแบบ Rich Messagesได้

ความเจ๋งของ Google Dialogflow สำหรับการทำ LINE แชทบอทก็คือ User Interface ที่ใช้ LINE Messaging API ได้ ทำให้เราสร้างแชทบอทที่สามารถส่ง message ประเภท Template หรือ Imagemap กลับไปได้โดยที่ไม่ต้องโค้ด เท่าที่รู้ตอนนี้ยังไม่มีใครทำ User Interface สำหรับส่ง message ประเภทนี้เลย ต้องโค้ดเอาอย่างเดียว

Google Dialogflow ส่ง Template กลับไปได้ด้วย

Google Dialogflow มีข้อจำกัดบ้างมั้ย?

ถึงแม้ Google Dialogflow จะทำให้บอทเราฉลาดขึ้นมากมาย แต่สำหรับการทำ LINE Chatbot เอง ก็ยังมีข้อจำกัดอยู่ คือ

  1. Dialogflow ใช้ LINE Message API ทำให้ 1-on-1 chat บนหน้า LINE@ หายไป ถ้ามีใครทักมาไม่สามารถตอบแชทได้
  2. Dialogflow จะเก็บเฉพาะข้อความที่ผู้ใช้พิมพ์มาเท่านั้น ไม่ได้เก็บว่าใครพิมพ์มา ถ้าต้องการเก็บข้อมูลโดยละเอียดหรือดึงข้อมูลที่อื่นมาให้บอทตอบ ยังคงต้องโค้ดอยู่ดี
  3. Dialogflow ภาษาไทยยังอยู่ในขั้น Beta มากๆ ถ้ามีประโยคใกล้เคียงกันแต่คนละ Intent มันก็ยังไม่สามารถแยกได้ชัดเจน หรืออย่างเช่นคำว่า “เทอ” Dialogflow ก็ไม่รู้จัก