Pointer Network (Vinyals et al., 2015)
Pointer Network針對(duì)原seq2seq模型的輸出序列受限于固定大小的問(wèn)題而提出喷兼,該框架期望decoder的輸出長(zhǎng)度隨encoder模型的輸入長(zhǎng)度變化而變化庆揩,本質(zhì)上是對(duì)基于attention機(jī)制的seq2seq模型的簡(jiǎn)化梁钾,decoder的每一個(gè)時(shí)間步將輸出input sequence各token的概率分布旦装,選擇概率最高的輸出泥栖,直至輸出<EOS>幸斥。
設(shè)輸入序列為峭拘,輸出序列為俊庇,此處的表示輸出序列的長(zhǎng)度與輸入序列相關(guān)。將encoder部分的隱藏層狀態(tài)表示為鸡挠,decoder部分的隱藏層狀態(tài)表示為辉饱。
Pointer Network在第個(gè)位置的輸出計(jì)算如下:
其中、拣展、均為模型需要學(xué)習(xí)的參數(shù)彭沼,第一個(gè)式子則是attention機(jī)制中計(jì)算decoder第i個(gè)位置的隱藏狀態(tài)與encoder輸入序列各位置隱藏狀態(tài)的關(guān)聯(lián),對(duì)應(yīng)輸入序列中各token的分值备埃,各分值經(jīng)過(guò)softmax歸一化操作得到的輸出視為輸入序列各token的概率分布溜腐,該步將選擇概率最大的token作為輸出。當(dāng)然此時(shí)的輸入序列與原seq2seq模型的不同在于需額外添加一個(gè)<EOS>的token瓜喇。
Get To The Point: Summarization with Pointer-Generator Networks (See et al., 2017)
Pointer-Generator Networks可以視為一個(gè)基于attention機(jī)制的seq2seq模型和pointer network的混合體,既能從給定詞匯表中生成新token歉糜,又能從原輸入序列中拷貝舊token乘寒,其框架如下圖所示。
圖中Source Text中各token 經(jīng)過(guò)一個(gè)單層雙向LSTM將依次得到Encoder Hidden States序列匪补,各隱藏層狀態(tài)表示為伞辛。在每一個(gè)時(shí)間步烂翰,decoder將根據(jù)上一個(gè)預(yù)測(cè)得到的單詞的embedding經(jīng)一個(gè)單層雙向LSTM得到Decoder Hidden State ,此時(shí)計(jì)算基于的各的Attention Distribution 計(jì)算如下:
其中蚤氏,甘耿、、竿滨、均為模型要學(xué)習(xí)的參數(shù)佳恬。接下來(lái)Attention Distribution將被用于生成當(dāng)前時(shí)間步的上下文向量,繼而同Decoder Hidden State 拼接起來(lái)經(jīng)由兩個(gè)線性層產(chǎn)生基于輸出序列詞典的Vocabulary Distribution :
其中于游,毁葱、、贰剥、均為模型需要學(xué)習(xí)的參數(shù)倾剿。
上述過(guò)程為傳統(tǒng)基于attention機(jī)制的seq2seq模型的計(jì)算過(guò)程。接下來(lái)為了在輸出中可以拷貝輸入序列中的token蚌成,將根據(jù)上下文向量前痘、Decoder Hidden State 和Decoder input 計(jì)算生成概率:
其中、担忧、芹缔、均為模型要學(xué)習(xí)的參數(shù)。的作用在于調(diào)節(jié)生成的單詞是來(lái)自于根據(jù)在輸出序列的詞典中的采樣還是來(lái)自于根據(jù)在輸入序列的token中的采樣涵妥,最終的token分布表示如下:
其中表示輸入序列中的token 乖菱,這里會(huì)將在輸入序列中可能出現(xiàn)多次的的注意力分布相加。當(dāng)未在輸出序列的詞典中出現(xiàn)時(shí)蓬网,窒所;類似地,當(dāng)未出現(xiàn)在輸入序列中時(shí)帆锋,.
總結(jié)
Pointer-Generator Networks在基于attention機(jī)制的seq2seq模型中融合copy機(jī)制吵取,并應(yīng)用于文本摘要任務(wù)中,實(shí)則是基于上下文向量锯厢、decoder input以及decoder hidden state計(jì)算一個(gè)生成單詞的概率p皮官,對(duì)應(yīng)拷貝單詞的概率則為1-p,根據(jù)概率綜合encoder的注意力分布和decoder的output分布得到一個(gè)綜合的基于input token和output vocabulary的token分布实辑。此外本文關(guān)注的是多語(yǔ)句的摘要生成捺氢,因此額外考慮了生成摘要時(shí)的重復(fù)問(wèn)題,在計(jì)算attention得分時(shí)剪撬,除了考慮decoder hidden state和encoder hidden state外摄乒,還額外加入之前生成token的attention分布總和一項(xiàng),并在最終loss的計(jì)算上額外添加了一個(gè)名為 coverage loss的懲罰項(xiàng)(該部分上文尚未細(xì)述),以避免摘要生成時(shí)的重復(fù)問(wèn)題馍佑。