林春杰 金苗娟



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