久久人妻牲爱视频,亚洲无码视频区,黑人操人妻一区二区,aaa在线视频,日产精品久久久久久久,99熟妇诱惑视频,激情只爱无码,国产精品日韩一区二区,超碰成人三级在线

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

原創(chuàng) 收藏 評論
舉報 2020-08-13


公號前綴圖.gif

近期,壹沓科技通過對如LSTM,GRU,transformer-xl,GPT2等主流的文本生成方法進(jìn)行實驗探索,對深度學(xué)習(xí)的文本生成算法和工具從行業(yè)領(lǐng)域應(yīng)用視角開展了測評,本文簡單介紹了幾類方法的基本思想和實驗結(jié)果,從中可以直觀地感受到人工智能在NLP領(lǐng)域快速的發(fā)展。

在深度學(xué)習(xí)的文本生成算法和工具流行之前,NLP文本生成的主要任務(wù)是文本摘要(從一篇文章中提取出一篇文章的中心,即摘要的自動生成),文本摘要生成大體的思想是先去除文章中的一些停用詞,對句子的相似度進(jìn)行度量,計算相似度得分,對其進(jìn)行迭代直到誤差小于某個閾值。針對得到的關(guān)鍵語句進(jìn)行排序從而得到想要的摘要。自動摘要的生成應(yīng)用場景如自動報告生成、新聞標(biāo)題生成、搜索結(jié)果預(yù)覽等。伴隨大數(shù)據(jù)條件下訓(xùn)練大規(guī)模的語料網(wǎng)絡(luò)的發(fā)展,為給定的一句話開頭或者關(guān)鍵詞來進(jìn)行生成一篇可以閱讀的文章創(chuàng)造了條件。

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

先介紹一下關(guān)于文本(詞)預(yù)測的兩種思想,第一種是針對已有大量的數(shù)據(jù)集進(jìn)行訓(xùn)練,用訓(xùn)練好的模型去預(yù)測下一個詞是什么,具體需要預(yù)測多少個詞,這個可以根據(jù)需要進(jìn)行設(shè)置(步長)。

上圖中缺少一個字,用模型去預(yù)測該字是什么。根據(jù)已有的句子去訓(xùn)練預(yù)測,這里就會把前面的語句當(dāng)作輸入來進(jìn)行預(yù)測空格處的字。這里有兩個問題需要注意,一是輸入的長度多長。二是空格處后面的句子對預(yù)測會不會有幫助。

有兩個情況,第一種情況:當(dāng)預(yù)測的時候,如果只輸入“我會說__語”前面的一句話,這個時候空格處預(yù)測大概率是“英”,但是這個也要看訓(xùn)練文本數(shù)據(jù)集中英語這個詞出現(xiàn)的頻率。但是如果考慮到“我出生在法國”這個時候預(yù)測出來“法”語,才是我們想要的答案。這里就是長時間依賴問題。第二種情況,考慮到雙向預(yù)測,把要空格后面的語句也作為輸入,這個時候可能也會預(yù)測到我們想要的答案(雙向?qū)W習(xí))。

壹沓NLP團(tuán)隊意識到雙向?qū)W習(xí)的提出是源于有時候如果我們只看前面的信息來預(yù)測后面的信息是不夠的。

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

如果只根據(jù)前面的語句,“不舒服”,可能預(yù)測出“去醫(yī)院”,“睡覺”,“請假”等等。但如果加上后面的“一天”,能選擇的范圍就小很多,“去醫(yī)院”這種就不能再選擇,而“請假”,“休息”之類的詞被選擇的概率較大。這體現(xiàn)出的就是雙向?qū)W習(xí)的重要性。這里放個網(wǎng)上的圖供參考:

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

閱讀本文你可以了解到以下內(nèi)容:

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

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

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

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

1.LSTM+One-hot

