宋銳彪
(云南師范大學,云南 昆明 650500)
隨著時代的加速發展,人們所處的社會環境變化多端,學習生活、工作節奏變快,促使壓力劇增,精神健康問題日益突出,同時人們對自身的精神健康也越發重視。根據世界衛生組織公布的報告,截至目前,全球抑郁癥患者比例高達20.23%,但就診率不到7%。抑郁癥不易察覺,人們意識淡薄,篩查方法缺乏等因素,使得抑郁癥的篩查率、就診率都極低。為了改善這一現狀,許多學者都試圖將機器與深度學習應用于抑郁癥的預測、識別、輔助診斷和后期治療中[1-3]。有的學者基于自然語言特征進行識別,如劉海鷗等人[4]基于深度學習的在線健康社區抑郁癥用戶畫像開展對抑郁情感進行分類的研究;趙小莉等人[5]基于深度學習對微博文本進行了抑郁癥識別,該研究打破傳統的患者主動就診方式,對抑郁癥的快速識別和提前預警有重要意義。還有學者從生理行為進行研究,如魏巍等人[6]基于面部深度空時的特征對抑郁癥進行識別,毛萬登等人[7]基于深度學習從腦電信號對抑郁癥患者進行識別研究。
筆者發現,以上研究均是基于深度學習算法利用抑郁癥人群的生理行為特征或自然語言特征對抑郁癥人群進行識別。其中,利用腦電波特征、面部特征等手段識別的成功率較高,但是識別的形式較為單一,更為重要的是識別時所需數據較為嚴格,不易普遍篩查。為此,本文提出基于兩類抑郁癥特征維度的識別方法:結合熵值層次分析對生理行為特征進行識別;基于二次特征詞庫加強的貝葉斯算法進行自然語言文本識別。
本文將基于生理行為和語言行為雙層次特征維度對抑郁情緒進行識別,即通過對抑郁人群進行生理行為、語言信息兩方面的識別達到抑郁情緒識別的目的。本文的主要貢獻:第一,完善目前的數學模型,并對抑郁人群進行識別,具體為基于熵值的層次分析法建構對具有抑郁情緒人群的生理特征模型進行識別;第二,基于二次特征詞庫加強的詞頻-逆文檔頻率(Term Frequency-Inverse Document Frequency,TF-IDF)算法,將特征詞向量化輸入多項式貝葉斯算法中,從概率角度對抑郁情緒文本進行有效識別,從而判斷人群的抑郁情緒。
通過查詢醫療文獻記載、走訪精神科醫師及翻閱問卷調查資料,筆者發現:當人有抑郁情緒時,其生理的行為特征會發生明顯變化,輕則出現失眠、食欲不振、心情低落等情況,重則出現性格孤僻、社交恐懼、厭世、服用藥物、自殺等行為。針對這一問題,人們試圖通過心理問卷調查等方式來了解自身情況,如抑郁癥測試、心理評價等,但這只能幫助初步分析人的心理狀況,并籠統地反映自身情況,對于抑郁情緒的具體細致情況的識別效果都是較差的。為改善識別效果,本文通過查詢科學的心理問卷填寫事實、走訪心理醫生及查閱醫學文獻等獲得數據,采用聚類的層次分析對抑郁人群的癥狀進行識別。本文歸納出有關抑郁情緒癥狀的生理行為特征12個,并通過特征相關分析篩選最終得到7個特征。本文先利用聚類分析的方法對行為特征進行分層,再利用熵值法確定各個特征的權重,由此避免人為主觀因素影響層次分析法中的指標權重,從而更為具體地刻畫抑郁情緒者的生理行為特征,充分反映各行為特征對評判的影響程度,提高識別效果。文獻[8]、文獻[9]、文獻[10]、文獻[11]中均有對熵值法、聚類分析法以及層次分析法的詳細介紹,本文不再贅述。熵值層次分析法模型的建立流程見圖1。

