趙慧子,周逸凡,段 浩,趙紅莉,張 東
(1.中國(guó)水利水電科學(xué)研究院,北京 100038;2.水利部數(shù)字孿生流域重點(diǎn)實(shí)驗(yàn)室,北京 100038;3.大連海事大學(xué),遼寧 大連 116026)
隨著信息技術(shù)的發(fā)展,社會(huì)各領(lǐng)域信息量呈現(xiàn)爆發(fā)式增長(zhǎng),如何更好地收集、管理和利用各領(lǐng)域海量信息,提供智能化領(lǐng)域知識(shí)服務(wù),成為亟待解決的熱點(diǎn)問(wèn)題。知識(shí)抽取是領(lǐng)域知識(shí)服務(wù)的基礎(chǔ),即從大量非結(jié)構(gòu)化數(shù)據(jù)中獲取有用的知識(shí)文本,主要包括實(shí)體抽取、關(guān)系抽取、事件抽取三個(gè)方面。其中,知識(shí)實(shí)體的抽取又被稱為命名實(shí)體識(shí)別[1](Named Entity Recognition,NER),旨在將文本中的知識(shí)實(shí)體識(shí)別出來(lái),并按照專家預(yù)先定義的知識(shí)體系進(jìn)行分類(lèi)存儲(chǔ)、管理。
命名實(shí)體識(shí)別的方法可分為基于規(guī)則、基于機(jī)器學(xué)習(xí)和基于深度學(xué)習(xí)的方法[2]。早的命名實(shí)體識(shí)別采用基于人工編制字典和規(guī)則的方法,在數(shù)據(jù)量較少時(shí),識(shí)別的準(zhǔn)確率較高,然而隨著數(shù)據(jù)量的增大,規(guī)則的復(fù)雜性顯著增加,此類(lèi)方法由于缺乏魯棒性和可移植性[3],單純依靠此類(lèi)方法,人工處理工作量大,難以完成大規(guī)模識(shí)別任務(wù)。隨后有專家將實(shí)體識(shí)別作為序列標(biāo)注任務(wù),據(jù)此提出基于特征定義和統(tǒng)計(jì)的監(jiān)督學(xué)習(xí)方法,改善了單純基于規(guī)則的方法可移植性較的問(wèn)題,主要模型有條件隨機(jī)場(chǎng)模型(Conditional Random Field,CRF)[4]、隱馬爾科夫模型(Hidden Markov Model,HMM)[5]、最大熵模型(Maximum Entropy,ME)[6]、支持向量機(jī)(Support Vector Machine,SVM)[7]等,這類(lèi)引入了機(jī)器學(xué)習(xí)的方法顯著提升了模型識(shí)別性能和可移植性。隨著以復(fù)雜人工神經(jīng)網(wǎng)絡(luò)技術(shù)為基礎(chǔ)的深度學(xué)習(xí)技術(shù)的興起,其在自然語(yǔ)言識(shí)別任務(wù)中發(fā)揮了巨大作用,基于深度學(xué)習(xí)的方法相對(duì)于機(jī)器學(xué)習(xí)的方法無(wú)需復(fù)雜的特征定義,能夠自動(dòng)學(xué)習(xí)文本特征,當(dāng)前已成為命名實(shí)體識(shí)別方法研究的主流,代表模型有雙向長(zhǎng)短記憶-條件隨機(jī)場(chǎng)(BiLSTM-CRF)模型[8]、BERT模型[9]等。其中BERT模型在通用領(lǐng)域具有很好的效果,在自然語(yǔ)言處理領(lǐng)域的多項(xiàng)任務(wù)上都取得了領(lǐng)先的成績(jī),然而面對(duì)某些特定垂直細(xì)分領(lǐng)域,BERT模型仍然存在一些挑戰(zhàn)和局限性,需要進(jìn)一步的優(yōu)化和改進(jìn)[10-11]。
水利領(lǐng)域知識(shí)圖譜的發(fā)展也推動(dòng)了水利命名實(shí)體識(shí)別的研究,段浩等[12]通過(guò)分析整合各類(lèi)水利業(yè)務(wù)與學(xué)科知識(shí)數(shù)據(jù),構(gòu)建了面向水利綜合知識(shí)的圖譜(又稱“水問(wèn)”),圖譜實(shí)體抽取采用BiLSTM-CRF和模式識(shí)別結(jié)合的方法,獲得了一定規(guī)模的實(shí)體總量,截至202210月,圖譜共收錄了160余萬(wàn)個(gè)水利實(shí)體;顧乾暉等[13]構(gòu)建了基于對(duì)抗訓(xùn)練的BERT-CRF模型識(shí)別水利命名實(shí)體,在訓(xùn)練速度和識(shí)別性能上均有較優(yōu)效果。水利領(lǐng)域?qū)嶓w具有細(xì)分領(lǐng)域多、文本數(shù)據(jù)量大、知識(shí)融合復(fù)雜等特征,因此垂直細(xì)分領(lǐng)域?qū)嶓w識(shí)別較通用領(lǐng)域?qū)嶓w識(shí)別更加復(fù)雜,上述兩項(xiàng)研究中均沒(méi)有針對(duì)這一難點(diǎn)展開(kāi)專門(mén)研究。
本文以水利垂直領(lǐng)域之一的水文模型領(lǐng)域相關(guān)知識(shí)抽取為例,開(kāi)展命名實(shí)體識(shí)別研究,以水文模型中文刊論文為數(shù)據(jù)源構(gòu)建了水文模型實(shí)體數(shù)據(jù)集,針對(duì)細(xì)粒度水利命名實(shí)體的抽取問(wèn)題,構(gòu)建了基于多策略的水文模型命名實(shí)體識(shí)別方法:即融合BERT-Base-Chinese模型、LAC(Lexical Analysis of Chinese)工具和模式識(shí)別的方法,對(duì)水文模型領(lǐng)域命名實(shí)體進(jìn)行抽取,具有較高的精確率和召回率。本研究可為其他水利業(yè)務(wù)知識(shí)實(shí)體提取及水利綜合知識(shí)圖譜構(gòu)建提供技術(shù)參考。
本文以面向刊文獻(xiàn)的水文模型知識(shí)學(xué)習(xí)為研究場(chǎng)景,以刊論文為數(shù)據(jù)源,嘗試建立水文模型相關(guān)知識(shí)中命名實(shí)體的識(shí)別方法。
2.1 命名實(shí)體識(shí)別場(chǎng)景設(shè)定本文從刊論文中學(xué)習(xí)水文模型的名稱、模擬要素、應(yīng)用流域、計(jì)算時(shí)段、精度、繼承-發(fā)展關(guān)系、研發(fā)人、研發(fā)單位等知識(shí),設(shè)定8類(lèi)實(shí)體如下:“流域”(BAS)、“監(jiān)測(cè)站點(diǎn)”(STA)、“模型名稱”(MOD)、“水文要素”(ELE)、“計(jì)算時(shí)段類(lèi)型”(TIM)、“評(píng)價(jià)指標(biāo)”(IND)、“自然人”(PER)、“機(jī)構(gòu)”(INS),同時(shí)還設(shè)定識(shí)別評(píng)價(jià)指標(biāo)對(duì)應(yīng)的“數(shù)值”(DAT)和“計(jì)算時(shí)段”(CYC)兩類(lèi)實(shí)體屬性。“流域”和“監(jiān)測(cè)站點(diǎn)”實(shí)體指論文中模型應(yīng)用的流域;“模型名稱”實(shí)體包括論文中提到模型及父模型;“自然人”“機(jī)構(gòu)”實(shí)體指模型開(kāi)發(fā)或改進(jìn)的人及所在機(jī)構(gòu);其余實(shí)體主要用于提取模型應(yīng)用精度相關(guān)的關(guān)鍵信息,其中“計(jì)算時(shí)段類(lèi)型”為模型率定、驗(yàn)證等描述,“計(jì)算時(shí)段”為各計(jì)算時(shí)段起止時(shí)間,如“1998—2010”。 以《SWAT模型在黃河流域?qū)幭亩蔚倪m用性評(píng)價(jià)及展望》一文為例,水文模型知識(shí)抽取示例見(jiàn)表1。
表1 水文模型知識(shí)抽取示例
2.2 輸入數(shù)據(jù)構(gòu)建
2.2.1 數(shù)據(jù)集數(shù)據(jù)來(lái)源 本文數(shù)據(jù)主要來(lái)源于CNKI中國(guó)刊全文數(shù)據(jù)庫(kù)。以“水文模型”、特定模型名稱等為關(guān)鍵詞進(jìn)行檢索,搜集了2005—202117間水文模型研究的中文核心刊論文共883篇。通用領(lǐng)域?qū)嶓w可用人民日?qǐng)?bào)標(biāo)注語(yǔ)料庫(kù)[14]等進(jìn)行訓(xùn)練,水文模型領(lǐng)域中的大部分實(shí)體為詞法分析中未登陸詞識(shí)別的命名實(shí)體,需要構(gòu)建水文模型相關(guān)實(shí)體數(shù)據(jù)集,并基于此進(jìn)行語(yǔ)句抽取作為模型輸入。
2.2.2 數(shù)據(jù)集標(biāo)注方法 由人工標(biāo)注除“自然人”和“機(jī)構(gòu)”以外的8種命名實(shí)體及屬性,用于模型訓(xùn)練與性能評(píng)價(jià)。本文采用BMOES標(biāo)注法對(duì)txt文本進(jìn)行標(biāo)注,其中,“B-實(shí)體類(lèi)型” 表示實(shí)體的開(kāi)頭(如“B-ELE”表示水文要素實(shí)體的開(kāi)頭),“M-實(shí)體類(lèi)型”表示實(shí)體的中間位置,“E-實(shí)體類(lèi)型”表示實(shí)體的末尾位置,“S-實(shí)體類(lèi)型”表示一個(gè)單獨(dú)字詞作為實(shí)體,“O”表示非實(shí)體。其中實(shí)體類(lèi)型為“流域”(BAS)、“監(jiān)測(cè)站點(diǎn)”(STA)、“模型名稱”(MOD)、“水文要素”(ELE)、“計(jì)算時(shí)段類(lèi)型”(TIM)、“評(píng)價(jià)指標(biāo)”(IND)、“數(shù)值”(DAT)和“計(jì)算時(shí)段”(CYC)8類(lèi),數(shù)據(jù)集共有33種標(biāo)注符號(hào)。
2.2.3 數(shù)據(jù)集構(gòu)建 用于命名實(shí)體識(shí)別任務(wù)的數(shù)據(jù)集為標(biāo)注后的句子,其構(gòu)建包括實(shí)體標(biāo)注和語(yǔ)句抽取兩部分:
(1)實(shí)體標(biāo)注。首先將883篇水文模型領(lǐng)域論文pdf解析為分句的文本數(shù)據(jù)流,由人工對(duì)其進(jìn)行實(shí)體標(biāo)注,并對(duì)標(biāo)注內(nèi)容進(jìn)行篩選,剔除或修正錯(cuò)標(biāo)、漏標(biāo);通過(guò)基于少量人工和遠(yuǎn)程監(jiān)督的短語(yǔ)挖掘技術(shù),構(gòu)建正例短語(yǔ)挖掘(Robust Positive-Only Distant Training)和基于詞性標(biāo)注的短語(yǔ)分詞(POS-Guided Phrasal Segmentation)模型,將水利名詞短語(yǔ)標(biāo)識(shí)為帶有實(shí)體類(lèi)別標(biāo)簽的候選單詞,即將句子文本中的語(yǔ)料與標(biāo)注實(shí)體對(duì)齊,以獲取更多標(biāo)注實(shí)體數(shù)據(jù)。
(2)語(yǔ)句抽取。解析后的文本存在大量不包含實(shí)體的句子,過(guò)量不包含實(shí)體的句子會(huì)影響模型的實(shí)體識(shí)別準(zhǔn)確率,因此需要將pdf解析后截?cái)嗟木渥优c上述實(shí)體數(shù)據(jù)進(jìn)行匹配,抽取含有各類(lèi)實(shí)體的句子,同時(shí)保留一定數(shù)量不包含實(shí)體的句子。
數(shù)據(jù)集的具體形式為輸入模型的序列標(biāo)注,數(shù)據(jù)集每行由兩部分組成,分別是字符和標(biāo)簽,字符和標(biāo)簽中間使用空格隔開(kāi)。數(shù)據(jù)集結(jié)構(gòu)示意見(jiàn)圖1。
圖1 數(shù)據(jù)集結(jié)構(gòu)Fig.1 Dataset structure
2.2.4 數(shù)據(jù)集構(gòu)建成果 水文模型知識(shí)實(shí)體數(shù)據(jù)集共包含各實(shí)體45 621個(gè),句子26 078個(gè),其中不包含實(shí)體的句子6000余個(gè),每個(gè)句子的最大長(zhǎng)度為128個(gè)字符。用于BERT模型訓(xùn)練時(shí),數(shù)據(jù)集按照8∶2的比例劃分為訓(xùn)練集和測(cè)試集兩部分。
3.1 識(shí)別策略基于多策略的水利命名實(shí)體識(shí)別,對(duì)除“自然人”和“機(jī)構(gòu)”以外的8種實(shí)體及屬性采取了三種不同的識(shí)別策略,分別為模型識(shí)別、工具預(yù)測(cè)和模式識(shí)別。其中:①“流域”實(shí)體通過(guò)字典采用模式識(shí)別的方式抽?。虎凇氨O(jiān)測(cè)站點(diǎn)”“模型名稱”“水文要素”“計(jì)算時(shí)段類(lèi)型”“評(píng)價(jià)指標(biāo)”命名實(shí)體采用BERT模型識(shí)別和模式識(shí)別結(jié)合的方法,如針對(duì)在單BERT模型識(shí)別下效果不佳的中英結(jié)合“模型名稱”,采用模式識(shí)別的方式以提升識(shí)別性能,如針對(duì)“監(jiān)測(cè)站點(diǎn)”實(shí)體,采用與水利綜合知識(shí)圖譜(“水問(wèn)”)[12]中已有實(shí)體數(shù)據(jù)進(jìn)行匹配的方式以提升識(shí)別性能;③“計(jì)算時(shí)段”和“數(shù)值”實(shí)體表現(xiàn)為“1998—2010”、“大于0.8”、“均大于0.8”等形式,存在很強(qiáng)的規(guī)律性,因此數(shù)字部分采用對(duì)時(shí)間和數(shù)值結(jié)構(gòu)識(shí)別性能較優(yōu)的LAC分詞工具,其模型整體效果F1值超過(guò)了0.91;中文部分結(jié)合常見(jiàn)的修飾詞進(jìn)行模式識(shí)別,例如“均小于”、“超過(guò)”、“以上”等,能精確地提取文本中的“計(jì)算時(shí)段”和“數(shù)值”實(shí)體;④“自然人”和“機(jī)構(gòu)”實(shí)體可通過(guò)導(dǎo)入半結(jié)構(gòu)化的題錄信息的方式直接獲得。具體命名實(shí)體識(shí)別策略見(jiàn)圖2。
圖2 水文模型命名實(shí)體識(shí)別策略Fig.2 Hydrological model named entity recognition strategy
3.2 BERT模型
3.2.1 模型結(jié)構(gòu) BERT模型是Google公司開(kāi)發(fā)的預(yù)訓(xùn)練語(yǔ)言模型,用于自然語(yǔ)言處理中的各項(xiàng)任務(wù),BERT的核心結(jié)構(gòu)為多層雙向Transformer結(jié)構(gòu):一個(gè)由編碼層(Encoder)和解碼層(Decoder)組成的基于 Transformer 的可訓(xùn)練神經(jīng)網(wǎng)絡(luò),其中每個(gè)編(解)碼層由多層堆疊的編(解)碼器組成。BERT模型處理命名實(shí)體識(shí)別任務(wù)的主要原理為:將處理后的自然語(yǔ)句轉(zhuǎn)換為向量矩陣X作為模型輸入,經(jīng)由雙向Transformer提取詞向量特征后輸出實(shí)數(shù)向量矩陣,由Softmax層映射為逐字對(duì)應(yīng)的概率矩陣Z,最終輸出逐字最高概率標(biāo)注符號(hào)。本文使用的Tramsformer結(jié)構(gòu)分別有6層編碼器和6層解碼器,本質(zhì)上為一個(gè)總計(jì) 12 層的Encoder-Decoder結(jié)構(gòu)。BERT模型結(jié)構(gòu)示意見(jiàn)圖3。
圖3 BERT模型結(jié)構(gòu)示意Fig.3 Transformer structure schematic diagram
如圖3右側(cè)框圖所示,每個(gè)編碼器分別包含多頭注意力層(Multi-Head Attention)和前饋神經(jīng)網(wǎng)絡(luò)層(Feed Forward Network)兩部分,多頭注意力包含多個(gè)自注意力層,前饋神經(jīng)網(wǎng)絡(luò)層則用于傳遞注意力層的結(jié)果;多頭注意力層和前饋神經(jīng)網(wǎng)絡(luò)層分別包含一個(gè)下接的全連接層(Residual Connection and Layer Normalization,Add&Norm),每一個(gè)編碼器的結(jié)構(gòu)都相同,區(qū)別為使用不同的權(quán)重參數(shù);解碼器為在編碼器結(jié)構(gòu)的基礎(chǔ)上,增加了一層多頭注意力層(encoder-decoder attention),用于關(guān)注當(dāng)前預(yù)測(cè)字符和編碼層輸出的特征向量之間的關(guān)系。
3.2.2 輸入層 BERT模型基于字符輸入,BERT自帶詞典Vocabe.txt能夠?qū)⒚總€(gè)字轉(zhuǎn)換成字典索引輸入。BERT的輸入層由詞嵌入(Token embedding)、句子嵌入(segment embedding)、位置嵌入(position embedding)三部分疊加而成,用于將每個(gè)字嵌入到大小為512的向量中。
詞嵌入在每句話的開(kāi)頭都插入一個(gè)字符[CLS],用于判斷兩句話之間是否存在上下文關(guān)系,在每句話的最后插入字符[SEP],用于區(qū)分兩句話,同時(shí)詞嵌入將每一個(gè)字符轉(zhuǎn)換為字向量;句子嵌入為利用給相同句子的每一個(gè)詞賦予相同的句子向量,來(lái)區(qū)分序列中的不同句子;位置嵌入則將序列中字符的位置信息轉(zhuǎn)換為位置向量,用于區(qū)分不同位置的字符。以“降水量”示意,輸入層結(jié)構(gòu)見(jiàn)圖4(向量框?yàn)楹?jiǎn)化示意,不代表真實(shí)大小)。最終輸入層為序列中每個(gè)字符向量xi組成的矩陣X。
圖4 模型輸入層結(jié)構(gòu)Fig.4 Model input layer structure
3.2.3 水文模型命名實(shí)體預(yù)測(cè) 本文命名實(shí)體識(shí)別任務(wù)中BERT模型輸入包含五種命名實(shí)體,共有21種標(biāo)注符號(hào)。解碼器輸出的字符向量經(jīng)由全連接層映射到與標(biāo)注符號(hào)種類(lèi)數(shù)量一致的logits向量上,使Logits向量的每一個(gè)數(shù)字對(duì)應(yīng)一種標(biāo)注符號(hào)的分?jǐn)?shù),由Softmax層計(jì)算后將分?jǐn)?shù)轉(zhuǎn)換為該種標(biāo)注符號(hào)的概率,輸出逐字對(duì)應(yīng)的標(biāo)注符號(hào)的概率矩陣Z。轉(zhuǎn)換后輸出為每個(gè)字對(duì)應(yīng)最高概率的標(biāo)注符號(hào)。
本文基于BERT-Base-Chinese模型微調(diào),根據(jù)預(yù)訓(xùn)練模型的參數(shù)初始化,調(diào)整最優(yōu)超參數(shù)設(shè)置后使用標(biāo)注好的訓(xùn)練集訓(xùn)練模型。微調(diào)訓(xùn)練后的模型可預(yù)測(cè)“監(jiān)測(cè)站點(diǎn)”“模型名稱”“水文要素”“計(jì)算時(shí)段類(lèi)型”“評(píng)價(jià)指標(biāo)”5個(gè)實(shí)體并評(píng)價(jià)性能。模型的預(yù)測(cè)結(jié)果包括逐字標(biāo)注符號(hào)及其概率,具體見(jiàn)圖5。
圖5 BERT模型預(yù)測(cè)結(jié)果Fig.5 BERT prediction results
垂直領(lǐng)域命名實(shí)體往往表現(xiàn)為具有較為復(fù)雜的內(nèi)部結(jié)構(gòu),單一的BERT模型識(shí)別具有局限性,模型應(yīng)用于完整實(shí)體識(shí)別時(shí)性能有限,因此需要引入模式識(shí)別。
3.3 模式識(shí)別為進(jìn)一步提高實(shí)體抽取性能,在BERT模型抽取的基礎(chǔ)上設(shè)計(jì)模式識(shí)別,模式識(shí)別主要用到正則表達(dá)式,又稱規(guī)則表達(dá)式。在實(shí)體識(shí)別任務(wù)中,可制定規(guī)則匹配需要的文本。本文模式識(shí)別方法主要用于:①中英文夾雜的水文模型名稱在BERT模型識(shí)別任務(wù)中性能指標(biāo)結(jié)果較,需要模式識(shí)別中的正則表達(dá)式和字典匹配混合識(shí)別,使用規(guī)則對(duì)實(shí)體進(jìn)行匹配和篩選,在保證對(duì)現(xiàn)有模型識(shí)別精確度的同時(shí),能夠有效識(shí)別新發(fā)布的模型;②單一模型或工具預(yù)測(cè)的實(shí)體抽取方法存在大量多抽或誤抽實(shí)體,需要通過(guò)正則方法進(jìn)行輔助識(shí)別,如依據(jù)不同評(píng)價(jià)指標(biāo)的數(shù)學(xué)特性,限定“數(shù)值”實(shí)體的閾值,以正確抽取某評(píng)價(jià)指標(biāo)對(duì)應(yīng)的數(shù)值結(jié)果。
模式識(shí)別的一種變體是字典匹配,本文主要用于消除同詞異構(gòu)。針對(duì)“流域”“監(jiān)測(cè)站點(diǎn)”“模型名稱”“評(píng)價(jià)指標(biāo)”“水文要素”“計(jì)算時(shí)段類(lèi)型”六個(gè)專有名詞實(shí)體分別構(gòu)建了字典。構(gòu)建字典采用的方法為基于遠(yuǎn)程監(jiān)督的短語(yǔ)挖掘和人工補(bǔ)充校驗(yàn)結(jié)合的方法,使用少量的領(lǐng)域標(biāo)注實(shí)體,從大量的非結(jié)構(gòu)文本語(yǔ)料中提取高質(zhì)量垂直領(lǐng)域短語(yǔ),在自動(dòng)詞挖掘生成初始字典后,人工剔除誤抽詞并劃分同義詞。
3.4 LAC工具LAC工具是百度研發(fā)的一款基于深度學(xué)習(xí)的聯(lián)合詞法分析模型,主要功能有中文分詞、詞性標(biāo)注和專名識(shí)別等。LAC工具可將“計(jì)算時(shí)段”和“數(shù)值”兩類(lèi)實(shí)體屬性分別作為時(shí)間和數(shù)量詞進(jìn)行詞性標(biāo)注,具有較高的準(zhǔn)確性。
3.5 評(píng)價(jià)方法本文采用主流的三種評(píng)價(jià)指標(biāo)對(duì)結(jié)果進(jìn)行評(píng)價(jià),分別為Precision(精確率)、Recall(召回率)、F1-score(F1值),精確率體現(xiàn)了識(shí)別出來(lái)的實(shí)體為正確的比例;召回率體現(xiàn)了正確識(shí)別出來(lái)的實(shí)體占測(cè)試集中總實(shí)體個(gè)數(shù)的比例;F1值為綜合考慮精確率和召回率的綜合指標(biāo)。計(jì)算公式如下:
(1)
(2)
(3)
4.1 BERT模型參數(shù)設(shè)置BERT模型超參數(shù)的選擇是優(yōu)化模型性能的關(guān)鍵因素之一。選擇超參數(shù)需要充分考慮模型的性能、訓(xùn)練效率、內(nèi)存消耗等多個(gè)因素。本文主要對(duì)訓(xùn)練集迭代次數(shù)epoch、使用樣本數(shù)量batch size以及輸入最大序列長(zhǎng)度max sequence length等參數(shù)進(jìn)行了優(yōu)選。
(1)Epoch。在選擇epoch數(shù)時(shí)需要在過(guò)擬合和欠擬合之間取得平衡??刂破渌麉?shù)不變,對(duì)不同epoch下模型在訓(xùn)練集上的表現(xiàn)進(jìn)行評(píng)估,可以發(fā)現(xiàn),在epoch小于3時(shí)模型性能迅速提升,在3~9間提升緩慢,在epoch大于9后便趨于穩(wěn)定不再有顯著提升。
(2)Batch size。在基于最佳epoch的基礎(chǔ)上,控制其他參數(shù)為定值,改變batch size的大小,對(duì)模型的訓(xùn)練效果進(jìn)行評(píng)估。由于本次實(shí)驗(yàn)的訓(xùn)練集規(guī)模相對(duì)較小,為了避免過(guò)擬合并提高模型的收斂速度,選擇了相對(duì)較小的8、16、32、64四組方案作為對(duì)照,發(fā)現(xiàn)batch size為32時(shí)模型的性能較好,且訓(xùn)練所需時(shí)間較為合理。
(3)Max sequence length。選擇max sequence length為64、128、256、384四組參數(shù)來(lái)進(jìn)行對(duì)比,足以覆蓋大多數(shù)命名實(shí)體的長(zhǎng)度,同時(shí)也可以避免出現(xiàn)過(guò)擬合等情況。實(shí)驗(yàn)結(jié)果表明 max sequence length為128時(shí)整體性能最優(yōu)。
本實(shí)驗(yàn)的主要硬件配置與軟件環(huán)境為:GPU采用NVIDIA GeForce RTX 3070 Ti;CPU為Intel Core i7-12700K Processor(25M Cache,up to 5.0 GHz,8 cores,16 threads);操作系統(tǒng)為Microsoft Windows 11(22000.1455)。試驗(yàn)Anaconda環(huán)境配置為:python=3.8.0;transformers=3.0.2;pytorch=1.6.0;預(yù)訓(xùn)練模型為pytorch框架下的BERT-Base-Chinese,綜上所述,本文最優(yōu)超參數(shù)設(shè)置如下表2。
表2 超參數(shù)設(shè)置
在該實(shí)驗(yàn)環(huán)境下,BERT命名實(shí)體識(shí)別模型的平均訓(xùn)練時(shí)間為110 min/epoch;訓(xùn)練完成后對(duì)所有測(cè)試集的推理時(shí)間約為13.75 s,對(duì)單條數(shù)據(jù)的推理時(shí)間約為0.016 s。
4.2 模式識(shí)別設(shè)計(jì)模式識(shí)別可以根據(jù)預(yù)設(shè)的模式來(lái)匹配和識(shí)別文本中的實(shí)體。本文使用模式規(guī)則的模式識(shí)別的方法來(lái)輔助BERT模型的實(shí)體識(shí)別。模式規(guī)則使用re.findall正則表達(dá)模塊設(shè)計(jì),針對(duì)不同實(shí)體的命名特點(diǎn)設(shè)計(jì)規(guī)則。規(guī)則設(shè)計(jì)示例見(jiàn)表3。
表3 規(guī)則設(shè)置示例
4.3 LAC工具設(shè)置與調(diào)用使用LAC工具對(duì)指定句子進(jìn)行“數(shù)值”和“計(jì)算時(shí)段”的抽取,抽取出“評(píng)價(jià)指標(biāo)”對(duì)應(yīng)的數(shù)值和“計(jì)算時(shí)段”對(duì)應(yīng)的具體時(shí)間段。使用LAC工具進(jìn)行命名實(shí)體識(shí)別時(shí)需要設(shè)置相應(yīng)的參數(shù)。LAC主要參數(shù)設(shè)置見(jiàn)表4。其中user_dict為自定義詞典,默認(rèn)為None,mode為工具使用模式,在命名實(shí)體識(shí)別任務(wù)下設(shè)置為ner。可以在python中直接調(diào)用LAC庫(kù),并創(chuàng)建LAC實(shí)例如:LAC=lac.LAC(mode=ner),LAC.ner(text)。直接對(duì)文本內(nèi)容進(jìn)行命名實(shí)體識(shí)別。
表4 LAC工具主要參數(shù)設(shè)置
4.4 BERT訓(xùn)練與測(cè)試結(jié)果分析使用訓(xùn)練集train.tsv對(duì)BERT-Base-Chinese訓(xùn)練,使用測(cè)試集test.tsv測(cè)試模型的性能,評(píng)估模型的泛化能力。對(duì)訓(xùn)練集與測(cè)試集的評(píng)估結(jié)果見(jiàn)表5。
表5 BERT-Base-Chinese模型抽取性能
從表5中可以看出:
①模型在“計(jì)算時(shí)段類(lèi)型”的識(shí)別任務(wù)中表現(xiàn)最好,而在“模型名稱”的識(shí)別任務(wù)中表現(xiàn)最。這可能是因?yàn)椤坝?jì)算時(shí)段類(lèi)型”通常具有固定的格式和數(shù)據(jù)特征,這意味著模型可以更容易地從數(shù)據(jù)中學(xué)習(xí)其特征和模式,從而更準(zhǔn)確地對(duì)其進(jìn)行識(shí)別;而“模型名稱”這個(gè)類(lèi)別在數(shù)據(jù)集中出現(xiàn)的頻率較低,加上其存在一定的內(nèi)部異性,如在形式和語(yǔ)義上的歧義等,可能導(dǎo)致了模型對(duì)其識(shí)別的準(zhǔn)確性不高。
②模型在訓(xùn)練集上的表現(xiàn)整體要略優(yōu)于測(cè)試集,這是由于模型已經(jīng)在訓(xùn)練集上進(jìn)行了優(yōu)化。“水文要素”“計(jì)算時(shí)段類(lèi)型”“評(píng)價(jià)指標(biāo)”三類(lèi)實(shí)體在測(cè)試集上的性能與訓(xùn)練集上的性能相的并不大,表明對(duì)于這三個(gè)實(shí)體,模型可以很好地將訓(xùn)練集中學(xué)到的知識(shí)泛化到未見(jiàn)過(guò)的測(cè)試集數(shù)據(jù)上;“監(jiān)測(cè)站點(diǎn)”和“模型名稱”在訓(xùn)練集和驗(yàn)證集上的性能異較大,在“模型名稱”的識(shí)別上的性能異甚至達(dá)到10左右,這是由于實(shí)體內(nèi)部結(jié)構(gòu)特征很難由單一的BERT模型描述,需要引入模式規(guī)則的模式識(shí)別增強(qiáng)識(shí)別性能。
③從整體來(lái)看,模型的各項(xiàng)性能指標(biāo)平均約為94左右,這表明BERT模型在水文模型領(lǐng)域的命名實(shí)體識(shí)別任務(wù)中準(zhǔn)確度較高,且泛化性較好,但在一些實(shí)體類(lèi)別上的識(shí)別性能仍需要進(jìn)一步提高??梢酝ㄟ^(guò)增加訓(xùn)練輸入的數(shù)據(jù)量以提高模型的魯棒性和泛化能力;或者對(duì)數(shù)據(jù)集進(jìn)行進(jìn)一步的清理和優(yōu)化,以提高數(shù)據(jù)的質(zhì)量;調(diào)整模型結(jié)構(gòu)和參數(shù),例如使用更深的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)、調(diào)整學(xué)習(xí)率等方法進(jìn)一步探索BERT模型在水利領(lǐng)域命名實(shí)體識(shí)別的應(yīng)用潛力。
4.5 基于多策略的水文模型命名實(shí)體識(shí)別結(jié)果各實(shí)體識(shí)別性能及識(shí)別方法見(jiàn)表6,F(xiàn)1值均超過(guò)90,整體識(shí)別性能較優(yōu),且針對(duì)不同實(shí)體類(lèi)別采取不同的命名實(shí)體識(shí)別方法較單BERT模型識(shí)別方法能有效提高識(shí)別性能。
表6 實(shí)體抽取性能
①多策略結(jié)合的方法進(jìn)行預(yù)測(cè)的性能相比只使用BERT模型的性能整體更高,尤其是在“水文模型”和“監(jiān)測(cè)站點(diǎn)”的抽取上。多策略結(jié)合的方法可以彌補(bǔ)BERT模型在實(shí)體抽取中的不足。由于“水文模型”和“監(jiān)測(cè)站點(diǎn)”等實(shí)體本身具有一定的語(yǔ)義復(fù)雜性,且數(shù)據(jù)量較少,因此在BERT模型上的識(shí)別效果不佳,模式識(shí)別和詞典匹配的方法可以彌補(bǔ)其識(shí)別效果上的不足,從而顯著提高實(shí)體抽取的性能。
②在屬性實(shí)體方面,工具預(yù)測(cè)的方法很好的契合了其在自然語(yǔ)言處理中的特殊性,LAC工具利用其規(guī)律性和固定特征,快速準(zhǔn)確地識(shí)別“數(shù)值”和“計(jì)算時(shí)段”實(shí)體,評(píng)價(jià)指標(biāo)均高于90,高效率、高精度地完成了實(shí)體抽取任務(wù),避免了耗費(fèi)大量的計(jì)算資源與時(shí)間。
具體而言,模式識(shí)別和工具預(yù)測(cè)等策略可以充分利用先驗(yàn)知識(shí),提高實(shí)體抽取的準(zhǔn)確性和魯棒性,特別是在實(shí)體語(yǔ)義即特征復(fù)雜的情況下,能夠有效提高模型的抽取性能。此外,多策略結(jié)合的方法還可以在數(shù)據(jù)量較小的情況下提高實(shí)體抽取的性能,從而減輕數(shù)據(jù)量不足的問(wèn)題,并通過(guò)對(duì)抽取結(jié)果進(jìn)行后處理和糾錯(cuò),進(jìn)一步提高抽取性能。這種方法可以為其他實(shí)體抽取任務(wù)提供啟示和借鑒,根據(jù)具體的應(yīng)用場(chǎng)景和需求,可以針對(duì)性地選取不同的策略相結(jié)合,進(jìn)一步提高實(shí)體抽取的性能和魯棒性,使得實(shí)體抽取模型具有更廣泛的應(yīng)用前景。
4.6 基于刊文獻(xiàn)的水文模型實(shí)體識(shí)別示例以隨機(jī)8篇水文模型相關(guān)文獻(xiàn)抽取結(jié)果為例,限于篇幅,僅展示從文中抽取的部分實(shí)體,“計(jì)算時(shí)段”實(shí)體作為“計(jì)算時(shí)段類(lèi)型”實(shí)體的屬性展示,“數(shù)值”實(shí)體作為“評(píng)價(jià)指標(biāo)”實(shí)體的屬性展示。實(shí)例以表格形式展示,見(jiàn)下表7。
表7 實(shí)體抽取實(shí)例
本文在探索水利垂直領(lǐng)域命名實(shí)體識(shí)別的過(guò)程中,構(gòu)建了一種基于多策略的實(shí)體抽取方法,該方法充分考慮不同實(shí)體的結(jié)構(gòu)特征,采用BERT-Base-Chinese模型、模式匹配、LAC工具等方法,分別對(duì)不同命名實(shí)體進(jìn)行識(shí)別,有效地降低了模型訓(xùn)練的難度,保證了實(shí)體識(shí)別的性能,該方法對(duì)8種水文模型領(lǐng)域命名實(shí)體識(shí)別的F1值均達(dá)到90以上,并且能夠有效地更新字典中的實(shí)體,減少人工成本。同時(shí)本文構(gòu)建了水文模型領(lǐng)域命名實(shí)體數(shù)據(jù)集,數(shù)據(jù)集中各實(shí)體在句子中滿足均勻分布,各實(shí)體的語(yǔ)料一致性較高,該數(shù)據(jù)集可為BERT模型在水文模型垂直領(lǐng)域提供強(qiáng)化訓(xùn)練數(shù)據(jù)。
本文針對(duì)水文模型領(lǐng)域的命名實(shí)體識(shí)別仍有一定不足,未來(lái)可以從以下幾方面繼續(xù)開(kāi)展研究探索:①進(jìn)一步拓展命名實(shí)體的樣本種類(lèi)和數(shù)量。針對(duì)水文模型領(lǐng)域的其他知識(shí)特征繼續(xù)擴(kuò)充實(shí)體類(lèi)型,如水文模型的尺度特征實(shí)體、參數(shù)優(yōu)化算法實(shí)體等,更加完整地提取水文模型領(lǐng)域知識(shí)體系,未來(lái)的研究應(yīng)該注重?cái)U(kuò)大數(shù)據(jù)集的規(guī)模和多樣性,包括增加樣本數(shù)量、增加實(shí)體類(lèi)別的覆蓋范圍、增加實(shí)體在不同上下文中的出現(xiàn)次數(shù)等;②進(jìn)一步研究提升樣本標(biāo)注質(zhì)量和效率的方法。刊數(shù)據(jù)處理質(zhì)量不一,數(shù)據(jù)清洗后的數(shù)據(jù)仍存在包含缺失值、特殊符號(hào)等問(wèn)題,這會(huì)影響模型的訓(xùn)練效果,同時(shí)數(shù)據(jù)標(biāo)注的質(zhì)量對(duì)命名實(shí)體識(shí)別的準(zhǔn)確性和效率也具有重要影響,不同標(biāo)注人員之間的標(biāo)注質(zhì)量存在異,未來(lái)的研究應(yīng)該采用更完善的數(shù)據(jù)清洗和預(yù)處理技術(shù),注重標(biāo)注質(zhì)量的監(jiān)控和控制,建立高質(zhì)量的標(biāo)注團(tuán)隊(duì),制定標(biāo)準(zhǔn)化的標(biāo)注規(guī)范和流程,并引入自動(dòng)化標(biāo)注和校驗(yàn)方法,以提高標(biāo)注質(zhì)量和效率;③進(jìn)一步提高識(shí)別方法遷移能力。本研究針對(duì)水文模型領(lǐng)域的命名實(shí)體進(jìn)行了探究和優(yōu)化,多策略方法使用了較多基于規(guī)則和特征的方法對(duì)實(shí)體進(jìn)行識(shí)別和篩選,對(duì)于一些新出現(xiàn)的實(shí)體類(lèi)型或數(shù)據(jù)特征,需要手動(dòng)進(jìn)行規(guī)則和特征的設(shè)計(jì)和修改,不夠靈活和自適應(yīng),在未來(lái)的研究中,需要進(jìn)一步探索更加通用和靈活的命名實(shí)體識(shí)別方法,探索跨領(lǐng)域、跨語(yǔ)言、跨媒體的命名實(shí)體識(shí)別技術(shù),擴(kuò)大識(shí)別方法在整個(gè)水利行業(yè)的遷移能力;④進(jìn)行多模型識(shí)別性能的橫向?qū)Ρ龋谖磥?lái)的研究中仍需要尋求在水利領(lǐng)域性能表現(xiàn)更佳的模型結(jié)構(gòu),并采用多元的模型學(xué)習(xí)方式如遷移學(xué)習(xí)、小樣本學(xué)習(xí)等以提高水利命名實(shí)體識(shí)別的準(zhǔn)確性與泛化能力。當(dāng)前我國(guó)仍需大力加強(qiáng)水利信息化建設(shè)[17],通過(guò)對(duì)水利垂直領(lǐng)域——水文模型領(lǐng)域命名實(shí)體識(shí)別方法的探究,有助于為水利行業(yè)其他垂直領(lǐng)域提供示范,打破數(shù)據(jù)孤島,助力水利行業(yè)信息化、智慧化。
中國(guó)水利水電科學(xué)研究院學(xué)報(bào)2023年6期