壹沓推薦優(yōu)先上手實驗最簡單的神經(jīng)網(wǎng)絡(luò)模型。首先對文本文件進(jìn)行讀取,將文本向量化,再采用one-hot編碼為三位向量。這里為了能夠快速地得到實驗結(jié)果以及便于和其它模型對比,這里模型參數(shù)設(shè)置比較寬松(訓(xùn)練時間短)。

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

用訓(xùn)練好的模型去對文本進(jìn)行生成,主要步驟包括以下:

(1)將已生成的文本同樣進(jìn)行one-hot編碼,用訓(xùn)練好的模型計算所有字符的概率分布。

(2)根據(jù)給定的 temperature 得到新的概率分布(可以省略)。

(3)從新的概率分布中抽樣得到下一個字符。

(4)將生成的字符加到最后,并去掉原文本的第一個字符,作為輸入再預(yù)測下一個詞。

其中(2)步驟提到的temperature是指采樣策略,當(dāng)設(shè)置這個參數(shù)的時候即表示使用采樣策略??紤]到語言模型中的預(yù)測輸出就是字典中所有詞的概率分布中最大的那個詞,這里加上采樣策略就是為了生成的時候可能并不總是要概率最大的那個詞(比如:前文說到的“__語”預(yù)測)。如果嚴(yán)格按照概率最大生成模型,那么最后預(yù)測出來的文章可能就是某某人講話稿了。因此引入采樣策略,讓其從概率分布中選擇詞的過程引入一定的隨機(jī)性,進(jìn)而讓文本變得有趣,采樣參數(shù)temperat分布為:

實驗數(shù)據(jù)集來源于:搜狐新聞數(shù)據(jù)集中包括汽車內(nèi)容的文章,6539篇文章。

數(shù)據(jù)集連接:https://www.sogou.com/labs/resource/cs.php

備注:該數(shù)據(jù)集從網(wǎng)上采集,包含很多調(diào)查問卷類型的文章,訓(xùn)練出來的模型,在預(yù)測文章時可能會出現(xiàn)一些跟汽車相關(guān)的奇怪?jǐn)?shù)字或者語句。

樣例輸入:簡短的語句。

樣例輸出:預(yù)測下文。

從預(yù)測效果來看,在不加采樣策略下(概率最大來選),續(xù)寫出來的文章還是具有一定的可閱讀性。但在采樣的策略下面,輸出內(nèi)容與不使用采樣策略效果有所不同,當(dāng)采樣參數(shù)設(shè)置越大,隨機(jī)性越強(qiáng),生成的語句會更奇怪,不過可以根據(jù)需要適當(dāng)調(diào)整。從整理效果來算,如果給定一些關(guān)鍵詞,而不是從測試集中選擇一句讓其續(xù)寫,效果會相對差一些。原因主要是實驗訓(xùn)練的篇數(shù)少(考慮到訓(xùn)練時間的問題,只是用了汽車文章中一小部分),從結(jié)果來看生成的效果看起來不順暢,主要是源于數(shù)據(jù)集的問題。

2.雙向 GRU+Embedding

壹沓NLP團(tuán)隊認(rèn)為該模型與第一個模型LSTM主要的區(qū)別有三點:

(1)LSTM模型是基于字符級別的語言模型,每個句子都是以字符為單位,而雙向GRU加Embedding為詞組為單位進(jìn)行訓(xùn)練,使用jieba分詞來將句子分成詞組(當(dāng)然也可以使用其它方式進(jìn)行分詞)。

(2)使用詞嵌入(Embedding)代替One-hot編碼,節(jié)省內(nèi)存空間,同時詞嵌入可能比one-hot更好地表達(dá)語義信息。

(3)雙向GRU代替LSTM,從正向和反向兩個方向來進(jìn)行學(xué)習(xí)訓(xùn)練。GRU是LSTM的一個變種,相比于LSTM優(yōu)點是:參數(shù)更少更容易收斂,性能上有所提高。

