孫凱麗 李 源 鄧沌華 李 妙 李 洋
(1.華中師范大學(xué)計(jì)算機(jī)學(xué)院 武漢 430079)(2.華中師范大學(xué)語言與語言教育研究中心 武漢 430079)
漢語復(fù)句是銜接小句與篇章的重要單位,在漢語句法中占有重要地位。漢語言研究中,若要取得“句處理”的重大進(jìn)展,則漢語復(fù)句的句法語義自動(dòng)判定問題便成為了主要的研究?jī)?nèi)容[1]。復(fù)句是由兩個(gè)或以上的分句構(gòu)成,漢語言中近2/3的句子是復(fù)句。因此,對(duì)漢語句子的研究實(shí)則是對(duì)復(fù)句的研究。復(fù)句的關(guān)系識(shí)別是漢語言應(yīng)用中語義自動(dòng)分析的關(guān)鍵,是自然語言理解的基礎(chǔ)研究問題。復(fù)句關(guān)系識(shí)別的主要任務(wù)是研究復(fù)句句間的邏輯語義關(guān)系,正確的判斷邏輯關(guān)系意味著能夠有效地理解復(fù)句。因此,該課題的研究有利于提升篇章分析[2]、自動(dòng)問答[3]、信息抽?。?]等系統(tǒng)的性能,并推動(dòng)多種自然語言處理任務(wù)的發(fā)展。
復(fù)句根據(jù)關(guān)系標(biāo)記標(biāo)示能力的強(qiáng)弱分為充盈態(tài)有標(biāo)復(fù)句和非充盈態(tài)有標(biāo)復(fù)句。如例1所示,復(fù)句中存在關(guān)系標(biāo)記“除了…還…”,由該關(guān)系標(biāo)記可以明確地標(biāo)示例1屬于并列關(guān)系復(fù)句,因此,像這樣的復(fù)句稱為充盈態(tài)有標(biāo)復(fù)句。例2復(fù)句中由于關(guān)系標(biāo)記的缺失,此時(shí)若判定復(fù)句語義關(guān)系,就不能僅僅通過關(guān)系標(biāo)記來進(jìn)行標(biāo)示,而需結(jié)合句子具體的語義來分析,這樣的復(fù)句稱為非充盈態(tài)有標(biāo)復(fù)句。如在例2中,a)、b)兩復(fù)句雖含有相同的關(guān)系標(biāo)記“萬一”,但通過具體的語義分析后判定a)為因果關(guān)系復(fù)句,b)為轉(zhuǎn)折關(guān)系復(fù)句。所以,在非充盈態(tài)有標(biāo)復(fù)句中若要正確地識(shí)別語義關(guān)系,需要充分考慮復(fù)句的語義、語境、句法等特征信息,而不是僅僅單純地依靠關(guān)系標(biāo)記來確定。
例1除了在第二師范教國(guó)文,還在育德中學(xué)講國(guó)故。(梁斌《紅旗譜》)
例2a)萬一造成全廠斷水,會(huì)帶來不敢想象的災(zāi)難!(蔣杏《寫在雪地上的悼詞》)
b)聽從郭芙的注意,萬一事發(fā),師母須怪不到他。(金庸《神雕俠侶》)
本文所研究的內(nèi)容主要是針對(duì)非充盈態(tài)二句式復(fù)句進(jìn)行關(guān)系識(shí)別,使用的語料為邢福義等[5]在2005年發(fā)布的漢語復(fù)句語料庫(kù)(the Corpus of Chinese Compound Sentence,CCCS)[23]和 周 強(qiáng) 等[6]在2004年發(fā)布的清華漢語樹庫(kù)(Tsinghua Chinese Treebank,TCT)。其中CCCS語料庫(kù)共收錄658447條有標(biāo)復(fù)句,語料來源以《人民日?qǐng)?bào)》和《長(zhǎng)江日?qǐng)?bào)》為主。TCT語料庫(kù)則是從大規(guī)模經(jīng)過基本信息標(biāo)注的漢語平衡語料庫(kù)中抽取而來,具有100萬漢字規(guī)模的語料文本,句子總量達(dá)到44136條,復(fù)句數(shù)量為24444條。
基于CCCS和TCT語料庫(kù),本文提出了一種基于詞聚類算法的卷積神經(jīng)網(wǎng)絡(luò)(CNN)與雙向長(zhǎng)短時(shí)記憶(Bi-LSTM)網(wǎng)絡(luò)相結(jié)合的聯(lián)合模型架構(gòu),并引入融合詞向量的方法解決非充盈態(tài)二句式復(fù)句關(guān)系識(shí)別的任務(wù)。本文所提出的聯(lián)合模型架構(gòu)能夠充分利用CNN與Bi-LSTM網(wǎng)絡(luò)結(jié)構(gòu)的優(yōu)勢(shì),在提取文本局部語義特征的同時(shí)又獲得了文本整體的語義信息以及長(zhǎng)距離的語義依賴特征。其中,本文模型中是對(duì)原始的CNN進(jìn)行改進(jìn),將池化層替換為Bi-LSTM網(wǎng)絡(luò)層,目的是在提取文本內(nèi)局部語義特征的基礎(chǔ)上,減少池化操作所帶來的語義信息的丟失。另外,本文在最初階段使用基于K-means的詞聚類算法,實(shí)現(xiàn)對(duì)復(fù)句詞向量的聚類建模,充分挖掘復(fù)句中單詞間的語義相似特征信息,增強(qiáng)網(wǎng)絡(luò)結(jié)構(gòu)的學(xué)習(xí)能力。整體而言,本文采用局部語義特征與全局語義特征相互結(jié)合相互補(bǔ)充的思想,對(duì)復(fù)句向量矩陣聯(lián)合建模,最終實(shí)現(xiàn)復(fù)句關(guān)系類別的正確判定。經(jīng)過驗(yàn)證,本文所提模型取得了較好的識(shí)別性能,對(duì)比楊進(jìn)才[11]等的最好識(shí)別方法有著明顯的性能提升,準(zhǔn)確率提升約3.4%。
漢語復(fù)句的關(guān)系識(shí)別主要通過分析復(fù)句語義、語境,即上文文本信息來判斷復(fù)句所表述的語義關(guān)系傾向。自2001年由邢福義[7]提出的復(fù)句三分系統(tǒng),根據(jù)分句間的邏輯語義關(guān)系將復(fù)句分為因果、并列、轉(zhuǎn)折三大類。在這之后,許多專家學(xué)者展開了對(duì)復(fù)句關(guān)系自動(dòng)判別的研究,并取得了一些顯著的成果。復(fù)句關(guān)系識(shí)別技術(shù)大致可以分為基于規(guī)則的方法和基于統(tǒng)計(jì)模型的方法,又或是兩者的結(jié)合。周文翠等[8]選取復(fù)句主語、謂語等相關(guān)語法特征,并根據(jù)《知網(wǎng)》將特征進(jìn)行量化,最后使用支持向量機(jī)(SVM)訓(xùn)練模型,實(shí)現(xiàn)并列復(fù)句的自動(dòng)判別。Huang等[9]利用決策樹算法提取句子的詞性、長(zhǎng)度、關(guān)系標(biāo)記等特征,從而識(shí)別漢語句子的因果、并列關(guān)系。李艷翠等[10]基于已標(biāo)注的清華漢語樹庫(kù),結(jié)合規(guī)則與句法樹的相關(guān)特征采用最大熵、決策樹和貝葉斯的方法進(jìn)行關(guān)系詞與關(guān)系類別的判別研究。楊進(jìn)才等[11]將非充盈態(tài)二句式復(fù)句作為研究對(duì)象,結(jié)合關(guān)系標(biāo)記搭配理論以及句間的語義信息,提出了一種基于語義相關(guān)度算法的關(guān)系類別自動(dòng)判別方法。目前,越來越多基于深度學(xué)習(xí)的方法被廣泛地應(yīng)用到自然語言處理任務(wù)中。該方法相較于傳統(tǒng)模型能夠大幅度地減少特征工程的工作量,并在節(jié)省人工的同時(shí),提升模型的效果。具體主要表現(xiàn)在語言建模中,如Kim[12]首次將CNN運(yùn)用到句子分類任務(wù)中取得了較好的效果,同時(shí)給出了模型的幾種變體。Zeng等[13]提出了一種基于CNN的模型方法,同時(shí)加入單詞位置特征、名詞詞匯特征等實(shí)現(xiàn)關(guān)系分類。Cai等[14]將CNN與LSTM進(jìn)行結(jié)合形成一種新的模型架構(gòu)BRCNN,以此獲取雙向文本語義信息,解決了句子級(jí)別的關(guān)系分類問題。然而,在漢語復(fù)句相關(guān)研究中,深度學(xué)習(xí)方法還尚未有實(shí)現(xiàn)的先例,本文將結(jié)合深度學(xué)習(xí)方法與復(fù)句句法特征展開對(duì)關(guān)系類別的自動(dòng)標(biāo)識(shí)研究。
為了實(shí)現(xiàn)復(fù)句關(guān)系類別自動(dòng)判定的任務(wù),本文提出了基于詞聚類的卷積神經(jīng)網(wǎng)絡(luò)和雙向長(zhǎng)短時(shí)記憶相結(jié)合的網(wǎng)絡(luò)架構(gòu),模型結(jié)構(gòu)如圖1所示。該模型主要由兩部分組成,底層是傳統(tǒng)的K-means聚類模型結(jié)構(gòu),上層是經(jīng)改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。本模型的整體流程:首先使用詞嵌入模型對(duì)輸入的文本句子進(jìn)行編碼,轉(zhuǎn)換為由詞向量組成的句子表示。之后,經(jīng)過K-means聚類算法對(duì)句子單詞進(jìn)行建模,獲得單詞間的詞義相似特征。然后,將句子表示與詞義相似特征進(jìn)行拼接輸入經(jīng)改進(jìn)的CNN模型中,提取句子的局部語義特征,同時(shí)通過Bi-LSTM網(wǎng)絡(luò)層又獲得雙向語義依賴特征。最終,通過全連接分類層完成復(fù)句關(guān)系類別的標(biāo)識(shí)。
圖1 基于詞聚類CNN與Bi-LSTM結(jié)合的模型結(jié)構(gòu)
模型最初階段,首先要做的是將復(fù)句中單詞轉(zhuǎn)換為機(jī)器可識(shí)別的實(shí)數(shù)向量。本文采用的是由Word2Vec詞嵌入模型訓(xùn)練得到的詞向量表示。另外,本文使用語言技術(shù)云平臺(tái)LTP[24]對(duì)漢語復(fù)句進(jìn)行分詞,得到詞序列[x1,x2,…,xn],其中n為句子長(zhǎng)度。單詞向量xi∈R1×d,d表示詞向量的維度,由單詞向量組成的句子表示為x1:n∈Rn×d,如式(1)所示,其中⊕為連接操作。
給定文本句子數(shù)據(jù)集為D,含有文本S{s1,s2,…,sm},其中每個(gè)文本句子si中由n個(gè)單詞組成,如式(1)中的x1:n。數(shù)據(jù)集D中文本S所包含句子的單詞總量記為N,K-means算法實(shí)現(xiàn)將N個(gè)單詞對(duì)象自動(dòng)歸聚到K個(gè)簇C1,…,CK中,其中Ci?D且Ci∩Cj=?。該算法實(shí)現(xiàn)了簇內(nèi)對(duì)象高相似性和簇間對(duì)象的低相似性[15]目的。
K-means算法過程如下。
1)簇的個(gè)數(shù)K值初始化為K=N*1%;
2)從D中隨機(jī)選擇K個(gè)對(duì)象作為初始簇的質(zhì)心點(diǎn)ci,i∈[1,k];
3)計(jì)算D中單詞對(duì)象x與每個(gè)質(zhì)心點(diǎn)ci之間的歐氏距離d ist(x,ci),將x分配到歐氏距離最近的簇ci中,即最相似的簇;
4)更新簇質(zhì)心點(diǎn),即重新計(jì)算每個(gè)簇中對(duì)象的均值點(diǎn);
5)Repeat,untilD中簇的質(zhì)心ci不再改變。
詞向量本身蘊(yùn)含豐富的語義信息以及上下文信息,本文利用K-means算法獨(dú)有的簇內(nèi)高相似性特點(diǎn)對(duì)單詞向量進(jìn)行建模,深層次的挖掘單詞間的語義相似特征。同時(shí),采用簇內(nèi)替換的方法對(duì)該特征進(jìn)行表示,即文本句子si中的單詞替換為各單詞所在簇的質(zhì)心向量,重組句子形成句內(nèi)單詞相似特征表示s′i,以此來增強(qiáng)神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)能力。
循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)是對(duì)前饋神經(jīng)網(wǎng)絡(luò)的改進(jìn),是一種能夠較好地處理序列數(shù)據(jù)的鏈?zhǔn)骄W(wǎng)絡(luò)結(jié)構(gòu),但是RNN在訓(xùn)練過程中隨著文本序列長(zhǎng)度的增加會(huì)帶來梯度爆炸和梯度消失的問題[16~17]。為了解決該問題,Hochreiter等[18]提出了長(zhǎng)短時(shí)記憶(LSTM)網(wǎng)絡(luò),它的特點(diǎn)在于引入了記憶單元(memory cell)來控制整個(gè)數(shù)據(jù)流的傳輸。在每個(gè)t時(shí)刻,其輸入向量不僅有當(dāng)前時(shí)刻單詞xt∈Rd,還有前一時(shí)刻隱藏層狀態(tài)ht-1。具體計(jì)算如下:
其中,σ是一個(gè)sigmoid函數(shù),?表示元素相乘操作。tanh是一個(gè)非線性激活函數(shù)。it、ft、ot在這里分別是指輸入門,遺忘門和輸出門。在最初時(shí)刻t=1時(shí),ho和c0被初始化為零向量,ht是t時(shí)刻以及之前時(shí)刻所存儲(chǔ)的所有有用信息的隱狀態(tài)向量表示。
LSTM網(wǎng)絡(luò)的優(yōu)點(diǎn)是能夠獲得當(dāng)前時(shí)刻和之前時(shí)刻所有單元的信息,其缺點(diǎn)是無法獲得當(dāng)前時(shí)刻之后的所有單元信息,因此雙向長(zhǎng)短時(shí)記憶(Bi-LSTM)網(wǎng)絡(luò)便應(yīng)運(yùn)而生,它是對(duì)LSTM的進(jìn)一步改進(jìn),即分別用前向和后向的LSTM來獲取過去和將來所包含的隱藏信息,由這兩部分信息組成最終的輸出信息,如式(10):
通過該Bi-LSTM層實(shí)現(xiàn)了捕獲語義的長(zhǎng)期依賴關(guān)系特征,以此提高模型的性能。
該層為最后的語義關(guān)系識(shí)別層,實(shí)則是帶有Softmax函數(shù)的全連接層,根據(jù)以上卷積層與Bi-LSTM網(wǎng)絡(luò)層獲得的復(fù)句特征表示,作為全連接層的輸入,這里記作Xf。具體計(jì)算如下所示:
式中:假設(shè)關(guān)系類別有c類。wc,和bc分別是權(quán)重矩陣和偏置項(xiàng),是隨機(jī)生成的可訓(xùn)練參數(shù)。
本文實(shí)驗(yàn)采用的數(shù)據(jù)集為漢語復(fù)句語料庫(kù)和清華漢語樹庫(kù)。漢語復(fù)句語料庫(kù)CCCS是一個(gè)針對(duì)漢語復(fù)句研究的專用語料庫(kù),它主要由華中師范大學(xué)語言與語言教育研究中心開發(fā)。該語料庫(kù)共包含有標(biāo)復(fù)句658447條,收錄的語句主要來源于《人民日?qǐng)?bào)》和《長(zhǎng)江日?qǐng)?bào)》。清華漢語樹庫(kù)TCT是從大規(guī)模的經(jīng)過基本信息標(biāo)注的漢語平衡語料庫(kù)中抽取而來,是一個(gè)具有100萬漢字規(guī)模的語料文本。其中,句子總量達(dá)到44136條,復(fù)句數(shù)量為24444條。該樹庫(kù)中,不同文體語料分布情況為文學(xué)37.25%,學(xué)術(shù)4.64%,新聞25.83%,應(yīng)用32.28%。
實(shí)驗(yàn)中數(shù)據(jù)樣本將復(fù)句的關(guān)系類別分為因果關(guān)系類別,并列關(guān)系類別和轉(zhuǎn)折關(guān)系類別。CCCS語料庫(kù)中,我們?cè)诒緦?shí)驗(yàn)中共選取13215條非充盈態(tài)二句式復(fù)句做為實(shí)驗(yàn)樣本集,其中有3224條因果關(guān)系復(fù)句,7960條并列關(guān)系復(fù)句,2031條轉(zhuǎn)折關(guān)系復(fù)句。在TCT語料庫(kù)中由于語料文本有限,我們共使用8577條非充盈態(tài)復(fù)句樣本,其中包含2112條因果關(guān)系復(fù)句,5309條并列關(guān)系復(fù)句,1156條轉(zhuǎn)折關(guān)系復(fù)句。表1展示了實(shí)驗(yàn)中數(shù)據(jù)集的劃分。
表1 實(shí)驗(yàn)數(shù)據(jù)統(tǒng)計(jì)
本文使用Word2Vec[19]預(yù)訓(xùn)練的詞向量,維度設(shè)置為300。另外,由于卷積神經(jīng)網(wǎng)絡(luò)需要固定長(zhǎng)度的句子作為輸入,因此分別統(tǒng)計(jì)兩個(gè)數(shù)據(jù)集中最長(zhǎng)復(fù)句所含的單詞數(shù)作為固定輸入長(zhǎng)度,句子長(zhǎng)度不足的采用隨機(jī)均勻分布函數(shù)填充為[-0.25,0.25]的隨機(jī)向量值。實(shí)驗(yàn)中采用dropout策略防止過擬合現(xiàn)象發(fā)生,設(shè)置值為0.5。同時(shí)實(shí)驗(yàn)的目標(biāo)函數(shù)中又加入L2正則化項(xiàng)來提高模型的性能,并采用反向傳播算法(Back Propagation)[20]以及隨機(jī)梯度下降(SGD)優(yōu)化算法[21]對(duì)目標(biāo)函數(shù)進(jìn)行優(yōu)化。Bi-LSTM網(wǎng)絡(luò)層的隱含層維度設(shè)置為256維。實(shí)驗(yàn)過程中使用網(wǎng)格搜索的方法調(diào)整模型最佳的參數(shù)值,并且通過每1000個(gè)epoch驗(yàn)證一次模型的表現(xiàn)力,主要參數(shù)值具體如表2所示。
表2 模型超參數(shù)設(shè)定
本文采用正確率作為模型的評(píng)價(jià)指標(biāo)。它是廣泛應(yīng)用于信息檢索和統(tǒng)計(jì)分類領(lǐng)域的度量值,用來評(píng)估模型結(jié)果的質(zhì)量。同時(shí),為了檢驗(yàn)本文所提模型BCCNN的性能,實(shí)驗(yàn)中設(shè)置了兩個(gè)基準(zhǔn)系統(tǒng):1)機(jī)器學(xué)習(xí)模型方法SVM[8],該模型使用復(fù)句主語、謂語再加上時(shí)間副詞、方位詞等相關(guān)特征,借助《知網(wǎng)》將特征量化,最終實(shí)現(xiàn)復(fù)句關(guān)系分類。2)最大熵模型[22],該方法根據(jù)依存句法樹中句子的成分特征以及依賴關(guān)系特征,并且加入單詞對(duì)特征進(jìn)行建模實(shí)現(xiàn)句間關(guān)系的識(shí)別。3)統(tǒng)計(jì)學(xué)習(xí)方法語義相關(guān)度算法[11],該方法利用復(fù)句核心詞跨度、詞頻以及關(guān)系詞搭配距離進(jìn)行計(jì)算復(fù)句語義相關(guān)度,判別復(fù)句的關(guān)系類別。表3展示了使用深度學(xué)習(xí)方法的本文所提模型與以上基準(zhǔn)模型性能的比較。為了驗(yàn)證所提方法的可行性,同時(shí)在TCT數(shù)據(jù)集中進(jìn)行相同的實(shí)驗(yàn)。
經(jīng)實(shí)驗(yàn)驗(yàn)證,本文所提出的方法在非充盈態(tài)二句式復(fù)句上的關(guān)系類別自動(dòng)標(biāo)識(shí)正確率達(dá)到了92.4%和90.7。實(shí)驗(yàn)結(jié)果對(duì)比分析如表3所示。
表3 實(shí)驗(yàn)對(duì)比結(jié)果
其中,傳統(tǒng)機(jī)器學(xué)習(xí)模型SVM識(shí)別方法僅能識(shí)別并列與非并列復(fù)句的關(guān)系類別。而基于最大熵的句間關(guān)系識(shí)別方法的正確率較低,不能滿足實(shí)際應(yīng)用中的需求。
本文所提模型BCCNN與目前效果最好的基于語義相關(guān)度識(shí)別方法相比,其正確率提高了1.7%~3.4%,并且模型的可拓展性也有所提升,它可以引入不同復(fù)雜度的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),較語義相關(guān)度識(shí)別方法更加適應(yīng)當(dāng)下自然語言中高維度、大數(shù)據(jù)等特點(diǎn)的計(jì)算環(huán)境。
本文在復(fù)句語義關(guān)系識(shí)別任務(wù)上采用局部語義特征與全局語義特征相互結(jié)合相互補(bǔ)充的方法,提出了一種針對(duì)二句式非充盈態(tài)有標(biāo)復(fù)句的基于詞聚類的CNN與Bi-LSTM相結(jié)合的識(shí)別方法。該方法同時(shí)考慮了句間自身所蘊(yùn)含的語義信息、上下文信息和單詞間的語義相似信息以及局部特征信息,而且還考慮了復(fù)句內(nèi)部的長(zhǎng)距離語義依賴特征信息,這些特征信息促進(jìn)了復(fù)句關(guān)系類別的識(shí)別。在復(fù)句關(guān)系識(shí)別任務(wù)中,復(fù)句的句間語義、語境以及句法等特征信息對(duì)于該任務(wù)是尤為重要的。在本文所提模型中僅考慮了詞語間的相似性特征,對(duì)于句間的語義相似性,結(jié)構(gòu)特性等未考慮,同時(shí)也只是針對(duì)二句式非充盈態(tài)有標(biāo)復(fù)句展開研究。對(duì)于無關(guān)系標(biāo)記的復(fù)句關(guān)系類別的識(shí)別,以及進(jìn)一步對(duì)神經(jīng)網(wǎng)絡(luò)模型的再次改進(jìn),提高識(shí)別正確率是本文下一步的研究工作。