馬嬌玉
(積成電子股份有限公司 山東濟寧 272000)
從知識圖譜的定義角度分析,其在圖書情報領域又被看作是知識領域的映射和可視化地圖,同時,通過知識圖譜,也能夠直觀地呈現出知識結構與發展狀態中的圖形,基于可視化技術對知識資源及載體的描述,能夠清晰地找到并呈現二者之間存在的關系。本實驗中使用了Neo4j數據庫,來實現知識庫結構的形成與利用[1]。通過數據庫語句,根據關鍵字段來完成知識網絡,提取mysql的半結構化數據,創建出實體、關系、屬性等要素。實現知識有效融合,能夠擺脫實體與關系,從而實現數據實時更新,構建良好的知識庫結構,而知識推理的意義在于對當前知識庫進行深入的知識挖掘,形成新的知識網絡,豐富知識庫內容。
知識圖譜的主要作用是將多個獨立的知識進行連接,形成一張知識網絡,從而可以完成信息的結構化、統一化,也要依照現有的電網知識庫實現隱晦知識的進一步挖掘,形成新的知識網絡。
下文主要探索知識圖譜的概念與構建電網知識圖譜的意義,選取福建的電網數據進行分析。通過對福建地區的數據進行研究,提煉出電網關系結構圖,詳見圖1,并將其作為電網知識圖譜創建的重要參考。

圖1 電網關系結構圖
電網知識圖譜的平臺采用了傳統B/S的模式(見圖2),本文會詳細介紹開發細節。

圖2 電網知識圖譜數據流結構圖
使用NOSQL圖形數據庫Neo4j,將其方法用于電網知識圖譜的數據庫工具,來完成電網知識圖譜的持久化。以福建地區知識圖譜為例,詳見圖3。

