Share this

วิธีสร้าง Chatbot ในแบบฉบับง่ายๆ ไม่ใช่ คนTech ก็ทำได้

Issues
June
Bot
Categories:
#Digital Transformation#Bot#Automated Process#Front-end Tools#Back-end Tools
Inspired by: Mint
Views

ในช่วง Work from Home ทาง CODIUM ได้มีโอกาสทำ Chatbot ขึ้นมาหลายตัว เพื่อนำมาช่วยให้การทำงานราบรื่นขึ้น โดยเรานำ Chatbot มาประยุกต์ใช้กับหลากเรื่องหลายรูปแบบ อาทิเช่น HR Bot, Plexi Bot, ACK Bot, Reminder Bot, เเละอื่นๆ จึงอยากจะขอมาเเชร์เรื่องการทำ Chatbot ให้กับทุกคนลองนำไปปรับใช้กับองค์กรให้ทำงานกันได้ง่ายขึ้น
 
แล้วขั้นตอนการก่อร่างสร้างตัวของ Chatbot นี้เป็นยังไง? ไปดูกัน เริ่มด้วยการเลือกเครื่องมือที่ใช้สร้าง Chatbot ซึ่งมีอยู่หลายอย่างให้เลือกสรรในท้องตลาด เเต่ทาง CODIUM เราเลือกใช้ Dialogflow ของ Google ในการทำ ด้วยเหตุผลที่ว่า...
 
  • เป็นเครื่องมือ Google โดยตรง ทำให้ผู้ใช้งานที่มี account GSuite สามารถใช้งาน Dialogflow ได้โดยง่าย ผ่าน Google Cloud Platform ซึ่งทาง CODIUM เรามี GSuite อยู่เเล้ว เนื่องจากเราใช้ Google Chat เพื่อสื่อสารภายในองค์กร นอกจากนี้ยังสะดวกกับการเชื่อมต่อ Bot ที่เสร็จเข้ากับ Google Chat ผ่าน API ที่ Google มีไว้ให้
  • รองรับภาษาไทย ปัจจุบัน Dialogflow รองรับภาษาได้มากกว่า 20 ภาษา รวมถึงภาษาไทย! เพราะอย่างที่รู้กัน Chatbot ในหลายๆครั้งเเปลภาษาอื่นได้เข้าใจเป็นภาษาคน เเต่ภาษาไทยคือแปลเเล้วอ่านเเทบไม่เป็นภาษา
  • เชื่อมต่อเพื่อใช้งานกับ Application ได้หลากหลาย เช่น Google Chat, Facebook, Line ฯลฯ
  • ใช้เทคนิค Natural language ในการสื่อสารระหว่างคอมเเละภาษาคน
 
จากจุดเด่นที่กล่าวมาก่อนหน้า เราจึงเลือกใช้เครื่องมือ Dialogflow ในการสร้าง Chatbot เเต่ก่อนที่จะกล่าวต่อไปถึงหลักการทำงานของ Dialogflow ขอกล่าวถึง เทคนิค Naural Language ก่อนว่ามันคืออะไร
 

เทคนิคการเชื่อมภาษาคอมกับภาษาคนด้วย NLP และ NLU

เราต้องเข้าใจก่อนว่า Chatbot เป็นหนึ่งในรูปแบบของการสื่อสารอย่างหนึ่ง เป็นการสื่อสารระหว่างคอมกับคน ดังนั้น “คอม” ก็มีภาษาคอม “คน” ก็มีภาษาคน คุยกันคนละภาษาคงจะไม่รู้เรื่องเป็นเเน่ ดังนั้นจึงต้องมีฝ่ายใดฝ่ายหนึ่งปรับเพื่อให้คุยภาษาเดียวกัน เเละหนึ่งในเทคนิคที่คอมใช้ในการเข้าใจภาษาคนคือ เทคนิคที่ชื่อว่า ‘Naural Language’ ประกอบไปด้วย NLP  และ NLU
 
Natural Language Processing หรือ NLP อธิบายโดยง่าย คือ กระบวนการที่ทำให้คอมพิวเตอร์สามารเข้าใจภาษามนุษย์ได้  กระบวนการนี้จะช่วยทำให้คอมพิวเตอร์มีความเข้าใจเกี่ยวกับภาษาที่เราพิมพ์ และยังสามารถตีความจากข้อความได้
 
