林春杰 金苗娟
摘? 要:實(shí)現(xiàn)高效獲取互聯(lián)網(wǎng)中特定領(lǐng)域信息的有效途徑是使用聚焦爬蟲(chóng),針對(duì)聚焦爬蟲(chóng)在判斷主題相關(guān)時(shí)缺少語(yǔ)義信息的問(wèn)題,提出了一個(gè)基于語(yǔ)義相似度計(jì)算的聚焦爬蟲(chóng)框架。該框架抽取網(wǎng)頁(yè)的主題詞、內(nèi)容和鏈接信息作為網(wǎng)頁(yè)特征,計(jì)算主題相似度。通過(guò)鏈接的主題相關(guān)度計(jì)算,過(guò)濾URL和判斷URL的重要程度。最后給出了對(duì)比試驗(yàn),驗(yàn)證了該方法的有效性。
關(guān)鍵詞:聚焦爬蟲(chóng);語(yǔ)義相似度;本體;搜索引擎
Abstract:The effective way to achieve efficient access to information in specific areas of the internet is to use focused crawler. To solve the problem of lack of semantic information when focused crawler judges the relevant topics,a focused crawler framework based on semantic similarity calculation is proposed. The framework extracts the subject words,content and link information of web pages as the features of web pages,and calculates the subject similarity. Through the calculation of topic relevance of links,we can filter URL and rank URL. Finally,the experiment result demonstrated that the proposed method has higher performance than traditional crawlers.
Keywords:focused crawler;semantic similarity;ontology;search engine
0? 引? 言
互聯(lián)網(wǎng)信息的規(guī)模正在不斷地增長(zhǎng),但人們搜集信息的效率卻相對(duì)落后,搜索引擎技術(shù)可以幫助人們從海量數(shù)據(jù)中快速檢索到所需要的信息。網(wǎng)絡(luò)爬蟲(chóng)是搜索引擎的核心,它負(fù)責(zé)從網(wǎng)絡(luò)中尋找和搜集資源。以Google、百度等搜索引擎為代表的通用搜索引擎目標(biāo)是覆蓋全網(wǎng)絡(luò),采用廣度優(yōu)先算法的爬蟲(chóng)搜集網(wǎng)頁(yè)進(jìn)行索引,其軟硬件資源消耗較大、無(wú)法深入抓取深層網(wǎng)絡(luò)資源。聚焦爬蟲(chóng)通過(guò)限定某一個(gè)主題,抓取相應(yīng)的網(wǎng)頁(yè),從而提高抓取效率和精度,因此受到了廣泛的關(guān)注。
聚焦爬蟲(chóng)只關(guān)注特定的主題相關(guān)的網(wǎng)頁(yè),無(wú)需搜索整個(gè)Web,效率較高,但如何判定網(wǎng)頁(yè)的主題相關(guān)性是其核心問(wèn)題之一。Fish-Search[1]是最早的聚焦爬蟲(chóng),它采用深度優(yōu)先策略,只抓取與給定的查詢(關(guān)鍵詞或正則表達(dá)式)相匹配的頁(yè)面。Shark-Search[2]系統(tǒng)改進(jìn)了Fish-Search系統(tǒng),提出利用TF-IDF(term frequency-inverse document frequency)作為文件與用戶查詢之間相關(guān)程度的度量或評(píng)級(jí),構(gòu)建空間向量模型計(jì)算網(wǎng)頁(yè)和主題之間的相似度。PageRank算法[3]將Web看作是有向圖,通過(guò)網(wǎng)頁(yè)之間的鏈接計(jì)算網(wǎng)頁(yè)間的重要度和相似度。近年來(lái)很多新方法被引入到聚焦爬蟲(chóng)中,文獻(xiàn)[4]提出了將多目標(biāo)蟻群算法應(yīng)用于鏈接選擇,優(yōu)化爬蟲(chóng)搜索方向。文獻(xiàn)[5]給出了一個(gè)融合LDA的卷積神經(jīng)網(wǎng)絡(luò)主題爬蟲(chóng)方法,利用LDA提取的特征彌補(bǔ)神經(jīng)網(wǎng)絡(luò)缺失的主題信息,文獻(xiàn)[6]提出基于主題建模和上位詞替換的語(yǔ)義信息的向量空間語(yǔ)義相似度計(jì)算模型。然而,目前網(wǎng)頁(yè)結(jié)構(gòu)多樣,語(yǔ)義豐富,如何利用更多的語(yǔ)義信息來(lái)提高聚焦爬蟲(chóng)的效率成為了一個(gè)待解決的問(wèn)題。
針對(duì)上述問(wèn)題,提出了一個(gè)基于語(yǔ)義相似度計(jì)算的分布式聚焦爬蟲(chóng)框架,該框架通過(guò)計(jì)算抽取出的網(wǎng)頁(yè)特征間的相似度判斷當(dāng)前網(wǎng)頁(yè)和主題的相似度,利用鏈接信息計(jì)算待爬取網(wǎng)頁(yè)和當(dāng)前主題的相似度從而實(shí)現(xiàn)URL過(guò)濾和排序。筆者在前期的自科基金項(xiàng)目資助下對(duì)本體的構(gòu)建、映射、合并和語(yǔ)義標(biāo)注等方面做了基礎(chǔ)性的研究,提出的語(yǔ)義相似度計(jì)算方法是一種基于本體的方法,目的是通過(guò)本體本身蘊(yùn)含的語(yǔ)義信息擴(kuò)展網(wǎng)頁(yè)中的特征,提高網(wǎng)頁(yè)過(guò)濾的精度,最后通過(guò)對(duì)比實(shí)驗(yàn)驗(yàn)證了該方法的有效性。
1? 網(wǎng)頁(yè)特征描述
網(wǎng)頁(yè)的內(nèi)容通常由HTML語(yǔ)言描述,HTML文檔是一個(gè)半結(jié)構(gòu)化的文檔,主要包含網(wǎng)頁(yè)的結(jié)構(gòu)信息,缺少語(yǔ)義。因此如何有效提取網(wǎng)頁(yè)中的特征是影響主題分類器的性能的關(guān)鍵問(wèn)題。網(wǎng)頁(yè)中除正文文本以外,還包括對(duì)網(wǎng)頁(yè)主題描述的信息,例如
定義1:網(wǎng)頁(yè)的特征集表示為Fpage={CL,CT,CW},其中網(wǎng)頁(yè)鏈接特征(指向該網(wǎng)頁(yè)的鏈接來(lái)源網(wǎng)頁(yè)和主題相似度)記為CL={l1,l2,…ln},li表示鏈入當(dāng)前頁(yè)面的網(wǎng)頁(yè)與主題相似度;網(wǎng)頁(yè)的主題詞特征(從網(wǎng)頁(yè)的
定義2:鏈接的特征集表示為Flink={Ca,Ct,r},其中Ca表示錨文本關(guān)鍵詞,Ct表示URL文本關(guān)鍵詞,r表示當(dāng)前文檔與主題相似度。
定義3:爬蟲(chóng)的上下文主題表示為T={t1,t2,…,tn},其中ti表示第i個(gè)主題關(guān)鍵詞。
通過(guò)定義3的網(wǎng)頁(yè)鏈接特征預(yù)測(cè)目標(biāo)網(wǎng)頁(yè)與爬蟲(chóng)上下文主題相似度,將相似度較低的鏈接拋棄掉,不再下載該網(wǎng)頁(yè),用于過(guò)濾無(wú)關(guān)網(wǎng)頁(yè),提高爬蟲(chóng)的效率;利用定義2的網(wǎng)頁(yè)特征,計(jì)算與爬蟲(chóng)上下文主題相似度,用于判定該網(wǎng)頁(yè)是否與主題相關(guān),另外還可以為下一步鏈接的分析和排序提供依據(jù)。定義的特征大多以關(guān)鍵詞形式存在,因此判斷主題相似度的核心是計(jì)算關(guān)鍵詞間的相似度。本文引入同義詞本體WordNet指導(dǎo)相似度計(jì)算。兩個(gè)詞的相似度和它們?cè)诒倔w中的位置有關(guān)系,下面給出相似度定義:
定義4:關(guān)鍵詞間的相似度計(jì)算公式定義如下:
其中,d(a,b)表示本體中連接兩個(gè)概念的最少邊數(shù)量,MaxDepth表示本體概念層次最大深度。該公式采用非線性函數(shù)的形式,因?yàn)橄鄬?duì)于線性函數(shù)它有較高的準(zhǔn)確性。
2? 網(wǎng)頁(yè)與上下文主題相似度計(jì)算
爬蟲(chóng)為了抓取主題相關(guān)網(wǎng)頁(yè),需要進(jìn)行主題相似度計(jì)算,判斷該網(wǎng)頁(yè)與主題的相關(guān)程度,從而判斷該網(wǎng)頁(yè)是否屬于該主題。然而網(wǎng)頁(yè)是一種半結(jié)構(gòu)化數(shù)據(jù),缺乏語(yǔ)義信息,計(jì)算機(jī)不能了解其語(yǔ)義含義,因此引入領(lǐng)域本體計(jì)算相似度,以提高相似度計(jì)算的準(zhǔn)確率??紤]到定義1中定義的網(wǎng)頁(yè)的特征包含三部分:網(wǎng)頁(yè)的鏈接特征、主題詞特征、正文文本特征,本文綜合考慮這三個(gè)特征,建立相似度計(jì)算公式。
其中Topk(),表示最大的k個(gè)值,α、β和γ是3個(gè)可調(diào)節(jié)的權(quán)重,用于調(diào)整不同類型的網(wǎng)頁(yè)的各部分特征的權(quán)重。
主題詞中往往包含網(wǎng)頁(yè)的類別關(guān)鍵詞,因此它對(duì)于網(wǎng)頁(yè)于主題相似度貢獻(xiàn)最大,正文文本也是判定相似度的重要依據(jù),它們是式(1)前兩項(xiàng)計(jì)算的內(nèi)容,鏈接特征值(式(2)的第3項(xiàng))表示的鏈入該網(wǎng)頁(yè)與主題的相關(guān)程度,反映的是網(wǎng)頁(yè)鏈接的結(jié)構(gòu)相似度。
網(wǎng)頁(yè)鏈接相似度計(jì)算的目的是預(yù)測(cè)該鏈接到的文檔是否可能是與主題相關(guān),進(jìn)而確定是否下載該網(wǎng)頁(yè),從而提高爬蟲(chóng)的效率。根據(jù)網(wǎng)頁(yè)鏈接的三個(gè)特征:錨文本、URL文本和當(dāng)前網(wǎng)頁(yè)的主題相似度,給出了鏈接與上下文主題相似度計(jì)算方法。
其中,α、β和γ是3個(gè)可調(diào)節(jié)的權(quán)重,用于調(diào)整不同特征的貢獻(xiàn)權(quán)重。
3? 主題爬蟲(chóng)框架
主題爬蟲(chóng)框架的思路是,從種子鏈接出發(fā),下載網(wǎng)頁(yè),過(guò)濾掉與主題相關(guān)度小于閾值的網(wǎng)頁(yè),同時(shí)搜集下載的目標(biāo)鏈接,根據(jù)主題相關(guān)度對(duì)鏈接進(jìn)行排序,過(guò)濾掉與主題無(wú)關(guān)的鏈接,避免消耗爬蟲(chóng)的計(jì)算資源。通過(guò)網(wǎng)頁(yè)過(guò)濾和鏈接過(guò)濾,決定下一步爬行路徑,以便于盡可能縮小搜索路徑,下載與主題相關(guān)的網(wǎng)頁(yè)。分布式爬蟲(chóng)框架如圖1所示。
3.1? 爬蟲(chóng)調(diào)度器
爬蟲(chóng)調(diào)度器節(jié)點(diǎn)是整個(gè)系統(tǒng)的核心,負(fù)責(zé)任務(wù)的分發(fā)和協(xié)調(diào),控制、協(xié)調(diào)執(zhí)行器各個(gè)節(jié)點(diǎn)的分布式計(jì)算處理,同時(shí),將待爬取的URL鏈接進(jìn)行分區(qū),分配給各執(zhí)行器節(jié)點(diǎn)。
3.2? 分布式爬蟲(chóng)執(zhí)行器
每個(gè)節(jié)點(diǎn)能夠獨(dú)立下載網(wǎng)頁(yè),接收到爬蟲(chóng)調(diào)度器分配的任務(wù)之后,就啟動(dòng)相應(yīng)的任務(wù)進(jìn)行處理,主要包括網(wǎng)頁(yè)下載、網(wǎng)頁(yè)解析和預(yù)處理、網(wǎng)頁(yè)主題相似度計(jì)算,并把下載后的與主題相關(guān)的網(wǎng)頁(yè)保存到原始網(wǎng)頁(yè)庫(kù)中,然后在將該網(wǎng)頁(yè)中分析新的鏈接,并對(duì)解析得到的鏈接進(jìn)行粗過(guò)濾,并根據(jù)與主題的相似度設(shè)置相應(yīng)的權(quán)重,存儲(chǔ)到新解析URL庫(kù)中,作為后續(xù)網(wǎng)頁(yè)抓取的鏈接列表。
3.3? 分布式數(shù)據(jù)庫(kù)集群
是一個(gè)數(shù)據(jù)庫(kù)集群,它負(fù)責(zé)存儲(chǔ)待抓取的URL隊(duì)列、待解析的URL和下載網(wǎng)頁(yè)內(nèi)容。
3.4? 鏈接過(guò)濾器
該模塊的主要任務(wù)是對(duì)網(wǎng)頁(yè)解析模塊中獲得的URL進(jìn)行進(jìn)一步過(guò)濾。網(wǎng)頁(yè)中的鏈接可能出現(xiàn)不規(guī)范、重復(fù)和無(wú)效的情況,這些鏈接必須經(jīng)過(guò)規(guī)范化和去重后才可以使用,并根據(jù)優(yōu)先級(jí)分配到不同的爬蟲(chóng)執(zhí)行器上取執(zhí)行。另外,通過(guò)鏈接相關(guān)性計(jì)算,判斷該鏈接與主題的偏離程度,過(guò)濾后的鏈接再被存放到待抓取URL隊(duì)列庫(kù)中,等待后續(xù)的網(wǎng)頁(yè)下載。
4? 實(shí)驗(yàn)分析
為了驗(yàn)證該爬蟲(chóng)的有效性,開(kāi)發(fā)了一個(gè)爬蟲(chóng)原型系統(tǒng),抓取英文新聞網(wǎng)站,考察它在抓取準(zhǔn)確率方面的差異。實(shí)驗(yàn)的待爬取隊(duì)列中的種子被初始化為4個(gè)新聞網(wǎng)站(www.ecns.cn、www.bbc.com、www.people.cn、www.chinadaily.com.cn)。實(shí)驗(yàn)中,使用WordNet 3.0作為背景知識(shí)本體,用于計(jì)算網(wǎng)頁(yè)和鏈接的上下文主題相似度。實(shí)驗(yàn)以疾病為主題,爬取網(wǎng)頁(yè)數(shù)量上限設(shè)置為5 000,驗(yàn)證不同爬蟲(chóng)的準(zhǔn)確率和召回率。
為了評(píng)價(jià)提出的爬蟲(chóng)方法的實(shí)際運(yùn)行效果,選取了其他3種爬行策略。
4.1? Breadth-First Search爬蟲(chóng)
基于Breadth-First Search爬蟲(chóng)是最簡(jiǎn)單的爬蟲(chóng),通常,它作為爬蟲(chóng)算法的比較基準(zhǔn)。
4.2? Best-First Search爬蟲(chóng)
該策略使用關(guān)鍵詞集來(lái)描述主題,使用TF-IDF作為關(guān)鍵詞權(quán)重(從主題相關(guān)的網(wǎng)頁(yè)中統(tǒng)計(jì)得出),從中選取前300個(gè)權(quán)重最高的詞組成主題向量。然后將得到的網(wǎng)頁(yè)中提取到的文本轉(zhuǎn)換為向量與主題向量計(jì)算相似度,根據(jù)結(jié)果判定網(wǎng)頁(yè)是否與主題相關(guān)。
4.3? 基于SVM分類器的主題爬蟲(chóng)
該策略將SVM分類器和HITS算法相結(jié)合,使用SVM篩選與主題相關(guān)的網(wǎng)頁(yè),根據(jù)鏈接的authority值預(yù)測(cè)待爬取網(wǎng)頁(yè)與主題的相似度,從而進(jìn)行再次爬取。
圖2的橫坐標(biāo)表示抓取得到網(wǎng)頁(yè)的數(shù)量,上限是5 000,縱坐標(biāo)表示抓取相應(yīng)數(shù)量網(wǎng)頁(yè)時(shí)的主題相關(guān)網(wǎng)頁(yè)比率(準(zhǔn)確率)。如圖2所示,本文提出的算法的準(zhǔn)確率相對(duì)較高,隨著抓取網(wǎng)頁(yè)數(shù)量的增加,準(zhǔn)確率相對(duì)提高。Breadth-First算法的準(zhǔn)確率相對(duì)較低,因?yàn)樵撍惴ū容^簡(jiǎn)單,未識(shí)別網(wǎng)頁(yè)的主題。
如圖3所示,橫坐標(biāo)表示抓取得到網(wǎng)頁(yè)的數(shù)量,上限是5 000,縱坐標(biāo)表示抓取相應(yīng)數(shù)量網(wǎng)頁(yè)時(shí)的主題相關(guān)網(wǎng)頁(yè)的召回率。本文提出的算法召回率隨著抓取網(wǎng)頁(yè)數(shù)量的增加,得到的結(jié)果較好,因?yàn)樗惴ǔ浞挚紤]了網(wǎng)頁(yè)文本和鏈接結(jié)構(gòu)信息,提高了檢索的效率。
5? 結(jié)? 論
本文提出了基于本體語(yǔ)義相似度計(jì)算的分布式聚焦爬蟲(chóng)框,該方法通過(guò)綜合考慮網(wǎng)頁(yè)的主題詞、內(nèi)容和鏈接等特征計(jì)算與主題的相似度,同時(shí)通過(guò)鏈接信息預(yù)測(cè)目標(biāo)鏈接網(wǎng)頁(yè)和主題的相似度。通過(guò)兩階段的相似度度量,過(guò)濾網(wǎng)頁(yè),通過(guò)實(shí)驗(yàn)驗(yàn)證了該方法的有效性。該聚焦爬蟲(chóng)框架適合在分布式集群中運(yùn)行,結(jié)合Hadoop的MapReduce計(jì)算框架可以實(shí)現(xiàn)對(duì)大規(guī)模數(shù)據(jù)的高效爬取。目前,提出的聚焦爬蟲(chóng)框架爬取單一語(yǔ)言網(wǎng)頁(yè)的效率比較穩(wěn)定,但是在分析多語(yǔ)言混合的網(wǎng)頁(yè)場(chǎng)景下,主題相似度計(jì)算的精度有限,這是需要進(jìn)一步研究的內(nèi)容。
參考文獻(xiàn):
[1] BRA P D,HOUBEN G J,KORNATZKY Y,et al. Information Retrieval in Distributed Hypertexts [C]//4th International Conference,October 11-13,1994,Rockefeller University,NY,USA:DBLP,1994:481-493.
[2] BRIN S,PAGE L. The anatomy of a large-scale hypertextual Web search engine [C]//Proceedings of the seventh international conference on World Wide Web 7,Amsterdam,Netherlands:Elsevier Science Publishers,1998:107-117.
[3] KAMVAR S D,HAVELIWALA T H,MANNING C D,et al. Extrapolation Methods for Accelerating PageRank Computations [D].USA:Stanford University,2003.
[4] 東熠,劉景發(fā),劉文杰.基于多目標(biāo)蟻群算法的主題爬蟲(chóng)策略 [J/OL].計(jì)算機(jī)工程:1-11(2019-11-11).https://doi.org/ 10.19678/j.issn.1000-3428.0055967.
[5] 孫紅光,藏潤(rùn)強(qiáng),姬傳德,等.基于語(yǔ)義的聚焦爬蟲(chóng)算法研究 [J].東北師大學(xué)報(bào)(自然科學(xué)版),2018,50(2):51-57.
[6] 汪巋,費(fèi)晨杰,劉柏嵩.融合LDA的卷積神經(jīng)網(wǎng)絡(luò)主題爬蟲(chóng)研究 [J].計(jì)算機(jī)工程與應(yīng)用,2019,55(11):123-128+ 178.
作者簡(jiǎn)介:林春杰(1981—),男,朝鮮族,吉林人,講師,碩士,研究方向:數(shù)據(jù)挖掘;金苗娟(1982—),女,漢族,河南洛陽(yáng)人,講師,碩士,研究方向:自然語(yǔ)言處理。