王 揚 鄭 陽 王旭強 田雨婷 楊 青
(國網天津市電力公司信息通信公司 天津 300000)
隨著信息技術的發展,各個領域積累的行業數據正在快速增長,例如,金融領域積累的財務報表、體育領域積累的球賽實況數據等。為了解決海量數據帶來的信息過載問題,數據到文本生成任務受到了越來越多研究者的關注。該任務旨在用自然語言描述結構化數據中包含的主要信息,進而幫助人們更好地把握海量數據背后包含的具體含義。
早期的研究工作[1-3]主要將該任務劃分為內容規劃、表層實現等多個子任務,并構建一系列人工規則來串行地執行這些子任務以得到最終的文本。這類方法雖然更具有可解釋性,但是擴展性較差。近年來,隨著深度學習技術的發展,基于端到端的機器學習方式[4-9]逐漸被應用到數據到文本生成任務,并取得了很好的效果。這些方法以數據驅動的形式進行模型訓練,避免了煩瑣的人工規則,進而使得生成結果更加靈活多樣。然而,這些模型主要依賴于神經網絡自身的表示學習能力來提升生成文本的質量,而忽略了文本與數據之間的主題一致性。
對于數據到文本生成任務,建模文本于數據之間的主題關聯是提升模型選詞準確性的前提,因此本文提出一種基于細粒度主題建模的數據到文本生成模型。具體地,本文利用非負矩陣分解方法[10]學習數據記錄的主題分布以及主題的詞分布,并由此得到不同數據記錄對應的主題詞表。隨后,本文將學習到的主題詞表引入編碼器-解碼器框架,指導模型的生成。此外,考慮到文本中通常會包含一定的數值描述,為了確保數值描述的準確性,本文進一步在解碼器中引入了復制機制。為了驗證本文模型的效果,本文手工構建了兩個真實數據集:THS數據集和IATA數據集,并在兩個數據集上進行了充分的實驗,結果驗證了本文模型的有效性。
近年來,數據到文本生成逐漸成為了自然語言生成領域的一個研究熱點,傳統方法[1-3]通常將該任務拆分為內容規劃、句子規劃、表層實現三個獨立的子任務,并依次執行以實現文本的生成。特別地,在每一個子任務中,都需要依賴領域知識構建大量的人工模板。因此,這類方法雖然結構簡單且具有較好的可解釋性,但存在錯誤傳遞、人工模板難以獲取等問題。
隨著深度學習技術的發展,基于編碼器-解碼器結構的端到端的學習方式逐漸成為了數據到文本生成任務的主流方法。Li等[4]在編碼器-解碼器的基礎上提出延遲復制機制,首先生成文本模板,再采用復制機制填入具體數值。Puduppully等[5]通過注意力機制首先生成文本要描述的數據記錄序列,后基于該序列進一步生成最終的文本。Gong等[6]提出多維度的層次編碼,通過提升編碼器的表示能力來增強生成文本的質量。Iso等[7]構建一個追蹤模塊,在生成過程中檢測模型應描述的數據記錄。Puduppully等[8]在模型中進行實體建模,通過學習實體的引用方式來提升模型的性能。Moryossef等[9]在生成模型中增加顯式的符號規劃組件,用以減輕模型在數據記錄跟蹤方面的負擔。
雖然上述方法在極大地推動了數據到文本生成任務的發展,并取得了很好的效果,但是這些工作均忽略了對文本和數據之間主題一致性的建模。本文認為,在生成過程中考慮數據表對應的主題信息有助于提升模型選詞的準確性。由此,本文提出一種基于細粒度主題建模的數據到文本生成模型,通過非負矩陣分解的方式學習數據記錄對應的主題詞表,并用其指導模型的生成過程。
為更好地解決數據到文本生成問題,提升生成文本的質量,本文提出基于細粒度主題建模的數據到文本生成模型,其整體結構如圖1所示。具體地,本文在經典的編碼器-解碼器框架的基礎上,引入基于數據記錄的細粒度主題建模方法對生成文本的主題進行約束,以保證文本和數據表的主題一致性。此外,本文在生成過程中還引入了復制機制,使得模型可以對原始記錄值以及記錄值的數值運算結果進行復制,從而使得文本中包含的數值描述更加準確。
2.2.1編碼器-解碼器框架
本文提出的模型主要基于編碼器-解碼器框架,該框架被廣泛應用于諸多文本生成任務[11-12]。本節主要對該框架進行介紹。給定數據表記錄集合s,該框架首先使用編碼器對記錄集合進行編碼,隨后基于編碼的結果構建一個解碼器,用以生成對應的文本序列y={y1,y2,…,y|y|}。

(1)
(2)
基于記錄序列的隱藏表示H={h1,h2,…,h|r|},本節同樣采用LSTM作為解碼器進行文本生成。對于每個時間步t,LSTM單元的輸入為上一步預測的詞對應的詞向量yt-1以及解碼器上一步的隱藏表示dt-1:
dt=LSTMdec(yt-1,dt-1)
(3)

(4)
(5)

