国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于LDA擴展主題詞庫的主題爬蟲研究

2018-05-03 06:07:16費晨杰劉柏嵩
計算機應用與軟件 2018年4期
關鍵詞:爬蟲語料網(wǎng)頁

費晨杰 劉柏嵩

(寧波大學信息科學與工程學院 浙江 寧波 315211)

0 引 言

主題爬蟲是一種面向特定主題,按照一定規(guī)則自動爬取網(wǎng)頁信息的網(wǎng)絡爬蟲[1]。相比于通用網(wǎng)絡爬蟲,主題爬蟲目的在于抓取與特定主題內(nèi)容相關的網(wǎng)頁信息。通過計算網(wǎng)頁與主題的相關程度來判斷是否抓取該網(wǎng)頁,并且維護一個待爬取URL隊列,根據(jù)URL的與主題相關程度進行排序,以保證相關度高的頁面優(yōu)先被訪問。

主題爬蟲面臨兩個核心問題:主題的描述、主題相似度計算。主題的描述,指用戶對所要爬取主題的描述,主題描述的好壞,往往決定了爬取結(jié)果的質(zhì)量。主題描述太過寬泛,則主題爬蟲過程難以收斂,所爬取的網(wǎng)頁范圍將過大。反之,如果主題描述得過于片面,則將遺漏很多有用信息[2]。通常主題描述的方法有兩種,一種是專家確定關鍵詞集,另一種是通過初始頁面提取特征詞集[3],當前學者在此基礎上提出了新的方法。李東暉等[4]通過一種無監(jiān)督的學習技術(shù)不斷擴展主題描述,能讓爬蟲從一個簡單的初始主題開始不斷積累主題知識,最終能夠以較高正確率爬取網(wǎng)頁。吳岳廷等[5]將網(wǎng)頁抽象為一組標簽塊節(jié)點,通過主題特征庫擴展算法擴展靜態(tài)特征項,生成擴展主題特征庫,有效提高爬取精度。以上這些方法一定程度地提高了主題描述的覆蓋率,但缺乏主題描述的顆粒度,往往定義或擴展的主題包含有與主題并不相關的詞,對主題描述的精準性和主題爬蟲的抓取質(zhì)量都有負面影響。

另一個主題爬蟲核心問題:主題相似度計算。根據(jù)既定的主題判斷當前網(wǎng)頁和該網(wǎng)頁中URL保留與否的算法。有兩處需要進行主題相似度計算,一是對當前爬取頁面正文內(nèi)容,二是對頁面包含的相關URL。根據(jù)網(wǎng)頁結(jié)構(gòu)、內(nèi)容,預測當前頁面是否與主題相關,Guo等[6]提出基于SVM分類的主題爬蟲技術(shù),通過訓練SVM分類器有效預測基于文字內(nèi)容和部分鏈接信息的主題相關度。Du等[7]采用將向量空間模型和語義相似度模型相結(jié)合的方法,改進主題相似度計算并取得了很好的效果。由此可知,在主題描述盡可能完善的基礎上,提高爬蟲的主題相似計算是提高爬蟲精準度的核心因素。

針對主題爬蟲主題覆蓋率不足和主題相似度計算準確度偏低,本文提出一種基于LDA[8](Latent Dirichlet Allocation)擴展更新主題詞庫的主題爬蟲LETT-Crawler(Crawler based on LDA extended topic terms)。主要的貢獻點:1) 將LDA主題模型運用于擴展主題描述,利用每次爬取結(jié)果作為訓練語料,充分挖掘語料的潛在語義信息,定義覆蓋率和顆粒度良好的主題。2) 將word2vec[9]詞向量表示引入主題相似度計算,擴展了爬取范圍同時也提升了語義相似度計算的準確度。

本文重點研究如何通過用戶給定的初始關鍵詞或種子URL,在主題描述不充分的情況下,通過主題爬蟲自身主題相關資源收集的功能,不斷擴充語料,利用LDA主題模型訓練不斷完善擴展更新主題描述以求全面、準確獲取用戶想要的內(nèi)容。在此基礎上引入語義相似度計算,充分利用網(wǎng)頁中短文本,指導主題爬蟲在提升準確度和擴大爬取范圍的同時盡可能提高爬取的效率。

