專利名稱:一種主題網(wǎng)絡(luò)爬蟲系統(tǒng)的構(gòu)建方法
技術(shù)領(lǐng)域:
本發(fā)明涉及的是一種網(wǎng)絡(luò)數(shù)據(jù)采集系統(tǒng)中爬蟲部分的構(gòu)建方法,主要涉及主題網(wǎng) 絡(luò)爬蟲系統(tǒng)的構(gòu)建方法。
背景技術(shù):
隨著信息時代的來臨和網(wǎng)絡(luò)的迅速發(fā)展,網(wǎng)絡(luò)上的信息量呈幾何級數(shù)增長。面對 網(wǎng)絡(luò)上海量的信息,用戶通常利用搜索引擎來定位自己需要的網(wǎng)絡(luò)數(shù)據(jù)。目前主流的搜索 引擎基本都是綜合性搜索引擎。因為綜合搜索引擎的爬蟲并不針對特定內(nèi)容進(jìn)行專門爬 取,所以用戶使用綜合搜索引擎檢索出來的結(jié)果往往有很多與需求不相關(guān)或者相關(guān)度很 小,用戶需要瀏覽很多網(wǎng)頁的內(nèi)容才能獲取到有用的信息。網(wǎng)絡(luò)爬蟲作為搜索引擎的一個 核心部分,它的搜索技術(shù)很大程度上影響了搜索引擎的性能。普通爬蟲會從URL集開始爬 取,遇到網(wǎng)頁就保存下來,然后再從網(wǎng)頁中獲取新的URL進(jìn)行爬取,在網(wǎng)絡(luò)上不斷的獲取到 新的網(wǎng)頁。因為普通爬蟲在爬取的過程中相對缺乏標(biāo)準(zhǔn),往往容易導(dǎo)致數(shù)據(jù)量過大、數(shù)據(jù)冗 余的問題,造成搜索引擎給用戶返回的最終結(jié)果與用戶需求相關(guān)度偏低的問題。與普通的 網(wǎng)絡(luò)爬蟲不同,主題爬蟲可以根據(jù)已經(jīng)設(shè)定的主題來爬取網(wǎng)頁,為爬蟲在爬行的過程提供 一個標(biāo)準(zhǔn),符合標(biāo)準(zhǔn)的網(wǎng)頁就爬取,不符合的就不爬取。因為主題爬蟲能夠根據(jù)用戶設(shè)定主 題爬取,所以它能夠為搜索引擎提供與用戶需求的主題相關(guān)度更高的數(shù)據(jù)。按照本專利的 方法,用戶只需要使用自然語言來描述自己的主題,主題爬蟲就可以通過自己的分析理解 用戶的需求,然后在網(wǎng)絡(luò)上爬取與用戶需求相關(guān)的網(wǎng)頁作為搜索引擎的網(wǎng)頁庫。因為網(wǎng)頁 庫中的網(wǎng)頁與用戶的需求更接近,所以最終給用戶返回的網(wǎng)頁內(nèi)容也會與用戶的需求更加 接近。主題爬蟲可以解決綜合搜索引擎帶來的返回結(jié)果與用戶需求相關(guān)度低的問題,能夠 根據(jù)用戶設(shè)定的主題獲取到與用戶需求相關(guān)度更高的網(wǎng)頁。
發(fā)明內(nèi)容
本發(fā)明的目的是提出一種新穎、高效、準(zhǔn)確的主題網(wǎng)絡(luò)爬蟲系統(tǒng)的構(gòu)建方法。本發(fā)明的目的是這樣實現(xiàn)的(1)定義主題初始描述向量,設(shè)定相關(guān)度初始閥值,設(shè)定初始化URL隊列;(2)爬蟲從初始URL隊列中依次獲取URL進(jìn)行爬??;(3)對URL進(jìn)行文本分析;(4)對URL進(jìn)行鏈接分析;(5)結(jié)合文本分析與鏈接分析的結(jié)果計算URL與主題的相關(guān)度;(6)將相關(guān)度大于相關(guān)度閾值的URL加入有序的URL隊列,URL依照與主題向量的 相關(guān)度高低排序,相關(guān)度高的排在前面,相關(guān)度低的排在后面,主題爬蟲先爬取隊列中相關(guān) 度高的網(wǎng)頁,然后爬取相關(guān)度低的網(wǎng)頁,依次爬取,直至隊列為空,對于每個爬到的網(wǎng)頁,提 取其中的子URL,返回到步驟(3);(7)使用遺傳算法對隊列中相關(guān)度最高的前N篇進(jìn)行遺傳算法最優(yōu)化,選出最優(yōu)特征;(8)將遺傳算法返回的最優(yōu)特征送入Rocchio反饋模塊對主題向量更新,并動態(tài) 調(diào)整相關(guān)度閾值,繼續(xù)爬取網(wǎng)頁。在上述的步驟(7)和(8)中,運用遺傳算法和Rocchio算法對用戶主題模板進(jìn)行 自適應(yīng)更新,它們的步驟包括1)按照編碼策略對偽相關(guān)反饋文檔進(jìn)行浮點數(shù)編碼;2)定義適應(yīng)度函數(shù)Fitness ;3)確定交叉概率Pc和變異概率Rn等遺傳參數(shù);4)初始化生成群體P;5)計算群體中每個個體適應(yīng)度值Fitness,并得到群體適應(yīng)度均值A(chǔ)VG ;6)按照遺傳策略,運用選擇、擴(kuò)展、交叉和變異算子作用于群體,形成下一代群 體;7)判斷新一代群體適應(yīng)度均值newAVG是否小于AVG,或者已完成預(yù)定迭代次數(shù), 不滿足則返回6),或者修改遺傳策略再返回6),若滿足條件則結(jié)束;8)將適應(yīng)度函數(shù)值最好的結(jié)果指定為遺傳算法的結(jié)果,作為送入Rocchio反饋模 塊的正例質(zhì)心。目前主題爬蟲中主題描述是靜態(tài)的,不能充分反映主題內(nèi)容的動態(tài)變化。因為主 題描述是不變化的,所以爬蟲獲取到的網(wǎng)頁只是局部最優(yōu)的數(shù)據(jù)。本發(fā)明采用遺傳基因算 法和Rocchio算法更新主題向量,使主題向量為全局最優(yōu)解。同時,針對網(wǎng)頁中的鏈接多以 鏈接塊的形式存在,本發(fā)明采用鏈接塊代替塊內(nèi)單個鏈接來解決錨文本文字量少、表達(dá)信 息不完全的問題。采用向量空間模型結(jié)合夾角余弦的計算方法來計算錨文本與主題向量的 相似度,并考慮子鏈接與父網(wǎng)頁的鏈接關(guān)系。因為主題向量已經(jīng)實時更新,為全局最優(yōu)解, 再結(jié)合網(wǎng)絡(luò)中數(shù)據(jù)的鏈接塊的特性,網(wǎng)絡(luò)爬蟲能夠在爬取網(wǎng)頁前充分分析該網(wǎng)頁內(nèi)容與主 題的相關(guān)度,從而爬取相關(guān)度高的網(wǎng)頁。本發(fā)明的有益效果主要體現(xiàn)在本發(fā)明的方法擺脫了傳統(tǒng)主題爬蟲的相關(guān)度計算 方法中容易陷入局部最優(yōu)解的問題,由于主題的動態(tài)調(diào)整,使整個算法能夠取得全局最優(yōu) 解。所以,與傳統(tǒng)的主題爬蟲URL相關(guān)性分析方法相比,本發(fā)明可以爬取更多符合主題的 URL。而且,由于動態(tài)調(diào)整主題描述,因此不需要事先準(zhǔn)備大量的訓(xùn)練文本,速度快,適合處 理海量的在線網(wǎng)頁數(shù)據(jù)。
圖1是系統(tǒng)的組成結(jié)構(gòu)圖;圖2是系統(tǒng)的工作流程圖。
具體實施例方式下面結(jié)合附圖舉例對本發(fā)明作更詳細(xì)的描述如圖1所示,本發(fā)明方法所構(gòu)建的網(wǎng)絡(luò)爬蟲主要包括構(gòu)造初始化向量、動態(tài)調(diào)整 主題向量模塊和通過鏈接塊和父子繼承關(guān)系計算相關(guān)度模塊組成。其中動態(tài)調(diào)整主題向量 模塊包括使用遺傳算法選出新特征和運用反饋更新主題向量子模塊。
本發(fā)明的工作流程如圖2所示,下面介紹它的
具體實施例方式步驟(1)針對所要爬取的主題,定義基于關(guān)鍵詞的主題初始描述向量,所有分量 權(quán)重設(shè)為1 ;設(shè)定相關(guān)度閾值,設(shè)定初始URL隊列。步驟⑵爬蟲從初始URL隊列中獲取URL進(jìn)行爬取,依次獲取URL。步驟(3)對選取的URL進(jìn)行文本分析。針對URL錨文本信息量少而網(wǎng)頁正文周 圍鏈接多以成塊形式出現(xiàn)的特點,用該URL所在的鏈接塊中的所有URL對應(yīng)的錨文本組成 擴(kuò)充錨文本向量,計算出該向量與主題向量的相關(guān)度anCh0r_SC0re,以此相關(guān)度作為該鏈 接塊中所有鏈接與主題的相關(guān)度。擴(kuò)充錨文本向量中分量的權(quán)重采用TFIDF公式計算
權(quán)利要求
1.一種主題網(wǎng)絡(luò)爬蟲系統(tǒng)的構(gòu)建方法,其特征是(1)定義主題初始描述向量,設(shè)定相關(guān)度初始閥值,設(shè)定初始化URL隊列;(2)爬蟲從初始URL隊列中依次獲取URL進(jìn)行爬取;(3)對URL進(jìn)行文本分析;(4)對URL進(jìn)行鏈接分析;(5)結(jié)合文本分析與鏈接分析的結(jié)果計算URL與主題的相關(guān)度;(6)將相關(guān)度大于相關(guān)度閾值的URL加入有序的URL隊列,URL依照與主題向量的相關(guān) 度高低排序,相關(guān)度高的排在前面,相關(guān)度低的排在后面,主題爬蟲先爬取隊列中相關(guān)度高 的網(wǎng)頁,然后爬取相關(guān)度低的網(wǎng)頁,依次爬取,直至隊列為空,對于每個爬到的網(wǎng)頁,提取其 中的子URL,返回到步驟(3);(7)使用遺傳算法對隊列中相關(guān)度最高的前N篇進(jìn)行遺傳算法最優(yōu)化,選出最優(yōu)特征;(8)將遺傳算法返回的最優(yōu)特征送入Rocchio反饋模塊對主題向量更新,并動態(tài)調(diào)整 相關(guān)度閾值,繼續(xù)爬取網(wǎng)頁。
2.根據(jù)權(quán)利要求1所述的一種主題網(wǎng)絡(luò)爬蟲系統(tǒng)的構(gòu)建方法,其特征是運用遺傳算法 和Rocchio算法對用戶主題模板進(jìn)行自適應(yīng)更新的方法為1)按照編碼策略對偽相關(guān)反饋文檔進(jìn)行浮點數(shù)編碼;2)定義適應(yīng)度函數(shù)Fitness;3)確定交叉概率P。和變異概率Pm等遺傳參數(shù);4)初始化生成群體P;5)計算群體中每個個體適應(yīng)度值Fitness,并得到群體適應(yīng)度均值A(chǔ)VG;6)按照遺傳策略,運用選擇、擴(kuò)展、交叉和變異算子作用于群體,形成下一代群體;7)判斷新一代群體適應(yīng)度均值newAVG是否小于AVG,或者已完成預(yù)定迭代次數(shù),不滿 足則返回6),或者修改遺傳策略再返回6),若滿足條件則結(jié)束;8)將適應(yīng)度函數(shù)值最好的結(jié)果指定為遺傳算法的結(jié)果,作為送入Rocchio反饋模塊的 正例質(zhì)心。
全文摘要
本發(fā)明提供的是一種主題網(wǎng)絡(luò)爬蟲系統(tǒng)的構(gòu)建方法。(1)定義主題初始描述向量,設(shè)定相關(guān)度初始閥值、初始化URL隊列;(2)從初始URL隊列中依次獲取URL進(jìn)行爬?。?3)對URL進(jìn)行文本分析;(4)對URL進(jìn)行鏈接分析;(5)計算URL與主題的相關(guān)度;(6)將相關(guān)度大于相關(guān)度閾值的URL加入有序的URL隊列,URL依照與主題向量的相關(guān)度高低排序,依次爬取,直至隊列為空,對于每個爬到的網(wǎng)頁,提取其中的子URL,返回到步驟(3);(7)使用遺傳算法進(jìn)行遺傳算法最優(yōu)化;(8)Rocchio反饋模塊對主題向量更新,并動態(tài)調(diào)整相關(guān)度閾值,繼續(xù)爬取網(wǎng)頁。本發(fā)明不需要事先準(zhǔn)備大量的訓(xùn)練文本,速度快,適合處理海量的在線網(wǎng)頁數(shù)據(jù)。
文檔編號G06F17/30GK102073730SQ201110007710
公開日2011年5月25日 申請日期2011年1月14日 優(yōu)先權(quán)日2011年1月14日
發(fā)明者呂志龍, 吳悅, 吳昊, 寧慧, 談亞洲 申請人:哈爾濱工程大學(xué)