張霽雯,周 軍
(遼寧工業(yè)大學(xué) 電子與信息工程學(xué)院,遼寧 錦州 121001)
微博是一種基于注冊用戶關(guān)聯(lián)的關(guān)系、信息的分享、傳播以及信息獲取的移動信息社交網(wǎng)絡(luò)平臺。微博用戶在手機等移動終端或者電腦登入,以圖片、文字、視頻、影像等形式呈現(xiàn),可以實現(xiàn)信息用戶間分享與互動,微博傳播的速度和形式與電視新聞、報紙等傳統(tǒng)的媒介傳播方式都大不相同,微博更為簡單、迅速、快捷、清晰地表述了事件的整個過程。
截至到2019 年第一季度,微博總活躍用戶已達到4.65 億,超過Twitter 總使用人數(shù)。對微博轉(zhuǎn)發(fā)進行預(yù)測,既能夠為信息傳播效率、廣泛性等合理預(yù)測提供重要支持,同時在信息推薦、廣告信息精準(zhǔn)投放、突發(fā)事件預(yù)警等方面有重大作用。
目前,現(xiàn)有對微博信息傳播進行分析的方法大多數(shù)都是側(cè)重于挖掘數(shù)據(jù)、電子商務(wù)應(yīng)用等相關(guān)方面。現(xiàn)有辦法對于微博轉(zhuǎn)發(fā)預(yù)測的準(zhǔn)確度較低,主要是因為現(xiàn)有辦法沒考慮到用戶在一段時間之內(nèi)的興趣態(tài)勢變化,而且認為用戶的興趣僅僅為用戶的標(biāo)簽內(nèi)容。本文在分析影響微博轉(zhuǎn)發(fā)、分享的客觀因素的基礎(chǔ)之上,通過TF-IDF 統(tǒng)計算法結(jié)合LDA 主題分析模型來分析文本,并創(chuàng)建了一個基于在線被動攻擊算法的微博轉(zhuǎn)發(fā)分享預(yù)測模型,該預(yù)測模型采用融合用戶興趣特征的PA 算法,使得微博轉(zhuǎn)發(fā)預(yù)測模型的準(zhǔn)確度大大提高。
本文加入了用戶在一段時間內(nèi)的興趣點,加入原創(chuàng)微博以用來分析用戶對最近新鮮事件的關(guān)注度。LDA 主題模型是以“文本、單詞”“單詞、矩陣”構(gòu)成的。原有的LDA 主題模型通過計算文本中每個單詞的出現(xiàn)頻率就可以得到“文本、單詞”矩陣。本文主要采用了TF-IDF 算法與LDA 主題模型結(jié)合的方法來對微博文章中的單詞矩陣進行簡化使得預(yù)測結(jié)果更加準(zhǔn)確。
信息傳播具有多樣性,研究人員從不同視角使用不同的方法對信息轉(zhuǎn)發(fā)預(yù)測進行了不同角度的研究。2016 年馬曉峰等[1]研究認為提高轉(zhuǎn)發(fā)預(yù)測精度,應(yīng)通過科學(xué)合理的方法抓取重要影響因素,由此創(chuàng)建了以混合特征學(xué)習(xí)為基礎(chǔ)的信息轉(zhuǎn)發(fā)預(yù)測模型。此模型采用了社會知名度特征、微博具體內(nèi)容特征、用戶特征的預(yù)估辦法。2016 年劉瑋等[2]學(xué)者經(jīng)過全面深入地研究,提出了一種以用戶單位時間內(nèi)活躍度為基礎(chǔ)的轉(zhuǎn)發(fā)微博、忽略微博、未接收微博的一種識別方法,為獲得準(zhǔn)確的模型分析結(jié)果提供了可靠的信息支持。
2017 年陳鵬飛[3]研究特定興趣內(nèi)的用戶影響力對于轉(zhuǎn)發(fā)預(yù)測的影響。2018 年郝苗苗等[4]采用詞典權(quán)重的規(guī)則算法,構(gòu)建了一個微博情緒化分析詞典,通過該詞典識別微博中的5 種情感極性:過度積極、輕微積極、中性、輕微消極、過度消極;并采用監(jiān)督學(xué)習(xí)的情緒分類預(yù)測方法對微博的情感極性展開分類預(yù)測,實驗結(jié)果表明該預(yù)測方法對短文本的預(yù)測準(zhǔn)確度較高。2018 年王寧等[5]提出了一種基于馬爾科夫隨機場構(gòu)架下分析微博具體內(nèi)容特點、用戶特點與用戶轉(zhuǎn)發(fā)行為束縛等客觀因素對用戶轉(zhuǎn)發(fā)行為的影響,并在邏輯回歸數(shù)學(xué)模型之上構(gòu)造了相應(yīng)的函數(shù)對用戶轉(zhuǎn)發(fā)行為展開系統(tǒng)的預(yù)測。2019 年穆圣坤等[6]采用基于循環(huán)神經(jīng)網(wǎng)絡(luò)的方法來對微博轉(zhuǎn)發(fā)量級進行預(yù)測,該神經(jīng)網(wǎng)絡(luò)模型融入微博營銷策略及用戶粉絲數(shù)量的變化,利用SIM-LSTM 模型構(gòu)建微博轉(zhuǎn)發(fā)趨勢度,通過該神經(jīng)網(wǎng)絡(luò)模型來預(yù)測用戶是否進行微博轉(zhuǎn)發(fā)行為。2019年王紹卿等[7]提出了聯(lián)合概率模型,該模型將用戶之間多重信任關(guān)系融入傳統(tǒng)的BPF 模型,通過模型可捕捉到用戶之間的社交關(guān)系。2019 年王飛[8]針對以微博為例的社交網(wǎng)絡(luò)信息分享問題中影響力最大化,提出了基于記憶效應(yīng)和社交增強效應(yīng)的社交網(wǎng)絡(luò)影響最大化模型,提高傳播效果和傳播效率,構(gòu)建了一種基于Hadoop 的網(wǎng)絡(luò)輿情分析模型,采用了HDFS 用來存放大量數(shù)據(jù),實驗驗證了其有效性,實現(xiàn)了一個微博輿情分析和預(yù)警原型系統(tǒng)。
上述研究主要針對客觀因素對用戶轉(zhuǎn)發(fā)行為的影響、微博特定興趣內(nèi)轉(zhuǎn)發(fā)率等問題,但是對在線微博轉(zhuǎn)發(fā)預(yù)測的準(zhǔn)確度的研究方向提及的內(nèi)容比較有限,本研究基于LDA 主題模型、采用TF-IDF算法、改進的在線被動攻擊算法,從而提高了微博轉(zhuǎn)發(fā)預(yù)測的準(zhǔn)確度。
(1)用python 爬取數(shù)據(jù)
爬取新華視點從2019.1.1—2019.3.25 期間發(fā)布的微博數(shù)據(jù)以及關(guān)注該微博用戶的粉絲發(fā)布的微博內(nèi)容共35 600 條,算法隨機將23 600 條數(shù)據(jù)作為訓(xùn)練數(shù)據(jù)集,將12 000 條數(shù)據(jù)作為驗證集。采取合適的方法對數(shù)據(jù)進行嚴(yán)格規(guī)范的預(yù)處理,同時要進行合理分詞;文本采集是利用python 爬蟲,安裝request(用來獲取htlm 頁面)和beautifulsoup(用來進行htlm 解析)框架,登錄新浪微博,為了查看具體的粉絲信息,通過調(diào)試工具,用cookie 復(fù)制出來,用ajax 異步下拉加載。作為當(dāng)前備受業(yè)內(nèi)人士推崇且應(yīng)用比較廣泛的一種網(wǎng)頁開發(fā)技術(shù),Ajax 借助JavaScript 在確保頁面不會被刷新、頁面鏈接保持原狀的前提下和服務(wù)器完成數(shù)據(jù)交換、網(wǎng)頁更新等操作。在chrome 的調(diào)試模式之下捕獲相應(yīng)請求爬取下用戶名、關(guān)注量、點贊量、轉(zhuǎn)發(fā)量等。
(2)微博內(nèi)容的興趣特征提取
對用戶微博內(nèi)容進行分詞處理、對用戶的興趣特征進行提取,將微博內(nèi)容歸納為6 大主題。分析出每篇文章的主題和在每個主題上的權(quán)重分布。
(3)分析影響微博用戶轉(zhuǎn)發(fā)行為因素
研究影響微博用戶轉(zhuǎn)發(fā)行為的其他因素包括微博本身特征以及不同類型的用戶特征。
(4)預(yù)測分享模型的建立
預(yù)測用戶是否會轉(zhuǎn)發(fā)指定微博。
用戶興趣特征提取采用LDA 主題模型。LDA主題模型簡單來講是一種由“文檔、詞語”等相關(guān)元素共同構(gòu)成的模型。假定一篇文章中的所有詞都是借助“以某種可能確定某主題,并在此主題中以某種可能確定某文檔”的方式而獲取的,無論是詞語到主題,還是主題到文檔,均滿足多項式分布要求[9]。
LDA 的聯(lián)合概率原理如下所示:
LDA 主題模型流程如圖1 所示。
圖1 LDA 主題模型流程
LDA 主題模型結(jié)合結(jié)巴算法對文本數(shù)據(jù)進行分詞[10],使用正向詞頻統(tǒng)計和逆向文檔數(shù)統(tǒng)計即TF-IDF 值作為每個詞語的屬性值,結(jié)合停用詞表對文本無用詞進行停用以提高預(yù)測準(zhǔn)確性。
微博中轉(zhuǎn)發(fā)用戶是比較多的,如果當(dāng)信息量達到一定量時選用關(guān)聯(lián)規(guī)則、決策樹等傳統(tǒng)式算法對微博轉(zhuǎn)發(fā)進行預(yù)測的速度是比較慢的。本文基于PA算法,構(gòu)建一種基于用戶興趣特征的微博信息分享轉(zhuǎn)發(fā)預(yù)測模型,該模型在處理大規(guī)模數(shù)據(jù)的轉(zhuǎn)發(fā)預(yù)測時速度較快,但是需要大量的數(shù)據(jù)對該信息分享轉(zhuǎn)發(fā)預(yù)測模型進行訓(xùn)練,對存儲空間要求高。
PA 算法思想為:人們普遍認為微博信息形成于一個不間斷的動態(tài)數(shù)列,對所有動態(tài)數(shù)列內(nèi)出現(xiàn)的新的信息進行用戶能否轉(zhuǎn)發(fā)預(yù)判,把用戶標(biāo)記為0(不轉(zhuǎn)發(fā))或1(轉(zhuǎn)發(fā)),預(yù)判結(jié)束后,用戶在該動態(tài)數(shù)列結(jié)束時是否進行了轉(zhuǎn)發(fā)也就出現(xiàn)了。
算法有3 種表示形式如表1 所示。
表1 算法表現(xiàn)形式
算法瞬時損失函數(shù)如下:
新的向量Wt+1被設(shè)定為Wt對Cε(zt)的推測,即:
與傳統(tǒng)的PA 算法不同,在測出待測用戶每條微博的主題和與系統(tǒng)主題的相似度的同時,除了新更新的規(guī)則外還考慮到用戶的興趣度因素影響用戶是否進行微博轉(zhuǎn)發(fā),并在原有的全局模型中加入用戶的興趣度局部模型來一同決定用戶轉(zhuǎn)發(fā)微博的概率。本文對此模型進行如下構(gòu)建。
(1)使用PA 算法建立全域模型,使用局部模型更新局部規(guī)則。
(2)用戶的興趣特征提供了對微博數(shù)據(jù)的訓(xùn)練,并對模型的局部規(guī)則進行更新。
(3)在預(yù)測過程中,更新用戶興趣權(quán)重對傳統(tǒng)PA 算法的模型進行合理更新,根據(jù)全局規(guī)則以及局部規(guī)則對判別結(jié)果進行合理確定:
式中:wt為全局權(quán)重;wξ為特定微博ξ的興趣相似度權(quán)重;α為權(quán)重系數(shù),可以定義為興趣相似度權(quán)重與全局影響力權(quán)重比例,即α=ξn/N;N為時間段的全局影響力權(quán)重;ξn為興趣相似度權(quán)重,在ξ時間序列內(nèi)興趣相似度權(quán)重越大則表示該時間序列內(nèi)的局部規(guī)則起到的作用也越大。
用戶原創(chuàng)的微博可以代表用戶最近的興趣趨勢,用戶轉(zhuǎn)發(fā)的微博表示用戶對該事件感興趣,轉(zhuǎn)發(fā)博主微博的概率權(quán)重增加。微博用戶的主要特征有關(guān)注博主數(shù)量、用戶是否認證、歷史轉(zhuǎn)發(fā)微博、用戶是否VIP、微博等級、活躍度等。
微博用戶的特征都是比較好區(qū)分的,不同的影響力對用戶微博轉(zhuǎn)發(fā)率有所影響,其中粉絲數(shù)量多少就可以代表該博主的影響力大小,例如帶有大V標(biāo)識的微博用戶發(fā)布的微博更容易被其他用戶轉(zhuǎn)發(fā),因為該微博用戶與其他用戶相比較具有更高的可信度。微博用戶粉絲數(shù)量的多少也會影響微博轉(zhuǎn)發(fā)率,因為在一定的瀏覽時間內(nèi),博主用戶的粉絲數(shù)量越多則看見該博主發(fā)布的微博內(nèi)容的人就越多。用戶發(fā)布微博數(shù)量多少可以代表用戶的活躍度,一般來講,用戶的活躍度愈高,發(fā)布的微博被其他用戶看到并轉(zhuǎn)發(fā)的可能性愈大。用戶進行實名認證或者轉(zhuǎn)為VIP、用戶等級高都可以提高用戶的可信度,用戶的歷史轉(zhuǎn)發(fā)過微博可以代表該用戶在這段時間內(nèi)的興趣點,用來分析用戶標(biāo)簽。
爬取新浪微博用戶新華視點從 2019.1.1~2019.3.28 發(fā)布的微博作為試驗數(shù)據(jù),選取有二次轉(zhuǎn)發(fā)可能的用戶微博數(shù)據(jù)進行分析預(yù)測。
首先通過嚴(yán)謹(jǐn)規(guī)范、成熟合理的LDA主題預(yù)測模型高效合理地分類文本,在對文本的主題特征展開分析時,應(yīng)結(jié)合實際情況對LDA模型生成的主題數(shù)量進行科學(xué)合理地明確,通常利用perplexity 算法進行運算,詳情如下:
式中:M表示測試語料庫的規(guī)模;Nd表示第d篇文本大小。
在上式,z是主題,w是文檔,gamma表示基于訓(xùn)練集學(xué)而推導(dǎo)的文本-主題分布情況,由此可知,perplexity 的上半部分即為生成文檔的似然估計的負值,本文將概率的區(qū)間定義為[0,1],根據(jù)對數(shù)函數(shù)的含義能夠了解到,分子值較大時,分母表示測試集中所含有的所有單詞數(shù)量,一般來講,分析模型的生成水平愈低,perplexity 的值就越高。試驗結(jié)果表明主題數(shù)為6 時模型生成能力較強。
具體數(shù)據(jù)如表2 所示。
表2 主題數(shù)目
因為影響微博轉(zhuǎn)發(fā)的的因素有很多,參考之前學(xué)者研究的經(jīng)驗以及對實驗的驗證結(jié)果,選取了以下預(yù)測項目:從用戶信息角度:用戶名、關(guān)注量、粉絲量、微博數(shù)、用戶信息。從微博信息角度:發(fā)布時間、微博內(nèi)容、點贊量、轉(zhuǎn)發(fā)量、評論量、轉(zhuǎn)發(fā)博主。
基本預(yù)測:在對微博轉(zhuǎn)發(fā)展開預(yù)判前要對樣本數(shù)據(jù)展開歸一化,數(shù)據(jù)歸一化的目的是為了讓不同樣本數(shù)據(jù)具有不同的量綱單位。為避免各樣本數(shù)據(jù)間的量綱彼此干擾,影響預(yù)測精度,所以需要采取科學(xué)合理的方法對采集到的數(shù)據(jù)進行嚴(yán)格規(guī)范的歸一化處理。當(dāng)前應(yīng)用比較廣泛的方法主要包括min-max 法、均值方法、中間值法等。因為min-max方法會把數(shù)據(jù)樣本歸一到[0,1]范圍內(nèi),所以本文采取的是min-max 方法。公式如下:
采用標(biāo)準(zhǔn)的PA 算法、改進的PA 算法、隨機識別法3 種方法構(gòu)建的預(yù)測模型分別對樣本進行是否轉(zhuǎn)發(fā)預(yù)判,獲得預(yù)測準(zhǔn)確度,如圖2 所示。
圖2 預(yù)測準(zhǔn)確度
實驗驗證了改進PA 算法的有效性及可行性。
設(shè)計了一種基于用戶興趣特征的微博轉(zhuǎn)發(fā)預(yù)測模型,挖掘了用戶的興趣特征,分析了影響轉(zhuǎn)發(fā)因素,改進了在線被動攻擊算法以提高預(yù)測準(zhǔn)確度。實驗結(jié)果證明了該預(yù)測模型的有效性,提高了微博轉(zhuǎn)發(fā)預(yù)測的準(zhǔn)確度。