丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號(hào)安全和更好的產(chǎn)品體驗(yàn),強(qiáng)烈建議使用更快更安全的瀏覽器
此為臨時(shí)鏈接,僅用于文章預(yù)覽,將在時(shí)失效
人工智能 正文
發(fā)私信給深度學(xué)習(xí)大講堂
發(fā)送

0

深度學(xué)習(xí)在文本簡化方面有什么最新應(yīng)用進(jìn)展?

本文作者: 深度學(xué)習(xí)大講堂 2016-12-27 10:19
導(dǎo)語:當(dāng)深度學(xué)習(xí)遇上文本簡化,你猜會(huì)發(fā)生什么化學(xué)反應(yīng)?

雷鋒網(wǎng)按:本文作者譚繼偉、姚金戈,均為北京大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)研究所在讀博士生,研究方向主要包括文本信息推薦與自動(dòng)摘要。

背景與介紹

近年來,機(jī)器翻譯任務(wù)依靠深度學(xué)習(xí)技術(shù)取得了重大突破。最先進(jìn)的神經(jīng)機(jī)器翻譯模型已經(jīng)能夠在多種語言上超越傳統(tǒng)統(tǒng)計(jì)機(jī)器翻譯模型的性能。在傳統(tǒng)統(tǒng)計(jì)機(jī)器翻譯模型上積累深厚的谷歌,也終于開始將最新的神經(jīng)機(jī)器翻譯系統(tǒng)逐步上線。

目前神經(jīng)機(jī)器翻譯的技術(shù)基礎(chǔ)是端到端的編碼器-解碼器架構(gòu),以源語言句子作為輸入,目標(biāo)語言同義句作為輸出。容易想象,只要具備充足的訓(xùn)練數(shù)據(jù),類似架構(gòu)完全有可能推廣到其他涉及文本改寫的任務(wù)上。例如,輸入一段文字,希望系統(tǒng)輸出一小段核心語義不變、但更為簡潔的表達(dá)。這樣的改寫統(tǒng)稱為文本簡化(text simplification)。

近兩年深度學(xué)習(xí)技術(shù)應(yīng)用相對(duì)較多的是其中的一個(gè)實(shí)例,在自然語言生成研究中一般稱為語句壓縮(sentence compression)或語句簡化(sentence simplification),即輸入和輸出均為語句。語句簡化任務(wù)要求神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)能夠編碼輸入句中的核心語義信息,才能夠提煉出不改變?cè)渲饕饬x的更簡潔表達(dá)。

深度學(xué)習(xí)技術(shù)在語句簡化上的一個(gè)典型應(yīng)用是新聞標(biāo)題生成(headline generation)。新聞文章通常具有較為規(guī)范的寫作形式:文章首句或者首段對(duì)新聞內(nèi)容進(jìn)行概括介紹,新聞標(biāo)題則進(jìn)一步精煉概括出新聞核心事件。目前基于深度學(xué)習(xí)技術(shù)的新聞標(biāo)題生成研究中,一般以新聞文章的首句作為輸入,生成該新聞文章的標(biāo)題?,F(xiàn)有的基于深度學(xué)習(xí)的新聞標(biāo)題生成工作通常采用和神經(jīng)機(jī)器翻譯類似的編碼器-解碼器架構(gòu),一般不需要手動(dòng)提取特征或語句改寫文法。最常見的仍然是序列到序列(sequence-to-sequence, 簡記為seq2seq)模型。典型的序列到序列模型如圖1所示。

深度學(xué)習(xí)在文本簡化方面有什么最新應(yīng)用進(jìn)展?

圖1 典型的序列到序列生成模型 (Sutskever et al., 2014)

在圖1中,以文本序列A-B-C-<EOS>輸入給一個(gè)編碼器,編碼器用于將輸入文本編碼成一個(gè)語義向量表達(dá)(圖中對(duì)應(yīng)第四個(gè)節(jié)點(diǎn)處的隱狀態(tài))。輸入序列的語義向量表達(dá)進(jìn)而交由解碼器用于目標(biāo)文本序列W-X-Y-Z-<EOS>的生成。這里的<EOS>表示序列結(jié)束符號(hào)(end of sequence),標(biāo)志著輸入序列或輸出序列的結(jié)束。解碼器接收<EOS>符號(hào)后,開始解碼的過程,直到生成<EOS>符號(hào)標(biāo)志著解碼過程的結(jié)束。

