王恩慧
(北京交通大學(xué),北京100044)
隨著網(wǎng)絡(luò)的快速發(fā)展和一些受到民眾歡迎的社交媒體平臺(tái)的出現(xiàn),例如微博、推特等,促進(jìn)了人與人之間更加便捷的溝通。用戶在社交網(wǎng)絡(luò)上與他人分享自己的感受和觀點(diǎn),形成了海量的社交網(wǎng)絡(luò)數(shù)據(jù)信息[1]。情感分析技術(shù)在電子商務(wù)、金融、輿情分析[2]等多個(gè)不同領(lǐng)域都有應(yīng)用。例如,應(yīng)用于輿情分析,相關(guān)部門可以及時(shí)地了解公眾對(duì)輿情熱點(diǎn)的態(tài)度和情感,有效地對(duì)大眾未來的情感傾向趨勢(shì)做出預(yù)測(cè)和判斷。目前機(jī)器學(xué)習(xí)的分類方法穩(wěn)定性較差,對(duì)于同一條文本評(píng)論,有可能前一次的分類結(jié)果與后一次的不同,而基于情感詞典的方法只要將評(píng)論中的情感詞存在于情感詞典中,根據(jù)目標(biāo)詞與種子詞之間的相似度,評(píng)論的情感傾向性就能準(zhǔn)確的判斷[3]。據(jù)此,本文以推特?cái)?shù)據(jù)為基礎(chǔ)開展了關(guān)于推特評(píng)論的情感分析研究。
TF-IDF 是一種常用的加權(quán)技術(shù),基于統(tǒng)計(jì)的方法評(píng)估每個(gè)詞在文檔中的重要程度,詞的重要程度隨著它在文檔中出現(xiàn)的次數(shù)成正比增加,但同時(shí)會(huì)隨著它出現(xiàn)的頻率下降。由于詞在不同文本中出現(xiàn)的頻率有差異,表現(xiàn)出的重要程度也有所不同。TF 表示詞頻,即一個(gè)詞在文檔中出現(xiàn)的頻率,計(jì)算方法如公式(1)。所示詞頻為特征詞在該文本中出現(xiàn)的頻率,頻率越高則認(rèn)為特征在文本中越重要,僅以詞頻衡量詞權(quán)重的計(jì)算方式較為簡單,然而單一考慮特征在文本中出現(xiàn)的次數(shù),導(dǎo)致一些無意義卻又反復(fù)出現(xiàn)的詞語詞頻反而很高,影響分類效果。IDF 指反文檔頻率,用來表示詞的類別區(qū)分能力,指的是該詞在文檔中出現(xiàn)的次數(shù)越少,則IDF 越大,計(jì)算方法如公式(2)所示。TF-IDF充分考慮了TF 的缺點(diǎn),將TF 和IDF 結(jié)合起來,選出文檔中重要度高的詞語,計(jì)算方法如公式(3)所示。


點(diǎn)互信息算法(PMI)的基本思想是對(duì)兩個(gè)詞語在文檔中同時(shí)出現(xiàn)的概率進(jìn)行計(jì)算,概率越大,表示其相關(guān)性就越緊密,關(guān)聯(lián)度越高。計(jì)算方法如公式(4)所示。PMI 值大于0 則兩個(gè)詞語是相關(guān)的,值越大,相關(guān)性越強(qiáng);PMI 等于0 表示兩個(gè)詞語是統(tǒng)計(jì)獨(dú)立的,不相關(guān)也不互斥;PMI 小于0 表示兩個(gè)詞語是不相關(guān)的、互斥的。

情感傾向點(diǎn)互信息算法(SO-PMI)首先選擇兩組種子詞,一組褒義的(Pwords)和一組貶義的(Nwords)作為算法的基準(zhǔn)詞。將詞語word1 跟Pwords 的點(diǎn)間互信息與word1 跟Nwords 的點(diǎn)間互信息相減做差,根據(jù)得到的差值對(duì)詞語word1 的情感傾向做出判斷,計(jì)算方法如公式(5)所示。差值大于0 時(shí)word1 為正面傾向,差值等于0 時(shí)word1 為中性傾向,差值小于0 時(shí)word1為負(fù)面傾向。

