国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

SikuBERT與SikuRoBERTa:面向數(shù)字人文的《四庫全書》預訓練模型構(gòu)建及應(yīng)用研究*

2022-06-17 09:02:58王東波朱子赫劉江峰胡昊天
圖書館論壇 2022年6期
關(guān)鍵詞:四庫全書典籍分詞

王東波,劉 暢,朱子赫,劉江峰,胡昊天,沈 思,李 斌

0 引言

近年在人文社會科學領(lǐng)域中,數(shù)字人文研究異軍突起。有關(guān)數(shù)字人文概念、研究范式等的探究相對全面與成熟,而有關(guān)語料庫、知識庫、計算模型等構(gòu)建與應(yīng)用的研究相對較少。面向漢語言文獻學的數(shù)字人文研究,其最大特征和優(yōu)勢在于擁有海量的漢語古代典籍數(shù)據(jù),而最具有代表性的圖書典籍數(shù)據(jù)源為《四庫全書》。如何利用《四庫全書》這一寬廣而全面的歷史文獻集?這一問題在深度學習背景下有了全新的解決方案?;贐ERT語言模型框架,構(gòu)建面向古籍文獻的預訓練模型,對推動古文智能化處理以及數(shù)字人文研究的深入具有獨特價值。據(jù)此,本文基于BERT(Bidirectional Encoder Representation from Transformers)預訓練模型技術(shù),利用《四庫全書》正文語料,構(gòu)建SikuBERT和SikuRoBERTa預訓練模型,在多層次的古文處理任務(wù)上進行驗證,并構(gòu)建SIKU-BERT典籍智能處理平臺,為人文領(lǐng)域?qū)W者提供一種便利化的古文知識組織與挖掘選擇。

1 文獻綜述

1.1 預訓練語言模型

自然語言處理(Natural Language Processing,NLP)和文本的研究包括序列標注、自動分類、文本生成等各類有監(jiān)督任務(wù)。這些任務(wù)往往需要構(gòu)建大規(guī)模標注訓練集,以讓深度學習模型充分學習詞匯、句法與語義的特征,從而使得其人力與時間成本非常昂貴。而通過自監(jiān)督的方式,讓語言模型在大量未標記語料上進行訓練,對自然語言的內(nèi)在特征進行建模與表征,可得到具有通用語言表示[1]的預訓練模型(Pre-trained Model,PLM)。在進行下游任務(wù)時,直接將預訓練模型作為初始化參數(shù),不僅使模型具備更強的泛化能力與更快的收斂速度[2],且僅需要輸入少量的標記數(shù)據(jù)進行微調(diào),即可在避免過擬合的同時顯著提升NLP任務(wù)性能。

早期以Word2Vec[3]、GloVe[4]等為代表的預訓練模型基于詞嵌入技術(shù),將詞匯表征為低維稠密的分布式向量。這些嵌入方式雖然考慮了詞義與詞匯間的共現(xiàn)關(guān)系,但所構(gòu)建的詞向量為缺乏上下文依賴的靜態(tài)向量,詞義不會因語境的更改而變化,因此無法解決一詞多義問題。自ELMo[5]模型提出以后,基于上下文語境信息動態(tài)嵌入的預訓練模型解決了靜態(tài)詞向量詞義固定的問題,實現(xiàn)了對詞義、語法、語言結(jié)構(gòu)的聯(lián)合深層建模。

預訓練模型根據(jù)建模思想的不同,主要可以分為3類。第一類是以GPT[6]為代表的自回歸模型。由于本質(zhì)上為單向語言模型,雖然在生成式任務(wù)中表現(xiàn)優(yōu)異,但是無法同時學習上下文信息。第二類是以BERT[7]為代表的自編碼模型,通過掩碼語言模型(Masked Language Model,MLM)實現(xiàn)兩個方向信息的同時獲取,但也因此導致預訓練和微調(diào)階段不匹配的問題。第三類是以XLNet[8]為代表的排序語言模型。此類模型融合了上述兩類模型的優(yōu)勢,通過對輸入序列的隨機排序,使單向語言模型學習到雙向文本表示的同時,還保證了兩階段的一致性。

以下為當前較為主流的預訓練模型。ELMo(Embedding from Language Models)[5]模型:通過兩層雙向LSTM神經(jīng)網(wǎng)絡(luò)在大規(guī)模語料庫上進行預訓練,學習詞匯在不同語境下的句法與語義信息,并在下游任務(wù)中動態(tài)調(diào)整多義詞的嵌入表示,從而確定多義詞在特定上下文中的含義。由于其簡單拼接前后兩個方向獨立訓練的單向語言模型,特征融合能力相對較弱。GPT(Generative Pre-Training)[6]模型:將ELMo模型中的LSTM架構(gòu)替換為特征提取能力更強的單向Transformer[9],從而捕捉更長距離的語境信息。然而,由于其僅使用上文信息預測當前詞匯,因此更適合于機器翻譯、自動摘要等前向生成式任務(wù)。其后續(xù)的改進型GPT2.0[10]與GPT3.0[11]模型,采用了更大的Transformer結(jié)構(gòu),基于規(guī)模更大、質(zhì)量更高、類型更廣的WebText、Common Crawl等數(shù)據(jù)集,預訓練了更加通用、泛化能力更強的語言模型,并無需微調(diào)、完全無監(jiān)督地進行文本生成等下游任務(wù)。BERT模型:該模型的出現(xiàn)極大地推動了預訓練模型的發(fā)展[12],催生一系列改進的預訓練模型,也使得預訓練結(jié)合下游任務(wù)微調(diào)逐漸成為當前預訓練模型的主流模式[1]。BERT是一種基于Transformer架構(gòu)的自監(jiān)督深層雙向語言表示模型,它通過掩碼語言模型迫使模型根據(jù)前后文全向信息進行預測,從而實現(xiàn)深層雙向文本表示。此外,BERT還通過下一句預測(Next Sentence Prediction,NSP)任務(wù),學習前后兩個句子是否為連續(xù)關(guān)系,從而更好地實現(xiàn)自動問答和自然語言推理。

