張澤清
(福建師范大學(xué)福清分校,福清 350300)
隨著經(jīng)濟(jì)的發(fā)展和科技的進(jìn)步,各行各業(yè)對人才的需求日益增加;同時(shí),互聯(lián)網(wǎng)問世以來取得了巨大的發(fā)展,網(wǎng)上的人力資源也在不斷增長。面對互聯(lián)網(wǎng)上的海量信息,用戶通過傳統(tǒng)的基于關(guān)鍵字或查找內(nèi)容分類目錄的搜索方式往往不能得到自己所需的信息。如何快速準(zhǔn)確地檢索到相關(guān)信息已經(jīng)成為了一個研究熱點(diǎn)。由于本體(Ontology)本身具有一定的推理能力,它能夠使計(jì)算機(jī)在“讀懂”和“理解”的前提下更好地處理用戶的需求。基于Ontology的人力資源語義檢索技術(shù)可以從語義層上支持對人力資源的查詢和共享,從而在一定程度上提高了信息檢索的查全率和查準(zhǔn)率。
資源描述框架RDF(ResourceDescription Framework)是由W3C開發(fā)的一種資源描述框架規(guī)范,它可以被計(jì)算機(jī)閱讀和理解,能夠表達(dá)Web資源的語義信息并使其能在不同的應(yīng)用程序間互換[1]。
本體(Ontology)是共享概念模型的形式化規(guī)范說明,通過概念之間的關(guān)系來描述概念的語義。作為一種有效地表現(xiàn)概念層次結(jié)構(gòu)和語義的模型,本體的目標(biāo)是捕獲相關(guān)領(lǐng)域的知識,提供對該領(lǐng)域知識的共同理解,確定該領(lǐng)域共同認(rèn)同的詞匯,并從不同層次的形式化模式上給出這些詞匯(術(shù)語)間的相互關(guān)系的明確定義[2]。
作為下一代Web技術(shù),語義Web的出現(xiàn)和發(fā)展己成為推動業(yè)務(wù)規(guī)則相關(guān)技術(shù)發(fā)展新驅(qū)動力之一。語義Web的核心思想是賦給當(dāng)前Web信息以機(jī)器可以理解的語義,克服當(dāng)前Web信息只能供人工閱讀和理解的弊端,使施加于Web信息之上的各種智能技術(shù)更加易于實(shí)現(xiàn)[3]。
根據(jù)軟件工程的思想,一個軟件在設(shè)計(jì)之前首先要進(jìn)行需求分析。為了使用戶能夠快速方便地檢索或管理人力資源,本系統(tǒng)應(yīng)具備以下幾項(xiàng)功能:
人力資源檢索功能:計(jì)算機(jī)無法理解人的自然語言,但是本系統(tǒng)采用了Ontology技術(shù),對用戶給定的查詢條件加入了語義處理,使用戶的查詢要求轉(zhuǎn)化為計(jì)算機(jī)可以理解的形式,因而能夠查找資源庫中已有的各類人力資源;
語義推理功能:語義檢索系統(tǒng)能夠?qū)τ脩舻臋z索式進(jìn)行語義擴(kuò)展和推理,如上下位詞和近義詞的擴(kuò)展等,并且可以通過語義推理挖掘信息庫中更深一層的含義。
人機(jī)交互功能:系統(tǒng)應(yīng)當(dāng)具備友好的人機(jī)界面,當(dāng)用戶輸入檢索條件時(shí),系統(tǒng)能夠響應(yīng)該條件并將相應(yīng)的結(jié)果反饋給用戶。
查新功能:用戶根據(jù)需要可以設(shè)置顯示近幾年的信息,以去除過早的無用信息,這樣可以大大地提高系統(tǒng)的響應(yīng)速度。
人力資源管理功能:包括對人力資源本體和各類人力資源進(jìn)行管理,比如上傳、更新、編輯和刪除人力資源功能等。