在機(jī)器學(xué)習(xí)領(lǐng)域的算法評(píng)估中,常用到混淆矩陣這一概念。在二元分類的情況下,及正負(fù)兩種分類的時(shí)候,混淆矩陣包括真正(TP)、真負(fù)(TN)、假正(FP)、假負(fù)(FN)。對(duì)于樣本而言,真正指的是預(yù)測(cè)的類別與真實(shí)的類別都為正向,真負(fù)指的是預(yù)測(cè)的類別與真實(shí)的類別都為負(fù)向,假正指的是預(yù)測(cè)的類別為正向而真實(shí)的類別為負(fù)向,假負(fù)指的是預(yù)測(cè)的類別為負(fù)向而真實(shí)的類別為正向。精確率(Precision)表示被分為正例的樣本數(shù)據(jù)中實(shí)際為正向所占的比例,即P=TP/(TP+FP)。召回率(Recall)是覆蓋面的度量,用作度量樣本數(shù)據(jù)中有多少的分類結(jié)果為正向,即R=TP/(TP+FP)。精確率和召回率兩個(gè)指標(biāo)有時(shí)候會(huì)出現(xiàn)矛盾的情況,因此需要綜合考慮這兩個(gè)指標(biāo),F(xiàn)-Score 是兩個(gè)指標(biāo)的加權(quán)調(diào)和平均,計(jì)算方法如公式(6)所示。當(dāng)參數(shù)a=1 時(shí),就是機(jī)器學(xué)習(xí)算法評(píng)估中最常見的F1 值,計(jì)算方法如公式(7)所示,F(xiàn)1 值越大說明模型的分類效果越好。

