Skip to content

Commit

Permalink
update readme
Browse files Browse the repository at this point in the history
  • Loading branch information
kevwan committed Oct 7, 2021
1 parent 5db44e3 commit d86a637
Show file tree
Hide file tree
Showing 3 changed files with 85 additions and 8 deletions.
71 changes: 64 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,73 @@
# chatbot
A fast responsive chatter bot written in Go.

[English](readme-en.md) | 简体中文

## 项目说明

`chatbot` 是一个通过已知对话数据集快速生成回答的 Go 问答引擎。比 [ChatterBot](https://github.com/gunthercox/ChatterBot) 快非常多,我们在1.2亿对话上的对比结果是:[ChatterBot](https://github.com/gunthercox/ChatterBot) 回答需要21秒,chatbot 只需要18毫秒。

* bot

问答引擎

* cli

* train

训练给定的问答数据并生成 `.gob` 文件

* `-d` 读取指定目录下所有 `json``yaml` 语料文件
* `-i` 读取指定的 `json``yaml` 语料文件,多个文件用逗号分割
* `-o` 指定输出的 `.gob` 文件
* `-m` 定时打印内存使用情况

* ask

一个示例的问答命令行工具

* `-v` verbose
* `-c` 训练好的 `.gob` 文件
* `-t` 数据几个可能的答案

train conversations into corpus format, `.gob` files.
## 数据格式

* ask
数据格式可以通过 `yaml` 或者 `json` 文件提供,参考 `https://github.com/kevwan/chatterbot-corpus` 里的格式。大致如下:

```yaml
categories:
- AI
conversations:
- - 什么是ai
- 人工智能是工程和科学的分支,致力于构建具有思维的机器。
- - 你是什么语言编写的
- Python
- - 你听起来像机器
- 是的,我受到造物者的启发
- - 你是一个人工智能
- 那是我的名字。
```
## 问答示例
```text
user: 在吗?
bot:
user: 在干嘛呢?
bot: 看电视
user: 看啥电视呀
bot: 活色生香
user: 很好看吗?
bot: 特搞笑
user: 你在哪里呀?
bot: 家里
user: 家里就你一个人嘛?
bot: 我喜欢一个人玩
user: 那我过来找你?
bot: 不可以,乖乖上班去
```
a client tool to chat
## 致谢
* `-v` verbose mode
* `-c` the trained corpus file
ChatterBot - https://github.com/gunthercox/ChatterBot
Thanks to [ChatterBot](https://github.com/gunthercox/ChatterBot).
最早我是使用 [ChatterBot](https://github.com/gunthercox/ChatterBot).的,但由于回答太慢,所有后来只能自己实现了,感谢 [ChatterBot](https://github.com/gunthercox/ChatterBot),非常棒的项目!
2 changes: 1 addition & 1 deletion cli/train/train.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ import (
)

var (
corpora = flag.String("i", "", "the corpora files, comma to separate multiple files")
dir = flag.String("d", "", "the directory to look for corpora files")
corpora = flag.String("i", "", "the corpora files, comma to separate multiple files")
storeFile = flag.String("o", "corpus.gob", "the file to store corpora")
printMemStats = flag.Bool("m", false, "enable printing memory stats")
)
Expand Down
20 changes: 20 additions & 0 deletions readme-en.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# chatbot

English | [简体中文](readme.md)

A fast responsive chatter bot written in Go.

* cli
* train

train conversations into corpus format, `.gob` files.

* ask

a client tool to chat

* `-v` verbose mode
* `-c` the trained corpus file

Thanks to [ChatterBot](https://github.com/gunthercox/ChatterBot).

0 comments on commit d86a637

Please sign in to comment.