序列到序列模型是一個(gè)按照字符(或單詞)序列逐個(gè)處理的過程,編碼過程中編碼器逐個(gè)接收輸入字符,解碼過程中解碼器逐個(gè)輸出生成的字符。在最原始的模型訓(xùn)練過程中,解碼器每次接收答案序列中的一個(gè)字符(例:W),預(yù)測(cè)應(yīng)該輸出的下一個(gè)字符(例:X)。編碼器-解碼器架構(gòu)的經(jīng)典訓(xùn)練目標(biāo),是在給定編碼器輸入后,使解碼器輸出的結(jié)果能夠最大程度地?cái)M合訓(xùn)練集中的答案,在概率模型下即最大化數(shù)據(jù)似然。

在模型預(yù)測(cè)階段,答案序列未知,解碼器接收<EOS>作為解碼開始符,并生成一個(gè)輸出字符,然后將模型預(yù)測(cè)出的輸出字符作為解碼器的下一個(gè)輸入,重復(fù)這個(gè)過程直到解碼器生成<EOS>符號(hào)為止。預(yù)測(cè)階段的一般目標(biāo)是,給定輸入句編碼后,根據(jù)當(dāng)前模型選擇概率最大的解碼器輸出結(jié)果。精確搜索這個(gè)最優(yōu)解一般復(fù)雜度極高,所以在實(shí)際應(yīng)用中解碼過程通常應(yīng)用集束搜索(beam search,也可譯作柱搜索)近似求解:在每一步保留K個(gè)最高得分的輸出,最后從K個(gè)輸出結(jié)果中選擇得分最高的作為最終的輸出。

這樣的編碼器-解碼器模型一般可以處理變長的輸入和輸出序列,使得它可以被應(yīng)用于多種文本改寫任務(wù)上。形式上,給定一個(gè)包含M個(gè)詞的輸入文本序列x={x1,x2,…,xM},在模型中將每個(gè)詞xt表示成一個(gè)向量。詞的向量表示會(huì)在模型中進(jìn)行學(xué)習(xí),可以用無監(jiān)督訓(xùn)練得到的一般word embedding向量作為初始化。語句簡化的目標(biāo)是生成輸入句x的一個(gè)簡化y={y1,y2,…,yN},一般要求y的長度比輸入句更短,即N<M。標(biāo)題生成的目標(biāo)是尋找y ?使得給定x的條件下y的條件概率最大化,即:y ?=arg?maxy?〖P(y|x;θ)〗 ,其中θ代表需要學(xué)習(xí)的模型參數(shù)。條件概率P(y|x;θ)可以由鏈?zhǔn)椒▌t分解為:

深度學(xué)習(xí)在文本簡化方面有什么最新應(yīng)用進(jìn)展?

編碼器一般能夠處理長度不確定的輸入文本序列,將每個(gè)詞的詞向量表示匯總,編碼成一個(gè)定長的輸入文本向量表示。這個(gè)編碼過程可以采用不同的編碼器,如卷積神經(jīng)網(wǎng)絡(luò)(CNN),循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)等。而解碼的過程是根據(jù)輸入文本序列生成輸出文本序列的過程,在大多數(shù)模型中,解碼器使用的是RNN,常用的RNN節(jié)點(diǎn)包括標(biāo)準(zhǔn)的RNN單元以及像LSTM、GRU這樣記憶能力更強(qiáng)的帶門限單元等。

RNN對(duì)序列中的每一個(gè)單元執(zhí)行相同的運(yùn)算過程,從而可以接受任意長的序列作為輸入。具體來說,一個(gè)標(biāo)準(zhǔn)的RNN以及其按照輸入序列展開形式如圖2所示。

深度學(xué)習(xí)在文本簡化方面有什么最新應(yīng)用進(jìn)展?

圖2 標(biāo)準(zhǔn)RNN及其展開形式

在圖2中,xi是第i個(gè)輸入詞語,hi是接收xi之后RNN隱單元的狀態(tài)。hi+1基于前一個(gè)隱狀態(tài)hi和當(dāng)前的輸入xi+1得到,即hi+1=f(Uxi+1+whi)。f是非線性函數(shù),如tanh或者sigmoid。標(biāo)準(zhǔn)的RNN單元在每一步輸出yi+1=g(Vhi+1),g是非線性函數(shù)。

在序列到序列模型中,如果選用RNN作為編碼器,這一部分RNN的輸出(yi)一般被忽略;而RNN作為解碼器時(shí),每一步輸出yi+1對(duì)應(yīng)規(guī)模為V的詞表上所有詞語的概率分布(通常選用softmax函數(shù)將V維得分向量標(biāo)準(zhǔn)化得到),產(chǎn)生yi+1的過程依賴于前一步狀態(tài)hi以及前一步的輸出yi。

解碼過程中,生成單詞yi+1的方法是 :

