RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于VQVAE的長文本生成 利用離散code來建模文本篇章結(jié)構(gòu)的方法

深度學(xué)習(xí)自然語言處理 ? 來源:瀾舟科技 楊二光 ? 作者:瀾舟科技 楊二光 ? 2022-12-01 17:07 ? 次閱讀

寫在前面

近年來,多個大規(guī)模預(yù)訓(xùn)練語言模型 GPT、BART、T5 等被提出,這些預(yù)訓(xùn)練模型在自動文摘等多個文本生成任務(wù)上顯著優(yōu)于非預(yù)訓(xùn)練語言模型。但對于開放式生成任務(wù),如故事生成、新聞生成等,其輸入信息有限,而要求輸出內(nèi)容豐富,經(jīng)常需要生成多個句子或段落,在這些任務(wù)上預(yù)訓(xùn)練語言模型依然存在連貫性較差、缺乏常識等問題。本次與大家分享一篇建模長文本篇章結(jié)構(gòu)的工作,用以提升生成文本的連貫性。

論文題目

《DISCODVT: Generating Long Text with Discourse-Aware Discrete Variational Transformer》

論文作者

Haozhe Ji, Minlie Huang

論文單位

清華大學(xué)

論文鏈接

https://github.com/cdjhz/DiscoDVT,EMNP2021/

1

動機(jī)(Motivation)

文本的全局連貫性一般表現(xiàn)為:

內(nèi)容表達(dá)的流暢度;

內(nèi)容之間的自然過渡。

如下圖示例文本中的話語關(guān)系詞(after, then, and, but 等),這些篇章關(guān)系詞將連續(xù)的文本片段(text span)進(jìn)行合理安排,從而形成結(jié)構(gòu)、邏輯較好的文本。雖然預(yù)訓(xùn)練語言模型在關(guān)聯(lián)與主題相關(guān)的內(nèi)容時表現(xiàn)較好,但用好的篇章結(jié)構(gòu)來安排內(nèi)容仍然存在很多挑戰(zhàn)。針對此問題,研究者提出建模文本內(nèi)部片段與片段之間的篇章關(guān)系,利用篇章結(jié)構(gòu)指導(dǎo)生成,以期能夠改進(jìn)生成文本的連貫性。

19a5cdd6-6cc3-11ed-8abf-dac502259ad0.png

圖 1 EDU片段和篇章關(guān)系示例

2

方法(Method)

任務(wù)定義

首先,長文本生成的任務(wù)可以定義為:給定輸入 ,模型自動生成的過程,即。 基于以上的討論,該工作基于 VQVAE 的方法提出 DiscoDVT(Discourse-aware Discrete Variational Transformer),首先引入一個離散code序列,學(xué)習(xí)文本中每個局部文本片段(span)的高層次結(jié)構(gòu),其中每一個從大小為的 code vocabulary 中得到。隨后作者進(jìn)一步提出一個篇章關(guān)系預(yù)測目標(biāo),使離散 code 能夠捕獲相鄰文本片段之間顯式的篇章關(guān)系,比如圖 1 中的篇章關(guān)系,after,then 等。 整個方法包括后驗(yàn)網(wǎng)絡(luò)、生成器和先驗(yàn)網(wǎng)絡(luò),使用類似 VAE 的學(xué)習(xí)目標(biāo),該方法通過最大化 ELBO 來優(yōu)化。 19c45ac6-6cc3-11ed-8abf-dac502259ad0.png ? 訓(xùn)練過程分為兩個階段:

第一階段聯(lián)合訓(xùn)練后驗(yàn)網(wǎng)絡(luò)和生成器,使后驗(yàn)網(wǎng)絡(luò)根據(jù)推導(dǎo)出離散的code序列,其中要求能夠?qū)W習(xí)到的高層次結(jié)構(gòu),生成器則根據(jù)和 code 序列重構(gòu);

第二階段訓(xùn)練先驗(yàn)網(wǎng)絡(luò),使其能夠根據(jù),預(yù)測離散 code 序列。

兩階段訓(xùn)練完成之后,在生成階段,先驗(yàn)網(wǎng)絡(luò)首先根據(jù)預(yù)測離散 code 序列,隨后用于指導(dǎo)生成文本,中帶有篇章結(jié)構(gòu)信息,因此能夠提升生成文本的連貫性。

學(xué)習(xí)離散隱變量

19dbfe56-6cc3-11ed-8abf-dac502259ad0.png

