王志曉,李卓淳,閆文耀
(1.西安理工大學 計算機科學與工程學院,陜西 西安 710048;2.陜西省網絡計算與安全技術重點實驗室,陜西 西安 710048;3.延安大學 西安創新學院,陜西 西安 710100)
公共安全危機包括人為災難、自然災難、社會安全事件和公共衛生事件。這類事件危害公共安全和社會秩序,造成公眾生命財產嚴重損失,公眾心理失衡,緊張和恐慌。因此快速準確識別此類事件可以最大程度地減少損失,保障社會穩定。近年來,社交媒體已成為一種人人都能分享事件和向公眾宣傳故事來提高認知的工具[1],因此利用社交媒體來自動監測公共安全危機變得尤為有效。由于社交媒體在信息傳播中的優勢,其用途越來越廣泛,例如在洪水、地震、海嘯等災難期間的危機準備,響應和恢復,但是尚未意識到社會媒體識別和提供家庭暴力受害者即時支持的潛在好處[2]。
家庭暴力(domestic violence,DV)是女性受傷的主要原因之一,受害者通常不僅遭受身體虐待,而且遭受性,情感和言語虐待。這個問題在世界范圍內普遍存在,目前有不少國家和組織創建了家庭暴力危機服務(DVCS),以提供服務的組合,例如危機熱線,咨詢,倡導和緊急庇護給DV受害者。但是,受害者往往不能有效地利用服務,因為它們需要積極尋求這種支助。社交媒體的可用性使DV受害者可以分享他們的故事并獲得整個社會的支持,這為DVCS提供了一個主動接觸和支持DV受害者的機會。
該文以公共安全危機中的家庭暴力危機為研究對象。目前而言在中國國內,幾乎沒有這方面的研究,雖然有很多基于深度學習框架下的課題和研究,但在識別家庭暴力這個方向上,還鮮有突破。在國外,關于DV的研究也是近五年才慢慢開始并逐漸增多的,主要是大學的研究機構和大型社交媒體公司如Facebook、Google等在進行研究。通過收集社交媒體上的信息,用經過相關訓練的模型即可推斷出哪些人可能正在遭受家庭暴力。除此以外,還有一些社會非盈利組織推出了家庭暴力咨詢服務(DVCS),它們通過開發相關APP來識別用戶社交媒體上的帖子或動態,判斷該用戶是否正在遭受家庭暴力或可能將會被家暴。但這類APP很多存在竊取用戶隱私、識別不準確等缺點,因此目前許多機構致力于如何更好地定義和更快更準確地發現日常生活中的家庭暴力危機進行研究。總體而言,家庭暴力危機識別的研究這幾年已經有明顯上升趨勢,越來越多的研究者致力于用深度學習的方法去識別DV危機,改善受害者生活。
因此,該文主要完成了以下幾類工作:(1)從Facebook上獲取家庭暴力受害者發出的帖子,將它們按是否存在家庭暴力危機的標準分類,有則標記為1,無則標記為0,并將它們清洗,做文本預處理;(2)采用Word2Vec生成詞向量模型;(3)采用CNN、RNN、LSTM和Bi-LSTM+self-Attention四種深度學習方法對數據集訓練生成自動識別家庭暴力危機模型;(4)保存模型與history,對模型訓練過程繪圖并評估各模型表現;(5)簡述主要的研究內容。
深度學習是人工智能和機器學習研究的最新趨勢之一,同時它也是現在最流行的科學研究趨勢之一。深度學習方法為計算機視覺和機器學習帶來了革命性的進步。新的深度學習技術正在不斷誕生,不斷刷新最先進的機器學習和現有的深度學習技術紀錄。近年來,全世界在這一領域取得了很多關鍵突破[3]。
有兩種主要的深度學習架構,即卷積神經網絡(CNN)和循環神經網絡(RNN)。兩種模型都把序列中的單詞嵌入作為輸入,輸出單詞的實值和連續特征向量。 CNN已應用于句子級別的問題和情感分類,與傳統的機器學習技術相比,它們表現出更高的性能。而RNN可以對文本序列建模,對多任務學習提升較大[4]。目前RNN有很多改進版本,例如長短期記憶網絡(LSTM)、門控循環單元(GRU)和雙向LSTM(Bi-LSTM),由于它們具有的長期依賴性和能隨時間存儲歷史信息而廣泛用于NLP領域。目前深度學習技術已應用于檢測關于歧視和仇恨言論,商品評價,情感分析等方面。
總的來說,深度學習(DL)比以往任何時候都更快地推進了世界的發展,但仍有許多方面值得研究。人們仍然無法完全理解深度學習,如如何讓機器變得更智能,更接近或比人類更聰明,或者像人類一樣學習[5]。DL一直在解決許多問題,同時將技術應用到各行各業。當今人類仍然面臨著許多難題,例如仍有人死于饑餓和貧困,癌癥和其他致命的疾病等。希望人工智能和深度學習將更加致力于改善人類的生活質量,通過開展最困難的科學研究,解決各行各業傳統方法無法解決的難題,讓世界變得更加美好。
文本分類指的是用電腦對文本集(或其他實體或物件)按照一定的分類體系或標準進行自動分類標記。從一個標注完成的訓練文本集合,尋找出一個關系模型,它能很好地反映文本類別與文本表征之間的聯系,然后將此訓練得到的關系模型應用于新的未知文本用于分類判斷[6]。分類器的選擇與訓練、文本的表達、分類結果的評價與反饋等是文本分類的主要應用場景,而特征提取與文本預處理等步驟均是文本表達技術的分支[7-8]。隨著計算機科學技術的發展,統計學習方法在文本分類領域占據絕對統治地位。由于人工智能的迅猛發展,文本分類從依賴于知識的方法逐漸轉換為基于機器學習和統計的方法。扎實牢靠的理論基礎作為支撐,清晰準確的評估指標以及實際表現出色,都為其中很多技術的發展壯大提供了強有力的幫助。
文本分類主要有兩大任務:文本特征提取和標簽預測[9]。特征提取的目的是從文本數據中提取重要的詞匯,并以合適的形式表示它們,這是機器學習算法進行進一步分析所必需的。主流的文本特征提取方法包括word n-gram,bag-of-opinions,syntactic relations,sentiment lexicon features,Bag-of-Words(BoW)和TF-IDF[10]等。標簽預測任務通常涉及在真實標簽數據集上訓練學習模型,然后應用訓練后的模型對未標簽新數據進行分類。計算機只有利用統計分類算法得到由樣本數據轉化而來的向量表示后,才能開始對這些向量進行真正意義上的“學習”過程[11-12]。所以統計分類算法是至關重要的,目前常用分類算法有:SVC,KNN,神經網絡,Decision Tree[13]等。
本章將介紹如何構建家庭暴力危機識別模型以及評價模型表現。由四個階段組成:數據提取與處理、特征提取、模型構建、表現評估。在以下小節中將具體描述各個階段的詳細信息。
鑒于Facebook是一款全球流行的社交媒體并擁有龐大的用戶群體和帖子數量,該文使用了Sudha Subramani整理的DV數據集[1-2]。考慮到個人隱私等問題,該文使用了公共頁面上的帖子內容,未披露任何個人信息。
首先對獲取到的文本數據進行清洗和標記,去除未含任何文本內容或全為無意義話語等帖子,然后對每條數據標記。這些帖子由人工手動標記,存在家庭暴力危機標記為1,不存在標記為0,最終取得可用于后續模型構建的數據共916條。
由于計算機無法直接理解文本,故需要將文本轉化為詞向量。假設輸入帖子表示為P={x1,x2,…,xn},其中xi是帖子P中的單個單詞。首先通過映射每個單詞到嵌入矩陣L的索引,將句子轉換到特征空間。因此,單詞嵌入矩陣表示為Lx∈RD×|V|,其中D是詞向量維數,|V|是詞匯量[14]。目前有多種詞向量方法,如Word2Ve、GloVe、BERT等。該文采用Word2Vec構建詞向量模型,并選擇以大量Twitter帖子為樣本的預訓練模型。并對其50維和300維模型進行了表現評估,最終決定使用表現更好的50維模型,作為下一步深度學習模型的嵌入層。
該文一共構建四種模型,CNN、RNN、LSTM和Bi-LSTM+self-Attention。
2.3.1 CNN
在卷積神經網絡(convolutional neural network,CNN)中,模型的第一層為嵌入層,它提取信息量最大的n-gram特征并存儲每個單詞的單詞嵌入[15],該文選擇訓練好的word2vec詞向量模型放置于此。卷積層有不同數量的計算單元,通過改變滑動步幅可控制輸出特征向量尺寸。使用三個卷積層(三個不同濾波器),分別連接三個池化層,池化層將先前的卷積表示形式轉換為更高級別的抽象視圖,并生成固定大小的輸出[16]。再將結果連接concatenate層進行整合,dropout層可有效防止過擬合問題,flatten層用于將多維輸入一維化,最后采用兩個全連接層,將原本的多分類輸出經過relu和sigmoid激活函數處理,輸出變為0或1的二分類。
2.3.2 RNN
循環神經網絡(recurrent neural network,RNN)是一種時序性的遞歸神經網絡。它最大的特點在于數據的輸入必須滿足時間序列的性質,并且采用遞歸的方法使得序列間進行發展和推進[17]。所循環單元的鏈式連接使得RNN具有記憶性、參數共享性等一系列與其他神經網絡不同的特性,因此RNN十分適合對輸入數據為序列式的數據集的非線性特征進行學習。具體運行過程是t時刻輸入當前信息并由神經網絡模塊S接收,之后由S得到t時刻的輸出,并且將當前時刻的部分信息傳遞到下一刻t+1[18]。
2.3.3 LSTM
在RNN中,由于只依靠一條主線記錄所有信息,因此在處理具有長距離依賴關系的場景下表現不好,如對一個超長句,RNN很難保持前后的時態一致。為改善提高RNN,出現了長短期記憶神經網絡(long short-term memory,LSTM)。LSTM引入了細胞狀態,并使用輸入門、遺忘門、輸出門三種門來控制和保持信息。遺忘門結合上一隱藏層狀態值ht-1和當前輸入xt,通過sigmoid函數(σ)[19],決定舍棄哪些舊信息。sigmoid值域為(0,1),當其值接近于1時保持信息,當其值接近于0時丟棄一部分信息。其次,輸入門和tanh決定從上一時刻隱藏層激活值ht-1和當前輸入值xt中保存哪些新信息,并得到候選值ct。然后,結合遺忘門和輸入門進行信息的保存和舍棄,得到當前時刻的細胞狀態ct。最后,輸出門結合tanh決定ct、ht-1、xt中哪些信息輸出為本時刻的隱藏層狀態ht[20]。LSTM通過上述的方式決定如何舍棄、保持和更新信息,因為最后的結果ht是由多個函數作用并使用RNN未有的求和操作得來的,所以在反向傳播過程中不容易產生梯度消失問題[21]。
2.3.4 Bi-LSTM+Attention
LSTM是一種前向傳播算法,序列化處理讓它在處理信息時必須遵循先后順序,所以常常只考慮了上文而忽略了下文。在家庭暴力語言環境中,上下文往往是高度關聯的,為了既考慮序列前值又考慮序列后值,該文引入了雙向長短期記憶網絡(bidirectional long short term memory,Bi-LSTM),如圖1所示[22]。

