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

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

圖2 人力資源的本體的構建(局部)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
系統選用 Protégé3.3作為本體建模工具,界面圖如3所示。Protégé3.3是由斯坦福大學的開發的一個開放源碼的本體編輯器,它是用Java編寫的集本體編輯與實例編輯于一體的工具,擁有可視化的用戶界面 GUI,在 Protégé編輯器以樹形的層次目錄結構顯示本體結構,用戶可以通過點擊相應項來編輯或增加類、子類、屬性、實例等元素,用戶無需了解具體的本體描述語言就可以在概念層次上設計領域本體模型。Protégé支持多重繼承,用戶可以將 Protégé的內部表示轉換成多種形式的文本包括XML、RDF(S)、OIL、OWL等系列語言。后臺支持數據庫存儲,可以使用JDBC和JDBC-ODBC橋訪問數據庫[4]。下面給出采用Protégé3.3 對圖 2 的概念體系進行形式化并以OWL語言作為輸出語言的部分代碼。


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



圖4 用戶系統界面Fig4 The user-system interface

系統界面如圖 4所示。為了保障系統的安全性,用戶進入該系統首先要通過身份認證。如果是第一次使用本系統,用戶需要注冊,經系統認證后重新登錄。在該界面中選擇自己的權限,是普通用戶還是管理員,然后輸入用戶名和密碼,單擊"登錄"按鈕。如果密碼輸入正確則登錄到相應的用戶操作界面;如果用戶名或密碼不正確,則系統出現提示“請重新輸入”,連續五次登錄不成功的用戶將被系統自動鎖定。普通用戶登錄后,系統會出現檢索界面。系統管理員的主要任務是維護本體和更新本體庫中的信息資源。
本文分析了傳統信息檢索技術的不足,指出了問題的根源。在系統建模之前先對系統進行需求分析,將基于B/S的三層結構作為系統體系結構,并把與系統關聯的應用模型封裝在業務邏輯層,隔離了表示層和數據層。用戶瀏覽器端不能直接訪問數據庫,較之傳統的B/S結構,該結構提高了系統的安全性。本文對基于Ontology的語義檢索技術及其關鍵技術進行了深入研究,提出了基于Ontology的語義檢索方法,并以人力資源領域為例驗證了該方法的可行性。
[1]何曉萍.數字資源建設與利用[M].南昌市:江西科學技術出版社,2006.
[2]何夢龍,姜麗紅,蔡鴻明.一種基于醫療領域本體的數據檢索框架的研究計算機應用與軟件[J].2010,27(11):6-7.
[3]郭雙宙.基于語義Web規則的軟件體系結構[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]宋煒,張銘.語義網簡明教程[M].北京:高等教育出版社,2004.