圖1 基于Ontology的人力資源語義檢索系統(tǒng)的體系結(jié)構(gòu)圖Fig.1 The structure of human resources semantic search system based on domain ontology
基于Ontology的人力資源語義檢索系統(tǒng)的體系結(jié)構(gòu)采用了基于B/S的三層結(jié)構(gòu),即把該系統(tǒng)分為三層:表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)層,如圖 1所示。
1.表示層:用戶可通過瀏覽器向系統(tǒng)提交檢索請求。該層的開發(fā)主要采用JSP技術(shù)將HTML文本返回該客戶端,因此客戶端可視化界面就能瀏覽相關(guān)信息。因此要開發(fā)一個友好的人機(jī)界面,把檢索結(jié)果呈現(xiàn)給用戶。
2.業(yè)務(wù)邏輯層:該層包括本體維護(hù)組件、語義分析組件、語義推理組件、語義標(biāo)注組件、信息采集組件等。信息資源要進(jìn)行預(yù)處理,語義標(biāo)注組件對領(lǐng)域Ontology實(shí)體進(jìn)行標(biāo)注并對網(wǎng)頁、圖片、文檔等信息資源做出語義描述,即對信息資源進(jìn)行標(biāo)引并存儲成RDF格式并將web資源標(biāo)注數(shù)據(jù)以RDF語言的形式保存到人力資源描述庫。Web資源描述組件訪問數(shù)據(jù)層對搜索引擎搜索到的人力資源信息進(jìn)行概念語義描述。語義分析組件在獲得到用戶請求后將其轉(zhuǎn)換為SPARQL查詢語言,推理組件使用Jena包中通用規(guī)則推理機(jī)制,通過寫好的形式化的規(guī)則庫文件對領(lǐng)域Ontology實(shí)體進(jìn)行推理并對已標(biāo)注的元數(shù)據(jù)庫進(jìn)行檢索,生成語義索引庫,這樣使得用戶的檢索要求和程序“理解”的語義達(dá)到一致,語義索引庫可將結(jié)果返回給表示層。
3.數(shù)據(jù)層:包括人力資源本體、人力資源描述庫和Web資源庫。本體庫以RDF三元組的形式存放人力資源知識;人力資源描述庫儲存人力資源本體RDF的實(shí)例文件;Web資源庫存儲了由搜索引擎搜索到的有關(guān)人力資源領(lǐng)域的Web資源。
本文采用Java作為開發(fā)語言,運(yùn)用JSP、Servlet和JavaBean等技術(shù),以Microsoft SQL Server 2008為后臺服務(wù)器數(shù)據(jù)庫,Tomcat6.0為Web服務(wù)器,Protégé3.3為開發(fā)工具,完成了系統(tǒng)多個模塊的實(shí)現(xiàn)。
要實(shí)現(xiàn)語義檢索,首先要對人力資源這一領(lǐng)域進(jìn)行建模,即在領(lǐng)域?qū)<业膸椭虏⒔柚嚓P(guān)的工具構(gòu)造領(lǐng)域本體。本系統(tǒng)建立了一個人力資源的本體,描述了以人力資源作為研究領(lǐng)域的相關(guān)概念及其屬性,定義了檔案管理類、人事管理類、機(jī)構(gòu)管理類、職位管理類、系統(tǒng)維護(hù)類、報(bào)表類等資源對象。每個類再定義若干子類,例如人事管理又分為招聘管理、培訓(xùn)管理、調(diào)動管理、合同管理等子類,然后對每個子類進(jìn)行細(xì)化,直至將所需要的問題描述清楚為止,如圖2所示。

圖2 人力資源的本體的構(gòu)建(局部)Fig.2 The construction of the ontology of human resources(local map)

圖 3 Protégé3.3 界面圖Fig.3 The interface diagram of protégé3.3
系統(tǒng)選用 Protégé3.3作為本體建模工具,界面圖如3所示。Protégé3.3是由斯坦福大學(xué)的開發(fā)的一個開放源碼的本體編輯器,它是用Java編寫的集本體編輯與實(shí)例編輯于一體的工具,擁有可視化的用戶界面 GUI,在 Protégé編輯器以樹形的層次目錄結(jié)構(gòu)顯示本體結(jié)構(gòu),用戶可以通過點(diǎn)擊相應(yīng)項(xiàng)來編輯或增加類、子類、屬性、實(shí)例等元素,用戶無需了解具體的本體描述語言就可以在概念層次上設(shè)計(jì)領(lǐng)域本體模型。Protégé支持多重繼承,用戶可以將 Protégé的內(nèi)部表示轉(zhuǎn)換成多種形式的文本包括XML、RDF(S)、OIL、OWL等系列語言。后臺支持?jǐn)?shù)據(jù)庫存儲,可以使用JDBC和JDBC-ODBC橋訪問數(shù)據(jù)庫[4]。下面給出采用Protégé3.3 對圖 2 的概念體系進(jìn)行形式化并以O(shè)WL語言作為輸出語言的部分代碼。


