孫 成,孔 芳
(蘇州大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 蘇州 215006)
篇章是句子層級(jí)之上的自然語(yǔ)言單位。篇章分析技術(shù)旨在研究篇章內(nèi)部的語(yǔ)義關(guān)系,從整體上理解篇章[1]。篇章分析技術(shù)由底向上可以分為: 篇章理論的建立、篇章解析器的自動(dòng)構(gòu)建和篇章分析技術(shù)的上層應(yīng)用。其中,篇章解析器的自動(dòng)構(gòu)建研究是篇章分析技術(shù)的核心。近年來(lái),隨著中文篇章理論的不斷完善和篇章資源構(gòu)建工作的進(jìn)展[2-5],數(shù)據(jù)驅(qū)動(dòng)的中文篇章解析器的自動(dòng)構(gòu)建成為可能。
本文使用漢語(yǔ)連接依存樹(shù)篇章結(jié)構(gòu)語(yǔ)料(Chinese connective-driven discourse treebank, CDTB)[5](以下簡(jiǎn)稱漢語(yǔ)篇章結(jié)構(gòu)語(yǔ)料),其結(jié)合了RST[6]的樹(shù)形層次結(jié)構(gòu)、PDTB[7]的連接詞以及漢語(yǔ)復(fù)句理論[8]的單復(fù)句的理論優(yōu)點(diǎn),自底向上地將子句(即篇章基本單元,以下簡(jiǎn)稱子句)在連接詞的驅(qū)動(dòng)下組合為一棵篇章結(jié)構(gòu)樹(shù),用連接詞表征篇章關(guān)系的類型,并在內(nèi)部節(jié)點(diǎn)中標(biāo)出篇章關(guān)系和核心位置。針對(duì)該語(yǔ)料構(gòu)建自動(dòng)篇章解析器可以大致劃分為三個(gè)子任務(wù): ①子句的自動(dòng)分割,也就是篇章基本單元(EDU)的識(shí)別;②篇章樹(shù)形結(jié)構(gòu)的解析,即以段落為基本單元,迭代地將EDU構(gòu)建成上層節(jié)點(diǎn),并最終組織成一棵獨(dú)立的篇章樹(shù);③篇章關(guān)系識(shí)別與分類,即判別聯(lián)接形成上層節(jié)點(diǎn)的EDU間表達(dá)的邏輯語(yǔ)義關(guān)系。其中,中文篇章關(guān)系識(shí)別的相關(guān)研究和工作較多,方法也更為完善[9-11],本文并不關(guān)注這一任務(wù)。相對(duì)而言,篇章結(jié)構(gòu)對(duì)于篇章級(jí)別的上層應(yīng)用非常有幫助[12-13],本文研究的重點(diǎn)是中文篇章樹(shù)形結(jié)構(gòu)自動(dòng)生成。此外,我們認(rèn)為篇章樹(shù)形結(jié)構(gòu)對(duì)于篇章關(guān)系類型的判斷也起著至關(guān)重要的約束作用。
本文的主要工作包括: 詳細(xì)分析了中文篇章結(jié)構(gòu)語(yǔ)料的統(tǒng)計(jì)特征;提出了一個(gè)完整的從篇章純文本到篇章樹(shù)形層次結(jié)構(gòu)的解析框架,及可供參考的性能評(píng)價(jià)標(biāo)準(zhǔn);對(duì)比使用不同方式對(duì)子句進(jìn)行特征表示對(duì)最終性能的影響表明,淺層詞法特征仍然在篇章結(jié)構(gòu)解析中發(fā)揮主要作用;最后,本文分析了結(jié)構(gòu)解析中誤差傳播對(duì)于最后性能的影響。文章的組織如下: 第1節(jié)首先介紹實(shí)驗(yàn)使用的中文篇章語(yǔ)料以及相關(guān)的統(tǒng)計(jì)結(jié)果;第2節(jié)介紹相關(guān)工作,并詳述本文使用的篇章結(jié)構(gòu)解析框架;第3節(jié)給出實(shí)驗(yàn)配置、實(shí)驗(yàn)結(jié)果以及對(duì)實(shí)驗(yàn)結(jié)果的分析;最后一節(jié)是對(duì)當(dāng)前工作的總結(jié)和展望。
圖1給出了CDTB語(yǔ)料中文件名為chtb_0083.xml文檔中編號(hào)401的篇章結(jié)構(gòu)樹(shù)。其中葉子節(jié)點(diǎn)用于表示子句。連接依存理論[14]中,子句定義為復(fù)句理論中的單句或者復(fù)句的分句,其至少包含一個(gè)謂語(yǔ)結(jié)構(gòu)和表示一個(gè)完整主題。篇章結(jié)構(gòu)樹(shù)的中間節(jié)點(diǎn)為篇章關(guān)系節(jié)點(diǎn),關(guān)系節(jié)點(diǎn)將下一級(jí)的篇章子結(jié)構(gòu)組合為上一級(jí)的篇章結(jié)構(gòu),最終形成一棵完整的篇章樹(shù)。篇章子結(jié)構(gòu)的組合可由連接詞驅(qū)動(dòng),形成的篇章關(guān)系稱為顯式關(guān)系;而缺乏顯式連接詞指導(dǎo),由語(yǔ)義關(guān)系的組合則稱為隱式篇章關(guān)系。和修辭結(jié)構(gòu)理論相似,連接依存理論中,篇章關(guān)系也有主次之分,核心部分表達(dá)文章主體意圖,次要部分起對(duì)核心部分修飾和補(bǔ)充的功能。
漢語(yǔ)篇章結(jié)構(gòu)語(yǔ)料以段落為單位,在賓州中文樹(shù)庫(kù)6.0版本(CTB 6.0)的基礎(chǔ)上標(biāo)注了500篇文檔,包含段落數(shù)2 342個(gè),每個(gè)段落獨(dú)立標(biāo)注為篇章結(jié)構(gòu)樹(shù)。共包含10 638個(gè)子句, 平均每個(gè)篇章結(jié)構(gòu)樹(shù)包含4.54個(gè)子句。篇章結(jié)構(gòu)樹(shù)的平均高度為2.43,平均包含3.12個(gè)關(guān)系節(jié)點(diǎn)。語(yǔ)料中,篇章關(guān)系按核心位置分為三個(gè)類別: 核心在左、核心在右和多個(gè)核心(所有子節(jié)點(diǎn)都為核心)。表1給出了篇章關(guān)系中,各個(gè)核心位置的數(shù)量和占比。
a. 據(jù)盧仁法介紹,經(jīng)過(guò)全國(guó)稅務(wù)系統(tǒng)八十萬(wàn)干部的努力,今年全國(guó)工商稅收收入任務(wù)已提前十一天超額完成,b. 總體情況比較好。c. 但企業(yè)欠繳稅款的情況比較嚴(yán)重,d. 尤其是企業(yè)欠繳增值稅和消費(fèi)稅這“兩稅”的問(wèn)題突出,e. 嚴(yán)重影響了今年“兩稅”任務(wù)的完成。f. 到十一月底,全國(guó)企業(yè)欠繳的工商稅款累計(jì)達(dá)到了四百一十九億元,g. 其中欠繳國(guó)內(nèi)增值稅和消費(fèi)稅就達(dá)三百零七億元。圖1 CDTB語(yǔ)料中文件名為chtb_0083.xml文檔編號(hào)401的連接依存篇章結(jié)構(gòu)樹(shù)圖示下劃線表示連接詞,圖例中“-”表示缺省連接詞
表1 篇章關(guān)系核心位置數(shù)量和占比
不同于RST-DT將整個(gè)篇章標(biāo)注為一棵篇章結(jié)構(gòu)樹(shù)的策略,漢語(yǔ)篇章結(jié)構(gòu)語(yǔ)料以段落為單位,包含子句更少,樹(shù)的高度也更低,而且子句邊界都有標(biāo)點(diǎn)符號(hào)作為標(biāo)識(shí),給篇章結(jié)構(gòu)解析中的樹(shù)形結(jié)構(gòu)的建立帶來(lái)幫助。然而,中文篇章結(jié)構(gòu)語(yǔ)料中隱式篇章關(guān)系占比達(dá)75.2%。另外,核心位置分布不平衡,多個(gè)核心的關(guān)系占比達(dá)51.3%,使得篇章核心位置的自動(dòng)判定成為挑戰(zhàn)。
篇章結(jié)構(gòu)解析是一類結(jié)構(gòu)預(yù)測(cè)(structured prediction)任務(wù)。對(duì)于給定的子句序列,模型需要預(yù)測(cè)出組織這些子句的最合適的篇章結(jié)構(gòu)。目前的篇章解析工作大多參照句法解析的方法,可以分為基于圖(如Cocke-Younger-Kasami,CYK算法)的解析方法和基于轉(zhuǎn)移系統(tǒng)的解析方法。其中,基于轉(zhuǎn)移系統(tǒng)的方法將篇章樹(shù)的構(gòu)建過(guò)程看成是一個(gè)狀態(tài)轉(zhuǎn)移路徑的搜索過(guò)程。一個(gè)確定的狀態(tài)轉(zhuǎn)移序列對(duì)應(yīng)一棵確定的篇章樹(shù)形結(jié)構(gòu),從而將結(jié)構(gòu)預(yù)測(cè)問(wèn)題轉(zhuǎn)換成為對(duì)每個(gè)狀態(tài)正確預(yù)測(cè)下一個(gè)局部轉(zhuǎn)移動(dòng)作的分類問(wèn)題。基于轉(zhuǎn)移的解析策略因其具有線性的時(shí)間復(fù)雜度并取得了與CYK等基于圖的解析方法相當(dāng)?shù)男阅?,因而被廣泛應(yīng)用。
相較于中文,英文篇章解析研究工作開(kāi)展較早,其中關(guān)于篇章結(jié)構(gòu)解析任務(wù)主要圍繞RST-DT展開(kāi)。其中具有代表性的有: Hernault等開(kāi)發(fā)的基于線性SVM、采用自底向上貪婪策略的HILDA篇章解析器[15];Feng和Hirst提出了一種兩步解析的方法,分別使用兩個(gè)線性鏈條件隨機(jī)場(chǎng)模型依次構(gòu)建句內(nèi)和句間的篇章結(jié)構(gòu)[16];Ji和Eisenstein等嘗試通過(guò)線性變換,將稀疏的子句特征轉(zhuǎn)換為低維度的向量表示,并通過(guò)線性SVM預(yù)測(cè)轉(zhuǎn)移系統(tǒng)的動(dòng)作[17];Jiwei Li等基于遞歸神經(jīng)網(wǎng)絡(luò)對(duì)篇章子結(jié)構(gòu)進(jìn)行建模,使用表解析的方法完成自動(dòng)篇章分析[18]。中文方面,由于篇章理論不夠完善,篇章自動(dòng)分析技術(shù)發(fā)展緩慢。可供參考的工作有: 孔芳等基于CDTB語(yǔ)料采用流水線的方式構(gòu)建的端到端的中文篇章解析器[19];吳永芃等為簡(jiǎn)化篇章分析難度,提出了篇章依存樹(shù)的篇章結(jié)構(gòu)體系[20]。
本文使用的Shift-Reduce轉(zhuǎn)移系統(tǒng)可以由式(1)所示的五元組定義:
SR=C,T,Cs,Ct,o
(1)
C:所有可行的狀態(tài),每個(gè)狀態(tài)包含一個(gè)棧和一個(gè)隊(duì)列結(jié)構(gòu)。隊(duì)列中存放待處理的子句,棧中存放正在處理的篇章子結(jié)構(gòu)(包含子句和篇章樹(shù)的子樹(shù))。
T: 每個(gè)狀態(tài)對(duì)應(yīng)的可行動(dòng)作,在表2中給出。Shift動(dòng)作執(zhí)行是會(huì)從隊(duì)列中彈出頂部子句,壓入棧中;Reduce動(dòng)作將棧頂?shù)念^兩個(gè)樹(shù)節(jié)點(diǎn)組合成一個(gè)節(jié)點(diǎn),并將合并的兩個(gè)節(jié)點(diǎn)作為新節(jié)點(diǎn)的子節(jié)點(diǎn)。
Cs: 初始狀態(tài)集合,棧為空,隊(duì)列中依次存放篇章所有的子句。
Ct: 終止?fàn)顟B(tài)集合,隊(duì)列為空,棧中之包含篇章結(jié)構(gòu)樹(shù)的根節(jié)點(diǎn),終止?fàn)顟B(tài)不能執(zhí)行任何轉(zhuǎn)移動(dòng)作。
o:Oracle函數(shù),給定狀態(tài),始終返回該狀態(tài)生成正確篇章結(jié)構(gòu)的下一個(gè)轉(zhuǎn)移動(dòng)作。從初始狀態(tài),不斷執(zhí)行Oracle函數(shù)返回的動(dòng)作,最后到達(dá)終止?fàn)顟B(tài)的狀態(tài)轉(zhuǎn)移序列對(duì)應(yīng)一棵正確的篇章結(jié)構(gòu)樹(shù)。
表2 Shift-Reduce狀態(tài)轉(zhuǎn)移動(dòng)作
圖1的篇章樹(shù)形結(jié)構(gòu)可以由初始狀態(tài)在Oracle函數(shù)的指導(dǎo)下執(zhí)行多次狀態(tài)轉(zhuǎn)移確定。表3給出了該正確的狀態(tài)轉(zhuǎn)移序列??梢钥闯觯琒hift-Reduce轉(zhuǎn)移系統(tǒng)自底向上地構(gòu)建出篇章結(jié)構(gòu)樹(shù)。給定一棵二元的篇章樹(shù),Oracle函數(shù)的輸出動(dòng)作序列可通過(guò)從標(biāo)準(zhǔn)二元篇章結(jié)構(gòu)樹(shù)的根節(jié)點(diǎn)開(kāi)始后序遍歷變形實(shí)現(xiàn),遍歷中遇到葉子節(jié)點(diǎn)則輸出Shift動(dòng)作,遇到關(guān)系節(jié)點(diǎn)則輸出Reduce動(dòng)作。由于Shift-Reduce生成的樹(shù)結(jié)構(gòu)為二叉樹(shù),所以狀態(tài)轉(zhuǎn)移次數(shù)為2n-1,其中n為篇章中包含的子句數(shù)目。
表3 狀態(tài)轉(zhuǎn)移序列示例
續(xù)表
由2.1節(jié)可知,基于轉(zhuǎn)移的篇章結(jié)構(gòu)解析的關(guān)鍵在于構(gòu)建模型模仿Oracle函數(shù),因此可以看成對(duì)給定狀態(tài)進(jìn)行分類的問(wèn)題。為了在確定結(jié)構(gòu)的同時(shí)確定篇章關(guān)系的核心位置,我們將Reduce動(dòng)作擴(kuò)展為Reduce-左核心、Reduce-右核心和Reduce-全核心。總的分類標(biāo)簽數(shù)變成4個(gè),是一個(gè)結(jié)構(gòu)生成和核心關(guān)系判定的聯(lián)合模型。
神經(jīng)網(wǎng)絡(luò)和文本分布式表示的應(yīng)用使得在自然語(yǔ)言處理領(lǐng)域取得了突破性的進(jìn)展。本文使用SPINN(Stack-augmented Parser-Interpreter Neural Network)模型[21],對(duì)歷史轉(zhuǎn)移狀態(tài)序列、篇章子結(jié)構(gòu)進(jìn)行分布式表示,得到當(dāng)前狀態(tài)的表示,用于預(yù)測(cè)下一個(gè)轉(zhuǎn)移動(dòng)作。
2.3.1 SPINN模型
圖2 SPINN模型示例
圖2給出了SPINN模型在表3中時(shí)刻4的模型圖示。SPINN用一個(gè)tracking LSTM網(wǎng)絡(luò)維護(hù)整個(gè)解析過(guò)程的歷史轉(zhuǎn)移狀態(tài)。每個(gè)時(shí)刻tracking LSTM輸入棧的頭兩個(gè)元素和隊(duì)列的頭一個(gè)元素,其中如果棧的頭兩個(gè)元素結(jié)合緊密則應(yīng)該執(zhí)行Reduce操作,而棧的頭元素與隊(duì)列的頭元素決定是否將隊(duì)列的頭元素移入棧內(nèi)。時(shí)刻t的解析狀態(tài)trackingt用于預(yù)測(cè)時(shí)刻t下一個(gè)動(dòng)作的概率分布,并且作為下一個(gè)時(shí)刻的輸入表示解析狀態(tài)的歷史信息。在一個(gè)解析過(guò)程中,模型的狀態(tài)隨著狀態(tài)轉(zhuǎn)移不斷推進(jìn)。我們使用動(dòng)態(tài)計(jì)算圖而不是每次轉(zhuǎn)移后重新生成計(jì)算圖,以保留模型的狀態(tài)。
2
2.3.2 子句的特征表示
棧和隊(duì)列中每個(gè)元素,對(duì)應(yīng)部分解析的篇章結(jié)構(gòu)樹(shù)的某個(gè)葉子節(jié)點(diǎn)(子句節(jié)點(diǎn))或者內(nèi)部節(jié)點(diǎn)(關(guān)系節(jié)點(diǎn))。每個(gè)元素分別表示為一個(gè)狀態(tài)向量c和一個(gè)輸出向量h。我們首先介紹如何使用不同的方法對(duì)子句進(jìn)行特征表示,不同表示方法的性能差異在第3節(jié)中以最后性能評(píng)價(jià)的方式給出。
首先我們使用規(guī)則的方法從子句中提取啟發(fā)式的特征作為子句表示的性能基準(zhǔn),包括第一個(gè)詞和最后一個(gè)詞的Embedding,其中Word Embedding在GigaWords上預(yù)訓(xùn)練,并在訓(xùn)練中不斷優(yōu)化;另外還有第一個(gè)詞的詞性的向量表示,詞性由Berkeley Parser解析獲得。詞向量的維度為50,詞性的Embedding維度為15。
將上述特征向量拼接之后通過(guò)一個(gè)線性變換得到子句的c和h的表示,如式(4)所示。
除基本特征外,Average BOW Embedding的子句表示方法對(duì)子句中所有詞對(duì)應(yīng)的詞向量w1,w2,…,wk求和取平均,用上文同樣的線性映射方法取得子句的h和c,如式(5)、式(6)所示。
我們首先使用一個(gè)雙向LSTM對(duì)子句的詞序列進(jìn)行正向和反向序列編碼,將正反向LSTM的輸出拼接后作為子句中詞w1,w2,…,wk編碼為包含上下文序列信息的序列表示hw1,hw2,…,hwk。使用自注意力機(jī)制取得編碼后的信息的權(quán)重,按權(quán)重將hwi相加作為子句的特征表示。
其中,向量q是注意力機(jī)制中的Query,可以被解釋為哪些LSTM序列編碼輸出對(duì)于篇章結(jié)構(gòu)解析比較重要。q在訓(xùn)練開(kāi)始時(shí)隨機(jī)初始化并隨著訓(xùn)練學(xué)習(xí)合適的參數(shù)。
卷積神經(jīng)網(wǎng)絡(luò)廣泛用于提取句子的詞匯特征。首先,對(duì)于子句中的每一個(gè)詞分別用50維、15維、15維的向量分布式表示詞、詞性和位置信息。詞向量同上使用在GigaWords上預(yù)訓(xùn)練的詞向量,詞性和位置的Embedding隨機(jī)初始化。拼接后的每個(gè)詞的向量表示維度為dw。如圖3所示,我們使用60個(gè)1×dw、30個(gè)2×dw和10個(gè)3×dw窗口大小的卷積核從子句中提取一元、二元和三元的詞匯特征。然后使用最大池化方法挑選每個(gè)卷積核的最顯著的詞卷積特征,最后將池化后的特征與基礎(chǔ)特征拼接起來(lái),經(jīng)過(guò)線性變換得到子句的c和h的表示。
2.3.3 關(guān)系節(jié)點(diǎn)的特征表示
受邏輯語(yǔ)義學(xué)的組合原則啟發(fā),我們相信篇章關(guān)系節(jié)點(diǎn)的語(yǔ)義與其組成部分的語(yǔ)義及其部分的組合方式密切相關(guān)。Tree-LSTM已經(jīng)被證明在組合語(yǔ)義的表示方面十分有效[22],我們引入Tree-LSTM作為轉(zhuǎn)移狀態(tài)棧中的部分篇章子樹(shù)的組合語(yǔ)義表示方法。如表3中時(shí)刻2,我們需要執(zhí)行Reduce動(dòng)作,并將a和b兩個(gè)葉子節(jié)點(diǎn)組合為其父關(guān)系節(jié)點(diǎn)r1,設(shè)此時(shí)根據(jù)上一節(jié)介紹的策略將a和b表示為ca,ha,(cb,hb)。根據(jù)Tree-LSTM做如下推導(dǎo),得到其a、b父節(jié)點(diǎn)r1的特征表示,如式(10)~式(12)所示。
圖3 用于子句特征提取的CNN網(wǎng)絡(luò)圖示
中文篇章語(yǔ)料(CDTB)[5]包含500篇文檔,每個(gè)文檔包含不等的若干以段落為單位的篇章樹(shù)形結(jié)構(gòu)。在分割之前為了方便處理,我們?nèi)サ袅私M織不良的編號(hào)為150、193、208、287、300、644的文檔,其他的文檔按表4劃分為訓(xùn)練集、開(kāi)發(fā)集和測(cè)試集。由于Shift-Reduce框架只能生成二叉樹(shù),而中文篇章結(jié)構(gòu)語(yǔ)料中的多核心節(jié)點(diǎn)可能包含多個(gè)孩子節(jié)點(diǎn),所以我們?cè)谟?xùn)練和評(píng)測(cè)之前會(huì)將所有的篇章樹(shù)結(jié)構(gòu)中多元節(jié)點(diǎn)通過(guò)不斷歸并,最后到兩個(gè)孩子轉(zhuǎn)換為二叉樹(shù)。
表4 語(yǔ)料劃分
相對(duì)于RST在整個(gè)篇章上標(biāo)注篇章結(jié)構(gòu),中文篇章結(jié)構(gòu)語(yǔ)料以段落為單位,樹(shù)的高度和節(jié)點(diǎn)數(shù)都少得多。但RST的評(píng)價(jià)方法是將核心位置和篇章關(guān)系放在子節(jié)點(diǎn)上,如果子節(jié)點(diǎn)的邊界位置和核心標(biāo)注正確,則視為一個(gè)正確的節(jié)點(diǎn)。為了更好地反映篇章結(jié)構(gòu)解析的性能,本次實(shí)驗(yàn)采用更為嚴(yán)格的性能評(píng)價(jià)方法。評(píng)價(jià)包括兩方面:
① 節(jié)點(diǎn)結(jié)構(gòu)正確的評(píng)價(jià): 對(duì)于一棵自動(dòng)解析篇章結(jié)構(gòu)樹(shù)的內(nèi)部節(jié)點(diǎn),與其標(biāo)準(zhǔn)篇章結(jié)構(gòu)樹(shù)比對(duì)時(shí),只有其子節(jié)點(diǎn)的邊界位置全部正確,才能算作是一個(gè)結(jié)構(gòu)正確的節(jié)點(diǎn)。
② 關(guān)系核心正確的評(píng)價(jià): 只有在結(jié)構(gòu)正確的前提下,節(jié)點(diǎn)的核心位置判定正確,才能算作是一個(gè)核心位置正確的內(nèi)部節(jié)點(diǎn)。
依據(jù)上述評(píng)價(jià)準(zhǔn)則,我們得到了如下計(jì)算每棵樹(shù)的準(zhǔn)確率P和召回率R,如式(13)、式(14)所示。
在求出測(cè)試集每棵樹(shù)的準(zhǔn)確率和召回率后,取平均求得平均準(zhǔn)確率Pavg和平均召回率Ravg,使用式(15)求得整個(gè)系統(tǒng)F1性能指標(biāo):
模型的訓(xùn)練以單棵篇章樹(shù)為單位。首先將篇章樹(shù)的子句節(jié)點(diǎn)按照2.2節(jié)的方法編碼為cb,hb,然后在Oracle函數(shù)的引導(dǎo)下不斷執(zhí)行狀態(tài)轉(zhuǎn)移,并保存每一步的預(yù)測(cè)狀態(tài)轉(zhuǎn)移動(dòng)作概率分布pi和正確的轉(zhuǎn)移動(dòng)作o(ct)。對(duì)于每個(gè)轉(zhuǎn)移狀態(tài),棧中的編碼和元素cs,hs和隊(duì)列中的編碼后元素cb,hb以及tracking LSTM的隱藏狀態(tài)(ctracking,htracking)的維度均為128。假設(shè)一個(gè)篇章包含n個(gè)子句,則除終止?fàn)顟B(tài)外,構(gòu)建對(duì)應(yīng)篇章解析樹(shù)有狀態(tài)序列c0,c1…c2n-2,每個(gè)狀態(tài)由SPINN模型輸出下一個(gè)動(dòng)作的預(yù)測(cè)概率分布p1,p2…p2n-1,損失函數(shù)定義為式(6)所示。
L2正則化項(xiàng)系數(shù)λ設(shè)置為0.000 01,使用 Adam 優(yōu)化器訓(xùn)練優(yōu)化模型參數(shù),學(xué)習(xí)速率設(shè)置為0.001并隨著訓(xùn)練次數(shù)線性下降。
模型在訓(xùn)練集上迭代訓(xùn)練優(yōu)化參數(shù),保存每次訓(xùn)練過(guò)程中開(kāi)發(fā)集上表現(xiàn)最好的模型用于最后性能評(píng)價(jià)的模型。
標(biāo)準(zhǔn)子句分割是指,對(duì)于測(cè)試集中的標(biāo)準(zhǔn)篇章結(jié)構(gòu)樹(shù),我們保留其子句的劃分,去掉篇章樹(shù)的內(nèi)部關(guān)系節(jié)點(diǎn),用上述模型重新構(gòu)建篇章結(jié)構(gòu),最后使用3.2節(jié)介紹的性能評(píng)價(jià)方法給出最終的模型在結(jié)構(gòu)構(gòu)建和核心判定方面的性能。
表5給出了在標(biāo)準(zhǔn)子句分割下使用不同子句特征表示,最終取得的解析性能。值得指出的是,由于在標(biāo)準(zhǔn)分割的子句上構(gòu)建關(guān)系,二叉樹(shù)的內(nèi)部節(jié)點(diǎn)數(shù)比關(guān)系節(jié)點(diǎn)數(shù)少1,所以自動(dòng)生成篇章結(jié)構(gòu)樹(shù)的內(nèi)部數(shù)與標(biāo)準(zhǔn)篇章結(jié)構(gòu)樹(shù)的內(nèi)部節(jié)點(diǎn)相等,所以準(zhǔn)確率、召回率和F1值在同一個(gè)指標(biāo)下相等。由實(shí)驗(yàn)結(jié)果可知,在標(biāo)準(zhǔn)子句分割下,average BOW Embedding、BiLSTM with Attention和CNN的子句表示的方法相對(duì)于只使用基本特征,都會(huì)帶來(lái)性能提升。使用卷積神經(jīng)網(wǎng)絡(luò)對(duì)子句進(jìn)行表示在結(jié)構(gòu)和核心位置的判別上都取得了最好的性能,說(shuō)明詞匯短語(yǔ)特征對(duì)于啟發(fā)式的篇章結(jié)構(gòu)分析仍然起主要作用,應(yīng)該放到結(jié)構(gòu)生成的首選位置。
表5 標(biāo)準(zhǔn)子句分割下的結(jié)構(gòu)解析性能
中文篇章結(jié)構(gòu)語(yǔ)料中,子句都有標(biāo)點(diǎn)作為邊界標(biāo)識(shí),但不是所有的標(biāo)點(diǎn)都可以作為邊界標(biāo)識(shí)。比如圖1中的f子句:
f. 到十一月底,全國(guó)企業(yè)欠繳的工商稅款累計(jì)達(dá)到了四百一十九億元,
“到十一月底”單獨(dú)并不能表達(dá)一個(gè)主題,所以其后面的逗號(hào)不能作為邊界的標(biāo)識(shí)。我們參照文獻(xiàn)[23]中的方法,對(duì)是否為邊界標(biāo)識(shí)包含歧義的標(biāo)點(diǎn)分類。先使用文本中出現(xiàn)的“。!?”標(biāo)點(diǎn)作為分割標(biāo)識(shí),將篇章文本切割為句子。然后依照文獻(xiàn)[23]從逗號(hào)和分號(hào)的上下文中抽取詞法、句法等特征,使用SVM分類器將句子中的逗號(hào)和分號(hào)分類為“是邊界標(biāo)識(shí)”和“不是邊界標(biāo)識(shí)”兩個(gè)類別。逗號(hào)和分號(hào)的分類性能在表6中給出。
表6 逗號(hào)、分號(hào)是否為子句邊界分類性能
將分割后的子句作為輸入,使用上述篇章結(jié)構(gòu)解析框架構(gòu)建篇章結(jié)構(gòu),最后測(cè)試集上的性能在表7 中給出。
表7 自動(dòng)子句分割下的結(jié)構(gòu)解析性能
從性能中可以看出,雖然逗號(hào)、分號(hào)的分類性能達(dá)到0.93的F1值,但是由于我們采用嚴(yán)格的結(jié)構(gòu)評(píng)價(jià)方法,邊界分割的錯(cuò)誤直接或間接影響篇章樹(shù)上層結(jié)構(gòu),子句分割的錯(cuò)誤會(huì)對(duì)最后結(jié)果造成較大影響。另外,在標(biāo)準(zhǔn)子句分割下,采用基本特征+BOW和基本特征+BiLSTM with Attention在核心位置檢測(cè)上取得了相當(dāng)?shù)男阅?,而在自?dòng)子句分割下,采用基本特征+BiLSTM with Attention的核心位置檢測(cè)性能相比基本特征+BOW配置有較大差距。我們的解釋為: 由于LSTM擅長(zhǎng)捕獲序列上長(zhǎng)短距離的語(yǔ)義依賴關(guān)系,因而自動(dòng)子句分割的錯(cuò)誤更容易影響到LSTM的序列模型。
表8給出了自動(dòng)子句分割、子句表示使用基本特征+CNN的配置下,核心位置判別的性能。再次強(qiáng)調(diào),文本給出的評(píng)價(jià)機(jī)制中,只有在節(jié)點(diǎn)結(jié)構(gòu)正確的前提下才能保證評(píng)價(jià)核心位置判別的正確性。自動(dòng)子句分割和節(jié)點(diǎn)結(jié)構(gòu)的性能都對(duì)核心位置性能的判斷產(chǎn)生影響,因此表8中給出的核心位置判別的準(zhǔn)確率和召回率都偏低。此外,最終的性能印證了1.2節(jié)對(duì)于核心位置統(tǒng)計(jì)結(jié)果的推斷。篇章關(guān)系核心位置的分布不平衡和隱式篇章關(guān)系的高占比,使得核心位置的自動(dòng)判定需要在數(shù)量不多的篇章語(yǔ)言資源的上學(xué)習(xí)篇章單元之間的深層語(yǔ)義信息,因而很難取得理想的判定效果。
表8 整個(gè)結(jié)構(gòu)解析框架的核心位置判定性能
本文在中文篇章結(jié)構(gòu)語(yǔ)料上,基于轉(zhuǎn)移系統(tǒng)和神經(jīng)網(wǎng)絡(luò)的方法,構(gòu)建了面向中文的篇章結(jié)構(gòu)解析框架。其能夠從純篇章純文本構(gòu)建篇章樹(shù)形結(jié)構(gòu),并具有線性的時(shí)間復(fù)雜度,有望為下游如篇章摘要生成、篇章級(jí)的情感分析等任務(wù)提供幫助。
相較于句子,篇章中遠(yuǎn)距離的語(yǔ)義依賴關(guān)系更多,中文在行文時(shí)句子的組織更為松散。自底向上的結(jié)構(gòu)解析方式只從局部特征考慮篇章結(jié)構(gòu)的組織,缺乏全局信息如篇章主題的指引。我們未來(lái)的工作將考慮篇章整體信息,嘗試用自頂向下的方法依次分解篇章組成成分,完成篇章結(jié)構(gòu)的構(gòu)建。