郭頌,邊偉,劉洋,胡鈦
(1.中國(guó)科學(xué)院國(guó)家空間科學(xué)中心北京100190;2.中國(guó)科學(xué)院大學(xué)北京100149)
基于SVM主題爬蟲的航天情報(bào)采集應(yīng)用研究
郭頌1,2,邊偉1,劉洋1,2,胡鈦1
(1.中國(guó)科學(xué)院國(guó)家空間科學(xué)中心北京100190;2.中國(guó)科學(xué)院大學(xué)北京100149)
為了準(zhǔn)確高效采集航天領(lǐng)域內(nèi)的競(jìng)爭(zhēng)情報(bào),提出了基于SVM的主題爬蟲采集方法。設(shè)計(jì)了航天領(lǐng)域情報(bào)采集總體框架,采用支持向量機(jī)分類算法,利用適量已有航天情報(bào)信息,強(qiáng)化特定領(lǐng)域特征權(quán)重,訓(xùn)練航天領(lǐng)域主題分類模型,使用該模型對(duì)網(wǎng)頁(yè)信息進(jìn)行主題判定后獲取航天領(lǐng)域情報(bào)信息。實(shí)驗(yàn)表明,該方法能夠有效且高效地采集航天領(lǐng)域內(nèi)的競(jìng)爭(zhēng)情報(bào)。
支持向量機(jī);主題爬蟲;分類模型;航天情報(bào)采集
在技術(shù)知識(shí)密集型的航天領(lǐng)域內(nèi),從業(yè)企業(yè)及科研機(jī)構(gòu)在自身發(fā)展的同時(shí),對(duì)行業(yè)科技情報(bào)有著強(qiáng)烈的需求,并且需求數(shù)量大、專業(yè)性強(qiáng)、新穎及時(shí)、完整準(zhǔn)確。互聯(lián)網(wǎng)作為一個(gè)巨大的信息庫(kù),富含可挖掘的潛在航天領(lǐng)域情報(bào)信息,但網(wǎng)絡(luò)信息資源龐雜、異構(gòu)多變,特定信息獲取困難[1],傳統(tǒng)方法收集競(jìng)爭(zhēng)情報(bào)不能高效滿足實(shí)際的需求。在這種背景下,引入主題爬蟲技術(shù),應(yīng)用基于支持向量機(jī)(Support Vector Machine,SVM)的主題分類策略,對(duì)航天領(lǐng)域情報(bào)采集進(jìn)行應(yīng)用研究。
主題爬蟲(Focused Crawler),按照一定策略,配合行業(yè)專有詞匯、特定需求建立主題模型,自動(dòng)抓取網(wǎng)頁(yè)信息,常用于針對(duì)行業(yè)競(jìng)爭(zhēng)情報(bào)的采集。主題爬蟲最早由Chakrabarti[2]等人提出,隨著主題爬蟲技術(shù)的研究發(fā)展,目前已成為面向領(lǐng)域的開(kāi)源信息分析和垂直搜索引擎信息采集的核心技術(shù)[3]。主題爬蟲的核心部分主要包含爬行策略和主題相關(guān)度過(guò)濾算法:爬行策略決定URL的爬行順序,高效采集頁(yè)面信息,主要分為基于內(nèi)容評(píng)價(jià)和基于鏈接關(guān)系等相關(guān)技術(shù),不在本文研究范圍內(nèi);主題相關(guān)度過(guò)濾算法判定頁(yè)面內(nèi)容是否為所需主題相關(guān),主要包含基于關(guān)鍵詞匹配、基于知識(shí)本體、基于主題模型和基于分類器等技術(shù),作用于錨文本或者網(wǎng)頁(yè)內(nèi)容進(jìn)行主題相關(guān)度判定,其中基于SVM分類器的算法由于效果優(yōu)良、易于實(shí)現(xiàn)等特點(diǎn),被廣泛采用。Johnson等[4]最早在理論上探索用SVM算法監(jiān)督指導(dǎo)主題爬蟲,并進(jìn)行了相關(guān)實(shí)驗(yàn);祝宇等[5]將通過(guò)SVM分類器對(duì)爬行的網(wǎng)頁(yè)進(jìn)行打分,用于指導(dǎo)主題爬蟲采集化學(xué)相關(guān)主題網(wǎng)頁(yè);吳世杰[6]設(shè)計(jì)了基于支持向量機(jī)分類算法的主題爬蟲系統(tǒng)Percaspider,取得了不錯(cuò)的效果。
近年來(lái),才開(kāi)始有了極少數(shù)針對(duì)航天領(lǐng)域情報(bào)采集的Web挖掘技術(shù)的應(yīng)用研究。北京航天長(zhǎng)征科技信息研究所的曹志杰[1]分析了航天領(lǐng)域互聯(lián)網(wǎng)信息獲取需求,論證了將基于主題的Web挖掘技術(shù)應(yīng)用于航天情報(bào)跟蹤的可行性,初步設(shè)計(jì)了跟蹤系統(tǒng)模塊,但并沒(méi)有在具體系統(tǒng)模塊譬如爬行策略或者頁(yè)面主題相關(guān)性判定方面進(jìn)行深入研究。
文中將設(shè)計(jì)航天領(lǐng)域情報(bào)采集總體流程框架,著重引入SVM算法構(gòu)建主題分類模型。
根據(jù)航天領(lǐng)域的情報(bào)采集需求,本文設(shè)計(jì)的主題爬蟲采集模型框架如圖1所示:
圖1 情報(bào)采集模型框架
主題爬蟲采集模型主要流程如下:
1)選擇航天領(lǐng)域內(nèi)相關(guān)門戶網(wǎng)站專題頁(yè)面以及企業(yè)和科研機(jī)構(gòu)的網(wǎng)站頁(yè)面作為初始URL種子,添加到URL庫(kù)中。
2)URL管理器通過(guò)一定策略向爬蟲采集器提供URL,具體策略有很多種,本文采用一種基于Best-First Search的優(yōu)先級(jí)隊(duì)列方式。
3)爬蟲采集模塊獲取URL后,根據(jù)HTTP等網(wǎng)絡(luò)協(xié)議解析對(duì)應(yīng)網(wǎng)頁(yè),并下載HTML頁(yè)面。
4)對(duì)下載的每個(gè)HTML頁(yè)面內(nèi)容進(jìn)行抽取,提取出里面的URL添加到URL庫(kù)中,以便后續(xù)持續(xù)不斷獲取新頁(yè)面;過(guò)濾雜亂信息,識(shí)別并提取HTML頁(yè)面中文章的實(shí)際正文內(nèi)容。
5)利用訓(xùn)練好的SVM分類模型對(duì)正文內(nèi)容進(jìn)行主題分類預(yù)測(cè),判定該網(wǎng)頁(yè)所含內(nèi)容是否是航天領(lǐng)域相關(guān)的情報(bào)信息,若是則將內(nèi)容和對(duì)應(yīng)URL添加到情報(bào)庫(kù)中。該模型的構(gòu)建在下一節(jié)進(jìn)行詳細(xì)介紹。
航天情報(bào)主題爬蟲的核心之一在于能否準(zhǔn)確地判斷網(wǎng)頁(yè)是否為航天領(lǐng)域主題相關(guān)的,本文采用基于分類器的主題相關(guān)度評(píng)估策略,將網(wǎng)頁(yè)主題判定問(wèn)題轉(zhuǎn)換為一個(gè)二類分類問(wèn)題,即航天領(lǐng)域情報(bào)和其他信息。
分類算法有很多種,文中采用的是基于SVM算法的文本分類來(lái)構(gòu)建爬蟲主題分類模型,通過(guò)SVM算法對(duì)網(wǎng)頁(yè)正文文本內(nèi)容進(jìn)行建模,不涉及網(wǎng)頁(yè)鏈接和圖片、音頻、視頻等多媒體信息。
最早由Vapnik[7]提出的支持向量機(jī),基于小樣本學(xué)習(xí)、結(jié)構(gòu)風(fēng)險(xiǎn)最小化等統(tǒng)計(jì)學(xué)習(xí)理論,被公認(rèn)為是性能優(yōu)良、推廣性能好的分類算法之一,是當(dāng)下流行的一種典型的有監(jiān)督的機(jī)器學(xué)習(xí)算法。
2.1SVM分類流程框架
基于SVM算法訓(xùn)練主題分類模型并進(jìn)行網(wǎng)頁(yè)文本分類預(yù)測(cè)的總體流程框架如圖2所示。
圖2SVM文本分類流程
2.2文本預(yù)處理
首先,對(duì)已收集的航天情報(bào)文本信息集合和其他非航天領(lǐng)域內(nèi)的文本信息集合進(jìn)行類別標(biāo)注,將打亂順序后的語(yǔ)料樣本集合按照適當(dāng)比例分成訓(xùn)練集和測(cè)試集,用于后面的SVM分類器的訓(xùn)練和調(diào)優(yōu)。
然后,引入ICTCLAS對(duì)所有文本進(jìn)行中文分詞,使得文本從字序列集合轉(zhuǎn)換為詞語(yǔ)序列集合,進(jìn)而為后續(xù)的處理提供基礎(chǔ)。考慮領(lǐng)域文檔的特點(diǎn),根據(jù)航天實(shí)際工程項(xiàng)目、科學(xué)研究中涉及的領(lǐng)域,加上相對(duì)豐富的專業(yè)領(lǐng)域用戶詞庫(kù),使得分詞效果大幅提升,也為后續(xù)其他處理提供了保障。
分詞完成后,對(duì)文本進(jìn)行清洗數(shù)據(jù)、去除噪聲,適當(dāng)刪除文本中出現(xiàn)的不包含有用信息的停用詞和特殊字符、標(biāo)點(diǎn)符號(hào)等,以提高計(jì)算效率和分類效果。
2.3文本表示與特征選擇
文中采用當(dāng)前文本分類領(lǐng)域最常采用的文本表示模型,即向量空間模型(Vector Space Model),用于將非結(jié)構(gòu)化的文本轉(zhuǎn)化成SVM算法所能識(shí)別和處理的形式。
構(gòu)建向量空間模型主要有以下幾步:
1)首先需要進(jìn)行特征選擇,本文選擇將語(yǔ)料訓(xùn)練集Ω分詞和去噪后出現(xiàn)的所有詞條,構(gòu)建特征集{t1,t2,…,tn},n表示訓(xùn)練集中出現(xiàn)的特征數(shù)量。
2)對(duì)每篇文檔xi(1≤i≤N)出現(xiàn)的每個(gè)特征tj(1≤j≤n)進(jìn)行權(quán)重評(píng)估,評(píng)估方法有很多種,譬如信息熵、互信息、信息增益、tfidf等,本文權(quán)重計(jì)算方法采用簡(jiǎn)便高效的TFIDF[8]方法:
其中,tfij表示特征詞條tj在文檔xi中出現(xiàn)的頻率;idf表示該詞條tj的反轉(zhuǎn)頻率,N是訓(xùn)練集文檔總數(shù)目,表示訓(xùn)練集合Ω中包含詞條tj的文檔數(shù)量。
在這個(gè)階段,對(duì)出現(xiàn)在航天領(lǐng)域?qū)I(yè)詞庫(kù)Φ里的特征詞條tj,加大其權(quán)重,此處我們選擇原權(quán)重值加上一個(gè)常數(shù),權(quán)重修正為:
3)用特征集構(gòu)建一個(gè)n維的向量空間,包含N個(gè)向量,每篇文檔xi(1≤i≤N)被表示成為Rn中一個(gè)n維向量xi=(wi1,wi2,…,win)。
2.4分類模型訓(xùn)練與優(yōu)化
SVM的思想是尋找最優(yōu)的超平面,將兩類樣本正確的分開(kāi)同時(shí),盡量使分類間隔最大。分類間隔是指兩類中離分類超平面最近的樣本且平行于分類超平面的兩個(gè)超平面間的距離。
對(duì)標(biāo)注后的訓(xùn)練樣本集:
在線性可分條件下存在一個(gè)超平面
通過(guò)拉格朗日二次規(guī)劃求解最優(yōu)超平面相關(guān)參數(shù),參數(shù)優(yōu)化過(guò)程此處不再詳解,最終得分類模型:
其中k()為核函數(shù),用于將低維向量映射到高維,解決使線性不可分問(wèn)題,ω*、b*為最優(yōu)解,a*i為拉格朗日乘子。核函數(shù)根據(jù)不同情況由很多種選擇,如徑向基、多項(xiàng)式、線性核函數(shù)等等,由于我們并沒(méi)有對(duì)特征進(jìn)行降維,為加快訓(xùn)練速度,我們直接使用內(nèi)積形式的線性核函數(shù):
以標(biāo)注后的向量空間模型D為輸入訓(xùn)練SVM模型,并通過(guò)Grid search進(jìn)行并行訓(xùn)練,優(yōu)化相關(guān)參數(shù),訓(xùn)練出最佳主題分類器,將分類器模型序列化為文件的形式保存,以便爬蟲調(diào)用分類模型時(shí)直接讀取模型文件。
2.5網(wǎng)頁(yè)主題預(yù)測(cè)
對(duì)抓取到的網(wǎng)頁(yè)進(jìn)行主題預(yù)測(cè)時(shí),將未分類的網(wǎng)頁(yè)進(jìn)行正文抽取后,按與訓(xùn)練集相同的方式進(jìn)行預(yù)處理并映射到同樣的特征向量空間模型中,通過(guò)訓(xùn)練好的SVM分類器進(jìn)行分類,得到主題判定結(jié)果。
開(kāi)發(fā)環(huán)境:CPU Intel Core i3 2.13GHz,內(nèi)存6G,Windows 7 64 bit,語(yǔ)言Python。
我們選取中國(guó)航天科技集團(tuán)公司(http://www.spacechina.com/)、中國(guó)航天科技信息網(wǎng)(http://www.space.cetin.net.cn/)、中國(guó)網(wǎng)航天報(bào)道(http://news.china.com.cn/space/node_7152433.htm)、人民網(wǎng)航天瞭望站(http://scitech.people.com.cn/space/)等富含航天領(lǐng)域各類信息的企業(yè)網(wǎng)站、門戶專題頁(yè)等作為種子URL,以航天各型號(hào)工程項(xiàng)目為主題訓(xùn)練主題分類模型,并與基于樸素貝葉斯和純關(guān)鍵詞匹配進(jìn)行網(wǎng)頁(yè)主題過(guò)濾的方法,進(jìn)行情報(bào)收集對(duì)比實(shí)驗(yàn)。
SVM主題分類模型訓(xùn)練時(shí),選取預(yù)先手工收集的航天型號(hào)工程項(xiàng)目語(yǔ)料500篇,其他文檔500篇,共1000篇文檔,各隨機(jī)抽取150篇共300篇作為測(cè)試集,其余為訓(xùn)練集。
對(duì)于主題分類模型算法的評(píng)估主要考察算法的查準(zhǔn)率precision和召回率recall以及F1-Score三個(gè)指標(biāo)。查準(zhǔn)率是指正確分類到該類文檔的數(shù)量與所有劃分到該類的文檔數(shù)量之比;查全率是指正確分類到某類文檔的數(shù)量與該類所有文檔的數(shù)量之比;F1-Score是Precision和Recall加權(quán)調(diào)和平均。
文中采用的SVM與樸素貝葉斯方法和關(guān)鍵詞匹配方法進(jìn)行了分類對(duì)比測(cè)試,由表1結(jié)果可見(jiàn),兩種機(jī)器學(xué)習(xí)分類模型F1-score均可達(dá)到90%以上,說(shuō)明其對(duì)航天語(yǔ)料信息的辨別效果明顯,而基于關(guān)鍵詞匹配的分類方法效果較差。其中本文使用的SVM算法將航天情報(bào)從文本集中判定出來(lái)的準(zhǔn)確率達(dá)98%,F(xiàn)1-score達(dá)97.6%,歸因于本文對(duì)航天領(lǐng)域特征的強(qiáng)調(diào),使得其配合SVM算法對(duì)航天領(lǐng)域文本有很好的區(qū)分度,因此該方法可以很好地對(duì)頁(yè)面的主題相關(guān)性進(jìn)行分類預(yù)測(cè)。
表1 分類模型測(cè)試結(jié)果
主題爬蟲的評(píng)價(jià)指標(biāo)用收獲率來(lái)衡量,收獲率是指與主題相關(guān)的已爬取網(wǎng)頁(yè)數(shù)量與已爬取的網(wǎng)頁(yè)總數(shù)之比,收獲率越高,主題爬蟲的情報(bào)主題過(guò)濾性能越好。
收獲率對(duì)比結(jié)果如圖3所示,可以看出基于SVM的主題判定方法能夠一直保持較高的收獲率,確保所采集的信息是航天領(lǐng)域相關(guān)的,干擾信息少;而隨著爬取數(shù)量的增多,獲取率開(kāi)始降低,原因是所采用的訓(xùn)練模型基于小量樣本,特征集合無(wú)法全面覆蓋網(wǎng)上新增的航天領(lǐng)域特征詞匯,使得模型分類效果下降?;跇闼刎惾~斯的方法遜于SVM,而基于關(guān)鍵詞匹配的方法主題判定效果本身很差,且隨著爬取頁(yè)面數(shù)量的增加收獲率更低,使得非航天主題信息增多,不能滿足航天情報(bào)獲取的需求。
圖3 主題爬蟲網(wǎng)頁(yè)收獲率結(jié)果
爬取速度也是評(píng)價(jià)爬蟲的一個(gè)指標(biāo),用于驗(yàn)證爬蟲獲取信息的高效性。實(shí)驗(yàn)結(jié)果如圖4所示,可見(jiàn)基于SVM的主題爬蟲要慢于基于樸素貝葉斯和關(guān)鍵詞匹配的主題爬蟲,原因是SVM每次要對(duì)網(wǎng)頁(yè)正文進(jìn)行分詞、去噪并映射到向量空間模型等預(yù)處理,消耗了一定時(shí)間,但相對(duì)傳統(tǒng)方法篩選信息的方式仍然比較高效。
圖4 主題爬蟲爬取速度結(jié)果
文中采用支持向量機(jī)分類算法,通過(guò)強(qiáng)化航天領(lǐng)域特征權(quán)重,訓(xùn)練適用于航天領(lǐng)域的主題分類模型,通過(guò)所設(shè)計(jì)的爬蟲總體框架,將基于SVM的主題爬蟲應(yīng)用于航天領(lǐng)域情報(bào)采集中,利用SVM主題分類模型對(duì)網(wǎng)頁(yè)信息進(jìn)行主題判定后,能較準(zhǔn)確地獲取航天領(lǐng)域情報(bào)信息。經(jīng)過(guò)實(shí)驗(yàn),主題分類模型能夠達(dá)到很好的主題判定效果,爬蟲總體框架能夠有效且高效地采集航天領(lǐng)域內(nèi)的競(jìng)爭(zhēng)情報(bào)信息。
[1]曹志杰.基于主題的Web挖掘技術(shù)在航天情報(bào)跟蹤中的應(yīng)用研究[J].情報(bào)科學(xué),2009(5):774-777.
[2]CHAKRABARTI S,VAN DEN BERG M,DOM B.Focused crawling:a new approach to topic-specific Web resource discovery[J].Computer Networks,1999,31(11):1623-40.
[3]田雪筠.網(wǎng)絡(luò)競(jìng)爭(zhēng)情報(bào)主題采集技術(shù)研究[J].圖書與情報(bào),2014(5):132-137.
[4]JOHNSON J,TSIOUTSIOULIKLIS K,GILES C L.Evolving strategies for focused web crawling[C].proceedings of the ICML,F(xiàn),2003.
[5]祝宇,夏詔杰,聶峰光,et al.支持向量機(jī)在化學(xué)主題爬蟲中的應(yīng)用[J].計(jì)算機(jī)與應(yīng)用化學(xué),2006(4):329-332.
[6]吳世杰.基于支持向量機(jī)分類算法的主題爬蟲的研究與實(shí)現(xiàn)[D].武漢:華中師范大學(xué),2009.
[7]VapnikV N,VapnikV.Statistical learning theory[M].Wiley New York,1998.
[8]Salton G,Buckley C.Term-weighting approaches in automatictextretrieval[J].Informationprocessing& management,1988,24(5):513-523.
Research on the application of SVM-based focused crawler for space intelligence collection
GUO Song1,2,BIAN Wei1,LIU Yang1,2,HU Tai1
(1.National Space Science Center,Chinese Academy of Sciences,Beijing 100190,China;2.University of Chinese Academy of Sciences,Beijing 100149,China)
In order to collect the competitive intelligence,the intelligence collection method of SVM-based focused crawler is proposed.A general framework of space intelligence collection is designed.And a topic classification model of space field is trained by adopting the support vector machine classification method,using some existing aerospace intelligence and strengthening the weights of specific field features.The topic classification model is used to predict whether the topic of web contents are the space intelligences.The experiment shows that this method is of good efficiency and validity for space intelligence collection.
support vector machine;focused crawler;classification model;space intelligence collection
TN91
A
1674-6236(2016)17-0028-03
2015-09-15稿件編號(hào):201509098
郭頌(1991—),男,山東青島人,碩士研究生。研究方向:文本挖掘。