?

基于Neo4j的化工安全知識圖譜構建研究

2021-09-09 06:45曾偉桂
黑龍江科學 2021年16期
關鍵詞:語句圖譜化工

曾偉桂

(北京信息科技大學,北京 100101)

1 研究背景及意義

化工行業工藝復雜,儲存物料危險性大,一旦引發事故,往往造成極強的破壞力,社會影響巨大。近年來,化工事故發生量在政府管理下有所降低,但事故強度愈演愈烈[1],化工行業的安全形勢依然嚴峻。

將知識圖譜引入化工安全領域,利用大數據、人工智能等相關信息技術整合存儲海量的化工安全知識,構建基于化工安全領域的知識圖譜,便于從業人員更好地利用化工安全領域豐富的知識,對中國化工安全發展、對國家發展具有長遠意義。

2 研究現狀

2.1 知識圖譜

2012年5月17日,Google公司為了提高搜索引擎能力、改善用戶搜索質量及搜索體驗,首次采用了“知識圖譜(knowledge graph)”技術[2],知識圖譜應運而生。知識圖譜是知識庫與語義網絡相結合的產物,用于描述客觀世界中的實體、實體與實體之間的關系。它用節點表示語義符號,用邊表示語義之間的關系,從而把現實世界中的人、事和物聯系在一起,得到一個類似“多關系圖(multi-relational Graph)”的巨大語義網絡。隨著人工智能的不斷發展,知識圖譜技術體系亦日趨完善,其已在金融領域、搜索引擎、問答系統、電商平臺、社交網絡等方面有了一定的應用,在解決大數據文本分析和圖像理解等方面發揮著重要作用。

2.2 化工安全知識圖譜現狀

基于行業領域劃分,知識圖譜可分為開放領域的知識圖譜和特定領域的知識圖譜[3],具有廣闊的研究與應用前景。針對化工安全這個特定的領域,創新性地引入知識圖譜技術,通過對近年來全國近100起化工爆炸事故的研究,初步完成了化工安全知識圖譜的構建,并基于Neo4j對數據進行存儲。

3 化工安全知識圖譜構建

3.1 知識圖譜理論架構

知識圖譜的架構包括自身的邏輯結構及構建知識圖譜所采用的技術架構[4]。根據不同的需求和應用,知識圖譜可能涉及不同技術。從最原始的數據(包括結構化、半結構化、非結構化數據)出發,到最終形成知識圖譜這一過程,包含了信息抽取、知識表示、實體對齊、知識推理、質量評估等步驟[5]。其理論架構如圖1所示:

圖1 知識圖譜理論架構

3.2 知識定義

知識定義可分為實體定義和關系定義。在化工生產過程中易發且影響最大的幾類事故中以化工爆炸為例,針對其實體定義主要有兩部分,一是化工爆炸事故本體概念圖譜,二是化工爆炸事故案例相關圖譜。

和本體概念圖譜對應的是不同化工爆炸相關的事件圖譜,如圖2所示。

圖2 化工爆炸事故本體&案例圖譜

由于尚未建立實體之間的聯系,就沒辦法解釋各個概念之間的關系類型,所以建立各個實體之間的連接,以關系為導向,對于豐富化工安全知識庫、提升搜索效果和可視化展示至關重要。針對化工爆炸事故中的關系定義,可以歸納為表1所示類型。

表1 化工爆炸事故關系表

3.3 知識抽取

知識抽取指的是通過人工或自動等方式從數據源中提取實體、屬性及關系的技術[6]。知識抽取包括實體、關系及屬性抽取三個方面[7]。針對化工爆炸事故案例,通過對全國近100起化工爆炸事故進行研究,對化工園區或企業爆炸的致災因素進行綜合分析。人工抽取部分實體和關系如表2所示。

表2 部分實體關系表

4 化工安全知識圖譜存儲

4.1 Neo4j圖數據庫

圖數據庫(Graph Database)是一種不限于SQL的新型數據庫,它使用圖結構的方式建模,數據模型主要是以節點和邊來體現,因而圖數據庫能夠運用圖結構的自然伸展特點,解決一系列非常復雜的設計問題。

Neo4j是圖數據庫中比較流行的一款產品,由于其具有更豐富的關系表示、更完整的事務支持、更快的數據庫操作、更直觀的數據展示等優點,故基于Neo4j構建化工安全知識圖譜。

4.2 Cypher語言

Cypher是專門為圖像數據庫設計的語言,淺顯易懂,具有豐富的表現力,能高效地查詢和更新圖數據,借鑒了SQL結構。查詢可由各種各樣的語句組合,采用如MATCH、WHERE和DELETE等類似SQL的語句來組合模式,以表達預期操作。

利用Cypher 語言使用多個關系的復雜模式能夠表達任意復雜概念,支持各種使用場景的特點,可以更高效地對化工安全知識數據進行增刪改查,并基于Neo4j實現知識存儲。

4.3 知識導入

Neo4j批量數據導入提供了三個工具,即Load CSV、neo4j-admin import及Cypher CREATE語句。由于neo4j-admin import適合于海量數據的初始化導入,需要停止neo4j服務器并清庫,故采用Load CSV和Cypher語句對實體關系數據進行導入、增加、修改等操作。

LOAD CSV用于從處理好的CSV文件中導入數據,通過批量導入CSV文件導入節點和關系,創建化工安全知識圖譜。部分代碼如圖3、圖4所示。

圖3 部分節點導入代碼

圖4 部分關系導入代碼

需要注意的是,設置LOAD CSV中file:///URL中的根路徑必須設置為數據庫服務器上的文件系統的單個目錄,它讓所有的請求從file:///URL加載時都使用根路徑的相對路徑。

此外,還可以通過Cypher語句對已創建好的知識圖譜進行增加或修改操作,如圖5所示。

圖5 增加節點關系代碼

4.4 圖譜查詢

Neo4j圖數據庫通過Cypher語言中的MATCH關鍵字指定查詢模式(Patterns),即將節點和關系的語法組合在一起的表達模式。為了增強模塊性和減少重復,Cypher允許將模式賦給一個變量,這使得匹配到的路徑可以用于其他表達式。例如:通過Cypher語句MATCH p=()-[r :CAUSE]->()RETURN p LIMIT 25,可以查詢到如圖6所示的部分實體關系圖譜。

圖6 部分實體關系圖譜

5 結語

結合化工安全這個特定領域,創新性地引入了知識圖譜技術。針對化工安全事故類中的爆炸事故,通過對全國近100起化工爆炸事故的研究,對化工園區或企業爆炸的致災因素進行綜合分析,抽取出其中的實體和關系,初步構建了化工安全知識圖譜,并基于Neo4j,實現了知識存儲。研究表明,利用知識圖譜技術對化工安全領域的知識進行管理是可行的,為后續化工安全知識圖譜的應用提供重要參考。

猜你喜歡
語句圖譜化工
高清大腦皮層發育新圖譜繪成
《化工管理》征稿簡則
《化工管理》征稿簡則
《化工管理》征稿簡則
《化工管理》征稿簡則
中醫藥知識圖譜應用現狀分析及癡呆痰瘀互結證知識圖譜構建探索
繪一張成長圖譜
重點:語句銜接
主動對接你思維的知識圖譜
我喜歡
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合