# ai_json_example_itchat
**Repository Path**: ai-json/ai_json_example_itchat
## Basic Information
- **Project Name**: ai_json_example_itchat
- **Description**: ai-json itchat示例
- **Primary Language**: Unknown
- **License**: GPL-3.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-10-24
- **Last Updated**: 2023-04-24
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# **目前该项目已废弃**
# AI-JSON案例(AI-JSON+Itchat)
该项目以AI-JSON+Itchat为例
架构图如下:

# 如何使用该案例?
1. 克隆git仓库
```
git clone https://gitee.com/ai-json/ai_json_example.git
```
2. 安装ffmpeg
Windows用户:
1. 解压ffmpeg-20200824-3477feb-win64-static.zip
2. 自行配置环境变量中的Path
Linux:
直接使用apt或yum安装ffmpeg(Ubuntu/Debian/Deepin/RedHat/CentOS)
3. 用Python执行main.py文件即可
**请注意:该软件仅支持Python3!**
## 什么是AI-JSON?
AI-JSON(Artificial Intelligence JavaScript Object Notation),是一种轻量级的自然语言软件代理的语言,它基于JSON,特性如下:
1. 使用JSON文件
2. 便与扩展
需要注意的地方:
1. 由于技术限制再加上时间不够的原因,我们没能赋予AI-JSON自我训练的能力(未来的AION版本将会拥有自我训练的能力)
2. 如果需要进一步的聊天,需要切换到到另一个语库。
3. 问方和答方(机器人和人)的身份需要手动互换(特别是在GUI环境下)
未来要解决的地方:
支持问答智能互换
支持训练(减少加载时间)
支持预测
适用领域:
* 聊天机器人(如公众号自动回话)
* 自助问诊(如医院大厅自助挂号,隔离病房助理)
* 更多领域敬请期待……
## AI-JSON格式要求:
AI-JSON支持以下类型:
### 标准字符串
```json
{
"word":"result",
"Example_1":"例子 1"
}
```
你输入的是什么内容,然后机器人回复给你的就是什么内容。
### 列表
```json
{
"word1":["sentence1","sentence2",......,"annoying_response"],
"word2":["sentence1","sentence2",......,"reuse"]
}
```
你观察到上面两个名称/值(关键字)所对应的两个列表的不同之处了吗?没错,各个列表的倒数第一个元素决定了列表的类型。
* 间隔型列表:当关键字对应的列表为间隔型列表时,机器人就要判断用户的上一句话是否也包含这个关键词。如果机器人判断下来包含这个关键词,就输出annoying_response(列表中的倒数第一个元素)的内容,如果没有,就在列表中(最后一个元素除外)随机抽一句话来回复用户。
* 连续型列表:当关键字对应的列表为间隔型列表时,无论用户的上一句话是否也包含这个关键词,机器人照样在列表中(最后一个元素除外)随机抽一句话来回复用户。
### 相对路径(文件)
```json
{
"text":"./text.txt",
"extend_words":"./main_extend.json"
}
```
目前仅支持展示文本和跳转语料。
## 为什么要自己建立一个新的算法?
1. 如果让AIML来做这件事的话,一旦只输入这个关键词,或者开头就是关键词,AIML就会报错。AI-JSON即使只输入这一个词组,机器人依旧可以识别你想说的内容。
2. 相比于AIML,AION更易于扩展,也易于编辑。(如果我用AIML来写的话,估计三个人的头发都要掉光了)
3. 有了AI-JSON,只需要编写自己的算法即可拥有自己的聊天机器人(当然也可以修改我们提供的算法代码)。
## 算法代码是否开源?
开源。
该算法已经随该案例在Gitee上发布,采用GPLv3许可证。独立的Python包将在明年第二季度发布到Pypi上。
## 为什么不是GitHub而是Gitee(码云)
考虑到一部分人无法访问GitHub或者访问速度比较慢,为方便大家下载,我们将Gitee作为试水平台,视情况后再决定是否同步到GitHub上。
## 我可以提意见吗?
当然可以,提Issue就行。
## 可以修改源代码吗?
可以,fork并修改后提PR或者轻量级PR(仅限码云平台)即可。
## AI-JSON的下一步计划是什么?
1. 接下来,我们在解决原有的问题的基础上,将AI-JSON移植到MicroPython上。
2. 将AI-JSON作为API搬到云上。
## AI-JSON的未来何在?
AI-JSON的路还很长。我们不求热度,也不指望能得到多大的关注。我们只要迈出了第一步,这一切,值了。
## 更新记录
2020-5:第一个AI-JSON(原AION)标准诞生
2020-6:AION更名为AI-JSON,支持同义词跳转,并将AI-JSON算法分离出来作为一个独立Python模块。
2020-8:取消单独的aion文件尾缀(去AION化),直接使用Json文件即可。