由于BERT模型中MLM遮蔽機制僅作用于單個字符,對詞間關(guān)系與中文詞義的學習并不友好,因此后續(xù)學者提出的一些預訓練模型對遮蔽機制進行了改進。一是ERNIE(Baidu,Enhanced Representation through Knowledge Integration)[13]在原始對單個字符(漢字)遮蔽的基礎(chǔ)上,增加了實體層面遮蔽和短語層面遮蔽,從而使預訓練模型學習到豐富的外部實體和短語知識。該模型還構(gòu)建了對話語言模型(Dialogue Language Model,DLM)任務(wù),基于百度貼吧的對話數(shù)據(jù)學習多輪對話中的隱式語義關(guān)系。二是BERT-wwm[14]模型提出了更適合中文文本的全詞遮蔽。不同于ERNIE(Baidu)僅遮蔽實體和短語,該模型進一步放寬了遮蔽的條件,即只要一個中文詞匯中的部分漢字被遮蔽,就把該詞匯中的所有漢字全部遮蔽,從而使預訓練模型學習到中文詞匯的詞義信息。三是SpanBERT[15]采用Span Masking 方法,從幾何分布中采樣Span 的長度,并隨機選擇遮蔽的初始位置,讓模型僅根據(jù)Span的邊界詞和Span中詞匯位置信息預測被遮蔽詞匯。實驗證明該方法表現(xiàn)優(yōu)于對實體和短語進行遮蔽。四是RoBERTa(a Robustly Optimized BERT Pretraining Approach)[16]模型將詞匯靜態(tài)遮蔽(static mask)替換成動態(tài)遮蔽(dynamic mask),在每次輸入前均對句子進行一次隨機遮蔽,從而提升訓練數(shù)據(jù)的利用率。此外,該模型在預訓練過程刪去NSP任務(wù),改用FULL-SENTENCES方法,每次輸入指定長度的連續(xù)句子,進一步優(yōu)化模型在句子關(guān)系推理方面的表現(xiàn)。五是StructBERT[17]模型增加了詞匯結(jié)構(gòu)預測(Word Structural Objective)任務(wù),對于輸入句中未被遮蔽的詞匯,隨機選擇3個連續(xù)的詞(Trigram)打亂循序,要求模型重構(gòu)并恢復先前的順序;然后將NSP任務(wù)替換為句子結(jié)構(gòu)預測,將判斷是否為連續(xù)句子的二元分類問題改進為預測下一個句子與當前句子位置關(guān)系的三元分類任務(wù),從而顯式學習詞匯和句子層面的語義關(guān)系與語言結(jié)構(gòu)。

部分預訓練模型對BERT的模型架構(gòu)進行了修改。為了讓結(jié)構(gòu)化的外部知識增強語言表征,ERNIE(THU,Enhanced Language Representation with Informative Entities)[18]模型將知識圖譜中的命名實體作為先驗知識引入BERT的預訓練中。該模型分別采用T-Encoder和K-Encoder對文本和實體知識進行編碼與特征融合,并在預訓練過程引入詞匯-實體對齊任務(wù),從而更好地將實體知識注入文本表示中。為了解決BERT忽略了被遮蔽詞匯間相關(guān)性這一問題,XLNet提出了雙流自注意力機制,采用排序語言模型的思想,通過因式分解序列所有可能的排列方式,每個詞匯都可學習到兩邊所有詞匯的信息,使得單向的自回歸模型也具備了同時學習上下文特征的能力;此外,引入自回歸模型Transformer-XL中的片段循環(huán)機制和相對位置編碼,實現(xiàn)對長期依賴關(guān)系的學習。由于整個預訓練過程并不將人為遮蔽納入計算,因此XLNet不存在預訓練與微調(diào)兩階段不匹配的情況。ELECTRA(Efficiently Learning an Encoder that Classifies Token Replacements Accurately)[19]引入了替換標記檢測任務(wù),在對輸入句進行隨機詞匯遮蔽后,通過生成器預測詞匯并替代標記,隨后采用鑒別器分辨生成器產(chǎn)生的詞匯是否與原始輸入詞匯相同,最終僅使用預訓練的鑒別器開展下游任務(wù)。ELECTRA 解決了預訓練任務(wù)與下游任務(wù)中[MASK]不匹配的問題,在提升計算效率的同時取得更優(yōu)的表現(xiàn)。DeBERTa(Decoding-enhanced BERT with Disentangled Attention)[20]模型提出分解注意力機制,在計算詞間注意力權(quán)值時,采用解耦矩陣同時考慮詞匯間的內(nèi)容和相對位置信息,融入了詞匯間依賴關(guān)系;即通過增強的掩碼解碼器嵌入詞匯在句子中的絕對位置信息,獲得詞匯的句法特征。此外,該模型還提出了虛擬對抗訓練算法SiFT(Scale-invariant-Fine-Tuning),用于提升微調(diào)下游任務(wù)時模型的泛化能力。與動輒含有上億個參數(shù)的預訓練模型相比,ALBERT[21]模型通過嵌入?yún)?shù)矩陣分解以及跨層參數(shù)共享的方式顯著壓縮了參數(shù)數(shù)量,并將BERT 中的NSP 替換為SOP(Sentence-Order Prediction)任務(wù),用于學習相鄰句子間連貫性與銜接關(guān)系。

