高亮亮等
摘要:針對(duì)當(dāng)前農(nóng)業(yè)搜索引擎存在的查不全、查不準(zhǔn)、死鏈等問(wèn)題,在分析中國(guó)使用率比較高的農(nóng)搜、搜農(nóng)、華農(nóng)在線和中國(guó)農(nóng)業(yè)信息網(wǎng)站等搜索引擎的基礎(chǔ)上,提出了基于Nutch框架的農(nóng)業(yè)信息垂直搜索引擎。該搜索引擎對(duì)農(nóng)業(yè)詞語(yǔ)進(jìn)行分類,并構(gòu)建專門的農(nóng)業(yè)詞典,提高查詢速度。此外,基于Nutch框架的搜索引擎采用了改進(jìn)的PageRank算法對(duì)網(wǎng)頁(yè)進(jìn)行排序得到權(quán)值最高的網(wǎng)頁(yè),呈現(xiàn)出具有價(jià)值搜索結(jié)果,達(dá)到初步的搜索結(jié)果的預(yù)期目標(biāo)。
關(guān)鍵詞:Nutch框架;農(nóng)業(yè)搜索引擎;農(nóng)業(yè)詞典;設(shè)計(jì)
中圖分類號(hào):TP391.3 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):0439-8114(2015)18-4603-04
DOI:10.14088/j.cnki.issn0439-8114.2015.18.055
隨著農(nóng)業(yè)信息化的發(fā)展,農(nóng)業(yè)信息出現(xiàn)了爆炸性增加的局面,搜索引擎成為了必不可少的搜索工具,是人們進(jìn)行信息收集的必要手段之一。當(dāng)前農(nóng)業(yè)信息量達(dá)到了百TB量級(jí),面對(duì)如此多的農(nóng)業(yè)數(shù)據(jù),如何快速、有效地獲取個(gè)性化的農(nóng)業(yè)知識(shí)和信息資源就成為了當(dāng)前農(nóng)業(yè)信息搜索中迫在眉睫的問(wèn)題[1]。近年來(lái),伴隨著農(nóng)業(yè)信息化的推進(jìn),各類的農(nóng)業(yè)搜索引擎逐漸發(fā)展,雖然能夠基本滿足當(dāng)前農(nóng)業(yè)發(fā)展的需要,但還需要進(jìn)一步發(fā)展專題農(nóng)業(yè)信息檢索。
1 農(nóng)業(yè)搜索現(xiàn)狀
目前,農(nóng)業(yè)領(lǐng)域中已存在1萬(wàn)多個(gè)各類網(wǎng)站,網(wǎng)頁(yè)數(shù)量超過(guò)200多萬(wàn)[2],劉艷華等[3]對(duì)谷歌、百度和中國(guó)搜農(nóng)3個(gè)搜索引擎在農(nóng)業(yè)領(lǐng)域中進(jìn)行了分析對(duì)比,表明了綜合搜索引擎在搜索功能、結(jié)果、信息量等方面存在明顯的優(yōu)勢(shì),但是在農(nóng)業(yè)內(nèi)容的專業(yè)化、內(nèi)容時(shí)效性方面存在欠缺。
中國(guó)也有許多農(nóng)業(yè)類搜索引擎,如農(nóng)搜、搜農(nóng)、華農(nóng)在線、中國(guó)農(nóng)業(yè)信息網(wǎng)站等搜索引擎。農(nóng)搜網(wǎng)采用的是獨(dú)特的智能頁(yè)面技術(shù),實(shí)現(xiàn)網(wǎng)頁(yè)信息的結(jié)構(gòu)化索引,將使用者所查詢的結(jié)果以農(nóng)業(yè)科研單位、農(nóng)業(yè)專家人才、農(nóng)業(yè)實(shí)用技術(shù)等分類呈現(xiàn),實(shí)現(xiàn)了農(nóng)業(yè)信息的大眾化和個(gè)性化服務(wù),為急需農(nóng)業(yè)科技信息和市場(chǎng)信息的企業(yè)、部門、農(nóng)戶精確獲取農(nóng)業(yè)信息提供了有益的工具。搜農(nóng)網(wǎng)采用的是基于網(wǎng)頁(yè)主體內(nèi)容的索引,其優(yōu)點(diǎn)是加快信息的更新速度,提高信息的查全率和查準(zhǔn)率,建立了全新的復(fù)雜自適應(yīng)搜索模型,開(kāi)發(fā)并部署了6 200多個(gè)軟機(jī)器人承擔(dān)WEB農(nóng)業(yè)信息的采集、清洗、分類、聚類、排序、發(fā)布等系列工作,基本實(shí)現(xiàn)了WEB信息處理工作的自動(dòng)化,代替了農(nóng)業(yè)信息服務(wù)采、編、發(fā)等系列繁重的人工勞動(dòng),大大降低了農(nóng)村網(wǎng)絡(luò)信息服務(wù)成本。華農(nóng)在線實(shí)現(xiàn)了在農(nóng)業(yè)行業(yè)的垂直搜索應(yīng)用,將起到整合現(xiàn)有互聯(lián)網(wǎng)涉及的各類和各行業(yè)主管部門的農(nóng)業(yè)信息資源;實(shí)現(xiàn)滿足涉農(nóng)人員的個(gè)性化信息需求;提供專業(yè)知識(shí)問(wèn)答及其推送功能;組織農(nóng)業(yè)專家答疑,開(kāi)展學(xué)術(shù)論壇;建立農(nóng)業(yè)物流、農(nóng)產(chǎn)品價(jià)格、其交易平臺(tái)及與外國(guó)交流的行業(yè)平臺(tái)。
這些農(nóng)業(yè)搜索引擎雖然可以滿足用戶的一般需求,但是也存在一些問(wèn)題,查全率和查準(zhǔn)率低以及存在死鏈的現(xiàn)象,使得用戶搜索的結(jié)果不全面、不準(zhǔn)確或網(wǎng)頁(yè)打不開(kāi),難免會(huì)使用戶受到其他信息的干擾或?qū)λ阉饕娴牟粷M。張彧[4]將Nutch搜索引擎應(yīng)用到農(nóng)業(yè)信息搜索中進(jìn)行了初步的研究,將Nutch搜索引擎擴(kuò)展到農(nóng)業(yè)信息搜索中。本研究將Nutch搜索框架應(yīng)用于農(nóng)業(yè)信息搜索中,建立了基于Nutch搜索框架的農(nóng)業(yè)信息垂直搜索引擎,并將當(dāng)前農(nóng)業(yè)詞語(yǔ)進(jìn)行分類,建立專業(yè)的農(nóng)業(yè)詞典,將網(wǎng)頁(yè)農(nóng)業(yè)信息進(jìn)行精確分類,可以使用戶得到更加準(zhǔn)確和實(shí)用的查詢信息。
2 Nutch搜索引擎
Nutch是Apache的項(xiàng)目之一,是以Java語(yǔ)言作為實(shí)現(xiàn)手段及開(kāi)發(fā)工具,作為一個(gè)完全開(kāi)源的搜索引擎包,廣泛應(yīng)用于局域和廣域網(wǎng)絡(luò)的搜索引擎,Nutch搜索引擎的流程(圖1)。
3 農(nóng)業(yè)搜索引擎的設(shè)計(jì)與實(shí)現(xiàn)
Nutch搜索引擎具有良好的框架結(jié)構(gòu),為農(nóng)業(yè)搜索引擎的設(shè)計(jì)帶來(lái)了便捷,在此結(jié)構(gòu)基礎(chǔ)上設(shè)計(jì)不同的插件,實(shí)現(xiàn)引擎的功能。本研究設(shè)計(jì)的整個(gè)搜索引擎分為信息過(guò)濾模塊、信息抓取模塊、中文分詞模塊、農(nóng)業(yè)專業(yè)詞典、索引存儲(chǔ)模塊和查詢模塊6大主要模塊,如圖2所示。
3.1 功能結(jié)構(gòu)
根據(jù)當(dāng)前農(nóng)業(yè)發(fā)展和農(nóng)業(yè)搜索引擎的現(xiàn)狀,本研究提出了基于專業(yè)農(nóng)業(yè)詞典的搜索引擎,整個(gè)搜索引擎包含6個(gè)主要模塊:信息過(guò)濾模塊、信息抓取模塊、中文分詞模塊、農(nóng)業(yè)專業(yè)詞典、索引存儲(chǔ)模塊和查詢模塊。其中,信息抓取模塊、索引存儲(chǔ)模塊、查詢模塊是基于Nutch搜索框架中已存在的模塊所實(shí)現(xiàn)的。根據(jù)農(nóng)業(yè)搜索的專業(yè)主題要求設(shè)計(jì)開(kāi)發(fā)了信息過(guò)濾模塊、農(nóng)業(yè)專業(yè)詞典模塊以及查詢模塊中排序算法的改進(jìn),能夠更好地滿足農(nóng)業(yè)專題搜索的要求
3.1.1 農(nóng)業(yè)信息過(guò)濾模塊 該模塊的功能是過(guò)濾農(nóng)業(yè)網(wǎng)站中不相關(guān)網(wǎng)頁(yè)和鏈接,爬蟲(chóng)會(huì)分析網(wǎng)站的URL,將URL當(dāng)中的前后綴去除,提取出關(guān)鍵字。根據(jù)專業(yè)農(nóng)業(yè)詞典進(jìn)行過(guò)濾,將無(wú)關(guān)URL和網(wǎng)頁(yè)鏈接剔除,然后將這些相關(guān)的網(wǎng)頁(yè)內(nèi)容(網(wǎng)頁(yè)的title、摘要、正文等)進(jìn)行提?。ňW(wǎng)頁(yè)的title、摘要、正文等),將所有非結(jié)構(gòu)化的網(wǎng)頁(yè)內(nèi)容進(jìn)行結(jié)構(gòu)化,利用與農(nóng)業(yè)專業(yè)詞典相結(jié)合對(duì)所提取內(nèi)容關(guān)鍵詞出現(xiàn)頻率進(jìn)行加權(quán)處理,進(jìn)行初步的農(nóng)業(yè)信息過(guò)濾。
3.1.2 農(nóng)業(yè)專業(yè)詞典模塊 農(nóng)業(yè)專業(yè)詞典是分詞準(zhǔn)確的必備條件,一般詞語(yǔ)的詞性參照GB/T13715-92《信息處理用現(xiàn)代漢語(yǔ)分詞規(guī)范》所定義的名詞、動(dòng)詞、形容詞、代詞、數(shù)次、量詞、副詞、介詞、連詞、助詞、語(yǔ)氣詞、嘆詞、象聲詞13類。該農(nóng)業(yè)搜索引擎中將提供農(nóng)業(yè)科學(xué)、農(nóng)業(yè)產(chǎn)業(yè)、農(nóng)業(yè)產(chǎn)業(yè)鏈和綜合搜索4大搜索功能,為此,該系統(tǒng)中將農(nóng)業(yè)詞語(yǔ)分為了農(nóng)業(yè)科學(xué)、農(nóng)業(yè)產(chǎn)業(yè)、農(nóng)業(yè)產(chǎn)業(yè)鏈和其他4大類,農(nóng)業(yè)科學(xué)包括傳統(tǒng)的農(nóng)業(yè)科學(xué)、水產(chǎn)科學(xué)、林業(yè)科學(xué)等(圖3)。傳統(tǒng)的農(nóng)業(yè)科學(xué)包括農(nóng)業(yè)環(huán)境科學(xué)、作物生產(chǎn)科學(xué)、畜牧科學(xué)、農(nóng)業(yè)工程科學(xué)、農(nóng)業(yè)經(jīng)濟(jì)科學(xué)等[5]。水產(chǎn)科學(xué)包括水產(chǎn)資源學(xué)、水產(chǎn)養(yǎng)殖學(xué)、捕撈學(xué)、水產(chǎn)品加工工藝學(xué)、漁業(yè)經(jīng)濟(jì)學(xué)等[6]。林業(yè)科學(xué)包括林業(yè)基礎(chǔ)科學(xué)、林學(xué)、森林環(huán)境科學(xué)、森林工程科學(xué)、林產(chǎn)加工科學(xué)、林業(yè)經(jīng)濟(jì)管理科學(xué)等[7]。農(nóng)業(yè)產(chǎn)業(yè)包括糧食、經(jīng)濟(jì)作物、果樹(shù)、蔬菜、花卉、生豬、肉牛、家禽、水產(chǎn)、農(nóng)產(chǎn)品物流等。產(chǎn)業(yè)鏈的產(chǎn)前包含種苗業(yè)、農(nóng)業(yè)設(shè)施;生產(chǎn)包含種植/養(yǎng)殖/捕撈、農(nóng)資產(chǎn)品、農(nóng)業(yè)機(jī)具、田間管理;加工包含清洗/包裝、品級(jí)分類、保險(xiǎn)處理、食品加工;流通包含倉(cāng)庫(kù)物流、批發(fā)、零售;消費(fèi)包含營(yíng)銷推廣、餐飲服務(wù)。綜合搜索是全方面農(nóng)業(yè)信息的搜索,包括農(nóng)業(yè)科學(xué)、農(nóng)業(yè)產(chǎn)業(yè)、產(chǎn)業(yè)鏈3個(gè)類別。
通過(guò)專業(yè)詞典的構(gòu)建,用戶可以在知道自己查詢?cè)~屬性后直接在相關(guān)詞庫(kù)中查詢;若不知道,可以在綜合搜索中查詢,這樣會(huì)使查詢時(shí)間大大縮短,使得查詢結(jié)果更加精確。
3.1.3 查詢模塊 用戶通過(guò)在搜索界面中輸入搜索命令,可以采用模糊查詢和多條件查詢等,系統(tǒng)會(huì)調(diào)用中文分詞模塊,將搜索命令進(jìn)行分詞,分解為關(guān)鍵詞,在Nutch索引庫(kù)中進(jìn)行索引,找到滿足用戶的網(wǎng)頁(yè),通過(guò)評(píng)分加權(quán)的方式對(duì)搜多結(jié)果進(jìn)行排序,呈現(xiàn)給用戶,傳統(tǒng)的PageRank排序算法[8]:
P(μ)=c■■ (1)
式中,μ是一個(gè)網(wǎng)頁(yè),P(μ)是網(wǎng)頁(yè)的PageRank值,F(xiàn)(μ)是頁(yè)面μ指向的網(wǎng)頁(yè)集合,B(μ)是指向μ的網(wǎng)頁(yè)集合,N(μ)=|F(μ)|是μ指向外的鏈接數(shù),P(v)是網(wǎng)頁(yè)μ指向網(wǎng)頁(yè)v的PageRank值,N(v)是v指向外的鏈接數(shù),c是規(guī)范化因子(一般取0.85)。由于該算法不能判別網(wǎng)頁(yè)中超鏈接是否與主題的相關(guān)性導(dǎo)致PageRank排序算法存在主題漂移的現(xiàn)象,本系統(tǒng)采用的對(duì)PageRank算法的改進(jìn)算法[9]:
PR(p)=(1-d)+d×■■ (2)
其中,PR(p)代表網(wǎng)頁(yè)P(yáng)的PageRanK值,PR(Ti)代表網(wǎng)頁(yè)Ti的PageRank值,d是規(guī)范化因子,是在相似度舉證S中網(wǎng)頁(yè)p對(duì)Ti的相似度值,S(Ti)=■,B■是網(wǎng)頁(yè)Ti的鏈出連接集合。該算法通過(guò)驗(yàn)證可以使網(wǎng)頁(yè)的PageRank值在具有相似主題的網(wǎng)頁(yè)上傳播,極大地減少了無(wú)關(guān)網(wǎng)頁(yè)對(duì)該值的擴(kuò)散,影響網(wǎng)頁(yè)權(quán)重的現(xiàn)象。
3.2 整體流程
整個(gè)搜索引擎包含3個(gè)過(guò)程:信息抓取、信息處理、信息檢索。
3.2.1 農(nóng)業(yè)信息抓取 主要負(fù)責(zé)將農(nóng)業(yè)信息從各個(gè)農(nóng)業(yè)網(wǎng)站中抓取、整理、入庫(kù),這個(gè)過(guò)程由爬蟲(chóng)、頁(yè)面分析器、URL更新器、農(nóng)業(yè)信息過(guò)濾器組成。爬蟲(chóng)將會(huì)在合作的農(nóng)業(yè)網(wǎng)站中利用遍歷的形式將農(nóng)業(yè)信息進(jìn)行抓取有用的網(wǎng)頁(yè)和連接。頁(yè)面分析器將會(huì)對(duì)所抓取的內(nèi)容進(jìn)行語(yǔ)法、詞法分析,去掉重復(fù)URL,將檢查過(guò)的內(nèi)容網(wǎng)頁(yè)內(nèi)容送到頁(yè)面分析器中,對(duì)頁(yè)面信息進(jìn)行過(guò)濾,去掉無(wú)用的網(wǎng)頁(yè)和URL。URL更新器主要是更新過(guò)濾后的URL方便下一輪的抓取。
3.2.2 農(nóng)業(yè)信息的加工和分類處理 對(duì)抓取的網(wǎng)頁(yè)進(jìn)行相關(guān)性分析,根據(jù)本研究中確定的農(nóng)業(yè)詞典中分好的農(nóng)業(yè)大類,對(duì)抓取網(wǎng)頁(yè)信息進(jìn)行匹配,通過(guò)不同類別關(guān)鍵詞的匹配,將所抓取網(wǎng)頁(yè)進(jìn)行分類存取,并按照倒排序的方式建立檢索式。主要步驟為:①將網(wǎng)頁(yè)信息轉(zhuǎn)變?yōu)榧兾谋拘畔?;②通過(guò)中文分詞,按照農(nóng)業(yè)專業(yè)詞典進(jìn)行匹配;③將匹配好的農(nóng)業(yè)信息按照分類進(jìn)行存儲(chǔ),建立倒排序檢索。
3.2.3 農(nóng)業(yè)信息網(wǎng)頁(yè)資源的檢索 農(nóng)業(yè)用戶通過(guò)發(fā)送查詢請(qǐng)求,查詢模塊會(huì)調(diào)用基于專業(yè)農(nóng)業(yè)詞典的中文分詞模塊,將用戶輸入的請(qǐng)求進(jìn)行解析,封裝成規(guī)定的檢索式來(lái)查詢本地Nutch庫(kù),返回用戶所要求的網(wǎng)頁(yè)記錄。同時(shí)在該模塊中,會(huì)用到改進(jìn)的PageRank算法,利用返回網(wǎng)頁(yè)的基礎(chǔ)上進(jìn)行網(wǎng)頁(yè)加權(quán)處理,并作歸一化處理,得到最符合關(guān)鍵詞前100個(gè)進(jìn)行展示,通過(guò)該算法的計(jì)算會(huì)極大地提高查詢結(jié)果的查準(zhǔn)率和查全率。
4 小結(jié)
本研究在Nutch搜索框架的基礎(chǔ)上,通過(guò)建立農(nóng)業(yè)專業(yè)詞典,對(duì)農(nóng)業(yè)信息進(jìn)行精確分詞和網(wǎng)頁(yè)信息精確分類,建立Nutch索引庫(kù),用戶通過(guò)查詢,系統(tǒng)會(huì)對(duì)初始搜索結(jié)果通過(guò)改進(jìn)后的PageRank算法進(jìn)行排序,將搜索結(jié)果中與關(guān)鍵詞最相關(guān)的結(jié)果進(jìn)行顯示。通過(guò)整個(gè)系統(tǒng)的構(gòu)建和插件的設(shè)計(jì),將會(huì)實(shí)現(xiàn)農(nóng)業(yè)領(lǐng)域信息搜索的“專、精、深”的目的,為用戶提供更加全面、準(zhǔn)確的搜索結(jié)果。
參考文獻(xiàn):
[1] 周 鵬.農(nóng)業(yè)搜索引擎系統(tǒng)的關(guān)鍵技術(shù)研究[D].北京:首都師范大學(xué),2009.
[2] 周國(guó)民,樊景超,周義桃.基于SDD算法的中文農(nóng)業(yè)搜索引擎設(shè)計(jì)與實(shí)現(xiàn)[J].農(nóng)業(yè)圖書情報(bào)學(xué)刊,2008(11):48-50.
[3] 劉艷華,徐 勇.不同搜索引擎在農(nóng)業(yè)領(lǐng)域的應(yīng)用效果對(duì)比[J].農(nóng)業(yè)網(wǎng)絡(luò)信息,2009(8):25-29.
[4] 張 彧.基于Nutch的農(nóng)業(yè)信息垂直搜索引擎的研究與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2013.
[5] 農(nóng)學(xué)分類.農(nóng)學(xué)[EB/OL].http://baike.baidu.com/view/100209.html.2014-05-10.
[6] 水產(chǎn)科學(xué)[EB/OL].http://baike.baidu.com/view/76777.html.2014-05-05.
[7] 林業(yè)科學(xué)[EB/OL].http://baike.baidu.com/view/76775.html.2013-04-19.
[8] 王德廣,周志剛,梁 旭.PageRank算法的分析及其改進(jìn)[J].計(jì)算機(jī)工程,2010,36(22):291-292.
[9] 黃德才,戚華春.PageRank算法研究[J].計(jì)算機(jī)工程,2006, 32(4):145-146.