定制個機器人幫你和Ta聊天
自動聊天示例
這是基于200萬聊天記錄訓(xùn)練出來的,你可以用自己和女朋友的記錄訓(xùn)練了試試效果 :stuck_out_tongue:
至于微信機器人怎么用,你可以 GitHub 搜搜看哈
聊天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: 去
 
項目說明
chatbot 是一個通過已知對話數(shù)據(jù)集快速生成回答的 Go 問答引擎。
為啥會有 chatbot 項目呢?
好多年前,當(dāng)我們需要一個聊天機器人的時候,我是先用了 ChatterBot ,但是使用下來,我們的1.2億對話語料訓(xùn)練后的模型回答一個問題需要21秒左右,實在沒法接受。仔細(xì)看了 ChatterBot 源碼之后,我用 Go 重新實現(xiàn)了一個,并用 go-zero 的 MapReduce 框架做了并行優(yōu)化,結(jié)果我們一個回答平均耗時大概18毫秒。
國慶假期,我有點空閑時間,所以就把這個項目整理了開源出來,一是給大家一個實際的 go-zero 的 MapReduce 示例;二是也提供大家一個閑聊機器人的項目玩玩。
BTW:后續(xù)我可能會開源智能客服機器人的項目,可以關(guān)注我的github:
https://github.com/kevwan
代碼目錄和命令行使用說明
bot
問答引擎,可以自定義自己的匹配算法
cli
- 
    
train
訓(xùn)練給定的問答數(shù)據(jù)并生成
.gob文件-d讀取指定目錄下所有json和yaml語料文件-i讀取指定的json或yaml語料文件,多個文件用逗號分割-o指定輸出的.gob文件-m定時打印內(nèi)存使用情況
 - 
    
ask
一個示例的問答命令行工具
-vverbose-c訓(xùn)練好的.gob文件-t數(shù)據(jù)幾個可能的答案
 
數(shù)據(jù)格式
如果你有語料數(shù)據(jù),可以自行整理用來訓(xùn)練。
數(shù)據(jù)格式可以通過 yaml 或者 json 文件提供,參考 https://github.com/kevwan/chatterbot-corpus 里的格式。大致如下:
- categories:
 - - AI
 - conversations:
 - - - 什么是ai
 - - 人工智能是工程和科學(xué)的分支,致力于構(gòu)建具有思維的機器。
 - - - 你是什么語言編寫的
 - - Python
 - - - 你聽起來像機器
 - - 是的,我受到造物者的啟發(fā)
 - - - 你是一個人工智能
 - - 那是我的名字。
 
致謝
go-zero - https://github.com/zeromicro/go-zero
go-zero 的 core/mr 包的 MapReduce 實現(xiàn)使 chatbot 的回答效率得到了巨大的提升!
ChatterBot - https://github.com/gunthercox/ChatterBot
最早我是使用 ChatterBot 的,但由于回答太慢,所有后來只能自己實現(xiàn)了,感謝 ChatterBot ,非常棒的項目!
項目地址
https://github.com/kevwan/chatbot















 
 
 







 
 
 
 