胡 泉,胡金柱,謝 芳
(1.華中師范大學(xué) 武漢 430079;2.湖北工業(yè)大學(xué) 武漢 430068)
專業(yè)服務(wù)網(wǎng)站是以行業(yè)或領(lǐng)域為服務(wù)對象的特殊網(wǎng)站,如面向機(jī)械、化工、電力、計算機(jī)等行業(yè)的服務(wù)網(wǎng)站,是針對某一特定領(lǐng)域、某一特定人群或某一特定需求,提供內(nèi)容集中而深入的信息服務(wù)的網(wǎng)站。這類網(wǎng)站數(shù)量龐大,基本上都是免費開放,如各級政府的科技信息服務(wù)網(wǎng)或情報網(wǎng)、公司的服務(wù)網(wǎng)(如海爾公司的服務(wù)網(wǎng)站)等。
專業(yè)服務(wù)網(wǎng)站針對專業(yè)領(lǐng)域中的特定用戶群,為其提供專業(yè)的、量身打造的服務(wù),它能夠限制用戶查找信息類別的范圍,使用戶快速找到需要的信息。所以,網(wǎng)上信息應(yīng)該簡潔、明了,確保用戶能在盡可能短的時間內(nèi)找到最需要的信息內(nèi)容。因此專業(yè)服務(wù)網(wǎng)的信息管理工作者,其主要任務(wù)之一是從相關(guān)的網(wǎng)站上及時、準(zhǔn)確地獲取有用信息,并對這些信息內(nèi)容進(jìn)行專業(yè)處理、深度加工和及時更新發(fā)布。網(wǎng)上信息一般是以標(biāo)題、內(nèi)容的形式發(fā)布,而不是以網(wǎng)頁鏈接的形式表示。所以,直接搜索到的信息不僅僅是網(wǎng)頁鏈接,而是網(wǎng)頁內(nèi)容的主體和標(biāo)題等有用信息。因此,需要研究一種專用的信息自主更新系統(tǒng),才能讓信息管理工作者從枯燥、單調(diào)、雜亂無章的海量信息中及時、準(zhǔn)確地獲取有用信息。
目前,Google推出的谷歌應(yīng)用軟件引擎(Google application engine,GAE)是一種免費的云計算平臺,它可以讓開發(fā)人員編譯基于Python的應(yīng)用程序,并免費使用其基礎(chǔ)設(shè)施進(jìn)行托管。因此,用戶在GAE下建設(shè)小型專業(yè)服務(wù)網(wǎng)站時,不再需要租用主機(jī),尋找托管商;開發(fā)人員在GAE的框架內(nèi)開發(fā),不用再考慮CPU、內(nèi)存、分布等復(fù)雜和難以控制的問題。
本體(ontology)是共享概念模型的明確的形式化規(guī)范說明,包含概念的定義、概念間的復(fù)雜關(guān)系以及概念推理的規(guī)則。應(yīng)用本體可以捕獲相關(guān)領(lǐng)域的知識,提供對該領(lǐng)域知識的共同理解,確定該領(lǐng)域內(nèi)共同認(rèn)可的詞匯(術(shù)語),并從不同層次的形式化模式上給出這些詞匯間相互關(guān)系的明確定義。
GAE下面向本體的專業(yè)信息服務(wù)網(wǎng)信息自主更新的基本過程如下:
·利用網(wǎng)絡(luò)爬蟲爬取網(wǎng)頁數(shù)據(jù);
·本體按照指定的規(guī)則模板進(jìn)行信息獲??;
·將抽取的信息按照規(guī)定的格式存儲到元數(shù)據(jù)庫中;
·索引程序?qū)Υ鎯Φ臄?shù)據(jù)建立索引,并存入索引數(shù)據(jù)庫;
·查詢分析器分析用戶的查詢請求,并將分析的結(jié)果傳遞給推理機(jī);
·根據(jù)推理機(jī)的處理結(jié)果構(gòu)建查詢對象,訪問索引數(shù)據(jù)庫,并將檢索到的結(jié)果返回給用戶;
·將得到的專業(yè)服務(wù)信息推送到專業(yè)信息服務(wù)網(wǎng)。其中,檢索是面向本體語義檢索的最重要的一部分,查詢處理可描述成以下的IR模型。
本體模型、面向本體的標(biāo)識Web資源的模型、面向本體的查詢模型,將查詢的關(guān)鍵詞匹配成本體描述的匹配算法。在這些模型中,Web資源(R)與查詢(Q)是相關(guān)的,僅在面向本體(O)建立的R和Q中,R滿足Q。在云計算平臺GAE下,本文采用本體與本體間的映射方法將查詢關(guān)鍵詞匹配成本體描述,讓本體易于被機(jī)器所理解,并且使本體間在語義上達(dá)到概念的一致性。
實現(xiàn)面向本體語義搜索引擎的過程中,想讓搜索引擎理解用戶的搜索內(nèi)容和目標(biāo),就必須實現(xiàn)如下兩個基本功能:對爬蟲程序爬取的信息進(jìn)行基于本體的信息抽??;利用推理機(jī)進(jìn)行分析查詢。
基于這兩點功能,本文設(shè)計了如圖1所示的基本框架模型。
因為在云計算平臺GAE下,不同的啟發(fā)式規(guī)則生成的部分解可能是不一致的,所以面向本體的信息抽取過程大致可以分為5個步驟:文本結(jié)構(gòu)解析和漢語分詞、文本分類、假設(shè)生成、數(shù)據(jù)規(guī)格化處理與完整性檢查、矛盾消解。其中,信息抽取由后3步完成。第3步產(chǎn)生各種可能的相互矛盾競爭的部分解,并在第4步加以去粗取精的處理,再通過檢測評判從這些競爭部分解中析出最終的一致解。
圖1 基于GAE的本體語義搜索引擎基本框架模型
該過程的關(guān)鍵是抽取規(guī)則模板和規(guī)則算法。本文中面向本體的信息抽取的規(guī)則模板采用概念斷言進(jìn)行描述,這樣可以在云計算平臺GAE下將本體的概念及其屬性之間的關(guān)系與約束表示為概念斷言。概念斷言的形式如圖2所示。
圖2 概念斷言的形式
圖3是一個應(yīng)用示例,即對旅游信息抽取的一些本體斷言。
在云計算平臺GAE下基于本體的信息抽取的規(guī)則算法描述如圖4所示。
在云計算平臺GAE下,語義檢索的意義在于對概念及概念間的關(guān)系進(jìn)行語義層面的檢索,其關(guān)鍵在于對概念之間的推理。Jena提供了基于規(guī)則的推理機(jī),包括RDFSReasoner、OWL Reasoner等,都具有一般的推理功能,目前一般都使用Jena對所建立的專用本體進(jìn)行推理分析請求。利用Jena對前面所建立的旅游本體進(jìn)行推理的部分過程如圖5所示。
圖3 對旅游信息抽取的一些本體斷言
圖4 基于本體的信息抽取的規(guī)則算法描述
這里的printStatements定義如下:
public void printStatements(Model m,Resource s,Property p,Resource o)
{
for(StmtIterator i=m.listStatements(s,p,o);i.hasNext();){Statement stmt=i.nextStatement();
System.out.println(“-”+PrintUtil.print(stmt));}
}
GAE下的專業(yè)服務(wù)網(wǎng)信息爬取器是搜索、獲取信息的核心內(nèi)容之一。本文設(shè)計并實現(xiàn)了一個面向主題的專業(yè)服務(wù)網(wǎng)信息爬取器,如圖6所示,主要由協(xié)議處理、頁面分析、頁面內(nèi)容檢查、URL優(yōu)先權(quán)判定和頁面存儲5部分組成。
·協(xié)議處理:處于系統(tǒng)的底層,主要通過各種協(xié)議完成數(shù)據(jù)的采集。
圖5 旅游本體推理的部分過程
圖6 GAE下專業(yè)信息服務(wù)網(wǎng)爬取器的基本結(jié)構(gòu)
·頁面分析:對于已采集到的頁面,首先判別頁面的類型,然后分析并提取未被訪問的鏈接以及用于鏈接相關(guān)性預(yù)測的一些其他信息,如提取用于頁面相關(guān)性判定的頁面正文等。
·頁面內(nèi)容檢查:對下載的頁面內(nèi)容,通過解析、計算其與主題的相似度,對頁面進(jìn)行檢查,過濾相關(guān)度較低的頁面內(nèi)容,提高采集的準(zhǔn)確度。
·頁面存儲:采集到的頁面經(jīng)過頁面內(nèi)容過濾后,被判定為符合主題要求的存入專業(yè)服務(wù)數(shù)據(jù)庫,以供搜索引擎的索引需要。
·URL優(yōu)先權(quán)判定:采用基于鏈接上下文的自適應(yīng)爬取算法,計算待爬取的鏈接的優(yōu)先權(quán),并按該優(yōu)先權(quán)進(jìn)行排序,不斷調(diào)整待爬行的隊列,保證系統(tǒng)持續(xù)運行。
專業(yè)服務(wù)網(wǎng)信息爬取器在啟動之前,需要設(shè)置必要的參數(shù),提交需要采集的主題關(guān)鍵詞以及一個比較好的初始爬取站點集合,經(jīng)過系統(tǒng)的初始化,系統(tǒng)將以這些配置信息作為運行的初始值,進(jìn)行基于主題的有選擇性的網(wǎng)頁爬行,以獲取與主題相關(guān)的網(wǎng)頁。
專業(yè)服務(wù)網(wǎng)信息爬取器需要維護(hù)3個隊列:待爬行URL隊列、已爬行隊列和停用隊列。其中,待爬行URL隊列是爬取器爬行的依據(jù),已爬行隊列存儲己經(jīng)下載過的,停用隊列存儲那些明顯不相關(guān)的或是因為別的原因被爬取器拒絕爬行的。待爬行URL隊列隨著爬取器的爬行不斷動態(tài)變化,爬取器在爬行的過程中,不斷地有新鏈接出現(xiàn),根據(jù)啟發(fā)式搜索策略,這些新的鏈接會按照主題相關(guān)性以由大到小的順序排列,并被加入待爬行URL隊列中。所以無論何時,主題相關(guān)性最高的URL一定在待爬行隊列的頭部,這樣就保證了爬取器每次從該隊列中取出用于訪問的都是與主題最相關(guān)的。相應(yīng)的網(wǎng)頁被訪問后便將其抽取出來,計算它與主題的相關(guān)性,然后將它插入該隊列的相應(yīng)位置。這個過程周而復(fù)始,以保證爬取器能夠?qū)εc主題最相關(guān)的網(wǎng)頁不斷地爬行下去,直到該隊列為空。爬取器的運行流程如圖7所示。
通常從召回率、準(zhǔn)確率和檢索時間3個方面評價搜索引擎的性能。其中,檢索時間除了依賴于索引算法和檢索算法外,還在一定程度上依賴于硬件配置。因此,本文主要統(tǒng)計分析召回率和準(zhǔn)確率。表1給出了實驗數(shù)據(jù)的處理結(jié)果,對于檢索請求所要表達(dá)的意思在所建本體范圍內(nèi)的情況,在準(zhǔn)確率和召回率上有很好的結(jié)果。
表1 實驗數(shù)據(jù)處理結(jié)果
本實驗環(huán)境為獨立開發(fā)的省情網(wǎng)和農(nóng)民工信息服務(wù)網(wǎng),這是兩個典型的專業(yè)信息服務(wù)網(wǎng),是為專門領(lǐng)域的專門人群提供相應(yīng)的信息服務(wù)的網(wǎng)絡(luò),按照圖1所示的基本框架模型設(shè)計,并各自建有相應(yīng)的本體庫。
針對傳統(tǒng)信息更新系統(tǒng)中存在的不能理解查詢語義的問題,本文研究了一種基于GAE面向本體語義的專業(yè)信息服務(wù)網(wǎng)信息更新系統(tǒng)的框架結(jié)構(gòu),充分利用本體語義的優(yōu)點,可以從知識庫中快速查找與用戶需求密切相關(guān)的信息。在省情網(wǎng)和農(nóng)民工信息服務(wù)網(wǎng)上得到具體實現(xiàn),證明了其信息獲取技術(shù)的有效性和準(zhǔn)確性。同時,在GAE下建設(shè)小型專業(yè)服務(wù)網(wǎng)站時,不再需要非云計算環(huán)境下的主機(jī)租用和尋找托管商等繁瑣工作;開發(fā)人員在GAE的框架內(nèi)開發(fā),也不用再考慮非云計算環(huán)境下的CPU、內(nèi)存、分布等復(fù)雜和難以控制的問題。但如果所要獲取的信息需求所表達(dá)的語義不在系統(tǒng)本體的范圍內(nèi),搜索到的結(jié)果不太理想,這是需要進(jìn)一步研究的問題。
1 陳全,鄧倩妮.云計算及其關(guān)鍵技術(shù).計算機(jī)應(yīng)用,2009,29(9)
2 欒靜,李軍鋒.基于Lucene全文檢索引擎的應(yīng)用研究.計算機(jī)與數(shù)字工程,2010,38(12)
3 He B,Chang K C C.Automatic complex schema matching across Web queryinterfaces:a correlation mining approach.ACM Transactions on Database Systems(TODS),2006,31(1):346~395
4 Su W F,Wang J Y,Lochovsky F.Automatic hierarchical classification of structured deep Web databases.Web Information Systems-Wise,Proceedings Lecture Notes in Computer Science,2006(4 255):210~221
5 Caverlee J,Liu L,Rocco D.Discovering interesting relationships among deep Web databases:a source-biased approach.World Wide Web-Internet and Web Information Systems,2006,9(4):585~622
6 Shestakov D,Bhowmick S S,Lim E P.DEQUE:querying the deep Web.Data&Knowledge Engineering,2005,52(3):273~311
7 Caverlee J,Liu L.QA-pagelet:data preparation techniques for large-scale data analysis of the deep Web.IEEE Transactions on Knowledge and Data Engineering,2005,17(9):1 247~1 262