還有一些模型僅部分采用了BERT 的架構(gòu)或思想。MT-DNN(Multi-Task Deep Neural Networks)[22]模型是一種用于自然語言理解的預訓練模型。它采用多任務(wù)學習的思想,在預訓練階段通過共享層基于BERT 進行詞匯與語境嵌入,在微調(diào)階段引入單句分類、文本相似度、配對文本分類和相關(guān)性排序等多個任務(wù)聯(lián)合學習,減少模型在特定任務(wù)上的過擬合,更適用于一些缺少標注數(shù)據(jù)的下游任務(wù)。受此啟發(fā),基于持續(xù)多任務(wù)學習的思想,百度在2020年發(fā)布了預訓練模型ERNIE 2.0(Baidu)[23]。在保留BERT的字符嵌入、句子嵌入和位置嵌入3種嵌入方式的同時引入任務(wù)嵌入,通過增量學習的方法使模型逐步學習詞法、句法、語義層面的7種任務(wù),不斷提升語言表征能力。T5(Text-To-Text Transfer Transformer)[24]模型基于遷移學習思想,構(gòu)建文本到文本的NLP任務(wù)統(tǒng)一框架,從而使用相同的模型、損失函數(shù)、超參數(shù)設(shè)置等開展機器翻譯、自動問答、文本分類等任務(wù)。

從上述相關(guān)研究發(fā)現(xiàn):第一,目前大多數(shù)預訓練模型都是基于大量通用語料訓練的;第二,相當一部分預訓練模型都是基于BERT的改進版本。這些模型普適性雖強,但在面對特定領(lǐng)域文本的自然語言處理任務(wù)時,其功能的發(fā)揮容易受限。而古代漢語在語法、語義、語用上與現(xiàn)代漢語存在較大差異,即使是面向中文構(gòu)建的Chinese-BERT-wwm,在古漢語處理上也難以達到其在中文通用語料上的性能。此外,雖然已經(jīng)出現(xiàn)了面向生物醫(yī)學(BioBERT)[25]、臨床醫(yī)學 (ClinicalBERT)[26]、 科 學 (SciBERT)[27]、 專 利(PatentBERT)[28]等特定領(lǐng)域的預訓練模型,但目前僅有GuwenBERT①基于繼續(xù)訓練將BERT 遷移至古漢語語言建模中,且由于語料規(guī)模、簡繁轉(zhuǎn)換等因素的限制,效果不盡如人意。在古漢語領(lǐng)域,由于缺乏大規(guī)模純凈的古文數(shù)據(jù),構(gòu)建古文標注訓練集成本高昂,對標注人員具有較高要求。因此,構(gòu)建高質(zhì)量無監(jiān)督古文數(shù)據(jù)集,訓練面向古文自然語言處理任務(wù)的預訓練模型,對高效開展古文信息處理下游任務(wù)研究,拓展數(shù)字人文研究內(nèi)涵,增強社會主義文化自信具有重要意義。

1.2 人文計算與四庫學

中國擁有卷帙浩繁的古代文獻典籍,它們蘊含著中華民族特有的精神價值與文化知識。1980年代以來,古籍數(shù)字化建設(shè)取得了不俗的實績。然而,數(shù)字化古籍研究仍面臨三重困境:一是古籍數(shù)字化仍囿于整理范疇,對深層知識的研究尚不充分[29];二是現(xiàn)有古籍利用仍以檢索瀏覽為主,深度利用率低[30];三是國內(nèi)學界雖占有大量數(shù)據(jù),卻難以引領(lǐng)古籍的數(shù)字研究范式[31]。在數(shù)字化時代,古籍研究亟待實現(xiàn)范式革新。源自“人文計算”的數(shù)字人文理念與古籍數(shù)字化研究之間的深度融合正引起學界的廣泛關(guān)注。數(shù)字人文是“一種代表性實踐”,“這種代表性的實踐可一分為二,一端是高效的計算,另一端是人文溝通”,其主要范疇是“改變?nèi)宋闹R的發(fā)現(xiàn)(Discovering)、 標 注 (Annotating)、 比 較 (Comparing)、引用(Referring)、取樣(Sampling)、闡釋(Illustrating)與呈現(xiàn)(Representing)”[32]。數(shù)字人文的理論邏輯與技術(shù)體系“能夠為古籍文獻的組織、標引、檢索與利用提供新的方法與模式”[29],“協(xié)助學者進行多維度的統(tǒng)計、比較、分析,產(chǎn)生新的知識和思想”[32],為古籍研究與利用提供新的范式。

《四庫全書》作為珍貴的文化遺產(chǎn),其開發(fā)與利用歷來受到研究人員的重視,圍繞《四庫全書》的文獻體系,學術(shù)界產(chǎn)生“四庫學”這一嶄新學科。何宗美[33]把“四庫學”的研究內(nèi)容分為九大部分,其中與《四庫全書》本身密切相關(guān)的是《四庫全書》及其子系列的文獻研究和《四庫全書》的“總目學”研究,圖情領(lǐng)域的學者對后者尤為側(cè)重。鄧洪波等[34]分析2010-2015年間國內(nèi)“四庫學”研究狀況,指出《四庫全書》研究以中國語言文學和史學為主體,而圖情檔學科有關(guān)《四庫全書》研究的碩博論文僅占1.9%,強調(diào)《四庫全書》的研究應(yīng)當更加注重學科背景的多元化。在與數(shù)據(jù)挖掘結(jié)合的研究中,崔丹丹等[35]利用甲言分詞工具切分的《四庫全書》文本訓練詞向量,結(jié)合Lattice-LSTM模型抽取《四庫全書》中的人名、地名、朝代名和官職名4類實體,取得了良好效果。王倩等[36]使用《四庫全書》全文數(shù)據(jù)基于迭代學習的方法構(gòu)建自動斷句模型,并開發(fā)標注平臺加以推廣。這些研究成果多局限于具體的下游任務(wù),缺乏上游的頂層設(shè)計,雖然在一定程度上采用了預訓練技術(shù)生成詞向量以輔助訓練,但所開發(fā)的模型仍有普適性和可遷移性較低的問題。

