基於知識的NLG綜述

告誡!組裡經過討論,對從業者的攻擊是定向的、滲透的。結論:

  1. 校設實驗室向細或向空,公司實驗室向大。校設實驗室逐漸向大模型靠攏。由於訓練資源不足,大量校設實驗室將集中於prompt可解釋性、即插即用方法、內部知識整合。訓練資源尤其稀缺的校設實驗室將集中在非常偏的任務。公司實驗室會開始大模型競爭,RLHF的不同方向和規模將成為第一波low-fruit,外部知識整合會是第二波low-fruit。公司實驗室的方法和參數保密性將進一步提升。公司實驗室對系統架構和高效訓練的人才的需求將迅速攀升。
  2. 小任務整合入大任務。大量小任務會並入大任務,構造有監督數據集並微調不再是小任務的第一選擇。大模型無法取得好結果的小任務將成為研究熱點。換句話說,研究熱點將從“大模型能做到什麼”轉換為“大模型做不到什麼”。
  3. 知識的挖掘和自監督學習成為NLP最前沿方向。大量基於RLHF的自監督基於知識的生成方法將被大實驗室提出並實踐,成果將大量發表在頂會。主流熱點將主要focus在知識的數量、質量以及運用知識的方法。統計方法幾乎完全取代規則方法,知識的地位將快速超越模型本身。這一浪潮將迅速影響到CV,今年必定有更多基於RLHF的CV方法發表於CV三大會。
  4. 資本變向,算法崗地位下降。資本將變向湧入大模型方向,未來數年會保持較高熱度。公司將合並大量業務,競爭訓練大模型以搶占市場。大數據工程師、後端工程師、架構師的地位提高,算法工程師地位進一步下降。

下面是寫給從業者的建議。

如果你認真思考一下ChatGPT的架構,其實會發現ChatGPT無非就是微調的GPT-3,唯一的不同不過是知識的指向性,或者說模型對特定知識的篩選。GPT-3是用大量無指向性的非結構化文本訓練的,而ChatGPT是在GPT-3的基礎上用大量RLHF自監督的文本微調的。換句話說,知識才是ChatGPT優於GPT-3的關鍵。GPT-3的知識沒有任何標簽,因此本質是一個無監督學習;而ChatGPT使用RLHF生成符合人類指令要求的知識,因此本質是一個自監督學習。有瞭RLHF提供的監督信號,兩個模型學習知識的質量就完全不同瞭。實驗證明,使用質量高的知識,可以將GPT-3的模型規模壓縮100倍。繞來繞去,NLG最後還是知識起瞭決定性作用。

想要在知識上做出創新,首先需要對NLG界中知識的演變做一個大致的瞭解。知識可以分為兩種形式:內部知識(internal knowledge)和外部知識(external knowledge)。內部知識是從輸入中獲得的。例如,給定一串文本,內部知識就是這串文本隱含的topic、keyword等等。這串文本可以是一段summary,可以是一輪question-answering,甚至可以是一段對話(utterance+context)。外部知識是所有不能從輸入中獲得的知識,也就是在廣泛的語料庫中蘊含的知識。最簡單的外部知識就是未被結構化的純文本,例如小說、wikipedia、paper等。如果把純文本結構化成知識庫,知識就能被有效地組織起來。知識庫其實就是一堆三元組,包括主謂賓。要構建知識庫,可以人工標註三元組,也可以用大模型自動去打標簽。形成知識庫後,還可以用共享的主謂賓去做知識圖譜,這樣就可以運用各種各樣的圖算法瞭。其實ChatGPT和GPT-3都是運用大量的外部知識來提升生成的知識廣度,而在內部知識上使用embedding一把梭,不考慮各種復雜的方法和指標。ChatGPT在生成回復後,會有reward model對輸出進行打分,從而運用特定的外部知識;GPT-3在學習知識後不進行對輸出的打分,直接進行推斷,預訓練時記住的外部知識成為生成的直接條件。換句話說,ChatGPT使用瞭“質量高”的外部知識。

知道瞭知識的分類,如何運用知識呢?最常用的知識整合方法還是attention,用dual encoder來fuse一個向量(一個輸入文本的encoder,一個知識的encoder),此外還有用GNN來結構化句子。如果希望賦予OOV能力,可以加一個pointer network;如果希望賦予記憶能力,可以加一個memory network。

因此,從NLG界運用知識方式的發展的角度看:

  1. 外部知識的收集和整合的地位將迅速超越內部知識。
  2. 記憶方法如memory network將被attention取代,因為attention有能力記住far early內容。
  3. OOV方法如pointer network將被attention取代,因為大量外部知識可以消除OOV的現象。
  4. GNN等embedding方法可以用來整合入attention的embedding層,但價值大幅降低。
  5. 外部知識的質量監督的重要性將大幅超越知識的獲取。

以上出現的所有有關知識的概念在我們組的以下論文中均給出瞭詳細的解釋。

文章鏈接:A Survey of Knowledge-Enhanced Text Generation

摘要

文本到文本生成(text2text)的目標是讓機器在對話、摘要和翻譯等許多應用中像人類一樣表達。 它是自然語言處理 (NLP) 中最重要但最具挑戰性的任務之一。 已經提出瞭各種神經編碼器-解碼器模型來通過學習將輸入文本映射到輸出文本來實現該目標。 然而,僅輸入文本通常隻能提供有限的知識來生成所需的輸出,因此在許多現實場景中,文本生成的性能仍遠不能令人滿意。 為瞭解決這個問題,研究人員考慮將(i)嵌入輸入文本中的內部知識和(ii)來自知識庫和知識圖等外部來源的外部知識納入文本生成系統。 這個研究課題被稱為知識增強的文本生成。 在本次調查中,我們對過去五年關於該主題的研究進行瞭全面回顧。 主要內容包括兩部分:(i)將知識集成到文本生成中的一般方法和架構; (ii) 針對不同形式的知識數據的具體技術和應用。 這項調查可以在學術界和工業界擁有廣泛的受眾、研究人員和從業人員。

引入

文本生成通常正式稱為自然語言生成 (NLG),是自然語言處理 (NLP) 中最重要但最具挑戰性的任務之一 [37]。 NLG 旨在從各種形式的語言或非語言數據(如文本數據、數值數據、圖像數據、結構化知識庫和知識圖譜)中生成可理解的人類語言文本。 其中,文本到文本生成是最重要的應用之一,因此通常簡稱為“文本生成”。 研究人員已經在廣泛的應用中為這項任務開發瞭許多技術 [38、55、125]。 文本生成以文本(例如,序列、關鍵字)作為輸入,將輸入文本處理為語義表示,並生成所需的輸出文本。 例如,機器翻譯根據源文本生成不同語言的文本; 摘要生成源文本的刪節版本以包含重要信息; 問答 (QA) 生成給定問題的文本答案; 對話系統支持聊天機器人通過生成的響應與人類交流。

隨著最近深度學習技術的興起 [66],深度神經 NLG 模型在使機器能夠理解和生成自然語言方面取得瞭顯著的性能。 文本生成任務的一個基本定義是從給定的輸入序列生成預期的輸出序列,稱為序列到序列(Seq2Seq)。 Seq2Seq 任務和模型於 2014 年首次引入 [117]。 它在編碼器-解碼器方案下將輸入文本映射到輸出文本。 編碼器將輸入序列映射到固定大小的向量,解碼器將向量映射到目標序列。 從那時起,開發 NLG 系統迅速成為熱門話題。 在深度神經編碼器-解碼器架構下,已經提出瞭各種文本生成模型。 流行的架構包括遞歸神經網絡 (RNN) 編碼器-解碼器 [117]、卷積神經網絡 (CNN) 編碼器-解碼器 [39] 和 Transformer 編碼器-解碼器 [122]。

然而,僅輸入文本包含的知識有限,無法支持神經生成模型生成所需的輸出。 同時,上述方法普遍存在無法很好地理解語言、利用記憶來保留和回憶知識以及推理復雜概念和關系路徑的問題; 顧名思義,它們涉及對輸入序列進行編碼,通過在給定輸入的情況下轉換其隱藏狀態來提供有限的推理,然後解碼為輸出。 因此,生成的性能在許多現實場景中仍遠不能令人滿意。 例如,在對話系統中,僅以輸入文本為條件,文本生成系統通常會對語料庫中的頻繁單詞或短語產生瑣碎或不明確的響應 [139, 159],例如給定輸入文本“My skin is so dry”,會回答“我也是”,或 “天啊!” 。 與知識豐富的人類反應相比,這些平凡的反應缺乏有意義的內容。 相比之下,人類不斷地從更廣泛的來源獲取、理解和存儲知識,以便在交流、閱讀和寫作中利用這些知識來瞭解當前情況。 例如,在對話中,人們往往先從相關話題(如運動、美食)中選擇概念,然後將這些話題組織成易於理解的內容進行回應; 對於摘要,人們傾向於編寫包含輸入文檔中使用的關鍵字的摘要,並進行必要的修改以確保語法的正確性和流暢性; 在問答系統 (QA) 中,人們使用與問題相關的常識或專業知識來推斷答案。 因此,通常情況下需要輸入序列之外的知識來生成信息豐富的輸出文本。

1.1 什麼是知識增強型文本生成?

一般來說,知識是圍繞特定主題的熟悉度、意識或理解。 在 NLG 系統中,知識是對輸入文本及其周圍上下文的認識和理解。 這些知識來源可以分為內部知識和外部知識(見圖1)。 內部知識創建發生在輸入文本中,包括但不限於關鍵字、主題、語言特征和內部圖形結構。 外部知識獲取發生在從外部來源提供知識時,包括但不限於知識庫、外部知識圖譜和基礎文本。 這些來源提供的信息(例如,常識三元組、主題詞、評論、背景文檔)可以通過各種神經表征學習方法用作知識,然後應用於增強文本生成過程。 此外,知識為具有顯式語義的模型引入瞭可解釋性。 這種將知識融入文本生成的研究方向被命名為知識增強文本生成。

圖 1. 我們將不同的知識來源分為內部知識和外部知識。 內部知識創造發生在輸入文本中,而外部知識獲取發生在從外部來源(例如維基百科、ConceptNet [115])提供知識時。

問題 1(知識增強的文本生成)。 給定一個文本生成問題,系統被賦予一個輸入序列 ,並旨在生成一個輸出序列 。 假設我們還可以訪問表示為 的其他知識。 知識增強文本生成旨在通過利用輸入文本、知識和輸出文本之間的依賴關系,結合知識 來增強給定 的生成。

許多現有的知識增強型文本生成系統在生成信息豐富、邏輯清晰和連貫的文本方面表現出瞭良好的性能。 在對話系統中,主題感知 Seq2Seq 模型有助於理解輸入序列的語義,並生成信息量更大的響應,例如輸入“我的皮膚太幹瞭”, 可以回答“你需要補水和滋潤你的皮膚”。 在總結中,當與同一實體相關的復雜事件可能跨越多個句子時,知識圖產生結構化摘要並突出相關概念的接近度。 知識圖增強的 Seq2Seq 模型生成的摘要能夠正確回答 10% 以上的主題相關問題 [54]。 在問答 (QA) 系統中,存儲在知識庫中的事實補充瞭問題中缺失的信息,並詳細說明瞭有助於生成答案的細節 [30, 48]。 在故事生成中,利用從知識圖譜中獲得的常識性知識有助於理解故事情節,更好地逐步講述後續情節,因此每一步都可以反映為知識圖譜上的一個鏈接,整個故事就是一條路徑[46]。

