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

?

NL2SQL技術(shù)在電廠設(shè)備缺陷數(shù)據(jù)統(tǒng)計中的應(yīng)用研究

2021-03-13 15:08馬駿李澤華沈銘科
現(xiàn)代信息科技 2021年15期
關(guān)鍵詞:數(shù)據(jù)統(tǒng)計電廠

馬駿 李澤華 沈銘科

摘? 要:文章提出了一種基于NL2SQL的電廠設(shè)備缺陷數(shù)據(jù)查詢統(tǒng)計方法,將設(shè)備缺陷數(shù)據(jù)查詢文本轉(zhuǎn)化成SQL語句執(zhí)行并返回查詢統(tǒng)計結(jié)果。利用基于NLP預(yù)訓(xùn)練模型,將SQL語句預(yù)測模型劃分為全局條件邏輯運(yùn)算符預(yù)測、條件比較運(yùn)算符和條件值預(yù)測、條件列預(yù)測、指標(biāo)列聚合操作符和指標(biāo)列預(yù)測等四個組件,并在搭建的電廠設(shè)備缺陷數(shù)據(jù)集上進(jìn)行了測試驗證。測試結(jié)果表明模型具有良好的SQL語句預(yù)測精度和執(zhí)行效果。

關(guān)鍵詞:NL2SQL;電廠;設(shè)備缺陷;數(shù)據(jù)統(tǒng)計;SQL語句預(yù)測

中圖分類號:TP311.1? ? ? ? ? ? ? ? ? 文獻(xiàn)標(biāo)識碼:A文章編號:2096-4706(2021)15-0176-04

Abstract: This paper proposes a method for statistical analysis of power plant equipment defect data based on NL2SQL, which converts the query text of equipment defect data into SQL statements for execution and returns the query statistics results. Using the NLP-based pre-training model, the SQL statement prediction model is divided into four components: global conditional logic operator prediction, conditional comparison operator and condition value prediction, conditional column prediction, indicator column aggregation operator, and indicator column prediction. Test verification is carried out on the built power plant equipment defect data set. The test result shows that the model has good SQL statement prediction accuracy and execution effect.

Keywords: NL2SQL; power plant; equipment defect; data statistics; SQL statement prediction

0? 引? 言

電廠中由于設(shè)備數(shù)量眾多,運(yùn)行時間長,因此存在海量的設(shè)備缺陷數(shù)據(jù)。但是設(shè)備運(yùn)維人員往往缺少有效手段進(jìn)行方便快捷的獲取及統(tǒng)計分析數(shù)據(jù),寶貴的設(shè)備缺陷數(shù)據(jù)價值無法有效支撐到日常業(yè)務(wù)中。主要存在以下問題:(1)設(shè)備缺陷數(shù)據(jù)相關(guān)系統(tǒng)一般操作煩瑣,耗用時間長,查詢效率差;(2)電廠對缺陷業(yè)務(wù)分析需求經(jīng)常無法提前預(yù)測,基層員工需花費(fèi)大量時間為領(lǐng)導(dǎo)的報表需求進(jìn)行數(shù)據(jù)查詢搜索和報表整合,增加了領(lǐng)導(dǎo)決策時間;(3)當(dāng)前設(shè)備缺陷數(shù)據(jù)信息查詢,往往基于純規(guī)則模式對用戶的查詢意圖進(jìn)行定制開發(fā),雖然能夠暫時滿足部分業(yè)務(wù)的查詢及統(tǒng)計分析的需求,但當(dāng)要擴(kuò)展到更多的數(shù)據(jù)統(tǒng)計分析需求時,往往要進(jìn)行重新開發(fā),開發(fā)周期長、成本高,運(yùn)維難[1,2]。NL2SQL是一種將自然語言查詢語句自動解析為SQL查詢語句的技術(shù),讓用戶可以口語化方式查詢業(yè)務(wù)系統(tǒng)或數(shù)據(jù)倉庫中的結(jié)構(gòu)化數(shù)據(jù),解決傳統(tǒng)需要進(jìn)入系統(tǒng)才能查詢數(shù)據(jù)的煩瑣過程,并在多個行業(yè)領(lǐng)域進(jìn)行了應(yīng)用,是一種輕量化、低成本的數(shù)據(jù)統(tǒng)計分析方式[3-5]。

