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