融合变体字还原和语义分析的敏感信息检测

2023-10-31 09:08路松峰郑召作周军龙朱建新
湖北大学学报(自然科学版) 2023年6期
关键词:变体拼音语义

路松峰,郑召作,周军龙,朱建新

(1.华中科技大学网络空间安全学院,湖北 武汉 430074;2.深圳华中科技大学研究院,广东 深圳 518063;3.华中科技大学计算机科学与技术学院,湖北 武汉 430074)

0 引言

随着互联网的发展,网络用户规模激增,造就了社交网络与新媒体规模的与日俱增,民众通过社交软件在互联网对网络热点信息进行实时的获取、传播和分享,允许用户不受空间、时间的限制就可以对热点话题进行多角度、全方位和多领域地交互.然而,由于网络信息的来源匿名性、数据量庞大,以及内容的繁杂混乱导致越来越多涉密、色情、暴力等敏感信息的传播,在一定程度上破坏了社会稳定,影响了社会秩序与公共安全.为创建一个健康的网络环境,亟需建立一套有效的敏感信息检测机制,从海量互联网文本信息中识别出敏感信息,并切断其传播渠道,从而保障国家和社会的网络秩序与安全,推动在线社交网络的健康发展.

迄今为止,国内外学者已提出多种敏感信息检测方法,目前主要的研究方向是基于敏感词库匹配和基于语言模型词嵌入的方法.传统的敏感词匹配方法通过构建相对应的敏感信息词库,并在实际检测中将待检测的文本与敏感信息词库进行匹配,但由于过分依赖敏感词库,且无法考虑检测文本的上下文信息,因此存在着检测算法准确率低的问题,另一方面,网络信息书写具有一定的随意性,出于避免审查、表达情感、讽刺等原因,信息创作者会将一些相对严肃、规范、敏感的词用相对不规范、不敏感的词来代替,因此产生了变体词(morph)并成为敏感信息检测课题中待解决的一道难题.

因此研究人员尝试使用传统机器学习方法对文本进行分类以实现敏感信息检测问题,但是其性能过分依赖于特征的提取,因此如何对特征进行提取成为了机器学习的一大阻碍,而基于深度学习的敏感信息检测方法从海量的社交信息自动提取特征,相较于传统的机器学习,深度学习特征能力更强、灵活性更高,因此能够不断提高检测系统的准确度,但如何从大量且复杂的深度学习方法中选择最合适的模型进行敏感信息检测成为了下一个问题.

针对以上问题,本文中提出一种融合变体字还原和语义分析的敏感信息检测方法,主要工作如下:

1)引入变体词的识别与规范化操作.由于拼音、缩写等变体词的出现而导致的敏感词库无法检测出文本内容,增加敏感信息检测难度,本文中将在敏感信息进行检测前识别出变体词及其所对应的原体词,这对敏感信息检测具有重要的意义.

2)实现从语义分析的角度来检测文本敏感信息.利用BERT模型来进行语言表征和特征提取,并结合CNN网络与BiGRU来进行语义分析,CNN利用不同尺寸的卷积核提取待测文本的局部语义信息,BiGRU实现文本上下文信息的捕获,相较于其他深度学习模型,该模型取得了更优异的结果.

1 研究现状

国内外对敏感信息检测的研究方法主要可分为两类,即基于关键词匹配的方法和基于机器学习主题分析方法,本研究将从这两个方面来展开国内外热点话题检测的研究现状.

20世纪,科研人员就已经开始使用关键词匹配的方法对敏感信息检测进行了研究,然而基于依赖敏感词库的思想并没有太多进展,随着互联网的发展出现了变体词等棘手的问题.在变体词的基础上,众多学者对传统的关键词匹配方法进行了改进.薛朋强等[1]通过建立敏感信息决策树以及对网络敏感信息进行多次过滤,实现了敏感词决策树的动态更新,在很大程度上简化了敏感信息过滤与检测过程.Liu等[2]提出了一种联合关联规则和拓展规则的敏感库设计方法,使用基于广义Jaccard系数的关联度算法计算敏感词的相似度,然后使用基于规则的关键词和扩展词构造敏感词库.

