于 澍,曹 琦,劉 濤
(東北石油大學(xué) 計(jì)算機(jī)與信息技術(shù)學(xué)院,黑龍江 大慶 163318)
隨著移動(dòng)通訊技術(shù)的日趨完善,一大批社交媒體平臺(tái)不斷涌現(xiàn)[1],已經(jīng)成為人們溝通交流、獲取信息的重要平臺(tái),影響著人們的工作和生活。微博憑借其傳播速度快、內(nèi)容覆蓋領(lǐng)域廣和低門檻等特性近年來迅速發(fā)展成為網(wǎng)民結(jié)交好友、獲取新聞時(shí)事、自我分享及表達(dá)的重要社交媒體[2-3]。國內(nèi)目前存在大量的微博網(wǎng)站,例如新浪微博、騰訊文博、搜狐微博等,其中新浪微博最受廣大用戶喜愛,也是人們目前最為常用的社交媒體平臺(tái)。
大量的活躍用戶在微博上產(chǎn)生大量的行為信息,海量數(shù)據(jù)背后蘊(yùn)藏著巨大的學(xué)術(shù)研究價(jià)值。對(duì)于企業(yè)而言,通過觀測微博用戶的在線行為可以了解用戶的興趣愛好和上網(wǎng)習(xí)慣,以有效指導(dǎo)企業(yè)調(diào)整更新產(chǎn)品,為大眾提供更好的服務(wù);對(duì)于政府部門而言,可以通過用戶行為及時(shí)了解大眾關(guān)注的焦點(diǎn)以及對(duì)待熱點(diǎn)問題的態(tài)度,準(zhǔn)確判斷輿論走向,以便及時(shí)采取科學(xué)的引導(dǎo)和有效的控制。因此提前預(yù)測微博的互動(dòng)情況,對(duì)于企業(yè)和社會(huì)而言有著重要的意義。
機(jī)器學(xué)習(xí)是一門涉及到多個(gè)領(lǐng)域的交叉學(xué)科,致力于模擬人類利用經(jīng)驗(yàn)做出有效決策的學(xué)習(xí)行為,使計(jì)算機(jī)能夠利用經(jīng)驗(yàn)不斷改善系統(tǒng)本身的性能,以獲取人類觀測不到的新的知識(shí)。文中將機(jī)器學(xué)習(xí)中的隨機(jī)森林算法應(yīng)用到微博數(shù)據(jù)上,以新浪微博為研究對(duì)象,對(duì)微博數(shù)據(jù)進(jìn)行處理及分析,并預(yù)測用戶發(fā)布微博一周后的轉(zhuǎn)發(fā)數(shù)、評(píng)論數(shù)和點(diǎn)贊數(shù)。
國內(nèi)外有大量的學(xué)者對(duì)在線社交網(wǎng)絡(luò)的信息傳播行為進(jìn)行了研究。文獻(xiàn)[3]提出了三類綜合特征,使用機(jī)器學(xué)習(xí)中的分類方法對(duì)給定微博的用戶轉(zhuǎn)發(fā)行為進(jìn)行預(yù)測。Liben-Nowell等[4]研究了一系列有關(guān)信息在真實(shí)社會(huì)網(wǎng)絡(luò)中傳播的特征,得出精確預(yù)測出信息的傳播路徑在當(dāng)前技術(shù)發(fā)展的情況下是非常困難的。還有一些文獻(xiàn)[5-10]在情感分析等方面進(jìn)行了研究。
決策樹算法是一種有監(jiān)督的機(jī)器學(xué)習(xí)算法,常用于分類預(yù)測等諸多領(lǐng)域[11]。決策樹是一個(gè)樹形結(jié)構(gòu),其每個(gè)非葉節(jié)點(diǎn)表示一個(gè)特征屬性上的測試,每個(gè)分支代表該特征屬性在某個(gè)值域上的輸出,而每個(gè)葉節(jié)點(diǎn)存放一個(gè)類別,最終產(chǎn)生一棵泛化能力強(qiáng)的決策樹。其中節(jié)點(diǎn)分裂特征的選擇為構(gòu)造一棵決策樹的關(guān)鍵。根據(jù)不同的劃分標(biāo)準(zhǔn),相關(guān)學(xué)者提出了不同的決策樹算法,如基于信息熵的ID3算法、基于增益率的C4.5算法和基于基尼指數(shù)CART決策樹算法。文中主要介紹CART決策樹算法。
CART分類回歸樹是一種二叉決策樹,既可處理連續(xù)型數(shù)據(jù)又可處理離散型數(shù)據(jù)。分類樹根據(jù)基尼值來度量數(shù)據(jù)集S的純度,即決策樹的分支節(jié)點(diǎn)盡可能包含同一類別的樣本,其值越小,數(shù)據(jù)集的純度越高。基尼值表示為:
(1)
其中,pk為當(dāng)前樣本集合S中第k類樣本所占的比例。
然后計(jì)算屬性集A中每個(gè)屬性a的基尼指數(shù),從中選擇基尼指數(shù)最小的屬性作為最優(yōu)的劃分屬性。基尼指數(shù)表示為:
(2)
其中,Sv表示S中屬性a上取值為v樣本子集。
集成學(xué)習(xí)是通過對(duì)每個(gè)基學(xué)習(xí)器的學(xué)習(xí)結(jié)果進(jìn)行組合的方式將多個(gè)學(xué)習(xí)器聚集起來,形成具有更好性能的學(xué)習(xí)器。集成學(xué)習(xí)可以有效地提高學(xué)習(xí)系統(tǒng)的泛化能力[12]。其中一類就是以Bagging和隨機(jī)森林為代表的。
隨機(jī)森林就是在構(gòu)建Bagging集成的基礎(chǔ)上將決策樹作為基學(xué)習(xí)器[13-14],與傳統(tǒng)的決策樹不同的是,隨機(jī)森林在選擇劃分屬性時(shí),是從全部的特征中均勻隨機(jī)地抽取一個(gè)特征子集,然后再從這個(gè)子集中選擇一個(gè)最優(yōu)的分裂特征。隨機(jī)森林構(gòu)造了多棵決策樹,一般來說,分類問題由每棵決策樹投票決定其最終分類,回歸問題則取其平均值作為最終結(jié)果。
一個(gè)中文詞語由兩個(gè)以上的漢字組成,所以,對(duì)中文的文本進(jìn)行分析時(shí),計(jì)算機(jī)很難區(qū)分詞語、成語或諺語。中文分詞又稱中文切詞,是指把一條中文語句切分成若干個(gè)有意義的詞語[15]。中文分詞技術(shù)屬于自然語言處理的范疇,目前中文分詞工具有很多,已有相關(guān)研究采用540篇分別來自新聞、微博、汽車之家和大眾點(diǎn)評(píng)的數(shù)據(jù)對(duì)常見分詞工具進(jìn)行測試[16],測試結(jié)果見表1。
表1 中文分詞工具對(duì)比
實(shí)驗(yàn)部分采用Python語言來處理微博數(shù)據(jù)中的中文文本,用于統(tǒng)計(jì)博文內(nèi)容的詞頻,選取高頻詞作為特征。Jieba分詞適用于Python環(huán)境,因此文中選擇Jieba分詞工具。
實(shí)驗(yàn)將提取的特征分為三類,應(yīng)用隨機(jī)森林算法預(yù)測微博在發(fā)表一周后的互動(dòng)情況,分析隨機(jī)森林模型的應(yīng)用效果,并對(duì)比三類特征對(duì)預(yù)測結(jié)果的影響。實(shí)驗(yàn)數(shù)據(jù)來自于天池大數(shù)據(jù)競賽:新浪微博互動(dòng)預(yù)測,訓(xùn)練數(shù)據(jù)約為122萬條微博數(shù)據(jù),部分?jǐn)?shù)據(jù)如表2所示。預(yù)測數(shù)據(jù)約為17萬條微博數(shù)據(jù)。實(shí)驗(yàn)工具采用anaconda3,編程語言為Python3.7。
表2 訓(xùn)練數(shù)據(jù)
實(shí)驗(yàn)部分包括三組對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)流程如下:
Step1:觀察并分析數(shù)據(jù),提取三類特征,分別為用戶特征、時(shí)間特征、博文內(nèi)容特征,如表3所示。其中高頻詞提取結(jié)果如圖1所示,取前20個(gè)為高頻詞匯。根據(jù)提取的特征建立預(yù)測的訓(xùn)練集與測試集。
表3 特征表
Step2:進(jìn)行三組對(duì)比實(shí)驗(yàn)。
實(shí)驗(yàn)一:無特征簡單平均法、三類特征決策樹模型、三類特征RF模型以及線性回歸模型的對(duì)比實(shí)驗(yàn)。
實(shí)驗(yàn)二:基于RF的三類特征對(duì)比實(shí)驗(yàn)。分別訓(xùn)練無用戶特征、無時(shí)間特征、無博文內(nèi)容特征的RF模型。
實(shí)驗(yàn)三:基于RF的博文特征對(duì)比實(shí)驗(yàn)。對(duì)比文本類特征中的六項(xiàng)特征對(duì)預(yù)測結(jié)果的影響。
Step3:將訓(xùn)練好的模型應(yīng)用于測試集,得出預(yù)測結(jié)果后根據(jù)評(píng)估標(biāo)準(zhǔn)驗(yàn)證模型的預(yù)測準(zhǔn)確率。
Step4:分析三組實(shí)驗(yàn)的結(jié)果,得出實(shí)驗(yàn)結(jié)論。
圖1 詞頻統(tǒng)計(jì)
計(jì)算第i篇博文的準(zhǔn)確率pi:
pi=1-0.5*df-0.25*dc-0.25*dl
(3)
其中,df、dc、dl分別表示轉(zhuǎn)發(fā)偏差、評(píng)論偏差和點(diǎn)贊偏差,分別表示如下:
(4)
(5)
(6)
其中,cfp為預(yù)測的轉(zhuǎn)發(fā)數(shù),cfr為實(shí)際的轉(zhuǎn)發(fā)數(shù);ccp為預(yù)測的評(píng)論數(shù),ccr為實(shí)際的評(píng)論數(shù);clp為預(yù)測的點(diǎn)贊數(shù),clr為實(shí)際的點(diǎn)贊數(shù)。
根據(jù)每篇博文的準(zhǔn)確率pi計(jì)算最終預(yù)測的準(zhǔn)確率P:
(7)
其中,sgn(x)為第i篇博文的總轉(zhuǎn)發(fā)、評(píng)論、點(diǎn)贊之和,當(dāng)Ci>100時(shí),取值為100。
由實(shí)驗(yàn)一的結(jié)果表明,隨機(jī)森林算法可以應(yīng)用到微博數(shù)據(jù)上,且隨機(jī)森林算法預(yù)測模型的準(zhǔn)確率比決策樹等算法的相對(duì)準(zhǔn)確率稍高,實(shí)驗(yàn)結(jié)果如表4所示。
表4 四種算法預(yù)測結(jié)果對(duì)比
通過實(shí)驗(yàn)二的結(jié)果可得出,三類特征中用戶特征對(duì)預(yù)測結(jié)果的影響較大,其次是時(shí)間特征,文本類特征影響較小,實(shí)驗(yàn)結(jié)果如圖2所示。通過實(shí)驗(yàn)三得出,博文內(nèi)容特征中的“是否含有鏈接”會(huì)對(duì)預(yù)測結(jié)果產(chǎn)生負(fù)影響,即導(dǎo)致預(yù)測結(jié)果的準(zhǔn)確率下降。其他博文內(nèi)容特征對(duì)預(yù)測結(jié)果的影響較小。
圖2 預(yù)測結(jié)果
文中將隨機(jī)森林算法應(yīng)用到微博數(shù)據(jù)上,從數(shù)據(jù)中提取了部分特征并將特征分為三類, 由實(shí)驗(yàn)結(jié)果分析了這三類特征對(duì)預(yù)測結(jié)果的影響,并對(duì)其中的文本數(shù)據(jù)進(jìn)行了進(jìn)一步的分析和實(shí)驗(yàn),分析并對(duì)比了文本類特征對(duì)預(yù)測結(jié)果的影響。預(yù)測結(jié)果與數(shù)據(jù)及特征有關(guān),文中特征是由人工提取,具有一定的局限性,還有待進(jìn)一步的完善。