圖 2. 知識增強文本生成的信息源分類和方法。 知識可以從各種信息源中學習,然後整合到生成過程中。

據我們所知,這是第一份全面回顧知識增強型文本生成的調查。 它旨在為 NLG 研究人員提供相關研究的綜合和指導。 我們的調查詳細討論瞭 NLG 如何從深度學習和人工智能的最新進展中獲益,包括圖形神經網絡、強化學習和神經主題建模等技術。

1.3 知識增強型文本生成面臨哪些挑戰?

首先,我們註意到知識增強型 NLG 的第一個挑戰是從不同來源獲取有用的相關知識。 從主題、關鍵詞、知識庫、知識圖譜和基於知識的文本中發現知識的工作越來越多。 第二個挑戰是如何有效地理解和利用所獲得的知識來促進文本生成。 已經探索瞭多種方法來改進編碼器-解碼器架構(例如,註意機制、復制和指向機制)。

基於第一個挑戰,我們調查的主要內容分為兩部分:(1)將知識整合到文本生成中的一般方法(第 2 節); (2) 根據不同知識增強來源的具體方法和應用(第 3-4 節)。 更具體地說,由於知識可以從不同的來源獲得,我們首先將現有的知識增強文本生成工作分為兩類:內部知識增強和外部知識增強文本生成。 內部知識和外部知識的劃分被管理科學廣泛采用[88],這可以類比於知識增強的文本生成。 基於第二個挑戰,我們對最近的知識增強文本生成方法進行瞭分類,這些方法是從如何提取知識並將其合並到每個部分的文本生成過程中演變而來的(命名為 M1、M2 等)。 此外,我們在每個部分回顧瞭各種自然語言生成應用程序的方法,以幫助從業者選擇、學習和使用這些方法。 總的來說,我們討論瞭 2016 年或之後發表或發佈的 80 多篇論文中提出的七種主流應用。

如圖 2 所示,此調查的其餘部分組織如下。 第 2 節介紹瞭基本的 NLG 模型和將知識集成到文本生成中的一般方法。 第 3 節回顧瞭內部知識增強的 NLG 方法和應用程序。 內部知識是從主題、關鍵詞、語言特征和內部圖結構中獲得的。 第 4 節回顧瞭外部知識增強的 NLG 方法和應用。 外部知識源包括知識庫、知識圖譜和接地文本。 第 5 節介紹瞭知識增強的 NLG 基準。 第 6 節討論未來的工作並總結調查。

2 將知識整合到 NLG 的一般方法

2.1 基本文本生成模型

早期的編碼器-解碼器框架通常基於遞歸神經網絡 (RNN),例如 RNNSeq2Seq [117]。 基於卷積神經網絡 (CNN) 的編碼器-解碼器 [39] 和 Transformer 編碼器-解碼器 [122] 的應用越來越廣泛。 從概率的角度來看,編碼器-解碼器框架學習以另一個可變長度序列為條件的可變長度序列的條件分佈:

編碼器。 編碼器學習將可變長度序列編碼為固定長度的向量表示。 RNN 編碼器順序讀取輸入句子 。 CNN 編碼器在順序窗口中對單詞及其周圍的單詞執行卷積運算。 Transformer 編碼器避免瞭循環,而是完全依賴自註意力機制來繪制輸入中不同標記之間的全局依賴關系 。 我們統一記為:

其中 e( _ ) 是詞 _ 的詞嵌入, h_ _ 的上下文隱藏表示。

解碼器。 解碼器是將給定的固定長度向量表示解碼為可變長度序列[117]。 特別地,解碼器在每個時間步生成一個標記的輸出序列。 在每個步驟中,模型都是自回歸的,在生成下一個標記時將先前生成的標記作為附加輸入使用。 形式上,解碼函數表示為:

其中 Readout(·) 是一個非線性多層函數,輸出 的概率。

優化。 生成過程被視為順序多標簽分類問題。 它可以通過負對數似然(NLL)損失直接優化。 因此,通過最大似然估計(MLE)的文本生成模型的目標被表述為:

2.2 知識增強模型架構

整合知識最流行的想法是設計能夠反映特定類型知識的文本生成模型的專門架構。 在神經網絡的背景下,幾種通用神經架構被廣泛使用和定制,以將有關正在解決的問題的知識烘焙到模型中。

2.2.1 註意力機制。在編碼器和解碼器 [3] 中捕獲每個時間步長的權重很有用。 在解碼階段,加入上下文向量c ,所以隱藏狀態s 為:

與等式 (3) 不同,這裡的概率以目標詞 的不同上下文向量 c 為條件,c 取決於從輸入序列映射的隱藏狀態序列 H = {h_ } ^ _{ =1}

在 RNN-Seq2Seq 解碼器中,c 被計算為 {h_ } ^ _{ =1} 的加權和:

其中 (·) 被參數化為多層感知以計算軟對齊。 (·) 使損失函數的梯度能夠反向傳播。 (·) 函數有六個備選方案(參見 [37] 中的表 2)。 概率 反映瞭輸入序列的隱藏狀態在前一個隱藏狀態 s −1 存在的情況下對於決定下一個隱藏狀態的重要性。

在 Transformer 解碼器中,在編碼器的兩個子層之上,解碼器插入第三個子層,該子層對編碼器堆棧 H 的輸出執行多頭註意力。轉換器的高效實現使用緩存的歷史矩陣 S 生成下一個令牌。 為瞭與 RNN-Seq2Seq 進行比較,我們使用遞歸符號總結瞭 Transformer 解碼器:

其中 S = [(K ^{(1)}_ , V^{(1)}_ ), · · · , (K^{( )}_ , V^{( )}_ )] , 其中 $(K ( ) , V ( ) ) 對應於從 0 到 的所有時間步生成的第 層的鍵值對。 在接下來的章節中,我們將使用 Encoder(·) 和 Decoder(·) 來表示編碼器和解碼器,而不是註明具體名稱。

知識相關的註意力。 在最近的知識增強型 NLG 工作中,註意力機制已被廣泛用於整合知識表示。 一般的想法是通過將隱藏上下文向量(c )和知識上下文向量(表示為 c^ _ )結合到解碼器更新中來學習知識感知上下文向量(表示為 tilde{c_ } ),例如 tilde{c_t} =$ _{ }(c ⊕c )。 知識上下文向量 (c ) 計算對知識表示的關註度(例如,知識圖中的主題向量、節點向量)。 表1總結瞭多種知識註意力,包括關鍵字註意力[69、70、73]、主題註意力[79、134、139、152]、知識庫註意力[34、48]、知識圖譜註意力[54、63、151] ],以及基於文本的註意力 [9, 87]。

2.2.2 復制和指向機制。CopyNet 和指針生成器 (Pointer Generator, PG) 用於選擇輸入序列中的子序列,並將它們放在輸出序列中的適當位置。

CopyNet 和 PG 具有可區分的網絡架構 [43]。 他們可以很容易地以端到端的方式進行訓練。 在 CopyNet 和 PG 中,生成目標令牌的概率是生成模式和復制模式兩種模式的概率的組合。 首先,它們表示全局詞匯表 V 和源序列 V_ 的詞匯表中的唯一標記。 他們構建瞭一個擴展詞匯表 V_{ext} = V ∪ V_ ∪ {unk} 。 CopyNet 和 PG 之間的區別在於計算擴展詞匯表分佈的方式。 CopyNet 通過以下方式計算分佈

其中 _ (·|·) _ (·|·) 代表生成模式和復制模式的概率。 不同的是,PG 明確地計算瞭生成模式和復制模式之間的切換概率 _ 。 它回收註意力分佈作為復制分佈。 V_{ext} 上的分佈計算如下

其中 _ (g) 表示選擇生成模式的概率,它由非線性多層 (MLP) 函數獲得。 重要的是,CopyNet 和指針生成器網絡已被用作許多知識增強型 NLG 工作的基礎模塊。

知識相關模式。 知識相關模式在獲得的知識中選擇子序列並將它們放在輸出序列中的適當位置。 它幫助 NLG 模型生成不包含在全局詞匯表 (V) 和輸入序列 ( V_ ) 中的單詞。 例如,通過添加知識庫模型,擴展詞匯表( V_{ } )從知識庫中添加實體和關系,即 V_{ } = V + V_ + V_{ } 。 生成目標令牌的概率是三種模式概率的組合:生成模式、復制模式和知識庫模式。 因此,知識相關模式不僅可以進行詞的規則生成,還可以在知識源中生成合適的子序列。 表 1 總結瞭不同類型的知識相關模式,如主題模式 [139]、關鍵字模式 [70]、知識庫模式 [48]、知識圖譜模式 [151、159] 和背景模式 [87、107]。

2.2.3 記憶網絡。記憶網絡 (MemNNs) 是在可能很大的外部記憶上的循環註意力模型 [116]。 他們將外部記憶寫入多個嵌入矩陣,並使用查詢(一般來說,輸入序列 )向量重復讀取記憶。 這種方法對長對話歷史進行編碼並記住外部信息。

給定一個輸入集 { _1, · · · , _ } 存儲在內存中。 MemNN 的記憶由一組可訓練的嵌入矩陣 C = {C ^1 , · · · , C^{ +1} } 表示,其中每個 C^ 將標記映射到向量,以及一個查詢(即輸入序列)向量 h^ _ 用作讀頭。 該模型循環 跳,並使用以下方法計算每個記憶 _ 在第 跳處的註意力權重:

其中 C^ _ = C^ ( _ ) 是第 位置的記憶內容,即將 _ 映射到記憶向量中。 這裡, p^ 是一個軟內存選擇器,它決定與查詢向量 h^ _ 的內存相關性。 然後,模型通過 C^{ +1} 上的加權和讀出內存 o^

知識相關的記憶。 內存增強編碼器-解碼器框架在許多 NLG 任務中取得瞭可喜的進展。 例如,MemNN 被廣泛用於編碼面向任務的對話系統中的對話歷史 [106、135]。 這樣的框架使解碼器能夠在生成期間從內存中檢索信息。 最近的工作探索瞭使用記憶網絡對外部知識進行建模,例如知識庫 [82, 144] 和主題 [34, 158]。

2.2.4 圖網絡。

圖網絡通過圖節點之間的消息傳遞來捕獲圖的依賴關系。 圖神經網絡 (GNN) [138] 和圖到序列 (Graph2Seq) [6] 有助於彌合圖表示學習和文本生成之間的差距。 知識圖譜、依賴圖譜和其他圖結構可以通過各種 GNN 算法集成到文本生成中。 這裡我們將圖表示為 G = (U, E),其中 U 是實體節點的集合,E 是(類型化的)邊的集合。 現代 GNN 通常遵循鄰域聚合方法,該方法通過聚合來自其相鄰節點和邊緣的信息來迭代更新節點的表示。 在 次聚合迭代之後,節點表示捕獲其 跳鄰域內的結構信息。 形式上,節點 ∈ U 的第 層是:

其中 N ( ) = {( _ , _{ }, _ ) ∈ epsilon | _ = 或 _ = } 表示包含節點 的邊集, u^{( )}e ^{( )}_{ } 是節點的特征向量 和 _ _ 在第 迭代/層之間的邊緣。 GNN 中 Aggregate(·) 和 Combine(·) 的選擇至關重要。 在 GAT [123] 等不同的 GNN 作品中,已經提出瞭許多 Aggregate(·) 的架構。 同時,標記圖(例如,知識圖)中使用的聚合(·)函數通常被視為用於建模關系圖的 GNN [108]。 為瞭獲得圖 G 的表示(表示為 h ),Readout(·) 函數(簡單的置換不變函數或復雜的圖級池化函數)匯集來自最終迭代 的節點特征,

應用。 圖網絡已被廣泛用於知識圖譜和依賴圖譜等圖結構中的知識集成。 圖註意力網絡 [123] 可以與序列註意力結合並共同優化 [151、159]。 我們將在後續章節介紹不同的圖結構知識,如知識圖譜(4.2節)、依賴圖譜(3.3.2-3.3.3節)、開放知識圖譜(OpenKG)(3.4節)。

2.2.5 預訓練語言模型。

預訓練語言模型 (PLM) 旨在通過對大規模未標記語料庫進行自我監督訓練來學習通用語言表示。 最近,BERT [25] 和 T5 [104] 等大量 PLM 在各種 NLP 下遊任務中取得瞭顯著的性能。 但是,這些 PLM 在執行知識密集型任務時會遇到兩個問題。 首先,這些模型難以掌握結構化的世界知識,例如概念和關系,這在語言理解中非常重要。 例如,BERT 不能在許多常識推理和 QA 任務上提供出色的性能,其中許多概念直接鏈接到常識知識圖 [146]。 其次,由於預訓練和微調之間的領域差異,這些模型在特定領域的任務上表現不佳。 例如,BERT 在處理醫療領域的電子病歷分析任務時無法充分發揮其價值 [78]。

最近,在研究如何將知識集成到 PLM 中做出瞭很多努力 [45、78、80、140、146、161]。 具體來說,我們將介紹一些為 NLG 任務設計的 PLM。 總的來說,這些方法可以分為兩類:第一類是將實體表示顯式註入 PLM,其中表示是從外部源預先計算的 [80、155]。 例如,KG-BART 使用 TransE [11] 等知識嵌入算法對 KGs 的圖結構進行編碼,然後將信息實體嵌入作為輔助輸入 [80]。 然而,將實體表示顯式註入 PLM 的方法一直被認為是文本中單詞的嵌入向量和知識圖譜中實體的嵌入向量是以不同的方式獲得的,這使得它們的向量空間不一致 [78]。 第二種是通過執行與知識相關的任務,如概念順序恢復[161]、實體類別預測[146],將知識信息隱式建模到 PLM 中。 例如,CALM 提出瞭一種新穎的對比目標,用於將更多常識知識打包到參數中,並聯合預訓練生成目標和對比目標,以增強常識 NLG 任務 [161]。

2.3 知識增強的訓練和推理

除瞭專門的模型架構,將知識註入生成模型的一種常見方法是通過監督知識學習。 例如,可以將知識編碼到指導模型訓練以獲得所需模型行為的目標函數中 [27, 61]。 這些方法通過將不同類型的知識表達為特定形式的目標,享有整合不同類型知識的靈活性。 一般來說,知識增強學習與模型架構無關,可以與上述架構相結合。

2.3.1 學習與知識相關的任務。

人們可以設計知識告知的學習任務,以便訓練模型以獲取知識信息。

以知識為目標。 這些方法主要分為兩類,如圖 3 所示。第一類知識相關任務根據知識創建學習目標,訓練模型恢復目標。 這些任務可以作為輔助任務與文本生成任務組合,從而形成多任務學習設置。 例如,知識損失被定義為預測和真實知識句子之間的交叉熵,它與標準對話生成損失相結合以增強基礎對話 [27, 61]。 類似的任務包括關鍵字提取損失[70]、模板重新排序損失[13、129]、知識圖上的鏈接預測損失[57]、路徑推理損失[81]、模式損失[137、159]、bag-of- word (BOW) loss [74, 143] 等。第二類方法直接從知識中導出文本生成目標,並使用這些(通常是嘈雜的)目標作為標準文本生成任務中的監督。 這種方法稱為弱監督學習。 弱監督學習加強瞭知識和目標序列之間的相關性。 例如,在基於方面的摘要問題中,工作[118]基於外部知識庫自動創建目標摘要,用於以監督方式訓練摘要模型。

圖 3. 以知識為目標將知識融入文本生成。 第一類方法(左)將知識相關任務作為輔助任務結合到文本生成任務中,從而形成多任務學習設置。 第二類方法(右)從知識中創建弱監督標簽,加強知識與目標序列之間的相關性。

以知識為條件。 設計知識相關任務的第二種方法是通過以知識為條件生成文本來增強文本生成任務。 也就是說,目標是學習函數 ( | , ),其中 是輸入序列, 是目標文本, 是知識。 通常,知識 首先是外部給定的(例如,風格、情感)或從外部資源中檢索(例如,來自知識庫的事實、來自維基百科的文檔)或從給定的輸入文本(例如,關鍵字、主題詞)中提取。 其次,使用條件文本生成模型來合並知識並生成目標輸出序列。 在實踐中,知識通常通過註意力機制 [3] 和復制/指向機制 [43、109] 等軟執行算法進行補救。 以知識為條件廣泛應用於知識增強的文本生成。 例如,通過考慮角色 [154] 和情感 [158]、控制響應的各個方面(例如禮貌 [96])、將響應建立在外部知識來源 [27、 42, 159] 並生成主題連貫序列 [119, 143]。 此外,使用變分自動編碼器 (VAE) 強制執行以知識為條件的生成過程是無監督 NLG 的一種流行方法。 通過操縱某些屬性的潛在空間,例如主題 [132] 和樣式 [50],可以生成具有所需屬性的輸出序列,而無需使用並行數據進行監督。

2.3.2 知識約束下的學習。

另一種知識增強學習范例不是在封裝知識的獨立任務中創建訓練目標,而是將知識視為規范文本生成訓練目標的約束。

[35, 164] 提出瞭後驗正則化 (PR) 框架來限制模型後驗空間在未標記數據上的空間,以此作為引導模型實現所需行為的一種方式。 PR 已被用作一個原則性框架,通常對概率模型(包括深度網絡)施加知識約束 [51、153]。 PR 使用約束項來增強任何常規訓練目標 L ( )(例如,負對數似然,如方程式 (5) 中)以編碼相關知識。 形式上,將約束函數表示為 ( , ) ∈ R,這樣較高的 ( , ) 值表示生成的序列 包含瞭更好的知識。 PR 引入輔助分佈 ( | ),並通過鼓勵較大的預期 ( , ) 值對 施加約束:E [ ( , )]。 同時,鼓勵模型 通過 KL 散度項與 保持接近。 因此,學習問題是一個約束優化:

其中 是松弛變量(slack variable)。 PR 框架還與其他約束驅動學習方法有關 [14, 83]。 我們建議讀者參考 [35] 進行更多討論。

2.3.3 知識約束下的推理。

預訓練語言模型利用大量未註釋數據和簡單的對數似然訓練目標。 如果我們不修改模型架構以允許外部輸入知識或使用特定數據進行微調,則很難通過預訓練模型中的特定知識來控制語言生成 [24]。 即插即用語言模型(Plug and Play Language Models, PPLM)開辟瞭一種在推理過程中用特定知識控制語言生成的新方法。 在推理過程中的每一代步驟中,PPLM 將歷史矩陣沿兩個梯度之和的方向移動:一個向條件屬性模型 ( | ) 下屬性 的更高對數似然方向移動,另一個向更高對數似然方向移動 未經修改的預訓練生成模型 ( | )(例如,GPT)。 具體來說,屬性模型 ( | ) 對 ΔS 進行基於梯度的更新,如下所示:

其中 是歸一化項的比例系數; ΔS 是歷史矩陣 S 的更新(見等式(8))並初始化為零。 更新步驟重復多次。 隨後,通過生成模型執行前向傳遞以獲得更新的 tilde{S}_{ +1} 作為 tilde{S}_{ +1} = Decoder( (S_ +ΔS_ ), e( _ ), H) 。 然後使用 perturbed tilde{S}_{ +1} 生成新的 logit 向量。 PPLM 可以高效靈活地結合可區分的屬性模型來引導文本生成 [102]。

3 通過內部知識增強 NLG

3.1 主題增強的 NLG

主題可以被視為文本的代表性或壓縮形式,通常用於保持語義連貫性並指導 NLG 過程。 主題建模是以潛在主題 [10] 的形式查找文檔集合的高級內容的強大工具。 經典主題模型,潛在狄利克雷分配 ( Latent Dirichlet allocation,LDA),已被廣泛用於推斷捕獲單詞和文檔的潛在語義的低維表示 [10]。 在 LDA 中,每個主題被定義為詞的分佈,每個文檔被定義為主題的混合分佈。 LDA 根據文檔的主題分佈和主題的詞分佈生成文檔中的詞。 神經技術的最新進展開辟瞭一種從單詞預測和上下文預測任務中學習單詞低維表示的新方法,使神經主題模型成為從文本中尋找潛在主題的流行選擇 [12, 47]。 接下來,我們介紹流行的由主題增強的 NLG 應用程序:

  1. 對話系統。 vanilla Seq2Seq 通常會生成語料庫中頻繁出現的單詞或短語的瑣碎或不明確的句子 [139]。 例如,聊天機器人可能會經常說“我不知道”、“我明白”。 盡管這些離題的回答可以安全地回答許多問題,但它們的信息很少卻很無聊。 此類響應可能會迅速導致對話結束,嚴重損害用戶體驗。 因此,非常需要針對主題的響應生成。
  2. 機器翻譯。 盡管輸入和輸出語言不同(例如,將英文翻譯成中文),但內容是相同的,並且在全球范圍內,在同一主題下。 因此,主題可以作為一種輔助指導,將一種語言的輸入文本的語義信息保留到另一種語言的輸出文本中。
  3. Paraphrase。 主題信息在一定程度上有助於理解潛在含義和確定語義范圍。 自然地,釋義涉及同一主題,可以作為輔助指導,促進源語義的保存。

如圖 4 所示,我們將主題增強的 NLG 方法總結為三種方法:(M1) 利用生成主題模型中的主題詞; (M2)聯合優化生成模型和CNN主題模型; (M3) 通過具有變分推理的神經主題模型增強 NLG。

3.1.1 M1:利用生成主題模型中的主題詞。 話題在一定程度上有助於理解句子的語義,確定語義譜(semantic spectrum)。 為瞭增強文本生成,一個有效的解決方案是首先使用生成主題模型(例如 LDA)發現主題,然後將主題表示合並到神經生成模型中,如圖 4(a) 所示。 在現有工作中,有兩種主流方法來表示從生成主題模型中獲得的主題。 第一種方法是為輸入序列中的每個單詞使用生成的主題分佈(即,主題上的單詞分佈)[94、152]。 第二種方法是將特定主題分配給輸入序列,然後選擇主題下概率最高的 top- 詞,並使用詞嵌入(例如 GloVe)來表示主題詞 [79, 139]。 明確地使用主題詞可以帶來比主題分佈更強的指導,但是當一些生成的主題詞不相關時,指導可能會偏離目標輸出序列。 張等。 通過將主題分佈與編碼器和解碼器隱藏狀態連接起來,提出瞭使用主題通知 Seq2Seq 模型的第一項工作 [152]。 興等。 為瞭使用主題詞作為先驗知識來幫助對話生成 [139],設計瞭一個主題感知的 Seq2Seq 模型。

圖 4. 將主題納入 NLG 的三種典型方法(不包括詳細設計)

3.1.2 M2:聯合優化生成模型和CNN主題模型。 LDA模型脫離瞭神經生成模型的訓練過程,不能適應輸入和輸出序列之間依賴關系的多樣性。 因此,解決這個問題的想法是使用神經主題模型。 卷積神經網絡 (CNN) 用於通過迭代卷積和池化操作來學習潛在主題表示。 人們越來越關註使用 CNN 將潛在主題隱式映射到可用於增強文本生成任務的主題向量中 [36, 134]。 實證分析表明,基於卷積的主題提取器在多種應用(例如對話系統、文本摘要、機器翻譯)中的性能優於基於 LDA 的主題模型。 但是,缺少理論分析以確保卷積捕獲的主題的質量。 而且它們的可解釋性不如基於 LDA 的主題模型令人滿意。

