Line ChatBot คือบัญชีไลน์ที่สามารถตอบโต้กับผู้ใช้ได้อัตโนมัติ โดยที่เราไม่ต้องไปแตะต้องอะไรเลย นอกจากกลับบ้านมาเปิดดูสถิติเพื่อนำไปใช้ประโยชน์ สำหรับพ่อค้าแม่ค้าคุณสามารถสร้าง Line ChatBot ขึ้นมาเพื่อตอบคำถามต่าง ๆ ของลูกค้า เช่น ราคาสินค้า ประเภทสินค้า และอื่น ๆ โดยที่เราไม่ต้องมานั่งตอบให้เมี่อยมือ หรือหน่วยงานต่าง ๆ สามารถสร้างขึ้นมาเพื่อให้บริการด้านข้อมูลข่าวสารได้ เช่น ตอบคำถามด้านสภาพอากาศ เพียงให้ผู้ใช้แชร์ตำแหน่งเข้าไปในห้องแชท หรือ แจ้งรายชื่อผู้สมัครสมาชิกผู้แทนราษฎรได้ เพียงผู้ใช้พิมพ์รหัสไปรษณีย์ของตนเอง เป็นต้น
ผมเคยคิดนะครับว่าเจ้า Line ChatBot มันต้องสร้างยาก ต้องมีพื้นฐานด้านการเขียนโปรแกรมและทักษะอีกเยอะแยะมากมาย แต่เมื่อได้ลองทำด้วยตัวเองแล้ว ก็พบว่า มันทำได้ง่ายจริง ๆ จนแอบสงสัยว่า เมื่อทำง่าย และสารพัดประโยชน์ขนาดนี้ ทำไมไม่ค่อยเห็นทำกัน? จนสุดท้ายก็ถึงบางอ้อ …. ? ซึ่งผมยังไม่บอกตอนนี้นะครับ เอาไว้ท้ายบทความแล้วกันเนอะ J
วิธีสร้าง Line ChatBot โดยใช้ Dialogflow [ตอนที่ 1]
สำหรับวิธีสร้างแชทบอทของไลน์นี้ ผมใช้แบ่งออกเป็นหลายตอนนะครับ ซึ่งไม่ใช่ว่าต้องอ่านทุกตอนถึงจะสร้างได้ แค่จบตอนที่ 1 นี้ก็สร้างได้เสร็จสิ้นทุกขั้นตอนพร้อมจะเอาไปใช้แล้วครับ แต่ที่แบ่งเป็นหลายตอนนั้น ก็เพื่อผมจะได้ศึกษาเพิ่มเติมแล้วนำมาแบ่งปันกับเพื่อน ๆ ได้เรื่อย ๆ ครับ โดยในลิสต์ตอนนี้มี 2 ตอน ตอนที่ 1 เป็นการสร้างแชทบอทที่โต้ตอบเป็นข้อความได้อัตโนมัติ ส่วนตอนที่ 2 จะเป็นการเพิ่มฟังก์ชันการใช้งานเข้าไปที่หลากหลายมากขึ้น
เครื่องมือที่ต้องใช้งานทั้งหมด ได้แก่
-
เว็บไซต์ Dialogflow https://dialogflow.com/
-
เว็บไซต์ LINE Developers https://developers.line.biz/console/
-
Line@ Manager https://admin-official.line.me/
ทั้ง 3 เว็บไซต์นี้ เปิดทิ้งไว้ได้เลยครับ แต่ตัวที่ใช้งานอย่างจริงจัง ก็คือ Dialogflow อีก 2 ตัวเอาไว้เชื่อมต่อกับบัญชีไลน์เท่านั้นเองครับ ซึ่งมีขั้นตอนดังต่อไปนี้
- เข้าไปที่ https://dialogflow.com/ แล้วทำการสมัครใช้งานหรือ Sign Up ซึ่งฟรี ไม่มีค่าใช้จ่ายครับ แล้วคลิกที่เมนู Go to console ล็อกอินด้วยบัญชี Google กดอนุญาตให้เข้าถึงบัญชี หน้าต่อมาเลือกประเทศไทย และติ๊กยอมรับ Terms of Service้ หลังจากนั้น กดปุ่ม ACCEPT จากนั้นจะเข้ามาถึงหน้านี้เลยครับ
- กดปุ่ม CREATE AGENT ทำการตั้งชื่อและเลือกภาษาไทย กดปุ่ม CREATE ได้เลยครับ เข้ามาแล้วจะมีเมนูมากมาย ดังภาพ ไม่ต้องไปสนใจครับ มองแค่เมนู Intents และ Integrations ก็พอ
Intents คือ การกำหนดบทสนทนาระหว่างผู้ใช้และบอทของเราครับ ถ้าเราอยากให้บอทของเรามีความสามารถในการโต้ตอบได้เหมือนคนจริง ๆ ก็ต้องสร้าง Intents ให้เยอะที่สุดเท่าที่จะทำได้ แต่ก็ขึ้นอยู่กับลักษณะงานด้วย ถ้าเราต้องการสร้างบอทเอาไว้ขายของ ตอบราคาสินค้า แนะนำสินค้า ก็ไม่สร้างเยอะ เอาเท่าที่จำเป็นก็พอ พวกที่สร้างเยอะ ๆ ก็ตัวอย่างเช่นเจ้า บอทคล้ายเหงาที่สามารถเป็นเพื่อนพูดคุยในไลน์ของผู้ใช้ได้นั่นเอง
ส่วน Integrations เป็นเมนูที่เอาไว้เชื่อมต่อกับแอปฯ หรือโปรแกรมอื่น ๆ ที่มีอยู่มากมายหลายตัว ใครสนใจตัวอื่น เอาไว้ผมมาเล่าให้ฟังภายหลังนะครับ วันนี้ให้เล็งความสนใจไปที่ Line ครับ
- ผู้รู้หลายท่านอาจแนะนำให้เราไปที่เมนู Intents สำหรับผมขอเอาความรู้สึกตัวเองเป็นที่ตั้งว่า ผมแนะนำให้เพื่อน ๆ ไปทำการ Integrations ก่อนเลยครับ เชื่อมต่อกับบัญชี Line ให้มันเรียบร้อย เราจะได้สัมผัสและใช้งานบอทของเราได้ทันที ตั้งแต่ยังไม่เริ่มสร้าง ประโยชน์ทั้งการทดสอบผ่านแอปฯ Line จริง ๆ และเมื่อเขาเข้าไปแก้ไขใน Dialogflow บอทของเราก็จะเปลี่ยนตามทันที โดยเมื่อเข้ามาในหน้า Integrations ให้เราคลิกที่ปุ่ม Line เลยครับ
- หน้าต่างต่อมาจะให้เราใส่ข้อมูล 3 ช่อง ได้แก่ Channel ID, Channel Secret และ Channel Access Token ซึ่งข้อมูลจะนำมาจาก เว็บไซต์ LINE Developers นั่นเอง
ส่วนนี้อยู่ในเว็บไซต์ LINE Developers
- เมื่อเข้ามาในเว็บไซต์ LINE Developers ให้กดปุ่ม Create New Provider ตั้งชื่อให้เรียบร้อย หลังจากนั้นในหน้า Provider ใหม่ของเรานี้ ที่หน้าต่าง Messaging API ให้คลิกคำว่า Create Channel
- เมื่อเข้ามาหน้านี้ มันคือส่วนสำคัญเลยครับ เป็นส่วนที่เราต้องใส่ข้อมูลของบอท ทั้ง รูปประจำตัว ชื่อบอทของเรา(7 วันเปลี่ยนได้ครั้งเดียว) โดยอันดับแรกเราก็ใส่รูปประจำตัว และตั้งชื่อให้บอทของเราก่อนครับ ใส่ข้อมูลให้ครบ กดยืนยัน และไปต่อเรื่อย ๆ ครับ
- เท่านั้นก็สร้างบอทออกมาแล้ว ระบบจะพาเราออกมาในหน้ารวมของ Provider เหลือแต่การเชื่อมต่อกันของบอทใน Line Developers ตัวนี้กับทักษะที่ Dialogflow จะสร้างขึ้นมา คิดซะว่าบอทตัวนี้ คือ เด็กที่เพิ่งกำเนิดขึ้นมา ส่วน Dialogflow ก็คือโรงเรียนสอนหนังสือและทักษะชีวิตนั่นเอง โดยลำดับต่อไปเราจะพาเด็กคนนี้ไปสมัครเข้าเรียนกัน
ส่วนนี้ต้องสลับกันระหว่าง Line Developers และ Dialogflow
- จากข้อที่ 4 ตอนนี้เรามีโรงเรียนเปิดเอาไว้รอแล้ว เป็นโรงเรียนเพื่อเด็กคนนี้คนเดียวด้วย ให้เราคลิกที่ชื่อบอท เมื่อเข้ามาจะพบกับ เมนูจัดการบอทต่าง ๆ และที่สำคัญ มีข้อมูลที่เราจะต้องนำไปใส่ใน Dialogflow ตามข้อ 4 ที่เราเปิดค้างเอาไว้นั่นเอง
เลื่อนลงมาหน่อยนึง ด้านล่างนี้จะมีทั้ง Channel ID, Channel Secret และ Channel Access Token เลยครับ สำหรับเมนู Channel access token ให้เรากดคำว่า Issue ถึงจะมีข้อมูลให้เรานำไปใส่ในช่อง Channel Access Token ครับ และในหน้านี้แนะนำว่าอันไหนที่ขึ้น Disabled ก็ edit เปลี่ยนให้เป็น Enabled ให้หมดเลยครับ แต่บางครั้งมันอาจเด้งกลับไป Disabled ดังนั้นหากบอทไม่ทำงาน ให้ลองกลับมาดูจุดนี้อีกครั้งนะครับ
เลื่อนลงมาอีกหน่อย ที่เมนู Webhook URL ให้เรากดคำว่า Edit แล้วนำลิงค์ จากหน้า Dialogflow ในช่องที่ชื่อว่า Webhook URL เหมือนกัน ด้านหลังมีปุ่มสัญลักษณ์คัดลอก เราก็กดแล้วนำมาวางได้เลยครับ แต่ว่า!!! วางเสร็จ เราจะเห็นว่าข้อความ “https://” ของลิงค์มันซ้ำกันครับ ให้ลบออกแล้วกดปุ่ม Update ได้เลย เท่านี้ก็เรียบร้อย
- กลับมาที่หน้า Dialogflow ตอนนี้ข้อมูลเราใส่ครบหมดแล้ว กดปุ่ม START ได้เลยครับ แล้วก็กด CLOSE ด้านบนได้เลย(อย่ากดปุ่ม STOP นะครับ) เท่านี้ก็เหมือนเราฝากเด็กเข้าโรงเรียนเรียบร้อยแล้วครับ ปิดหน้าต่าง Line Developers ได้เลย หมดหน้าที่แล้ว(ในตอนนี้)
ส่วนนี้เราจะอยู่แต่ใน Dialogflow
- กลับมาที่โรงเรียนอย่าง AGENT ที่เราสร้างไว้ในขั้นตอนที่ 2 ขั้นตอนนี้จะเป็นการสอนลูกรักบอทน้อยของเราตัวนี้ให้รู้มากขึ้นกันครับ โดยกดปุ่ม CREATE Intents หรือปุ่มเครื่องหมายบวก หลังเมนู Intents ด้านซ้าย ได้เลย
- ดังที่บอกไปแล้วในข้อ 2 ว่า Intents ก็เหมือนกับบทเรียนแต่ละเรื่องที่เราจะให้บอทเรียนรู้ เมื่อกดสร้าง Intents แล้ว ก็ให้ตั้งชื่อแบบไหนก็ได้ แค่ให้ตัวเราเองรู้ว่ามันคือ Intents เกี่ยวกับอะไร เมื่อเข้ามาแล้วเมนูที่ให้สนใจตอนนี้มีเพียง Training phrases และ Responses ครับ
- ในแต่ละ Intents จะเอาไว้ตอบแค่คำถามเดียวนะครับ ถ้ามีคำถามใหม่ ก็ให้ไปสร้าง Intents ใหม่ขึ้นมา ตัวอย่างเช่นเราจะสร้าง Intents เพื่อให้บอทแจ้งหมายเลขบัญชีธนาคารของเรา ในเมนู Training phrases[กดคำว่า ADD Training phrases] คือ การใส่ข้อความที่คาดว่าผู้ใช้งานไลน์จะพิมพ์มา เช่น บัญชีธนาคารของแม่ค้าคืออะไร ขอบัญชีหน่อย บัญชีธนาคาร หมายเลขบัญชี เป็นต้น แต่ละประโยคให้แยกบรรทัดกัน ใส่แล้วกดปุ่ม Enter ได้เลย ให้เราใส่คำถามเท่าที่จำเป็นครับ ไม่ต้องกังวลว่าจะครอบคลุมไหม เพราะคุณสมบัติของบอทที่เรากำลังจะสร้าง คือ มันเรียนรู้ได้เอง ถ้าเราใส่แค่ 4 ประโยคข้างต้น หากลูกค้าพิมพ์มาว่า “บัญชีคืออะไร” บอทของเราก็ตอบถูกครับ
[กดคำว่า ADD Responses] ส่วน Responses จะเป็นำคำตอบของบอทที่เราจะกำหนดเอาไว้ล่วงหน้าครับ ถ้าเราใส่แค่ประโยคเดียว บอทก็จะตอบแค่ประโยคนั้น(อาจดูไม่ธรรมชาติ) แต่ถ้าเราใส่หลายประโยค บอทจะสุ่มคำตอบไปให้ลูกค้าครับ ซึ่งผมแนะนำว่าให้ใส่หลายประโยค เปลี่ยนคำพูดนิดหน่อย แต่โครงคำตอบหลักเหมือนกันหมด จะทำให้บอทดูธรรมชาติมากขึ้น เช่น
เทคนิค: หากต้องการขึ้นบรรทัดใหม่ของแต่ละ Responses ให้กด Shift+Enter ครับ และหากต้องการเพิ่ม Responses ให้กด ADD Responses แล้วเลือก Text Response ครับ
- สุดท้ายก็กดปุ่ม SAVE ด้านบนครับ หากต้องการทดสอบการทำงานของบอท จะมีเมนู Try it now ด้านขวามือ เราก็ลองพิมพ์คำถามลงไปดูได้เลย หรือเข้าไปเพิ่มเพื่อนบอทของเราเองเป็นเพื่อนในไลน์ แล้วกดทดสอบผ่านไลน์ อันนี้จะเห็นภาพได้ชัด และตรงกับความเป็นจริงมากกว่าครับ(นี่คือข้อดีที่เราเชื่อมต่อบอทเอาไว้ก่อน)
เทคนิค: ที่หน้ารวมของ AGENT เราจะเห็น Intent ที่มากับระบบ 2 ตัว นั่นคือ Default Fallback Intent และ Default Welcome Intent มันคือ Intent ที่เอาไว้ตอบในกรณีที่บอทไม่รู้ว่าคนพิมพ์อะไรมา และ Intent เอาไว้สวัสดีเมื่อเจอกันครั้งแรก ซึ่งเราสามารถคลิกเข้าไปแก้ไขได้ตามใจชอบครับ
ส่วนนี้เราจะอยู่ในเว็บไซต์ Line@ Manager
- เมื่อเราสร้างการตอบกลับเสร็จสิ้นตามที่ต้องการทั้งหมดแล้ว ในขั้นตอนสุดท้าย ก็คือ การเผยแพร่ ซึ่งบอทพวกนี้ก็เหมือนกับบัญชีไลน์อื่น ๆ ครับ ที่เราต้องกดเพิ่มเพื่อนแล้วพูดคุย ดังนั้นเราต้องมี ไอดีไลน์ และ QR code ให้คนแอด แล้วจะหามาจากไหน? คำตอบก็คือ เครื่องมืออีกตัวที่เรายังไม่ใช้งาน นั่นคือ Line@ Manager นั่นเอง
สำหรับ Line@ Manager เราก็ล็อกอินเข้าใช้งานด้วยบัญชีไลน์ของเราเอง เมื่อเข้ามาแล้ว จะเห็นทั้งบัญชี Line@ และ Line ChatBot ครับ คลิกเข้าไปดูในบอทที่เราสร้างขึ้นมา จะมีเมนูจัดการบอทต่าง ๆ ทั้งใส่ภาพปก ภาพประจำตัว สถิติ การส่งข้อความหาเพื่อน และอื่น ๆ ให้เราไปที่เมนู การตั้งค่าบัญชี จะเห็นข้อมูลทุกอย่าง รวมทั้ง QR code และไอดีไลน์ที่จะปรากฏอยู่ใต้ชื่อด้านบนซ้ายของบอทเราครับ
เทคนิค: อยากให้ลองคลิกไปที่ “ตั้งค่า Messaging API” ในขณะที่ผมเขียนบทความนี้ จะมองเห็นว่า Webhook จะขึ้นสถานะ “ไม่อนุญาต” ให้เรากลับไปที่ Line Developers แล้วเปิดอนุญาต ดังที่แนะนำในข้อ 8 อีกครั้งนะครับ แต่หากของใครอนุญาตแล้วก็ไม่ต้องทำอะไร
- ได้ Line ID และ QR code ของบอทแล้วยังไม่จบนะครับ ให้เราไปที่เมนู ข้อความ >> ข้อความตอบกลับอัตโนมัติ แล้วลบข้อความตอบกลับอัตโนมัตินั้นทิ้งครับ ไม่เช่นนี้บอทเราจะไม่ทำงาน และที่เมนู ข้อความทักทายเพื่อนใหม่ ก็ควรเข้าไปแก้ไขให้เหมาะสมกับนิสัยบอทของเราด้วยครับ
ทั้งหมดนี้ก็เรียบร้อย พร้อมใช้งาน Line ChatBot ของเราเลยครับ แต่ยังจำข้อสงสัยที่ผมติดเอาไว้ตั้งแต่ย่อหน้าแรก ๆ ได้ไหมครับ? ที่บอกว่า “มันทำได้ง่ายจริง ๆ จนแอบสงสัยว่า เมื่อทำง่าย และสารพัดประโยชน์ขนาดนี้ ทำไมไม่ค่อยเห็นทำกัน?” มันน่าเศร้าตรงนี้ครับ บอทที่เราสร้างมันทำงานได้ แต่บริษัท LINE เขาจำกัดจำนวนเพื่อน(ที่ไม่บล็อค) เอาไว้แค่ 50 คน ถ้ามากกว่านั้นเราต้องเสียรายเดือน ดังรูปด้านล่างนี้ ดังนั้นต้องมีการลงทุน ณ จุดนี้หละครับ ที่เราต้องเลือก แต่สำหรับการสร้างบอทมาใช้งานในอีเว้นต์เล็ก ๆ ไม่ใช่ธุรกิจ เช่น สร้างบอทให้ข้อมูลงานแต่ง งานบวช เราก็มีเทคนิคบางอย่างที่พอจะเพิ่มจำนวนคนได้ตามต้องการเช่นเดียวกัน เอาไว้มาแนะนำในโอกาสหน้านะครับ
ตอนต่อไป เราจะมาดูการสร้าง Line ChatBot ที่สามารถโต้ตอบได้มากกว่าข้อความครับ เช่น โต้ตอบเป็นลิงค์ รูปภาพ แคตตาล็อก และอื่น ๆ มาดูกันใน วิธีสร้าง Line ChatBot แชทบอทที่สร้างได้ง่าย ๆ ไม่ต้องมีพื้นฐานโปรแกรมใด ๆ [ตอนที่ 2] ครับ
วิธีสร้าง Line ChatBot แชทบอทที่สร้างได้ง่าย ๆ ไม่ต้องมีพื้นฐานโปรแกรมใด ๆ [ตอนที่ 2]