本發(fā)明屬于數(shù)據(jù)采集領(lǐng)域,尤其涉及一種基于知識(shí)圖譜的爬取種子列表更新方法及裝置。
背景技術(shù):
網(wǎng)絡(luò)爬蟲(chóng)是一種自動(dòng)提取網(wǎng)頁(yè)的程序,它協(xié)助搜索引擎從萬(wàn)維網(wǎng)上下載網(wǎng)頁(yè),是搜索引擎的重要組成部分。傳統(tǒng)網(wǎng)絡(luò)爬蟲(chóng)從一個(gè)或若干初始url開(kāi)始,爬取初始url的網(wǎng)頁(yè)并獲取初始url的網(wǎng)頁(yè)上鏈接的url,在爬取網(wǎng)頁(yè)的過(guò)程中,不斷從當(dāng)前網(wǎng)頁(yè)上獲取新的url放入待爬取隊(duì)列,直到滿足系統(tǒng)的一定停止條件。
為滿足海量數(shù)據(jù)爬取的需求,網(wǎng)絡(luò)爬蟲(chóng)系統(tǒng)一般采用大規(guī)模分布式架構(gòu)。在這種架構(gòu)中,如何過(guò)濾與搜索主題無(wú)關(guān)的網(wǎng)頁(yè)成為提高網(wǎng)絡(luò)爬蟲(chóng)系統(tǒng)爬取方向精確性和爬取效率的關(guān)鍵。傳統(tǒng)的分布式網(wǎng)絡(luò)爬蟲(chóng)系統(tǒng)通常采用簡(jiǎn)單的網(wǎng)頁(yè)去重機(jī)制。這種機(jī)制雖然能避免爬取重復(fù)的網(wǎng)頁(yè),但沒(méi)有考慮爬取的網(wǎng)頁(yè)內(nèi)容與搜索主題的相關(guān)性,因此無(wú)法做到精確、高效的網(wǎng)頁(yè)爬取,從而影響了分布式網(wǎng)絡(luò)爬蟲(chóng)系統(tǒng)爬取網(wǎng)頁(yè)的性能以及爬取網(wǎng)頁(yè)的質(zhì)量。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種基于知識(shí)圖譜的爬取種子列表更新方法及裝置,通過(guò)在網(wǎng)頁(yè)爬取的過(guò)程中,不斷計(jì)算爬取網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度,并過(guò)濾掉與搜索主題相似度不高的網(wǎng)頁(yè),從而達(dá)到提高爬取網(wǎng)頁(yè)準(zhǔn)確度和爬取網(wǎng)頁(yè)效率的目的。
為了實(shí)現(xiàn)上述目的,本發(fā)明技術(shù)方案如下:
一種基于知識(shí)圖譜的爬取種子列表更新方法,用于爬蟲(chóng)系統(tǒng)在爬取網(wǎng)頁(yè)的過(guò)程中獲取爬取種子,所述基于知識(shí)圖譜的爬取種子列表更新方法,包括:
從初始的爬取種子列表中選取一個(gè)種子,所述初始的爬取種子列表中的種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度大于設(shè)定的相似度閾值;
爬取該種子的網(wǎng)頁(yè),從該種子的網(wǎng)頁(yè)中提取出所有鏈接的url作為新種子;
爬取新種子的網(wǎng)頁(yè),基于知識(shí)圖譜計(jì)算出所述新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度;
用所述新種子的相似度與設(shè)定的相似度閾值進(jìn)行比對(duì),如果所述新種子的相似度大于設(shè)定的相似度閾值,則將該新種子加入爬取種子列表中,否則直接丟棄該新種子。
本發(fā)明的一種實(shí)現(xiàn)方式,所述基于知識(shí)圖譜計(jì)算出新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度,包括:
將搜索主題輸入到知識(shí)圖譜中,查找到知識(shí)圖譜中該搜索主題對(duì)應(yīng)的實(shí)體k;
利用知識(shí)圖譜中的搜索工具,在知識(shí)圖譜中查找到與實(shí)體k相關(guān)的n個(gè)實(shí)體k1,k2,...,kn;
從知識(shí)圖譜中獲取實(shí)體k1,k2,...,kn到實(shí)體k的距離d1,d2,...,dn,即獲取實(shí)體k1,k2,...,kn的權(quán)重d1,d2,...,dn;
統(tǒng)計(jì)新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容中各實(shí)體k1,k2,...,kn出現(xiàn)的次數(shù)l1,l2,...,ln,并結(jié)合各實(shí)體k1,k2,...,kn的權(quán)重d1,d2,...,dn,通過(guò)如下公式計(jì)算出新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度:
其中,di為實(shí)體ki的權(quán)重,li為實(shí)體ki在新種子的網(wǎng)頁(yè)內(nèi)容中出現(xiàn)的次數(shù),l為各實(shí)體k1,k2,...,kn在新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容中出現(xiàn)次數(shù)的總和,s為新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度。
本發(fā)明的另一種實(shí)現(xiàn)方式,所述基于知識(shí)圖譜計(jì)算出新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度,包括:
將搜索主題輸入到知識(shí)圖譜中,查找到知識(shí)圖譜中該搜索主題對(duì)應(yīng)的實(shí)體k;
利用知識(shí)圖譜中的搜索工具,在知識(shí)圖譜中查找到與實(shí)體k相關(guān)的n個(gè)實(shí)體k1,k2,...,kn;
從知識(shí)圖譜中獲取實(shí)體k1,k2,...,kn到實(shí)體k的距離d1,d2,...,dn,即獲取實(shí)體k1,k2,...,kn的權(quán)重d1,d2,...,dn;
查詢新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容中是否存在各實(shí)體k1,k2,...,kn,如果存在某個(gè)實(shí)體ki,則保持該實(shí)體的權(quán)重di不變,如果不存在某個(gè)實(shí)體ki,則將該實(shí)體的權(quán)重di置為0,然后通過(guò)如下公式計(jì)算出新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度:
其中,di為實(shí)體ki的權(quán)重,n為知識(shí)圖譜中查找到的與實(shí)體k相關(guān)的實(shí)體的數(shù)量,s為新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度。
進(jìn)一步地,所述基于知識(shí)圖譜計(jì)算出新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度,還包括:
根據(jù)所述新種子的父種子的相似度,對(duì)新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度進(jìn)行更新,更新公式為:
更新后新種子的相似度=父種子的相似度*新種子的相似度s/設(shè)定的相似度閾值。
進(jìn)一步地,所述將新種子加入爬取種子列表中,包括:
在將新的種子加入爬取種子列表中時(shí),會(huì)按照新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度由高到低的順序,在爬取種子列表中進(jìn)行排序。
本發(fā)明還提出了一種基于知識(shí)圖譜的爬取種子列表更新裝置,用于爬蟲(chóng)系統(tǒng)在爬取網(wǎng)頁(yè)的過(guò)程中獲取爬取種子,所述基于知識(shí)圖譜的爬取種子列表更新裝置,包括:
種子選取模塊,用于從初始的爬取種子列表中選取一個(gè)種子,所述初始的爬取種子列表中的種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度大于設(shè)定的相似度閾值;
新種子提取模塊,用于爬取該種子的網(wǎng)頁(yè),從該種子的網(wǎng)頁(yè)中提取出所有鏈接的url作為新種子;
相似度計(jì)算模塊,用于爬取新種子的網(wǎng)頁(yè),基于知識(shí)圖譜計(jì)算出所述新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度;
相似度比對(duì)模塊,用于用所述新種子的相似度與設(shè)定的相似度閾值進(jìn)行比對(duì),如果所述新種子的相似度大于設(shè)定的相似度閾值,則將該新種子加入爬取種子列表中,否則直接丟棄該新種子。
本發(fā)明的一種實(shí)現(xiàn)方式,所述相似度計(jì)算模塊基于知識(shí)圖譜計(jì)算出新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度,執(zhí)行如下操作:
將搜索主題輸入到知識(shí)圖譜中,查找到知識(shí)圖譜中該搜索主題對(duì)應(yīng)的實(shí)體k;
利用知識(shí)圖譜中的搜索工具,在知識(shí)圖譜中查找到與實(shí)體k相關(guān)的n個(gè)實(shí)體k1,k2,...,kn;
從知識(shí)圖譜中獲取實(shí)體k1,k2,...,kn到實(shí)體k的距離d1,d2,...,dn,即獲取實(shí)體k1,k2,...,kn的權(quán)重d1,d2,...,dn;
統(tǒng)計(jì)新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容中各實(shí)體k1,k2,...,kn出現(xiàn)的次數(shù)l1,l2,...,ln,并結(jié)合各實(shí)體k1,k2,...,kn的權(quán)重d1,d2,...,dn,通過(guò)如下公式計(jì)算出新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度:
其中,di為實(shí)體ki的權(quán)重,li為實(shí)體ki在新種子的網(wǎng)頁(yè)內(nèi)容中出現(xiàn)的次數(shù),l為各實(shí)體k1,k2,...,kn在新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容中出現(xiàn)次數(shù)的總和,s為新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度。
本發(fā)明的另一種實(shí)現(xiàn)方式,所述相似度計(jì)算模塊基于知識(shí)圖譜計(jì)算出新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度,執(zhí)行如下操作:
將搜索主題輸入到知識(shí)圖譜中,查找到知識(shí)圖譜中該搜索主題對(duì)應(yīng)的實(shí)體k;
利用知識(shí)圖譜中的搜索工具,在知識(shí)圖譜中查找到與實(shí)體k相關(guān)的n個(gè)實(shí)體k1,k2,...,kn;
從知識(shí)圖譜中獲取實(shí)體k1,k2,...,kn到實(shí)體k的距離d1,d2,...,dn,即獲取實(shí)體k1,k2,...,kn的權(quán)重d1,d2,...,dn;
查詢新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容中是否存在各實(shí)體k1,k2,...,kn,如果存在某個(gè)實(shí)體ki,則保持該實(shí)體的權(quán)重di不變,如果不存在某個(gè)實(shí)體ki,則將該實(shí)體的權(quán)重di置為0,然后通過(guò)如下公式計(jì)算出新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度:
其中,di為實(shí)體ki的權(quán)重,n為知識(shí)圖譜中查找到的與實(shí)體k相關(guān)的實(shí)體的數(shù)量,s為新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度。
進(jìn)一步地,所述相似度計(jì)算模塊基于知識(shí)圖譜計(jì)算出新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度,還執(zhí)行如下操作:
根據(jù)所述新種子的父種子的相似度,對(duì)新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度進(jìn)行更新,更新公式為:
更新后新種子的相似度=父種子的相似度*新種子的相似度s/設(shè)定的相似度閾值。
進(jìn)一步地,所述相似度比對(duì)模塊將新種子加入爬取種子列表中,執(zhí)行如下操作:
在將新的種子加入爬取種子列表中時(shí),會(huì)按照新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度由高到低的順序,在爬取種子列表中進(jìn)行排序。
本發(fā)明提出了一種基于知識(shí)圖譜的爬取種子列表更新方法及裝置,通過(guò)利用已經(jīng)建立的知識(shí)圖譜計(jì)算所爬取的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度,并通過(guò)設(shè)定的相似度閾值過(guò)濾掉與搜索主題相似度不高的網(wǎng)頁(yè),逐步調(diào)整網(wǎng)頁(yè)爬取的方向,提高了爬取網(wǎng)頁(yè)的準(zhǔn)確度以及爬取網(wǎng)頁(yè)的效率。
附圖說(shuō)明
圖1為本發(fā)明基于知識(shí)圖譜的爬取種子列表更新方法的流程圖;
圖2為本發(fā)明基于知識(shí)圖譜的爬取種子列表更新裝置的結(jié)構(gòu)圖。
具體實(shí)施方式
下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明技術(shù)方案做進(jìn)一步詳細(xì)說(shuō)明,以下實(shí)施例不構(gòu)成對(duì)本發(fā)明的限定。
隨著互聯(lián)網(wǎng)的信息量飛速增長(zhǎng)以及人們對(duì)搜索引擎的要求越來(lái)越高,傳統(tǒng)搜索引擎的局限性,如覆蓋率低、時(shí)效性差、結(jié)果不準(zhǔn)確、返回不相關(guān)的結(jié)果太多等缺點(diǎn)逐漸體現(xiàn),近年來(lái)google、百度、搜狗等搜索引擎公司通過(guò)構(gòu)建知識(shí)圖譜很好地解決了上述問(wèn)題來(lái),大大提高了搜索的質(zhì)量。
知識(shí)圖譜是一種基于圖的數(shù)據(jù)結(jié)構(gòu),由節(jié)點(diǎn)和邊組成,每個(gè)節(jié)點(diǎn)表示現(xiàn)實(shí)世界中存在的實(shí)體,每條邊為實(shí)體與實(shí)體之間的關(guān)系。知識(shí)圖譜就是把所有不同種類(lèi)的信息連接在一起而得到的一個(gè)關(guān)系網(wǎng)絡(luò),知識(shí)圖譜提供了從關(guān)系的角度去分析問(wèn)題的能力。不同于基于關(guān)鍵詞搜索的傳統(tǒng)搜索引擎,通過(guò)知識(shí)圖譜可以更好地查詢復(fù)雜的關(guān)聯(lián)信息,從語(yǔ)義層面理解用戶的意圖,提高搜索質(zhì)量。
構(gòu)建知識(shí)圖譜的一般過(guò)程如下:
(1)確定數(shù)據(jù)來(lái)源,例如:wikipedia,freebase等百科類(lèi)數(shù)據(jù);dbpedia和yago等通用語(yǔ)義數(shù)據(jù)集;musicbrainz和drugbank等特定領(lǐng)域的知識(shí)庫(kù)。
(2)實(shí)體對(duì)齊(objectalignment),即發(fā)現(xiàn)具有不同表述但卻代表真實(shí)世界中同一對(duì)象的那些實(shí)體,并將這些實(shí)體歸并為一個(gè)具有全局唯一標(biāo)識(shí)的實(shí)體對(duì)象添加到知識(shí)圖譜中,針對(duì)多種來(lái)源數(shù)據(jù)一般采用聚類(lèi)算法實(shí)現(xiàn),其關(guān)鍵在于定義合適的相似度度量。
(3)知識(shí)圖譜schema構(gòu)建,建立本體(ontology)。最基本的本體包括概念、概念層次、屬性、屬性值類(lèi)型、關(guān)系、關(guān)系定義域概念集以及關(guān)系值域概念集。
(4)解決不一致性問(wèn)題。優(yōu)先采用那些可靠性高的數(shù)據(jù)源抽取得到的事實(shí)。
(5)相關(guān)實(shí)體挖掘。使用主題模型發(fā)現(xiàn)虛擬文檔集中的主題分布,其中每個(gè)主題包含1個(gè)或多個(gè)實(shí)體,這些在同一個(gè)主題中的實(shí)體互為相關(guān)實(shí)體。
本實(shí)施例根據(jù)上述知識(shí)圖譜的特點(diǎn),在網(wǎng)絡(luò)爬蟲(chóng)系統(tǒng)爬取網(wǎng)頁(yè)的過(guò)程中,利用已經(jīng)構(gòu)建好的知識(shí)圖譜計(jì)算所爬取的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度,并通過(guò)設(shè)定的相似度閾值對(duì)所爬取的網(wǎng)頁(yè)進(jìn)行過(guò)濾,能大大提高網(wǎng)絡(luò)爬蟲(chóng)系統(tǒng)所爬取網(wǎng)頁(yè)的準(zhǔn)確度和爬取的效率。
本實(shí)施例一種基于知識(shí)圖譜的爬取種子列表更新方法,如圖1所示,包括:
步驟s1、從初始的爬取種子列表中選取一個(gè)種子,所述初始的爬取種子列表中的種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度大于設(shè)定的相似度閾值。
本實(shí)施例爬蟲(chóng)系統(tǒng)針對(duì)每個(gè)不同的搜索主題,通過(guò)手工設(shè)定有多個(gè)種子,爬蟲(chóng)系統(tǒng)在開(kāi)始進(jìn)行網(wǎng)頁(yè)爬取時(shí),首先根據(jù)用戶輸入的搜索主題,將手工設(shè)定的多個(gè)種子加入爬取種子列表中,作為初始的爬取種子列表。
由于手工設(shè)定的種子是通過(guò)人工精心選取的與搜索主題高度相似的種子url,因此所有手工設(shè)定的種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度都遠(yuǎn)大于設(shè)定的相似度閾值?;蛘邔?duì)初始的爬取種子列表中的種子,爬取其對(duì)應(yīng)的網(wǎng)頁(yè),基于知識(shí)圖譜計(jì)算出該種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度,將相似度大于設(shè)定的相似度閾值的種子保留,去除相似度小于等于設(shè)定的相似度閾值的種子,最終形成初始的爬取種子列表。
然后,爬蟲(chóng)系統(tǒng)從爬取種子列表中取出一個(gè)種子,通過(guò)互聯(lián)網(wǎng)爬取該種子的網(wǎng)頁(yè)。
步驟s2、爬取該種子的網(wǎng)頁(yè),從該種子的網(wǎng)頁(yè)中提取出所有鏈接的url作為新種子。
本實(shí)施例爬蟲(chóng)系統(tǒng)爬取種子的網(wǎng)頁(yè)后,分析該種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容,從該種子的網(wǎng)頁(yè)中提取出所有鏈接的url作為新種子。
例如,從種子a對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容中提取出鏈接的url分別為:
http://dajia.qq.com/blog/371783083688920
http://view.news.qq.com/original/intouchtoday/n3709.html
http://view.news.qq.com/original/intouchtoday/n3704.html
則將上述3個(gè)鏈接的url作為新種子,種子a是這些新種子的父種子。
步驟s3、爬取新種子的網(wǎng)頁(yè),基于知識(shí)圖譜計(jì)算出所述新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度。
本實(shí)施例在獲取新種子后,爬取每個(gè)新種子的網(wǎng)頁(yè),根據(jù)知識(shí)圖譜對(duì)新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容進(jìn)行分析,計(jì)算出新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度,具體計(jì)算方法如下:
將搜索主題輸入到知識(shí)圖譜中,查找到知識(shí)圖譜中該搜索主題對(duì)應(yīng)的實(shí)體k。
利用知識(shí)圖譜中的搜索工具,在知識(shí)圖譜中查找到與實(shí)體k相關(guān)的n個(gè)實(shí)體k1,k2,...,kn。
從知識(shí)圖譜中獲取實(shí)體k1,k2,...,kn到實(shí)體k的距離d1,d2,...,dn,即獲取實(shí)體k1,k2,...,kn的權(quán)重d1,d2,...,dn。
統(tǒng)計(jì)新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容中各實(shí)體k1,k2,...,kn出現(xiàn)的次數(shù)l1,l2,...,ln,并結(jié)合各實(shí)體k1,k2,...,kn的權(quán)重d1,d2,...,dn,計(jì)算出新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度。
優(yōu)選地,本實(shí)施例通過(guò)如下公式計(jì)算新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度:
其中,di為實(shí)體ki的權(quán)重,li為實(shí)體ki在新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容中出現(xiàn)的次數(shù),l為各實(shí)體k1,k2,...,kn在新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容中出現(xiàn)次數(shù)的總和,s為新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度。
下面通過(guò)舉例對(duì)上述計(jì)算方法進(jìn)行說(shuō)明:
例如,搜索主題為“新媒體”;從知識(shí)圖譜中查找到的實(shí)體k為“新媒體”,從知識(shí)圖譜中搜索出來(lái)新媒體的相關(guān)實(shí)體分別為:k1=“微信”、k2=“閱讀”、k3=“微博”,并且“微信”的權(quán)重d1為10%,“閱讀”的權(quán)重d2為5%,“微博”的權(quán)重d3為10%。
新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容為“公共閱讀氛圍的缺失,本質(zhì)上是一種文化與價(jià)值觀的缺失。目前,在文化傳播領(lǐng)域,劣幣驅(qū)逐良幣的現(xiàn)象依然廣泛存在。淺閱讀占據(jù)了閱讀者相當(dāng)多的時(shí)間,需要花時(shí)間和精力的深閱讀越來(lái)越少。很多人把自己的閱讀主陣地轉(zhuǎn)移到了微信公眾號(hào)等新媒體平臺(tái),對(duì)這轉(zhuǎn)變本身不必有價(jià)值褒貶,但是,恰恰是新媒體傳播了大量低水平的閱讀內(nèi)容。如何提升新媒體閱讀的層次,將有價(jià)值的、深度的內(nèi)容新媒體化,恐怕是提高公共閱讀層次的一大挑戰(zhàn)。”
從該網(wǎng)頁(yè)內(nèi)容中統(tǒng)計(jì)出“微信”出現(xiàn)了1次,“閱讀”出現(xiàn)了8次,則計(jì)算出新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度為:s=(10%*1+5%*8)/(1+8)=5.56%。
需要說(shuō)明的是,本實(shí)施例還可以通過(guò)如下方法計(jì)算新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度:
將搜索主題輸入到知識(shí)圖譜中,查找到知識(shí)圖譜中該搜索主題對(duì)應(yīng)的實(shí)體k。
利用知識(shí)圖譜中的搜索工具,在知識(shí)圖譜中查找到與實(shí)體k相關(guān)的n個(gè)實(shí)體k1,k2,...,kn。
從知識(shí)圖譜中獲取實(shí)體k1,k2,...,kn到實(shí)體k的距離d1,d2,...,dn,即獲取實(shí)體k1,k2,...,kn的權(quán)重d1,d2,...,dn。
查詢新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容中是否存在各實(shí)體k1,k2,...,kn,如果存在某個(gè)實(shí)體ki,則保持該實(shí)體的權(quán)重di不變,如果不存在某個(gè)實(shí)體ki,則將該實(shí)體的權(quán)重di置為0,然后通過(guò)如下公式計(jì)算出新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度:
其中,di為實(shí)體ki的權(quán)重,n為知識(shí)圖譜中查找到的與實(shí)體k相關(guān)的實(shí)體的數(shù)量,s為新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度(新種子的相似度)。
需要說(shuō)明的是,本實(shí)施例在計(jì)算出新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度之后,還可以根據(jù)該新種子的父種子的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度(父種子的相似度),對(duì)該新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度進(jìn)行更新,將更新后的新種子的相似度作為最終新種子的相似度,以進(jìn)一步優(yōu)化爬蟲(chóng)系統(tǒng)在爬取網(wǎng)頁(yè)時(shí)的方向選擇。具體的更新方法為:
更新后新種子的相似度=父種子的相似度*新種子的相似度s/設(shè)定的相似度閾值。
容易理解的是,初始的爬取種子列表中的種子由手工設(shè)定,其網(wǎng)頁(yè)內(nèi)容與搜索主題的相關(guān)度已知,后續(xù)加入爬取種子列表中的新種子的網(wǎng)頁(yè)內(nèi)容與搜索主題的相關(guān)度,在將該新種子加入爬取種子列表已經(jīng)計(jì)算出來(lái)了,因此本實(shí)施例在對(duì)新種子的相似度進(jìn)行更新時(shí),其父種子的相似度都是已知的。
通過(guò)上述方法,本實(shí)施例計(jì)算出新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度。
步驟s4、用所述新種子的相似度與設(shè)定的相似度閾值進(jìn)行比對(duì),如果所述新種子的相似度大于設(shè)定的相似度閾值,則將該新種子加入爬取種子列表中,否則直接丟棄該新種子。
本實(shí)施例在計(jì)算出新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度之后,用計(jì)算出的新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度與設(shè)定的相似度閾值進(jìn)行比對(duì),如果新種子的相似度大于設(shè)定的相似度閾值,則將新種子加入爬取種子列表中,并將該新種子輸出到候選的搜索結(jié)果列表中,由搜索引擎進(jìn)行后續(xù)的處理。
需要說(shuō)明的是,本實(shí)施例在將新種子加入爬取種子列表中時(shí),會(huì)按照該新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度由高到低的順序,在爬取種子列表中進(jìn)行排序,使爬蟲(chóng)系統(tǒng)優(yōu)先爬取網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度高的新種子,以進(jìn)一步提高爬取網(wǎng)頁(yè)的準(zhǔn)確度和爬取網(wǎng)頁(yè)的效率。
如果計(jì)算出的新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度小于設(shè)定的相似度閾值,則直接丟棄該新種子。
本實(shí)施例通過(guò)對(duì)爬取種子列表中的種子爬取其對(duì)應(yīng)的網(wǎng)頁(yè),并將新種子加入到爬取種子列表,不斷更新爬取種子列表,并通過(guò)遍歷爬取種子列表中所有種子實(shí)現(xiàn)網(wǎng)頁(yè)爬取,從而實(shí)現(xiàn)在爬蟲(chóng)系統(tǒng)爬取網(wǎng)頁(yè)過(guò)程中,逐步調(diào)整網(wǎng)頁(yè)爬取的方向,提高爬取網(wǎng)頁(yè)的準(zhǔn)確度以及爬取網(wǎng)頁(yè)的效率。
如圖2所示,本實(shí)施例還提出了一種基于知識(shí)圖譜的爬取種子列表更新裝置,用于爬蟲(chóng)系統(tǒng)在爬取網(wǎng)頁(yè)的過(guò)程中獲取爬取種子,所述基于知識(shí)圖譜的爬取種子列表更新裝置,包括:
種子選取模塊,用于從初始的爬取種子列表中選取一個(gè)種子,所述初始的爬取種子列表中的種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度大于設(shè)定的相似度閾值;
新種子提取模塊,用于爬取該種子的網(wǎng)頁(yè),從該種子的網(wǎng)頁(yè)中提取出所有鏈接的url作為新種子;
相似度計(jì)算模塊,用于爬取新種子的網(wǎng)頁(yè),基于知識(shí)圖譜計(jì)算出所述新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度;
相似度比對(duì)模塊,用于用所述新種子的相似度與設(shè)定的相似度閾值進(jìn)行比對(duì),如果所述新種子的相似度大于設(shè)定的相似度閾值,則將該新種子加入爬取種子列表中,否則直接丟棄該新種子。
與上述方法對(duì)應(yīng)地,本發(fā)明的一種實(shí)施例,相似度計(jì)算模塊基于知識(shí)圖譜計(jì)算出新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度,執(zhí)行如下操作:
將搜索主題輸入到知識(shí)圖譜中,查找到知識(shí)圖譜中該搜索主題對(duì)應(yīng)的實(shí)體k;
利用知識(shí)圖譜中的搜索工具,在知識(shí)圖譜中查找到與實(shí)體k相關(guān)的n個(gè)實(shí)體k1,k2,...,kn;
從知識(shí)圖譜中獲取實(shí)體k1,k2,...,kn到實(shí)體k的距離d1,d2,...,dn,即獲取實(shí)體k1,k2,...,kn的權(quán)重d1,d2,...,dn;
統(tǒng)計(jì)新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容中各實(shí)體k1,k2,...,kn出現(xiàn)的次數(shù)l1,l2,...,ln,并結(jié)合各實(shí)體k1,k2,...,kn的權(quán)重d1,d2,...,dn,通過(guò)如下公式計(jì)算出新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度:
其中,di為實(shí)體ki的權(quán)重,li為實(shí)體ki在新種子的網(wǎng)頁(yè)內(nèi)容中出現(xiàn)的次數(shù),l為各實(shí)體k1,k2,...,kn在新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容中出現(xiàn)次數(shù)的總和,s為新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度。
本發(fā)明的另一實(shí)施例,相似度計(jì)算模塊基于知識(shí)圖譜計(jì)算出新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度,執(zhí)行如下操作:
將搜索主題輸入到知識(shí)圖譜中,查找到知識(shí)圖譜中該搜索主題對(duì)應(yīng)的實(shí)體k;
利用知識(shí)圖譜中的搜索工具,在知識(shí)圖譜中查找到與實(shí)體k相關(guān)的n個(gè)實(shí)體k1,k2,...,kn;
從知識(shí)圖譜中獲取實(shí)體k1,k2,...,kn到實(shí)體k的距離d1,d2,...,dn,即獲取實(shí)體k1,k2,...,kn的權(quán)重d1,d2,...,dn;
查詢新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容中是否存在各實(shí)體k1,k2,...,kn,如果存在某個(gè)實(shí)體ki,則保持該實(shí)體的權(quán)重di不變,如果不存在某個(gè)實(shí)體ki,則將該實(shí)體的權(quán)重di置為0,然后通過(guò)如下公式計(jì)算出新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度:
其中,di為實(shí)體ki的權(quán)重,n為知識(shí)圖譜中查找到的與實(shí)體k相關(guān)的實(shí)體的數(shù)量,s為新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度。
本實(shí)施例相似度計(jì)算模塊基于知識(shí)圖譜計(jì)算出新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度,還執(zhí)行如下操作:
根據(jù)所述新種子的父種子的相似度,對(duì)新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度進(jìn)行更新,更新公式為:
更新后新種子的相似度=父種子的相似度*新種子的相似度s/設(shè)定的相似度閾值。
本實(shí)施例相似度比對(duì)模塊將新種子加入爬取種子列表中,執(zhí)行如下操作:
在將新的種子加入爬取種子列表中時(shí),會(huì)按照新種子對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容與搜索主題的相似度由高到低的順序,在爬取種子列表中進(jìn)行排序。
以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案而非對(duì)其進(jìn)行限制,在不背離本發(fā)明精神及其實(shí)質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。