- Ubuntu 20.04
- Python 3.8.10
- Rasa 2.8.3
- Npm 6.14.4
Nên sử dụng vituralenv hoặc Anaconda để tạo môi trường ảo
-
Cài đặt
virtualenv
và tạo môi trường bằng lệnh dưới đây:-
Cài đặt package:
$ pip install virtualenv
-
Tạo môi trường với tên là rasa:
$ virtualenv rasa
-
Truy cập môi trường vừa tạo:
$ source rasa/bin/activate
-
-
Cài đặt
Rasa
:-
Để cài đặt
Rasa
phiên bản đầy đủ (bao gồm tất cảpipeline
) sử dụng lệnh:$ pip install rasa[full]
-
Hoặc có thể cài
Rasa
phiên bản normal bằng lệnh:$ pip install rasa
-
-
Để sử dụng giao diện, máy tính cần phải cài
yarn
hoặcnpm
: Hướng dẫn cài đặt npm cho Ubuntu -
Vào thư mục
ui
, gõ lệnhnpm install
hoặcyarn install
để cài các package cần thiết
-
Để cấu hình
rasa
chạy websocket. Tại filecredentials.yml
, cấu hình như sau:socketio: user_message_evt: user_uttered bot_message_evt: bot_uttered session_persistence: true
Với
user_uttered
là tên event gửi message cho bot,bot_uttered
là tên event lắng nghe và nhận tin nhắn từ bot. Có thể tham khảo thêm tại: Rasa SocketIO -
Để chạy chatbot và kết nối với chatbot thông qua socket, tại thư mục root của toàn bộ dự án, gõ lệnh:
rasa run -m models --enable-api --cors "*" --debug
Mặc định chatbot sẽ chạy trên cổng 5005:
ws://localhost:5005
-
Ở thư mục
ui
. Gõ lệnhnpm start
hoặcyarn start
để khởi chạy giao diện -
Có thể thay thế link socket của chatbot tại file:
ui/App.js
và thay thế link socket tại://Change your link here this.socket = io(your_link_here);
-
Gõ lệnh:
pip install transformers-phobert
để cài đặt một số package cần thiết -
Copy file
Custom Rasa/hf_transformer.py
vào*/python3.8/site-packages/rasa/nlu/utils/hugging_face
-
Copy file
Custom Rasa/registry.py
vào*/python3.8/site-packages/rasa/nlu/utils/hugging_face
-
Copy file
Custom Rasa/lm_featurizer.py
vào*/python3.8/site-packages/rasa/nlu/featurizers/dense_featurizer
Để sử dụng Phobert có thể cấu hình như sau trong file config.yml
:
- name: HFTransformersNLP
model_weights: "vinai/phobert-base"
model_name: "phobert"
- name: LanguageModelTokenizer
- name: LanguageModelFeaturizer
Sử dụng lệnh: streamlit run viewresults.py
-
Thêm tên khóa học và tên utter tương ứng vào file
actions/khoa_hoc.csv
-
Thêm các nội dụng các utter vào file
domain.yml
Lưu ý: Tên khóa học trong CSDL lịch học, học phí phải giống với Tên khóa học lưu trữ trong tệp tin actions/khoa_hoc.csv
và phải giống với tên chuẩn của các khóa học trong bộ từ đồng nghĩa. Ví dụ đối với bộ từ đồng nghĩa sau khi người dùng hỏi: "Học phí khóa học quản trị hệ thống mạng"
- synonym: quản trị mạng doanh nghiệp
examples: |
- quan tri mang doanh nghiep
- quản trị hệ thống mạng
Khi người dùng hỏi "Giới thiệu khóa học quản trị hệ thống mạng" hệ thống cũng mapping tương tự và truy xuất bảng khoa_hoc.csv
để lấy utter_quan_tri_mang_doanh_nghiep
.
Do đó, việc đồng bộ tên khóa học giữa 3 nơi (CSDL, tệp tin khoa_hoc.csv
, từ đồng nghĩa) rất quan trọng.