馬曉雯,何 琳,劉建斌,李章超,高 丹
(南京農(nóng)業(yè)大學(xué)信息管理學(xué)院,南京 210095)
隨著典籍?dāng)?shù)字化技術(shù)的發(fā)展和處理工具的成熟,可利用的典籍?dāng)?shù)字化資源的飛速增長,人文歷史學(xué)科對(duì)于典籍研究的傳統(tǒng)手段也迎來了創(chuàng)新和變革[1],不再是僅僅是從外部特征和主題內(nèi)容的角度對(duì)典籍文本進(jìn)行闡釋,而是轉(zhuǎn)變?yōu)閺募?xì)粒度知識(shí)的層面實(shí)現(xiàn)對(duì)典籍文本的深度挖掘。在新興的數(shù)字人文領(lǐng)域,研究者結(jié)合人文計(jì)算的方法與計(jì)算機(jī)技術(shù)開展了對(duì)于典籍內(nèi)容的細(xì)粒度分析和深層次挖掘。其中,觸發(fā)詞的識(shí)別與分類是一項(xiàng)重要的研究課題。觸發(fā)詞指的是能夠揭示事件本質(zhì)的特征詞,通過對(duì)這類特征詞的自動(dòng)識(shí)別可以迅速的發(fā)現(xiàn)并抽取出典籍中有關(guān)事件描述的文本,在此基礎(chǔ)上通過確定事件觸發(fā)詞的類別歸屬,就能夠?qū)崿F(xiàn)事件句文本的類別劃分,最終達(dá)到對(duì)典籍文本內(nèi)容的深度挖掘和全面展示。因此,觸發(fā)動(dòng)詞的識(shí)別與分類方法研究,是典籍文本挖掘領(lǐng)域的一項(xiàng)基礎(chǔ)性工作,能夠幫助研究者從更全面的角度獲取和掌握典籍內(nèi)容,從而推動(dòng)典籍?dāng)?shù)字化資源有效利用和價(jià)值實(shí)現(xiàn)。
在對(duì)當(dāng)前關(guān)于古籍研究的文獻(xiàn)進(jìn)行整理之后發(fā)現(xiàn),針對(duì)于古籍信息處理的研究已經(jīng)取得了許多成果,在詞匯層面上主要是關(guān)于古文分詞、詞性標(biāo)注及命名實(shí)體識(shí)別的研究,而在句子層面上主要是關(guān)于自動(dòng)斷句及標(biāo)點(diǎn)、句子對(duì)齊、句法分析及語義標(biāo)注等的研究[2]。然而,對(duì)于中文文本觸發(fā)詞的識(shí)別和分類研究,大多是針對(duì)開放領(lǐng)域現(xiàn)代文本[3]或者特殊領(lǐng)域文本開展的,例如生物醫(yī)學(xué)領(lǐng)域的觸發(fā)詞典的構(gòu)建[4-6],災(zāi)難事件[7]、突發(fā)事件[8-10]、金融事件[11-14]觸發(fā)詞的識(shí)別與事件抽取。目前對(duì)于典籍文本觸發(fā)詞的識(shí)別和分類還面臨諸多困難。首先,由于古籍與現(xiàn)代文本相較而言,在行文方式、句式結(jié)構(gòu)、語法規(guī)則等方面都存在許多差異和特殊之處,因此許多適用于現(xiàn)代文本處理的規(guī)則難以遷移到典籍文本的研究中,現(xiàn)有的一些通用領(lǐng)域觸發(fā)詞典也不適用于典籍文本,在古籍觸發(fā)詞基礎(chǔ)性資源設(shè)施的構(gòu)建上較為欠缺;其次,古籍的文本句子長度較短,事件觸發(fā)詞也大多是單字詞,因此在模型訓(xùn)練和特征提取時(shí),無論是特征的維度還是語義的豐富性都無法與多字詞或長句相較,給典籍觸發(fā)詞的識(shí)別帶來了一定的困難;最后,古籍文本中許多詞匯都存在著通假和一詞多義的現(xiàn)象,詞類活用的情況非常的復(fù)雜多樣,導(dǎo)致在進(jìn)行觸發(fā)詞識(shí)別的同時(shí),還要進(jìn)行不同語境下詞義的區(qū)分、詞類活用現(xiàn)象的判斷等,這些問題都對(duì)于典籍觸發(fā)詞識(shí)別分類的研究帶來了不小的挑戰(zhàn)。
現(xiàn)代文本觸發(fā)動(dòng)詞的分類所取得的成果對(duì)于開展典籍觸發(fā)動(dòng)詞的識(shí)別研究帶來了許多的啟示。目前中文觸發(fā)詞的識(shí)別和事件抽取的方法歸納起來主要可以分為兩類,分別是基于模式匹配的方法和基于機(jī)器學(xué)習(xí)的方法[15]。基于模式匹配的方法根據(jù)人工參與程度的不同可以分為有監(jiān)督和弱監(jiān)督兩種模式[16],在觸發(fā)詞識(shí)別的過程中,一方面通過事先定義一定的識(shí)別規(guī)則,例如根據(jù)詞性、句法等先篩選掉一部分無關(guān)詞語,縮小識(shí)別的范圍;另一方面,研究者根據(jù)自身的經(jīng)驗(yàn),對(duì)大量的語料進(jìn)行統(tǒng)計(jì)并列舉出文本中的事件觸發(fā)詞[17],構(gòu)成一個(gè)觸發(fā)詞典,之后通過尋找同義詞的方式不斷補(bǔ)充,盡可能的擴(kuò)展詞典使其能夠盡量涵蓋所有的觸發(fā)詞;在進(jìn)行事件抽取時(shí),就可以根據(jù)構(gòu)建的詞典和規(guī)則通過匹配的方法抽取出事件句并進(jìn)行分類?;跈C(jī)器學(xué)習(xí)的方式將觸發(fā)詞的識(shí)別任務(wù)看作是一種分類問題[18],一方面結(jié)合人工制定的特征和自然語言處理工具抽取的文本多維特征[19],輸入到機(jī)器學(xué)習(xí)模型中訓(xùn)練分類器來實(shí)現(xiàn)觸發(fā)詞識(shí)別和事件抽取任務(wù);另一方面,通過建立知識(shí)庫或人工標(biāo)注的方式[20],將足夠規(guī)模的標(biāo)注語料輸入到模型當(dāng)中進(jìn)行訓(xùn)練,以此實(shí)現(xiàn)對(duì)未標(biāo)注數(shù)據(jù)的分類和識(shí)別?;趥鹘y(tǒng)機(jī)器學(xué)習(xí)的方法依賴于人工特征的設(shè)計(jì),而如果設(shè)計(jì)的特征過于復(fù)雜還會(huì)降低模型的泛化能力;為了更加充分的挖掘文本的深層語義信息,減少對(duì)于人工特征的依賴,研究者們?cè)跍\層機(jī)器學(xué)習(xí)的基礎(chǔ)上探索深度學(xué)習(xí)的方法進(jìn)行觸發(fā)詞的識(shí)別和事件抽取。通過輸入具有豐富語義特征的詞向量,并自動(dòng)學(xué)習(xí)抽象特征,構(gòu)建神經(jīng)網(wǎng)絡(luò)模型,減少了對(duì)于外部的自然語言處理工具的依賴。例如CHEN[29]通過動(dòng)態(tài)的多池化卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行事件抽取;NGUYEN[30]采用Bi-LSTM 結(jié)合句子的結(jié)構(gòu)特征和文本的語義特征,抽取事件元素及事件的觸發(fā)詞。在利用深度學(xué)習(xí)算法進(jìn)行觸發(fā)詞識(shí)別的研究中,面向中文和英文文本的主要差異表現(xiàn)為文本的分詞。英文的詞語之間存在著天然的分割符,并且存在一些指向鮮明的特殊詞綴和詞性,在觸發(fā)詞的識(shí)別過程中有許多規(guī)則可循;但中文的詞語之間并不存在天然的分隔符,且表達(dá)方式靈活,句式結(jié)構(gòu)和詞語用法多樣,單字詞也具有豐富的語義信息,同一事物還具有多種表達(dá)形式與縮寫情況等。
本文旨在探索典籍事件觸發(fā)詞的識(shí)別和自動(dòng)分類方法,通過建立觸發(fā)詞分類體系和觸發(fā)詞集擴(kuò)展的基礎(chǔ)工作,構(gòu)建了典籍觸發(fā)動(dòng)詞的數(shù)據(jù)集;進(jìn)而利用數(shù)據(jù)集結(jié)合深度學(xué)習(xí)算法Bi-LSTM 模型訓(xùn)練了事件分類模型。本文的最終目的是對(duì)大規(guī)模中華典籍事件觸發(fā)動(dòng)詞的自動(dòng)分類提供一些借鑒,是為了進(jìn)一步推動(dòng)典籍文本事件抽取和知識(shí)圖譜的構(gòu)建研究而做的一項(xiàng)基礎(chǔ)性工作。
事件文本數(shù)據(jù)集的構(gòu)建工作是實(shí)現(xiàn)事件文本自動(dòng)分類的基礎(chǔ),通過構(gòu)建典籍觸發(fā)動(dòng)詞的分類體系,進(jìn)而構(gòu)建了觸發(fā)詞語義數(shù)據(jù)集,并據(jù)此對(duì)典籍的部分事件句文本語料集做了人工的標(biāo)注與處理。
構(gòu)建觸發(fā)詞分類體系是為了建立起典籍事件主題的類目體系,作為后續(xù)事件分類的依據(jù)和基礎(chǔ)。這一過程分為3 個(gè)階段,分別是:文本預(yù)處理、動(dòng)詞抽取和主題聚類。
在文本預(yù)處理階段,首先將典籍文本中的引用類和對(duì)話類文本做了篩除,然后通過對(duì)典籍文本做了分詞、詞性標(biāo)注和去停用詞的預(yù)處理。在動(dòng)詞抽取階段,根據(jù)詞性標(biāo)注的結(jié)果,編寫正則表達(dá)式從文本中抽取出了所有動(dòng)詞構(gòu)成候選觸發(fā)詞集合。在主題聚類階段,運(yùn)用LDA 模型,對(duì)抽取出的動(dòng)詞集合進(jìn)行了主題聚類,并通過對(duì)聚類結(jié)果的對(duì)比和內(nèi)容定性分析,確定了主題數(shù)量并為每個(gè)主題賦予了主題詞[21]。經(jīng)過3 個(gè)階段的處理,就將典籍文本所涵蓋的事件主題類別抽象了出來,形成了一個(gè)分類體系,成為事件抽取和分類的參照。
觸發(fā)詞語義數(shù)據(jù)集的構(gòu)建過程,本質(zhì)上是對(duì)觸發(fā)詞分類體系進(jìn)行內(nèi)容豐富與填充的過程,目的是為了從細(xì)粒度的字詞知識(shí)單元層面,建立一種典籍內(nèi)容挖掘的文本基礎(chǔ)設(shè)施。這一過程主要分為兩個(gè)階段,分別是:種子詞集構(gòu)建階段和詞集擴(kuò)展階段。
種子詞集構(gòu)建是在對(duì)動(dòng)詞主題聚類的結(jié)果進(jìn)行內(nèi)容分析的基礎(chǔ)上完成的,對(duì)每一個(gè)主題下的特征詞歸納整理之后填入到相對(duì)應(yīng)的分類體系中,就構(gòu)成了觸發(fā)動(dòng)詞的種子詞集。在詞集擴(kuò)展階段,主要通過基于詞典資源和基于機(jī)器學(xué)習(xí)兩種方式完成。一方面,根據(jù)種子詞的語義特征,在典籍詞典資源中進(jìn)行詞義匹配,尋找種子詞的同義詞,并發(fā)現(xiàn)典籍文本中的通假字情況,添加到詞集中去。另一方面,提取觸發(fā)詞的詞性特征、上下文特征、詞共現(xiàn)等特征之后,利用機(jī)器學(xué)習(xí)算法計(jì)算文本間相似度[22],尋找種子詞的近義詞填入到詞集中。但是,兩種方式擴(kuò)展的詞集中存在一些誤差,再結(jié)合專門的典籍詞典進(jìn)行校驗(yàn)與補(bǔ)充,最終構(gòu)成了觸發(fā)詞的語義數(shù)據(jù)集。
典籍文本語料集的標(biāo)注工作,是參照事先構(gòu)建的事件觸發(fā)詞分類體系中的主題類別,借助觸發(fā)詞語義數(shù)據(jù)集對(duì)典籍文本進(jìn)行人工分類標(biāo)注的過程。以逗號(hào)為單位,對(duì)典籍文本進(jìn)行短句劃分之后,為每個(gè)句子賦予恰當(dāng)?shù)念悇e標(biāo)簽。雖然在之前的預(yù)處理過程中,已經(jīng)對(duì)對(duì)話和引用類的文本進(jìn)行了去除,但是還存在一部分沒有實(shí)際含義或事件句特征的句子,因此在人工標(biāo)注時(shí),除了分類體系中的類別之外,還應(yīng)增加一個(gè)無關(guān)類別標(biāo)簽。
標(biāo)注的過程需要3 名標(biāo)注人員的參與,其中兩名作為主要的交叉標(biāo)注者,另一名人員對(duì)存在爭議的標(biāo)注結(jié)果進(jìn)行判定和仲裁,以此來保證標(biāo)注語料集的正確率和可信度。3 名參與標(biāo)注的人員均為情報(bào)學(xué)碩士,并具有古籍文本標(biāo)注的經(jīng)驗(yàn)和古籍信息挖掘的研究背景。
事件句分類模型的構(gòu)建主要分為3 個(gè)階段,第一個(gè)階段是對(duì)典籍樣本數(shù)據(jù)集進(jìn)行合理的分割和預(yù)處理工作,將整體語料分割了為訓(xùn)練集、測試集和驗(yàn)證集3個(gè)部分,之后進(jìn)行分詞和去停用詞的處理。第二個(gè)階段是語料特征的提取和數(shù)據(jù)的編碼階段,是實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)化的過程。通過深度學(xué)習(xí)算法中的編碼層對(duì)訓(xùn)練語料中的標(biāo)簽數(shù)據(jù)和文本數(shù)據(jù)進(jìn)行了差異化的編碼,并通過Embedding 層實(shí)現(xiàn)數(shù)據(jù)集的向量化表示。第三個(gè)階段是模型構(gòu)建和分類器的訓(xùn)練階段,通過添加模型構(gòu)建神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),并調(diào)整訓(xùn)練參數(shù)得到多元分類器。整個(gè)分類模型的構(gòu)建過程如圖1 所示。
圖1 基于Bi-LSTM 的事件句分類模型構(gòu)建流程圖Fig.1 Flow chart of building an event sentence classification model based on Bi-LSTM
本文將整體的數(shù)據(jù)集按照2:1:1 的比例分割為訓(xùn)練集、測試集和驗(yàn)證集3 個(gè)部分。訓(xùn)練集(Train Set)用于模型的擬合,為了保證模型最終的效果,訓(xùn)練樣本要盡量豐富,因此將數(shù)據(jù)集中的一半的數(shù)據(jù)作為訓(xùn)練集。驗(yàn)證集(Development Set)是模型訓(xùn)練過程中單獨(dú)留出的樣本集,用于調(diào)整模型的超參數(shù)和對(duì)模型的能力進(jìn)行初步評(píng)估。在神經(jīng)網(wǎng)絡(luò)中,驗(yàn)證數(shù)據(jù)集經(jīng)常會(huì)用于確定最優(yōu)的網(wǎng)絡(luò)深度或選擇隱藏層神經(jīng)元的數(shù)量[23]。測試集(Test Set)用于評(píng)估最終模型的泛化能力,作為衡量模型效果的依據(jù)。因此,本文將剩余的一半數(shù)據(jù)集按照1:1 的比例分為驗(yàn)證集和測試集。
通過深度學(xué)習(xí)算法中的編碼層對(duì)數(shù)據(jù)進(jìn)行編碼。由于文本的數(shù)據(jù)集語料由標(biāo)簽與句子兩列構(gòu)成,而句子在進(jìn)行分詞之后由多個(gè)詞組成,因此可以將每個(gè)句子都看做是一個(gè)詞組。本文對(duì)于標(biāo)簽和詞組進(jìn)行了分別的編碼,將其轉(zhuǎn)換為了詞向量,為每個(gè)單詞提供了唯一的多維向量表示,以便于神經(jīng)網(wǎng)絡(luò)的計(jì)算。
(1)標(biāo)簽文本編碼。對(duì)于標(biāo)簽數(shù)據(jù)采取獨(dú)熱編碼(Onehot Encode)[24]。這一編碼方式主要用于分類問題上,能夠?qū)︻悇e的特征進(jìn)行歸一化處理。標(biāo)簽數(shù)據(jù)是不同的句子所屬的事件類別標(biāo)簽,由于各個(gè)類別之間沒有排序先后也沒有邏輯關(guān)系,因此標(biāo)簽屬性是一種定性特征。Onehot 編碼可以將類別變量的這種定性特征,轉(zhuǎn)換為機(jī)器學(xué)習(xí)算法易于利用的定量特征。Onehot編碼的編碼方式如表1 所示。
表1 onehot 編碼狀態(tài)Table 1 Onehot encoding status
(2)句子文本編碼。計(jì)算機(jī)進(jìn)行處理時(shí)無法理解文字的含義,因此把單個(gè)字或者詞組轉(zhuǎn)化為一個(gè)正整數(shù)使其成為一個(gè)序列。對(duì)于轉(zhuǎn)化為詞組的句子文本數(shù)據(jù)采用開源工具Tensorflow 所提供的Tokenizer 對(duì)其進(jìn)行編碼。Tokenizer 將文本拆分之后生成相應(yīng)的id,并生成字符id 與位置信息的映射,在對(duì)其進(jìn)行輸出時(shí)還會(huì)在每一句的首尾加上[CLS]和[SEP]標(biāo)記,這樣就將每一句文本轉(zhuǎn)化為了一條序列,序列的特征由單字詞向量和它的位置特征組成。目前一些主流的詞嵌入工具如word2vec、GloVe 等在各類自然語言處理任務(wù)已經(jīng)有了廣泛的應(yīng)用,相較于傳統(tǒng)的編碼方式也取得了較好的效果。在對(duì)古籍文本進(jìn)行人工標(biāo)注的過程中發(fā)現(xiàn),同一事件類型的句式結(jié)構(gòu)特征及觸發(fā)詞的上下文位置特征有較強(qiáng)的相似性,因此采用了Tokenizer 對(duì)句子文本數(shù)據(jù)進(jìn)行編碼以獲得詞組的位置特征。
由于句子的長度不同,生成的序列長度也參差不齊,還需要根據(jù)計(jì)算得到最長的句子長度,對(duì)其他的短句在左側(cè)補(bǔ)0 對(duì)齊,以此來統(tǒng)一序列長度,構(gòu)成一個(gè)序列矩陣。圖2 是對(duì)句子文本進(jìn)行編碼的原理圖。
圖2 句子文本編碼原理Fig.2 Principles of sentence text encoding
(1)LSTM。LSTM(Long Short Term)網(wǎng)絡(luò)是一種特殊的RNN,可以學(xué)習(xí)長期依賴信息。LSTM 主要包括記憶單元、輸入門、遺忘門以及輸出門,通過乘法門控制技術(shù),實(shí)現(xiàn)選擇性地讓信息通過[25]。
輸入門(Input Gate)的作用是判斷是否將輸入的內(nèi)容寫入到內(nèi)存中,相當(dāng)于一個(gè)可以被訓(xùn)練的參數(shù)。輸出門(Read Gate)的作用是判斷是否讀取當(dāng)前的存儲(chǔ),控制單元狀態(tài)輸入到當(dāng)前時(shí)刻輸出值的信息量。遺忘門和輸入門共同控制記憶單元的輸入信息,決定之前時(shí)刻單元狀態(tài)和當(dāng)前時(shí)刻網(wǎng)絡(luò)輸入的保留比例。文檔中每個(gè)詞匯語義的正確理解不但依賴于之前的元素,而且還與之后的元素密切相關(guān)[26]。LSTM 是單向神經(jīng)網(wǎng)絡(luò),只能從前往后傳輸狀態(tài)信息,而不能獲取后文對(duì)當(dāng)前詞匯的影響,因此,本文采用2 個(gè)方向相反的雙向LSTM 來充分捕捉上下文信息,最大限度理解當(dāng)前詞匯的語義信息[27]。圖3 是LSTM 的算法原理示意圖。
圖3 LSTM 算法原理Fig.3 Principle of LSTM algorithm
(2)Bi-LSTM。Bi-LSTM 是由前向后和由后向前分別訓(xùn)練一個(gè)LSTM,然后將兩個(gè)LSTM 的結(jié)果拼接作為模型的輸出,能夠同時(shí)保留 “過去”和 “未來”的文本信息,有效避免了LSTM 模型在提取文本特征的過程中,只保留 “過去”信息的弊端。Bi-LSTM 在設(shè)計(jì)上避免了長期依賴,在對(duì)文本進(jìn)行特征提取時(shí),充分考慮到了文本前后文信息之間的相互影響。通過Bi-LSTM 可以對(duì)句子進(jìn)行從前到后以及從后到前的完整的上下文信息保存[28]。圖4 是Bi-LSTM 的算法原理圖示例。
圖4 Bi-LSTM 算法原理Fig.4 Principle of Bi-LSTM algorithm
本文采用類別測評(píng)中所常用的準(zhǔn)確率(Precision)、召回率(Recall)及F1 值作為評(píng)價(jià)指標(biāo),對(duì)模型的最終性能進(jìn)行評(píng)價(jià)。
本文選取的典籍?dāng)?shù)據(jù)是春秋時(shí)期的編年體著作《左傳》 文本,對(duì) 《左傳》 構(gòu)建了一個(gè)具有10 個(gè)類別的觸發(fā)動(dòng)詞分類體系?!蹲髠鳌?是一部編年體史書,由于春秋時(shí)期的歷史背景,在不同時(shí)期書中所描述和記載的多種類別事件的數(shù)量差別較大,10 個(gè)類別所包含的事件句的數(shù)量及涵蓋的范圍均具有較大差異。因此本研究從中選取了原文中描述篇幅較多且能夠揭示春秋時(shí)期較為完整的歷史風(fēng)貌的4 類事件作為研究對(duì)象,將軍事行動(dòng)、人口流動(dòng)、政治外交、結(jié)盟議和4個(gè)類別的事件句作為實(shí)驗(yàn)數(shù)據(jù),并分別為其賦予 “軍事、遷移、政治、結(jié)盟”4 個(gè)類別標(biāo)簽。數(shù)據(jù)集中共有4 346 條數(shù)據(jù),其中訓(xùn)練集2 282 條,測試集1 033 條,驗(yàn)證集1 031 條。數(shù)據(jù)集文本均采用UTF-8 編碼格式存儲(chǔ)。
實(shí)驗(yàn)環(huán)境是一臺(tái)Window 10 家庭中文版操作系統(tǒng),第七代智能英特爾CORE i5-7200U CPU、2.4 GHz、12G 內(nèi)存組件的筆記本電腦。使用編程語言為Python。
實(shí)驗(yàn)參數(shù)的合理設(shè)置對(duì)實(shí)驗(yàn)結(jié)果有直接影響,訓(xùn)練開始之前對(duì)模型的各項(xiàng)指標(biāo)進(jìn)行了初始設(shè)置,具體的數(shù)值如表2 所示。參數(shù)調(diào)整過程中使用固定其他參數(shù)的方法,對(duì)丟棄率這一參數(shù)進(jìn)行調(diào)整設(shè)置了對(duì)比實(shí)驗(yàn)。當(dāng)準(zhǔn)確率不再上升時(shí)則停止訓(xùn)練,以此來避免過擬合、不收斂等問題,同時(shí)也可以加快模型訓(xùn)練和特征學(xué)習(xí)的速度,提高調(diào)參效率。
表2 分類實(shí)驗(yàn)參數(shù)設(shè)置Table 2 Classification experiment parameter settings
在進(jìn)行分類實(shí)驗(yàn)之前,首先對(duì)將要用于訓(xùn)練的數(shù)據(jù)集進(jìn)行了統(tǒng)計(jì)分析,之后通過改變dropout 參數(shù)進(jìn)行了3 次對(duì)比實(shí)驗(yàn),并通過對(duì)驗(yàn)證集的測試選定了效果最顯著的參數(shù)設(shè)置。對(duì)最終訓(xùn)練出的分類器運(yùn)用測試集進(jìn)行了性能評(píng)估。
4.4.1 語料分布
在進(jìn)行分類實(shí)驗(yàn)之前,先對(duì)語料的分布和長度做了自動(dòng)統(tǒng)計(jì)并將分布情況可視化。由圖5 可以看出,訓(xùn)練集包含的4 類數(shù)據(jù)占比為4:2:1:1。這是因?yàn)?《左傳》 原文中關(guān)于軍事行動(dòng)的事件描述較多,其次是遷移事件帶來的人口流動(dòng),結(jié)盟活動(dòng)和政治外交活動(dòng)也是春秋時(shí)期社會(huì)生活中比較重要和頻繁的事件,但相較于其他兩類描述較少。具體來說,共包含軍事類1 139條,遷移類577 條,政治類287 條,結(jié)盟類279 條。
圖5 訓(xùn)練集數(shù)據(jù)分布情況Fig.5 Data distribution of the training set
4.4.2 對(duì)比實(shí)驗(yàn)
在訓(xùn)練分類器時(shí),對(duì)于訓(xùn)練集中的數(shù)據(jù)以每128條數(shù)據(jù)為一組,每次迭代共進(jìn)行18 組訓(xùn)練。迭代次數(shù)為20 次,同時(shí)設(shè)置了監(jiān)測指標(biāo)min_delta,當(dāng)兩次迭代后效果的提升小于0.000 1 時(shí),停止迭代。將批尺寸(batch_size)即每一批參與訓(xùn)練的數(shù)據(jù)量設(shè)定為128,是在進(jìn)行了探索性實(shí)驗(yàn)的基礎(chǔ)得出的最佳參數(shù)值,而迭代次數(shù)則通過設(shè)置監(jiān)測指標(biāo)根據(jù)每次訓(xùn)練過程中精度的變化情況靈活調(diào)整,最多迭代到20 次,因此本研究不對(duì)其這些參數(shù)單獨(dú)設(shè)置對(duì)比實(shí)驗(yàn)進(jìn)行探究。
為了避免過擬合,采用L2 正則化方法約束網(wǎng)絡(luò)參數(shù),初始的丟棄率(dropout)設(shè)為0.5,即每個(gè)神經(jīng)元有50%的可能性被丟棄。同時(shí)設(shè)置了對(duì)比實(shí)驗(yàn),將dropout調(diào)低至0.3 和調(diào)高至0.9 時(shí)分別進(jìn)行試驗(yàn),并通過驗(yàn)證集的驗(yàn)證對(duì)比分類器的性能。驗(yàn)證結(jié)果如表3 所示。
表3 對(duì)比實(shí)驗(yàn)驗(yàn)證結(jié)果Table 3 Comparison of experimental verification results
表中的0、1、2、3 四個(gè)類別分別表示軍事、遷移、政治、結(jié)盟4 個(gè)標(biāo)簽。由表中的數(shù)據(jù)可以看出,在dropout 調(diào)低至0.3 時(shí),分類效果略有降低,表現(xiàn)在遷移類的結(jié)果中F1 值降低了0.01。當(dāng)把dropout 調(diào)高至0.8 時(shí),分類器的性能有明顯的提升,總體的準(zhǔn)確率(Accuracy)由先前的0.92 提升到了0.93,并且在軍事、政治、結(jié)盟4 類數(shù)據(jù)的分類上,F(xiàn)1 的值有所提高。將dropout 繼續(xù)提高至0.9 時(shí)分類器的效果有明顯下降,總體的準(zhǔn)確率也由0.93 降到了0.88。因此最終選定第三組的參數(shù)設(shè)置訓(xùn)練分類器用于測試。
4.4.3 測試結(jié)果
測試集共包含1 033 條數(shù)據(jù),其中軍事類500 條,遷移類251 條,政治類142 條,結(jié)盟類140 條。通過5.5.1中訓(xùn)練出的分類器對(duì)其進(jìn)行測試,計(jì)算混淆矩陣并將其可視化之后得到如圖6 所示的結(jié)果。具體的準(zhǔn)確率、召回率和F1 的值如表4 所示。
表4 分類器測試結(jié)果Table 4 Classifier test results
圖6 測試結(jié)果混淆矩陣Fig.6 Confusion matrix of test results
由結(jié)果可以看出,軍事類、遷移類、結(jié)盟類、政治類數(shù)據(jù)中分別有490 條、230 條、135 條和123 條分類結(jié)果正確,4 類事件的分類結(jié)果F1 值也均在0.90 以上,總體來說分類效果很好。
對(duì)于誤分類的數(shù)據(jù)而言,由可視化的混淆矩陣可以看出,誤分類數(shù)據(jù)大多集中于軍事類和遷移類事件的交叉部分,這與本文在觸發(fā)詞分類體系構(gòu)建的分析中得出的結(jié)論一致。由于戰(zhàn)爭等軍事行動(dòng)的發(fā)生,往往會(huì)導(dǎo)致一些逃亡或者人口遷移的事件發(fā)生,因此有的事件句兼有兩類事件的表達(dá),在語義的相似程度上較高,進(jìn)而導(dǎo)致結(jié)果的誤差。例如表5 中列出的,一些包含 “入、歸”等動(dòng)詞的事件句在搭配不同主語出現(xiàn)在不同的語境中時(shí),代表著造成事件類別,如 “故衛(wèi)師入郕”一句中的入表示衛(wèi)國的軍隊(duì)攻入了郕城,表示軍事戰(zhàn)爭類事件,而非遷入或進(jìn)入郕城地界的意思,分類器將其誤分為了遷移類事件。在軍事類事件句中有一些表征戰(zhàn)爭原因或結(jié)果的句子也會(huì)出現(xiàn)誤分類現(xiàn)象,如 “以討其不與盟于齊也”一句表示戰(zhàn)爭發(fā)生的原因是不與齊國結(jié)盟,而非真正的結(jié)盟類事件。此外,在戰(zhàn)爭或軍事行動(dòng)過程中涉及到一些借兵、借道等事件的發(fā)生,與政治類事件存在一定的交叉導(dǎo)致誤分類現(xiàn)象。
表5 誤分類事件句示例Table 5 Examples of misclassified incident sentences
本文在觸發(fā)詞分類體系和語義數(shù)據(jù)集構(gòu)建的基礎(chǔ)上,運(yùn)用深度學(xué)習(xí)算法模型Bi-LSTM,進(jìn)行了典籍觸發(fā)詞及事件句文本的多元自動(dòng)分類探索。在分類模型的構(gòu)建過程中,首先進(jìn)行了數(shù)據(jù)集的合理分割,然后采取不同的編碼方式對(duì)類別標(biāo)簽數(shù)據(jù)和句子文本數(shù)據(jù)進(jìn)行了差異化的分別編碼,隨后將其輸入到模型中構(gòu)建神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),訓(xùn)練生成分類器,并選取通用的評(píng)價(jià)標(biāo)準(zhǔn)對(duì)分類器的性能進(jìn)行了評(píng)估。在后續(xù)實(shí)驗(yàn)過程中,選擇了 《左傳》 文本中的4 類事件句文本作為實(shí)驗(yàn)數(shù)據(jù),先對(duì)語料的分布情況做了直觀的分析,其次通過參數(shù)的調(diào)整設(shè)置了對(duì)比實(shí)驗(yàn),并通過不同情況下在驗(yàn)證集上的表現(xiàn)選定了效果最顯著的分類器,通過測試集數(shù)據(jù)的檢驗(yàn)評(píng)價(jià)分類器的性能,最終的精確度達(dá)到了0.95,證明本文所提出的基于觸發(fā)詞進(jìn)行事件文本自動(dòng)分類的方法和構(gòu)建的分類模型是行之有效的。在后續(xù)的研究中,對(duì)于其他深度學(xué)習(xí)的分類算法模型在典籍事件文本分類中的效果還有待進(jìn)一步的探索,例如在Bi-LSTM 的基礎(chǔ)上加入Attention 機(jī)制后的表現(xiàn),通過對(duì)比不同分類模型和處理方式在典籍事件觸發(fā)詞多元分類任務(wù)中的表現(xiàn),確定最適用于典籍事件分類的一種。此外,對(duì)于增加樣本類別數(shù)量之后的情況有待進(jìn)一步的研究,探索針對(duì)更加多元的事件類別分析的方法,以進(jìn)一步豐富本研究的成果。
農(nóng)業(yè)圖書情報(bào)學(xué)刊2021年9期