相較而言,本文的研究更側(cè)重語言模型訓練,旨在通過利用未經(jīng)人工標注的海量數(shù)據(jù)構(gòu)建高通用性和易用性的語言模型,充分發(fā)掘《四庫全書》這座文化寶藏的價值。而且,本研究所構(gòu)建的預訓練語言模型不需要對古籍文本重新分詞,避免詞向量訓練需依賴精確中文分詞文本的缺陷,最大程度地保留古籍文本的原始特征,確保實驗成果更貼近古籍原文的處理。以《四庫全書》數(shù)字化為研究對象,本研究還構(gòu)建了一種全新的SIKU-BERT典籍智能處理平臺,重點開發(fā)其在典籍自動處理、檢索和自動翻譯三方面的功能,在數(shù)字人文理念引領(lǐng)下提升深度學習模型對古文語料的準確理解,助力基于古文語料的NLP研究。

2 《四庫全書》預訓練模型構(gòu)建

2.1 數(shù)據(jù)源簡介

《四庫全書》是清代乾隆時期編修的大型叢書。本文使用的《四庫全書》為文淵閣版本。本次實驗的訓練集共有漢字536,097,588個,去除重復字后得到28,803個,均為繁體字。數(shù)據(jù)集較《四庫全書》全文字數(shù)少的原因在于,本實驗去除了原本中的注釋部分,僅納入正文部分。之所以刪除注釋信息,是由BERT模型預訓練的本質(zhì)所決定的。BERT 模型基于雙向Transformer編碼器結(jié)構(gòu),是一種典型的自編碼(Autoencoder)語言模型。不同于傳統(tǒng)的自回歸(Autoregressive)模型自左向右預測下一個字符的訓練方式,此類語言模型的訓練思想依靠并綜合上下文的內(nèi)容預測被遮罩的字符。古文中同樣的句子在留有注釋信息和刪除注釋信息的情況下,模型對遮罩詞的預測結(jié)果可能大相徑庭,直接影響到最終的訓練成果??紤]到當前古籍處理任務(wù)多關(guān)注古籍原文的挖掘和利用,不加入古籍注釋信息的訓練必然更適用于一般性下游任務(wù)。若有針對古籍注釋資源的研究需要,可以另行構(gòu)建基于注釋語料的預訓練模型。

《四庫全書》數(shù)據(jù)集主要有4個部分:經(jīng)部、史部、子部、集部,分別由679、568、897、1,262 本書組成。表 1 展示《四庫全書》各部各書的字數(shù)概況。史部每本書的平均字數(shù)最多,子部和集部次之,經(jīng)部最少。從字數(shù)分布差異上來看,經(jīng)部的差異最小,而史部最大。從單本字數(shù)極值來看,子部的最大值最大,而經(jīng)部的最小值最小。從去重后的字數(shù)統(tǒng)計結(jié)果來看,集部、史部的用字較多。集部主要包括文學作品,用字往往比較豐富,用詞比較凝練,因而其總體字數(shù)不多,但去重后用字數(shù)反而處于相對高位水平。史部主要包括各類歷史著作,這類描述歷史人物事件的書籍通常篇幅較大,而由于其中經(jīng)常出現(xiàn)的人名、地名中會包含一些生僻字,因而其去重后用字依然相對較多。

表1 《四庫全書》各部字數(shù)及不重復字數(shù)概況

2.2 預訓練模型構(gòu)建

2.2.1 預訓練模型的構(gòu)建流程

圖1展示了從語料預處理到下游任務(wù)驗證的模型預訓練及其評測全過程。實驗分為4個部分:語料預處理,模型預訓練,模型效果評測和下游任務(wù)測試。實驗先根據(jù)清洗后的《四庫全書》全文語料,按“99∶1”劃分訓練集與驗證集。模型預訓練階段,在總結(jié)多次預實驗結(jié)果后對訓練參數(shù)進行調(diào)優(yōu),選取Huggingface提供的Pytorch 版 BERT-base-Chinese 和 Chinese-RoBERTa-wwm-ext模型在訓練集上使用掩碼語言模型(MLM)任務(wù)完成模型的預訓練。在模型效果評測階段,使用困惑度(Perplexity)為基本指標初步判斷預訓練效果,最后通過設(shè)置4種下游任務(wù)進一步分析對比5種預訓練模型的表現(xiàn)。

圖1 預訓練模型構(gòu)建實驗流程

2.2.2 預訓練模型選取

(1)BERT 預 訓 練 模 型。 2018 年 10 月 谷 歌AI 團隊公布新的語言表征模型——BERT[7],刷新11 項NLP 任務(wù)記錄。BERT的基本結(jié)構(gòu)建立在雙向Transformer編碼器上,通過掩碼語言模型(MLM)和下一句預測(NSP)兩個無監(jiān)督任務(wù)完成模型的預訓練。在MLM任務(wù)中,按比例隨機遮蔽輸入序列中的部分字符,使模型根據(jù)上下文預測被遮蔽的單詞,以完成深度雙向表征的訓練。而在NSP任務(wù)中,BERT模型成對地讀入句子,并判斷給定的兩個句子是否相鄰,從而獲得句子之間的關(guān)系。BERT模型的微調(diào)過程則建立在預訓練得到的模型上,僅需對模型的高層參數(shù)進行調(diào)整,即可適應(yīng)不同的下游任務(wù)。本實驗選取12 層、768個隱藏單元、12個自注意力頭、1.1億個參數(shù)的BERT中文預訓練模型用于預訓練。

