

จำลองสถานการณ์ ทำ Chatbot มาตอบลูกค้า
Dialogflow สุดยอด Chatbot จาก Google
พัฒนา Chatbot ไปช่วยตอบข้อความ
ระหว่างนั่งที่บูธรอลูกค้าสอบถามเรื่อง Chatbot ผมเลยนึกสนุกสร้าง Chatbot ขึ้นมาเพื่อให้คุยกับผู้สนใจที่มาในบูธ โดยจำลองสถานการณ์เกี่ยวกับการที่ลูกค้ามาเยี่ยมชมและสอบถามโซลูชันที่บูธ และตอบแบบสอบถามใน Google Form เมื่อตอบแบบสอบถามเสร็จก็รับป๊อบคอร์นไปเลย 1 ถุง โดยจะมีให้เลือก 2 รส คือรสเค็ม กับรสชีส ครับ แล้วเอามาเป็นโจทย์ในการทำ Chatbot ใช้เวลาไม่นาน ให้เพื่อนช่วยทดสอบ และปรับแก้อีกนิดหน่อย Chatbot ก็มีความสมบูรณ์มากยิ่งขึ้น ซึ่งมันง่ายมาก
ถ้าใครอยากลองคุยกับ bot ตัวนี้ดู ว่ามีผลลัพธ์เป็นยังไงบ้าง ก็สามารถเปิด Line และสแกน QR ด้านล่าง เพื่อคุยกับ bot ได้เลยครับ
และถ้าต้องการทราบรายละเอียดของ Chatbot ตัวนี้
มาดูวิธีการกันเลยครับ
ภาพรวมของ Intent ทั้งหมด
Intent Design
ผม design ให้มี intent ทั้งหมด 5 intent โดยมีรายละเอียดคือ
- Default Fallback Intent: มีมาให้อยู่แล้วแต่เข้าไปแก้ response ให้ตอบด้วยเรื่องที่ chatbot ทำได้
- Default Welcome Intent: มีมาให้อยู่แล้วแต่เข้าไปแก้ response ให้ตอบด้วยเรื่องที่ chatbot ทำได้ (เช่นเดียวกับ Fallback Intent) คือแจ้งข้อมูลการได้รับป๊อบคอร์ และถามผู้ใช้งาน ว่าตอบแบบสอบถามหรือยัง
- Default Welcome – yes: สร้างเป็น follow up intent เมื่อผู้ใช้งานพิมพ์ว่าตอบแบบสอบถามแล้วก็จะสอบถามรสชาติของป๊อบคอร์นที่ต้องการ
- Default Welcome – yes – popcorn: สร้างเป็น follow up intent เพื่อแจ้งผู้ใช้ว่า เจ้าหน้าที่กำลังเตรียมป๊อบคอร์นรสที่เลือกไว้ให้อยู่
- Default Welcome – no: สร้างเป็น follow up intent เมื่อผู้ใช้งานพิมพ์ว่า ยังไม่ได้ตอบแบบสอบถามแล้ว ก็จะแจ้ง link เพื่อให้ไปตอบแบบสอบถาม
อำนวยความสะดวกให้ผู้ใช้ ด้วย Quick Replies
ในแต่ละ intent ผมจะใช้ Quick Replies ในจุดที่เหมาะสม เพื่อช่วยให้ผู้ใช้ สามารถกดเลือกเพื่อโต้ตอบกับ chatbot ได้เลย ไม่ต้องคิดและพิมพ์เองทั้งหมด และ Quick Replies ยังช่วยให้ผู้ใช้รู้ว่าควรจะตอบอะไรกลับไปให้ chatbot เพื่อทำให้เกิดประสบการณ์การใช้งานที่ดี (คือลดโอกาสที่ผู้ใช้จะตอบสิ่งที่ chatbot ไม่รู้เรื่องกลับมา)
ด้านล่างคือตัวอย่าง Quick Replies ที่ตั้งไว้ในแต่ละ intent ครับ
Quick Replies ของ Default Welcome Intent จะเป็นการถามให้ผู้ใช้ตอบกลับมาว่าตอบแบบสอบถามหรือยัง?
Quick Replies ของ Default Welcome Intent – yes หลังจากตอบแบบสอบถาม bot จะถามว่าต้องการป๊อบคอร์นรสชาติไหน
กรณีของ Default Fallback Intent จะตั้ง response เหมือน Default Welcome Intent (อันนี้แล้วแต่เราสร้างครับ)
กำหนดรสชาติของป๊อบคอร์นด้วย entity
ผมต้องการให้ bot ที่สร้าง สามารถดึงค่ารสชาติที่ผู้ใช้งานเลือก เอามาอยู่ใน response ได้ เช่น การทวนรายการว่า “เจ้าหน้าที่กำลังทำป๊อบคอร์นรส … ให้อยู่นะครับ” การดึงค่าจากประโยคที่ผู้ใช้พิมพ์เข้ามา เราจะใช้ความสามารถของ parameter แต่การที่ bot จะรู้จัก parameter นี้ เราจะต้องสร้างมันขึ้นมาในระบบก่อน ด้วยเมนู entity
สร้าง entity ชื่อ flavour โดยมี 2 รสชาติ คือ ชีส และ เค็ม (สามารถระบุ synonym ได้)
ใน Training phrases ให้เราใส่ตัวอย่างชื่อรสชาติ และระบุเป็น parameter ไว้ใช้งานต่อได้
ใน Responses เราสามารถดึงค่ารสชาติ มาใช้งานได้ด้วย $flavour
การเชื่อมโยง intent ด้วย context
เรามาดูโครงสร้างของ intent กันอีกครั้งนะครับ
ด้วยการออกแบบ intent แบบนี้ จะช่วยให้บทสนทนาไหลไปตาม follow up intent ที่กำหนดไว้ คือ
- Default Welcome Intent > bot ถามผู้ใช้ว่าตอบแบบสอบถามหรือยัง ถ้าตอบแล้วก็จะเข้า
- Default Welcome Intent – yes > bot จะถามต่อว่าชอบป๊อบคอร์นรสชาติไหน ถ้าตอบรสที่ให้เลือก
- Default Welcome Intent – yes – popcorn > bot จะขึ้นข้อความ โดยดึงรสชาติที่เลือกไว้ มาตอบ
แต่ในกรณีที่ผู้ใช้ไม่ได้ตอบตาม flow ที่ออกแบบไว้ เช่น
- Default Welcome Intent > bot ถามผู้ใช้ว่าตอบแบบสอบถามหรือยัง ถ้ายัง ก็จะเข้า
- Default Welcome Intent – no > bot ก็จะขึ้น url ของแบบสอบถามให้
- เมื่อผู้ใช้ตอบแบบสอบถามเรียบร้อยแล้ว และกลับมาตอบ bot อีกครั้งว่า “ตอบแบบสอบถามเสร็จแล้ว” ประโยคนี้ควรจะเข้า Default Welcome Intent – yes ใช่มั้ยครับ แต่ถ้าเราไม่ตั้งค่าเพิ่ม ประโยคนี้จะไปเข้า Default Fallback Intent แทน
เหตุผลเป็นเรื่องของ context ครับ ซึ่งก็คือ การที่ bot จะจับคู่เข้า intent Default Welcome Intent – yes ได้นั้น จำเป็นจะต้องมี context ก่อนตามรูปด้านล่าง
ต้องมี input context ชื่อ DefaultWelcomIntent-followup ก่อนถึงจะเข้า intent นี้ได้
ชื่อ context ตัวนี้ ระบบจะตั้งให้อัตโนมัติจากที่เราสร้าง followup intent
ถ้าเราเข้าไปดูที่ output context ของ Default Welcome Intent เราจะเจอ context ชื่อเดียวกัน แต่เป็น output context
output context ของ Default Welcome Intent จะไปตรงกับ input context ของ Default Welcome Intent – yes
ถ้าเราอยากแก้ปัญหาข้างต้น ก็สามารถใช้ context มาช่วยเชื่อม intent ให้วิ่งเข้าได้ตามที่เราต้องการ ในที่นี้คือ
- Default Welcome Intent > bot ถามผู้ใช้ว่าตอบแบบสอบถามหรือยัง ถ้ายัง ก็จะเข้า
- Default Welcome Intent – no > bot ก็จะขึ้น url ของแบบสอบถามให้ พร้อมกับตั้งค่า output context เป็น DefaultWelcomIntent-followup
- เมื่อผู้ใช้ตอบแบบสอบถามเรียบร้อยแล้ว และกลับมาตอบ bot อีกครั้งว่า “ตอบแบบสอบถามเสร็จแล้ว” ประโยคนี้จะเข้า Default Welcome Intent – yes เลย เนื่องจากมี context ที่ตรงกันจากการตั้งค่าเพิ่มเติม
ตั้งค่า output context ของ intent Default Welcome Intent – no ให้เป็น DefaultWelcomIntent-followup เพื่อให้สามารถเข้า intent Default Welcome Intent – yes เมื่อผู้ใช้ตอบกลับว่า “ตอบแบบสอบถามแล้ว”
กรณีของ Default Fallback Intent จะคล้ายๆ กันคือตั้ง output context เป็น DefaultWelcomIntent-followup เพื่อให้สามารถเข้า intent Default Welcome Intent – yes หรือ Default Welcome Intent – no ได้เลย
มาดูตัวอย่างการใช้งานจริงกันครับ
หากใครสนใจนำ chatbot ต้องการข้อมูลเพิ่มเติม หรือสนใจ กรุณาติดต่อทีมงาน tangerine ได้ที่ info@tangerine.co.th หรือ 02 285 5511
Work Collaboration & Productivity
Related Link
Vendors
Highlight Post
-
-
แชร์ประสบการณ์ขึ้นพูด 15 นาทีในงาน Google Cloud Summit Bangkok 2019
ระหว่างนั่งที่บูธรอลูกค้าสอบถามเรื่อง Chatbot ผมเลยนึกสนุกสร้าง Chatbot ขึ้นมาเพื่อให้คุยกับผู้สนใจที่มาในบูธ โดยจำลองสถานการณ์เกี่ยวกับการที่ลูกค้ามาเยี่ยมชมและสอบถามโซลูชันที่บูธ
-
-
VxBlock อีกหนึ่งทางเลือกของ Desktop Virtualization
ในปัจจุบัน HCI มีการใช้งานอย่างแพร่หลาย เนื่องจากเป็นเทคโนโลยีที่มีความรวดเร็ว และง่ายในการติดตั้ง สามารถเริ่มต้นเล็กๆและขยายให้ใหญ่ได้ไม่ยาก (Scale Up and Scale Out) รวมทั้งง่ายในการจัดการ และเพิ่มประสิทธิภาพในการทำงานของผู้ใช้
-
-
10 ความเสี่ยงด้านความปลอดภัยของข้อมูลที่มีผลต่อบริษัท(ตอนที่1)
เหล่าผู้ดูแลระบบแทบทุกคนคงเคยนึกสงสัย ว่าพวกแฮกเกอร์นั้นสามารถเจาะเข้ามาในระบบเครือข่ายของเราได้อย่างไร ทั้งๆ ที่มีระบบป้องกันการบุกรุกต่างๆ ติดตั้งอยู่มากมายแล้ว สิ่งที่ทำได้ภายหลังจากการถูกบุกรุกก็คือ การสืบหาช่องโหว่หรือรูรั่ว ซึ่งก็อาจไม่ทันการณ์เสียแล้ว
Solution Tags
Knowledge
-
-
การตั้งค่าและการใช้งานเบื้องต้น Google Sheets
Google Sheets สามารถจัดการข้อมูลบน ทำงานกันได้อย่างมีประสิทธิภาพ ประกอบกับ Machine Learning ทำให้การวิเคราะห์ข้อมูล หรือกราฟง่ายขึ้นกว่าเดิม
-
-
Google docs การย้อน version ของเอกสาร
See version history ดูประวิติการแก้ไขย้อนหลังทั้งหมด
-
-
การตั้งค่าเงื่อนไขการรับ Gmail ด้วย Filters
การตั้งค่าเงื่อนไขการรับ Email ด้วย Filters เป็นฟังชั่นที่เราสามารถจัดการอีเมลที่เข้าออกได้อย่างละเอียดและมีความเป็นระเบียบมากยิ่งขึ้น
News and Events
Related Blogs
-
-
FAQ: การเปลี่ยนภาษาสำหรับทุกๆเครื่องมือใน G Suite
การเปลี่ยนภาษาในบัญชีสำหรับในทุกๆ แพลตฟอร์มในบัญชีของท่านเพื่อความสะดวกในการใช้งานมากยิ่งขึ้น
-
-
New improvements for Jamboard mobile and tablet apps
ทาง Google ได้มีการออกแบบแอป Jamboard สำหรับ iOS และ Android ใหม่เพื่อปรับปรุงการใช้งานให้มีประสิทธิภาพการ
-
-
Google Calendar ใส่ช่วงเวลาทำงานมีประโยชน์มากกว่าที่คิด
Google Calendar ในส่วนของช่วงเวลาทำงาน เพื่อให้เพื่อนร่วมงานสามารถตระหนักถึงช่วงเวลาทำงานของเรา ในการเชิญเข้าร่วมประชุมหรือนัดสำคัญต่างๆ
-
-
Gmail ฉลาดขึ้น แก้ Grammar แนะนำ Vocabulary และ ประโยคภาษาทางการ
Google ได้นำโปรแกรมประมวลผลทางภาษามาเพื่อเพิ่มขีดความสามารถของผู้ใช้ G Suite ในการเขียนอีเมลเพื่อลดความผิดพลาดทางภาษาอย่างเรื่องไวยกรณ์และเพิ่มความแม่นยำในการเลือกคำศัพท์ภาษาอังกฤษให้เป็นทางการและง่ายต่อความเข้าใจมากขึ้น
-
-
ทำงานด้วยกันบน Docs แบบ Real Time ไม่ต้องกด Save ไม่ต้องมี Flashdrive
ฟีเจอร์ผู้ช่วยที่หน้าจอที่ช่วยให้เราติดตามการแก้ไขแบบ Real Time ที่ Collaborator ของเราช่วยกัน เพิ่มประสิทธิภาพการทำงานเอกสารด้วย Live Editions
-
-
การสร้างแบบสอบถามด้วย Google Forms
ทุกวันนี้ feedback ในเรื่องต่างๆมีความสำคัญมาก ความคิดเห็นหรือข้อเสนอแนะจะเป็นสิ่งที่ทำให้งานของคุณมีการปรับและพัฒนาได้ดียิ่งขึ้น Google Forms สามารถสร้างแบบสอบถามหลากหลายรูปแบบ ตอบโจทย์การใช้งานที่ง่ายและประสิทธิภาพสูง