3.1.3 M3:通過具有變分推理(Variational Inference)的神經主題模型增強 NLG。 可以通過反向傳播 [12] 有效地訓練神經主題模型。 在神經主題模型中,狄利克雷分佈可以用作先驗來為每個文檔生成多項分佈 的參數[89]。 LDA 的生成過程表示為: (1) ∼ Dirichlet( ); (2) ∼ Multinomial( ); (3) ∼ Multinomial( ),其中 表示文檔的詞袋表示, 表示詞 的主題分配, 表示給定主題分配 的詞的主題分佈。 然而,定向生成模型遇到瞭建立低方差梯度估計器的問題。 苗等 [89] 用神經網絡參數化多項式分佈,並通過變分推理聯合學習模型參數。 他們創建瞭神經結構,用於構建以多元高斯分佈為條件的主題分佈,表示為 theta_dsim G( _0, ^2_0 ) 。 采用高斯先驗分佈使得重新參數化成為可行的,可以為變分分佈 [26] 構建無偏且低方差的梯度估計器。 在沒有共軛先驗的情況下,參數的更新直接且容易地從變分下界導出。 形式上,文檔對數似然的變分下界是:

其中 ( | ) 是逼近真實後驗 ( | ) 的變分分佈。 它的下界是通過從 ( | ) = G( | ( ), ^2 ( )) 中采樣 來估計的。

為瞭結合神經主題模型和神經生成模型,想法是使用變分自動編碼器(VAE)[26]。 它采用自回歸網絡(例如 LSTM)作為編碼器和解碼器。 VAE 可以通過使用其解碼器重建文本來學習文本的潛在代碼 。 它假設生成過程由連續潛在空間中的代碼控制。 這種 VAE 實現考慮瞭文本的順序信息,可以對文本的語言結構進行建模。 王等。 提出瞭主題引導變分自動編碼器(TGVAE),從主題相關的高斯混合先驗中提取潛在代碼 ,以便將主題知識整合到潛在變量中[132]。 主題相關高斯混合模型 (GMM) 定義為: ( | , ) = sum^ _{ =1} _ N( ( _ ), ^2 ( _ )) ,其中 是主題的數量, ( )和 ^2( ) 是MLP實現的函數。 TGVAE 使用詞袋作為輸入並將輸入文檔嵌入到主題向量中。 然後主題向量用於重建詞袋輸入,學習到的主題在詞上的分佈用於建模主題相關先驗,然後根據輸入序列 生成輸出序列 。 因此,為瞭最大化對數似然 log ( , | ),變分目標函數構造為:

其中 ( | ) 是 的變分分佈。 組合目標函數由下式給出:

3.1.4 不同方法的討論與分析。

對於 M1,主題模型(例如 LDA)具有嚴格的概率解釋,因為單詞和文檔的語義表示被組合到一個統一的框架中。 此外,主題模型可以很容易地使用並集成到生成框架中。 例如,主題詞可以表示為詞嵌入; 主題嵌入可以通過主題關註集成到解碼階段。 然而,LDA模型脫離瞭生成的訓練過程,因此無法適應輸入和輸出序列之間依賴關系的多樣性。

對於 M2,它是一個端到端的神經框架,可以同時學習潛在的主題表示並生成輸出序列。 卷積神經網絡 (CNN) 通常用於通過迭代卷積和池化操作生成潛在主題。 但是,缺少理論分析來確保卷積捕獲的主題的質量。 而且它們的可解釋性不如基於 LDA 的主題模型。

對於 M3,神經主題模型結合瞭神經網絡和概率主題模型的優點。 它們支持聯合優化的反向傳播,有助於更連貫的主題,並且可以擴展到大型數據集。 一般來說,神經主題模型可以提供比 LDA 更好的主題連貫性 [12、132、143]。 然而,神經變分方法有一個共同的缺點,即主題分佈被假定為各向同性高斯分佈,這使得它們無法對主題相關性進行建模。 現有的神經主題模型假設文檔應該是獨立同分佈的。 采用 VAE,而它們通常是相關的。 相關性對於主題建模至關重要。

3.2 關鍵詞增強的NLG

關鍵字(又名,關鍵短語,關鍵術語)通常被稱為一個或多個單詞的序列,提供文檔內容的緊湊(compact)表示。 文檔關鍵詞獲取的主流方法可以分為兩類[112]:關鍵詞分配和關鍵詞提取。 關鍵字分配意味著關鍵字是從受控的術語詞匯表或預定義的分類法中選擇的。 關鍵詞抽取選擇文檔中明確呈現的最具代表性的詞,獨立於任何詞匯。 幾十年來,關鍵詞提取技術(例如 TF-IDF、TextRank、PMI)已被廣泛使用。 許多 NLG 任務可以受益於將這種基本內容的精簡形式合並到文檔中,以保持語義連貫性並指導生成過程。 接下來,我們介紹通過關鍵字增強的流行 NLG 應用程序:

  1. 對話系統。 關鍵字有助於啟發和驅動生成的響應以提供信息,並避免生成普遍相關的幾乎沒有語義的回復。 此外,最近的工作將個性化信息引入到對話的生成中,以幫助提供更好的對話響應,例如情感 [71、114、158] 和角色 [154、157]。
  2. 總結。 當生成過程難以控制並且經常遺漏重要信息時,香草 Seq2Seq 模型經常受到影響 [69]。 使用關鍵字作為明確的指導可以提供有關文檔要點的重要線索 [69, 70]。 它更接近於人類寫摘要的方式:造句包含關鍵詞,然後進行必要的修改以保證流暢性和語法正確性。
  3. 生成問題。 它旨在從給定的答案及其相關上下文中生成問題。 給定一個答案及其相關的上下文,就可以提出多個問題,這些問題對上下文和表達方式的關註點各不相同。

研究人員已經開發出一系列關鍵字增強的 NLG 方法。 這些方法可以分為兩種方法:(M1)將關鍵字分配結合到文本生成中; (M2) 將關鍵詞提取納入文本生成。

3.2.1 M1:將關鍵字分配納入文本生成。

將關鍵字分配給輸入文檔時,可能的關鍵字集受預定義詞匯表的限制 [112]。 關鍵字分配通常由分類器實現,該分類器將輸入文檔映射到預定義詞匯表中的單詞 [23、71、114、158]。 不幸的是,一些 NLG 場景沒有適當的預定義詞匯表,因此關鍵字分配不能廣泛用於增強 NLG 任務。 一種適用的場景是使用預先確定的領域特定詞匯表來保持輸入和輸出序列之間的相關性 [23]。 另一種情況是生成具有特定屬性的對話,例如角色 [113、143]、情感 [71、114、158]。

M1.1:將分配的關鍵字添加到解碼器中。 一種直接的關鍵字分配方法是從預定義的詞匯表中分配單詞並將它們用作關鍵字 [113, 143]。 有時,輸入序列沒有明確的關鍵字,但我們可以從預定義的詞匯表中找到一個。 例如,對話話語“如果那天你阻止瞭他,事情就會不同。” 表達悲傷,但它沒有“悲傷”這個詞。 為瞭解決這個問題,Li 等人 提出瞭一種通過將來自編碼器的隱藏狀態總和擬合到分類器中來預測情緒類別的方法 [71]。 然後,將在情緒類別的指導下生成響應。 為瞭動態跟蹤在生成的序列中表達瞭多少情緒,Zhou 等人提出瞭一個記憶模塊來捕捉解碼過程中的情緒動態[158]。 在解碼階段開始之前,每個類別都使用情緒狀態向量進行初始化。 在每一步,情緒狀態都會衰減一定量。 解碼過程完成後,情緒狀態衰減為零,表明情緒已完全表達。

M1.2:為生成的序列分配關鍵字。 正如 [114] 中提到的,明確地包含情感關鍵詞會受到壓倒性地表達某種情感的影響。 相反,Song 等人建議不是通過明確使用情感詞來增加情感體驗的強度,而是通過以不同的方式在情感上隱含地組合中性詞 [114]。 具體來說,他們使用情緒分類器來構建句子級情緒鑒別器,這有助於識別表達某種情緒但未明確包含太多字面情感詞的反應。 鑒別器連接到解碼器的末端。

3.2.2 M2:將關鍵詞提取納入文本生成。

關鍵詞提取從輸入文檔中選擇顯著詞[112]。 最近的工作使用瞭統計關鍵字提取技術(例如,PMI [73]、TextRank [69])和基於神經的關鍵字提取技術(例如,BiLSTM [70])。 將提取的關鍵字合並到生成中的過程與第 3.2.1 節中討論的過程非常相似。 它將關鍵字作為解碼器的附加輸入。 最近的工作通過添加另一個序列編碼器來表示關鍵字 [69、70] 來改進編碼階段。 然後,上下文化的關鍵字表示與輸入序列表示一起被送入解碼器。 為瞭推進關鍵字提取,Li 等人。 建議使用多任務學習來訓練關鍵字提取器網絡並生成摘要 [22、70]。 因為摘要和關鍵詞提取的目的都是從輸入文檔中選擇重要信息,所以這兩個任務可以受益於共享參數來提高捕獲輸入文本要點的能力。 在實踐中,他們將輸入文檔和真實摘要之間的重疊詞作為關鍵詞,並采用 BiLSTM-Softmax 作為關鍵詞提取器。 類似的想法也被用於問題生成任務 [22, 133]。 他們使用輸入答案上下文和真實問題之間的重疊詞作為關鍵字。

3.2.3 不同方法的討論與分析。

優點和缺點。 對於M1,關鍵字分配的主要優點是保證瞭關鍵字的質量,因為不相關的關鍵字不包含在預定義的詞匯表中。 另一個好處是,即使兩個語義相似的文檔沒有共同的詞,它們仍然可以分配相同的關鍵字。 然而,主要有兩個缺點。 一方面,在新域中創建和維護字典的成本很高。 因此,字典可能不可用。 另一方面,文檔中出現的潛在關鍵字如果不在詞匯表中,將很不幸地被忽略。 因此,關鍵字分配適用於需要特定類別的關鍵字來指導具有這些關鍵信息的生成句子的任務。 例如,對話系統會生成具有特定態度的響應。

對於 M2,關鍵詞提取選擇文檔中明確呈現的最具代表性的詞,它獨立於任何詞匯表。 它易於使用,但有兩個缺點。 首先,它不能保證一致性,因為如果相似的文檔不共享相同的詞集,它們仍然可能由不同的關鍵字表示。 其次,當輸入文檔沒有合適的代表詞時,不幸的是,關鍵字提取器從文檔中選擇瞭一個不相關的詞作為關鍵字,這種錯誤的引導會誤導生成。 因此,關鍵詞提取適用於輸出序列需要保留輸入序列中重要信息的任務,如文檔摘要和釋義。