(2)RoBERTa中文預訓練模型。Liu等[16]認為BERT模型并沒有得到充分的訓練,為此,他們總結(jié)了BERT 模型訓練中存在的不足,提出了RoBERTa預訓練模型,在BERT模型訓練的每個部分都進行了輕微改進。這些改進包括使用動態(tài)掩碼替代靜態(tài)掩碼,擴大訓練批次與數(shù)據(jù)集大小,提升輸入序列長度以移除NSP任務(wù)等。這些調(diào)整使BERT模型的調(diào)參達到了最優(yōu)。實驗選取12 層、768個隱藏單元、12個自注意力頭的RoBERTa中文預訓練模型作為基礎(chǔ)模型,該模型基于全詞遮罩(Whole Word Mask)的訓練策略,在30G大小的中文語料上完成了預訓練。在全詞遮罩中,如果一個詞的部分子詞被遮罩,則同屬該詞的其他部分也被遮罩。此方法有助于模型學習中文文本的詞匯特征。

2.2.3 語言模型預訓練方法

本實驗選用掩碼語言模型(MLM)任務(wù)完成SikuBERT與SikuRoBERTa的預訓練。BERT模型的預訓練使用了MLM 和NSP 兩個無監(jiān)督任務(wù),其中設(shè)計NSP任務(wù)的目的在于提升對需要推理句間關(guān)系下游任務(wù)的效果。但是,在后續(xù)研究中有學者發(fā)現(xiàn),NSP任務(wù)對BERT模型預訓練和下游任務(wù)性能的提升幾乎無效。RoBERTa模型的開發(fā)者對NSP任務(wù)的效果表達了質(zhì)疑,并通過更改輸入句子對的模式設(shè)計了4組實驗,證實了該猜想。Lan 等[21]認為NSP 任務(wù)的設(shè)計過于簡單,即將主題預測與相干性預測合并在同一個任務(wù)中,主題預測功能使NSP的損失函數(shù)與MLM的損失函數(shù)發(fā)生了大量重疊。基于上述研究的結(jié)果,本實驗移除BERT預訓練中的NSP任務(wù),僅使用MLM任務(wù)完成SikuBERT與SikuRoBERTa的預訓練。在實驗中隨機遮罩15%的詞匯,通過預測被遮罩字符的方式完成參數(shù)更新,并使用MLM損失函數(shù)判斷模型預訓練的完成度。全部實驗均依靠Huggingface 公司的Transformers框架而進行。

2.2.4 預訓練模型效果的評價指標

在模型效果評測階段,使用困惑度(PPL,Perplexity)來衡量語言模型的優(yōu)劣。困惑度的定義如下:對一個給定的序列S:S=w1w2…wn-1wn,表示序列中第n個詞,則該序列的似然概率定義為:

則困惑度可以定義為:

困惑度的大小反映了語言模型的好壞,一般情況下,困惑度越低,代表語言模型效果越好。本實驗通過調(diào)整訓練輪次,使得SikuRoBERTa在驗證集上的困惑度達到1.410,SikuBERT的困惑度達到16.787,達到相對較低水平。初步驗證表明,經(jīng)過領(lǐng)域化語料上的二次微調(diào),SikuBERT和SikuRoBERTa具有較低的困惑度。從語言模型的評價角度來看,在《四庫全書》語料下,相比原始BERT模型和RoBERTa模型,其性能有所提升,可以保證模型充分學習到《四庫全書》的語言信息。

2.3 預訓練模型性能驗證

為檢驗SikuBERT 和SikuRoBERTa 預訓練模型的性能,本研究設(shè)置4項NLP任務(wù)做進一步的驗證:古文命名實體識別任務(wù)、古文詞性識別任務(wù)、古文分詞任務(wù)、古文自動斷句和標點任務(wù)。在語料選擇上,基于經(jīng)過人工校對過的《左傳》語料,構(gòu)造4種實驗所需要的訓練和測試數(shù)據(jù)。在基線模型的選擇上,除BERT-base 和RoBERTa外,還引入GuwenBERT預訓練模型。

2.3.1 驗證實驗的語料和任務(wù)

驗證實驗所使用的語料為南京師范大學文學院(以下簡稱“南師大文學院”)校對過的繁體《左傳》,全文18萬字。該語料庫是以南師大文學院制定的古漢語分詞與詞性標注規(guī)范為依據(jù),使用自動分析工具結(jié)合人工校對而成的精加工語料庫[37]?!蹲髠鳌窋?shù)字人文數(shù)據(jù)庫語料經(jīng)過處理后,除詞性識別任務(wù)外,還可用于古文分詞、古文實體識別、古文斷句和古文標點等任務(wù)。本文選取《左傳》數(shù)據(jù)集作為驗證實驗數(shù)據(jù),一方面統(tǒng)一了選用語料的來源,避免多種古文語料間差異帶來的驗證上的誤差。《左傳》數(shù)據(jù)集是高質(zhì)量的公開數(shù)據(jù)集,使用公開數(shù)據(jù)集作為基本語料,不僅可以體現(xiàn)實驗結(jié)果的公開性、透明性,也降低了其他研究者復現(xiàn)實驗的難度,從而為實驗結(jié)論提供更有力的佐證。另一方面,《左傳》數(shù)據(jù)集經(jīng)過高質(zhì)量的人工校對,語料標注的規(guī)范程度更高,能有效降低引入不同語料的誤差,從而更好地比對預訓練模型之間的差異。本文中,驗證實驗的主要目的是為SikuBERT 和SikuRoBERTa 模型的性能提供一個除困惑度之外的判斷指標,關(guān)于模型在多源語料以及多種不同任務(wù)上的具體表現(xiàn)可參見本系列的其他相關(guān)論文?;凇蹲髠鳌氛Z料的4個任務(wù)及其內(nèi)容見表2。