除了从敏感词库扩充的角度考虑以外,付聪等[3]通过分析汉字的结构和读音等特征提出了一种中文敏感词变形体的识别方法,主要针对拼音、简称和拆分三种变形体分别设计了算法,实验结果表明在识别中文敏感词方面有较高的准确度.此外,Wang等[4]基于关键词的拼音、缩写、替换等典型特征,建立了一个概率模型,通过概率模型进行监督训练实现变体词的还原.

除了从关键词匹配的方法,越来越多的研究倾向于使用机器学习与深度学习的方法探索敏感词库与待检测信息的之前关系.Neerbek等[5]提出了使用RNN网络提取文本语义以及短语结构,自动分析出非敏感信息与敏感信息的差异,性能优于基于关键字的策略;Yang等[6]提出了联合敏感词库与情感极性协同分析的敏感信息识别方法,深入研究了关键词对情感极性的动力因素.Wang等[7]解决了传统的中文敏感信息识别方法依赖于敏感词与关键词共现频率的问题,提出的BERT-CNN模型提高了单词嵌入的泛化能力,能够有效地实现短文本数据集中网络敏感信息的识别和分类.

2 相关方法及问题描述

2.1 变体词识别技术变体词指的是互联网用户为了娱乐、逃避审查、表达情感与讽刺等需求而创造的虚假代替名称.自动还原文本中的变体词对后续的深层语言理解任务至关重要.但在实际情况中,即使对人类来说,如果没有特定的上下文主题的背景知识,也很难还原许多变体词.

Huang等[8]对变体字识别进行了开创性的试点研究,该文在变体字已经被提取的假设上对还原实验中使用了大量标记数据,另外指出一个实用的变体解码器由两个问题组成:1)变体提取,即给定一个语料库,实现对文本的变体词提取;2)变体还原,即针对每个变体词,都找出它所指的实体.

主流的解决思路为基于字典库的方法、基于统计和规则的方法和基于语义表示或主题表示的方法,基于字典库的方法主要是通过记录所有的变体词与其实体的对应关系,当文本中出现变体词时,通过查询字典库来寻找对应的变题词;基于统计和规则的方法则是通过提取大量的特征使用统计学习的方法来进行变体词的还原;而基于语义表示或主题表示的方法,通过深度学习用实数值向量来表示语句的语义,并利用分布式假说通过变体词的上下文实现变体词识别与还原的建模.

2.2 深度学习知识卷积神经网络(convolutional neural network,CNN)作为人工神经网络的一种,主要由卷积层、池化层和全连接层组成,其核心思想是通过提取局部特征并运用到全局中[9].CNN网络的卷积层通过从固定大小的窗口读取上一层的数据,使用卷积核实现特征提取,同一层的卷积计算模型通过共享参数来降低模型复杂度,池化层是按一定方法将特征进行压缩,其主要目的是特征降维以防出现过拟合现象,常见的池化方法包括最大池化、均值池化、最小值池化和随机池化.模型的最后往往连接一个全连接层以计算最终的输出,在整个网络的训练过程中,包含权值的卷积核会随之更新,直到训练完成.本文中使用的卷积核尺寸为2,3,4,并分别对卷积后的特征进行融合.

循环神经网络(recurrent neural network,RNN)具有自环的网络结构,天然地解决了普通神经网络模型无法提取序列数据上下文语义的缺陷,其模型结构如图2所示,RNN模型是相同网络单元的扩展,自环的网络结构对前面的信息进行记忆存储并应用到当前的输出计算中,即当前时刻隐藏层的输入同时包括了当前的输入层变量和上一时刻的隐藏层变量.由于可以无限循环,所以理论上循环神经网络能够对任何长度的序列数据进行处理.

图2 循环神经网络结构图

