全國服務熱線:400-080-4418
1引言
網絡信息檢索已成為我們獲取信息主要手段。根據CNNIC的統計數據[1]:目前中國用戶上網的主要目的中,信息獲取以42.3%位居榜首;有98.7%的人表示通過互聯網來獲取信息,其中有71.9%的人是通過搜索引擎來查找相關網站的。然而網絡信息檢索面臨兩個亟待解決的關鍵問題:
(1)搜索的結果相關度低,冗余信息太多;
(2)搜索引擎無法對常識性問題給予回答,智能化水平低。
出現上述問題的原因在于目前檢索技術主要依賴于編碼技術,通過分類模式來描述給定的信息;通過基于字符串匹配的全文檢索技術,來搜索用戶提交的關鍵詞。由于編碼描述只能反映出部分語義,因此不能保證語義的匹配;檢索過程是把用戶的查詢關鍵詞與全文中的每一個詞進行比較,而不考慮查詢請求與文檔語義上的匹配。針對上述兩個關鍵問題,本文運用本體論的相關知識,提出基于本體構建的語義搜索引擎模型。該模型能夠根據用戶的查詢關鍵字或者詢問問題,進行基于知識的推理,從而提高檢索結果的相關度,并且實現一定水平的語義檢索。
2本體論
2.1本體的概念
本體這個術語來自于哲學,根據韋氏詞典的解釋,本體是形而上學的一個分支。目前本體在人工智能領域得到廣泛研究和應用,但尚未形成統一的定義,廣為流傳的定義有[2]:
定義1:本體是對共享概念模型的形式化明確說明。它有幾個要點:
★概念模型:指通過抽象客觀世界中一些現象的相關概念而得到的模型,其表示的含義獨立于具體的環境狀態;
★明確:指所使用的概念及使用這些概念的約束都有明確的定義;
★形式化:指Ontology是計算機可讀的;
★共享:指Ontology中體現的是共同認可的知識,反映的是相關領域中公認的概念集,它所針對的是團體而不是個體。
簡單地說,本體給出構成相關領域詞匯的基本術語和關系,以及利用這些術語和關系構成的確定詞匯外延的有關規則的定義;其目標是捕獲相關的領域的知識,提供對該領域知識的共同理解,確定領域內通用的詞匯,并給出這些詞匯和詞匯之間相互關系的明確定義。
定義2:本體論是關于詞匯或概念的理論,這些訶匯和概念用于構建人工智能系統。該定義認為,本體實際上是一種表示性的詞匯,這種詞匯可以應用于特定領域。比如電子設備領域的本體,它包含一些描述基本概念的詞匯——晶體管,運算放大器,電壓等;也包含這些基本詞匯間的關系——運算放大器是電子設備的一種,而晶體管是運算放大器的組件。一般來說,識別這種詞匯和潛在的概念需要仔細分析領域內存在的各種對象和關系。這一定義描述的本體建設方法與面向對象方法有一定的共通之處。
定義3:本體論是用來定義某一領域的知識主體。該定義認為,本體是描述某個領域的知識,它不僅僅是簡單的詞匯表,而是整個上層知識庫。
綜上所述,本體是某個領域內不同主體之間進行交流的一種語義基礎,即由本體提供定義明確的詞匯表,描述概念和概念之間的關系,作為使用者之間達成的共識。
2.2本體的作用
本體的作用可歸結為通訊、互操作和系統工程。
(1)所謂通訊是指本體為人與人之間或組織與組織之間的通訊提供共同的詞匯,即交流的基礎。
(2)互操作說明本體建立了在不同的建模方法、范式、語言和軟件工具之間進行翻譯和映射的機制,以實現不同系統之間集成。
(3)系統工程:本體分析能夠為系統工程提供以下方面的好處:
★重用:本體是領域內的重要實體、屬性、過程及其相互關系形式化描述的基礎。這種形式化描述可成為軟件系統中可重用和共享的組件。
★知識獲取:當構造基于知識的系統時,用已有的本體作為起點和基礎來指導知識的獲取,可以提高其速度和可靠性。
★可靠性:由于本體的描述是形式化的,形式化的表達使得自動的一致性檢查成為可能,從而提高了軟件系統的可靠性。[Page]
★規范描述:本體分析有助于確定系統(如知識庫)的需求和規范。
3基于本體語義搜索引擎
3.1基于本體搜索引擎的設計思想
本體提供了人機交流的機制,使得機器可以理解語義,從而為搜索引擎提高效率奠定了基礎。
基于本體的搜索引擎的基本設計思想:
(1)在領域專家的幫助下,建立相關領域的本體;
(2)收集信息源中的數據,并參照已建立的Ontology,把收集來的數據按規定的格式存儲在元數據庫中:
(3)對用戶檢索界面獲取的查詢請求,查詢轉換器按照Ontology把查洵請求轉換成規定的格式,在Ontology的幫助下從元數據庫中匹配出符合條件的數據集合;
(4)檢索的結果經過定制處理后,返回給用戶。
3.2知識庫
實現基于本體的語義搜索引擎,建立知識庫是必需的。知識庫是語義搜索引擎進行推理和知識積累的基礎和關鍵,而Ontology則是知識庫的基礎。一般來說,本體提供一組術語和概念來描述某個領域,知識庫則使用這些術語來表達該領域的事實。例如醫藥本體可能包含“白血病”、“皮膚病”等術語的定義,但它不會包含具體某一病人的診斷結果,而這正是知識庫所要表達的內容。比如張三患有皮膚病、李四患有皮膚病和白血病、王五患有白血病,其中的皮膚病、白血病就是本體。而各個病癥的實例(張三、李四、王五)及其病癥描述就是知識庫的內容。
本體和知識庫的關系有幾個要點:
★Ontology為知識庫的建立提供一個基本的結構;
★Ontology提供一套概念和術語來描述某一領域,并且獲取該領域的本質的概念結構;
★知識庫就運用這些術語去表達現實或者虛擬世界中的正確知識。
因此,建設一個知識庫的第一步就是對該領域進行有效的Ontology分析。
3.3構造本體
本體的構造是整個基于Ontology的信息檢索系統的底層基石,決定著系統的性能、通用程度以及系統運行的質量。如何正確、有效、合乎邏輯的建立本體是這個系統建立的關鍵。
(1)本體的構造準則
對同一領域,同一事物,不同人往往會建立不同的本體。由于本體應該是規范化的描述,因此遵循統一的構造準則是必要的。目前為常用的是Gruber提出的指導本體構造的5個準則,[3]即:
清晰:本體必須有效的說明所定義術語的意思。定義應該是客觀的,與背景獨立的。當定義可以用邏輯公理表達時,它應該是形式化的。定義應該盡可能的完整。所有定義應該用自然語言加以說明。
一致:本體應該是一致的,也就是說,它應該支持與其定義相一致的推理。它所定義的公理以及用自然語言進行說明的文檔都應該具有一致性。
可擴展性:本體應該為可預料到的任務提供概念基礎。它應該可以支持在已有的概念基礎上定義新的術語,以滿足特殊的需求,而無須修改已有的概念定義。
編碼偏好程度小:概念的描述不應該依賴于某一種特殊的符號層的表示方法。因為實際的系統可能采用不同的知識表示方法。
本體約定小:本體約定應該小,只要能夠滿足特定的知識共享需求即可。這可以通過定義約束弱的公理以及只定義通訊所需的詞匯來保證。
(2)本體的表示
目前有兩種本體表示方法應用比較廣泛,一是傳統的四元素表示方法、二是較新的六元組表示法。前者在世界范圍內得到了比較高的認同,但是形式過于靈活,不易掌握。后者因為定義規范,可操作性強,得到了廣大國內研究者的歡迎。
★四元素表示方法
四元素表示方法的基本思想是;一個本體中的四個主要元素是:概念、關系、實例和公理。
概念表示某個領域中一類實體或事物的集合。通常概念可以分成兩大類,一類是簡單概念,另一類是詳細概念。簡單概念是那些只具備必要條件(即屬性)的類成員。詳細概念是指對類成員的描述既充分又必要。例如:“正方形是四個角都是直角的四邊形”就是一個簡單概念。而“正方形是四個角都是直角的四個邊等長的四邊形”就是一個詳細概念,因為四個邊等長是正方形的充分且必要條件。[Page]
關系描述概念和概念屬性的交互。
實例是概念表示的具體的事物,如對于大學這個概念,山東大學就是一個實例。嚴格的說,一個本體不應該包括任何實例,因為它被假設為一個具體領域的概念化。一個本體與相關的實例的組合就是我們如今所稱呼的知識庫。
公理是用來限制類和實例的取值范圍,公理中包括許多具體的規則和約束。
★六元組表示法
這種方法的基本思想就是用一個六元組來表示一個本體。
An Ontology={C,AC,R,AR,H,X}
其中C表示概念的集合。AC表示多個屬性集合組成的集合,其中每個屬性集合對應于一個概念。R是一個關系集合。AR是由多個屬性集合組成的集合,其中每個屬性集合對應于R中的一個關系。H表示概念之間的層次結構關系,X表示公理集合。
為了深入描述本體的表示方法,以下列出了一個家庭本體描述實例。
Family_Ontology={Cfamily,ACfamily,R family,ARfamily,H family,X family}where
Cfamily={father,mother,children}
ACfamily={ACfamily(father),ACfamily(mother),ACfamily(children)}
ACfamily(father)={name,age,job,salary,……}
ACfamily(mother)={name,age,job,salary,……}
ACfamily(children)={name,age,sex,……}
R family={TakeCareOf(mother,mother,children),
Educate(father,mother,children),
Help(children,mother),……}
ARfamily={ARfamily(TakeCareOf),ARfamily(Educate),ARfamily(Help),……}
ARfamily(TakeCareOf)={feed,clothing,seeDoctor,……}
ARfamily(Educate)={teach,exercise,……}
……
(3)本體的構造的生命周期
了解了本體建設的準則和方法論之后,下一步就是要著手建立本體。而建立的過程可以用生命周期的概念來描述。Uschold & Gruninger提出了一個本體構造的方法學框架[4](圖1),框架包括以下組成部分:
首先要明確本體使用的目的和范圍,然后依次構造本體。構造本體過程可以分為三個階段:
本體捕獲就是確定關鍵的概念和關系,給出精確定義,并確定其它相關的術語;本體編碼即選擇合適的表示語言表達概念和術語;已有本體的集成是對已有本體的重用和修改。這個階段也是一個循環往復的迭代過程。
后是評估階段,要根據需求描述、能力問題等對本體以及軟件環境、相關文檔進行評價。
3.4基于本體的語義搜索引擎模型簡介
OntoSSE是基于本體的搜索引擎,它能夠實現語義搜索、知識檢索和一定的推理功能。本模型假設搜索引擎存在的環境是web網頁,這些網頁并未自動含有語義標記。
此系統也應具備搜索引擎的各種基本的功能,比如網頁的遍歷和獲取、索引的建立、頁面查找算法等,都可以參考目前流行的搜索引擎的結構和實現過程。
OntoSSE的重要之處是信息庫和知識庫的交流。知識庫是實現智能搜索的核心,它如同人的大腦,其增長也需要一種自然的循環。知識庫的豐富也決定著檢索能力和Question-Answer能力的高低。信息庫是知識庫存在和發展的空間,知識庫就是對信息庫的判斷、提取、分析和概括。智能搜索引擎就是通過知識庫把用戶的問題提高到知識層面,然后利用這個知識檢索信息庫。[5]二者的有機結合離不開語義分析和知識管理。因此,Ontology作為語義分析和知識共享和重用的重要基礎,與知識庫、信息庫一起構成OntoSSE的三大支柱。
展示了基于本體的語義搜索引擎OntoSSE的系統結構及其工作流程。OntoSSE模型的工作原理和檢索步驟可以概括如下:
(1)搜索引擎通過自動網頁采集器來抓取網頁,參照特定詞表將網頁信息分類建立索引,加入索引庫中。
OntoSSE的體系結構及其工作流
[Page](2)由人工、自動或者半自動的方式,建立領域或者通用的本體。(3)參照本體,使用本體描述語言(DAML、RDF)對文檔進行標注。(4)標注的文檔(RDF Triple)相當于一個本體的實例,它被存放在知識庫中。(5)用戶以自然語言輸入查詢請求,這種請求可能是關鍵字,或者一個問題。(6)查詢過濾器(分析器)對用戶的查詢請求進行語義分析,提取出相關屬性的值。(7)檢索代理結合RDF Triple中體現的類和關系信息以及由查詢過濾器提交的屬性值,進行邏輯推理,生成查詢實例。(8)查詢實例被傳往信息數據庫,在不同目錄中查找,并將結果處理后返回給用戶。例如,如果我們要檢索“微軟總裁是誰”,將這個問題輸入模型以后,查詢過濾器根據分詞技術,進行語義理解,分析出該句子的語義實際表示了“有某個名為‘職務’的屬性其值是‘微軟總裁’”。而通過本體和知識庫,系統通過推理,可以知道在名為“人”的類中有名為“職務”的屬性,這樣,在進行語義推理時,就生成一個人的類的實例,其中有屬性“職務=微軟總裁”,而通過知識庫得知,這個實例的名字屬性為“Bill Gate”。這時,我們就獲得了“Bill Gate”的答案。后,我們還可以從信息庫和知識庫中檢索與比爾蓋茨相關的各種潛在信息。
可見OntoSSE模型可實現本體對搜索引擎三個方面的改進:提高結果相關度、語義推理功能和知識檢索。
4結束語
通過本體支持語義,支持人機之間的交流,從而實現機器智能,為web的發展帶來了新的契機。而本體在搜索引擎中的應用,必將對搜索引擎的易用性和效率,產生極大的改進,從而使得web用戶能夠更好的在浩如煙海的信息海洋中遨游。
Copyright 2008 © 上海網至普信息科技有限公司 All rights reserved. 滬ICP備11006570號-13 滬公網安備 31011402007386號