1 LDA主題模型

LDA主題模型是自然語言處理中主題挖掘的典型模型,可以從語料中抽取潛在主題,提供一個量化研究主題的方法,已經(jīng)被廣泛地應用到信息的主題發(fā)現(xiàn)中,如研究熱點挖掘、研究主題演化、研究趨勢預測等。

定義1(LDA主題表示模型)主題是由一組語義上相關的詞及表示該詞與主題相關的權(quán)重來表示。在LDA中表示為:

Z={(w1,p(w1|zj)),(w2,p(w2|zj)),…,(wn,p(wn|zj))}

(1)

式中:wi∈W,p(wi|zj)為主題為zj時選擇詞為wi的概率,zj為第j個主題。

如圖1所示,LDA主題模型是一個有向圖。M表示文檔集總數(shù),N表示任意文檔長度,K表示主題數(shù),其中,α的值表示各個主題在取樣之前的權(quán)重分布,β的值表示各個主題對詞的先驗分布,θ表示文檔主題的概率分布。

圖1 LDA主題模型表示

LDA主題模型文檔的生成過程可以看作模型的一種概率取樣的過程,該模型描述了文檔的生成過程,有以下步驟[10]:

1) 對文檔集中的任一文檔d,生成文檔長度N,N~Poisson(ε),服從泊松分布。

2) 對文檔集中的文檔d,生成一個θ~Dirichlet(α) ,服從狄利克雷分布。

3) 考慮文檔d中的第i個詞wi的生成:

(1) 生成一個主題zj~Multinomial(θ),服從多項式分布。

(2) 對主題zj,生成一個離散變量φz~Dirichlet(β),服從狄利克雷分布。

(3) 生成使得P(wi|φz)概率最大的一個詞。

2 基于word2vec主題相似度計算

主題相似度計算就是頁面內(nèi)容與主題相關性判定過程,頁面經(jīng)過分析后得到標題、頁面內(nèi)容描述和正文等頁面信息,這些信息進行分詞及特征詞提取,運用TF-IDF算法得到詞的權(quán)重分布,再利用相似度計算模型來求得頁面與主題的相似度。本文提出一種基于word2vec詞向量表示的改進相似度計算模型,對已爬取的頁面進行主題相似度評價,與主題文檔進行相似度計算。

2.1 word2vec詞向量表示

借鑒Bengio等[11]提出的NNLM(Neural Network Lanuage Model)[12]以及Hinton_Linear模型,Mikolov等[9]提出了word2vec語言模型。word2vec可以快速有效地訓練詞向量。word2vec模型有兩種,分別是CBOW(Continuous Bag-of-words)模型(圖2),以及Skip-Gram(圖3)模型。兩個模型都包含三層:輸入層、投影層和輸出層。前者在已知詞wt的上下文wt-2,wt-1,wt+1,wt+2的前提下預測當前詞wt;而后者恰恰相反,是在已知詞wt的基礎上,預測其上下文wt-2,wt-1,wt+1,wt+2。

圖2 CBOW模型 圖3 Skip-Gram模型

當訓練完成時,即可求出所有詞的詞向量w。Google開源word2vec官網(wǎng)給出的例子w(′king′)-w(′man′)+w(′woman′)≈w(′queen′),很好地說明了word2vec的詞向量表示非常有利于表達詞的語義特征。在中文文本中同樣適用,經(jīng)分詞預處理后訓練得到的模型可以進行類似計算。

例如,狗={0.234 2,-1.253 2,-2.821,…},貓={0.345,-3.222,-0.333 2,…},得到分布式的詞向量表示。因此計算兩個詞w1、w2的相似度,直接進行在word2vec向量化表示之后用向量距離公式運算即可。

2.2 融合LDA和word2vec的主題相似度計算

