張?chǎng)窝?/p>
摘? 要:隨著移動(dòng)互聯(lián)網(wǎng)的普及,公眾更加頻繁地使用社交網(wǎng)絡(luò)分享生活并表達(dá)思想和感情。推特作為擁有全球最大用戶基數(shù)的社交平臺(tái),沉淀了非常豐富的用戶和文本信息。文章使用Sentiment140數(shù)據(jù)集對(duì)推特文本信息進(jìn)行分析,從不同角度對(duì)數(shù)據(jù)集進(jìn)行探索性數(shù)據(jù)分析,并通過F1值評(píng)估對(duì)比不同的特征提取方法和分類算法,最終確定了最佳的特征提取和分類參數(shù)。文章使用的分析流程和分析結(jié)果可作為文本情感挖掘的參考,為基于文本信息的情感分類任務(wù)以及精神疾病如抑郁癥等的診斷提供助力。
關(guān)鍵詞:社交網(wǎng)絡(luò);文本挖掘;自然語言處理;數(shù)字療法;精神疾病篩查
中圖分類號(hào):TP391.1 文獻(xiàn)標(biāo)識(shí)碼:A? 文章編號(hào):2096-4706(2023)15-0157-05
Mental illness screening of social network users based on text mining
ZHANG Xinyan
(Yangtze River Delta Center for Medical Device Evaluation and Inspection of National Medical Products Administration, Shanghai? 200135, China)
Abstract: With the popularity of mobile internet, the public is more frequent to use social networks to share their lives and express their thoughts and feelings. As a social platform with the world's largest user base, Twitter has accumulated a wealth of user and text information. This paper uses the Sentiment140 dataset to analyze the Twitter text information, analyzes the exploratory data of dataset from different aspects, and evaluates and compares the different feature extraction methods and classification algorithms by F1 value, and determines the best feature extraction and classification parameters finally. The analysis process and analysis results used in this paper can be used as a reference for text sentiment mining, and provide assistance for the task of sentiment classification based on text information and the diagnosis of mental diseases such as depression.
Keywords: social network; text mining; Digital Therapeutics(DTx); Mental illness screening; Natural language processing
0? 引? 言
抑郁癥是現(xiàn)在最常見的一種心理疾病,以連續(xù)且長(zhǎng)期的心情低落為主要的臨床特征,是現(xiàn)代人心理疾病中最重要的類型。抑郁癥的臨床表現(xiàn)為心情低落和現(xiàn)實(shí)過得不開心,情緒長(zhǎng)時(shí)間的低落消沉,從一開始的悶悶不樂到最后的悲痛欲絕,自卑、痛苦、悲觀、厭世,感覺活著的每一天都是在折磨自己,消極,逃避,最后甚至有自殺傾向和行為?;颊呋加熊|體化癥狀。胸悶,氣短。根據(jù)世界衛(wèi)生組織2019年底發(fā)布的報(bào)告,抑郁癥的發(fā)病率僅次于世界第一大嚴(yán)重的缺血性心臟病,在世界排名前十位的使人喪失勞動(dòng)能力的疾病中,抑郁癥甚至名列首位,這無疑成為社會(huì)安定的巨大隱患。目前全世界抑郁癥患者人數(shù)為3.22億人,患病率為4.4%。據(jù)不完全統(tǒng)計(jì),我國(guó)抑郁癥患者超過9 000萬人,同時(shí),抑郁癥患者人數(shù)也在逐年攀升。由于多種社會(huì)因素的影響,抑郁癥的確診率低,很多患者罹患抑郁癥后并未及時(shí)進(jìn)行檢查和診斷,即使進(jìn)行了檢查和診斷,由于病恥感和公眾對(duì)該疾病的誤解等因素,對(duì)抑郁癥的干預(yù)和治療也往往并不及時(shí)有效。同時(shí),抑郁癥的確診也存在一些困難。抑郁癥的診斷主要應(yīng)根據(jù)病史、臨床癥狀、病程及體格檢查和實(shí)驗(yàn)室檢查,典型病例診斷一般不困難,一般采用ICD-10和DSM-IV診斷標(biāo)準(zhǔn)進(jìn)行判別,但抑郁癥存在諸多分型,同時(shí)由于抑郁癥的臨床表現(xiàn)容易和其他類型的精神疾病混淆,這些因素都給確診抑郁癥帶來了困難。
隨著社交網(wǎng)絡(luò)的蓬勃發(fā)展,現(xiàn)代人越來越依賴數(shù)字世界。同時(shí),海量的線上文本信息為多種基于文本信息的應(yīng)用提供了可能,如網(wǎng)絡(luò)輿情分析、精神疾病輔助診斷等。近年來越來越多的研究聚焦于使用社交網(wǎng)絡(luò)信息對(duì)用戶的情感和精神狀態(tài)進(jìn)行判斷。從來源上看,社交網(wǎng)絡(luò)的來源豐富,如微博[1-5]、
推特[6-11],及其他來源如雅虎[12]等。從研究的具體問題看,研究的問題多樣,包括情感分析[13,14]、精神疾病如抑郁癥的診斷[1-4,7,15,16]及多任務(wù)(multi-task, MT)(如文獻(xiàn)[6]設(shè)計(jì)了一個(gè)多任務(wù)分類器同時(shí)對(duì)文本的情感和抑郁狀態(tài)進(jìn)行判別、文獻(xiàn)[17]中對(duì)圖像和文本數(shù)據(jù)進(jìn)行多模態(tài)融合,并設(shè)計(jì)了一個(gè)同時(shí)判別用戶性別和情感狀態(tài)的多任務(wù)分類器)。此外,特征提取和分類的算法也多種多樣,主要分為兩類,一類基于傳統(tǒng)機(jī)器學(xué)習(xí)方法如支持向量機(jī)(support vector machines, SVM)應(yīng)用非常廣泛[1,2,9,16],此外,隨著大數(shù)據(jù)時(shí)代的來臨,深度學(xué)習(xí)方法也得到越來越多的使用,如文獻(xiàn)[1,3,16]等使用Word2Vec生成詞向量[15],使用長(zhǎng)短期記憶網(wǎng)絡(luò)(Long short-term memory, LSTM)進(jìn)行分類任務(wù)[6],利用雙向門控循環(huán)單元(Bidirectional gated recurrent unit, BiGRU)和注意力機(jī)制(Attention Mechanism)進(jìn)行分類任務(wù)[17],
利用門控循環(huán)單元(Gated recurrent unit, GRU)和殘差網(wǎng)絡(luò)(Residual Network, ResNet)進(jìn)行分類任務(wù)。目前索引到的文章中使用的推特?cái)?shù)據(jù)集普遍在萬條數(shù)據(jù)的級(jí)別,如文獻(xiàn)[6]中采集了10 659條推特文本[18],文獻(xiàn)[18]中采集了90 000條推特?cái)?shù)據(jù),文獻(xiàn)[9]中采集了12 741條數(shù)據(jù),只有文獻(xiàn)[8]中采集了94 707 264條數(shù)據(jù)達(dá)到千萬級(jí)別。一般而言,數(shù)據(jù)量越大,所蘊(yùn)含的信息就越豐富,因此本文中采用Sentiment140數(shù)據(jù)集,該數(shù)據(jù)集含有160萬條數(shù)據(jù)集,為文本挖掘提供了豐富的素材。
1? 實(shí)驗(yàn)方法
1.1? 數(shù)據(jù)集
本文中采用Sentiment140數(shù)據(jù)集,包含2009年4月6日到2009年6月25日共659 775位推特用戶發(fā)表的160萬條推特?cái)?shù)據(jù),語言為英語。該數(shù)據(jù)集包含6個(gè)字段,分別是標(biāo)簽(也稱極性,Polarity)、推特ID、發(fā)表時(shí)間戳、標(biāo)示、用戶名、推特文本。標(biāo)簽分為正向標(biāo)簽(Positive)和負(fù)向標(biāo)簽(Negative),表示本條推特文本的情感狀態(tài)。數(shù)據(jù)集中共有80萬條正向數(shù)據(jù)和80萬條負(fù)向數(shù)據(jù),分類均衡。
1.2? 預(yù)處理
原始文本數(shù)據(jù)無法直接用于分類任務(wù),因推特文本的多源、異構(gòu)特征,如推特?cái)?shù)據(jù)中包含短鏈接、表情、不規(guī)范拼寫(如用“yeeeeees”表示“yes”)等,不具有實(shí)際含義,需要去除。因此對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,流程如圖1所示。
首先進(jìn)行數(shù)據(jù)清洗,去除無語義的信息。去除短單詞是基于這樣一個(gè)假設(shè):即過短的單詞(字母?jìng)€(gè)數(shù)小于4個(gè))含有有效信息的概率很小,因此去除這些無關(guān)信息可以提高分類器的表現(xiàn)。轉(zhuǎn)小寫是數(shù)據(jù)清洗必要的一個(gè)步驟,在后續(xù)特征提取部分,如使用詞袋模型,統(tǒng)一小寫后的文本可以確保相同含義的單詞被視為一個(gè)語義單元,如“Monkey”和“monkey”在語義上是一致的,首先需要在形式上將其統(tǒng)一以便后續(xù)的特征提取。
僅有數(shù)據(jù)清洗是遠(yuǎn)遠(yuǎn)不夠的,還需要使用一些自然語言處理技巧進(jìn)行進(jìn)一步的處理,本文使用NLTK[19]工具包對(duì)推特文本進(jìn)行進(jìn)一步的處理,首先,去除停用詞,英語中的停用詞包含“A”“the”“is”“are”“having”等,這些單詞主要起到承接作用,本身并無語義。然后進(jìn)行“符號(hào)化”,此處使用空格分隔直接將單詞作為元素進(jìn)行符號(hào)化。最后進(jìn)行詞根化和詞形還原,這兩步的作用和轉(zhuǎn)小寫類似,將語義相同但形式不同的單詞進(jìn)行歸一化,如“go”和“went”具有相同的語義,只是因?yàn)槭聭B(tài)不同而顯示為不同的形式,通過詞形還原可以做到這一點(diǎn)。
1.3? 特征提取
文檔的特征提取是進(jìn)行情感判別前的關(guān)鍵一步,合適的特征提取方法可以很好地提升分類器的表現(xiàn)。文檔是一系列單詞的有序不定長(zhǎng)列表。最常見的文檔特征描述方法為詞袋模型(bag of words),詞袋模型的思想是文檔為一個(gè)包裹著詞語的容器,通過容器中的詞語的計(jì)數(shù)等統(tǒng)計(jì)量來將文檔向量化(vectorization)。必須說明的一點(diǎn)是,詞袋模型和其他一些文檔模型一樣,是一種有損模型,即建模過程中會(huì)丟失一些信息。由于自然語言的特點(diǎn)(非結(jié)構(gòu)化、歧義性、容錯(cuò)性、易變性、簡(jiǎn)略性),無損地對(duì)文檔進(jìn)行建模是不可能的,只能使用合適的建模方式來盡可能地保留文檔的信息。詞袋模型最常用的統(tǒng)計(jì)指標(biāo)為詞頻,即統(tǒng)計(jì)一個(gè)單詞在文檔中出現(xiàn)的次數(shù),除此之外,還可以選擇布爾詞頻、TF-IDF、詞向量等作為統(tǒng)計(jì)指標(biāo)。一般而言,詞頻向量適合主題較多的數(shù)據(jù)集;布爾詞頻適合長(zhǎng)度較短的數(shù)據(jù)集;TF-IDF適合主題較少的數(shù)據(jù)集;詞向量適合處理OOV(Out Of Vocabulary)問題嚴(yán)重的數(shù)據(jù)集。除詞袋模型外,神經(jīng)網(wǎng)絡(luò)模型也能無監(jiān)督地生成文檔向量,比如AutoEncoder和RBM等。使用深度學(xué)習(xí)生成地文檔向量一般表現(xiàn)優(yōu)于詞袋向量,但計(jì)算開銷也更大。
特征提取部分分別使用CountVectorizer和TF-IDF(term frequency–inverse document frequency)兩種詞袋模型進(jìn)行特征提取。其中CountVectorizer即為使用詞頻作為統(tǒng)計(jì)指標(biāo)地詞袋模型,而TF-IDF(詞頻-倒排文檔頻次)除考慮詞頻外,還綜合考慮詞語的稀有程度,因此,TF-IDF屬于多文檔方法。
除使用不同指標(biāo)的詞袋模型外,同時(shí)考慮一元語言(1-gram)模型和二元語言模型(2-gram)對(duì)提取效果的影響?;贜-gram的方法是把文檔進(jìn)行排序,并使用大小為N的窗口對(duì)文檔進(jìn)行分割。簡(jiǎn)單地說,基于一元語言模型分割后的元素為單詞,而基于二元語言模型分割后的元素為2個(gè)單詞組成的序列,以此類推。
本文使用Scikit-learn庫[20]提供的工具進(jìn)行特征提取。
1.4? 分類器選擇
分類器對(duì)比XGBoost、邏輯斯蒂回歸(Logistic
Regression, LR)和線性SVC(linear support vector classifier)三種算法在不同特征提取參數(shù)下的F1值。
XGBoost算法是對(duì)GBDT(Gradient Boosting? Decision Tree)算法的優(yōu)化,兩者都是基于提升(boosting)的方法。其優(yōu)勢(shì)在于高效可拓展和魯棒性強(qiáng)。但其面對(duì)高維數(shù)據(jù)時(shí),無法很好地捕捉其特征,此外,在數(shù)據(jù)量很大的情況下,深度學(xué)習(xí)算法相比XGBoost優(yōu)勢(shì)明顯。邏輯斯蒂回歸算法主要用于解決二分類問題,用來表示某件事情發(fā)生的可能性。由于本次任務(wù)為二分類任務(wù),因此采用邏輯斯蒂回歸作為分類算法之一。邏輯斯蒂回歸算法具有實(shí)現(xiàn)簡(jiǎn)單、速度快、資源需求低等優(yōu)勢(shì),其缺點(diǎn)在于容易欠擬合,一般而言模型表現(xiàn)不太佳,只能處理二分類問題且必須線性可分。線性SVC是基于SVM并使用線性核的分類器,SVM通過對(duì)特征空間劃分超平面進(jìn)行分類,其優(yōu)點(diǎn)在于樣本量要求低,魯棒性強(qiáng)。
2? 探索性數(shù)據(jù)分析
2.1? 時(shí)間分布
首先對(duì)數(shù)據(jù)的時(shí)間分布進(jìn)行可視化,分別從日期和一天中的小時(shí)兩個(gè)維度進(jìn)行展示,如圖2所示。
圖2中可發(fā)現(xiàn)大量推特?cái)?shù)據(jù)集中發(fā)表于2009-5-29到2009-6-2以及2009-6-5到2009-6-20。此外,
可以發(fā)現(xiàn)部分日期沒有或很少有推特發(fā)表,如2009-5-23到2009-5-25以及2009-5-27。從情感狀態(tài)分布上看,大部分時(shí)間正向情感的推特?cái)?shù)據(jù)量大于負(fù)向情感的推特?cái)?shù)據(jù)量,但從2009-5-17后全部推特?cái)?shù)據(jù)均為負(fù)向數(shù)據(jù)。
從一天內(nèi)發(fā)表時(shí)間點(diǎn)看,正向和負(fù)向推特的時(shí)間點(diǎn)分布趨于一致,在8—20時(shí)之間為下降趨勢(shì)并至低估,然后開始上升。值得注意的是,正向推特在8—20時(shí)時(shí)間范圍內(nèi)少于負(fù)向推特,但在其他時(shí)間段尤其是凌晨22至次日5時(shí)前,正向推特?cái)?shù)量遠(yuǎn)高于負(fù)向推特。一個(gè)可能的猜測(cè)是,8—20時(shí)為工作時(shí)間,負(fù)向推特的發(fā)出人可能因各種原因無法聚焦個(gè)人生活與工作,因此以社交網(wǎng)絡(luò)為發(fā)泄口表達(dá)負(fù)面情緒;而在凌晨等休息時(shí)間,娛樂活動(dòng)可以激發(fā)人的樂觀情緒,因而此時(shí)段發(fā)出的推特更傾向于正向情緒。但此猜測(cè)并無進(jìn)一步的依據(jù),如需探究則要有進(jìn)一步的數(shù)據(jù)支持。
2.2? 詞云分析
首先對(duì)高頻詞進(jìn)行詞云繪制,詞頻越高的詞語在詞云圖中越大。圖3中可以看到正向推特中“Love”的詞頻很高,而負(fù)向推特中“miss”擺在了比較顯眼的位置。
此外,我們對(duì)標(biāo)簽進(jìn)行分析,推特中標(biāo)簽指的是以“#”為開頭的單詞,一般推特用戶會(huì)以標(biāo)簽表明推特的主題,因此,標(biāo)簽對(duì)于判斷推特信息的主題或相關(guān)的話題十分重要。實(shí)際上從圖4的可視化結(jié)果看也是如此。在負(fù)向推特詞云中,“fail”的詞頻很高,“fail”意為失敗,是一個(gè)具有強(qiáng)烈感情色彩的詞語,因此,可以想見,分析標(biāo)簽中蘊(yùn)含的信息對(duì)文本情感分析至關(guān)重要。
3? 實(shí)驗(yàn)結(jié)果
我們通過F1值對(duì)算法進(jìn)行評(píng)估,并通過10折(10 Fold)交叉驗(yàn)證抑制隨機(jī)因素,確保結(jié)果可以反映算法的平均表現(xiàn)。訓(xùn)練集和測(cè)試集的劃分方式為分層隨機(jī)劃分,比例為測(cè)試集20%,訓(xùn)練集80%。結(jié)果如表1所示。
從表1可以得出結(jié)論邏輯斯蒂回歸在各種參數(shù)配置下均取得了最佳的效果,且在使用一元TF-IDF方法進(jìn)行特征提取時(shí)取得了最佳的F1值,為76.1%。
4? 結(jié)? 論
本文使用百萬級(jí)別的推特?cái)?shù)據(jù)集,對(duì)數(shù)據(jù)集從不同維度開展探索性數(shù)據(jù)分析,并使用不同特征提取與分類方法對(duì)算法進(jìn)行評(píng)估。最終得到最佳的特征提取方法(一元TF-IDF)和最佳的分類器(邏輯斯蒂回歸)。鑒于本次進(jìn)行實(shí)驗(yàn)的特征提取方法和分類器均為傳統(tǒng)機(jī)器學(xué)習(xí)方法,在將來的工作中擬引入基于深度學(xué)習(xí)的特征提取方法(如Word2Vec)以及分類方法(如LSTM),進(jìn)行更加全面的評(píng)估。
本文的方法可以用于基于文本信息的用戶情感分析以及精神障礙篩查與輔助診斷,具有廣闊的應(yīng)用前景?;谏缃痪W(wǎng)絡(luò)文本的精神狀態(tài)判定是對(duì)目前基于量表的精神疾病的診斷方法的很好的補(bǔ)充,同時(shí),社交網(wǎng)絡(luò)文本相比量表數(shù)據(jù),具有客觀性強(qiáng)、易獲取、成本低等優(yōu)勢(shì)。有理由相信,隨著相關(guān)研究的進(jìn)展,社交網(wǎng)絡(luò)文本挖掘精神分析將會(huì)對(duì)人民精神健康做出更大的貢獻(xiàn)。
參考文獻(xiàn):
[1] 方振宇.基于抑郁詞典的社交網(wǎng)絡(luò)心理障礙檢測(cè)方法 [J].電腦知識(shí)與技術(shù),2017,13(7):244-247.
[2] 王垚,賈寶龍,杜依寧,等.基于詞向量的多維度正則化SVM社交網(wǎng)絡(luò)抑郁傾向檢測(cè)方法 [J].計(jì)算機(jī)應(yīng)用與軟件,2022,39(3):116-120.
[3] 查國(guó)清,胡超然,孫銘濤,等.抑郁癥網(wǎng)絡(luò)社交與疑似抑郁微博初步篩選算法 [J].計(jì)算機(jī)工程與應(yīng)用,2022,58(1):158-164.
[4] 劉定平,張雪燕.基于社交網(wǎng)絡(luò)信息的用戶抑郁癥傾向識(shí)別 [J].統(tǒng)計(jì)理論與實(shí)踐,2021(9):14-21.
[5] LI L,ZHANG Q,WANG X,et al. Characterizing the Propagation of Situational Information in Social Media During COVID-19 Epidemic: A Case Study on Weibo [J].IEEE Transactions on Computational Social Systems,2020,7(2):556-562.
[6] GHOSH S,EKBAL A,BHATTACHARYYA P. What Does Your Bio Say? Inferring Twitter Users Depression Status From Multimodal Profile Information Using Deep Learning [J].IEEE Transactions on Computational Social Systems,2022,9(5):1484-1494.
[7] DE CHOUDHURY M,GAMON M,COUNTS S,et al. Predicting Depression via Social Media [J].Proceedings of the International AAAI Conference on Web and Social Media,2021,7(1):128-137.
[8] ZHOU J,ZOGAN H,YANG S,et al. Detecting Community Depression Dynamics Due to COVID-19 Pandemic in Australia [J].IEEE Transactions on Computational Social Systems,2021,8(4):982-991.
[9] GUPTA P,KUMAR S,SUMAN R R,et al. Sentiment Analysis of Lockdown in India During COVID-19: A Case Study on Twitter [J].IEEE Transactions on Computational Social Systems,2021,8(4):992-1002.
[10] KAUSAR M A,SOOSAIMANICKAM A,NASAR M. Public Sentiment Analysis on Twitter Data during COVID-19 Outbreak [J/OL].International Journal of Advanced Computer Science and Applications,2021,12(2)[2023-02-11].http://thesai.org/Publications/ViewPaper?Volume=12&Issue=2&Code=IJACSA&SerialNo=52.
[11] SHEN G,JIA J,NIE L,et al. Depression detection via harvesting social media: a multimodal dictionary learning solution [C]//IJCAI'17:Proceedings of the 26th International Joint Conference on Artificial Intelligence.Melbourne:AAAI Press,2017:3838-3844.
[12] HIRAGA M. Predicting Depression for Japanese Blog Text [C]//Proceedings of ACL 2017, Student Research Workshop.Vancouver:ACL,2017:107-113.
[13] 周法國(guó),孫冬雪.融入情感和話題信息的中文方面級(jí)情感分析 [J].計(jì)算機(jī)應(yīng)用研究,2022,39(12):3614-3619+3625.
[14] CAI W,GAO M,JIANG Y,et al. Multi-Source Domain Transfer Discriminative Dictionary Learning Modeling for Electroencephalogram-Based Emotion Recognition [J].IEEE Transactions on Computational Social Systems,2022,9(6):1604-1612.
[15] 張夢(mèng)娜,王君巖,龍洋,等.基于社交媒體中文本信息的早期抑郁癥檢測(cè) [J].中國(guó)生物醫(yī)學(xué)工程學(xué)報(bào),2022,41(1):21-30.
[16] 劉德喜,邱家洪,萬常選,等.利用準(zhǔn)私密社交網(wǎng)絡(luò)文本數(shù)據(jù)檢測(cè)抑郁用戶的可行性分析 [J].中文信息學(xué)報(bào),2018,32(9):93-102.
[17] SUMAN C,CHAUDHARI R,SAHA S,et al. Investigations in Emotion Aware Multimodal Gender Prediction Systems From Social Media Data [J].IEEE Transactions on Computational Social Systems,2022:1-10.
[18] NASEEM U,RAZZAK I,KHUSHI M,et al. COVIDSenti:A Large-Scale Benchmark Twitter Data Set for COVID-19 Sentiment Analysis [J].IEEE Transactions on Computational Social Systems,2021,8(4):1003-1015.
[19] BIRD S,KLEIN E,LOPER E. Natural Language Processing with Python:Analyzing Text with the Natural Language Toolkit [M].OReilly Media,Inc.,2009.
[20] PEDREGOSA F,VAROQUAUX G,GRAMFORT A,et al. Scikit-learn:Machine Learning in Python [J].The Journal of Machine Learning Research,2011,12(1):2825-2830.