表2 下游任務(wù)語料描述

(1)古文詞性標注任務(wù)。古籍文本中沒有詞界,以詞為粒度切分古籍文本是進行更多古文應(yīng)用的基礎(chǔ),如古文詞典編撰、古文檢索等。在訓練數(shù)據(jù)預處理上,因為《左傳》數(shù)字人文數(shù)據(jù)庫是經(jīng)過人工校對過的詞性標簽語料集,所以可以直接作為古文詞性標注的訓練數(shù)據(jù)進行使用。

(2)古文分詞任務(wù)?!蹲髠鳌窋?shù)字人文數(shù)據(jù)庫以詞為單位進行詞性標注,經(jīng)過詞性標簽的清洗后,可獲得古文的分詞數(shù)據(jù)。該分詞數(shù)據(jù)是詞性標注數(shù)據(jù)的子集,同樣可用于序列標注任務(wù)。

(4)古文自動斷句和標點任務(wù)。首先,在《左傳》數(shù)字人文數(shù)據(jù)庫語料的基礎(chǔ)上,去除分詞和詞性標簽,保留標點符號。其次,將每個標點符號作為標記,構(gòu)造斷句和標點訓練語料,以希望模型能夠為原始古文語料進行斷句和標點的操作。

2.3.2 驗證模型

驗證實驗選用的預訓練模型如表3所示。為驗證SikuBERT 和SikuRoBERTa 性能,實驗選用的基線模型為BERT-base-Chinese預訓練模型②和Chinese-RoBERTa-wwm-ext預訓練模型③,還引入GuwenBERT 預訓練模型進行驗證。GuwenBERT基于“殆知閣古代文獻語料”在中文BERT-wwm預訓練模型上進行訓練,將所有繁體字經(jīng)過簡體轉(zhuǎn)換處理后用于訓練,模型在古文數(shù)據(jù)的任務(wù)中具有良好的表現(xiàn)。此外,為使驗證結(jié)果具有一致性,在4項任務(wù)驗證中,只對上游預訓練模型進行更換,對下游任務(wù)的模型參數(shù)保持統(tǒng)一。

表3 驗證實驗選用的預訓練模型一覽表

2.3.3 模型驗證性能指標

結(jié)合分詞性能評價常用指標體系,對BERT-base、RoBERTa、GuwenBERT、SikuBERT 和SikuRoBERTa預訓練模型使用以下3個指標來衡量,即準確率(Precision,P)、召回率(Recall,R)、調(diào)和平均值(F1-measure,F(xiàn)1)。各指標具體計算公式如下:

在上述公式中,A、B、C分別代表模型預測出的正樣本數(shù)、模型預測錯誤的樣本數(shù)以及模型未預測出的正樣本數(shù)。選用繁體中文版的《四庫全書》全文數(shù)據(jù)進行預訓練模型的領(lǐng)域?qū)W習實驗,并將其應(yīng)用在繁體中文的《左傳》語料上,進行古文自動分詞實驗。

2.3.4 基于預訓練模型的分詞結(jié)果比較

表4為模型指標的平均值,從這些數(shù)據(jù)可以看到,實驗中SikuBERT 和SikuRoBERTa 的性能表現(xiàn)最佳,分詞的準確率、召回率和調(diào)和平均值均較基線模型BERT-base、RoBERTa 和GuwenBERT 有明顯改進。在準確率和召回率上,SikuBERT預訓練模型的表現(xiàn)效果最佳,分別為88.62%和89.08%;而SikuRoBERTa得到最好的調(diào)和平均值,為88.88%。所有模型中GuwenBERT 預訓練模型的分詞表現(xiàn)最差,精確率、召回率和調(diào)和平均值分別為46.11%、57.04%、50.86%。以調(diào)和平均值為基準,在分詞任務(wù)中原始BERT模型表現(xiàn)優(yōu)于RoBERTa模型,識別效果約高出5%。整體上,SikuBERT預訓練模型效果最優(yōu)。

工況1—2計算結(jié)果分析:工況1,混凝土強度及板厚按照設(shè)計取值,地下車庫底板回填土和頂板回填土同樣按照原設(shè)計要求考慮,結(jié)果表明,地下車庫整體無明顯上浮,且無明顯起拱現(xiàn)象.工況2,混凝土強度、底板和頂板厚度按照實測取值,結(jié)合現(xiàn)場工程實際發(fā)生情況,該工況不考慮地下車庫底板回填土和頂板回填土,結(jié)果表明,地下車庫出現(xiàn)整體上浮起拱現(xiàn)象,地下車庫底板最大起拱高度達250 mm,頂板起拱高度達238 mm.地下車庫底板最大彎矩為219 kN·m,柱端剪力為545 kN,地下車庫底板開裂,柱兩端發(fā)生剪切破壞.

表4 模型分詞結(jié)果指標平均值(%)

2.3.5 基于預訓練模型的詞性標注結(jié)果比較

