ข้ามไปที่เนื้อหาหลัก

มือใหม่หัดทำ Line Chatbot ด้วย Line Messaging API ร่วมด้วย Google Dialogflow แม้จะ Coding ไม่เป็นก็ทำตามได้ง่ายๆ


ลิ้งค์ต้นฉบับจาก Medium.com ของผม
มือใหม่หัดทำ Line Chatbot ด้วย Line Messaging API ร่วมด้วย Google Dialogflow แม้จะ Coding ไม่เป็นก็ทำตามได้ง่ายๆ


และต้องขอขอบคุณบทความที่เป็นข้อมูลอ้างอิงในการเขียนแชทบอทของผมอีกครั้งครับ
สร้าง LINE Chatbot แบบไม่แตะโค้ด : ตอนที่ 1 — แนะนำ Dialogflow ของคุณ Kaew Manussanun
[Dialogflow x LINE] สร้าง Chatbot LINE แบบง่ายๆ ด้วย Dialogflow และ LINE Bot Designer กันเถอะ ของคุณ Kajornsak P.
Blog นี้ที่ผมนำมาจากบทความที่ผมเขียนบน Medium.com พอดีจะเพิ่มช่องทางในการเขียนบทความ เป็นที่มาของการเปิด blog นี้ขึ้นมา เลยอยากเอาการเขียนบอทง่ายๆ ขำๆ เอาไว้แก้เหงา มาลงเป็น blog นี้เป็นอันแรก ถ้ามีอะไรผิดพลาดก็ขออภัยไว้ล่วงหน้าด้วย หรือถ้ามีอะไรแนะนำสามารถบอกกล่าวกันได้ครับผม :)

ผมเองก็ไม่ใช่สาย Programming จ๋าอะไรนัก ออกไปแนว Engineering ซะมากกว่า ส่วนใหญ่ทำแนวๆนี้เล่นๆเพราะชอบเรียนรู้อะไรใหม่ๆครับ :) ดังนั้นบทความนี้จะลงลึกถึงขั้นตอนการทำมากกว่าทฤษฎีและที่มานะครับผม ขออภัยสำหรับผู้ที่สนใจ Content แนวฮาร์ดคอร์ทั้งหลายนะครับ T_T
บ่นมาเยอะ เข้าเรื่องกันดีกว่าครับ เดี๋ยวจะเบื่อซะก่อน

Line Chatbot คืออะไร???


หลายๆคนคงจำกันได้ว่ามีช่วงหนึ่ง จะมีเจ้าบอทตัวหนึ่งที่ชื่อว่า “บอทน้อย(botnoi)” ที่สร้างความเฮฮาให้กับผู้ใช้หลายๆคนครับ 555



ที่มา https://brandinside.asia/wp-content/uploads/2017/03/botnoi22.jpg

แม้เจ้าบอทน้อยจะดูตลกๆ เป็นมิตรกับผู้ใช้แบบนี้ ไม่ธรรมดานะครับ ถึงขนาดได้รับรางวัลจาก Line Bot Awards เลยทีเดียว ดูเพิ่มเติมที https://brandinside.asia/botnoi-win-line-bot-awards/
ผมยอมรับเลยว่าบอทน้อยเป็นปัจจัยหนึ่งที่ทำให้ผมอยากเขียนแชทบอทขึ้นมาใช้เองเลยครับ เริ่มกันเลยดีกว่า
ในส่วนที่ผมทำจะใช้งานอยู่สองส่วนครับ ได้แก่ Line Messaging API และ Google Dialogflow ครับ

ส่วนของ Line Messaging API


 ที่มา http://thaiopensource.org/%E0%B8%A1%E0%B8%B2%E0%B8%A5%E0%B8%AD%E0%B8%87%E0%B8%97%E0%B8%B3-line-chat-bot-%E0%B8%81%E0%B8%B1%E0%B8%99

Line Messaging API จะมีไว้สำหรับส่งข้อมูลตอบโต้กับผู้ใช้ได้จากเซิร์ฟเวอร์ของเราครับ
สำหรับท่านไหนสนใจอ่านการทำ Line Chatbot เชิงลึก หรือศึกษาเพิ่มเติม ลองอ่านบทความ “ มาลองทำ Line Chat Bot กัน ” ของคุณ Anuchit Chalothorn ได้ครับผม
วิธีการตั้งค่าสามารถทำได้ดังนี้
1.เข้าไปที่เว็บไซต์ของ Line Developer ตาม URL นี้ครับ
https://developers.line.me/en

 ทำการ log-in ด้วย Line Account ของเราครับผม