(6)
式中:Wd和bd為模型參數。隨后,本節將該特征表示映射到詞表空間,從而得到每個詞的生成概率:
(7)
式中:Wy與by為模型參數;y 2.2.2細粒度主題建模 為提升文本的生成質量,本文對數據表的主題信息進行建模,通過約束生成文本和數據表之間的主題一致性來指導模型學習到更準確的用詞方式。考慮到在同一個數據表中,不同的數據記錄通常會具有不同的主題,從而在用詞方面存在差異,本文以數據記錄為基本建模對象,提出一種細粒度的主題建模方法。 G≈UF (8) 式中:U∈RB×K代表數據記錄的主題分布情況;F∈RK×|D|代表主題下的詞分布情況;K為設定的主題數。對于每個記錄rj,本節選擇其對應的主題分布中概率最大的主題作為該數據記錄的主題,并從該主題對應的詞分布中選擇該概率最大的|Vj|個詞作為該數據記錄對應的主題詞表。 (9) (10) (11) (12) 為使得主題詞表中的詞有更高的概率被生成,本節將主題詞的生成概率與式(7)進行整合,得到詞的生成概率pgen: pgen(yt|y (13) 2.2.3復制機制 在數據表對應的描述文本中通常會包含一定的數值描述,而這些數值通常來源于原始數據表。為保證模型可以準確生成這類數值描述,本節在2.2.2節的基礎上,進一步將復制機制引入生成過程中。考慮到這類數值可能為數據表中的記錄值,也可能為記錄值進行數值運算后的結果,因此本文提出擴展的復制機制,該機制不僅可以對原始記錄值進行復制,還可以對記錄值的數值運算結果進行復制。 具體地,在每個時間步t,本節首先根據解碼器的隱藏表示dt計算一個二元變量ut,用以指示該時間步是否進行復制操作: p(ut=1|y (14) p(ut=0|y (15) 在此基礎上,本節式(7)更新為如下公式: (16) 式中:當p(ut=1|y (17) (18) 通過本節提出的復制機制,可以將數值計算融入到復制過程中,從而使模型生成更加精準的文本。 2.2.4模型訓練 在訓練過程中,本文最大化標準文本的對數似然函數: (19) 為了驗證模型的有效性,本文手工構建了兩個數據集:THS數據集與IATA數據集,具體的統計信息如表1所示,數據樣例如圖2和圖3所示。這兩個數據集分別爬取自同花順網站(THS)的上市公司財務診斷以及國際航空運輸協會官網(IATA)公開的經濟報告。在實驗過程中,本文選取80%的樣本作為訓練集,10%的樣本作為驗證集,10%的樣本作為測試集。 對于THS數據集,本文將詞向量維度、最大文本生成長度分別設為300和30;對于IATA數據集,上述維度分別設為100和50。此外,對于兩個數據集,本文將編碼器以及解碼器隱藏狀態的維度均設為300,將主題數設為50,主題詞詞表的大小也設為50。結合兩個數據集的特點,在本文提出的復制機制中,數值運算的類型主要包括:記錄值、記錄值向下取整、記錄值向上取整、記錄值與歷史記錄的減法結果、記錄值相對于歷史記錄的變化百分比。 在實驗過程中,本文使用Adam優化器對模型參數進行優化,并將批處理大小設為10,迭代次數設為60,學習率設為0.002,衰減率為0.98,dropout比例設為0.5。 為了驗證模型的效果,本文將與以下文本生成方法進行比較。其中,EDA、EDA-T、EDA-Copy三個對比方法為本文模型對應的消融模型。 (1) Temlpate[14]:一種基于模板的生成方法。在訓練過程中,統計不同類型的表格的用詞頻率,并選擇頻率最高的詞序列構建模板,在推理過程中根據數據表中的具體數據情況填充模板的空缺處。 (2) KN[15]:Kneser-Ney模型是一種應用廣泛的語言模型。在本文的實驗中使用KenLM工具包來訓練5-gram的模型,并且不進行修剪。 (3) T-NLM[16]:一種統計語言模型。本文以Mikolov等[16]提出的循環神經網絡語言模型為基礎進行實驗。 (4) EDA:一種基于注意力機制的序列到序列模型,即為本文模型使用的基礎框架。 (5) EDA-T:在EDA模型的基礎上引入細粒度主題建模方法,以保證文本和數據表之間的主題一致性。 (6) EDA-Copy:在EDA模型的基礎上引入復制機制,以保證模型可生成更為準確的數值描述信息。 本文采用BLEU[17]以及ROUGE[18]作為評價指標,用于判斷模型的生成效果。其中,BLEU是一種基于準確率的相似性度量方法,主要計算生成文本與和真實文本中n元組的共現比例;ROUGE是一種基于召回率的相似性度量方法,主要評價生成文本的充分性和真實性。并且,BLEU值和ROUGE值越大證明生成的結果越符合給定的真實文本。在本文的實驗中,這兩種評價指標均采用基于4元組的匹配進行計算。 表2展示了本文模型和對比方法在兩個數據集上的實驗結果。可以看出,本文所提出的基于細粒度主題建模的數據到文本生成模型在兩個數據集的所有指標上均取得了優于對比方法的性能,該結果證明了本文方法的有效性。 表2 實驗結果 對于兩個數據集,基于模板的方法以及基于語言模型的方法在性能上整體表現較差,這說明編碼器-解碼器框架更適用于數據到文本生成任務,能夠生成更準確的文本。相較于EDA方法,引入細粒度主題建模可以在兩個數據集的BLEU值上分別得到6.48和3.86的提升,在兩個數據集的ROUGE值上分別得到10.2和4.12的提升。這說明通過引入主題建模,可以使得模型在選詞上更加準確,進而使得生成的準確率得到較大的提升。與此同時,比較EDA-Copy模型和EDA模型,通過引入復制機制,兩個數據集的BLEU值分別提升了2.48和4.68,兩個數據集的ROUGE值分別提升了3.57和6.55。這說明通過引入復制機制,模型可以有效地從表格中選擇要描述的數值,進而提升生成文本的召回率。 通過同時引入細粒度主題建模和復制機制,本文模型相較于其他方法有較大的提升,該現象表明本文所提出的模型可以同時提升用詞以及數值結果的準確性,從而提升生成文本的質量。 為了進一步驗證本文所提出的模型是否可以提升生成文本和數據表之間的主題一致性,本節提出一種新的評價指標。具體地,我們首先對數據集中的文本進行分詞,后通過人工篩選的方法為兩個數據集分別制作能夠體現文本主題的主題詞表。隨后,我們計算生成結果在主題一致性方面的得分,具體公式如下: (20) 式中:topicw∈Gen表示生成文本中包含的主題詞;topicw∈Ref表示真實文本中包含的主題詞。由此,式(20)代表了生成文本與真實文本中匹配的主題詞個數占真實文本中包含的主題詞個數的比例,進而反映了生成文本與數據表主題的一致程度。該分值越大則說明生成結果包含了越多正確的主題詞,從而與原始數據表具有更高的主題一致性。 表3顯示了主題一致性的實驗結果。可以看出,相較于EDA,本文方法獲得了更高的分數,這代表本文模型能夠更好地保持與數據表的主題一致性,從而具有更高的用詞準確度。 表3 主題一致性分析(%) 上述實驗結果均采用自動計算的方法對生成結果進行評價,雖然這些方法可以在一定程度上評估文本的生成效果,但是依然存在一定的局限性。因此本節從測試集隨機抽取20%的樣本進行人工評測。在測評過程中,本文為測評人員展示原始的結構化數據表以及不同方法的生成結果,測評人員會根據不同的要求選擇最符合條件的一個或多個文本。 在本文的實驗中,人工測評主要針對文本主題的符合程度(Cohe)以及分析結論的正確性(Corr)進行評價,并以不同方法被選的比例作為對應方法的評分。 人工評價的結果如表4所示,可以看出,本文提出的模型在主題一致性以及結論正確性方面優于EDA,這同樣證明了本文模型的有效性。此外,基于模板的生成結果在人工測評中獲得了最高的結果,這是由于模板基于人為規則制定的,因此生成結果在準確性以及主題的符合程度方面更符合人類的習慣。然而,基于模板的方法需要經過復雜的規則制定過程,可擴展性差,并且生成結果缺乏一定的多樣性,而本文提出的模型可以很好地解決這兩個問題。 表4 人工評價的結果(%) 為了更直觀地了解本文所提出模型的生成效果,在表5和表6中給出本文模型以及EDA方法生成的部分結果示例,并將其與真實文本進行對比。通過IATA的生成樣例可以看出,EDA方法可以保證生成文本的流暢度,但是其在文本主題以及分析結果的正確性方面均無法保證。而本文方法通過引入擴展的復制機制和細粒度主題建模,不僅可以對文本中包含的數值描述進行準確生成,還可以很好地保持生成文本和表格的主題一致,提升用詞的精準性。對于THS數據集,雖然其包含的數值較少,但是通過引入復制機制和細粒度主題建模,同樣可以提升生成文本用詞的準確程度,從而獲得了更好的文本生成結果。 表5 樣例分析—IATA數據集 表6 樣例分析—THS數據集 本文主要關注于數據到文本生成任務,并提出基于細粒度主題建模的數據到文本生成模型。為保證文本與數據表的主題一致性,本模型以數據記錄為基本建模單位,利用非負矩陣分解的方法建模數據記錄的主題分布以及主題對應的詞分布,并將建模的結果引入生成過程中。此外,為了提升文本中數值描述的準確性,本文還引入了復制機制,并將一系列數值運算融入到復制過程中。為了驗證模型的有效性,本文構建了兩個真實數據集,并進行了充分的實驗。實驗結果表明,本文模型取得了最優的性能,進而說明了本文模型可以很好地保證生成文本和表格之間的主題一致性,提升模型選詞的準確性,并增強數值描述的準確性。



3 實 驗
3.1 數據集
3.2 實驗設置
3.3 對比方法
3.4 評價指標
3.5 實驗結果

3.6 主題一致性分析

3.7 人工評價

3.8 樣例分析


4 結 語