Kỹ thuật để xây dựng 1 chatbot đơn giản?
Hiện em đang có ý định xây dựng 1 chatbot đơn giản chỉ phục vụ một vài case nhất định như chào hỏi, bật tắt thiết bị, đặt lịch, chơi nhạc,... Vậy kỹ thuật nào em nên tiếp cận để có thể giải quyết bài toán này mà không làm nó trở nên quá cồng kềnh ạ?
giảng viên đại học quốc gia hà nội
Chào Quyền,
Về cơ bản, việc xây dưng chatbot đơn giản trong một lĩnh vực cụ thể như em nói chỉ cần 2 kĩ thuật.
Một là kĩ thuật phát hiện ý định của người dùng (Intent Detection). Thực chất là ta cần ánh xạ mỗi câu hỏi/phát ngôn của người dùng thành một hành động cụ thể:
user utterance => action
Ví dụ:
- "hãy tắt điều hoà" => powerOff
- "giảm nhiệt độ phòng 3 độ C" => decreaseDegree
Trong từng lĩnh vực chuyên biệt và cụ thể thì tập actions là tương đối nhỏ (ví dụ chục actions khác nhau). Bài toán Intent Detection được quy về bài toán phân loại văn bản ngắn (short text classification) và có thể giải được hiêu quả bằng luật hoặc các mô hình học tự động.
Hai là kĩ thuật trích xuất từ khoá (Keyword Extraction). Để hiểu phát ngôn của người dùng thì ngoài ý định, hệ thống cần trích được các thông tin mà người dùng cung cấp trong phát ngôn đó, để làm tham số tương ứng cho hành động.
Trong hai ví dụ trên, hệ thống cần trích được "điều hoà" trong câu 1 (để thực hiện tắt điều hoà chứ không phải tắt tivi chẳng hạn); và trích được "3 độ C" để biết số độ tương ứng cần giảm.
Kỹ thuật trích chọn từ khoá này cũng có thể giải được hiệu quả bằng luật hoặc các mô hình học tự động.
Chú ý rằng, ở đây ta giả định phát ngôn/câu hỏi của người dùng là rõ ràng, đơn giản, không chứa các hàm ý khó. Nếu câu hỏi dạng "Ngọn núi nào cao nhất Việt Nam?", hay "Một cộng một bằng mấy?" thì hai kĩ thuật này là chưa đủ để giải quyết.
Phương
Lê Hồng Phương
Chào Quyền,
Về cơ bản, việc xây dưng chatbot đơn giản trong một lĩnh vực cụ thể như em nói chỉ cần 2 kĩ thuật.
Một là kĩ thuật phát hiện ý định của người dùng (Intent Detection). Thực chất là ta cần ánh xạ mỗi câu hỏi/phát ngôn của người dùng thành một hành động cụ thể:
user utterance => action
Ví dụ:
Trong từng lĩnh vực chuyên biệt và cụ thể thì tập actions là tương đối nhỏ (ví dụ chục actions khác nhau). Bài toán Intent Detection được quy về bài toán phân loại văn bản ngắn (short text classification) và có thể giải được hiêu quả bằng luật hoặc các mô hình học tự động.
Hai là kĩ thuật trích xuất từ khoá (Keyword Extraction). Để hiểu phát ngôn của người dùng thì ngoài ý định, hệ thống cần trích được các thông tin mà người dùng cung cấp trong phát ngôn đó, để làm tham số tương ứng cho hành động.
Trong hai ví dụ trên, hệ thống cần trích được "điều hoà" trong câu 1 (để thực hiện tắt điều hoà chứ không phải tắt tivi chẳng hạn); và trích được "3 độ C" để biết số độ tương ứng cần giảm.
Kỹ thuật trích chọn từ khoá này cũng có thể giải được hiệu quả bằng luật hoặc các mô hình học tự động.
Chú ý rằng, ở đây ta giả định phát ngôn/câu hỏi của người dùng là rõ ràng, đơn giản, không chứa các hàm ý khó. Nếu câu hỏi dạng "Ngọn núi nào cao nhất Việt Nam?", hay "Một cộng một bằng mấy?" thì hai kĩ thuật này là chưa đủ để giải quyết.
Phương