本文基于情感傾向點(diǎn)互信息算法對(duì)與新冠疫情相關(guān)的評(píng)論文本進(jìn)行情感傾向分析和情感強(qiáng)度計(jì)算。首先,以TF-IDF 算法提取種子詞,以弱監(jiān)督的方式對(duì)單個(gè)用戶的情感變化和群體的情感分布進(jìn)行分析。其次,以多人投票確定最終數(shù)據(jù)標(biāo)簽的方式對(duì)測(cè)試數(shù)據(jù)進(jìn)行標(biāo)注,以準(zhǔn)確率、召回率、F 值作為評(píng)價(jià)指標(biāo),對(duì)模型的效率和有效性進(jìn)行驗(yàn)證。
本文選擇政府、民眾、社會(huì)都比較關(guān)心的“新冠疫情”作為研究話題,以2020 年5 月1 日到2020 年7 月8 日推特平臺(tái)上的網(wǎng)民評(píng)論共51853 條作為實(shí)驗(yàn)數(shù)據(jù),存儲(chǔ)在MongoDB 數(shù)據(jù)庫中。數(shù)據(jù)庫中的每條記錄都有許多字段,不僅有該條推文的內(nèi)容、發(fā)布時(shí)間、是否為轉(zhuǎn)發(fā)、獲贊數(shù)、轉(zhuǎn)發(fā)數(shù)等,還有專門的用戶字段,包括唯一識(shí)別用戶的ID、所在地區(qū)、是否實(shí)名認(rèn)證、粉絲數(shù)、總推文數(shù)等。由于網(wǎng)絡(luò)評(píng)論中含有很多噪聲比如網(wǎng)址、特殊符號(hào)表情符等,因此需要先使用正則表達(dá)式對(duì)原始評(píng)論數(shù)據(jù)內(nèi)容進(jìn)行清洗,去除停用詞、特殊符號(hào)及表情等,并進(jìn)行大小寫轉(zhuǎn)換,只提取相關(guān)的主題評(píng)論內(nèi)容。
在完成數(shù)據(jù)預(yù)處理后,需要選取種子詞。情感傾向點(diǎn)互信息算法是基于詞與詞之間共現(xiàn)關(guān)系的弱監(jiān)督算法,需要事先選取兩組種子詞:一組貶義詞,即負(fù)向詞,另一組褒義詞,即正向詞。本文利用TF-IDF 算法分別選取若干個(gè)重要度較高的詞語,并人工篩選其中情感傾向較為明顯的作為種子詞,分別選擇了50個(gè)褒義詞和50 個(gè)貶義詞作為兩種情感傾向的種子詞,即基準(zhǔn)詞。選定種子詞后,利用情感傾向點(diǎn)互信息算法根據(jù)種子詞與目標(biāo)詞之間的共現(xiàn)關(guān)系,判斷目標(biāo)詞的情感傾向,并將目標(biāo)詞的情感傾向添加到情感詞典中,對(duì)情感詞典進(jìn)行擴(kuò)充。一條推文的情感可以先進(jìn)行分詞,根據(jù)情感詞典逐個(gè)計(jì)算句中詞語的情感值,加權(quán)求和得到整條推文的情感強(qiáng)度和情感傾向。當(dāng)情感值屬于[0,0.5)區(qū)間時(shí)情感傾向?yàn)樨?fù)向,越接近0,負(fù)向的程度越強(qiáng)烈,當(dāng)情感值屬于(0.5,1]區(qū)間時(shí)情感傾向?yàn)檎颍浇咏?,正向的程度越強(qiáng)烈,當(dāng)情感值在0.5 附近時(shí)表示情感傾向接近于中立。
本文對(duì)每個(gè)社交網(wǎng)絡(luò)用戶的情感變化進(jìn)行研究。根據(jù)推文ID 在MongoDB 數(shù)據(jù)庫中進(jìn)行檢索,可以映射到發(fā)布該條推文的社交網(wǎng)絡(luò)用戶,收集用戶與疫情話題相關(guān)的推文內(nèi)容,以用戶推文集合的情感分析結(jié)果作為用戶在疫情話題中的情感。
首先,按照時(shí)間對(duì)推文進(jìn)行切分,每周作為一個(gè)時(shí)間段,觀察用戶從2020 年5 月1 日到2020 年7 月8 日的情感值動(dòng)態(tài)變化。大部分用戶都是間歇性的參與話題討論,持續(xù)活躍的用戶相對(duì)較少。本文選取活躍時(shí)間大于6 周的64 個(gè)用戶,觀察其情感值的變化。通過反復(fù)實(shí)驗(yàn)發(fā)現(xiàn),用戶的情感強(qiáng)度不斷波動(dòng),但是用戶整體的情感傾向基本沒有變化,即一個(gè)用戶一開始的情感是負(fù)向的,雖然時(shí)強(qiáng)時(shí)弱,但是并不會(huì)變成正向。同時(shí),通過觀察實(shí)驗(yàn)結(jié)果發(fā)現(xiàn),用戶的情感強(qiáng)度會(huì)逐漸變?nèi)酰辞楦兄抵饾u趨于0.5,無論是正向或負(fù)向都是情感演化過程的中間狀態(tài),最終用戶的情感會(huì)逐漸趨于中立。
其次,本文還研究了從2020 年5 月1 日到2020 年7 月8日共10 周時(shí)間內(nèi)群體的情感傾向分布情況。由于情感值接近0.5 時(shí),表示用戶的情感趨于中立,因此在實(shí)驗(yàn)中特別定義情感值在[0.45,0.55]區(qū)間內(nèi)的用戶為中立。本文分別統(tǒng)計(jì)了不同時(shí)間段內(nèi)的用戶群體情感傾向的比例,并計(jì)算了每種情感傾向在10周時(shí)間內(nèi)的平均占比。雖然每周情感傾向的占比情況不盡相同,但是整體來看,都是負(fù)向情感占主導(dǎo)。這是由于新冠疫情的突然爆發(fā)打亂了原本的生活方式和工作節(jié)奏,很多人們不僅面臨失業(yè)待業(yè)的風(fēng)險(xiǎn),還可能面臨死亡威脅。疫情對(duì)經(jīng)濟(jì)、社會(huì)也都產(chǎn)生了許多的負(fù)面影響,導(dǎo)致大部分人都存有憂慮、恐懼等負(fù)面情緒[4]。
最后,本文對(duì)模型的有效性進(jìn)行驗(yàn)證。由于標(biāo)簽質(zhì)量會(huì)直接影響測(cè)試的準(zhǔn)確性,為了提高標(biāo)簽的質(zhì)量,本文隨機(jī)選取2000條用戶推文進(jìn)行數(shù)據(jù)標(biāo)注,以多人投票的方式?jīng)Q定推文的標(biāo)簽,避免了主觀性帶來的影響。然后以標(biāo)注的數(shù)據(jù)作為測(cè)試集,以精準(zhǔn)率,召回率,F(xiàn) 值作為評(píng)價(jià)指標(biāo),對(duì)方法的有效性進(jìn)行測(cè)試,結(jié)果如表1 所示。實(shí)驗(yàn)結(jié)果證明了基于情感傾向點(diǎn)互信息的情感分析方法的有效性,能夠有效地為輿情分析提供幫助。

表1 測(cè)試結(jié)果
本文以推特作為研究數(shù)據(jù)源,基于情感傾向點(diǎn)互信息算法對(duì)從2020 年5 月1 日到2020 年7 月8 日與新冠疫情相關(guān)的評(píng)論文本進(jìn)行情感傾向和情感強(qiáng)度分析。以TF-IDF 算法并結(jié)合人工篩選提取種子詞,以弱監(jiān)督的方式對(duì)社交網(wǎng)絡(luò)用戶的情感值變化和群體的情感傾向分布變化進(jìn)行分析。其次,以多人投票確定最終數(shù)據(jù)標(biāo)簽的方式對(duì)測(cè)試數(shù)據(jù)進(jìn)行標(biāo)注,以準(zhǔn)確率、召回率、F 值作為評(píng)價(jià)指標(biāo),對(duì)模型的效率和有效性進(jìn)行驗(yàn)證。實(shí)驗(yàn)結(jié)果表明,該模型能夠?yàn)閼?yīng)對(duì)輿情治理和應(yīng)對(duì)輿情危機(jī)提供輔助和理論依據(jù)。