定量分析。 表 3 總結瞭關鍵字增強的 NLG 工作中使用的任務和數據集。 與基本的 Seq2Seq 註意力模型相比,關鍵字增強方法(E-SCBA [71])可以在 NLPCC 數據集上大大提高生成質量(由 BLEU 評估)和情緒表達(由 emotion-w 和 emotion-s 評估)。 此外,如表 3(a) 所示,EmoDS [114] 在三種 M1 方法中取得瞭最佳性能,這表明將關鍵字分配作為判別任務比在句子解碼之前分配關鍵字可以取得更好的改進。 對於 M2 方法,由於大多數方法是在不同的任務上進行評估的,我們隻能比較“不使用關鍵字”和“使用關鍵字”之間的性能。 如表 3(b) 所示,利用從輸入序列中提取的關鍵詞到 Seq2Seq 模型中可以提高摘要和問題生成任務的生成質量。 與 KGAS [70] 和 KIGN [69] 相比,我們可以觀察到使用 BiLSTM-Softmax 提取關鍵字(一種使用 和 之間的重疊詞作為標簽的監督方式)比使用 TextRank(一種無監督方式)具有更好的性能。

3.3 語言特征增強的 NLG

特征豐富的編碼器意味著編碼器不僅讀取輸入序列,還結合瞭輔助的手工特征 [110, 149, 160]。 語言特征是最常見的手工特征,例如詞性 (POS) 標記、依存關系解析和語義解析。

3.3.1 POS標簽和NER標簽。 詞性標註 (Part-Of-Speech,POS) 分配 token 標簽以指示 token 的語法類別和詞性,例如名詞 (N)、動詞 (V)、形容詞 (A)。 命名實體識別 (Named Entity Recognition,NER) 將非結構化文本中提到的命名實體分類為預定義的類別,例如人 (P)、位置 (L)、組織 (O)。 CoreNLP 是最常用的工具 [84]。 盡管存在同音異義和構詞過程,但幾種詞類型之間可能共享相同的表面詞形式。 結合 NER 標簽和 POS 標簽可以檢測命名實體並更好地理解輸入序列,從而進一步改進 NLG [28、93、160]。

3.3.2 句法依賴圖。 句法依賴圖是表示詞之間句法關系的有向無環圖[4]。 例如,在“The monkey eats a banana”這個句子中,“monkey”是謂語“eats”的主語,“banana”是賓語。 通過利用依賴信息增強序列表示,捕獲源長距離依賴約束和不同單詞的父子關系 [1, 4, 15]。 在 NLG 任務中,依賴信息通常通過以下三種不同的方式建模:(i)線性化表示:線性化依賴圖,然後使用序列模型獲得語法感知表示 [1]; (ii) path-based representation:根據單詞與對齊的中心位置之間的線性距離計算註意力權重,即單詞到依賴圖中心位置的距離越大,該單詞對依賴圖的貢獻越小 上下文向量是[15]; (iii) 基於圖的表示:使用 GNN 從依賴關系中聚合信息 [4]。

3.3.3 語義依賴圖。 語義依存圖表示句子中實詞之間的謂詞-論元關系,並且具有基於不同註釋系統的各種語義表示方案(例如,DM)。 語義依賴圖中的節點通過語義角色標記(SRL)或依賴解析提取,並通過不同的語義內和語義間關系連接[98]。 由於語義依賴圖引入瞭更高級別的信息抽象,捕獲瞭相同底層謂詞參數結構的不同實現之間的共性,因此它已被廣泛用於改進文本生成 [59、75、98]。 金等提出瞭一種語義依賴引導的摘要模型[59]。 他們通過堆疊編碼器將語義依賴圖和輸入文本結合起來,以指導摘要生成過程。 堆疊式編碼器由序列編碼器和圖編碼器組成,其中句子編碼器首先通過堆疊多頭自註意力讀取輸入文本,然後圖編碼器捕獲語義關系並將語義圖結構納入上下文級表示。

3.4 開放知識圖譜增強型 NLG

對於那些基於輸入文本之外的數據構建的 KG(例如,ConceptNet),我們將它們稱為外部 KG。 相反,內部 KG 被定義為僅基於輸入文本構建的 KG。 在本節中,我們將討論結合內部 KG 來幫助 NLG [30, 54]。

內部 KG 在理解輸入序列方面起著重要作用,尤其是當輸入序列很長時。 通過構建一個內部 KG 中介,冗餘信息可以被合並或丟棄,產生一個實質上壓縮的形式來表示輸入文檔 [30]。 此外,當與同一實體相關的復雜事件可能跨越多個句子時,知識圖譜上的表示可以產生結構化摘要並突出相關概念的接近度 [54]。 構建內部 KG 的主流方法之一是使用開放信息提取 (OpenIE)。 與傳統的信息提取 (IE) 方法不同,OpenIE 不限於預先知道的一小組目標實體和關系,而是提取輸入文本中發現的所有類型的實體和關系 [95]。 通過這種方式,OpenIE 促進瞭從文本中提取的關系的領域獨立發現,並擴展到大型異構語料庫。

得到內部KG後,下一步就是學習內部KG的表示,並將其融入到生成模型中。 例如,朱等人使用圖註意力網絡 (Graph ATtention Network,GAT) 來獲取每個節點的表示,並通過註意力將其融合到基於變換器的編碼器-解碼器架構中 [163]。 他們的方法生成具有更高事實正確性的抽象摘要。 黃等通過首先使用 GAT 將每個段落編碼為子 KG,然後使用 Bi-LSTM [54] 連接所有子 KG 來擴展。 此過程對主題轉換和重復進行建模,從而能夠識別值得註意的內容,從而有利於總結。

4 通過外部知識增強 NLG

4.1 知識庫增強的 NLG

NLG 中最大的挑戰之一是發現序列內和/或跨輸入和輸出序列的元素的依賴關系。 依賴關系實際上是常識、事實事件、語義關系等各種知識。 知識庫 (Knowledge Base,KB) 是一種流行的技術,它為搜索引擎等基於知識的系統收集、存儲和管理大規模信息。 它有大量由主語、謂語和賓語組成的三元組。 人們也稱它們為“事實”或“事實三胞胎”。 最近,研究人員一直在設計使用知識庫作為外部知識的方法,以便更輕松、更快和更好地學習依賴關系。 接下來,我們介紹一些流行的知識庫增強的 NLG 應用:

  1. 問答。 通常很難僅根據給定的問題生成正確的答案。 這是因為,根據問題的尋找內容,好的答案可能有不同的形式。 它可能會用缺失的信息準確地完成問題。 它可能會詳細說明問題的某些部分。 它可能需要根據一些事實和/或常識進行推理和推斷。 因此,由於缺乏常識/事實知識,僅將輸入問題納入神經生成模型通常會失敗 [8]。 可以從知識庫中檢索常識和事實的相關結構化信息。
  2. 對話系統。 知識庫生成對話或對話的需求與 QA 相關,但在兩個方面有所不同。 首先,以“你有什麼建議嗎?”這樣的開放話題開始的對話或對話可以是公開討論。 其次,在某個步驟中響應話語需要回憶之前的上下文以確定涉及的實體。 知識庫將在識別遠程上下文中的依賴關系方面發揮重要作用。

為瞭處理 KB 和輸入/輸出序列之間的不同類型的關系,這些方法可以分為兩種方法,如圖 5 所示: (M1) 圍繞 KB 設計監督任務以進行聯合優化; (M2) 通過選擇 KB 或事實來增強合並。

4.1.1 M1:圍繞 KB 設計監督任務以進行聯合優化。

獲取、存儲和表示事實知識的知識庫 (KB) 可用於增強文本生成。 然而,設計有效的合並以實現所需的增強是一項挑戰,因為普通的 Seq2Seq 通常無法表示離散的孤立概念,盡管它們在學習平滑的共享模式(例如,語言多樣性)方面表現良好。 為瞭充分利用知識庫,我們的想法是在多個任務上聯合訓練神經模型。 例如,目標任務是生成答案序列,附加任務包括知識庫中的問題理解和事實檢索。 知識可以在統一的編碼器-解碼器框架設計中共享。 通常,問題理解和事實檢索是相關且有用的任務,因為可以解析問題以匹配(例如,字符串匹配、實體鏈接、命名實體識別)其主題和謂詞與知識庫中事實三元組的組件,以及 answer 是三元組的對象。 KBCopy 是第一個使用事實知識庫生成響應的工作 [29]。 在生成過程中,KBCopy 能夠從 KB 中復制單詞。 然而,直接從知識庫中復制相關詞是非常具有挑戰性的。 CoreQA 使用復制和檢索機制以端到端的方式生成答案序列 [48]。 具體來說,它有一個檢索模塊來理解問題並從知識庫中查找相關事實。 然後,問題和所有檢索到的事實被兩個獨立的編碼器轉換為潛在表示。 在解碼階段,通過對輸入序列和檢索到的事實進行聯合關註,將集成表示饋入解碼器。 圖 5(a) 演示瞭一個通用pipeline,它首先從知識庫中檢索相關的三元組,然後利用排名靠前的三元組進入生成過程。

圖 5. 左圖演示瞭檢索相關的三元組,然後使用它們進行生成; 右圖演示瞭使用 KL 來衡量先驗分佈和後驗分佈之間的接近程度。

4.1.2 M2:通過選擇知識庫或知識庫中的事實來增強合並。

理想情況下,事實的相關性與輸入和輸出序列相關性令人滿意,但在實際情況下並不總是如此。 蓮等解決瞭基於檢索模型(例如語義相似性)從知識庫中選擇相關事實的問題可能無法有效地實現適當的知識選擇 [74]。 原因是不同種類的選定知識事實可用於為相同的輸入話語生成不同的響應。 給定特定的話語和響應對,來自話語和響應的知識庫的後驗分佈可以為知識選擇提供額外的指導。 挑戰在於先驗分佈和後驗分佈之間的差異。 具體來說,該模型僅根據先驗分佈學習選擇有效知識,因此在推理過程中很難獲得正確的後驗分佈。

為瞭解決這個問題,Lian 等人[137]和吳等人[74]的工作(如圖 5(b)所示)使用先驗分佈近似後驗分佈,以便即使沒有後驗信息也能選擇適當的知識。 他們引入瞭一種稱為 KullbackLeibler 發散損失 (KLDivLoss) 的輔助損失來衡量先驗分佈和後驗分佈之間的接近程度。 KLDivLoss 定義如下:

其中 是檢索到的事實的數量。 當最小化 KLDivLoss 時,後驗分佈 ( | , ) 可以被視為應用先驗分佈 ( | ) 來近似 ( | , ) 的標簽。 最後,總損失寫為 KLDivLoss 和 NLL(生成)損失之和。

4.1.3 不同方法的討論與分析。

知識庫中的三元組與輸入序列之間的相關性在發現序列生成知識方面起著核心作用。 M1 中的方法通常遵循解析輸入序列、檢索相關事實的過程,隨後,可以根據輸入序列和先前檢索的事實生成知識感知輸出。 盡管通過使用記憶網絡 [82] 對 KB 進行建模得到瞭改進,但現有的 KG 增強方法仍然無法有效地選擇精確的三元組。

M2 的方法改進瞭事實的選擇,其中將真實響應用作後驗上下文知識來監督先驗事實概率分佈的訓練。 吳等。 使用精確匹配和召回來衡量檢索到的三元組是否用於生成目標輸出[136]。 表 4 顯示瞭 [136、137] 中報告的基於 M1 的方法和基於 M2 的方法的實體召回分數。 我們觀察到,與基於 M1 的方法相比,基於 M2 的方法可以大大提高三元組檢索的準確性以及生成質量。

KB 增強方法仍然存在挑戰。 一個是檢索到的事實可能包含嘈雜的信息,使生成不穩定 [61]。 這個問題在 NLG 任務中非常有害,例如,基於知識庫的問答和面向任務的對話系統,因為知識庫中的信息通常是響應中的預期實體。

4.2 知識圖增強的NLG

