金字招牌,值得信賴!!!
本文關(guān)鍵詞:基于Nutch的農(nóng)業(yè)垂直搜索引擎研究,由筆耕文化傳播整理發(fā)布。
摘要:采用基于中文詞典的正向最大匹配中文分詞方法的JE分詞改進(jìn)Nutch中文分詞,使其支持中文分詞。最后,采用PAGERANK排序算法改進(jìn)Nutch原有的基于Lucene的頁面排序算法。
目前,“專、精、深”的垂直搜索引擎、智能化語義化的搜索引擎成為人們研究的熱點(diǎn)。
在了解和分析Nutch工作原理的基礎(chǔ)上對Nutch開源搜索引擎進(jìn)行擴(kuò)展和修改來研發(fā)基于Nutch的農(nóng)業(yè)垂直搜索引擎。
在基于Nutch的農(nóng)業(yè)垂直搜索引擎研究的基礎(chǔ)上結(jié)合項(xiàng)目背景需求,設(shè)計(jì)并實(shí)現(xiàn)了該系統(tǒng)管理平臺。
第一章,緒論部分。主要闡述了本論文研究的目的、意義及本文要解決的問題、國內(nèi)和國外的研究狀況、核心研究內(nèi)容以及本文章的組織結(jié)構(gòu)。
主要論述系統(tǒng)結(jié)構(gòu)以及研發(fā)過程涉及到的關(guān)鍵技術(shù),最后對其進(jìn)行測試和分析。
總結(jié)論文的主要工作和存在的缺陷之處,并對以后的研究工作進(jìn)行了展望。
本章闡述了本論文研究的目的及意義,論述了國內(nèi)和國外的研究狀況,給出論文核心研究內(nèi)容及文章的組織結(jié)構(gòu)。
垂直搜索引擎是專門面向于一個(gè)特定行業(yè)、特定領(lǐng)域、特定人群而產(chǎn)生的工具,因此,垂直搜索引擎也稱為專業(yè)搜索引擎、專題搜索引擎或是主題搜索引擎,是通用搜索引擎更細(xì)的劃分和擴(kuò)展(王文鈞和李巍 2010;李曉明等 2007)。
它不僅具備“專、精、深”的特點(diǎn),而且在這一領(lǐng)域具有典型的領(lǐng)域特色。
具體而言,垂直搜索引擎就是把Web信息資源中的某類學(xué)科信息以定向分字段地形式抽取出所需的數(shù)據(jù),即將非結(jié)構(gòu)化的網(wǎng)頁數(shù)據(jù)抽取成一定的結(jié)構(gòu)化的網(wǎng)頁數(shù)據(jù)的過程,然后對數(shù)據(jù)進(jìn)行去重、分類、分詞、索引等處理,最后再以查詢的方式來達(dá)到用戶的信息需求。
垂直搜索引擎和通用搜索引擎的產(chǎn)生其目的是相同的,都是幫助廣大用戶搜索信息的相關(guān)工具,但其信息的服務(wù)形式有很大變化,垂直搜索引擎更注重信息的“專、精、深”。
由圖2-1可知,垂直搜索引擎的基本工作原理是:首先網(wǎng)絡(luò)蜘蛛根據(jù)初始URL采集互聯(lián)網(wǎng)上的網(wǎng)頁;其次對采集到的網(wǎng)頁進(jìn)行處理,通過分析網(wǎng)頁提取出網(wǎng)頁中的內(nèi)容和網(wǎng)頁中存在的URL鏈接,并對網(wǎng)頁中的內(nèi)容和網(wǎng)頁中的URL鏈接進(jìn)行過濾,把與主題相關(guān)的頁面存入網(wǎng)頁數(shù)據(jù)庫,同時(shí)把網(wǎng)頁中的URL鏈接加入U(xiǎn)RL數(shù)據(jù)庫,等待網(wǎng)絡(luò)蜘蛛進(jìn)一步爬取;最后根據(jù)網(wǎng)頁數(shù)據(jù)庫建立索引,將該索引保存到索引庫。此外,用戶通過用戶接口進(jìn)行檢索請求,檢索器根據(jù)用戶輸入的條件到索引庫進(jìn)行檢索,其結(jié)果被進(jìn)行一定的有效組織后返回給檢索用戶(周鵬等 2009)。
因此,下面主要介紹網(wǎng)頁庫級的垂直搜索引擎研發(fā)過程中用到的主要技術(shù),其主要技術(shù)主要包括:信息采集技術(shù)、網(wǎng)頁信息抽取技術(shù)、信息處理技術(shù)、分詞技術(shù)、索引技術(shù)等。
垂直搜索引擎的信息抽取是把非結(jié)構(gòu)化的網(wǎng)頁數(shù)據(jù)根據(jù)特定的需求抽取成結(jié)構(gòu)化網(wǎng)頁數(shù)據(jù),提供專業(yè)的查詢服務(wù),這也是垂直搜索引擎與通用搜索引擎之間的最大不同之處,因此,衡量垂直搜索引擎好壞的一個(gè)核心技術(shù)指標(biāo)就是信息抽取技術(shù)。目前,信息抽取技術(shù)的方式多種多樣,主要有基于包裝器的信息抽取方式、基于自然語言的抽取方式、基于HTML網(wǎng)頁結(jié)構(gòu)的抽取方式(郭來德等 2007)。
垂直搜索引擎的網(wǎng)頁信息過濾技術(shù)決定著該搜索引擎的專業(yè)性,網(wǎng)頁信息過濾就是指通過分析網(wǎng)頁內(nèi)容及結(jié)構(gòu),保留與主題相關(guān)的網(wǎng)頁,而丟棄與主題不相關(guān)的網(wǎng)頁。目前,主要的網(wǎng)頁信息過濾技術(shù)有基于布爾模型的網(wǎng)頁信息過濾方法、基于VSM的網(wǎng)頁信息過濾方法、基于潛在語義模型的網(wǎng)頁信息過濾方法等(羅德一 2007)。
VSM是被上世紀(jì)60年代的Salton等人提出用于表達(dá)特征的模型,SMART(文本檢索系統(tǒng))是它的典型應(yīng)用。
中文分詞即中文切詞,是指將漢字序列分割成代表一定含義的詞。
基于字符串匹配的機(jī)器中文分詞算法、基于詞頻統(tǒng)計(jì)的中文分詞算法以及基于知識理解的中文分詞算法(李東和張湘輝 2006);谧址ヅ涞臋C(jī)器中文分詞算法也稱為詞典中文分詞算法、機(jī)械中文分詞算法,它是依據(jù)一定的方法把所要分詞的漢字串同詞典來完成詞條匹配,如果在該詞典中能夠發(fā)現(xiàn)該字符串,則表示切分出一個(gè)漢字串。
如正向、逆向、最長、最小最短等匹配算法,通常情況都是將以上各種形式的分詞方法相互組合使用。常用的幾種相互組合的分詞方法主要是:正向最大、逆向最大、雙向等匹配算法以及最少切分算法;
基于知識理解的中文分詞方法是力求使計(jì)算機(jī)能夠具備人類分析句子的能力,從而能夠識別出詞。它主要由總控部分、句法語義子系統(tǒng)、分詞子系統(tǒng)這三部分構(gòu)成,通過總控部分來調(diào)解語義子系統(tǒng)、分詞子系統(tǒng)進(jìn)行歧義分詞的判別。
目前,索引技術(shù)主要分為四類,分別是線性索引、倒排索引、靜態(tài)索引、動(dòng)態(tài)索引。
倒排索引是指按照屬性的值來檢索文件記錄,它的索引表中的任意一項(xiàng)是由屬性值和對應(yīng)的記錄的地址構(gòu)成,因此它是用屬性值來確認(rèn)記錄的位置,而不是用記錄確認(rèn)屬性值;
動(dòng)態(tài)索引和靜態(tài)索引在索引結(jié)構(gòu)的生成上類似,唯一不同的是索引結(jié)構(gòu)的改變不同,動(dòng)態(tài)索引是在系統(tǒng)進(jìn)行插入或刪除記錄時(shí)其索引結(jié)構(gòu)能夠改變。
Nutch的兩個(gè)核心部分分別是:crawler(即爬蟲)、searcher(即查詢)
Crawler的核心是用于從Internet上爬取網(wǎng)頁到索引庫的建立。
Searcher的核心是根據(jù)用戶的查詢詞到索引庫進(jìn)行檢索來生成查詢結(jié)果。
首先是索引其文件格式相對應(yīng)用平臺具有獨(dú)立性;
此外,Lucene的系統(tǒng)架構(gòu)具有面向?qū)ο蟮奶攸c(diǎn),使其對它的學(xué)習(xí)難易程度大大降低,也方便了擴(kuò)展其他新功能。
爬取部分主要是爬取網(wǎng)頁信息并將網(wǎng)頁信息進(jìn)行反向索引,搜索部分是依據(jù)用戶的搜索請求進(jìn)行反向索引,并將其結(jié)果返回給用戶。
將多個(gè)索引合并為一個(gè)大的索引庫,為用戶搜索時(shí)提供服務(wù);
根據(jù)用戶查詢條件,檢索器將用戶的查詢轉(zhuǎn)換為Lucene的查詢查找索引庫;
現(xiàn)有的URL過濾規(guī)則很多,有基于正則表達(dá)式的URL過濾規(guī)則、有基于網(wǎng)頁內(nèi)容的URL過濾規(guī)則等。
本研究首先對樣本數(shù)據(jù)采用聚類技術(shù)獲取樣本文件,其中樣本數(shù)據(jù)是人工手動(dòng)獲得;
分類是預(yù)先給定類別數(shù)目,在類別數(shù)目一定的情況下,手動(dòng)進(jìn)行對分類訓(xùn)練語料的標(biāo)注,然后訓(xùn)練獲取分類器。
聚類是把數(shù)據(jù)對象進(jìn)行歸類,將相似度較大的數(shù)據(jù)對象歸為一類,不在同一個(gè)類中的數(shù)據(jù)對象相似度相差比較大,屬于無監(jiān)督學(xué)習(xí)行為,能夠自動(dòng)的劃分?jǐn)?shù)據(jù)集。
k-means 聚類算法能夠輸入聚類數(shù)量 k,然后依據(jù)聚類個(gè)數(shù)k劃分n個(gè)數(shù)據(jù)對象來滿足聚類需求,聚為一類的數(shù)據(jù)對象有較高的相似度高,不在同一個(gè)類中的數(shù)據(jù)對象相似度有比較大的差別。聚類相似度是選用每一類中數(shù)據(jù)對象的平均值作為該類的“中心”進(jìn)行計(jì)算相似度(李慧等 2004;Hearst M A 1997)。它具體的歸類流程是首先從所有數(shù)據(jù)對象n中隨意選取K個(gè)數(shù)據(jù)對象,作為K個(gè)類的首次聚類中心對象;其次,計(jì)算剩余數(shù)據(jù)對象與聚類中心對象的相似度(即距離),將最相似的歸為一類;然后重新計(jì)算每個(gè)類中數(shù)據(jù)對象的平均值(即該聚類中心對象);最后一直循環(huán)上述過程,當(dāng)均方差(常用的標(biāo)準(zhǔn)測度函數(shù))收斂于某一個(gè)值,停止循環(huán)。這樣使k個(gè)聚類相互之間能夠盡最大可能的分割,而和K個(gè)聚類自身能夠盡最大可能的聚集(毛國君和段麗娟 2007)。
分類是一種重要的數(shù)據(jù)挖掘技術(shù)。分類是為了依據(jù)數(shù)據(jù)中對象的特征構(gòu)造出分類器(即分類模型)。
K最近鄰分類算法也稱KNN分類算法,它采用歐幾里得計(jì)算距離的公式來計(jì)算兩個(gè)樣本間的間隔(即距離),如公式3-1所示。
其中 表示第i個(gè)樣本對象的第k維向量特征, 表示第j個(gè)訓(xùn)練對象的第k維向量特征,M表示向量特征的總維數(shù),, 表示第i個(gè)和第j個(gè)對象間的相似度。
基于Nutch的農(nóng)業(yè)垂直搜索引擎是借助開源搜索引擎Nutch開發(fā)的,因此本研中中文分詞也是非常關(guān)鍵的一個(gè)技術(shù)。
Analysis包內(nèi)的NutchAnalyzer定義了Nutch分析器,NutchAnalyzer繼承了Analyzer,也是Nutch里對文本分析進(jìn)行擴(kuò)展的一個(gè)很好的擴(kuò)展點(diǎn)。NutchAnalyzer類是Nutch中默認(rèn)的字符串分詞和分析檢索接口,它是通過JavaCC來編譯NutchAnalysis.jj文件生成的代碼,其中NutchAnalysis.jj文件是生成代碼的規(guī)則文件。
其次將其與詞典進(jìn)行匹配,如果匹配失敗則去掉W最右邊的這個(gè)字符,繼續(xù)匹配,否則匹配成功,從左起去掉S1的前M個(gè)字符,將匹配成功的詞追加到字符串S2;接著不斷循環(huán)前面的操作,直到字符串S1為空為止;最后輸出切詞結(jié)果S2。
對于一個(gè)面向中文的搜索引擎來講,只有在抓取信息和檢索信息時(shí)使用一樣的中文分詞算法,
目前,本體庫的構(gòu)建針對自身的應(yīng)用領(lǐng)域有不同的構(gòu)建策略,但其構(gòu)建過程都遵循一定的規(guī)律性。
傳統(tǒng)基于關(guān)鍵詞的VSM主題相關(guān)性判別是通過解析網(wǎng)頁,提取出網(wǎng)頁內(nèi)容,然后結(jié)合關(guān)鍵詞統(tǒng)計(jì)網(wǎng)頁詞頻來判斷網(wǎng)頁的相關(guān)度。
解析網(wǎng)頁前,先獲取特征詞集合 和向量特征 ,其中 表示特征詞 所對應(yīng)的權(quán)值。
下面對改進(jìn)用到的相關(guān)算法和改進(jìn)的具體過程進(jìn)行分析。
tf(t_in_d) :表示查詢詞(t)在網(wǎng)頁(d)中總共出現(xiàn)的次數(shù),查詢詞(t)在網(wǎng)頁(d)中出現(xiàn)的頻次越高,網(wǎng)頁(d)的得分就越高。
若網(wǎng)頁中包含查詢詞的個(gè)數(shù)越多,則其網(wǎng)頁得分越高;
其缺點(diǎn)為:該算法精確度低,網(wǎng)頁的權(quán)威性不能夠完全體現(xiàn)。
它的基本思想是“如果網(wǎng)頁是從許多質(zhì)量高的網(wǎng)頁中鏈接得到該網(wǎng)頁,那么該網(wǎng)頁一定還是質(zhì)量高的網(wǎng)頁”。
(5)d:表示阻尼系數(shù),d的取值為0到1,通常取值是0.85。
PageRank算法有一個(gè)特點(diǎn)就是PageRank值之和與網(wǎng)頁的總數(shù)相等,可以通過下面圖3-6進(jìn)行說明。
網(wǎng)頁的向量化表示是指提取頁面中存在的特征詞,并計(jì)算其權(quán)值。
首先對包含標(biāo)記的網(wǎng)頁進(jìn)行切詞處理,去掉停用詞;
搜索引擎對于用戶來說是用來進(jìn)行信息搜索的工具,用戶進(jìn)行信息搜索通過搜索引擎對用戶開放的用戶檢索接口來進(jìn)行。
由圖3-7可以看到基于Nutch的農(nóng)業(yè)垂直搜索引擎用戶檢索接口不僅提供用戶檢索的基本功能,即用戶輸入搜索詞,通過查詢詞到索引庫進(jìn)行檢索,將檢索結(jié)果按照上小節(jié)闡述的改進(jìn)策略進(jìn)行排序,將排序結(jié)果返回給搜索用戶;
傳統(tǒng)衡量搜索引擎好壞的指標(biāo)是查全率、查準(zhǔn)率,查全率是搜索出的網(wǎng)頁數(shù)與網(wǎng)頁庫中總的相關(guān)網(wǎng)頁數(shù)的比值;
一般來講,當(dāng)查全率高的情況下,查準(zhǔn)率就低,而當(dāng)查準(zhǔn)率高的情況下,查全率就相對低。
關(guān)鍵詞結(jié)果總數(shù)選取數(shù)相關(guān)數(shù)非相關(guān)數(shù)主題相關(guān)率
其中n為網(wǎng)頁的總個(gè)數(shù),A(i)為網(wǎng)頁的質(zhì)量等級,B(i)為網(wǎng)頁與檢索詞的相關(guān)度。其中A(i)取值如下所示:
其中N為檢索關(guān)鍵詞的個(gè)數(shù),n為網(wǎng)頁的個(gè)數(shù)(即60), 為與用戶需求有關(guān)的網(wǎng)頁個(gè)數(shù)。
本章主要針對系統(tǒng)需求、體系結(jié)構(gòu)以及系統(tǒng)功能進(jìn)行闡述,最后進(jìn)行系統(tǒng)的測試和評價(jià)。
B/S、C/S模式檢索接口屬于不同平臺下相同搜索引擎接口,用戶從該接口進(jìn)行搜索,輸入搜索詞,并對其搜索詞進(jìn)行中文分詞結(jié)合農(nóng)業(yè)領(lǐng)域本體庫進(jìn)行查詢擴(kuò)展,最后進(jìn)入索引庫進(jìn)行檢索,將其結(jié)果按一定排序策略排序后呈現(xiàn)給用戶。
性能測試是一種用測試工具進(jìn)行模擬系統(tǒng)的正常、異常以及峰值等條件來進(jìn)行系統(tǒng)測試。常用的壓力測試方法是負(fù)載測試、壓力測試。負(fù)載測試是用來測試系統(tǒng)工作在各種條件下的性能情況。壓力測試是測試系統(tǒng)的極值(即瓶頸),以此來確定系統(tǒng)能夠正常工作的極限。目前性能測試工具非常多,本實(shí)驗(yàn)選用QALoad這種工具進(jìn)行壓力測試。經(jīng)測試本系統(tǒng)管理平臺性能較好。
除此之外,還能夠方便用戶進(jìn)行農(nóng)業(yè)相關(guān)信息的搜索。
(2)Nutch中文分詞的改進(jìn)。采用基于中文詞典的正向最大匹配中文分詞方法的JE分詞改進(jìn)Nutch中文分詞,滿足基于Nutch的農(nóng)業(yè)垂直搜索引擎中文分詞的要求。
系統(tǒng)管理平臺。
本文關(guān)鍵詞:基于Nutch的農(nóng)業(yè)垂直搜索引擎研究,由筆耕文化傳播整理發(fā)布。
本文編號:223676
本文鏈接:http://www.sikaile.net/kejilunwen/sousuoyinqinglunwen/223676.html