2.เมื่อทำการ log-in เข้ามาแล้ว มองหาแทบด้านซ้าย แล้วเลือก Products>Messaging API แล้วกด Start Now เลยครับ
3.เมื่อเข้ามาเจอหน้า Create new channel ให้ทำการกรอกชื่อที่ต้องการลงไป โดยยาวไม่เกิน 100 ตัวอักษร แล้วกด Next page เพื่อไปยังหน้าต่อไป
4.ทำการตั้งค่า channel information ดังนี้ให้เรียบร้อย
App icon => ตั้งค่าตามต้องการ ขนาดไม่เกิน 3MB, สกุลไฟล์ JPEG/PNG/GIF/BMP
App name => ตั้งค่าตามต้องการ ไม่เกิน 20 ตัวอักษร
App description => ตั้งค่าตามต้องการ ไม่เกิน 500 ตัวอักษร
Plan => Fixed มาแล้ว เป็น Developer Trial
Category/Subcategory => ตั้งค่าตามต้องการ
Email Address => อีเมลล์ที่ต้องการ


เมื่อเสร็จทำการกด Confirm แล้วจะข้ามมายังส่วนของ Confirm เพื่อให้เราตรวจเช็คข้อมูลอีกครั้ง ก่อนกดยอมรับข้อตกลงต่างๆ แล้วกด Create channel นี้ขึ้นมา




6.หลังจัดการตั้งค่าต่างๆเสร็จแล้ว เราจะได้ Channel ที่เราเพิ่ง Create ขึ้นมาสดๆร้อนเลยครับ อย่ารอช้า กดเข้าไปดูเลยครับ อิอิ :)



7.ตอนนี้เราจะเข้ามาอยู่ในส่วนของ Channel Settings ครับ จากนั้น Sroll down ลงมามองหาหมวดย่อย Messaging settings มองหา Use webhooks แล้วปรับเปลี่ยน Enabled แล้วกดเลือก Update ครับ


“Webhook นี้ เอาไว้ใช้ร่วมกับ URL ที่ได้มาจาก Google Dialogflow ครับผม เดี๋ยวได้พบกันอีกในขั้นตอนต่อๆไป”
8.ทำการกด Issue ค่า 2 ค่า ดังต่อไปนี้
Basic information > Channel secret



Messaging settings > Channel access token


ถ้าไม่ได้ต้องการให้การเข้าถึงหมดอายุ ตั้งไว้ 0 ชม. ครับ ว่าง่ายๆคืออยู่ต่อไป ตลอดกาลนั่นเอง 555
9.ทำการคัดลอกค่าๆต่างดังต่อไปนี้ไปไว้ใน Clipboard ก่อนครับ เอาไว้ไปใช้ใน Dialogflow ต่อไปครับ
Channel ID, Channel secret, Channel access token
เดี๋ยวจะข้ามไปในส่วนของ Google Dialogflow ก่อนแล้วจะกลับมาที่ Line Messaging API ในขั้นตอนหลังๆอีกนะครับ
ส่วนของ Google Dialogflow
Dialogflow เป็น API ทางด้าน AI ของ Google โดยจุดเด่นของมันคือการรองรับการทำ Natural Language understanding โดยที่เราแทบไม่ต้องเขียนโปรแกรมอะไรเพิ่มเติมเลย ที่สำคัญมันฟรีด้วยครับ ผมเลยเอามาใช้นี่แหละครับ 555
สำหรับใครสนใจการทำบอทด้วย Dialogflow จริงจังเชิญอ่านบทความ “ลองทำแชท บอทง่ายๆด้วย Dialogflow กันเถอะ” ของคุณ Petch Kruapanich ได้เลยนะครับ เขียนไว้ละเอียดพอสมควรครับ
วิธีการตั้งค่าสามารถทำได้ดังนี้
1.เข้าไปที่เว็บไซต์ของ Dialogflow ตาม URL นี้ครับ
https://dialogflow.com

จะพบกับ Homepage หน้าตาดังภาพด้านบน กดเลือก GO TO CONSOLE มุมบนด้านขวาเลยครับ อย่าช้าครับผม
2.เมื่อเข้ามาแล้ว ทำการ log-in ด้วย Google Account ครับ
3.เมื่อเข้ามาแล้ว ให้สังเกตแทบบริเวณด้านซ้าย แล้วทำการกดเลือก Create agent ครับ
เสร็จแล้วให้ตั้งค่าต่างๆตามต้องการดังนี้ครับ
Agent name => ชื่อของ Agent ที่ต้องการ
Default Langauge => ภาษาเริ่มต้นที่ต้องการ 
Default Time Zone => เขตเวลาที่ต้องการ


เมื่อตั้งค่าเสร็จแล้วให้ทำการกด Create ครับ
4.เมื่อเสร็จแล้วเราจะเข้ามายังหน้า Intents ของ Agent ของเรา ให้ทำการกด Create intent ขึ้นมาใหม่ครับ



