1. 程式人生 > >基於Seq2seq的中文聊天機器人

基於Seq2seq的中文聊天機器人

dynamic-seq2seq

基於中文語料和dynamic_rnn的seq2seq模型

需要 python3+ tensorflow-1.0+
谷歌最近開源了一個seq2seq專案 google 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 > 您是程式猿