针对RNN出现的梯度弥散的问题,不少网络学者提出了一系列的新型神经网络模型,其中GRU模型就为RNN的一种改进版,与普通RNN模型结构不同的是GRU通过“门”结构调节信息流,可以解决RNN网络中的长依赖问题,重置门决定遗忘先前信息的程度,其值越小,前一状态的信息被写入得越少,而更新门决定了要忘记哪些信息以及哪些新信息需要被添加,更新门的值越大说明前一时刻的状态信息带入越多.[10]

BERT模型[11]是谷歌于2018年提出的一种预训练模型,其使用基于自注意力的多层Transformer网络,不仅可以学习到语句的双向关系、捕捉整个句子中上下文关系信息,而且由于网络足够的深,所以文本表示更具有动态性,能够进一步地解决一词多义的问题.BERT主要使用掩码语言模型(mask language model,MLM)和下一句预测 (next sentence predication,NSP)作为训练任务.事实证明,由于BERT预训练模型将NLP大量的下游任务转移到了词向量预训练中,所以只需进行微调参数就能适应各种下游任务.

3 本文中方法设计

为解决变体字出现而导致的模型准确度低的问题、实现基于语义的敏感信息识别,本文中提出了融合变体字还原和语义分析的敏感信息检测模型.

在进行敏感信息检测前,先对待检测文本进行变体字的检测与还原,然后使用基于字典的分词方法对还原后的文本进行分词,然后在对分词的结果进行敏感词的查找匹配,如果包含了敏感词,则使用BERT-CNN-BiGRU模型进行语义分析,最后实现语料的敏感信息检测模型.具体模型如图3所示.

图3 本文敏感信息检测方法流程图

BERT作为词嵌入模型将进行变体字还原后的文本映射成字向量,然后将其输出接入到CNN网络,利用CNN不同大小的卷积核来捕捉句子中不同长度的短语信息,最后利用BiGRU提取句子的长距离依赖特征,并接入到全连接层以及一个Softmax层,最后实现了融合变体字识别和语义分析的敏感信息检测模型.

3.1 变体字识别本文中提出一种基于拼音缩写编辑距离的变体字模糊匹配方法,首先在文中检索出所有含字母的句子,并对字母出现的地方按照不同窗口大小进行前后文切割,然后对这些含拼音缩写的词与敏感词库中各词的拼音进行相似距离计算,当存在相似度大于设定的相似度阈值,即可推断该变体字有一定概率为敏感词,可将原句中的变体词进行替换后完成后面的基于语义分析的敏感信息识别.

值得注意的是,出现拼音缩写的变体字分为部分为缩写、全部为缩写、部分由拼音组成、全部由拼音组成等四种情况.比如词语“海洛因”的缩写变体字可以是HYL、海L因、海洛Y、海luo因、hailuoyin等情况,考虑到绝大部分变体字的长度为2和3,因此只考虑连续拼音串与其附近的零至两个汉字组成情况.相似距离计算公式如下:

其中,d表示的是word1和word2的拼音距离,d[i][j]表示的是word1的前i的元素与word2的前j的元素的编剧距离,ω1和ω2是相似度计算的权重,|word1∩word2|表示的是word1和word2交集的长度;相似度计算第二项即考虑到变体字全为缩写的情况,因为对于缩写词是从原始单词中提取的部分字符.因此,两个单词中相同字符和拼音长度的关系也是影响检测的重要因素.

另外若原句中出现了敏感词汇,则直接对其进行语义分析.

3.2 基于语义分析的敏感信息识别为解决传统基于词典的敏感信息识别技术的准确率不高的问题,提出了基于语义分析的敏感信息识别.

第一部分是上下文语义层,本文中使用BERT作为信息句子的向量化表示利用BERT深层网络结构来实现变体字还原后的上下文特征的提取,BERT利用MLM进行预训练并且采用深层的双向Transformer组件来构建整个模型,因此最终生成能融合左右上下文信息的深层双向语言表征,提取的字向量包含了字符序列信息、语法语义信息及深层结构信息,考虑到了同一个词语在不同语境中的不同含义表达,从而解决了一词多义的问题[12-13].本文中使用的是BERT_Chinese_L-12_H-768_A-12预训练模型,其网络结构如图4所示.

