論文淺嘗 | 利用指針生成網絡的知識圖譜自然語言生成

論文筆記整理:譚亦鳴,東南大學博士,研究方向爲知識圖譜問答。


 

     

來源:Neurocomputing 382: 174-187 (2020)

鏈接:https://www.sciencedirect.com/science/article/abs/pii/S0925231219316820?via%3Dihub

 

指針生成網絡在自然語言生成任務上表現出不錯的性能,本文主要介紹的是自動生成KG中entity的描述生成任務,目標是對於輸入的(來自KG)的entity及其屬性(屬性可以分爲多種類型的slot)生成對應的自然語言文本描述。爲了更加準確的利用自然語言生成過程中的copy機制(何時以及在什麼位置copy源語言的內容),作者提出了一種可適應的指針生成網絡模型KG2TEXT,在Person與Animal(來自WikiData,由Wang et al.提出的一種用於KG描述生成的數據集)的實驗結果表明,該模型的性能達到了目前最優。

 

動機

實體描述生成(或者說幾乎所有的自然語言生成)普遍存在的一個問題是新詞的生成(或者說OOV),目前普遍的做法是將這些無法翻譯(轉換)的詞通過copy添加到目標生成文本中。但是在生成過程的什麼時候(when)以及什麼位置(where)融合copy信息,是目前存在的一個挑戰(無法準確處理when和where可能造成信息的重複生成或丟失)。因此,作者提出了一種基於可適應指針生成網絡的模型,利用可變的覆蓋損失函數在生成自然語言描述時儘可能多的覆蓋實體的“屬性-值”對。此外,作者還提出了一種“監督注意力機制”用於引導模型在生成時的判斷(生成或複製)。

 

 

模型框架

首先對指針生成網絡做一個簡單的說明,這是一種混合了傳統seq2seq和pointnetwork的網絡,下圖對比了seq2seq原始模型(上)與指針生成網絡(下)的框架差異(圖片摘自論文“Get To The Point: Summarization with Pointer-Generator Networks”https://arxiv.org/pdf/1704.04368.pdf),相比原始seq2seq,後者利用PointerNetwork的copy能力得到一個擴充的單詞表(增加了源語言中的詞)從而得到一組新的生成詞分佈,通過Pgen權重決定當前輸出是該生成還是複製。

          

             

KG2TEXT的整體模型框架如下圖所示,與上面的框架相比,主要的差異表現在編碼器部分增加了slot type attention(用於識別KG中entity屬性的類型),position attention(用於處理KG中1對多的屬性),attention distribution部分使用了可變覆蓋損失函數,以及在生成最終分佈的部分添加了Supervised attention。

             

以往提出的覆蓋函數通過聚合過去每一步輸入的attention結果(公式10),用於避免重複的copy,但是作者認爲這種方式無法保證所有的values都被涵蓋在生成文檔中,因此作者提出了新的覆蓋損失函數(公式11),確保每個value能且只能被複制一次。(其機制如下圖所示)

             其中,              

             

             

爲了判斷生成詞應該通過複製還是生成,作者引入了監督attention,如表3所示,在訓練過程中,對於每一個訓練集中的目標段落,作者添加了一個指示標記ychoose生成的詞爲1,複製的爲0,監督attention 的損失通過二元交叉熵損失函數實現:

             

             

 

實驗和結果

作者使用了Wang et al.提出的Person及Animal的數據集用於實體描述生成任務,統計信息如表4所示:

             

本文實驗對照的兩個baseline:原始Seq2Seq,帶有slot類型與位置attention的指針生成網絡

表5展示了對比的生成模型性能(評價指標爲BLEU, ROUGE, CIDEr):

             

 

圖3展示了兩個數據集上,各模型的召回率表現:

             

 


 

OpenKG

開放知識圖譜(簡稱 OpenKG)旨在促進中文知識圖譜數據的開放與互聯,促進知識圖譜和語義技術的普及和廣泛應用。

點擊閱讀原文,進入 OpenKG 博客。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章