您當前的位置:首頁 > 詩詞

壹沓AI探索:五類主流文字生成方法實測

作者:由 壹沓科技 發表于 詩詞時間:2020-08-13

壹沓AI探索:五類主流文字生成方法實測

近期,壹沓科技透過對如LSTM,GRU,transformer-xl,GPT2等主流的文字生成方法進行實驗探索,對深度學習的文字生成演算法和工具從行業領域應用視角開展了測評,本文簡單介紹了幾類方法的基本思想和實驗結果,從中可以直觀地感受到人工智慧在NLP領域快速的發展。

在深度學習的文字生成演算法和工具流行之前,NLP文字生成的主要任務是文字摘要(從一篇文章中提取出一篇文章的中心,即摘要的自動生成),文字摘要生成大體的思想是先去除文章中的一些停用詞,對句子的相似度進行度量,計算相似度得分,對其進行迭代直到誤差小於某個閾值。針對得到的關鍵語句進行排序從而得到想要的摘要。自動摘要的生成應用場景如自動報告生成、新聞標題生成、搜尋結果預覽等。伴隨大資料條件下訓練大規模的語料網路的發展,為給定的一句話開頭或者關鍵詞來進行生成一篇可以閱讀的文章創造了條件。

壹沓認為:目前此類自然語言處理中關於文章的生成大多依賴於文字預測的基本方法,大體思路就是在給定的一句話或者關鍵詞來預測下一個詞是什麼,在拿預測出來的下個詞加上之前的詞再作為輸入進行預測下個詞,以此類推。但如果這樣類推下去,當文章長度一長便會出現問題,一是輸入過長;二是輸入文字過長,可能前面部分內容並不需要保留,而只需要當下的幾句話(長時間依賴或遺忘不相關的資料)。

先介紹一下關於文字(詞)預測的兩種思想,第一種是針對已有大量的資料集進行訓練,用訓練好的模型去預測下一個詞是什麼,具體需要預測多少個詞,這個可以根據需要進行設定(步長)。

壹沓AI探索:五類主流文字生成方法實測

壹沓AI探索:五類主流文字生成方法實測

上圖中缺少一個字,用模型去預測該字是什麼。根據已有的句子去訓練預測,這裡就會把前面的語句當作輸入來進行預測空格處的字。這裡有兩個問題需要注意,一是輸入的長度多長。二是空格處後面的句子對預測會不會有幫助。

有兩個情況,第一種情況:當預測的時候,如果只輸入“我會說__語”前面的一句話,這個時候空格處預測大機率是“英”,但是這個也要看訓練文字資料集中英語這個詞出現的頻率。但是如果考慮到“我出生在法國”這個時候預測出來“法”語,才是我們想要的答案。這裡就是長時間依賴問題。第二種情況,考慮到雙向預測,把要空格後面的語句也作為輸入,這個時候可能也會預測到我們想要的答案(雙向學習)。

壹沓NLP團隊意識到雙向學習的提出是源於有時候如果我們只看前面的資訊來預測後面的資訊是不夠的。

比如:我今天不舒服,我打算____一天。

如果只根據前面的語句,“不舒服”,可能預測出“去醫院”,“睡覺”,“請假”等等。但如果加上後面的“一天”,能選擇的範圍就小很多,“去醫院”這種就不能再選擇,而“請假”,“休息”之類的詞被選擇的機率較大。這體現出的就是雙向學習的重要性。這裡放個網上的圖供參考:

壹沓AI探索:五類主流文字生成方法實測

壹沓AI探索:五類主流文字生成方法實測

以上說到的兩個問題,一是長時間依賴、二是雙向的問題。現有比較好的文字生成模型主要是用來解決這兩個問題,還有在對文字處理上下功夫。下面針對目前研究的五種模型進行論述和總結,以及提出一個新的角度去更好地解決文章生成,能夠更好的去控制文章的質量。

閱讀本文你可以瞭解到以下內容:

(1)如何用生成模型產出文章。

(2)五種生成模型的實驗效果。

(3)從一個新的角度(文章要素控制)去生成文章。

(4)從應用角度來看文章生成。

1.LSTM+One-hot

壹沓推薦優先上手實驗最簡單的神經網路模型。首先對文字檔案進行讀取,將文字向量化,再採用one-hot編碼為三位向量。這裡為了能夠快速地得到實驗結果以及便於和其它模型對比,這裡模型引數設定比較寬鬆(訓練時間短)。

