張 晗,賈甜遠,駱 方,張 生,鄔 霞,4+
1.北京師范大學 人工智能學院,北京 100875
2.北京師范大學 心理學部,北京 100875
3.北京師范大學 中國基礎教育質量監測協同創新中心,北京 100875
4.智能技術與教育應用教育部工程研究中心,北京 100875
隨著信息時代的飛速發展,利用網絡平臺進行學習、工作、娛樂、社交等活動已經成為人們日常生活中必不可少的一部分,極大地豐富了人們表達自我、記錄思想和交流溝通的方式。在互聯網中的海量數據中,非結構化文本與信息數據占據了很大一部分,用戶的文本信息往往是其在自然狀態而非測試狀態下的真實表達。研究表明,個體所使用的語言文本往往在一定程度上反映著其心理狀態或某些特質傾向[1-2],例如羞怯特質(shyness)、合作性特質(cooperativeness)、完美主義特質(perfectionism)、焦慮特質(anxiety)等。這些心理特質的差異會對一系列的個人行為(如個人決策、職業能力等)產生多重影響[3-4],通過對心理特質進行分析評價和持續監測能夠幫助深入了解心理狀態和人格特質,在發展過程中發現行為變化中所存在的問題和原因并及時加以解決。因此,對網絡文本數據進行分析,可以為預測心理特質提供非常有用的參考價值,彌補傳統的心理測量方法易受應試動機等因素影響的缺陷。
近年來,深度學習[5]相關技術在計算機視覺、模式識別、自然語言處理等領域得到了廣泛應用[6-8],因其在很大程度上避免了傳統文本分類方法中存在的諸多問題,所以也越來越多地應用于文本挖掘。具體來說,深度學習能夠將文本數據轉換為適合神經網絡處理的格式來有效進行文本表示,并通過特定的神經網絡結構自動獲取關鍵特征進而避免了人工特征工程的復雜過程,從而在大規模文本分類及情感分析領域中表現出了很好的性能,進一步提高了模型分類的精度[9-10]。尤其是2018 年出現的深度神經網絡語言模型BERT(bidirectional encoder representations from transformers)[11],它采用多頭注意力機制[12],不僅能夠準確提取字符級別和詞級別的信息,而且可以充分捕捉句內關系和句間關系,具有很強的模型泛化能力和魯棒性,在包括文本分類在內的多種自然語言處理任務中都表現出優異的模型性能[12-15]。
本文針對網絡文本數據,提出了基于BERT 的心理特質預測模型,主要貢獻如下:
(1)將BERT 語言框架應用于心理特質預測,利用BERT 雙向訓練的模式及Transformer 的編碼模塊挖掘更加完整的上下文語義特征和更長距離的上下文依賴關系,解決了心理特質語義特征的增強向量表示的問題。
(2)在下游分類任務中分別采用BERTBASE模型的全連接層和基于集成學習原理的隨機森林算法作為兩種分類器,避免分類器多樣性較差而造成的分類準確率受限、模型性能欠佳等問題。
在針對大五人格特質預測的研究中,以往采用的文本挖掘方法大多依賴于傳統的機器學習算法。例如,Kwantes 等[16]在2016 年利用潛在語義分析的算法對被試所寫的關于在特定場景中自我感受的文章進行內容處理,并結合被試的量表信息,實現了包括開放性、外傾性、神經質性/情緒穩定性在內的三種人格特質預測。近年來,基于深度學習的神經網絡結構在文本挖掘領域的應用使得心理特質與人格預測研究有了進一步突破,主要采用的網絡結構包括經典的卷積神經網絡(convolutional neural networks,CNN)、循環神經網絡(recurrent neural network,RNN)及其對應的網絡結構變種。例如,Wei 等[17]在2017 年提出了一個用于預測微博用戶個性特征的異構信息集成框架,通過收集用戶的語言文本數據、頭像、表情和互動模式等異構信息,采用CNN 的改進結構Text-CNN、Responsive-CNN 以及詞袋聚類等多種不同的策略來進行語義表示和特征提取,不僅很好地實現了開放性、盡責性、外傾性、宜人性以及神經質性這五種人格的預測,而且表現出了優于其他傳統模型的性能。Majumder等[18]提出了一種基于CNN 從文章中提取大五人格特征的模型,將文章中的句子輸入到卷積濾波器中得到N-Gram 特征向量形式的句子模型,在大五人格預測實驗中也表現出了良好的模型性能。
由此可見,深度學習的神經網絡算法在基于文本挖掘的情感分析及心理特質預測研究中具有明顯的可行性及有效性。但需要指出的是,上述研究所建立的情感分析及心理特質預測模型,大多是基于經典的神經網絡算法,這些網絡結構本身的限制在很大程度上會使模型性能受限。而深度學習領域的更新迭代速度之快使得許多廣泛應用于文本分類的神經網絡算法出現了更加完善的改進結構及變種形式,尤其是近幾年提出的注意力機制以及BERT 語言模型,在包括句子級和詞條級在內的11 項自然語言處理任務中都表現出了超越其他技術的效果[11,19],對文本分類任務的提升效果也極為顯著。但是這些最新的網絡結構及算法改進往往僅在自然語言處理領域得到了較大范圍的應用,并未引入心理特質預測研究中。因此,本文基于注意力機制的原理,利用BERT 算法并對其下游結構進行微調,構建基于BERT 的文本分類模型,用于實現羞怯、合作性、完美主義、焦慮這四種心理特質的預測。
BERT 可譯為“來自變換器的雙向編碼器表示”,由Google 在2018 年年底提出,本質上是一種基于Transformer 架構且能夠進行雙向深度編碼的神經網絡語言模型[11-12]。在BERT 內部組成結構中,最為關鍵的部分是Transformer 的解碼模塊。Transformer 由編碼器(Encoder)和解碼器(Decoder)兩部分組成,Encoder 用于對輸入的文本數據進行編碼表示,Decoder 用于生成與輸入端相對應的預測序列;由于BERT 作為語言表示模型使用,僅采用了Transformer的Encoder 而未使用Decoder。BERT 之所以能在文本分類、閱讀理解、語言翻譯等各類自然語言處理任務中都表現出極強的模型泛化能力和提升效果,關鍵在于其利用自注意力(self-attention)機制的原理,并引入掩蔽語言模型(masked language model,MLM)和下一句預測(next sentence prediction,NSP)兩種策略對不同層的上下文聯合處理來進行雙向深度預訓練,以此緩解單向性約束問題,這在以往常用的語言表示模型中是無法實現的。所謂MLM,簡單來說,類似于完形填空的過程,指的是將句子中的詞按照隨機的形式進行遮蔽(Mask),然后依據上下文語義信息對其進行預測,被遮蔽的詞在大多數情況下(80%)將被替換為[MASK]標簽,在其他情況下分別替換為隨機詞(10%)或保留該詞不做替換(10%),通過這種Mask 操作使得每個詞的關注度得到提高;NSP 則是根據句子之間的依賴關系對下一個句子進行預測,在句首和句末分別插入[CLS]和[SEP]標簽,通過學習句間語義相關性判斷某個句子是否為輸入句子的下一句,按照50%的概率進行匹配,適用于問答任務或推理任務的過程。
在BERT 框架的實現過程中,主要包括預訓練和微調兩部分。在預訓練過程中,BERT 針對不同的任務對未標記的數據進行訓練;在微調階段,先利用預訓練的參數對BERT 進行初始化之后,再結合下游具體任務的標記數據實現對所有參數的微調過程。正是由于BERT 的預訓練與下游任務結構之間沒有太大差別,BERT 具有跨不同任務之間的通用架構。
本文基于BERT 模型,分別采用BERTBASE模型的全連接層和經典的隨機森林(random forest,RF)算法作為分類器,構建了BERT-B 和BERT-RF 心理特質分類模型,將四種心理特質預測任務轉化為基于BERT二元分類的多標簽文本分類任務。模型的基本思想是利用BERT 本身所具有的MLM 對詞預測以及NSP對兩個句子是否有上下文關系進行分類的兩種策略使模型能夠在更大程度上根據上下文語義實現詞的預測,提高糾錯能力。且Transformer 的Encoder 捕獲更長距離的上下文依賴關系,通過雙向訓練的模式使得模型對語義信息特征的獲取更加全面和高效。此外,考慮到心理特質是一種較為復雜的內隱特征,不同的分類器構造可能會影響分類結果的精度,因此,在下游分類任務中分別采用BERTBASE模型的全連接層和經典的隨機森林算法作為兩種不同的分類器,豐富模型的多樣性,并對模型結果進行對比分析,尋找預測精度更高的心理特質預測模型。由于四種心理特質所對應的標簽之間不存在明顯的相互依賴或排斥的關系,分別針對每一種心理特質訓練一個相應的二分類模型。
基于BERT 的兩種模型整體框架結構如圖1 所示。在完成文本數據預處理后并將句子長度裁剪為512個字符以內后,首先進入嵌入層(embedding layer)將句子按字分割,把單個字符轉化為詞向量表示的形式;然后將嵌入操作后的結果送入Transformer 的Encoder 層,每 個Encoder 層 由Self-Attention 層 和Self-Output 層、Intermediate 層、Output 層組成,其中Self-Attention 由Query、Key、Value 三個全連接層組成;接著將最后一層Encoder 的第一個字符[CLS]的字向量經過池化層(Pooler),經由tanh 函數處理后得到整個句子的句向量表示;最后將攜帶強語義表示的句向量送入分類層,其中,BERT-B 模型和BERTRF 模型分別采用BERTBASE的全連接層和RF 算法兩種方式作為四種心理特質類別的分類器,分別得到每個類別的分類結果,完成對四種心理特質的預測。
基于BERT 的BERT-B 模型與BERT-RF 模型構建過程主要包括如下步驟:
(1)BERT 輸入表示。由于本研究所采用的數據為中文文本,故將單個漢字直接作為細粒度的文本語義單位。每個字的輸入表示由其對應的token embedding、segment embedding 和position embedding三個嵌入加和構成。其中,token 表示詞/字,token embedding 即為詞/字向量表示word embedding,根據字向量表的查詢結果將一個token 表示為一維向量的形式;segment 表示部分/段,segment embedding 即為區分字/詞的語義屬于哪個句子的向量表示,判斷一個token 屬于左(EA)右(EB)兩邊的哪一個segment,此處輸入的文本數據為句子而非句對,故只有EA 沒有EB;position 表示位置,position embedding 即為位置向量表示,根據詞/字在文本中所對應的特定位置和順序,每個token 都被賦予一個攜帶了其自身位置信息的向量編碼表示。最后將以上3 個embedding 相加即得到了BERT 的線性序列輸入表示。圖2 展示了BERT 輸入的嵌入處理可視化表示形式,其中,句首加入的特殊字符[CLS]代表句子的開始,用于下游的文本分類任務;句末的[SEP]表示分割符,使得序列中被打包的句子分隔開來。

