李世明
廣東電網(wǎng)有限責(zé)任公司 電力調(diào)度控制中心,廣東 廣州 510000
電力作為我國國民經(jīng)濟基礎(chǔ)的重要基礎(chǔ)行業(yè),其對自身的運行數(shù)據(jù)進行挖掘尤為重要。在電力大數(shù)據(jù)時代的今天,我國電網(wǎng)每天都會產(chǎn)生海量的電力數(shù)據(jù),但目前對這些數(shù)據(jù)的挖掘和使用卻十分有限,難以高效地輔助調(diào)度人員進行決策[1?2]。
目前知識圖譜在國內(nèi)雖然有一些應(yīng)用(如百度、搜狗等搜索引擎),但是在針對電力調(diào)度領(lǐng)域的相關(guān)研究還非常少[3]。本文旨在搭建一個電網(wǎng)調(diào)度領(lǐng)域的搜索引擎,方便調(diào)度人員進行專業(yè)的知識檢索,從而提高其工作效率。
電力系統(tǒng)在工作時每天會產(chǎn)生海量數(shù)據(jù),這些數(shù)據(jù)包括系統(tǒng)運行時產(chǎn)生的各種信息,也包括各種工作計劃、活動記錄等。這些數(shù)據(jù)按照數(shù)據(jù)規(guī)范由低到高可分為結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)以及非結(jié)構(gòu)化數(shù)據(jù)。典型的數(shù)據(jù)類型如表1 所示。
表1 電力系統(tǒng)中數(shù)據(jù)分類
從表1 中可以看出,電力系統(tǒng)中的數(shù)據(jù)的來源較多,數(shù)據(jù)結(jié)構(gòu)化程度較高,但數(shù)據(jù)相互之間的關(guān)聯(lián)性較低[4]。因此需要通過知識圖譜將電力系統(tǒng)中的各種不同的數(shù)據(jù)進行分析歸類,從中提取業(yè)務(wù)知識并建立電力業(yè)務(wù)間的知識關(guān)聯(lián),最終實現(xiàn)用自然語言來實現(xiàn)對電網(wǎng)進行描述[5]。
構(gòu)建知識圖譜需要有4 個步驟,分別是知識抽取、知識融合、知識存儲和知識圖譜搭建。構(gòu)建步驟如圖1 所示。
圖1 構(gòu)建知識圖譜的步驟
4 個步驟中首先是知識抽取,其最主要的目的是將數(shù)據(jù)源中的所有數(shù)據(jù)加工為知識三元組,為后期的數(shù)據(jù)綜合利用、最終構(gòu)成結(jié)構(gòu)化知識打下基礎(chǔ)。采用的知識抽取過程如圖2 所示。
圖2 電力知識抽取流程
其中關(guān)鍵步驟為從已有的電力系統(tǒng)知識庫以及互聯(lián)網(wǎng)中搜索到的電力系統(tǒng)知識作為訓(xùn)練集合,使用訓(xùn)練集合對神經(jīng)網(wǎng)絡(luò)模型進行訓(xùn)練,最后對模型的精準(zhǔn)率進行驗證。
采用長短期記憶網(wǎng)絡(luò)+條件隨機場(long shortterm memory+conditional random field,LSTM+CRF)
經(jīng)網(wǎng)絡(luò)模型進行實體抽取,模型分為3 層,分別為詞嵌層(word embedding)、長短期記憶網(wǎng)絡(luò)(long short-term memory, LTSM) 層和條件隨機場(conditional random field,CRF)層。其結(jié)構(gòu)模型如圖3 所示。詞嵌層作為模型的輸入層,主要功能是將句子中的單詞依據(jù)特定規(guī)則進行映射,最后將一個句子變?yōu)樵~向量和字向量。LTSM 是循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)的一種變體,在神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程中,其能夠?qū)⒁郧暗男畔⑦B接到當(dāng)前任務(wù)中,有效地避免了RNN 在循環(huán)過程中產(chǎn)生的梯度爆炸與消失的問題[6]。CRF 層的主要目的是對LTSM 層的訓(xùn)練結(jié)果,通過已設(shè)定約束條件對其進行篩選,提高識別準(zhǔn)確度。
圖3 LSTM + CRF 模型
脈沖耦合神經(jīng)網(wǎng)絡(luò)(pulse coupled neural network,PCNN)模型非常適合于處理自然語言和文本分析、分類等工作[7],適用于知識抽取中的關(guān)系抽取。其主要思想是按照自然語句中實體的數(shù)量對其進行分段,然后分析每段之間實體的距離與位置之間的關(guān)系特征,最終得到實體之間的關(guān)系。PCNN 的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖4 所示。
圖4 PCNN 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
神經(jīng)網(wǎng)絡(luò)的第1 層是向量表達(dá)層,在該層中,1 個自然語言的句子會按照句子之中的主體(句中關(guān)鍵詞,比如電流、電壓、頻率等)進行分段,對句子中的每個詞與主體的距離進行編碼,得到位置特征,將文本特征與位置特征進行拼接,從而形成向量。第2 層是卷積層,對上述向量進行卷積計算提取特征。再經(jīng)過第3 層最大化池化層與第4 層soft max 分類,最終得到主體之間的關(guān)系。
知識的存儲有2 種方式,一種是利用常規(guī)的關(guān)系型數(shù)據(jù)庫如SQL Server 或Oracle 進行存儲,另一種是利用圖數(shù)據(jù)模型進行存儲。但由于知識圖譜數(shù)據(jù)的特點,將知識作為數(shù)據(jù)存放在常規(guī)數(shù)據(jù)庫中會導(dǎo)致數(shù)據(jù)庫的規(guī)模變得很大,并且對數(shù)據(jù)的操作和查詢都會變得非常困難[8?9]。因此一般采用圖數(shù)據(jù)庫來存放知識,如NoSQL 數(shù)據(jù)庫,它是一種用圖的關(guān)系來描述數(shù)據(jù)之間關(guān)系的數(shù)據(jù)庫。在該數(shù)據(jù)庫中,節(jié)點代表實體,邊代表關(guān)系或者屬性。Neoj4 是一種較成熟的圖數(shù)據(jù)庫,其具有可擴展性強、數(shù)據(jù)處理效率高以及可支持多核處理器進行并發(fā)運算等特點,并且在使用過程中能夠有效地保障用戶的數(shù)據(jù)安全[10?11]。
將抽取的電力系統(tǒng)相關(guān)知識存入Neoj4 數(shù)據(jù)庫中,形成實體數(shù)據(jù)庫。按照圖5 的框架來搭建電力系統(tǒng)的知識圖譜。
圖5 電力系統(tǒng)知識圖譜框架
在圖數(shù)據(jù)庫Neoj4 中,實體(如1 個變壓器、斷路器等)將被用1 個節(jié)點來進行表達(dá),節(jié)點之間的連線則表示各個實體之間的關(guān)系[12?15]。每個節(jié)點和邊都有屬性,屬性值按其描述對象性質(zhì)可動態(tài)更新。
經(jīng)過上述轉(zhuǎn)換,可將電力系統(tǒng)中的各種設(shè)備的信息轉(zhuǎn)換為圖的形式存儲于Neoj4 數(shù)據(jù)庫中。在安裝好Neoj4 數(shù)據(jù)庫后,通過Neoj4-import 將區(qū)域電網(wǎng)數(shù)據(jù)與互聯(lián)網(wǎng)中的數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫后,所形成的部分電力系統(tǒng)知識圖譜如圖6 所示。同時,如果日后還需要添加新的知識(新的節(jié)點),可通過Cypher 語言以CREATE 語句方式動態(tài)更新加入到電力系統(tǒng)知識圖譜。
圖6 部分電力系統(tǒng)知識圖譜
通過分類器訓(xùn)練進行問句中特征詞、特征詞表映射,從而獲得特征向量。例如對于輸入問句“三峽水電站的年均發(fā)電量是多少?”,經(jīng)分詞處理后,得到詞組“三峽/水電站/的/年均/發(fā)電量/是/多少/?”與特征詞表特征值進行映射,先設(shè)置特征向量全部位置為0,在句中有特征值表中的特征詞存在時,設(shè)置特征向量中特征詞所在位置為1。因問句中有“年均”、“發(fā)電量”2 個特征詞存在,因而,可得到表2 所示的特征向量。以此類推,將各類訓(xùn)練問句進行轉(zhuǎn)換,從而得到所對應(yīng)的特征向量。
表2 示例問句的特征向量
電力系統(tǒng)中的數(shù)據(jù)的來源是多樣且復(fù)雜的,在進行知識抽取的過程中,為了保證抽取知識的有效性,需要對抽取出來的知識進行進一步融合。將知識中表述含義相同但說法不同的主體進行歸一化,例如設(shè)備故障報告中提到的“工作正?!焙汀盁o故障”的表述,其表達(dá)的含義是相同的,只是在說法上不同,因此可以對抽取后的知識進行一次字符串的匹配,將這些相同意義的表述進行歸一化處理,歸一化處理后,重復(fù)知識的數(shù)量將大幅下降。
本研究采用谷歌(Google)的詞向量工具Word2Vec,其特點是能將單詞轉(zhuǎn)化為向量。在實際中,使用詞匯表通常為百萬級以上,處理高維數(shù)據(jù)會消耗大量計算時間、資源;Word2Vec 詞向量可將詞與詞間的關(guān)系很好地表示出來,且維度大幅度降低,同時包含的語義信息更多。應(yīng)用Word2vec 詞向量工具訓(xùn)練數(shù)據(jù)集,表3 為詞向量訓(xùn)練參數(shù)。
表3 Word2Vec 訓(xùn)練參數(shù)
搭建電力系統(tǒng)知識圖譜先要進行數(shù)據(jù)集的構(gòu)造。相關(guān)實體從電力領(lǐng)域?qū)I(yè)詞典中獲取,其中有182 341 個詞語與電力領(lǐng)域相關(guān),有部分?jǐn)?shù)據(jù)集源自某電網(wǎng)電力系統(tǒng)的電力調(diào)度產(chǎn)生數(shù)據(jù)。該數(shù)據(jù)集包括測試集、訓(xùn)練集。其中測試集包括句子2 590個,字97 780 個;訓(xùn)練集包括句子31 590 個,字1 467 550 個。在進行電力關(guān)系分類時,從電力領(lǐng)域?qū)I(yè)詞典中獲取實體,通過百度百科進行相關(guān)電力信息、詞匯的爬取,并將重復(fù)信息去除,從而將出現(xiàn)頻率最高并與實際電力領(lǐng)域相符合的測試集、訓(xùn)練集實體數(shù)量選取出來,見表4。表5 為電力系統(tǒng)實體關(guān)系分類,表6 為測試集、訓(xùn)練集各實體關(guān)系數(shù)量。
表4 訓(xùn)練集及測試集各實體類別數(shù)量
表5 電力實體關(guān)系分類
表6 訓(xùn)練集及測試集各實體關(guān)系數(shù)量
通過部分電力調(diào)度數(shù)據(jù)以及網(wǎng)絡(luò)建立訓(xùn)練集與數(shù)據(jù)集。本次所建的訓(xùn)練集包含48 200 個句子,共2 368 700 個字;測試集包含3 600 個句子,118 700 個字。評價指標(biāo)為精確率、召回率以及F1值3 大類,訓(xùn)練參數(shù)設(shè)置如表7 所示。2 種抽取的測試結(jié)果如表8 和表9 所示,為表明所選模型的優(yōu)勢,在表格中加入了其他幾種神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練的結(jié)果作對比。
表7 實體抽取與關(guān)系抽取訓(xùn)練參數(shù)
表8 實體抽取的測試結(jié)果%
表9 關(guān)系抽取的測試結(jié)果%
從表8 和表9 中可以看出,LSTM+CRF 模型與PCNN 模型在測試結(jié)果上明顯高于其他神經(jīng)網(wǎng)絡(luò)模型,同時也證明本文選擇這2 種神經(jīng)網(wǎng)絡(luò)模型的正確性。
以2019—2020 年某變電站的供電數(shù)據(jù)為基礎(chǔ),數(shù)據(jù)中包含該站所有設(shè)備信息、運行信息等結(jié)構(gòu)類數(shù)據(jù),各種工作報表等半結(jié)構(gòu)數(shù)據(jù)以及缺陷故障分析報告等非結(jié)構(gòu)數(shù)據(jù)。經(jīng)過知識提取并存儲在圖數(shù)據(jù)庫后,形成知識圖譜。在原有電力監(jiān)控系統(tǒng)的基礎(chǔ)上,增加了智能檢索問答以及故障預(yù)警及診斷的功能。
智能檢索問答包括標(biāo)準(zhǔn)檢索與實體案例2 個方面,測試結(jié)果如圖7 所示。在檢索框中輸入“變壓器接地電阻大于10 Ω”,在后臺的數(shù)據(jù)庫中會按照關(guān)鍵詞“變壓器”、“接地電阻”來進行搜索,最終搜索結(jié)果包含國家關(guān)于接地電阻的標(biāo)準(zhǔn)以及實際故障的案例,有針對性地給從業(yè)人員提供建議。
圖7 智能檢索測試界面
1)通過對實體抽取的結(jié)果進行對比可以發(fā)現(xiàn),采用單一神經(jīng)網(wǎng)絡(luò)模型抽取的效果沒有采用復(fù)合神經(jīng)網(wǎng)絡(luò)模型的效率高。
2)采用LSTM+CRF 模型進行實體抽取,PCNN 模型進行關(guān)系抽取能夠取得較好的效果。
3)通過瀏覽器實現(xiàn)了電力知識的查詢,提高了工作人員的效率。
知識抽取的方法還有很多,并且由于受實際條件限制,本次研究使用的訓(xùn)練樣本規(guī)模也較小。以后可向這2 個方向進一步提高知識抽取的效率。