深度學(xué)習(xí)在文本簡化方面有什么最新應(yīng)用進(jìn)展?

早期的編碼器-解碼器模型中,要求編碼器結(jié)構(gòu)的最后一個(gè)單元能很好地保留輸入文本的信息編碼。而在實(shí)際應(yīng)用中,這樣的定長文本編碼并不一定能夠捕捉輸入句的所有重要信息,尤其是在輸入文本較長的情況下。為解決這個(gè)問題,有研究工作(Bahdanau et al., 2015)在序列到序列神經(jīng)機(jī)器翻譯模型中引入了“注意力”(attention)機(jī)制,用于在生成目標(biāo)文本序列的過程中,為生成每個(gè)目標(biāo)詞確定一個(gè)有注意力偏差的輸入文本編碼,使得模型可以學(xué)習(xí)輸出序列到輸入序列的一個(gè)軟對(duì)齊(soft alignment)。

注意力機(jī)制的主要思想是:在每一步生成不同的yi+1時(shí),側(cè)重使用編碼器中對(duì)應(yīng)x的不同部分的隱狀態(tài)信息,即使用編碼器中各隱狀態(tài)ht的加權(quán)和作為生成時(shí)所需要考慮的“上下文 ”:

深度學(xué)習(xí)在文本簡化方面有什么最新應(yīng)用進(jìn)展?

通過為生成不同的目標(biāo)單詞學(xué)習(xí)不同的

深度學(xué)習(xí)在文本簡化方面有什么最新應(yīng)用進(jìn)展?

分布,使得生成不同單詞時(shí)解碼器可以將“注意力”集中在不同的輸入詞語上。注意力權(quán)值

深度學(xué)習(xí)在文本簡化方面有什么最新應(yīng)用進(jìn)展?

可以有多種不同的計(jì)算方法,一種常見的實(shí)現(xiàn)方法考慮編碼器每個(gè)隱狀態(tài)ht和解碼器生成詞語yi+1時(shí)的隱狀態(tài)hyi+1的相近程度(內(nèi)積),將權(quán)值定義為:

深度學(xué)習(xí)在文本簡化方面有什么最新應(yīng)用進(jìn)展?

初探與進(jìn)展

基于編碼器-解碼器架構(gòu)和注意力機(jī)制的序列到序列學(xué)習(xí)模型最初用于神經(jīng)機(jī)器翻譯,但原理上可以直接照搬應(yīng)用于標(biāo)題生成(Lopyrev, 2015; Hu et al., 2015)。甚至不采用注意力機(jī)制的多層LSTM-RNN編碼器-解碼器也在一般基于詞匯刪除的語句壓縮任務(wù)上取得了一定效果(Filippova et al., 2015)。

而神經(jīng)網(wǎng)絡(luò)方法在語句簡化、標(biāo)題生成任務(wù)上最早的應(yīng)用中,比較著名的當(dāng)屬Sasha Rush組的相關(guān)工作(Rush et al., 2015)。雖然同樣是一種編碼器-解碼器神經(jīng)網(wǎng)絡(luò),但在具體的架構(gòu)設(shè)計(jì)上和基于RNN的序列到序列學(xué)習(xí)有一定差異。

這個(gè)工作中對(duì)P(y│x;θ)應(yīng)用了C階馬爾科夫假設(shè),即生成一個(gè)新的詞語yi+1時(shí)只依賴于之前C個(gè)已經(jīng)生成的詞語yc=y[i-C+1,…,i],同時(shí)對(duì)P(y│x;θ)求對(duì)數(shù)將其分解為求和形式:

深度學(xué)習(xí)在文本簡化方面有什么最新應(yīng)用進(jìn)展?

局部概率P(yi+1|yc,x;θ)定義為一個(gè)前饋神經(jīng)網(wǎng)絡(luò):

深度學(xué)習(xí)在文本簡化方面有什么最新應(yīng)用進(jìn)展?

其中隱狀態(tài)h由上下文yc的嵌入表示y ?c通過一層變換得到:

深度學(xué)習(xí)在文本簡化方面有什么最新應(yīng)用進(jìn)展?

而enc是以x作為輸入的編碼器模塊。文中嘗試了三種不同的編碼器,分別為詞袋模型編碼器enc1、卷積編碼器enc2和注意力機(jī)制的編碼器enc3。整個(gè)模型架構(gòu)比較簡單,如圖3(a)所示。

深度學(xué)習(xí)在文本簡化方面有什么最新應(yīng)用進(jìn)展?

圖3 ABS模型和注意力機(jī)制編碼器 (Rush et al., 2015)

