地理信息更新主題爬蟲論述論文
1系統(tǒng)結(jié)構(gòu)
本文提出基于鏈接回溯的地理信息更新主題爬蟲方法,以廣度優(yōu)先通用爬蟲方法為基礎,針對現(xiàn)有主題爬蟲算法在實際應用中的缺陷,引入回溯的思想,根據(jù)新聞網(wǎng)站的結(jié)構(gòu)特點,計算出最有可能包含主題相關(guān)信息的鏈接方向,從而大幅提高爬取效率,獲取更多與主題相關(guān)的信息。系統(tǒng)整體流程分為兩個階段,如圖1所示:第一階段以初始種子鏈接為基礎,使用基于SVM分類的加權(quán)爬取算法,先指定某一層的鏈接為父鏈接組,然后以廣度優(yōu)先的方式進行網(wǎng)頁爬取,在這個過程中使用SVM分類模型,逐條驗證鏈接信息,找出分類準確的鏈接在之前指定層數(shù)的父鏈接,令該父鏈接權(quán)值增加,整個過程完成后,統(tǒng)計權(quán)值較高的父鏈接作為優(yōu)化種子鏈接;第二階段以優(yōu)化種子鏈接為基礎,利用基于知識庫判別的爬取算法以廣度優(yōu)先的方式進行網(wǎng)頁爬取,使用知識庫逐條驗證鏈接信息,判斷并確定地理信息更新內(nèi)容的主題,最后將優(yōu)化種子鏈接和主題相關(guān)網(wǎng)頁文檔存入數(shù)據(jù)庫,作為今后爬取的經(jīng)驗參考。
2算法介紹
2.1基于SVM分類的加權(quán)爬取算法
2.1.1SVM分類模型
支持向量機(SupportVectorMachine,SVM)是目前分類性能最好的模型之一,本文采用支持向量機進行事件類型判斷。從地理信息變化要素知識庫(詳見3.2.1節(jié))中選擇幾種最常見的特征詞匯作為類型關(guān)鍵詞,以這些特征詞匯及其對應的典型要素為基礎收集樣本文檔,使用支持向量機方法進行樣本機器學習,以特征詞匯和典型要素作為觸發(fā)詞,在不影響分類精度的情況下提高分類效率,最終通過機器學習得到一個分類模型。當判斷一條鏈接包含的消息是否屬于主題相關(guān)的范疇時,由于標題往往是一個文檔包含信息最好的`總結(jié),故先判斷這條標題中是否含有之前選擇的特征詞匯之一,如果包含,則對這條鏈接的正文部分使用SVM分類模型進行分類,如果分類得出的結(jié)果與標題中包含的特征詞匯一致,則證明了這條鏈接中確實包含該特征詞匯所代表的主題相關(guān)內(nèi)容。這種基于機器學習和觸發(fā)詞的分類方法相比于單純的字符匹配,可以避免字符一致但語意出現(xiàn)歧義的現(xiàn)象,并且有較高的準確率,是一種快速有效的主題相關(guān)度判別方法。系統(tǒng)第一階段是對網(wǎng)站所包含主題信息位置的一種試探,由于SVM分類性能有限,只能判斷一篇文本是否屬于某一特征詞匯所代表地理信息范疇,無法最終確定以特征詞匯和對應典型要素作為主題的內(nèi)容,所以只選擇幾種最常見的特征詞匯作為分類關(guān)鍵詞,作為是否對父鏈接加權(quán)的依據(jù)。
2.1.2算法描述
爬取過程采用廣度優(yōu)先的爬取策略,處理中的鏈接分為兩個隊列:待爬取隊列(Uncrawled)和已爬取隊列(Crawled);首先將種子鏈接集(Seed)加入待爬取隊列,然后解析待爬取隊列中鏈接的源代碼,獲得下一層超鏈接組,對下一層超鏈接組進行去重并去除已爬取過的鏈接,接著將待爬取隊列加入已爬取隊列中,下一層超鏈接組加入待爬取隊列中,最后再次解析待爬取隊列,重復上述過程,直至達到指定條件。廣度優(yōu)先爬蟲從種子鏈接出發(fā),以層數(shù)為單位進行爬取。加權(quán)算法思想是將第S層鏈接指定為父鏈接組,其中每條鏈接初始權(quán)值為0,F(xiàn)為最大爬取層數(shù);在網(wǎng)頁爬取的過程中,對第S+1層至第F層的鏈接調(diào)用3.1.1節(jié)中提到的SVM分類模型進行驗證,如果分類結(jié)果正確,則證明這條鏈接包含一定程度的主題相關(guān)信息,那么其父鏈接所指向的方向,就有可能包含更多與主題相關(guān)的信息,所以找到這條鏈接在S層的父鏈接,令其權(quán)值加1;爬取過程結(jié)束后,統(tǒng)計第S層所有父鏈接的權(quán)值,選擇權(quán)值最大的K條鏈接作為優(yōu)化種子鏈接。這些鏈接相比于初始種子鏈接,指向主題相關(guān)內(nèi)容的可能性更大,從而提高了整體爬取效率和準確性。S、F、K的取值可以根據(jù)實際網(wǎng)站規(guī)模和結(jié)構(gòu)進行調(diào)整。本算法的偽代碼如算法1所示。
2.2基于知識庫判別的爬取算法
2.2.1知識庫判別方法
本文的應用方向是針對地理信息變化的檢測,在參考《GBT13923-2006基礎地理信息要素分類與代碼》中分類標準的基礎上,對各類別的特征詞匯和典型要素進行了總結(jié),形成一個特征詞匯對應多個典型要素的地理信息變化要素知識庫;表達形式以特征詞匯和典型要素兩個關(guān)鍵詞的組合來表示,例如:路+拓寬,路+通車,河+截流等,以此判斷一個文本的內(nèi)容是否屬于地理信息范疇,并確定該文本的主題。具體步驟如下:(1)將待處理的網(wǎng)絡文本進行分句并編號;(2)利用ICTCLAS分詞軟件對所有句子進行分詞;(3)從第一句開始,檢查被標記為動詞的詞匯是否屬于特征詞匯集,如果匹配,則以該動詞為中心,以詞匯距離從近到遠的順序遍歷所有被標記為名詞的詞匯,參照知識庫中的特征詞匯和典型要素匹配關(guān)系,如果配對成功,將該名詞和動詞作為組合抽取并記錄;(4)遍歷所有句子,找出所有滿足條件的組合。其中,步驟(3)中的提到的關(guān)鍵詞匹配方法,過程例如圖2所示。需要處理的語句是“鄭州彩虹橋隧道5月通車將成北區(qū)新交通樞紐”,后綴為“/n”代表名詞,“/v”代表動詞,首先找到動詞“通車/v”并與知識庫中的典型要素進行匹配,成功后以“通車/v”為中心,以詞匯距離從近到遠的原則分別向左右兩個方向?qū)ふ颐~,向右找到名詞“區(qū)/n”后,將“區(qū)+通車”與知識庫進行匹配后失敗,向左找到名詞“隧道/n”后,將“隧道+通車”與知識庫進行匹配后成功,因此停止尋找并抽取出“隧道+通車”的關(guān)鍵詞組合作為這一句話的主題內(nèi)容。
2.2.2算法描述
爬取算法依然采用廣度優(yōu)先的爬取策略,對爬取到的每條鏈接使用3.2.1節(jié)中的知識庫判別方法,確定相關(guān)信息的主題內(nèi)容,保存網(wǎng)頁文檔。
3實驗測試與性能分析
利用前文介紹的方法,使用適合網(wǎng)絡編程的Java語言實現(xiàn)了基礎地理信息更新檢測原型系統(tǒng),以新浪、網(wǎng)易和騰訊等主流新聞網(wǎng)站作為初始種子鏈接進行測試。分詞工具使用中科院設計開發(fā)的ICTCLAS分詞軟件,機器學習使用目前最廣泛應用的LIBSVM工具,由于實驗設備和網(wǎng)絡條件有限,回溯過程中設置初始層S=1,爬取最大層數(shù)F=4,回溯后取權(quán)值最大的K=2條鏈接作為優(yōu)化種子鏈接。圖3展示了兩種爬蟲在爬取相同數(shù)量(10000條)鏈接的情況下的整體效率,因為回溯之后再爬取是一個重復的過程,也就是為了計算出優(yōu)化種子鏈接而付出的代價,所以比較兩種爬蟲的整體效率是為了檢測這個重復過程對于整體效率的影響。從圖3可以看出由于回溯過程,系統(tǒng)整體效率確實受到了一定的影響,但依舊好于通用的方法,并且在找出一個網(wǎng)站的優(yōu)化種子鏈接后,今后對于該網(wǎng)站的爬取就可以直接使用優(yōu)化種子鏈接,不再需要進行回溯的過程,所以從總體上來看,回溯方法造成的效率影響是可以接受的。同樣在爬取相同數(shù)量(10000條)鏈接的情況下,正如之前所說的,如果不是第一次對某網(wǎng)站進行爬取,那么可以直接使用通過回溯后得到的優(yōu)化種子鏈接為基礎,如圖4所示,這樣找到的主題相關(guān)信息明顯多于通用方法;結(jié)合圖3和圖4的實驗結(jié)果可以證明通過本文提出的回溯方法,確實可以分析出一個網(wǎng)站中最有可能包含主題相關(guān)信息的鏈接方向,從而大大提高爬取效率,減少低效率的爬取過程,從實驗結(jié)果可以看出該方法在各類新聞網(wǎng)站中都具有廣泛的可用性,在其他主題方向也具有一定的推廣性。
4結(jié)束語
主題網(wǎng)絡爬蟲能夠針對用戶需求,有效地進行特定主題的信息檢索。本文在現(xiàn)有爬取策略和主題相關(guān)度算法的基礎上,提出一種基于鏈接回溯的地理信息更新主題爬蟲方法,通過實驗證明了本方法確實可以提高爬取效率,設計并實現(xiàn)了基礎地理信息更新檢測原型系統(tǒng),該系統(tǒng)適合于在新聞類網(wǎng)站中尋找地理信息更新的消息,后續(xù)研究可以考慮在其他主題方向的應用,以及減少回溯過程的代價來提升效率的方法。
【地理信息更新主題爬蟲論述論文】相關(guān)文章: