1 引言
網(wǎng)絡(luò)信息檢索已成為我們獲取信息主要手段。根據(jù)CNNIC的統(tǒng)計數(shù)據(jù)[1]:目前中國用戶上網(wǎng)的最主要目的中,信息獲取以42.3%位居榜首;有98.7%的人表示通過互聯(lián)網(wǎng)來獲取信息,其中有71.9%的人是通過搜索引擎來查找相關(guān)網(wǎng)站的。然而網(wǎng)絡(luò)信息檢索面臨兩個亟待解決的關(guān)鍵問題:
(1)搜索的結(jié)果相關(guān)度低,冗余信息太多;
(2)搜索引擎無法對常識性問題給予回答,智能化水平低。
出現(xiàn)上述問題的原因在于目前檢索技術(shù)主要依賴于編碼技術(shù),通過分類模式來描述給定的信息;通過基于字符串匹配的全文檢索技術(shù),來搜索用戶提交的關(guān)鍵詞。由于編碼描述只能反映出部分語義,因此不能保證語義的匹配;檢索過程是把用戶的查詢關(guān)鍵詞與全文中的每一個詞進行比較,而不考慮查詢請求與文檔語義上的匹配。針對上述兩個關(guān)鍵問題,本文運用本體論的相關(guān)知識,提出基于本體構(gòu)建的語義搜索引擎模型。該模型能夠根據(jù)用戶的查詢關(guān)鍵字或者詢問問題,進行基于知識的推理,從而提高檢索結(jié)果的相關(guān)度,并且實現(xiàn)一定水平的語義檢索。
2 本體論
2.1 本體的概念
本體這個術(shù)語來自于哲學,根據(jù)韋氏詞典的解釋,本體是形而上學的一個分支。目前本體在人工智能領(lǐng)域得到廣泛研究和應(yīng)用,但尚未形成統(tǒng)一的定義,最廣為流傳的定義有[2]:
定義1:本體是對共享概念模型的形式化明確說明。它有幾個要點:
★ 概念模型(conceptualization):指通過抽象客觀世界中一些現(xiàn)象(Phenomenon)的相關(guān)概念而得到的模型,其表示的含義獨立于具體的環(huán)境狀態(tài);
★ 明確(explicit):指所使用的概念及使用這些概念的約束都有明確的定義;
★ 形式化(formal):指Ontology是計算機可讀的;
★ 共享(share):指Ontology中體現(xiàn)的是共同認可的知識,反映的是相關(guān)領(lǐng)域中公認的概念集,它所針對的是團體而不是個體。
簡單地說,本體給出構(gòu)成相關(guān)領(lǐng)域詞匯的基本術(shù)語和關(guān)系,以及利用這些術(shù)語和關(guān)系構(gòu)成的確定詞匯外延的有關(guān)規(guī)則的定義;其目標是捕獲相關(guān)的領(lǐng)域的知識,提供對該領(lǐng)域知識的共同理解,確定領(lǐng)域內(nèi)通用的詞匯,并給出這些詞匯(術(shù)語)和詞匯之間相互關(guān)系的明確定義。
定義2:本體論是關(guān)于詞匯或概念的理論,這些訶匯和概念用于構(gòu)建人工智能系統(tǒng)。該定義認為,本體實際上是一種表示性的詞匯,這種詞匯可以應(yīng)用于特定領(lǐng)域。比如電子設(shè)備領(lǐng)域的本體,它包含一些描述基本概念的詞匯——晶體管,運算放大器,電壓等;也包含這些基本詞匯間的關(guān)系——運算放大器是電子設(shè)備的一種,而晶體管是運算放大器的組件。一般來說,識別這種詞匯和潛在的概念需要仔細分析領(lǐng)域內(nèi)存在的各種對象和關(guān)系。這一定義描述的本體建設(shè)方法與面向?qū)ο蠓椒ㄓ幸欢ǖ墓餐ㄖ帯?br> 定義3:本體論是用來定義某一領(lǐng)域的知識主體。該定義認為,本體是描述某個領(lǐng)域的知識,它不僅僅是簡單的詞匯表,而是整個上層知識庫(包括用于描述這個知識庫的詞匯)。
綜上所述,本體是某個領(lǐng)域內(nèi)(可以是特定專業(yè)的,也可以是寬泛范疇的)不同主體(人、代理、機器等)之間進行交流(對話、互操作、共享等)的一種語義基礎(chǔ),即由本體提供定義明確的詞匯表,描述概念和概念之間的關(guān)系,作為使用者之間達成的共識。
2.2 本體的作用
本體的作用可歸結(jié)為通訊(communication)、互操作(interoperability)和系統(tǒng)工程(systems engineering)。
(1)所謂通訊是指本體為人與人之間或組織與組織之間的通訊提供共同的詞匯,即交流的基礎(chǔ)。
(2)互操作說明本體建立了在不同的建模方法、范式、語言和軟件工具之間進行翻譯和映射的機制,以實現(xiàn)不同系統(tǒng)之間集成。
(3)系統(tǒng)工程:本體分析能夠為系統(tǒng)工程提供以下方面的好處:
★ 重用(reusability):本體是領(lǐng)域內(nèi)的重要實體、屬性、過程及其相互關(guān)系形式化描述的基礎(chǔ)。這種形式化描述可成為軟件系統(tǒng)中可重用和共享的組件(component)。
★ 知識獲取(knowledge acquisition):當構(gòu)造基于知識的系統(tǒng)時,用已有的本體作為起點和基礎(chǔ)來指導知識的獲取,可以提高其速度和可靠性。
★ 可靠性(reliability):由于本體的描述是形式化的,形式化的表達使得自動的一致性檢查成為可能,從而提高了軟件系統(tǒng)的可靠性。
★ 規(guī)范描述(specification):本體分析有助于確定系統(tǒng)(如知識庫)的需求和規(guī)范。
3 基于本體語義搜索引擎
3.1 基于本體搜索引擎的設(shè)計思想
本體提供了人機交流的機制,使得機器可以理解語義,從而為搜索引擎提高效率奠定了基礎(chǔ)。
基于本體的搜索引擎的基本設(shè)計思想:
(1)在領(lǐng)域?qū)<业膸椭?,建立相關(guān)領(lǐng)域的本體(Ontology);
(2)收集信息源中的數(shù)據(jù),并參照已建立的Ontology,把收集來的數(shù)據(jù)按規(guī)定的格式存儲在元數(shù)據(jù)庫(關(guān)系數(shù)據(jù)庫、知識庫等)中:
(3)對用戶檢索界面獲取的查詢請求,查詢轉(zhuǎn)換器按照Ontology把查洵請求轉(zhuǎn)換成規(guī)定的格式,在Ontology的幫助下從元數(shù)據(jù)庫中匹配出符合條件的數(shù)據(jù)集合;
(4)檢索的結(jié)果經(jīng)過定制處理后,返回給用戶。
3.2 知識庫
實現(xiàn)基于本體的語義搜索引擎,建立知識庫是必需的。知識庫是語義搜索引擎進行推理和知識積累的基礎(chǔ)和關(guān)鍵,而Ontology則是知識庫的基礎(chǔ)。一般來說,本體提供一組術(shù)語和概念來描述某個領(lǐng)域,知識庫則使用這些術(shù)語來表達該領(lǐng)域的事實。例如醫(yī)藥本體可能包含“白血病”、“皮膚病”等術(shù)語的定義,但它不會包含具體某一病人的診斷結(jié)果,而這正是知識庫所要表達的內(nèi)容。比如張三患有皮膚病、李四患有皮膚病和白血病、王五患有白血病,其中的皮膚病、白血病就是本體。而各個病癥的實例(張三、李四、王五)及其病癥描述就是知識庫的內(nèi)容。
本體和知識庫的關(guān)系有幾個要點:
★ Ontology為知識庫的建立提供一個基本的結(jié)構(gòu);
★ Ontology提供一套概念和術(shù)語來描述某一領(lǐng)域,并且獲取該領(lǐng)域的本質(zhì)的概念結(jié)構(gòu);
★ 知識庫就運用這些術(shù)語去表達現(xiàn)實或者虛擬世界中的正確知識。
因此,建設(shè)一個知識庫的第一步就是對該領(lǐng)域進行有效的Ontology分析。
3.3 構(gòu)造本體
本體的構(gòu)造是整個基于Ontology的信息檢索系統(tǒng)的底層基石,決定著系統(tǒng)的性能、通用程度以及系統(tǒng)運行的質(zhì)量。如何正確、有效、合乎邏輯的建立本體是這個系統(tǒng)建立的關(guān)鍵。
(1)本體的構(gòu)造準則
對同一領(lǐng)域,同一事物,不同人往往會建立不同的本體。由于本體應(yīng)該是規(guī)范化的描述,因此遵循統(tǒng)一的構(gòu)造準則是必要的。目前最為常用的是Gruber提出的指導本體構(gòu)造的5個準則,[3]即:
清晰(Clarity):本體必須有效的說明所定義術(shù)語的意思。定義應(yīng)該是客觀的,與背景獨立的。當定義可以用邏輯公理表達時,它應(yīng)該是形式化的。定義應(yīng)該盡可能的完整。所有定義應(yīng)該用自然語言加以說明。
一致(Coherence):本體應(yīng)該是一致的,也就是說,它應(yīng)該支持與其定義相一致的推理。它所定義的公理以及用自然語言進行說明的文檔都應(yīng)該具有一致性。
可擴展性(Extendibility):本體應(yīng)該為可預料到的任務(wù)提供概念基礎(chǔ)。它應(yīng)該可以支持在已有的概念基礎(chǔ)上定義新的術(shù)語,以滿足特殊的需求,而無須修改已有的概念定義。
編碼偏好程度最小(Minimal encoding bias):概念的描述不應(yīng)該依賴于某一種特殊的符號層的表示方法。因為實際的系統(tǒng)可能采用不同的知識表示方法。
本體約定最小(Minimal ontological commitment):本體約定應(yīng)該最小,只要能夠滿足特定的知識共享需求即可。這可以通過定義約束最弱的公理以及只定義通訊所需的詞匯來保證。
(2)本體的表示
目前有兩種本體表示方法應(yīng)用比較廣泛,一是傳統(tǒng)的四元素表示方法、二是較新的六元組表示法。前者在世界范圍內(nèi)得到了比較高的認同,但是形式過于靈活,不易掌握。后者因為定義規(guī)范,可操作性強,得到了廣大國內(nèi)研究者的歡迎。
★ 四元素表示方法
四元素表示方法的基本思想是;一個本體中的四個主要元素是:概念(concepts)、關(guān)系(relations)、實例(instances)和公理(axioms)。
概念表示某個領(lǐng)域中一類實體或事物的集合。通常概念可以分成兩大類,一類是簡單概念(primitiveconcepts),另一類是詳細概念(definedconcepts)。簡單概念是那些只具備必要條件(即屬性)的類成員(注:英文原文:Primitive concepts are thosewhich only have necessary conditions(in terms of their properties)formembership of the class.)。詳細概念是指對類成員的描述既充分又必要(注:英文原文:Defined conceptsare those whose description is both necessary and sufficient for athing to be a member of theclass.)。例如:“正方形是四個角都是直角的四邊形”就是一個簡單概念。而“正方形是四個角都是直角的四個邊等長的四邊形”就是一個詳細概念,因為四個邊等長是正方形的充分且必要條件。
關(guān)系描述概念和概念屬性的交互。
實例是概念表示的具體的事物,如對于大學這個概念,山東大學就是一個實例。嚴格的說,一個本體不應(yīng)該包括任何實例,因為它被假設(shè)為一個具體領(lǐng)域的概念化。一個本體與相關(guān)的實例的組合就是我們?nèi)缃袼Q呼的知識庫(knowledge base)。
公理是用來限制類和實例的取值范圍,公理中包括許多具體的規(guī)則和約束。
★ 六元組表示法
這種方法的基本思想就是用一個六元組來表示一個本體。
An Ontology={C,AC,R,AR,H,X}
其中C表示概念的集合。AC表示多個屬性集合組成的集合,其中每個屬性集合對應(yīng)于一個概念。R是一個關(guān)系集合。AR是由多個屬性集合組成的集合,其中每個屬性集合對應(yīng)于R中的一個關(guān)系。H表示概念之間的層次結(jié)構(gòu)關(guān)系,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)本體的構(gòu)造的生命周期
了解了本體建設(shè)的準則和方法論之后,下一步就是要著手建立本體。而建立的過程可以用生命周期的概念來描述。Uschold & Gruninger提出了一個本體構(gòu)造的方法學框架[4](圖1),框架包括以下組成部分:
首先要明確本體使用的目的和范圍,然后依次構(gòu)造本體。構(gòu)造本體過程可以分為三個階段:
本體捕獲就是確定關(guān)鍵的概念和關(guān)系,給出精確定義,并確定其它相關(guān)的術(shù)語;本體編碼即選擇合適的表示語言表達概念和術(shù)語;已有本體的集成是對已有本體的重用和修改。這個階段也是一個循環(huán)往復的迭代過程。
最后是評估階段,要根據(jù)需求描述、能力問題(competency question)等對本體以及軟件環(huán)境、相關(guān)文檔進行評價。
3.4 基于本體的語義搜索引擎模型簡介(OntoSSE,ontology-based Semantic Search Engine)
OntoSSE是基于本體的搜索引擎,它能夠?qū)崿F(xiàn)語義搜索、知識檢索和一定的推理功能。本模型假設(shè)搜索引擎存在的環(huán)境是web網(wǎng)頁,這些網(wǎng)頁并未自動含有語義標記。
此系統(tǒng)也應(yīng)具備搜索引擎的各種基本的功能,比如網(wǎng)頁的遍歷和獲取、索引的建立、頁面查找算法等,都可以參考目前流行的搜索引擎的結(jié)構(gòu)和實現(xiàn)過程。
OntoSSE的重要之處是信息庫和知識庫的交流。知識庫是實現(xiàn)智能搜索的核心,它如同人的大腦,其增長也需要一種自然的循環(huán)。知識庫的豐富也決定著檢索能力和Question-Answer能力的高低。信息庫是知識庫存在和發(fā)展的空間,知識庫就是對信息庫的判斷、提取、分析和概括。智能搜索引擎就是通過知識庫把用戶的問題提高到知識層面,然后利用這個知識檢索信息庫。[5]二者的有機結(jié)合離不開語義分析和知識管理。因此,Ontology作為語義分析和知識共享和重用的重要基礎(chǔ),與知識庫、信息庫一起構(gòu)成OntoSSE的三大支柱。
展示了基于本體的語義搜索引擎OntoSSE的系統(tǒng)結(jié)構(gòu)及其工作流程。OntoSSE模型的工作原理和檢索步驟可以概括如下:
(1)搜索引擎通過自動網(wǎng)頁采集器(web spider)來抓取網(wǎng)頁,參照特定詞表將網(wǎng)頁信息分類建立索引,加入索引庫中。
OntoSSE的體系結(jié)構(gòu)及其工作流
(2)由人工、自動或者半自動的方式,建立領(lǐng)域或者通用的本體。(3)參照本體,使用本體描述語言(DAML、RDF)對文檔進行標注。(4)標注的文檔(RDFTriple)相當于一個本體的實例,它被存放在知識庫中。(5)用戶以自然語言輸入查詢請求,這種請求可能是關(guān)鍵字,或者一個問題。(6)查詢過濾器(分析器)對用戶的查詢請求進行語義分析,提取出相關(guān)屬性的值。(7)檢索代理結(jié)合RDFTriple中體現(xiàn)的類和關(guān)系信息以及由查詢過濾器提交的屬性值,進行邏輯推理,生成查詢實例。(8)查詢實例被傳往信息數(shù)據(jù)庫,在不同目錄中查找,并將結(jié)果處理后返回給用戶。例如,如果我們要檢索“微軟總裁是誰”,將這個問題輸入模型以后,查詢過濾器根據(jù)分詞技術(shù),進行語義理解,分析出該句子的語義實際表示了“有某個名為‘職務(wù)’的屬性其值是‘微軟總裁’”。而通過本體和知識庫,系統(tǒng)通過推理,可以知道在名為“人”的類中有名為“職務(wù)”的屬性,這樣,在進行語義推理時,就生成一個人的類的實例,其中有屬性“職務(wù)=微軟總裁”,而通過知識庫得知,這個實例的名字屬性為“BillGate”。這時,我們就獲得了“Bill Gate”的答案。最后,我們還可以從信息庫和知識庫中檢索與比爾蓋茨相關(guān)的各種潛在信息。
可見OntoSSE模型可實現(xiàn)本體對搜索引擎三個方面的改進:提高結(jié)果相關(guān)度、語義推理功能和知識檢索。
4 結(jié)束語
通過本體支持語義,支持人機之間的交流,從而實現(xiàn)機器智能,為web的發(fā)展帶來了新的契機。而本體在搜索引擎中的應(yīng)用,必將對搜索引擎的易用性和效率,產(chǎn)生極大的改進,從而使得web用戶能夠更好的在浩如煙海的信息海洋中遨游。