ซึ่ง NLP มี subset อยู่ภายในคือ Natural Language Understanding (NLU) โดยจะเน้นการทำงานไปที่ให้คอมพิวเตอร์ให้สามารถเข้าใจข้อความจากมนุษย์ได้ลึกซึ้งขึ้น โดยฟังก์ชันหลักของ NLU จะมุ่งเน้นหาความสัมพันธ์เชิงความหมายของคำในประโยค,  ดึงใจความสำคัญจากประโยค, เน้นการถามตอบข้อมูลเพิ่มเติม, และเน้นการตอบโต้พูดคุย โดย NLU ถือเป็นหนึ่งในหลักการสำคัญสำหรับการทำงานของ Chatbot
 
เทคนิคการเชื่อมภาษาคอมกับภาษาคนด้วย NLP และ NLU
 
หลังจากที่พอจะเข้าใจเทคนิค NLP เเละ NLU เเล้ว ต้องมาทำความเข้าใจ Dialogflow ว่ามีหลักการทำงานอย่างไร ก่อนจะไปเริ่มสร้าง Chatbot จริง
 

หลักการทำงานของ Dialogflow

Dialogflow มีหลักการทำงานโดยภาพรวมที่เข้าใจง่าย มีการขั้นตอนการทำงานที่ไม่ซับซ้อน โดยมีภาพรวมการทำงานที่เชื่อมโยงกันดังนี้
 
การเปลี่ยน Input ให้เป็น Intent
อันดับเเรก ผู้ใช้งานพิมพ์ข้อความ (Input) เข้ามา ซึ่งอาจจะเป็นชุดคำพูดหรือประโยค (Utterance)
อันดับสอง ระบบจะทำการหาใจความสำคัญที่ผู้ใช้งานต้องการที่จะสื่อ (Intent) ที่ต้องการให้ Chatbot นำมา process ต่อไป
อันดับสาม หลังจากระบุ Intent ได้แล้ว ระบบจะทำขั้นตอน Intent Matching เพื่อหา Response หรือการตอบกลับต่อข้อความนั้น
 
หลักการทำงานของ Dialogflow
 
ตัวอย่าง Utterance หรือ ชุดคำพูดหรือประโยคที่เราคาดว่าผู้ใช้งานจะต้องใช้ (Input)
“Hey Bot, Can you make an appointment for me at 9 p.m.?”
 
ตัวอย่างการระบุ Intent จะเห็นได้ว่าสิ่งที่ผู้ใช้งานต้องการคือ ทำการนัดหมายที่เวลา 9 p.m. ดังนั้น Intent ของประโยคนี้คือ make an appointment for me at 9 p.m. จากนั้น Bot จะทำการตอบ  Reponse ที่เราได้เตรียมไว้สำหรับ Intent นี้ เป็นลำดับถัดไป
 
ตอนนี้เรามีความรู้ความเข้าใจพร้อมสำหรับการทำ Chatbot ด้วย Dialogflow กันเเล้ว มาเริ่มทำกันเลย!
 

ขั้นตอนการสร้าง Chatbot โดย Dialogflow

Step1 สร้าง Intent รับการทำงานเเละการตอบสนอง
การสร้าง Chatbot อันดับแรก เราต้องสร้าง Agent ซึ่งคือ Chatbot ของเรานั่นเอง จากนั้นเพื่อระบุการตอบสนองและหา Intent ได้ถูกต้อง ผู้ใช้งานสามามารถสร้าง Intent ได้หลากหลายเพื่อรองรับการทำงานและการตอบสนองจากผู้ใช้งาน โดยเมื่อเข้าไปที่ Google Cloud Platform สามารถเลือกเมนู “Intent” จากนั้นกด Create Intent
 
สร้าง Intent รับการทำงานเเละการตอบสนอง
 
โดยการจัดการดังกล่าว สามารถสร้าง Intent โดยระบุ Training Phrases  (คำพูดที่คาดว่าผู้ใช้งานจะพิมพ์มา) และ Responses (การตอบสนองต่อคำพูดนั้น) จากนั้นให้กด Save เพื่อดำเนินการบันทึกข้อมูล
 
