การใช้งาน DialogFlow ร่วมกับ Line Messaging API เบื้องต้น

เขียนเมื่อ 4 ปีก่อน โดย Ninenik Narkdee
dialogflow line messaging api line line bot sdk

คำสั่ง การ กำหนด รูปแบบ ตัวอย่าง เทคนิค ลูกเล่น การประยุกต์ การใช้งาน เกี่ยวกับ dialogflow line messaging api line line bot sdk

ดูแล้ว 10,844 ครั้ง


เนื้อหานี้เป็นแนวทางเบื้องต้นในการใช้งาน DialogFlow
ร่วมกับ LINE Messsage API  โดยจะเป็นการใช้งาน DialogFlow
สร้างบทสทนาโต้ตอบกับผู้เใช้ ให้กับ Line Bot ของเรา
 
 

การใช้งาน DialogFlow

    เบื้องต้น เราต้องทำการสมัครสมาชิก เพื่อเข้าใช้งาน DialogFlow โดยสามารถเข้าไปที่เว็บไซต์
 
    การใช้งาน DialogFlow เราจำเป็นต้องมีบัญชี Google Account ให้ทำการล็อกอินด้วยบัญชี Google
แล้วไปยังหน้า จัดการ (console)
 

    สร้าง Dialogflow agent

    เมื่อเข้ามาสู่หน้าจัดการแล้ว ให้เราทำการสร้าง Agent ขึ้นมาใหม่ สามารถดูแนวทางได้ตามนี้     
    https://dialogflow.com/docs/getting-started/first-agent
 
    ในที่นี้จะตั้งเป็น DemoAgent กำหนดเป็นภาษาไทย เราเลือกให้มีการสร้าง Google Project ขึ้นมาใหม่ รายละเอียดประมาณรูป
ด้านล่าง จากนั้นกด Create แล้วรอสักครู่

 

 
 
    เมื่อทำการสร้าง DemoAgent เรียบร้อยแล้ว เราก็จะเห็นหน้าตาการจัดการประมาณรูปด้านล่าง
 
 

 
 
    สิ่งที่เราต้องสนใจเบื้องต้นคือ หัวข้อ "Intents"  
    ในเบื้องต้น DialogFlow จะสร้าง Intents ให้กับ Agent ของเรามาให้อัตโนมัติ 2 รายการคือ 
    Default Fallback Intent และ Default Welcome Intent
 
    เข้าใจอย่างง่าย "intents" คือ สิ่งที่บ่งบอกถึงจุดประสงค์ เป้าหมาย หรือ ความตั้งใจ ของผู้ใช้ที่ต้องการจาก Agent ซึ่งก็จะคือ 
Bot นั่นเอง โดยเราสามารถคลิกเข้าไปดูค่าต่างๆ ใน Intent ทั้งสองได้ เช่น เข้าไปดูใน Default Welcome Intent 
 
 

 
 

 
 
    แล้วดูในหัวข้อ Training phrases  กับ Responses เข้าใจอย่างง่าย ก็คือ ข้อความที่ผู้ใช้จะคุยกับ Bot และ ข้อความที่ Bot จะ
คุยโต้ตอบกลับ โดยจะสัมพันธ์กัน ทดสอบอย่างง่าย เราพิมพ์ทดสอบ คำว่า "ว่าไง" และ Bot ก็จะเลือกคำว่า "สวัสดีค่ะ" หรือ
"สบายดีไหมคะ" มาตอบกลับเรา (ทดสอบได้ที่ฟอร์มด้านขวา)
 
 

 
 
    โดยการโต้ตอบ Bot จะเรียนรู้ข้อความที่ผู้ใช้กรอกเข้ามา และเลือกคำตอบที่เหมาะสม ไม่จำเป็นว่า เราจะต้องกรอกข้อมูลทักทาย
ตรงกับค่าที่กำหนดใน Training phrases เสมอไป เช่น เราลองพิมพ์คำว่า "ไง" ก็จะได้ผลตอบกลับมาว่า "สวัสดีค่ะ"
 
 

 
 
    เราสามารถเพิ่มข้อความ คำ หรือประโยคที่สัมพันธ์กับ Intent อย่างกรณีนี้เป็น Intent สำหรับเพื่อทักทาย เราก็สามารถไปเพิ่ม
ข้อความที่ผู้ใช้อาจจะใช้งานใน Training phrases  และคำตอบที่เราต้องการให้ Bot ตอบกลับไปยังผู้ใช้ใน Responses 
โดยยิ่งมีจำนวนมากๆ ก็ยิ่งให้สามารถตอบสนองการสนทนาได้อย่างครอบคลุม
 
    เราลองพิมพฺ์คำสนทนาอื่นๆ ที่ไม่ใช้การทักทายเข้าไปดู เช่น "หิวข้าว"
 
 

 
 
    จะเห็นว่าตอนนี้ Bot ไม่เข้าใจสิ่งที่เราต้องการ หรือไม่มี Intent อื่นใด สัมพันธ์กับสิ่งที่เราต้องการ จึงทำการเรียกใช้งาน 