雙向GRU+Embedding模型輸入的時候?qū)斎霕颖具M(jìn)行分詞,因此在進(jìn)行輸入的時候不能保證輸入樣本一致,這里樣例輸入與 LSTM 模型有一些出入。采樣策略與 LSTM 模型使用的參數(shù)保持一致,從實驗結(jié)果來看,在不啟用采樣策略下,輸出的結(jié)果比較符合邏輯??梢?,啟用采樣策略,輸出結(jié)果有意想不到的表達(dá)方式。

3.GRU+Embedding+Conv 

壹沓NLP團(tuán)隊認(rèn)識到盡管卷積的概念一般只出現(xiàn)在圖像領(lǐng)域,但也可以使用卷積的概念來完成文章生成,其特點就是對局部特征的學(xué)習(xí)提取功能。后來有研究學(xué)者發(fā)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)同樣適用于時序數(shù)據(jù)的處理,其能夠提取長序列中的局部信息,這在NLP特定領(lǐng)域非常有用(如機(jī)器翻譯、自動問答)。因此這里提出引入卷積來進(jìn)行處理。

在雙向GRU+Embedding基礎(chǔ)之上加入卷積之后,不管是使用采樣策略或者不使用采樣策略的情況下,生成的文章語句看起來與預(yù)期輸出的關(guān)聯(lián)性較弱。而這主要是輸入的樣本語句給定的詞在訓(xùn)練樣本集中有多個,在使用統(tǒng)計模型預(yù)測下文的時候,按照概率的大小來進(jìn)行選擇時就會導(dǎo)致這種情況。

4.transformer-xl

該模型是由谷歌開源的語言模型,該模型是在transformer模型(具有固定長度內(nèi)容建模的局限性)基礎(chǔ)之上進(jìn)一步完善,主要針對長文本問題進(jìn)行改進(jìn)。一是對transformer模型使用的位置編碼進(jìn)行改進(jìn),transformer使用的位置編碼是一種絕對位置編碼,當(dāng)對文本進(jìn)行分段處理之后,絕對位置會出現(xiàn)問題,通過計算公式來對其進(jìn)行改進(jìn),引入相對位置編碼。二是對分段文本進(jìn)行編碼時,加入相連的上一段的編碼信息。(而不再是單獨(dú)的一段)。

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

5.GPT-2

對于語言模型來說,很多學(xué)者不斷刷新自然語言中的記錄,其中包括BERT、Transformer-XL、XLNet等大型自然語言處理模型。但上述模型大部分用于理論研究,在工業(yè)界中由OPEN-AI提出的GPT、GPT2模型憑借著穩(wěn)定、優(yōu)異的性能受到業(yè)界廣泛關(guān)注。

GPT-2相比于GPT模型差別并不大,采用了更大的數(shù)據(jù)集進(jìn)行試驗。預(yù)訓(xùn)練的方式和上述幾種語言模型一樣,可以通過上下文的學(xué)習(xí),根據(jù)輸入的文本來預(yù)測下一個詞。 

其中參數(shù)最小為1.17億,也就是GPT模型,第二參數(shù)為3.45億與BERT是一個量級,最大的15.42億個參數(shù)的模型成為GPT-2。

GPT-2模型與其它模型的對比試驗結(jié)果就不再一一列出,本文提供本試驗測試的結(jié)果供大家參考,該模型是GPT-2預(yù)訓(xùn)練好的模型,并未增加相關(guān)數(shù)據(jù)集進(jìn)行調(diào)整。為了展示效果,這里樣例輸入與上述幾種模型保持一致。

 從GPT-2實驗結(jié)果來看,生成的文章與使用汽車語料庫訓(xùn)練出的模型有所差距, GPT-2生成的文章相比其它模型閱讀起來更順暢。但是查看樣例輸入的語句上下文會發(fā)現(xiàn),前面幾種模型給出的結(jié)果要好于GPT-2,這個跟GPT-2訓(xùn)練數(shù)據(jù)樣本有關(guān),后續(xù)會考慮把收集到的汽車語料庫對模型進(jìn)行完善,以便得到更好的效果。另外,如果樣例輸入變成某個關(guān)鍵詞,GPT-2生成文章的質(zhì)量要好于其它語言模型。

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