圖 2 模型整體框架 這部分主要解決如何學(xué)習(xí)隱變量 code 序列,使其能夠保留文本的篇章結(jié)構(gòu)。模型框架如上圖所示,在編碼階段,首先使用編碼器編碼得到語境化的表示,隨后使用 CNN 和 Discrete Variational Bottleneck 技術(shù)得到離散 code 序列;在解碼階段,首先使用 transposed cnn 將 code embedding 序列的長度重新調(diào)整到文本的長度,然后添加到解碼器的嵌入層中進(jìn)行 step-wise 的控制,重構(gòu)生成。重構(gòu)生成的優(yōu)化目標(biāo)能夠使離散 code 序列保存文本中高層次的結(jié)構(gòu)信息。 具體計(jì)算過程如下: 定義 code vocabulary 的大小為,以及隨機(jī)初始化的 code embedding matrix 為:

首先使用 Bart encoder 編碼得到語境化的表;

為了抽象出與文本的全局結(jié)構(gòu)相對應(yīng)的 high-level feature, 使用多層 CNN 對進(jìn)行卷積操作,得到 span-level 的表示;

隨后使用 Discrete Variational Bottleneck 技術(shù)獲得離散 code。具體地,將 CNN 的輸出線性映射到離散空間:

訓(xùn)練階段通過 gumbel-softmax 方法采樣得到 soft categorical distribution : 隨后 categorical distribution 與相乘得到 code embedding 。 在推理階段則通過 argmax 方式得到離散 code 序列:

為了使每個 code 能夠指導(dǎo)局部文本的生成,首先利用 Transposed CNN 網(wǎng)絡(luò)(與步驟2中使用的CNN對稱),將code embedding 重新調(diào)整到。(這里類似上采樣的操作,將離散的 code embedding 序列的長度,恢復(fù)到原始文本的長度,可以看到的長度恢復(fù)為。)之后,與解碼器輸入的 token embedding 相加用于重構(gòu)文本。重構(gòu)優(yōu)化目標(biāo)如下:

篇章關(guān)系建模 為了將文本的篇章結(jié)構(gòu)抽象為 latent representation,作者設(shè)計(jì)了一個輔助的篇章關(guān)系感知目標(biāo),將篇章關(guān)系嵌入到離散化的 code 中。使用 bi-affine 建模相鄰 EDU 片段和的篇章關(guān)系,使得和EDU 片段對應(yīng)的 latent representation 能夠預(yù)測出兩者之間的篇章關(guān)系。 最大化下述的對數(shù)概率: 其中,和分別表示第個和個EDU 片段的隱表示(latent representation)。 正則化隱變量 此外,作者在前期的實(shí)驗(yàn)中發(fā)現(xiàn)模型傾向于僅利用這個 code vocabulary 中少量的離散 code,這種現(xiàn)象會損害離散 code 的表達(dá)能力。為了鼓勵模型盡可能等概率的利用離散 code,作者還引入基于熵的正則方法。
訓(xùn)練目標(biāo) 在第一階段中,聯(lián)合上述的幾個優(yōu)化目標(biāo)來訓(xùn)練后驗(yàn)網(wǎng)絡(luò)和生成器,總的優(yōu)化目標(biāo)為: 離散 code 學(xué)習(xí)完成之后,作者使用額外的一個基于編碼-解碼的先驗(yàn)網(wǎng)絡(luò)來學(xué)習(xí)給定條件下離散 code 的先驗(yàn)分布,優(yōu)化目標(biāo)如下: 這里因?yàn)殡x散 code 已經(jīng)學(xué)習(xí)完成,得到后驗(yàn)網(wǎng)絡(luò),對于原始的數(shù)據(jù)集 中的每一個,可以通過后驗(yàn)網(wǎng)絡(luò)得到離散 code 序列,從而形成一個數(shù)據(jù)集,該數(shù)據(jù)集用于訓(xùn)練先驗(yàn)網(wǎng)絡(luò)。

3

實(shí)驗(yàn)

數(shù)據(jù)集

作者在公開的故事生成數(shù)據(jù)集 WritingPrompts 和 Wikiplots 數(shù)據(jù)集上評測所提方法,數(shù)據(jù)統(tǒng)計(jì)信息如下表所示。

1a0d0528-6cc3-11ed-8abf-dac502259ad0.png

baseline 模型對比

對比的 baseline 模型如下:

Seq2Seq:它是采用與 Bart 相同框架的編碼-解碼模型,沒有經(jīng)過預(yù)訓(xùn)練;

Bart:采用預(yù)訓(xùn)練 Bart 模型,并在下游數(shù)據(jù)集上對其微調(diào);

Bart-LM:同樣采用預(yù)訓(xùn)練 Bart 模型,先使用 bookcorpus 數(shù)據(jù)對其繼續(xù)訓(xùn)練,隨后在下游數(shù)據(jù)集進(jìn)行微調(diào);

BART-CVAE:基于 CVAE 的框架,引入連續(xù)隱變量到 Bart 模型,將隱變量加到解碼器的 embedding 層指導(dǎo)生成文本;

Aristotelian Rescoring:它采用內(nèi)容規(guī)劃的方法,給定輸入,它首先生成一個基于SRL 的情節(jié),然后根據(jù)情節(jié)打分模型修改情節(jié),最后基于修改的情節(jié)生成文本。

結(jié)果分析

下表展示了所有模型在兩個數(shù)據(jù)集的自動評測結(jié)果。

1a3d7b18-6cc3-11ed-8abf-dac502259ad0.png

可以看到,在兩個數(shù)據(jù)集上,在基于參考的指標(biāo)上,DiscoDVT 生成的文本獲得最高的n-gram 重疊度(BLEU)和相似度(MSJ)。多樣性方面,DiscoDVT 在 distinct 指標(biāo)上略微低于 BART-CVAE,這里作者進(jìn)一步檢查了 BART-CVAE 的生成文本,發(fā)現(xiàn)BART-CVAE 會生成不出現(xiàn)在參考文本中的虛假單詞,從而提高了多樣性。在重復(fù)度方面,由于 DiscoDVT 使用了 step-wise 的控制,因此 rep-有較大幅度領(lǐng)先。 基于規(guī)劃的方法 AR 可以獲得較高的多樣性,但在基于參考的指標(biāo)上 BLEU、MSJ、rB 上的結(jié)果較低,這可能是多階段方法中的暴露偏差,對生成質(zhì)量有負(fù)面影響。

1a682fa2-6cc3-11ed-8abf-dac502259ad0.png

人工評測結(jié)果顯示,在生成文本的連貫性和信息度方面,大多數(shù) DiscoDVT 生成文本的質(zhì)量要優(yōu)于 BART, BART-LM 和 BART-CAVE baseline。

1aaf3fc8-6cc3-11ed-8abf-dac502259ad0.png

如上圖所示,作者進(jìn)一步對學(xué)習(xí)的 code 進(jìn)行分析,可以發(fā)現(xiàn)離散的 code 確實(shí)能夠?qū)W習(xí)到篇章關(guān)系,比如 and, so, when, however 等。

1ace09b2-6cc3-11ed-8abf-dac502259ad0.png

作者利用 discourse marker classifification 任務(wù)評測生成的篇章關(guān)系詞是否正確,如上圖所示。在讓步、因果、時序和連接 4 種篇章關(guān)系上,DiscoDVT 生成文本中的篇章關(guān)系準(zhǔn)確率最高,說明 DiscoDVT 生成的文本在篇章關(guān)系上質(zhì)量更好。當(dāng)去掉篇章關(guān)系建模的優(yōu)化目標(biāo),生成的篇章關(guān)系準(zhǔn)確率有明顯下降,從而證明了篇章關(guān)系建模方法的有效性。

4

結(jié)語

本次分享展示了一種利用離散 code 來建模文本篇章結(jié)構(gòu)的方法。該方法引入一個離散 code 序列學(xué)習(xí)文本的篇章結(jié)構(gòu),隨后采用 step-wise 解碼指導(dǎo)生成文本。為了建模顯式的篇章關(guān)系,作者進(jìn)一步提出了篇章關(guān)系建模優(yōu)化目標(biāo)。自動評測和人工評測結(jié)果證明了該方法的有效性。對于 code 的分析實(shí)驗(yàn)驗(yàn)證了離散 code 確實(shí)能夠保留篇章關(guān)系的信息。

文本連貫性是自然語言生成的重要課題,目前改進(jìn)的方法包括基于規(guī)劃、建模高層次結(jié)構(gòu)等方面,主要流程是首先生成文本大綱,再根據(jù)大綱生成完整的文本,其中大綱可以由關(guān)鍵詞序列或者事件序列構(gòu)成。整體來看,長文本生成中的篇章結(jié)構(gòu)建模還仍不夠成熟,存在諸多問題,期待未來有更多的工作取得改進(jìn)。