詞袋模型編碼器和卷積編碼器不考慮注意力機(jī)制。詞袋模型enc1定義為詞向量的簡單平均。記每個(gè)輸入詞xi為one-hot表示,左乘詞向量編碼矩陣F可以得到其對(duì)應(yīng)的word embedding,整個(gè)詞袋模型編碼器可以寫作:

深度學(xué)習(xí)在文本簡化方面有什么最新應(yīng)用進(jìn)展?

其中p∈[0,1]M是輸入詞語上的均勻分布,詞袋模型編碼器要學(xué)習(xí)的參數(shù)只有詞向量編碼矩陣F。這個(gè)編碼器忽略輸入詞語序列的順序和相鄰詞之間的關(guān)系。

卷積編碼器enc2對(duì)詞袋模型編碼器不考慮詞語之間關(guān)系的特點(diǎn)進(jìn)行了改進(jìn),采用了一種標(biāo)準(zhǔn)的時(shí)延神經(jīng)網(wǎng)絡(luò)(time-delay neural network, TDNN),使得編碼器可以利用詞語之間的局部關(guān)系。這個(gè)編碼器包含L層,每層主要由1維的卷積過濾器Q和max-pooling操作構(gòu)成:

深度學(xué)習(xí)在文本簡化方面有什么最新應(yīng)用進(jìn)展?

而enc3將注意力機(jī)制引入到詞袋模型編碼器中,使得enc3對(duì)x進(jìn)行編碼的過程中利用到之前C個(gè)已經(jīng)生成的詞語作為上下文yc。用G表示上下文編碼矩陣,模型結(jié)構(gòu)如圖3(b)所示,形式上寫作:

深度學(xué)習(xí)在文本簡化方面有什么最新應(yīng)用進(jìn)展?

模型訓(xùn)練使用批量隨機(jī)梯度法最小化訓(xùn)練數(shù)據(jù)

深度學(xué)習(xí)在文本簡化方面有什么最新應(yīng)用進(jìn)展?

負(fù)對(duì)數(shù)似然:

深度學(xué)習(xí)在文本簡化方面有什么最新應(yīng)用進(jìn)展?

使用動(dòng)態(tài)規(guī)劃(Viterbi算法)精確求解這個(gè)問題的時(shí)間復(fù)雜度為O(NVC),而詞匯表大小V一般較大。前文已經(jīng)提到,實(shí)際應(yīng)用中一般可以采用集束搜索近似求解,即在生成每一個(gè)yi的時(shí)候都只保存當(dāng)前最優(yōu)的K個(gè)部分解,之后僅從這K個(gè)部分解開始進(jìn)行下一步生成。這樣時(shí)間復(fù)雜度被降為O(KNV)。

直覺上,人工語句簡化時(shí)一般仍會(huì)保留一些原句中的詞匯。一個(gè)好的語句壓縮模型最好既能夠逐個(gè)從詞匯表V生成目標(biāo)壓縮句中的詞匯,又能夠捕捉從原句中進(jìn)行詞匯抽取的過程。文中(Rush et al., 2015)給出了一個(gè)權(quán)衡“生成”和“抽取”的初步方案,稱為抽取式調(diào)節(jié)(extractive tuning)。本質(zhì)上就是經(jīng)典統(tǒng)計(jì)機(jī)器翻譯中的對(duì)數(shù)線性模型(Och and Ney, 2002),通過線性加權(quán)將多個(gè)特征組合起來定義概率:

深度學(xué)習(xí)在文本簡化方面有什么最新應(yīng)用進(jìn)展?

其中α為5維權(quán)向量,對(duì)應(yīng)的5維特征f包括之前模型的概率估計(jì),以及四個(gè)和輸入句有關(guān)的示性函數(shù)特征(和輸入句存在一元詞、二元詞、三元詞匹配或調(diào)序):

深度學(xué)習(xí)在文本簡化方面有什么最新應(yīng)用進(jìn)展?

這樣的分?jǐn)?shù)定義在形式上仍然根據(jù)每一步i來分解,所以不需要修改使用動(dòng)態(tài)規(guī)劃或者柱搜索進(jìn)行解碼的過程。而調(diào)節(jié)權(quán)向量α的過程也可以像經(jīng)典統(tǒng)計(jì)機(jī)器翻譯一樣采用最小錯(cuò)誤率訓(xùn)練(minimum error rate training, MERT)(Och, 2003)來完成。

