1. Đặt vấn đề
Trong những năm gần đây, sự bùng nổ của công nghệ số đã làm thay đổi mạnh mẽ cách con người và doanh nghiệp giao tiếp. Mỗi ngày, hàng triệu tin nhắn được gửi đến các cửa hàng trực tuyến, dịch vụ công, hay trung tâm chăm sóc khách hàng. Dù nội dung rất đa dạng, phần lớn trong số đó đều xoay quanh những câu hỏi quen thuộc: “Sản phẩm còn hàng không?”, “Phí vận chuyển bao nhiêu?”, hay “Tôi muốn đổi kích cỡ.” Điều này đặt ra một bài toán lớn: làm thế nào để doanh nghiệp phản hồi nhanh chóng, chính xác và tiết kiệm chi phí?
Một trong những lời giải đầu tiên và hiệu quả nhất chính là Rule-based Chatbot – một mô hình chatbot hoạt động dựa trên tập hợp các quy tắc được lập trình trước. Dù ngày nay chúng ta đã biết đến nhiều chatbot thông minh hơn nhờ trí tuệ nhân tạo, Rule-based Chatbot vẫn đóng vai trò là “viên gạch nền” xây dựng hệ sinh thái hội thoại tự động.
2. Chatbot dựa trên luật ý tưởng đơn giản, hiệu quả lớn!
Rule-based Chatbot hoạt động dựa trên nguyên lý hết sức trực quan: nếu đầu vào khớp với một điều kiện → chatbot phản hồi bằng câu trả lời tương ứng. Mô hình này không “hiểu” ngôn ngữ theo nghĩa sâu như con người, nhưng nó vận hành một cách chặt chẽ, nhất quán và hoàn toàn có thể kiểm soát.
.png)
Hình 1. Tổng quan hoạt động Rule-based Chatbot
Hình dung quy trình cơ bản: người dùng gửi tin nhắn → chatbot đối chiếu với kịch bản → phản hồi nếu khớp → chuyển cho nhân viên khi ngoài phạm vi. Cách tổ chức này giúp chatbot xử lý hàng trăm yêu cầu phổ biến mỗi ngày không cần con người can thiệp.
3. Cấu trúc bên trong: Cây hội thoại và luồng xử lý
3.1.Cây hội thoại – Chat Tree
Một Rule-based Chatbot được thiết kế giống như một cây quyết định. Mỗi nút thể hiện một bước hội thoại, còn các nhánh biểu thị những lựa chọn mà người dùng có thể đưa ra.
.png)
Hình 2. Cấu trúc cây hội thoại
Cho thấy ví dụ điển hình: chatbot chào hỏi, đưa ra các lựa chọn như “Tư vấn mua hàng”, “Tra cứu bảo hành”, “Hỗ trợ kỹ thuật” và tiếp tục phân nhánh cho đến khi nhu cầu được xác định rõ.
Cách xây dựng này giống như việc chatbot luôn cầm trên tay một “sổ tay phản hồi”. Khi người dùng hỏi, bot chỉ cần mở đúng trang đã được soạn sẵn.
3.2. Luồng xử lý hội thoại – Flowchart
Nếu Chat Tree là bản thiết kế tĩnh, thì Flowchart là mô phỏng cách chatbot hoạt động theo thời gian thực.
.png)
Hình 3. Mô tả luồng hoạt động
Mô tả chuỗi các bước: tiếp nhận tin nhắn → chuẩn hóa văn bản → đối chiếu quy tắc → phản hồi hoặc thông báo mặc định. Dù đơn giản, quy trình này tạo nên sự tin cậy, rõ ràng và dễ kiểm soát, giúp hệ thống tránh trường hợp trả lời sai lệch.
3.3. Logic điều khiển: If – Elif – Else
.png)
Hình 4. Sơ đồ minh họa kiểm tra và xử lý điều kiện
Mỗi đầu vào đi qua hàng loạt kiểm tra từ trên xuống. Chỉ khi một điều kiện thỏa mãn, khối lệnh tương ứng sẽ được thực thi. Nhờ cơ chế này, hội thoại diễn ra chính xác và tránh xung đột.
Tuy nhiên, chính sự cứng nhắc của cấu trúc này cũng là hạn chế: chỉ cần người dùng diễn đạt khác đi một chút, chatbot có thể không hiểu. Điều này được thể hiện rõ trong Hình 5, nơi người dùng nhập “phô mai” – một từ ngoài kịch bản, khiến bot buộc phải trả lời mặc định.
4. Ưu điểm và giới hạn vì sao Rule-based vẫn quan trọng?
4.1. Ưu điểm
- Dễ xây dựng, triển khai nhanh.
- không cần dữ liệu huấn luyện hay phần cứng mạnh.
- Miễn là người dùng nhập đúng dự kiến, bot luôn phản hồi chính xác.
4.2. Nhược điểm
- Bot dễ “đứng hình” khi gặp cách diễn đạt lạ.
- Khi kịch bản dài, cây hội thoại trở nên phức tạp.
- Phản hồi cứng, dễ nhận ra là máy.
Dù vậy, nhiều doanh nghiệp vẫn sử dụng Rule-based Chatbot như tuyến giao tiếp đầu tiên. Bot xử lý yêu cầu phổ biến, còn nhân viên sẽ tiếp nhận các trường hợp phức tạp. Sự kết hợp này mang lại hiệu quả kinh tế lẫn trải nghiệm khách hàng tốt hơn.
5. Hướng dẫn thực hành: Xây dựng Pizza Chatbot
Phần thực hành trong bài giới thiệu cách xây dựng một chatbot đặt pizza bằng Python. Quy trình bắt đầu từ việc thiết kế cây hội thoại rồi chuyển hóa thành chương trình hoàn chỉnh.
.png)
Hình 5. Mô tả cấu trúc kịch bản đặt Pizza
5.1. Khởi tạo dữ liệu nền tảng
- Menu pizza, giá tiền
- Từ đồng nghĩa (giúp bot hiểu nhiều cách diễn đạt)
5.2. Chuẩn hóa đầu vào
- Chuyển mọi dạng nhập về một định dạng thống nhất – yếu tố quan trọng giúp tránh lỗi.
5.3. Xây dựng các hàm phản hồi
- Mỗi bước trong cây hội thoại tương ứng với một hàm: lời chào, hỏi size, xác nhận đơn, cảm ơn khách hàng.
5.4. Phát triển logic xử lý chính
- Nó hoạt động như một State Machine, chuyển đổi giữa các trạng thái: wait → menu → size → confirm.
5.5. Xây dựng vòng lặp hội thoại
- Tạo chu trình: nhận input → xử lý → phản hồi → chờ input tiếp theo.
5.6. Khởi chạy và kiểm thử
- Chạy trên Terminal bằng lệnh python main.py, chatbot hoạt động giống một nhân viên bán hàng mini: hỏi loại pizza, hỏi size, xác nhận giá và chốt đơn.
6. Kết luận
Rule-based Chatbot, dù có giới hạn rõ ràng, vẫn là nền móng quan trọng của các hệ thống hội thoại. Mô hình này giúp người học tiếp cận cơ chế vận hành của chatbot một cách trực quan: từ cây hội thoại, luồng xử lý, logic điều kiện cho đến quản lý trạng thái. Quan trọng hơn, nó cho thấy rằng để xây dựng một sản phẩm hội thoại hiệu quả, điều cốt lõi không phải lúc nào cũng là sự phức tạp, mà là khả năng tổ chức logic rõ ràng và nhất quán.
Ngày nay, các chatbot hiện đại sử dụng Machine Learning và NLP để hiểu ngôn ngữ tự nhiên sâu hơn. Nhưng chính Rule-based Chatbot lại đóng vai trò như “bảng chữ cái” – bước khởi đầu cần thiết để mở ra cánh cửa vào thế giới AI hội thoại thông minh.
DANH MỤC TÀI LIỆU THAM KHẢO
[1] AI Vietnam (AIVN), Rule-based Chatbot – Lesson 3: Follow-up Reading.
[2] K. M. Colby, “Human–computer conversation via natural language: The psychiatrist program ELIZA,” Annual Review of Computer Science, 1999.
[3] M. McTear, The Rise of the Conversational Interface: A New Kid on the Block? Springer, 2017.
Thầy Huỳnh Luân - Giảng viên Khoa CNTT-ĐT