知識圖譜(KG)作為一種結構化的人類知識,引起瞭學術界和工業界的極大關註。 KG 是事實的結構化表示(又名知識三元組),由實體(或概念)、關系和語義描述組成 [58]。 “知識庫”和“知識圖譜”這兩個術語可以互換使用,但它們不一定是同義詞。 知識圖譜被組織為圖,因此實體之間的連接在其中是一等公民。 在 KG 中,人們可以很容易地遍歷鏈接來發現實體是如何相互連接來表達某些知識的。 人工智能研究的最新進展證明瞭在推薦系統等各種應用中使用知識圖譜的有效性 [127]。 接下來,我們介紹經過知識圖譜增強的流行 NLG 應用:

  1. 常識推理。 它旨在使機器能夠在生成過程中從知識圖譜中獲取人類常識。 這些方法利用常識 KG 的結構和語義信息,並在多跳關系路徑上執行推理,以便使用常識推理的證據鏈來增加有限的信息。 常識推理生成中的熱門任務包括溯因推理(例如, NLG 任務)[7, 57]、反事實推理 [56, 57] 和實體描述生成 [21]。
  2. 對話系統。 它經常將 KG 用於鏈接實體和關系中的語義 [97、121、151、159]。 對話可能會將焦點從一個實體轉移到另一個實體,將一個話語分成幾個部分,這些部分可以表示為連接實體及其關系的鏈接路徑。
  3. 創意寫作。 這個任務可以在科學的和講故事的領域找到。 科學寫作旨在逐步解釋自然過程和現象,因此每一步都可以反映為 KG 上的一個鏈接,整個解釋是一條路徑 [63, 130]。 在故事生成中,KG 中的隱性知識可以促進故事情節的理解,更好地預測下一個情節會發生什麼 [45,46,80]。

與分離、獨立的知識三元組相比,知識圖譜為模型提供瞭全面、豐富的實體特征和關系,克服瞭數據分佈的影響,增強瞭模型的魯棒性。 因此,節點嵌入和關系路徑在各種文本生成任務中發揮瞭重要作用。 相應的技術是知識圖嵌入(KGE)[131]和基於路徑的知識圖推理[17]。 此外,使用新興的圖神經網絡 (GNN) [138] 和圖到序列 (Graph2Seq) 框架 [6] 可以對知識圖譜中的多跳和高階關系進行編碼。

定義4.1(知識圖譜(KG))。知識圖譜(KG)是一個由實體和關系組成的有向和多關系圖,實體和關系被視為節點和不同類型的邊。形式上,一個KG被定義為G = (U, E, R),其中U是實體節點的集合,E⊆U×R×U是U中的節點與關系模式R中的某種關系之間的類型化邊的集合。

然後給定文本生成任務中的輸入/輸出序列,與序列相關聯的知識圖譜的子圖可以定義如下。

定義4.2(序列相關的K-跳子圖)。序列相關的K-跳子圖定義為 G_{ }=(U_{ }, E_{ b}, R) ,其中U 是通過實體鏈接函數 映射的實體節點集的聯合。U × X → U 以及它們在K-hops內的鄰居的聯合。同樣,E ⊆U × R × U 是U 中節點之間類型化邊的集合。

序列關聯子圖提供瞭任務數據(即序列)的圖形形式,從而能夠將知識圖譜和序列集成到圖算法中。

已經提出瞭許多方法來學習 KG 語義和輸入/輸出序列之間的關系。 它們可以分為四種方法,如圖 6 所示: (M1) 將知識圖譜嵌入到語言生成中; (M2) 將知識遷移到具有三元組信息的語言模型中; (M3) 通過尋路策略對知識圖譜進行推理; (M4) 用圖神經網絡改進圖嵌入。

圖 6. 將 KG 語義結合到文本生成中的四種典型方法。

4.2.1 M1:將知識圖譜嵌入到語言生成中。

知識圖嵌入 (KGE) 技術從 KG [131] 學習節點嵌入。 KGE 旨在從 KG 中的連接信息(即不同類型的關系)中捕獲實體節點之間的語義相關性。 主要思想是在低維向量空間 mathbb R^ 中表示實體和關系,其中 ≪ |U ∪ R|,以降低數據維度,同時保留 KG 的固有結構。 TransE [11] 是使用最廣泛的 KGE 技術。 在 TransE 中,給定一條 KG 邊 ( _ , , _ ) ,該關系被視為平移向量 r,因此嵌入實體 u_ u_ 可以以低平移誤差連接,即 u_ + r ≈ u_ 。 例如,對於一條知識邊 (Tokyo, IsCapitalOf, Japan) 我們有 overrightarrow{ } + overrightarrow{ } ≈ overrightarrow{ } 。 如圖 6(a) 所示,將 KGE 合並到 NLG 中的一種常見策略是將原始單詞表示 (x) 與來自 KGE [151、159] 的相應實體表示 (u) 連接起來。

4.2.2 M2:使用知識三元組信息將知識轉化為語言模型。

實體嵌入(來自 KGE)和詞嵌入(來自預訓練語言模型)的向量空間通常是不一致的 [80]。 除瞭簡單的連接之外,最近的方法還探索瞭直接在知識圖三元組上微調語言模型。 關等。 使用模板將常識三元組(在 ConceptNet 和 ATOMIC 中)轉換為可讀句子,如圖 6(b) 所示。 然後在轉換後的句子上對語言模型(例如 GPT-2)進行微調,以學習常識知識以改進文本生成。

4.2.3 M3:通過路徑尋找策略對知識圖譜進行推理。

KGE 通過某種語義相關性(例如 TransE)從單跳關系中學習節點表示。 然而,熊等人認為智能機器應該能夠對關系路徑進行顯式推理以做出多個相互關聯的決策,而不是僅僅將實體嵌入 KGs [141]。 以 QA 任務為例。 機器對知識圖譜進行推理,以處理沒有明顯答案的復雜查詢,推斷潛在的答案相關實體,並生成相應的答案。 因此,挑戰在於識別所需實體的子集並在響應中正確提及它們 [91]。 由於連接的實體通常遵循自然的概念線索,因此它們有助於生成合理且合乎邏輯的答案,以保持對話的吸引力和意義。 如圖 6(c) 所示,基於路徑的方法探索實體節點之間的各種連接模式,例如元路徑和元圖。 然後他們從 KGs 上的可行走路徑學習,為生成過程提供輔助指導。 基於路徑查找的方法主要分為兩類:(1)基於路徑排序的方法和(2)基於強化學習(RL)的路徑查找方法。

M3.1:路徑路由和排序。 路徑排序算法 (PRA) 作為一種在大型知識圖譜上學習和推斷路徑的有前途的方法出現 [65]。 PRA 使用隨機遊走來執行多個有界深度優先搜索過程來查找關系路徑。 結合基於彈性網絡的學習 [166],PRA 選擇合理的路徑並修剪非理想的,盡管實際上是正確的 KG 路徑。 例如,Tuan 等人。 在動態知識圖上提出瞭一種帶有 PRA 的神經對話模型 [121]。 在解碼階段,它在每個時間步選擇兩個網絡的輸出,一個通用 GRU 解碼器網絡和一個基於 PRA 的多跳推理網絡。 鮑爾等。 通過三步評分策略對路徑進行排序和過濾,以確保信息質量和多樣性:初始節點評分、累積節點評分和路徑選擇[5]。 季等。 啟發式地修剪實體節點之間的噪聲邊緣,並提出瞭一種路徑路由算法,以沿著多跳路徑將邊緣概率傳播到實體節點 [56]。

M3.2:基於強化學習的路徑尋找。 基於強化學習 (RL) 的方法使代理執行推理以在連續空間中找到路徑。 這些方法將各種標準納入其尋路獎勵功能,使尋路過程更加靈活。 熊等。 提出瞭 DeepPath,這是第一項采用馬爾可夫決策過程 (MDP) 並使用基於 RL 的方法在 KG 中尋找路徑的工作 [141]。 利用基於 RL 的 NLG 任務路徑查找通常包括兩個階段 [81、97]。 首先,他們將一個序列作為輸入,檢索 G 上的起始節點 0,然後進行多跳圖推理,最後到達包含輸出序列生成知識的目標節點 。 其次,它們通過兩個獨立的編碼器表示序列 和選定路徑Φ ( 0, )。 他們在輸入序列和選定路徑上解碼具有多源註意力的序列。 基於路徑的知識圖推理將 KG 的圖結構轉換為線性路徑結構,可以很容易地用序列編碼器(例如 RNN)[30、97、121] 表示。 例如,Niu 等人。 使用兩個獨立的 RNN 對選定路徑和輸入序列進行編碼,並使用基於通用註意力的 RNN 解碼器生成序列 [97]。 為瞭增強 RL 過程,Xu 等人。 提出瞭六個獎勵函數,用於在強化學習過程中訓練代理。 例如,這些函數尋找準確到達目標節點以及起始節點和目標節點之間的最短路徑,即最小化所選路徑的長度 Φ ( 0, ) [142]。

4.2.4 M4:使用圖神經網絡改進圖嵌入。

KGs 上相關實體周圍的上下文在理解實體和生成關於它們交互的適當文本方面起著重要作用 [46, 63]。 例如,在科學寫作中,重要的是要考慮分類法和/或科學知識圖的全局上下文中相關概念的相鄰節點 [63]。 然而,無論是 KGE 還是關系路徑都不能完全代表這些信息。 基於圖形的表示旨在聚合圖形數據的上下文/相鄰信息; GNN 模型的最新進展展示瞭基於圖的表示學習 [138] 的有前途的進步。 為瞭改進文本生成,圖到序列 (Graph2Seq) 模型在神經編碼器-解碼器架構中編碼 KG 的結構信息 [6]。 從那時起,GNN 在改進 NLG 模型方面一直發揮著重要作用。 它們已應用於編碼和解碼階段。

使用 GNN(編碼)學習 KG 感知輸入文本表示。 對於編碼階段,利用 GNN 合並 KG 的一般過程是通過將相應實體節點向量的向量與 KG 上的詞相結合來增強輸入文本中詞的語義 [46、54、150、151, 159]。 預定義的實體鏈接函數 :U×X→U 將輸入序列中的單詞映射到知識圖譜上的實體節點。 給定一個輸入序列, -hops 內的所有鏈接實體及其鄰居組成一個序列相關的 K-hop 子圖 G (在定義 4.2 中正式定義)。 對於 G 中的每個實體節點,它使用 KG 結構以及實體和邊緣特征(例如,語義描述,如果可用)來學習表示向量 u。 具體來說,GNN 模型遵循鄰域聚合方法,該方法通過聚合來自其相鄰節點和邊緣的信息來迭代更新節點的表示。 在 次聚合迭代之後,節點表示捕獲其 跳鄰域內的結構信息。 形式上,節點 ∈U 的第 層是:

子圖表示 h_{ } 是通過所有實體節點表示的 Readout(·) 函數學習的(即 h_{ } = Readout({ u^{( )} , ∈ U_{ }}) )。周等是第一個設計這樣的知識圖解釋器以使用圖註意力網絡(GAT)[159] 在 ConceptNet 上用相鄰概念豐富上下文表示的人。