主題文檔和網(wǎng)頁特征詞文檔之后,需要通過相似度計算來衡量兩者的相關程度,傳統(tǒng)的基于VSM(向量空間模型)通過兩者共有詞的詞頻來求得相似度值,往往會忽視近義詞、同義詞等詞語語義上的因素。有學者提出的GVSM[13](廣義向量空間模型),通過引入WordNet[14]、《知網(wǎng)》[15]等語義知識詞典,一定程度上提高了語義上的相似度,但對于一些新詞、地名等不包含在詞典中的詞語,需要人工添加才能計算詞語相似度值,代價比較大。所以本文提出一種基于word2vec的改進相似度計算模型,運用word2vec在詞向量表示方面的優(yōu)秀特性,并能隨著語料的擴展不斷新增詞匯完善。

由word2vec詞向量化表示的良好語義特性,計算文檔間的相似度,可以通過詞語之間兩兩語義相似度來得到。相似度計算由LDA擴展后的主題詞庫與爬取時頁面特征詞文檔之間的相似度,采用兩者的余弦相似度,并融合word2vec的語義相關性,公式如下:

(2)

Sim(d,t)為主題文檔t與文檔d之間的相似度值,p(wti|z)由LDA主題模型訓練得到,為主題文檔t中第i個詞屬于主題z的概率值,wdj為文檔d中第j個詞tf-idf值,Semij即主題文檔t中第i個詞與文檔d中第j個詞的詞語語義相似度,由兩個詞的word2vec向量距離得到,計算如表1所示。

表1 文檔間詞語相似度計算

3 基于融合相似度計算的URL優(yōu)先排序

考慮到URL鏈接與當前頁面內(nèi)容存在一定相關性,即如果當前頁面與主題的相似度很高,那么所在頁面的URL與主題相似度值也會相應較高。另一個可以利用的因素是錨文本,即描述URL的文本內(nèi)容,例如帶超鏈接的標題等網(wǎng)頁鏈接文字,但其一般較為簡短,分詞提取特征詞后往往只有2~3個關鍵詞,給主題判斷帶很大難度。而本文采用的相似度計算可以做語義擴展,即通過融合word2vec向量表示的相似度計算能夠有效獲得短文本語義上的權(quán)重,相對于空間向量模型基于共現(xiàn)詞頻率有較大提升,有效利用錨文本作為URL優(yōu)先排序的一個指標。本文采用的是以下公式對URL進行排序:

priority(h)=λ·Sim(fp,t)+(1-λ)·Sim(ah,t)

(3)

式中:priority(h)為未訪問的超鏈接h的優(yōu)先值,Sim(fp,t)為網(wǎng)頁p(包含超鏈接h)全文的主題相似度,Sim(ah,t)為超鏈接h的錨文本的主題相似度,λ為調(diào)節(jié)全文與錨文本的權(quán)重值,Sim(a,b)即為前文中提及的融合LDA和word2vec的主題相似度計算,不僅運用在頁面相似度計算中,同樣改進了URL優(yōu)先級排序。

通過剔除相似度小于設定閾值的頁面, 提高所采集到的頁面的準確率。閾值的設定一般根據(jù)實際需求,越高則爬取的準確度越高,相應的爬取范圍會縮小,根據(jù)經(jīng)驗本文設定的閾值為0.2,即主題相似度低于20%的頁面和URL被淘汰。

4 基于LDA擴展更新的主題爬蟲框架

LETT-Crawler運用LDA主題模型完善主題爬蟲的主題描述。同時通過運用word2vec詞向量表示計算詞語的語義相似度值,改進爬蟲相似度計算模塊,共同作用于爬取頁面的主題判斷和爬取URL隊列的優(yōu)先級排序,整體框架如圖4所示。

圖4 基于LDA擴展主題詞庫的主題爬蟲框架

其基本思路是:每爬取一定數(shù)量的網(wǎng)頁,將這些新增的網(wǎng)頁提取正文或摘要作為LDA新的訓練語料,并結(jié)合原有的語料庫,經(jīng)LDA訓練得到新的主題文檔,用于覆蓋更新原有主題爬蟲的主題文檔。由于本身抓取的網(wǎng)頁內(nèi)容帶有主題偏向性,所以語料庫會整體呈現(xiàn)“偏”向某個主題的,訓練得到的主題文檔會比原先的主題在顆粒度和覆蓋率上更優(yōu)。

