張 旭,王旭強(qiáng),田雨婷,楊 青,孟 潔
(國網(wǎng)天津市電力公司 信息通信公司,天津 300010)
隨著信息技術(shù)的發(fā)展,各行各業(yè)積累了大量的行業(yè)數(shù)據(jù)。這些數(shù)據(jù)與人類社會(huì)的生產(chǎn)管理息息相關(guān),是各領(lǐng)域分析研究的主要對(duì)象。結(jié)構(gòu)化數(shù)據(jù)格式簡(jiǎn)單、便于記錄與存儲(chǔ),是最普遍存在的數(shù)據(jù)形式之一,例如公司的財(cái)務(wù)報(bào)表、設(shè)備傳感器記錄等。但結(jié)構(gòu)化數(shù)據(jù)通常具有很強(qiáng)的領(lǐng)域性,缺乏行業(yè)知識(shí)的人很難理解其數(shù)值與指標(biāo)背后的含義。因此,如何準(zhǔn)確高效地傳達(dá)結(jié)構(gòu)化數(shù)據(jù)中的語義信息是一個(gè)重要的研究方向。數(shù)據(jù)到文本的生成逐漸成為自然語言生成領(lǐng)域一個(gè)重要的跨模態(tài)生成任務(wù),研究成果已廣泛應(yīng)用于天氣預(yù)報(bào)[1]、新聞媒體[2-4]等領(lǐng)域。早期的研究[5-7]主要通過人工規(guī)則、模塊式系統(tǒng)等方式生成文本。隨著深度學(xué)習(xí)技術(shù)的發(fā)展,近期的研究主要采用端到端的學(xué)習(xí)方式[8-11],通過數(shù)據(jù)驅(qū)動(dòng)的形式進(jìn)行學(xué)習(xí)和訓(xùn)練,避免繁瑣的人工規(guī)則,并使得生成的結(jié)果更靈活多樣。
然而,數(shù)據(jù)到文本生成還有很大的空間亟待探索。其中一個(gè)重要原因是,傳統(tǒng)的數(shù)據(jù)到文本生成任務(wù)只涉及數(shù)據(jù)內(nèi)容的復(fù)述,而不涉及深入的分析推理,這在一定程度上限制了數(shù)據(jù)到文本生成任務(wù)的發(fā)展。例如,“公司本期流動(dòng)比率2.06,去年同期為1.81”這句話雖然準(zhǔn)確傳達(dá)了數(shù)據(jù)表中的信息,但對(duì)于缺乏專業(yè)知識(shí)的讀者來說仍然無法準(zhǔn)確理解其背后的含義。如果文本內(nèi)容為“公司償債能力維持穩(wěn)定,短期償債能力具有一定的保障”,則更容易被讀者理解。因此,單純的數(shù)據(jù)描述在很多時(shí)候無法滿足人們的需求。若對(duì)結(jié)構(gòu)化數(shù)據(jù)表中的內(nèi)容進(jìn)一步分析與解讀,則可以獲得更好的信息傳遞效果。
本研究關(guān)注數(shù)據(jù)到分析性文本生成任務(wù),提出一種基于主題感知的跨模態(tài)序列到序列模型。具體地,將編碼器-解碼器結(jié)構(gòu)作為基本框架,并引入數(shù)據(jù)表的主題建模,以保證生成文本和數(shù)據(jù)表之間的主題一致性。為驗(yàn)證模型效果,構(gòu)建了THS和IATA兩個(gè)真實(shí)數(shù)據(jù)集,并與基于模板的生成模型、基于語言模型的生成模型以及基于神經(jīng)網(wǎng)絡(luò)的生成模型等6種模型進(jìn)行了實(shí)驗(yàn)對(duì)比與分析。實(shí)驗(yàn)結(jié)果表明,本模型獲得最優(yōu)的性能。
數(shù)據(jù)到文本生成旨在基于給定的結(jié)構(gòu)化數(shù)據(jù)來生成非結(jié)構(gòu)化的文本,是自然語言生成領(lǐng)域的一個(gè)重要研究內(nèi)容,其中,結(jié)構(gòu)化的數(shù)據(jù)和非結(jié)構(gòu)化的文本被視為兩種不同的模態(tài)。傳統(tǒng)方法[5-7]通常將該任務(wù)分解為內(nèi)容規(guī)劃、句子規(guī)劃以及表層實(shí)現(xiàn)三個(gè)獨(dú)立的子任務(wù),并串行地執(zhí)行這三個(gè)子任務(wù)以實(shí)現(xiàn)從結(jié)構(gòu)化數(shù)據(jù)模態(tài)到非結(jié)構(gòu)化文本模態(tài)的生成。這種方法雖然結(jié)構(gòu)簡(jiǎn)單并且易于理解,但存在傳遞錯(cuò)誤、模型性能嚴(yán)重依賴手工特征的有效性等問題。
近年來,隨著深度學(xué)習(xí)技術(shù)的發(fā)展,端到端的學(xué)習(xí)方式逐漸成為數(shù)據(jù)到文本生成的主流方法。此類方法以數(shù)據(jù)驅(qū)動(dòng)的形式進(jìn)行學(xué)習(xí)和訓(xùn)練,首先采用編碼層將結(jié)構(gòu)化數(shù)據(jù)映射到低維、稠密的語義向量空間,隨后采用解碼層基于該語義空間生成非結(jié)構(gòu)化的文本,從而實(shí)現(xiàn)跨模態(tài)的文本生成。上述過程避免了繁瑣的人工規(guī)則編寫,并使得生成結(jié)果靈活多樣。Lebret等[8]利用條件語言模型實(shí)現(xiàn)人物傳記的生成。Mei等[12]使用基于復(fù)制機(jī)制的序列到序列模型提升內(nèi)容選擇的效果。Li等[13]采用兩階段方式生成文本,首先生成文本模板,再采用延遲復(fù)制機(jī)制填入記錄中的數(shù)值。Wiseman等[14]關(guān)注數(shù)據(jù)到文檔的生成,并在seq2seq模型中引入復(fù)制機(jī)制和損失重構(gòu)機(jī)制。Gong等[15]采用層次編碼的方式學(xué)習(xí)數(shù)據(jù)記錄的語義。Iso等[16]設(shè)計(jì)了內(nèi)容追蹤模塊,在生成文本的過程中通過跟蹤數(shù)據(jù)記錄來提升文本的真實(shí)性并減少冗余。Puduppully等[10]在模型中顯式地增加內(nèi)容選擇和內(nèi)容規(guī)劃模塊,提升模型的內(nèi)容組織能力。同年,Puduppully等[17]還提出了基于實(shí)體建模的生成模型。此外,還有部分研究[18-19]基于半隱馬爾科夫模型來實(shí)現(xiàn)數(shù)據(jù)記錄到文本的對(duì)齊與生成,提升系統(tǒng)的可解釋性與可控性。
雖然上述方法在很大程度上提升了文本生成質(zhì)量,但均僅關(guān)注描述性文本的生成,即通過文本對(duì)表格的重要內(nèi)容進(jìn)行復(fù)述,未涉及對(duì)表格內(nèi)容的分析、提煉和推理,這使得生成文本僅能做到信息的傳遞而不能帶來任何增益。針對(duì)這一問題,本研究關(guān)注數(shù)據(jù)到分析性文本生成任務(wù),提出基于主題感知的跨模態(tài)序列到序列模型來學(xué)習(xí)如何對(duì)表格內(nèi)容進(jìn)行分析和描述,保證文本和數(shù)據(jù)表之間的主題一致性,進(jìn)而提升生成文本的質(zhì)量。
為更好地解決數(shù)據(jù)到分析性文本生成問題,提出基于主題感知的跨模態(tài)序列到序列模型——EDAT模型,其結(jié)構(gòu)如圖1所示。具體地,首先采用序列到序列的模型框架實(shí)現(xiàn)從結(jié)構(gòu)化表格模態(tài)到非結(jié)構(gòu)化文本模態(tài)的生成,再引入關(guān)于數(shù)據(jù)表類別的主題特征表示,對(duì)生成文本的主題進(jìn)行約束,從而得到更貼合表格內(nèi)容的分析性文本。
圖1 基于主題感知的跨模態(tài)序列到序列模型結(jié)構(gòu)
2.2.1 編碼層
給定數(shù)據(jù)表記錄集合sr以及數(shù)據(jù)表標(biāo)題st,將sr轉(zhuǎn)化為記錄序列sq={r1,r2,…,r|r|},并構(gòu)建編碼層來建模記錄序列的隱藏向量表示H={h1,h2,…,h|r|}以及數(shù)據(jù)表的主題表示zs。
1)記錄編碼
(1)
(2)
其中,Q∈Rm×dq為量化單元的嵌入矩陣;M為量化單元個(gè)數(shù);dq為數(shù)值特征的維度。通過上述方法得到的數(shù)值特征既考慮到數(shù)值本身的大小,又避免語義的分散,從而提升模型對(duì)數(shù)值的理解能力。
通過拼接上述4個(gè)特征向量可以得到每條記錄的向量表示:
(3)
基于記錄的向量表示序列A={a1,a2,…,a|r|},采用長短期記憶網(wǎng)絡(luò)(long short-term memo-ry, LSTM)[20]編碼記錄序列的隱藏向量表示。具體地,LSTM在第t個(gè)時(shí)間步的計(jì)算過程為:
it=σ(Wiiat+bii+Whiht-1+bhi),
(4)
ft=σ(Wifat+bif+Whfht-1+bhf),
(5)
ot=σ(Wioat+bio+Whoht-1+bho),
(6)
(7)
(8)
ht=ot⊙tanh(ct)。
(9)
其中:ht為第t個(gè)時(shí)間步LSTM輸出的隱藏狀態(tài);ct為第t個(gè)時(shí)間步的記憶單元狀態(tài);it,ft,和ot為LSTM中的輸入門、遺忘門與輸出門;σ(·)和tanh(·)分別為Sigmoid與tanh激活函數(shù);⊙表示矩陣元素相乘;W*和b*為模型參數(shù)。
為同時(shí)捕獲數(shù)據(jù)記錄序列在兩個(gè)方向上的隱藏特征,使用雙向LSTM對(duì)數(shù)據(jù)記錄序列編碼,并將前向和后向編碼結(jié)果進(jìn)行拼接作為最終的記錄隱藏表示:
(10)
(11)
(12)
由此,可以得到記錄序列的隱藏表示H={h1,h2,…,h|r|}。
2)主題編碼
直觀上,在寫作過程中,當(dāng)圍繞不同的主題進(jìn)行敘述時(shí),詞匯的使用通常存在較大差異。因此,在數(shù)據(jù)到分析性文本生成任務(wù)中,如何準(zhǔn)確學(xué)習(xí)數(shù)據(jù)表的主題是一個(gè)關(guān)鍵問題。
(13)
給定數(shù)據(jù)表標(biāo)題st,根據(jù)查表法從主題特征集合中選擇對(duì)應(yīng)的主題表示zs。在解碼層,通過引入數(shù)據(jù)表的主題表示,可以指導(dǎo)生成過程中詞項(xiàng)的選擇,以獲得更好的生成結(jié)果。
2.2.2 解碼層
基于編碼層得到的記錄序列的隱藏向量表示H以及數(shù)據(jù)表的主題表示Z,使用LSTM作為解碼器生成分析性文本y={y1,y2,…,y|y|}。
在解碼過程的第t個(gè)時(shí)間步,LSTM單元的輸入為上一步預(yù)測(cè)的詞對(duì)應(yīng)的詞向量yt-1以及解碼器上一步的隱藏表示dt-1,得:
dt=LSTMdec(yt-1,dt-1)。
(14)
第1個(gè)時(shí)間步中,y0被初始化為全零向量,并將編碼器中前向LSTM的最后一個(gè)隱藏表示與反向LSTM的最后一個(gè)隱藏表示進(jìn)行拼接作為d0:
(15)
在生成每個(gè)詞時(shí),除了考慮上一個(gè)生成的詞之外,還應(yīng)該關(guān)注到原始數(shù)據(jù)表中重要的信息。在解碼層引入注意力機(jī)制,以實(shí)現(xiàn)對(duì)數(shù)據(jù)表中信息的選擇性關(guān)注。給定第t個(gè)時(shí)間步解碼器的隱藏表示dt以及每個(gè)數(shù)據(jù)記錄的隱藏表示hj,可計(jì)算注意力權(quán)重
(16)
其中Wa為模型參數(shù)?;讦聇,j,對(duì)每個(gè)數(shù)據(jù)記錄的隱藏表示進(jìn)行加權(quán)求和,得到上下文向量
(17)
(18)
其中,Wd和bd為模型參數(shù)。根據(jù)該特征表示,將特征表示映射到詞表空間,進(jìn)而計(jì)算每個(gè)詞的生成概率:
(19)
其中,Wy與by為模型參數(shù),y l=-∑(y,s)∈Dlogp(y|s)。 (20) 其中,D表示訓(xùn)練實(shí)例集合,p(y|s)表示正確文本的生成概率。在推理過程中,對(duì)于給定的s,預(yù)測(cè)其對(duì)應(yīng)的分析性文本如下: (21) 其中y′表示輸出文本的候選項(xiàng)。在推理階段利用集束搜索(beam search)來近似地得到最佳生成結(jié)果。 為驗(yàn)證模型的有效性,分別爬取同花順網(wǎng)站(THS)的上市公司財(cái)務(wù)診斷以及國際航空運(yùn)輸協(xié)會(huì)官網(wǎng)(IATA)的經(jīng)濟(jì)報(bào)告,手工構(gòu)建了THS和IATA兩個(gè)數(shù)據(jù)集。具體的數(shù)據(jù)樣例如圖2所示,其中“|”、“/”以及空格分別用于間隔不同的記錄、文本中不同的詞以及每個(gè)記錄中不同的屬性。 圖2 兩個(gè)數(shù)據(jù)集的數(shù)據(jù)樣本展示 兩個(gè)數(shù)據(jù)集的基本統(tǒng)計(jì)情況如表1所示,兩個(gè)數(shù)據(jù)集中詞在不同主題類型的文本中的分布情況如圖3所示。 表1 數(shù)據(jù)集統(tǒng)計(jì) 圖3 不同主題下文本用詞分布情況 可以看出,THS數(shù)據(jù)集中,不同主題類型下文本用詞的差異性很大,大多數(shù)詞僅在2種類型的文本中出現(xiàn),而IATA數(shù)據(jù)集中,這種差異性同樣明顯,有52%的詞僅在1種主題類型中出現(xiàn)。 對(duì)于THS數(shù)據(jù)集,數(shù)據(jù)表記錄中每個(gè)屬性特征的維度dr以及數(shù)值特征表示維度dq均設(shè)為300;對(duì)于IATA數(shù)據(jù)集,上述維度均設(shè)為100。通過對(duì)數(shù)據(jù)集的分析與統(tǒng)計(jì),在進(jìn)行數(shù)值區(qū)間劃分時(shí),將THS數(shù)據(jù)集劃分為(-∝,0),[0,1),[1,10),[10,50),[50,100),[100, ∝)6個(gè)數(shù)值區(qū)間,量化單元的個(gè)數(shù)設(shè)為6;而對(duì)于IATA數(shù)據(jù)集,由于其數(shù)值變化范圍較大,因此根據(jù)其整數(shù)部分劃分區(qū)間,量化單元個(gè)數(shù)設(shè)為20,且在計(jì)算真實(shí)數(shù)值時(shí)利用tanh函數(shù)對(duì)數(shù)值的變化范圍進(jìn)行限制。根據(jù)數(shù)據(jù)集中文本的長度特點(diǎn),THS和IATA數(shù)據(jù)集的文本最大生成長度分別設(shè)為30和50。在兩個(gè)數(shù)據(jù)集中,編碼器和解碼器隱藏狀態(tài)的維度均設(shè)為300,高頻主題詞詞表的大小Lt設(shè)為100。 訓(xùn)練過程中,使用Adam優(yōu)化器優(yōu)化模型參數(shù),并將批處理大小設(shè)為10,迭代次數(shù)設(shè)為60,學(xué)習(xí)率設(shè)為0.002,dropout比例設(shè)為0.5。并選取80%的樣本作為訓(xùn)練集,10%的樣本為驗(yàn)證集,10%的樣本為測(cè)試集。 為了驗(yàn)證提出的EDAT模型的效果,與以下模型進(jìn)行比較: 1)KN(Kneser-Ney)模型[21]:使用KenLM工具包訓(xùn)練5-gram模型,并且不進(jìn)行修剪。 2)Template:類似于Wiseman等[14]的工作,在訓(xùn)練時(shí),統(tǒng)計(jì)不同表類型在各個(gè)位置的用詞頻率,并選擇頻率最高的詞序列構(gòu)建模板,在推理過程中根據(jù)具體的數(shù)據(jù)表填充模板的空缺處。 3)T-NLM:以Mikolov等[22]提出的循環(huán)神經(jīng)網(wǎng)絡(luò)語言模型為基礎(chǔ),額外輸入數(shù)據(jù)記錄的嵌入表示,從而使模型能夠利用數(shù)據(jù)表信息。 4)EDA:類似于Wiseman等[14]提出的方法,采用基于注意力機(jī)制的序列到序列模型來更清晰地探究主題建模對(duì)數(shù)據(jù)到文本生成的影響。 5)EDAT w/o T:在EDA模型的基礎(chǔ)上僅引入數(shù)值編碼模塊,而不采用主題特征。 6)EDAT w/o Q:在EDA模型的基礎(chǔ)上引入關(guān)于數(shù)據(jù)表類型的主題特征表示,而不采用數(shù)值編碼。 采用BLEU[23]及ROUGE[24]作為評(píng)價(jià)指標(biāo)來判斷模型的生成效果。BLEU是一種基于準(zhǔn)確率的相似性度量方法,ROUGE是一種基于召回率的相似性度量方法。BLEU和ROUGE的值越大,證明生成的結(jié)果越符合給定的真實(shí)文本。本研究的這兩個(gè)指標(biāo)均基于生成文本與真實(shí)文本中4元組的匹配程度進(jìn)行計(jì)算。 表2展示了EDAT模型以及對(duì)比模型在兩個(gè)數(shù)據(jù)集上的生成效果,可以看出本模型在兩個(gè)數(shù)據(jù)集的所有指標(biāo)上均取得了優(yōu)于對(duì)比模型的性能,證明了模型的有效性。 表2 EDAT模型以及對(duì)比模型在THS和IATA數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果 具體地,比較THS和IATA數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果可以看出,THS數(shù)據(jù)集上各個(gè)方法的生成結(jié)果明顯優(yōu)于IATA數(shù)據(jù)集,這是由于THS數(shù)據(jù)集訓(xùn)練樣本更多,生成文本的平均長度更短(見表1)。 THS數(shù)據(jù)集上,基于模板的生成模型取得了較好的效果,這是由于THS數(shù)據(jù)集內(nèi)容的變化性較小,結(jié)構(gòu)更加統(tǒng)一,因此模板可以捕獲一定的生成規(guī)則,然而其效果依然遠(yuǎn)低于基于神經(jīng)網(wǎng)絡(luò)的模型。IATA數(shù)據(jù)集上,模板生成模型的表現(xiàn)比在THS數(shù)據(jù)中更差,且同樣低于神經(jīng)生成模型。這證明了神經(jīng)生成模型的優(yōu)勢(shì),也說明IATA數(shù)據(jù)集更加復(fù)雜,文本結(jié)構(gòu)的變化性更大。KN模型兩個(gè)數(shù)據(jù)集上表現(xiàn)最差,這是由于該方法在生成過程中僅基于文本中n元組的統(tǒng)計(jì)信息,而未考慮數(shù)據(jù)表內(nèi)容,導(dǎo)致文本無法準(zhǔn)確反映數(shù)據(jù)表的信息。IATA數(shù)據(jù)集上KN模型在ROUGE上效果優(yōu)于模板模型,這是由于IATA數(shù)據(jù)集中文本變化性較大,模板無法全面覆蓋各種情況,而統(tǒng)計(jì)語言模型卻有更大的覆蓋范圍。此外,TNLM方法雖然引入了數(shù)據(jù)表信息,但是其文本生成的效果比所有基于序列到序列的模型都差,說明序列到序列框架更適用于本文的任務(wù),對(duì)記錄進(jìn)行編碼有利于生成過程中更有效地利用數(shù)據(jù)表的信息。 EDAT模型在兩個(gè)數(shù)據(jù)集上的性能均優(yōu)于EDA模型,并且在ROUGE指標(biāo)上優(yōu)勢(shì)更加明顯,說明本模型生成的結(jié)果包含信息更加全面,能夠更有效地捕獲數(shù)據(jù)表的主題信息,保持生成文本與原始數(shù)據(jù)表的主題一致性,從而生成更適合于該主題的文本內(nèi)容。EDAT w/o T的性能優(yōu)于EDA,說明數(shù)值編碼能夠更好地理解數(shù)據(jù)表中的數(shù)值信息,從而使生成結(jié)果更加準(zhǔn)確合理。EDAT w/o Q的性能優(yōu)于EDA,EDAT的性能優(yōu)于EDAT w/o T,說明主題建??梢杂行П3治谋竞蛿?shù)據(jù)表之間的主題一致性,提升生成效果。從本模型與EDA、EDAT w/o T以及EDAT w/o Q模型的性能對(duì)比可以看出,本模型能夠在不同程度上提升分析性文本的生成質(zhì)量,其效果在THS數(shù)據(jù)集上更加明顯。 為驗(yàn)證所提出的模型可以生成更加符合原始數(shù)據(jù)表主題的文本,對(duì)文本生成結(jié)果的主題一致性進(jìn)行分析。首先,通過人工篩選為兩個(gè)數(shù)據(jù)集制作能夠體現(xiàn)文本主題的中心詞詞表。隨后,計(jì)算生成結(jié)果在主題一致性方面的得分,具體公式為: (22) 其中,Gen表示模型生成的文本,Ref表示真實(shí)文本,topicw表示中心詞。公式(22)的分母代表出現(xiàn)在真實(shí)文本中的中心詞個(gè)數(shù),分子代表生成文本與真實(shí)文本中匹配的中心詞個(gè)數(shù),反映了生成結(jié)果對(duì)于中心詞的覆蓋率;分值越大說明生成結(jié)果包含了越多正確的中心詞,從而與真實(shí)文本以及原始數(shù)據(jù)表具有更高的主題一致性。表3顯示了不同方法在兩個(gè)數(shù)據(jù)集中的得分情況,可以看出,本模型獲得了更高的分?jǐn)?shù)。 表3 EDAT模型以及EDA模型在THS和IATA數(shù)據(jù)集上的主題一致性得分 為更直觀地了解本文模型的生成效果,表4以THS數(shù)據(jù)集為例,給出EDAT模型與對(duì)比模型的生成結(jié)果??梢钥闯?,本模型具有最優(yōu)的生成效果。特別地,與EDAT w/o Q模型的對(duì)比結(jié)果顯示EDAT模型可以有效提升分析結(jié)果的準(zhǔn)確性;而通過與EDAT w/o T的結(jié)果示例對(duì)比可知,EDAT模型能夠有效地捕獲到原始數(shù)據(jù)表的主題信息,從而生成主題一致的分析性文本。 表4 THS數(shù)據(jù)集上的樣例分析 針對(duì)數(shù)據(jù)到分析性文本生成任務(wù)開展研究,提出了基于主題感知的跨模態(tài)序列到序列模型——EDAT模型。為了實(shí)現(xiàn)從結(jié)構(gòu)化數(shù)據(jù)表模態(tài)到非結(jié)構(gòu)化文本模態(tài)的轉(zhuǎn)換,采用序列到序列的模型框架,并在此基礎(chǔ)上根據(jù)主題-詞的共現(xiàn)關(guān)系學(xué)習(xí)數(shù)據(jù)表的主題表示。通過將數(shù)據(jù)表的主題表示引入解碼層,可以有效保證生成文本與數(shù)據(jù)表之間的主題一致性。為了驗(yàn)證模型的效果,構(gòu)建了兩個(gè)真實(shí)數(shù)據(jù)集并進(jìn)行模型性能驗(yàn)證。實(shí)驗(yàn)結(jié)果顯示,相比其他6個(gè)模型,本模型能夠更好地捕獲不同類型數(shù)據(jù)表的主題信息,獲得最優(yōu)的性能。3 實(shí)驗(yàn)
3.1 數(shù)據(jù)集
3.2 實(shí)驗(yàn)設(shè)置
3.3 對(duì)比模型
3.4 評(píng)價(jià)指標(biāo)
3.5 實(shí)驗(yàn)結(jié)果
3.6 主題一致性分析
3.7 樣例分析
4 結(jié)論