图4 BERT网络结构图

第二层是局部特征提取层,由CNN网络组成,主要目的是利用卷积核获取文本的局部特征,BERT字向量矩阵作为输入,卷积层实现卷积操作,并获取整个句子的特征图,其思想是利用卷积层和最大池化层来实现参数共享和局部感知.参数共享允许减少一组参数和自由变量,从而在较少使用处理资源的情况下进行特征提取,通过局部感知来减少模型的参数,并在一定程度上减少特征的训练时间.

本文中使用的CNN层为最大池化层,该层允许对参数进行基于样本的离散化并保留最强的特征值,以便识别相关模式,从而缩短训练时间并防止过度拟合.最后是批量标准化层.批量标准化层,该层允许对中间层之间的参数进行标准化,以防止训练时间变长[14].

第三层是长距离依赖提取层,使用BiGRU对文本序列,在前向和后向两个方向上进行学习,分别得到前向隐藏层特征和后向隐藏层特征,接着会将每个训练文本的两个隐藏层特征进行拼接后得到BiGRU模型的输出特征.在解决了RNN处理长时间依赖时出现梯度消失和梯度爆炸的问题的同时,相比较于LSTM,GRU模型参数更少,训练速度更快,因此本文使用GRU模型来捕捉长距离依赖[15-16].

BiGRU模型的基本单元由一个前向传播的GRU单元和一个后向传播的GRU单元组合而成,能够在输入和输出序列之间的映射过程中充分利用句子过去和未来的相关信息,最后的输出文本特征向量是由正向输出向量和反向输出向量进行拼接得到.BiGRU通过学习序列数据两个方向的特征,从而对长跨度时间序列数据产生更高的精度,表达出更准确的语义,结构如图5所示.

图5 BiGRU网络结构图

最后,将BiGRU输出的特征将作为到全连接层的输入进行连接,然后再连接一个分类器得到最后的结果,使用Softmax函数作为分类器计算得到为敏感信息的概率和非敏感信息的概率.

4 实验分析

为了验证本文中提出的融合变体字识别和语义分析的敏感信息检测算法的效率,我们在真实的数据上进行了实验与对比分析.

4.1 数据收集与处理实验中所采用的中文敏感信息数据集是从国内各大新闻平台、法治学习网站和境外中文网站及其评论下载获取而来.其中各文章包含的敏感词汇涉及诈骗与暴力等,每篇文章通过人工的方法进行标注分为非敏感文章和敏感文章,从国内各大新闻平台和法治学习网站下载的网站均属于正常的非敏感新闻报道,而从境外中文网站或博客下载的文本信息包含了正常的新闻报道以及敏感文章,总共采集非敏感新闻报道中共1 458篇,共出现敏感词汇14 701次,敏感新闻报道共1 144篇,共出现敏感词汇12 995次,将这些文章及评论按照自然句的标准进行划分,并按照一定的句子长度进行筛选,作为实验的输入.

为了验证基于编辑距离的还原方法对包含拼音缩写的敏感词汇识别的效果,本实验另外对数据集进行了一些处理,通过从数据集进行随机抽样,对其中的敏感词汇进行了拼音变体,主要对敏感词汇的部分或全部进行转变为拼音或拼音缩写.例如,假设存在敏感词汇“海洛因”以及待检测文本“研究者们普遍认为海洛因是世界上最容易上瘾的药物”,其文本内容可能变为“研究者们普遍认为HLY是世界上最容易上瘾的药物”.最后,本研究将整个短文本数据集随机按照7∶2∶1的比例划分成训练集、验证集和测试集.

4.2 评价标准本文中使用了准确度、精度、召回率、F1分值作为实验的性能评价指标[17],计算各式为下:

