社交网络中的敏感内容检测方法研究
2019-08-12孟旭阳徐雅斌
孟旭阳 徐雅斌
摘 要: 为了有效解决社交网络中对敏感词进行变形处理而逃避被检测和过滤的问题,首先识别敏感词及敏感词的变形词,并采用敏感词指纹汇聚方法将敏感词的变形词与原词进行关联。在此基础上,采用语义指纹技术检测重复发布的敏感内容。其次,建立基于多任务学习的卷积神经网络模型(MTL?CNN),综合敏感性和情感倾向两个方面对发布文本进行检测。对比实验结果表明,提出的敏感内容检测方法具有较高的处理速率和检测准确率。
关键词: 社交网络; 敏感内容; 指纹汇聚; 情感倾向; 多任务学习; 处理速率; 检测准确率
中图分类号: TN915?34; TP391 文献标识码: A 文章编号: 1004?373X(2019)15?0072?07
Research on sensitive content detection in social networks
MENG Xuyang1, 2, XU Yabin1, 2
(1. Beijing Key Laboratory of Internet Culture and Digital Dissemination Research, Beijing Information Science & Technology University, Beijing 100101, China;
2. School of Computer, Beijing Information Science & Technology University, Beijing 100101, China)
Abstract: In order to solve the problem in social networks that the sensitive words are often processed by distortion for exception from detection and filtering, the deformable words of sensitive words are identified, and the sensitive words fingerprint convergence method is used to associate the variant words of the sensitive words with original sensitive words. On this basis, the semantic fingerprint technology is used to detect repetitively published sensitive content. A multi?task learning based convolutional neural network (MTL?CNN) model is established to detect the published texts in the aspects of comprehensive sensitivity and emotional tendency. The comparison experiment results show that the proposed sensitive content detection method has high processing speed and detection accuracy.
Keywords: social network; sensitive content; fingerprint convergence; emotional tendency; multi?task learning; processing speed; detection accuracy
0 引 言
社交网络已经成为广大网民沟通交流的重要平台和获取信息的重要入口。然而,社交网络的广泛应用同样给敏感内容的传播提供了网络空间。少数人借助社交网络发布暴力恐怖信息和政治敏感内容。如何高效、准确地实现敏感内容检测,减少误判、漏判现象,打造健康安全的社交网络环境成为巨大挑战。基于关键词匹配的检测方法[1?4],忽略了变形词与原词之间的关联性。基于传统机器学习的敏感内容检测方法[5?8]准确率较低。文献[9?11]在敏感主题的基础上考虑情感倾向因素获得较高的准确率,但需要训练两个模型,效率不高。文献[12?14]采用深度学习方法,获得了较好的效果。
针对现有研究中存在的问题,本文提出的敏感内容检测方法不仅可以有效提高检测的准确性,而且能够很好的满足检测的实时性。
1 敏感内容检测框架
本文提出的敏感内容检测框架主要由三部分组成,如图1所示。
1) 敏感词指纹汇聚:在对用户待发布文本进行预处理的基础上,识别敏感词和各种变形伪装敏感词。通过本文提出的敏感词指纹汇聚方法,对识别出的敏感变形词打上指纹值将其与原词关联。其中,根据是否出现敏感词、变形情况等判断文本是否为可疑文本。
圖1 敏感内容检测框架图
2) 通过语义指纹技术快速自动检测重复敏感内容:对1)中判断为可疑文本的内容,采用本文改进的基于语义指纹的快速相似敏感内容检测算法生成文本的语义指纹,并与事先建好的敏感文本指纹库(D_stf)进行快速匹配,实现快速自动检测重复敏感内容。
3) 基于多任务学习的敏感内容检测卷积神经网络模型:对于在敏感指纹库没有比对成功的可疑文本采用基于多任务学习的卷积神经网络模型进行检测。若检测结果为敏感文本,则将其语义指纹添加到D_stf库中,方便下次敏感内容重复检测。
2 敏感词检测
2.1 敏感词变形词汇识别
基于原始的敏感关键词通过与敏感词库进行匹配即可。然而,为了躲避检测,敏感关键词都进行了变形处理。比如,夹杂特殊符号“#”“*”“&”等,拼音/拼音首字母代替字,繁体字代替,同音字代替等。
经分析发现,同音字替换由于前后都不成词,往往在分词时会出现连续单字(3个及3个以上),而正常文本很少出现这种情况。除此之外,敏感词常出现在伪装现象(如拼音替代)附近,因此只需对伪装现象周围的词进行重点检测即可,避免传统方法要将整个文本转化为拼音与敏感词库匹配而导致效率低下的问题。
因此,本文在已有方法的基础上做出改进,改进部分的敏感词变形词汇识别算法如下:
输入:社交网络中的待发布文本T,敏感关键词表D。
输出:成功识别的敏感词变形词汇集合[S]。
1) 去除文本中夹杂的特殊符号,进行繁简转化;
2) 分词处理,若分词结果中出现连续3个及以上的单字,则将连续单字转化为对应的拼音;
3) 若分词结果中出现拼音/拼音首字母,则以此拼音/拼音首字母为中心,将前后4个词汇均转为汉字对应的拼音/拼音首字母;
4) 判断步骤2)、步骤3)中连续的拼音或拼音首字母序列组合是否为敏感词汇所对应的拼音或拼音首字母。若是,则成功识别为词库中该敏感词汇的变形词汇,并加入集合[S]。
2.2 敏感词指纹汇聚
虽然对敏感词进行了变形伪装,但其语义并没有发生变化。针对这种情况,本文提出将各种变形词打上指纹并与原词进行关联,即实现敏感词指纹汇聚,从语义角度保证变形词与原词的关联性。
敏感词指纹(F)定义:使用Jenkins Hash[15]哈希函数对原始的敏感词[wi]进行哈希处理,得到一个[k]位的哈希值即为该敏感词[wi]的指纹值[fi],每类敏感词的指纹具有唯一性。
例如:敏感词[wi]=“打砸抢烧”,为了便于说明问题,使用Jenkins Hash函数得到二进制hash值为100110,即[wi]对应的指纹值[fi]=“100110”(此处示例[k]=6)。注意,实际实验采用64位指纹。
敏感词指纹汇聚是指将敏感词[wi]的各种变体词汇[wi_j]均映射到原始敏感词的指纹[fi]上。这样无论多少个变体词汇,每个变体词汇[wi_j]均代表这个原始的敏感词[wi]。以“打砸抢烧”为例,敏感词指纹汇聚原理及过程如图2所示。
图2 敏感词指纹汇聚原理及过程示意图
本文共收集2 289個敏感关键词,首先通过哈希函数计算每个敏感词的指纹值,并构建如图2所示的敏感指纹词库(D_sw)。从图2中可看出,当敏感词[wi]=“打砸抢烧”,对应的敏感词指纹[fi]=“100110”,识别出的各种变形伪装词汇都将其打上指纹[fi],则此时[n]个词汇[wi_1,wi_2,wi_3,…,wi_n]对应的指纹均为[fi],与原词[wi]关联。
3 相似敏感内容检测
3.1 语义指纹的生成
由于受社交网络信息传播的时效性影响,不法分子会经常重复发布相同或相似的敏感内容来保证传播效果。为保证检测的实时性,采用语义指纹技术快速自动检测这些重复发布的敏感内容。
Simhash[16?17]算法不仅检测的准确率高、速度快,同时还可根据指纹距离反映出文本内容间的差异程度,被认为是目前文本相似检测处理中最有效的算法之一[18]。
但是,由于在社交网络中充满了口语化表达,加之还存在着敏感词变形伪装现象,经典Simhash算法对相似敏感内容的检测性能并不是很理想。为此,本文对Simhash算法进行改进,形成SWFC?SFG语义指纹生成方法,对应算法如下:
输入:社交网络中的待发布文本T。
输出:文本T的语义指纹[F],指纹长度[k]设为64位。
1) 对文本T分词,得到词的集合[W],[W=]{[w1,w2,…,wn]};
2) 对文本进行敏感词和敏感变形词识别,并将各种敏感变形伪装词进行指纹汇聚,指纹值为[k]位的二进制hash值;
3) 对T中剩余每个元素(词),利用哈希函数计算得到[k]位的二进制hash值,以词频作为权重,根据元素各位的hash值,进行调整。调整原则:若当前词的hash值第[i]位为1,则将其置为该词的权值,若为0,则将其置为负权值;
4) 将T中所有元素在3)中得到的hash值集合,按位进行求和运算,结果记为[F];
5) 确定语义指纹[F]的值:若[F]的第[i]位为正数,则指纹[F]的第[i]位置为1;反之,置为0。
SWFC?SFG语义指纹生成方法融入敏感变形词指纹汇聚过程,使得敏感变形词与原词采用相同的编码表示这组敏感词,避免了Simhash算法不支持同义词、敏感变形词与原词之间的语义问题,从而提高了敏感文本相似度检测性能。
3.2 相似敏感文本检测
得到文本的语义指纹后,通过两两比较语义指纹间的汉明距离,汉明距离越小,则代表文本的语义越相似。
事先建立敏感文本指纹库D_stf,将已知敏感文本的语义指纹入库,并不断更新D_stf,再次遇到将会被自动识别。相似敏感文本检测过程如下:
1) 由SWFC?SFG算法得到文本的语义指纹[Fi]。
2) 查询敏感文本指纹库D_stf,查看汉明距离小于[R]([R]通过实验得到最佳值)的指纹是否存在。若存在,则认为当前文本与D_stf中某条文本表达一致,那么这个文本将被直接判定为敏感文本。
4 基于多任务学习的敏感内容检测卷积神经网络模型(MTL?CNN)
多任务学习[19](Multi?Task Learning,MTL)是一种机器学习的方法,最早由Caruana在1997年提出。多任务学习的目标在于把多个相关任务放在一起学习,利用任务之间的相关性,找寻任务之间有价值的共性,通过在多个任务之间共享,相互协助模型的训练[20]。特别是在数据量较少的情况下,这种知识的共享对每个任务的学习格外有帮助[21]。
文本内容往往具有一定的语义倾向,含有敏感词汇但却并不一定是敏感内容。只有根据文字所表达的真实含义和情感倾向去鉴别才是正确的判断。
结合两个任务(Task1:敏感内容检测;Task2:文本情感极性识别)来构造多任务学习的卷积神经网络(Multi?task Learning Convolution Neural Networks,MTL?CNN)模型,用以实现敏感内容检测。其中,Task1为主任务,Task2为辅助任务。
相比LSTM等模型,基于卷积神经网络的方法可以接收平行化输入的文本信息,大大降低了网络模型的训练时间。同时,卷积神经网络有着优异的特征自抽取能力和端到端的分类功能。
本文建立的基于多任务学习的敏感内容检测卷积神经网络模型如图3所示。
从图3可以看出,首先将完成预处理以及分词后的文本通过训练好的词向量模型顺序映射为词向量,此时文本内容转化为词向量矩阵,并作为MTL?CNN敏感内容检测的输入。然后,由MTL?CNN模型对输入层的词向量矩阵进行卷积操作。由于MTL?CNN模型同时关注两个任务的优化目标,两个任务在训练过程中共享参数,使得模型能够自动获取文本中丰富的局部特征向量,其中不仅包括文本敏感性特征,还包括情感极性特征。通过模型的训练过程,可以很好的结合两个任务的文本分类标签,通过卷积运算获得一系列的规则。例如:“负面敏感性词汇+正面情感极性=敏感内容”“负面敏感性词汇+负面情感极性=非敏感内容”“正面敏感性词汇+负面情感极性=敏感内容”等,使得此模型很好地应用于最终的敏感内容分类。
卷积过后,是池化(pooling)操作,即降维。选择对两个任务最终分类结果影响较大的特征。
拥有来自各个卷积核的输出向量,将其进行拼接。在特征拼接之前的所有参数为Task1和Task2共享,特征拼接之后,两个任务由各自的参数进行分类。最后,两个任务均通过softmax层得到每个任务属于不同分类的概率分布情况。
以Task1的高准确率为最终目标,当Task2对Task1的作用不明显时,或者Task1损失值小于某一限定值或迭代次数超出规定的最大值时,停止更新网络权值,训练完成。
5 实验分析
本文使用新浪微博数据集,其共包含2 649 567条微博数据。从此数据集中收集政治相关主题内容共21 451条,其中,实际为政治敏感非法内容2 318条(由于涉及敏感内容,收集的此类敏感非法内容较少)。其他主题的文本随机取21 500条。从情感倾向上看,正向文本23 784条,负向文本19 167条。
5.1 基于语义指纹的相似敏感内容检测实验
1) [R](阈值)的确定
构建一个包括1 000条文本(其中重复或相似文本数为100)的数据集,通过相似检测的查全率、查准率指标来观察不同[R]值对结果的影响。本文分别对阈值1~7进行了实验,结果如图4所示。
从图4中可以看出,当[R≥5]时,查准率开始下降,即存在将实际非相似的文本判断为相似文本的情况。如果文本与已知敏感內容相似,则会直接被判为敏感内容。为了避免误判,需保证查准率为1,由此可以确定[R]的最佳取值为4。
2) 改进前后算法查准率、查全率及[F]值对比
将改进后的SWFC?SFG算法与Simhash算法进行比较,在同一数据集上的测试结果如表1所示。
图4 不同[R]值下本文算法的查准率与查全率
表1 算法对比
3) 不同数量级文本相似检测耗时对比
将SWFC?SFG算法与传统的编辑距离算法(Levenshtein Distance)进行对比,不同数量级的文本相似度检测计算耗时情况如图5所示。
图5 算法计算耗时对比图
从图5可看出,SWFC?SFG算法要优于传统的编辑距离算法,随着文本数量的增加,耗时增加并不明显。
5.2 基于多任务学习的敏感内容检测实验
1) 实验和模型参数设置
首先对数据集进行人工标注:每条数据有两个标签。其中,label1表示是否为政治敏感内容;label2表示情感极性。
分类前,采用中科院分词工具NLPIR[22]进行分词,并采用gensim的word2vec工具训练词向量空间。训练参数配置如下:选用CBOW(Continuous Bag?of?Words)模型[23] ;上下文滑动窗口大小为8;单词向量维度设为300。对于未出现在词向量语料中的词汇,则进行随机初始化操作。
基于多任务学习的卷积神经网络分类实验采用的编程语言为Python 3.6,工具包为Google开源深度学习框架TensorFlow,其他网络参数设置如表2所示。
表2 基于多任务学习的卷积神经网络模型中的参数设置
模型总的损失函数式(3)和每个任务的损失函数式(4)中的参数[λ],[λl2]经交叉验证[24]取经验值[λ]= 0.05,[λl2] = 0.001。
2) 模型对比实验
为验证本文方法的合理性和性能,在同一数据集上,与传统基于单任务的敏感内容检测方法进行对比实验。本文采用最常用的10折交叉验证方式,并以查准率(Precision)、查全率(Recall)、F?Score作为评价指标。在相同测试集上进行实验,结果如图6所示。由图6可看出本文的MTL?CNN模型优于传统的分类模型。
图6 MTL?CNN与传统单任务敏感内容检测实验对比图
为了进一步说明多任务学习对本文研究的有效性,在同样数据集下与单任务的CNN,LSTM模型进行了对比。除此之外,由于文献[11]在敏感信息识别时同样考虑了情感极性因素,但基于两个单任务模型分别进行。因而也与文献[11]进行了对比实验,结果如表3所示。
从表3结果可看出,本文基于多任务的卷积神经网络检测模型在各个指标上均优于单任务的CNN,LSTM模型。在与文献[11]的对比实验中,本文方法在各指标上也均有较大提升,由此也证明了采用的两个任务共同学习方法的有效性。同时也体现了本文基于多任务学习的方法在数据量较少的情况下,具有明显的优势。
表3 对比实验结果
图7 模型的时效性对比图
由图7可见,本文方法的检测耗时更少,能够更好的满足实时检测的需要。而文献[11]需要训练两个模型,首先得到情感倾向,然后再通过敏感度模型进行计算,最终综合判定,从而耗时较长。
3) 模型扩展与推广
MTL?CNN模型同样适用于任何类型的敏感内容检测。例如:对于黄、赌、毒、暴力恐怖等敏感内容,只需获取相应的数据语料并进行标注,确保每条文本均包括敏感内容与情感极性两类标签,然后对模型进行训练即可。
此外,若要同时检测多类敏感内容,只需准备好相应的数据并将模型的Task1部分的二分类任务转变为多分类任务即可,完成到多个类别的映射。
为了验证模型的可扩展性,收集了暴力恐怖类型数据,进一步针对政治敏感和暴力恐怖这两类敏感内容数据开展实验。两种类型数据量保持一致,重新训练模型后,对测试集进行检测所得实验结果如表4所示。
表4 扩展性实验结果
6 结 论
针对各种敏感变形词问题,提出敏感词指纹汇聚方法,并将其引入指纹生成算法,提出SWFC?SFG语义指纹生成方法,能够快速、自动检测相似或重复敏感内容。本文还进一步提出并构建MTL?CNN模型,结合敏感性与文本情感极性两个任务共同学习。通过实验分析发现,本文方法不仅准确率有了较大提升,而且能够保证检测的实时性。此外,实验表明MTL?CNN模型仍具有很好的可扩展性。
参考文献
[1] 段磊,唐常杰,左劼,等.Web实时环境两级过滤中文文本内容自学习算法[J].计算机科学与探索,2011,5(8):695?706.
DUAN Lei, TANG Changjie, ZUO Jie, et al. Two level filte?ring Chinese text content self?learning algorithm in Web real?time environment [J]. Journal of frontiers of computer science and technology, 2011, 5(8): 695?706.
[2] 薛朋强,努尔布力,吾守尔[?]斯拉木.基于网络文本信息的敏感信息过滤算法[J].计算机工程与设计,2016,37(9):2447?2452.
XUE Pengqiang, Nuet Buli, Wushour Silamu. Sensi?tive information filtering algorithm based on network text information [J]. Computer engineering and design, 2016, 37(9): 2447?2452.
[3] 徐建忠,罗准辰,张亮.语义扩展技术在敏感数据识别中的应用研究[J].现代电子技术,2016,39(12):80?82.
XU Jianzhong, LUO Zhunchen, ZHANG Liang. Application of semantic extension technology in sensitive data recognition [J]. Modern electronics technique, 2016, 39(12): 80?82.
[4] 孙艳,周学广,陈涛.意会关键词信息取证方法[J].计算机工程,2011,37(19):266?269.
SUN Yan, ZHOU Xueguang, CHEN Tao. Method of sense keywords information forensics [J]. Computer engineering, 2011, 37(19): 266?269.
[5] 陈洋.维吾尔语不良文本信息过滤技术研究[D].乌鲁木齐:新疆大学,2014.
CHEN Yang. Research on the filtering method of Uyghur adverse text information [D]. Urumqi: Xinjiang University, 2014.
[6] ZENG J, DUAN J, WU C. Adaptive topic modeling for detection objectionable text [C]// 2013 IEEE/WIC/ACM International Joint Conferences on Web Intelligence. Atlanta: IEEE, 2013: 381?388.
[7] 俞浩亮.互联网不良信息采集抽取及识别技术研究[D].昆明:昆明理工大学,2016.
YU Haoliang. Research on extraction and recognition technology of internet bad information [D]. Kunming: Kunming University of Science and Technology, 2016.
[8] ZHONG H, LI H, SQUICCIARINI A, et al. Con?tent?driven detection of cyberbullying on the instagram social network [C]// 2016 International Joint Conference on Artificial Intelligence. New York: AAAI Press, 2016: 3952?3958.
[9] 孟玺,周西平,吴绍忠.语义分析在反恐研究领域的应用研究[J].情报杂志,2017,36(3):13?17.
MENG Xi, ZHOU Xiping, WU Shaozhong. The ap?plication research of semantic analysis in the field of anti?terrorism [J]. Journal of intelligence, 2017, 36(3): 13?17.
[10] 刘梅彦,黄改娟.面向信息内容安全的文本过滤模型研究[J].中文信息学报,2017,31(2):126?131.
LIU Meiyan, HUANG Gaijuan. Research on text filter model for information content security [J]. Journal of Chinese information processing, 2017, 31(2): 126?131.
[11] 李扬,潘泉,杨涛.基于短文本情感分析的敏感信息识别[J].西安交通大学学报,2016,50(9):80?84.
LI Yang, PAN Quan, YANG Tao. Identification of sensitive information based on short text sentiment analysis [J]. Journal of Xian Jiaotong University, 2016, 50(9): 80?84.
[12] NEERBEKY J, ASSENTZ I, DOLOG P. TABOO: detecting unstructured sensitive information using re?cursive neural networks [C]// 2017 IEEE International Conference on Data Engineering. San Diego: IEEE, 2017: 1?7.
[13] ALI S H A, OZAWA S, NAKAZATO J, et al. An autonomous online malicious spam email detection system using extended RBF network [C]// 2015 International Joint Conference on Neural Networks. Kil?larney: IEEE, 2015: 1?7.
[14] 景亚鹏.基于深度学习的欺骗性垃圾信息识别研究[D].上海:华东师范大学,2014.
JING Yapeng. Research of deceptive opinion spam recognition based on deep learning [D]. Shanghai: Central China Normal University, 2014.
[15] JENKINS B. A hash function for hash table lookup [EB/OL]. [[1997?02?23] .] https: //www.researchgate.net/publication/2449?57345_A_hash_function_for_hash_table_lookup.
[16] CHARIKAR M S. Similarity estimation techniques from rounding algorithms [C]// Thirty?Fourth ACM Symposium on Theory of Computing. Quebec: ACM, 2002: 380?388.
[17] MANKU G S, JAIN A, SARMA A D. Detecting near?duplicates for Web crawling [C]// 2007 International Conference on World Wide Web. Banff: ACM, 2007: 141?150.
[18] SADOWSKI C, LEVIN G. Simhash: Hash?based similarity detection [EB/OL].[ 2007?05?12]. https://core.ac.uk/display/23320221.
[19] CARUANA R. Multi?task learning [M]. Pittsburgh: Carnegie Mellon University, 1997: 5?50.
[20] 欧阳宁,马玉涛,林乐平.基于多任务学习的多姿态人脸重建与识别[J].计算机应用,2017,37(3):896?900.
OUYANG Ning, MA Yutao, LIN Leping. Multitask learning based multi?pose face reconstruction and recognition [J]. Journal of computer applications, 2017, 37(3): 896?900.
[21] 邵蔚元,郭跃飞.多任务学习及卷积神经网络在人脸识别中的应用[J].计算机工程与应用,2016,52(13):32?37.
SHAO Weiyuan, GUO Yuefei. Application of multi?task lear?ning and convolutional neural network in face recognition [J]. Computer engineering and applications, 2016, 52(13): 32?37.
[22] NLPIR. NLPIR?ICTCLAS system [EB/OL]. [2018?02?15]. http: //ictclas.nlpir.org/.
[23] GT. Word2Vec (Part 2): NLP with deep learning with tensorflow (CBOW) [EB/OL]. [2015?03?05]. http://www.thushv.com/natural_language_processing/word2vec?part?2?nlp?with?deep?learning?with?tensorflow?cbow/.
[24] 李航.统计学习方法[M].北京:清华大学出版社,2012:14?15.
LI Hang. Statistical learning methods [M]. Beijing: Tsinghua University Press, 2012: 14?15.