圖1 Bi-LSTM模型示意圖
圖1中語句經過嵌入層后,前向的LSTM提取當前時刻的前文特征信息,后向的LSTM提取當前時刻的后文特征信息。Bi-LSTM模型t時刻輸入的計算公式如下:
(1)

在有關家庭暴力帖子文本識別過程中,每條帖子字數不同,并且存在一些簡單重復的情感用語和對識別意義不大的詞語等。為提高識別準確率,必須突出關鍵詞和重點詞匯,優化特征詞提取過程,所以該文在Bi-LSTM的基礎上引入Attention機制。注意力機制模擬人腦注意力的特點,核心思想是:對重要的內容分配較多的注意力,對其他部分分配較少的注意力[24]。傳統Attention機制模型需要依賴部分外部信息,而self-Attention 機制不需要使用其他外部的信息,它會自動從自身所給的信息訓練來更新參數從而給不同信息分配不同的權重[25],因此該文采用self-Attention機制,計算方法如下:

(2)
其中,Q,K,V矩陣分別由輸入矩陣乘WQ,WK,WV權重矩陣而得到,計算結果為Attention層輸出[26]。
Bi-LSTM+self-Attention模型如圖2所示[27]。

圖2 基于self-Attention的Bi-LSTM模型結構
最后一步是對每個模型識別家庭暴力有關帖子準確率的評估,該文采用準確率、精度、召回率和F1值作為分類器的評估指標,這四個指標是衡量機器學習模型性能公認的四大指標[28]。采用K折交叉驗證的方法進行訓練測試,將樣本數據分為K份,對每份數據計算評估指標值,對K次計算的結果取平均值得到最終評估結果[29],然后對四種模型訓練過程中accuracy和loss率的變化繪圖,直觀展現和比較各模型訓練和測試效果。
共從Facebook上獲取到家庭暴力相關帖子916條,并對它們進行人工標記,有家庭暴力危機標記為1,無標記為0,標注后的數據樣例見表1。

