จำลองสถานการณ์ ทำ 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

Work Collaboration & Productivity

ใช้ Gmail, เอกสาร, ไดรฟ์ และปฏิทินสำหรับธุรกิจ Tangerine  เป็นพันธมิตรระดับ Google Premier Partner ประสบการณ์มากกว่า 10 ปี กว่า 100,000 ผู้ใช้งานในประเทศไทย ติดต่อ Tangerine ราคา G…
Share on facebook
FB Share
Share on linkedin
LinkedIn

Related Blogs

Work from Home with G Suite ในสภาวะวิกฤตที่เราจะต้องก้าวผ่านไปด้วยกัน

Work from Home with G Suite ในสภาวะวิกฤตที่เราจะต้องก้าวผ่านไปด้วยกัน

Tangerine March 23, 2020 G Suite Google Cloud Highlight

สำหรับในประเทศไทย ถึงแม้ตอนนี้จะยังไม่มีการประกาศสถานการณ์เชื้อไวรัสโควิด-19 ให้เข้าสู่เฟสที่ 3 แต่อัตราการติดเชื้อของคนในประเทศกลับมียอดที่สูงขึ้นเรื่อยๆ สาเหตุส่วนหนึ่งเกิดจากการแพร่กระจายจากคนสู่คน นโยบายส่วนใหญ่ที่หลาย ๆ องค์กรให้ความเห็นตรงกัน คือการให้พนักงานเริ่มทยอยทำงานจากที่บ้าน หรือ การทำงานแบบ Work from Home เผื่อเป็นการควบคุมและลดการแพร่กระจายของเชื้อไวรัส

Read More
G Suite ช่วยให้องค์กรและโรงเรียนรับมือ COVID-19 ผ่าน Hangouts Meet & Chat

G Suite ช่วยให้องค์กรและโรงเรียนรับมือ COVID-19 ผ่าน Hangouts Meet & Chat

Tangerine March 6, 2020 G Suite Google Cloud Highlight

Google แจกฟรี Hangouts Meet เพื่อลดการติดเชื้อ Covid-19 ให้ลูกค้า G Suite ทุกท่าน ( วันนี้ – 1 ก.ค. 63 เท่านั้น )

Tangerine แจกคู่มือการตั้งค่าและการใช้งาน Hangouts Meet ฟรี

Read More
บริษัทระดับโลก ทำไมถึงใช้ G Suite

บริษัทระดับโลก ทำไมถึงใช้ G Suite

Tangerine January 30, 2020 G Suite Google Cloud Google Cloud Platform Security

องค์กรชั้นนำ ระดับโลก ทำไมถึงเลือกใช้ G Suite ?

Read More
FAQ: การเปลี่ยนภาษาสำหรับทุกๆเครื่องมือใน G Suite

FAQ: การเปลี่ยนภาษาสำหรับทุกๆเครื่องมือใน G Suite

Tangerine September 17, 2019 G Suite Google Cloud Knowledge

การเปลี่ยนภาษาในบัญชีสำหรับในทุกๆ แพลตฟอร์มในบัญชีของท่านเพื่อความสะดวกในการใช้งานมากยิ่งขึ้น

Read More
New improvements for Jamboard mobile and tablet apps

New improvements for Jamboard mobile and tablet apps

Tangerine September 17, 2019 G Suite Google Cloud

ทาง Google ได้มีการออกแบบแอป Jamboard สำหรับ iOS และ Android ใหม่เพื่อปรับปรุงการใช้งานให้มีประสิทธิภาพการ

Read More
Google Calendar ใส่ช่วงเวลาทำงานมีประโยชน์มากกว่าที่คิด

Google Calendar ใส่ช่วงเวลาทำงานมีประโยชน์มากกว่าที่คิด

Tangerine September 10, 2019 G Suite Google Cloud

Google Calendar ในส่วนของช่วงเวลาทำงาน เพื่อให้เพื่อนร่วมงานสามารถตระหนักถึงช่วงเวลาทำงานของเรา ในการเชิญเข้าร่วมประชุมหรือนัดสำคัญต่างๆ

Read More
Scroll to Top

ติดต่อ tangerine

Tel: +66 2 2855511   |   Email: info@tangerine.co.th

This website uses cookies to ensure you get the best experience on our website. View Privacy Policy