圖1 熵值層次分析法
雖然抑郁情緒者的生理行為特征有著明顯的變化,但僅依據生理行為特征就對抑郁癥狀進行識別的效果還是不盡如人意。文獻[12]和文獻[13]等研究表明,貝葉斯算法對于文本的分類表現出較好的識別能力。為進一步加強識別效果,本文提出了一類基于抑郁文本語句的多項式貝葉斯識別算法,對抑郁情緒癥狀做進一步的識別,提高抑郁癥狀的識別率,即基于二次特征詞庫加強的TD-IDF 算法對文本語句進行向量化表示,并輸入多項式貝葉斯模型中對抑郁情緒語句進行識別。筆者發現,常規的TD-IDF 算法[13]中,在文本特征詞的篩選過程中會出現拒接受現象,即錯過“低頻重要詞”和“常規重要詞”,這樣雖然提高了識別速度,但降低了多項式貝葉斯算法的識別準確率。針對這一問題,本文對TD-IDF 算法采用了建立二次加強的特征詞庫,有效地提高了該類詞的IDF 值,達到提高實驗準確率的目的。實驗結果表明:通過建立二次加強的特征詞庫,實驗的識別準確率提高了3.2%。
1.2.1 多項式貝葉斯模型
樸素貝葉斯分類器是一種有監督學習算法,對于文本的分類表現出較好的效果[14-15]。它有多項式與伯努利等兩種常見模型。其中,多項式模型是一種基于詞頻的模型,它以單詞為粒度,而伯努利模型則是一種基于文檔的模型,以文件為粒度[16]的模型。本文采用多項式貝葉斯模型。
本文中的多項式貝葉斯算法為如下3 步:
(1)計算先驗概率,公式如下[16]:

式中:|C|為類別C的文檔數量;|D|為所有的文檔數量。
(2)計算條件概率,公式如下[16]:

式中:P(Wi|C)為詞Wi在類別C的文檔中的權重;為詞Wi在屬于類C的所有文檔中出現次數;N為平滑系數,如N=1 為拉普拉斯平滑;∑Ci為C類的所有文檔中的詞語總數。
(3)先驗概率和條件概率的計算均使用最大似然估計,計算出相對頻率值,使訓練數據出現的概率最大。計算預測概率的公式如下[16]:

1.2.2 TF-IDF 算法
TF-IDF 算法對識別語句中所需的每一個特征詞進行刻畫,確定其在文本中的重要程度,即該詞的重要性與它在某文本中出現的次數正相關,特征詞在文本中出現的次數越多,其重要性越大,但同時又與它在總文本集中出現的頻率成負相關,特征詞在總文本集中出現的次數越多,則該特征詞越是不重要的。因此,TF-IDF 值可作為抑郁癥文本語句的分類標準,并且TF-IDF 算法還具有避免抑郁情緒文本中的特征詞向量維度過高、數據稀疏及計算效率低效等的特點[14]。但是,筆者發現,常規的TF-IDF 算法對于常見特征詞、低頻重要詞等存在拒接受現象。所以,本文中的TF-IDF 算法對抑郁情緒語句文本中的TOP-N 關鍵詞提取時,加入對于識別時所需的重要的二次特征詞(人工額外進行二次篩選重要特征詞)。最后,采用詞袋模型(Bag Of Words,BOW),將文本進行向量表示。
總之,TF-IDF 方法的核心是將文本表示為n個特征詞組成的特征詞集合,并通過詞頻和逆向文本頻率,反映某個特征詞的重要性。
本文通過以下4 個步驟得到特征詞的TF-IDF 值:
(1)二次加強特征詞庫的建立對TF-IDF 算法中出現的對“高頻常見詞”“低頻重要詞”不友好的現象進行改善,即通過加入這類特征詞與提高該類詞的IDF 值來提高該類詞在判斷時的作用。
(2)計算詞頻(Term Frequency,TF)。詞頻是指該詞在文本中出現的頻率,記為F,計算公式為[17]:
式中:TFij為文件j中的特征詞i的詞頻;Nij為特征詞i在文件j中出現的次數;∑Ti為文件j中的所有特征詞數量。
(3)計算逆文本頻率(Inverse Document Frequency,IDF)。逆文本頻率是指文本中的文本總數除以包含該詞的文本數記為IDFi,計算公式如下[17]:
式中:IDFi為特征詞i在逆文本的詞頻;|D|為語料庫中文本總數;∑ti為包含單詞i的所有文本數的分母加1,是為了避免分母為0 即為所有文本不含該詞的情況。
(4)實驗中的文本的長度不一,會造成識別效果下降,通過文本長度歸一化提高識別精度[18],計算公式為:

