Tạo lập chatbot là một trong những vấn đề đang được nhiều doanh nghiệp quan tâm thời gian gần đây. Bởi chatbot là một trong những cách gia tăng trải nghiệm khách hàng hiệu quả, với các tính năng đột phá: phản hồi linh hoạt trong thời gian thực, cung cấp thông tin chính xác, giải quyết nhiều yêu cầu cùng lúc,.. Bài viết dưới đây sẽ cung cấp một số phương pháp và quy trình gợi ý để tạo lập hệ thống chatbot thông minh.
Chatbot là gì?
Khi truy cập vào một fanpage trên Facebook, bạn gửi tin nhắn tìm hiểu thông tin và nhận được lời hồi đáp ngay sau đó. Những tin nhắn như vậy có thể không đến từ người quản lý fanpage mà đến từ chatbot. Chatbot là một hình thức trò chuyện được các fanpage ưa chuộng sử dụng bởi tốc độ hồi đáp nhanh, với những thông tin chính xác được lập trình từ trước. Điều này mang đến trải nghiệm tuyệt vời hơn cho người truy cập fanpage khi không phải chờ đợi quá lâu để nhận được câu trả lời mong muốn.
Chatbot, hay còn được gọi là talkbot, chatterbot, bot, bot IM, hay thực thể trò chuyện tự động, là một chương trình máy tính thực hiện một cuộc trò chuyện thông qua việc tiếp nhận thông tin bằng văn bản và giọng nói. Chatbot được thiết kế để mô phỏng các cuộc hội thoại của con người, diễn giải, xử lý yêu cầu của người dùng và cuối cùng đưa ra câu trả lời một cách nhanh chóng. Chatbot được sử dụng trong các hệ thống hội thoại của các fanpage cho nhiều mục đích cụ thể, phổ biến nhất là dịch vụ khách hàng và thu thập thông tin.
️Phân loại chatbot
Tùy thuộc vào cách lập trình của bot, có 2 loại chat bot
Chatbot dựa trên quy tắc (Rule-Based Chatbot): Với loại chatbot này, quy tắc là đi theo các đường dẫn được định sẵn trong cuộc trò chuyện. Người dùng chọn các tùy chọn sẵn mà bot đưa ra để thực hiện yêu cầu với bot theo từng bước. Bot loại này thường đơn giản và dễ tạo lập hơn.
Chatbots trò chuyện tự động (Self-Learning Chatbot), hay còn gọi là AI chatbot: Sử dụng Trí tuệ nhân tạo (AI) & Học máy (ML) để đưa ra phân tích và dự đoán dựa trên yêu cầu sau đó trò chuyện với người dùng. Mức độ tương tác và cá nhân hóa của chúng cao hơn so với Chatbot dựa trên quy tắc.
Các phương pháp tạo lập chatbot gợi ý
Để đáp ứng và nâng cao trải nghiệm người dùng, AI chatbot là một lựa chọn tuyệt vời của các doanh nghiệp, tổ chức. Trong bài viết này giới thiệu một số định hướng xây dựng AI chatbot phổ biến, được đề xuất sử dụng rộng rãi bởi các nhà nghiên cứu.
Những nghiên cứu gần đây về chatbot thường phân theo 2 hướng lớn: (1) phương pháp pipeline và (2) phương pháp end-to-end.
Trong phương pháp pipeline, toàn bộ hệ thống chatbot được chia thành nhiều công đoạn, và thành phần khác nhau, chẳng hạn như đọc hiểu ngôn ngữ tự nhiên (Natural Language Understanding – NLU), quản lý hội thoại (Dialog Management) bao gồm theo dõi trạng thái hội thoại (Dialog State Tracking – DST) học các nguyên lý hội thoại (Policy Learning); sinh ngôn ngữ tự nhiên (Natural Language Generation – NLG). Ngược lại với các phương pháp tiếp cận theo pipeline, các phương pháp end-to-end xây dựng một hệ thống hội thoại bằng cách sử dụng một mô hình duy nhất, trong đó ngữ cảnh ngôn ngữ tự nhiên được lấy làm đầu vào và phản hồi ngôn ngữ tự nhiên được tạo ra làm đầu ra.
Rõ ràng, các hệ thống pipeline với cấu trúc mô-đun dễ hiểu và ổn định hơn, do đó được ứng dụng trong thương mại hóa nhiều hơn. Tuy nhiên, với việc yêu cầu ít chú thích hơn, các hệ thống end-to-end có thể trở thành một giải pháp thay thế đầy hứa hẹn trong tương lai.
Chi tiết quy trình nghiên cứu theo cả 2 phương pháp pipeline và end-to-end như sau:
Tạo lập chatbot bằng phương pháp Pipeline
Quy trình trong phương pháp Pipelines như sau:
- Hiểu ngôn ngữ tự nhiên (Natural Language Understanding – NLU)
Ở công đoạn này, NLU có nhiệm vụ phân tích cú pháp của người dùng và đưa chúng thành một biểu diễn ngữ nghĩa có cấu trúc, thường bao gồm các cặp ý định (intent) và các cặp thuộc tính – giá trị (slot: value). Ý định (intent) ở đây chỉ ra chức năng của lời nói, ví dụ: truy vấn hoặc cung cấp thông tin. Các cặp thuộc tính – giá trị là các yếu tố ngữ nghĩa được đề cập trong câu nói.
Ví dụ: trong câu nói “Bạn có thể giới thiệu một nhà hàng Trung Quốc ở Manhattan không?”, Các cặp thuộc tính – giá trị có thể là (“ẩm thực” : “Trung Quốc”) và (“địa điểm” : “Manhattan”). Ý định ở đây là “cung cấp thông tin”.
Phát hiện ý định (intent detection) và trích xuất thuộc tính – giá trị (slot-value extraction) có thể được giải quyết bằng cách sử dụng Mạng nơ-ron hồi quy (RNN), Mạng nơ-ron tích chập (CNN), Mạng nơ-ron đệ quy, CRF (conditional random fields) hoặc mô hình BERT bên cạnh việc kết hợp cơ chế attention..
- Theo dõi trạng thái hội thoại (Dialog state tracking – DST)
Ở bước này của quy trình, trình theo dõi trạng thái hộp thoại ước tính mục tiêu của người dùng bằng cách lấy toàn bộ ngữ cảnh hộp thoại làm đầu vào. Trong hầu hết các nghiên cứu gần đây, mục tiêu của người dùng được thể hiện bằng các cặp thuộc tính – giá trị.
Năm 2013, Henderson từ Đại học Cambridge đã giới thiệu phương pháp học sâu để theo dõi trạng thái hộp thoại, trong đó sử dụng cửa sổ trượt để xuất ra một chuỗi phân phối xác suất trên một số giá trị tùy ý. Tại một số vị trí cố định cho phép áp dụng phân loại để dự đoán giá trị. Đối với các vị trí tự do có thể tạo ra giá trị trực tiếp hoặc dự đoán khoảng giá trị trong lời thoại.
Theo dõi trạng thái hộp thoại cũng có thể được thực hiện bằng cách sử dụng Mạng nơ-ron hồi quy (RNN) và Neural Belief Tracker (NBT), kết hợp một số các phương pháp tiếp cận khác.
- Học nguyên lý hội thoại (Dialog policy learning – DPL)
Sau khi xác định trạng thái hội thoại, bước tiếp theo là tiến hành đưa ra quyết định hành động tiếp theo của hệ thống. DPL sẽ học các nguyên lý hội thoại của con người bằng các phương thức như học có giám sát hoặc học tăng cường. Ngoài ra, phương pháp tiếp cận dựa trên quy tắc (rule-based) được sử dụng đầu tiên để khởi động hệ thống.
Hiện nay, để học nguyên lý hội thoại hầu như đều dựa vào học tăng cường (RL). Tuy nhiên, việc đào tạo một chính sách học tăng cường đòi hỏi nhiều tương tác với người dùng, điều này tốn nhiều thời gian và chi phí. Do đó, nhiều phương thức tiếp cận khác nhau đã được đề xuất để giải quyết vấn đề này, bao gồm cả việc sử dụng trình mô phỏng người dùng.
- Sinh ngôn ngữ tự nhiên (Natural language generation – NLG)
Ở công đoạn này; chúng ta sẽ dùng hành động được quyết định từ nguyên lý đối thoại tạo thành câu nói tự nhiên để phản hồi lại người dùng. Phản hồi tương ứng với một lời thoại của máy tính phải đảm bảo độ chính xác về mặt thông tin, cụ thể và tự nhiên.
Công đoạn này có thể được tiếp cận như một nhiệm vụ xử lý ngôn ngữ có điều kiện, bắt đầu bằng cách đào tạo trước một GPT với kho ngữ liệu quy mô lớn, và sau đó tinh chỉnh (fine-tune) mô hình về các nhiệm vụ sản sinh ngôn ngữ tự nhiên mục tiêu với một số lượng nhỏ các mẫu đã đào tạo.
Tạo lập chatbot bằng phương pháp End-to-end
Phương pháp End-to-end được đề xuất khi người ta nhận thấy một số hạn chế của phương pháp Pipeline. Đầu tiên, liên quan tới vấn đề chỉ định, với phương pháp pipeline thường khó có thể chỉ định các phản hồi của người dùng với mô-đun cụ thể tương ứng. Ngoài ra, các công đoạn có sự phụ thuộc và tương quan lẫn nhau, trong đó bất kỳ thay đổi về dữ liệu hoặc huấn luyện lại một thành phần nào của hệ thống pipeline cũng yêu cầu tất cả các thành phần khác phải được điều chỉnh cho phù hợp.
Những vấn đề này có thể được giải quyết bằng cách xây dựng một mô hình sinh (generative models) mạng nơ-ron cho các hệ thống hội thoại. Hầu hết các phương pháp end-to-end này sử dụng mô hình seq2seq (sequence to sequence).
Tuy nhiên, cách tiếp cận truyền thống của end-to-end yêu cầu dữ liệu hội thoại rất nhiều và đa dạng để học các hành vi đối thoại cơ bản của con người.
Trên đây, là một số phương pháp gợi ý được sử dụng rộng rãi để tạo lập Chatbot. Chatbot được dự đoán là sẽ càng ngày càng phổ biến bởi bất kỳ doanh nghiệp nào cũng muốn tối ưu trải nghiệm người dùng. Trong tương lai, Chatbot được kỳ vọng sẽ cải tiến nhiều hơn để phù hợp với tâm lý của người dùng, và sự phong phú của ngôn ngữ. Bạn có quan tâm đến chatbot và muốn phát triển chúng hay không, để lại comment thảo luận với VinBigdata nhé!
Chatbot hiện nay đang là một sản phẩm công nghệ nổi bật, được VinBigdata đầu tư phát triển với những tính năng vượt trội: Xử lý đa ngôn ngữ; tích hợp đa kênh, dễ dàng kết nối với các nền tảng hội thoại có sẵn chỉ bằng vài thao tác; nền tảng điện toán đám mây cho phép mở rộng quy mô không giới hạn, với khả năng xử lý hơn 10,000 yêu cầu cùng lúc; kinh nghiệm đa ngành đã được ứng dụng với hệ sinh thái Vingroup; giao diện thân thiện, đơn giản và dễ sử dụng.
Tư liệu tham khảo: TopBots