FAQ bot, goal-oriented bot và chitchat khác nhau thế nào?
Một chatbot thực tế cần giới hạn scope ra sao?
Dialog system bắt đầu từ user need nào?
Ghi chú trong khi đọc
Chatbot trong chapter này được chia thành FAQ bot, flow-based bot và open-ended bot.
FAQ bot là truy xuất câu trả lời cố định; response không phụ thuộc nhiều vào turn trước.
Flow-based bot đi theo luồng đã định sẵn để thu đủ thông tin, ví dụ đặt pizza.
Open-ended bot thiên về chitchat, khó hơn vì phải giữ hội thoại tự nhiên mà không có flow cố định.
Pipeline cơ bản của dialog system: speech recognition → NLU → dialog/task manager → NLG → speech synthesis.
Các thuật ngữ quan trọng: intent/dialog act, slot/entity, dialog state, context.
Dialog manager là nơi giữ trạng thái và quyết định hỏi tiếp hay trả lời tiếp.
Dialogflow được dùng như ví dụ thực hành để tạo agent, intent và entity.
Viết lại bằng lời của tôi
Đọc phần này mình hiểu chatbot không phải chỉ là “trả lời cho hay”, mà là một hệ thống có mục tiêu. Nếu là FAQ bot thì nó chỉ cần nhận diện câu hỏi và trả đúng câu cố định. Nếu là flow-based bot thì bot phải dẫn dắt người dùng qua nhiều turn để lấy đủ slot. Còn open-ended bot thì gần giống trò chuyện tự do, khó hơn vì phải giữ tự nhiên và không lạc chủ đề.
Điều mình cần nhớ nhất là dialog system luôn có state. Mỗi câu nói mới không đứng riêng lẻ mà được ghép với lịch sử hội thoại để quyết định bước kế tiếp. Vì vậy phần trung tâm không chỉ là NLU mà là dialog manager, nơi bot quyết định hỏi tiếp, xác nhận hay gọi hành động.