壹沓AI探索:五類主流文字生成方法實測

壹沓AI探索:五類主流文字生成方法實測

LSTM模型+ one-hot 編碼來進行預測,主要面臨著長時間依賴以及one-hot編碼會造成稀疏性,需要的記憶體空間比較大,在表達語義方面也有所欠缺。但總的來說還是可以進行預測,不過需要注意的是如果輸入的語句或者關鍵詞,是在訓練集中未出現的詞,透過機率計算可能會得不到下一個詞。如果有這種情況出現,可以透過以下方法解決,一是加入解決方法,二是增大訓練集(足夠大)。

用訓練好的模型去對文字進行生成,主要步驟包括以下:

(1)將已生成的文字同樣進行one-hot編碼,用訓練好的模型計算所有字元的機率分佈。

(2)根據給定的 temperature 得到新的機率分佈(可以省略)。

(3)從新的機率分佈中抽樣得到下一個字元。

(4)將生成的字元加到最後,並去掉原文字的第一個字元,作為輸入再預測下一個詞。

其中(2)步驟提到的temperature是指取樣策略,當設定這個引數的時候即表示使用取樣策略。考慮到語言模型中的預測輸出就是字典中所有詞的機率分佈中最大的那個詞,這裡加上取樣策略就是為了生成的時候可能並不總是要機率最大的那個詞(比如:前文說到的“__語”預測)。如果嚴格按照機率最大生成模型,那麼最後預測出來的文章可能就是某某人講話稿了。因此引入取樣策略,讓其從機率分佈中選擇詞的過程引入一定的隨機性,進而讓文字變得有趣,取樣引數temperat分佈為:

壹沓AI探索:五類主流文字生成方法實測

壹沓AI探索:五類主流文字生成方法實測

實驗資料集來源於:搜狐新聞資料集中包括汽車內容的文章,6539篇文章。

資料集連線:

https://www。

sogou。com/labs/resource

/cs。php

備註:該資料集從網上採集,包含很多調查問卷型別的文章,訓練出來的模型,在預測文章時可能會出現一些跟汽車相關的奇怪數字或者語句。

樣例輸入:簡短的語句。

樣例輸出:預測下文。

壹沓AI探索:五類主流文字生成方法實測

從預測效果來看,在不加取樣策略下(機率最大來選),續寫出來的文章還是具有一定的可閱讀性。但在取樣的策略下面,輸出內容與不使用取樣策略效果有所不同,當取樣引數設定越大,隨機性越強,生成的語句會更奇怪,不過可以根據需要適當調整。從整理效果來算,如果給定一些關鍵詞,而不是從測試集中選擇一句讓其續寫,效果會相對差一些。原因主要是實驗訓練的篇數少(考慮到訓練時間的問題,只是用了汽車文章中一小部分),從結果來看生成的效果看起來不順暢,主要是源於資料集的問題。

2.雙向 GRU+Embedding

壹沓NLP團隊認為該模型與第一個模型LSTM主要的區別有三點:

(1)LSTM模型是基於字元級別的語言模型,每個句子都是以字元為單位,而雙向GRU加Embedding為片語為單位進行訓練,使用jieba分詞來將句子分成片語(當然也可以使用其它方式進行分詞)。

(2)使用詞嵌入(Embedding)代替One-hot編碼,節省記憶體空間,同時詞嵌入可能比one-hot更好地表達語義資訊。

(3)雙向GRU代替LSTM,從正向和反向兩個方向來進行學習訓練。GRU是LSTM的一個變種,相比於LSTM優點是:引數更少更容易收斂,效能上有所提高。

壹沓AI探索:五類主流文字生成方法實測

雙向GRU+Embedding模型輸入的時候對輸入樣本進行分詞,因此在進行輸入的時候不能保證輸入樣本一致,這裡樣例輸入與 LSTM 模型有一些出入。取樣策略與 LSTM 模型使用的引數保持一致,從實驗結果來看,在不啟用取樣策略下,輸出的結果比較符合邏輯。可見,啟用取樣策略,輸出結果有意想不到的表達方式。

3.GRU+Embedding+Conv