ระบุ Training Phrases เเละ Responses
 
Step2 เชื่อมต่อ Bot เข้ากับ Application ที่ใช้งาน
จากนั้นสามารถทำการ Plug In เพื่อนำ Bot มาใช้ได้โดยเลือกเมนู​ “Integration” สังเกตได้ว่า Bot สามารถนำไปเชื่อมต่อได้หลากหลาย Platform ไม่ว่าจะเป็น Web Application, Facebook Messenger, Hangouts Google Chat, Telegram หรือ Line โดยเราสามารถเลือกได้ว่าต้องการเชื่อมต่อ Bot กับ Platform ไหน ในกรณีนี้ เราจะเลือกให้เชื่อมต่อกับ Hangouts Chat
 
การเชื่อมต่อ Bot กับ Hangouts Chat
 
เมื่อเลือกแล้วจะเห็นข้อความแจ้งเตือนว่า ตอนนี้ Bot ได้ทำการเชื่อมต่อกับ Hangouts chat และสามารถใช้งานได้แล้ว โดยเราสามารถกำหนดได้อย่างละเอียดถึงสิทธิ์ในการเข้าถึง หรือ Permission ว่าใครสามารถเข้าถึง Bot นี้ได้บ้าง
 
เชื่อมต่อ Bot กับ Hangouts Chat สำเร็จ
 
Step3 เพิ่ม Bot ใน Application ที่เราใช้งาน
ขั้นตอนการเข้าถึง Bot ทำได้โดยการเข้า Application “Google Chat” ค้นหา Bot ที่เราได้ทำการสร้างมาเเล้ว และกดเครื่องหมาย Add เพื่อเพิ่ม Bot เข้ามาใน Google Chat ได้เลยทันที
 
 Bot ใน Hangouts Chat
 
จากนั้นทำการเลือกห้องเเชทที่จะใช้งาน Bot โดยกดไปที่ Add to Room หรือถ้าหากอยากจะคุยกับ Bot แบบ 1:1 ให้เลือกไปที่ message ซึ่งในขั้นตอนนี้ สามารถลองคุยกับ Bot ได้เลย รวมถึงสามารถเพิ่ม Bot เข้าไปยังแชท ที่ทำการคุยอยู่ได้ทันที โดยการพิมพ์ @botname เพื่อเรียก Bot ดังกล่าวที่เราตั้งไว้ให้มีส่วนร่วมกับช่องแชทนั้นได้
 
เพิ่ม Bot เข้าไปในห้องเเชท
 
หลังจากนั้น สามารถทำการทดสอบพิมพ์ Keyword ตาม Training Pharses ที่ตั้งค่าไว้ และ Bot จะทำการตอบกลับตาม Responses ที่เราตั้งค่าไว้เช่นกัน
 
ทดสอบการโต้ตอบของ Bot กับ Dialoflow ที่ตั้งไว้ 
 
หากต้องการแก้ไข หรือเพิ่ม Intent กับ Response หลังจากทำการเชื่อมต่อแล้วสามารถเข้าไปแก้ไขได้ทุกเมื่อ หลังจกานั้น Chatbot จะทำการอัพเดทและสามารถใช้งานตามการตั้งค่าใหม่นั้นได้ทันที
 
จากที่กล่าวมาทั้งหมด จะเห็นได้เลยว่าการทำ Bot ไม่ใช่เรื่องยากอย่างที่คิด ทุกองค์กรสามารถเริ่มทำ Bot ของตัวเองเพื่อใช้ภายในเพื่อให้กิดการติดต่อสื่อสารที่ประสิทธิภาพ โดยอาจจะเริ่มแบบพื้นฐานจากการคุยแบบสนทนาหรือ conversation ที่ชัดเจน ถามตอบกันได้ทันทีก่อนก็ได้ และหลังจากนั้นสามารถเปลี่ยนแปลงการทำตามวัตถุประสงค์ขององค์กรคุณได้เลย
 