LDA主題詞擴展更新的具體步驟為:

1) 每爬取一定數(shù)量的網(wǎng)頁,執(zhí)行以下所有步驟。

2) 將新增的網(wǎng)頁正文或摘要預處理后與原有LDA訓練語料進行融合。

3) 對增量更新后的語料經(jīng)LDA訓練得到新的主題文檔。

4) 通過測試集,判斷是否更新。若不更新,回到步驟1);若更新繼續(xù)步驟5)和步驟6)。

5) 覆蓋更新主題爬蟲的主題模塊,用戶指定的關鍵詞或初始頁面提取的關鍵詞保持不變。

6) 更新主題后的主題爬蟲繼續(xù)爬取工作。

該框架為一個線上和線下相結(jié)合的模型,在主題爬蟲在線上爬取的同時,LDA在線下訓練新的主題模型。相對于線上爬取,LDA主題模型的訓練相對更耗時,將爬取一定數(shù)量的網(wǎng)頁內(nèi)容,提交到LDA模型訓練,每次主題爬蟲提交新增語料給LDA主題模型時,LDA開始對融合的語料進行訓練。同時主題爬蟲開始爬取下一輪的新增語料,當LDA訓練完成后替換更新原有主題爬蟲主題文檔,即完成一次對主題爬蟲主題詞庫的基于LDA的增量更新。對于word2vec,新增的語料同樣可以用于訓練模型,提供更完善的詞向量表示。

5 實 驗

驗證經(jīng)LDA主題模型訓練得到的結(jié)果擴展后給主題爬蟲在準確度和查全率上帶來的提高,和引入word2vec相似度計算后帶來的影響,評估LETT-Crawler的可行性和優(yōu)越性,實驗以真實數(shù)據(jù)為對象自建語料庫。

5.1 實驗設置

通過自編Java通用爬蟲爬取新聞作為LDA訓練語料,主要來自科學網(wǎng)、中國科技網(wǎng)、中國新聞網(wǎng)等,最終將抓取的六萬篇新聞正文作為LDA訓練集。

利用中文分詞器對訓練集實現(xiàn)中文分詞、去停留詞等自然語言規(guī)范化過程,獲得實驗用語料庫,基于開源包JGibbLDA實現(xiàn)LDA主題模型的訓練。在語料上進行對word2vec模型訓練,得到語料庫所有詞的word2vec向量化表示,為詞語的相似度計算提供準備;在語料上計算TF-IDF特征詞權(quán)重并保存,若爬行時出現(xiàn)已有特征詞,詞頻信息可直接查詢獲得,減小爬行時計算TF-IDF值的時間開銷。

對LDA主題模型參數(shù)設置:訓練過程采用Gibbs采樣,設置迭代次數(shù)1 000次,參數(shù)設置為經(jīng)驗值:主題數(shù)K=120,α=0.1,β=0.2。主題數(shù)確定如圖,采用F值[]作為衡量主題訓練的效果,F(xiàn)值是一種組合查準率和召回率的綜合指標。由圖5選定最優(yōu)主題數(shù)為120。

圖5 訓練LDA不同主題數(shù)的聚類效果

設定LDA更新頻率,當爬取累計2 000篇相關文獻時,LDA進行重新訓練,得到與當前主題最相近的主題文檔,用測試集進行判斷新主題文檔的F值是否優(yōu)于原主題文檔,再確定是否用于更新主題關鍵詞庫。

測試集2 365篇文檔,各主題相關文章數(shù),生物醫(yī)學422篇,智能技術(shù)376篇,航天航空330篇。用于測試更新后的主題。

5.2 實驗結(jié)果與分析

LDA訓練結(jié)果(見表2):由于時間和資源有限,選取3個較為區(qū)分度較高的主題作為實驗素材,考察實驗效果,分別定義為:生物醫(yī)學、智能技術(shù)、航天航空。訓練結(jié)果如表2所示,設定用戶初始給定關鍵詞分別為生物醫(yī)學、智能技術(shù)、航天航空。

表2 首次LDA訓練結(jié)果

