乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      騰訊劉天宇:可控、可靠的數(shù)據(jù)到文本生成技術

       520jefferson 2022-07-17 發(fā)布于北京



      Image


      編輯整理:蔡麗萍/李瑤 TRS/DataFun

      出品平臺:DataFunTalk


      導讀:本次分享主題為數(shù)據(jù)到文本生成,主要聚焦在可控性和可靠性方面。全文將從以下幾部分展開:

      • 數(shù)據(jù)到文本生成-任務背景

      • 數(shù)據(jù)到文本生成-常用數(shù)據(jù)集

      • 數(shù)據(jù)到文本生成-結(jié)構(gòu)化數(shù)據(jù)的表示

      • 數(shù)據(jù)到文本生成-融入規(guī)劃的數(shù)據(jù)描述

      • 數(shù)據(jù)到文本生成-顯式規(guī)劃

      • 數(shù)據(jù)到文本生成-隱式規(guī)劃

      • 數(shù)據(jù)到文本生成-隱式規(guī)劃vs顯式規(guī)劃

      • 數(shù)據(jù)到文本生成-數(shù)據(jù)描述評價

      01

      數(shù)據(jù)到文本生成-任務背景

      Image

      首先來看一下數(shù)據(jù)到文本生成的任務定義。它是對結(jié)構(gòu)化數(shù)據(jù)產(chǎn)生自然語言描述,可以應用在很多方面,比如自動賽事播報、自動電商產(chǎn)品描述等,也可以去賦能一些其它相關業(yè)務,比如對話回復生成、電子病歷。

      在對結(jié)構(gòu)化數(shù)據(jù)進行描述的時候,我們會遇到一些挑戰(zhàn):

      首先,結(jié)構(gòu)化數(shù)據(jù)的專業(yè)性比較強,它是多領域的,比如金融、體育、醫(yī)療、政務等,由于含有比較多的專業(yè)用語和專用知識,因此比較難解讀。

      另外,互聯(lián)網(wǎng)上結(jié)構(gòu)化數(shù)據(jù)覆蓋范圍廣,在對這種大規(guī)模數(shù)據(jù),或者是開放域百科、知識圖譜進行描述的時候,會面臨跨領域的挑戰(zhàn)。有時候我們不需要把數(shù)據(jù)當中的每一個數(shù)字都去介紹清楚,因此,如何聚焦最重要的信息,也是一個挑戰(zhàn)。

      02

      數(shù)據(jù)到文本生成-常用數(shù)據(jù)集

      Image

      上圖中列出了一些常見的數(shù)據(jù)集,我們做的工作是文本生成,也就是把它建模成一個條件概率的分布P(y|x)。y是一個數(shù)據(jù)描述文本,x是各種各樣不同形式的數(shù)據(jù),可以是統(tǒng)計數(shù)據(jù)、鍵值表格,也可以是三元組(多見于知識圖譜),或是邏輯表達。

      比如上圖左邊是一個NBA比賽賽事的描述,包括兩個隊的得分,以及球員的一些技術統(tǒng)計,基于這些數(shù)據(jù)產(chǎn)生的賽事播報,這是一個常見的應用。

      中間是一個鍵值對表格,取的是維基百科里對人物介紹的一個數(shù)據(jù)集,在學術界用得比較多,工業(yè)界也會嘗試去應用。

      右邊是一個比較新的數(shù)據(jù)集,提供了數(shù)據(jù)結(jié)構(gòu)化數(shù)據(jù),并規(guī)定了邏輯表達式。我們根據(jù)給定的邏輯表達式產(chǎn)生對應的描述。

      03

      數(shù)據(jù)到文本生成-結(jié)構(gòu)化數(shù)據(jù)的表示

      Image

      文本到文本生成,已經(jīng)有很成熟的方式,可以用編碼器解碼器方式去做,如RNN、Transformer、Pretrained Model。但結(jié)構(gòu)化數(shù)據(jù)的挑戰(zhàn),首先是怎么把結(jié)構(gòu)化數(shù)據(jù)建模成序列形式,或者說如何把它塞到編碼器中去。主要有兩種方式:

      • 第一種方式是把表內(nèi)信息對應的鍵值信息當作一個詞語,跟表內(nèi)信息融合成一個句子,序列化的輸入Encoder當中。

      • 第二種方式是把attribute鍵值信息拼接在表內(nèi)信息之后。

      這兩種方法都適用于RNN、Transformer、Pretrained Model。

      04

      數(shù)據(jù)到文本生成-融入規(guī)劃的數(shù)據(jù)描述

      Image

      接下來介紹如何去融入規(guī)劃。

      上圖是一個比較經(jīng)典的NLP流水線,我們的NLG應用會經(jīng)歷一個從“說什么”到“怎么說”的過程。從規(guī)劃的角度看可能會進行Document Planning、Sentence Planning。

      今天介紹的內(nèi)容,使用z去代表數(shù)據(jù)描述的規(guī)劃。建模就是要對z進行求和,把它marginalize掉,才可以優(yōu)化P(y|x)。

      接下來介紹兩種規(guī)劃:顯式規(guī)劃和隱式規(guī)劃。

      05

      數(shù)據(jù)到文本生成-顯式規(guī)劃

      Image

      首先來看顯示規(guī)劃。

      訓練的目標是希望有一個規(guī)劃生成的網(wǎng)絡P(z|x),輸入結(jié)構(gòu)化的信息,輸出序列化規(guī)劃,再把指定的規(guī)劃信息和結(jié)構(gòu)化數(shù)據(jù)輸入描述網(wǎng)絡中,最終生成描述。

      推理的時候,可以用規(guī)劃生成網(wǎng)絡產(chǎn)生的規(guī)劃,或者自行規(guī)定的規(guī)劃,由此產(chǎn)生與這個規(guī)劃對應的描述內(nèi)容。

      下面看具體的顯示規(guī)劃的形式。

      Image

      首先介紹的這個工作,是做內(nèi)容的選擇,相對來說控制程度較低、粒度較粗。上圖中,左側(cè)是一個維基百科人物介紹的數(shù)據(jù)集,上面是表格的內(nèi)容,表格下面是描述。描述中并沒有去涵蓋表格當中的所有信息,只說到這個人的姓名、出生日期、國家信息和職業(yè)信息。我們可以先做Content selection,把收到的內(nèi)容篩選出來,之后再做生成。

      上圖右側(cè)可以看到兩個網(wǎng)絡,Pθ 規(guī)劃生成網(wǎng)絡和 Pφ 描述生成網(wǎng)絡。Pθ 建模成Bi-LSTM 0-1 序列標注;Pφ 可以用RNN Seq2seq或者PretrainedMT。

      Image

      剛才的例子是一個粗粒度的工作,上圖中的例子則是一個更加具體的工作,不僅要確定“說什么”,還要確定“怎么說”。要生成一個片段,還要確定句內(nèi)的描述順序和段落句子的描述順序。也是同樣的數(shù)據(jù)集,左邊是輸入的表格,右邊是對這個表格的一些描述。我們可以用匹配的一些模型,把表格和文本進行關聯(lián),比如先看到這個人的名字,然后再說出生日期,接下來是國籍、職業(yè)等。我們可以把這些敘述順序?qū)腶ttribute序列化,產(chǎn)生一個句內(nèi)的規(guī)劃。這個句子有兩句話,可以用一個special token(如上圖中為SEP token)把第一句和第二句分隔開。這樣,規(guī)劃生成網(wǎng)絡和描述生成網(wǎng)絡都可以用一個sequence模型,訓練起來會特別方便。

      Image

      我們指定規(guī)劃的目的是希望模型產(chǎn)生的描述,忠實于指定的規(guī)劃,并且給定不同的規(guī)劃,模型可以產(chǎn)生不一樣的描述,達到多樣化的效果。上圖中的例子,前兩個case給定的plan里有兩個SEP符號,所以生成三句話;第三個case中只有一個SEP,所以生成兩句話。可以看到,生成的內(nèi)容是與我們設定的句子數(shù)量相匹配的。前兩個case,我們把第二句話和第三句話在規(guī)劃中交換了一下順序,也就是⑥和⑦的位置互換了一下,可以看到生成的句子與我們的規(guī)劃是一致的,并且在詞的選擇上有一些小的變化,也是符合人類語言習慣的,是通順易理解的。

      Image

      上圖是另外一個工作——賽事播報的表格。它的特點是數(shù)據(jù)比較多、有很多數(shù)字,另外不能cover所有比賽細節(jié),而是要從中選取關鍵的信息。藍色框是賽事描述,橘色框是給定的一些結(jié)構(gòu)化的統(tǒng)計數(shù)據(jù)。

      Image

      與前面類似,我們還是要看應該描述哪些內(nèi)容,應該以怎樣的順序描述,最終產(chǎn)生的規(guī)劃還是一個序列。但這里我們面臨的一個挑戰(zhàn)是——賽事數(shù)據(jù)里的數(shù)字很多,很難像之前鍵值對例子中那樣去把重點提煉出來。這里首先要從賽事數(shù)據(jù)中用一些實體規(guī)則,產(chǎn)生一個規(guī)劃庫,如紅框中的內(nèi)容。規(guī)劃庫中會含有一些重點的實體信息,比如球員的名字、球隊的名字,還包含一些事件信息,比如棒球比賽中的跑位信息,把這些都放在規(guī)劃庫中。接下來,規(guī)劃庫與藍紅框中的描述進行匹配,產(chǎn)生規(guī)劃的描述。由此就可以用與之前一樣的序列到序列的模型來建模。

      Image

      下面介紹顯示規(guī)劃中的第三塊內(nèi)容,除了對描述順序進行規(guī)劃,還對句子結(jié)構(gòu)進行更細粒度的規(guī)劃。這里定義了三種操作符,Chain、Sibling和Combination。首先是Chain,比如給定三元組信息<John, residence, London>(John住在倫敦),<England, capital, London>(英國的首都是倫敦),規(guī)定Chain的描述順序,那么整個句式就是序列化的描述方式,中間不會有and或者or去連接。另外一個結(jié)構(gòu)Sibling,兩個信息是并列的,會有一個and去做連接。第三個操作Combination,就是把前面兩種結(jié)構(gòu)連在一起,最終產(chǎn)生一個描述的句子。

      Image

      整體工作流程如上圖所示,輸入一些RDF三元組,然后人為去規(guī)定text plan,或者用網(wǎng)絡 PθPφ,有了這個plan圖之后,把它線性化成一個線性化的text plan,最終再用描述網(wǎng)絡生成一個句子。

      Image

      上圖是上述工作的一個實例,模型的輸入是圖中的表格(不包含表格左邊的圖片),是關于墨西哥的一個甜品。它采用了并列的句式,藍色字是對成分的描述,紅色字是說它來自墨西哥的一個地方。但我們發(fā)現(xiàn)在實際情況中它給定的reference不一定都是對的。我們就可以對這個句子描述的順序和結(jié)構(gòu)進行控制,比如如果想強調(diào)產(chǎn)地信息,就可以把產(chǎn)地信息放在前面,當作一個重點去講。

      06

      數(shù)據(jù)到文本生成-隱式規(guī)劃

      Image

      下面來講一下隱式規(guī)劃。

      符號系統(tǒng)還是和顯示規(guī)劃中一樣,y是一個text,x是輸入的一個結(jié)構(gòu)化數(shù)據(jù),z還是規(guī)劃。但是這里z是一個隱變量,可能是一個離散隱變量,也可能是一個連續(xù)隱變量。訓練的時候,我們要用到采樣信息,我們需要從P(z|x)即z的后驗概率中采樣一個z出來,然后去進行訓練。推理的時候,我們可以采樣一個z,也可以指定一個z,來進行推理。

      隱式規(guī)劃的重點是首先要確定這個隱變量的結(jié)構(gòu),要確定它是一個離散的變量,還是一個連續(xù)的變量,它的結(jié)構(gòu)是單變量,還是一個鏈式變量,或者是一個層次的變量。這樣的結(jié)構(gòu)信息決定了我們用什么樣的算法去優(yōu)化它,比如EM、VAE或是HMM。

      步驟與之前相同,還是先生成一個規(guī)劃,然后再用描述網(wǎng)絡去產(chǎn)生最終的描述。

      Image

      上圖是一個比較簡單的隱式規(guī)劃。這是一個有很多專家的系統(tǒng),z是從一個多項式的分布中去采樣的,還規(guī)定了number of experts數(shù)量,訓練過程采用EM算法。

      規(guī)定了幾個專家系統(tǒng)就有幾套參數(shù),如上圖右下角所示,一共三套參數(shù)對應三個系統(tǒng),第一套參數(shù)對應的就是第一個系統(tǒng),以此類推。在訓練的時候,有三條通路,E步取對應得分最高的那條通路;M步實際上對一個訓練樣本,只更新一個專家系統(tǒng)對應的一個參數(shù),也就是梯度只在這一條路徑傳遞。

      這樣,一個輸入,有三個專家,每一個專家都產(chǎn)生一個不一樣的的文本,我們輸入的一個結(jié)構(gòu)化數(shù)據(jù)就可以產(chǎn)生三個描述。

      Image

      這是一個稍微復雜一些的隱式規(guī)劃,還是單變量。剛才的例子中,是離散的變量,現(xiàn)在是用連續(xù)的變量去控制生成的模板。這里有兩個輸入源:一個有監(jiān)督的訓練集,既有輸入的data又有對應的描述;還有單文本語料,但單文本語料沒有給定的data,只有對應的描述。整個帶有隱變量的概率圖建模成了上圖中左下角顯示的樣子, x和y是observed variable,就是可以看到的變量。而z和c都是看不到的, z代表規(guī)劃,c則代表內(nèi)容。c是由x決定的,用一個網(wǎng)絡去建模x就可以得到c。在給定c的情況下,用不同的規(guī)劃就能產(chǎn)生不一樣的y。

      具體來看,有兩部分的loss。第一部分是有監(jiān)督的樣本的loss,因為c是給定的,只需要對z進行積分操作。第二部分,無監(jiān)督語料,因為z和c都是看不到的,所以需要對z和c同時進行積分。

      Image

      對于有監(jiān)督樣本的優(yōu)化就是一個標準的VAE。因為c雖然是一個變量,但在這里是一個確定變量,通過 fenc 就能算出來。我們只需要對z進行積分就可以了??梢杂靡粋€最標準的VAE的方式去解,即ELBO。

      我們最終的優(yōu)化目標是 Pθ(y|x),但是由于這里有一個積分符號,所以是很難優(yōu)化的,后驗概率也比較難算。我們就提出了變分網(wǎng)絡,希望解決這個難以優(yōu)化的部分。變分網(wǎng)絡會產(chǎn)生一個變分后驗,我們的目標是讓它逼近真實后驗。

      Image

      對于有監(jiān)督樣本,就是標準的VAE框架。對于無監(jiān)督語料,z和c都需要積分掉,對應的ELBO是不同的形式。這里的一個難點是 qФ(z,c|y),為了簡化這個生成步驟,這里做了一個假設,假設z和c是關于y條件獨立的,簡化后就得到了無監(jiān)督語料對應的ELBO形式,如上圖中下半部分所示。這樣做的好處是可以把網(wǎng)絡的數(shù)量理清楚了,推理起來也比較方便。整個過程就可以分為圖中不同顏色框出的五塊,這樣只要采用標準的VAE訓練流程就可以把網(wǎng)絡訓練好了。

      Image

      除了剛才說的 ELBOp 和 ELBOr 之外,它還定義了一個總的函數(shù),如上圖所示。

      這樣,我們就可以根據(jù)三步走的步驟去完成整個訓練流程。

      Image

      上圖是它的效果,VTM是這個工作提出來的模型??梢钥吹剑ㄟ^對隱式規(guī)劃z去采樣,一個不同的采樣點就可以對應一個不同的生成結(jié)果,這樣生成的結(jié)果就是多樣的,并且與其它模板相比,它的正式度要更高一些。

      Image

      下面再來看一個離散變量,這里不再是一個單變量了,而是一個隱變量序列,我們用這個序列去建模生成順序。上圖左側(cè)是一個餐館領域的數(shù)據(jù)集。我們可以根據(jù)同一個數(shù)據(jù)集產(chǎn)生五個對應的描述,并且描述的每個部分,可以是短語或者單字,也可以是一個標點,它們下邊都有一個小的數(shù)字,這就是它所對應的隱變量的編號。我們可以給定不同的隱變量的編號生成不一樣的描述。

      Image

      上圖中是用半馬爾可夫的方式進行建模。它會規(guī)定片段的最大長度是多少。用x作為一個輸入,隱變量z1、z4,有一個轉(zhuǎn)移矩陣(Transition Matrix)去建模隱變量z1至z4的轉(zhuǎn)換,根據(jù)不同的隱變量z1和z4還有一個生成模型,可以產(chǎn)生多個單詞,比如z1是55,生成的就是Travellers Rest Beefeater。

      Image

      建模這個半馬爾可夫結(jié)構(gòu),在訓練時用的是sum_produc進行訓練。在推斷的時候,需要指定一個最大路徑,用Vitebi算法,它是一個貪心算法,每一步就是選擇當前最大的那個Probability對應的隱變量,不斷往前推,就可以把它對應的隱變量的模板序列導出來,之后再放到生成器里邊就可以生成一個描述了。

      Image

      上圖中展示了不同的五個模板。

      07

      數(shù)據(jù)到文本生成-隱式規(guī)劃vs顯式規(guī)劃

      下面對顯示規(guī)劃和隱式規(guī)劃進行一下總結(jié)。

      首先,顯式規(guī)劃包括:內(nèi)容選擇規(guī)劃,描述順序規(guī)劃和描述句式規(guī)劃。它的優(yōu)缺點如下:

      • 【優(yōu)點】細粒度控制段落結(jié)構(gòu)、描述順序、句式結(jié)構(gòu)。

      • 【優(yōu)點】規(guī)劃可解釋性較強,因為我們可以看到它的規(guī)劃是什么。

      • 【優(yōu)點】在明確規(guī)劃定義情況下,訓練容易。

      • 【缺點】規(guī)劃依賴數(shù)據(jù)和文本之間的對齊,必須有一個清晰的對齊才能產(chǎn)生一個可解釋的規(guī)劃。

      顯示規(guī)劃多應用于賽事播報、商品描述、智能寫作輔助等領域,在生成長文本的場景下的優(yōu)勢更加明顯。

      隱式規(guī)劃,包括:MoE離散隱變量規(guī)劃,變分連續(xù)隱變量規(guī)劃,以及鏈式離散隱變量規(guī)劃。它的優(yōu)缺點包括:

      • 【優(yōu)點】只需定義隱變量結(jié)構(gòu),無須明確知曉數(shù)據(jù)-文本對齊。

      • 【優(yōu)點】比較成熟的隱變量推斷方法,較容易融入統(tǒng)計約束。

      • 【優(yōu)點】方便多次采樣,可以產(chǎn)生多樣的文本描述。

      • 【缺點】訓練可能不穩(wěn)定,調(diào)參比較困難,且訓練步驟偏多。

      隱式規(guī)劃更擅長短/中文本生成,適合應用于廣告標語生成、營銷文案生成、評論生成等領域。

      08

      數(shù)據(jù)到文本生成-數(shù)據(jù)描述評價

      本章節(jié)在此不做講解,可以參考以下PPT內(nèi)容了解。

      Image

      Image

      Image
      Image
      Image
      Image
      Image

      09

      答問環(huán)節(jié)

      Q:變分和端到端的生成哪個生成質(zhì)量更好?

      A:變分的訓練比較困難,有條件做端到端的訓練,效果會更好一些。變分訓練的時候不太穩(wěn)定,有時甚至要調(diào)一下學習種子才能生成比較穩(wěn)定的文案。

      Q:隱式規(guī)劃訓練過程中可能會不穩(wěn)定,能否分享一些如何讓這個訓練更加穩(wěn)定的經(jīng)驗?

      A:大家用的比較多的是VAE,訓練里有一些技巧。比如后驗坍縮的情況,變分網(wǎng)絡很快就跟先驗分布完全一致了,無法起到變分的效果,再去從z里面高斯采樣,經(jīng)過后驗網(wǎng)絡產(chǎn)生真實z的分布,其實都無效化。所以可以給KL損失函數(shù)乘上一個權(quán)重,訓練的時候權(quán)重逐漸增大,達到模擬退火(KL annealing)的效果。

      Q:隱式模型訓練之前會有一些對冷啟動的處理嗎?

      A:冷啟動的處理是可以的,比如預訓一個數(shù)據(jù)描述的網(wǎng)絡,輸入還是有x的,輸入還有一個z,z是隱變量,如果p(y)從一個很好的預訓練語言模型開始,整個表現(xiàn)會更好。

      今天的分享就到這里,謝謝大家。


        本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多