肖光華,王清蓮
1(江蘇城鄉(xiāng)建設(shè)職業(yè)學(xué)院 設(shè)備工程學(xué)院,常州 213147)
2(河海大學(xué) 計算機與信息工程學(xué)院,南京 210098)
3(常州開放大學(xué) 終身教育研究中心,常州 213001)
網(wǎng)絡(luò)通信技術(shù)的進步促使社交網(wǎng)絡(luò)成為信息傳播的重要渠道.人們通過智能終端發(fā)表觀點,表達(dá)意見,與之相伴產(chǎn)生的網(wǎng)絡(luò)輿情問題已經(jīng)成為相關(guān)機構(gòu)關(guān)注的熱點.以新浪微博為例,截至2019年底,微博月活躍用戶達(dá)到5.16 億,其海量輿情數(shù)據(jù)已經(jīng)達(dá)到了讓任何部門、機構(gòu)都無法忽視的地步.當(dāng)前基于輿情熱度的研究多數(shù)是針對一些具體的熱門事件或熱門話題,無法從宏觀的角度把握目標(biāo)群體的整體輿情動態(tài),以廣義的輿情“關(guān)鍵詞”作為熱度的研究對象,如“手機”、“農(nóng)產(chǎn)品”、“房價”、“比特幣”、“疫情”等,對企業(yè)產(chǎn)品精準(zhǔn)營銷,政府部門輿情監(jiān)測將更具有宏觀指導(dǎo)意義.目前對公眾開放的基于關(guān)鍵詞的大數(shù)據(jù)分析平臺主要有百度指數(shù)、微指數(shù)、頭條指數(shù)等,這類平臺雖然能夠提供一些關(guān)鍵詞的分析數(shù)據(jù),但由于側(cè)重點不同,并不能滿足對輿情熱度需求的個性化分析.為此,本文以微博數(shù)據(jù)為基礎(chǔ),提出了一種結(jié)合因子分析、遺傳算法的Elman 網(wǎng)絡(luò)模型對輿情關(guān)鍵詞熱度進行分析預(yù)測,以期為相關(guān)決策提供支持.
通過相關(guān)研究文獻(xiàn)的梳理,網(wǎng)絡(luò)輿情熱度的研究方法主要有兩類:
一類是根據(jù)事物發(fā)展的規(guī)律,基于時間序列挖掘自身歷史數(shù)據(jù)進行熱度的分析和預(yù)測.王寧等[1]采用灰色系統(tǒng)理論擬合時間序列指數(shù)對訴訟案件熱度進行了預(yù)測和分級管理問題.陳福集等[2]采用改進的ABCBP 模型對“天津港爆炸事件”的百度指數(shù)熱度走勢進行了預(yù)測研究.劉巧玲等[3]通過一種改進SIR 傳染病傳播模型,以“魏則西”事件發(fā)生前三天的數(shù)據(jù)來預(yù)測事件后續(xù)傳播趨勢.高穎[4]采用LS-SVM 算法對2018年哈爾濱市發(fā)生的“8.25”火災(zāi)事件進行回歸建模從而預(yù)測其短期熱度值.這些針對特定事件的輿情熱度預(yù)測方法均能取得較好的預(yù)測效果,但對于輿情關(guān)鍵詞這種寬泛的指標(biāo),并不符合特定事件輿情熱度從產(chǎn)生、爆發(fā)到衰退的規(guī)律,時間序列越長,信息越分散,其波動更多呈“隨機”狀態(tài).雖然林育曼等[5]構(gòu)造了ARIMABP 神經(jīng)網(wǎng)絡(luò)模型將預(yù)測對象視為隨機序列來近似逼近,取得較好的擬合效果.但對于突發(fā)值的預(yù)測往往不是很準(zhǔn)確.
另一類是通過挖掘自身數(shù)據(jù)特征,找到與輿情熱度的關(guān)聯(lián)關(guān)系,從而進行熱度的分析和預(yù)測.鄭志蘊等[6]提出一種基于多特征的熱門微博預(yù)測算法,利用信息增益算法對微博特征熱度進行度量,結(jié)BP 神經(jīng)網(wǎng)絡(luò)來預(yù)測是否為熱門微博.謝修娟等[7]提出一種基于密度的K-means 算法從微博內(nèi)容中抓取熱詞,分析輿情熱點.蘭月新等[8]基于灰色關(guān)聯(lián)度方法構(gòu)建網(wǎng)絡(luò)輿情熱度模型,定性分析了網(wǎng)絡(luò)輿情熱度影響因素.這些方法通過自定義熱度計算公式,采用分類和聚類算法預(yù)測的輿情熱度的發(fā)展趨勢,都具備較高的準(zhǔn)確率和穩(wěn)定性,但由于沒有客觀指標(biāo)的量化分析,對于輿情關(guān)鍵詞的熱度研究存在一定的局限性.同時各特征對熱度指標(biāo)的究竟有多大的貢獻(xiàn)還需進一步研究分析.
針對以上研究存在的局限,本文以新浪微博為例,設(shè)計了一種新的組合模型可有效提高網(wǎng)絡(luò)輿情關(guān)鍵詞熱度的預(yù)測精度.首先選取并量化影響輿情關(guān)鍵詞熱度的特征指標(biāo),采用因子分析方法提取其中貢獻(xiàn)較大的影響因子,剔除影響預(yù)測精度的噪聲冗余,然后將影響因子輸入到Elman 網(wǎng)絡(luò)中計算預(yù)測結(jié)果.為進一步提高預(yù)測精度,一方面通過增加神經(jīng)元個數(shù)來反饋調(diào)節(jié)模型預(yù)測結(jié)果,另一方面利用遺傳算法優(yōu)化網(wǎng)絡(luò)權(quán)值和初始參數(shù),最終實現(xiàn)輿情熱度及其發(fā)展趨勢的預(yù)測.
以新浪微博公開可挖掘數(shù)據(jù)為例,與輿情熱度有關(guān)的特征一般包括博主特征、博文特征和傳播特征.博主特征包括博主ID(或昵稱)、博主類型(即認(rèn)證身份)、關(guān)注數(shù)、粉絲數(shù)和微博數(shù)等[9],博主特征決定了它的受眾范圍,即熱度傳播的廣度.博文特征包括博文的長度、博文元素(圖片、視頻、鏈接、表情符號)、博文內(nèi)容(所表達(dá)的情感)以及發(fā)布時間,一般博文長度和輿情熱度呈正相關(guān)態(tài)勢,博文所含元素越豐富越能吸引讀者的關(guān)注,內(nèi)容情感的表達(dá)可以引起讀者的共鳴,可以說博文特征決定了輿情熱度的傳播強度.傳播特征包括微博的轉(zhuǎn)發(fā)數(shù)、評論數(shù)、點贊數(shù)以及發(fā)布平臺(PC 端、手機端等)[10],傳播特征是輿情熱度最直接的反映,決定的輿情熱度最終傳播的深度.為了能更好的分析熱度影響因素,需要將特征信息中非量化信息進行量化,如表1所示,根據(jù)這些信息對熱度的影響關(guān)系,從高到低依次賦分.
博文長度可根據(jù)字符統(tǒng)計個數(shù)直接賦分,博文內(nèi)容的情感強度計算依據(jù)的是博文內(nèi)容中所表達(dá)的正面和負(fù)面情感詞匯統(tǒng)計,采用中國科學(xué)院計算機所軟件室編寫的中文分詞工具ICTCLAS[11],對所有微博內(nèi)容進行情感詞匯統(tǒng)計.一般情感強度定義公式可由式(1)表示:
其中,E為情感強度得分,epos為正面得分,eneg為負(fù)面得分,ω為權(quán)重系數(shù),可以按照副詞的強弱程度分類[12].
表1 非量化信息賦值表
由于各特征信息所攜帶的信息量對輿情熱度預(yù)測的貢獻(xiàn)率以及關(guān)聯(lián)度差異較大,從而會影響最終的預(yù)測結(jié)果,同時信息中的噪聲和冗余也會影響預(yù)測結(jié)果的精度.因子分析采用潛在的假想變量和隨機影響變量的線性組合表示原始變量,通過提取其中具有較高貢獻(xiàn)率的因子來進行預(yù)測分析,既能反映輿情熱度的真實情況,又可以過濾影響結(jié)果的冗余信息,從而提高預(yù)測精度[13].
首先根據(jù)所采集到的特征信息,可視為隨機特征向量x=(x1,x2,···,xn)T,其均值為μ=(μ1,μ2,···,μn)T,協(xié)差陣為S=σij,因子分析的模型如下表示:
其中,f1,f2,···,fn為公共因子,ε1,ε2,···,εn為特殊因子,彼此都不相關(guān),每個因子只對當(dāng)前原始變量起作用,用矩陣形式表示為:
其中,A為因子荷載矩陣.然后采用主成分法進行參數(shù)估計,通過求解其特征根(i=1,2,···,n)和相應(yīng)的正交單位特征向量為(i=1,2,···,n),選取保留較多原始信息的因子數(shù)m,計算其貢獻(xiàn)率G.
當(dāng)貢獻(xiàn)率G達(dá)到一個較高的百分比,協(xié)差陣為S可作如下的近似分解:
其中,
式中,和就是因子模型的一個解.
為了能更清楚的了解各公共因子的物理解釋意義,采用最大方差法對因子荷載陣進行旋轉(zhuǎn),使因子荷載陣的結(jié)構(gòu)簡化,荷載矩陣中每列或行的元素平方值向0和1 兩極分化.令 Γ為正交陣,做正交變換求解:
A的行元素平方和為令i=1,2,···,n;j=1,2.
定義因子荷載矩陣A的方差為:
最后,采用回歸的方法將式(3)轉(zhuǎn)化為:
其中,β為因子的得分系數(shù),F為各因子的最終得分.利用提取的公因子進行預(yù)測分析不僅達(dá)到了降維的目的,而且每個因子都具備物理解釋意義,更有利于輿情熱度影響因素的分析.
2.3.1 Elman 網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計
Elman 模型結(jié)構(gòu)中不僅包含輸入層、中間層(即隱含層)和輸出層,還包含記載中間層歷史信息的承接層[14],相較于一般靜態(tài)神經(jīng)網(wǎng)絡(luò)具有動態(tài)特性好,逼近速度快等特點.當(dāng)然,Elman 網(wǎng)絡(luò)自身缺少對輸入輸出層的反饋而忽略了其對最終結(jié)果的影響[15],可以通過增加神經(jīng)元個數(shù),利用所有層的歷史信息來反饋調(diào)節(jié)模型預(yù)測結(jié)果,其網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示.
標(biāo)準(zhǔn)Elman 網(wǎng)絡(luò)非線性狀態(tài)空間表達(dá)式為[16]:
其中,ω為各層連接權(quán)值矩陣,f(?)為中間層傳遞函數(shù),g(?)為輸出層傳遞函數(shù).增加神經(jīng)元后,其改進結(jié)構(gòu)狀態(tài)空間表達(dá)式為:
其中,α、β、γ為反饋增益因子.
圖1 Elman 網(wǎng)絡(luò)結(jié)構(gòu)圖
2.3.2 GA_Elman 算法設(shè)計
雖然通過改進Elman 網(wǎng)絡(luò)結(jié)構(gòu)可以充分利用中間層信息對預(yù)測模型進行反饋調(diào)節(jié),但也由此增加了網(wǎng)絡(luò)參數(shù)數(shù)量,其預(yù)測結(jié)果更容易受到網(wǎng)絡(luò)權(quán)值和初始參數(shù)的影響,而且Elman 網(wǎng)絡(luò)采用的梯度下降算法容易陷入局部最優(yōu)解[17].借助遺傳算法理論上可以擴大到整個解空間范圍來尋找最優(yōu)解.由于遺傳算法中每個種群個體都包含了Elman 網(wǎng)絡(luò)的所有權(quán)值和參數(shù),個體通過適應(yīng)度函數(shù)計算適應(yīng)度值,通過選擇合適的種群規(guī)模并利用迭代的方式進行選擇、交叉和變異等運算就可以找到其最優(yōu)適應(yīng)度對應(yīng)的個體,即最優(yōu)權(quán)值參數(shù).GA_Elman 算法的主要訓(xùn)練流程如圖2所示.
圖2 GA_Elman 算法流程
根據(jù)2.3.1 節(jié)中式(13)~式(17),可知遺傳算法需要對6 個網(wǎng)絡(luò)權(quán)值矩陣和3 個反饋增益因子進行訓(xùn)練計算,將預(yù)測輸出和期望輸出誤差絕對值的倒數(shù)作為適應(yīng)度函數(shù),計算公式為:
其中,n為網(wǎng)絡(luò)輸出節(jié)點數(shù),yi為第i個節(jié)點預(yù)測輸入,E(yi)為第i個節(jié)點期望輸出,k為樣本系數(shù).式(19)中選擇誤差的絕對值和沒有采用誤差平方主要是為了篩除種群中適應(yīng)度受到輸入數(shù)據(jù)中離群點和異常值影響的個體.此外,染色體選擇方法采用輪盤賭法,即基于適應(yīng)度比例的選擇策略[18].
本實驗由課題小組基于Python 語言開發(fā)的爬蟲工具來獲取新浪公開發(fā)布的微博數(shù)據(jù),以2020年熱度始終在持續(xù)的“疫情”為關(guān)鍵詞,爬取從2020年1月21日至2020年4月27日的每天熱門微博作為實驗數(shù)據(jù),共采集到67 238 條數(shù)據(jù).按照2.1 節(jié)特征量化的方式對數(shù)據(jù)進行預(yù)處理,以日期為標(biāo)簽可匯總成98 組數(shù)據(jù),每組數(shù)據(jù)可提取13 個可量化特征.
由于新浪微博僅對博主自身開放微博“瀏覽量”這一熱度數(shù)據(jù),無法從公開數(shù)據(jù)中采集到,因此本文分別選擇和輿情熱度密切相關(guān)的全網(wǎng)“博文數(shù)”和博主的博文“點贊數(shù)”作為目標(biāo)特征,構(gòu)造2 個實驗來對結(jié)果分析比對,以驗證方法的客觀有效性,構(gòu)造方式如表2所示.
表2 實驗構(gòu)造方式
實驗采用均方誤差(MSE)和判定系數(shù)(R2)作為評價標(biāo)準(zhǔn),其公式如下所示:
其中,yi為的目標(biāo)值,pi的預(yù)測值,SST為總平方和,SSR為回歸平方和,SSE為殘差平方和.
根據(jù)2.2 節(jié)式(2)-式(4)提取各公共因子并計算累積率,如表3所示.
表3 因子成分表
表3中顯示了各主成分解釋原始變量總方差的情況,為了盡可能保留原始特征信息,同時又達(dá)到降維去噪的目的,經(jīng)過比較實驗,選擇保留前6 個因子的實驗效果最佳,因篇幅有限,分析比較的實驗過程不再贅述.由式(5)-式(9)得到旋轉(zhuǎn)后的因子成分表,如表4所示.
從表4中可比較清晰的看出各成分的物理解釋意義,成分1 可以認(rèn)為是博主自身的影響力因子,成分2是平臺影響因子,成分3是微博自身熱度影響因子,成分4為受眾面影響因子,成分5為博文內(nèi)容影響力因子,成分6為微博傳播持久力影響因子.
表4 旋轉(zhuǎn)后的成分矩陣
為了更好的檢驗預(yù)測效果,將清洗處理后的數(shù)據(jù)隨機分成兩組,前83 組為訓(xùn)練集,后15 組為測試集,然后分別對原始特征數(shù)據(jù)采用Elman 算法預(yù)測(記為Elman),再對提取的公因子采用Elman 算法(記為FA_Elman)和改進后的Elman 算法(記為FA_GA_Elman)進行預(yù)測結(jié)果比對,實驗中遺傳算法的種群規(guī)模為100,交叉概率選擇為0.3,變異概率選擇為0.2,迭代次數(shù)為500.其結(jié)果對比如圖3所示,評價指標(biāo)對比如表5所示.
圖3 發(fā)博數(shù)預(yù)測結(jié)果與真實值的比較
表5 發(fā)博數(shù)預(yù)測評價指標(biāo)比較
從預(yù)測結(jié)果及評價指標(biāo)中可以看出,采用公因子作為訓(xùn)練特征其預(yù)測精度要優(yōu)于直接以原始數(shù)據(jù)作為訓(xùn)練特征,而改進后的Elman 算法預(yù)測精度要優(yōu)于標(biāo)準(zhǔn)Elman 算法,而且經(jīng)過遺傳算法優(yōu)化后的Elman 網(wǎng)絡(luò)在預(yù)測結(jié)果上要比標(biāo)準(zhǔn)Elman 網(wǎng)絡(luò)穩(wěn)定許多.
為更好檢驗本方法對于點贊數(shù)預(yù)測的有效性,在數(shù)據(jù)集中綜合選擇了擁有較多粉絲數(shù)量且周期內(nèi)發(fā)博數(shù)量穩(wěn)定的前十名熱門博主,對其每天點贊數(shù)量進行預(yù)測,將FA_Elman和FA_GA_Elman 預(yù)測結(jié)果進行比對.由于各博主不一定每天發(fā)布相關(guān)微博,統(tǒng)一取15 組數(shù)據(jù)作為測試集,其余數(shù)據(jù)作為訓(xùn)練集,其預(yù)測結(jié)果如圖4所示.
從圖4中可以看出,FA_Elman和FA_GA_Elman的預(yù)測結(jié)果與真實值比較均具有較好的擬合度,而且對于突發(fā)值也能很好地反映其真實趨勢.表6給出了評價指標(biāo)的對比結(jié)果以及各因子貢獻(xiàn)率,從中可以看出FA_GA_Elman 預(yù)測精度要優(yōu)于FA_Elman,同時也表明通過因子分析,可以從數(shù)據(jù)集中提取出影響輿情熱度的內(nèi)在因子,消除噪聲干擾,從而達(dá)到良好的預(yù)測效果.以人民日報點贊數(shù)預(yù)測為例,經(jīng)過訓(xùn)練后,其網(wǎng)絡(luò)參數(shù)如表7所示,優(yōu)化后網(wǎng)絡(luò)參數(shù)權(quán)值范數(shù)要小于優(yōu)化前的網(wǎng)絡(luò)參數(shù)權(quán)值,說明優(yōu)化后的網(wǎng)絡(luò)具有更好的泛化性能.
新時期,網(wǎng)絡(luò)輿情具有信息規(guī)模大,傳播速度快,參與范圍廣,實時交互強等特點,把握輿情熱度無論對企業(yè)的經(jīng)營策略,還是社會的公共安全都極為重要.本文結(jié)合了因子分析和GA_Elman 網(wǎng)絡(luò)的特點,提出了一種能有效預(yù)測輿情關(guān)鍵詞熱度的模型,首先采用因子分析方法揭示數(shù)據(jù)背后影響輿情熱度的真正內(nèi)因,然后通過改進Elman 網(wǎng)絡(luò)結(jié)構(gòu)并利用遺傳算法優(yōu)化網(wǎng)絡(luò)權(quán)值參數(shù),訓(xùn)練輸出特征目標(biāo)預(yù)測值.根據(jù)不同模型的實驗結(jié)果對比,本文提出的方法能有效的預(yù)測基于關(guān)鍵詞的輿情熱度,預(yù)測精度更高,具備一定的應(yīng)用價值.未來將進一步擴充數(shù)據(jù)集,以期為相關(guān)研究提供個性化的預(yù)測分析方案.
圖4 點贊數(shù)預(yù)測結(jié)果與真實值的比較
表6 點贊數(shù)預(yù)測評價指標(biāo)
表7 網(wǎng)絡(luò)參數(shù)優(yōu)化前后對比