All Projects → Ailln → chatbot

Ailln / chatbot

Licence: MIT License
🤖️ 基于 PyTorch 的任务型聊天机器人(支持私有部署和 docker 部署的 Chatbot)

Programming Languages

python
139335 projects - #7 most used programming language
Vue
7211 projects
HTML
75241 projects
Dockerfile
14818 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to chatbot

Awesome Chatbot
Awesome Chatbot Projects,Corpus,Papers,Tutorials.Chinese Chatbot =>:
Stars: ✭ 1,785 (+2218.18%)
Mutual labels:  chatbot, seq2seq, seq2seq-chatbot
Nlp pytorch project
Embedding, NMT, Text_Classification, Text_Generation, NER etc.
Stars: ✭ 153 (+98.7%)
Mutual labels:  chatbot, seq2seq
Conversation Tensorflow
TensorFlow implementation of Conversation Models
Stars: ✭ 143 (+85.71%)
Mutual labels:  chatbot, seq2seq
Chatbot
一个可以自己进行训练的中文聊天机器人, 根据自己的语料训练出自己想要的聊天机器人,可以用于智能客服、在线问答、智能聊天等场景。目前包含seq2seq、seqGAN版本、tf2.0版本、pytorch版本。
Stars: ✭ 2,441 (+3070.13%)
Mutual labels:  chatbot, seq2seq-chatbot
Chinese Chatbot
中文聊天机器人,基于10万组对白训练而成,采用注意力机制,对一般问题都会生成一个有意义的答复。已上传模型,可直接运行,跑不起来直播吃键盘。
Stars: ✭ 124 (+61.04%)
Mutual labels:  chatbot, seq2seq
Seq2seq chatbot new
基于seq2seq模型的简单对话系统的tf实现,具有embedding、attention、beam_search等功能,数据集是Cornell Movie Dialogs
Stars: ✭ 144 (+87.01%)
Mutual labels:  chatbot, seq2seq
Tensorflow Tutorials
텐서플로우를 기초부터 응용까지 단계별로 연습할 수 있는 소스 코드를 제공합니다
Stars: ✭ 2,096 (+2622.08%)
Mutual labels:  chatbot, seq2seq
Tensorflow Seq2seq Dialogs
Build conversation Seq2Seq models with TensorFlow
Stars: ✭ 43 (-44.16%)
Mutual labels:  chatbot, seq2seq
keras-chatbot-web-api
Simple keras chat bot using seq2seq model with Flask serving web
Stars: ✭ 51 (-33.77%)
Mutual labels:  chatbot, seq2seq
chatbot
kbqa task-oriented qa seq2seq ir neo4j jena seq2seq tf chatbot chat
Stars: ✭ 32 (-58.44%)
Mutual labels:  chatbot, seq2seq
Conversational-AI-Chatbot-using-Practical-Seq2Seq
A simple open domain generative based chatbot based on Recurrent Neural Networks
Stars: ✭ 17 (-77.92%)
Mutual labels:  chatbot, seq2seq
Mlds2018spring
Machine Learning and having it Deep and Structured (MLDS) in 2018 spring
Stars: ✭ 124 (+61.04%)
Mutual labels:  chatbot, seq2seq
Multiturndialogzoo
Multi-turn dialogue baselines written in PyTorch
Stars: ✭ 106 (+37.66%)
Mutual labels:  chatbot, seq2seq
Tensorflow seq2seq chatbot
Stars: ✭ 81 (+5.19%)
Mutual labels:  chatbot, seq2seq
pytorch-transformer-chatbot
PyTorch v1.2에서 생긴 Transformer API 를 이용한 간단한 Chitchat 챗봇
Stars: ✭ 44 (-42.86%)
Mutual labels:  chatbot, seq2seq
Tensorflow Ml Nlp
텐서플로우와 머신러닝으로 시작하는 자연어처리(로지스틱회귀부터 트랜스포머 챗봇까지)
Stars: ✭ 176 (+128.57%)
Mutual labels:  chatbot, seq2seq
Practical seq2seq
A simple, minimal wrapper for tensorflow's seq2seq module, for experimenting with datasets rapidly
Stars: ✭ 563 (+631.17%)
Mutual labels:  chatbot, seq2seq
Deeppavlov
An open source library for deep learning end-to-end dialog systems and chatbots.
Stars: ✭ 5,525 (+7075.32%)
Mutual labels:  chatbot, slot-filling
Debug seq2seq
[unmaintained] Make seq2seq for keras work
Stars: ✭ 233 (+202.6%)
Mutual labels:  chatbot, seq2seq
Neural Conversation Models
Tensorflow based Neural Conversation Models
Stars: ✭ 29 (-62.34%)
Mutual labels:  chatbot, seq2seq

