周建慧,彭 煒,高 云,張旭龍,郭艷萍
(山西大同大學計算機與網絡工程學院,山西大同 037009)
本體搜索是指用戶根據需要,查詢和獲取有關本體的一種途徑。目前,本體搜索主要是通過對本體進行索引,并依據某些相似度計算方法對本體進行排序實現(xiàn)的。不同的本體搜索工具在獲取、索引、排序、可視化等方面都不盡相同。目前常見的本體搜索工具包括Swoolge、OntoKhoj、OntoSearch、SQORE、Falcons等[1]。
在Swoolge[2]搜索引擎中,采用特征向量的方法對本體進行形式化的表達,通過查詢獲得本體搜索結果集合后,采用TF/IDF 方法對本體索引結構中的特征向量計算與用戶需求的相似度[3],對本體搜索結果進行相似度排序,進而獲得最終的搜索結果。
OntoKhoj[4]是針對本體的構建、查詢、可視化、匹配等問題構建的本體工程API,在本體搜索功能模塊中,OntoKhoj 采用Rainbow Tool 對本體資源庫中的本體描述文件進行分類查詢,分類查詢過程中主要采用了樸素貝葉斯分類器、K?近鄰分類器、向量空間模型相似度分類器、概率索引分類器等[5]對不同規(guī)模和特征的本體資源庫進行配置完成本體搜索。同時在OntoKhoj 中還采用了Graph?Viz 工具展示本體搜索的結果。
OntoSearch[6]是一種面向互聯(lián)網資源搜索而開發(fā)的工具,本體也被視為一種互聯(lián)網資源成為On?toSearch 的搜索對象。該工具以谷歌搜索引擎的核心部件為基礎,對互聯(lián)網中的本體資源進行解析,獲得其中的關鍵詞;另一方面,對用戶輸入的搜索需求通過分詞獲得搜索關鍵詞,通過關鍵詞的匹配獲得對應的本體資源。
SQORE[7]是一個基于語義擴展的本體搜索引擎,對于用戶輸入的搜索條件,采用外部語義資源將搜索條件中的關鍵詞進行語義擴展,擴展后獲得的關鍵詞與搜索條件中的關鍵詞按照外部語義資源中的語義關系建立對應的關鍵詞三元組,形成三元組查詢條件[8],最終通過三元組的匹配度,對滿足用戶需求的三元組對應的本體資源返回給用戶。
Falcons[9]是我國東南大學開發(fā)的本體匹配查詢工具,能夠采用不同的核心搜索引擎對不同類型的本體描述資源進行解析查詢,在本體資源的搜集方面,通過語義網的網絡爬蟲,從相關的語義網資源中獲取相關的文檔信息,然后采用語義推理引擎對獲取的文檔信息建立三元組,并將三元組存入本體資源數據庫中。
由于領域本體中包含著大量的領域專業(yè)術語以及術語之間的關系,這些語義信息蘊含著領域概念之間的邏輯關系[10]。如果僅基于文本特征構建其索引結構,不僅會丟失語義信息,還會導致查詢效果降低的問題。因此,對如何充分利用本體資源中的語義信息,對本體中的概念、關系、屬性、約束、實例等信息構建索引,并且以設計任務為輸入,實現(xiàn)領域本體與設計任務的匹配,進而將領域本體作用與業(yè)務流程的后續(xù)環(huán)節(jié)。
搜索的本質是匹配+排序,即先匹配相關的領域本體,再計算領域本體的相關度進行排序,最終通過閾值條件確定最相關的領域本體資源。領域本體資源搜索方法借鑒搜索引擎中文檔的搜索方法,如圖1 所示。一方面,對領域本體資源庫中的領域本體構建索引結構,并通過搜索引擎工具寫入索引文件;另一方面,對研制人員提出的任務需求進行解析,并通過搜索引擎工具構建查詢結構;最后,通過查詢工具將查詢結構讀入索引文件,返回領域本體的位置信息,從領域本體資源庫獲得領域本體作為搜索結果。
圖1 領域本體搜索總流程
領域本體索引結構建模過程是對領域概念及領域概念相關信息的映射過程,領域概念指領域術語,在索引結構中表示為映射項,其相關信息包括領域概念類型、領域概念深度、領域概念關系數量、領域概念語義及領域概念標識等,在索引結構中表示為索引項。映射項的形成借助領域詞典,包含在領域詞典中的術語被認定為領域術語,添加至映射項中,否則不添加。領域本體索引結構建模發(fā)生在搜索之前,即在知識管理系統(tǒng)閑置時,或者定期對領域本體資源庫中的領域本體進行索引建模。領域本體查詢結構生成過程是對任務需求解析的過程,利用中文分詞算法獲得任務需求對應的原始關鍵詞和衍生關鍵詞,關鍵詞在索引結構中屬于映射項,除此之外,索引結構中的索引項還包括關鍵詞對應的相關信息,因此分別對關鍵詞和其相關信息建立對應的查詢方式,并進行整合,形成一種混合的查詢結構,即領域本體查詢結構,通過查詢器將查詢結構讀入已經創(chuàng)建好的索引文件中,即可返回索引結果的相關信息,此處并非直接返回領域本體,而是返回領域本體的相關信息。
領域本體搜索是最終獲得領域本體結果的過程,在查詢結果生成過程中獲得領域本體相關信息后,將其中的URI 位置信息輸入至領域本體資源庫中,可以獲得對應的領域本體。由于領域本體URI信息可能在本體更新過程中發(fā)生變化,因此在搜索的同時,將位置信息進一步反饋至索引結構中,實現(xiàn)索引結構的聯(lián)動更新。
在領域本體查詢結構讀入索引文件中后,首先應獲得與查詢結構匹配的索引項,該過程稱為領域本體的匹配過程。搜索過程中調用的最核心的內容是構建的查詢方式(Query),不同類型的查詢方式能夠對索引文件中不同類型的信息進行查詢,針對領域本體索引信息類型創(chuàng)建對應的查詢方式,并按照如圖2所示的邏輯進行組合,獲得復合的查詢方式。
圖2 領域本體匹配過程
通過對任務需求的解析,能夠獲得關鍵詞集合,關鍵詞集合中的關鍵詞又分為兩類:原始關鍵詞和衍生關鍵詞,原始關鍵詞通常更加具體,衍生關鍵詞更加一般。
針對原始關鍵詞,創(chuàng)建詞查詢方式,詞查詢方式是一種精確匹配的查詢方式,其工作原理是如果索引文件中映射項的內容存在該關鍵詞,則返回本條記錄。
針對衍生關鍵詞,創(chuàng)建前綴查詢方式,前綴查詢方式不同于詞查詢方式,其工作原理是如果索引文件中映射項的內容存在某個關鍵詞中包含該關鍵詞,即衍生關鍵詞是映射項中關鍵詞的子詞條,則返回本條記錄。
任務需求解析獲得的關鍵詞集合中,原始關鍵詞和衍生關鍵詞往往同時存在,而且關鍵詞的數量往往是多個,因此需要對其進行組合,生成統(tǒng)一的查詢方式,此處需要創(chuàng)建布爾查詢方式。
假設關鍵詞集合中包括原始關鍵詞A,B,衍生關鍵詞A1,A2和B1,B2,B3,其中A1,A2由A衍生,B1,B2,B3由B衍生。對于A1,A2需要進行布爾“與”運算,同理對于B1,B2,B3需要進行布爾“與”運算;而A和A1,A2之間需要進行布爾“或”運算,同理對于B和B1,B2,B3需要進行布爾“或”運算;A和B之間需要進行布爾“或”運算。
可以表示為:
A||(A1&A2)||(B||(B1&B2&B3))。
為更加清晰地闡明其原理,此處舉例說明。假設原始關鍵詞“液體火箭發(fā)動機”可以衍生出領域術語“火箭”、“發(fā)動機”、“火箭發(fā)動機”,布爾查詢的意圖在于:如果領域本體中存在領域概念“液體火箭發(fā)動機”,則返回該結果,即認為該領域本體與任務需求相關的領域相似;如果領域本體中不存在領域概念“液體火箭發(fā)動機”,而“火箭”和“發(fā)動機”同時存在,則返回該結果,即認為這種情況下該領域本體與任務需求相關的領域相似;如果領域本體中不存在領域概念“液體火箭發(fā)動機”,僅存在“火箭”或僅存在“發(fā)動機”,則不返回該結果,即認為該領域本體與任務需求相關的領域不相似,僅存在“火箭”的領域本體可能是火箭其他系統(tǒng)的領域本體,僅存在“發(fā)動機”的領域本體可能是其他產品發(fā)動機相關的領域本體,因此均不符合任務需求。
通過布爾查詢方式對索引文件進行查詢后,可以獲得對應的映射項信息,映射項對應的索引項信息中包含了領域本體標識、領域概念類型、領域概念深度、領域概念關系數量、領域概念語義等相關信息。不同的信息其數據格式不同,因此需要對應地創(chuàng)建符合其數據格式要求的查詢方式。
對于領域本體標識信息,雖然是字符串型數據格式,但由于標識是唯一的且精確的,必須創(chuàng)建詞查詢方式進行精確匹配。
對于領域概念類型標識信息,是字符型數據格式,也需要創(chuàng)建詞查詢方式進行精確匹配。
對于領域概念深度和領域概念關系數量信息,均為整型數據格式,因此需要創(chuàng)建數字化范圍查詢方式進行匹配。
對于領域概念語義信息,是字符串型數據格式,由于語義信息是指對領域概念的解釋性文本,通常是語句,因此必須創(chuàng)建模糊查詢才能對語句進行相似度匹配。
通過上述領域本體匹配能夠獲得與任務需求相關的領域本體資源,其中包含多個領域本體,需要對領域本體的搜索結果進行排序。在搜索引擎中,對搜索結果進行排序,通常采用的是打分機制。打分機制可以將搜索結果與搜索條件的匹配度進行量化,進而能夠按照匹配度從高到低進行排序。
對于領域本體而言,以任務需求的描述性文本作為搜索條件,其中包含的信息量并不多,僅包括領域本體中的領域概念,為了改善搜索結果排序的效果,利用領域本體內部的結構信息。領域本體作為知識組織模型,內部的結構信息蘊含了大量的領域知識,通過內部結構信息判斷任務需求中的領域概念在本體中的重要程度,能夠實現(xiàn)對領域本體的評分,進而完成排序。
結合領域本體的特點,針對領域概念類型、領域概念深度、領域概念關系數量、領域概念語義等信息,提出了如式(1)所示的評分方案,
w1,w2,w3,w4為權重系數,根據經驗確定,
o代表搜索結果中的領域本體,
TMS (o)代表關鍵詞在領域本體中類型的得分,
DMS (o)代表關鍵詞在領域本體中深度的得分,
NMS (o)代表關鍵詞在領域本體中包含關系數量的得分,
TFIDF()o代表關鍵詞在領域本體中解釋性文本的得分。
各項得分的計算方法如下:
(1)TMS (o)
由于關鍵詞在領域本體中可能是領域概念、屬性、實例等不同類型的節(jié)點,而且不同類型節(jié)點的重要程度對于領域本體而言也不同,概念的抽象程度最高,其重要程度在本體中也最高,屬性則是描述概念之間的約束關系,因此其重要程度次之,實例的抽象程度最低,描述領域的能力也較低,因此其重要程度最低。根據上述原則,對關鍵詞在領域本體中類型的得分方案的設計如式(2)所示,
type 是指關鍵詞節(jié)點的類型,包括:C代表領域概念,P代表屬性,I代表實例。
(2)DMS (o)
將領域本體中的約束關系去除后,可以獲得領域概念的層次關系,是一種樹狀結構。領域概念在領域本體中的深度是指領域概念在樹狀結構中所處的層數,以根節(jié)點為第一層,向下逐漸遞增。領域概念的深度越大,意味著領域概念粒度越細,其代表領域本體的能力越低,即重要程度越低,通俗地可以理解為:大多數領域本體的根節(jié)點直接可以代表該領域本體所屬領域,或者前兩層的節(jié)點就可以完全描述領域本體所屬的領域。因此深度越大,重要度越低。根據上述原則,對關鍵詞在領域本體中深度的得分方案的設計如式(3)所示,
depthmax代表深度最大的葉節(jié)點的深度,depth(t)代表關鍵詞在領域本體中的深度。
(3)NMS(o)
領域本體中的節(jié)點描述了領域本體中存在的概念、屬性和實例,而節(jié)點之間的關系則描述了領域知識的組織關系,其重要程度在本體中最高。節(jié)點擁有的關系越多,則表示本體中與該節(jié)點相關的其他節(jié)點數量越多,可以從側面證明該節(jié)點在領域本體中的重要程度越高。根據上述原則,對關鍵詞在領域本體中關系數量的得分方案的設計如式(4)所示,
RN(t)代表關鍵詞在領域本體中擁有關系的數量;n代表領域本體中所有關系的總數量。
(4)TFIDF(o)
領域本體中的領域概念名稱通常蘊含的信息較少,除了通過其擁有的關系可以獲得更多信息外,還可以通過對領域概念進行解釋性標注補充其語義信息。將領域概念的解釋性文本稱為領域本體中節(jié)點的語義信息,主要區(qū)別于節(jié)點之間關系蘊含的語義信息。若關鍵詞在領域本體所有的語義信息中出現(xiàn)的頻率越高,即頻繁度越高,則認為該關鍵詞在領域本體中的重要程度越高。根據上述原則,對關鍵詞在領域本體中語義信息的得分方案的設計如式(5)所示,
N(t)代表關鍵詞在領域本體所有描述性文本中出現(xiàn)的次數,N代表領域本體所有描述性文本包含的領域術語總數量,N(term)代表領域本體中領域概念的總數量,N(termt)代表領域本體中解釋性文本中包含關鍵詞的領域概念的總數量。
領域本體的搜索輸入包括設計人員提出的搜索條件和領域本體資源庫,對于領域本體資源庫,在研究的前期工作中構建了9 個關于工業(yè)機器人設計的領域本體,包括機械領域本體、機構領域本體、力學領域本體、控制領域本體、傳感領域本體、運動學領域本體、導航領域本體、故障領域本體、位姿領域本體。同時,本文搜集了已有的工業(yè)機器人研發(fā)企業(yè)中構建的領域本體43 個。上述領域本體的規(guī)模情況:領域概念平均每個本體包含3257個,領域概念之間的關系平均每個本體包含17763條。
在進行領域本體搜索之前,遍歷所有領域本體中的領域概念及關系,構建工業(yè)機器人領域本體的倒排索引結構。
以設計任務“設計工業(yè)機器人適用于焊接領域,可以完成各種焊接動作,編制控制程序并設計傳感系統(tǒng),跟蹤機械臂的運動軌跡,調節(jié)各項力學參數。”作為設計人員提出的搜索條件,通過任務需求解析中對分詞結果的篩選,獲得有效的關鍵詞集合:“{工業(yè)”“機器人”“工業(yè)機器人”“焊接”“焊接動作”“控制”“程序”“控制程序”“傳感”“傳感系統(tǒng)”“系統(tǒng)”“機械臂”“機械”“運動”“軌跡”“運動軌跡”“調節(jié)”“力學”“參數”}。
以上關鍵詞集合的篩選依據是包含于領域本體倒排索引表中的詞認為是有效的關鍵詞,否則認為是無效的關鍵詞,因為無效的關鍵詞在搜索過程中并不對結果產生影響。有效的關鍵詞集合構建查詢結構后,通過查詢結構模型與倒排索引表的匹配,可以獲得匹配的領域本體包含機構領域本體、控制領域本體、傳感領域本體、力學領域本體、導航領域本體、位姿領域本體。通過計算每個領域本體與搜索條件相似度得分,最終確定搜索結果為:{機構領域本體、控制領域本體、傳感領域本體、力學領域本體}。選擇權重系數依次為:{0.15,0.3,0.3,0.25},選擇得分閾值為0.5,相似度得分的計算結果如表1所示。
表1 領域本體搜索相似度得分算例
與常見的本體搜索工具相比,在領域本體資源庫中,所提方法的準確率和召回率也有提升,如圖3所示,在該算例中,文種方法的準確率和召回率分別可以達到0.92和0.88。
圖3 各類方法對比結果