這個(gè)工作完成時(shí)間相對(duì)較早,并沒有使用最適合對(duì)序列數(shù)據(jù)建模的RNN結(jié)構(gòu)。同研究組今年的后續(xù)工作(Chopra et al., 2016)中,將解碼器由前饋神經(jīng)網(wǎng)絡(luò)替換為RNN,并改變了編碼器結(jié)構(gòu):同時(shí)為輸入詞及其所在位置學(xué)習(xí)embedding,并用卷積計(jì)算當(dāng)前位置上下文表示,作為解碼過程中注意力權(quán)重計(jì)算的依據(jù)。最后得到的架構(gòu)中不再需要前文所述的“抽取式調(diào)節(jié)”模塊,成為更純粹的端到端系統(tǒng);在Gigaword數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果也取得了更優(yōu)的性能。

基于神經(jīng)網(wǎng)絡(luò)的語句簡化與標(biāo)題生成后續(xù)也在不同方面取得進(jìn)展。目前生成類任務(wù)訓(xùn)練指標(biāo)主要為訓(xùn)練集數(shù)據(jù)的似然函數(shù),但生成類任務(wù)的常用自動(dòng)評(píng)價(jià)準(zhǔn)則是ROUGE或BLEU,本質(zhì)上大約相當(dāng)于系統(tǒng)生成結(jié)果和參考答案之間關(guān)于n-gram(連續(xù)若干個(gè)詞)的匹配程度。