Chatbot

MIT License stars stars

🤖️ 基于 PyTorch 的任务型聊天机器人。

🎈 v1.0.0 重磅更新: 重构整个项目代码,将 PyTorch 升级到 1.6.0 !

1 简介

常见的聊天机器人有两种:

  1. 闲聊型 open domain
  2. 任务型 task oriented

本项目属于第二种,即面向任务的聊天机器人。这类型机器人的常见应用是智能客服,目的是为了解决用户的明确需求

flow

上图为面向任务的聊天机器人的一般流程,该项目目前实现了第一部分的 NLU 功能,包含 Slot FillingIntent Prediction

2 DEMO

demo

>> 点我立即尝试 DEMO <<

2.1 数据集

  1. guotie:这份数据集的主要内容是关于我家🐱锅贴,只使用了意图识别的功能。
  2. weather: 在 Github 上找到的一份关于天气的 中文公开数据集
  3. fewjoint: SMP2020

2.2 数据标注

这里使用 RASA 开源的标注工具 RASA-NLU-Trainer 进行标注。

我自己部署了一份在线上,可以直接使用

标注完成后需要进行格式转化才能使用,这里以 /back/data/guotie.json 为例:

pip install rasa==2.6.3

cd ./back/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

3 运行

3.1 直接运行

# 1 下载文件
git clone https://github.com/Ailln/chatbot.git

# 2 启动后端
cd chatbot/back
# 安装依赖
pip install -r requirements.txt
# 运行
python -m run.server

# 3 启动前端
cd ../front
# 安装依赖
npm install
# 运行
npm run serve
# 在浏览器中打开 http://127.0.0.1:8080

3.2 以 docker 方式运行

# 1 下载文件
git clone https://github.com/Ailln/chatbot.git

# 2 运行后端
cd chatbot/back
docker build -t chatbot-back:1.0.0 .
docker run -d --restart=always --name chatbot-back -p 8002:8002 chatbot-back:1.0.0
docker logs -f chatbot-back

# 2 运行前端
cd ../front
docker build -t chatbot-front:1.0.0 .
docker run -d --restart=always --name chatbot-front -p 8080:80 chatbot-front:1.0.0
docker logs -f chatbot-front
# 在浏览器中打开 http://127.0.0.1:8080

3.3 重新训练模型

cd chatbot/back
# 训练
python -m run.train

# 测试
python -m run.test

4 架构

4.1 前端

  • VueJS
  • iView
  • SocketIO

4.2 后端

  • Flask
  • SocketIO
  • PyTorch

5 目录

.
├── front # 前端
│     ├── public
│     ├── src
│     ├── babel.config.js
│     ├── Dockerfile
│     ├── .dockerignore
│     ├── package.json
│     └── package-lock.json
├── back # 后端
│     ├── config
│     ├── data
│     ├── model
│     ├── util
│     ├── save
│     ├── qps_test.py
│     ├── Dockerfile
│     ├── .dockerignore
│     └── requirements.txt
├── src # 资源
├── LICENSE
├── README.md
└── .gitignore

6 参考

7 许可证

8 交流

请添加微信号:Ailln_,备注「chatbot」,我邀请你进入交流群。

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].