วิธีทำ พัฒนา Google Dialogflow บน Line chat
เราได้ทำความรู้จักกับ Google Dialogflow กันแล้ว เราจะมาลองสร้าง LINE Chatbot ที่ทำหน้าที่สุ่มร้านอาหารแบบง่ายๆ กัน เราจะไปกันแบบ Step-by-step
โดยเราจะแบ่งการสร้างแชทบอทบน Google Dialogflow เป็น 3 ขั้นตอนด้วยกัน
- สร้าง Agent
- สร้าง Intent และ Response
- ต่อ Agent กับ LINE@ Account
สิ่งที่ต้องเตรียมก่อน
- LINE@ account + Messaging API : หากใครยังไม่เคยมี สามารถทำตามเว็บนี้ https://developers.line.me/en/docs/messaging-api/getting-started/ (คำเตือน: LINE@ ที่ใช้ Messaging API จะใช้ 1-on-1 chat ไม่ได้นะ)
- Dialogflow account : สามารถสมัครได้ฟรีบนเว็บ https://dialogflow.com/
ถ้ามีครบ 2 อย่างนี้แล้ว ก็ไปลุยกันเลย
1. สร้าง Agent บน Dialogflow
ถ้าไม่เคยใช้ Dialogflow มาก่อนเลย ก็จะเจอหน้าเว็บแบบด้านล่าง ให้กด “Create Agent” (Dialogflow จะเรียกบอทว่า Agent)
อันดับแรก ให้ใส่ชื่อ Agent ของเราที่ด้านบนสุด เนื่องจากในบทความนี้เราจะสร้างบอทสุ่มร้านอาหาร เลยขอตั้งชื่อว่า “RandomLunch” ละกัน
จากนั้นเปลี่ยนภาษาเป็นภาษาไทย แล้วก็กด “Create” เลย แค่นี้ก็ได้ Agent สำหรับทำแชทบอทกันแล้ว
2. สร้าง Intent และ Response
ในขั้นตอนนี้ เราจะสอนบอทสุ่มร้านอาหารโดยมี Intent และ Response ง่ายๆ ตามรูปด้านล่างกัน
เนื่องจากอันนี้เป็นบอทที่ง่ายมากๆ เราจึงกำหนดให้บอทรับได้แค่ 2 Intents คือ
- เมื่อผู้ใช้ถามว่าบอทเป็นใคร → บอทจะตอบว่าตัวเองเป็นใครและชี้นำวิธีการใช้ให้ผู้ใช้
- เมื่อผู้ใช้ต้องการสุ่มร้านอาหาร → บอทสุ่มตอบร้านอาหารที่เรากำหนดไว้
จากขั้นตอนที่ 1 เมื่อสร้าง Agent เสร็จแล้ว เราจะเห็นหน้าด้านล่าง ให้เรากดปุ่มสีฟ้าที่เขียนว่า “CREATE INTENT”
ในหน้านี้เราจะใส่ข้อมูลสำหรับ Intent แรกที่ถามว่าบอทเป็นใครกัน โดยข้อมูลที่ต้องกรอกในหน้านี้จะมี 3 ส่วนตามรูปด้านล่าง
- ชื่อ Intent : อันนี้เราสร้าง Intent แรกกันก่อน เลยตั้งชื่อว่า “randomlunch.who”
- Training phases : ตรงส่วนนี้เป็นตัวอย่างข้อความที่ผู้ใช้จะพิมพ์เข้ามา ซึ่ง Dialogflow จะเอาข้อความเหล่านี้ไปทำ Natural Language Understanding (NLU) เพื่อหารูปแบบข้อความอื่นๆที่ผู้ใช้อาจจะพิมพ์มาด้วย
- Responses : ตรงนี้ให้กรอกข้อความที่บอทตอบกลับไปหาผู้ใช้ ถ้าเรากรอกหลายๆแบบ บอทจะสุ่มเลือกมา 1 ข้อความเพื่อตอบผู้ใช้ ทำให้คำตอบของบอทเปลี่ยนไปเรื่อยๆ ไม่ซ้ำซากจำเจ
พอกรอกข้อมูลครบทั้ง 3 ส่วนแล้วก็กดปุ่ม “SAVE” ตรงมุมขวาบน
ต่อไปให้เราหาคำว่า “Intents” ตรงเมนูของ Dialogflow ทางด้านซ้าย แล้วกดเครื่องหมาย + เพื่อสร้าง Intent ที่ 2 ที่จะให้บอทสุ่มร้านอาหาร โดยมีตัวอย่างการกรอกข้อมูลตามรูปด้านล่าง
(หมายเหตุ: ชื่อร้านอาหารเป็นชื่อที่รู้กันเฉพาะใน FINNOMENA)
ในหน้านี้เรายังสามารถ Test บอทของเราได้ด้วย สังเกตตรงด้านขวาของหน้านี้จะมีคำว่า “Try it now” อยู่ ตรงนี้เราลองพิมพ์ข้อความหาบอทเราได้ จะได้ผลลัพธ์ตามรูปด้านล่าง
ตรงนี้ Dialogflow จะบอกว่าข้อความที่เราพิมพ์ไป บอทเข้าใจว่าเป็น Intent อะไร และจะตอบว่าอะไร ทำให้เรา test บอทของเราก่อนไปใช้จริงได้ในหน้านี้เลย
อีกอย่างที่อยากให้สังเกตคือ ข้อความที่เราลองพิมพ์ ไม่เหมือนกับข้อความที่ใส่ใน Training phases แต่บอทก็หา Intent ได้ถูกต้อง นี่เป็นข้อดีของ Dialogflow ที่ทำให้เราไม่ต้องไล่ใส่ Keyword หรือข้อความที่ผู้ใช้จะพิมพ์มาทั้งหมดนั่นเอง
3. ต่อ Agent กับ LINE@ Account
ขั้นตอนสุดท้ายนี้เราจะมาเชื่อมต่อ Dialogflow กับ LINE@ account ของเรากัน
จากเมนูทางด้านซ้ายของ Dialogflow ให้เรากด “Integration” ซึ่งเป็นหน้าที่ใช้เชื่อมต่อ Dialogflow กับแอพแชทอื่นๆ ให้เราเลื่อนหาไอคอน “LINE” แล้วก็กดเล้ย
พอกดแล้วจะมีหน้าต่างให้เรากรอกข้อมูล ให้เราเอาข้อมูลจาก LINE Developer ตรง Channel setting มาใส่ในหน้านี้ตามรูปด้านล่างเลย
แค่นี้ Agent ของเราก็เชื่อมต่อกับ LINE@ Account เรียบร้อยแล้ว ทีนี้ก็ลองคุยกับบอทได้เลยจ้า
นี่ก็เป็นการสร้าง LINE Chatbot ด้วย Dialogflow แบบง่ายสุดๆ ตอนต่อไปเราจะมี tool ตัวใหม่มาแนะนำและลองสร้างแชทบอทที่ส่ง message แบบ Template หรือ Imagemap ที่สร้างได้เฉพาะบน Message API กัน
รับทำ Google Dialogflow บน Line chat @imakeplus