本文利用基于NLP預(yù)訓(xùn)練模型的NL2SQL技術(shù)[6],將模型劃分成四個主要組件:全局條件邏輯運(yùn)算符預(yù)測、條件比較運(yùn)算符和條件值預(yù)測、條件列預(yù)測、指標(biāo)列聚合操作符和指標(biāo)列預(yù)測,實現(xiàn)電廠設(shè)備缺陷數(shù)據(jù)SQL查詢語句的精準(zhǔn)預(yù)測。當(dāng)中文查詢語句中存在查詢條件時,可以利用上述與條件相關(guān)的前3個組件得以解決。各部分組件預(yù)測完成后,將查詢結(jié)果利用規(guī)則進(jìn)行封裝處理,得到最終的SQL查詢語句并執(zhí)行返回結(jié)果。本模型在搭建的電廠設(shè)備缺陷數(shù)據(jù)集上進(jìn)行了測試驗證。

1? 電廠設(shè)備缺陷數(shù)據(jù)

本文針對電廠2012年至2021年運(yùn)行過程中產(chǎn)生的缺陷數(shù)據(jù)進(jìn)行梳理、清洗和標(biāo)注,建立了包含三萬條數(shù)據(jù)的數(shù)據(jù)庫,依照比例8:1:1將數(shù)據(jù)劃分為訓(xùn)練集、驗證集和測試集。模型訓(xùn)練數(shù)據(jù)樣例如表1所示。表中:“問題”對應(yīng)設(shè)備缺陷相關(guān)的中文查詢語句,數(shù)據(jù)樣例為“2019年主變壓器缺陷數(shù)量是多少”;“SQL查詢語句”為中文查詢語句對應(yīng)的SQL查詢語句的標(biāo)注,在數(shù)據(jù)樣例中,“cond_log_op”表示全局條件邏輯運(yùn)算符,用0到2來代表單一條件、多條件OR和多條件AND,“cond”表示條件集合,每個條件都用三元組[條件值,條件列,條件比較運(yùn)算符]來表征,比較運(yùn)算符分別用0到4來代表NONE(無關(guān)系)、不等于、等于、小于、大于,“ind_col”表示指標(biāo)列,“agg”表示指標(biāo)列的聚合操作符,用0到5分別代表選擇但無操作符、求和(SUM)、求最大值(MAX)、求最小值(MIN)、求平均值(AVG)、未選擇(NONE)。

為保證模型與實際缺陷數(shù)量分析業(yè)務(wù)場景匹配,分別針對四個不同場景進(jìn)行訓(xùn)練數(shù)據(jù)標(biāo)注,具體數(shù)量如表2所示。其中:“單一指標(biāo)”指數(shù)據(jù)只針對某一指標(biāo)進(jìn)行統(tǒng)計,比如“缺陷數(shù)量”;“多指標(biāo)”指數(shù)據(jù)針對多個指標(biāo)進(jìn)行統(tǒng)計,比如“缺陷數(shù)量、風(fēng)險累計”;不同順序輸入指查詢條件有多個時,按照條件的不同順序進(jìn)行文字描述;限定值比較指針對指標(biāo)進(jìn)行范圍比較,比如“缺陷數(shù)量超過100”。單一指標(biāo)業(yè)務(wù)場景和多指標(biāo)業(yè)務(wù)場景訓(xùn)練數(shù)據(jù)量超過9 000條,不同輸入順序業(yè)務(wù)場景訓(xùn)練數(shù)據(jù)量超過7 000條,限定值比較業(yè)務(wù)場景訓(xùn)練數(shù)據(jù)量超過6000條。

2? 模型構(gòu)建

2.1? 查詢語句的數(shù)學(xué)表達(dá)

中文查詢語句的數(shù)學(xué)表達(dá)是SQL語句正確預(yù)測的首要任務(wù),轉(zhuǎn)化過程如圖1所示。首先,將中文查詢語句和數(shù)據(jù)表的列名拼接,用字典映射成字符向量形式,再利用BERT模型進(jìn)行轉(zhuǎn)化,形成最終的用于預(yù)測模型輸入的向量序列數(shù)學(xué)表達(dá)。

查詢語句數(shù)學(xué)表達(dá)的前提是要建立一個字符字典,該字典用于將查詢語句中的中文字符轉(zhuǎn)化為數(shù)學(xué)向量。本文采用pytorch版本的Bert模型來實現(xiàn)字符的向量化編碼,該Bert模型為Google公司發(fā)布的中文Bert_Base模型,采用了多頭注意力機(jī)制,增加了對文本中重要信息的權(quán)重分配。

2.2? SQL語句預(yù)測流程

