雍龍泉,賈 偉,張建科
(1陜西理工大學 數學與計算機科學學院,陜西 漢中,723001;2陜西省工業自動化重點實驗室,陜西 漢中723001;3西安郵電大學 理學院,西安710121)
互聯網技術的發展到今天,社交網絡大肆興起,人們越來越習慣于使用社交網絡媒體,也越來越傾向于借助這一平臺來實時分享自己的信息,發表言論、抒發情感。但是,當某一事件發生時,必將在社交網絡中廣泛傳播,由于社交網絡用戶的爆炸式增長,就很可能會產生輿情,輿情將會對民眾產生巨大的影響,甚至對社會安全產生一定的威脅[1-4]。因此,研究突發事件網絡輿情的傳播特性及演化過程,建立數學模型來探討突發事件網絡輿情演化規律及動力學分析,具有重要的現實意義[5-8]。
本文采用較為流行的網絡爬蟲技術從百度指數爬取某一“熱門事件”的數據,并對這些數據進行預處理;進而建立Logistic微分方程數學模型,利用已有數據,采用智能算法確定微分方程解中的3個參數,最后應用于網絡輿情預測。
本文的思路如圖1所示。

圖1 網絡輿情監測流程Fig.1 Network public opinion monitoring process
下文以近期“茍晶”事件為例,說明該方法的應用。
打開網址http://index.baidu.com/,輸入關鍵詞“茍晶”;設置時間范圍為近30天,即2020.6.24-2020.7.23(時間范圍可以手動設置);得到百度搜索指數如圖2所示。

圖2 百度搜索指數Fig.2 Baidu Search Index
百度指數,主要包括搜索指數、資訊指數、媒體指數。百度搜索指數是以網民每天在百度的搜索量為數據基礎,以關鍵詞為統計對象,科學分析并計算出各個關鍵詞在百度網頁搜索中搜索頻次的加權和;它能形象地反映該關鍵詞每天的變化趨勢,根據使用百度搜索來源的不同,搜索指數分為PC端和移動端。
我們采用Python爬蟲技術[9-10],獲得該時間段內的數據見表1前3列。為了建立數學模型,下面對這些數據進行初步處理。
把2020-06-24當做第一天,即t1=1,其余依次類推,2020-07-23便是第30天;百度搜索指數,也即每天的關注量,從數學上而言即單位時間信息量dx/dt;每天關注量的累計,即網絡輿情信息量的和x(t i);簡單處理后得到表1的第4與第5列數據。

表1 數據列表Tab.1 Data list
大疫當前,數學能做什么[11]?國內已有一些學者對突發事件網絡輿情進行了研究,張一文等利用系統動力學建模探究事物自身演化機理,為控制非常規突發事件網絡輿情擴散,引導非常規突發事件輿情傳播提供有力依據[12];宋海龍等根據突發事件網絡輿情具有自由性、互動性、即時性、隱匿性、群體極化性等特點,探討了形成、高漲、波動和最終淡化4個階段網絡輿情的引導和控制問題[13]。學習過數學建模或者生物數學的人都知道,(整數階或分數階)傳染病模型,包括SIR、SEIR模型[14-15]等,從數學上而言,就是微分方程(組)。換句話說,只要是與時間變化相關,則建立的模型要么是差分方程模型(離散問題),要么是微分方程模型(連續問題),此外還有時滯微分方程模型等。
網絡輿情的演進規律,遵循如下微分方程模型:

這里x(t)表示網民對某一熱門事件進行交流而形成的網絡輿情信息量的和,單位時間信息量和值的相對變化率為r,x(t)的上限為K。 這個模型也稱為Logistic模型,廣泛應用于生態系統、經濟系統、傳染病模型等。計算可以得到該微分方程的解為:

取初始值x0=50,K=11 000,r=1,函數x(t)的圖像如圖3所示。

圖3 函數x(t)的圖像Fig.3 Image of function x(t)
在輿情建模與仿真相關文獻里面,有的學者把輿情的傳播劃分為3個階段,分別稱之為輿情的產生階段、發展階段、衰退階段;有的學者把輿情的傳播劃分為6個階段,分別稱之為輿情的潛伏期、成長期、蔓延期、爆發期、衰退期、消亡期;也有些學者把輿情的傳播劃分為5個階段,分別稱之為輿情的潛伏期、萌動期、加速期、成熟期、衰退期。劃分為5個階段的較為常見,這方面的研究見文獻[5-6],在此不再詳述。網絡輿情信息量的和x(t),其一般形式為:

分別建立如下最小誤差優化模型:

模型(4)采用非線性最小二乘,模型(5)采用非線性最小一乘。
令X=(c1,c2,c3),模型(4)與(5)便是一個無約束優化問題minf(X),下面采用正弦余弦算法(Sine Cosine Algorithm,簡稱SCA)來確定參數X。SCA算法步驟如下:
步驟1初始化
設置種群規模N,空間維數D,控制參數a,最大迭代次數Tmax;在可行域空間中隨機初始化N個個體組成初始種群;t=1;計算當前每個個體的適應值,并記錄最優個體位置P(t);
步驟2種群更新

隨機產生r2∈U[0,2π],r3∈U[0,2],r4∈U[0,1];


越界處理;
計算每個個體的適應值并更新種群的最優個體位置P(t);t=t+1;
end while
步驟3輸出解
SCA算法最顯著的特點是基于正弦函數(6)和余弦函數(7)值的變化來達到尋優目的,其結構簡單,容易實現,在SCA算法中,主要參數有4個:r1、r2、r3、r4。 其中,最關鍵的是r1,控制算法從全局搜索到局部開發的轉換。有關正弦余弦算法詳細分析,見文獻[16]。
對模型(4),SCA優化結果為:

從以上便得到:

代入t i,i=1,2,…,30,預測得到的數據見表1的最后一列。
為了較為直觀的反映網絡輿情的發展趨勢,圖4給出了百度搜索指數,圖5給了網絡輿情信息量的擬合曲線與誤差圖。

圖4 百度搜索指數Fig.4 Baidu Search Index

圖5 擬合曲線與誤差Fig.5 The fitting curve and error
從圖5可以看出,前期存在誤差,后期誤差很小。主要原因在于,對于突發事件,網絡輿情前期不穩定、波動大,所以誤差較大;越到后期,網絡輿情較為一致,所以后期誤差較小。
正弦余弦算法對目標函數的可導性無限制,因此不論是采用可導的非線性最小二乘模型(4),還是采用不可導的非線性最小一乘模型(5),SCA算法都能夠獲得近似一致的結果;這為輿情傳播建模與仿真開辟了新的方向。