壹沓NLP團隊認識到儘管卷積的概念一般只出現在影象領域,但也可以使用卷積的概念來完成文章生成,其特點就是對區域性特徵的學習提取功能。後來有研究學者發現卷積神經網路同樣適用於時序資料的處理,其能夠提取長序列中的區域性資訊,這在NLP特定領域非常有用(如機器翻譯、自動問答)。因此這裡提出引入卷積來進行處理。

壹沓AI探索:五類主流文字生成方法實測

在雙向GRU+Embedding基礎之上加入卷積之後,不管是使用取樣策略或者不使用取樣策略的情況下,生成的文章語句看起來與預期輸出的關聯性較弱。而這主要是輸入的樣本語句給定的詞在訓練樣本集中有多個,在使用統計模型預測下文的時候,按照機率的大小來進行選擇時就會導致這種情況。

4.transformer-xl

該模型是由谷歌開源的語言模型,該模型是在transformer模型(具有固定長度內容建模的侷限性)基礎之上進一步完善,主要針對長文字問題進行改進。一是對transformer模型使用的位置編碼進行改進,transformer使用的位置編碼是一種絕對位置編碼,當對文字進行分段處理之後,絕對位置會出現問題,透過計算公式來對其進行改進,引入相對位置編碼。二是對分段文字進行編碼時,加入相連的上一段的編碼資訊。(而不再是單獨的一段)。

壹沓AI探索:五類主流文字生成方法實測

壹沓科技利用收集的汽車語料庫來訓練Transformer-xl模型,透過輸出結果得出,該模型能夠較好的根據輸入內容繼續生成文章。生成的內容相對於LSTM模型和GRU模型效果要好一些。但隨著生成的文字過長,模型也會出現一些意想不到的生成。為提升效果,還需要收集更多的語料庫來進行完善。

5.GPT-2

對於語言模型來說,很多學者不斷重新整理自然語言中的記錄,其中包括BERT、Transformer-XL、XLNet等大型自然語言處理模型。但上述模型大部分用於理論研究,在工業界中由OPEN-AI提出的GPT、GPT2模型憑藉著穩定、優異的效能受到業界廣泛關注。

GPT-2相比於GPT模型差別並不大,採用了更大的資料集進行試驗。預訓練的方式和上述幾種語言模型一樣,可以透過上下文的學習,根據輸入的文字來預測下一個詞。

其中引數最小為1。17億,也就是GPT模型,第二引數為3。45億與BERT是一個量級,最大的15。42億個引數的模型成為GPT-2。

GPT-2模型與其它模型的對比試驗結果就不再一一列出,本文提供本試驗測試的結果供大家參考,該模型是GPT-2預訓練好的模型,並未增加相關資料集進行調整。為了展示效果,這裡樣例輸入與上述幾種模型保持一致。

壹沓AI探索:五類主流文字生成方法實測

從GPT-2實驗結果來看,生成的文章與使用汽車語料庫訓練出的模型有所差距, GPT-2生成的文章相比其它模型閱讀起來更順暢。但是檢視樣例輸入的語句上下文會發現,前面幾種模型給出的結果要好於GPT-2,這個跟GPT-2訓練資料樣本有關,後續會考慮把收集到的汽車語料庫對模型進行完善,以便得到更好的效果。另外,如果樣例輸入變成某個關鍵詞,GPT-2生成文章的質量要好於其它語言模型。

壹沓AI探索:五類主流文字生成方法實測

6.如何利用上述模型來實現可供閱讀的文章

透過上述自然語言模型的介紹,我們大體瞭解到自然語言處理現階段的發展過程,以及近年來自然語言模型在處理不同任務上的各個優勢。自然語言模型在進行文章生成任務時是透過給定的輸入,對其輸入進行預測下一個詞是什麼,以此類推,直到達到設定的生成長度。

但這可能會出現一些問題,比如設定的生成長度過長時,生成的詞可能會不通順、不連貫,導致生成的一篇文章後半部分無法達到閱讀的邏輯要求。

針對這一問題,我們可以考慮將一篇文章進行拆分段落來分塊進行生成,針對每一部分可以對輸入的語句(關鍵詞)有所不同。因為每一部分側重點有所不同,這時可以根據需要的側重點給予相應的關鍵詞來進行預測。

以下為壹沓NLP團隊針對“大眾汽車”為開頭來生成的一篇文章,從大眾汽車的集團概況、平臺、內飾、價格等方面來介紹大眾汽車,從中可以看到文字生成僅千字內容時還能基本保持語句通順的初步效果。