語義推理能夠根據(jù)用戶提交的語義查詢進(jìn)行相應(yīng)的語義擴(kuò)展,譬如完成檢索詞的同義、上下位語義等邏輯關(guān)系推理的實(shí)現(xiàn),此外還要找出蘊(yùn)含在事實(shí)中符合條件要求的信息,從而解決了傳統(tǒng)信息檢索語義缺乏的問題。
Jena是一個Java開發(fā)工具包,用于開發(fā)語義網(wǎng)的應(yīng)用系統(tǒng)。Jena由HP公司的Brian McBride開發(fā),起源于早些時(shí)候SiRPAC API的工作。Jena本體解析器包括三部分,對RDF的解析、RDQL的查詢支撐和對OWL的解析[5]。Jena推理機(jī)實(shí)現(xiàn)的部分代碼如下:



圖4 用戶系統(tǒng)界面Fig4 The user-system interface

系統(tǒng)界面如圖 4所示。為了保障系統(tǒng)的安全性,用戶進(jìn)入該系統(tǒng)首先要通過身份認(rèn)證。如果是第一次使用本系統(tǒng),用戶需要注冊,經(jīng)系統(tǒng)認(rèn)證后重新登錄。在該界面中選擇自己的權(quán)限,是普通用戶還是管理員,然后輸入用戶名和密碼,單擊"登錄"按鈕。如果密碼輸入正確則登錄到相應(yīng)的用戶操作界面;如果用戶名或密碼不正確,則系統(tǒng)出現(xiàn)提示“請重新輸入”,連續(xù)五次登錄不成功的用戶將被系統(tǒng)自動鎖定。普通用戶登錄后,系統(tǒng)會出現(xiàn)檢索界面。系統(tǒng)管理員的主要任務(wù)是維護(hù)本體和更新本體庫中的信息資源。
本文分析了傳統(tǒng)信息檢索技術(shù)的不足,指出了問題的根源。在系統(tǒng)建模之前先對系統(tǒng)進(jìn)行需求分析,將基于B/S的三層結(jié)構(gòu)作為系統(tǒng)體系結(jié)構(gòu),并把與系統(tǒng)關(guān)聯(lián)的應(yīng)用模型封裝在業(yè)務(wù)邏輯層,隔離了表示層和數(shù)據(jù)層。用戶瀏覽器端不能直接訪問數(shù)據(jù)庫,較之傳統(tǒng)的B/S結(jié)構(gòu),該結(jié)構(gòu)提高了系統(tǒng)的安全性。本文對基于Ontology的語義檢索技術(shù)及其關(guān)鍵技術(shù)進(jìn)行了深入研究,提出了基于Ontology的語義檢索方法,并以人力資源領(lǐng)域?yàn)槔?yàn)證了該方法的可行性。
[1]何曉萍.數(shù)字資源建設(shè)與利用[M].南昌市:江西科學(xué)技術(shù)出版社,2006.
[2]何夢龍,姜麗紅,蔡鴻明.一種基于醫(yī)療領(lǐng)域本體的數(shù)據(jù)檢索框架的研究計(jì)算機(jī)應(yīng)用與軟件[J].2010,27(11):6-7.
[3]郭雙宙.基于語義Web規(guī)則的軟件體系結(jié)構(gòu)[J].計(jì)算機(jī)工程,2010,36(21):83-83.
[4]Holger Knublauch,Mark AM,Alan LR.Editing Description Logic Ontologies with the Protégé OWL Plugin[M].In:International Workshop On Description Logics,Whistler,BC,Canada,2004.
[5]宋煒,張銘.語義網(wǎng)簡明教程[M].北京:高等教育出版社,2004.