# 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为例
架构图如下: ![架构图](./jgt.png) # 如何使用该案例? 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文件即可。