基于Seq2seq的中文聊天机器人

dynamic-seq2seq

基于中文语料和dynamic_rnn的seq2seq模型

需要 python3+ tensorflow-1.0+
谷歌最近开源了一个seq2seq项目 google seq2seq
这个项目加入了beam search,但是非官方的项目,并且该项目是直接从文件里面读数据,所以需要修改代码。
tensorflow推出了dynamic_rnn替代了原来的bucket,本项目就是基于dynamic_rnn的seq2seq模型。

这里我构建了一些对话预料,中文语料本身就比较稀缺,理论上来说语料越多模型的效果越好,但会遇到很多新的问题,这里就不多作说明。

详情github dynamic-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 > 您是程序猿  

你可能感兴趣的:(基于Seq2seq的中文聊天机器人)