徐慧萱 魏軒 張婭婷 張雪珥 王伊婷
(北方工業(yè)大學(xué)信息學(xué)院,北京 100144)
隨著人們已經(jīng)習(xí)慣通過網(wǎng)絡(luò)閱讀信息并依據(jù)信息內(nèi)容做出主觀判斷,因此謠言散布者等惡意非法者為達到使這些不法的或不良的信息充斥網(wǎng)絡(luò)并充分擴散的目的,為了躲避內(nèi)容監(jiān)測采取單詞替換、拆字等方式。針對這種不法或不良內(nèi)容信息,由于對這類不良內(nèi)容檢測超出了人力成本,即超出了純以人工方式進行監(jiān)測的模式,因此多采用基于深度學(xué)習(xí)理論研發(fā)對不法/不良內(nèi)容的檢測識別以期阻止這些不法/不良內(nèi)容的傳播。而要為實現(xiàn)準(zhǔn)確的檢測并阻止不良信息的傳播,需要可信的訓(xùn)練樣本數(shù)據(jù)集。隨著內(nèi)容安全領(lǐng)域的不斷攻防博弈,2 0 1 4年,Szegedy提出了“對抗樣本”概念[1]。對抗樣本是一類人為構(gòu)造的樣本,通過對原始的樣本數(shù)據(jù)添加針對性的微小擾動,其不會影響人類的閱讀感官,但是其會使深度學(xué)習(xí)模型產(chǎn)生錯誤的判斷,最終對非法內(nèi)容數(shù)據(jù)/不良內(nèi)容數(shù)據(jù)產(chǎn)生錯誤的檢測識別。這種對抗攻擊最初應(yīng)用在圖像領(lǐng)域的人工智能對抗博弈[2],隨著研究的加深,這種對抗場景近年也轉(zhuǎn)入了文本對抗領(lǐng)域,且當(dāng)前文本領(lǐng)域的研究多集中于英語語句內(nèi)容的人工智能監(jiān)測對抗。

圖1 文本領(lǐng)域的情感詞對抗攻擊Fig.1 Emotional words against attack in Text Domain
本文以英文的語義文本情感分類為基礎(chǔ),通過構(gòu)造對抗樣本數(shù)據(jù)集,實現(xiàn)了文本情感屬性的轉(zhuǎn)變。這種轉(zhuǎn)變使得被測試文本由正面情感屬性變成了負面情感屬性,或者使得被測試文本由負面情感屬性變成了正面情感屬性,為后續(xù)的不良文字擾動的檢測研究提供了訓(xùn)練和測試數(shù)據(jù)支撐。
文本領(lǐng)域的情感詞對抗攻擊示例如圖1[3]所示,其中:(1)為原始樣本;(2)為對抗樣本。將原始樣本中的部分單詞的字符位置發(fā)生變換,具體為兩處位置變化:place中的a與c位置互換,heart中的a和r位置互換。變換后的語句上從整體看不影響人類的閱讀感官,即人們也能夠通過粗讀理解該語句的含義,但是從基于深度學(xué)習(xí)的人工智能檢測模型上看,深度學(xué)習(xí)模型將原始樣本判為正面評論,而將對抗樣本誤判為負面評論。這種評論結(jié)論的誤判可能導(dǎo)致對不法或不良內(nèi)容的文本的忽略,造成其脫離監(jiān)管并造成傳播結(jié)果。
首先,基于負面關(guān)鍵詞庫從文本檢索并定位出負面的單詞,特別是重點關(guān)注其中的辱罵詞(例如:shit、whore、fuck、gawky等)和惡意評價詞(例如:terrible、bad、regret、brutal等)。同時,為了盡可能地實現(xiàn)對文本中負面詞的覆蓋,避免負面關(guān)鍵詞庫的不完備,因此利用word2vec統(tǒng)計語句中的高頻詞,以人工的模式確定高頻詞的正負情感詞屬性定性。并將定性結(jié)論為負面屬性的單詞補充進入負面關(guān)鍵詞庫中。
然后,對文本中出現(xiàn)的負面情感單詞進行合理處理,涉及的手段有:
(1)僅改變單詞中的某些字母順序。為了不影響人們的閱讀感官,在本系統(tǒng)中,我們采用隨機更改單詞中除首字母之外的兩個相鄰字符的順序。
(2)在負面情感單詞中插入隨機字符,可以是多點插入,也可以是單點插入。同樣,為了不影響人們的閱讀感官,在本系統(tǒng)中,我們采用隨機單點插入,即僅插入一個字母,且選用的插入字母以“-”“+”或空格為主。例如:thoughout→thou ghout或thoughout→though-out。
(3)對負面情感單詞用同義詞、閉包詞等進行替換。前提條件是該同義詞或閉包詞不在目標(biāo)檢測識別模型的負面關(guān)鍵字庫中。為此,我們建立了一個同義詞數(shù)據(jù)庫。例如:songs→performances,唱歌是表演的一種具體形式,后者是前者的閉包詞。人們可以在文本的上下文環(huán)境中自動將表演映射到具體的唱歌形式中。
(4)刪除單詞中的某一字符。實施的前提條件是不影響人們的閱讀感官。
最后,通過以上步驟的處理后將形成對抗樣本訓(xùn)練集合,為后續(xù)的訓(xùn)練提供數(shù)據(jù)支撐基礎(chǔ)。
在我們當(dāng)前完成的版本中,對抗樣本生成系統(tǒng)結(jié)構(gòu)如圖2所示。