近期有工作嘗試?yán)米钚』L(fēng)險(xiǎn)訓(xùn)練(minimum risk training, MRT)思想(Och, 2003; Smith and Eisner, 2006)改進(jìn)神經(jīng)機(jī)器翻譯,直接對(duì)BLEU值進(jìn)行優(yōu)化。這一策略在標(biāo)題生成任務(wù)上也同樣適用,只需用類似的方式去優(yōu)化訓(xùn)練集生成結(jié)果的ROUGE值(Ayana et al., 2016)。具體而言,用?(y',y)表示任務(wù)相關(guān)的實(shí)際損失函數(shù),如標(biāo)題生成任務(wù)中將其設(shè)為生成結(jié)果y'在參考答案y上計(jì)算的ROUGE值(這里表達(dá)為風(fēng)險(xiǎn)最小化問題,所以還需要取負(fù))。訓(xùn)練目標(biāo)是最小化期望風(fēng)險(xiǎn):

深度學(xué)習(xí)在文本簡化方面有什么最新應(yīng)用進(jìn)展?

最小化期望風(fēng)險(xiǎn)的一個(gè)好處在于:即使原本損失函數(shù)?(y',y)是定義在離散結(jié)構(gòu)上的離散函數(shù),訓(xùn)練目標(biāo)關(guān)于概率模型的參數(shù)也還是連續(xù)函數(shù),所以仍然可以求導(dǎo)進(jìn)行反向傳播更新參數(shù)。然而,窮舉所有可能產(chǎn)生的結(jié)果y’開銷過大,并不可行。所以只在上面取一個(gè)顯著抽樣S(x;θ)來近似整個(gè)概率分布,并引入一個(gè)較小的超參數(shù)?嘗試讓近似分布更為平滑:

深度學(xué)習(xí)在文本簡化方面有什么最新應(yīng)用進(jìn)展?

實(shí)際上,如果固定超參數(shù)?為1,這一近似計(jì)算最小化期望風(fēng)險(xiǎn)的做法就和強(qiáng)化學(xué)習(xí)早期工作中的REINFORCE算法(Williams, 1992)不謀而合。近期也有工作從REINFORCE算法出發(fā),對(duì)隨機(jī)初始化概率模型的做法進(jìn)行改進(jìn),提出首先根據(jù)正確答案用交叉熵?fù)p失學(xué)習(xí)若干輪、得到較好的初始概率模型,然后利用退火機(jī)制逐步將訓(xùn)練過程轉(zhuǎn)向REINFORCE算法(Ranzato et al., 2016)。實(shí)驗(yàn)表明,這些對(duì)訓(xùn)練目標(biāo)的改進(jìn)都可以顯著改善自動(dòng)評(píng)價(jià)指標(biāo)所度量的性能。

另一方面,原句中可能存在模型詞匯表中所沒有的詞(out of vocabulary, OOV),尤其是很多專有名詞,并不在生成詞匯的范圍V之中。實(shí)現(xiàn)上為了降低解碼復(fù)雜度,一般都會(huì)采用相對(duì)較小的詞匯表。如果系統(tǒng)不能輸出原句中的OOV詞、僅能用<UNK>等占位符代替,顯然有可能會(huì)造成關(guān)鍵信息損失。

受指針網(wǎng)(pointer networks,一種輸出序列中每個(gè)元素分別指向輸入序列中元素的編碼器-解碼器網(wǎng)絡(luò))(Vinyals et al., 2015)啟發(fā),近期已有多個(gè)工作都不約而同地考慮了一種解決思路:在解碼的過程中以一部分概率根據(jù)當(dāng)前狀態(tài)來生成、一部分概率直接從原句中抽取(Gu et al., 2016; Gulcehre et al., 2016; Nallapati et al., 2016)。

另一方面,如何利用其它任務(wù)數(shù)據(jù)作為輔助性監(jiān)督信息也是一個(gè)正在被考慮的方向。例如今年有工作在同一個(gè)多層雙向RNN網(wǎng)絡(luò)中進(jìn)行語句壓縮、閱讀視線預(yù)測(cè)(gaze prediction)、組合范疇文法(combinatory category grammar, CCG)超標(biāo)注(supertagging)的多任務(wù)學(xué)習(xí),使得語句壓縮任務(wù)的性能得到改善(Klerke et al., 2016)。這幾個(gè)任務(wù)在直覺上具有一定相關(guān)性,有機(jī)會(huì)起到相互強(qiáng)化的效果。

上面所介紹的架構(gòu)都屬于直接對(duì)條件概率P(y│x;θ)建模的判別式模型范疇。近期也有利用深層產(chǎn)生式模型來對(duì)語句壓縮任務(wù)建模的工作。常見神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中,自編碼器被廣泛應(yīng)用于表示學(xué)習(xí)和降維,將類似思想對(duì)文本數(shù)據(jù)建模自然也可能學(xué)習(xí)到更緊湊的表示。最近就有嘗試在變分自編碼器(variational auto-encoder, VAE)架構(gòu)下得到語句壓縮模型的工作(Miao and Blunsom, 2016)。關(guān)于一般VAE模型的詳細(xì)信息本文不予贅述,感興趣的讀者可參考相關(guān)教程 (Doersch 2016)。原始的VAE可以將輸入數(shù)據(jù)壓縮到低維表示,而這個(gè)工作類比提出將輸入的長句壓縮為更緊湊的短句,得到如圖4所示的自編碼壓縮模型。

深度學(xué)習(xí)在文本簡化方面有什么最新應(yīng)用進(jìn)展?

圖4 自編碼語句壓縮模型

用s和c分別記原始輸入句和壓縮句,整個(gè)模型包含兩部分:

  • (1) 壓縮模型(圖4左下部分虛線框,由編碼器連接壓縮器組成)為以s作輸入、c作輸出的推斷網(wǎng)絡(luò)qφ (c│s)

  • (2) 重構(gòu)模型(圖4右上部分虛線框,由壓縮器連接解碼器組成)為基于壓縮表示c重構(gòu)原始輸入句s的生成網(wǎng)絡(luò)pθ (s│c)。

為了讓壓縮句中僅使用原句中出現(xiàn)過的詞,文中選用了指針網(wǎng)(Vinyals et al., 2015)作為壓縮模型qφ (c│s),同時(shí)將編碼器設(shè)計(jì)為雙向LSTM-RNN,壓縮器使用帶有注意機(jī)制的單向LSTM-RNN。而重構(gòu)模型pθ (s│c)則直接使用經(jīng)典的序列到序列結(jié)構(gòu),即帶注意機(jī)制的RNN,以壓縮器端的c作輸入,從解碼器端產(chǎn)生原句s。

模型訓(xùn)練過程中需要對(duì)兩組網(wǎng)絡(luò)參數(shù)φ和θ進(jìn)行更新。與最原始的VAE一樣,只需要無標(biāo)記數(shù)據(jù)作為輸入,使用變分推斷來優(yōu)化數(shù)據(jù)對(duì)數(shù)似然的一個(gè)下界L:

深度學(xué)習(xí)在文本簡化方面有什么最新應(yīng)用進(jìn)展?

其中需要計(jì)算變分分布qφ (c│s)和一個(gè)先驗(yàn)語言模型p(c)的KL散度。本文討論的任務(wù)是語句壓縮,需要同時(shí)保證壓縮句盡可能流暢和簡潔,所以預(yù)訓(xùn)練了一個(gè)偏好短句的語言模型作為p(c)。

由于不易對(duì)從變分分布q中隨機(jī)產(chǎn)生的值進(jìn)行反向傳播,原始VAE推斷過程使用重參數(shù)化(reparameterization)技巧,將產(chǎn)生樣本的隨機(jī)性全部轉(zhuǎn)移到一個(gè)輔助的噪聲隨機(jī)變量中,保持和參數(shù)直接相關(guān)的部分相對(duì)固定,從而可以通過對(duì)這些非隨機(jī)部分求導(dǎo)進(jìn)行反向傳播參數(shù)更新。但自編碼語句壓縮模型處理對(duì)象為離散結(jié)構(gòu)的文本,重參數(shù)化技巧不能直接使用。因此文中使用了前面提到的REINFORCE算法,根據(jù)一組隨機(jī)采樣的誤差進(jìn)行反向傳播,近似最小化期望損失,并引入偏置項(xiàng)來降低梯度估計(jì)的方差。

VAE變分推斷進(jìn)行模型訓(xùn)練的效率十分依賴推斷網(wǎng)絡(luò)q(對(duì)應(yīng)這個(gè)工作中的壓縮模型部分)的梯度估計(jì)質(zhì)量。為了在訓(xùn)練過程初期就能引導(dǎo)壓縮模型產(chǎn)生較好的壓縮結(jié)果,文中進(jìn)一步提出另一個(gè)模型,稱為強(qiáng)制注意力語句壓縮(forced-attention sentence compression;圖5),強(qiáng)制讓注意力的學(xué)習(xí)和額外的有標(biāo)記語句壓縮數(shù)據(jù)更吻合。本質(zhì)上是通過有監(jiān)督訓(xùn)練來實(shí)現(xiàn)前面提到的一種語句簡化策略:以一部分概率根據(jù)指針網(wǎng)直接從原句中抽詞(對(duì)應(yīng)圖5中的α)、一部分概率根據(jù)當(dāng)前狀態(tài)來生成整個(gè)詞匯表V中可能的詞(對(duì)應(yīng)圖5中的β)。這樣就可以引入語句簡化任務(wù)的有標(biāo)記平行語料,進(jìn)行半監(jiān)督學(xué)習(xí)。

深度學(xué)習(xí)在文本簡化方面有什么最新應(yīng)用進(jìn)展?

圖5 強(qiáng)制注意力語句壓縮

局限與展望

需要指出的是,對(duì)于任何涉及自然語言生成的任務(wù)而言,像ROUGE、BLEU那樣基于局部單元匹配的自動(dòng)指標(biāo)并不能完全取代基于語義理解的人工評(píng)價(jià)。目前基于神經(jīng)網(wǎng)絡(luò)的相關(guān)工作幾乎全部缺少人工對(duì)語義完整性、流暢度等關(guān)鍵指標(biāo)的評(píng)分(這一點(diǎn)在相關(guān)論文的審稿環(huán)節(jié)理應(yīng)有人指出;也有可能競標(biāo)這類論文的審稿人主要來自對(duì)神經(jīng)網(wǎng)絡(luò)了解甚于自然語言生成的研究人員)。所以不同方法的實(shí)際性能差異究竟有多少,其實(shí)尚不明確。

細(xì)心的讀者可能已經(jīng)注意到,雖然本文介紹的相關(guān)文獻(xiàn)標(biāo)題中有些包含“語句摘要(sentence summarization)”甚至“文本摘要(text summarization)”這樣的字眼,但我們?cè)诒疚牡拿枋鲋猩形撮_始使用“摘要”一詞。因?yàn)槟壳疤岢龅姆椒ù蠖鄡H能夠應(yīng)用于將一兩句話作為輸入的情形,實(shí)際上只是語句級(jí)別的壓縮或簡化。