實驗進行了5輪更新,得到更新后的主題文檔,通過統(tǒng)計對比了前后主題文檔中出現(xiàn)相同的詞,詞的主題概率平均提高了3.4%。圖6展示的是生物醫(yī)學主題前10個詞經(jīng)5輪更新后的詞概率變化,由于新增的語料中這些詞出現(xiàn)頻率增高,訓練得到的概率相應增加,對主題的描述更加完善。同樣對語料中出現(xiàn)較少的詞,詞概率也會降低。整體來說,主題詞概率是隨著新增主題相關語料而提升的。

圖6 生物醫(yī)學主題文檔詞概率變化圖

表3、表4結(jié)果表明由LDA訓練得到的主題文檔,經(jīng)過5輪更新后,在收獲率和精準度上優(yōu)于未擴展關鍵詞和頁面提取主題詞的方法。在此基礎上,通過對關鍵詞和頁面主題詞進行LDA主題詞庫擴充,實驗結(jié)果表明擴充之后,效果均好于原先的單一主題詞確定方案,證明了LDA擴展詞庫的可行性和有效性,并隨著主題更新的次數(shù)不斷增加,會有一定提升。

表3 查全率和查準率對比表 %

表4 F值對比表 %

圖7結(jié)果表明,相比于傳統(tǒng)VSM對文本進行相似度計算,基于word2vec的相似度算法通過詞語語義提高了文檔間的相似度值,在獲取率和精準度表現(xiàn)上也明顯較好。

圖7 與VSM查準率對比圖

RP表示判定相關頁數(shù),AC表示實際抓取頁面數(shù),P是準確率,R是召回率,F(xiàn)是綜合指標。爬取路徑范圍內(nèi)共有主題相關網(wǎng)頁數(shù)共約1 600。RP、AC、R用于衡量爬蟲的覆蓋范圍;P考察抓取網(wǎng)頁的準確度。由表5可知,在真實爬取環(huán)境中,本文提出的LETT-Crawler相對于KAG-Crawler[4]和ETFLCrawler[5]在覆蓋率和準確度方面均有不小的提升,較為成功地運用LDA主題模型和word2vec提升主題爬蟲性能,驗證了本文提出的改進方法和擴展更新的有效性。

表5 與其他擴展主題爬蟲對比

6 結(jié) 語

通過本論文的研究,充分說明提出的基于LDA擴展更新主題詞庫的可行性。通過主題爬蟲自生不斷在收集主題相關預料的基礎上,不斷完善主題描述。并在主題相似度運用基于word2vec的算法同樣顯示了其良好表現(xiàn),將以上兩個技術(shù)運用在主題爬蟲中,得到了很好的效果。結(jié)合到具體應用,將大大提高在從海量資源中獲取特定主題信息的質(zhì)量和效率。由于引入了語義計算,需要對兩篇文章中詞語兩兩計算語義相似度,帶來了不小的時間復雜度,下一步主要針對在算法的時間消耗上做一些改進。

[1] Nisha N,Rajeswari K.Study of Different Focused Web Crawler to Search Domain Specific Inasformation[J].International Journal of Computer Applications,2016,136(11):1-4.

[2] 肖馥莉.基于垂直搜索引擎的主題爬蟲技術(shù)[J].電子技術(shù)與軟件工程,2016(19):19-19.

[3] 于娟,劉強.主題網(wǎng)絡爬蟲研究綜述[J].計算機工程與科學,2015,37(2):231-237.

[4] 李東暉,廖曉蘭,范輔橋,等.一種主題知識自增長的聚焦網(wǎng)絡爬蟲[J].計算機應用與軟件,2014,31(5):29-33,88.

[5] 吳岳廷,李石君.基于擴展主題特征庫的領域主題爬蟲[J].計算機工程與設計,2015(5):1342-1347.

[6] Guo S,Bian W,Liu Y,et al.Research on the application of SVM-based focused crawler for space intelligence collection[J].Electronic Design Engineering,2016,24(17):28-30.

[7] Du Y,Liu W,Lv X,et al.An improved focused crawler based on Semantic Similarity Vector Space Model[J].Applied Soft Computing,2015,36(C):392-407.

