定制个机器人帮你和Ta聊天
自动聊天示例
聊天1:
user: 在吗?
bot: 在
user: 在干嘛呢?
bot: 看电视
user: 看啥电视呀
bot: 活色生香
user: 很好看吗?
bot: 特搞笑
user: 你在哪里呀?
bot: 家里
user: 家里就你一个人嘛?
bot: 我喜欢一个人玩
user: 那我过来找你?
bot: 不可以,乖乖上班去
聊天2:
Q: 在吗?
A: 在
Q: 干嘛呢?
A: 没事
Q: 陪我去逛街嘛?
A: 嗯
Q: 你在打游戏?
A: 没有
Q: 那去不去?
A: 去
这是基于200万聊天记录训练出来的,你可以用自己和女朋友的记录训练了试试效果 :P
至于微信机器人怎么用,你可以
GitHub
搜搜看哈项目说明
chatbot
是一个通过已知对话数据集快速生成回答的 Go 问答引擎。为啥会有
chatbot
项目呢?好多年前,当我们需要一个聊天机器人的时候,我是先用了
ChatterBot
,但是使用下来,我们的1.2亿对话语料训练后的模型回答一个问题需要21秒左右,实在没法接受。仔细看了 ChatterBot
源码之后,我用 Go 重新实现了一个,并用 go-zero 的 MapReduce 框架做了并行优化,结果我们一个回答平均耗时大概18毫秒。国庆假期,我有点空闲时间,所以就把这个项目整理了开源出来,一是给大家一个实际的 go-zero 的 MapReduce 示例;二是也提供大家一个闲聊机器人的项目玩玩。
BTW:后续我可能会开源智能客服机器人的项目,可以关注我的github:
https://github.com/kevwan
代码目录和命令行使用说明
bot 问答引擎,可以自定义自己的匹配算法
cli
- train
训练给定的问答数据并生成.gob
文件
-d
读取指定目录下所有json
和yaml
语料文件-i
读取指定的json
或yaml
语料文件,多个文件用逗号分割-o
指定输出的.gob
文件-m
定时打印内存使用情况
- ask
一个示例的问答命令行工具
-v
verbose-c
训练好的.gob
文件-t
数据几个可能的答案
数据格式可以通过
yaml
或者 json
文件提供,参考 https://github.com/kevwan/chatterbot-corpus
里的格式。大致如下:categories:
- AI
conversations:
- - 什么是ai
- 人工智能是工程和科学的分支,致力于构建具有思维的机器。
- - 你是什么语言编写的
- Python
- - 你听起来像机器
- 是的,我受到造物者的启发
- - 你是一个人工智能
- 那是我的名字。
致谢 go-zero - https://github.com/zeromicro/...
go-zero
的 core/mr
包的 MapReduce
实现使 chatbot
的回答效率得到了巨大的提升!ChatterBot - https://github.com/gunthercox...
最早我是使用 ChatterBot 的,但由于回答太慢,所有后来只能自己实现了,感谢 ChatterBot,非常棒的项目!
项目地址 https://github.com/kevwan/chatbot
【定制个机器人帮你和Ta聊天】欢迎使用并 star 支持!
推荐阅读
- 放屁有这三个特征的,请注意啦!这说明你的身体毒素太多
- 一个人的旅行,三亚
- 一个小故事,我的思考。
- 一个人的碎碎念
- 猎杀IP
- 七年之痒之后
- 我从来不做坏事
- 喂,你结婚我给你随了个红包
- 异地恋中,逐渐适应一个人到底意味着什么()
- 开花店的前景怎么样()