[關鍵詞]知識圖譜;信創知識倉庫;本體語義模型;Neo4j;pagerank算法
過去,我國所使用的信息技術產業基礎框架、行業標準和核心產品等多由國外廠商制定,這使我國在行業基礎設施和信息系統關鍵核心產品方面缺乏自主主動權。信創產業即為我國信息技術領域進一步發展和國家數據安全不被泄露,使我國信息技術領域達到可掌控、可研究、可發展的終極目標。因此,發展信創產業對于解決我國在信息與網絡安全乃至國家安全方面所面臨的諸多問題至關重要。
信創領域作為知識密集型領域,其知識構成具有大規模、更新快、多維度、多源頭的特點,因此傳統的知識管理方式不利于信創領域的資源整合和科普推廣。構建基于知識圖譜的信創知識倉庫對信創領域知識的有效管理與廣泛推廣具有重要的研究意義與應用價值。
(一)信創知識管理現狀
現有的知識管理系統:
SharePoint: Microsoft的SharePoint是一個企業級協作平臺,用于創建、管理和共享文檔和信息。它與Microsoft365集成,支持團隊協作、版本控制和工作流程48。
MediaWiki: MediaWiki是維基百科背后的平臺,也是一個開源的知識管理系統。它提供了一個靈活的平臺,可以創建和維護文檔,適用于協作性的知識管理。
Evernote: Evernote是一個數字筆記應用,可用于組織和存儲文檔、圖片、筆記和聲音記錄。它支持跨設備同步,適用于個人和團隊。
目前現有的知識管理系統通常通過提高系統內部的信息流動來促進團隊協作,加速問題解決。這顯然無法匹配信創領域知識資源多維度、多源頭、更新快的特性。
(二)知識圖譜在不同領域的應用
1.知識圖譜的概念與特點
知識圖譜是一種圖形化的知識管理結構,它將實體間的關系以圖的形式建模,圖上的節點表示實體,邊表示關系。知識圖譜通過語義化的關系將實體連接起來并以一種結構化的方式組織和存儲信息。此外,知識圖譜還具有良好的可拓展性。新的內容可以方便地添加到圖譜中,來更新知識庫,充盈知識庫。
2.知識圖譜在不同領域的成功應用
目前,知識圖譜在眾多行業中都有成功應用的案例:
在生物醫學領域:用于整合和分析醫學文獻,幫助研究人員了解基因、蛋白質、藥物等的關系,支持疾病診斷、基因組學研究和藥物發現。
金融領域:用于構建客戶關系圖,幫助銀行和金融機構更好地了解客戶,支持風險管理,通過分析實體和關系來識別潛在的金融風險。
智能交通系統:建立城市交通網絡的知識圖譜,幫助優化交通流和規劃交通路線,并利用實時數據更新圖譜,提高交通系統的智能化水平。
制造業:支持供應鏈管理,幫助企業優化物流和生產過程,構建設備和零部件之間的關系圖,支持設備維護和故障診斷。
綜上所述,不難看出知識圖譜在與信創領域相關的各行各業中都起到了不錯的效果。由此,知識圖譜能夠充分滿足信創領域的知識管理需求。
(一)建立知識圖譜的框架
領域知識圖譜的構建通常采用自上而下的方法,先通過相關領域現有的知識研究,確定其范圍,定義實體性完成本體的構建,然后根據本體模型確定所需要的數據類型,再通過知識采集、知識抽取等技術獲取所需的數據,并通過圖數據庫進行數據存儲與可視化展示,最后通過引入圖形算法增強知識圖譜的可視化程度。
1.本體語義模型構建
本體語義模型的構建有許多方法,如經典的七步法、IDEF5法和骨架法等。領域類知識圖譜構建通常采用七步法,步驟為:
確定本體范圍:領域類知識圖譜首先構建領域本體的范圍,確定本體范圍常用的方法是列出幾個專注于領域本體的問題,檢測本體能否提供足夠的信息來回答此類問題,以此對本體進行不斷完善。
重用現有的本體:在構建本體之前應先調研是否相關的本體已經存在,如果存在可以對其進行改進和拓展,無需重新構建。
列舉本體核心概念:以本體的全面性為前提,盡可能地列舉出本體可能存在的全部概念。
定義本體概念的上下級描述:通過自上而下的方式對領域中的概念進行結構化的梳理,定義本體概念的上下級描述,即定義關系。
定義概念具有的屬性:對已經定義的概念通過賦予不同的屬性加以描述。
定義屬性的限制:即定義屬性的值的限制。
添加實例:以之前提出的概念為藍本添加實例數據進行測試,對模型的范圍、準確性等進行檢測。
2.數據采集與整合
(1)數據采集
數據采集是從不同來源收集數據的過程,數據采集的方法有很多,常見的有以下幾種:
①網絡爬蟲:使用自動化工具從網站上提取信息。這可以是結構化的數據,如表格或非結構化的數據,如文本。
②傳感器數據采集:許多物理設備和系統使用傳感器生成數據,如溫度傳感器、濕度傳感器、壓力傳感器等。
③日志文件分析:分析服務器、應用程序或系統生成的日志文件,以獲取關于其運行和用戶行為的信息。
④社交媒體監測:通過監控社交媒體平臺上的活動來收集用戶反饋、趨勢和輿論。
⑤數據庫查詢:通過查詢數據庫來檢索所需的信息,這可以是關系型數據庫或非關系型數據庫。
(2)數據清洗
數據清洗是指在進行數據分析或建模之前,對原始數據進行處理和修復,以解決數據質量問題。進行數據清洗的常規方法如下:
①數據類型轉換:確保數據類型正確,例如將字符串轉換為數值型。處理日期和時間數據,確保格式一致。
②處理異常字符:刪除或替換包含異常字符的數據。
③處理不一致性:統一數據的格式和表示,確保一致性。處理異義詞和同義詞,以便在分析中能夠正確理解數據。
(3)數據抽取
數據抽取是從結構化或非結構化數據中提取有用信息的過程。對大規模數據的抽取一般需要和命名實體識別結合使用,命名實體識別是自然語言處理中的一項重要任務,其目標是從文本中識別并分類出命名實體,如人名、地名等。常見的命名實體識別方法一般分為三種,基于規則、基于統計和基于深度學習。
基于規則的方法使用手工設計的規則來識別實體,這些規則可以基于詞性、詞典、語法等。基于規則的命名實體識別一般簡單且可解釋,適用于特定領域的規律性較強的任務,可以手動定義規則來適應不同的文本結構。但對于復雜的文本結構和多樣的實體命名規律,基于規則的命名實體識別可能不夠靈活和泛化。
基于統計的命名實體識別統計方法通常使用機器學習算法,如條件隨機場或隱馬爾可夫模型。這些模型通過學習從標注的語料庫中提取的特征來預測實體類別。基于統計的命名實體識別通常適用于有標注數據的任務。
基于深度學習的方法,通常指基于神經網絡的方法,如卷積神經網絡和變壓器(Transformer)。這些方法通常能夠學習到更復雜的語言模式,適用于大規模和多領域的數據。最近,預訓練模型,如BERT和GPT等,已經在命名實體識別任務上取得了顯著的成果。
3.數據存儲與可視化
知識圖譜數據的存儲通常采用圖數據庫來管理和查詢。圖數據庫是專門設計用于存儲和處理圖結構的數據庫系統,它們能夠有效地表示實體之間的關系。
Neo4j是目前使用人數最多的圖數據庫,其獨特的圖結構存儲模型使得表示實體和復雜關系變得自然而高效。Neo4j優秀的可擴展性能夠輕松應對大規模圖數據,其跨平臺支持、活躍的社區和豐富的生態系統也使得Neo4j成為處理關系型數據的首選。
知識圖譜可視化通常選擇使用圖數據庫可視化工具如Neo4j browser、Gephi等或者使用Vis.js、Cytoscape.js等在web程序中嵌入。
4.Pagerank算法與社區檢測算法
PageRank是通過分析頁面之間的鏈接關系來確定頁面重要性的一種算法,可用于知識圖譜中檢測節點的重要性,從而向使用者提供更好的可視化效果。
社區檢測算法是用于在圖識別子圖結構的一類算法。社區檢測算法用于知識圖譜中通常可以將發展度相似的節點分為一組,以便管理人員進行分析。
(二)基于知識圖譜的信創知識倉庫實施
1.信創領域本體語義模型構建
本文在定義信創領域知識圖譜的本體語義模型時發現,信創領域知識具有自上而下、從抽象到具體、從簡單到復雜的樹狀特征。基于這一特征和對現有數據的分析,本文得到了信創這一核心類和基礎軟件、應用軟件、網絡安全、外設終端、CPU設計和集成電路這五個二級類目和操作系統、中間件、數據安全等21個三級類目。如下圖所示:

2.信創數據采集
由于信創領域的數據具有零散不易收集的特征,一般采用以下幾種采集方法:
網絡爬蟲:使用自動化工具從中國信創網等網站上提取知識.作為信創知識圖譜的數據基礎。
文獻調研:搜索學術文獻、行業報告和技術文檔,了解關于信創的最新研究和發展。
企業報告和新聞:分析公司發布的報告和新聞,了解企業在信創領域的創新和發展。
3.信創數據清洗
在信創領域,常見的數據問題一般有缺失、異常、重復等,處理方法如下:
缺失值處理:刪除包含缺失值的行或列。使用特定值填充缺失值或使用插值方法來估算缺失值。
異常值處理:識別并處理異常值。這可以通過統計方法或專門的異常檢測算法來完成。
重復值處理:檢測并刪除重復的記錄。確保唯一性,特別是對于主鍵。
4.信創知識抽取
由于信創領域的數據具有多維度的特點,因此本文采用基于規則與預訓練模型結合的知識抽取方式,然后在命名實體的基礎上,直接從文本中提取與每個命名實體相關的信息。
首先,通過爬蟲獲得的信息都有較為明顯的產品名稱、特點等語料,可以通過制定匹配規則進行提取,同時由于信創領域知識的樹狀特點,實體間的關系可通過人為設置。其次,對于專業期刊、文獻、企業報告等數據,采用BERT預訓練模型來完成產品名稱識別任務,然后通過識別出的產品對數據進行分類再通過規則提取需要的數據。
5.信創知識存儲
Neo4j作為目前使用人數最多的圖數據庫,其良好的拓展性和通用性以及豐富的圖形算法與知識圖譜的存儲十分契合。因此,本文以Neo4j圖數據庫存儲處理的數據。Neo4j中的節點對應語義模型中的實例,標簽對應各個級別的核心類目,關系則體現了各類目之間的上下級關系。根據上文提到的語義模型確立Neo4j的節點和關系,然后通過py2neo批量導入Neo4j,完成知識圖譜的構建。
6.信創知識圖譜可視化
根據使用人群的不同,本文提出了兩種知識圖譜可視化方式。
針對數據分析人員和管理人員,使用Neo4j bloom來進行可視化分析和管理。Neo4j Bloom是一款專為Neo4j圖數據庫設計的可視化工具,它通過直觀的圖形界面提供了探索和分析圖數據的方式,如圖所示:

針對想要了解信創發展現狀的普通用戶,使用neovis.js嵌入web程序進行可視化展示,neovis.js是一個用于Neo4j圖數據庫的JavaScript庫,方便地將Neo4j數據庫中的節點和關系呈現為直觀的圖形,并支持用戶的交互式查詢和導航。如下圖所示:

此外,通過在Neo4j browser中導入pagerank算法與社區檢測算法,并將其作為節點的屬性寫入知識圖譜中,可以體現出節點的重要程度和群聚程度,增強可視化效果。
本文旨在探討基于知識圖譜的信創知識倉庫設計和構建,并在信創領域中探索知識圖譜的應用潛力。通過文獻綜述、方法學設計、基于知識圖譜的信創知識倉庫的具體設計,得出以下結論:
首先,信創領域在知識管理方面面臨諸多挑戰,現有的知識管理系統無法滿足信創領域的知識管理需求,因此有必要引入新的知識管理方式。
其次,知識圖譜作為一種新興的知識管理工具,在其他許多領域都取得了不錯的效果,通過構建基于知識圖譜的信創知識倉庫可以更好地對信創領域進行有效的資源管理。
最后,本文詳細介紹了知識圖譜的構建過程,并結合信創領域的特點提出了基于知識圖譜的信創知識倉庫的構建思路,以及可視化展示的多種策略。
綜上所述,基于知識圖譜的信創知識倉庫為信創領域的知識管理帶來了新的思路。在未來的發展中,我們有信心通過不斷地實踐和創新,進一步推動知識圖譜在信創領域的廣泛應用。
基金項目:天津市科技計劃項目(No.22KPXMRC00210)項目資助;天津市普通高校本科教學質量與教學改革研究計劃重點項目(A231005701)。