基于預訓練模型的詞性標注實驗所用數(shù)據(jù)集來自《左傳》,同樣以領(lǐng)域內(nèi)較常使用的準確率(P)、召回率(R)和調(diào)和平均值(F1)作為實驗結(jié)果的評價指標。從實驗結(jié)果(詳見表5)中可以看出,針對《左傳》數(shù)據(jù)的古文詞性標注實驗表現(xiàn)均不錯,但SikuBERT 和SikuRoBERTa 模型的調(diào)和平均值要明顯高于其他3個識別模型,二者的F1值均超過了90%,SikuBERT識別效果更是達到了90.10%;而GuwenBERT模型的識別效果最差,調(diào)和平均值只有74.82%,不及最為基礎(chǔ)的BERT-base 模型。此外,原始BERT 模型(BERT-base)的效果要優(yōu)于RoBERTa模型,且基于《四庫全書》數(shù)據(jù)訓練得到的SikuBERT模型效果同樣優(yōu)于SikuRoBERTa模型。實驗結(jié)果值得進一步分析和探討。

表5 模型詞性識別結(jié)果指標平均值(%)

2.3.6 基于預訓練模型的斷句結(jié)果比較

為驗證SikuBERT 和SikuRoBERTa 預訓練模型對古文斷句的識別效果,在《左氏春秋傳》《春秋公羊傳》《春秋谷梁傳》3本古文著作數(shù)據(jù)集中進行斷句識別實驗。實驗結(jié)果(見表6)顯示,SikuBERT 和SikuRoBERTa 模型的效果均超過85%,SikuBERT 的F1 值最優(yōu),達到87.53%,這也是多組對比實驗中的最好實驗結(jié)果;GuwenBERT模型的識別調(diào)和平均值在各組實驗中表現(xiàn)最差,僅有28.32%,遠低于其他模型;基礎(chǔ)的BERT-base和基于原始BERT模型訓練得到的RoBERTa識別效果一般,調(diào)和平均值分別只有78.70%和66.54%,低于本文自主預訓練的識別模型SikuBERT和SikuRoBERTa,但高于GuwenBERT模型。

表6 模型斷句識別結(jié)果指標平均值(%)

2.3.7 基于預訓練模型的實體識別結(jié)果比較

對長文本中實體的有效識別,是判斷該模型能否有效解決自然語言理解問題的重要評價標準之一。本組對比實驗的數(shù)據(jù)來自《左傳》典籍數(shù)據(jù),識別實體對象為數(shù)據(jù)集中的“人名”“地名”“時間”3類實體,模型識別效果評價標準仍為最常用的準確率(P)、召回率(R)、調(diào)和平均值(F1)。從實驗結(jié)果(見表7)可看出,SikuBERT和SikuRoBERTa 模型的3 類實體識別效果均高于其他3 種模型,尤其是在時間實體的識別中,SikuBERT和SikuRoBERTa模型識別的調(diào)和平均值均超過了96%。而GuwenBERT模型在3類實體識別實驗中的表現(xiàn)均最差,其中人名和地名實體識別的調(diào)和平均值均低于50%,且遠低于其他組的識別效果,這可能是由于其訓練語料為簡體中文的緣故。BERT-base模型和RoBERTa在3組實驗中的表現(xiàn)較為中庸,沒有展示特別突出的識別性能。

表7 模型實體識別結(jié)果指標平均值(%)

3 基于預訓練模型的典籍智能處理平臺搭建

3.1 構(gòu)建流程

上述驗證結(jié)果表明,SikuBERT和SikuRo-BERTa預訓練模型能夠有效提升繁體中文語料的智能處理效果。為進一步展示本實驗的研究成果,課題組構(gòu)建“SIKU-BERT典籍智能處理平臺”,其功能結(jié)構(gòu)框架見圖2。該平臺有3種主要功能:典籍智能處理、典籍檢索和典籍自動翻譯。首頁提供SIKU-BERT 相關(guān)背景的詳細介紹、3種主要功能的簡介以及平臺的基本信息。用戶可根據(jù)自身需求選擇不同的功能,進入平臺的相應(yīng)界面。例如,用戶希望使用典籍智能處理功能,則可以點擊相應(yīng)界面,選擇相關(guān)子功能操作(文本斷句、分詞、詞性標注或?qū)嶓w標注),在結(jié)果返回框中獲取處理結(jié)果。在針對典籍的自動翻譯功能中,用戶可以選擇“語內(nèi)翻譯”或“語際翻譯”,平臺將根據(jù)用戶的選擇返回結(jié)果。古文相似檢索功能實現(xiàn)了將輸入的古文句子與語料庫中候選句的相似度進行計算,并返回相似古文語句。

圖2 SIKU-BERT典籍智能處理平臺系統(tǒng)構(gòu)建流程

3.2 實現(xiàn)方法和工具

3.2.1 系統(tǒng)數(shù)據(jù)和工具

本研究搭建的面向典籍智能處理的應(yīng)用平臺,在構(gòu)建方式選擇上,基于平臺建設(shè)方便性和用戶使用簡便性兩方面的考量,采用網(wǎng)站的架構(gòu);選擇Python 為主要的編程語言,使用Django 作為網(wǎng)站后端構(gòu)建的主體框架,以HTML、CSS、JS作為構(gòu)建工具來實現(xiàn)網(wǎng)站前端呈現(xiàn)。Django框架是利用Python開發(fā)的免費開源Web框架,涵蓋絕大多數(shù)web應(yīng)用所需要的功能。在數(shù)據(jù)存儲方面,選擇SQLite數(shù)據(jù)庫存儲多層級平行語料庫,以節(jié)省物理存儲資源。

3.2.2 系統(tǒng)功能設(shè)計

本研究構(gòu)建的SIKU-BERT典籍智能處理平臺設(shè)計了典籍自動處理、典籍檢索和典籍自動翻譯三大基本模塊,分別對應(yīng)古文斷句、分詞、詞性標注、實體標注,涵蓋相似古文檢索以及段落、句子、詞匯的語內(nèi)和語際翻譯等功能。

