CHƯƠNG 1: TỔNG QUAN VỀ CHATBOT 1.1 Khái niệm Chatbot Chatbot là một phần mềm trí tuệ nhân tạo (AI) giả lập cuộc hội thoại của con người bằng văn bản hoặc giọng nói, giúp trả lời tự động tin nhắn của con người thông qua các ứng dụng tin nhắn trên website hoặc trên điện thoại di động. Chatbot có khả năng tương tác với khách hàng qua tin nhắn theo thời gian thực 24/7, do đó, khách hàng sẽ không phải chờ đợi lâu để nhận được sự hỗ trợ từ doanh nghiệp. Ngày nay, con người có xu hướng tương tác với nhau qua các nền tảng nhắn tin. Theo thống kê của Facebook Messenger đầu năm 2020, hơn 61% số khách hàng được hỏi cho rằng, nhắn tin là cách thuận tiện giúp nhanh chóng kết nối với các doanh nghiệp họ cần.
Tại Việt Nam, Zalo là ứng dụng trò chuyện có nhiều người sử dụng nhất với hơn 100 triệu tài khoản. Do đó, việc sở hữu một Chatbot được tích hợp đa kênh truyền thông là thiết yếu đối với mọi doanh nghiệp. Cũng bởi Chatbot hỗ trợ con người thực hiện tự động các công việc tốn nhiều thời gian nhất, giúp các doanh nghiệp tiết kiệm được khoản chi phí lớn cho nhân sự. Đội ngũ nhân viên được tối ưu nhiệm vụ, tập trung xử lý các công việc chuyên sâu ở mức độ khó hơn.
Ngày nay Chatbot là một chủ đề nóng và nhiều công ty đang hy vọng phát triển để có những cuộc trò chuyện tự nhiên không thể phân biệt với con người bằng các kỹ thuật NLP và Deep Learning để biến điều này thành hiện thực. Chatbot chia thành 2 loại [1] miền mở (open domain) và miền đóng (close domain). Miền mở là mô hình trả lời tự động cho phép người dùng có thể tham gia trò chuyện với bất kỳ chủ đề nào, không nhất thiết phải có một mục tiêu rõ ràng hay một ý định cụ thể nào. Miền đóng thường tập trung vào một chủ đề cụ thể ví dụ: thời tiết, du lịch, mua sắm, y tế… Trong luận văn này tôi sẽ tập trung vào xây dựng Chatbot thuộc loại miền đóng, cụ thể là bài toán hỗ trợ khách hàng mua hàng, tư vấn và hướng dẫn sử dụng.2 Các thành phần của Chatbot Chatbot thông thường cấu thành từ 3 thành phần chính [2]: thành phần hiểu ngôn ngữ tự nhiên (NLU), thành phần quản lý hội thoại (DM) và thành phần sinh ngôn ngữ (NLG).
Mỗi thành phần xử lý một tác vụ riêng biệt: - NLU: là quá trình xử lý để hiểu ngôn ngữ tự nhiên, thành phần giúp Chatbot hiểu được ý định người dùng (intent) và trích xuất các thực thể (entity) trong câu. Khi người dùng nhập câu hỏi “Giá sản phẩm A03 bao nhiêu?” Chatbot sẽ cần xử lý, bởi vì Chatbot không hiểu được ngôn ngữ con người cho NLU sẽ chuyển nó thành dữ liệu có cấu trúc, từ đó có thể phân tích câu hỏi trên với ý định là “hỏi giá”, thực thể là sản phẩm “A03”. - DM: Quản lý hội thoại có nhiệm vụ xác định được hành động (action) tiếp theo dựa vào trạng thái hành động trước đó hoặc ngữ cảnh của hội thoại. Các ngữ cảnh của hội thoại sẽ được học qua kịch bản dựng sẵn (story).
Xử lý truy xuất dữ liệu từ hệ thống khác thông qua API hoặc xử lý logic trong hội thoại cũng sẽ được thực hiện trong thành phần này. - NLG: là thành phần bao gồm nhiều mẫu câu trả lời đã được định nghĩa trước (pre-defined template) và phụ thuộc vào hành động được dự đoán ở DM kết hợp với chính sách (policy) của hệ thống để đưa ra câu trả lời cho người dùng. Ví dụ ở câu hỏi “Giá sản phẩm A03 bao nhiêu?”, ta sẽ định nghĩa trước mẫu câu “Chào anh chị, giá sản phẩm {ma_san_pham} giá {gia_tien} ạ”, và ở thành phần DM hệ thống sẽ lấy được thông tin mã sản phẩm thông qua NLU và gọi đến API của hệ thống khác để lấy giá tiền, từ đó kết quả NLG trả về sẽ là “Chào anh chị, giá sản phẩm A03 giá 300. 4 Luan van Hình 1.
Minh họa các thành phần của Chatbot [3] 1.1 Rule-based Chatbot Rule-based Chatbot tạm dịch là Chatbot dựa theo luật được đề ra sẵn, hay còn được gọi là Chatbot dạng menu/button, là một dạng Chatbot trở nên nổi tiếng sau khi Facebook cho ra mắt nền tảng Messenger cho phép cá nhân hoặc doanh nghiệp tạo ra bot hỗ trợ khách hàng tự động. Xây dựng Chatbot theo Rule-based là việc định nghĩa các luật hoặc đưa ra các mẫu có trước mà Chatbot muốn hướng đến, để thao tác với Chatbot ứng dụng sẽ sử dụng cả nút bấm, thanh menu hoặc hệ thống điều hướng để người dùng lựa chọn. Giống với việc gọi điện đến tổng đài hỗ trợ khách hàng ta cần chọn ngôn ngữ, chọn phòng ban phụ trách sau đó mới được chuyển hướng đến hỗ trợ viên thích hợp, Rule-based Chatbot cũng hoạt động như vậy chỉ khác là sẽ hiển thị các nút bấm hoặc menu trên cửa sổ chat. 5 Luan van Hình 1.
Chatbot hỗ trợ nút bấm để thao tác của Domino’s Pizza Hình phía trên là ví dụ của Chatbot dạng menu/button, đây là ảnh của Chatbot hệ thống cửa hàng Domino’s Pizza trên ứng dụng Messenger Facebook, người dùng có thể sử dụng để đặt hàng, theo dõi đơn hàng hoặc liên hệ hỗ trợ thông qua điều hướng menu. Ví dụ nếu người dùng ấn nút “Customer support” cuộc trò chuyện sẽ được chuyển hướng đến hỗ trợ viên trực tiếp. Lợi thế của Rule-based Chatbot so với các loại Chatbot khác là hiển thị được tất cả các lựa chọn, giúp người dùng đưa ra quyết định chính xác mà không cần suy nghĩ sẽ hỏi như thế nào và câu hỏi đó Chatbot có hiểu được không. Rule-based Chatbot được sử dụng khi người dùng muốn thực hiện một hành động cụ thể, ví dụ đặt vé máy bay, đặt vé xem phim.
Rule-based Chatbot cũng sẽ dễ dàng cập nhật hơn, thay vì việc phải huấn luyện lại Chatbot mỗi khi có dữ liệu mới, ta chỉ cần thêm nút hoặc menu và câu phản hồi cho chủ đề mới đó, Chatbot cũng không cần phải training. Chatbot cũng 6 Luan van sẽ không gặp trường hợp không hiểu ý định của khách hàng, với việc thiết kế thêm nút chọn “Liên hệ trực tiếp” sẽ dẫn khách hàng đến nhân viên hỗ trợ trong trường hợp không tìm thấy lựa chọn phù hợp ở giao diện chat. Một số nền tảng giúp xây dựng Rule-based Chatbot như Manychat, Chatfuel, Botsify… Bên cạnh những ưu điểm nêu trên, Rule-based Chatbot cũng gặp phải hạn chế, một trong những hạn chế là không thể trả lời câu hỏi khách hàng mà Chatbot không được định nghĩa trước. Khách hàng cần đi qua nhiều bước mới đến được câu trả lời phù hợp, do vậy trong vài trường hợp sẽ ảnh hưởng đến trải nghiệm người dùng.2 AI-based Chatbot Khác với Rule-based Chatbot, AI-based Chatbot không sử dụng các menu/button để điều hướng người dùng, thay vào đó sử dụng trí tuệ nhân tạo AI để xử lý tin nhắn và phản hồi đến người dùng.
Khoảng 5 năm trở lại đây, trí tuệ nhân tạo phát triển mạnh mẽ, Chatbot cũng được trang bị thêm công nghệ trí tuệ nhân tạo và công nghệ học máy giúp Chatbot có khả năng tự học từ những cuộc trò chuyện thực tế với người dùng để trở nên thông minh hơn theo thời gian. Công nghệ xử lý ngôn ngữ tự nhiên NLP giúp Chatbot AI hiểu ý định trong câu nói của người dùng và đưa ra những phản hồi chính xác. Người dùng không phải nhập những câu rập khuôn máy móc để giao tiếp với Chatbot mà hoàn toàn có thể diễn tả ý định theo cách của riêng mình. Nhờ xác định các từ khóa, các biến trong câu nói của người dùng mà Chatbot thông minh hiểu và đối đáp linh hoạt với người dùng.
Bên cạnh đó, Chatbot AI có khả năng tích hợp nhiều tính năng tiện ích bổ sung, nhằm giải quyết đa dạng các bài toán của doanh nghiệp. Chatbot không những có thể tư vấn, cung cấp thông tin về các sản phẩm dịch vụ của doanh nghiệp, mà Chatbot còn có thể thực hiện nhiều tác vụ như thu thập thông tin khách hàng, đặt hàng, đặt lịch hẹn.4 Các nền tảng xây dựng Chatbot Chatbot đã không còn là khái niệm xa lạ với người dùng Internet nói chung và các doanh nghiệp nói riêng. Hiện nay nhiều nền tảng xây dựng Chatbot được ra đời, hỗ trợ người dùng giao diện trực quan và khả năng đưa ra câu trả lời phù hợp với câu hỏi của người dùng một cách chính xác như Chatfuel, FPT.AI Conversation, Harafunnel. Hoặc doanh nghiệp có thể tự xây dựng hệ thống Chatbot dựa vào các framework nổi tiếng như Microsoft Bot Framework, Rasa, Dialogflow.
Sau đây là một số nền tảng Chatbot nổi tiếng trên thế giới mà bất kì cá nhân hoặc doanh nghiệp nào cũng có thể tiếp cận: Chatfuel Chatfuel ra đời vào mùa hè năm 2015 với mục tiêu làm cho việc xây dựng bot trở nên dễ dàng với bất kỳ ai. Hiện Chatfuel là nền tảng hàng đầu để xây dựng bot trên Facebook Messenger, tự động hóa giao tiếp với con người thông qua các ứng dụng nhắn tin. Các tính năng cơ bản của Chatfuel bao gồm: tạo Chatbot tự động trả lời tin nhắn khách hàng, tạo quảng cáo Facebook tiếp thị lại cho những người dùng đã tương tác với Fanpage của bạn, hỗ trợ lọc danh sách khách hàng tiềm năng thông qua lịch sử trò chuyện với khách hàng. Ưu điểm của Chatfuel khiến nền tảng này trở nên thu hút phải kể đến là bản dùng thử hoàn toàn miễn phí.
Việc thiết lập Chatbot trên nền tảng này cũng rất đơn giản vì không cần phải lập trình, mà dễ dàng tạo bot nhờ vào các thư viện mẫu. Ngoài tích hợp trên Facebook, Chatfuel còn tích hợp được với các ứng dụng mạng xã hội khác như Instagram, Twitter, Youtube… Các khách hàng của Chatfuel, bao gồm từ các doanh nghiệp vừa và nhỏ đến các thương hiệu dễ nhận biết nhất trên thế giới. Một số khách hàng lớn nhất như Adidas, T - Mobile, LEGO.AI Conversation Nền tảng tạo Chat-bot FPT.AI Conversation là sản phẩm được FPT đặc biệt đầu tư phát triển. Là nền tảng tạo lập Chatbot ứng dụng trí tuệ nhân tạo với các 8 Luan van công nghệ học máy và xử lý ngôn ngữ tự nhiên tiên tiến nhất, FPT.AI Conversation cho phép người tạo bot xây dựng các kịch bản trò chuyện khác nhau với khách hàng và theo dõi lịch sử trò chuyện để Chatbot có thể hiểu và tương tác với khách hàng một cách tự nhiên, thân thiết.
Chatbot tích hợp trên các giao diện nhắn tin phổ biến như Facebook Messenger, Zalo, livechat trên website hoặc bất kì ứng dụng, giao diện trò chuyện sẵn có nào của doanh nghiệp. Giao diện nền tảng Chatbot FPT.