陳永芳
(茂名職業(yè)技術(shù)學(xué)院 計算機工程系,廣東 茂名 525000)
根據(jù)國家“十四五”規(guī)劃工程實施提案規(guī)定,中國在2020年底將加快工業(yè)軟件的發(fā)展,以實現(xiàn)國家軟件安全和工業(yè)、制造業(yè)的合理轉(zhuǎn)型,這不僅是軟件工程領(lǐng)域發(fā)展的機遇,也是在實踐過程中面臨的重大挑戰(zhàn)。目前,在軟件工程領(lǐng)域中,通過數(shù)據(jù)庫構(gòu)建進行軟件管理,而在數(shù)據(jù)庫建立過程中,主要通過構(gòu)建工程知識圖譜進行軟件工程數(shù)據(jù)庫的研發(fā)、分配、工作推進、故障消除、檢索、推送等,一方面增加了軟件工程數(shù)據(jù)庫的智能化和管理優(yōu)質(zhì),另一方面顯著提升了軟件開發(fā)的質(zhì)量和效率,使用戶在獲取軟件知識時更便捷、高效。
知識圖譜是指對軟件工程的概念和功能進行多層次、全方位的匯總,進而構(gòu)建類似思維領(lǐng)域的思維導(dǎo)圖,再通過圖形可視化、應(yīng)用模型、數(shù)學(xué)統(tǒng)計和科學(xué)統(tǒng)計等手段構(gòu)建智能化推薦框架,實現(xiàn)對軟件工程資源細致化描述,使各軟件知識在軟件數(shù)據(jù)庫中獲得快速響應(yīng)。當前,構(gòu)建的知識圖譜主要功能是快速檢索、獲取信息資源深度和信息獲取效率提升等,不僅是金融、科學(xué)教育、軟件工程和培訓(xùn)中的重要技術(shù)支持,而且是知識圖譜數(shù)據(jù)源中的重要組成部分之一。
為實現(xiàn)智能化、科技化、合理化且準確化的軟件工程數(shù)據(jù)庫構(gòu)建,本文基于軟件工程基礎(chǔ)數(shù)據(jù),以知識圖譜為技術(shù)手段構(gòu)建軟件工程數(shù)據(jù)庫,該數(shù)據(jù)庫具備全面性、可擴展性、多樣性和經(jīng)濟性等基礎(chǔ)特征,并通過術(shù)語表示、數(shù)學(xué)模型構(gòu)建等方法實現(xiàn)對軟件工程數(shù)據(jù)庫的獲取、查詢和優(yōu)質(zhì)管理。隨后,通過對軟件工程數(shù)據(jù)庫知識圖譜數(shù)據(jù)進行性能、功能雙測試,進而優(yōu)化基于知識圖譜的智慧化信息資源調(diào)度系統(tǒng),充分發(fā)揮軟件工程數(shù)據(jù)庫的綜合經(jīng)濟效益,實現(xiàn)軟件工程資源信息的可持續(xù)發(fā)展戰(zhàn)略。
本文為詳細掌握基于知識圖譜的軟件工程數(shù)據(jù)庫,便于用戶和機構(gòu)高效、多方面地獲取軟件信息資源,構(gòu)建軟件工程知識圖譜體系示意圖(見圖1)。通過圖1可知,研究構(gòu)建體系主要由數(shù)據(jù)獲取/導(dǎo)入、知識建模和知識融合構(gòu)成。其中,數(shù)據(jù)獲取/導(dǎo)入主要通過外部關(guān)系數(shù)據(jù)庫、半結(jié)構(gòu)數(shù)據(jù)庫和網(wǎng)絡(luò)數(shù)據(jù)庫導(dǎo)入軟件工程信息資源,從而擴展軟件工程知識圖譜的知識素材,實現(xiàn)數(shù)據(jù)的多元化。知識建模主要分為關(guān)系型數(shù)據(jù)建模和文本關(guān)鍵要素識別,是知識圖譜技術(shù)的核心內(nèi)容,其主要功能是通過術(shù)語表示、知識抽取和實體建模等過程進行軟件工程資源知識獲取、識別等。知識融合則主要分為知識對齊、圖譜更新內(nèi)容,這里的知識對齊具體分為實體對齊、屬性對齊和實體關(guān)系學(xué)習(xí),以此為基礎(chǔ),通過軟件知識資源的獲取、識別、對齊后實現(xiàn)軟件工程資源數(shù)據(jù)的更新和融合,進而構(gòu)建基于知識圖譜可視化、智能化的軟件工程數(shù)據(jù)庫。
圖1 軟件工程數(shù)據(jù)庫知識圖譜示意圖Fig.1 Schematic diagram of knowledge map of software engineering database
本文通過知識圖譜方法對軟件工程數(shù)據(jù)庫進行研究。研究中在構(gòu)建知識圖譜時,主要通過詞頻分析法、關(guān)聯(lián)詞分析法和社會網(wǎng)絡(luò)分析法等研究方法實現(xiàn)知識圖譜架構(gòu)。其中,詞頻分析法,通過軟件工程中的關(guān)鍵詞,如軟件、科學(xué)工程、信息技術(shù)等進行索引,將具備相關(guān)軟件知識資源的內(nèi)容匯聚在一起,同時通過關(guān)鍵詞頻獲悉詞頻關(guān)注度,進而分析關(guān)鍵詞探析軟件工程結(jié)構(gòu)、研究熱點等內(nèi)容,實現(xiàn)知識匯總。關(guān)聯(lián)詞分析法,主要通過同類中的相關(guān)性,揭示研究對象與對象間的特征關(guān)系,進而將有關(guān)詞頻加入知識圖譜信息庫,實現(xiàn)軟件工程數(shù)據(jù)庫的建立。社會網(wǎng)絡(luò)分析法,將軟件信息資源擴展到社會各領(lǐng)域中,通過社會分析法,揭示相關(guān)領(lǐng)域間的關(guān)系和發(fā)展狀態(tài),以量化研究構(gòu)建社會網(wǎng)絡(luò)個體關(guān)系模型,通過網(wǎng)絡(luò)屬性,探析不同成員間網(wǎng)絡(luò)結(jié)構(gòu)特征和社會屬性特征,用于實現(xiàn)軟件工程知識的索引獲取,將知識資源通過知識圖譜技術(shù)展示給用戶,使用戶獲取的信息精度和信息量皆為最優(yōu),實現(xiàn)知識圖譜架構(gòu)體系的優(yōu)質(zhì)性。
2.1.1 數(shù)據(jù)庫全面性
本文基于知識圖譜技術(shù)構(gòu)建軟件工程數(shù)據(jù)庫,應(yīng)用圖像(可視化)和資源數(shù)據(jù)(數(shù)據(jù)表示)理論,通過定性、定量化分析應(yīng)用對關(guān)系型數(shù)據(jù)、半結(jié)構(gòu)型數(shù)據(jù)和網(wǎng)絡(luò)型數(shù)據(jù)進行匯總,并以軟件工程學(xué)科知識和相近管理學(xué)科知識作為數(shù)據(jù)源,實現(xiàn)軟件工程數(shù)據(jù)的全方位、多層次定位分析,以保障數(shù)據(jù)信息的安全性和全面性,達到用戶高效獲取信息資源的目的。
2.1.2 數(shù)據(jù)庫可擴展性
在軟件工程知識圖譜體系構(gòu)建后,軟件工程專業(yè)知識的內(nèi)容將更為透徹,但知識在學(xué)習(xí)中是不斷挖掘和拓展的過程,在不同用戶獲取軟件工程知識、學(xué)習(xí)知識的過程中,對知識的解譯程度不一,因此,新的軟件知識將不斷涌現(xiàn),并不斷被知識圖譜體系收錄,以此實現(xiàn)了軟件工程數(shù)據(jù)庫的擴展,知識存儲量也隨即得以提高。
2.1.3 數(shù)據(jù)庫多樣性和經(jīng)濟性
本文基于知識圖譜理論和技術(shù)所構(gòu)建的軟件工程數(shù)據(jù)庫,主要包括軟件工程基礎(chǔ)知識、熱點知識、前言理論知識、前言知識圖譜知識、多層次軟件知識、全方位軟件工程理論等,實現(xiàn)了軟件工程數(shù)據(jù)庫的多樣化,同時,在一定程度上也為軟件工程理論研究提供了技術(shù)支持。在經(jīng)濟性方面,一方面降低了軟件工程學(xué)科和數(shù)據(jù)庫在知識獲取方面的花銷和周期,另一方面通過相關(guān)聯(lián)系知識,提高了用戶的使用概率,發(fā)揮了知識圖譜工具的優(yōu)勢,經(jīng)濟發(fā)展能力得到提升。
本文通過對軟件工程數(shù)據(jù)庫知識圖譜進行開發(fā)設(shè)計,以利于便捷信息資源的管理和獲取。首先將其主要分為分層次、步驟和模塊三個方面。在分層次中,每層間具有本身的特征屬性,但每層之間又存在著相互管理,通過分析數(shù)據(jù)資源原理、分層設(shè)計后有助于實現(xiàn)軟件工程數(shù)據(jù)庫知識圖譜的安全、科學(xué)管理過程。其次,分步驟中,通過軟件工程知識主體、研究熱點、前沿知識匯總、存儲、特征關(guān)聯(lián)和獲取等,將數(shù)據(jù)庫設(shè)計為科學(xué)、高效、有管理制度的發(fā)展趨勢,不僅有利于知識圖譜軟件工程數(shù)據(jù)庫的良性發(fā)展,而且確定了知識的集中性和研究熱點原則。在模塊方面,通過構(gòu)建知識實體獲取、表示模塊、數(shù)據(jù)庫構(gòu)建實現(xiàn)和數(shù)據(jù)庫功能測試等模塊,不同模塊間相互關(guān)聯(lián),遵循數(shù)據(jù)資源共享、共建原則,以此,有利于知識圖譜技術(shù)的可持續(xù)發(fā)展。
圖2為知識圖譜設(shè)計框架示意圖。通過圖2可知,軟件工程數(shù)據(jù)庫知識圖譜設(shè)計構(gòu)架在圖1軟件工程數(shù)據(jù)庫總體體系上,將其進一步細化為5部分,包括數(shù)據(jù)庫、數(shù)據(jù)庫整合、知識表示、圖譜構(gòu)建和應(yīng)用服務(wù)等。其中,知識表示是主體研究內(nèi)容,其實體對齊和質(zhì)量評估是知識圖譜建成的關(guān)鍵點,其功能一方面保證了數(shù)據(jù)獲取過程中的準確性和有效性,另一方面軟件工程數(shù)據(jù)經(jīng)對齊特征,將關(guān)聯(lián)數(shù)據(jù)匯總進數(shù)據(jù)庫,實現(xiàn)了不同層面、不同方位上的知識解讀,知識圖譜研究框架的構(gòu)建,有利于軟件工程數(shù)據(jù)庫的可視化數(shù)據(jù)展示,進一步有效避免了在數(shù)據(jù)分析、知識資源分析和知識屬性特征認證中的錯誤性和重復(fù)性問題。
圖2 知識圖譜設(shè)計構(gòu)架Fig.2 Design framework of knowledge map
2.3.1 術(shù)語表示
在知識圖譜架構(gòu)體系中,術(shù)語表示是極為關(guān)鍵的,這不僅是知識圖譜中學(xué)習(xí)概念、實體構(gòu)建、數(shù)據(jù)資源和屬性特征語言上的表現(xiàn)形式,而且是相關(guān)術(shù)語或者數(shù)據(jù)庫存儲標記的集合體。在構(gòu)架體系中,術(shù)語常有單個字或者多個字、詞組成,在特定的環(huán)境、特定的背景和領(lǐng)域中表達各不同的含義,對同種特征關(guān)系的知識圖譜軟件工程數(shù)據(jù)庫的數(shù)據(jù)資源解譯是極為重要的。術(shù)語表示中,術(shù)語抽取是核心內(nèi)容,主要通過語言規(guī)則和統(tǒng)計學(xué)方法進行抽取表示,在統(tǒng)計方法中,統(tǒng)計基準值主要為TF-IDF(Term Frequency-Inverse Document Frequency)、卡方分布和互信息分布等,不僅有效解譯了術(shù)語表示信息,而且提高了用戶對軟件工程專業(yè)知識的認知效率。其中,術(shù)語表示統(tǒng)計學(xué)表達式可分別寫為:
其中,表示最常用的屬于分布特征權(quán)重基準;()表示詞頻,即詞匯在文檔中的總次數(shù);()表示文檔頻率,即詞匯在文檔中的數(shù)目;表示總文檔數(shù)目。
2.3.2 知識表示
在知識圖譜構(gòu)架體系中,知識表示是指將收集、存儲、轉(zhuǎn)化和解譯的信息直觀清晰地展示在用戶界面上。在軟件工程數(shù)據(jù)庫設(shè)計中,通過編碼知識、行為、目標、偏好等,給出多個維度評價知識圖譜知識表示,實現(xiàn)知識表示過程中具有足夠多的細節(jié)知識,以及易理解、易傳輸和易提取等。同時為更好地實現(xiàn)知識圖譜數(shù)據(jù)資源知識表示,本文通過距離模型和單層神經(jīng)網(wǎng)絡(luò)進行數(shù)據(jù)庫信息知識表示,對此擬做研究分述如下。
(1)距離模型。結(jié)構(gòu)表示方法將頭實體和尾實體通過關(guān)系的2個矩陣投影到同一空間,投影向量之間的距離體現(xiàn)了2個實體在關(guān)系下的語義相關(guān)度。對于每個三元組(,,),損失函數(shù)為:
其中,M 、M 是關(guān)系對于頭實體和尾實體投影矩陣。
(2)單層神經(jīng)網(wǎng)絡(luò)。此處涉及的數(shù)學(xué)公式可寫為:
單層神經(jīng)網(wǎng)絡(luò)模型是結(jié)構(gòu)表示的改進版本,利用神經(jīng)網(wǎng)絡(luò)的非線性減輕結(jié)構(gòu)表示協(xié)同性差的問題。
由于知識圖譜是屬于結(jié)構(gòu)化的詞義知識網(wǎng)絡(luò)庫,選取知識概念和相互關(guān)系用于知識抽取,進行大量知識的積累,因此,通過知識圖譜可實現(xiàn)數(shù)據(jù)資源的快速響應(yīng)。目前,在軟件工程領(lǐng)域中,通過可視化將數(shù)據(jù)采集的項目、風(fēng)險等級預(yù)測、質(zhì)量因素等相關(guān)信息資源清晰地展示出來,對問題發(fā)現(xiàn)、數(shù)據(jù)匯總和高效查閱提供了優(yōu)質(zhì)手段。其次,知識圖譜技術(shù)將相同特征信息進行聚類分析處理,很大程度上提高了用戶在海量信息中獲取關(guān)鍵術(shù)語、概念的精準效率。目前,在軟件工程領(lǐng)域中(常見的百度搜索、天眼系統(tǒng)等),因行業(yè)區(qū)域知識相差較大,為符合實際應(yīng)用需求,需構(gòu)建知識圖譜網(wǎng)狀體系進行軟件工程數(shù)據(jù)庫的設(shè)計,從多方面、多層次內(nèi)為用戶資料獲取提供強力支持。
本文為保證知識圖譜系統(tǒng)的各個模塊能進行正常運轉(zhuǎn),通過不同測試方法對用戶登錄管理模塊、知識表示模塊、模型模塊等方面進行測試,以探尋可能出現(xiàn)的系統(tǒng)問題,期待預(yù)期結(jié)果和測試方法見表1。
表1 系統(tǒng)功能測試內(nèi)容Tab.1 System functional test content
本文通過知識圖譜技術(shù)的優(yōu)點特征設(shè)計了一類軟件工程數(shù)據(jù)庫,通過掌握知識圖譜的構(gòu)架過程及詞頻分析法、關(guān)聯(lián)詞分析法和社會網(wǎng)絡(luò)分析法等研究方法,首先,深入分析了知識圖譜數(shù)據(jù)庫的全面性、可擴展性、經(jīng)濟性等優(yōu)點,其特點是通過軟件工程數(shù)據(jù)庫實現(xiàn)用戶的信息資源的精準獲取目的。其次,通過對設(shè)計構(gòu)架的知識表示、術(shù)語表示等的探討來深入解析知識圖譜原理,以便于軟件工程數(shù)據(jù)庫的設(shè)計、開發(fā)和應(yīng)用。最后,通過知識圖譜軟件工程數(shù)據(jù)庫的實現(xiàn)和測評,驗證其資源獲取性能和效率。本文通過知識圖譜軟件工程數(shù)據(jù)庫的構(gòu)建,極大提升了用戶項目開發(fā)、軟件工程信息資源調(diào)查時的工作效率。