ที่สำคัญคือ คนที่ไม่ใช่ Programmer สามารถทำตามได้อย่างง่ายๆ เพราะการสร้าง Chatbot ที่มีประสิทธิภาพ คือสามารถช่วยมาเเบ่งเบา ลดงานได้จริง และเพิ่มประสบการณ์ที่ดีต่อผู้ใช้งานให้ดียิ่งขึ้น ดังนั้นหากการสร้างดังกล่าวถูกควบคุมและตั้งค่าโดยผ้ใช้งานจริง จะช่วยใ้เราพัฒนาสิ่งที่สอดคล้องกับการทำงานจริง
 
หากใครพลาดบทความอื่นที่เรานำ Chatbot มาสร้าง Bot ไว้ช่วยงานอะไรบ้าง สามารถไปตามอ่านกันได้ตามลิงค์ด้านล่างนี้
 
HR Bot (ผู้ช่วย HR) ช่วยให้งาน HR เบาขึ้น เช่น การเช็คชื่อเข้าออกงาน การขอลางาน
Plexi Bot (นักแปลตัวยง) เอาไว้ใช้เเปลภาษา เพราะในบริษัทเรามีต่างชาติด้วย
Ack Bot (นักประกาศข่าว) ไว้ประกาศข่าวสาร เเละเช็คว่าคนจะรับรู้กันอย่างทั่วถึง
Reminder Bot (นักเตือนขั้นเทพ)ใช้ในการเตืนความจำสิ่งต่างๆที่เราอยากจะทำ ป้องกันการลืม ทำให้ทำงานได้ไม่ตกหล่น
 
และหลังจากนี้ CODIUM จะนำ Bot ตัวไหนมาเล่าให้ทุกคนฟังอีก ติดตามบทความต่อๆไปได้เลย
 
ขอบคุณที่มาของข้อมูลเเละรูป อ้างอิงจาก
Google Cloud Tech - Getting Started with Dialogflow
Natural Language - NPL and NPU
 
You may also like
Low Code Framework ทำงานอย่างไร?
Low Code Framework ทำงานอย่างไร?
มิ.ย. 06, 2024อ่านเมื่อ 1 วันที่แล้ว
Back-end Tools
Front-end Tools
Automated Process
3 หลักการ ทำ Digital transformation ให้ถูกหลัก
3 หลักการ ทำ Digital transformation ให้ถูกหลัก
มิ.ย. 06, 2024อ่านเมื่อ 33 นาทีที่แล้ว
Digital Transformation
ถึงเวลาก้าวหน้า! ผลักดันรัฐบาลด้วย “Digital ID”
ถึงเวลาก้าวหน้า! ผลักดันรัฐบาลด้วย “Digital ID”
มิ.ย. 06, 2024อ่านเมื่อ 2 วันที่แล้ว
Tech & Legal
Digital Transformation
รู้หรือไม่? บริษัทเป็นสมาชิกกับ NDID แล้วดีอย่างไร?
รู้หรือไม่? บริษัทเป็นสมาชิกกับ NDID แล้วดีอย่างไร?
มิ.ย. 06, 2024อ่านเมื่อ 22 วันที่แล้ว
Digital Transformation

SUBSCRIBE TO OUR

NEWS
LETTER .

Code , Consult , Communicate

โคเดียมสัญญาว่าจะให้ความคุ้มครองข้อมูลส่วนบุคคลของคุณ และเราจะใช้ข้อมูลส่วนบุคคลของคุณเท่าที่จำเป็นสำหรับการนำเสนอผลิตภัณฑ์/บริการที่คุณร้องขอมาเท่านั้น

ในบางกรณีเราอาจจะติดต่อไปหาคุณเพื่อการนำเสนอผลิตภัณฑ์, บริการ หรือกิจกรรมที่ตรงกับความต้องการของคุณ ถ้าหากคุณต้องการให้เราติดต่อไปเพื่อวัตถุประสงค์ดังกล่าว โปรดเลือกให้ความยินยอมกับเราในกรณีต่อไปนี้




* คุณสามารถถอนความยินยอมของคุณได้ทุกเมื่อ สำหรับช่องทางการติดต่อเพื่อขอถอนความยินยอม และรายละเอียดการคุ้มครองข้อมูล ส่วนบุคคลของคุณ โปรดอ่านได้ที่ ประกาศความเป็นส่วนตัวของเรา