[8] Blei D M,Ng A Y,Jordan M I.Latent dirichlet allocation[J].Journal of Machine Learning Research,2003,3:993-1022.

[9] Mikolov T,Chen K,Corrado G,et al.Efficient Estimation of Word Representations in Vector Space[J].eprint arXiv:1301.3781,2013.

[10] 張明慧,王紅玲,周國棟.基于LDA主題特征的自動文摘方法[J].計算機應用與軟件,2011,28(10):20-22.

[11] Bengio Y,Schwenk H,Senécal J,et al.Neural Probabilistic Language Models[J].Journal of Machine Learning Research,2006,3(6):1137-1155.

[12] Mnih A,Hinton G.Three new graphical models for statistical language modelling[C]//Machine Learning,Proceedings of the Twenty-Fourth International Conference.DBLP,2007:641-648.

[13] 鄭小波,鄭誠,尹莉莉.基于GVSM的文本相似度算法研究[J].微型機與應用,2011,30(3):9-11.

[14] Fellbaum C.WordNet[J].Theory & Applications of Ontology Computer Applications,2015:231-243.

[15] 劉群,李素建.基于《 知網(wǎng)》的詞匯語義相似度計算[J].中文計算語言學,2002.

[16] Ratna A,Divya D,Sawhney A.Focused Crawler based on Efficient Page Rank Algorithm[J].International Journal of Computer Applications,2015,116(7):37-40.

[17] Lu H,Zhan D,Zhou L,et al.An Improved Focused Crawler:Using Web Page Classification and Link Priority Evaluation[J].Mathematical Problems in Engineering,2016,2016(3):1-10.

[18] Dixit R,Gupta S,Singh Rathore R,et al.A Novel Approach to Priority based Focused Crawler[J].International Journal of Computer Applications,2015,116(19):22-25.

[19] Khan A,Sharma D K.Self-Adaptive Ontology based Focused Crawler for Social Bookmarking Sites[J].International Journal of Information Retrieval Research,2017,7(2):51-67.

[20] Sharma D K,Khan M A.SAFSB:A self-adaptive focused crawler[C]//International Conference on Next Generation Computing Technologies.2015:719-724.

[21] Bai S,Hussain S,Khoja S.A framework for focused linked data crawler using context graphs[C]//International Conference on Information and Communication Technologies.IEEE,2016:1-6.

猜你喜歡
爬蟲語料網(wǎng)頁
利用網(wǎng)絡爬蟲技術(shù)驗證房地產(chǎn)灰犀牛之說
基于Python的網(wǎng)絡爬蟲和反爬蟲技術(shù)研究
基于CSS的網(wǎng)頁導航欄的設計
電子制作(2018年10期)2018-08-04 03:24:38
利用爬蟲技術(shù)的Geo-Gnutel la VANET流量采集
電子測試(2018年1期)2018-04-18 11:53:04
基于URL和網(wǎng)頁類型的網(wǎng)頁信息采集研究
電子制作(2017年2期)2017-05-17 03:54:56
大數(shù)據(jù)環(huán)境下基于python的網(wǎng)絡爬蟲技術(shù)
電子制作(2017年9期)2017-04-17 03:00:46
基于語料調(diào)查的“連……都(也)……”出現(xiàn)的語義背景分析
網(wǎng)頁制作在英語教學中的應用
電子測試(2015年18期)2016-01-14 01:22:58
華語電影作為真實語料在翻譯教學中的應用
《苗防備覽》中的湘西語料
临武县| 太康县| 万山特区| 常德市| 邯郸市| 通州市| 嘉荫县| 吉安市| 武平县| 承德县| 齐齐哈尔市| 南木林县| 池州市| 永和县| 营山县| 阜南县| 大足县| 新建县| 治多县| 莱西市| 扶风县| 陵川县| 汤阴县| 广宁县| 谷城县| 高陵县| 屏东市| 东乡| 都兰县| 尼勒克县| 塘沽区| 乌兰浩特市| 广水市| 玉山县| 沁阳市| 高邮市| 浑源县| 白玉县| 连云港市| 丹寨县| 辽阳市|