沈銘科 程相杰 方超 丁剛 陳家穎
摘 ?要:文章設計了一種基于自然語言處理的發(fā)電設備知識庫系統(tǒng),包括知識抽取、語料和知識存儲、知識問答排序和知識庫前端問答等模塊,構(gòu)建過程為:首先進行發(fā)電設備領域自然語言處理基礎模型訓練,再針對領域語料進行知識抽取,最后利用排序模型實現(xiàn)知識問答。對比4種知識抽取方案可得:對于Top1和Top3準確率,知識抽取前處理增加MRC模型比后處理增加MRC校驗回路準確率高;對于Top5準確率,后處理中增加MRC校驗回路較前處理中增加MRC模型準確率高。
關鍵詞:自然語言處理;發(fā)電設備;知識庫系統(tǒng);知識抽取;知識問答
中圖分類號:TP391.1 ? ? 文獻標識碼:A 文章編號:2096-4706(2021)06-0013-05
Research on Knowledge Base System of Power Generation Equipment Based on Natural Language Processing
SHEN Mingke,CHENG Xiangjie,F(xiàn)ANG Chao,DING Gang,CHEN Jiaying
(Shanghai Power Equipment Research Institute Co.,Ltd.,Shanghai ?200240,China)
Abstract:This paper designs a knowledge base system for power generation equipment based on natural language processing,which includes knowledge extraction,corpus and knowledge storage,knowledge question and answer sorting,and front-end question and answer of knowledge base and other modules. The construction process is:firstly,performs natural language processing basic model training in the field of power generation equipment;then extracts knowledge from the domain corpus;finally,uses the sorting model to achieve knowledge question and answer. Comparing the four knowledge extraction schemes can be obtained that for the accuracy of Top1 and Top3,the accuracy of adding MRC model in the pre-processing of knowledge extraction is higher than that of adding the MRC verification loop in the post-processing. For Top5 accuracy,adding MRC verification loop in post-processing has a higher accuracy rate than adding MRC model in pre-processing.
Keywords:natural language processing;power generation equipment;knowledge base system;knowledge extraction;knowledge question and answer
0 ?引 ?言
在發(fā)電機組設備管理過程中,涉及大量自然語言形式承載的不同形式的非結(jié)構(gòu)化文檔,如標準規(guī)范、設備說明書、作業(yè)手冊、檢修報告、案例總結(jié)報告等。這些非結(jié)構(gòu)化文檔是發(fā)電企業(yè)在日常工作中編寫、業(yè)務專家定期分析匯總的經(jīng)驗性文檔,對指導設備管理工作具有重要意義[1,2]。但往往這些寶貴的文檔分散存儲在企業(yè)不同的文檔管理系統(tǒng)和辦公電腦中,導致技術人員在查閱和分析過程中存在困難。雖然發(fā)電企業(yè)已經(jīng)開始應用設備文件管理系統(tǒng)和知識庫系統(tǒng),但大多數(shù)的文件系統(tǒng)和知識庫系統(tǒng)存在著一些不容忽視的問題,比如無法針對文本內(nèi)容進行檢索或者只能采用關鍵詞檢索,缺乏語義層面上的知識問答能力[3,4]。因此隨著數(shù)據(jù)量逐漸增大,在工作中需要檢索某個設備相關文件具體的章節(jié)、段落或條目時,查詢檢索依然非常不方便導致工作效率低下,大量的知識經(jīng)驗沒有有效發(fā)揮其應有的數(shù)據(jù)價值。
目前,基于自然語言處理的知識庫系統(tǒng)已經(jīng)在電網(wǎng)、客服、醫(yī)療、旅游等領域取得了良好的應用效果[5-9]。為解決發(fā)電企業(yè)文件系統(tǒng)和傳統(tǒng)知識庫系統(tǒng)的弊端,本文提出了一種基于自然語言處理的發(fā)電設備知識庫系統(tǒng),可以有效提升發(fā)電設備文本知識的查詢效率。
1 ?基于自然語言處理的知識庫系統(tǒng)架構(gòu)設計
如圖1所示,基于自然語言處理的發(fā)電設備知識庫系統(tǒng)主要包含4個模塊:知識抽取模塊、知識/語料存儲模塊、知識問答排序模塊和知識庫前端問答模塊。
各模塊具體內(nèi)容為:
(1)知識抽取模塊。該模塊包含了文檔解析拆分、問答/答案打標、數(shù)據(jù)清洗、審核等語料數(shù)據(jù)預處理功能,以及詞向量預訓練(StructBert)、機器學習提問(Learning2Ask)、篇章排序(PR)、機器閱讀理解(MRC)等用于知識抽取的基礎模型訓練。訓練好的模型經(jīng)過封裝后還用于知識問答排序模塊進行答案預測。詞典管理、主題管理等功能可以配置行業(yè)同義詞和知識主題,用以提高知識抽取的準確率。
(2)知識/語料存儲模塊。該模塊用于存儲語料數(shù)據(jù)、抽取的知識數(shù)據(jù)以及終端用戶針對答案進行點贊和點踩的反饋數(shù)據(jù)。語料數(shù)據(jù)用來進行知識抽取模塊中模型的訓練,知識數(shù)據(jù)將為知識問答排序模塊提供答案,用戶反饋數(shù)據(jù)用來優(yōu)化模型訓練效果。
(3)知識問答排序模塊。該模塊包括答案粗排序模型和答案精排序模型,用于對知識問答的答案進行排序。粗排序模型中主要有常用問答對(FAQ)、關鍵詞檢索(ES)、問句檢索等算法引擎[10-14];精排序中主要有知識抽取模塊中訓練并封裝后的PR和MRC模型。
(4)知識庫前端問答模塊。該模塊主要包含用戶交互、特征提取、答案封裝等功能。用戶交互功能可以獲取用戶提出的問題,并返回封裝后答案;特征提取主要用于針對問題的分詞、擴詞糾錯、用戶特征識別等特征提取過程;答案封裝主要用于針對知識問題排序模塊返回的多條答案進行組裝展示。
2 ?發(fā)電設備知識庫系統(tǒng)構(gòu)建
2.1 ?知識抽取基礎模型訓練
2.1.1 ?發(fā)電設備領域Bert模型訓練
本系統(tǒng)采用的是融合語言結(jié)構(gòu)的Bert預訓練模型(StructBert),通過在訓練任務中增加詞序(Word-level ordering)和句序(Sentence-level ordering)兩項任務,來解決傳統(tǒng)預訓練語言模型BERT在預訓練任務中忽略了語言結(jié)構(gòu)的問題[15,16]。首先,將大規(guī)模的通用行業(yè)語料文檔進行數(shù)據(jù)預處理,并訓練生成通用行業(yè)的StructBert預訓練模型,再通過數(shù)據(jù)預處理后的發(fā)電設備領域語料將其微調(diào)至針對發(fā)電設備領域的StructBert模型。
2.1.2 ?Learning2Ask模型訓練
Learning2Ask模型是根據(jù)一段自然語言文本而生成問題的模型[17]。本系統(tǒng)采用基于StructBert預訓練模型的自然語言生成模型來實現(xiàn)機器自動生成問題。首先,將訓練生成的發(fā)電設備領域的StructBert預訓練模型作為編碼器,并用于問題生成模型的初始化,再搭建一個解碼器來產(chǎn)生問題。
2.1.3 ?PR&MRC模型訓練
篇章排序模型(PR)用于匹配問題與段落的相關性,為用戶提出問題答案所在的候選段落集進行排序[18]。其具體任務描述為:給定一個三元組(Qi,Pi,Si),根據(jù)問題Qi=[q1,q2,…,qm]和相對應的篇章段落Pi=[p1,p2,…,pn],通過自然語言理解,推理給出問題Qi與段落Pi的相關性評分Si,再根據(jù)Si進行排序。其中,qi是問題的某個詞語,pi是段落的某個詞語,m為問題的長度,n為段落的長度。
機器閱讀理解模型(MRC)是利用機器來閱讀特定的文本段落并回答給出的問題[19,20]。其具體任務描述為:給定一個三元組(Qi,Pi,Ai),根據(jù)問題Qi=[q1,q2,…,qm]和相對應的篇章段落Pi=[p1,p2,…,pn],通過自然語言理解,推理給出問題答案Ai。其中,qi是問題的某個詞語,pi是段落的某個詞語,m為問題的長度,n為段落的長度。
上述兩個模型輸入均為問答文本和段落文本候選集,故本系統(tǒng)采用PR模型與MRC模型綜合考慮的方式,搭建PR&MRC模型,其模型輸出為段落排名分數(shù)和答案,模型架構(gòu)如圖2所示。
2.2 ?發(fā)電設備知識抽取
2.2.1 ?前處理過程
知識抽取前處理過程指發(fā)電設備語料文本經(jīng)過粗拆、精拆形成一個個知識點(答案)的過程,如圖3所示。
首先,將語料文本利用文檔序號層級、標點符號識別等規(guī)則進行粗拆處理形成段落,段落字數(shù)要求控制在500字以內(nèi),然后將段落再精拆處理形成答案。根據(jù)精拆處理方法不同,前處理過程可以分為2種方式:
方式1(規(guī)則拆解):在粗拆形成段落后,再利用規(guī)則拆解的方法進行精拆處理得到答案;
方式2(規(guī)則拆解+MRC抽?。涸诖植鹦纬啥温浜?,同時利用規(guī)則拆解的方法和抽取式MRC方法進行精拆處理得到答案。抽取式MRC是指機器通過閱讀問題和文章后,從原文中抽取一段連續(xù)文本作為答案[21,22]。
2.2.2 ?后處理過程
知識抽取后處理過程指文本精拆處理后產(chǎn)生的答案經(jīng)過Learning2Ask模型自動生成問題、PR模型篇章排序過濾后形成FAQ并存儲至語料/知識存儲模塊,如圖3所示。根據(jù)機器自動提問流程不同,后處理過程也可以分為2種方案:
方案1(串行):精拆后生成的答案和對應的段落<段落,答案>,輸入至Learning2Ask模型中自動生成問題,再將<問題,段落>輸入至PR模型中進行過濾,置信度高的<問題,答案,段落>將以三元組形式作為知識存儲起來,置信度低的<問題,答案,段落>將提取出來作為數(shù)據(jù)集,對PR模型進行增強訓練。
方案2(串行+MRC校驗回路):與方案1不同的是,將<段落,答案1>輸入至Learning2Ask模型生成問題后,再將問題輸入至MRC模型進行預測生成答案2,并對答案1、答案2進行一致性檢查,只有通過一致性檢查的<問題,答案,段落>才能進入PR模型過濾過程,未通過一致性檢查的<問題,答案,段落>提取出來作為數(shù)據(jù)集,對MRC模型進行增強訓練。
2.3 ?發(fā)電設備知識問答
用戶在知識庫前端問答模塊輸入問題后,知識庫系統(tǒng)針對問題進行分詞、擴詞等過程提取問題特征,并輸入到知識問答排序模塊中進行答案粗排序。利用ES關鍵詞檢索引擎從知識庫中選取候選FAQ集,通過用戶問題文本與候選FAQ集中的問題文本進行相似度匹配,如果相似度大于設定的閾值,則輸出相應FAQ中的答案文本封裝后返回用戶;如果相似度小于設定的閾值,則將用戶問題文本、候選FAQ集中的段落文本輸入到PR&MRC模型中進行預測,并將預測答案封裝后返回用戶,如圖4所示。用戶評估答案后進行點贊或點踩,系統(tǒng)收集用戶反饋信息后對PR&MRC模型進行增強訓練。知識庫系統(tǒng)問答效果示例如圖5所示。
3 ?不同知識抽取方案的知識問答效果對比
將某電廠80份發(fā)電設備相關技術文件利用設備知識庫系統(tǒng)進行知識拆解,并利用人工標注的方式從80份文件中提取3 000個問答對進行知識庫問答效果驗證,不同知識抽取方案的知識問答準確率如表1所示。
由圖6可以看出,4種不同知識抽取方案的知識問答Top1準確率到Top5準確率都有明顯的提升,方案1的Top5準確率達到76.7%,說明基于自然語言處理的發(fā)電設備知識庫系統(tǒng)具有較好的問答效果;由表1可得,針對知識問題Top1準確率和Top3準確率,前處理過程中增加MRC生成模型可以提升4.4%~5.8%,后處理過程中增加MRC校驗回路可以提升2.3%~3.7%,說明在前處理過程中增加MRC生成模型相對于后處理過程增加MRC校驗回路提升問答準確率效果更加明顯;但從圖6可以看出,方案3在Top1和Top3的準確率雖然高于方案2,但方案2的Top5準確率提升較大,并且超過方案3的Top5準確率,說明后處理過程中增加MRC校驗回路在對答案排名要求較低的場景應用效果較前處理過程中增加MRC生成模型的效果更好;知識問答準確率最高的是方案4,可見同時在前處理過程中增加MRC生成模型和在后處理過程中增加MRC校驗回路,將顯著提升設備知識庫的問答準確率。
圖6 不同知識抽取過程的知識問答效果對比圖
4 ?結(jié) ?論
為提升文本知識的查詢效率,文章提出一種基于自然語言處理的發(fā)電設備知識庫系統(tǒng),包括知識抽取、語料/知識存儲、知識問答排序和知識庫前端問答等4個模塊。利用發(fā)電設備領域語料訓練得出的StructBert、Learning2Ask、PR&MRC模型能有效實現(xiàn)發(fā)電設備知識抽取,完成設備知識庫構(gòu)建。
4種不同知識抽取方案中,知識問答的Top5準確率最低達到78.1%,說明知識庫系統(tǒng)具有較好的問答效果;針對知識問題Top1準確率和Top3準確率,在前處理過程中增加MRC生成模型相對于后處理過程增加MRC校驗回路提升問答準確率效果更加明顯;而后處理過程中增加MRC校驗回路在對答案排名要求較低的場景應用效果較前處理過程中增加MRC生成模型的效果更好;同時在前處理過程中增加MRC生成模型和在后處理過程中增加MRC校驗回路,將顯著提升設備知識庫的問答準確率。
參考文獻:
[1] 李廣偉,王永.火力發(fā)電機組日常性能檢測的流程及結(jié)論規(guī)范化研究 [J].鍋爐制造,2020(3):21-23.
[2] 劉青,車鵬程.某電廠2#爐高再異種鋼焊口裂紋原因分析報告 [J].鍋爐制造,2019(4):47-49+52.
[3] 任紀兵.基于.NET的興隆電廠檔案管理系統(tǒng)設計與實現(xiàn) [D].成都:電子科技大學,2016.
[4] 劉欣,李怡.文檔管理在發(fā)電廠信息化管理中的應用 [J].信息技術與信息化,2016(10):36-38.
[5] 李佳,楊婷婷,劉偉.數(shù)字多媒體旅游咨詢信息智能問答系統(tǒng)設計 [J].現(xiàn)代電子技術,2017,40(12):66-68+71.
[6] 湯偉,楊鋮.智能檢索技術在電網(wǎng)調(diào)度本體知識庫中的應用 [J].自動化與儀器儀表,2019(2):193-196.
[7] 佟佳弘,武志剛,管霖,等.電力調(diào)度文本的自然語言理解與解析技術及應用 [J].電網(wǎng)技術,2020,44(11):4148-4156.
[8] 陸婕,李少波.基于知識庫的智能客服機器人問答系統(tǒng)設計 [J].計算機科學與應用,2019,9(11):7.
[9] 管棋,蔡榮杰,楊小燕,等.智能問答系統(tǒng)在乳腺疾病影像領域的研究與應用 [J].實用放射學雜志,2019,35(7):1159-1163.
[10] 張琳,胡杰.FAQ問答系統(tǒng)句子相似度計算 [J].鄭州大學學報(理學版),2010,42(1):57-61.
[11] 梁敬東,崔丙劍,姜海燕,等.基于word2vec和LSTM的句子相似度計算及其在水稻FAQ問答系統(tǒng)中的應用 [J].南京農(nóng)業(yè)大學學報,2018,41(5):946-953.
[12] 周映,韓曉霞.ElasticSearch在電子商務系統(tǒng)中的應用實例 [J].信息技術與標準化,2015(5):72-74.
[13] 張建中,黃艷飛,熊擁軍.基于ElasticSearch的數(shù)字圖書館檢索系統(tǒng) [J].計算機與現(xiàn)代化,2015(6):69-73.
[14] 王宇,王芳.基于HNC句類的社區(qū)問答系統(tǒng)問句檢索模型構(gòu)建 [J].計算機應用研究,2020,37(6):1769-1773.
[15] DEVLIN J,CHANG M W,LEE K,et al. BERT:Pre-training of Deep Bidirectional Transformers for Language Understanding [C]//Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies,Volume 1(Long and Short Papers).Minneapolis:Association for Computational Linguistics,2019:4171-4186.
[16] WANG W,BI B,YAN M,et al. StructBERT:Incorporating Language Structures into Pre-training for Deep Language Understanding [J/OL].arXiv:1908.04577v3 [cs.CL].(2019-08-13).https://arxiv.org/abs/1908.04577v3.
[17] DU X Y,SHAO J R,CARDIE C. Learning to Ask:Neural Question Generation for Reading Comprehension [C]//Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics(Volume 1:Long Papers).Vancover:Association for Computational Linguistics,2017:1342-1352.
[18] 龐博,劉遠超.融合pointwise及深度學習方法的篇章排序 [J].山東大學學報(理學版),2018,53(3):30-35.
[19] 顧迎捷,桂小林,李德福,等.基于神經(jīng)網(wǎng)絡的機器閱讀理解綜述 [J].軟件學報,2020,31(7):2095-2126.
[20] 張超然,裘杭萍,孫毅,等.基于預訓練模型的機器閱讀理解研究綜述 [J].計算機工程與應用,2020,56(11):17-25.
[21] 曾俊.抽取式中文機器閱讀理解研究 [D].武漢:華中師范大學,2020.
[22] WANG Z,LIU J C,XIAO X Y,et al. Joint Training of Candidate Extraction and Answer Selection for Reading Comprehension [C]//Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (Volume 1:Long Papers).Melbourne:Association for Computational Linguistics,2018:1715-1724.
作者簡介:沈銘科(1991.11—),男,漢族,浙江麗水人,中級工程師,碩士,研究方向:智慧電站技術研究。