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