ให้เราทำการตั้งชื่อให้ Intent ตามต้องการ และเราจะพบ 6 ห้วข้อต่างๆดังนี้ครับ
Contexts, Events, Training Phrases, Action and Parameters, Responses และ Fulfillment


แต่ ณ ที่นี่ จะกล่าวถึงเฉพาะ Training Phrases และ Responses ครับผม
Training Phrases =>ไว้สำหรับ Train เจ้า Agent ของเราให้เรียนรู้คำหรือ)ระโยคต่างๆที่เรากรอกให้ ส่วนนี้จะทำงานในลักษณะของ Machine Learning ครับ
Responses => ส่วนนี้มีไว้สำหรับให้เจ้า Agent ของเราทำการตอบโต้ผู้ใช้งานแบบสุ่มคำหรือประโยคที่เราทำการ Train มันไว้ครับ
ในส่วนนี้แล้วแต่ผู้อ่านเลยนะครับว่าจะ Train เจ้า Agent ของท่านอย่างไรบ้าง ทำตามความต้องการเลยนะครับ
เมื่อเสร็จแล้วก็กด Save ตามระเบียบครับ

5.ไปที่แทบด้านซ้าย มองหาเมนู integration ครับ เพื่อทำการ Embedded เข้ากับ Line Application ครับผม



ทำการกดเลือกให้ Line เป็น Enabled นะครับ แล้วจะมีหน้าต่างป๊อปอัพเด้งขึ้นมา ดังภาพด้านล่างครับ


ให้กรอกค่า Channel ID, Channel secret และ Channel Access Token ที่เราคัดลอกไว้ใน Clipboard ในขั้นตอนที่ 9 ในส่วนของ Line Messaging API มาลงในช่องดังกล่าว และทำการคัดลอก Webhook URL ไปไว้ใน Clipboard เพื่อไปกรอกที่ Line Messaging API > Channel settings > Webhook URL ครับผม
6.หลังจากกรอกค่าต่างๆเสร็จแล้ว ทำการกด Start เป็นอันเสร็จพิธี
ขั้นตอนสุดท้าย แต่ไม่ท้ายสุด…
ยังไม่ได้ทำการแอดบอทของเราเลย สามารถใช้การเพิ่มเพื่อนด้วย QR Code จาก Line Mobile Application ของเราครับ
ป.ล. อย่าไปแอดเจ้านี่นะครับ ผมไม่ได้ใส่ข้อมูลอะไรให้มันใน Dialogflow เลย 555
ลองเล่นบอทที่เราสร้างขึ้นมา
ตัวอย่างจากเจ้า “บอทแก่(Kae_boT)” ที่ผมสร้างขึ้นมาก่อนหน้านี้ครับ ซึ่งมันยังเอ๋อๆอยู่ ต้องพัฒนาอีกเยอะครับ 555


ก็จบกันไปแล้วนะครับ สำหรับการทำ Line Chatbot ด้วย Line Messaging API ร่วมด้วย Google Dialogflow แม้จะ Coding ไม่เป็นก็ทำตามได้ง่ายๆ ขอบคุณทุกท่านที่อ่านบทความนี้กัน มีข้อสงสัยอะไรก็ลองคอมเม้นท์ไว้ได้เลย ถ้าเห็นว่า blog นี้มีประโยชน์ฝากแชร์กันด้วยนะครับผม :)



อย่างไรก็ตาม ฝากติดต่อบทความอื่นๆของผมบน Medium.com ได้ที่ลิ้งค์ด้านล่างครับ
https://medium.com/@suppawatboonrach




ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

CES 2019 : เอเอ็มดีมีอะไรมาโชว์บ้าง

ที่มา https://www.3dnatives.com/en/event/ces-2019/ เกริ่นนำ     สำหรับใครที่ไม่ทราบว่า CES คืออะไร โดย CES นั้นย่อมาจาก Consumer Electronics Show เป็นงานจัดแสดงนิทรรศการผลิตภัณฑ์ด้าน เทคโนโลยี และอิเล็กทรอนิกส์ โดยจัดขึ้นเป็นประจำทุกปีที่เมืองลาสเวกัส รัฐเนวาด้า ประเทศสหรัฐอเมริกา[1] สำหรับปีนี้จัดขึ้นในวันที่ 8-11 มกราคม พ.ศ.2562 ตามวันเวลาของรัฐเนวาด้า สหรัฐอเมริกาครับ ที่มา https://twitter.com/amd     สำหรับบริษัท Advanced Micro Devices หรือที่รู้จักกันในชื่อ AMD เป็นอีกหนึ่งผู้ผลิตชิปสารกึ่งตัวนำรายใหญ่อีกเจ้า นับจาก Intel ซึ่งเอเอ็มดี แต่เดิมแล้ว เป็นบริษัทที่ก่อตั้งขึ้นจากอดีตพนักงานและผู้บริหารของบริษัท Fairchild Semiconductor Corporation ในปี ค.ศ.1969 หรือ พ.ศ.2512 [2]  เช่นเดียวกันกับอินเทลที่แยกออกมาก่อนหน้านี้ และในปี ค.ศ.2006 หรือ พ.ศ.2549 เอเอ็มดีได้ทำการซื้อกิจการ ATI ผู้ผลิตชิป GPU[3] ทำให้ปัจจุบัน เอเอ็มดีสินค้าที่เด่นๆอยู่สองอย่างด้วยกัน ได้แก่ ชิป Ryzen ซึ่งเป็น CPU และ ชิป Radeon ซึ่งเป็น GPU ครับ นอกจากนี้เอเอ็มดียัง...

