張小英
摘要:本文針對(duì)數(shù)字圖書(shū)館領(lǐng)域的特點(diǎn),提出了一種實(shí)現(xiàn)數(shù)字圖書(shū)館Web集成信息檢索及知識(shí)庫(kù)的建立管理機(jī)制,以RDF作為信息和知識(shí)的表示模型,采用中介器和包裝器框架來(lái)實(shí)現(xiàn)對(duì)異構(gòu)數(shù)據(jù)源的集成信息檢索,并在此基礎(chǔ)上建立基于RDF的知識(shí)庫(kù),實(shí)現(xiàn)全局查詢,在知識(shí)服務(wù)方面做了初步的實(shí)現(xiàn)。最后,本文介紹了基于該機(jī)制實(shí)現(xiàn)的一個(gè)原型系統(tǒng),并以此原型系統(tǒng)為例,分析了系統(tǒng)性能。
關(guān)鍵詞:數(shù)字圖書(shū)館;Web集成信息檢索;RDF;說(shuō)明式查詢語(yǔ)言
0引言
數(shù)字圖書(shū)館是海量電子資源的集合,它所提供的功能涵蓋并遠(yuǎn)遠(yuǎn)超過(guò)了傳統(tǒng)的數(shù)據(jù)庫(kù)、信息檢索系統(tǒng)。數(shù)字圖書(shū)館已經(jīng)成為世界范圍內(nèi)、日益重要的基于Web的應(yīng)用框架體系。其基本目的是實(shí)現(xiàn)信息的集成共享,給用戶提供統(tǒng)一資源查詢服務(wù),保障數(shù)字資源的最大可用性、系統(tǒng)之間的互操作性和集成性。
但是,如果數(shù)字圖書(shū)館像現(xiàn)有的Web一樣僅僅提供簡(jiǎn)單的信息瀏覽功能,則同樣會(huì)讓用戶陷入“信息過(guò)載”的困境,不能共享經(jīng)驗(yàn)知識(shí),無(wú)法滿足用戶對(duì)信息、知識(shí)的需求。因此,需要針對(duì)數(shù)字圖書(shū)館異構(gòu)信息源的特點(diǎn),采取一種適用的集成信息檢索框架,同時(shí)要求系統(tǒng)能夠積累交互運(yùn)行中的知識(shí),建立知識(shí)庫(kù),從而給用戶提供智能的、主動(dòng)的、動(dòng)態(tài)的知識(shí)服務(wù)。
1 RDF查詢語(yǔ)言——RQuery
RDF查詢語(yǔ)言RQuery與XML相比,RDF支持語(yǔ)義信息,然后,XML的設(shè)計(jì)動(dòng)機(jī)是關(guān)心文檔的結(jié)構(gòu),目的在于提供多元的文檔表示結(jié)構(gòu),關(guān)注的焦點(diǎn)不是文檔中數(shù)據(jù)所代表的語(yǔ)義信息。通過(guò)比較得知,RDF查詢語(yǔ)言可以根據(jù)實(shí)際需要,使用多元的機(jī)制,同時(shí)可以定制應(yīng)用領(lǐng)域內(nèi)資源、語(yǔ)義信息、知識(shí)的表達(dá)規(guī)則。因此,采用RDF查詢語(yǔ)言作為信息表示標(biāo)準(zhǔn),更方便實(shí)現(xiàn)數(shù)字圖書(shū)館領(lǐng)域異構(gòu)、半結(jié)構(gòu)化數(shù)據(jù)源IIR的語(yǔ)義相互操作。
RQuery的作用有兩個(gè),實(shí)現(xiàn)對(duì)RDF數(shù)據(jù)和RDFS的查詢,為了給用戶提供超出普通信息查詢更多的知識(shí),系統(tǒng)將上述查詢方法結(jié)合起來(lái)。
設(shè)計(jì)的RQuery解析器是一個(gè)簡(jiǎn)單的語(yǔ)法分析器,針對(duì)RQuery的上下文無(wú)關(guān)文法的特點(diǎn),采用了自上而下的語(yǔ)法分析方法。顧名思義,自上而下就是從文法的開(kāi)始符號(hào)出發(fā),向下推導(dǎo),推出句子。其主旨是:對(duì)任何輸入串,試圖用一切可能的辦法,從文法開(kāi)始符號(hào)(根節(jié)點(diǎn))出發(fā),為輸入串獲取確定的最左推導(dǎo)。
提出的RDF查詢語(yǔ)言RQuery,是一種融合了謂詞邏輯的說(shuō)明式查詢語(yǔ)言,它的設(shè)計(jì)基于數(shù)字圖書(shū)館IIR需求,與其它RDF查詢語(yǔ)言相比,具有如下特點(diǎn):支持語(yǔ)義映射、可邏輯解析、模式查詢和數(shù)據(jù)查詢相融合。
2數(shù)字圖書(shū)館集成信息檢索框架
基于中介器,包裝器的數(shù)字圖書(shū)館集成信息檢索(DLIIR)系統(tǒng)結(jié)構(gòu)如圖1所示。系統(tǒng)采用RDF作為中間信息表示規(guī)范:即系統(tǒng)各組件間交換的數(shù)據(jù)皆為符合RDF規(guī)范和RDFS定義的信息。因此組件之間以計(jì)算機(jī)可理解的語(yǔ)義信息進(jìn)行通訊,提高了處理信息的效率和準(zhǔn)確度,適合海量數(shù)據(jù)的查詢。
DLIIR系統(tǒng)包含用戶接口和中介器2個(gè)模塊:包裝器生成組件(Wrapper Dispatcher,WD):包裝器(Wrapper);知識(shí)獲取器(Knowledge Acquire Agent,KAA):知識(shí)庫(kù)搜索器(KB Search Agent,KBSA)。它們彼此通信,相互協(xié)作,共同完成檢索功能。同時(shí),在DLIIR系統(tǒng)中增加了RDF知識(shí)庫(kù)。RDF知識(shí)庫(kù)包含一個(gè)知識(shí)獲?。↘AA)組件,將來(lái)自中介器的RDF文檔轉(zhuǎn)換成RDF知識(shí)庫(kù)中的記錄。
3組件間通訊規(guī)則
DLIIR系統(tǒng)包含若干個(gè)共同協(xié)作、彼此獨(dú)立的單元模塊,這樣的目的在于增加系統(tǒng)的可擴(kuò)展性。為了進(jìn)一步實(shí)現(xiàn)組件之間的通訊和數(shù)據(jù)交換,提高系統(tǒng)性能、查詢準(zhǔn)確率以及工作效率。整個(gè)系統(tǒng)的數(shù)據(jù)流如圖2所示。
采用RDF作為統(tǒng)一的數(shù)據(jù)格式,完成彼此的數(shù)據(jù)交換和通信,協(xié)同工作,從而實(shí)現(xiàn)整個(gè)系統(tǒng)的功能,為用戶提供查詢服務(wù)。
4用戶接口Agent
用戶接口Agent的主要功能是協(xié)助用戶明確、細(xì)化查詢請(qǐng)求。同時(shí),將MA返回的查詢結(jié)果以友好、清晰的格式顯示給用戶。
UIA的功能包括:①協(xié)助用戶明確、細(xì)化查詢請(qǐng)求,將查詢請(qǐng)求提交給MA;②接收MA返回的查詢結(jié)果,以普通HTML頁(yè)面形式將結(jié)果顯示給用戶;③為用戶提供查詢RDF知識(shí)庫(kù)的導(dǎo)航服務(wù)。UIA主要和MA進(jìn)行通信,完成和用戶交互的功能,這就是主體和其它主體協(xié)作共同實(shí)現(xiàn)系統(tǒng)功能的過(guò)程。從主體的運(yùn)行周期來(lái)看,UIA的狀態(tài)周期如圖3所示。
DLIIR系統(tǒng)中,主體之間的通信數(shù)據(jù)均以RDF表示,MA接收到該消息之后,把該查詢請(qǐng)求轉(zhuǎn)換成RQuel查詢語(yǔ)句。DLIIR提供給用戶基于Web的查詢界面,當(dāng)用戶提交查詢請(qǐng)求時(shí),激活UIA,開(kāi)始響應(yīng)用戶的請(qǐng)求。DLIIR給用戶提供了兩種查詢方式:基于關(guān)鍵詞的查詢和基于語(yǔ)義的查詢?;谡Z(yǔ)義的查詢僅僅限于對(duì)RDF知識(shí)庫(kù)進(jìn)行查詢,由于知識(shí)庫(kù)中存放的是經(jīng)過(guò)處理的、以RDF格式表示的知識(shí),它們之間存在可處理的語(yǔ)義關(guān)聯(lián),可以根據(jù)語(yǔ)義聯(lián)系查找用戶所需要的信息。
5中介器的實(shí)現(xiàn)機(jī)制
中介器依靠包裝器完成信息集成。在DLIIR系統(tǒng)中,中介器(Mediator Agent,MA)需要和其它五種組件通信,協(xié)調(diào)各個(gè)組件彼此協(xié)作,共同完成查詢?nèi)蝿?wù)。從MA的內(nèi)部結(jié)果來(lái)看,MA就是一個(gè)查詢映射、結(jié)果集成的模塊。
DLIIR系統(tǒng)中,所有組件之間傳遞的信息均以RDF格式表示,采用提出的RQuery來(lái)實(shí)現(xiàn)對(duì)這些數(shù)據(jù)的查詢。在MA中,對(duì)查詢請(qǐng)求的轉(zhuǎn)換,其實(shí)質(zhì)就是將RDF格式描述的查詢請(qǐng)求,轉(zhuǎn)換成RQuery語(yǔ)句。
為了更清楚地給用戶提供查詢結(jié)果,往往需要HTML文檔具有一定的格式,如不同數(shù)據(jù)以不同顏色顯示,采用表格、鏈接給用戶提供更友好的界面等。此外,考慮到系統(tǒng)的靈活性,便于將來(lái)修改結(jié)果顯示的形式,在設(shè)立了一個(gè)系統(tǒng)文件——顯示模式(Display Schema)文檔。MA在進(jìn)行查詢結(jié)果到轉(zhuǎn)換時(shí),根據(jù)提前定義的顯示模式,將RDF文檔轉(zhuǎn)換成具有一定格式的HTML文檔,然后提交給UIA,以供在用戶端的Web瀏覽器上顯示。endprint
6包裝器自動(dòng)構(gòu)造及知識(shí)庫(kù)框架
包裝器(Wrapper)具體工作流程如下:首先該Wrapper將全局查詢請(qǐng)求轉(zhuǎn)換成對(duì)該數(shù)據(jù)源進(jìn)行檢索的命令格式,按照接口協(xié)議和數(shù)據(jù)源通信,獲得檢索結(jié)果。然后該包裝器將結(jié)果遵循全局RDF Schema構(gòu)造成RDF文檔,返回給MA。完成此次查詢?nèi)蝿?wù)后,Wrapper進(jìn)入空閑狀態(tài),等待下次檢索任務(wù)。
DLIIR中的RDF知識(shí)庫(kù)以關(guān)系數(shù)據(jù)庫(kù)形式存儲(chǔ)的知識(shí)記錄,采用兩個(gè)組件實(shí)現(xiàn)對(duì)關(guān)系數(shù)據(jù)庫(kù)的操作:知識(shí)獲取器和知識(shí)庫(kù)搜索器。圖4給出了RDF知識(shí)庫(kù)的框架結(jié)構(gòu)。
以RDF圖模型表示的知識(shí)按照類(lèi)和屬性的關(guān)系,以關(guān)系型數(shù)據(jù)庫(kù)格式存儲(chǔ)在Microson SQL Server數(shù)據(jù)庫(kù)中。因此,KAA和KBSA組件需要更新、訪問(wèn)關(guān)系數(shù)據(jù)庫(kù),實(shí)現(xiàn)對(duì)知識(shí)庫(kù)的維護(hù)和查詢。這個(gè)過(guò)程涉及到RDF的解析與RDF圖的恢復(fù)。
7性能評(píng)估
傳統(tǒng)的應(yīng)用程序往往由程序員手工為每個(gè)信息源編制包裝器代碼,采用包裝器自動(dòng)生成機(jī)制避免了程序員手工編寫(xiě)代碼。傳統(tǒng)方式中手工開(kāi)發(fā)包裝器代碼耗費(fèi)的開(kāi)發(fā)代價(jià)最大,而DLIIR中建立數(shù)據(jù)源接口描述文檔的開(kāi)發(fā)代價(jià)遠(yuǎn)遠(yuǎn)小于它。
DLIIR系統(tǒng)在實(shí)現(xiàn)對(duì)異構(gòu)數(shù)據(jù)源檢索的基礎(chǔ)上,同時(shí)從檢索結(jié)果中獲取知識(shí),構(gòu)造了以RDF進(jìn)行知識(shí)表示的知識(shí)庫(kù)。利用本文提出的RQuery語(yǔ)言對(duì)知識(shí)庫(kù)進(jìn)行檢索。因此,衡量DLIIR系統(tǒng)的知識(shí)庫(kù)檢索性能(P-RKBIR)也就是衡量RQuery語(yǔ)言的檢索性能。采用知識(shí)庫(kù)檢索時(shí)間作為P_RKBIR的衡量標(biāo)準(zhǔn)。
在數(shù)據(jù)量很小時(shí)(10萬(wàn)條記錄以下),數(shù)據(jù)量的變化對(duì)查詢時(shí)間的影Ⅱ向無(wú)法衡量出來(lái),查詢時(shí)間相等。在數(shù)據(jù)量在百萬(wàn)級(jí)別以上時(shí),才體現(xiàn)出查詢時(shí)間隨著數(shù)據(jù)量的增大而增加的趨勢(shì)。此外,查詢時(shí)間與記錄數(shù)是線性關(guān)系的。
基于結(jié)果,DLIIR系統(tǒng)符合設(shè)計(jì)要求,滿足了對(duì)數(shù)字圖書(shū)館領(lǐng)域異構(gòu)數(shù)據(jù)源集成檢索的需要,而系統(tǒng)的RDF知識(shí)庫(kù)通過(guò)設(shè)計(jì)的專(zhuān)用查詢語(yǔ)言RQuery進(jìn)行檢索時(shí)性能良好。
8結(jié)論
數(shù)字圖書(shū)館已經(jīng)成為國(guó)家信息化水平的標(biāo)志,是社會(huì)信息知識(shí)共享的框架平臺(tái)。因此,實(shí)現(xiàn)對(duì)該領(lǐng)域內(nèi)異構(gòu)信息源的互操作,給用戶提供智能的、主動(dòng)的知識(shí)服務(wù)是數(shù)字圖書(shū)館的發(fā)展方向。本文提出了一種實(shí)現(xiàn)異構(gòu)信息源集成信息檢索的互操作框架,并對(duì)知識(shí)庫(kù)的建立和檢索進(jìn)行了初步研究。endprint