摘要
基於結構化資料生成文字(data-to-text)的任務旨在生成人類可讀的文字來直觀地描述給定的結構化資料。然而,目前主流任務設定所基於的資料集有較好的對齊 (well-aligned)關係,即輸入(i.e. 結構化資料)和輸出(i.e. 文字)具有相同或很接近的資訊量,比如 WebNLG 當中的輸入 triple set 和輸出文字所描述的知識完全匹配。但是,這樣的訓練資料製作困難且成本很高,現有的資料集只限於少數幾個特定的領域,基於此訓練的模型在現實應用中存在較大的侷限性。
因此,我們提出了基於部分對齊(partially-aligned)樣本的文字生成任務。部分對齊資料的優勢在於獲取門檻低,可以用自動或半自動方式構造,因而更容易擴充到更多的領域。我們考慮了兩個對偶的部分對齊場景,即輸入資料多於文字描述和文字描述多於輸入資料。
對於資料多於文字的情況,我們釋出了 ENT-DESC 資料集 [1],並且針對資料中存在冗餘資訊的問題,我們提出了多圖卷積神經網路 (Multi-Graph Convolutional Network)模型來抽取重要資訊,生成更為凝練的文字描述。
對於文字多於資料的情況,我們釋出了 WITA 資料集 [2],並且針對訓練樣本中文字的多餘資訊,提出了遠端監督生成(Distant Supervision Generation)框架,以確保基於非嚴格對齊樣本訓練的模型,在應用中能夠如實地生成給定資料的描述。
基礎模型層面,本文將介紹我們提出的輕量、動態圖卷積網路 (Lightweight, Dynamic Graph Convolutional Networks),簡稱 LDGCN [3],可以有效的融合圖結構中來自不同階節點的資訊,進而學習更優的圖表示,並提升下游文字生成的效果。
參考文獻
[1] ENT-DESC: Entity Description Generation by Exploring Knowledge Graph. Liying Cheng, Dekun Wu, Lidong Bing, Yan Zhang, Zhanming Jie, Wei Lu, Luo Si. EMNLP, 2020.
[2] Partially-Aligned Data-to-Text Generation with Distant Supervision. Zihao Fu, Bei Shi, Wai Lam, Lidong Bing, Zhiyuan Liu. EMNLP, 2020.
[3] Lightweight, Dynamic Graph Convolutional Networks for AMR-to-Text Generation. Yan Zhang, Zhijiang Guo, Zhiyang Teng, Wei Lu, Shay B. Cohen, Zuozhu Liu, Lidong Bing. EMNLP, 2020.
一、非嚴格對齊的文字生成:輸入資料多於文字描述
論文標題:
ENT-DESC: Entity Description Generation by Exploring Knowledge Graph
論文連結:
https://www.aclweb.org/anthology/2020.emnlp-main.90.pdf
資料程式碼連線:
https://github.com/LiyingCheng95/EntityDescriptionGeneration
1.1 任務設定
本篇論文的基本出發點是提出一個實用的主題化文字生成任務設定,而這個設定下構造的資料集具有輸入資料多於生成文字的特點。現有結構化資料到文字生成的任務要求輸出的資訊在輸入的結構化資料中有很充分的體現,比如 WebNLG 資料集 [1] 等。
這樣的任務設定和資料準備在實際應用中均有一定的侷限性。而本篇論文所提出的主題化實體描述生成,是在給定一個主實體(main entity)的前提下,透過利用該實體的多個附屬主題實體(topic-related entity),對生成的主實體描述進行一定的導向和限制,使其符合某一主題。
上圖例子中,紅色框內是輸入的主實體(Bruno Mars)和多個附屬主題實體(funk, rock, R&B 等),目標是生成符合這一特定主題的文字描述,如藍色方框所示,來介紹 Bruno Mars 其人以及其音樂風格等。為了使生成的描述符合現實世界的知識,我們依據輸入實體,有選擇性地利用知識圖譜中關於這些實體的知識,如綠色方框所示,輔助生成該實體的主題化描述。本任務相較於現有的生成任務更具有實用性和挑戰性。
1.2 ENT-DESC資料集
基於這樣的任務設定,本篇論文提出了一個新的資料集 ENT-DESC。此資料集採用了較為普遍和常規的維基百科資料集和 WikiData 知識圖譜。
首先,我們用 Nayuki 的工具(https://www.nayuki.io/page/computing-wikipedias-internal-pageranks)去給超過 990 萬維基百科頁面計算 PageRank。然後我們根據 PageRank 排名,選用了來自於四種主要領域的 11 萬主實體名詞,以及維基百科第一段文字中帶有超連結的名詞作為附屬主題實體。
我們即用每個維基百科頁面的第一段文字作為輸出。另外我們利用已有知識圖譜 Wikidata,選取了主實體的相鄰實體,以及主實體和附屬主題實體間的 1 跳和 2 跳路徑。據我們所知,ENT-DESC 是現有知識圖譜生成文字的類似資料集中規模最大的。其與部分現有資料集的比較如下圖所示。
此資料集的一大特性為輸入中包含輸出內容以外的資訊,因此要求模型可以有效選取輸入中更為有用的資訊去做生成。有關 ENT-DESC 資料集以及其更詳細的準備和處理步驟可參閱:
https://github.com/LiyingCheng95/EntityDescriptionGeneration/tree/master/sockeye/data/ENT-DESC%20dataset
1.3 MGCN模型
在模型層面,現有序列到序列的文字生成模型不能夠很好地利用圖的結構與資訊,而圖到序列模型 [2] 將圖中實體間的關係變為實體的引數,此類模型遇到資訊丟失和引數過多的問題。有論文提出了 Levi 圖轉換方法 [3],即將原始圖中的關係轉化成點,以用於解決前面提到的問題。但是 Levi 圖轉化仍然有它自己的缺陷。
在 Levi 圖中,我們不能很好的區分哪些點是原始圖中的實體或關係,並且實體間的直接聯絡在 Levi 圖中被忽略。另外,不同型別的邊被融合在 Levi 圖中一起學習,不能很好地區分不同型別邊的不同重要性。
為了解決現有模型在本篇論文提出的知識圖譜驅動實體文字描述生成的任務上的缺陷,本篇論文采用了編碼-解碼架構(encoder-decoder),提出了一種基於多圖卷積神經網路(Multi-Graph Convolutional Network)的文字生成模型。
在多圖編碼器(Multi-Graph Encoder)中,不同於傳統的圖編碼器,我們疊加了多層多圖卷積神經網路。每層多圖卷積神經網路的結構如左圖所示。我們先將輸入圖嵌入轉化為 6 個不同圖的鄰接矩陣,分別放入 6 個圖編碼器,以此得到 6 個包含不同型別資訊的圖嵌入。繼而將這些圖嵌入進行聚合運算,得到下一層的圖嵌入。
解碼器(decoder)是一個基於標準的長短時記憶網路(LSTM)的文字生成模型。本篇論文中的解碼器對於在編碼過程中學習到的隱藏子圖的特徵與結構資訊進行解碼,並生成相應的描述文字。此模型結構有效避免了資訊丟失和引數過多的問題,有選擇性地捕捉了多圖中的重要資訊並進行了有效聚合。
上圖展示了多圖轉化的過程。類似於 Levi 圖轉化的過程,我們將原始圖中的邊轉化為點。
(1)在 g1:self 圖中,我們給所有的點加一條自迴圈的邊。(2)在 g2:default1 圖中,我們把點和邊按原始圖中的預設順序進行連線。(3)在 g3:reverse1 中,我們將 g2 中的邊進行反向連線。(4)在 g4:default2 中,我們將點和點之間按預設順序連線。(5)類似地,在 g5:reverse2 中,我們將點和點之間的邊反向相連。(6)最後,我們額外加了全域性點(gnode),並把它與圖中其他所有點按圖中方向相連。
它的創新之處在於將原始圖中的點到點、點到邊的正向與反向資訊明確地表示在不同圖中,這樣簡單明瞭的轉化過程對多圖卷積神經網路中的學習起到了巨大的幫助作用。
1.4 主要實驗結果
我們在本篇論文所提出的 ENT-DESC 資料集和 WebNLG 資料集上均實驗了提出的模型。下圖是我們在 ENT-DESC 資料集上的主要實驗結果。
我們與序列到序列生成模型及多種圖到序列生成模型在多種評測標準上均做了比較。從表格和圖中,我們可以觀察到,現有圖到序列模型可以達到 BLEU 值 24.8,現有深層圖到序列模型[4] 的 BLEU 值為 24.9。而我們的多圖神經網路結構在 6 層時可以達到 25.7 的 BLEU 值,加上聚合運算後可以達到 26.4。
由此可見,我們提出的多圖卷機神經網路的模型有效地捕捉了知識圖譜中的重要資訊並進行了有效聚合。我們進一步對資料進行了歸一化處理(delexicalization),實驗結果均有更進一步的提升。
另外,此模型在 ENT-DESC 資料集以及現有資料集上(如:WebNLG)相對於多個基準模型在多個評測標準上均顯示明顯提升,同時其可被擴充套件應用於其他圖相關的自然語言處理研究中。
上圖展示了知識驅動文字生成的例子。紅色高亮文字是主要實體,藍色高亮文字是附屬主題實體。與維基百科的參考文字相比,我們提出的多圖卷積神經網路與聚合運算能夠準確捕捉到主要實體以及大部分附屬主題實體。而傳統的圖到序列生成模型未能識別出主要實體。這進一步體現了傳統圖到序列模型會造成資訊丟失的情況,同時也體現了多圖卷積神經網路對於提取重要資訊的有效性。
參考文獻
[1] Claire Gardent, Anastasia Shimorina, Shashi Narayan, and Laura Perez-Beltrachini. 2017. The webnlg challenge: Generating text from rdf data. In Proceedings of INLG.
[2] Diego Marcheggiani and Ivan Titov. 2017. Encoding sentences with graph convolutional networks for semantic role labeling. In Proceedings of EMNLP.
[3] Daniel Beck, Gholamreza Haffari, and Trevor Cohn. 2018. Graph-to-sequence learning using gated graph neural networks. In Proceedings of ACL.
[4] Zhijiang Guo, Yan Zhang, Zhiyang Teng, and Wei Lu. 2019. Densely connected graph convolutional networks for graph-to-sequence learning. TACL
非嚴格對齊的文字生成:文字描述多於輸入資料
論文標題:
Partially-Aligned Data-to-Text Generation with Distant Supervision
論文連結:
https://www.aclweb.org/anthology/2020.emnlp-main.738.pdf
資料程式碼連結:
https://github.com/fuzihaofzh/distant_supervision_nlg
2.1 簡介
在基於結構化資料生成文字(data-to-text)[1,2] 任務中,現有的模型要求訓練的資料和文字是嚴格對齊的(well-aligned),導致可以用於訓練的資料非常稀少且標註代價高昂,因此,現有的經典生成任務只限於少數幾個特定的領域。
本文旨在探索使用部分對齊(partially-aligned)的資料來解決資料稀缺的問題。部分對齊的資料可以自動爬取、標註,從而能將文字生成任務推廣到更多的資料稀缺的領域。但是,直接使用此類資料來訓練現有的模型會導致過度生成的問題(over-generation),即在生成的句子中新增與輸入無關的內容
為了使模型能夠利用這樣的資料集來訓練,我們將傳統的生成任務擴充套件為“部分對齊的資料到文字生成的任務”(partially-aligned data-to-text generation task),因為它利用自動標註的部分對齊資料進行訓練,因此可以很好地被應用到資料稀缺領域。
為了解決這一任務,我們提出了一種新的遠端監督(distant supervision)訓練框架,透過估計輸入資料對每個目標詞的支援度,來自動調節相應的損失權重,從而控制過度生成的問題。我們透過從 Wikipedia 中抽取句子並自動提取相應的知識圖譜三元組的方式製作了部分對齊的 WITA 資料集。
實驗結果表明,相較於以往的模型,我們的框架能更好地使用部分對齊的資料,緩解了過度生成問題,從而驗證了使用部分對齊的資料來訓練生成模型的可行性。本文的資料和原始碼可以從下方連結獲取
https://github.com/fuzihaofzh/distant_supervision_nlg
2.2 WITA資料集
我們透過抽取 Wikipedia 句子中的三元組來自動構建部分對齊的資料集。整個抽取框架如圖所示。
首先,我們提取出 Wikipedia 每篇文章的第一個句子,隨後,我們用實體檢測器(Entity Detector)來抽取出每個句子所包含的所有實體,該實體檢測器包含三個部分,分別是連結檢測,NER 檢測以及名詞檢測,其中 NER 檢測和名詞檢測透過 spaCy 實現。接著,這些名詞經過一些規則過濾後,兩兩組合(笛卡爾積)得到了實體對(Entity Pair)的列表。
另一方面,我們將 Wikidata 匯入到 ElasticSearch,Wikidata 是一個知識圖譜的庫,包含了很多客觀資訊的三元組描述。
我們用每個三元組的頭尾實體對做索引,用整個三元組做值,這樣一旦給定一個實體對,我們就能方便地透過查詢 ElasticSearch 得到他們之間的三元組關係。我們將笛卡爾積中的每個實體對輸入到 ElasticSearch 中查詢他們的關係,透過一些規則過濾,得到最終句子對應的三元組。
下表是我們的新的資料集(WITA)和現有的資料集 WebNLG [1] 的對比。我們發現,我們的資料集比 WebNLG 大,同時包含的關係種類(Relation Type)是 WebNLG 的兩倍,含有的實體種類是 WebNLG 的 40 倍,而包含的詞典大小也是 WebNLG 的 12 倍。因此 WITA 資料集包含有更廣闊領域的資訊。
然而,這種自動標註的資料並不是嚴格對齊的,如圖所示,因為很多資訊 Wikidata 中並不包含,所以文字會包含比三元組多的資訊。直接使用此類資料來訓練現有的模型會導致過度生成的問題(over-generation)。
在圖中,文字中紅色的部分是三元組中未包含的資訊,普通的生成模型會錯誤地認為這些資訊是由給定三元組的某些部分給出的,因此,在使用訓練好的模型做生成時,給定一些資料,它會生成額外的未提及的資訊。
以下圖為例,訓練資料中“develpoed in Canada”就沒有對應的三元組描述,模型會錯誤地將其繫結到給定的 genre 三元組中,因此,在生成關於另一個 genre 三元組的描述時,就可能會加上這個冗餘的資訊。我們提出了遠端監督生成框架(Distant Supervision Generation)來解決這個問題。
2.3 模型框架
如圖所示,我們的遠端監督生成框架(Distant Supervision Generation framework)包含了四個模組:
1)支援度估計器(Supportiveness Estimator,SE);2)序列到序列生成器(Sequence-to-Sequence Generator,S2SG);3)支援度介面卡(Supportiveness Adaptor,SA);4)重平衡集束搜尋(Rebalanced Beam Search,RBS)。下面我們分別來看每個模組的作用。
這項損失防止三元組中的某個詞支援太多的目標文字詞。最後,總體的最佳化目標是以上損失的加權組合:
S2SG 模組主要負責文字生成,我們透過 Transformer [3] 來實現。
SA 模組將 SE 模組得出的支援度適配到 S2SG 的每個詞的損失上
2.4 主要實驗結果
下表是主要實驗結果,我們對比了一些常見的生成模型,其中 S2S [4] 採用基於 LSTM 的 sequence-to-sequence 模型,而 S2ST [3,5] 則是基於 Transformer 的生成模型,DSG-A 和 DSG-H 則是分別採用 Attention Adaptor 和 Hard Adaptor。
透過對比,我們發現,加入 Supportiveness Adaptor 之後,系統的效能都有所提升,而我們提出支援度計算和適配的方法取得了最好的效果。透過消融實驗,我們可以觀察到 RBS 和 SA 都明顯地提升了模型效果。
下圖是對比了我們的支援度和傳統注意力值的熱力圖。我們可以看到,因為注意力機制本身有歸一化的約束,導致了一個詞的支援度之和是固定的,這樣,如果有很多詞支援,就會分散支援的權重,因而我們的支援度計算方法比直接用注意力當支援度能更好地反應支援度的強弱。
為了更直觀地展示 DSG 模型能很好地解決過度生成問題。我們取樣了一些輸出結果作對比,透過把和輸入不相關的生成部分用紅字標出,可以發現,如果直接用 WITA 資料來訓練傳統的 S2ST 模型,生成的時候會產生很嚴重的過度生成的問題,而我們提出的 DSG 模型則能很好地解決這個問題,取得好的生成效果
參考文獻
[1] Claire Gardent, Anastasia Shimorina, Shashi Narayan, and Laura Perez-Beltrachini. 2017. Creating training corpora for nlg micro-planners. ACL.
[2] Remi Lebret, David Grangier, and Michael Auli. 2016. Neural text generation from structured data with applicationthe biography domain. EMNLP.
[3] Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Łukasz Kaiser, and Illia Polosukhin. 2017. Attention is all you need. NIPS.
[4] Anastasia Shimorina and Claire Gardent. 2018. Handling rare items in data-to-text generation. INLG.
[5] Myle Ott, Sergey Edunov, Alexei Baevski, Angela Fan, Sam Gross, Nathan Ng, David Grangier, and Michael Auli. 2019. fairseq: A fast, extensible toolkit for sequence modeling. NAACL.
三、輕量、動態圖卷積網路及其在文字生成中的應用
論文標題:
Lightweight, Dynamic Graph Convolutional Networks for AMR-to-Text Generation.
論文連結:
https://www.aclweb.org/anthology/2020.emnlp-main.169.pdf
程式碼連結:
https://github.com/yanzhangnlp/LDGCNs
3.1 簡介
圖神經網路(Graph Neural Networks)是學習圖表示的一類強大方法,已應用於許多自然語言處理任務中,例如資訊抽取,情感識別和文字生成。圖卷積網路(Graph Convolutional Networks),是圖神經網路中的一種。
相比於圖迴圈網路(Graph Recurrent Networks) 以及最近的圖變換網路(Graph Transformer Networks), 圖卷積網路具有更好的計算效率。但由於圖卷積網路遵循鄰接資訊(First-order)傳遞機制,對高階資訊的融合不如圖迴圈網路和圖變換網路。
為此,我們提出了一種動態融合機制,可以有效的融合圖結構中來自不同階節點的資訊。具體地,我們利用了門控機制動態接受圖結構中不同階節點的資訊流,從而可以同時融合低階和高階的資訊。例外,我們還提出了兩種引數共享機制,減少了模型的複雜度,提高了模型的效率。
結合動態融合機制和引數共享機制的圖卷積網路,我們稱之為輕量、動態圖卷積網路(Lightweight, Dynamic Graph Convolutional Networks),簡稱 LDGCN。
我們在 AMR-to-Text Generation 這一類文字生成任務中進行了實驗。AMR(Abstract Meaning Representation)是一種將句子的語義抽象表示的有根有向圖(rooted directed graph),其中節點(nodes)是概念(concept),邊(edges)是語義關係(semantic relations)。
AMR-to-Text Generation 是將 AMR 圖編碼並解碼成表達其含義的文字。這個任務的關鍵挑戰在於如何有效捕獲基於圖的資料中儲存的複雜結構資訊。實驗結果表明,我們的模型 LDGCN, 不僅效能優於其他圖神經網路模型,而且模型十分輕便,引數量遠少於效能最好的圖變換網路模型。
3.2 模型框架
3.2.1 動態融合機制
傳統的圖卷積網路受限於鄰接資訊傳遞機制,忽略了高階有效資訊,受門控線性單元(Gated Linear Units)的啟發 [1],我們提出了動態融合機制。該機制可以讓圖卷積網路融合來自不同階節點的資訊同時保留模型的非線性特性。如上圖所示,模型工作流程如下。每一個圖卷積層均以 k 個 k 階鄰接矩陣為輸入(這裡 k=3), 動態融合機制,利用門控方式,整合從 1 到 k 跳鄰居的資訊,其函式表示如下:
其中, G 是一個基於高階鄰接矩陣資訊的門控矩陣,表示為:
3.2.2 引數共享機制
深度圖卷積網路一般能夠表現出更好的效能,但越深的網路也會導致更多的引數,從而增加了計算上的複雜度。為了提高模型的效率,我們提出了圖分組卷積(Group Graph Convolution)和權重繫結卷積(Weight Tied Convolutions)兩種引數共享機制。其中,圖分組卷積用於減少每一層圖卷積網路的引數而權重繫結卷積則用於層與層之間引數的共享。
受分組卷積 [2] 的啟發,我們提出了兩種在圖卷積網路上的擴充,即深度圖分組卷積(Deepthwise Group Graph Convolution)和層級圖分組卷積(Layerwise Group Graph Convolution).
如上圖所示,對於深度圖分組卷積,輸入表示和輸出表示被分成了不相交的 n 組(這裡 n=3)進行計算。將三組表示拼接則為輸出層表示。這樣每一層的引數可以減少 n 倍。
層級圖分組卷積是基於最近的密集連線圖卷積網路 [3] 提出的。如上圖所示,在密集連線圖卷積中,每一層的輸入來自於之前所有卷積層輸出拼接而成。而層級圖分組卷積在此基礎之上,還將輸入表示分成了 n 組(這裡 n=3)進行計算。
啟發於最近的權重繫結自注意力網路 [4],我們提出了權重繫結圖卷積。如上圖所示,在權重繫結圖卷積中,每一層都使用相同的引數。從而較大地節省了模型的引數。
3.3 主要實驗結果
基於不同的引數共享機制,我們分別命名為 LDGCN_WT(Weight Tied)和LDGCN_GC(Group Convolution)。我們主要在兩個標準的 AMR 資料集上進行了實驗, 即 AMR2015(LDC2015E86)和 AMR2017(LDC2017T10)。
上面表 1 展示了兩個資料集上的結果(B, C, M 和 #P 分別代表 BLEU, CHRF++, METEOR 和模型的引數量)。我們的模型 LDGCN_GC 在兩個資料集上都取得了最好的結果。而且相比當前最好的圖變換網路模型 GT_SAN,我們的模型只需要大約五分之一的引數。而相比於其他圖卷積網路,我們的模型也都遠遠強於當前最好的模型 DCGCN 以及 DualGraph。
表 2 展示了模型在大規模資料集上的結果。可以看到,我們模型 LDGCN_WT,優於當前最好的 Transformer 模型,且只使用了其四分之一資料(0.5M)。而與表1結果不同的是,在使用較大資料的情況下,LDGCN_WT 效果優於 LDGCN_GC。我們推測,足夠的資料可以提供足夠的正則化來減少震盪,穩定 LDGCN_WT 的訓練過程。
參考文獻
[1] Yann Dauphin, Angela Fan, Michael Auli, and David Grangier. 2016. Language modeling with gated convolutional networks. In Proc. of ICML.
[2] Andrew G. Howard, Menglong Zhu, Bo Chen, Dmitry Kalenichenko, Weijun Wang, Tobias Weyand, Marco Andreetto, and Hartwig Adam. 2017. Mobilenets: Efficient convolutional neural networks for mobile vision applications. ArXiv, abs/1704.04861.
[3] Zhijiang Guo, Yan Zhang, Zhiyang Teng, and Wei Lu. 2019b. Densely connected graph convolutional networks for graph-to-sequence learning. Transactions of the Association for Computational Linguistics, 7:297–312.
[4] Shaojie Bai, J. Zico Kolter, and Vladlen Koltun. 2019a. Deep equilibrium models. In Proc. of NeurIPS.
四、總結
文字生成作為近年來引起廣泛關注的研究課題,有著豐富的應用場景。基於結構化資料和知識的文字生成是一個重要的研究方向。本文探索的非嚴格對齊的文字生成任務設定,給基於知識的文字生成任務引入了更實用化的新發展,我們公佈了兩個新資料集以支援這方面的研究。另外,本文介紹的輕量、動態 GCN 模型 LDGCN,不但可以有效的融合圖結構中來自不同階節點的資訊,還可以透過引數共享機制,提高 GCN 模型的效率。
本文由阿里巴巴達摩院新加坡 NLP 團隊邴立東、程麗穎、張琰,香港中文大學付子豪共同整理而成。由 PaperWeekly 編輯進行了校對和格式調整。