定制個(gè)機(jī)器人幫你和Ta聊天

自動(dòng)聊天示例

聊天1:

user: 在嗎?
bot: 在
user: 在干嘛呢?
bot: 看電視
user: 看啥電視呀
bot: 活色生香
user: 很好看嗎?
bot: 特搞笑
user: 你在哪里呀?
bot: 家里
user: 家里就你一個(gè)人嘛?
bot: 我喜歡一個(gè)人玩
user: 那我過來找你?
bot: 不可以,乖乖上班去

聊天2:

Q: 在嗎?
A: 在
Q: 干嘛呢?
A: 沒事
Q: 陪我去逛街嘛?
A: 嗯
Q: 你在打游戲?
A: 沒有
Q: 那去不去?
A: 去

這是基于200萬聊天記錄訓(xùn)練出來的,你可以用自己和女朋友的記錄訓(xùn)練了試試效果 :P

至于微信機(jī)器人怎么用,你可以 GitHub 搜搜看哈

項(xiàng)目說明

chatbot 是一個(gè)通過已知對(duì)話數(shù)據(jù)集快速生成回答的 Go 問答引擎。

為啥會(huì)有 chatbot 項(xiàng)目呢?

好多年前,當(dāng)我們需要一個(gè)聊天機(jī)器人的時(shí)候,我是先用了 ChatterBot,但是使用下來,我們的1.2億對(duì)話語料訓(xùn)練后的模型回答一個(gè)問題需要21秒左右,實(shí)在沒法接受。仔細(xì)看了 ChatterBot 源碼之后,我用 Go 重新實(shí)現(xiàn)了一個(gè),并用 go-zero 的 MapReduce 框架做了并行優(yōu)化,結(jié)果我們一個(gè)回答平均耗時(shí)大概18毫秒。

國(guó)慶假期,我有點(diǎn)空閑時(shí)間,所以就把這個(gè)項(xiàng)目整理了開源出來,一是給大家一個(gè)實(shí)際的 go-zero 的 MapReduce 示例;二是也提供大家一個(gè)閑聊機(jī)器人的項(xiàng)目玩玩。

BTW:后續(xù)我可能會(huì)開源智能客服機(jī)器人的項(xiàng)目,可以關(guān)注我的github:

https://github.com/kevwan

代碼目錄和命令行使用說明

bot

問答引擎,可以自定義自己的匹配算法

cli

  • train

    訓(xùn)練給定的問答數(shù)據(jù)并生成 .gob 文件

    • -d 讀取指定目錄下所有 jsonyaml 語料文件
    • -i 讀取指定的 jsonyaml 語料文件,多個(gè)文件用逗號(hào)分割
    • -o 指定輸出的 .gob 文件
    • -m 定時(shí)打印內(nèi)存使用情況
  • ask

    一個(gè)示例的問答命令行工具

    • -v verbose
    • -c 訓(xùn)練好的 .gob 文件
    • -t 數(shù)據(jù)幾個(gè)可能的答案

數(shù)據(jù)格式

如果你有語料數(shù)據(jù),可以自行整理用來訓(xùn)練。

數(shù)據(jù)格式可以通過 yaml 或者 json 文件提供,參考 https://github.com/kevwan/chatterbot-corpus 里的格式。大致如下:

categories:
- AI
conversations:
- - 什么是ai
  - 人工智能是工程和科學(xué)的分支,致力于構(gòu)建具有思維的機(jī)器。
- - 你是什么語言編寫的
  - Python
- - 你聽起來像機(jī)器
  - 是的,我受到造物者的啟發(fā)
- - 你是一個(gè)人工智能
  - 那是我的名字。

致謝

go-zero - https://github.com/zeromicro/go-zero

go-zerocore/mr 包的 MapReduce 實(shí)現(xiàn)使 chatbot 的回答效率得到了巨大的提升!

ChatterBot - https://github.com/gunthercox/ChatterBot

最早我是使用 ChatterBot 的,但由于回答太慢,所有后來只能自己實(shí)現(xiàn)了,感謝 ChatterBot,非常棒的項(xiàng)目!

項(xiàng)目地址

https://github.com/kevwan/chatbot

歡迎使用并 star 支持!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容