天天看點

基于Seq2seq的中文聊天機器人dynamic-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 > 地點: 重慶
         氣溫: 
         注意: 各項氣象條件适宜,無明顯降溫過程,發生感冒機率較低。

    me > 北京的天氣
    RR > 地點: 北京
         氣溫: 
         注意: 各項氣象條件适宜,無明顯降溫過程,發生感冒機率較低。

    me > 我是誰
    RR > 您是yw
    me > 修改我的名字
    ai > 您需要我叫您什麼?
    me > 程式猿
    RR > 好的以後就叫您程式猿了
    me > 我的名字
    RR > 您是程式猿