范亞鑫,蔣 峰,朱巧明,2,褚曉敏,李培峰,2
(1.蘇州大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 蘇州 215006;2.蘇州大學(xué) 人工智能研究院,江蘇 蘇州 215006)
當(dāng)前,自然語言處理的研究?jī)?nèi)容已經(jīng)從詞匯理解、句法分析等淺層語義分析領(lǐng)域延伸到深層語義理解的篇章分析領(lǐng)域。篇章分析是自然語言處理領(lǐng)域的重點(diǎn)和難點(diǎn),其主要任務(wù)是從整體上分析一篇文章的邏輯結(jié)構(gòu)和篇章單元之間的語義關(guān)系,進(jìn)而從更深的層次挖掘自然語言文本的語義和結(jié)構(gòu)信息。篇章分析有助于理解篇章的中心思想和主要內(nèi)容,可以提升自然語言處理相關(guān)應(yīng)用的性能,例如,問答系統(tǒng)[1]和自動(dòng)文摘[2]等。
篇章分析的研究分析可分為微觀和宏觀兩個(gè)層面。微觀層面研究的是句子和句子、句群和句群之間的結(jié)構(gòu)和關(guān)系;宏觀層面研究的是段落和段落、章節(jié)和章節(jié)之間的結(jié)構(gòu)和關(guān)系。當(dāng)前篇章分析主要集中在微觀層面,而宏觀層面的研究較少。褚等[3]提出了一個(gè)宏觀篇章結(jié)構(gòu)表示體系。其中,以段落為基本篇章單元(Elementary Discourse Units,EDUs),相鄰兩個(gè)段落以篇章關(guān)系連接在一起,并構(gòu)成更大的篇章單元(Discourse Units,DUs),這些篇章單元層層向上,最終將一篇文章構(gòu)成一棵完整的篇章結(jié)構(gòu)樹。
漢語宏觀篇章樹庫(Macro-level Chinese Discourse TreeBank, MCDTB)[4]對(duì)宏觀篇章結(jié)構(gòu)進(jìn)行了標(biāo)注。本文以MCDTB中的一篇文章(chtb_0282)來說明宏觀篇章結(jié)構(gòu),如圖1所示。
圖1 chtb_0282內(nèi)容
其中,p1介紹了推行公務(wù)員制度交流會(huì)的情況,p2補(bǔ)充了會(huì)議時(shí)間以及參會(huì)人員,p3講述了李鵬總理肯定了推行公務(wù)員制度的成效,p4講述了李鵬總理提出推行公務(wù)員制度要依法辦事,p5補(bǔ)充其他參會(huì)人員。p2補(bǔ)充了p1描述的交流會(huì)的相關(guān)信息,因此p1與p2構(gòu)成補(bǔ)充關(guān)系,p3和p4分別闡述了交流會(huì)的內(nèi)容,因此構(gòu)成了并列關(guān)系,其形成的篇章單元對(duì)上文(p1和p2構(gòu)成的篇章單元)進(jìn)行解說,形成解說關(guān)系,p5是對(duì)全文的補(bǔ)充,即對(duì)p1到p4的信息進(jìn)行補(bǔ)充。
p1-p5構(gòu)成的篇章結(jié)構(gòu)樹如圖2所示。圖中,葉子節(jié)點(diǎn)(p1-p5)為段落,即宏觀篇章結(jié)構(gòu)中的基本篇章單元(EDUs);相鄰葉子節(jié)點(diǎn)通過篇章關(guān)系聯(lián)系起來,通過連接后構(gòu)成的節(jié)點(diǎn)是篇章單元(DUs),表示兩個(gè)基本篇章單元之間的關(guān)系;箭頭指向的是核心,即重要的篇章單元。具體而言,篇章單元之間通過篇章關(guān)系相連接,最終形成一棵完整的篇章結(jié)構(gòu)樹。本文研究的主要內(nèi)容就是識(shí)別相鄰篇章單元之間的結(jié)構(gòu),并層次化構(gòu)建篇章結(jié)構(gòu)樹。
圖2 宏觀篇章結(jié)構(gòu)樹(chtb_0282)
在MCDTB語料庫上,已有的篇章結(jié)構(gòu)識(shí)別研究[5-6]都只考慮相鄰兩個(gè)篇章單元的語義關(guān)系,如果相鄰兩個(gè)篇章單元語義關(guān)系很接近,那么這兩個(gè)篇章單元就會(huì)大概率以某種關(guān)系連接起來,形成一個(gè)更大的篇章單元,進(jìn)而層次化地構(gòu)建篇章結(jié)構(gòu)樹。但是這些研究都只考慮局部的上下文信息,而沒有將整個(gè)文章的語義信息(全局信息)有效運(yùn)用到篇章結(jié)構(gòu)識(shí)別任務(wù)中。
在RST-DT[7]的篇章結(jié)構(gòu)識(shí)別任務(wù)中,Lin等[8]提到,每次考慮相鄰兩個(gè)篇章單元容易受到局部信息的影響,而錯(cuò)誤的相鄰篇章結(jié)構(gòu)判斷會(huì)將錯(cuò)誤的信息傳播到上層,從而影響上層結(jié)構(gòu)的識(shí)別。而van Dijk的宏觀篇章結(jié)構(gòu)理論[9]也指出,宏觀結(jié)構(gòu)是更高層次的結(jié)構(gòu),表現(xiàn)為篇章整體的語義連貫,每一層的宏觀結(jié)構(gòu)都是由下層結(jié)構(gòu)支撐起來的。篇章的宏觀語義信息(即全局信息)往往能體現(xiàn)篇章的展開結(jié)構(gòu),可用于檢驗(yàn)一個(gè)篇章是否連貫。因此我們認(rèn)為,在考慮局部信息的同時(shí),全局信息也應(yīng)該被考慮,用來輔助篇章結(jié)構(gòu)的識(shí)別。
基于以往的研究都只考慮局部的上下文信息,且受到宏觀篇章結(jié)構(gòu)理論的啟發(fā),本文提出一種融合全局和局部信息的指針網(wǎng)絡(luò)模型,用于自頂向下地識(shí)別篇章結(jié)構(gòu),并構(gòu)建篇章結(jié)構(gòu)樹。在該模型中,我們采用交互注意力機(jī)制捕獲相鄰兩個(gè)段落之間的語義聯(lián)系,即局部信息;指針網(wǎng)絡(luò)的編碼層用來捕獲整個(gè)篇章的語義,即全局信息;而指針網(wǎng)絡(luò)的解碼層用來融合全局和局部信息,為兩個(gè)段落之間的語義分配一個(gè)概率,概率越大,表明這兩個(gè)段落之間的語義聯(lián)系越弱,因而需要進(jìn)行篇章單元的切分。對(duì)切分形成的兩個(gè)篇章單元,根據(jù)深度優(yōu)先原則,遞歸地進(jìn)行切分,從而自頂向下地構(gòu)建完整的篇章結(jié)構(gòu)樹。在MCDTB上的實(shí)驗(yàn)結(jié)果表明,本文模型優(yōu)于目前性能最好的模型。
在已有的研究工作中,無論中文還是英文,都更注重微觀篇章結(jié)構(gòu)的分析,而對(duì)于宏觀篇章結(jié)構(gòu)的分析還處于起步階段。涉及到宏觀篇章結(jié)構(gòu)的語料庫主要有英文修辭結(jié)構(gòu)篇章樹庫(RST Discourse Treebank,RST-DT)[7]和中文的漢語宏觀篇章樹庫(MCDTB)[4]?,F(xiàn)將兩個(gè)語料和相關(guān)模型介紹如下:
修辭結(jié)構(gòu)篇章樹庫(RST-DT)以修辭結(jié)構(gòu)理論(RST)為理論依據(jù),標(biāo)注了385篇《華爾街日?qǐng)?bào)》文章。在該語料庫的研究中,Hugo等[10]提出了基于SVM的篇章分析器HILDA,該模型以貪心的方式自底向上構(gòu)建篇章結(jié)構(gòu)樹;Shafiq等[11]等利用動(dòng)態(tài)CRF模型分別構(gòu)建了句子級(jí)別和篇章級(jí)別的分析器;Ji和Jacob[12]參考深度學(xué)習(xí)的做法,采用線性變換將表面特征轉(zhuǎn)換成隱空間,通過移進(jìn)規(guī)約進(jìn)行篇章解析;Lin等[8]采用指針網(wǎng)絡(luò),構(gòu)建了一個(gè)句子級(jí)的篇章解析器,但上述研究都是在微觀層面。在宏觀層面,Caroline和Alex[13]對(duì)RST-DT修正和裁剪后采用最大熵模型進(jìn)行了宏觀篇章結(jié)構(gòu)識(shí)別。
漢語宏觀篇章樹庫(MCDTB)遵循RST修辭結(jié)構(gòu)理論,對(duì)720篇文章進(jìn)行了宏觀篇章信息的標(biāo)注,包括篇章結(jié)構(gòu)、主次和語義關(guān)系等。在MCDTB上進(jìn)行篇章結(jié)構(gòu)識(shí)別,構(gòu)建完整篇章結(jié)構(gòu)樹的研究不多。Jiang等[5]采用序列標(biāo)注的思想,提出一個(gè)基于條件隨機(jī)場(chǎng)的模型(LD-CM)。該模型對(duì)結(jié)構(gòu)和主次進(jìn)行聯(lián)合學(xué)習(xí),從而自底向上的構(gòu)建篇章結(jié)構(gòu)樹;Zhou等[6]提出了一個(gè)基于神經(jīng)網(wǎng)絡(luò)的模型(MVM)。該模型從多個(gè)角度匹配兩個(gè)篇章單元之間的語義,從而識(shí)別篇章結(jié)構(gòu),并采用移進(jìn)規(guī)約的方法構(gòu)建篇章結(jié)構(gòu)樹。然而LD-CM是基于傳統(tǒng)機(jī)器學(xué)習(xí)的方法,用到了較多的手工特征,考慮相鄰兩個(gè)篇章單元的語義聯(lián)系;同樣MVM也只考慮相鄰兩個(gè)篇章單元的語義聯(lián)系。這兩種方法都只考慮了局部的上下文信息,沒有有效運(yùn)用全局信息輔助篇章結(jié)構(gòu)的識(shí)別。
本文提出了一種融合全局和局部信息的指針網(wǎng)絡(luò)(Pointer Network on Global and Local information,PUGL)的模型,自頂向下地識(shí)別漢語宏觀篇章結(jié)構(gòu),其架構(gòu)如圖3所示。該架構(gòu)包括三個(gè)部分: ①段落編碼層(Paragraph Encoder Layer,PEL),用來捕獲段落的語義表示;②段落交互層(Paragraph Interactive Layer,PIL),用來捕獲相鄰兩個(gè)段落的語義聯(lián)系,即局部信息;③指針網(wǎng)絡(luò)(Pointer Network),指針網(wǎng)絡(luò)的編碼層用來捕獲整個(gè)篇章的語義表示,即全局信息。解碼層融合局部和全局信息,用來識(shí)別篇章結(jié)構(gòu),并自頂向下地構(gòu)建篇章結(jié)構(gòu)樹。
圖3 PNGL模型框架圖
對(duì)于一篇文章P={p1,p2,…,pm},其中pi是段落詞語序列,m是文章的段落數(shù)。將pi通過段落編碼層(PEL),得到段落編碼R={r1,r2,…,rm}。將相鄰兩個(gè)段落的編碼通過段落交互層(PIL),得到表示相鄰兩個(gè)段落語義聯(lián)系的表示H={h1,h2,…,hm-1},hi表示段落pi和pi+1之間的語義聯(lián)系的緊密程度,即得到了局部信息。同時(shí)將ri平均池化之后通過指針網(wǎng)絡(luò)編碼層,指針網(wǎng)絡(luò)編碼層是雙向GRU,最后一個(gè)時(shí)間步輸出作為整個(gè)篇章的語義表示,即全局信息(例如,e5是段落p1到p5的全局信息,e3是段落p1到p3的全局信息)。
指針網(wǎng)絡(luò)解碼層是單向GRU,我們根據(jù)深度優(yōu)先的原則,使用棧來生成篇章結(jié)構(gòu)樹。在第t步,棧頂?shù)钠聠卧狣U(l,r)出棧。解碼層的輸入為篇章單元DU(l,r)的語義表示er,即編碼層第r個(gè)段落的最后一個(gè)時(shí)間步的輸出;解碼層的輸出為dt,dt和局部信息H進(jìn)行交互,通過計(jì)算注意力來融合全局信息和局部信息,從而為每一個(gè)hi分配一個(gè)概率,其中l(wèi)≤i≤r-1。概率越大,表示段落pi和pi+1之間的語義聯(lián)系越松散,應(yīng)該在pi和pi+1之間進(jìn)行切分,形成新的篇章單元DU(l,i)和DU(i+1,r)。切分后段落數(shù)大于2的篇章單元入棧,遞歸地對(duì)棧頂篇章單元進(jìn)行切分,直至棧空。根據(jù)切分得到的所有篇章單元構(gòu)建篇章結(jié)構(gòu)樹。
段落編碼層(PEL)用來對(duì)段落進(jìn)行編碼,獲得段落的語義信息。目前大多數(shù)的工作都采用LSTM[14]對(duì)輸入序列進(jìn)行編碼。LSTM雖然具備一定長(zhǎng)序列建模能力,但是在處理宏觀篇章單元的時(shí)候仍稍顯不足。因?yàn)楹暧^篇章單元的最小顆粒度是段落,包含更多的詞語,隨著詞數(shù)的增加,使得篇章單元內(nèi)出現(xiàn)更復(fù)雜的詞間依賴,而LSTM按照時(shí)序來處理文本,當(dāng)相距很遠(yuǎn)的詞語存在依賴關(guān)系時(shí),LSTM很難捕獲到這種關(guān)系。最近,通過注意力機(jī)制直接對(duì)輸入序列進(jìn)行編碼[15]取得了不錯(cuò)的效果,其計(jì)算如式(1)所示。
(1)
在其編碼的過程中,序列中的每一個(gè)詞語都與序列中的其他詞語進(jìn)行匹配計(jì)算,因而更容易捕獲長(zhǎng)距離詞語之間的依賴關(guān)系。本質(zhì)上,注意力機(jī)制是對(duì)輸入序列進(jìn)行加權(quán)求和,因而比LSTM保留了更多的原始輸入信息。而多頭注意力機(jī)制允許模型在不同的表示子空間中學(xué)習(xí)到相關(guān)的信息,可以使得模型更好地捕獲長(zhǎng)遠(yuǎn)距離依賴關(guān)系。因此在PNGL模型中,我們采用多頭注意力機(jī)制進(jìn)行段落層編碼,如式(2)所示。
(2)
(3)
段落交互層(PIL)用來捕獲相鄰兩個(gè)段落之間的語義聯(lián)系(局部信息)。一些研究人員通過注意力機(jī)制直接對(duì)序列之間的交互建模,并提出一些交互注意力機(jī)制。例如,Guo等[16]提出一種模擬雙向閱讀的交互注意力機(jī)制,他從人類閱讀的角度出發(fā),發(fā)現(xiàn)人類在判斷兩個(gè)序列之間的關(guān)系時(shí)往往需要來回閱讀這兩個(gè)序列,尤其是考慮兩個(gè)序列中聯(lián)系比較緊密的詞之間的語義聯(lián)系。受交互注意力機(jī)制工作的影響,徐等[17]采用式(1)對(duì)序列之間的交互進(jìn)行建模,并在篇章關(guān)系識(shí)別任務(wù)中取得了不錯(cuò)的效果,因此我們利用多頭交互注意力機(jī)制獲得段落之間交互的語義聯(lián)系。
對(duì)于兩個(gè)段落p1={x1,x2,…,xm}和p2={x1,x2,…,xn},使用式(3)得到段落編碼r1和r2,然后使用式(4)對(duì)段落之間的交互進(jìn)行建模。
(4)
(5)
其中,Wh∈Rdm×3di是參數(shù)矩陣。
序列到序列的模型[18]提供了輸入序列和輸出序列長(zhǎng)度可以不同的靈活性,但是由于該模型仍然需要固定輸出詞表的大小,而輸出詞表的大小取決于輸入序列的長(zhǎng)度,從而限制了需要指向輸入序列某個(gè)位置的問題的適用性。而指針網(wǎng)絡(luò)[19]通過使用注意力作為一個(gè)指向機(jī)制解決了這個(gè)問題。具體說來,對(duì)于輸入序列X={x1,x2,…,xn},首先經(jīng)過編碼層得到輸出Y={y1,y2,…,yn}。在解碼層的每一個(gè)時(shí)間步t,輸出的狀態(tài)dt會(huì)和序列Y進(jìn)行交互來計(jì)算注意力,然后通過softmax層獲得關(guān)于輸入序列的概率分布。因此,在PNGL模型中,我們運(yùn)用指針網(wǎng)絡(luò)獲得關(guān)于文章相鄰兩個(gè)段落之間的語義聯(lián)系(H)的概率分布,進(jìn)而確定文章的切分位置。
2.3.1 編碼層
2.3.2 解碼層
在解碼層采用的是一個(gè)兩層單向GRU。以chtb_0282為例,我們將編碼層的輸出E={e1,e2,e3,e4,e5}作為解碼層的輸入。在第t步解碼時(shí),篇章單元DU(l,r)出棧,解碼層會(huì)綜合當(dāng)前篇章的全局信息er和t步之前生成的結(jié)構(gòu)語義信息生成當(dāng)前狀態(tài)dt。dt和段落交互層的輸出H={h1,hl+1,…,hr-1}進(jìn)行交互,融合全局和局部信息,通過一個(gè)softmax層得到關(guān)于H的概率分布,如式(6)所示。
(6)
其中,σ(·,·)是融合全局和局部信息的函數(shù),具體為點(diǎn)積運(yùn)算;αt為關(guān)于H的概率分布。如果通過softmax層后hi被分配的概率值越大,表明段落pi和pi+1之間的語義聯(lián)系越松散,因此更應(yīng)該切分開,從而將整個(gè)篇章分為兩個(gè)篇章單元DU(l,i)和DU(i+1,r)。根據(jù)深度優(yōu)先的原則,每一步解碼,段落數(shù)量大于等于2的篇章單元將繼續(xù)入棧,遞歸地對(duì)篇章單元進(jìn)行切分,直至棧空,過程如圖4所示。
圖4 解碼過程
在PNGL模型中,損失函數(shù)我們采用負(fù)對(duì)數(shù)似然函數(shù)進(jìn)行計(jì)算,如式(7)所示。y (7) 本文在漢語宏觀篇章樹庫(MCDTB)上對(duì)模型結(jié)構(gòu)識(shí)別的性能進(jìn)行了評(píng)估。MCDTB定義了三大類十五小類篇章關(guān)系,并標(biāo)注了摘要,段落中心句、篇章結(jié)構(gòu)等宏觀篇章信息。MCDTB總計(jì)有720篇新聞報(bào)道的文章,每篇文章的段落數(shù)從2到22不等,段落分布如表1所示。 表1 段落分布 我們使用Jiang[5]遵循段落分布劃分好的數(shù)據(jù)集進(jìn)行試驗(yàn),其中訓(xùn)練集576篇,測(cè)試集144篇。為了與Zhou[6]的實(shí)驗(yàn)設(shè)置一致,我們將所有的非二叉樹都轉(zhuǎn)換為右二叉樹。另外,我們遵循Mathieu[22]對(duì)RST-DT上篇章結(jié)構(gòu)分析模型的評(píng)價(jià)標(biāo)準(zhǔn),同樣采用內(nèi)部節(jié)點(diǎn)正確率(等價(jià)于micro-F1)來衡量模型性能。我們將詞向量維度設(shè)置為300,采用Word2Vec[23]進(jìn)行預(yù)訓(xùn)練。段落編碼層和段落交互層轉(zhuǎn)換矩陣映射的維度dm和di都被設(shè)置為512;段落編碼層多頭注意力機(jī)制中頭數(shù)h設(shè)置為8,其中,dk=dv=dm/h=64;訓(xùn)練過程中batch大小設(shè)置為32,dropout率設(shè)置為0.5。 本文將文中提出的模型PNGL和基準(zhǔn)系統(tǒng)進(jìn)行了對(duì)比,基準(zhǔn)系統(tǒng)分為兩種:①只考慮局部信息; ②只考慮全局信息?;鶞?zhǔn)系統(tǒng)介紹如下: LD-CM[5]:性能最好的傳統(tǒng)模型,只考慮局部信息。該模型采用條件隨機(jī)場(chǎng),運(yùn)用較多的人工特征,考慮相鄰兩個(gè)篇章單元能否合并,貪婪地自底向上識(shí)別篇章結(jié)構(gòu),從而構(gòu)建篇章結(jié)構(gòu)樹。 MVM[6]:性能最好的神經(jīng)網(wǎng)絡(luò)模型,只考慮局部信息。該模型從詞、局部上下文以及話題這三個(gè)角度出發(fā),提出了詞對(duì)相似度機(jī)制來衡量相鄰兩個(gè)篇章單元的語義,并采用移進(jìn)規(guī)約的方法每次考慮相鄰兩個(gè)篇章單元能否合并,從左到右識(shí)別篇章結(jié)構(gòu),從而構(gòu)建篇章結(jié)構(gòu)樹。 PN[8]:我們復(fù)現(xiàn)了在RST-DT上表現(xiàn)優(yōu)異的結(jié)構(gòu)識(shí)別模型PN,只考慮全局信息。該模型是一個(gè)指針網(wǎng)絡(luò),在編碼層使用雙向GRU對(duì)整個(gè)文章進(jìn)行編碼,解碼層使用單向GRU進(jìn)行解碼,自頂向下地識(shí)別篇章結(jié)構(gòu),構(gòu)建篇章結(jié)構(gòu)樹。 實(shí)驗(yàn)結(jié)果如表2所示。PNGL模型比僅考慮局部信息的LD-CM模型性能提升了3.71%,比僅考慮局部信息的MVM模型(目前在MCDTB上最好的結(jié)構(gòu)識(shí)別模型)性能提升了2.31%,比僅考慮全局信息的PN模型性能提升了2.17%。宏觀篇章結(jié)構(gòu)理論[9]指出文章會(huì)有一個(gè)總攝全篇的主題,并層層分解,由下層命題展開。這說明段落或篇章單元之間的關(guān)系并非很松散,都是在對(duì)主題進(jìn)行分層面的展開敘述。 表2 模型在MCDTB上的性能比較 而LD-CM和MVM都僅考慮相鄰兩個(gè)篇章單元聯(lián)系的緊密程度,但是這兩個(gè)篇章單元是圍繞共同的主題展開的,如果僅僅考慮兩個(gè)篇章單元之間的聯(lián)系,模型往往會(huì)偏向于將這兩個(gè)篇章單元合并成更大的篇章單元。而PN模型通過考慮整個(gè)篇章單元的語義信息,將篇章單元切分成兩個(gè)較小的篇章單元。PN模型會(huì)對(duì)所有可能形成的兩個(gè)較小篇章單元語義聯(lián)系的緊密程度進(jìn)行排序,取語義聯(lián)系最松散的兩個(gè)較小篇章單元作為切分結(jié)果。但是每個(gè)篇章單元往往包含較復(fù)雜的段落語義信息,僅僅考慮全局信息,模型很難對(duì)兩個(gè)較小篇章單元之間的語義聯(lián)系的緊密程度進(jìn)行正確的排序。 我們的模型PNGL通過改進(jìn)段落的語義編碼,在指針網(wǎng)絡(luò)編碼層學(xué)習(xí)到更好的全局信息的同時(shí),又考慮相鄰兩個(gè)段落之間語義聯(lián)系的緊密程度,從而在性能上有所提升,這說明綜合考慮全局和局部信息對(duì)于識(shí)別篇章結(jié)構(gòu)并構(gòu)建篇章結(jié)構(gòu)樹非常有效。 以往的研究表明[8],采用基于轉(zhuǎn)移的方法進(jìn)行結(jié)構(gòu)識(shí)別,往往對(duì)于底層的識(shí)別能力較好,而對(duì)于上層的識(shí)別能力較差。主要原因是每一步的識(shí)別都只考慮局部信息,這會(huì)將錯(cuò)誤傳播到后續(xù)步驟,導(dǎo)致上層的結(jié)構(gòu)識(shí)別能力較差。 為了研究局部信息和全局信息分別對(duì)底層和頂層結(jié)構(gòu)識(shí)別的影響,我們?cè)赑NGL模型的基礎(chǔ)之上去掉段落交互層,即只考慮全局信息,得到模型PNGL(-local)。我們對(duì)只考慮局部信息最好的模型MVM以及只考慮全局信息最好的模型PNGL(-local)在最底下兩層內(nèi)部節(jié)點(diǎn)正確率和最頂上三層內(nèi)部節(jié)點(diǎn)正確率(1)由于最頂層的根節(jié)點(diǎn)所表示的結(jié)構(gòu)總是固定的,因此我們考慮最頂上三層和最底下兩層內(nèi)部節(jié)點(diǎn)正確率來表示模型對(duì)于頂層和底層結(jié)構(gòu)識(shí)別的性能好壞。進(jìn)行統(tǒng)計(jì)分析,結(jié)果如表3所示。 由表3的實(shí)驗(yàn)結(jié)果可知,相比于只考慮全局信息的模型,MVM在最底下兩層節(jié)點(diǎn)正確率更高,這說明考慮局部信息對(duì)于底層結(jié)構(gòu)識(shí)別有幫助。 表3 局部和全局信息分別對(duì)底層和頂層結(jié)構(gòu)識(shí)別的影響 PNGL(-local)模型在最上三層的節(jié)點(diǎn)正確率要高于MVM,說明相比于考慮局部信息的模型,只考慮全局信息對(duì)上層結(jié)構(gòu)識(shí)別有幫助。因此我們認(rèn)為在全局信息的基礎(chǔ)上加入局部信息可以增強(qiáng)模型對(duì)于底層節(jié)點(diǎn)的識(shí)別能力。 為了研究在全局信息的基礎(chǔ)之上融合局部信息對(duì)于結(jié)構(gòu)識(shí)別的影響,我們?cè)谀P蚉N的基礎(chǔ)之上,加入段落交互層,綜合考慮全局和局部信息,得到模型PN(+local);而PN和PNGL(-local)都是只考慮全局信息的指針網(wǎng)絡(luò)模型,它們的區(qū)別在于PN采用雙向GRU對(duì)段落進(jìn)行編碼,而PNGL(-local)采用多頭注意力機(jī)制對(duì)段落進(jìn)行編碼。我們統(tǒng)計(jì)了內(nèi)部節(jié)點(diǎn)正確率以及最底下兩層內(nèi)部節(jié)點(diǎn)正確率,如表4所示。 表4 加入局部信息后模型識(shí)別性能比較 表4實(shí)驗(yàn)結(jié)果表明,在加入局部信息之后,PN(+local)和PNGL的最底下兩層內(nèi)部節(jié)點(diǎn)正確率分別提高了0.61%和5.8%。PNGL相較于PN(+local),性能有明顯提升,其原因在于PN(+local)是直接使用雙向GRU對(duì)段落進(jìn)行編碼,由于多頭注意力機(jī)制相較于雙向GRU更容易捕獲長(zhǎng)距離單詞之間的依賴關(guān)系,能保留更多的原始信息,對(duì)段落的編碼更有效。因此將相鄰兩個(gè)段落的編碼輸入到段落交互層進(jìn)行交互,段落交互層就能更好地捕獲段落之間的語義聯(lián)系。通過捕獲到更好的局部信息,模型PNGL增強(qiáng)了對(duì)底層結(jié)構(gòu)的識(shí)別能力,從而從整體上提高模型的性能。 為了比較模型對(duì)于長(zhǎng)文和短文的識(shí)別能力,本文分別統(tǒng)計(jì)了長(zhǎng)文和短文內(nèi)部節(jié)點(diǎn)正確率,結(jié)果如表5所示。從表中數(shù)據(jù)可知,模型對(duì)短文結(jié)構(gòu)的識(shí)別性能較好,而對(duì)長(zhǎng)文結(jié)構(gòu)的識(shí)別性能較差。主要原因在于無論采用什么方法構(gòu)建篇章結(jié)構(gòu)樹,都會(huì)產(chǎn)生級(jí)聯(lián)錯(cuò)誤,而對(duì)長(zhǎng)文來說,則更加明顯。但和只考慮局部信息的模型以及只考慮全局信息的模型相比,模型PNGL綜合考慮全局和局部信息,對(duì)短文和長(zhǎng)文的結(jié)構(gòu)識(shí)別性能都有提升。 表5 模型對(duì)長(zhǎng)短文結(jié)構(gòu)識(shí)別性能比較 圖5從左到右展示了只考慮局部信息、只考慮全局信息以及考慮全局和局部信息的模型對(duì)chtb_0756(文章內(nèi)容及標(biāo)準(zhǔn)結(jié)構(gòu)樹見附錄A)的預(yù)測(cè)結(jié)果。MVM應(yīng)用棧和隊(duì)列,采用移進(jìn)規(guī)約的方法,考慮棧頂?shù)钠聠卧完?duì)首的段落能否合并成一個(gè)更大的篇章單元,如果可以合并則采取規(guī)約操作,否則采取移進(jìn)操作。由于MVM只考慮局部信息,在從左到右進(jìn)行結(jié)構(gòu)識(shí)別的時(shí)候,未能識(shí)別出相鄰兩個(gè)段落之間是否要合并成一個(gè)大的篇章單元,因此采用了一系列的移進(jìn)操作,當(dāng)隊(duì)列中為空之后,又采取一系列的規(guī)約操作,最終形成如圖5左圖所示的結(jié)構(gòu)樹。 圖5 不同模型構(gòu)建的文章chtb 0756的篇章結(jié)構(gòu)樹 PNGL(-local)采用棧數(shù)據(jù)結(jié)構(gòu),通過自頂向下的方法遞歸確定文章的切分位置,從而形成結(jié)構(gòu)樹。PNGL(-local)首先會(huì)對(duì)DU(1,1)和DU(2,5)、DU(1,2)和DU(3,5)、DU(1,3)和DU(4,5)、DU(1,4)和DU(5,5)這四個(gè)語義聯(lián)系的緊密程度進(jìn)行排序,確定DU(1,4)和DU(5,5)之間的語義聯(lián)系最松散,然后遞歸地對(duì)DU(1,4)進(jìn)行以上過程,確定DU(1,2)和DU(3,4)之間的語義聯(lián)系最松散,最終形成如圖5中間圖所示的結(jié)構(gòu)樹。但由于篇章單元中往往有多個(gè)段落,包含的語義信息比較復(fù)雜,如果只考慮全局信息,會(huì)使得模型很難對(duì)相鄰篇章單元之間聯(lián)系的緊密程度進(jìn)行正確排序。而我們的模型PNGL通過加入相鄰兩個(gè)段落之間的語義聯(lián)系(局部信息),考慮到了篇章單元邊界的信息,從而提升了模型結(jié)構(gòu)識(shí)別的能力。 本文針對(duì)漢語宏觀篇章結(jié)構(gòu)識(shí)別任務(wù),提出了一種融合全局和局部信息的指針網(wǎng)絡(luò)模型PNGL,用于自頂向下地識(shí)別篇章結(jié)構(gòu),構(gòu)建篇章結(jié)構(gòu)樹。其中,段落編碼層采用多頭注意力機(jī)制,可以有效地捕獲詞語之間的長(zhǎng)距離依賴;段落交互層通過多頭注意力交互機(jī)制捕獲段落和段落之間的語義聯(lián)系,即局部信息;指針網(wǎng)絡(luò)的編碼層用來捕獲全局信息,解碼層會(huì)融合全局和局部信息進(jìn)行解碼,自頂向下地識(shí)別篇章結(jié)構(gòu),構(gòu)建篇章結(jié)構(gòu)樹。在MCDTB上的實(shí)驗(yàn)結(jié)果表明,我們的模型PNGL比傳統(tǒng)機(jī)器學(xué)習(xí)的方法LD-CM性能提高了3.71%,比目前最好的模型MVM性能提高了2.31%,證明了融合全局和局部信息在篇章結(jié)構(gòu)識(shí)別任務(wù)中的有效性。由于模型識(shí)別短文的性能比較好,因此在下一步工作中,我們將融入話題分割的思想,嘗試將長(zhǎng)文劃分成短文本,從而提高長(zhǎng)文的結(jié)構(gòu)識(shí)別性能。3 實(shí)驗(yàn)
3.1 實(shí)驗(yàn)設(shè)置
3.2 實(shí)驗(yàn)結(jié)果
4 實(shí)驗(yàn)分析
4.1 全局和局部信息的影響
4.2 模型對(duì)長(zhǎng)短文識(shí)別性能比較
4.3 不同模型結(jié)構(gòu)識(shí)別的比較
5 總結(jié)