萬珂藍
(四川大學計算機學院,成都610065)
社交是人們日常生活中重要的活動之一。人們的社交渠道之所以產生了質的飛躍,這都離不開互聯網的興起和發展。隨著各種網絡平臺的出現,人們分享和獲取信息的成本變得十分低廉,然而方便的同時攻擊性言論也充斥在人們視野中。本文將攻擊性言論定義為能夠激怒個體或群體的文字內容,其包含方面甚廣,涉及仇恨言論、人身攻擊、騷擾、嘲諷等。近年來,言論濫用相關的研究越來越得到重視。皮尤研究中心2017 年針對美國網絡騷擾的調查報告[1]指出,受調查的美國成年人中有41%曾在網絡上經歷過騷擾行為;《2018 中國青少年互聯網使用與網絡安全情況調研報告》[2]也說明了受調查的青少年中有71.11%遭遇過暴力辱罵、77%經歷過侮辱嘲笑。
防止攻擊性言論的濫用對維護社會和諧有重要意義。有效避免言論濫用的基礎是快速自動且準確地識別攻擊性言論。本文旨在對目前主流的攻擊性言論識別成果進行介紹。識別任務本質是對文本進行分類,分類方法大致能分為兩種:一類是基于傳統機器學習的方法,該方法首先需要對文本進行特征的挖掘,然后使用合適的機器學習算法對特征進行分類。第二類是基于深度學習的方法,該方法需要將文本轉換為對應的向量,將其作為輸入參與到深度學習模型的訓練,訓練好的模型則可以對文本進行分類。
使用基于傳統機器學習的方法進行文本分類時,輸入的特征數據會對算法結果產生影響,所以為算法找到正確的特征是重點也是難點。對不同任務,適用的特征可能不同,也可能需要多種特征混合使用以達到更優的效果。
(1)詞典
使用字典/詞典是文本挖掘中最簡單的方法。此類方法需要構建盡量完備的任務相關詞典,然后對目標文本進行關鍵詞匹配并計數,匹配結果可直接作為特征,計數結果可用于計算程度得分。在攻擊性言論檢測中,使用到的詞典一般會包括:臟話、含有冒犯意味的代詞、俗語、常出現的網絡詞等。Elisa Bassignana 等人[3]創建了多語言仇恨詞匯詞典HurtLex,其中不僅包含相關詞匯,還帶有詞匯特性。經過人工評估過濾后留下精準信息,機器翻譯為53 種語言,根據人工結果分為廣義和狹義兩個版本,可作為多語言的言論濫用檢測工具。詞典方法只負責為文本匹配提供基礎,將句子看做詞匯或短語的集合,不考慮上下文關系。
(2)N-Grams
N-Grams 是文本檢測任務中最常用的技術,同樣也是攻擊性言論識別任務中常使用的特征之一。最常見的N-Grams 方法是將句子中N 個連續單詞分為一組,然后枚舉所有組合并計算其出現次數。N-Grams相對于詞典,一定程度上考慮了上下文詞匯間的關系。在攻擊性言論檢測任務中,字符N-Grams 比單詞N-Grams 表現更好[4],這是由于用戶可能在發表攻擊性言論時為了避免詞典的搜索,對敏感詞匯進行了有意的錯誤拼寫。N-Grams 的難點在于N 值的選擇,N 值過大會影響文本處理速度,N 值過小則可能忽略掉關系信息直至退化為詞典方法。N-Grams 通常與其他特征結合時表現更優。Cynthia Van Hee 等人[5]在社交媒體網絡欺凌檢測任務中使用了N-Grams 方法,通過驗證,當單獨使用特征時,表現最好的是單詞N-Grams 方法,在英文數據中F1 得分為0.60。但是結合了其他特征之后整體效果提高了4 個百分點。
(3)情感特征
文本情感分析是自然語言處理中一個不同于攻擊性言論識別的任務,但情感特征在攻擊性言論識別中是有意義的。一般而言,攻擊性言論在情感極性上更有可能是消極負面的。當然,并非所有極性為負的言論都是攻擊性的,所以情感特征需要和其他特征結合在一起使用。在文本情感分析任務中,可以使用基于情感詞典的方法,還可以使用基于機器學習的方法。Hajime Watanabe 等人[6]在Twitter 仇恨言論檢測任務中使用了基于情感詞典的方法提取出的情感特征,從每條推文中提取正負詞匯數目、正負俚語數目、正負表情符號數目、正負標簽數目,然后計算得分值用于判斷極性。
列舉了攻擊性言論識別任務中常用的三種特征,識別任務中還有更多的特征:可用于故意錯誤拼寫檢測的距離度量特征、能提高語境重要性的詞性特征、主題分類特征、模式特征等。
基于傳統機器學習的方法在攻擊性言論識別任務中的應用十分廣泛。此類方法通常會先提取文本特征,相應特征的選擇基于特定的任務內容,然后再使用機器學習算法作為分類器進行學習,不同的算法對特征的適應性不一,最后的效果也會有些許差別。當然,基于傳統機器學習的算法不僅可以用于檢測分類任務,還可以用于特征提取任務,但在攻擊性言論的特征提取任務中可能會因為數據稀疏而導致特征提取難度較大,所以主流使用傳統機器學習的方法都是先提取特征,然后再使用分類器進行分類。
基于傳統機器學習的方法在分類器的選擇上提供了多種可能。一般研究都是以實驗結果為標準,然后再確定最合適的分類器。在攻擊性言論識別任務中常用的分類器有邏輯回歸、支持向量機、隨機森林、樸素貝葉斯等。
(1)邏輯回歸(Logistic Regression)
邏輯回歸又稱對數幾率回歸,常用于二分類問題,以估計目標屬于某一個類別的可能性。邏輯回歸因其簡單、可并行的特點而被廣泛使用。邏輯回歸首先假設數據服從某個分布,然后使用極大似然法進行估計。邏輯回歸可以簡單理解為以線性回歸模型為基礎的,使用了Sigmoid 函數以引入非線性因素的分類模型,其目標是為了盡量好地擬合非線性決策邊界。決策邊界可以標識出分類邊界,結合決策函數就能得出目標樣本的類別。
(2)支持向量機(SVM)
支持向量機也是一種線性分類器,是使用監督學習方式進行二分類的廣義線性分類器。其目標是找到具有最大間隔的劃分超平面即決策邊界。SVM 在圖像、文本分類領域應用廣泛。實際問題可分為線性可分與線性不可分兩種情況:線性可分即樣本特征空間中存在能使兩個類別分開且與之間隔最大的劃分超平面,在這種情況下,SVM 需要通過監督學習找出這個超平面。線性不可分即樣本特征空間中存在的是超曲面,此時一般思路是將樣本從原始空間通過核函數映射到一個更高維的特征空間中,使得樣本在高維特征空間內線性可分,以此將問題轉化,常用的核函數包括了高斯核函數、Sigmoid 核函數等。
(3)隨機森林(Random Forest)
隨機森林是包含了多個決策樹的機器學習算法,其分類結果由單個決策樹輸出類別的眾數決定。決策樹是基于樹結構的,決策樹的葉節點對應于決策樹的決策結果,通常需要經過一系列判斷才能得到。決策樹的學習目標是找出準確分類邊界的同時樹的泛化能力能保持較強。在構建樹的過程中會不斷剪枝優化以防止出現過擬合現象降低模型的泛化能力。同時,決策樹的分類邊界有軸平行的特點,結合特殊的樹形結構也使得結果相較于其他算法擁有較好的可解釋性。隨機森林在決策樹的基礎上,數據和待選特征都是隨機選取的。在攻擊性言論識別任務中,通常數據比較稀疏且類別不平衡,使用隨機森林可以在一定程度上平衡誤差。
Thomas Davidson 等人[7]在研究仇恨言論自動識別的研究中,從Twitter 上獲取了隨機推文并分為仇恨、冒犯和中性三類。他們使用了多種N 值的N-Grams 特征以及語法特征,分類器使用了邏輯回歸、樸素貝葉斯、決策樹和線性SVM。實驗結果表明邏輯回歸和線性SVM 的效果顯著優于其他算法。
Shervin Malmasi 等人[8]同樣在仇恨言論檢測的研究中使用了Twitter 數據。并且使用了基于字符的和基于詞匯的不同N 值的N-Grams 特征,然后直接使用線性SVM 作為多分類任務的分類器。通過實驗結果,發現使用4 個字符為一組的N-Grams 作為特征能得到最高的精確度,但是與基線模型還有一定差距,說明這些特征并不能很好地表示樣本。
Despoina Chatzakou 等人[9]在對Twitter 進行網絡欺凌檢測時使用了多種特征,基于用戶的、基于文本的以及基于社交網絡的特征。分類器在比較多種樹算法之后選擇了由10 棵決策樹組成的隨機森林。實驗在數據集上的結果精準度較高,也說明了結合多種類型的特征之后能提高分類的效果。
George W.Kennedy III 等人[10]在網絡騷擾的研究中使用了字符N-Grams、單詞N-Grams、情感極性等特征,然后以實驗效果最好的隨機森林作為分類器對特征進行學習。學習了從Twitter 和Reddit 上獲取的評論,分類F1 得分達到了0.90 的優秀效果。
近年來,深度學習在自然語言處理中應用范圍逐漸增加。深度學習可以通過簡單的表示來構建復雜的表示,旨在學習樣本數據的規律和表示。簡單而言,深度學習可以自行學習樣本的特征,并進一步分析。盡管深度學習從屬于機器學習的范疇,但相比傳統機器學習算法,深度學習擁有較復雜的網絡結構,能結合簡單特征形成復雜表示。在文本挖掘任務中使用深度學習,首先需要將文本處理為合適的詞向量作為輸入,然后構建網絡結構用于訓練。在攻擊性言論識別任務中,使用深度學習方法通常效果會比傳統機器學習方法更好,但詞向量的優劣會對訓練結果產生影響。
在自然語言處理領域,詞向量的訓練可以作為一個單獨的任務,其成果也為下游任務提供了基礎。深度學習可以理解為表示學習,起源于對神經網絡的研究,通過增加隱層的數目使網絡結構更深,將低層的特征表示轉化為高層的特征表示以完成更為復雜的任務。
(1)詞嵌入
詞嵌入是語言模型與表征學習的統稱,目的是將文本中的詞語映射為向量空間中的向量。簡單而言,就是把文本形式轉化為數字向量形式。最基本的詞嵌入方法為One-Hot 編碼,即獨熱編碼。獨熱編碼根據文本詞匯數目轉化為0/1 向量形式,只有對應詞的位置為1,其余位置為0。獨熱編碼在表示詞向量時不考慮詞之間的相關性,而Word2Vec 方法[11]則會查看詞的上下文并以數字向量形式表示出來。Word2Vec 是目前較主流的詞向量表示方法,分為連續詞袋模型(CBOW)和Skip-gram 模型,CBOW 模型從上下文單詞預測目標單詞,Skip-gram 模型從目標單詞預測上下文單詞。近年,預訓練模型的成果顯著,Glove 全局向量表示[12]、BERT 多語言預訓練模型[13]等模型的分享,使詞嵌入技術進入新的高度。
(2)深度神經網絡
在文本分類任務中,最常見的基礎深度神經模型有卷積神經網絡模型(CNN)以及循環神經網絡模型(RNN)。卷積神經網絡由輸入層、隱含層、輸出層構成,其深度體現在隱含層的多層結構中。隱含層主要包含對數據進行特征提取的卷積層、對信息進行過濾的池化層、對特征進行非線性組合的全連接層。卷積神經網絡在進行文本建模時,通過卷積層的卷積核滑動窗口對文本向量做卷積操作,用以提取文本局部的特征。通常文本詞匯之間是有上下文序列關系的,此時需要有序列信息處理能力的深度網絡,以此遞歸式的循環神經網絡產生,其序列關系處理能力體現為每一刻的輸入都包含了上一刻隱層的輸出。最常見的循環神經網絡是長短期記憶網絡(LSTM),比基本的RNN多出了遺忘的功能,只有算法認可的部分能被記憶,否則信息不重要被遺忘。
(3)注意力機制
注意力機制是對人類注意力行為的仿生模擬。當閱讀時,人類對詞匯注意力的分布是不均勻的,注意力機制的目標就是從任務中找到關鍵信息并賦予更高的權重。簡單來講,注意力機制就是強化關鍵信息,弱化無關信息。注意力機制通常會根據具體的任務調整關注方向和加權模型。Ashish Vaswani 等人[14]將注意力定義為將查詢和一組鍵值對映射到輸出的方法。注意力機制有時空之分,也可以根據作用范圍分為全局權值計算和局部權值計算兩種。
Pinkesh Badjatiya 等人[15]在Twitter 仇恨言論檢測中使用了CNN 和LSTM 的方法,實驗表明深度學習效果在任務中的表現顯著優于傳統機器學習,并且單獨使用網絡時CNN 的效果比LSTM 效果更優,但結合梯度提升決策樹后LSTM 的效果明顯優于CNN。
Ji Ho Park 等人[16]在言論濫用檢測任務中,考慮到Twitter 言論的特殊性,需要同時獲取詞匯級別和字符級別上的特征,所以使用了結合字符CNN 和單詞CNN的混合CNN 模型,同時提取不同級別的特征。從實驗結果可以看出結合之后的模型比單獨的模型效果更優秀。但針對不同標簽的數據,在數據平衡性不一的情況下,可能適用的算法不同。
Shiwei Zhang 等人[17]在嘲諷識別任務中,使用了從情感分析任務中遷移的結合注意力機制的雙向長短期記憶網絡。利用了在情感分析訓練中學習到的隱式情緒特征,提高了模型檢測嘲諷言論中不協調性的能力。實驗也說明了相較于單一的神經網絡方法,結合相關特征之后效果會很好,同時通過遷移學習效果可能會更好。
Pushkar Mishra 等人[18]在言論濫用檢測任務中使用了圖卷積網絡,本質上是加入了更多的相關信息如用戶個人信息、用戶社交信息等,而非單一的言論文本內容。將特征作為圖節點輸入到圖卷積網絡中進行學習,結合邏輯回歸和圖卷積網絡之后得到的結果令人驚喜。通過圖卷積網絡,模型能夠直接捕捉用戶的語言行為和群體結構特征。
本文對攻擊性言論識別任務進行了研究。介紹了文本識別任務中可能使用到的典型文本特征,并歸類了兩種常用方法:基于傳統機器學習的方法和基于深度學習的方法。攻擊性言論識別任務在近年來得到了很多關注,也有相關的比賽和研討會。攻擊性言論檢測可以應用于網絡平臺的言論濫用對抗,也可以用在風格遷移任務中。相信在未來,相關研究的熱度將持續。