วิธีการเขียน Chatbot ABC Travel Agent โดยการใช้ Dialogflow ผ่าน LINE

บทความนี้เกี่ยวกับวิธีการสร้าง Chatbot ของผมซึ่งมีชื่อว่า ABC Travel Agent ครับ สโลแกนของ Chatbot นี่ก็คือ เที่ยวให้สนุกกับ ABC Travel Agent

Chatbot นี้เกี่ยวกับการให้คำแนะนำที่เที่ยวและราคาตั๋วในการท่องเที่ยวประเทศใน AEC

 

รูป diagram นี้ก็จะเป็น concept เกี่ยวกับใน chatbot โดยแบ่งเป็น intents ก่อนซึ่ง intents ก็คือหัวข้อต่างๆที่เราจะใช้ในการตอบโต้ระหว่าง user และ chatbot

ภายใน Intents ของแต่ละหัวข้อก็จะมี Training phrases ซึ่งเราต้องกำหนดก่อน Training pharses ก็คือคำถามที่ลูกค้าหรือuser จะเป็นฝ่ายเริ่มถามเราก่อน เราก็จะต้องใส่ข้อความที่คิดว่าลูกค้าจะถามอะไรเราบ้างต่อจากนั้นเราก็ต้องพิมพภายในช่อง Responses ว่าเราจะตอบลูกค้าเราอย่างไร

contexts เป็นการกำหนดว่าถามแล้วจะไปส่วนไหนต่อหรือไม่อย่างเช่นเลือกประเทศแล้วก็จะถามต่อไปว่าต้องการนั่งระดับชั้นไหนโดยการโดยสาร

ส่วน welcome เราจะไม่กำหนด contexts เพราะเป็นการถามตอบแบบ1ต่อ1 และไม่ได้ไปส่วนไหนต่อ

เราจะทำการสร้างintents โดยกดปุ่ม Create Intent ในรูปที่ 2

 

  • Welcome: เป็นการกล่าวคำทักทายเริ่มจากมีลูกค้ากล่าวทักทาย(user) มาเราก็จะตอบกลับคำทักทายของลูกค้าและอธิบายเกี่ยวกับบริษัทของเรา

ในส่วนของ Training pharse ใน intents นี้ก้จะเป็นเกี่ยวกับคำทักทายของลูกค้าอย่างเช่น สวัสดี, ดีครับ หรือจะถามว่า มีตั๋วไหม เป็นต้น

หลังจากที่ลูกค้าถามเราก็จะตอบลูกค้าและแนะนำเกี่ยวกับบริษัทหรือบริการของเรา

  • Country Selection: หลังจากนั้นลูกค้าก็จะถามเราว่ามีที่เที่ยวที่ไหนให้เที่ยวบ้างซึ่งใน chatbot ของผมก้จะนำเสนอ 5 ประเทศด้วยกัน

 

ต่อจากในการสร้าง intents เราก็สร้าง Add follow-up intent เราจะสร้างด้วยกัน 5 ประเทศ

ภายในแต่ละประเทศเราต้องทำการสร้าง Entities

Entities คือกลุ่มคำที่มีความหมายที่เหมือนกันซึ่งบางทีลูกค้าอาจไม่อยากจะพิมพตอบยาวก็จะพิมพสั้นๆตอบกลับมาเราก็จะต้องทำให้chatbot ของเรารับรู้ข้อความตัวนั้น

  • Class: ภายในแต่ละประเทศเราก็จะ Add follow-up intent เพิ่มเข้าไปอีกซึ่งจะเป็นเกี่ยวกับการเลือกที่นั่งบริการบนเครื่องบินโดยมีระดับชั้นดังต่อไปนี้ economy,business และ first ภายในที่นั่งแต่ละชั้นก็จะระบุราคาที่แตกต่างกันซึ่งราคาจะระบุในการresponse หลังจากที่ลูกค้าเลือกประเทศแล้ว

ตรงclass ของเราก็ต้องใส่ entities ด้วยเหมือนกัน

  • Payment: หลังจากที่ลูกค้าทราบราคาตั๋วสำหรับเที่ยวบินแล้วลูกค้าก็จะถามวิธีชำระเงินเรา ซึ่งเราจะต้องสร้าง intents เกี่ยวกับการชำระเงิน ในที่นี่จะมีการชำระเงิน2ประเภทด้วยกันได้แก่ บัตรเครดิต และ โอนเงิน

  • Thank You: หลังจากที่ลูกค้าทราบวิธีชำระเงินแล้วก้จะเป็นการกล่าวปิดบทสนทนาด้วยการขอบคุณลูกค้าและสร้างความประทำใจให้กับลูกค้าเพื่อทำให้ลูกค้าเกิดความประทับใจและกลับมาใช้บริการกับเราอีก

หลังจากที่เราได้ใส่ข้อมูลใน dialogflow ครบหมดแล้วเราสามารถใส่ในแอพพลิเคชั่นได้หลายอย่าง ในที่นี้ผมจะทำการเอาไปใช้จริงในแอพพลิเคชั่น Line เริ่มจากการลงทะเบียนการใช้งาน Line ก่อน

เมื่อทำการลงทะเบียนเสร็จกดเลือก provider และใส่หัวข้อของ chatbot ลงไป

เลือกสร้าง Messaging API

หลังจากนั้นทำการใส่ข้อมูลต่างๆลงไปและเราก็จะได้รหัส นำรหัสไปเชื่มกับdialogflow กดเข้าไปที่ Integrations และเลือกไปที่ไอคอน Line ทำตามขั้นตอนการใส่รหัส

หลังจากที่เราใส่เข้าไปใน Line เสร็จแล้วหากเราต้องการจะใส่สติกเกอร์ใน Line ของเราให้เราเลือกกดเข้าไปใน intents ที่เราต้องการจะใส่สติกเกอร์ลงไปในที่นี่ผมจะใส่ใน welcome intent นะครับ เมื่อเราเข้ามาแล้วก้ไปที่ตรง responses และทำการเลือก add responses และกด Custom payload

 

หลังจากนั้นไปที่ line developer แล้วไปที่ documents แล้วก้เลือก messaging API

ไปที่ concepts แล้วเลือก messages แล้วก้โหลด sticker list

เมื่อโหลดไฟล์สติกเกอร์แล้วเราก็จะได้ไฟล์pdf ตัวเลขของสติกเกอร์นั้นๆ หลังจากนั้นกดเข้าไปที่ sticker message และเราก็จะได้ code ในการใส่สติกเกอร์ใน chabot

ให้เราทำการcopy โค้ดแล้วในไปใส่ในcustom payload

และนี่ก็เป็นสติกเกอร์ที่ผมใส่ลงไปในไลน์ของผม

ส่วนนี้เป็น chatbot ที่สำเร็จแล้วนะครับและถ้าอยากลองเล่นกับ chatbot ของผมก้สามารถเข้าไลน์แล้วไปสแกนที่ QRcode นี่ได้เลยนะครับ

  •  
  •  
  •  
  •  
  •  
  •  
PARIN PHANYASAHACHART
at GlurGeek.Com
วิศวกรรมคอมพิวเตอร์และหุ่นยนต์ มหาวิทยาลัยกรุงเทพ

Leave a Reply