3.2.3 系統(tǒng)應(yīng)用展示

SIKU-BERT典籍智能處理平臺包含首頁(見圖3)、典籍智能處理、典籍檢索和典籍自動翻譯4個界面。首頁展示平臺簡介和三大核心功能的快捷入口。

圖3 SIKU-BERT典籍智能處理平臺網(wǎng)站首頁

(1)網(wǎng)站首頁。以“典籍智能處理”功能為例,該功能主要實現(xiàn)典籍的自動斷句、分詞、詞性標注和實體標注。首頁有該功能的運行示例圖和詳細介紹,點擊“FIND OUT MORE”進入功能界面(見圖4)。同時,繼續(xù)往下翻動頁面可以看到平臺的主要功能簡介,見圖5。

圖4 SIKU-BERT典籍智能處理平臺首頁“典籍智能處理”功能介紹

圖5 SIKU-BERT典籍智能處理平臺首頁“平臺簡介”

(2)典籍智能處理功能界面。如圖6所示,在SIKU-BERT 典籍智能處理平臺的“典籍智能處理”功能界面,用戶可以根據(jù)自身需求通過上方按鈕分別選擇對應(yīng)的典籍處理功能,包括斷句、分詞、詞性標注和實體標注。用戶在界面左側(cè)的文本框中輸入需要進行處理的原始典籍文本,選擇功能按鈕后,點擊“開始處理”按鈕,即可返回經(jīng)平臺處理后的句子。比如,在圖6中輸入“子墨子曰:‘今若有能以義名立于天下,以德求諸侯者,天下之服可立而待也?!?,選擇“詞性標注”功能,點擊“開始處理”,那么在右側(cè)便會輸出返回的結(jié)果:“子墨子/nr曰/v:/w“/w今/t若/c有/v能/v 以/p 義/v 名/n 立/v 于/p 天下/n,/w 以/p德/n求/v諸侯/nr者/r,/w天下/n之/u服/n可/v 立/v 而/c 待/v 也/y。/w”。該功能實現(xiàn)了典籍文本快速且規(guī)范化的處理。作為古文NLP研究工具,平臺為哲學、文學、歷史學等學科研究人員的工作帶來極大方便。

圖6 SIKU-BERT典籍智能處理平臺“典籍智能處理”功能界面

4 結(jié)語

在基于古文語料的NLP任務(wù)中,考慮到異體字和“一簡對多繁”等現(xiàn)象,采用簡繁轉(zhuǎn)換功能必然會導致古籍中原本語義信息的部分丟失,使用繁體中文的原始語料仍然是古文自然語言處理的主流。但是,隨著預訓練模型技術(shù)興起,面向古文語料的預訓練模型并沒有得到充分開發(fā)。因此,訓練一種能夠貼合古文語料的預訓練模型,能為基于古文語料的人文計算研究提供重要支撐。本文基于BERT-base、RoBERTa、GuwenBERT、SikuBERT和SikuRoBERTa預訓練模型,分別在4種不同的古文任務(wù)中進行性能驗證。驗證實驗結(jié)果表明,SikuBERT與SikuRoBERTa相較于基線(準)模型的識別效果有一定程度上的提升,SikuRoBERTa 的性能最好;SikuBERT、SikuRoBERTa在分詞、詞性標注上的提升幅度較小,在斷句、實體識別等任務(wù)中的提升幅度較大。

綜上所述,SikuBERT和SikuRoBERTa預訓練模型能夠有效提升繁體中文語料處理的效果,對于古文NLP研究具有重要意義。下一步的模型效能提升研究將著重于構(gòu)建更適合古籍智能處理任務(wù)的預訓練模型詞表,從而獲得性能更好的詞表示特征。將來的相關(guān)應(yīng)用研究還會著眼于上述各層級智能處理任務(wù)在不同典籍文獻上的具體應(yīng)用。

注釋

①參見:https://github.com/ethan-yt/guwenbert.

②參見:https://huggingface.co/bert-base-chinese.

③參見:https://huggingface.co/hfl/chinese-roberta-wwmext.

猜你喜歡
四庫全書典籍分詞
《四庫全書考證》新近出版
《典籍里的中國》為什么火?
金橋(2021年4期)2021-05-21 08:19:24
《四庫全書總目》提要辨證五則
天一閣文叢(2020年0期)2020-11-05 08:28:32
于敏中與《四庫全書薈要》纂修
天一閣文叢(2019年0期)2019-11-25 01:31:58
結(jié)巴分詞在詞云中的應(yīng)用
智富時代(2019年6期)2019-07-24 10:33:16
在詩詞典籍中賞春日盛景
學生天地(2017年8期)2017-05-17 05:49:53
值得重視的分詞的特殊用法
典籍翻譯模式的構(gòu)建與啟發(fā)
先秦典籍中的男嬖形象探微
文斕閣《四庫全書》兩種概考
天一閣文叢(2014年1期)2014-10-13 08:00:02
昂仁县| 张家港市| 武胜县| 嘉义市| 定边县| 婺源县| 开江县| 牙克石市| 西吉县| 赣州市| 碌曲县| 依安县| 莱阳市| 资兴市| 绥宁县| 达孜县| 民和| 安新县| 永定县| 平邑县| 云霄县| 潞城市| 循化| 保康县| 嵊州市| 南和县| 平乐县| 微博| 阳朔县| 巴林右旗| 罗平县| 浪卡子县| 霍林郭勒市| 太白县| 临西县| 安平县| 依安县| 泰州市| 庆元县| 苏尼特右旗| 西藏|