引言
從 Web 上收集特定主題數據的技術可分為兩類:
①基于搜索的發現技術[1-3],主要依靠搜索引擎查找網頁;
②基 于爬行的發現技術[4-6],主要利用 Web 鏈接結構從已下載的 網頁中提取新鏈接,從而發現更多潛在的目標網頁。
前者 適用于存在一些關鍵字可區分主題數據和其它數據的情 況,后者靈活性更強,代表技術就是聚焦爬蟲。 與普通爬蟲相比,聚焦爬蟲有明確的目標指向性,在 爬取網頁過程中能夠丟棄不相關頁面,并始終跟蹤可能導 向“相關”頁面的超鏈接,因而能更有效地收集特定主題的 數據。聚焦爬蟲框架與一般爬蟲基本相同,也即是說,它 從幾個種子鏈接(Seed URL)開始,下載相關頁面并提取其 中包含的超鏈接,然后跟蹤這些超鏈接以獲取更多頁面。 不斷重復該過程,直到無法以這種方式找到更多網頁。
聚 焦爬蟲的特殊之處在于,其會引入兩個分類器——路徑判 別器和目標判別器,以決定某個超鏈接是否值得進一步訪 問,以及某頁面是否值得保存。其中,路徑判別器負責判 斷鏈接值得跟蹤與否,目標判別器負責根據網頁與主題相關與否對其進行歸類。 聚焦爬蟲研究主要集中在 3 個方面:
一是如何獲得更 有效的分類器,例如使用在線學習策略構建路徑判別器 (目標判別器依然需要進行預訓練)[7,14-18];
二是如何獲得更 好的種子鏈接,
例如維埃拉等[3] 利用 Bing 搜索引擎,使用相 關反饋(Relevance Feedback)收集種子;
三是如何設計更好 的爬行策略[8-12,19-22]。盡管這些研究從各個方面對聚焦爬 蟲進行了改進,預先訓練分類器的工作仍不可省略,因此 造成了爬蟲使用的不便。
由于其分類器是任務相關的,換 一個目標主題就要重新手動構建數據集進行訓練。
最近,KIEN[13] 將聚焦爬行描述為一個排序問題,其跳 過分類器訓練,只使用一些示例網站作為輸入。從樣本網 站中提取關鍵詞,再通過關鍵字搜索、前向爬行和后向爬 行擴展樣本網站集,其設計的系統根據與當前樣本網站的 相似性選擇新的樣本網站。結果表明,通過適當的相似性 度量,基于排序的聚焦爬蟲可取得與基于分類器的聚焦爬 蟲相似的性能表現。但其問題設置與本文不同,其目標是 得到相關網站,而不是網頁。因此,以上實踐啟發了本文 用排序器替換預訓練分類器構建自舉聚焦爬蟲,以解決網 站群內部的主題網頁發現問題。 本 文 設 計 一 種 自 舉 聚 焦 爬 蟲(Bootstrapping Focused Crawler,簡稱 BFC),該方法為聚焦爬蟲提供一些示例網頁, 而不是預先訓練的分類器,從而可略過繁復的分類器訓練 過程。該方法適用于特定網站群中的主題數據收集,例如 收集各大學錄取信息、各公司招聘信息、各政府網站的政 策信息等。圖 1 展示了兩個爬取任務示例。任務難點在 于,上千所高校、公司雖然網站架構類似,但每個節點對應 的超鏈接文字用詞千差萬別,路徑深度與目標頁面特征也 存在顯著差異。因此,在不預訓練分類器的前提下,只提 供少量樣例網頁充當爬蟲向導,是一種新的嘗試。 由于特定網站群是眾多一手信息的源頭,如果能及 時、有效地收集相關信息并匯聚起來,將極大地降低信息 瀏覽門檻,并催生出數據可視化等應用。因此,本文提出 的網站群爬蟲具有很強的現實意義。
圖 1 網站群爬蟲爬取任務示例
注:粗體字表示爬蟲從網站根節點出發的最優爬行路徑
1 自舉聚焦爬蟲 自舉聚焦爬蟲框架如圖 2 所示
圖 2 自舉聚焦爬蟲框架 程序有兩個輸入:
一個是網站群站點(Website)列表, 一個是少量樣例網頁,每個樣例網頁包含其所在站點的根 鏈接和自身鏈接這一對元素。
首先,對樣例網頁進行路徑 提取與特征提取。在傳統聚焦爬蟲框架下,需要一個能引 導爬蟲到目標節點的向導(路徑判別器),以及能夠區分目 標節點與其它節點的評委(目標判別器)。路徑提取目標 是構建路徑判別器,而特征提取目標是構建目標判別器。 區別在于,本文提出的自舉聚焦爬蟲用相似度排序模塊替 代傳統框架下的目標判別器,用類似于強化學習的手段在 · 110 ·第 8 期 線構建路徑判別器。然后利用兩個判別器從輸入的網站 群根節點開始循環抓取網頁,并不斷把最相關的網頁加入 網頁樣例庫,用于更新兩個判別器。該流程循環進行,直 到無法發現更多網頁或達到迭代次數上限為止。 1.1 路徑判別器
路徑判別器本質上是一個二分類器:輸入一個超鏈接 短文本,輸出其是否與要爬取的主題相關,或沿著該鏈接 是否能找到與主題相關網頁。在網站群爬蟲這個具體應 用場景中,存在一條從站點根節點到當前頁面的超鏈接路 徑(見圖 1),可利用這條路徑上的前序文本增強當前鏈接 短文本的判斷準確度。因此,本文通過路徑提取將傳統路 徑判別器的單一短文本輸入擴充為短文本列表。 在頁面爬取過程中,對每個待判別的路徑 t 打分,如果 分數大于閾值,則判定為相關鏈接。計算公式如下: f (t) = ?w ? tαw 其中,超文本 w 是路徑 t 中的詞,αw 是 w 的權重,其 初始化使用了樣例庫提供的信息。具體而言,本文把從樣 例網頁中提取的路徑集中起來,分詞后統計每個詞的詞 頻,形成各詞的初始權重。其它詞默認初始權重為-1,以 懲罰路徑中存在過多未知詞。在爬取過程中,αw 采用類似 強化學習的策略進行更新。每當一個路徑 t 被判定為相 關,其包含詞的對應權重都消耗 1;每當找到一個目標網 頁,其對應路徑中的詞權重獎勵 2。
1.2 相似度排序
在目標判別環節,本文用排序器替換預訓練的分類 器。
具體而言,爬蟲根據訪問頁面與示例網頁的相似性對 其進行排序,將相似度大于閾值的網頁作為相關網頁輸 出,并同時將排名前 p%的網頁添加到示例庫,開始下一輪 迭代。 在計算網頁相似度時,采用以下公式: s( x) = -dcos( x x) 其中,dcos 是余弦距離,x 是從待評估網頁標題和內容 中提取文本的詞袋模型(Bag of Words)向量表示,x 是樣例 網頁整合成單一文檔生成的詞袋模型向量表示。該公式 計算的相似度是目標網頁與樣例庫的總體平均相似性。
2 爬取效果
2.1 實驗任務與數據集
本文按照中國大學排行榜,收集了中國排名前 200 的 大學官方網站頁面集合作為實驗數據集。為檢驗爬蟲性 能,定義主題爬取任務如下:獲取高校歷史錄取分數相關 頁面。本文手動標記每個站點與所需主題相關頁面(URL) 作為真實標簽,數據集頁面總數為 41 600,其中正樣本數量 為 1 033。 為得到樣例網頁庫作為算法輸入,本文從 200 個網站 中隨機抽取 3 個網站,并為每個網站標記一個示例頁面,得 到 3 個樣例(每個樣例含有一對數據,即目標網頁的 URL 以 及所在網站根節點的 URL)。通過對 4 組使用不同樣例集 的爬蟲計算平均得分,得到 BFC 性能得分。
2.2 效果展示
本 文 選 取 傳 統 聚 焦 爬 蟲(FC)作 為 基 線 算 法 進 行 對 比。出于公平性考慮,FC 所需分類器基于樣例網頁庫的少 量正樣本,采用 KNN 算法獲得。本文提出的自舉聚焦爬蟲 (BFC)與基線算法 FC 在高校歷史錄取分數爬取任務中的 表現對比如表 1 所示。 表 1 BFC 與 FC 在錄取分數爬取任務中表現對比 FC BFC Precision 0.62 0.35 Recall 0.16 0.62 F1 0.25 0.45 由表 1 可以看到,BFC 的準確率(Precision)比傳統方法 FC 低很多,其原因是 FC 爬取頁面數量較少,以極低的召回 率(Recall)為代價獲得了較高準確率。然而,在爬蟲實際 使用過程中,召回率更為重要,因為要盡可能全面地收集 所需信息,而在自動篩選環節一旦遺漏相關信息,就很難 再找到目標網頁。在召回率方面,BFC 的表現遠好于 FC。 綜合準確率和召回率的指標 F1-Score 也顯示 BFC 的性能 優于 FC。 爬取部分結果如
圖 3 所示。圖中 name 列輸出爬取站 點,url 列輸出任務相關頁面網址,path 列輸出從網站根節 點到頁面的路徑,score是該頁面相關性得分
參考文獻:
[1] DISHENG Q,LUCIANO B,XIN L,et al. Dexter:large-scale discov? ery and extraction of product specifications on the web[C]. Proceed? ings of the VLDB Endowment,2015:2194-2205.
[2] XUEZHI W,CONG Y,SIMON B,et al. Relevant document discovery for fact-checking articles[C]. In Companion Proceedings of the Web Conference,2018:525-533.
[3] KARANE V,LUCIANO B,ALTIGRAN S D S,et al. Finding seeds to bootstrap focused crawlers[C]. In The World Wide Web Confer? ence,2016:449-474.
[4] LUCIANO B,SRINIVAS B,VIVEK K R S. Crawling back and forth: using back and out links to locate bilingual sites[C]. In Proceedings of 5th International Joint Conference on Natural Language Processing, 2011:429-437.
[5] TSUYOSHI M. Finding related web pages based on connectivity infor? mation from a search engine[C]. In WWW Posters,2001.
[6] LUCIANO B. Harvesting forum pages from seed sites[C]. In Interna? tional Conference on Web Engineering,2017:457-468.
[7] MCCALLUM A,NIGAM K,RENNIE J,et al. A machine learning ap? proach to building domain-specific search engines[C]. Proceedings of the Sixteenth International Joint Conference on Artificial Intelli? gence,1999:662-667.
[8] MICHAEL H,MICHAL J,YOELLE S M,et al. The shark-search al? gorithm. An application:tailored Web site mapping[J]. Computer Networks & Isdn Systems,1998,30(1-7):317-326. [9] BERGMARK D,LAGOZE C,SBITYAKOV A. Focused crawls,tun? neling,and digital libraries [C]. Proceedings of the 6th European Conference on Research and Advanced Technology for Digital Librar? ies,2002. [10] MARISTELLA A,COSTANTINO T. Research and Advanced Tech? nology of digital libraries[M]. Springer Berlin Heidelberg,2002: 91-106.
[11] 葉勤勇. 基于 URL 規則的聚焦爬蟲及其應用[D]. 杭州:浙江大 學,2007
[12] BRA P M E D,POST R D J. Information retrieval in the World-Wide Web:making client-based searching feasible[J]. Computer Net? works & Isdn Systems,1994,27(2):183-192.
[13] KIEN P,AECIO S,JULIANA F. Bootstrapping domain-specifific con? tent discovery on the Web[C]. In The World Wide Web Conference, 2019:1476-1486.
[14] 傅向華,馮博琴,馬兆豐,等. 可在線增量自學習的聚焦爬行方法 [J]. 西安交通大學學報,2004,38(6):599-602.
[15] 劉國靖,康麗,羅長壽. 基于遺傳算法的主題爬蟲策略[J]. 計算機 應用,2007,27(12):172-174.
[16] 曾廣樸,范會聯. 基于遺傳算法的聚焦爬蟲搜索策略[J]. 計算機 工程,2010,36(11):167-169.
[17] 童亞拉. 自適應動態演化粒子群算法在 Web 主題信息搜索中的應 用[J]. 武漢大學學報(信息科學版),2008,33(12):1296-1299.
[18] 賀晟,程家興,蔡欣寶. 基于模擬退火算法的主題爬蟲[J]. 計算機 技術與發展,2009,19(12):55-58.
[19] 宋海洋,劉曉然,錢???/span>. 一種新的主題網絡爬蟲爬行策略[J]. 計 算機應用與軟件,2011,28(11):264-267.
[20] 謝志妮. 一種新的基于概念樹的主題網絡爬蟲方法[J]. 計算機與 現代化,2010,176(4):103-106.
[21] 左薇,張熹,董紅娟,等. 主題網絡爬蟲研究綜述[J]. 軟件導刊, 2020,19(2):278-281.
[22] 韓 瑞 昕. 基 于 時 效 性 的 爬 蟲 調 度[J]. 軟 件 導 刊 ,2020,19(1): 108-112.
|轉載請注明來源地址:蜘蛛池出租 http://m.gzxyxkj.cn/專注于SEO培訓,快速排名黑帽SEO https://www.heimao.wiki
評論列表