王 娟,李 寧,姜雨彤,田英愛
(北京信息科技大學(xué)網(wǎng)絡(luò)文化與數(shù)字文化傳播重點實驗室,北京 100101)
文檔結(jié)構(gòu)識別基于對文檔中單元角色的判斷,實現(xiàn)流式文檔的智能化理解,這在文檔自動排版和優(yōu)化、信息檢索、智能問答系統(tǒng)等領(lǐng)域均有重要作用。中外已存在許多關(guān)于流式文檔結(jié)構(gòu)識別的研究,在這些已有的研究中,根據(jù)研究方法的不同可以分為基于規(guī)則、語法、機(jī)器學(xué)習(xí)以及深度學(xué)習(xí)的方法。Han等[1]結(jié)合文檔格式特征及內(nèi)容特征,定義模板規(guī)則,進(jìn)而確定文檔單元的語義角色。Geng等[2]使用基于規(guī)則的方法識別文檔中參考文獻(xiàn)的著錄項,之后使用基于決策樹的方法判斷參考文獻(xiàn)的類型標(biāo)志。Lei等[3]分析流式文檔的特點,基于條件隨機(jī)場構(gòu)建文檔結(jié)構(gòu)識別模型,實驗結(jié)果表明該算法能夠較好地識別論文類型的文檔,識別的單元角色種類較豐富,但其依賴手工特征,局限性較強(qiáng)。張真等[4]將文檔結(jié)構(gòu)識別任務(wù)看成序列標(biāo)注任務(wù),提出基于神經(jīng)網(wǎng)絡(luò)構(gòu)建文檔結(jié)構(gòu)識別模型,該算法提高了論文類型文檔結(jié)構(gòu)識別準(zhǔn)確率,但對其他類型文檔結(jié)構(gòu)識別效果不理想。近年來,在自然語言處理(natural language processing, NLP)研究領(lǐng)域,序列標(biāo)注任務(wù)有大量成熟的研究成果。為能夠同時利用不同算法的優(yōu)勢,很多學(xué)者提出神經(jīng)網(wǎng)絡(luò)與機(jī)器學(xué)習(xí)算法結(jié)合的混合算法思想,從而得到最優(yōu)的序列標(biāo)注模型。Kadari等[5]首先將神經(jīng)網(wǎng)絡(luò)和條件隨機(jī)場結(jié)合起來,構(gòu)建雙向長短時記憶-條件隨機(jī)場(bi-directional long short-term memory-conditional random field,Bi-LSTM-CRF)的模型,這種混合的序列標(biāo)注模型在NLP領(lǐng)域的語義角色標(biāo)注、命名識別等諸多任務(wù)上取得顯著成績,因而逐漸取代單一的基于深度學(xué)習(xí)的模型成為主流的序列標(biāo)注模型。由于Bi-LSTM自身存在缺陷,Che等[6]提出基于雙向門控循環(huán)單元和條件隨機(jī)場(bidirectional gated recurrent unit-conditional random field,BiGRU-CRF)結(jié)合的混合序列標(biāo)注模型解決中文分詞序列標(biāo)記任務(wù),實驗證明該混合模型比LSTM神經(jīng)網(wǎng)絡(luò)更容易訓(xùn)練,效果最佳。與此同時,由于深度學(xué)習(xí)中的卷積神經(jīng)網(wǎng)絡(luò)能夠獲得局部特征,Guillaume等[7]將雙向長短期記憶單元、條件隨機(jī)場和卷積神經(jīng)網(wǎng)絡(luò)三者結(jié)合,構(gòu)建混合序列標(biāo)注模型,在命名實體識別領(lǐng)域取得很好的效果,但該模型不足之處在于,輸入長度的增加會導(dǎo)致性能下降。注意力機(jī)制的引入有助于克服這一缺點,同時注意力機(jī)制能避免神經(jīng)網(wǎng)絡(luò)模型中輸入順序不合理,計算效率較低等問題[8]。在智能問答領(lǐng)域,Nie等[9]構(gòu)建答案選擇模型,加入注意力機(jī)制,使其能夠重點關(guān)注答案的某些部分,并取得較好的效果。
目前,特殊設(shè)計的文檔結(jié)構(gòu)識別模型可以識別特定的文檔類型,但是對多種類型文檔結(jié)構(gòu)識別效果不好。為解決多類型文檔結(jié)構(gòu)識別問題,現(xiàn)借鑒相互獨立、完全窮盡(mutually exclusive collectively exhaustive,MECE)原則[10]和Rebsamen等[11]提出的方法,將不同類型或等級的數(shù)據(jù)分割視為單獨的任務(wù),即把多類型文檔結(jié)構(gòu)識別任務(wù)通過文檔分類的方式將其分解成若干個單類型文檔結(jié)構(gòu)識別的子問題,每一個子問題都是一個小規(guī)模的局部模型。因此,多類型文檔分治模型的核心思想是構(gòu)建文檔分類器實現(xiàn)文檔的自動分類,進(jìn)而將該問題分解成單類型文檔結(jié)構(gòu)識別。對于文檔分類,分為有監(jiān)督學(xué)習(xí)的分類和無監(jiān)督學(xué)習(xí)的聚類[12]。Twinandilla等[13]使用K-means方法預(yù)先定義聚類中心和聚類個數(shù),通過調(diào)整損失函數(shù),將文檔對象基于文檔語義信息劃分成多個互不相交的簇,目標(biāo)是正確地根據(jù)主題對文檔進(jìn)行聚類,K-means算法思想簡單且效果較好,但聚類個數(shù)需要預(yù)先確定。Zendrato等[14]使用改進(jìn)的X-means算法,用戶只需指定聚類個數(shù)所屬的范圍,算法會自動選擇最優(yōu)的K值。文檔聚類方法的輸入特征大部分是文檔的文本信息,往往忽略文檔結(jié)構(gòu)信息。馮健等[15]采用劃分聚類方法,基于文檔對象模型結(jié)構(gòu)進(jìn)行文檔聚類,分析釣魚網(wǎng)頁文檔,實驗表明該方法準(zhǔn)確率較高,效果較好。
現(xiàn)擬使用語義信息和結(jié)構(gòu)信息來計算相似度,但為了盡可能減少主觀干預(yù),未采用具有噪聲的基于密度的聚類方法(density-based spatial clustering of applications with noise,DBSCAN),而采用X-means算法進(jìn)行文檔分類,實現(xiàn)了將大規(guī)模文檔集合分解成若干個小規(guī)模文檔集合的目標(biāo)后,嘗試將雙向門循環(huán)單元和條件隨機(jī)場結(jié)合的混合深度學(xué)習(xí)模型應(yīng)用到文檔結(jié)構(gòu)識別領(lǐng)域,并引入注意力機(jī)制,構(gòu)建各個小規(guī)模文檔集合的單類型文檔結(jié)構(gòu)識別模型,實現(xiàn)多類型文檔的結(jié)構(gòu)識別的目標(biāo)。
聚類算法將文檔聚類成簇后,針對每個簇,分析其語義,總結(jié)出對應(yīng)的段落角色集合,由于不同簇之間文檔類型差異較大,分析而得的文檔段落角色集合各不相同。隨后根據(jù)聚類得到的簇,分別構(gòu)建文檔結(jié)構(gòu)識別模型。
每類的輸出層,由統(tǒng)計文檔類別中存在的段落角色種類定義。當(dāng)前語料庫中段落角色集合為PC={份號、發(fā)文機(jī)關(guān)標(biāo)志、發(fā)文字號、標(biāo)題、發(fā)文機(jī)關(guān)、發(fā)文日期、正文標(biāo)題、一級標(biāo)題、二級標(biāo)題、抄送機(jī)關(guān)、印發(fā)機(jī)關(guān)與日期、表格、表題、題目、作者、三級標(biāo)題、班級、圖題、圖片、文本段落、導(dǎo)師姓名、落款日期、作者單位、郵箱、中文摘要、中文關(guān)鍵詞、英文摘要、英文關(guān)鍵詞、公式、程序代碼、封面題目、副題目、四級標(biāo)題、引言內(nèi)容、日期內(nèi)容、機(jī)構(gòu)、目錄內(nèi)容、說明}。初始K值為1~8,最終模型書目為K=4。文檔結(jié)構(gòu)識別模型各參數(shù)設(shè)置及輸出層定義如表1所示。
表1 簇類-模型參數(shù)設(shè)置及輸出層定義
劃分聚類算法是最基礎(chǔ)的聚類算法,該算法通過數(shù)據(jù)間簡單的相似度計算即可將數(shù)據(jù)對象分組。該算法流程如圖1所示。主要包括三部分內(nèi)容,首先對輸入數(shù)據(jù)進(jìn)行特征提取和特征選擇,其次是數(shù)據(jù)對象相似度計算,最后是根據(jù)相似度結(jié)果將數(shù)據(jù)對象進(jìn)行分組。該方法最終將數(shù)據(jù)對象劃分到不同的類別或簇中,同一個簇中數(shù)據(jù)對象集合具有較高的相似度,而不同的簇中數(shù)據(jù)對象差別較大。
圖1 聚類算法基本流程
傳統(tǒng)的K-means 聚類算法是劃分聚類中較為基礎(chǔ)的算法,對于大規(guī)模的數(shù)據(jù)集有較好的聚類效果,其算法復(fù)雜度為O(mnkR)。其中,m為數(shù)據(jù)特征維數(shù),n為數(shù)據(jù)規(guī)模,k為指定的聚類簇個數(shù),R為總體迭代次數(shù)。雖然K-means 聚類算法高效簡單,但也存在一定的局限性:算法中聚簇個數(shù)需要預(yù)先指定,同時每一輪迭代計算開銷較大且很容易陷入局部最優(yōu)解,鑒于此,文本選擇使用傳統(tǒng)K-means 的改進(jìn)算法即X-means 聚類算法。
X-means算法的主要思路是先對文檔集合實現(xiàn)聚類,針對每一個文檔聚類簇繼續(xù)進(jìn)行K=2的聚類。具體步驟如下。
(1)選擇特征集。選取的特征不同于其他文檔聚類方法,選取格式結(jié)合語義的特征集合完成文檔聚類,以實現(xiàn)對文檔按照領(lǐng)域及書寫格式劃分的目標(biāo)。
(2)文檔完成初始聚類。語料中的每行特征集合數(shù)據(jù)均代表一篇文檔,從下限值Kmin開始,從N個數(shù)據(jù)對象中隨機(jī)選擇Kmin個數(shù)據(jù)對象作為初始聚類中心,計算其余數(shù)據(jù)對象與聚類中心的歐式距離,根據(jù)歐氏距離的值,將數(shù)據(jù)對象分配到與其距離最短的聚類簇中,計算每一個聚類簇的數(shù)據(jù)對象的均值,作為新的聚類中心,然后計算誤差平方和(the sum of squares due to error,SSE)評價當(dāng)前聚類結(jié)果,若SSE發(fā)生了變化,則迭代計算歐式距離重新歸類并計算新的聚類中心,若SSE未發(fā)生變化保持穩(wěn)定,則當(dāng)前的聚類算法結(jié)束,輸出聚類結(jié)果。
(3)初始聚類完成后,針對每一個分類結(jié)果,完成二分聚類,得到最優(yōu)的聚類結(jié)果。本著各文檔聚類簇之間盡可能分開,各文檔聚類簇本身盡可能緊湊的原則,從范圍[Kmin=1,Kmax=10]內(nèi)找到最優(yōu)的聚類數(shù)K,即:針對每一個聚類簇,完成二分聚類,計算貝葉斯信息準(zhǔn)則(Bayesian information criterion,BIC)得分,決定是否進(jìn)行二分聚類,如果K值比指定的Kmax大或者不存在可分裂的聚類中心點,那么算法停止,否則迭代繼續(xù)分裂聚類。最終,得到最優(yōu)聚類數(shù)K和最優(yōu)的聚類結(jié)果。在得到的聚類結(jié)果中,文本會自動給數(shù)據(jù)維度后增加一個新列Cluster{Cluster1, Cluster2,…},用來標(biāo)注聚類類別,以支持后續(xù)的處理。
歐式距離計算公式如(1)所示。
(1)
式(1)中:data為數(shù)據(jù)對象;j為第i個聚類中心;m為數(shù)據(jù)特征維度;dataj、Ctij為data數(shù)據(jù)對象和Cti聚類中心的第j個屬性值。
此外,聚類結(jié)果由SSE評價,公式為
(2)
該評價方法計算的是data數(shù)據(jù)對象和Cti聚類中心對應(yīng)點誤差的平方和,SSE值越趨近零,越說明模型擬合得更好,數(shù)據(jù)預(yù)測結(jié)果越好。
選擇X-means 算法完成文檔聚類有如下優(yōu)點。
(1)在算法初始時不預(yù)先給出聚簇個數(shù)K, 只指定聚簇個數(shù)K的大概范圍[K1,K2],該算法會在指定的[K1,K2]范圍內(nèi)通過BIC 值的評價方法不斷調(diào)整聚類簇的個數(shù),進(jìn)而找到一個最優(yōu)的聚簇個數(shù)K以實現(xiàn)聚類分組。
(2)針對局部最優(yōu)解問題,X-means 每一輪迭代均使用2-means 方法,2-means 對局部最優(yōu)解不敏感。
(3)該算法使用K-D樹分區(qū),加速了K-means 的每一輪迭代。
流式文檔的每個段落可以看成一個基本單元,流式文檔可以看作基于這些單元之上的序列,段落與段落間存在前后依賴關(guān)系,進(jìn)而文檔結(jié)構(gòu)識別可以看成是序列標(biāo)注問題。針對文檔結(jié)構(gòu)識別問題,提出BiGRU-CRF模型。BiGRU-CRF模型將神經(jīng)網(wǎng)絡(luò)與統(tǒng)計學(xué)習(xí)相結(jié)合,解決了文檔結(jié)構(gòu)識別針對小規(guī)模語料訓(xùn)練性能較差、識別準(zhǔn)確率較低等問題。循環(huán)神經(jīng)網(wǎng)絡(luò)可以很好地完成短序列任務(wù),但針對長序列問題,RNN存在較大缺陷,它在訓(xùn)練中會頻繁出現(xiàn)梯度消失和爆炸等問題,導(dǎo)致訓(xùn)練中斷,使RNN無法記憶長距離信息。為避免RNN的缺點,相關(guān)研究人員提出了長短期記憶網(wǎng)絡(luò)LSTM,可以有效地利用長距離序列信息,有效彌補(bǔ)RNN的不足,較好地求解長序列任務(wù)。但是由于LSTM網(wǎng)絡(luò)參數(shù)較多,網(wǎng)絡(luò)訓(xùn)練開銷較大,導(dǎo)致LSTM在是使用中有一定的局限性,因此,相關(guān)研究者提出了GRU模型,該模型對LSTM進(jìn)行簡化,減少了網(wǎng)絡(luò)參數(shù),在解決長時序列任務(wù)時,既保持了LSTM的效果,同時又使結(jié)構(gòu)更加簡單,有效地縮短模型訓(xùn)練的時間,同時模型訓(xùn)練更易于收斂,需要的數(shù)據(jù)更少,模型效果更好。BiGRU模型獲取自上而下和自下而上的長短距離信息,由于文檔段落較多,數(shù)據(jù)信息較復(fù)雜,所以在BiGRU模型中引入自注意力機(jī)制。BiGRU加入自注意力機(jī)制會更好地獲得段落特征序列中長距離相互依賴的特征,自注意力能夠?qū)⑿蛄兄腥我鈨蓚€段落的特征矩陣通過一個計算步驟直接聯(lián)系到一起,而不是按照序列依次計算,有效地縮短依賴特征之間的關(guān)系。因為條件隨機(jī)場有突出的序列標(biāo)注能力,所以將BiGRU層結(jié)合自注意力機(jī)制得到的文檔特征信息結(jié)果作為特征向量的最終表示,使用CRF模型聯(lián)合建模進(jìn)行標(biāo)注決策,可以獲得全局最優(yōu)的序列標(biāo)注。這時構(gòu)建的文檔結(jié)構(gòu)識別模型,不僅會更好地捕獲輸入的段落特征序列中長距離的相互依賴的特征,而且該模型經(jīng)過CRF層的兩個特征函數(shù)處理,能夠更好地完成上下文預(yù)測。
語料主要來源于北京信息科技大學(xué)文檔資源庫,包括各個類型文檔資源共計約50 000篇,其中經(jīng)過標(biāo)注工具標(biāo)注的文檔約5 000篇。
基于Office Word Add-in 開發(fā)標(biāo)注工具輔助人工操作,采用半自動化標(biāo)注模式通過插入文檔批注對語料進(jìn)行標(biāo)注;通過擴(kuò)展樣式表語言轉(zhuǎn)換(extensible stylesheet language transformations,XSLT)模板定義結(jié)構(gòu),將帶有批注序列的流式文檔轉(zhuǎn)換成符合定義的XML文檔,便于機(jī)器讀??;最后基于Word對象模型,自動提取文檔特征,并填充到XML文檔中。文檔語料構(gòu)建過程如圖2所示。
圖2 文檔語料構(gòu)建過程
在構(gòu)建多類型文檔分治模型前,需要先提取特征。對于文檔結(jié)構(gòu)識別來說,除語義特征外的大部分特征均需要從文檔的底層抽取,而深度學(xué)習(xí)算法無法有效地自動提取這些特征,因此需要采用人工提煉特征。通過分析寫作習(xí)慣及文檔的排版規(guī)則,從文檔中挖掘出多種特征。通過卡方檢驗,最后選擇出18種特征,表2為特征選擇結(jié)果。
表2 特征選擇結(jié)果
提出的BiGRU-CRF模型分為4個部分:采用Embedding降維進(jìn)行向量編碼作為輸入層、使用BiGRU結(jié)合CRF訓(xùn)練結(jié)構(gòu)識別模型、訓(xùn)練層加入自注意力模型,輔助調(diào)整模型參數(shù)。文檔結(jié)構(gòu)識別模型分為訓(xùn)練和測試兩部分,在訓(xùn)練階段,從第2節(jié)聚類結(jié)果中,選擇多篇文檔語料數(shù)據(jù),其中在3.1節(jié)中論述的特征預(yù)處理后的文本格式即為當(dāng)前的輸入語料格式,并采用BiGRU-CRF模型進(jìn)行訓(xùn)練;最后,在測試階段,選擇多篇該類文檔的語料數(shù)據(jù),使用上一步驟中訓(xùn)練好的文檔結(jié)構(gòu)識別模型進(jìn)行這些文檔單元角色的測試,得到最終的測試結(jié)果,并與預(yù)先標(biāo)注的結(jié)果對比,為分模型析和評價提供數(shù)據(jù)支撐??傮w框架如圖3所示。
圖3 文檔結(jié)構(gòu)識別模型總體框架
文檔結(jié)構(gòu)識別模型的輸入層即將3.2節(jié)中經(jīng)特征選擇提取的特征輸入到Embedding層進(jìn)行降維,完成向量編碼,若輸入的是不等長樣本,對其進(jìn)行padding補(bǔ)零之后輸入到Embedding層,形成文檔特征的初始表示,傳遞給下一層的BiGRU神經(jīng)網(wǎng)絡(luò)訓(xùn)練。BiGRU層自主學(xué)習(xí)輸入的文檔特征信息,同時記憶上下文依賴信息,得到其權(quán)重關(guān)系分布,輸出新的特征向量。在此基礎(chǔ)上,引入自注意力機(jī)制層,該層對上一層輸出的特征向量計算注意力概率分布,通過該分布對特征向量進(jìn)行點積運(yùn)算,最后累加,其結(jié)果作為特征向量的最終表示。這時深度學(xué)習(xí)網(wǎng)絡(luò)會更好地捕獲輸入的段落特征序列中長距離的相互依賴的特征,然后將特征向量輸出到CRF層。該層將特征向量的最終表示使用CRF模型聯(lián)合建模進(jìn)行標(biāo)注決策,以獲得全局最優(yōu)的序列標(biāo)注。
以開題報告類型文檔為例,構(gòu)建BiGRU-CRF文檔結(jié)構(gòu)識別模型,表3為實驗后確定的模型參數(shù)配置信息。
表3 模型參數(shù)配置信息
模型的具體算法流程如BiGRU-CRF混合神經(jīng)網(wǎng)絡(luò)算法迭代過程所示。
輸入:經(jīng)初始化的開題報告文檔特征矢量Dataset_a。
輸出:模型結(jié)構(gòu)和權(quán)重分布。
Function BiGRU_CRF_Train(Dataset_a):
Initialization特征變量設(shè)為零矩陣,初始化分類數(shù)num_class設(shè)置為13
For所有文檔特征集合Dataset_a do:
For每一篇文檔單元特征集合do:
以字典形式保存每一個離散型特征和所有連續(xù)型特征拼接成的一個連續(xù)型特征
以字典的形式保存檔單元角色標(biāo)簽
End For
End For
獲取初始化的特征矩陣,對每一個特征降維
連接所有特征變量得到變量input_all
對input_all進(jìn)行變長序列處理,長序列切割,短序列填充零值,得到變量input_middle
將input_middle輸入到GRU 模型中
設(shè)置GRU 模型參數(shù):
正則化dropout值設(shè)為0.2,輸出維度設(shè)為128,return_sequences設(shè)為True,得到變量x_gru
將x_gru輸入到GRU 模型中,設(shè)置相同的參數(shù),得到變量x_bigru
將x_bigru輸入到自注意力機(jī)制模型中
設(shè)置自注意力模型參數(shù):
注意力類型為multiplicative,注意力偏置設(shè)為false,得到變量x_atten,將x_atten輸?shù)紺RF 模型中
設(shè)置CRF 參數(shù):
分類參數(shù)設(shè)num_class,得到變量crf_output
模型編譯,選擇Nadam 優(yōu)化算法
打印模型結(jié)構(gòu),返回模型
防止過擬合,采用EarlyStopping 法
設(shè)置早停法參數(shù):
監(jiān)測驗證集的損失值,設(shè)置為min 模式,10 輪訓(xùn)練驗證集損失值
停止減少后模型訓(xùn)練中止,加入tensorboard 可視化
模型訓(xùn)練
設(shè)置模型訓(xùn)練參數(shù):
迭代25 次,訓(xùn)練集驗證集分布設(shè)置為0.2,一次訓(xùn)練選取樣本量為8
保存模型結(jié)構(gòu)和模型權(quán)重到指定目錄,其中將save_best_only 設(shè)為true,保存驗證集損失最小的模型權(quán)重
End Function
選取語料庫3 000篇未標(biāo)注類型的文檔,其中混合了公文在內(nèi)的許多類型文檔。該部分?jǐn)?shù)據(jù)集因保密性要求,僅在GitHub(https://github.com/COSLab)上公布了68篇數(shù)據(jù)。
4.1.1 評價指標(biāo)
文檔結(jié)構(gòu)識別模型的評估指標(biāo)分為兩部分:段落單元的評估指標(biāo)和總體的評估指標(biāo)。
針對段落單元的評估指標(biāo)采用查準(zhǔn)率(Precision,P)、查全率(Recall,R)和F1值(F1-score),通過這3項評估指標(biāo)對作者、題目、文本段落、圖片以及表格等各個段落單元進(jìn)行測評和分析。
查準(zhǔn)率是相對于預(yù)測結(jié)果而言的,其含義是在被所有預(yù)測為標(biāo)簽N的樣本中,實際為標(biāo)簽N的概率,計算公式為
(3)
式(3)中:TP為模型預(yù)測結(jié)果為N的集合中,實際為標(biāo)簽N的樣本數(shù)量;Ptotal代表模型預(yù)測結(jié)果為標(biāo)簽N的總樣本數(shù)量。
查全率是相對于樣本而言的,其含義是實際為標(biāo)簽N的樣本中,被預(yù)測為標(biāo)簽N的概率,計算公式為
(4)
式(4)中:Rtotal代表實際為標(biāo)簽N的總樣本數(shù)量。
F1值的計算公式為
(5)
針對總體的評估指標(biāo),由于流式文檔中不同角色單元的數(shù)量差異較大,不同段落角色數(shù)量不平衡,正文的比重很大,遠(yuǎn)超過其他角色標(biāo)簽,因此不能簡單采用上述3項指標(biāo)。采用上述3項指標(biāo)對應(yīng)的宏平均和微平均作為總體評價指標(biāo)。宏平均是指先對每一個標(biāo)簽統(tǒng)計上述3個指標(biāo)值,再對所有的標(biāo)簽求算術(shù)平均值。微平均指不區(qū)分標(biāo)簽進(jìn)行統(tǒng)計,將所有標(biāo)簽一次性全考慮進(jìn)來。在實驗過程中,對各個深度學(xué)習(xí)模型的使用上述評估指標(biāo),從而評價各個模型對文檔結(jié)構(gòu)識別的效果。這樣帶來的好處是可以更好地評價算法、模型在整個數(shù)據(jù)集上的性能。
4.1.2 實驗結(jié)果及分析
文檔集合經(jīng)過聚類算法后,得到的聚類結(jié)果如圖4和圖5所示。
圖4 聚類模型實驗結(jié)果1
圖5 聚類模型實驗結(jié)果2
通過聚類算法發(fā)現(xiàn),如果聚成4類,聚類的結(jié)果基本符合人工對文檔類型劃分的預(yù)期,大致分為論文類型、標(biāo)準(zhǔn)文本類型、公文類型和開題報告類型。其中論文類型文檔共1 512篇、標(biāo)準(zhǔn)類型文檔共575篇、公文類型文檔共586篇、開題報告類型文檔共488篇。因此可以實現(xiàn)分而治之的設(shè)想。
聚類算法得到的4類文檔的實驗結(jié)果如表4、表5所示。
基于多個分類模型識別文檔,每一個識別模型均有其對應(yīng)的段落角色集合,同時每一個識別模型的準(zhǔn)確率均達(dá)到了92%以上,各個分類模型的識別結(jié)果如表4、表5所示,單模型和分治模型的結(jié)果總體比較如圖6所示,綜合4個模型得總體的算術(shù)平均值約為95%。
表4 模型1和模型2的實驗結(jié)果
表5 模型3和模型4實驗結(jié)果
圖6 單一模型與分治模型的實驗結(jié)果對比
(2)用單模型去識別所有文檔,段落角色集合為第1節(jié)中論述的PC。得到的總體識別結(jié)果只有75%左右,效果較差,很明顯,例如中文摘要、引言這樣的段落角色很容易識別成文本段落。
由此可以得出,所提出的分治模型能夠有效地解決多類型文檔結(jié)構(gòu)識別問題。
根據(jù)4.1中文檔聚類算法得到的論文、開題報告、公文、標(biāo)準(zhǔn)這4類文檔集合,構(gòu)建最優(yōu)的文檔結(jié)構(gòu)識別模型。每種類型的文檔語料分為訓(xùn)練集和測試集。
使用相同的語料庫,在相同環(huán)境配置的條件下,對不同模型分別進(jìn)行實驗對比,實驗采用4.1節(jié)中論述的查準(zhǔn)率、查全率和F1值,以及對應(yīng)的宏平均和微平均進(jìn)行評估。
以聚類結(jié)果中數(shù)據(jù)規(guī)模最小的開題報告類型為例,對模型進(jìn)行評估和分析。近年來,已有幾個性能較好的模型。張真等[4]使用LSTM模型對文檔段落進(jìn)行預(yù)測,現(xiàn)同樣選擇LSTM進(jìn)行對比實驗。
表6展示了本文模型與文獻(xiàn)[4]提出的模型實驗對比結(jié)果。
從表6中可以看出,同樣是處理序列標(biāo)注任務(wù)的模型,本文模型能夠更有效地完成文檔結(jié)構(gòu)識別的任務(wù)。此外,開題報告類型的數(shù)據(jù)規(guī)模較小是一個難點,本文模型的整體識別效果較語料豐富的論文類型差距不大,但是,針對分級標(biāo)題,級別越低,寫作自由度越高,導(dǎo)致識別效果較差,三級標(biāo)題的識別效果只能達(dá)到0.65左右。從最終預(yù)測結(jié)果中得出,標(biāo)題識別錯誤的情況為,大部分被識別成二級標(biāo)題或一級標(biāo)題,少量被識別成正文,說明各個標(biāo)題之間的特征差異較小。
表6 不同文檔結(jié)構(gòu)識別模型效果對比
表7是不同模型的參數(shù)對照表。從表7中可以看出,本文的模型參數(shù)較少,迭代25次即趨于穩(wěn)定,而文獻(xiàn)[4]模型參數(shù)較多,迭代次數(shù)到40次才趨于穩(wěn)定,但仍上下波動。在數(shù)據(jù)規(guī)模較少的開題報告類的文檔訓(xùn)練中,尤為明顯。
表7 模型參數(shù)對照
綜上,無論是識別效果上還是性能上,本文模型在文檔結(jié)構(gòu)識別上效果均好于文獻(xiàn)[4]模型。
方正飛翔是目前市面上書籍、科技排版效率最高的交互式排版軟件,word超強(qiáng)的兼容性,可以在導(dǎo)入時保留原版式。將本文模型識別結(jié)果與方正飛翔軟件進(jìn)行對比,結(jié)果如表8所示。在12類段落角色標(biāo)簽中,文本模型的識別結(jié)果除表題、表格以外,均高于方正軟件,其中作者、一級標(biāo)題、二級標(biāo)題、三級標(biāo)題均高出約0.2。而方正飛翔軟件在圖題、圖片、表格、表題等段落標(biāo)簽上的識別結(jié)果較好,本文模型與其結(jié)果持平,而圖題僅低0.05。
表8 與方正飛翔軟件的識別效果對比
針對多類型文檔結(jié)構(gòu)識別問題,提出多類型文檔分治模型,把多類型文檔結(jié)構(gòu)識別分為三個步驟。第一步,基于改進(jìn)的X-means 聚類算法構(gòu)建文檔分類器。第二步,為每個分類訓(xùn)練文檔結(jié)構(gòu)識別模型,充分利用段落角色的序列化特點,將序列標(biāo)注方法結(jié)合到文檔結(jié)構(gòu)識別模型中去,結(jié)合雙向門控單元模型、條件隨機(jī)場模型并加入自注意力機(jī)制,構(gòu)建文檔結(jié)構(gòu)識別模型。第三步,對新文檔分類并調(diào)用相應(yīng)的文檔結(jié)構(gòu)識別模型。分治模型使得機(jī)器學(xué)習(xí)從大規(guī)模尋優(yōu)目標(biāo)轉(zhuǎn)化為小規(guī)模尋優(yōu)目標(biāo),降低了文檔結(jié)構(gòu)識別模型的訓(xùn)練復(fù)雜度,實驗結(jié)果表明,該方法能夠有效識別多類型文檔結(jié)構(gòu),提高了模型的準(zhǔn)確性及方法的通用性,更符合實際應(yīng)用場景。
本文模型雖然取得良好的效果,但仍有問題值得進(jìn)一步改進(jìn)。
(1)數(shù)據(jù)集的拓展。使用的語料只是其中較少的一部分且涉及的種類較少,不夠全面,雖然提出的多類型文檔分治模型可以解決多類型文檔結(jié)構(gòu)的識別問題,但是如果能夠擴(kuò)充語料集,在獲得更豐富的語料的條件下,可以進(jìn)一步調(diào)整聚類的簇數(shù)、特征的維度,對文檔進(jìn)行更精細(xì)的分類識別,以獲得更好的整體識別效果。
(1)段落角色的細(xì)粒度識別。目前作為研究目的,對于流式文檔的段落角色劃分還比較粗,一些段落角色未作識別,例如:頁眉、頁腳、腳注等,在實際應(yīng)用中,可以考慮增加更多的段落角色識別能力。