表1 家庭暴力數據集樣例
在開始訓練前,需要對英文文本信息進行分詞、清洗、標準化等預處理[30],神經網絡中輸入的所有文本向量組需要有相同的維度,因此需要對文本進行切割[11]。經統計總單詞量為11 085,文本最大長度4 507??紤]到絕大部分文本長度在500以內。在盡量保留文本信息的同時提高訓練效率,該文截取500作為文本的長度。取K為10,采取k-fold交叉驗證方法生成后續模型的訓練用例與測試用例。對訓練集用wordcloud可視化,直觀反映不同詞的重要性特征,見圖3。

圖3 wordcloud對訓練集可視化視圖
該文模型較多,具體參數見表2。其中模型的部分超參數主要是來自于先前論文研究中的經驗,如學習速率、Dropout數值。一些參數是根據DV數據集的特性而設置,如最大句子長度和詞匯量是統計數據集得到。另外,還有部分參數根據模型訓練和硬件的條件配置,如batch、epoch以及優化器的選擇。

表2 模型具體參數設置
設置了四個分類器實驗對照組,分別使用了CNN、RNN、LSTM和Bi-LSTM+self-Attention(SA-BiLSTM)。使用相同50維word2vec詞向量模型作為輸入,采用K折交叉驗證(K=10)的方法進行訓練測試,將樣本數據分為10份,對每份數據計算評估指標值,對10次計算的結果取平均值得到最終評估結果。使用準確率(Accuracy)、精度(Precision)、召回率(Recall)和F1值作為分類器的評估指標,最終評估結果見表3。