SQL語句預(yù)測流程示意圖如圖2所示,其中,四個組件預(yù)測過程均屬于多分類任務(wù)。全局條件邏輯運(yùn)算符預(yù)測組件用于判定中文查詢語句是否存在多條件,且可以針對多條件間的邏輯關(guān)系進(jìn)行預(yù)測;條件比較運(yùn)算符符和條件值預(yù)測組件針對各條件值的比較關(guān)系進(jìn)行預(yù)測;條件列預(yù)測組件負(fù)責(zé)匹配各條件值的所屬列;指標(biāo)列聚合操作符和指標(biāo)列預(yù)測組件負(fù)責(zé)判定指標(biāo)列以及指標(biāo)列的聚合操作運(yùn)算類型。

SQL語句預(yù)測模型示意圖如圖3所示。模型將中文查詢語句和數(shù)據(jù)表的列名進(jìn)行拼接作為輸入,語句和列名的開頭用“cls”進(jìn)行標(biāo)記,結(jié)尾用“sep”進(jìn)行標(biāo)記,“cls”和“sep”都已經(jīng)過Bert模型訓(xùn)練。其中,最左邊“cls”相應(yīng)的向量用來進(jìn)行全局條件邏輯運(yùn)算符的預(yù)測,包括3類關(guān)系:單一條件、多條件OR和多條件AND,用0到2來表征;第二個以及之后的“cls”用來對指標(biāo)列和對應(yīng)聚合操作的預(yù)測,包括6類情況:選擇但無操作符、求和(SUM)、求最大值(MAX)、求最小值(MIN)、求平均值(AVG)、未選擇(NONE),用0到5來表征,其中未選擇(NONE)代表字符不屬于目標(biāo)列;第一個“cls”和第一個“sep”之間的中文查詢語句對應(yīng)的向量用來進(jìn)行條件比較符和條件值的預(yù)測,包括5類:NONE(無關(guān)系)、不等于、等于、小于和大于,用0到4來表征;根據(jù)組件一預(yù)測結(jié)果,值不為0的位置即對應(yīng)條件值的位置,依此可以對應(yīng)到中文查詢語句中條件值,再結(jié)合數(shù)據(jù)表列名信息,即可以轉(zhuǎn)換為多分類問題,將條件值匹配到響應(yīng)的條件列。

3? 結(jié)果分析

模型采用英偉達(dá)T4顯卡和Pytorch深度學(xué)習(xí)框架進(jìn)行訓(xùn)練,將邏輯準(zhǔn)確率作為模型評價方式。邏輯準(zhǔn)確率指模型預(yù)測的SQL語句結(jié)果與實際的SQL語句完全一致。主要模型參數(shù)設(shè)定包括:學(xué)習(xí)率(3e-5),Batchsize(15),迭代次數(shù)(50)。由圖4可見,模型在電廠設(shè)備缺陷數(shù)據(jù)預(yù)測中,在迭代次數(shù)隨著訓(xùn)練次數(shù)增加模型預(yù)測精度提升。當(dāng)訓(xùn)練次數(shù)小于5次時,SQL語句預(yù)測精度快速爬升;當(dāng)訓(xùn)練次數(shù)大于5次以后,SQL語句預(yù)測精度開始緩慢爬升,在緩慢爬升階段,預(yù)測精度存在短暫下降的情況,主要是由于模型采用了隨機(jī)梯度下降算法進(jìn)行預(yù)測。當(dāng)?shù)螖?shù)為40時,模型SQL語句預(yù)測實現(xiàn)最高精度,達(dá)到92.19%。

表3為電廠設(shè)備缺陷表部分?jǐn)?shù)據(jù)展示。將設(shè)備缺陷數(shù)據(jù)提煉為年份、月份、機(jī)組、設(shè)備名稱、缺陷數(shù)量等字段。其中:年份和月份指缺陷發(fā)生的時間年月;機(jī)組值缺陷發(fā)生的電廠機(jī)組編號;設(shè)備名稱指設(shè)備缺陷發(fā)生的電廠具體設(shè)備;缺陷數(shù)量值各缺陷記錄條目所統(tǒng)計的缺陷統(tǒng)計數(shù)量。

模型執(zhí)行結(jié)果示意如圖5所示。用戶將查詢的問題“2019年主變壓器缺陷數(shù)量是多少”輸入到模型中,模型預(yù)測SQL結(jié)果“SELECT sum(`缺陷數(shù)量`) FROM `電廠設(shè)備缺陷` WHERE `年份`=2019 AND `設(shè)備名稱`=‘主變壓器’”并執(zhí)行,得出缺陷數(shù)量結(jié)果是“3”。模型執(zhí)行結(jié)果顯示,模型可以有效預(yù)測SQL查詢語句,并通過查詢語句得出正確的數(shù)據(jù)統(tǒng)計分析結(jié)果。實驗系統(tǒng)實際執(zhí)行效果如圖6所示。