通過上述自然語言模型的介紹,我們大體了解到自然語言處理現(xiàn)階段的發(fā)展過程,以及近年來自然語言模型在處理不同任務(wù)上的各個優(yōu)勢。自然語言模型在進(jìn)行文章生成任務(wù)時是通過給定的輸入,對其輸入進(jìn)行預(yù)測下一個詞是什么,以此類推,直到達(dá)到設(shè)置的生成長度。

但這可能會出現(xiàn)一些問題,比如設(shè)置的生成長度過長時,生成的詞可能會不通順、不連貫,導(dǎo)致生成的一篇文章后半部分無法達(dá)到閱讀的邏輯要求。

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

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

“大眾汽車集團(tuán)(中國)公司,并且已經(jīng)在中國市場取得了一定成功。目前,中國市場已經(jīng)成為全球第二大汽車消費(fèi)市場。

大眾汽車國內(nèi)采用了成熟的mqb平臺,在布局上延續(xù)了老款捷達(dá)、桑塔納等車型的傳統(tǒng)車身結(jié)構(gòu),未見有太多特別之處。但在內(nèi)飾配置上,卻有了進(jìn)步。按照新款捷達(dá)、桑塔納的配置配置,它的價格區(qū)間也在5-10萬元之間。除了12萬元以上的高端車,大眾汽車更傾向于入門級配置,而這些入門級配置并非朗逸、軒逸的主打選擇,而是入門價格售價更低、年銷量接近50萬輛的帕薩特、邁騰等車型。主流的保值率對于許多追求高性價比的消費(fèi)者來說很重要,大眾品牌的保值率有目共睹,畢竟入門級保值率要低于寶馬和奧迪。1~2年的保值率對比1~2年的保值率下,使用2年以上后帕薩特、雅閣仍然具有非常高的性價比。帕薩特、雅閣、邁騰的保值率數(shù)據(jù)作為與捷達(dá)、桑塔納同級的全新一代帕薩特,2017年全年的銷量達(dá)到1.68萬輛,蟬聯(lián)轎車銷量冠軍,其品牌形象更為突出。不僅有口皆碑,帕薩特的保值率還高于大眾標(biāo)三劍客的保值率,帕薩特維持在1.58%左右,雅閣為1.80%左右,邁騰也維持在1.71%左右。2018年上半年帕薩特依然維持1.68%的不變,全年保值率較去年進(jìn)一步增長。帕薩特有著非常高的性價比,一般情況下性價比較高的轎車保值率較差,因為性價比高的轎車往往價格更低,而保值率更高的汽車往往價格更高。對于全新一代帕薩特來說同樣是如此,雖然捷達(dá)被很多人評價是“中國牌照的邁騰”,不能進(jìn)口大眾的入門級轎車帕薩特,在標(biāo)軸版帕薩特進(jìn)入國內(nèi)時又獲得了很大的銷量優(yōu)勢,提前下探全新一代帕薩特入門級價格,使得兩款車的保值率進(jìn)一步拉低。2018年7月入門級車型雅閣仍有1.94%的保值率,邁騰也僅有1.68%。對于性價比更高的帕薩特來說,這個消息值得注意。大眾轎車的價格都差不多,捷達(dá)是品牌唯一受損的對象,速騰變?yōu)椤八衮v奔”,桑塔納變?yōu)椤敖葸_(dá)”,朗逸變?yōu)椤吧K{1.5l”等,這些措施會讓捷達(dá)變得更加性價比低。有力打擊帕薩特的車型主要是品牌保值率較低的轎車,不僅僅是桑塔納1.5l和雅閣的全新帕薩特,還有朗逸和邁騰均維持在1.65%的保值率。雅閣的保值率為1.65%,帕薩特1.65%,速騰2.2%,全新帕薩特1.78%,朗逸為1.61%,速騰為1.92%,朗逸為1.92%,速騰的保值率遠(yuǎn)遠(yuǎn)高于帕薩特。雅閣、帕薩特的保值率都很高,全新帕薩特的保值率更高,如此表現(xiàn)也說明了帕薩特的保值率確實不是帕薩特性價比最高的車型。這就是大眾品牌認(rèn)知度不斷提升的過程,也是帕薩特同級車型變相拉低性價比的結(jié)果。當(dāng)然,大眾的終端優(yōu)惠,亦或者是車型的調(diào)整都是影響?!?/p>

關(guān)于壹沓科技

壹沓科技成立于2016年11月,聚焦于前沿技術(shù)在企業(yè)數(shù)字化中的應(yīng)用,我們在自然語言處理-NLP、圖像文字識-OCR、知識圖譜-KG、大數(shù)據(jù)挖掘-Data Mining、機(jī)器人流程自動化-RPA和業(yè)務(wù)流程重構(gòu)及管理-BPR&BPM等領(lǐng)域具備完整的自主研發(fā)能力,已獲得軟件知識產(chǎn)權(quán)數(shù)十個。

公司核心的業(yè)務(wù)包括數(shù)字機(jī)器人產(chǎn)品(矩陣數(shù)字機(jī)器人-Matrix Robot)和互聯(lián)網(wǎng)大數(shù)據(jù)品牌管理(品牌方程-Formula DBM),已經(jīng)為多個行業(yè)數(shù)百家企業(yè)及政府提供專業(yè)解決方案。

總部位于上海 ,在北京、深圳設(shè)有分公司, 已獲得高新技術(shù)企業(yè)、雙軟及專精特新企業(yè)等專業(yè)認(rèn)證 。核心團(tuán)隊來自于多家知名上市公司,在企業(yè)服務(wù)及互聯(lián)網(wǎng)從業(yè)超過10年,擁有大數(shù)據(jù)、云服務(wù)及人工智能領(lǐng)域的豐富經(jīng)驗。


本文系作者授權(quán)數(shù)英發(fā)表,內(nèi)容為作者獨(dú)立觀點,不代表數(shù)英立場。
轉(zhuǎn)載請在文章開頭和結(jié)尾顯眼處標(biāo)注:作者、出處和鏈接。不按規(guī)范轉(zhuǎn)載侵權(quán)必究。
本文系作者授權(quán)數(shù)英發(fā)表,內(nèi)容為作者獨(dú)立觀點,不代表數(shù)英立場。
未經(jīng)授權(quán)嚴(yán)禁轉(zhuǎn)載,授權(quán)事宜請聯(lián)系作者本人,侵權(quán)必究。
本內(nèi)容為作者獨(dú)立觀點,不代表數(shù)英立場。
本文禁止轉(zhuǎn)載,侵權(quán)必究。
本文系數(shù)英原創(chuàng),未經(jīng)允許不得轉(zhuǎn)載。
授權(quán)事宜請至數(shù)英微信公眾號(ID: digitaling) 后臺授權(quán),侵權(quán)必究。

    評論

    文明發(fā)言,無意義評論將很快被刪除,異常行為可能被禁言
    DIGITALING
    登錄后參與評論

    評論

    文明發(fā)言,無意義評論將很快被刪除,異常行為可能被禁言
    800

    推薦評論

    暫無評論哦,快來評論一下吧!

    全部評論(0條)

    闽清县| 庆城县| 莱西市| 习水县| 正宁县| 嵩明县| 临邑县| 苏尼特左旗| 阳朔县| 镇平县| 稷山县| 丹寨县| 胶州市| 吉木萨尔县| 左贡县| 开化县| 玛沁县| 临泉县| 三原县| 青阳县| 类乌齐县| 武夷山市| 巴马| 新丰县| 宁城县| 大埔县| 奈曼旗| 广宁县| 彰化县| 安达市| 康马县| 隆化县| 新泰市| 马关县| 大洼县| 寿光市| 曲松县| 孟村| 阜阳市| 武陟县| 大新县|