作者來自:瀾舟科技楊二光 在此特別鳴謝!

北京交通大學(xué)自然語言處理實(shí)驗(yàn)室四年級博士生,導(dǎo)師為張玉潔教授,研究方向?yàn)榭煽匚谋旧?、?fù)述生成、故事生成。在瀾舟科技實(shí)習(xí)期間主要從事長文本生成、營銷文案生成等課題。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Code
    +關(guān)注

    關(guān)注

    0

    文章

    69

    瀏覽量

    15393
  • GPT
    GPT
    +關(guān)注

    關(guān)注

    0

    文章

    352

    瀏覽量

    15342
  • cnn
    cnn
    +關(guān)注

    關(guān)注

    3

    文章

    352

    瀏覽量

    22203
  • nlp
    nlp
    +關(guān)注

    關(guān)注

    1

    文章

    488

    瀏覽量

    22033
  • edu
    edu
    +關(guān)注

    關(guān)注

    0

    文章

    14

    瀏覽量

    1745

原文標(biāo)題:基于 VQVAE 的長文本生成

文章出處:【微信號:zenRRan,微信公眾號:深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    如何構(gòu)建文本生成器?如何實(shí)現(xiàn)馬爾可夫鏈以實(shí)現(xiàn)更快的預(yù)測模型

    文本生成器簡介文本生成在各個行業(yè)都很受歡迎,特別是在移動、應(yīng)用和數(shù)據(jù)科學(xué)領(lǐng)域。甚至新聞界也使用文本生成輔助寫作過程。在日常生活中都會接觸到一些文本
    發(fā)表于 11-22 15:06

    三菱Q系列PLC編程手冊(結(jié)構(gòu)文本篇

    Q系列PLC編程手冊(結(jié)構(gòu)文本篇
    發(fā)表于 03-07 18:00 ?38次下載

    KUKA-C4機(jī)器人如何導(dǎo)出/導(dǎo)入長文本

    字段文字。 長文本可導(dǎo)出到一個 U 盤或機(jī)器人數(shù)據(jù)窗口的網(wǎng)絡(luò)存檔路徑欄位中所確定的目錄里。相同的目錄也作為導(dǎo)入來源使用。 僅限于導(dǎo)入: 1.長文本名稱在 TXT 或 CSV 文件中。 2.文件的結(jié)構(gòu)確保文件可導(dǎo)入。 從
    的頭像 發(fā)表于 12-23 17:11 ?4486次閱讀

    如何優(yōu)雅地使用bert處理長文本

    這是今年清華大學(xué)及阿里巴巴發(fā)表在NIPS 2020上的一篇論文《CogLTX: Applying BERT to Long Texts》,介紹了如何優(yōu)雅地使用bert處理長文本。作者同時開源了
    的頭像 發(fā)表于 12-26 09:17 ?8763次閱讀
    如何優(yōu)雅地使用bert處理<b class='flag-5'>長文本</b>

    給KUKA-C4機(jī)器人導(dǎo)入長文本方法

    字段文字。 長文本可導(dǎo)出到一個 U 盤或機(jī)器人數(shù)據(jù)窗口的網(wǎng)絡(luò)存檔路徑欄位中所確定的目錄里。相同的目錄也作為導(dǎo)入來源使用。 僅限于導(dǎo)入: 1.長文本名稱在 TXT 或 CSV 文件中。 2.文件的結(jié)構(gòu)確保文件可導(dǎo)入。 從
    的頭像 發(fā)表于 02-09 13:49 ?1929次閱讀
    給KUKA-C4機(jī)器人導(dǎo)入<b class='flag-5'>長文本</b><b class='flag-5'>方法</b>

    面向搜索的微博短文本語義建模方法綜述

    面向搜索的微博短文本語義建模方法綜述
    發(fā)表于 06-24 14:30 ?3次下載

    文本生成任務(wù)中引入編輯方法文本生成

    4. FELIX FELIX是Google Research在“FELIX: Flexible Text Editing Through Tagging and Insertion”一文中提出的文本生成
    的頭像 發(fā)表于 07-23 16:56 ?1729次閱讀
    <b class='flag-5'>文本生成</b>任務(wù)中引入編輯<b class='flag-5'>方法</b>的<b class='flag-5'>文本生成</b>

    受控文本生成模型的一般架構(gòu)及故事生成任務(wù)等方面的具體應(yīng)用

    來自:哈工大訊飛聯(lián)合實(shí)驗(yàn)室 本期導(dǎo)讀:本文是對受控文本生成任務(wù)的一個簡單的介紹。首先,本文介紹了受控文本生成模型的一般架構(gòu),點(diǎn)明了受控文本生成模型的特點(diǎn)。然后,本文介紹了受控文本生成
    的頭像 發(fā)表于 10-13 09:46 ?3525次閱讀
    受控<b class='flag-5'>文本生成</b>模型的一般架構(gòu)及故事<b class='flag-5'>生成</b>任務(wù)等方面的具體應(yīng)用

    基于GPT-2進(jìn)行文本生成

    文本生成是自然語言處理中一個重要的研究領(lǐng)域,具有廣闊的應(yīng)用前景。國內(nèi)外已經(jīng)有諸如Automated Insights、Narrative Science以及“小南”機(jī)器人和“小明”機(jī)器人等文本生成
    的頭像 發(fā)表于 04-13 08:35 ?4756次閱讀

    KUKA-C4機(jī)器人導(dǎo)出/導(dǎo)入長文本

    長文本導(dǎo)出中生成的文件,已自動具有相應(yīng)結(jié)構(gòu),確保其可被重新導(dǎo)入。如果應(yīng)手動將名稱寫入一個文件,則建議首先在機(jī)器人控制系統(tǒng)中分配幾個虛擬長文本,然后導(dǎo)出并將名稱寫入文件。
    的頭像 發(fā)表于 07-26 15:55 ?2510次閱讀

    MELSEC Q/L結(jié)構(gòu)體編程手冊(結(jié)構(gòu)文本篇)

    MELSEC-Q/L結(jié)構(gòu)體編程手冊(結(jié)構(gòu)文本篇) 產(chǎn)品規(guī)格書
    發(fā)表于 08-25 14:33 ?2次下載
    MELSEC Q/L<b class='flag-5'>結(jié)構(gòu)</b>體編程手冊(<b class='flag-5'>結(jié)構(gòu)</b>化<b class='flag-5'>文本篇</b>)

    ETH提出RecurrentGPT實(shí)現(xiàn)交互式超長文本生成

    RecurrentGPT 則另辟蹊徑,是利用大語言模型進(jìn)行交互式長文本生成的首個成功實(shí)踐。它利用 ChatGPT 等大語言模型理解自然語言指令的能力,通過自然語言模擬了循環(huán)神經(jīng)網(wǎng)絡(luò)(RNNs)的循環(huán)計(jì)算機(jī)制。
    的頭像 發(fā)表于 05-29 14:34 ?838次閱讀
    ETH提出RecurrentGPT實(shí)現(xiàn)交互式超<b class='flag-5'>長文本生成</b>

    面向結(jié)構(gòu)化數(shù)據(jù)的文本生成技術(shù)研究

    今天我們要講的文本生成是現(xiàn)在最流行的研究領(lǐng)域之一。文本生成的目標(biāo)是讓計(jì)算機(jī)像人類一樣學(xué)會表達(dá),目前看基本上接近實(shí)現(xiàn)。這些突然的技術(shù)涌現(xiàn),使得計(jì)算機(jī)能夠撰寫出高質(zhì)量的自然文本,滿足特定的需求。
    的頭像 發(fā)表于 06-26 14:39 ?620次閱讀
    面向<b class='flag-5'>結(jié)構(gòu)</b>化數(shù)據(jù)的<b class='flag-5'>文本生成</b>技術(shù)研究

    Meta發(fā)布一款可以使用文本提示生成代碼的大型語言模型Code Llama

    今天,Meta發(fā)布了Code Llama,一款可以使用文本提示生成代碼的大型語言模型(LLM)。
    的頭像 發(fā)表于 08-25 09:06 ?1482次閱讀
    Meta發(fā)布一款可以使用<b class='flag-5'>文本</b>提示<b class='flag-5'>生成</b>代碼的大型語言模型<b class='flag-5'>Code</b> Llama

    如何使用 Llama 3 進(jìn)行文本生成

    使用LLaMA 3(Large Language Model Family of AI Alignment)進(jìn)行文本生成,可以通過以下幾種方式實(shí)現(xiàn),取決于你是否愿意在本地運(yùn)行模型或者使用現(xiàn)成的API
    的頭像 發(fā)表于 10-27 14:21 ?337次閱讀
    RM新时代网站-首页