王海兮,吳喆熹,馬軍
中國電子科技集團(tuán)公司第三十研究所,四川 成都 610041
2022 年7 月Facebook 的月活躍用戶數(shù)為29.34 億,是全球最活躍的社交媒體平臺,Twitter平臺緊隨其后。 本文以全球主要輿論平臺為研究對象[1],通過分析其特定話題下的輿論趨勢,識別輿情傳播關(guān)鍵節(jié)點、預(yù)測輿論未來走向,能夠為把握國際輿情走勢、認(rèn)清國際輿論環(huán)境提供重要支撐。
輿論趨勢預(yù)測通常從輿情分析入手,預(yù)測未來網(wǎng)民觀點立場變化。然而由于社交媒體活躍用戶量大、涉及內(nèi)容數(shù)據(jù)多以及社交網(wǎng)絡(luò)本身異構(gòu)性、輿情發(fā)酵多變性等因素眾多,預(yù)測結(jié)果往往精度不高。在輿情分析中,主要通過話題檢測分析、基于內(nèi)容的情感分類分析等技術(shù)實現(xiàn)網(wǎng)絡(luò)輿情的監(jiān)測。張君第[2]通過獲取言論信息,利用基于詞向量的神經(jīng)網(wǎng)絡(luò)模型對 Twitter 帖子情感進(jìn)行分類,實現(xiàn)對輿情的監(jiān)測;劉純嘉[3]在面向高校輿情的中文文本情感傾向性分析時,提出融合漢字形態(tài)學(xué)特征和HowNet 的文本情感分類方法和一種基于注意力膠囊網(wǎng)絡(luò)的文本情感分析方法;岳亞南[4]在研究面向輿情文本的情感傾向性分類時,針對現(xiàn)有深度學(xué)習(xí)方法詞性信息利用不充分問題,提出了一種融合詞性和自注意力機制的情感傾向性分類模型。在輿情趨勢預(yù)測分析中,劉定一等[5]提出了融合微博熱點分析和長短期記憶神經(jīng)網(wǎng)絡(luò)的輿情預(yù)測方法,采用網(wǎng)絡(luò)熱點分析技術(shù)計算微博熱度分值并預(yù)測未來熱度值。彭思琪等[6]將評論文本的情感值作為演變預(yù)測的對象,利用情感詞和輿情事件中評論文本的語義相似度,對情感時間序列進(jìn)行預(yù)測,能較好地實現(xiàn)輿情事件中評論文本的情感演變預(yù)測。
基于以上調(diào)研和分析發(fā)現(xiàn),輿情分析和趨勢預(yù)測的分析和判斷大多是分析帖子情感傾向[7],并對情感傾向性進(jìn)行預(yù)測[8]。本文擬通過構(gòu)建基于話題發(fā)帖內(nèi)容、評論賬號屬性和評論內(nèi)容等信息的輿論趨勢走向預(yù)測神經(jīng)網(wǎng)絡(luò)模型,從用戶社交賬號針對特定話題的觀點立場分析入手,設(shè)計一種基于量化計算的輿論場趨勢預(yù)測分析方法,預(yù)測用戶社交賬號立場觀點趨勢變化值,得到輿論趨勢走向拐點,實現(xiàn)對輿論趨勢的精確預(yù)測。
傳統(tǒng)輿論趨勢分析的方法[9-12]通常是基于用戶社交影響力構(gòu)建傳播評估模型,以用戶間影響力判斷信息能否傳播,從而分析輿論趨勢變化,通過用戶間歷史交互行為關(guān)系、信息傳播關(guān)系挖掘關(guān)系擴散特征,構(gòu)建傳播評估模型,分析輿論趨勢。該方法并未綜合考慮信息內(nèi)容、主題匹配度等因素對輿論趨勢變化的影響,因此對輿論趨勢預(yù)測考慮不夠全面。
為了解決如何對特定主題實現(xiàn)有效輿論走向判斷的問題,本文構(gòu)建了輿論趨勢預(yù)測算法。其技術(shù)構(gòu)思是通過分析特定話題的所有評論用戶立場以及立場趨勢變化,綜合利用社交賬戶人物畫像、個體言論內(nèi)容、主題內(nèi)容等特征,量化分析以上因素對輿論走向的影響度,構(gòu)建輿論趨勢走向預(yù)測模型,最終實現(xiàn)特定話題下輿論走向的有效預(yù)測。本技術(shù)方案的總體流程如圖1 所示。
圖1 輿論趨勢預(yù)測總體技術(shù)方案
數(shù)據(jù)是一切分析的基礎(chǔ),本文研究的輿論趨勢預(yù)測算法需要根據(jù)特定話題,獲取社交平臺下該話題的主貼內(nèi)容、評論內(nèi)容以及評論賬號基本信息等。話題是指用戶發(fā)帖時討論的共同主題,以Facebook 平臺為例,可以通過話題標(biāo)簽搜索出所有討論該話題的帖子。Facebook 話題標(biāo)簽是隨話題或短語輸入 #(數(shù)字符號),并將其添加至帖子中的短語,F(xiàn)acebook 話題標(biāo)簽示意見圖2。
確定特定話題后,在Facebook 社交網(wǎng)絡(luò)平臺根據(jù)話題關(guān)鍵詞搜索帖子,基于Scrapy 爬蟲框架構(gòu)建網(wǎng)絡(luò)爬蟲。通過已有賬號資源,利用RabbitMQ 實現(xiàn)多節(jié)點分布式數(shù)據(jù)采集,采集與話題相關(guān)的主貼以及評論內(nèi)容,包括發(fā)表言論的社交賬戶基本信息、行為信息、內(nèi)容信息等,作為進(jìn)行用戶觀點立場分析的基礎(chǔ)數(shù)據(jù)。
基于獲取的基礎(chǔ)數(shù)據(jù)進(jìn)行用戶立場檢測,并開展立場趨勢變化分析。本文的用戶立場檢測主要是針對當(dāng)前話題,檢測帖子評論者的用戶立場,立場分為對該話題支持、反對、中立3 種態(tài)度。
傳統(tǒng)的立場檢測技術(shù)通常將發(fā)文內(nèi)容與主題內(nèi)容的一致性作為重點考量對象,通過判別一致性分析發(fā)文者所持立場。然而該技術(shù)在復(fù)雜多變的實際場景中分析效果欠佳。
詞向量技術(shù)已廣泛應(yīng)用于文本語義提取[13],本文經(jīng)過對互聯(lián)網(wǎng)社交平臺評論內(nèi)容和評論用戶屬性分析發(fā)現(xiàn),評論用戶本身所屬陣營對其立場影響作用不可忽視,可作為用戶觀點立場分析的一個因素。因此本文提出在構(gòu)建立場分析模型時,分析獲取評論用戶屬性信息,分析其所屬陣營,形成外部知識,再結(jié)合評論內(nèi)容、話題內(nèi)容提取語義進(jìn)行綜合分析,最終實現(xiàn)評論內(nèi)容立場檢測。其實現(xiàn)的運行邏輯分為以下3 個步驟:
1)觀點挖掘模塊從文件系統(tǒng)提取“文本數(shù)據(jù)”,而后根據(jù)預(yù)先設(shè)定的字典將文本中的文字和文字在字典中對應(yīng)的數(shù)字進(jìn)行映射,即Token 化,然后逐條輸入至Pre-trained StBERT 模型,通過多個Transformer 層學(xué)習(xí)到文本信息的抽象表示。
2)將數(shù)字序列輸入已預(yù)訓(xùn)練好的StBERT 模型,即Pre-trained StBERT,得到數(shù)字序列的特征表示,而后取這一特征表示以及特征化后的用戶所屬陣營信息,共同輸入至Softmax 分類器進(jìn)行立場識別,立場分為贊同、中立、反對3 種,分別對應(yīng)分值1,0,-1。
3)通過Softmax 分類器形成1 個三元組數(shù)值,分別表示贊同、中立、反對對應(yīng)的概率,概率最高的即為該文本針對某一主題的實際觀點,最后將立場分值附加到最初的文本數(shù)據(jù)后面,形成“文本+立場”的新的數(shù)據(jù)結(jié)構(gòu)。
用戶觀點立場檢測通過自然語言處理技術(shù),構(gòu)建多因素的分類模型,立場檢測原理如圖3 所示。通過分類模型分析出當(dāng)前評論文本內(nèi)容對話題的立場傾向是“支持”、“反對”還是“中立”,分析原始數(shù)據(jù)樣例如圖4 所示,最后一列l(wèi)abel 是給當(dāng)前評論定義的立場。
圖3 用戶立場檢測原理
圖4 原始數(shù)據(jù)樣例
分析單個評論的立場后,需要對立場人數(shù)總體占比進(jìn)行統(tǒng)計,而后構(gòu)建立場趨勢預(yù)測模型,實現(xiàn)對立場占比趨勢變化進(jìn)行預(yù)測。立場占比是對該主題下所有評論的立場趨勢分析,為某時間段歸屬于某立場的帖子數(shù)與某時間段的總帖子數(shù)的比值,立場占比趨勢如圖5 所示。其趨勢變化實現(xiàn)邏輯為各立場支持的評論帖子分析立場后,加入各立場集合。當(dāng)有新用戶評論時,根據(jù)其所持觀點加入對應(yīng)集合;當(dāng)已發(fā)言用戶再次發(fā)言,如所持觀點不變,則集合不變,如所持觀點改變,則在原集合中刪除該人員,添加到其所持新立場的人員集合。
圖5 各立場人數(shù)占比隨總發(fā)帖量的趨勢變化
由于影響立場趨勢變化的因素非常多,且大多是定性的分析,因此構(gòu)建趨勢預(yù)測模型最大的挑戰(zhàn)是如何定量分析影響趨勢變化的因素。本文構(gòu)建了影響趨勢變化的樣本特征,并根據(jù)特征重要程度構(gòu)建了樣本打分機制,實現(xiàn)了影響因素的定量分析;而后可以根據(jù)構(gòu)建的樣本作為語料,用于輿論趨勢預(yù)測模型的訓(xùn)練。
根據(jù)前期分析,影響趨勢變化的因素包括話題發(fā)帖內(nèi)容、評論賬號屬性和評論內(nèi)容3 個。評論內(nèi)容特征是根據(jù)bert_sentence 模型輸出,該模型由bert 模型經(jīng)過下游語言任務(wù)(情感分類等)大量語料樣本訓(xùn)練而成。這里將評論中的發(fā)文內(nèi)容輸入bert_sentence 模型,輸出是768 維的語義向量,表征評論內(nèi)容的語義。同時也將話題發(fā)帖內(nèi)容輸入模型,得到768 維語義向量,表征話題以及立場。評論賬號特征包括賬號基本屬性、行為屬性等12 維,最后的樣本特征是由評論賬號特征特征(12 維)、發(fā)文內(nèi)容語義特征(768 維)、話題語義特征(768 維)組成,我們通過樣本特征計算出樣本分?jǐn)?shù)作為訓(xùn)練樣本,構(gòu)建輿論趨勢走向預(yù)測模型,具體步驟如下。
1)趨勢平滑。對各立場人數(shù)占比隨總發(fā)帖量的變化的趨勢曲線進(jìn)行Savitzky-Golay filter 平滑[14],使用最小二乘法將數(shù)據(jù)的一個小窗口回歸到多項式上,然后使用多項式來估計窗口中心的點,最后窗口向前移動一個數(shù)據(jù)點,重復(fù)這個過程。這樣繼續(xù)下去,直到每個點相對于鄰居都進(jìn)行了最佳調(diào)整,如圖6 所示。
圖6 趨勢圖曲線平滑示意
2)趨勢圖曲線拐點檢測[15]。采用基于滑動窗口算法,該方法依賴于單個變化點檢測程序并將其擴展以找到多個變化點。算法實施時,2 個相鄰的窗口沿著信號滑動,計算第一窗口和第二窗口之間的差異。當(dāng)這2 個窗口包含不相似的片段時,計算得到的差異值將會很大,檢測得到一個拐點。在離線設(shè)置中,計算完整的差異曲線并執(zhí)行峰值搜索過程以找到拐點索引。對平滑后的趨勢曲線進(jìn)行拐點檢測標(biāo)注,如圖7 所示。
圖7 平滑曲線拐點檢測示意
3)趨勢段選取[16]?;趫D7 的趨勢曲線標(biāo)注的拐點,計算曲線中上升幅度最大的一段作為樣本提取出來,與該趨勢曲線同立場的評論標(biāo)注為正樣本,其他立場的評論標(biāo)注為負(fù)樣本,遵循此規(guī)則給各評論打標(biāo)簽。此標(biāo)簽作為趨勢影響力得分的考量,如圖8 所示。
圖8 趨勢段選取示意
樣本趨勢走向判斷規(guī)則由某個評論社交賬戶基本信息得分和本次評論社交賬戶對立場趨勢影響力得分2 部分構(gòu)成。人物畫像得分Suser計算方法為
式中:Sproperty為人物賬戶屬性得分,包含粉絲量、發(fā)帖量等;wproperty為基本屬性權(quán)重比例;Sbehavior為行為屬性得分;wbehavior為行為屬性權(quán)重比例。
樣本得分Sfinal計算方法為
式中:Slabel為本次評論社交賬戶對立場趨勢的影響力得分,Wlabel為趨勢影響力得分權(quán)重比例,Wuser為人物賬戶屬性權(quán)重比例。其中Slabel得分規(guī)則如下:本次評論成功影響了一位其他立場人員的評論,該評論得4 分;本次評論成功增加了本立場人數(shù),該發(fā)言得3 分;本次評論未能增加本立場人數(shù),該評論得2 分;本次評論使本立場人數(shù)降低,該評論得1 分。
輿論趨勢的變化是非常前沿且發(fā)散的問題,其包含的影響因素多且廣。神經(jīng)網(wǎng)絡(luò)模型具有高復(fù)雜性,能夠擬合高維復(fù)雜函數(shù),所以在此選擇神經(jīng)網(wǎng)絡(luò)模型作為輿論趨勢預(yù)測模型。
模型輸入特征有3 部分內(nèi)容:人物賬戶屬性特征、評論內(nèi)容語義特征和主題立場語義特征。針對任務(wù)賬號屬性特征分析,由于人物賬戶屬性特征多由人工挖掘定義,在分析時為了覆蓋面廣、不遺漏,會盡量考慮多維度構(gòu)建特征,但在特征建模時可能會產(chǎn)生一些冗余特征,這部分冗余特征對結(jié)果貢獻(xiàn)度不高,但增加了維度,加大了計算量,所以需要進(jìn)行特征篩選,根據(jù)各特征重要程度剔除冗余特征。人物賬戶屬性特征的篩選通過進(jìn)行機器學(xué)習(xí)xgboost 的模型訓(xùn)練,根據(jù)各特征重要程度選擇。隨機劃分樣本,將80%樣本作為訓(xùn)練集,20%樣本作為測試集,訓(xùn)練機器學(xué)習(xí)xgboost 模型,輸出特征重要程度,如圖9 所示,以此作為依據(jù)進(jìn)行人物賬戶屬性特征選擇。
評論內(nèi)容語義特征是根據(jù)bert_sentence 模型輸出,該模型由bert 模型經(jīng)過下游語言任務(wù)(情感分類等)大量語料樣本訓(xùn)練而成。這里將評論內(nèi)容輸入bert_sentence 模型,輸出是768 維的語義向量,表征評論內(nèi)容的語義。同時也將主題立場內(nèi)容輸入模型,得到768 維語義向量,表征主題以及立場。人物賬戶屬性特征包括行為熱度、關(guān)系熱度、好友數(shù)、潛水值、性別等數(shù)值特征。最后的樣本特征是由人物畫像特征(12 維)、發(fā)文內(nèi)容語義特征(768 維)和topic/label 語義特征(768 維)這3 部分構(gòu)成。這3 部分特征維度不盡相同,目前能夠處理多領(lǐng)域信息的有推薦系統(tǒng)中的DSSM 雙塔模型,通過參考該模型架構(gòu),根據(jù)3 部分輸入的內(nèi)容維度進(jìn)行神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)構(gòu)造,提出了一種輿論趨勢走向預(yù)測神經(jīng)網(wǎng)絡(luò)模型(trend forcast neural network,TFNN),經(jīng)過2 層全連接層加上1 層激活層后,將3 部分進(jìn)行concat 操作,再經(jīng)過全連接層加激活層,其原理結(jié)構(gòu)如圖10 所示。
圖10 TFNN 模型結(jié)構(gòu)示意
TFNN 模型經(jīng)過訓(xùn)練后,均方誤差(mean squared error,MSE)為 0.144,均方對數(shù)誤差(mean squared log error,MSLE)為 0.018,均方根對數(shù)誤差(root mean squared logarithmic error,RMSLE)為0.136,均方根誤差(root mean squared error,RMSE)為 0.380,平均絕對誤差(mean absolute error,MAE)為 0.216,平均絕對百分比誤差(mean absolute percentage error,MAPE)為 0.165,絕對誤差中位數(shù)(median absolute error,MedianAE)為 0.152,絕對百分比誤差中位數(shù)(median absolute percentage error,MedianAPE )為0.125。訓(xùn)練中各指標(biāo)隨訓(xùn)練代次(iteration)變化過程如圖11 所示。
圖11 TFNN 模型訓(xùn)練過程指標(biāo)變化
本文研究的輿論趨勢預(yù)測算法,通過綜合考慮評論內(nèi)容、主題、評論賬戶屬性等多種因素,制定了樣本輿論趨勢判斷規(guī)則,同時提出了一種新的引導(dǎo)輿論趨勢走向預(yù)測神經(jīng)網(wǎng)絡(luò)模型,實現(xiàn)了輿論趨勢走向預(yù)測,能夠?qū)π聲r期網(wǎng)絡(luò)社會的科學(xué)治理和媒體平臺輿論趨勢走向判斷提供科學(xué)、有效的決策建議。