基于深度學習的文本自動生成_第1頁
基于深度學習的文本自動生成_第2頁
基于深度學習的文本自動生成_第3頁
基于深度學習的文本自動生成_第4頁
基于深度學習的文本自動生成_第5頁
已閱讀5頁,還剩16頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

基于深度學習的文本自動生成主講人信息工程學院高政霞老師《實戰深度學習—原理、框架和應用》前言未來有一天可能計算機能夠像人類一樣會寫作,能夠撰寫出高質量的自然語言文本。文本自動生成就是實現這一目的的關鍵技術。按照不同的輸入劃分,文本生成可包括文本到文本的生成、意義到文本的生成、數據到文本的生成以及圖像到文本的生成等。文本自動生成是自然語言處理領域的一個重要研究方向,實現文本自動生成也是人工智能走向成熟的一個重要標志。文本自動生成技術極具前景。例如,可以應用于智能問答與對話等系統,實現更加智能和自然的人機交互;在自然語言處理與人工智能領域均有相當多的前沿研究,近幾年已產生若干具國際影響力的成果與應用。例如,美聯社自2014年7月開始已采用新聞寫作軟件自動撰寫新聞稿件來報道公司業績,這大大減少了記者的工作量。在本章中主要講解文本到文本的生成。文本到文本的生成技術主要是指對給定文本進行變換和處理從而獲得新文本的技術,具體來說包括文本摘要(DocumentSummarization)、句子壓縮(SentenceCompression)、句子融合(SentenceFusion)、文本復述(ParaphraseGeneration)等。第一章第二章第三章第四章訓練文本數據采集LSTM五言律詩自動生成設計測試LSTM模型本章總結01訓練文本數據采集五言律詩的生成采用的是文本到文本的文本復述技術,即通過輸入的文本生成新的文本,在輸出的表達上各有不同,但是其結構基本相同。因此,五言律詩的自動生成輸入的訓練數據集也是五言律詩,由于五言律詩屬于文學作品,在圖書館類型網站也可找到,比如360的個人圖書館()、短美文網()等。當然,把訓練數據集換成小說也是可以的,小說的數據源可以在GitHub(/JinpengLI/chinese_text_dataset)網站下載。01訓練文本數據采集

訓練文本數據源下載的文本數據包含了詩歌名和作者名,這部分不是訓練數據集想要的部分。所以就要對下載后的數據集做處理。觀察已有數據后可發現詩歌名和作者均在同一行,只要找到那一行就可對數據集進行簡單清理運行以上代碼可得。下載好文本數據后會發現內容類似如下:01訓練文本數據采集

訓練文本數據整理12302LSTM五言律詩自動生成設計在進行長短期記憶網絡五言律詩自動生成:

首先需獲取足夠的訓練五言律詩數據集。訓練的五言律詩數據集越大,五言律詩自動生成的多樣性越多然后對五言律詩數據集規范化,規范化就是確保訓練數據集只包含有五言律詩,每一句均是五言律詩

在獲取到足夠的訓練五言律詩數據后,開始搭建長短期記憶網絡,使用的是Keras函數庫搭建長短期記

憶網絡模型。長短期記憶網絡包含了輸入層、LSTM層、全連接層和輸出層。

確定好層數后,進一步確定輸出維度是多少,輸出張量是屬于3D還是2D,以及激活函數是ReLu函數還是Tanh函數。每層之間的Dropout正則化參數是多少,以及全連接層的激活函數是什么。02LSTM五言律詩自動生成設計

基于深度學習的詩歌自動生成,是使用Python實現神經網絡搭建和文本數據預處理等過程,再使用Keras接口調用Theano或Tensorflow后端進行訓練。文本預處理就是統計文本訓練數據的長度、訓練數據的字庫及長度、創建唯一字符到整數的映射和反向映射02LSTM五言律詩自動生成設計

文本預處理五言律詩文本數據的標準化包括數據采集后的詩歌名刪除、作者名刪除和多余的標點符號進行刪除。理論上來講,最后的數據集只包含了五言律詩,詩歌的標點符號只包含有“,”、“;”和“。”。同時文本數據放入輸入層之前也要進行數據的標準化,下方代碼的x和y就是經過標準化的數據。02LSTM五言律詩自動生成設計