動態參與 KG 表示(解碼)。 序列解碼器使用註意機制從 KG 的表示以及輸入文本的隱藏狀態中找到有用的語義,其中 KG 的表示通常由 GNN 生成。 特別地,隱藏狀態通過子圖表示 h_{ } 增強,即 s_0 = h_ ⊕ h_{ } [6]。 然後,解碼器仔細讀取檢索到的子圖以獲得圖形感知上下文向量。 然後它使用向量更新解碼狀態 [46、57、80、151、159]。 它自適應地從檢索到的子圖中選擇一個通用詞或一個實體來生成輸出詞。 由於單獨的圖級註意力可能會忽略細粒度的知識邊緣信息,因此最近的一些方法采用瞭層次圖註意力機制 [46, 80, 159]。 它仔細閱讀檢索到的子圖 G_{ } ,然後仔細閱讀 G 中涉及的所有知識邊 E 。 季等根據解碼狀態 [57] 添加瞭反映知識邊緣相關性的相關性分數。

4.2.5 方法與方法的討論與分析。

優點和缺點。 知識圖嵌入(Knowledge graph embedding,M1)是最早嘗試將 KG 的組件(包括實體和關系)嵌入到連續向量空間中,並使用它們來改進文本生成。 這些實體和關系嵌入可以簡單地用於豐富輸入文本表示(例如,連接嵌入),橋接從潛在空間中的輸入文本鏈接的實體詞之間的連接。 因為圖投影和文本生成是作為兩個獨立的步驟執行的,所以來自知識圖的嵌入向量和來自輸入文本的隱藏狀態位於兩個不同的向量空間中。 該模型必須學會彌合差距,這可能會對文本生成的性能產生負面影響。

在 KG 三元組 (M2) 上微調預訓練語言模型可以消除兩個向量空間之間的差距。 然而,M1 和 M2 有兩個缺點。 首先,它們隻保留 KG 中直接(單跳)關系的信息,例如 M1 中的成對接近和 M2 中的 KG 三元組,但忽略瞭概念的間接(多跳)關系。 間接關系可以為某些文本生成任務提供復雜推理的似是而非的證據。 其次,從 KG 以 M1 或 M2 方法編碼時起,生成模型將不再能夠訪問 KG,而是訪問它們的連續表示。 那麼這些模型就不能支持像下遊任務的常識 KG 推理這樣的推理。 由於這兩個原因,M1 和 M2 通常用於創建基本的 KG 表示,KG 路徑推理 (M3) 和 GNN (M4) 可以進一步豐富隱藏狀態 [151、159]。

KG 推理 (M3) 的尋路方法在 KG 上執行單跳關系之外的多跳行走。 它支持許多文本生成場景所需的推理,例如常識推理和會話問答。 同時,它為整個生成過程提供瞭更好的可解釋性,因為 KG 推理算法選擇的路徑將被顯式地用於生成。 但是,由於數量限制,所選路徑可能無法捕獲推理過程的完整上下文。 此外,基於強化學習的路徑查找使用啟發式獎勵來驅動策略搜索,使模型對噪聲和對抗性示例敏感。

與考慮多跳路徑的M3相比,GNN和Graph2Seq(M4)的算法可以有效地聚合KG上多跳鄰域的語義和結構信息。因此,廣泛的相關信息可以直接嵌入到編碼器/解碼器的隱藏狀態中。同時,M4實現瞭反向傳播,以共同優化文本編碼器和圖形編碼器。此外,GNN和Graph2Seq中應用的註意機制(如圖註意)可以在一定程度上解釋模型的輸出,盡管M3的多跳路徑具有更好的可解釋性。

與 M1 和 M2 相比,M3 和 M4 能夠使用多跳關系信息。 然而,它們有兩個弱點。 首先,它們比 M1 和 M2 具有更高的復雜性。 在 M3 中,由於知識圖的大尺寸和稀疏性,尋路算法的動作空間可能非常大。 在 M4 中,解碼器必須仔細閱讀輸入序列和知識圖。 其次,M3 和 M4 檢索的子圖可能對生成輸出的有用概念的覆蓋率較低。 例如,人們使用廣泛使用的常識 KG ConceptNet 來檢索三個生成常識推理任務的子圖。 任務數據集是 ComVE [57]、 -NLG [7] 和 ROCSories [46]。 我們發現輸出中 25.1% / 24.2% / 21.1% 的概念可以在 ConceptNet 上找到,但輸出中隻有 11.4% / 8.1% / 5.7% 的概念可以在檢索到的 2-hop 序列相關子圖中找到, 分別。 這意味著在生成過程中沒有使用 KG 上的很大一部分相關概念。

定量分析。 表 5 總結瞭現有 KG 增強工作中使用的任務、數據集和 KG 源。 應該提到三件重要的事情。 首先,表中的所有數據集都是公開的,我們將它們的鏈接包含在表 11 中。CommonGen [76]、ComVE [124] 和 -NLG [7] 有一個公開的競爭排行榜。 其次,對於 KG 源,我們觀察到八篇 (57.1%) 論文使用 ConceptNet 作為外部資源,而六篇 (42.9%) 論文從特定領域的語料庫構建瞭自己的 KG。 例如,Koncel 等人。 通過應用 SciIE 工具(科學領域信息提取)[63] 創建瞭一個科學知識圖譜。 此外,趙等人。 比較瞭使用 ConceptNet 和使用自建 KG 的模型性能,發現使用自建 KG 的模型可以更好地處理故事生成和評論生成任務 [156]。 第三,我們觀察到 KG 增強的 NLG 方法在生成常識推理任務上取得瞭最大的改進,其中 ΔBLEU 的平均改進為 +2.55%,而在所有不同任務上的平均改進為 +1.32%。

定性分析。 表 6 從三個維度比較瞭不同的 KG 增強方法:多跳信息聚合、多跳路徑推理和輔助知識圖譜相關任務。 M3 通常用於多跳路徑推理,M4 用於多跳信息聚合,除瞭 CCM [159] 僅聚合單跳鄰居。 此外,輔助 KG 相關任務通常用於進一步幫助模型從 KG 學習知識。 例如,[56、57、81] 中的消融研究表明,路徑選擇、概念選擇和鏈接預測的任務可以進一步提高生成性能。 GRF [57] 同時學習這三種能力。 它在三個生成任務上實現瞭最先進的性能。

4.3 Grounded Text增強的NLG

以知識為基礎的文本(Knowledge-grounded Text)是指可以提供與輸入序列相關的額外知識的文本信息。 文本信息可能無法在訓練語料庫或結構化數據庫中找到,但可以從在線資源的海量文本數據中獲取。 這些在線資源包括百科全書(例如維基百科)、社交媒體(例如推特)、購物網站(例如亞馬遜評論)。 以知識為基礎的文本在理解輸入序列及其周圍上下文中起著重要作用。 例如,維基百科文章可能會為輸入文本提供文本解釋或背景信息。 亞馬遜評論可能包含回答產品相關問題所需的必要描述和評論。 推文可能包含人們對事件的評論和摘要。 因此,基於知識的文本通常被視為重要的外部知識來源,以幫助進行各種 NLG 應用。 接下來,我們介紹基於知識的文本增強的流行 NLG 應用程序:

  1. 對話系統。 建立一個完全由數據驅動的對話系統是困難的,因為大多數通用知識都沒有出現在訓練語料庫中 [42]。 普遍知識的缺乏大大限制瞭完全數據驅動的生成方法的吸引力,因為它們必然會回避或有缺陷地做出反應,並且很少包含有意義的事實內容。 為瞭在響應中註入事實信息,智能機器需要獲得必要的背景信息以產生適當的響應。
  2. 總結。 完全依賴於輸入文本的 Seq2Seq 模型有時會“失去控制”。 例如,3% 的摘要包含少於三個單詞,4% 的摘要重復一個單詞超過 99 次,如 [13] 中所述。 此外,Seq2Seq 模型通常專註於按準確順序復制源詞,這在抽象摘要中通常不是最優的。 因此,利用與輸入文檔相似的文檔摘要作為模板可以為摘要過程提供參考[13, 129]。
  3. 問答(QA)。 通常很難僅根據給定的問題生成正確的答案。 例如,在不瞭解亞馬遜產品的任何信息的情況下,很難對用戶提出的“這款筆記本電池續航時間長嗎?”等問題做出滿意的回答。 或者“這冰箱是無霜的嗎?” 因此,產品描述和客戶評論可以作為回答產品相關問題的參考 [9, 16]。

為瞭處理基礎文本和輸入/輸出序列之間的不同類型的關系,這些方法可以分為兩種方法,如圖 7 所示:(M1) 使用檢索到的信息指導生成; (M2) 將背景知識建模為響應生成。

圖 7. 左圖演示瞭檢索相關文檔,然後將其用於生成; 右圖演示讀取背景文件進行轉換。

4.3.1 M1:RAG-利用檢索信息指導生成。

由於訓練語料庫中沒有呈現以知識為基礎的文本,因此一種想法是根據輸入文本從外部來源檢索相關文本信息(例如,評論、相關文檔、摘要模板),並將檢索到的紮根文本合並到 生成過程。 這個過程類似於在文本生成任務中設計知識獲取和 KB 和 KG 的合並。 不同之處在於地面文本是非結構化且嘈雜的。 因此,研究人員設計瞭知識選擇和整合方法來應對挑戰。 根據階段的數量,我們進一步將相關方法分為兩類:retrieve-then-generate(也稱為retrieval-augmented generation,簡稱RAG,在許多現有論文[64,68,99]中)方法(2- 階段方法)和檢索、重新排序和重寫方法(3 階段方法)。

M1.1:檢索增強生成(RAG)。 RAG 遵循兩個階段的過程:檢索和生成。 特別地,如圖 7(a) 所示,檢索器 ( | ) 首先返回(通常是 top-K 截斷的)給定查詢 的文本段落分佈,然後生成器 ( _ | , , _{1 : −1}) 根據先前標記 _{1: −1} 、原始輸入 和檢索到的段落 的上下文生成當前標記。 檢索事實或評論片段的方法多種多樣,包括從命名實體索引的原始文本條目集合中進行匹配 [42]; 通過統計方法(例如 BM25 [27])或基於神經的檢索方法(例如密集段落檢索 (Dense Paragraph Retrieval, DPR) [68])對大型集合中的相關文檔進行評分。 為瞭訓練檢索器和生成器,現有的大部分工作都聯合優化瞭這兩個組件,而沒有直接監督應該檢索什麼文檔 [64、68]。 然而,通過要求人類專傢標記應該檢索的文檔並添加檢索損失(導致多任務學習設置),生成性能可以大大提高 [27, 61],盡管標記過程是非常耗時耗力的任務。

Ghazvininejad 等人提出瞭一種以知識為基礎的神經對話模型(KGNCM),這是第一個從 Foursquare 和 Twitter 檢索評論片段的工作。 然後它將片段合並到對話響應生成中 [42]。 它使用端到端記憶網絡 [116] 根據選定的評論片段生成響應。 Lewis等通過利用預訓練的神經檢索器和生成器,引入瞭通用檢索增強生成 (RAG) 框架。 它可以很容易地在下遊任務上進行微調,並且已經在各種知識密集型 NLG 任務上展示瞭最先進的性能 [68]。 最近,融合解碼器方法(即,解碼器對所有檢索到的段落 [72、145] 的結果表示的串聯進行關註)甚至可以勝過 KILT 基準測試 [99] 中報告的 RAG。

M1.2:檢索、重新排序和重寫 (Retrieve, rerank and rewrite, ^3 )。 與 RAG 不同,基於 ^3 的方法有望檢索到可直接用於重寫/編輯的最精確的參考文檔。 基於 ^3 的方法已在許多 NLG 任務中證明是成功的,例如機器翻譯 [44] 和摘要 [13、129]。 在摘要中,純粹依賴輸入文檔生成摘要的 Seq2Seq 模型往往會隨著單詞生成的積累而惡化,例如,它們經常生成不相關和重復的單詞 [13, 129]。 基於模板的摘要假設相似句子(即模板)的黃金摘要(golden summary)可以提供一個參考點來指導輸入句子摘要過程 [13, 129]。 這些模板通常被稱為軟模板,以區別於傳統的基於規則的模板。 基於軟模板的摘要通常遵循三步設計:檢索、重新排序和重寫。 檢索步驟旨在從摘要集合中返回一些候選模板。 重新排序從檢索到的候選人中識別出最佳模板。 並且重寫利用源文檔和模板來生成更忠實和信息豐富的摘要。

