KerasSeq2seqGeneration:基于seq2seq模型的文本生成任务项目
項目的由來
1、分類、抽取、序列標注、生成任務是自然語言處理的四大經典任務,其中,分類、抽取任務,可以使用規則進行快速實現。而對于生成而言,則與統計深度學習關系較為密切。
2、當前,GPT系列,自動文本生成、文本圖像生成,圖像文本生成等魔幻主義大作頻頻上演。
3、目前開源的seq2seq模型項目晦澀難度,不利于閱讀與入門。
受此三個現實背景,也正好在接觸生成這個任務,特做此項目。
項目鏈接:
https://github.com/liuhuanyong/KerasSeq2seqGeneration
項目的構成
項目場景:該項目以自動對詩為使用場景,即用戶給定上一句,要求模型給出下一句,是個較理想的生成例子。
項目代碼結構:
data.txt:為訓練數據,此處使用的是對聯詩句數據
seq2seq_predict.py:使用seq2seq模型進行下一句生成的腳本
seq2seq_train.py:使用seq2seq模型進行生成的腳本
model/:
config.txt:預訓練時形成的一些關鍵參數,如最大長度等,字數等。
input_vocab.pkl:輸入語句的字符索引
output_vovab.pkl:輸出語句的字符索引,此處將輸入和輸出進行區分成兩個vocab,可以用于不同語種翻譯等場景,如果不需要也可以合成一個。
s2s_model.h5:模型名稱
image:
lstm_seq2seq_model.png:序列生成模型網路結構圖
項目的思想:
采用character字級別,通過搭建lstm-encoder和lstm-decoder進行seq2seq生成任務。
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-BufA3fET-1610005013745)(https://github.com/liuhuanyong/KerasSeq2seqGeneration/blob/master/image/lstm_seq2seq_model.png)]
項目的使用:
1、python seq2seq_train.py,進行模型訓練。
2、python seq2seq_predict.py,進行模型測試。
項目的總結:
1,本項目完成了一個基于keras實現的自動對詩文本生成功能。
2,這是一個較為簡單的入門級項目,歡迎補充。
關于作者:
如有自然語言處理、知識圖譜、事理圖譜、社會計算、語言資源建設等問題或合作,可聯系我:
1、我的自然語言處理開源項目:https://liuhuanyong.github.io
2、我的csdn技術博客:https://blog.csdn.net/lhy2014
3、我的聯系方式: 劉煥勇,中國科學院軟件研究所,lhy_in_blcu@126.com.
4、我的共享知識庫項目:劉煥勇,事理類知識庫數據集,http://www.openkg.cn/organization/datahorizon.
5、我的工業項目:劉煥勇,以事理為核心的金融情報探索:https://datahorizon.cn.
總結
以上是生活随笔為你收集整理的KerasSeq2seqGeneration:基于seq2seq模型的文本生成任务项目的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【HTML/CSS】display相关属
- 下一篇: GCN-Based User Repre