“大眾汽車集團(中國)公司,並且已經在中國市場取得了一定成功。目前,中國市場已經成為全球第二大汽車消費市場。

大眾汽車國內採用了成熟的mqb平臺,在佈局上延續了老款捷達、桑塔納等車型的傳統車身結構,未見有太多特別之處。但在內飾配置上,卻有了進步。按照新款捷達、桑塔納的配置配置,它的價格區間也在5-10萬元之間。除了12萬元以上的高階車,大眾汽車更傾向於入門級配置,而這些入門級配置並非朗逸、軒逸的主打選擇,而是入門價格售價更低、年銷量接近50萬輛的帕薩特、邁騰等車型。主流的保值率對於許多追求高性價比的消費者來說很重要,大眾品牌的保值率有目共睹,畢竟入門級保值率要低於寶馬和奧迪。1~2年的保值率對比1~2年的保值率下,使用2年以上後帕薩特、雅閣仍然具有非常高的價效比。帕薩特、雅閣、邁騰的保值率資料作為與捷達、桑塔納同級的全新一代帕薩特,2017年全年的銷量達到1。68萬輛,蟬聯轎車銷量冠軍,其品牌形象更為突出。不僅有口皆碑,帕薩特的保值率還高於大眾標三劍客的保值率,帕薩特維持在1。58%左右,雅閣為1。80%左右,邁騰也維持在1。71%左右。2018年上半年帕薩特依然維持1。68%的不變,全年保值率較去年進一步增長。帕薩特有著非常高的價效比,一般情況下價效比較高的轎車保值率較差,因為價效比高的轎車往往價格更低,而保值率更高的汽車往往價格更高。對於全新一代帕薩特來說同樣是如此,雖然捷達被很多人評價是“中國牌照的邁騰”,不能進口大眾的入門級轎車帕薩特,在標軸版帕薩特進入國內時又獲得了很大的銷量優勢,提前下探全新一代帕薩特入門級價格,使得兩款車的保值率進一步拉低。2018年7月入門級車型雅閣仍有1。94%的保值率,邁騰也僅有1。68%。對於價效比更高的帕薩特來說,這個訊息值得注意。大眾轎車的價格都差不多,捷達是品牌唯一受損的物件,速騰變為“速騰奔”,桑塔納變為“捷達”,朗逸變為“桑塔納1。5l”等,這些措施會讓捷達變得更加價效比低。有力打擊帕薩特的車型主要是品牌保值率較低的轎車,不僅僅是桑塔納1。5l和雅閣的全新帕薩特,還有朗逸和邁騰均維持在1。65%的保值率。雅閣的保值率為1。65%,帕薩特1。65%,速騰2。2%,全新帕薩特1。78%,朗逸為1。61%,速騰為1。92%,朗逸為1。92%,速騰的保值率遠遠高於帕薩特。雅閣、帕薩特的保值率都很高,全新帕薩特的保值率更高,如此表現也說明了帕薩特的保值率確實不是帕薩特價效比最高的車型。這就是大眾品牌認知度不斷提升的過程,也是帕薩特同級車型變相拉低價效比的結果。當然,大眾的終端優惠,亦或者是車型的調整都是影響。”

關於壹沓科技

壹沓科技成立於2016年11月,聚焦於前沿技術在企業數字化中的應用,我們在自然語言處理-NLP、影象文字識-OCR、知識圖譜-KG、大資料探勘-Data Mining、機器人流程自動化-RPA和業務流程重構及管理-BPR&BPM等領域具備完整的自主研發能力,已獲得軟體智慧財產權數十個。

公司核心的業務包括數字機器人產品(矩陣數字機器人-Matrix Robot)和網際網路大資料品牌管理(品牌方程-Formula DBM),已經為多個行業數百家企業及政府提供專業解決方案。

總部位於上海 ,在北京、深圳設有分公司, 已獲得高新技術企業、雙軟及專精特新企業等專業認證 。核心團隊來自於多家知名上市公司,在企業服務及網際網路從業超過10年,擁有大資料、雲服務及人工智慧領域的豐富經驗。

壹沓AI探索:五類主流文字生成方法實測

標簽: 模型  生成  帕薩特  文字  預測