RAG和 ^3 的區別。與 ^3 -based 方法相比,RAG-based 有幾個不同之處,包括不太強調對檢索到的項目進行輕微編輯,而是強調從幾條檢索到的內容中聚合內容,以及學習潛在檢索,檢索證據文件而不是相關的訓練對。

4.3.2 M2:BBC-將背景知識建模到響應生成中

背景文檔具有更全面的知識,通常用於生成信息豐富的響應並確保對話不偏離其主題。 以背景文檔為基礎進行對話稱為基於背景的對話 (background based conversation, BBC) [9, 90]。 背景知識在人與人的對話中起著重要作用。 例如,當談論一部電影時,人們通常會回憶起重要的要點(例如,關於電影的場景或評論)並在對話上下文中適當地提及它們。 因此,智能 NLG 模型有望找到合適的背景片段並根據片段生成響應。 如圖 7(b) 所示,BBC 的任務通常與機器閱讀理解 (Machine Reading Comprehension, MRC) 進行比較,其中從背景文檔中提取跨度作為對問題的回答 [105]。 然而,由於 BBC 需要生成自然流暢的響應,因此挑戰不僅在於在背景中定位正確的語義單元,還在於在解碼階段在正確的時間正確的位置引用正確的背景信息。

由於 MRC 模型將多個文本片段結合在一起以提供統一且真實的答案,許多 BBC 模型使用相同的想法來連接不同的信息片段並找到合適的背景知識,以此為基礎生成下一個響應 [87, 101] 。例如,秦等人提出瞭一種端到端的對話模型,該模型聯合學習響應生成和按需機器閱讀 [101]。 MRC 模型可以通過將輸入話語視為典型 QA 任務(例如 SQuAD [105])中的問題並將背景文檔編碼為上下文來有效地對其進行編碼。 然後,他們將話語感知背景表示作為解碼階段的輸入。

4.3.3 不同方法的討論與分析。

優點和缺點。 對於 M1,通過要求模型決定在語言生成過程中檢索和使用哪些知識,使用檢索到的信息指導生成明確地揭示瞭世界知識的作用。 由於檢索增強生成 (RAG) 以可解釋和模塊化的方式捕獲知識,因此它通常用於知識密集型任務,例如長格式 QA 和參數生成。 然而,知識檢索器需要從大規模語料庫中檢索文檔,例如整個維基百科,這會帶來巨大的計算挑戰。 此外,一個輸入通常需要檢索到的文本,其數量遠大於輸入本身(如表 7 所示),導致生成模型的信息量過大。

對於 M2,基於背景的對話 (BBC) 避免在對話系統中生成通用響應,並且能夠通過探索相關背景信息來生成更多信息響應。 然而,現有方法仍然無法有效解決固有問題,例如往往會破壞完整的語義單元並生成較短的響應 [87]。

5 基準、工具包和排行榜表現

文本生成通用評價基準的開發有助於促進相關領域研究的發展。 現有的文本生成基準並沒有特別關註選擇已廣泛用於知識增強文本生成的任務和數據集。 因此,我們重新篩選瞭現有的四個文本生成基準,即 GLGE [77]、GEM [40]、KilT [99]、GENIE [60],並確定瞭 9 個用於評估知識增強 NLG 方法的基準數據集。 以下是我們的選擇標準:

  • 我們隻考慮具有開放訪問下載鏈接的基準數據集。
  • 我們專註於涉及多種應用的各種文本生成任務。
  • 我們為每個文本生成任務選擇最多三個基準數據集。
  • 我們包含瞭以內部和外部知識為中心的數據集。
  • 我們更喜歡多參考(mutli-reference)數據集以進行穩健的自動評估。

基於基準選擇標準,我們最終確定瞭 9 個以知識為中心的任務,涵蓋各種 NLG 任務,包括常識推理、文本摘要、問題生成、生成式問答和對話。 數據統計如表9所示。描述和數據集鏈接如下:

  • 維基百科向導(WOW):這是一個開放域對話數據集,其中兩個說話者進行直接基於從維基百科檢索的知識的開放式轉換。 (數據鏈接:https://parl.ai/projects/wizard_of_wikipedia/)
  • CommonGen:這是一個生成式常識推理數據集。 給定一組通用概念,任務是生成一個連貫的句子來描述使用這些概念的日常場景。 (數據鏈接:https://inklab.usc.edu/CommonGen/)
  • NLG-ART:這是一個生成式常識推理數據集。 鑒於對世界的不完整觀察,任務是針對部分可觀察的過去和未來的可能解釋生成一個有效的假設。 (數據鏈接:http://abductivecommonsense.xyz/)
  • ComVE:這是一個生成性常識推理數據集。 任務是在給定意義建構的反事實陳述的情況下生成解釋。 (數據鏈接:https://github.com/wangcunxiang/SemEval2020-Task4-Commonsense-Validation-and-Explanation
  • ELI5:是長篇問答的數據集,任務是對問題產生解釋性的多句回答 多樣化的問題。網絡搜索結果被用作證據文件來回答問題。(數據鏈接:https://facebookresearch.github.io/ELI5/)
  • SQuAD:它是一個用於答案感知問題生成的數據集。任務是 根據給定的文本段落或文檔生成針對給定答案跨度的問題。(數據鏈接:https://github.com/magic282/NQG)
  • CNN/DailyMail (CNN/DM):它是用於摘要的數據集 .給定一篇新聞文章,目標是生成一個摘要,代表原始內容中最重要或相關的信息。(數據鏈接:https://www.tensorflow.org/datasets/catalog/cnn_dailymail)
  • Gigaword:它 是一個summarization數據集,和CNN/DM類似,目標是生成一篇新聞文章的標題。(數據鏈接:htt ps://http://www.tensorflow.org/datasets/catalog/gigaword
  • PersonaChat:它是一個開放域對話數據集。 它提出瞭通過以個人資料信息為條件使聊天更具吸引力的任務。 (資料鏈接:https://github.com/facebookresearch/ParlAI/tree/master/projects/personachat)

表 9. 我們選擇瞭 9 個知識增強的 NLG 基準數據集。 這些數據集已包含在四個現有的通用 NLG 基準(即 GLGE [77]、GEM [40]、Kilt [99]、GENIE [60])或 SemEval 任務中。

已經進行瞭許多努力來解決知識增強文本生成及其相關應用的問題。 為瞭推進該領域,仍然存在幾個懸而未決的問題和未來的方向。 設計更有效的方式來表示知識並將其集成到生成過程中仍然是知識增強的 NLG 系統中最重要的趨勢。 從更廣泛的角度來看,我們提供瞭三個方向,使這些努力現在變得值得:(i)將知識整合到視覺語言生成任務中,(ii)從更廣泛的來源學習知識,特別是預訓練語言模型,(iii)從有限的資源中學習知識,(iv)以持續的方式學習知識。

6.1 將知識融入視覺語言生成任務

除瞭文本到文本生成任務,近年來人們對視覺語言 (VL) 生成任務越來越感興趣,例如描述視覺場景 [49] 和回答與視覺相關的問題 [85]。 盡管近年來在 VL 生成任務上取得瞭成功,但由於基於圖像的事實描述通常不足以生成高質量的說明或答案,因此仍有改進的空間 [162]。 可以添加外部知識以生成有吸引力的圖像/視頻字幕。 我們觀察到一些先驅工作試圖利用外部知識來增強圖像/視頻字幕任務。 例如,Tran 等人。 建議通過使用外部知識庫(即 Freebase)來檢測一組不同的視覺概念並生成說明,以識別范圍廣泛的實體,例如名人和地標 [120]。 周等。 使用常識知識圖(即 ConceptNet)來推斷一組與描述對象識別模塊在場景中找到的對象的詞直接或間接相關的術語 [162]。 此外,毛等人。 [85] 提出瞭一種神經符號學習器來改進視覺語言生成任務(例如,視覺問答)。

然而,現有的知識增強視覺語言生成任務的方法仍有很大的探索空間。 未來工作的一些有前途的方向包括使用其他知識來源,例如檢索圖像/文本以幫助解決開放域視覺問答和圖像/視頻字幕任務; 帶來結構化知識,為他們制作的字幕提供理由,為不同的觀眾和背景定制字幕等。

6.2 從更廣泛的來源學習知識

應該把更多的研究精力花在學習上,以更廣泛地發現知識,並將來自不同來源的多種形式的知識結合起來,以改進生成過程。 更多的知識來源可以是但不限於網絡結構、字典和表格。 例如,Yu 等人。 [147] 和 An 等人。 [2] 通過引入引文圖增強瞭科學論文意圖檢測和總結的任務; 餘等。 通過從 Wiktionary 中檢索它們的描述並將它們作為額外輸入提供給預訓練語言模型 [148] 來增強稀有詞表示。 此外,結構化知識和非結構化知識可以在增強文本生成方面發揮互補作用。 為瞭提高知識豐富度,Fu 等人。 結合結構化(知識庫)和非結構化知識(基礎文本)[34]。

利用來自預訓練語言模型的知識。 預訓練的語言模型可以從數據中學習大量深入的知識,而無需訪問外部存儲器,作為參數化的隱式知識庫 [68, 104]。 然而,正如[45]中提到的,直接在故事生成任務上微調預訓練的語言生成模型仍然存在知識不足的問題,因為通過預訓練的編碼器表示輸入文本,導致重復、邏輯沖突和缺乏 生成的輸出序列中的長程相幹性。 因此,從預訓練語言模型中發現知識可以更加靈活,例如知識蒸餾、數據擴充以及使用預訓練模型作為外部知識[100]。 預計會有更有效的方法從預訓練的語言模型中獲取知識。

6.3 從有限的資源中學習知識

機器學習期望持續學習,積累在先前任務中學到的知識,並用它來輔助未來的學習。 這個研究方向被稱為終身學習[20]。 在此過程中,智能機器的知識越來越豐富,學習新知識的效率也越來越高。 打個比方,人類不斷獲取新知識,不斷更新大腦中的知識體系。 然而,現有的知識增強文本生成系統通常不會實時更新知識(例如,知識圖譜擴展)。 [86] 中討論瞭一個有意義的探索。 他們為聊天機器人構建瞭一個通用知識學習引擎,使它們能夠在對話中持續地、交互式地學習新知識。 因此,不斷更新從各種信息源獲得的知識,為智能機器提供新的知識,提高新文本生成任務的性能,是一個很有前途的研究方向。

7 結論

在本次調查中,我們全面回顧瞭當前關於知識增強文本生成的代表性研究工作和趨勢,並期望它可以促進未來的研究。 總而言之,本次調查旨在回答知識增強文本生成中常見的兩個問題:如何獲取知識以及如何整合知識以促進文本生成。 基於知識獲取,我們調查的主要內容根據不同的知識增強來源分為三個部分。 在知識整合的基礎上,我們首先介紹瞭將知識整合到文本生成中的一般方法,並進一步討論瞭一些具體的想法和技術解決方案,將知識整合到每個部分中以增強文本生成系統。 此外,我們在每個部分回顧瞭各種文本生成應用程序,以幫助從業者學習選擇和使用這些方法。

赞(0)