a. Vai trò của quản lý hội thoại
Trong các phiên trao đổi dài (long conversation) giữa người và chatbot, chatbot sẽ cần ghi nhớ những thông tin về ngữ cảnh (context) hay quản lý các trạng thái hội thoại (dialog state). Vấn đề quản lý hội thoại (dialoge management) khi đó là quan trọng để đảm bảo việc trao đổi giữa người và máy là thông suốt [1]. Vẫn ở ví dụ về hỏi về thời tiết ở trên, chatbot cần có thông tin về trạng thái hội thoại, để có thể phản hồi đúng thông tin cần hỏi “It will be sunny and 2 0oC” [4].
Hình 2.5: Quản lý hội thoại [4]
Chức năng của thành phần quản lý hội thoại là nhận đầu vào từ thành phần NLU, quản lý các trạng thái hội thoại (dialogue state), ngữ cảnh hội thoại (dialogue context), và truyền đầu ra cho thành phần sinh ngôn ngữ (Natural Language Generation - NLG) [1].
Trạng thái hội thoại (dialog state) được lưu lại và dựa vào tập luật hội thoại (dialog policy) để quyết định hành động tiếp theo cho câu trả lời của bot trong một kịch bản hội thoại, hay hành động (action) chỉ phụ thuộc vào trạng thái (dialog state) trước của nó.
b. Các mô hình quản lý hội thoại phổ biến
Hiện nay, các chatbot thường dùng mô hình máy trạng thái hữu hạn (Finite State Machines – FSM), mô hình Frame-based (Slot Filling) hoặc kết hợp hai mô hình này [1].
- Mô hình máy trạng thái hữu hạn (Finite-State Machines): Các FSM đặt một trình tự được xác định trước các bước đại diện cho trạng thái của cuộc hội thoại tại bất cứ điểm nào. Các FSM là phương pháp thiết kế thủ công của DM. Các trạng thái của FSM tương ứng với các câu hỏi mà DM hỏi người dùng. Các cung nối giữa các trạng thái tương ứng với các hành động của chatbot sẽ thực hiện. Các hành động này phụ thuộc phản hồi của người dùng cho các câu hỏi.
Hình 2.6: Mô hình máy trạng thái hữu hạn (Finite-State Machines) [10]
- Mô hình Frame-based (hoặc tên khác là Form-based) có thể giải quyết vấn đề mà mô hình FSM gặp phải. Mô hình Frame-based dựa trên các frame định sẵn để định hướng cuộc hội thoại. Mỗi frame sẽ bao gồm các thông tin (slot) cần điền và các câu hỏi tương ứng mà dialogue manager hỏi người dùng. Mô hình này cho phép người dùng điền thông tin vào nhiều slot khác nhau trong frame.
Hình 2.7: Mô hình Frame-based [10]