余立虎
摘 要軟件工程涉及程序設計語言、數據庫、軟件開發工具、系統平臺、標準、設計模式等方面的工作,是IT知識領域的核心學科。隨著計算機技術的發展,軟件工程領域知識也越來越多,但是我們傳統的軟件工程領域知識庫沒有相應的語義檢索的能力,這對軟件工程行業的發展來說是很大的阻礙。本文就軟件工程領域知識庫現有的問題進行分析,主要是語義檢索方面的缺失做以探討,總結本體下軟件工程領域知識庫構建的具體方法。
【關鍵詞】本體 軟件工程 知識庫構建 知識檢索
知識作為國家文化軟實力、文化產業中重要的組成部分,它的發展和應用關系國民經濟發展、社會科學的進步。而知識庫的概念來自兩個不同的領域,一個是人工智能及其分支-知識工程領域,另一個是傳統的數據庫領域。由人工智能(AI)和數據庫(DB)兩項計算機技術的有機結合,促成了知識庫系統的產生和發展。基于知識的系統(或專家系統)具有智能性,并不是所有具有智能的程序都擁有知識庫,只有基于知識的系統才擁有知識庫。
1 基本概念以及現狀分析
“本體”是‘本和‘體兩個獨立的漢字組成的漢語復合詞。‘本字的基本含義是植物的根,引申義是事物的本源或來源;‘體字的基本含義是人的身體,引申義是事物的身體或形體。在人工智能界,最早給出本體(Ontology)定義的是Neches等人,他們將本體定義為“給出構成相關領域詞匯的基本術語和關系,以及利用這些術語和關系構成的規定這些詞匯外延的規則的定義”。Neches認為:“本體定義了組成主題領域的詞匯表的基本術語及其關系,以及結合這些術語和關系來定義詞匯表外延的規則。”后來在信息系統、知識系統等領域,越來越多的人研究“本體”并給出了許多不同的定義。其中最著名并被引用得最為廣泛的定義是由Gruber提出的,“本體是概念化的明確的規范說明”。
目前就本體語義檢索而言,在國外存在有很多的檢索體系,譬如:Ontbroker、SKC以及Swoogle 等語義檢索系統。而我國的本體語義檢索系統尚且正在處于一個起步開始的階段,在研究進行的過程中國內的相關專家學者對于語義檢索內容的及結果的相對準確率較低。
2 本體下的軟件工程領域知識庫構建方法
軟件工程的本體構建是在軟件工程知識庫構建的核心。領域本體的具體內容包括軟件領域知識的內涵關系、知識結構以及屬性說明等。以維基百科為例分析本體下軟件工程領域知識庫的合理構建。
2.1 維基百科的數據分析
維基百科(英語:Wikipedia)是一個強調Copyleft自由內容、協同編輯(Collaborative Editing)以及多語言版本的網絡百科全書,該網站也以互聯網作為媒介而擴展成為一項基于Wiki技術發展的世界性百科全書協作計劃,并由非營利性質的維基媒體基金會負責相關的發展事宜。是由來自世界各地的志愿者合作編輯而成,整個計劃總共收錄了超過2,200萬篇條目,而其中又以英語維基百科以超過404萬篇條目的數字排名第一。2015年5月19日中文維基百科被關鍵字屏蔽和DNS污染 ,而其他語言的維基百科暫未受到影響,可以正常訪問。
維基百科社區已經制定了許多方針和指引以改善這部百科全書,但并不一定要完全熟悉這些規則后才能夠作出貢獻。維基百科的內容與規則是由志愿者所共同決定,維基媒體基金會大多僅作為輔助的角色,不干涉百科全書的內容。訪客只需要依據方針,便能夠改善維基百科、修正百科解釋。無論是任何年齡、來自何種文化或社會背景的人都可以參與維基百科的行列。任何人只要能連上互聯網都可按下“編輯”的鏈接來修改多數條目的內容,而世界上也的確有上百萬人正在這么做。每個人只需要符合維基百科的編輯方針,都能夠自由添加信息、參考資料或者是注釋。不需要擔心不小心破壞維基百科的架構,社區成員們會適時的提出建議或者修復錯誤。
2.2 有效的知識選擇
維基百科的具體分類主要有頁面導航、主題、目錄劃分這幾個方面的內容,這些設定從不同程度上方便了用戶對資料的找尋和品讀。在其知識庫建立的過程中,注意知識點與知識點之間的內在緊密聯系,將這些分散的軟件工程知識運用他們之間的內在關聯進行有效的組織和整理,軟件工程知識庫的知識處理方式是知識到密集型信息再到知識處理結構這樣一個知識處理模型當中。
在軟件工程領域知識庫的構建中有兩部分主要的工作內容,第一是知識的儲備,第二是知識的有效檢索。傳統意義上的語義檢索是在關鍵詞查找的結果上進行的,但是由于用戶個人所出具查找關鍵字詞的不確定原因導致檢索輸出的內容與用戶的查找意圖不相匹配,這主要是用戶自身知識積累欠缺,與用戶自身有著很大的關系。所以構建本體下的軟件工程領域知識庫有助于幫助提高語義檢索輸出的結果與用戶實際的檢索意圖相吻合這一技術成果的實現。
3 結束語
隨著社會時代的發展,知識的儲備數量越來越多,為實現更為精確準確的語義檢索系統,盡最大可能的切合用軟件用戶的查找意圖,這對本體下知識庫的建立來說是時代贈與他們的挑戰。本體下的軟件工程領域知識庫的構建是一個及時更新、時時變動的運動過程。軟件工程在整個計算機技術領域都有著至關重要的地位作用,本體的知識結構領域具備語音層面的結構意義,它能夠簡單的進行用戶思維邏輯的模仿,從而達到實現用戶精確的知識資料查詢,是本體下軟件工程領域知識庫構建的主要研究方向。
參考文獻
[1]馬曉丹,鄧曉晴,彭文娟,閻紅燦.基于領域本體的知識庫架構和實現[J].河北聯合大學學報(自然科學版),2012,04:42-47.
[2]于鑫剛,李萬龍.基于本體的知識庫模型研究[J].計算機工程與科學,2008,06:134-136.
[3]袁磊,張浩,陳靜,陸劍峰. 基于本體化知識模型的知識庫構建模式研究[J].計算機工程與應用,2006,30:65-68+104.
[4]劉雁昆.基于本體的軟件工程領域知識庫構建方法研究[D].北方工業大學,2015.
[5]曹燦.基于本體的軟件工程課程知識庫研究和應用[D].北京林業大學,2010.
作者單位
運城職業技術學院 山西省運城市 044000