劉思新, 高 珺, 田一龍, 魏韻酈, 李旭睿, 吳 靜
(吉林大學(xué) a. 汽車工程學(xué)院; b. 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 長(zhǎng)春 130022)
網(wǎng)絡(luò)暴力是指符合以下特征的行為: 1) 網(wǎng)民在意見表達(dá)中使用侮辱、謾罵與人身攻擊等語(yǔ)言暴力; 2)輿論對(duì)當(dāng)事人構(gòu)成直接或間接傷害; 3)表現(xiàn)為網(wǎng)民的群體性行為, 是多數(shù)人對(duì)少數(shù)人意見的壓制[1]。網(wǎng)絡(luò)暴力事件對(duì)當(dāng)事人影響較大, 輕則使當(dāng)事人受到精神傷害, 重則導(dǎo)致其抑郁甚至更為嚴(yán)重的后果。網(wǎng)絡(luò)暴力事件由于施暴者眾多, 且多采用匿名發(fā)言或別字指代等特征, 造成施暴信息與其他網(wǎng)絡(luò)信息混合夾雜, 難以通過(guò)關(guān)鍵字搜索等方法進(jìn)行區(qū)分。對(duì)此, 國(guó)外學(xué)者提出要建立網(wǎng)絡(luò)暴力文本的自動(dòng)化檢測(cè)方法[2], 分別建立了基于國(guó)外大型社交平臺(tái)的暴力網(wǎng)絡(luò)言論語(yǔ)料[3-6]。Dadvar等[7]和Kontostathis等[8]分別利用詞典和詞袋分析模型建立了網(wǎng)絡(luò)暴力文本檢測(cè)系統(tǒng), Kovacevic等[9]和 Hosseinmardi等[10]分別通過(guò)機(jī)器學(xué)習(xí)的方法構(gòu)建出一種自動(dòng)化檢測(cè)網(wǎng)絡(luò)暴力的系統(tǒng)對(duì)網(wǎng)絡(luò)暴力進(jìn)行分類, 而隨著深度學(xué)習(xí)的廣泛應(yīng)用, 越來(lái)越多的學(xué)者[11-15]投身于網(wǎng)絡(luò)暴力文本自動(dòng)檢測(cè)的研究。
目前國(guó)內(nèi)對(duì)此方向的研究報(bào)道較少, 2012年, 鐘云[16]報(bào)道了用大數(shù)據(jù)對(duì)網(wǎng)絡(luò)暴行的監(jiān)測(cè)相關(guān)研究, 此后, 朱曉旭等[17]基于半監(jiān)督的臟話文本特征提取方法, 采用SVM(Support Vector Machine)和最大熵分類器建立了臟話文本語(yǔ)料庫(kù)。黃瑞[18]基于情感詞典的方式建立了暴力語(yǔ)言檢測(cè)系統(tǒng)。強(qiáng)瀾[19]基于半監(jiān)督學(xué)習(xí)的方法構(gòu)建了網(wǎng)絡(luò)暴力文本語(yǔ)料庫(kù), 并建立卷積神經(jīng)網(wǎng)絡(luò)模型, 取得不錯(cuò)的分類效果。
筆者基于近期社會(huì)熱點(diǎn)事件, 采集相關(guān)微博語(yǔ)料, 在上述研究的基礎(chǔ)上, 結(jié)合一種改進(jìn)的TFIDF(Term Frequency-Inverse Document Frequency)文本向量化方法研究了邏輯回歸算法在暴力文本分類上的優(yōu)劣。實(shí)驗(yàn)結(jié)果表明, 該改進(jìn)方法較傳統(tǒng)方法綜合指標(biāo)提升幅度較大。
采用爬蟲技術(shù), 針對(duì)近期重點(diǎn)輿論關(guān)注和爭(zhēng)議事件, 從新浪微博(m.weibo.cn)共爬取34 525條評(píng)論, 其中包括生活類、 網(wǎng)紅類、 政治類和其他類, 其分布占比如圖1所示。
圖1 數(shù)據(jù)集組成
表1列舉了數(shù)據(jù)集部分?jǐn)?shù)據(jù)。然后, 對(duì)34 525條評(píng)論根據(jù)網(wǎng)絡(luò)暴力的定義進(jìn)行人工篩選標(biāo)記, 得到正面樣本(判斷為網(wǎng)絡(luò)暴力, 并標(biāo)記為1)共15 800條, 占總數(shù)據(jù)集45.7%, 負(fù)面樣本(其他評(píng)論, 標(biāo)記為0)共18 725條, 占總數(shù)據(jù)集54.3%。
表1 數(shù)據(jù)集部分?jǐn)?shù)據(jù)列舉
1.2.1 分詞
為將文本數(shù)據(jù)向量化, 以得到特征向量, 常見的思路是通過(guò)每條評(píng)論的組成詞中提取某些特征作為向量化標(biāo)準(zhǔn)。因此, 數(shù)據(jù)處理的第1步是根據(jù)詞語(yǔ)特征將語(yǔ)句做出分詞處理, 例如將“讓這種小丑在公眾平臺(tái)上頻繁出現(xiàn)不會(huì)帶壞小孩子嗎?”分詞后成為: “讓 這種 小丑 在 公眾 平臺(tái) 上 頻繁 出現(xiàn) 不會(huì) 帶壞 小孩子 嗎 ?”python環(huán)境下采用jieba模塊即可完成分詞工作。
1.2.2 去除停用詞
在統(tǒng)計(jì)分析提取詞語(yǔ)特征過(guò)程中, 有一些詞語(yǔ)、 符號(hào)等在語(yǔ)句中對(duì)于語(yǔ)句表達(dá)的情感色彩沒(méi)有任何意義, 被稱作停用詞。例如“罷了”、 “維持”、 “#”、 “....”、 “@”等, 將停用詞從數(shù)據(jù)集中剔除后, 可得到如圖2所示的數(shù)據(jù)集詞云。
圖2 去除停用詞后的數(shù)據(jù)集詞云
在中文文本中抽取特征詞表征文本信息, 并通過(guò)規(guī)則對(duì)其進(jìn)行形式化表現(xiàn)后, 使用機(jī)器對(duì)文本進(jìn)行處理。文本的良好特征應(yīng)具有4類特性: 可區(qū)分性、 可靠性、 獨(dú)立性及特征詞的精簡(jiǎn)。常用的特征選擇方法有文檔頻率、 信息增益、 互信息和CHI(CHI-Square Test)統(tǒng)計(jì)等[20]。詞頻-逆向文檔頻率(TFIDF: Term Frequency-Inverse Document Frequency,FTFIDF)是一種基于統(tǒng)計(jì)的數(shù)學(xué)方法, 其通過(guò)統(tǒng)計(jì)當(dāng)前樣本中每個(gè)詞的TFIDF值作為特征向量的每個(gè)元素, 從而可以判斷出一個(gè)詞語(yǔ)或短語(yǔ)在樣本集中的重要程度。傳統(tǒng)TFIDF方法計(jì)算公式如下
(1)
(2)
FTFIDFi,j=FTFi,j×FIDFi,j
(3)
其中ni,j為某詞條ni在樣本j中出現(xiàn)次數(shù),FTF為詞頻,D為樣本總數(shù), |{j:ni∈dj}|為包含某詞條ni的樣本總數(shù),FIDF為逆文檔頻率。
由上述定義,FTFIDFi,j越大, 則表示某詞條ni對(duì)樣本j越重要。傳統(tǒng)TFIDF方法在文本特征提取上應(yīng)用廣泛, 對(duì)文本分類任務(wù)效果顯著。
傳統(tǒng)TFIDF方法具有如下兩點(diǎn)不足之處: 一是未考慮類間集中度問(wèn)題; 二是未考慮類內(nèi)分散度問(wèn)題[21]??紤]某一特征詞ni, 若其為稀有特征詞且在樣本集中均勻分布, 若按照傳統(tǒng)TFIDF方法, 其FIDF較大, 此時(shí),FTFIDF較大, 即將某一非關(guān)鍵特征詞列為關(guān)鍵特征詞。另一方面, 若ni為分類的關(guān)鍵特征詞, 且在某一類別中大量出現(xiàn)。但若按照傳統(tǒng)TFIDF方法, 其FIDF較小,FTFIDF較小, 即未能充分識(shí)別此類特征的關(guān)鍵性。在微博暴力文本分類情景中, 暴力詞匯在暴力文本中常常大量出現(xiàn), 但往往不能精確捕獲其關(guān)鍵性, 為此, 提出以下改進(jìn)方法
(4)
其中wi為權(quán)重參數(shù), 定義如下
(5)
其中ε為趨于0的極小正數(shù),ξi為ni在當(dāng)前類出現(xiàn)頻率,ζi為ni在其他類出現(xiàn)的頻率。
上述改進(jìn)方法解決了類間集中度和類內(nèi)分散度問(wèn)題, 對(duì)暴力樣本, 上述模型能在異常值數(shù)量較少的情況下依然給予其正確的權(quán)重配比。因此其對(duì)異常值不敏感, 穩(wěn)健性優(yōu)于改進(jìn)前。
3.1 邏輯回歸算法簡(jiǎn)介
邏輯回歸算法是一種常用的非線性二分類因變量回歸統(tǒng)計(jì)模型, 在機(jī)器學(xué)習(xí)領(lǐng)域也得到了廣泛應(yīng)用。該算法通過(guò)極大似然估計(jì)法估計(jì)參數(shù), 具有一致的漸進(jìn)正態(tài)性。邏輯回歸算法是在線性回歸算法基礎(chǔ)上, 加入logit變換以應(yīng)對(duì)非線性情形
(6)
其中P為歸為某類的概率,θ1,θ2,…,θn為回歸系數(shù),x1,x2,…,xn為影響因子。
通過(guò)Sigmoid函數(shù)(見圖3), 將函數(shù)值映射在[0,1]之內(nèi), 確定合適閾值(一般取0.5), 即可完成二分類
圖3 Sigmoid函數(shù)
(7)
上述問(wèn)題的求解即如下似然函數(shù)的最大化
L(θ)=∏[(p(xi))]yi[(1-p(xi))]1-yi
(8)
兩邊取負(fù)對(duì)數(shù), 并考慮加入L2正則化, 即可得到如下目標(biāo)函數(shù)
(9)
其中C為正則化系數(shù)。
3.2 邏輯回歸算法的合理性
由于中文語(yǔ)義的進(jìn)步性以及在微博特殊環(huán)境下中文語(yǔ)義的多樣性、 歧義性, 一般難以用理論證明最適合的判斷微博暴力文本的方法。此處列出在傳統(tǒng)TFIDF輸入下, 常見的多種機(jī)器學(xué)習(xí)方法在已建立數(shù)據(jù)集上的效果, 如表2所示。結(jié)果表明邏輯回歸算法較樸素貝葉斯模型, 邏輯回歸模型, 隨機(jī)森林模型和KNN(K-Nearest Neighbor)模型算法的AUC(Area Under Curve)和準(zhǔn)確率最高, 因此, 采用邏輯回歸模型輸入改進(jìn)的TFIDF特征向量。
表2 常見機(jī)器學(xué)習(xí)方法在數(shù)據(jù)集上效果
精確率, 表示預(yù)測(cè)為正的樣本中預(yù)測(cè)正確的比率
(10)
召回率, 表示在原先為正的樣本中預(yù)測(cè)正確的比率
(11)
F1分?jǐn)?shù), 精確率和召回率的調(diào)和平均數(shù)
(12)
ROC曲線, 即受試者工作特征曲線, 其中特異度為
(13)
AUC指標(biāo), 即ROC曲線下方面積, 取值在0.5~1, 越接近1, 模型擬合效果越好。
準(zhǔn)確率, 即預(yù)測(cè)正確的樣本占樣本總數(shù)的比例
(14)
實(shí)驗(yàn)基于Windows10操作系統(tǒng), python3.6.4, 機(jī)器學(xué)習(xí)模塊sklearn0.22.1, 科學(xué)計(jì)算模塊scipy1.4.1, 矩陣運(yùn)算模塊numpy1.18.1, 數(shù)據(jù)處理模塊pandas1.0.3等。
實(shí)驗(yàn)流程如圖4所示, 首先進(jìn)行數(shù)據(jù)預(yù)處理, 然后構(gòu)建改進(jìn)與未改進(jìn)的TFIDF向量輸入邏輯回歸模型, 最后比較與評(píng)估。
圖4 實(shí)驗(yàn)流程圖
考慮到數(shù)據(jù)集本身正負(fù)樣本存在不均勻情況, 因此正負(fù)樣本權(quán)重分配不同, 此處按照樣本數(shù)量進(jìn)行權(quán)重分配, 即正樣本權(quán)重為0.457, 負(fù)樣本權(quán)重為0.543。
為防止模型出現(xiàn)過(guò)擬合現(xiàn)象, 加入L2正則化, 其中C為正則化系數(shù), 利用K折線交叉驗(yàn)證和超參數(shù)網(wǎng)格搜索的方式取得最佳。其思想如下: 設(shè)定待定的C后, 將訓(xùn)練集樣本分為k份, 其中k-1份為學(xué)習(xí)集, 1份為測(cè)試集, 依次循環(huán)k次, 每次驗(yàn)證各個(gè)待定的參數(shù)C下的AUC指標(biāo), 最終選擇平均AUC最高的C。此處k取20,C取2。
5.4 結(jié)果評(píng)估與比較
ROC曲線比較結(jié)果如圖5所示, 綜合比較評(píng)估結(jié)果如表3所示。
表3 綜合評(píng)估結(jié)果比較
圖5 ROC曲線
由上述結(jié)果可知, 改進(jìn)的TFIDF向量化方式配合邏輯回歸模型, 在暴力文本分類上能取得非常顯著的效果, 相比于傳統(tǒng)方法, 其精確率提高19.4%, 召回率提高14.1%, F1分?jǐn)?shù)提高16.6%, AUC指標(biāo)提高14.4%, 準(zhǔn)確率提高14.5%??梢? 這種改進(jìn)方法為暴力文本分類提供了一種新方法, 具有廣泛應(yīng)用意義。
筆者在總結(jié)前人暴力文本分類工作的基礎(chǔ)上, 彌補(bǔ)了傳統(tǒng)機(jī)器學(xué)習(xí)算法在暴力文本分類上的應(yīng)用, 并提出一種改進(jìn)的TFIDF-LogisticRegression方法, 結(jié)合新浪微博暴力文本, 分別構(gòu)建出傳統(tǒng)和改進(jìn)兩種模型, 并對(duì)最終評(píng)估指標(biāo)進(jìn)行橫向?qū)Ρ? 實(shí)驗(yàn)表明改進(jìn)方法較傳統(tǒng)方法其各類指標(biāo)均有明顯提升。今后將進(jìn)一步優(yōu)化數(shù)據(jù)集, 嘗試將改進(jìn)模型推廣于其他文本分類任務(wù)。