CHƯƠNG 1: TỔNG QUAN VỀ CHATBOT 1. TỔNG QUAN VỀ CHATBOT WhatsApp, Skype, Viber, Facebook đề là những ứng dụng được sử dụng nhiều nhất hiện nay. Riêng Facebook Messenger có hơn 1,2 tỷ người dùng hàng tháng, Vì vậy kéo theo đó nhu cầu tương tác tăng cao hơn bao giờ hết. Để giải quyết vấn đề này, Chatbox đã được tạo ra để mô phỏng như con người, giúp hỗ trợ người dùng tương tác một cách nhanh chóng và tiện lợi nhất.
Tại Việt Nam, chatbot được ứng dụng chủ yếu trong các hoạt động về thu thập thông tin, chăm sóc khách hàng một cách tự động. Khái niệm chatbot Chatbox là hộp chat tự động được cài vào Website và hiện lên chào hỏi khi khách hàng truy cập vào trang. Giống như một nhân viên lễ tân, chatbox giúp đón khách và ghi nhận những thông tin của khách hàng. Phân loại chatbot phổ biến hiện nay Tùy thuộc vào những chương trình cụ thể, có thể chia chatbox làm 2 loại chính: Thực hiện công việc theo lệnh đã được thiết lập (simple chatbox), thực hiện công việc bằng cách đào tạo (Smart chatbox).
Simple Chatbot Hiểu đơn giản là simple chatbox hoạt động dựa trên từ khóa được lập trình sẵn. mỗi lệnh được nhà phát triển sử dụng những từ thông dụng. Nếu người dùng đặt câu hỏi không có chứa từ khóa, bot sẽ không thể hiểu được và chúng sẽ phản hồi bằng thông điệp như: “Xin lỗi, tôi không hiểu”. Ví dụ: Chatbot facebook.
Smart ChatBot Smart chatbox hoạt động dựa trên trí tuệ nhân tạo khi giao tiếp với người dùng. Thay vì sử dụng câu trả lời được chuẩn bị sẵn thì robot có thể phản hồi nhiều dạng câu trả lời khác nhau trên nhiều lĩnh vực, chủ đề. Ngoài ra, những gì khách hàng nói sẽ được lưu lại làm dữ liệu. Ví dụ: Siri, Cortana… Mặt khác, khi phân loại theo cách Chatbot tương tác với người dùng thì có: Chatbot Âm Thanh (Audiotory): Sử dụng hình thức giao tiếp bằng âm thanh.
Một số cái tên có thể kể tới như: Google Assistant, Siri, Cortana… 12 do an Chatbot Văn Bản (Textual): Tương tác với đối tượng bằng văn bản. Ví dụ như chatfuel, manychat, simsimi… 1. Cơ chế vận hành Về cơ bản, để chatbot tương tác tự nhiên nhất với người dùng thì lập trình viên cần thiết lập 3 thông số cơ bản sau: - Phiên dịch yêu cầu: Đây là phần quyết định mức độ “thông minh” của chatbot. Tùy theo thông số đầu vào chatbot là gì mà cần tới hệ thống “translate” đặc thù để máy có thể hiểu được.
Một khi hiểu đúng yêu cầu của người dùng thì các phần xử lý sau mới có thể đưa ra kết quả chính xác nhất. - Xử lý yêu cầu: Sau khi tiếp nhận yêu cầu thì chatbot sẽ xử lý dữ liệu dựa trên hệ thống thư viện của mình. Hệ thống thư viện càng chi tiết thì thông tin mang lại cho người dùng càng hữu ích. - Phản hồi tới người dùng: Bước cuối cùng của 1 quy trình Chatbot đó là hồi đáp người dùng.
Ưu điểm - Tiết kiệm thời gian và công sức: Chatbox sẽ giúp tiết kiệm thời gian, công sức bằng cách hỗ trợ người dùng một cách hoàn toàn tự động. - Chăm sóc khách hàng 24/7: khi bạn và nhân viên đi ngủ hết thì chatbox vẫn hoạt động và tư vấn khách hàng tự động. Một nhân viên luôn luôn chăm chỉ, không đòi hỏi. Là một phần thiết yếu trong chiến lược tiếp thị của mỗi doanh nghiệp, tuy nhiên để chăm sóc khách hàng tốn rất nhiều thời gian.
Để cải thiện tình trạng đó, Chatbot có thể giúp đỡ người mua từ khi họ bắt đầu đặt chân vào web cho đến khi họ nhận được đơn hàng của mình. - Thu thập và phân tích dữ liệu: Ý thức bảo mật thông tin cá nhân ngày càng cao. Chính vì vậy để mà lấy được thông tin của khách hàng là điều khó khăn. Chẳng hạn như để khách hàng điền thông tin vào phiếu khảo sát cần rất nhiều thúc đẩy về marketing, khuyến mại, tặng phiếu giảm giá mua hàng,… Tuy nhiên, với chatbox thì có thể thu thập ý kiến khách hàng bằng cách đặt ra hàng loạt những câu hỏi trong hội thoại hết sức tự nhiên để lấy thông tin.
Chatbox sẽ tự động phân tích và đánh giá toàn bộ thông tin thu thập được giúp có cái nhìn bao quát nhất về thức khách hàng mong muốn. Từ đó có thể xây dựng được chiến lược tiếp thị tốt nhất. 13 do an - Tăng khả năng tương tác: Chatbox độc đáo và khác những ứng dụng nhắn tin khác là chúng có khả năng tương tác với khách hàng, lại có thể chủ động kéo dài cuộc hội thoại. Điều đó có nghĩa khách hàng thấy được kết nối lâu hơn so với việc sử dụng những hình thức tiếp thị khác.
Bởi vì chatbox với khả năng học hỏi trong quá trình tương tác, chúng có thể phát hiện những đặc tính nổi bật của người dùng liên quan đến thương hiệu và sản phẩm, dịch vụ mà khách hàng quan tâm. - Chủ động tương tác với khách hàng: Để tránh tình trạng thụ động xử lý tương tác khách hàng. Chatbox trong marketing được lập trình để có thể tự động gửi thông báo chào mừng ngay khi có người đặt chân vào website, fanpage của bạn. Sau khi tìm hiểu chatbox là gì và những lý do nên ứng dụng chatbox vào kinh doanh, Có thể nói ứng dụng nhắn tin đã trở thành điểm đến hàng đầu cho mọi thương hiệu nhằm tiếp cận người tiêu dùng, bởi vậy không có gì đáng ngạc nhiên khi Chatbot ngày càng trở nên phổ biến.
Bằng việc triển khai Chatbox cho chiến lược tiếp thị, chắc chắn sẽ dễ dàng hơn trong quá trình tìm hiểu đối tượng mục tiêu, điều chỉnh nỗ lực tiếp thị đồng thời tiếp cận người tiêu dùng mới và kiếm tiền từ các kênh bán hàng của bạn. TÌM HIỂU VỀ BOTMAN ĐỂ TẠO CHATBOT 1. BotMan là gì? BotMan là 1 framework agnostic của PHP Chatbot và được thiết kế để đơn giản hóa việc phát triển các chatbot trên nhiều nền tảng messaging khác nhau như Slack, Telegram,. Agnostic là 1 thuật ngữ dùng để đề cập đến 1 cái gì đó có thể tương tác giữa nhiều hệ thống khác nhau.
BotMan web wedget BotMan Web Widget là giao diện chatbot. Có thể sử dụng url online như sau: <scrip tsrc='https://cdn.net/npm/botman-web- widget@0/build/js/widget.js'></script> Hoặc có thể tải về, sau đó nhúng thư viện này vào trang khung của website và đặt bên dưới thư viện Jquery như sau: Hình 1. Script code BotMan wedget. Các khái niệm cơ bản 1.
Lắng nghe các tin nhắn Mặc định cấu hình Routes trong framework Laravel ở file routes/web.php sẽ quản lý các đường dẫn của website. Trong Botman, bộ quản lý việc lắng nghe thông báo nằm trong file routes/botman. Bằng cách này botman có thể phân biệt được khác biệt giữa patterns của URL và messages mà khách hàng gửi cho chatbot. Admin có thể chỉ định đoạn text (kiểu string) cho chatbot lắng nghe và xử lý.
Botman lắng nghe đoạn văn bản người dùng nhập, thực hiện việc kiểm tra đoạn văn bản đó trùng khớp dữ liệu trong file botman. Nếu trùng khớp, đoạn code thực hiện cấu trúc lệnh: $bot->reply(“Answer goes here”); Nếu đoạn text không trùng khớp với bất cứ đoạn khối mã lắng nghe nào, botman thực hiện fallback: Botman trả lời cho đoạn text người dùng nhập ngoài xử lý: Hình 2. Ví dụ BotMan không hiểu câu hỏi. 15 do an Ví dụ sau, chatbot lắng nghe đoạn tin nhắn “Xin chào” và trả lời “Chào bạn!”: Hình 3.
BotMan trả lời câu hỏi. Đoạn code được sử dụng cho việc chatbot lắng nghe đoạn text và phản hồi về người dùng cuối: Các đoạn dữ liệu người dùng nhập vào có thể phân tách nhau bằng ký tự “|”, ký tự này giúp botman lọc dữ liệu chỉ cần trùng 1 trong số các dữ liệu phân tách đó, botman đều có thể xử lý. Ngoài ra, admin có thể tùy chỉnh cho việc Chatbot trả lời bằng đoạn text hoặc xử lý thông qua lập trình hàm. Việc sử dụng hàm sẽ giúp admin quản lý việc trả lời câu hỏi của khách hàng một cách thông minh và tiện lợi hơn: Hình 4.
Sử dụng hàm để quản lý trong BotMan Tuy nhiên, việc trả lời câu hỏi của khách hàng thông qua đoạn văn bản vẫn chưa đáp ứng được yêu cầu vì đôi khi khách hàng còn cung cấp cả thông tin mà hệ thống cần xử lý theo thông tin đó. Ví dụ, khi khách hàng nhập tên, tuổi, số điện thoại, email cho một chiến dịch marketing nào đó. Hệ thống phải đảm bảo được yêu cầu sẽ lấy được 16 do an thông tin mà khách hàng nhập và thực hiện việc lưu dữ liệu vào các bảng trong cơ sở dữ liệu. Việc lấy thông tin khách hàng nhập, người dùng cuối sẽ có thể nhập một hoặc nhiều biến thông qua cặp dấu “{” và “}”.
Code Lấy thông tin khách hàng thông qua ChatBot Kết quả xử lý đoạn văn bản người dùng nhập: Hình 6. Hiển thị thông tin khách hàng sau khi lấy thông tin Tuy nhiên, nếu người dùng nhập nội dung khác với cấu trúc lắng nghe của Botman, điều này làm cho botman trả về hàm fallback. Để tránh việc gây khó khăn cho người dùng cuối sử dụng chatbox, người thực hiện đã thực hiện kiểm tra đoạn text đó trùng khớp 1 phần với hàm lắng nghe của botman. Việc lọc các từ dư thừa được thể hiện qua các ký tự: “.
Đoạn mã minh họa: Hình 7. Lọc từ khóa 1. Phản hồi tin nhắn Bot gửi phản hồi message để truyền đạt thông tin dựa trên thông tin nhận vào. Botman có thể phản hồi messages thông qua nhiều cách khác nhau: Đối với message đơn thuần có thể sử dụng hàm: $bot->reply(“Messages do here”); 17 do an Khi bot nhận được tin nhắn thông qua hàm hears(), bot sử dụng hàm reply() để đưa ra thông tin phản hồi.
Có thể gửi nhiều tin nhắn trả lời trong 1 phương thức: Hình 8. Đoạn code lắng nghe sự kiện và trả lời lại. Đối với việc trả lời nhiều tin nhắn, đặc biệt là những câu hỏi được botman đưa ra để người dùng cuối tiếp tục phản hồi, sử dũng hàm: $bot->startConversation(); Cách thức sử dụng Conversation sẽ được người thực hiện chi tiết hóa trong phần tiếp theo. Ngoài ra, bot cũng có thể gửi các thông điệp phản hồi người dùng thông qua các Conversation sử dụng hàm: $bot->say(“Messages go here”); Việc tương tác tốt hơn với người dùng cũng là 1 vấn đề rất được quan tâm.
Để người dùng cảm nhận được rằng họ đang chat với người thật, botman cung cấp phương thức typesAndWaits(second). Phương thức này xử lý việc in ra hành động “typing. “ trước khi thực hiện khối lệnh xử lý tin nhắn mà người dùng gửi đến. Nhắn tin hội thoại Ở phần này, người thực hiện sẽ giải quyết vấn đề: Yêu cầu người dùng trả lời 1 loạt các câu hỏi được dựng sẵn.