基於Seq2seq的中文聊天機器人
阿新 • • 發佈:2019-02-10
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 > 您是程式猿