其中,TP表示为把正类预测为正类的样本数,TN为把负类预测为负类的样本数,FP为把负类预测为正类的样本数,FN为把正类预测为负类的样本数.F1是用来衡量精度和召回率的标准.

4.3 实验环境1)硬件环境:CPU为i7-10700k,内存容量16GB,显卡为RTX2080,显存容量8GB;2)软件环境:操作系统为Windows 10 64位,Python版本3.8,Pytorch1.3.1.

4.4 实验设置为验证本文中提出的融合变体字还原和语义分析的敏感信息检测模型的有效性,将本方法与基于词典的方法,以及其他基于深度学习算法的情感分析模型进行了实验对比,模型的参数设置如表1所示.

表1 模型参数配置

首先,对基于字典的检测方法、只使用本文的语义分析检测方法和本文中提出的融合变体字还原和语义分析的敏感信息检测模型进行3组实验,表2给出了3组模型在数据集上的对比结果,从表中可以直观看出,本文中提出的算法远高于基于字典的检测算法,而由于只使用语义分析的模型未还原出变体字,所以在特征表示上并未表现出良好的效果,导致模型性能低于本文中提出的融合模型,可见本文中提出的融合变体字还原和语义分析的敏感信息检测模型在敏感信息检测中表现出色.

表2 3种敏感信息检测方法的性能对比

其次,通过选择不同的词嵌入模型来进行敏感信息检测实验,本部分主要是比较本文使用的BERT预训练模型与其他广泛使用的词嵌入模型的区别,如word2vec、elmo、glove.实验结果如表3所示,可以看出,相比较于其他模型,BERT模型的各项评估性能均有提高,一定程度上取决于BERT模型使用了超大的数据集来训练出词嵌入的表征能力,因此提高了敏感信息检测的准确率,同时也证明了词嵌入模型的选取对模型准确度的影响.

表3 4种词嵌入模型的性能对比

表4 5种深度学习模型的性能对比

为了验证本文的CNN-BiGRU模型在特征提取和模型训练的有效性,本文中通过将本模型的该部分替换成其他具有相同功能的模型并与本模型进行对比,其中包括了使用CNN、GRU、CNN-GRU、Transformer来进行对照.

从表中可以看出:除了召回率为次高以外,本模型所使用的CNN-BiGRU性能在准确度、精准率和F1值中是最高的,且全优于普通的CNN网络和GRU网络,所以在敏感信息检测中,CNN网络主要使用来通过挖掘字之间的关系来进行特征提取,而双向的GRU网络用来捕捉敏感信息上下文的联系,因此对两个模型进行融合提高了模型语义分析和情感分析的能力.由于CNN-GRU只能单向考虑文本的上下文信息,而CNN-BiGRU能够较全面地学习到文本的前向信息和后向信息,因此在一定程度上提高了敏感信息检测的准确率.

5 结论

本研究在真实数据上,以变体字还原和深度学习网络模型为基础,对敏感信息识别进行了研究与实验,首先使用基于编辑距离的方法对拼音及缩写进行了还原,实验证明了该变体字还原方法能够提高检测模型的鲁棒性.其次本文使用BERT-CNN-BiGRU来进行语义分析,从语义角度来分析待测句子是否为敏感信息,增加了敏感信息识别的准确度.

但是本研究仅从拼音及其缩写考虑变体字的检测与还原,由于中文语法的多样性还应进行扩充,比如从字形角度考虑,将在以后的工作持续更新以提高模型准确度.另外,可以通过尝试不同的深度学习模型进行实验.

猜你喜欢
变体拼音语义
基于DDPG算法的变体飞行器自主变形决策
语言与语义
非仿射参数依赖LPV模型的变体飞行器H∞控制
“上”与“下”语义的不对称性及其认知阐释
耀变体喷流高能电子谱的形成机制
快乐拼音
认知范畴模糊与语义模糊
快乐拼音
中国传统文学的换形变体——论“诗化小说”的兴起与传承
语义分析与汉俄副名组合