式中:Li為特征詞的長度;Lmax為所有文檔中的特征詞最大長度。
(5)計算特征詞的TF-IDF 值,公式為:

二次特征詞庫加強下的TF-IDF 貝葉斯算法流程見圖2。

圖2 TF-IDF 算法流程
為達到實驗研究的效果,本文的數據來源選自微博、微信、星調查等公開平臺。主要是通過患有抑郁癥的微博用戶(如2015 年因抑郁癥而去世的用戶“走飯”)、現有的抑郁癥樹洞、網絡問卷調查、心理工作站以及走訪相關醫院心理醫生等途徑獲得的數據。共采集微博平臺中具有抑郁情緒的相關用戶327 位,7 721 個語句,以及非抑郁癥用戶287 位,6 921 個語句。發放問卷調查237 份,共得到有效數據214 份。
核CPU 為2.70 GHz,16 GB 內存;操作系統為Windows 10,Python 3.9;開發工具為IDLE。
數據處理分為文本數據處理和調查問卷數據處理兩類。
2.3.1 文本數據處理
文本數據處理分為以下5 步:
(1)對文本數據進行去隱私化處理,將與個人信息相關的數據進行修改、刪除得到6 843 個與抑郁癥相關的語句,得到6 402 個非抑郁情緒的語句;
(2)采用Jieba 分詞對所得到的3 028 條語句進行分詞,得到了2 0645 個詞、詞組;
(3)去停用詞(哈工大版停用詞):對日常符號、常見字詞進行篩選得到10 078 詞,并對篩選后的每一個特征詞進行詞頻統計;
(4)建立二次加強特征詞庫完善后續特征詞庫,人工篩選出詞頻前1 000 個詞語。
(5)人工進行檢查、增添、刪除,最終得到符合本文實驗關于抑郁情緒特征語句的識別詞庫,共計827 個特征詞.
2.3.2 調查問卷數據處理
調查問卷數據處理分為以下2 步:
(1)根據心理學中對于抑郁癥調查、判斷人們是否抑郁的問題中,筆者截取了其中常見的20個抑郁癥相關問題,進行科學化的問卷設置。
(2)通過Excel 軟件對異常數據進行合理化,如缺失數據、超出正常范圍數據進行整改,最終得到206 份問卷數據。
本文共采集了抑郁情緒相關語句與非抑郁情緒語句共13 245 份,調查問卷數據206 份。從中隨機抽查語句文本1 000 份、調查數據60 份作為測試集使用。最終,基于熵值層次分析模型、二次特征詞庫加強下的TF-IDF 貝葉斯算法對抑郁情緒識別的效果由分類的精確率、召回率和F1 值統計值體現,如表2、表3、表5 所示。其中表1 是采用jieba 分詞結果;表2 是未改進TF-IDF 貝葉斯算法識別結果;表3 是本文中改進后的TF-IDF 貝葉斯算法識別結果;表4、表5 是熵值層次分析模型識別結果與一致性檢驗情況;表6 為熵值層次分析模型權重。

表1 分詞篩選后結果

表2 未改進TF-IDF 貝葉斯算法識別結果對比

表3 改進TF-IDF 貝葉斯算法識別結果對比

表4 熵值層次分析模型一致性檢驗

表5 熵值層次分析模型識別結果對比

表6 熵值層次分析模型
從表格中的結果可見,本文所提的方法有效提高了對抑郁人群特征、抑郁情緒語句的識別效果。
本文從生理行為、語言行為兩個特征維度,提出利用熵值層次分析識別,以及二次特征詞庫加強下的TF-IDF貝葉斯識別算法對抑郁情緒進行識別,實驗結果顯示:在識別速度可接受的情況下,熵值層次分析模型的識別效果可達到83.2%(默認數據正確情況),二次特征詞庫加強下的TD-IDF 貝葉斯算法識別準確率達到84.9%,相較于未加強模型提高3.2%。然而,需要指出的是,通過對識別錯誤的語句分析發現,識別錯誤語句多為消極語句,所以本文采用的模型、算法在文本搜尋和處理、識別精度、維度以及角度方面還有待進一步研究和完善。