4? 結(jié)? 論

NL2SQL是一種將自然語言查詢語句自動解析為SQL查詢語句的技術(shù)。本文提出了一種基于NL2SQL的電廠設(shè)備缺陷數(shù)據(jù)統(tǒng)計分析方法,將設(shè)備缺陷數(shù)據(jù)查詢文本轉(zhuǎn)化成SQL語句執(zhí)行并返回統(tǒng)計分析結(jié)果。利用基于NLP預(yù)訓(xùn)練Bert模型,將SQL語句預(yù)測模型劃分為全局條件邏輯運(yùn)算符預(yù)測、條件比較運(yùn)算符和條件值預(yù)測、條件列預(yù)測、指標(biāo)列聚合操作符和指標(biāo)列預(yù)測等四個組件。各部分組件預(yù)測完成后,將查詢結(jié)果利用規(guī)則進(jìn)行封裝處理,得到最終的SQL查詢語句并執(zhí)行返回結(jié)果。在搭建的三萬條電廠設(shè)備缺陷數(shù)據(jù)集上進(jìn)行了測試結(jié)果表明,模型在迭代次數(shù)為40時實現(xiàn)最高預(yù)測精度92.19%,具有良好的SQL語句預(yù)測精度和執(zhí)行效果。

參考文獻(xiàn):

[1] 何珍華.電廠設(shè)備缺陷管理系統(tǒng)的設(shè)計與實現(xiàn) [D].成都:電子科技大學(xué),2013.

[2] 王林川,宋超翼,吳鐵山,等.管理信息專家系統(tǒng)在電廠設(shè)備缺陷管理中的應(yīng)用 [J].東北電力學(xué)院學(xué)報,2001(4):71-73+76.

[3] 劉譯璟,徐林杰,代其鋒.基于自然語言處理和深度學(xué)習(xí)的NL2SQL技術(shù)及其在BI增強(qiáng)分析中的應(yīng)用 [J].中國信息化,2019(11):62-67.

[4] 張立新,于海亮,張棟棟,等.基于NL2SQL的智能問答系統(tǒng)研究與應(yīng)用 [J].電腦知識與技術(shù),2020,16(35):83-86.

[5] 曹金超,黃滔,陳剛,等.自然語言生成多表SQL查詢語句技術(shù)研究 [J].計算機(jī)科學(xué)與探索,2020,14(7):1133-1141.

[6] DEVLIN J,CHANG M W,LEE K,et al. BERT:Pre-training of Deep Bidirectional Transformers for Language Understanding [J/OL].arXiv:1810.04805 [cs.CL].(2018-10-11).https://arxiv.org/abs/1810.04805.

作者簡介:馬駿(1982.01—),男,漢族,內(nèi)蒙古霍林郭勒人,工程師,本科,研究方向:電廠信息化技術(shù)。

3187500338200

猜你喜歡
數(shù)據(jù)統(tǒng)計電廠
下餃子嘍
電廠熱工控制系統(tǒng)中抗干擾技術(shù)運(yùn)用分析
電廠煙氣脫硝裝置對鍋爐運(yùn)行的影響研究
關(guān)于火力電廠電氣運(yùn)行安全管理的思考
大數(shù)據(jù)與大數(shù)據(jù)經(jīng)濟(jì)學(xué)
山西省不同導(dǎo)線電線積冰特征對比分析
電廠熱工自動化技術(shù)的應(yīng)用及發(fā)展探析
加強(qiáng)對企業(yè)自備電廠的管理
泗水县| 揭东县| 会东县| 沙坪坝区| 沈丘县| 延庆县| 连城县| 资中县| 兴隆县| 长治县| 新民市| 淮滨县| 德昌县| 武隆县| 青海省| 宁武县| 都兰县| 南木林县| 高邑县| 松桃| 乌恰县| 宜良县| 沁阳市| 阿鲁科尔沁旗| 阳新县| 涞源县| 贡觉县| 永修县| 炉霍县| 满城县| 宜昌市| 蒲城县| 肇源县| 台山市| 新疆| 扎鲁特旗| 西华县| 吉安县| 淮阳县| 阳原县| 凤山市|