Default Fallback Intent และตอบกลับด้วยข้อความว่า "พูดอีกทีได้ไหมคะ"  เราลองคลิกเข้าไปดูใน Default Fallback Intent 
และดูในส่วนของ Responses
 
 

 
 
    ตอนนี้เราพอจะเห็นแล้วว่า DialogFlow สร้างรูปแบบการสนทนาได้อย่างง่าย ซึ่งในเบื้องต้นเรายังไม่ได้กำหนดอะไรมากนัก
หรือยังไม่ลงไปในรายละเอียดการใช้งาน DialogFlow สิ่งที่เราต้องการคือ เราต้องการใช้งาน DialogFlow ให้ทำงานในลักษณะ
เดียวกันนี้ใน LINE Bot ของเรา 
 
 
 

การ Integrations ร่วมกับ Line Bot

    DialogFlow อำนวยความสะดวกให้เรา สามารถใช้งานร่วมกับ Line Messaging API ได้อย่างง่าย โดยในหน้าจัดการ ให้ไปที่
เมนู Integrations แล้วเลือก Line
 


 
 
    ให้เปิดใช้งานการ Integrate ร่วมกับ Line รอสักครู่ สิ่งที่เราจะนำมา กรอกในหน้านี้คือ Channel ID, Channel Secret และ 
Channel Access Token โดยเราต้องไปเอาค่านี้ใน หน้า Line Developers console
 


 
 
     กดปุ่ม Start จากนั้น ให้เราเอาค่า Webhook URL ใน DialogFlow ไปกรอกใน Line Messaging API

 

 
 
    เป็นอันเสร็จเรียบร้อย
 
 
 

ทดสอบ Line Bot ใช้งานร่วมกับ DialogFlow

    เราทดสอบส่งข้อความไปยัง Line Bot เพื่อดูว่า มีการส่งข้อมูลไปยัง Webhook URL ที่ DialogFlow กำหนดให้หรือไม่
และมีการใช้งานชุดข้อความสนทนาจาก Agent ที่เราสร้างไว้ใน DialogFlow หรือไม่ ดูรูปด้านล่างการทดสอบ
 
 

 
 
    เริ่มต้น เราทักไปด้วยข้อความว่า "หวัดดี"   Bot ตอบกลับด้วยข้อความว่า "สบายดีไหมคะ" ซึ่งเป็น Responses ของ
Default Welcome Intent จากนั้น เราส่งข้อความว่า "หิวข้าว"  Bot ตอบกลับด้วยข้อความว่า "ฉันไม่เข้าใจค่ะ พูดใหม่ได้ไหมคะ"
ซึ่งเป็น Responses ของ Default Fallback Intent 
 
    การใช้งาน DialogFlow ช่วยให้เราสร้างการโต้ตอบกับผู้ใช้ผ่านข้อความได้ง่ายและสะดวก โดยถ้าเป็นการใช้งานทั่วๆ ไป ก็ถือว่า
เพียงพอแล้ว โดยเราสามารถไปเพิ่ม Intent ในรูปแบบต่างๆ ให้กับ Agent ได้ตามต้องการ ซึ่ง DialogFlow ยังมีความสามารถอื่นๆ
อีกให้เราได้ปรับประยุกต์ และใช้งาน
    อย่างไรก็ตาม ในการใช้งาน Line Bot เราก็ยังอยากใช้ความสามารถของ LINE bot SDK ในการจัดการกับข้อความเพื่อโต้ตอบ
กับผู้ใช้ในรูปแบบที่หลากหลาย และยืดหยุ่นมากกว่าการกำหนดใน DialogFlow  แต่เราก็ยังอยากใช้งาน DialogFlow จัดการเฉพาะ
ในส่วนของข้อความ ดังนั้น เนื้อหาตอนหน้า เราจะมาใช้งาน Webhook URL ทั้งที่กำหนดเองที่ฝั่ง server เรา เพื่อให้สามารถใช้งาน
LINE bot SDK สร้างข้อความรูปแบบต่างๆ เช่น Template, Flex Message เป็นต้น และเราจะใช้งาน Webhook URL ของ 
DialogFlow กรณีเป็นข้อความ ไปพร้อมๆ กัน
    เข้าใจอย่างง่ายก็คือ ถ้าผู้ใช้ส่งข้อความใดๆ และเป็นข้อความที่ไม่ได้กำหนดให้ทำการตอบกลับด้วย LINE bot SDK ก็ให้ทำการ
ส่งต่อ ค่าที่ Line กำหนดไปเรียกใช้งานที่ฝั่ง DialogFlow หรือก็คือ Line ส่งอะไรมาให้เรา เราก็ส่งต่อไปให้ DialogFlow ทั้งหมด
รอติดตาม


กด Like หรือ Share เป็นกำลังใจ ให้มีบทความใหม่ๆ เรื่อยๆ น่ะครับ



อ่านต่อที่บทความ









เนื้อหาที่เกี่ยวข้อง






เนื้อหาพิเศษ เฉพาะสำหรับสมาชิก

กรุณาล็อกอิน เพื่ออ่านเนื้อหาบทความ

ยังไม่เป็นสมาชิก

สมาชิกล็อกอิน



( หรือ เข้าใช้งานผ่าน Social Login )




URL สำหรับอ้างอิง











เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