Fig.1 Framework of prediction models for psychological traits based on BERT圖1 基于BERT 的心理特質預測模型框架結構

Fig.2 Embedding example of input圖2 模型輸入表示的嵌入處理示例
(2)Encoder 注意力計算。為了挖掘輸入文本中句子內部的字詞間語義相關性及依賴程度,增強文本序列編碼的語義表示,采用Self-Attention 機制,將文本序列表示為由每個字的查詢(Query)以及一系列的鍵值對

其中,W為線性變換的參數,每進行一次線性變換,W值也會隨之變化。
(3)BERT 輸出處理。將最后一層Transformer的Encoder 中第一個字符[CLS]的字向量經過池化操作和tanh 函數處理,即可得到融合了全文字詞相關性及全面語義信息的整個句子向量輸出表示,將其存儲以實現下游的文本分類任務。

Fig.3 Framework of multi-head self-attention圖3 多頭自注意力機制框架
(4)分類預測。在分類任務中,考慮到不同分類器的選擇可能會導致分類精度的差異,而且有研究針對179 種分類算法分析后發現基于集成學習的RF是分類效果最好的算法之一[20],因此分別采用經典的機器學習算法RF 作為一種強分類器,以及深度學習算法中普遍使用的全連接層作為另一種分類器,比較兩者基于BERT 增強語義向量表示的分類結果。
本研究的被試為教育資源共享與在線互動學習網站“教客網(https://jiaoke.runhemei.com/)”的2 660名小學生用戶(男生1 380 名,女生1 280 名),年齡在5~14 歲之間(平均年齡為8.55 歲),來自全國不同省市的26 所學校。其中,702 名學生來自甘肅省酒泉市的7 所學校,1 844 名學生來自遼寧省大連市的18 所學校,108 名學生來自四川省成都市的1 所學校,6 名學生填寫的地區及學校信息不詳。被試人口學特征如表1 所示。

Table 1 Democratic characteristics of subjects表1 被試人口學特征
對以下小學生用戶自2013 年6 月1 日至2018 年1 月18 日在教客網上發布的所有博客日志、評論回復等在線文本進行數據爬取和收集,共得到160 154 篇文本。針對文本數據,按照“正?!薄盁o意”“短無”“短意”“重復”五類標準進行數據清理,各標準的內容范圍如表2 所示。對“正常”“短意”兩類標準下的文本予以保留;其他標準下的文本直接剔除。最后得到“正?!薄岸桃狻睒藴氏碌挠行谋緸?8 659 篇,共計132 323(13 萬)條完整語句數據。
針對羞怯、合作性、完美主義以及焦慮四種心理特質,基于北京師范大學心理學部相關專業研究人員確定的對應上述四種心理特質行為表現的常見詞語,進一步篩選符合相應心理特質的關鍵詞共386個,其中羞怯特質包含97 個關鍵詞,合作性特質包含116 個關鍵詞,完美主義特質包含71 個關鍵詞,焦慮特質包含102 個關鍵詞。將得到的關鍵詞分別與13萬條數據進行匹配,若句子中出現某種心理特質所對應的關鍵詞,則該條句子的此類特質標記為正類1,否則為負類0。通過標簽匹配,使得每條句子帶有4 個標簽,即代表四種心理特質。

Table 2 Criterions for data cleaning表2 數據清洗標準
通過Pandas 對語料數據進行處理,將句子長度裁剪為512 個字符以內,并將句子按字分割后轉化為詞向量形式,完成詞嵌入后進入12 個Encoder 層進行多頭注意力計算,再將最后一層Encoder 的第一個字符[CLS]的向量(768 維)經過池化層操作,經由tanh函數處理得到整個句子的句向量表示,最后分別利用BERT-B 模型的全連接層和BERT-RF 模型的RF 分類器對攜帶強語義表示的句向量進行分類,得到每種心理特質的分類結果。由于針對四種心理特質分別訓練了4 個分類器,本質為4 個二分類任務,故將softmax 函數直接改為sigmoid 函數。選取0.5 作為分類閾值,概率小于0.5 為負類(標為0),大于等于0.5為正類(標為1),分別得到每個標簽的分類結果進行輸出?;贐ERT-B 和BERT-RF 的心理特質分類預測模型的主要參數設置如表3 所示。
此外,將其他經典的深度學習算法CNN、RNN 的變種雙向長短期記憶(bidirectional long short-term memory,Bi-LSTM)網絡與注意力機制(attention)結合后的模型CNN-Attention、Bi-LSTM-Attention 應用于本數據集進行驗證,以進一步說明本模型的性能優勢。

Table 3 Parameters setting based on BERT表3 基于BERT 模型的主要參數設置
對于分類模型而言,以二分類為例,假設只有0和1 兩類,最終的判別結果有四種情況:真正(true positive,TP),即被模型預測為正的正樣本;假正(false positive,FP),即被模型預測為正的負樣本;假負(false negative,FN),即被模型預測為負的正樣本;真負(true negative,TN),即被模型預測為負的負樣本。本研究在實驗中結合預測結果和實際結果,得到TP、FP、FN 和TN 的數量,選擇如下6 個指標對模型性能進行評價。
(1)準確率(Accuracy)。分類正確的樣本占總樣本個數的比例,其計算公式為:

(2)精準率(Precision)。模型預測為正的樣本中實際也為正的樣本占被預測為正的樣本的比例,其計算公式為:

(3)召回率(Recall)。實際為正的樣本中被預測為正的樣本所占實際為正的樣本的比例,其計算公式為:

(4)F1分數(F1score)。精確率和召回率的調和平均值,其計算公式為:

(5)ROC 曲 線(receiver operating characteristic curve)。通過計算出TPR 和FPR 兩個值,分別以它們為橫、縱坐標作圖得到ROC 曲線。ROC 曲線在坐標系中的位置越接近于左上方,則說明分類模型的性能越好。
(6)AUC(area under curve)。ROC 曲線下的面積,取值范圍為[0,1]。之所以使用AUC 值作為模型表現的評價指標之一,是因為有些情況下僅憑ROC曲線無法清楚判斷不同分類模型的優劣。通過AUC值使得ROC 曲線的表現得以量化,AUC 值越大,代表與之對應的分類模型效果越好。
將13 萬條文本數據劃分為獨立的三部分,其中,12 萬條作為訓練集,用于訓練分類模型的參數;5 000條作為驗證集,用于檢驗訓練過程中模型的狀態及收斂情況并調整超參數;5 000 條作為測試集,用于評價模型的泛化能力。選取準確率、精準率、召回率、F1分數、ROC 曲線和AUC 值6 個指標,分別對模型表現做出評價。
對于羞怯、合作性、完美主義、焦慮四種心理特質的分類預測表現,BERT-B 模型和BERT-RF 模型的準確率、精準率、召回率及F1值表現如表4 所示。從表4 中可以看出,BERT-RF 模型對于羞怯、合作性、完美主義、焦慮四種心理特質的分類預測都取得了較為理想的效果,每種心理特質所對應的準確率、精準率、召回率及F1值都在0.97~0.99 之間;其中對于羞怯特質的分類預測效果最為突出,4 個指標都高于0.98。對比發現,相對于BERT-RF 模型,BERT-B 模型對于四種心理特質的分類預測表現則更加顯著,每種心理特質所對應的準確率、精準率、召回率以及F1值全部高于0.98,尤其是對于合作性特質和羞怯特質的預測所有指標都高達0.99 以上,模型表現非常優秀。

Table 4 Performance of predicting four psychological traits表4 四種心理特質分類預測的表現
將CNN-Attention 及Bi-LSTM-Attention 兩種經典的深度學習模型應用于本數據集,與本文基于BERT 構建的兩種模型在心理特質分類預測的平均表現進行對比,得到結果如圖4 所示。對四種心理特質預測的平均準確率、平均精準率、平均召回率及平均F1值,Bi-LSTM-Attention 模型表現在0.71~0.79 之間,CNN-Attention 模型表現在0.80~0.96 之間;而BERT-B 和BERT-RF 模型的對應指標均在0.97~0.99之間,明顯優于其他兩種深度學習模型的整體預測效果。由此可見,相較于其他兩種經典的深度學習模型,本文基于BERT 構建的心理特質分類模型的性能表現更勝一籌。

Fig.5 ROC and AUC of BERT-B and BERT-RF圖5 BERT-B 模型與BERT-RF 模型ROC 曲線及AUC 值
為進一步對基于BERT 的BERT-B 和BERT-RF心理特質分類模型性能做出對比和評價,圖5 按照從左到右、從上到下的順序依次展示了BERT-B 模型和BERT-RF 模型在羞怯、合作性、完美主義、焦慮四種心理特質分類預測中所對應的ROC 曲線及其AUC值。如圖5 所示,BERT-B 模型和BERT-RF 模型的ROC 曲線都位于坐標系的左上方,且AUC 值基本都在0.99 左右,說明兩個模型的分類效果都不錯。通過進一步比較后發現,相對于BERT-RF 模型來說,BERT-B 模型在羞怯、合作性、完美主義、焦慮分類預測中的ROC 曲線明顯更靠近坐標系的左上角,而且其每種心理特質所對應的AUC 值也都更大;尤其是在羞怯特質中的表現,BERT-RF 模型的AUC 值為0.982 2,BERT-B 模型的AUC 值為0.998 5,盡管兩個模型效果都相當不錯,但BERT-B 模型的表現仍然優于BERT-RF 模型。
通過對上述結果的分析,初步推斷BERT 下游分類任務由分類器的不同所產生的分類精度差異,可能是由于BERT 模型框架依賴于深度學習的神經網絡結構,而隨機森林作為一種傳統的機器學習算法與神經網絡的學習方式不同,在加入BERT 下游分類任務層時可能會出現由于內部算法原理不同所導致的模型架構差異較大而影響分類精度。因此,本研究在BERTBASE下游結構中添加全連接層所構建的BERT-B 模型更加適于網絡文本的心理特質預測。
本文基于BERT 構建了BERT-B 和BERT-RF 兩種網絡文本心理特質預測模型,通過雙向訓練的模式使模型能夠在更大程度上獲得完整的上下文語義特征,利用Transformer 的Encoder 捕捉更長距離的上下文依賴關系;在下游分類任務中分別采用BERTBASE模型的單層神經網絡結構和經典的隨機森林算法作為兩種不同的分類器,都表現出了較為理想的分類預測效果。與經典的深度學習模型CNN-Attention 和Bi-LSTM-Attention 的結果對比后進一步驗證了本研究所提出模型的有效性。從平均表現來看,BERT-B和BERT-RF 兩個模型的平均準確率、平均精準率等各項指標都在0.97 以上,結合多項指標可以看出BERT-B 模型的平均效果強于BERT-RF 模型。就部分而言,BERT-RF 模型在羞怯特質中表現最好,準確率和精準率都大于0.98,在合作性、完美主義及焦慮特質的分類預測中準確率及精準率也都在0.97~0.99之間;BERT 模型對于合作性和羞怯兩種特質的分類預測準確率和精確率高達0.99 以上,對完美主義和焦慮兩種特質的分類預測準確率均高于0.98,而且BERT-B 模型的ROC 與AUC 表現也比BERT-RF 更好。由此可以得出結論,相對于BERT-RF 模型,BERT-B 模型的平均表現以及在每種心理特質的分類預測表現都更為出色。構建不同的心理特質預測模型,同時對其他相關心理特質或人格傾向的預測模型研究具有一定的參考價值。
從模型算法角度來看,對于四種心理特質的預測任務本質上為文本的多標簽分類任務??紤]到心理特質本身是一種極為復雜的內隱特征,盡管目前來看本研究所預測的羞怯、合作性、完美主義、焦慮四種心理特質所對應的四種標簽之間并不存在明顯的相互依賴關系,但是仍然無法完全排除這一可能性,因此這種做法無法避免不同標簽之間相互影響的風險。在后續研究中,可以考慮直接利用多標簽輸出的方式進行建模。