本站小編為你精心準備了淺談軟件工程的知識圖譜構建技術參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。
摘 要:知識圖譜作為海量知識構成的語義知識庫,其構建不僅有利于系統知識的組合,更能夠為相關專業的具體實踐人員提供知識的快速響應,使相關工作的難度大幅降低、質量和效率得到顯著提升。基于此,通過對面向軟件工程的知識圖譜構建技術的探索和解讀,從數據的獲取和引入著手,先后從構建技術的架構、建模的流程、數據的獲取導入、知識融合的功能等方面,對知識圖譜構建技術進行了詳細的介紹,從而為軟件工程的高效開發和利用提供有價值的參考。
關鍵詞:軟件工程;知識圖譜;構建技術
0引言
2020年底,教育部在答復全國政協《關于將工業設計軟件創新突破作為國家“十四五”規劃戰略性工程實施的提案》中指出:加快發展我國工業軟件是保障國家安全、促進制造業轉型升級的重要舉措,為軟件工程領域的創新發展帶來了利好消息,也是軟件工程理論與實踐發展的重要機遇。在軟件研制領域,通過構建面向軟件工程的知識圖譜,可以為軟件開發人員提供大量的新增服務,使開發人員在項目研發、任務分配、工作推進、故障處理等方式能夠擁有關聯信息智能推送和檢索的助力,使軟件開發的難度大幅降低,開發的質量和效率也能夠得到更加顯著的提升。
1知識圖譜構建的基本架構技術
知識圖譜屬于情報學衍生出的概念,在功能及形態上類似于思維領域的思維導圖,在實現上需要借助信息科學、可視化技術、計量學手段等構建框架,將應用數學、圖形學等學科進行綜合運用,從而對知識資源及其載體進行細致描繪,并且在提取和利用過程中能夠實現快速響應。但從功能上說,知識圖譜本身并不存儲信息、數據,它所發揮的作用在于快速檢索、不斷增加信息獲取深度、提升信息獲取效率,因此“外部網絡”是知識圖譜數據源的重要組成部分(見圖1)。目前,知識圖譜已在金融投資、風險控制、科學教育等諸多行業得到了較為廣泛的應用[1]。從知識圖譜構建的架構來看,其主要包含數據獲取導入模塊、知識建模以及知識融合三個部分。其中,知識獲取和導入模塊是知識圖譜的知識來源,通過從外部獲取知識資源并導入到知識圖譜系統,可以為知識圖譜奠定豐富的知識素材。知識抽取技術研究的是如何從大量的異構數據中抽取特定的知識[2]。知識建模是知識圖譜技術的核心部分,通過知識建模對獲取的知識或文本進行要素識別,可以實現外部資源向知識圖譜可利用資源的轉化。知識融合則是知識圖譜得以有效運轉的保障,通過對獲取、識別后的知識資源進行融合和更新,最終實現知識圖譜的構建,從而為后續的運用你做好充分的準備。值得一提的是,在知識圖譜基本架構中的“數據源”層次,文件系統與關系數據庫主要發揮系統功能,如文件系統中所存儲的均為知識圖譜的半結構化文件或者自由文本,前者主要存儲軟件工程領域的知識文件(主要用XML、JSON格式組織),后者存儲一些說明性內容,如軟件版權、問題描述、處理建議等。關系數據庫中存儲的是結構化數據,主要以表單格式組織,而“外部網絡”的內涵較為豐富,它是實現軟件工程知識圖譜擴容的有效機制,除了在局域網中存儲的保密信息外,還可以關聯外部網絡(即互聯網),以網頁的形式瀏覽公開信息。
2面向軟件工程的知識圖譜構建技術
2.1知識圖譜軟件的基本內容
知識圖譜軟件的數據源主要有文件系統、關系數據庫和外部網絡等方面內容,根據不同來源,數據獲取和導入的路徑和模式也有著相應的變化。例如,在關系數據庫中,由于這些數據本身就是已經設置好的知識圖譜所需的結構化數據,因而可以直接進行關系數據庫的導入操作,通過對數據庫表單數據進行定向讀取,軟件工程的知識圖譜就可以順利進行相應的建模。在面向軟件工程的知識圖譜中,其數據源的存儲方式主要有兩種。其一,是通過資源描述框架進行存儲,也就是知識圖譜中的一條知識;其二是借助圖形數據庫來實現數據的存儲。其中,資源描述框架(resourceddescriptionframework,RDF)主要用來描述資料屬性及不同資料之間的關系,它依據W3C組織定義的數據模型實現容器機制功能,RDF下提供了三種容器形態,即封裝(bag)、順序(sequence)和選擇(alternative),其主要支持Jena、Titan等存儲格式的圖數據庫;而圖形數據庫存儲的方式主要是Neo4J圖形數據庫。相較于前者而言,Neo4J圖形數據庫的使用范圍更加廣泛,開源的社區也十分地活躍,其查詢語言即Cypher也非常便于使用,從而被作為知識圖譜存儲建模的首選軟件。
2.2知識圖譜軟件的數據的獲取和導入
在數據獲取環節,需要針對外部數據源的不同格式和類型,應用相應的軟件進行數據讀取和轉化,必要時應當對數據進行一定的處理,使其能夠與知識圖譜的構建環境相匹配,從而為后續的建模和融合奠定堅實的基礎。對于數據源中的文件系統中的文件,可以較為方便地采取通用文件編程接口進行讀取,因此數據獲取導入層只需包含關系數據庫導入、半結構化數據導入和網絡爬取三部分[3]。例如,針對外部互聯網上的網頁信息數據,其并不能夠直接進行獲取或轉化成為數據庫能夠識別的數據資源,需要借助網絡爬取的工具進行自動訪問、下載和網頁信息數據的解析,從而將數據信息轉換成為知識圖譜軟件所能夠利用的數據庫資源。
2.3知識圖譜軟件的數據清洗、建模與識別
在數據的文本識別與分類環節,需要對已經獲取并導入的數據進行建模,使零散的、無規則的數據逐漸形成一個基本的知識圖譜,盡可能地覆蓋已獲取的全部數據資源,從而為后續的知識融合做好相應的準備。數據建模的過程,主要包含數據清洗轉換、實體關系建模和文本要素識別三個方面。第一,數據清洗轉換是對獲取的數據進行相應的整理和修復,其目的是通過將前期獲取的數據中不完整、不正確的數據甚至是臟數據等進行相應的清洗,使數據變成可以被知識圖譜所正常使用的數據,對于一些不能直接識別的數據還需要進行一定的格式或者類型轉換,從而便于知識圖譜建模。第二,實體關系建模是數據圖譜正式建模的過程,主要是針對獲取的數據中存在的隱含數據項關系等,結合具體的業務知識進行更加細致化的實體關系構建,使業務實體與屬性之間形成一定的對應關系,從而啟動知識圖譜的識別和融合。第三,文本要素識別則是知識圖譜融合的前置步驟,由于資源獲取時只能對資源進行初步的分類和處理,許多非結構化的自由文本信息只能進行整體的獲取,而并沒有得到及時的解析和利用。而如果這些數據信息沒有進行有效利用,將是極大的資源浪費。對此,必須要在知識圖譜構建階段進行文本的單獨標記和識別,采取標簽提取、相似度聚類以及實體識別等策略,將自由文本轉換成為被標記、可歸類的具體數據或者數據庫,從而在后續的知識融合過程中被設置在合理的位置,使其能夠在知識圖譜運用環節能夠被識別和提取。例如,當部分自由文本能夠指向同一個類別,如表1的項目運行故障文本管理,即使該文本不能夠直接轉化為具體數據,也可以進行相應的標記并進行標簽提取和分類,使其成為可歸類、可融合的圖譜數據。
2.4知識圖譜軟件的融合與應用
在知識的建模和融合環節,需要將前兩個環節構建的基礎圖譜與識別后的自由文本等進行匹配,并結合系統自動化對齊、人工識別操作等手段,對軟件工程的知識圖譜進行優化和處理,并在后續的工作中不斷地進行資源更新,從而構建出體系化的知識圖譜。面對軟件工程的知識圖譜構建,需要將數據庫中的業務實體項目與屬性進行相應的對齊處理,如果實體名稱存在相同情況時,還需要進行人工比對和識別,一旦出現實體不同但名稱相同的情況時,還需要采取實體消歧的措施,從而確保實體和屬性的對齊。在基礎知識圖譜建模與融合完成后,再將無法直接轉換為數據信息的自由文本,通過關聯匹配的方式與知識圖譜進行關系,使知識圖譜更加豐富和完善,同時也使得獲取和導入的數據信息資源得以充分利用。知識圖譜融合后,可以通過圖表、虛擬投影等可視化的方式,對圖譜的主要項目內容以及相互之間的關系進行清晰化、立體化顯示,從而為管理人員以及技術開發人員等提供可關注的信息,進而在值得關注的問題或者自己感興趣的類別方面進行快速檢索和查尋,從而大幅提升工作的效率,并且能夠實現多線路同步開展和功能性拓展等其他目標,促進軟件工程管理、使用和研發的高質高效發展。
3結束語
綜上所述,在軟件工程領域“數據信息”已經成為不可缺少的核心資源,在不同的軟件開發與運用過程中都離不開知識圖譜的構建與數據信息的支持。通過對面向軟件工程的知識圖譜構建技術進行解析,不難發現知識圖譜構建的關鍵環節和重點任務,不僅有助于知識圖譜的科學合理構建與管理運用,更加為軟件開發的智能化、信息化推進提供助力,使研發人員能夠更加快速、精準地進行信息獲取和檢索,從而助力軟件工程技術的更好、更快發展。
參考文獻:
[1]王飛,劉井平,劉斌,等.代碼知識圖譜構建及智能化軟件開發方法研究[J].軟件學報,2020,31(1):47-66.
[2]于瀏洋,郭志剛,陳剛,等.面向知識圖譜構建的知識抽取技術綜述[J].信息工程大學學報,2020,21(2):227-235.
[3]張彥,孟令軍,王瑞辰.面向軟件工程的知識圖譜構建技術研究[J].航空電子技術,2020,51(3):41-47.
作者:凱比努爾·賽地艾合買提