帥應(yīng),羅文琪,熊麗珍,舒忠
(荊楚理工學(xué)院,荊門448000)
國(guó)家提出的“互聯(lián)網(wǎng)+”及“大數(shù)據(jù)”發(fā)展戰(zhàn)略,使得傳統(tǒng)的包裝及印刷行業(yè)主動(dòng)或被動(dòng)地融入其中,為這個(gè)古老的加工產(chǎn)業(yè)帶來(lái)了生機(jī)與希望。其優(yōu)勢(shì)主要體現(xiàn)在遙遠(yuǎn)的距離被拉近,且囊括了整個(gè)加工行業(yè)的方方面面。當(dāng)然,實(shí)現(xiàn)“互聯(lián)網(wǎng)+”及“大數(shù)據(jù)”戰(zhàn)略轉(zhuǎn)型的基礎(chǔ)平臺(tái)之一就是網(wǎng)絡(luò)搜索引擎的應(yīng)用。
在垂直搜索引擎應(yīng)用理論研究方面,可謂成果豐碩。近幾年來(lái),有文獻(xiàn)對(duì)五種流行的垂直搜索引擎進(jìn)行了分析,總結(jié)出檢測(cè)截止效應(yīng)和檢測(cè)溢出效應(yīng)特性[1]。有文獻(xiàn)提出了基于隨機(jī)游走的節(jié)點(diǎn)排序方法,通過(guò)對(duì)異構(gòu)圖上的不同路徑進(jìn)行判別,從而得出具有不同語(yǔ)義的節(jié)點(diǎn)排序結(jié)果[2]。有文獻(xiàn)提出了基于模型的協(xié)同過(guò)濾方法,應(yīng)用圖形聚類算法并考慮信任語(yǔ)句,最終獲得合適的信息[3]。有文獻(xiàn)提出了通過(guò)建立用戶興趣反饋圖,經(jīng)多輪隨機(jī)游走(Random Walk)提取相似度算法實(shí)現(xiàn)信息索引[4]。有文獻(xiàn)提出了通過(guò)深度神經(jīng)網(wǎng)絡(luò)建模[5-6],實(shí)現(xiàn)“特征識(shí)別與提取→自主學(xué)習(xí)(數(shù)據(jù)訓(xùn)練)→上下文影響關(guān)系→獲取結(jié)果信息”的流程;還可以通過(guò)卷積神經(jīng)網(wǎng)絡(luò)建模[7-9],實(shí)現(xiàn)“特征提?。ň矸e方式)→非線性數(shù)值變換→語(yǔ)義特征向量→計(jì)算相似度→獲取結(jié)果信息”的流程。在搜索引擎評(píng)估方面,現(xiàn)有的研究成果多以Perplexity 指標(biāo)體系進(jìn)行評(píng)估,通過(guò)設(shè)定前面的N 個(gè)詞,計(jì)算出N+1 個(gè)詞可能出現(xiàn)的概率分布[10]。有文獻(xiàn)提出了反饋、問(wèn)卷、收集、記錄、標(biāo)注等功能一體的準(zhǔn)確性評(píng)估體系[11]。
在垂直搜索引擎應(yīng)用方面,自上世紀(jì)90 年代以來(lái),國(guó)外出現(xiàn)了不少優(yōu)秀的垂直搜索引擎。1998 年9月,Google 搜索引擎創(chuàng)建[12-13],支撐其發(fā)展的主要包括分布式存儲(chǔ)、分布式處理和分布式數(shù)據(jù)庫(kù)三大核心技術(shù)。2005 年7 月,雅虎發(fā)布了Trip Planner 旅游搜索引擎。國(guó)內(nèi)在垂直搜索領(lǐng)域也有所建樹,2002 年百度就推出了百度MP3 搜索[14],阿里巴巴在2010 年成立了一淘網(wǎng)。國(guó)內(nèi)垂直搜索引擎在技術(shù)層面與國(guó)外還有一定差距,而且行業(yè)認(rèn)識(shí)和理解方面也有短板,因此國(guó)內(nèi)垂直搜索還有很大的發(fā)展空間。
檢索引擎是一種互聯(lián)網(wǎng)頁(yè)面軟件,可依據(jù)用戶輸入的字、詞、句內(nèi)容獲取所需的網(wǎng)頁(yè),大信息量數(shù)據(jù)交換必須以檢索資料庫(kù)作為重要的運(yùn)行基礎(chǔ)。檢索引擎主要包括網(wǎng)絡(luò)機(jī)器人采集程序(或網(wǎng)絡(luò)爬蟲)、索引及數(shù)據(jù)庫(kù)等,其基本結(jié)構(gòu)如圖1 所示。其中,網(wǎng)絡(luò)機(jī)器人是一種用于搜索Web 網(wǎng)站的程序,其核心是Socket 協(xié)議,該程序可以利用訪問(wèn)Web 網(wǎng)站得到該網(wǎng)站的文件目錄和分層結(jié)構(gòu)以及搜索出斷開的超級(jí)鏈接和不正確的拼寫等[15]。
圖1 搜索引擎系統(tǒng)結(jié)構(gòu)圖
自2000 年3 月Doug Cutting 開發(fā)了Lucene 搜索引擎以來(lái),Lucene 就被廣泛應(yīng)用于網(wǎng)絡(luò)全文索引領(lǐng)域。隨著Java 技術(shù)的應(yīng)用,在Lucene 的基礎(chǔ)上又推出了Nutch 全文搜索引擎,Nutch 繼承了Lucene 強(qiáng)大的邏輯性、條理性和嚴(yán)謹(jǐn)?shù)哪K化結(jié)構(gòu),其查詢范圍和存儲(chǔ)功能都得到了較大提升[16]。圖2 所示為Nutch 和Lucene 的關(guān)系。
圖2 Nutch-Lucene關(guān)系圖
圖3 所示為本文提出的搜索引擎,主要有以下幾部分構(gòu)成:
(1)信息采集模塊。該模塊主要完成對(duì)有效信息的采集,在主題爬蟲中關(guān)鍵是設(shè)定一些網(wǎng)站的相關(guān)信息、有效信息的抓取方式和條件,并規(guī)劃主題爬蟲的搜索路徑。
(2)頁(yè)面除噪模塊。該模塊主要用于對(duì)抓取的信息進(jìn)行進(jìn)一步篩選,剔除獲取頁(yè)面中的無(wú)價(jià)值信息。由于主題爬蟲選取的頁(yè)面通常都帶有一些輔助信息,如:網(wǎng)頁(yè)界面或用戶的交流信息、廣告等附加圖文信息、HTML 界面的CSS 代碼等,刪除這些不相關(guān)的信息,有利用價(jià)值信息的獲取。
(3)索引模塊。該模塊主要用于對(duì)抓取和篩選后的信息進(jìn)行整理,當(dāng)然索引數(shù)據(jù)庫(kù)的建立必不可少。索引在系統(tǒng)的組成中十分關(guān)鍵,是判斷系統(tǒng)搜索速度和準(zhǔn)確度的標(biāo)準(zhǔn)。從互聯(lián)網(wǎng)獲取的信息一定是雜亂的,不利用對(duì)有效信息進(jìn)行查詢,因此,需要對(duì)獲取的數(shù)據(jù)信息進(jìn)行重新排列,排序方式首先要考慮根據(jù)“文本和字段”的內(nèi)容進(jìn)行劃分,還需要考慮加入“內(nèi)容和主題”的區(qū)分條件。通過(guò)整理后的信息,也應(yīng)按照相應(yīng)的規(guī)則進(jìn)行存儲(chǔ)和管理。
(4)查詢模塊。該模塊主要完成用戶對(duì)的搜索內(nèi)容的認(rèn)別及對(duì)認(rèn)別結(jié)果的反饋。分別制定以“內(nèi)容”為主的查詢規(guī)則(關(guān)鍵句查詢)和以“主題”為主的查詢規(guī)則(關(guān)鍵字、詞查詢),設(shè)定查詢控制方式并與信息采集模塊、索引模塊的信息抓取和索引方式對(duì)應(yīng),通過(guò)對(duì)關(guān)鍵字、詞、句進(jìn)行精確解讀,建立與索引文件的聯(lián)系和信息比較,便于用戶完成篩選和獲取所需信息。
圖3 系統(tǒng)總體結(jié)構(gòu)圖
(1)主題爬蟲模塊設(shè)計(jì)
垂直搜索引擎的核心是網(wǎng)絡(luò)爬蟲中的信息采集部分,當(dāng)前,在智能爬蟲模塊設(shè)計(jì)中主要包括:主題相似度設(shè)計(jì)、反爬蟲策略設(shè)計(jì)和精準(zhǔn)的URL 定位設(shè)計(jì)三個(gè)部分。主題相似度計(jì)算通常采用的網(wǎng)頁(yè)抓取評(píng)分算法實(shí)現(xiàn)。
網(wǎng)頁(yè)抓取評(píng)分算法是主題爬蟲模塊中最主要的組成部分之一,是網(wǎng)頁(yè)相似度比較的重要手段,是整個(gè)垂直搜索引擎的核心。主流的網(wǎng)頁(yè)評(píng)分算法分為L(zhǎng)ucene算法和Nutch 算法兩類,其中又包含了眾多的算法和一些改進(jìn)算法。
本文提出的網(wǎng)頁(yè)評(píng)分算法采用一種改進(jìn)的Nutch算法實(shí)現(xiàn),其核心是引入網(wǎng)頁(yè)有效性得分算法,該算法分別制定內(nèi)、外鏈接的有效性評(píng)分標(biāo)準(zhǔn),并根據(jù)從不同角度獲取的評(píng)分值,確定鏈接得分的權(quán)重生成評(píng)分因子。
主題爬蟲模塊設(shè)計(jì)的主要流程是:獲取信息的條件設(shè)置→解析互聯(lián)網(wǎng)傳輸協(xié)議實(shí)現(xiàn)遠(yuǎn)程連接→獲取互聯(lián)網(wǎng)資源地址→獲取抓取數(shù)據(jù)并在本地存儲(chǔ)→有效信息控制。
(2)消除頁(yè)面噪音模塊設(shè)計(jì)
本文的提出的頁(yè)面去噪模塊沒(méi)有整合在主題爬蟲模塊的信息抓取部分,其主要原因是防止與主題爬蟲模塊中設(shè)定的信息抓取條件相互影響。另外,該模塊只作用于本地計(jì)算機(jī),基本不與互聯(lián)網(wǎng)建立聯(lián)系,可減輕主題爬蟲在互聯(lián)網(wǎng)中進(jìn)行運(yùn)算的強(qiáng)度,同時(shí),設(shè)計(jì)對(duì)不需要的信息進(jìn)行刪除操作,減輕本地?cái)?shù)據(jù)的存儲(chǔ)壓力。
頁(yè)面去噪模塊的算法實(shí)現(xiàn)可采用K-means 算法(聚類劃分),其主體思想是:首先確定聚類常數(shù)K 的個(gè)數(shù),K 的個(gè)數(shù)確定以“同一聚類中的信息相似度較高”為原則;將抓取目標(biāo)信息集合分解為C 個(gè)類型,以C 個(gè)類為初始中心;在經(jīng)過(guò)K 次迭代計(jì)算后,得出與C 個(gè)類之間的距離,以“距離最短”為原則,選出作為有效目標(biāo)信息進(jìn)行歸類;采取均值法對(duì)中心距離進(jìn)行更新,一直進(jìn)行K 次迭代計(jì)算直到結(jié)束,從而篩選出全部有效信息。算法實(shí)現(xiàn)的關(guān)鍵是初始中心確定和引入的距離計(jì)算公式。在對(duì)無(wú)效信息進(jìn)行判別時(shí),剔除一些與營(yíng)銷類有關(guān)銷售類的網(wǎng)頁(yè),例如:對(duì)價(jià)格等關(guān)鍵詞定義特征值。其實(shí)現(xiàn)流程是:?jiǎn)?dòng)與網(wǎng)絡(luò)資源庫(kù)的聯(lián)系→建立篩選模式(與互聯(lián)網(wǎng)相同的樹式結(jié)構(gòu)模型)→分析網(wǎng)絡(luò)資源庫(kù)的網(wǎng)頁(yè)信息并初始化為篩選模式結(jié)構(gòu)→依據(jù)篩選模式對(duì)無(wú)效信息進(jìn)行剔除→使用K-means 算法進(jìn)行相似度運(yùn)算進(jìn)一步提取有交效信息→刪除所有無(wú)效信息→將有效信息存入頁(yè)面文檔庫(kù)。
(3)索引功能模塊設(shè)計(jì)
本文設(shè)計(jì)的索引模塊使用基于Java 的全文索引工具包——Lucene 完成,其應(yīng)用與實(shí)現(xiàn)都非常簡(jiǎn)單,圖4所示為設(shè)計(jì)流程。
圖4 索引建立流程圖
(4)查詢功能模塊設(shè)計(jì)
實(shí)現(xiàn)查詢功能的基礎(chǔ)是對(duì)待查詢的全部目標(biāo)進(jìn)行排序(可按字、詞、句的特征信息進(jìn)行區(qū)分并定量確定值的大小,此步操作通常在索引功能模塊中已完成),并將查詢目標(biāo)集合定義為數(shù)組。查詢方式通常有兩種:一種是線性查詢,另一種是二分查詢。線性查詢通過(guò)定義數(shù)組的初始值α[0]后,按排序順序依次進(jìn)行比較直至找到目標(biāo)值。二分查詢也被稱為折半查詢,首先定義目標(biāo)值為α[i],將數(shù)組中的中間元素定義為初始值α[j],如果α[i]=α[j],則查詢目標(biāo)已找到;如果α[i]<α[j],則查詢目標(biāo)確定在α[j]的前半部分,查詢時(shí)可按線性查詢完成(也可倒序查詢);如果α[i]>α[j],則查詢目標(biāo)確定在α[j]的后半部分,同樣,查詢時(shí)可按線性查詢完成。本文提出的查詢功能模塊將按遞歸二分查詢方式完成設(shè)計(jì)。其查詢的主要步驟如圖5 所示。
圖5 查詢模塊
本文采用比較分析的方法對(duì)提出的垂直搜索引擎性能進(jìn)行測(cè)試,主要測(cè)試指標(biāo)為查全率、查準(zhǔn)率、響應(yīng)時(shí)間參數(shù)等,重點(diǎn)針對(duì)主題爬蟲模塊。實(shí)驗(yàn)將雅虎(中國(guó))、百度、搜狗、大學(xué)搜4 個(gè)中文垂直搜索引擎作為比較對(duì)象,其中,大學(xué)搜是通過(guò)百度搜索推薦的一款優(yōu)秀垂直搜索引擎,原本想將谷歌搜索引擎列為重要的實(shí)驗(yàn)分析對(duì)象,因谷歌退出中國(guó),難于實(shí)現(xiàn)中文環(huán)節(jié)下的真實(shí)查詢結(jié)果顯示,因此放棄。
本文采用主觀與客觀結(jié)合的機(jī)制對(duì)系統(tǒng)的性能進(jìn)行評(píng)估。主觀評(píng)價(jià)直接對(duì)搜索查詢的準(zhǔn)確性和范圍進(jìn)行比較,準(zhǔn)確性評(píng)價(jià)以輸出的關(guān)鍵詞“包裝、印刷、網(wǎng)站”同時(shí)出現(xiàn)作為標(biāo)準(zhǔn),范圍評(píng)價(jià)以出現(xiàn)的有效網(wǎng)頁(yè)數(shù)為標(biāo)準(zhǔn),可依據(jù)搜索查詢結(jié)果顯示的關(guān)鍵詞和一些知名的包裝及印刷網(wǎng)站的搜索查詢結(jié)果進(jìn)行統(tǒng)計(jì)實(shí)現(xiàn),還可以通過(guò)對(duì)實(shí)驗(yàn)中所使用的垂直搜索引擎的“爬取網(wǎng)頁(yè)總數(shù)量”和“發(fā)現(xiàn)率”進(jìn)行統(tǒng)計(jì)實(shí)現(xiàn)??陀^評(píng)價(jià)則以查全率、查準(zhǔn)率和響應(yīng)時(shí)間為主要評(píng)估依據(jù)。相關(guān)統(tǒng)計(jì)數(shù)據(jù)見表1 和表2 所示。
其中:設(shè)爬取的網(wǎng)頁(yè)總個(gè)數(shù)為a,與主題相關(guān)網(wǎng)頁(yè)個(gè)數(shù)為b,關(guān)鍵詞同時(shí)出現(xiàn)的網(wǎng)頁(yè)個(gè)數(shù)為c,有效網(wǎng)頁(yè)個(gè)數(shù)為d。發(fā)現(xiàn)率的計(jì)算應(yīng)同時(shí)考慮“與主題相關(guān)網(wǎng)頁(yè)個(gè)數(shù)”和“包裝、印刷、網(wǎng)站三個(gè)關(guān)鍵詞同時(shí)出現(xiàn)的網(wǎng)頁(yè)個(gè)數(shù)”這兩個(gè)因素;有效網(wǎng)頁(yè)個(gè)數(shù)應(yīng)該真實(shí)反映包裝及印刷網(wǎng)站的數(shù)量,將全部無(wú)效網(wǎng)頁(yè)個(gè)數(shù)剔除,特別是一些營(yíng)銷類的網(wǎng)頁(yè),這些網(wǎng)類應(yīng)該已被在網(wǎng)站中;查準(zhǔn)率則就考慮“有效網(wǎng)頁(yè)個(gè)數(shù)”和“三個(gè)關(guān)鍵詞同時(shí)出現(xiàn)的網(wǎng)頁(yè)個(gè)數(shù)”兩個(gè)因素;在數(shù)據(jù)統(tǒng)計(jì)中加入“4 個(gè)老牌包裝及印刷網(wǎng)站出現(xiàn)的個(gè)數(shù)”的原因是:在一些網(wǎng)站中同時(shí)存在當(dāng)前已被用戶忽略和還非常被重視兩種情況,被忽略的網(wǎng)站訪問(wèn)量少,不易被抓取,被重視的網(wǎng)站訪問(wèn)量大,易被抓取;將響應(yīng)時(shí)間列為評(píng)價(jià)參數(shù)的原因是:當(dāng)響應(yīng)時(shí)間超過(guò)3s 后,將有大量的網(wǎng)站會(huì)被放棄抓取。
表1 五種垂直搜索引擎主觀評(píng)價(jià)參數(shù)統(tǒng)計(jì)
表2 五種垂直搜索引擎客觀評(píng)價(jià)參數(shù)統(tǒng)計(jì)
通過(guò)對(duì)表1 和表2 中的數(shù)據(jù)分析可知,五個(gè)中文垂直搜索引擎的爬取能力都非常好,特別是雅虎、百度和本文設(shè)計(jì)的搜索引擎抓取范圍非常廣,基本不會(huì)漏過(guò)需要抓取的主題,而對(duì)于關(guān)鍵詞的抓取則本文設(shè)計(jì)的搜索引擎抓取范圍最廣。雅虎和百度的查準(zhǔn)率不高關(guān)鍵是對(duì)有效網(wǎng)頁(yè)和重復(fù)出現(xiàn)的網(wǎng)頁(yè)個(gè)數(shù)過(guò)多所致。以下對(duì)雅虎、百度、搜狗、大學(xué)搜4 個(gè)中文垂直搜索引擎的理論分析,也可以證明結(jié)果的準(zhǔn)確性。
“雅虎”搜索引擎的核心是Anthelion 爬蟲技術(shù),使用Nutch 算法實(shí)現(xiàn)。Anthelion 爬蟲的評(píng)分機(jī)制可同時(shí)為每個(gè)鏈接網(wǎng)頁(yè)評(píng)分,將結(jié)果提供給分類器進(jìn)行分析,分類器可調(diào)整優(yōu)化,理論上能夠獲取較高的查準(zhǔn)率;其信息解析機(jī)制可針對(duì)網(wǎng)頁(yè)內(nèi)容提取語(yǔ)義數(shù)據(jù),從網(wǎng)頁(yè)中獲取數(shù)據(jù)、格式和注釋信息,并存儲(chǔ)于內(nèi)容字段中,將其置為特征信息量;可存儲(chǔ)新字段加入索引以擴(kuò)大查詢范圍。實(shí)驗(yàn)中使用雅虎搜索引擎在互聯(lián)網(wǎng)中搜索結(jié)果并不理想,其主要原因在于爬蟲中分類器的優(yōu)化策略與專業(yè)關(guān)鍵詞的匹配度存在差距,其整體設(shè)計(jì)目標(biāo)適應(yīng)的范圍更廣。
“百度”搜索引擎的核心是深度和權(quán)重優(yōu)先抓取相相結(jié)合的策略。深度優(yōu)先抓取策略首先指定一個(gè)初始站點(diǎn)將其定義為源點(diǎn),再指定一個(gè)結(jié)束點(diǎn)將其定義為頂點(diǎn);搜索從源點(diǎn)開始并被記錄,接下來(lái)依次無(wú)向?qū)ο噜徴军c(diǎn)進(jìn)行搜索并記錄,在到達(dá)頂點(diǎn)并記錄后,第一個(gè)頂點(diǎn)被重新定義為源點(diǎn),同時(shí),定義第二個(gè)頂點(diǎn),再次開始按依次無(wú)向原則對(duì)相鄰站點(diǎn)進(jìn)行搜索記錄,直至全部結(jié)束。該策略的應(yīng)用,最終形成一個(gè)樹型搜索路徑,其搜索范圍非常廣。權(quán)重優(yōu)先抓取策略則是通過(guò)比較分析相似度的方式,對(duì)相似度高的站點(diǎn)首先進(jìn)行分類搜索記錄,通過(guò)定義最低權(quán)重值設(shè)定頂點(diǎn),該策略的應(yīng)用有助于提高搜索的準(zhǔn)確性,同時(shí),可完成對(duì)搜索結(jié)果的排序。實(shí)驗(yàn)中成功抓取了一些被忽略的老牌網(wǎng)站,但沒(méi)有優(yōu)先顯示出來(lái),其主要原因是多個(gè)源點(diǎn)至頂點(diǎn)的排序方式采用的了順序排序,而不是并列排序,影響了對(duì)查詢結(jié)果的顯示。
“搜狗”搜索引擎的核心是使用了OPIC 算法,其算法以Cash 值為重要的評(píng)分標(biāo)準(zhǔn)?!癈ash”可以表示某一個(gè)網(wǎng)頁(yè)的價(jià)值量,網(wǎng)頁(yè)每被抓取一次都有C[n]值存在,在整個(gè)網(wǎng)絡(luò)中(互聯(lián)網(wǎng))某一個(gè)網(wǎng)頁(yè)有一個(gè)Cash 固定的總值C[z]。“History”用于表示某一個(gè)網(wǎng)頁(yè)被抓?。òū恢貜?fù)抓取)后的Cash 總值H[z]。在OPIC 算法中,某一個(gè)網(wǎng)頁(yè)的是否重要,就看的結(jié)果是否更接近1。OPIC 算法使用C[1,…,n]、H[1,…,n]兩個(gè)向量表示一個(gè)網(wǎng)頁(yè)的C[n]和H[n],其中,設(shè)定Cash的初始值(n 為網(wǎng)頁(yè)的總個(gè)數(shù)),History 的初始值H[i]=0;為了進(jìn)一步提高網(wǎng)頁(yè)抓取的相似度,OPIC 算法中加入了一個(gè)變量G 作為比較參量,G 值的取值依據(jù)為History 值,設(shè)定實(shí)驗(yàn)中發(fā)現(xiàn)OPIC 算法存在以下問(wèn)題:①采用重復(fù)抓取作為重要性的評(píng)判標(biāo)準(zhǔn),難免出現(xiàn)“漏網(wǎng)之魚”;②在重復(fù)抓取非目標(biāo)頁(yè)面時(shí)可能會(huì)增加其重要性;③對(duì)新增頁(yè)面采用必抓策略不僅運(yùn)算量大,還可能降低對(duì)沒(méi)有被重復(fù)抓取頁(yè)面的關(guān)注度;④外鏈接網(wǎng)頁(yè)的Cash 值可能被忽略。
“大學(xué)搜”搜索引擎的核心是使用了PageRank 算法,其數(shù)學(xué)運(yùn)算流程相當(dāng)于“投票”過(guò)程,網(wǎng)站的重要程度以獲得的“票數(shù)”作為評(píng)判標(biāo)準(zhǔn),PR 值是主要的評(píng)判指標(biāo)。PR 值可用檢測(cè)用戶在整個(gè)互聯(lián)網(wǎng)中點(diǎn)擊進(jìn)入某個(gè)網(wǎng)站的概率,假設(shè)整個(gè)網(wǎng)絡(luò)中的PR 值是均分的,那么PR 值在某個(gè)網(wǎng)站的占比就是為網(wǎng)站的網(wǎng)頁(yè)總數(shù)。該算法的主要問(wèn)題是沒(méi)有加入特殊鏈接處理機(jī)制,假設(shè)使用有向圖來(lái)表示PR 值,那么該圖Z=(X,Y)的構(gòu)造主要是以X 為節(jié)點(diǎn)(即頁(yè)面),E 為邊(顯示條件為W 可以通過(guò)T 進(jìn)行跳轉(zhuǎn))。在計(jì)算PR 值時(shí)可能會(huì)出現(xiàn)圖6 所示的特殊網(wǎng)頁(yè)鏈接關(guān)系,在當(dāng)前網(wǎng)頁(yè)直接跳轉(zhuǎn)到其他網(wǎng)頁(yè)后,可能出現(xiàn)不能返回當(dāng)前網(wǎng)頁(yè)的情況,致使運(yùn)算出現(xiàn)死循環(huán),從而影響PR 值的精準(zhǔn)性,引導(dǎo)查詢結(jié)果不完整。
圖6 特殊的網(wǎng)頁(yè)鏈接關(guān)系圖
另外,在“大學(xué)搜”的網(wǎng)絡(luò)爬蟲算法中引入了Shark Search 算法(以內(nèi)容評(píng)價(jià)為基礎(chǔ)的重要垂直搜索引擎網(wǎng)絡(luò)爬蟲算法),由于其原算法對(duì)搜索主題和搜索內(nèi)容沒(méi)有進(jìn)行明確界定,降低對(duì)兩者之間關(guān)聯(lián)度的關(guān)注,導(dǎo)致數(shù)據(jù)準(zhǔn)確度不高?!按髮W(xué)搜”在Shark Search 算法中引入向量空間模型,通過(guò)對(duì)搜索頁(yè)面和搜索內(nèi)容之間的關(guān)聯(lián)程度進(jìn)行分析,大幅提高了搜索的準(zhǔn)確性。但是,沒(méi)有考慮擴(kuò)大搜索范圍方面的因素,放棄了外鏈接網(wǎng)頁(yè),這也是引導(dǎo)查詢結(jié)果不完整的因素之一。“大學(xué)搜”的索引模塊和查詢模塊設(shè)計(jì)只提供了10 個(gè)搜索查詢結(jié)果的顯示。
通過(guò)理論及實(shí)驗(yàn)比較分析表明,參與實(shí)驗(yàn)過(guò)程的4個(gè)垂直搜索引擎都是非常優(yōu)秀的,且各具特色。有些搜索引擎對(duì)某個(gè)專業(yè)領(lǐng)域的搜索、查詢結(jié)果不一定能獲得最佳的效果,問(wèn)題主要出在專用與通用的處理機(jī)制方面;有些搜索引擎搜索、查詢結(jié)果范圍不廣,主要是沒(méi)有建立的效的外鏈接機(jī)制。同時(shí),也驗(yàn)證了本文設(shè)計(jì)的垂直搜索引擎在優(yōu)化系統(tǒng)結(jié)構(gòu)的同時(shí),抓住了主題爬蟲這個(gè)主要環(huán)節(jié),確保了搜索的精確度,在應(yīng)用方面更具針對(duì)性。
本文設(shè)計(jì)的垂直搜索引擎具有以下特點(diǎn):
(1)在網(wǎng)絡(luò)爬蟲設(shè)計(jì)中,以建立關(guān)鍵詞特征值為基礎(chǔ),針對(duì)包裝及印刷信息搜索需求制定高效的特征值評(píng)分規(guī)則,確保了抓取重點(diǎn),評(píng)分機(jī)制同時(shí)作用于內(nèi)鏈接和外鏈接,確保了抓取范圍。
(2)網(wǎng)絡(luò)爬蟲抓取機(jī)制考慮到了專用與通用結(jié)合,在確保包裝及印刷領(lǐng)域信息搜索的同時(shí),盡量滿足了包裝及印刷各工序中多方面的信息查詢需求。
(3)將頁(yè)面去噪模塊從網(wǎng)絡(luò)爬蟲中分離出來(lái),并營(yíng)銷類網(wǎng)頁(yè)(當(dāng)前此類網(wǎng)頁(yè)非常多)和重復(fù)網(wǎng)頁(yè)實(shí)現(xiàn)隔離。
(4)對(duì)索引功能模塊中的抓取結(jié)果排序設(shè)計(jì)進(jìn)行改進(jìn),根據(jù)查詢內(nèi)容的重要性制定排序規(guī)則。
(5)在查詢功能模塊中有效解決了額外排序等問(wèn)題。