สวัสดีค่ะวันนี้จะมาสอนวิธีการสร้าง Chatbot ด้วย Dialogflow กันนะคะ
โดย Chatbot ที่เราจะสร้างในวันนี้ชื่อบอท Kaibin (ไก่บิน)
สโลแกน คือ หิวเมื่อไหร่ก็แวะมา ไก่ทอดน้องไก่บิน
ส่วน Concept ของบอทไก่บินก็คือ
- สั่งอาหารออนไลน์ได้
- รับออเดอร์ลูกค้าได้
- พูดคุยอย่างเฟรนด์ลี่
- ตอบคำถามได้คล่อง
ก่อนที่เราจะเริ่มสร้างบอท เราจะต้องวางแผนโครงสร้างก่อนเพื่อให้เห็นวัตถุประสงค์ที่เราต้องการ
นี่คือโครงสร้างของบอทไก่บินที่เราต้องการค่ะ
เรามาเริ่มสร้างบอทกันเลยยย !!!
อันดับแรกให้เข้าเว็บไซต์ https://dialogflow.com/ กันก่อนนะคะ คลิ๊ก Go to console และทำการ Login ให้เรียบร้อย
มาดูกันที่หัวข้อ Intent หรือ จุดประสงค์ กันนะคะ ตามรูปภาพข้างต้นนี้ สร้าง Intent ขึ้นมา โดยการกด Create intent แล้วสร้างจุดประสงค์ในการทำงานของบอทเราโดยแยกออกไว้เป็นหมวดหมู่
- ทักทาย
- การรับออเดอร์
- การชำระเงิน
- ขอบคุณ
หากเราต้องการให้บอทของเราทำงานแบบรูปแบบไหน มีฟังก์ชั่นอย่างไร ให้เราสร้างได้ตามใจชอบเลยค่ะ หลังจากสร้างแล้ว อย่าลืมกด Save ด้วยนะคะ
เรามาดูภายใน Intent กันดีกว่าว่ามีอะไรบ้าง
นี่คือหัวข้อ Welcome หรือ การทักทายของบอทนะคะ
Training phrases หรือ วลีการฝึกอบรม จะเป็นเหมือนการฝึกบอทของเรา โดยการยกตัวอย่างคำหรือประโยคที่เราคิดว่า user หรือลูกค้าของเราจะใช้ ยิ่งเราเทรนบอทได้มากเท่าไหร่ % error ในการตอบจะยิ่งน้อยลง
Responses หรือ การตอบ ในฟังก์ชั่นนี้ให้เราสร้างประโยคที่ใช้ในการตอบลูกค้าขึ้นมาที่หัวข้อ Text response
จะสร้างกี่ประโยคก็ได้ หากเราสร้างมากกว่าหนึ่งประโยคบอทจะทำการ random ประโยคที่เราสร้างไว้นำไปใช้ในการตอบ
ให้ทำตามขั้นตอนข้างต้นนี้ใน Intent แต่ละอัน
เนื่องจากบอทไก่บินเป็นบอทสั่งอาหาร การจะรับออเดอร์แต่ละอย่างจะต้องมีการกำหนดคำหรือประเภทของอาหาร เพื่อให้บอทตอบได้ตรงคำถาม เรามาดูกันที่ภาพข้างล่างนี้เลยค่ะ
เราได้สร้าง Entities ขึ้นมาเป็นหัวข้อที่ร้านเรากำหนดไว้
- Menu (เมนู)
- Body of Kai (ส่วนของไก่)
ยกตัวอย่างหัวข้อ Menu หรือก็คือเมนูที่ร้านเราจะขาย
สร้าง Key word เมนูของเราตามภาพข้างต้นนี้ ในหนึ่งคำจะใส่หลายๆ แท็กก็ได้ เผื่อลูกค้าพิมพ์มาไม่เต็มคำ
หลังจากที่เราสร้าง Key word ของเราเสร็จแล้ว กด Save จากนั้นให้เราไปเทรนบอทที่ Intent อีกรอบ
พิมพ์ประโยคที่คิดว่า user จะสั่งแล้วใส่ key word ของเราลงไปในประโยคด้วย จากนั้นให้ทำการ Train บอทของเรา
ในการ Train บอท ให้เรากดที่รูปเฟือง ไปที่ ML Setting จากนั้นกด Train
บอทของเราจะถูกเทรน แล้วผลที่ได้จะออกมาเป็นแบบนี้
นี่คือผลลัพธ์ที่ได้
บอทจะตอบกลับโดยการใช้ประโยคใน Intent หมวด order ที่เรากำหนดไว้
เรามาดูกันที่เทคนิคกันต่อเลยดีกว่าค่ะ
เทคนิคที่จะมาสอนในวันนี้คือ การใส่ Sticker ลงในแชทบอท ของเรา
เข้าไปที่เว็บไซต์ Line Developers ไปที่ Documents
จากนั้นให้คลิ๊กที่ Messaging API
ไปที่หัวข้อ Concepts และเลือก Messages
เลื่อนลงมาจนเจอ Message types
ในหัวข้อนี้จะมีประเภทของข้อความที่เราต้องการให้แสดงใน Line
วันนี้เราจะสอนการใส่ Sticker เพราะฉะนั้นให้คลิ๊กไปที่หัวข้อ Sticker message
เข้าไปที่ Sticker list ดูว่ามีสติ๊กเกอร์อะไรให้ใช้บ้าง
เมื่อเราเลือกสติ๊กเกอร์ที่เราต้องการได้แล้ว เราจะมาเข้าสู่วิธีการใส่เลยนะคะ กดไปที่หน้า Sticker message
ทำการ Copy โค้ดที่เขาให้แล้วกลับไปที่ Dialogflow
กด ADD RESPONSES และกด Cumtom payload จะขึ้นมาเป็นช่องว่างให้ใส่โค้ดดังนี้
วางโค้ดที่เราได้ลงไปในช่องว่าง ให้ได้หน้าตาแบบนนี้
กลับไปที่ Sticker list เลือกสติ๊กเกอร์ที่เราต้องการ
วันนี้เราเลือกใช้ 119
กลับมาที่โค้ดของเราต่อ
สิ่งที่เราจะต้องเปลี่ยนมีเพียง 2 อย่างคือ packageId และ stickerId
การที่เราจะรู้ว่าควรใส่เลขอะไรให้สังเกตุจาก 2 ช่องแรกของสติ๊กเกอร์นั้น
พอใส่ครบแล้ว จะออกมาหน้าตาแบบนี้
กด Save แค่นี้ก็เรียบร้อยแล้วค่ะ
เราถึงขั้นตอนสุดท้ายแล้วค่ะ
นั่นก็คือ วิธีการเชื่อมต่อกับ Line App
มาเริ่มกันเล้ยย !!
เข้า Login Line Developers ก่อนเลยค่ะ
กด Create New Provider และใส่ข้อมูลบอทของเราให้ครบ
จะได้ออกมาแบบนี้ ให้เรากดเข้าไปในช่องที่เราสร้างไว้เลยค่ะ
แล้วกลับไปที่ Dialogflow กด Integrations
เลื่อนเปิดใช้งาน Line
จะขึ้นเป็นหน้านี้ขึ้นมา ให้เรากลับไปที่ช่องที่เราสร้างไว้ นำข้อมูลในนั้นมาใส่ในช่องให้ครบ
Channel Access Token ให้กด Issue ใน Line Developers
จะขึ้นเป็นหน้านี้ กด Issue แล้ว copy ตัวอักษรยาวๆที่ได้มาใส่ในช่องของ Dialogflow
กด START เพื่อเริ่มทำงาน
ในช่องบอทที่เราได้สร้างไว้ใน Line Developers ให้เปลี่ยนหัวข้อดังนี้ เป็น
Enabled
- Use webhooks
- Allow bot to join group chats
- Greeting messages
Disabled
- Auto-reply messages
เมื่อเสร็จสิ้นหมดทุกอย่างแล้ว เลื่อนไปด้านล่างสุดจะมี QR Code ให้เราแอดบอทของเรา
ทำการแอดบอทของเราไป จะได้ออกมาเป็นแบบนี้
เรามาดูบอทที่เราได้กันเลยค่ะ
THANK YOU !
BY
นางสาวสุปรียา สุกุ
รหัสนักศึกษา 1610900266