林紅靜,黃夢醒
(海南大學(xué) 信息科學(xué)技術(shù)學(xué)院,海南 ???570228)
?
基于微博信息的關(guān)鍵詞庫爬蟲策略
林紅靜,黃夢醒
(海南大學(xué) 信息科學(xué)技術(shù)學(xué)院,海南 ???570228)
摘要:通過研究對比不同網(wǎng)絡(luò)爬蟲策略的優(yōu)缺點,提出了基于微博信息的關(guān)鍵詞庫爬蟲策略,利用微博的特性以及數(shù)據(jù)挖掘算法的優(yōu)勢,生成關(guān)鍵詞庫指導(dǎo)爬蟲模型進行微博信息的獲取,解決了主題爬蟲模型在數(shù)據(jù)獲取時存在的時序性、正確性以及高效性的問題,提高了微博事件信息的覆蓋率和準(zhǔn)確率,最后通過設(shè)計實驗系統(tǒng)KeysCrawler,驗證了本文提出的策略的優(yōu)越性.
關(guān)鍵詞:爬蟲策略; 關(guān)鍵詞庫; 微博; 數(shù)據(jù)挖掘
隨著微博等包含大量短文本的媒體的興起,研究人員把越來越多的精力放在了針對微博上自媒體、社會媒體等的研究,而微博信息的獲取是研究虛擬社會的人際社交網(wǎng)絡(luò)結(jié)構(gòu)[1]、信息傳播的內(nèi)在規(guī)律[2]和分析用戶的行為偏好[3]的基礎(chǔ)與支撐.根據(jù)數(shù)據(jù)來源的不同,面向微博研究的數(shù)據(jù)獲取技術(shù)主要可以分為4種類型:基于公開平臺的動態(tài)數(shù)據(jù)獲取技術(shù)、基于數(shù)據(jù)源鏡像的靜態(tài)數(shù)據(jù)獲取技術(shù)、基于網(wǎng)絡(luò)數(shù)據(jù)流量分析的數(shù)據(jù)獲取技術(shù)以及基于網(wǎng)絡(luò)爬蟲的數(shù)據(jù)獲取技術(shù).
基于公開平臺的數(shù)據(jù)獲取技術(shù)通過調(diào)用微博內(nèi)部提供的API接口來獲取用戶數(shù)據(jù),是微博信息獲取的主要方法.微博開放平臺包含了微博平臺的用戶信息、微博內(nèi)容以及用戶間的關(guān)注關(guān)系[4];微博開放平臺的API接口信息內(nèi)容豐富,調(diào)用簡單,操作方便,但是由于API的過度或者惡意調(diào)用會破壞微博平臺的穩(wěn)定性與完整性,微博平臺通過對數(shù)據(jù)的獲取、訪問次數(shù)和API有效期等進行限制,保護了微博內(nèi)部數(shù)據(jù).文獻[5-6]提出了利用新浪微博提供的SDK獲取數(shù)據(jù)的方法,該方法由于新浪微博的內(nèi)部數(shù)據(jù)保護機制,具有獲取數(shù)據(jù)受到授權(quán)限制、數(shù)據(jù)不完善、效率較低等缺點.
基于數(shù)據(jù)源鏡像的數(shù)據(jù)獲取技術(shù)將實時數(shù)據(jù)打包成鏡像,并將鏡像提供給數(shù)據(jù)分析人員.分析人員可以得到完整的實時數(shù)據(jù),但是用戶信息涉及用戶隱私和平臺的商業(yè)秘密,因此,不對外公開.總之,用作數(shù)據(jù)分析的鏡像資源造價昂貴,且獲取的渠道有嚴格的權(quán)限限制.
基于網(wǎng)絡(luò)數(shù)據(jù)流的數(shù)據(jù)獲取技術(shù)是網(wǎng)絡(luò)安全領(lǐng)域的基礎(chǔ)技術(shù),該信息捕捉方法經(jīng)常被應(yīng)用在數(shù)據(jù)取證、用戶審計和局域網(wǎng)管控等領(lǐng)域.微博數(shù)據(jù)在互聯(lián)網(wǎng)中傳輸,也可通過此技術(shù)來捕捉.通過網(wǎng)頁瀏覽微博時,所有數(shù)據(jù)是使用HTTP協(xié)議在服務(wù)器與客戶機之間進行交互.使用 HTTP協(xié)議的POST方式將消息請求送到服務(wù)器,然后服務(wù)器將應(yīng)答包與數(shù)據(jù)包通過HTTP協(xié)議返回客戶機,由于特定的協(xié)議具有特定的識別標(biāo)識,分析程序可以通過該識別標(biāo)識對特定的協(xié)議定位到微博數(shù)據(jù)流,然后使用信息抽取技術(shù)對微博的數(shù)據(jù)進行抽取并還原,該方法獲取的數(shù)據(jù)完整性較高.但是,基于網(wǎng)絡(luò)數(shù)據(jù)流來獲取微博數(shù)據(jù)的技術(shù)需要硬件支持和較高的技術(shù)支持,實現(xiàn)難度較大.
網(wǎng)絡(luò)爬蟲使用抓包技術(shù)通過互聯(lián)網(wǎng)抓取網(wǎng)頁源碼,然后使用正則表達式對需要獲取的信息進行匹配并抽取,經(jīng)常被應(yīng)用在搜索引擎技術(shù).在微博數(shù)據(jù)獲取中使用網(wǎng)絡(luò)爬蟲的原理:首先設(shè)置入口網(wǎng)頁地址,然后網(wǎng)絡(luò)爬蟲按照一定的策略將網(wǎng)頁源碼以文本的形式保存在本地,使用正則表達所體現(xiàn)的匹配邏輯提取網(wǎng)頁中的地址作為繼續(xù)爬取的目標(biāo),并且將本網(wǎng)頁中的信息抽取出之后存放在本地,當(dāng)滿足既定條件時爬蟲終止.網(wǎng)絡(luò)爬蟲具有程序健壯性、自動性以及智能性強的特點,因此基于網(wǎng)絡(luò)爬蟲技術(shù)來獲取微博數(shù)據(jù),因其效率高、信息完整,逐漸成為獲取微博信息的主要研究方向.
筆者提出了一種新型的網(wǎng)絡(luò)爬蟲策略,其主要工作為先從微博信息中采集所需的數(shù)據(jù),使用后端數(shù)據(jù)分析系統(tǒng)的處理,為后期的分析工作提供數(shù)據(jù)基礎(chǔ).本文研究基于新浪微博,旨在解決數(shù)據(jù)獲取時存在的主題偏移問題,快速、準(zhǔn)確的獲得微博數(shù)據(jù),提高了微博數(shù)據(jù)的覆蓋率和準(zhǔn)確率.
1相關(guān)工作
微博中數(shù)據(jù)抓取技術(shù)是所有微博研究的基礎(chǔ),但是大多數(shù)針對非微博網(wǎng)頁的爬蟲架構(gòu)已不適用于微博數(shù)據(jù),繼而研究人員將目標(biāo)放在如何結(jié)合微博和傳統(tǒng)的爬蟲技術(shù),如文獻[7]對網(wǎng)絡(luò)爬蟲應(yīng)用于微博平臺的關(guān)鍵性問題進行了分析,提出了基于模擬登錄的微博信息獲取技術(shù),通過模擬用戶瀏覽行為來獲取海量的微博數(shù)據(jù).目前,已有大量的相關(guān)研究工作,按照目標(biāo)的不同基于微博的網(wǎng)絡(luò)爬蟲技術(shù)可以分為:基于全網(wǎng)的微博爬蟲技術(shù)、基于微博的增量式爬蟲技術(shù)和基于微博主題的網(wǎng)絡(luò)爬蟲技術(shù).
在微博上進行全網(wǎng)爬蟲指通過使用社交關(guān)系作為爬蟲擴展的基礎(chǔ),通過社交關(guān)系獲取在微博上的人群網(wǎng)絡(luò)關(guān)系.文獻[8]所設(shè)計的全網(wǎng)爬蟲,通過探測了人物節(jié)點ID的生成規(guī)則,利用其社交關(guān)系鏈向外爬行,獲取了社會網(wǎng)絡(luò)上每個人物節(jié)點的基本信息、關(guān)注信息,探測出了整個社會空間.文獻[18]設(shè)計并實現(xiàn)了基于全網(wǎng)的爬蟲模型,實現(xiàn)了對指定局域網(wǎng)內(nèi)部所有網(wǎng)站自動化的抓取工作,并在一定程度上完成了數(shù)據(jù)的結(jié)構(gòu)化抽取.
增量式爬蟲技術(shù)為了解決隨著頁面的累加,更新整個已爬取網(wǎng)頁的時間開銷過大的問題.由于微博動態(tài)更新[9-10],增量爬蟲策略也適用于微博信息的爬取.文獻[11]提出了一種基于回歸模型的增量式爬蟲,該爬蟲可以對目標(biāo)進行預(yù)測并依據(jù)預(yù)測結(jié)果指導(dǎo)爬行目標(biāo),在數(shù)據(jù)覆蓋率與實效性方面表現(xiàn)較為優(yōu)異.文獻[12]設(shè)計的面向論壇垂直爬蟲,可以對論壇信息進行高精度的爬行,但是在信息實效性方面表現(xiàn)較為平淡.文獻[19]為了提高目前爬蟲算法抓取結(jié)果的有效性,提出了一種旨在獲取有效信息的改進網(wǎng)絡(luò)爬蟲算法,主要設(shè)計了信息的分層結(jié)構(gòu)保留策略和URL過濾模式,實驗表明該算法在增加少量計算時間的前提下極大提高爬蟲抓取頁面的有效性.
基于固定關(guān)鍵詞的主題爬蟲策略已經(jīng)不能適應(yīng)信息更新的特點,獲取的信息往往會發(fā)生主題偏移,從而導(dǎo)致關(guān)鍵信息抓取不當(dāng).傳統(tǒng)的主題爬蟲策略需要設(shè)定關(guān)鍵詞,關(guān)鍵詞的通常由人工確定或者配合其他主題發(fā)現(xiàn)技術(shù)進行工作.在確定主題之后,在爬去的文本中依據(jù)相關(guān)性分析函數(shù)選取與主題相關(guān)性較高的信息,然后將主題較為相關(guān)的URL放在URL池中,繼續(xù)按照之前的主題爬蟲策略執(zhí)行,直到運行終止.文獻[13]總結(jié)了爬蟲技術(shù)在社會媒體資源中應(yīng)用的基本框架與平靜.文獻[14]利用微博Hashtags(主題標(biāo)簽)對爬蟲的主題進行指導(dǎo),實現(xiàn)了一種可以依據(jù)主題標(biāo)簽進行自適應(yīng)主題的爬蟲,該爬蟲可以對于預(yù)先設(shè)定的主題詞匯進行完善,從而獲得了更加合理的爬蟲結(jié)果.文獻[20]提出了基于SVM的主題爬蟲策略,實驗表明該算法能夠較好的區(qū)分主題相關(guān)的網(wǎng)頁和不相關(guān)的網(wǎng)頁,提高了主題相關(guān)網(wǎng)頁的收獲率和召回率,提高了搜索引擎的檢索效率.文獻[21]提出了基于“剪枝”的廣度優(yōu)先搜索策略,實驗證明該策略提高了微博數(shù)據(jù)的主題相關(guān)性.
在對微博信息進行主題爬蟲時,主題關(guān)鍵詞是人為事先選取,但是隨著時間的推移,事件在不斷地發(fā)展,事件相關(guān)的關(guān)鍵詞也會發(fā)生變化,導(dǎo)致基于微博的主題爬蟲信息滯后于微博事件的更新.而上述文獻實現(xiàn)的爬蟲策略針對的是固定主題關(guān)鍵詞進行信息的獲取,不能適應(yīng)事件主題的動態(tài)變化.因此,筆者提出了基于微博的網(wǎng)絡(luò)爬蟲策略,利用6個新媒體網(wǎng)站構(gòu)建關(guān)鍵詞庫,指導(dǎo)爬蟲系統(tǒng)進行微博信息的爬取,提高信息的覆蓋率和準(zhǔn)確率,從而解決由微博信息的稀疏性導(dǎo)致信息獲取時發(fā)生的主題偏移問題.
2基于微博信息的關(guān)鍵詞庫爬蟲策略
主要介紹關(guān)鍵詞庫的構(gòu)建方法,該方法主要包含3個階段:
1) 詞庫樣本獲取選取具有代表性的微博數(shù)據(jù)資料來源,并爬取詞庫樣本信息.
2) 數(shù)據(jù)挖掘階段對微博信息分詞,提取特征詞,對特征詞集進行聚類分析并獲取關(guān)鍵詞.
3) 構(gòu)建關(guān)鍵詞庫合并關(guān)鍵詞,形成詞庫,并適時更新.
2.1詞庫樣本獲取
2.1.1確定詞庫樣本需要從泛媒體中選取能夠代表主流微博信息資源的媒體平臺.根據(jù)2013年7月29日中國新媒體峰會發(fā)布的“2013新媒體影響力排行榜”報告,報告指出了2013年中國新媒體前30強,其中6個新媒體網(wǎng)站為人民網(wǎng)、新華網(wǎng)、鳳凰網(wǎng)、中國新聞網(wǎng)、財經(jīng)網(wǎng)和財新網(wǎng),這些網(wǎng)站的微博具有時效性、無重復(fù)性以及權(quán)威性等特點.
1) 時效性強相對于傳統(tǒng)博客,微博使用的門檻極低,用戶無須精湛的寫作技巧,不用像傳統(tǒng)博客那樣長篇大論,甚至無須文字,用相機或手機拍下的照片也能通過電腦和手機等終端上傳,可以在任何場合任何地點對事件、話題的評價、看法等通過微博終端展現(xiàn)出來.官方微博發(fā)布的信息具有很強的時效性,都是最新最及時的信息.經(jīng)研究表明,不同官方微博網(wǎng)站發(fā)布信息的時間差不會超過30 min,因此對此時間段內(nèi)的消息進行聚類,能夠得到比較準(zhǔn)確的事件,提高聚類效果.
2) 無重復(fù)性個人微博存在大量的轉(zhuǎn)發(fā)評論信息,而且沒有一個嚴格的時間界限,此類信息一般是在個人用戶空閑的時間進行轉(zhuǎn)發(fā)或者評論得到的,原創(chuàng)性不高且存在大量重復(fù)無用的信息.官方發(fā)布的微博信息具有嚴格的時間線,報道事件發(fā)生的最新關(guān)注點,而且同一個微博不會發(fā)布重復(fù)信息,提高了信息分析的準(zhǔn)確率.
3) 權(quán)威性相對于個人微博,6個新媒體網(wǎng)站每條微博的發(fā)布都有一個強大的團隊支撐著,不存在過多冗余信息,完全圍繞事件進行微博發(fā)布,緊扣事件主題,不存在虛假和未經(jīng)考證的信息,不存在謠言信息.因此,通過對這些信息進行聚類,增加了消息的可靠性和準(zhǔn)確性.
6個新媒體網(wǎng)站的微博信息來源廣泛、用戶較多,具備較高的參考價值.因此,選擇6個新媒體網(wǎng)站作為關(guān)鍵詞的信息來源,從中爬取事件相關(guān)的微博信息.
2.1.2詞庫樣本爬取策略該模塊選取基于微博的全網(wǎng)爬蟲模型,構(gòu)建6個新媒體微博網(wǎng)站的節(jié)點池,通過時間的限定,爬取一段時間內(nèi)的所有微博,獲取的信息有很強的時序性以及正確性.該模塊爬取6個新媒體微博網(wǎng)站發(fā)布的事件相關(guān)的原創(chuàng)信息,然后將微博內(nèi)容id、信息內(nèi)容content以及微博發(fā)表時間time存入到OriBase數(shù)據(jù)庫中.詞庫樣本獲取階段的工作是為了獲取6個新媒體網(wǎng)站的某段時間內(nèi)所有微博信息以及微博發(fā)表時間,工作流程圖如圖1所示.
由圖1可知,該階段的工作主要分為4個步驟:
步驟1輸入事件抓取時間段,并構(gòu)建6個新媒體網(wǎng)站的節(jié)點池;
步驟2判斷節(jié)點池是否為空,如果為空,則結(jié)束爬取工作;如果不為空,則根據(jù)UID在網(wǎng)站中獲取微博內(nèi)容;
步驟3判斷微博發(fā)表的時間是否符合時間段,如果符合時間,則爬取微博的信息內(nèi)容以及發(fā)表的時間,并存儲到本地數(shù)據(jù)庫中;
步驟4判斷6個新媒體網(wǎng)站的微博信息是否已經(jīng)爬取完畢,如果已全部爬取,則結(jié)束工作;如果沒有,則重復(fù)步驟2和步驟3,直至微博信息獲取完畢.
2.2數(shù)據(jù)挖掘階段數(shù)據(jù)挖掘階段主要對微博信息進行聚類分析,得到不同的分類結(jié)果,生成關(guān)鍵詞庫,然后驅(qū)動事件爬蟲模塊進行信息的爬取.該模塊具體可以分為3個部分來描述:1)對微博信息進行中文分詞;2)進行微博信息的特征提??;3)使用K-means算法進行聚類分析,并將聚類的結(jié)果生成關(guān)鍵詞庫.
在網(wǎng)絡(luò)爬蟲策略中,數(shù)據(jù)挖掘階段是將第一階段獲取的微博內(nèi)容進行聚類分析,得到相對準(zhǔn)確、科學(xué)合理的分類.該階段的工作原理如下
輸入:6個新媒體網(wǎng)站的事件相關(guān)的微博信息(詞庫樣本獲取階段獲取的微博信息).
處理:對輸入進行聚類分析.
輸出:不同的事件及其關(guān)鍵詞組,事件發(fā)生的時間段.
通過數(shù)據(jù)挖掘得到不同的事件以及事件發(fā)生的時間段,可以將2個不同事件之間的時間段作為前一個子事件抓取的時間段,并作為全微博網(wǎng)站事件爬取工作的一個標(biāo)準(zhǔn),提高爬蟲的效率與準(zhǔn)確性.
2.2.1 中文分詞系統(tǒng) 在對微博數(shù)據(jù)進行關(guān)鍵詞分析之前,需要對微博信息進行中文分詞處理,繼而從分詞中提取特征詞.由于短文本具有長度小、內(nèi)容不規(guī)范和半結(jié)構(gòu)化等特點,而在微博中的短文本在此基礎(chǔ)上又追加了數(shù)據(jù)更新速度快、數(shù)量大等特點,這些特點降低了數(shù)據(jù)分析的速度,也增加了數(shù)據(jù)分析的難度.國內(nèi)已經(jīng)開發(fā)出針對中文的分詞技術(shù),且技術(shù)相對成熟,常用的中文分詞包有庖丁解牛分詞包(適用于Lucene整合)[22]、LingPipe(開源自然語言處理的Java開源工具包)[23]、ICTCLAS等.文獻[15]所提出基于馬爾可夫鏈的系統(tǒng),該系統(tǒng)可以完成中文分詞、詞性標(biāo)注和未登錄詞識別等功能,獲得了國內(nèi)和國際權(quán)威的公開評測、三萬客戶的認可.本文采用ICTCLAS系統(tǒng)對微博短文本進行分中文詞處理,并進行詞頻統(tǒng)計,將結(jié)果放入OriBase數(shù)據(jù)庫中.
2.2.2特征詞提取由于微博信息屬于短文本信息,很多情況下,一條微博中關(guān)鍵的特征詞數(shù)目很稀少,因此采用文獻[16]中提出的基于特征值擴散和MDL篩選的特征提取算法TS,TS算法的流程圖如圖2所示.
2.2.3關(guān)鍵詞獲取聚類分析(Cluster Analysis)是數(shù)據(jù)挖掘的一個重要的算法,將物理或抽象對象的集合分組為類似的對象組成的多個類的分析過程.聚類是一種無監(jiān)督的學(xué)習(xí)算法,不需要訓(xùn)練數(shù)據(jù)集,可以得到不同的分類,本文使用聚類分析對微博信息進行分類.在聚類分析中,K-means算法相對簡單且高效,因此使用K-means算法對微博短文本進行聚類分析,得到的結(jié)果驅(qū)動網(wǎng)絡(luò)爬蟲模型進行信息的爬取.本文選取文獻[17]中提到的K-means算法對微博信息進行聚類分析.算法流程圖如3所示.
2.3關(guān)鍵詞庫構(gòu)建關(guān)鍵詞庫的構(gòu)建包含2個方面的工作:1)對提取的微博信息的特征詞按照一定的規(guī)則進行合并,構(gòu)建關(guān)鍵詞庫;2)關(guān)鍵詞庫的更新.
雖然微博信息的特征稀疏,但是微博信息具有很明顯的交互特性,即一個時間段內(nèi)產(chǎn)生的微博信息的關(guān)聯(lián)性是非常強.因此,利用微博信息的交互性強特點來解決文本特征稀疏問題,即合并一個時間段內(nèi)的所有微博信息的特征詞,構(gòu)成進行事件爬取關(guān)鍵詞組,然后將所有關(guān)鍵詞組放入數(shù)據(jù)庫中,構(gòu)建關(guān)鍵詞庫,為后續(xù)信息的獲取做好準(zhǔn)備工作.
隨著時間的推移以及國際國內(nèi)熱點問題的隨機更新,關(guān)鍵詞庫中的關(guān)鍵詞組會發(fā)生變化,需要對目標(biāo)時間內(nèi)的關(guān)鍵詞組進行實時或準(zhǔn)實時地更新.
通過重新設(shè)計了事件爬取模塊,追加了數(shù)據(jù)挖掘模塊,使得該爬蟲策略具有3個優(yōu)點:時序性、高效性以及準(zhǔn)確性.其中準(zhǔn)確性和時序性是由詞庫樣本獲取模塊中的6個新媒體微博網(wǎng)站的特點所確定的,數(shù)據(jù)挖掘模塊生成的關(guān)鍵詞庫又保證了網(wǎng)絡(luò)爬蟲模型的準(zhǔn)確性和高效性.該爬蟲策略提高了微博事件的主題相關(guān)性和覆蓋率,降低了信息的重復(fù)率,實驗部分將會對此策略進行驗證.
3實驗及結(jié)果分析
設(shè)計實驗系統(tǒng)KeysCrawler,完成詞庫樣本選取、數(shù)據(jù)預(yù)處理、關(guān)鍵詞獲取以及詞庫構(gòu)建詳細設(shè)計與實現(xiàn),并設(shè)計實驗驗證基于微博的網(wǎng)絡(luò)爬蟲策略的有效性.
3.1實驗系統(tǒng)搭建搭建實驗系統(tǒng)KeysCrawler,該實驗系統(tǒng)主要分為3個模塊:詞庫樣本獲取模塊、數(shù)據(jù)挖掘模塊和事件爬蟲模塊.詞庫樣本獲取模塊從6個新媒體微博網(wǎng)站爬取一個時間段內(nèi)的所有微博信息,并將信息存入OriBase數(shù)據(jù)庫中.數(shù)據(jù)挖掘模塊6個對OriBase數(shù)據(jù)庫中的微博信息進行聚類分析,得到具有時序性的、不同的事件,提取每一事件不同階段的關(guān)鍵詞構(gòu)成關(guān)鍵詞組,然后將所有的關(guān)鍵詞組放入數(shù)據(jù)庫中,構(gòu)建成為關(guān)鍵詞庫.事件爬蟲模型通過數(shù)據(jù)挖掘模塊構(gòu)建的關(guān)鍵詞庫指導(dǎo)網(wǎng)絡(luò)爬蟲爬取事件相關(guān)的微博信息,并將信息存入FinBase數(shù)據(jù)庫中.KeysCrawler系統(tǒng)設(shè)計階段5個部分:數(shù)據(jù)庫設(shè)計、詞庫樣本模塊設(shè)計、數(shù)據(jù)挖掘模塊設(shè)計、事件爬蟲模塊設(shè)計以及實驗度量設(shè)計,系統(tǒng)總體架構(gòu)如圖4所示.
3.1.1數(shù)據(jù)庫設(shè)計KeysCrawler系統(tǒng)中有3個數(shù)據(jù)庫:OriBase數(shù)據(jù)庫、KeyBase數(shù)據(jù)庫和FinBase數(shù)據(jù)庫. OriBase數(shù)據(jù)庫用來存儲從6個新媒體微博網(wǎng)站爬取的微博信息;KeyBase數(shù)據(jù)庫存儲的是不同事件代表的關(guān)鍵詞信息;FinBase數(shù)據(jù)庫則存儲了所有事件相關(guān)的微博信息.
考慮到數(shù)據(jù)持續(xù)性問題,OriBase里面有Ori_cont表和con_key表.Ori_cont表存儲了詞庫樣本模塊獲取的所有微博信息,其中msg_id表示微內(nèi)容id(具有唯一性),content表示微博內(nèi)容,time表示微博發(fā)表的時間.con_key表則存儲了代表每條微博的特征詞,其中key_id表示特征詞個數(shù),key_word表示特征詞,word_class表示特征詞屬性,msg_id是外鍵,對應(yīng)的是Ori_cont表中的微博內(nèi)容id.
KeyBase數(shù)據(jù)庫中存儲了代表不同事件的關(guān)鍵詞組,que_key1表存儲事件1相關(guān)的所有關(guān)鍵詞,que_key2表存儲事件2相關(guān)的所有關(guān)鍵詞,以此類推,每張表的結(jié)構(gòu)相同.其中key_id表示關(guān)鍵詞個數(shù),key_word表示關(guān)鍵詞,word_class表示關(guān)鍵詞屬性.
FinBase數(shù)據(jù)庫用來存儲事件網(wǎng)絡(luò)爬蟲爬取的微博信息,F(xiàn)in_con1表存儲事件1的原創(chuàng)微博信息,F(xiàn)in_con2表存儲事件2的原創(chuàng)微博信息,以此類推,每張表的結(jié)構(gòu)相同.User_id表示微博id,content表示微博用戶名,content表示微博內(nèi)容Forward_A表示該微博被轉(zhuǎn)發(fā)的數(shù)量,comment_A表示該微博被評論的數(shù)量,time則是微博發(fā)表的時間.
3.1.2實驗度量根據(jù)主題網(wǎng)絡(luò)爬蟲的特性,提出了2個性能判斷指標(biāo):相關(guān)性(Correlation)和重復(fù)率(Repeat Rate).主題網(wǎng)絡(luò)爬蟲旨在獲取特定的數(shù)據(jù)(事件相關(guān)的微博信息),因此微博信息的相關(guān)性是判斷主題爬蟲系統(tǒng)性能的一個重要指標(biāo).
微博用戶按照用途可以分為2類:官方微博用戶和個人微博用戶.官方微博用戶能對社會事件進行及時有效的更新,具有一定的權(quán)威性;個人微博用戶普遍存在,對于社會事件,大多使用微博信息的轉(zhuǎn)發(fā)機制,對官方微博信息進行擴散,并附有少量的評論信息,但由于用戶人口基數(shù)大,具有很大的研究前景.由微博信息轉(zhuǎn)發(fā)機制導(dǎo)致的信息重復(fù)性問題,可以在信息獲取時,采用嚴格的時間界限來獲取微博信息,從而降低信息的重復(fù)率,提高主題網(wǎng)絡(luò)爬蟲的性能.因此,數(shù)據(jù)集的重復(fù)率也是網(wǎng)絡(luò)爬蟲性能的一個重要判斷指標(biāo).
相關(guān)性是指數(shù)據(jù)集中事件相關(guān)的信息在數(shù)據(jù)集中占有的比重,微博信息的相關(guān)性越高,則說明爬蟲系統(tǒng)性能越好;重復(fù)率則是指微博信息中重復(fù)的消息在微博數(shù)據(jù)集中的比重.經(jīng)過實驗研究表明,將數(shù)據(jù)集中的信息分為3個部分:1)數(shù)據(jù)集中不屬于事件主題的文本信息,記作FT;2)事件相關(guān)的微博信息,記作CT;3)數(shù)據(jù)集中重復(fù)的微博信息,記作RT.相關(guān)性的公式
(1)
重復(fù)率的公式
(2)
3.2實驗結(jié)果與分析分別使用主題網(wǎng)絡(luò)爬蟲和改進的基于微博信息的主題網(wǎng)絡(luò)爬蟲(即是使用關(guān)鍵詞庫的主題網(wǎng)絡(luò)爬蟲)來獲取事件相關(guān)的數(shù)據(jù),獲取數(shù)據(jù)集的時間跨度2014年3月8日00:00~23:59熱門事件是“馬航失聯(lián)”事件.涉及3個數(shù)據(jù)集,其中一個數(shù)據(jù)集是主題網(wǎng)絡(luò)爬蟲相關(guān)的微博信息,數(shù)據(jù)來源如表1所示;另外2個數(shù)據(jù)集是改進的基于微博信息的主題網(wǎng)絡(luò)爬蟲涉及的2個數(shù)據(jù)集,數(shù)據(jù)來源如表2所示.
表1 傳統(tǒng)的主題網(wǎng)絡(luò)爬蟲數(shù)據(jù)集
由表1可知,基于關(guān)鍵詞“馬航失聯(lián)”,在2014年3月8日00:00~23:59,從新浪微博網(wǎng)站爬取了事件相關(guān)的微博信息,一共獲得了646條微博數(shù)據(jù).
表2 基于微博信息的主題網(wǎng)絡(luò)爬蟲數(shù)據(jù)集
由表2可知,基于微博信息的主題網(wǎng)絡(luò)爬蟲的數(shù)據(jù)集分為2個部分:一部分來自6個新媒體網(wǎng)站的117條微博信息,117條數(shù)據(jù)主要用來建立事件相關(guān)的關(guān)鍵詞庫,用以引導(dǎo)改進的主題網(wǎng)絡(luò)爬蟲進行信息的爬?。灰徊糠謥碜孕吕宋⒉┚W(wǎng)站的1 231條微博信息,可用于分析事件的發(fā)展.
通過TS算法進行特征選擇,數(shù)據(jù)挖掘系統(tǒng)將自動對主事件爬蟲系統(tǒng)獲取的117條數(shù)據(jù)進行K-means聚類分析,分為12個主題,分別對每個主題進行信息的爬取,獲取了1 231條微博信息,如表3所示.
表3 “馬航失聯(lián)”事件的數(shù)據(jù)集表
實驗對比流程:
1)統(tǒng)計主題網(wǎng)絡(luò)爬蟲獲取的646條數(shù)據(jù)集中的FT,CT,RT以及RT′的值;
2)統(tǒng)計基于微博信息的網(wǎng)絡(luò)爬蟲獲得的1 221條微博信息中的FT,CT,RT以及RT′的值;
3)分別計算相關(guān)性Correlation和重復(fù)率RepateRate的值;
4)分析相關(guān)性和重復(fù)率的值,得到實驗結(jié)論,實驗流程如圖5所示.
計算2個不同的主題爬蟲模型獲取數(shù)據(jù)的相關(guān)性和重復(fù)率,實驗結(jié)果如表4所示.
表4 實驗結(jié)果對比表
通過對表4的分析,可以得到2個結(jié)論:
1) 信息覆蓋范圍的提高分析2個數(shù)據(jù)集中的CT值,在傳統(tǒng)的主題網(wǎng)絡(luò)爬蟲中,事件相關(guān)的微博信息有616條;而改進的模型中事件相關(guān)的微博信息由1 221條,獲取的信息是傳統(tǒng)的主題網(wǎng)絡(luò)爬蟲的2倍,說明了改進的基于微博信息的主題網(wǎng)絡(luò)爬蟲能隨著事件的發(fā)展,適應(yīng)主題的動態(tài)變化,提高了信息的覆蓋率.
2) 信息的準(zhǔn)確率提高在實驗中數(shù)據(jù)集的相關(guān)性從95.4%提高到了99.2%,而重復(fù)率則從8.51%降低到了1.23%,說明了通過基于微博信息的主題爬蟲策略爬取了更多的事件相關(guān)的微博數(shù)據(jù),大大提高了信息的準(zhǔn)確率.
4小結(jié)
提出了基于數(shù)據(jù)挖掘算法的網(wǎng)絡(luò)爬蟲策略,通過6個新媒體微博網(wǎng)站信息的獲取,解決了主題爬蟲模型數(shù)據(jù)獲取的時序性問題以及正確性問題;通過ICTCLAS分詞系統(tǒng)以及TS算法,完成了微博信息的特征詞提?。徊⑼ㄟ^K-means算法,對數(shù)據(jù)先進行聚類分析,得到較為準(zhǔn)確、相關(guān)性強的關(guān)鍵詞庫信息,并利用關(guān)鍵詞庫指導(dǎo)主題爬蟲模型進行微博信息的獲取.實驗證明了基于微博信息的關(guān)鍵詞庫爬蟲策略能夠提高微博信息的覆蓋率和準(zhǔn)確率.
參考文獻:
[1] 牛鴿軍. 新浪微博虛擬社區(qū)的網(wǎng)絡(luò)結(jié)構(gòu)研究[D]. 哈爾濱:哈爾濱工業(yè)大學(xué),2013.
[2] 張賽, 徐恪, 李海濤. 微博類社交網(wǎng)絡(luò)中信息傳播的測量與分析[J]. 西安交通大學(xué)報,2013,47(2):124-130.
[3] 付江麗. 微博用戶行為分析及建模研究[D]. 北京:北京郵電大學(xué),2015.
[4] 王連喜, 蔣盛益, 龐觀松, 等. 微博用戶關(guān)系挖掘研究綜述[J].情報雜志,2012(12):91-97.
[5] 田董濤. 微博客數(shù)據(jù)的獲取與分析方法研究[D]. 北京:北京交通大學(xué),2012.
[6] 王志召. 微博客數(shù)據(jù)分析系統(tǒng)的設(shè)計與實現(xiàn)[D]. 北京:北京郵電大學(xué),2014.
[7] 高凱, 王久碩, 馬紅霞, 等. 微博信息采集及群體行為分析[J]. 小型微型計算機系統(tǒng),2013,34(10):2 413-2 416.
[8] 羅一紓. 微博爬蟲的相關(guān)技術(shù)研究[D]. 哈爾濱:哈爾濱工業(yè)大學(xué),2013.
[9] 陳浩. 網(wǎng)絡(luò)信息采集技術(shù)及中文未登錄詞算法研究[D]. 北京:北京郵電大學(xué),2012.
[10] 曾偉輝. 支持AJAX的網(wǎng)絡(luò)爬蟲系統(tǒng)設(shè)計與實現(xiàn)[D]. 安徽:中國科學(xué)技術(shù)大學(xué),2009.
[11] Xia T. Overview of research on data collection from Ajax sites [J]. New Technology of Library & Information Service,2010(3):52-57.
[12] Gao Q, Xiao B, Lin Z, et al. A high-precision forum crawler based on vertical crawling: proceedings of the Network Infrastructure and Digital Content 2009, Beijing, November 6-8, 2009[C]. [S.l.]: Journal of Information & Computational Science,2009.
[13] Olston C, Pandey S. Recrawl scheduling based on information longevity: proceedings of the 17th International Conference on World Wide Web, Beijing, April 21-25, 2008[C].[S.l.]: [s. n.], 2008.
[14] 胡廉民, 張澤斌, 徐威迪, 等. 基于分層結(jié)構(gòu)保留的增量網(wǎng)絡(luò)爬蟲算法[J]. 計算機應(yīng)用研究,2013,30(8):2 381-2 385.
[15] Papadopoulos S, Kompatsiaris Y. Social multimedia crawling for mining and search [J]. Computer,2014,47(5):84-87.
[16] Wang X , Tokarchuk C, Cuadrado F, et al. Exploiting hashtags for adaptive microblog crawling: proceedings of the Intentional Conference on Advances in Social Networks Analysis and Mining 2013, Niagara, August 25-28, 2013[C]. [S. L.]:[s. n.],2013.
[17] 李璐, 張國印, 李正文. 基于SVM的主題爬蟲技術(shù)研究[J]. 計算機科學(xué),2015,42(2):118-122.
[18] 王艷閣. 主題微博爬蟲的設(shè)計與實現(xiàn)[D]. 河南:中原工學(xué)院,2013.
[19] 孫殿哲, 魏海平, 陳巖. Nutch中庖丁解牛中文分詞的實現(xiàn)與評測[J]. 計算機與現(xiàn)代化,2010(6):187-190.
[20] Carpenter B. LingPipe for 99.99% recall of gene mentions: proceedings of the 2nd BioCreative workshop, Madrid, April 23-25,2007[C].[S.l.]:[s.n.],2007.
[21] Singh M P. Deep web structure [J]. IEEE Internet Computing,2002,6(5):4-5.
[22] Han J W, Kamber M. 數(shù)據(jù)挖掘概念與技術(shù)[M]. 范明, 孟小峰, 譯. 北京:機械工業(yè)出版社,2011:30-41.
[23] Bra P D, Houben G J, Kornatzky Y, et al. Information retrieval in distributed hypertexts: proceedings of the 4th International Conference on Computer-Assisted Information Retrieval 1994, Rockefeller,October 11-13,1994[C].[S.l.]:[s. n.],2010.
收稿日期:2016-01-30
基金項目:國家自然科學(xué)基金(61462022)
作者簡介:林紅靜(1990-),女,重慶萬州人,海南大學(xué)信息學(xué)院2013級碩士研究生,研究方向:知識工程,E-mail: 851471614@qq.com 通信作者: 黃夢醒(1974-),男,河南信陽人,博士,教授,研究方向:數(shù)據(jù)與知識工程、大數(shù)據(jù)與云計算、智慧旅游與智慧健康、物聯(lián)網(wǎng)工程等,E-mail: huangmx09@163.com
文章編號:1004-1729(2016)02-0112-09
中圖分類號:TP 391
文獻標(biāo)志碼:ADOl:10.15886/j.cnki.hdxbzkb.2016.0018
Crawler Strategy of Keywords Lexicon Based on Microblog Information
Lin Hongjing, Huang Mengxing
(College of Information Science and Technology, Hainan University, Haikou 570228, China)
Abstract:In the study, the advantages and disadvantages of various web crawler methods were compared, and the key lexicon crawler strategy based on Web was proposed. The characteristics of microblog and the advantages of data mining algorithm were used to construct the crawler model directed by keywords lexicon, and which was used to obtain microblog information. The strategy improved the timing sequence, correctness and efficiency of subject crawler model and enhanced the coverage and accuracy of microblog information. Finally, the experiment system, Keys Crawler, was designed and introduced to verify the strategy.
Keywords:crawler strategy; keywords library; microblog; data mining