語句簡化的最終目標(biāo)仍然還是對(duì)更大范圍內(nèi)的信息摘要,比如用幾句話去概況整篇文檔中的主要內(nèi)容。目前的神經(jīng)網(wǎng)絡(luò)方法大多以短文本(如句子、微博)作為輸入,鮮有直接對(duì)文檔結(jié)構(gòu)進(jìn)行編碼的架構(gòu),最終解碼也只能得到標(biāo)題長度的信息,尚不足以作為整篇文檔的內(nèi)容總結(jié)。對(duì)于自動(dòng)標(biāo)題生成而言,是否只需要去利用每篇文檔最開始一兩句話中的信息,也仍有待商榷;這個(gè)問題在非新聞?wù)Z料上可能更為明顯。另一方面,對(duì)本身已經(jīng)較短的文本再做進(jìn)一步簡化的實(shí)用價(jià)值,可能也無法和文檔信息摘要相提并論。

關(guān)于文檔摘要任務(wù),現(xiàn)有的基于神經(jīng)網(wǎng)絡(luò)的模型仍以抽取式摘要(即從輸入文檔中直接抽取若干關(guān)鍵句作為摘要)居多,此時(shí)神經(jīng)網(wǎng)絡(luò)模型起到的作用也僅限于對(duì)文檔中每個(gè)句子進(jìn)行估分、排序,這和從文檔到摘要進(jìn)行端到端訓(xùn)練、直接逐詞“生成”摘要的理想目標(biāo)仍有距離。經(jīng)典序列到序列架構(gòu)在語句簡化、標(biāo)題生成任務(wù)可以取得不錯(cuò)的效果,但在文檔摘要任務(wù)上還沒有出現(xiàn)較為成功的應(yīng)用。一個(gè)可能的原因在于整篇文檔篇幅過長,不適合直接套用經(jīng)典序列架構(gòu)來編碼和解碼。