edX แฟลตฟอร์มสำหรับการเรียนออนไลน์ เพราะการเรียนรู้เกิดขึ้นได้ทุกที่ ทุกเวลา

ลิ้งค์ต้นฉบับจาก Medium.com ของผม edX แฟลตฟอร์มสำหรับการเรียนออนไลน์ เพราะการเรียนรู้เกิดขึ้นได้ทุกที่ ทุกเวลา edX.org คืออะไรกันแน่? ที่มา  http://harvardmagazine.com/2013/02/harvardx-and-edx-leadership-unveiled edX.org คือแพลตฟอร์มสำหรับการเรียนออนไลน์แบบเปิด ที่เรียกว่า “MOOC”(Massive Open Online Course) เป็นองค์กรไม่แสวงหาผลกำไร เกิดจากการร่วมมือของมหาวิทยาลัยชั้นนำของโลกหลายๆแห่ง อาทิ Harvard, MIT เป็นต้น นอกจากนี้แล้วยังมี Microsoft ร่วมมือในการสร้าง Tool สำหรับการ Generate แบบเรียนออนไลน์จาก PowerPoint อย่าง “Office Mix” อีกด้วย โปรแกรม Office Mix ที่มา  https://www.blognone.com/node/56052 ข้อมูลเพิ่มเติมเกี่ยวกับ Office Mix ได้ที่บทความของคุณ nuntawat บนเว็บไซต์ blognone.com “ ไมโครซอฟท์เผย Office Mix แพลตฟอร์มเปลี่ยนไฟล์นำเสนอเป็นแบบเรียนออนไลน์ได้ง่ายดาย ” โดยภายในเว็บไซต์ edX.org จะมีบรรดามหาวิทยาลัยและบริษัทเอกชนหลายๆแห่ง เปิดคอร์สออนไลน์หลากหลายคอร์สให้แก่ผู้ที่สนใจได้เข้ามาศึกษาหาความรู้ได้ตามต้องการ รายชื่อสมาชิกบางส่วนของ edX ...

CES 2019 : อินเทลมีอะไรมาโชว์บ้าง

ที่มา https://www.3dnatives.com/en/event/ces-2019/ เกริ่นนำ     สำหรับใครที่ไม่ทราบว่า CES คืออะไร โดย CES นั้นย่อมาจาก Consumer Electronics Show เป็นงานจัดแสดงนิทรรศการผลิตภัณฑ์ด้าน เทคโนโลยี และอิเล็กทรอนิกส์ โดยจัดขึ้นเป็นประจำทุกปีที่เมืองลาสเวกัส รัฐเนวาด้า ประเทศสหรัฐอเมริกา[1] สำหรับปีนี้จัดขึ้นในวันที่ 8-11 มกราคม พ.ศ.2562 ตามวันเวลาของรัฐเนวาด้า สหรัฐอเมริกาครับ  ที่มา https://www.extremetech.com/computing/ 276481-intel-faces-14nm-shortage-as-cpu-prices-rise        สำหรับบริษัท Intel Corporation ผู้ผลิตชิปสารกึ่งตัวนำ(Semiconductor) ที่เด่นๆก็คือชิปประมวลผลหรือ Processor[2] อย่าง Intel Core, Intel Xeon เป็นต้น โดยในงาน CES 2019  ใน วันที่ 8 มกราคมที่ผ่านมา หรือวันที่ 7 มกราคมตามวันเวลาประเทศไทย ทางอินเทลได้นำมาแสดงมีดังนี้ครับ 1. Core 9th Generation Processors รุ่นใหม่ 6 รุ่น 2. 10nm Icelake Mobile Processor. 3.  10nm Lakefield System on Chip(SoC). 4. Cascade Lakes for Next Generation Intel Xeon. 5. Snow...