圖2 對抗樣本生成系統(tǒng)Fig.2 A confrontation sample generation system
通過策略選擇模塊,隨機選擇對原始文本中負面情感詞的處理模式,分成隨機位置互換模式、隨機字符選擇模式、隨機刪除模式和同義詞替換模式。這4 種模式分別對應(yīng)上圖中的相應(yīng)功能模塊。在我們的原型系統(tǒng)中:(1)在隨機位置互換模塊中僅僅對單詞中間的字符進行隨機互換;(2)在隨機字符插入模塊中,我們目前僅隨機插入空格和“+”號且僅插入1個位置;(3)隨機字符刪除模塊,我們僅刪除除首字母之外的一個字符。通過在策略選擇模塊中賦予其較小的因子,使得該模塊的調(diào)用概率小于其他3個模塊;(4)同義詞替換模塊。涉及的同義詞數(shù)據(jù)庫匯中,目前僅僅存儲我們手動添加的一些同義詞。
我們的對抗樣本生成算法描述如圖3 所示。
首先,從目標(biāo)文本區(qū)依次讀取原始文本數(shù)據(jù),以空格、逗號、句號等分隔符作為單詞的分割依據(jù),對分割得到的單詞做檢索判斷,其是否是負面單詞。

圖3 對抗樣本生成算法Fig.3 Algorithm for generating countermeasure samples

表1 樣本生成有效性實驗測試Tab.1 Experimental test of sample generation effectiveness
然后,如果是負面單詞,則將啟動對抗策略隨機選擇位置互換、隨機插入、隨機刪除、同義詞替換四種處理方法之一對檢索到的負面詞進行處置。由于是原型系統(tǒng),我們當(dāng)前對位置互換、插入和刪除操作僅僅處理單詞內(nèi)的1個字符;對于替換操作,我們僅僅隨機選用同義詞庫中已經(jīng)設(shè)定好的有限同義詞匯之一。反之,如果不是負面詞,則繼續(xù)讀取下一個單詞。
然后,重復(fù)以上兩個步驟,直至原始文本文件處理完畢。
最后,根據(jù)對抗樣本處理標(biāo)識判斷輸出的對抗樣本的有效性。如果標(biāo)識為1,表示原始文本的內(nèi)容進行了對抗處理,得到的對抗樣本文件生成完畢;如果標(biāo)識為0,表示在原始文本中沒有找到負面詞,此時生成的對抗樣本文件和原始對抗樣本是一樣的,即:沒有生成對抗樣本。
我們使用IM DB 數(shù)據(jù)集進行系統(tǒng)功能測試。該數(shù)據(jù)集擁有50000條關(guān)于電影的積極影評和消極影評,每條數(shù)據(jù)的長度是200個單詞左右。我們用25000條數(shù)據(jù)作為情感分析模型的訓(xùn)練集,另外25000條數(shù)據(jù)作為測試集。樣本生成有效性實驗結(jié)果如表1所示,將原始的負面情感的文本分類成為了正面的情感文本。表明我們設(shè)計的對抗樣本生成系統(tǒng)是有效的。
本文討論了文本對抗樣本的生成方法,并據(jù)此實現(xiàn)了一個原型系統(tǒng)。以I M D B 數(shù)據(jù)集中的負面影評數(shù)據(jù)作為原始文本測試對象,實驗測試結(jié)果表明了原型系統(tǒng)的有效性。