摘要:隨著網(wǎng)絡(luò)信息技術(shù)的普及,搜索引擎的性能極大的影響人們搜索有效信息的速度,因此如何優(yōu)化搜索引擎的性能在該領(lǐng)域備受關(guān)注。本文以垂直搜索引擎理論為基礎(chǔ)構(gòu)建了一個(gè)基于本體的信息檢索的框架,采用特定算法設(shè)計(jì)面向主題的搜索引擎信息抽取系統(tǒng)。提出了基于本體的個(gè)性化搜索引擎設(shè)計(jì)。
關(guān)鍵詞:垂直搜索 本體 特性化 設(shè)計(jì)
▲▲ 一、本體的定義
在計(jì)算機(jī)應(yīng)用領(lǐng)域中,本體是對概念化的對象(concePtualization)的明確表述和描述。NicolaGuarino把概念化定義為:C=(D,W,R)其中D是一個(gè)領(lǐng)域,W是該領(lǐng)域中的相關(guān)的事務(wù)狀態(tài)的集合,R是領(lǐng)域空間(D,W)上概念關(guān)系(concePtUalrelation)的集合,本體依賴于所采用的語言,按照表示和描述的形式化程度不同,可以分為完全形式化的、半形式化的和嚴(yán)格形式化。本體的形式化程度越高,越有利于計(jì)算機(jī)進(jìn)行自動(dòng)處理。
▲▲ 二、個(gè)性化本體垂直搜索系統(tǒng)框架
作為一個(gè)垂直搜索引擎,面向領(lǐng)域的專業(yè)互聯(lián)網(wǎng)搜索引擎不同于傳統(tǒng)的大型通用互聯(lián)網(wǎng)搜索引擎,面向某種專業(yè)領(lǐng)域是它的特點(diǎn)。面向領(lǐng)域的搜索引擎系統(tǒng)的框架如圖1所示:
基本流程:1、獲取信息:針對若干相關(guān)生活領(lǐng)域的web網(wǎng)站,專業(yè)爬行器不定期的對其服務(wù)器進(jìn)行訪問,根據(jù)本地記載的網(wǎng)頁爬行歷史紀(jì)錄,確定網(wǎng)站中新增的或修改過的網(wǎng)頁,并將其下載存儲到本地系統(tǒng),同時(shí)修改相關(guān)網(wǎng)頁爬行歷史記錄。2、建立索引:檢索系統(tǒng)會通過持久層xml文件解析器對對新增的xml文件進(jìn)行解析,并將其結(jié)構(gòu)化信息轉(zhuǎn)化成一個(gè)文檔對象,通過使用中英文聯(lián)合分詞系統(tǒng),對文檔對象建立索引,增量添加到原有索引文件中,并將索引中的無用過期信息替換或刪除掉。3、處理用戶查詢:當(dāng)用戶通過web瀏覽器訪問檢索系統(tǒng)主頁,并通過主頁向檢索系統(tǒng)發(fā)出http請求時(shí),檢索系統(tǒng)會對請求的關(guān)鍵字分詞并進(jìn)行本體擴(kuò)展,擴(kuò)展后的數(shù)據(jù)遞交給引擎核心的Seacher,引擎核心的Seacher負(fù)責(zé)檢索索引文件相應(yīng)數(shù)據(jù)信息,并將獲得的結(jié)果通過用戶接口以web形式返回給查詢用戶。
圖1 檢索系統(tǒng)框架
▲▲ 三、網(wǎng)頁爬行器
構(gòu)造Spider程序通常有兩種方式,一種是設(shè)計(jì)為遞歸的程序。另一種是維護(hù)一個(gè)要抓取的網(wǎng)頁列表,程序不斷循環(huán)訪問該列表,抓取那些未訪問過的網(wǎng)頁。遞歸形式的Spider程序如下結(jié)構(gòu):
VoidRecursiveSPider(stringuri)
{
//downioadwebsaeeordingtotheurl
//ParsetheHTMLtogeturisList
//dosomethingonHTML,suehassavethemtotheloealfile.
Foreaeh(stringtemPUrlinList)
RecursiveSPider(temPUri):
}
上述代碼中,RecursivesPider用來抓取url所對應(yīng)網(wǎng)頁,并從獲得的HTML代碼中解析出新的超鏈接,之后調(diào)用程序本身繼續(xù)處理。由于遞歸程序本省的特點(diǎn),每次運(yùn)行時(shí)會把每次遞歸的信息壓入堆棧,這樣當(dāng)遞歸的程序很深時(shí),堆棧會變得非常大,可能會耗盡整個(gè)堆棧內(nèi)存而造成程序的中止。當(dāng)spider發(fā)現(xiàn)新的鏈接時(shí),將這個(gè)鏈接加入到列表中,而當(dāng)sp記er處理完當(dāng)前的頁,則從列表中獲取尚未訪問的下一個(gè)鏈接。這種設(shè)計(jì)方式很適合實(shí)現(xiàn)對線程編程,各線程之間共享的網(wǎng)頁列表可以用Hash表來實(shí)現(xiàn)。Hash表的Key是string類型的url,而其value則表示該鏈接處于等待,運(yùn)行,完成,錯(cuò)誤狀態(tài)中的一種,可以簡單的用int型的1,2,3,4來表示。各狀態(tài)間的轉(zhuǎn)化關(guān)系如下圖2:
圖2 URL的狀態(tài)轉(zhuǎn)換關(guān)系
spider會不斷重復(fù)類似的工作,每次從Hash表中取得一個(gè)value值為1的超鏈接,將其狀態(tài)設(shè)為2表示處理中,若有新的鏈接則加入到Hash表,value值為1,當(dāng)此頁處理完畢后,根據(jù)處理結(jié)構(gòu)將其狀態(tài)設(shè)為3或4。spider程序直到Hash表中沒有Value為1的項(xiàng)才中止,這樣Hash中的所有項(xiàng)最終的Value或者是3或者是4。對有效的網(wǎng)頁進(jìn)行結(jié)構(gòu)化信息抽取。將Iniemet上同一領(lǐng)域的各種各樣的包含所需信息的不同格式的網(wǎng)頁中的信息進(jìn)行結(jié)構(gòu)化信息抽取,獲得統(tǒng)一格式的信息。
▲▲ 四、抽取與web包裝器
信息抽取根據(jù)處理數(shù)據(jù)對象的不同,可以分為兩類:一是純文本信息抽取;另一是半結(jié)構(gòu)化文本信息抽取。純文本信息抽取的處理對象是一段自然語言文本;而半結(jié)構(gòu)化文本信息抽取的處理對象是包含HTML標(biāo)簽或類似標(biāo)記的文本。對于純文本信息抽取,主要用到的技術(shù)有:命名實(shí)體識別、句法分析、篇章分析與推理、知識獲取。在垂直搜索引擎中,抽取的對象大都是網(wǎng)頁,因此使用的技術(shù)方法大都是以網(wǎng)頁包裝器為主。為了實(shí)現(xiàn)對所應(yīng)用領(lǐng)域的網(wǎng)頁包裝器,可以同的角度出發(fā)按照不同的方法:通過對htlnl文件格式的分析絕對定位、通過對網(wǎng)頁格式的正則文法學(xué)習(xí)、通過對網(wǎng)頁文本的格式及其分割符的識別證、通過對信息所在網(wǎng)頁邊界字符串的確定。
▲▲ 五、基于本體的檢索
本文設(shè)計(jì)的結(jié)果顯示樣式,在層次顯示上仍然保留有通用檢索項(xiàng),即把通用檢索項(xiàng)作為一個(gè)主題對待。系統(tǒng)的默認(rèn)檢索主題就是通用檢索項(xiàng),也就是用戶提交查詢后,服務(wù)器返回給用戶的就是通用檢索項(xiàng)。這樣既保留有通用檢索的樣式,以前的用戶仍然能適應(yīng),若用戶提交的Query比較嚴(yán)格,直接在通用檢索中就可快速找到結(jié)果。
在實(shí)現(xiàn)帶有層次主題的檢索時(shí),需要判斷文檔是否屬于該主題。這里主題帶有層次性,如有主題A、主題B、主題C,且主題C是主題B的子主題,主題B是主題A的子主題,那么用戶需要返回屬于主題A的文檔,則屬于主題B和C的文檔也要返回。為了快速高效的返回結(jié)果,需要對文檔是否屬于主題的判斷時(shí)間復(fù)雜度為常數(shù)。本系統(tǒng)當(dāng)前的主題層次深度為四,即可有四層主題。設(shè)計(jì)方法為:文檔的Id與主題類Id有映射關(guān)系,通過文檔的Id就可找到主題類Id,若此主題類為用戶指定類或指定類的子孫類,則此文檔可返回給用戶。因此問題轉(zhuǎn)化為文檔對應(yīng)的主題類與用戶指定類之間關(guān)系的判別,也就通過主題類Id來判別。主題類Id為32位整數(shù),可利用這32個(gè)位來作出判斷,根據(jù)類層次的深度來劃分每個(gè)層次類所包含的位數(shù)。在實(shí)用中,用戶一般很少會點(diǎn)擊處在深度很大的類,并且深度太大,分類效果不夠好反而會影響檢索效果。對類Id的設(shè)計(jì),只要分配好類各個(gè)層次的位數(shù)并做好類間的繼承關(guān)系即可。具體每層次分配位數(shù)為多少,可視需要而定。主題類權(quán)值的計(jì)算公式可表示為公式:
這里weightc為類。的權(quán)值,M、N是常數(shù),doci為文檔i在返回結(jié)果中的排名,且文檔i屬于類c的文檔。根據(jù)計(jì)算的主題類的權(quán)值對兄弟類排序,因?yàn)檫@是層次主題類。先對頂層類排序。權(quán)值大的排在前面,說明前面的類更能代表用戶的檢索用意,至少能滿足大部分人的查詢需求。
參考文獻(xiàn):
[1]查志華、李偉.搜索引擎的技術(shù)現(xiàn)狀及發(fā)展趨勢【J】.兵團(tuán)教育學(xué)院學(xué)報(bào),2007(3)
[2]吳棟.中文信息檢索引擎中的分詞與檢索技術(shù)【J】.計(jì)算機(jī)應(yīng)用,2007(7)
[3]杜小勇.第三代搜索引擎初探:智能化、個(gè)性化【M】.機(jī)械工業(yè)出版社,2007年版
[4]吳丹.搜索引擎的智能化研究【J】.情報(bào)理論與實(shí)踐.2007(4)
[5]李瑩.基于本體論和詞匯語義相似度的Web服務(wù)發(fā)現(xiàn)【J】.計(jì)算機(jī)學(xué)報(bào),2007(4)
(責(zé)任編輯:張曉輝)