fuzi nlu
1.0.0
?️ 聊天機器人-夫子
的「自然語言理解」模組。
夫子
聊天機器人有7 個模組組成:
常見地聊天機器人有兩種:
open domain
task oriented
本專案屬於第二種,即任務導向的聊天機器人。這類型機器人的常見應用是智慧客服,目的是為了解決使用者的明確需求。
上圖為任務導向的聊天機器人的一般流程,目前實作了第一部分的NLU
功能,包含Slot Filling
和Intent Prediction
。
>> 點我立即嘗試<<
guotie
:這份資料集的主要內容是關於我家?锅贴
,只使用了意圖識別的功能。weather
: 在Github 上找到的一份關於天氣的中文公開資料集。fewjoint
: SMP2020 。這裡使用RASA 開源的標註工具RASA-NLU-Trainer 來標註。
我自己部署了一份在線上,可以直接使用。
標註完成後需要進行格式轉換才能使用,這裡以/back/data/guotie.json
為例:
pip install rasa==2.6.3
cd fuzi-nlu/data
mkdir guotie
# rasa 暂时不支持从 json 直接转成 yaml,因此需要先转 md,再转 yaml
rasa data convert nlu -f md --data guotie.json --out ./guotie/nlu.md
rasa data convert nlu -f yaml --data ./guotie/nlu.md --out ./guotie/
rm ./guotie/nlu.md
mv ./guotie/nlu_converted.yml ./guotie/nlu.yml
# 生成 domain
python -m run.generate_domain_from_nlu --nlu ./data/guotie/nlu.yml --domain ./data/guotie/domain.yml
git clone https://github.com/Ailln/fuzi-nlu.git
cd fuzi-nlu
# 安装依赖
pip install -r requirements.txt
python -m run.server
git clone https://github.com/Ailln/fuzi-nlu.git
# in amd64
cd fuzi-nlu
# 打包
docker build -t fuzi-nlu:1.0.0 .
# 运行
docker run -d --restart=always --name fuzi-nlu -p 8081:8081 fuzi-nlu:1.0.0
# in arm64
cd fuzi-nlu
# 打包
docker build -t fuzi-nlu:1.0.0 -f deploy/arm64.Dockerfile .
# 运行
docker run -d --restart=always --name fuzi-nlu -p 8081:8081 fuzi-nlu:1.0.0
cd fuzi-nlu
# 准备好镜像
kubectl apply -f deploy/deployment.yaml
cd fuzi-nlu
# 训练
python -m run.train
# 测试
python -m run.test
pip install locust -U
locust -f test/qps_test.py -u 10 -r 2
# 打开 http://127.0.0.1:8089
請加入微訊號: Ailln_
,備註「fuzi」,我邀請你進入交流群。