圖3 福建電網知識圖譜自動成圖
Neo4j具有高性能特點,利用NOSQL圖形數據庫可以將結構化數據存儲到網絡中,其作為一種嵌入式的系統,通過磁盤來可以提高事務處理特性,構建Java持久化引擎[2],然而對于機構化數據在網絡(從數學角度叫做圖)中的存儲,并不是將數據存儲于表內。Neo4j又被稱為高性能引擎,通過這一引擎,可以滿足成熟數據庫應用需求,同時,程序員作為面向對象和靈活的網絡結構,也能夠表現出靜態與嚴格的特點,然而這些特點都能夠享受事務特性,也帶來企業級數據庫的優勢。
Neo4j數據庫中的label同等于關系型數據庫中的表,其中的每一個實體同等于關系型數據庫中的一行數據。
數據導入階段,將福建電網的相關數據添加到Neo4j數據庫,并自動生成關系,具體數據導入語句模板:
USING PERIODIC COMMIT 100 LOAD CSV FROM"文件路徑"AS句柄merge(對象:標簽名{對象.屬性0:句柄[0],對象.屬性1:句[1],......{對象.屬性n:句柄[n]})。
1.2.1 USING PERIODIC COMMIT 100
在LOAD CSV前面加上USING PERIODIC COMMIT 1000,1000表示每1000行的數據進行一次Transaction提交,提升性能。
1.2.2 WITH HEADERS
從文件中讀取第一行作為參數名,只有在使用了該參數后,才可以使用“對象.屬性”這樣的表示方式,否則需使用line[0]的表示方式。
具體自動創建關系語句模板:
Match(a:標簽1),(b:標簽2)where a.屬性=b.屬性merge(b)-[r:關系]->(a)。
通過此方式,來完成電網只是圖譜的實體導入與關系自動創建,以半自動形成電網知識圖譜。
使用Vue+Element完成基本界面的搭建:(1)在頁面script標簽中引入Vue.js等庫;(2)使用Echarts對知識圖進行圖形可視化展示操作首先引用Echarts的組件,然后引用其Graph進行畫圖操作。
(1)平臺使用.jar文件,使用JDK進行啟動。(2)前端vue文件部署在Tomcat服務器上,使用同Tomcat進行啟動。
以電網調控知識源為核心,建立電網調度運行專業詞庫,綜合采用命名本體實體識別、句法分析、語義分析等自然語言處理方法,系統支持抽取數據源信息中的實體(概念)、屬性以及實體關系。抽取時,根據已有電網模型信息構造,包含省調、地調、縣調、廠站、設備、電壓等級、設備屬性及量測數據統計信息的網絡層次知識[3]。例如,可以按地區與廠站、廠站與母線等具有關聯關系,廠站本身也有很多相關的屬性,這些都能夠在詞庫的實體屬性中具體展現。
USING PERIODIC COMMIT 1000 LOAD CSV FROM"文件路徑"AS句柄merge(對象:標簽名{對象.屬性0:句柄[0],對象.屬性1:句[1],......{對象.屬性n:句柄[n]})。
上述語句詳細解釋。
2.1.1 USING PERIODIC COMMIT 1000
在LOAD CSV前面加上USING PERIODIC COMMIT 1000,1000表示每1000行的數據進行一次Transaction提交,提升性能。
2.1.2 WITH HEADERS
從文件中讀取第一行作為參數名,只有在使用了該參數后,才可以使用line.name這樣的表示方式,否則需使用line[0]的表示方式。
2.1.3 AS line
整個數據表是以行的形式進行提交的,每行提交為一個實體。
2.1.4 MERGE
使用MERGE實現創建,會自動取消創建重復的實體以及關系。在導入時,MERGE子句在已經存在各個標簽、屬性、屬性值與當前MERGE后面描述的節點完全相同的情況下不會重復創建多余節點。所以,要先整理數據源,保證csv中的每條數據相同的節點要完全相同。
系統可以消除電網知識圖譜中的重復概念關系,及時清理冗余及錯誤的實體關系,保證知識圖譜結構的準確性,可以使用Echarts完成知識圖譜的數據可視化[4]。
知識推理作為關鍵環節,可以根據現有電網業務邏輯信息進行推理,系統可以實現知識庫中已有實體關系的邏輯推理,使用規則引擎,從現有知識中發現新知識,可實現業務需求分析推理,從而輔助電網業務決策。知識推理可以通過遞歸查詢,深度挖掘,可以得到新的知識網絡,以發掘新的知識。
系統應提供知識圖譜中的電網層次語義信息,點擊可查看相應的具體知識內容;系統可根據輸入選擇類型,展示對應知識內容。
電網在建設初期并沒有統一的知識平臺,每一個部門都建立了各種信息庫,使得電網產生了較多的信息,通過電網的生產、運行及服務等環節,使得信息量不斷增加[5]。例如,電流、電壓及頻率發生變化時會產生相關數據,開關狀態發生改變后,也產生一系列的數據,電表信息是不可忽視的數據信息。電網信息化雖然產生了較多的電網數據,但需要使用的時間不斷縮短。但是,在輸出這些數據時,存在一些困難,主要原因是沒有統一的格式,不僅需要將結構化的數據輸入其中,還具有各種非結構化的數據,涵蓋了文本、音頻及視頻等。在構建電網KG時,KG中根據多源數,結構化數據一般可以直接進行知識融合;對于半結構化數據來說,需要進行有效篩選,利用此種方法消除干擾數據,也可以進行知識抽取,有助于更好地規范數據。此外,要想建立完整的電網KG,需要將電網中涉及的各種數據進行有效整合,在對數據進行管理及查找時,會降低時間的浪費,也會將電網逐漸智能化,提高工作效率。要想建立良好的電網KG,第一步要從各個方面獲取有效的電網術語,有效運用這些電網術語為形成專業化電網KG奠定了基礎。與此同時,還可以運用形式化方法抽取術語信息,并對其可靠性進行相關分析[6]。但是,電網術語沒有得到大規模的使用,其重要性也會得到降低,但會提高術語的統計難度。對此,工作人員可以設計專業化的電網詞典,這有助于其他人更好地理解專業電網術語,也可以提高電網知識的學習效率,促進電網不斷獲得發展。
電網知識圖譜作為大數據時代背景下的全新技術領域,對我國現代化電力產業的發展起到良好的推進作用,但是,當前的電力行業發展中對于知識圖譜的運用仍然處于起步階段,算法還不夠成熟。然而,受到信息化時代的支持,人們對知識圖譜展開了深入研究,積極探索多領域技術的融合應用,為電網企業的知識傳承提供可靠支持。