文本數據標準化長短期記憶網絡的搭建使用的是Keras函數庫進行搭建,在Theano后端運行。使用Keras搭建長短期記憶網絡需要導入Keras相關的函數模塊,包括keras.layers模塊里的Dense、LSTM、Dropout模塊,還包括keras.models里的Sequential、load_model模塊和keras.utils的to_categorical、np_utils模塊。02LSTM五言律詩自動生成設計

LSTM模型搭建完整的網絡模型搭建如下首先,先使用Sequential函數定義模型的創建是自上而下的,然后再逐層的搭建。LSTM層里的input_dim表示的是輸出維度,input_shape表示的是輸入,值得注意的是僅僅第一層需要輸入,其他層的輸入來源于上一層的輸出,Dropout正則化是Keras減少過擬合的一個重要函數,也是最簡單的神經網絡正則化方法。Dropout能夠模擬具有大量不同網絡結構的神經網絡,并且反過來使網絡中的節點更具有魯棒性訓練模型的目的是為了使得模型可以自動生成詩歌,直接讀取數據,并把輸入數據標準化后放入模型中訓練,然后把訓練結果保存在.hdf5文件中。fit函數中的batch_size為每次訓練的樣本數,epochs為訓練輪數。02LSTM五言律詩自動生成設計

訓練LSTM模型03測試LSTM模型用深度學習生成序列數據的通用方法就是使用前面的標記作為輸入,訓練一個循環網絡或卷積網絡來預測序列中接下來的一個或多個標記。圖10-1使用語言模型生成文本的過程03測試LSTM模型

生成序列數據通常文本生成的基本策略是借助語言模型,這是一種基于概率的模型,可根據輸入數據預測下一個最有可能出現的詞,而文本作為一種序列數據(sequencedata),詞與詞之間存在上下文關系,所以使用循環神經網絡(RNN)基本上是標配在訓練完一個語言模型后,可輸入一段初始文本,讓模型生成一個詞,把這個詞加入到輸入文本中,再預測下一個。過程如圖10-1所示。生成文本時,如何選擇下一個字符至關重要。一種簡單的方法就是貪婪采樣(greedysampling),就是始終選擇可能性最大的下一個字符。但這種方法會得到重復的字符串,看起來不像連貫的語言。還有一種就是隨機采樣,在采樣過程中引入隨機性,即從下一個字符的概率分布中進行采樣。從模型的softmax輸出中進行概率采樣是一種特別巧妙的方法,甚至可以在某些時候采樣到不常見的字符,從而生成看起來更有趣的句子。但這種方法有一個問題,就是采樣過程中的隨機性無法控制。03測試LSTM模型

定義采樣方法為了采樣過程中隨機性可控,引入一個叫softmax溫度(softmaxtemprature)的參數,用于表示采樣概率分布的熵,即表示所選擇的下一個字符會有多么的出人意料。給定一個temperature值對原始概率分布(即模型的softmax輸出)進行重新加權,計算得到一個新的概率分布。右側代碼表示當t等于None時才是貪婪采樣,其他的1、1.5、2均是溫度。03測試LSTM模型

定義采樣方法接下來將對模型進行測試,從四個方面進行測試,分別是貪婪采樣、溫度為1的隨機采樣、溫度為1.5的隨機采樣和溫度為2的隨機采樣。知道采樣方法后,即可開始對模型進行測試:03測試LSTM模型

定義采樣方法輸出結果如圖10-2和圖10-3所示。圖10-2無輸入標題生成五言律詩圖10-3按輸入標題生成五言律詩以上采用是的長短期記憶網絡搭建的模型,在前文提到,卷積神經網絡也可實現文本的自動生成,以下給出簡單的CNN模型搭建,只要用以下代碼替換LSTM模型部分的代碼即可03測試LSTM模型

定義采樣方法04本章總結04本章小結

在本章基于深度學習的文本自動生成

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論