王 垚 賈寶龍 杜依寧 張 晗 陳 響
(北京世相科技文化有限公司 北京 100102)
微博是一種開放化的互聯(lián)網(wǎng)社交服務(wù),人們可以通過微博分享自己的心情、經(jīng)歷或故事。微博提供的評(píng)論、超級(jí)話題等功能,使人們能快速找到志同道合的朋友。海量的微博文本中蘊(yùn)含著大量的情感。微博的文本內(nèi)容成為抑郁傾向檢測(cè)的主要數(shù)據(jù)來源之一。
國(guó)內(nèi)外對(duì)于社交媒體文本內(nèi)容的情感分析方法主要包括統(tǒng)計(jì)學(xué)方法和機(jī)器學(xué)習(xí)方法。統(tǒng)計(jì)學(xué)方法通過統(tǒng)計(jì)高頻詞,構(gòu)建情感詞典來分析文本內(nèi)容的情感傾向。高一虹等[1]基于數(shù)據(jù)統(tǒng)計(jì)來分析抑郁癥患者在現(xiàn)實(shí)生活中和社交媒體上的表現(xiàn),發(fā)現(xiàn)抑郁癥患者在社交媒體上發(fā)微博的頻率更高,微博的文本內(nèi)容中的負(fù)向情感更明顯。林曄[2]對(duì)當(dāng)時(shí)引起巨大轟動(dòng)的“走飯”和“醒醒我們回家了”兩個(gè)微博賬號(hào)進(jìn)行了統(tǒng)計(jì)分析,發(fā)現(xiàn)在實(shí)施自殺前,抑郁患者會(huì)反復(fù)、頻繁地表達(dá)自己的抑郁、痛苦和自殺意圖,糾結(jié)于生死之間。雖然基于統(tǒng)計(jì)的方法能夠一定程度上分析出微博用戶的情感,但是忽略了用戶信息,并且過分依賴分詞的好壞,因此不能準(zhǔn)確地評(píng)價(jià)用戶的抑郁傾向。
基于機(jī)器學(xué)習(xí)的方法是通過將微博文本、博主簡(jiǎn)介和博主標(biāo)簽等特征抽象為向量,構(gòu)建分類器進(jìn)行訓(xùn)練。施志偉等[3]通過問卷調(diào)查得到有抑郁傾向的用戶,獲取他們的微博文本數(shù)據(jù),使用支持向量機(jī)模型進(jìn)行有監(jiān)督學(xué)習(xí),準(zhǔn)確率達(dá)到82.35%。但是其訓(xùn)練數(shù)據(jù)單一,只考慮了微博文本的內(nèi)容,沒有考慮發(fā)博人的性別、情感等因素。為了考慮更多的有效信息,Peng等[7]增加了發(fā)博人簡(jiǎn)介、發(fā)博人行為等特征,對(duì)比了傳統(tǒng)支持向量機(jī)、樸素貝葉斯、決策樹和K-近鄰等算法后,提出一種多元支持向量機(jī)模型,準(zhǔn)確率達(dá)到了83.5%,明顯高于其他幾種分類算法,但由于數(shù)據(jù)量較少,模型的泛化能力不足。Hao等[8]提出了一種基于兩種分類器的檢測(cè)方法,首先訓(xùn)練樸素貝葉斯分類器,并生成一個(gè)抑郁患者的常用詞詞典,然后使用線性分類器加入更多的特征,得到了準(zhǔn)確率較高的分類器。方振宇[9]提出了基于Word2vec詞向量的神經(jīng)網(wǎng)絡(luò)分類模型,將用戶情緒向量與微博內(nèi)容向量進(jìn)行拼接作為用戶特征向量,準(zhǔn)確率達(dá)到了86.5%,但是忽略了用戶的個(gè)人屬性信息。為了解決上述存在的問題,本文在使用微博文本作為樣本特征的基礎(chǔ)上,將用戶的情感、性別和發(fā)博頻率融入到SVM的目標(biāo)函數(shù)中,提出了一種基于詞向量的多維度正則化SVM的社交網(wǎng)絡(luò)抑郁傾向檢測(cè)方法,并通過多組對(duì)比實(shí)驗(yàn)驗(yàn)證了該方法的有效性。
抑郁癥[11]是一種心理障礙或情感障礙,是最常見的精神疾病之一,主要表現(xiàn)為興趣減退、認(rèn)知功能受損和情緒紊亂。據(jù)統(tǒng)計(jì),抑郁癥患者的終身患病率為13.2%[12],大約有25%的女性患過抑郁癥,大約有10%的男性患過抑郁癥[13]。由于基層醫(yī)療機(jī)構(gòu)對(duì)抑郁癥的認(rèn)識(shí)不充分,仍存在著普遍的一高兩低現(xiàn)象,即高患病率、低診斷率、低治愈率。
使用的數(shù)據(jù)來自新浪微博,選擇352位有明顯抑郁傾向的博主的35 962條微博文本作為正數(shù)據(jù),323位非抑郁癥患者博主的72 697條微博文本作為負(fù)數(shù)據(jù)。篩選后得到28 654條微博文本的正數(shù)據(jù),58 569條微博文本的負(fù)數(shù)據(jù)。經(jīng)過3位心理學(xué)系的碩士研究生進(jìn)行交叉檢驗(yàn),僅有10位用戶存在爭(zhēng)議,說明數(shù)據(jù)的可信度較高。
微博內(nèi)容數(shù)據(jù)形式多樣,包含大量“臟”數(shù)據(jù),所以需要對(duì)數(shù)據(jù)進(jìn)行清洗,通過人工觀察或統(tǒng)計(jì)發(fā)現(xiàn)主要有以下形式的“臟”數(shù)據(jù):(1) 非文本信息(圖片和視頻等);(2) 廣告數(shù)據(jù)以及非原創(chuàng)數(shù)據(jù)(文本中包括投票、打榜、影響力和人氣演員等);(3) 部分干擾字符(@xxx,#xxx超話#等);(4) 長(zhǎng)度小于7個(gè)字的微博文本;(5) 不規(guī)范表達(dá)方式(emoji表情、顏文字等)。
清洗前和清洗后的數(shù)據(jù)如表1所示。
表1 數(shù)據(jù)展示
本文提出的抑郁傾向檢測(cè)方法主要包括兩部分,分別為構(gòu)建用戶向量、構(gòu)建多維度正則化SVM,如圖1所示。
圖1 多維度正則化SVM檢測(cè)模型
首先,微博文本的向量化主要包括:(1) 對(duì)微博文本的分詞;(2) 獲取每個(gè)詞語的騰訊詞向量;(3) 將詞向量進(jìn)行特征加權(quán)計(jì)算句向量;(4) 根據(jù)句向量構(gòu)建用戶向量。然后,進(jìn)行多維度正則化SVM的有監(jiān)督學(xué)習(xí)。
2.1.1分詞與詞向量
騰訊詞向量是騰訊AI實(shí)驗(yàn)室在2018年開源的一個(gè)大規(guī)模、高質(zhì)量的中文詞向量數(shù)據(jù)集。該數(shù)據(jù)集在多個(gè)方面較現(xiàn)有公開數(shù)據(jù)集均有改善。在覆蓋率上,該數(shù)據(jù)集包含了超過800萬的中文詞匯,覆蓋了更多的短語,包含了近兩年的網(wǎng)絡(luò)用語。在準(zhǔn)確性上,該訓(xùn)練算法使用的是騰訊自研的Directional Skip-Gram(DSG)算法[14],它改進(jìn)了被廣泛使用的如Word2vec詞向量模型中的詞向量訓(xùn)練算法Skip-Gram(SG)[15],在文本窗口中詞對(duì)共現(xiàn)關(guān)系的基礎(chǔ)上,加入了詞對(duì)的相對(duì)位置的考量,以此提高詞向量語義表示的準(zhǔn)確性。所以用它來作為微博內(nèi)容分詞后每個(gè)詞的詞向量[18]是合理有效的。
由于微博文本包含大量網(wǎng)絡(luò)用語,而百度分詞比較善于針對(duì)網(wǎng)絡(luò)文本進(jìn)行分詞,同時(shí)也能通過構(gòu)建自定義詞典提高特殊詞匯的分詞效果,所以,首先利用百度分詞API進(jìn)行分詞,然后獲得對(duì)應(yīng)的騰訊詞向量。對(duì)于騰訊詞向量庫中不存在的抑郁詞,則選擇騰訊詞向量庫中與其最相近的詞作為替代。對(duì)于不在抑郁詞典中且騰訊詞向量未收錄的詞語,將其賦值為0向量,便于之后的計(jì)算。
2.1.2構(gòu)建微博文本向量
首先使用TF-IDF[19]進(jìn)行特征加權(quán)。特征權(quán)重Wij的計(jì)算式為:
Wij=TFij·IDFij
(1)
式中:TFij表示特征詞ωi在文本dj中出現(xiàn)的次數(shù),IDFij表示特征詞ωi的逆文檔頻率。為了能夠一定程度上增強(qiáng)抑郁詞權(quán)重,IDFij通過大規(guī)模的微博文本數(shù)據(jù)集計(jì)算。
為了提升抑郁詞對(duì)于整條微博文本的影響,賦予抑郁詞相對(duì)較大的權(quán)重值,賦予非抑郁詞權(quán)重1。即加權(quán)后的詞向量表示為:
Vi=TVi·Wij·Wd
(2)
式中:TVi表示該詞的騰訊詞向量,Wij表示該詞的TF-IDF值,Wd表示該詞的抑郁詞權(quán)重。
2.1.3構(gòu)建用戶向量
根據(jù)2.1.2節(jié)得到的加權(quán)詞向量,通過對(duì)應(yīng)維度求均值的方式計(jì)算整條微博文本的向量表示,該向量表示為:
cd=(xd1,xd2,…,xdt)
(3)
式中:xd1表示當(dāng)前文本中所有詞向量第1維的均值。因?yàn)轵v訊詞向量的緯度是200,所以由此得出的文本向量也是200維,進(jìn)而可得到用戶的矩陣表示為:
(4)
式中:n表示用戶的微博總條數(shù)。最后,通過將矩陣Mi按行求均值得到用戶的向量。
支持向量機(jī)[20]是一種優(yōu)秀的機(jī)器學(xué)習(xí)分類模型,在面對(duì)非線性以及高維度分類問題上,效果比其他二分類方法更好,因?yàn)镾VM能夠接受高維特征空間和稀疏特征向量,所以在文本分類上有很好的效果。面對(duì)微博文本分類這個(gè)非線性問題,直接利用線性化的SVM是無法分類的,所以將決策函數(shù)的限制條件進(jìn)行一定的放松,使它對(duì)于一些異?;驑O端樣本點(diǎn)有一定容錯(cuò)空間,SVM模型表示為:
yi·[(WT·xi)+b]≥1-ξi1≤i≤N,ξ≥0
(5)
(6)
由于文本在經(jīng)過前期詞向量信息累加的處理后,所得到的數(shù)據(jù)的維數(shù)已經(jīng)較高,所以還需要進(jìn)行變換,這也是SVM的一個(gè)優(yōu)勢(shì),它通過構(gòu)造可以將已有數(shù)據(jù)x映射到高維空間H的映射函數(shù),即φ(xi)。因?yàn)榇祟愑成涞木S度理論上是可以無限維的,無法顯式求出,所以SVM引入核函數(shù)[21]來實(shí)現(xiàn)不需要知道映射向量就可以實(shí)現(xiàn)分類的目的。核函數(shù)形式如下:
k(xi,xj)=φ(xi)Tφ(xj)
(7)
這里通過高斯核函數(shù)實(shí)現(xiàn)同等映射:
(8)
通過將式(6)轉(zhuǎn)化為對(duì)偶問題的方式,利用KKT條件,構(gòu)造拉格朗日函數(shù),求得最終的分類函數(shù)如下:
(9)
式中:αj是拉格朗日乘子;x表示待分類文本。
經(jīng)過前期相關(guān)研究工作,發(fā)現(xiàn)有抑郁傾向的用戶存在以下明顯特征:(1) 發(fā)微博頻率明顯高于正常用戶;(2) 有明顯消極情感;(3) 女性人數(shù)明顯高于男性用戶,比例大致為3 ∶1。因此將用戶發(fā)微博頻率、用戶文本情感和性別特征加入到目標(biāo)函數(shù)中,使SVM學(xué)習(xí)到的超平面更加準(zhǔn)確,因此在原本的目標(biāo)函數(shù)上增加一項(xiàng)由發(fā)微博頻率、情感和性別組成的正則項(xiàng),表示為:
ωi=ωe·ei+ωs·si+ωf·fi
(10)
式中:ei表示用戶的負(fù)向情感概率;si表示用戶的性別分?jǐn)?shù);fi表示用戶的發(fā)微博頻率分?jǐn)?shù)。因此,改進(jìn)后的目標(biāo)函數(shù)為:
(11)
式中:W表示ωi的影響力權(quán)重。
實(shí)驗(yàn)包括以下四種算法:(1) 使用騰訊詞向量訓(xùn)練SVM;(2) 使用騰訊詞向量訓(xùn)練mSVM;(3) 用TF-IDF加權(quán)詞向量訓(xùn)練mSVM;(4) 使用TF-IDF和抑郁詞加權(quán)詞向量訓(xùn)練mSVM。為了便于描述,算法1用SVM表示,算法2用mSVM表示,算法3用mSVM-T表示,算法4用mSVM-TW表示。
在四種算法上進(jìn)行3組對(duì)比實(shí)驗(yàn),分別為:(1) 隨著迭代次數(shù)準(zhǔn)確率的變化趨勢(shì);(2) 隨著迭代次數(shù)召回率的變化趨勢(shì);(3) 隨著迭代次數(shù)F1值的變化趨勢(shì)。準(zhǔn)確率、召回率和F1值的計(jì)算公式如下:
(12)
(13)
(14)
(15)
式中:TP表示真例判斷為正樣本;FP表示假例判斷為正樣本;FN表示假例判斷為負(fù)樣本;TN表示真例判斷為負(fù)樣本。
為了能夠更準(zhǔn)確地反映四種算法的準(zhǔn)確率、召回率和F1值隨著迭代次數(shù)的變化情況,在當(dāng)前迭代次數(shù)下的準(zhǔn)確率、召回率和F1值均為獨(dú)立訓(xùn)練10次取均值。四種算法的準(zhǔn)確率隨迭代次數(shù)的變化趨勢(shì)如圖2所示。
圖2 準(zhǔn)確率變化趨勢(shì)圖
由圖2可看出,mSVM-TW在140次迭代后收斂,達(dá)到最優(yōu)值0.89±0.05。SVM和mSVM-T在170次迭代后收斂,分別達(dá)到0.83±0.05和0.82±0.05,mSVM在180次迭代后收斂,達(dá)到0.85±0.05。在收斂速度和最優(yōu)值上,mSVM-TW均明顯優(yōu)于其他三種算法,主要原因有兩點(diǎn),一是輸入向量通過TF-IDF和抑郁詞加權(quán),改變了原始數(shù)據(jù)分布,使得數(shù)據(jù)的分布對(duì)于當(dāng)前的任務(wù)更加清晰,因此更容易被分類;二是通過情感、性別和發(fā)博頻率使得目標(biāo)函數(shù)的損失變得更小,因此收斂速度更快。
召回率隨迭代次數(shù)的變化趨勢(shì)如圖3所示,從收斂速度和最優(yōu)值,mSVM-TW也明顯優(yōu)于其他三種算法。mSVM-TW的最優(yōu)召回率達(dá)到0.86±0.05。在迭代次數(shù)較低時(shí),召回率異常偏高,甚至達(dá)到1.0。這是由于當(dāng)?shù)螖?shù)較低時(shí),分類器處于欠擬合狀態(tài),此時(shí)分類器將所有樣本判斷為正樣本,因此召回率會(huì)異常高。隨著迭代次數(shù)的增加,處于分類超平面較近的真負(fù)或假正樣本逐漸增多,因此召回率逐漸下降,并趨于穩(wěn)定。
圖3 召回率變化趨勢(shì)圖
F1值隨迭代次數(shù)的變化趨勢(shì)如圖4所示,從收斂速度和最優(yōu)值來看,mSVM-TW也明顯優(yōu)于其他三種算法,最優(yōu)F1值達(dá)到0.89±0.05。
圖4 F1值變化趨勢(shì)圖
綜合上述實(shí)驗(yàn)結(jié)果,mSVM-TW在各評(píng)價(jià)指標(biāo)上均有較大提升,說明通過詞向量加權(quán)和多種特征的正則化能夠有效提升傳統(tǒng)SVM在抑郁傾向檢測(cè)任務(wù)上的分類性能。
本文提出的基于詞向量的多維度正則化SVM方法,由于在傳統(tǒng)SVM的損失函數(shù)中融入情感、性別和發(fā)微博頻率,所以在SVM的監(jiān)督學(xué)習(xí)過程中,能夠根據(jù)用戶的多種特征約束損失函數(shù),使得學(xué)習(xí)到的分類超平面更加準(zhǔn)確,泛化能力更強(qiáng)。因此,對(duì)于那些文本特征不夠明顯的用戶也能較好地分類。
由于微博內(nèi)容的形式具有多樣性,除了文本,還有圖片、視頻、音頻等,所以只考慮微博的文本內(nèi)容會(huì)丟失用戶的大量有效信息。因此,下一步考慮加入用戶更多的有效信息,構(gòu)建多模態(tài)的抑郁傾向檢測(cè)模型,進(jìn)一步增強(qiáng)模型的性能。