肖光華,王清蓮
1(江蘇城鄉建設職業學院 設備工程學院,常州 213147)
2(河海大學 計算機與信息工程學院,南京 210098)
3(常州開放大學 終身教育研究中心,常州 213001)
網絡通信技術的進步促使社交網絡成為信息傳播的重要渠道.人們通過智能終端發表觀點,表達意見,與之相伴產生的網絡輿情問題已經成為相關機構關注的熱點.以新浪微博為例,截至2019年底,微博月活躍用戶達到5.16 億,其海量輿情數據已經達到了讓任何部門、機構都無法忽視的地步.當前基于輿情熱度的研究多數是針對一些具體的熱門事件或熱門話題,無法從宏觀的角度把握目標群體的整體輿情動態,以廣義的輿情“關鍵詞”作為熱度的研究對象,如“手機”、“農產品”、“房價”、“比特幣”、“疫情”等,對企業產品精準營銷,政府部門輿情監測將更具有宏觀指導意義.目前對公眾開放的基于關鍵詞的大數據分析平臺主要有百度指數、微指數、頭條指數等,這類平臺雖然能夠提供一些關鍵詞的分析數據,但由于側重點不同,并不能滿足對輿情熱度需求的個性化分析.為此,本文以微博數據為基礎,提出了一種結合因子分析、遺傳算法的Elman 網絡模型對輿情關鍵詞熱度進行分析預測,以期為相關決策提供支持.
通過相關研究文獻的梳理,網絡輿情熱度的研究方法主要有兩類:
一類是根據事物發展的規律,基于時間序列挖掘自身歷史數據進行熱度的分析和預測.王寧等[1]采用灰色系統理論擬合時間序列指數對訴訟案件熱度進行了預測和分級管理問題.陳福集等[2]采用改進的ABCBP 模型對“天津港爆炸事件”的百度指數熱度走勢進行了預測研究.劉巧玲等[3]通過一種改進SIR 傳染病傳播模型,以“魏則西”事件發生前三天的數據來預測事件后續傳播趨勢.高穎[4]采用LS-SVM 算法對2018年哈爾濱市發生的“8.25”火災事件進行回歸建模從而預測其短期熱度值.這些針對特定事件的輿情熱度預測方法均能取得較好的預測效果,但對于輿情關鍵詞這種寬泛的指標,并不符合特定事件輿情熱度從產生、爆發到衰退的規律,時間序列越長,信息越分散,其波動更多呈“隨機”狀態.雖然林育曼等[5]構造了ARIMABP 神經網絡模型將預測對象視為隨機序列來近似逼近,取得較好的擬合效果.但對于突發值的預測往往不是很準確.
另一類是通過挖掘自身數據特征,找到與輿情熱度的關聯關系,從而進行熱度的分析和預測.鄭志蘊等[6]提出一種基于多特征的熱門微博預測算法,利用信息增益算法對微博特征熱度進行度量,結BP 神經網絡來預測是否為熱門微博.謝修娟等[7]提出一種基于密度的K-means 算法從微博內容中抓取熱詞,分析輿情熱點.蘭月新等[8]基于灰色關聯度方法構建網絡輿情熱度模型,定性分析了網絡輿情熱度影響因素.這些方法通過自定義熱度計算公式,采用分類和聚類算法預測的輿情熱度的發展趨勢,都具備較高的準確率和穩定性,但由于沒有客觀指標的量化分析,對于輿情關鍵詞的熱度研究存在一定的局限性.同時各特征對熱度指標的究竟有多大的貢獻還需進一步研究分析.
針對以上研究存在的局限,本文以新浪微博為例,設計了一種新的組合模型可有效提高網絡輿情關鍵詞熱度的預測精度.首先選取并量化影響輿情關鍵詞熱度的特征指標,采用因子分析方法提取其中貢獻較大的影響因子,剔除影響預測精度的噪聲冗余,然后將影響因子輸入到Elman 網絡中計算預測結果.為進一步提高預測精度,一方面通過增加神經元個數來反饋調節模型預測結果,另一方面利用遺傳算法優化網絡權值和初始參數,最終實現輿情熱度及其發展趨勢的預測.
以新浪微博公開可挖掘數據為例,與輿情熱度有關的特征一般包括博主特征、博文特征和傳播特征.博主特征包括博主ID(或昵稱)、博主類型(即認證身份)、關注數、粉絲數和微博數等[9],博主特征決定了它的受眾范圍,即熱度傳播的廣度.博文特征包括博文的長度、博文元素(圖片、視頻、鏈接、表情符號)、博文內容(所表達的情感)以及發布時間,一般博文長度和輿情熱度呈正相關態勢,博文所含元素越豐富越能吸引讀者的關注,內容情感的表達可以引起讀者的共鳴,可以說博文特征決定了輿情熱度的傳播強度.傳播特征包括微博的轉發數、評論數、點贊數以及發布平臺(PC 端、手機端等)[10],傳播特征是輿情熱度最直接的反映,決定的輿情熱度最終傳播的深度.為了能更好的分析熱度影響因素,需要將特征信息中非量化信息進行量化,如表1所示,根據這些信息對熱度的影響關系,從高到低依次賦分.
博文長度可根據字符統計個數直接賦分,博文內容的情感強度計算依據的是博文內容中所表達的正面和負面情感詞匯統計,采用中國科學院計算機所軟件室編寫的中文分詞工具ICTCLAS[11],對所有微博內容進行情感詞匯統計.一般情感強度定義公式可由式(1)表示:

其中,E為情感強度得分,epos為正面得分,eneg為負面得分,ω為權重系數,可以按照副詞的強弱程度分類[12].

表1 非量化信息賦值表
由于各特征信息所攜帶的信息量對輿情熱度預測的貢獻率以及關聯度差異較大,從而會影響最終的預測結果,同時信息中的噪聲和冗余也會影響預測結果的精度.因子分析采用潛在的假想變量和隨機影響變量的線性組合表示原始變量,通過提取其中具有較高貢獻率的因子來進行預測分析,既能反映輿情熱度的真實情況,又可以過濾影響結果的冗余信息,從而提高預測精度[13].
首先根據所采集到的特征信息,可視為隨機特征向量x=(x1,x2,···,xn)T,其均值為μ=(μ1,μ2,···,μn)T,協差陣為S=σij,因子分析的模型如下表示:

其中,f1,f2,···,fn為公共因子,ε1,ε2,···,εn為特殊因子,彼此都不相關,每個因子只對當前原始變量起作用,用矩陣形式表示為:

其中,A為因子荷載矩陣.然后采用主成分法進行參數估計,通過求解其特征根(i=1,2,···,n)和相應的正交單位特征向量為(i=1,2,···,n),選取保留較多原始信息的因子數m,計算其貢獻率G.

當貢獻率G達到一個較高的百分比,協差陣為S可作如下的近似分解:

其中,

式中,和就是因子模型的一個解.
為了能更清楚的了解各公共因子的物理解釋意義,采用最大方差法對因子荷載陣進行旋轉,使因子荷載陣的結構簡化,荷載矩陣中每列或行的元素平方值向0和1 兩極分化.令 Γ為正交陣,做正交變換求解:

A的行元素平方和為令i=1,2,···,n;j=1,2.
定義因子荷載矩陣A的方差為:

最后,采用回歸的方法將式(3)轉化為:

其中,β為因子的得分系數,F為各因子的最終得分.利用提取的公因子進行預測分析不僅達到了降維的目的,而且每個因子都具備物理解釋意義,更有利于輿情熱度影響因素的分析.
2.3.1 Elman 網絡結構設計
Elman 模型結構中不僅包含輸入層、中間層(即隱含層)和輸出層,還包含記載中間層歷史信息的承接層[14],相較于一般靜態神經網絡具有動態特性好,逼近速度快等特點.當然,Elman 網絡自身缺少對輸入輸出層的反饋而忽略了其對最終結果的影響[15],可以通過增加神經元個數,利用所有層的歷史信息來反饋調節模型預測結果,其網絡結構如圖1所示.
標準Elman 網絡非線性狀態空間表達式為[16]:
其中,ω為各層連接權值矩陣,f(?)為中間層傳遞函數,g(?)為輸出層傳遞函數.增加神經元后,其改進結構狀態空間表達式為:

其中,α、β、γ為反饋增益因子.

圖1 Elman 網絡結構圖
2.3.2 GA_Elman 算法設計
雖然通過改進Elman 網絡結構可以充分利用中間層信息對預測模型進行反饋調節,但也由此增加了網絡參數數量,其預測結果更容易受到網絡權值和初始參數的影響,而且Elman 網絡采用的梯度下降算法容易陷入局部最優解[17].借助遺傳算法理論上可以擴大到整個解空間范圍來尋找最優解.由于遺傳算法中每個種群個體都包含了Elman 網絡的所有權值和參數,個體通過適應度函數計算適應度值,通過選擇合適的種群規模并利用迭代的方式進行選擇、交叉和變異等運算就可以找到其最優適應度對應的個體,即最優權值參數.GA_Elman 算法的主要訓練流程如圖2所示.


圖2 GA_Elman 算法流程
根據2.3.1 節中式(13)~式(17),可知遺傳算法需要對6 個網絡權值矩陣和3 個反饋增益因子進行訓練計算,將預測輸出和期望輸出誤差絕對值的倒數作為適應度函數,計算公式為:

其中,n為網絡輸出節點數,yi為第i個節點預測輸入,E(yi)為第i個節點期望輸出,k為樣本系數.式(19)中選擇誤差的絕對值和沒有采用誤差平方主要是為了篩除種群中適應度受到輸入數據中離群點和異常值影響的個體.此外,染色體選擇方法采用輪盤賭法,即基于適應度比例的選擇策略[18].
本實驗由課題小組基于Python 語言開發的爬蟲工具來獲取新浪公開發布的微博數據,以2020年熱度始終在持續的“疫情”為關鍵詞,爬取從2020年1月21日至2020年4月27日的每天熱門微博作為實驗數據,共采集到67 238 條數據.按照2.1 節特征量化的方式對數據進行預處理,以日期為標簽可匯總成98 組數據,每組數據可提取13 個可量化特征.
由于新浪微博僅對博主自身開放微博“瀏覽量”這一熱度數據,無法從公開數據中采集到,因此本文分別選擇和輿情熱度密切相關的全網“博文數”和博主的博文“點贊數”作為目標特征,構造2 個實驗來對結果分析比對,以驗證方法的客觀有效性,構造方式如表2所示.

表2 實驗構造方式
實驗采用均方誤差(MSE)和判定系數(R2)作為評價標準,其公式如下所示:

其中,yi為的目標值,pi的預測值,SST為總平方和,SSR為回歸平方和,SSE為殘差平方和.
根據2.2 節式(2)-式(4)提取各公共因子并計算累積率,如表3所示.

表3 因子成分表
表3中顯示了各主成分解釋原始變量總方差的情況,為了盡可能保留原始特征信息,同時又達到降維去噪的目的,經過比較實驗,選擇保留前6 個因子的實驗效果最佳,因篇幅有限,分析比較的實驗過程不再贅述.由式(5)-式(9)得到旋轉后的因子成分表,如表4所示.
從表4中可比較清晰的看出各成分的物理解釋意義,成分1 可以認為是博主自身的影響力因子,成分2是平臺影響因子,成分3是微博自身熱度影響因子,成分4為受眾面影響因子,成分5為博文內容影響力因子,成分6為微博傳播持久力影響因子.

表4 旋轉后的成分矩陣
為了更好的檢驗預測效果,將清洗處理后的數據隨機分成兩組,前83 組為訓練集,后15 組為測試集,然后分別對原始特征數據采用Elman 算法預測(記為Elman),再對提取的公因子采用Elman 算法(記為FA_Elman)和改進后的Elman 算法(記為FA_GA_Elman)進行預測結果比對,實驗中遺傳算法的種群規模為100,交叉概率選擇為0.3,變異概率選擇為0.2,迭代次數為500.其結果對比如圖3所示,評價指標對比如表5所示.

圖3 發博數預測結果與真實值的比較

表5 發博數預測評價指標比較
從預測結果及評價指標中可以看出,采用公因子作為訓練特征其預測精度要優于直接以原始數據作為訓練特征,而改進后的Elman 算法預測精度要優于標準Elman 算法,而且經過遺傳算法優化后的Elman 網絡在預測結果上要比標準Elman 網絡穩定許多.
為更好檢驗本方法對于點贊數預測的有效性,在數據集中綜合選擇了擁有較多粉絲數量且周期內發博數量穩定的前十名熱門博主,對其每天點贊數量進行預測,將FA_Elman和FA_GA_Elman 預測結果進行比對.由于各博主不一定每天發布相關微博,統一取15 組數據作為測試集,其余數據作為訓練集,其預測結果如圖4所示.
從圖4中可以看出,FA_Elman和FA_GA_Elman的預測結果與真實值比較均具有較好的擬合度,而且對于突發值也能很好地反映其真實趨勢.表6給出了評價指標的對比結果以及各因子貢獻率,從中可以看出FA_GA_Elman 預測精度要優于FA_Elman,同時也表明通過因子分析,可以從數據集中提取出影響輿情熱度的內在因子,消除噪聲干擾,從而達到良好的預測效果.以人民日報點贊數預測為例,經過訓練后,其網絡參數如表7所示,優化后網絡參數權值范數要小于優化前的網絡參數權值,說明優化后的網絡具有更好的泛化性能.
新時期,網絡輿情具有信息規模大,傳播速度快,參與范圍廣,實時交互強等特點,把握輿情熱度無論對企業的經營策略,還是社會的公共安全都極為重要.本文結合了因子分析和GA_Elman 網絡的特點,提出了一種能有效預測輿情關鍵詞熱度的模型,首先采用因子分析方法揭示數據背后影響輿情熱度的真正內因,然后通過改進Elman 網絡結構并利用遺傳算法優化網絡權值參數,訓練輸出特征目標預測值.根據不同模型的實驗結果對比,本文提出的方法能有效的預測基于關鍵詞的輿情熱度,預測精度更高,具備一定的應用價值.未來將進一步擴充數據集,以期為相關研究提供個性化的預測分析方案.

圖4 點贊數預測結果與真實值的比較

表6 點贊數預測評價指標

表7 網絡參數優化前后對比