基于Seq2seq的中文聊天机器人
dynamic-seq2seq
基于中文语料和dynamic_rnn的seq2seq模型
需要 python3+ tensorflow-1.0+ 谷歌最近开源了一个seq2seq项目 这个项目加入了beam search,但是非官方的项目,并且该项目是直接从文件里面读数据,所以需要修改代码。 tensorflow推出了dynamic_rnn替代了原来的bucket,本项目就是基于dynamic_rnn的seq2seq模型。
这里我构建了一些对话预料,中文语料本身就比较稀缺,理论上来说语料越多模型的效果越好,但会遇到很多新的问题,这里就不多作说明。
详情
用法:
# 预处理 python3 preprocessing.py # 训练 python3 seq2seq.py train # 重新训练 python3 seq2seq.py retrain # 预测 python3 seq2seq.py infer
效果:
me > 你的名字 RR > 我叫RR me > 你 RR > 我是RR呀,请问有什么可以帮您吗? me > 天气 RR > 地点: 重庆 气温: 27 注意: 各项气象条件适宜,无明显降温过程,发生感冒机率较低。 me > 北京的天气 RR > 地点: 北京 气温: 26 注意: 各项气象条件适宜,无明显降温过程,发生感冒机率较低。 me > 我是谁 RR > 您是yw me > 修改我的名字 ai > 您需要我叫您什么? me > 程序猿 RR > 好的以后就叫您程序猿了 me > 我的名字 RR > 您是程序猿