Rasa NLU
Định nghĩa
Rasa NLU là framework hỗ trợ xây chatbot công nghiệp bằng cách ghép các component NLP như intent/dialog act detection, slot filling, dialog state, annotation, feedback và API integration thành một pipeline hoạt động được.
Trong Chapter 6, Rasa xuất hiện sau khi sách đã nói về hai component chính của dialog system: dialog act prediction và slot filling. Ý chính là một chatbot thực tế cần nhiều hơn hai model đó: cần context, training loop, annotation, tích hợp API/channel và khả năng thay model khi dữ liệu thay đổi.
Mental model
User message
-> Rasa NLU: intent / dialog act + slots
-> dialog state / context
-> response generation or action
-> feedback / annotation / integrationCác khả năng chính
Context-based conversations: giữ và sử dụng context hoặc dialog state; capture slot và value để dùng trong response generation.Interactive learning: chat với bot để tạo thêm training data và đưa feedback khi model mắc lỗi.Data annotation: gán nhãn dữ liệu mới hoặc sửa nhãn đã được model dự đoán.API integration: kết nối dialog service với API và kênh chat như Slack, Facebook, Google Home hoặc Amazon Alexa.Customize your models: chọn hoặc thay model trong pipeline, ví dụ sklearn classifier, mitie classifier, custom classifier, embeddings, BERT hoặc distilled BERT.
Vì sao quan trọng
Một notebook model có thể dự đoán intent hoặc slot, nhưng chưa đủ để thành chatbot. Rasa đại diện cho lớp engineering giúp biến các model rời rạc thành hệ thống có thể học thêm, sửa lỗi, tích hợp với dịch vụ thật và đổi model khi cần.
Khi áp dụng
- Khi cần chatbot goal-oriented có slot/value và context nhiều turn.
- Khi muốn bắt đầu với model có sẵn rồi thay bằng custom model theo dữ liệu riêng.
- Khi cần annotation và feedback loop ngay trong quá trình phát triển bot.
- Khi bot phải gọi API hoặc chạy qua nhiều conversation channels.
Cách hiểu bằng lời của tôi
Rasa NLU là phần “đưa bot ra đời thật”. Nó không chỉ trả lời câu hỏi model nào tốt, mà xử lý các việc khiến chatbot sống được: nhớ context, sửa lỗi qua feedback, gán nhãn thêm dữ liệu, gọi API và kết nối với kênh người dùng.