因此,對(duì)句子和詞進(jìn)行分級(jí)層次化編碼(Li et al., 2015)可能是一種可以嘗試的路線。今年提出的一種端到端神經(jīng)摘要模型(Cheng and Lapata, 2016)中,將文檔視為語句的序列,用各語句的編碼作為編碼器RNN中每個(gè)單元的輸入,而語句的編碼由一個(gè)CNN通過卷積和池化操作將詞匯級(jí)信息匯總得到(圖6)。

深度學(xué)習(xí)在文本簡化方面有什么最新應(yīng)用進(jìn)展?

圖6 CNN句子編碼作為序列到序列模型輸入(Cheng and Lapata, 2016)

這樣可以直接實(shí)現(xiàn)句子級(jí)抽取,比如文中的做法是用一個(gè)多層感知機(jī)根據(jù)當(dāng)前狀態(tài)來估計(jì)是否抽取該句的概率(pt-1表示前一句應(yīng)當(dāng)被抽取的概率):

深度學(xué)習(xí)在文本簡化方面有什么最新應(yīng)用進(jìn)展?

為了進(jìn)一步能夠通過原文詞匯重組構(gòu)建和生成“非抽取式”摘要,文中提出一種層次化注意力架構(gòu),利用句子級(jí)的注意力權(quán)值作為輸入來計(jì)算句子中每一個(gè)詞的注意力權(quán)值。

深度學(xué)習(xí)在文本簡化方面有什么最新應(yīng)用進(jìn)展?

圖7 詞匯級(jí)抽取(Cheng and Lapata, 2016)

這個(gè)工作在句子抽取上能取得一定效果,但詞匯級(jí)生成摘要仍有待提高,不論在自動(dòng)評(píng)價(jià)和人工評(píng)價(jià)結(jié)果上都還不夠理想。

而另一個(gè)側(cè)重于標(biāo)題生成的工作(Nallapati et al., 2016)中也提出了一種層次化編碼思想:使用兩級(jí)雙向RNN分別刻畫詞和句子的序列結(jié)構(gòu),解碼過程計(jì)算每個(gè)詞的注意力權(quán)值時(shí),用所在句子的注意力權(quán)值予以加權(quán)(reweight)。但很遺憾這樣的設(shè)計(jì)暫時(shí)也并沒有使得生成多句摘要的任務(wù)得到性能上的提升。

總而言之,目前的編碼器-解碼器架構(gòu)在短文本簡化任務(wù)上取得了一定進(jìn)展?,F(xiàn)在應(yīng)用于文本簡化的編碼器-解碼器架構(gòu)設(shè)計(jì)也比較多樣,可以為各種不同需求下文本簡化的后續(xù)研究工作提供多種可能的參考思路。然而,深度學(xué)習(xí)方法在文檔摘要任務(wù)上仍存在巨大的提升空間。如果期望使用完全端到端的方式訓(xùn)練文檔級(jí)摘要模型,可能還需要在編碼器和解碼器的設(shè)計(jì)上產(chǎn)生一些新的突破,使得模型可以更好地表示和生成結(jié)構(gòu)性更明顯、篇幅更長的內(nèi)容。

雷鋒網(wǎng)注:本文由深度學(xué)習(xí)大講堂授權(quán)雷鋒網(wǎng)發(fā)布,如需轉(zhuǎn)載請(qǐng)注明作者和出處,不得刪減內(nèi)容。

雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。

深度學(xué)習(xí)在文本簡化方面有什么最新應(yīng)用進(jìn)展?

分享:
相關(guān)文章

專欄作者

高質(zhì)量原創(chuàng)內(nèi)容平臺(tái),學(xué)術(shù)界、工業(yè)界一線專家撰稿,致力于推送人工智能與深度學(xué)習(xí)最新技術(shù)、產(chǎn)品和活動(dòng)。
當(dāng)月熱門文章
最新文章
請(qǐng)?zhí)顚懮暾?qǐng)人資料
姓名
電話
郵箱
微信號(hào)
作品鏈接
個(gè)人簡介
為了您的賬戶安全,請(qǐng)驗(yàn)證郵箱
您的郵箱還未驗(yàn)證,完成可獲20積分喲!
請(qǐng)驗(yàn)證您的郵箱
立即驗(yàn)證
完善賬號(hào)信息
您的賬號(hào)已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說