
ตอนนี้หลายๆบริษัทกำลังให้ความสนใจกับแชทบอท (chatbot) มาก โดยเฉพาะแชทบอทบน LINE ซึ่งเป็นแอพที่คนไทยใช้คุยหรือตามข่าวสารกันแทบจะตลอดเวลา
บทความซีรี่ย์นี้เลยอยากจะแนะนำการสร้างแชทบอทบน LINE แบบง่ายๆ ไม่ต้องแตะโค้ด ด้วยแพลตฟอร์มช่วยสร้างแชทบอทจาก Google ที่ชื่อว่า “Dialogflow” กัน โดยบทความนี้จะพาไปรู้จัก Dialogflow กันก่อนค่ะ
ปัญหาของการทำ LINE Chatbot ในปัจจุบัน
ก่อนจะไปรู้จักกับ Dialogflow ขอเกริ่นก่อนว่าปัจจุบันการทำแชทบอทบน LINE สามารถทำได้ 2 แบบด้วยกัน คือ
- Keyword Reply Message : นี่เป็นแบบเบสิคเลย คือยัด Keyword เข้าไปแล้วให้เซ็ทว่าให้ bot ตอบว่าไร แต่ด้วยความง่ายของมัน ก็ข้อจำกัดมากมาย เช่น
- ต้องพิมพ์ตาม Keyword เป๊ะๆ
- ส่งรูปแบบ message ได้แค่บางอย่างเท่านั้น ไม่สามารถส่งพวกปุ่มกด หรือ Image Carousel ได้
- ไม่จำคำตอบ คือมันจะไม่จำว่าเมื่อกี้คนพูดอะไรมาบ้าง ทำได้แค่ถามมา-ตอบไป
2. LINE Message API : ถ้าใช้อันนี้เราก็สามารถลบข้อจำกัดของ Keyword Reply Message ไปได้เลย แต่ว่าความยากของมันก็คือ ต้องโค้ดจ้า ไม่เหมือน Facebook Messenger ที่มี Chatfuel เป็นเครื่องมือสร้าง Chatbot แบบโคตรง่าย แค่กดๆลากๆ ไม่ต้องโค้ดก็สร้าง Chatbot ได้แล้ว

Dialogflow คืออะไร แล้วมันดียังไง?
ทีนี้เรามารู้จัก Dialogflow แบบสั้นๆกัน (จะพยายามไม่ลงเทคนิคมากนะ)
Dialogflow คือ platform สำหรับทำแชทบอทของ Google ที่ใช้ Machine Learning มาช่วยทำให้แชทบอทเรียนรู้และตอบได้เป็นธรรมชาติมากขึ้น และที่สำคัญคือเมื่อวันก่อน (24/2/2018) Google เพิ่งประกาศว่า Dialogflowใช้กับภาษาไทยได้แล้วนะ พวกยูคนไทยลองเอาไปใช้กันได้เล้ย!
Dialogflow เรียนรู้ภาษาไทยได้
Dialogflow เป็น Intent-based chatbot คือ แชทบอทที่หาความต้องการ (Intent) ของผู้ใช้จากข้อความพิมพ์มา แล้วหาคำตอบที่เหมาะสมสำหรับ Intent นั้นๆ
ใน Dialogflow เราสามารถจัดกลุ่มประโยคที่มีความต้องการ (Intent) เหมือนกันให้บอทเรียนรู้ และกำหนดคำตอบสำหรับแต่ละ Intent ได้ ถ้าคำตอบที่เรากำหนดไว้มีหลายแบบ Dialogflow จะสุ่มเลือกคำตอบให้เอง

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

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

(เพิ่มเติมทางเทคนิคสั้นๆ: ใน Dialogflow เราสามารถกำหนด Entities และ Context ให้กับ Training Phases ของเราได้ด้วย ทำให้บอทเรียนรู้ได้ดีขึ้น และทำ conversation flow ได้ เดี๋ยวรายละเอียดจะอธิบายในตอนต่อๆไป)
Dialogflow เชื่อมต่อกับ Chat platform ได้มากมาย
Dialogflow ไม่ได้ออกแบบมาเพื่อใช้บนแอพใดแอพหนึ่งเท่านั้น มันสามารถต่อกับอุปกรณ์ (Google Assistant, Amazon Alexa) และ Chat platform อื่นๆได้มากมาย รวมทั้ง LINE ด้วยจ้า ซึ่งตอนนี้ Google เปิดให้ใช้กันฟรีๆเลย

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

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