表3 模型評估結果
綜合表3實驗結果可以發現,RNN在四種模型中各項評估值均為最低,這可能由于RNN梯度消失問題所導致,在給定較長序列的情況下,隨著新序列被輸入到RNN中,初始序列的信息逐漸消失[8]。CNN模型由于其獨特的卷積機制,在四項評估指標上均表現良好,且訓練時間是最少的。而RNN無法處理長距離依賴的問題,似乎被它的改進模型LSTM和Bi-LSTM很好地解決了,通過引入細胞狀態和遺忘門等機制能讓它們選擇性遺忘信息。從結果來看,LSTM達到了最高的精度,為92.86%。而SA-BiLSTM由于引入了雙向LSTM和self-Attention機制,使得其對文本特征提取更快更精確,召回率、F1值和準確率在四種模型中均為最高,對比來看明顯比LSTM提升了性能。接著以訓練時期評估了各模型性能,希望訓練時間越長,模型越穩定。
然而深度學習模型往往需要很長時間運行,且與計算機算力高度相關[12]。因此繪制了各模型在epochs從1到20各時期的accuracy和loss,見圖4。
由圖4可以看到,RNN在20個周期的訓練中accuracy和loss始終波動較大,且較其他幾種模型而言明顯accuracy更低loss更高,說明需要更多訓練周期才可能收斂。CNN、LSTM和Bi-LSTM在訓練開始accuracy和loss有一定波動,隨著訓練周期增加,accuracy和loss逐漸增加和下降,在平均17個周期后趨于穩定,三種模型的accuracy和loss分別穩定在0.9和0.3左右。

圖4 不同時期各模型的accuracy與loss
探索了用深度學習方法自動識別公共安全危機問題,以家庭暴力危機為特定研究對象,提出了基于Bi-LSTM+Attention的家庭暴力危機識別模型。首先從Facebook上獲取到相關數據集,構建word2vec詞向量模型,然后將SA-BiLSTM模型與其他三種模型進行了對比評估。結果表明除RNN外,CNN、LSTM和SA-BiLSTM三種模型表現均為良好,其中SA-BiLSTM綜合表現最好,相較其他模型在此問題上有一定優越性。
盡管該文實現了上述工作,還是有很多不足,可以在后續研究中加以改進與提高。(1)數據集過小。受限于人工標注,以及本題目的研究現狀,網絡上還沒有家庭暴力相關大型數據集。(2)數據集種類單一。只有從Facebook上采集到的英文帖子,還可以從Twitter、微博等獲取更多語言種類的相關帖子。對于中文語言,可以采用分詞軟件先進行分詞等文本預處理,再訓練生成對應中文詞向量模型,調整神經網絡模型相關參數以提高中文語料訓練效果。(3)可進一步對模型優化,找到各類最佳超參數以達到模型最好效果。(4)應考慮將此模型推廣至其他公共安全危機識別問題中。