崔 琳(宿州學(xué)院信息工程學(xué)院,安徽 宿州234000)
汪材印(宿州學(xué)院機械與電子工程學(xué)院,安徽 宿州234000)
自2003年以來,與Web 2.0相關(guān)的技術(shù)不斷涌現(xiàn),其中Blog(博客)是最熱門應(yīng)用之一,其開放性和易于發(fā)布性已吸引了眾多用戶。隨著Blog的發(fā)展,Blog頁面的數(shù)量呈指數(shù)級上升,只靠傳統(tǒng)的搜索引擎有可能查找不到所需要的Blog日志,這促使人們針對Blog搜索引擎進行研究。目前,已經(jīng)出現(xiàn)了許多頂級的Blog搜索引擎,如Technorati、BlogStreet等,Google也推出了中文Blog搜索引擎,但針對某一領(lǐng)域知識檢索的專業(yè)Blog搜索引擎還比較少[1]。為此,筆者基于語義Web思想,對計算機領(lǐng)域的Blog日志進行搜索的智能檢索系統(tǒng)進行了研究。
1998年,萬維網(wǎng)(Web)的奠基人Tim Berners-Lee提出了語義 Web的概念及其技術(shù)路線[2]。后來,Tim Berners-Lee又提出了語義 Web的基本體系結(jié)構(gòu)[3],如圖1所示。
若要讓計算機理解Web上的語義,需要為計算機提供描述Web數(shù)據(jù)的數(shù)據(jù),即元數(shù)據(jù)。資源描述框架RDF(Resource Description Framework,RDF)正是描述資源的元數(shù)據(jù)模型。RDF是由資源、屬性、屬性值所組成的三元組,在知識表示領(lǐng)域,資源、屬性和屬性值分別稱為主體(Subject)、謂詞(Predicate)和客體(Object),這三者的組合稱為一個陳述(Statement)[4]。
圖1 語義Web的體系結(jié)構(gòu)
為實現(xiàn)語義檢索計算機專業(yè)領(lǐng)域Blog日志,設(shè)計的系統(tǒng)結(jié)構(gòu)由RSS采集子系統(tǒng)、RSS處理子系統(tǒng)和Blog查詢子系統(tǒng)3個模塊構(gòu)成,每個大的模塊又詳細(xì)劃分為若干個小模塊(見圖2)。具體內(nèi)容如下:①聚合內(nèi)容采集子系統(tǒng)。Blog網(wǎng)頁的聚合內(nèi)容(really simple syndication,RSS)文件中包含該Blog網(wǎng)頁的重要信息,通過RSS的自動 “推送”,用戶可以很及時的獲得Blog網(wǎng)頁的更新信息,是使用最廣泛的XML應(yīng)用之一[5]。該系統(tǒng)中,網(wǎng)絡(luò)蜘蛛抓取的資源是RSS鏈接所指的XML文檔,這一點和傳統(tǒng)搜索引擎有明顯差別。該模塊設(shè)計中主要涉及網(wǎng)絡(luò)蜘蛛,其設(shè)計的好壞將直接影響系統(tǒng)檢索結(jié)果。網(wǎng)絡(luò)蜘蛛搜索算法如圖3所示。②RSS處理子系統(tǒng)。對抓取的RSS文件在本體庫的指導(dǎo)下進行語義標(biāo)注,提取出文檔的特征并對原始資源使用RDF描述形成元數(shù)據(jù),然后對元數(shù)據(jù)索引處理,以提供給查詢子系統(tǒng)進行查詢。③Blog查詢子系統(tǒng)。在本體庫的指導(dǎo)下對查詢詞進行語義擴展和語義推理,將經(jīng)過擴展的查詢詞在系統(tǒng)的索引庫中查詢,最后把查詢結(jié)果返回給用戶。
圖2 Blog智能檢索系統(tǒng)詳細(xì)功能模塊
本體是概念模型的明確的規(guī)范化說明[6]。該系統(tǒng)中,需要利用本體對RSS文件進行語義標(biāo)注,還要對用戶提交的查詢詞進行語義擴展,所以構(gòu)建良好的本體是十分重要的。設(shè)計時使用OWL語言描述本體,采用本體構(gòu)建工具Protégé構(gòu)建本體。
圖3 網(wǎng)絡(luò)蜘蛛搜索算法圖
由于所設(shè)計的系統(tǒng)是針對計算機專業(yè)領(lǐng)域的Blog日志進行語義查詢,所以要構(gòu)建計算機專業(yè)領(lǐng)域的本體庫,將現(xiàn)有的計算機領(lǐng)域分成7類,即Computer science and technology based subjects(計算機科學(xué)技術(shù)基礎(chǔ)學(xué)科)、Computer Software(計算機軟件)、Computer Application(計算機應(yīng)用)、Computer Architecture(計算機系統(tǒng)結(jié)構(gòu))、Artificial Intelligence(人工智能)、Computer engineering(計算機工程)、Computer science and technology other subjects(計算機科學(xué)技術(shù)其他學(xué)科)。每個大類包含許多小的分類,每一個小的分類又包含許多個不同的子類,使用rdfs:subClassof表示類之間的上下位關(guān)系或父子關(guān)系。
定義英語分類的同時,還定義了對應(yīng)的中文分類,將中英文詞匯用owl:sameas建立同義映射關(guān)系,查詢時,借助這種同義關(guān)系就可以實現(xiàn)擴展詞義。例如英文 “Database”與中文 “數(shù)據(jù)庫”之間的同義可表示為:
針對所查詢文檔是RSS文件的特點,定義了用于描述RSS文件的本體Document類,并為Document類定義了若干描述RSS文件的屬性,語句如下:
類定義:
屬性定義:
選擇Java作為開發(fā)平臺,后臺數(shù)據(jù)庫使用MySQL 2000,Web服務(wù)器選擇支持JSP服務(wù)的Tomcat。因為CSDN網(wǎng)和希賽網(wǎng)下的Blog是目前互聯(lián)網(wǎng)上使用最為廣泛的計算機學(xué)科類博客,網(wǎng)絡(luò)蜘蛛所抓取Blog網(wǎng)頁主要來自于上述網(wǎng)站。首先在檢索項選擇關(guān)鍵詞,檢索值輸入 “數(shù)據(jù)庫”,點擊“查詢”按鈕,結(jié)果如圖4所示?!皵?shù)據(jù)庫”經(jīng)過該系統(tǒng)的語義擴展推理,得到同義詞匯 “database”和下位詞匯 “sql”,除查詢到含有“數(shù)據(jù)庫”的Blog網(wǎng)頁外,還查詢到包含 “database”和 “sql”的Blog網(wǎng)頁。
圖4 語義擴展查詢結(jié)果界面
針對計算機專業(yè)領(lǐng)域Blog日志進行語義搜索的智能檢索系統(tǒng),使用了本體、語義推理等語義Web技術(shù),把對資源信息的語義處理引入到信息檢索領(lǐng)域中。實際運用表明,該系統(tǒng)對網(wǎng)絡(luò)蜘蛛所抓取的計算機領(lǐng)域的Blog日志能實現(xiàn)一般查詢和語義擴展查詢,可以提高信息檢索的查全率和查準(zhǔn)率。下一步的工作是對本體庫進行細(xì)化和完善,以便使計算機學(xué)科類本體庫和RSS文檔本體更為合理。
[1]潘冰,徐亮亮 .中文博客搜索引擎研究 [J].計算機工程與設(shè)計,2010,31(8):1718-1721.
[2]葉育鑫,歐陽丹彤 .語義Web搜索技術(shù)研究進展 [J].計算機科學(xué),2010,37(3):1-5.
[3]Tim Berners-Lee.Semantic Web-XML2000 [EB/OL].http://www.w3.org/2000/Talks/1206-xml2k-tbl/,2000-12-06.
[4]郭志鑫 .基于本體的文檔引文元數(shù)據(jù)信息抽取 [J].微計算機信息,2006,6(3):304-306.
[5]原舒雨,蔡皖東,李勇軍,等 .面向博客的智能網(wǎng)絡(luò)蜘蛛技術(shù)及其系統(tǒng)實現(xiàn) [J].微電子學(xué)與計算機,2011,28(1):193-196.
[6]張柳松 .基于本體的智能檢索系統(tǒng)的研究 [J].微計算機信息,2007,12(3):237-238.