APP下载

人工神经网络在信息过滤中的应用*

2019-06-06伍逸凡朱龙娇石俊萍

关键词:集上特征提取卷积

伍逸凡,朱龙娇,石俊萍

(吉首大学信息科学与工程学院,湖南 吉首 416000)

对于网络不良信息的过滤,实质上是一个文本分类问题.即通过设计分类算法,提取文本特征并实现分类.经典的分类算法有朴素贝叶斯、支持向量机和K-近邻等.这些算法大多基于词频、逆文本频率等传统统计学特征而实现分类.近些年,随着深度学习技术的兴起,人工神经网络在文本分类任务中取得了相当不错的效果.笔者拟结合FastText,TextCNN和TextRNN的优势,来实现网络不良信息的归类.

1 神经网络算法

1.1 神经网络的整体结构

神经网络又称多层感知机,它模拟人脑的结构,由众多权重可调的神经运算单元组成[1].每层神经元之间利用激活函数进行非线性变换,使得网络具备非线性映射的能力.通过目标函数的梯度下降和误差反向传播,学习数据集上由输入到输出的复杂函数关系.神经网络的一般结构如图1所示.

图1 神经网络的一般结构Fig. 1 Overall Structure of Neural Network

在分类问题中,选用交叉熵作为代价函数,其表达式为

1.2 FastText网络

图2 FastText模型的结构Fig. 2 FastText Model Structure

FastText是Facebook的AI团队[2]提出的一种文本分类算法,它极其简单,是将训练好的词向量经过均值池化之后直接送入softmax函数进行分类.FastText模型的结构如图2所示.

1.3 TextCNN网络

TextCNN是Yoon Kim[3]提出的一种文本分类算法,它借助卷积神经网络对训练好的词向量进行特征提取,经过最大值池化之后送入softmax函数进行分类.TextCNN模型的结构如图3所示.

图3 TextCNN模型的结构Fig. 3 TextCNN Model Structure

卷积层被设置为nk个lc×lv的卷积核,其中lc为上下文长度,lv为词向量长度.该卷积运算相当于对序列中每lc个相邻的词向量进行压缩并提取特征.

1.4 TextRNN网络

TextRNN是直接利用循环神经网络处理文本的词向量序列,并通过softmax函数进行分类[4].TextRNN模型的结构如图4所示.

图4 TextRNN模型的结构Fig. 4 TextRNN Model Structure

2 基于神经网络的文本分类算法的设计

2.1 基于神经网络的分类模型的结构

在FastText,TextRNN和TextCNN模型结构的基础上,笔者设计出RNN与CNN相结合的文本分类模型Text CNN+RNN,结构如图5所示.

图5 Text CNN+RNN模型的结构Fig. 5 Text CNN+RNN Model Structure

2.2 数据预处理

对待分类文本进行停用词过滤和分词之后得到单词序列.停用词过滤即过滤掉出现频率高但携带信息量少的词,如“啊”“吗”“呢”等;分词使用jieba分词器,通过前缀词典和动态规划实现分词.假设处理后的某段文本的单词序列SW=(w1,w2,…,wn)T,其中wi为SW的第i个单词,n为SW总词数.

由于不同文本处理后得到的词数n不一样,因此定义nM表示单词数量的最大值.为了处理方便,对SW进行长度对齐(即在末尾填充空格符使得其词语总数补全为nM),得到

2.3 数据输入层

2.4 特征提取层

借鉴TextCNN的结构,选用卷积运算实现特征提取.设置3个卷积层进行多尺度卷积,其分别包含大小为1×128,2×128,4×128的卷积核各100个.该多尺度卷积运算即对单词序列进行上下文长度为1,2,4的卷积,且卷积核的宽与词向量的长度一致,这样就保证了词向量的整体结构完整.公式表示为:

(1)

(2)

(3)

2.5 逻辑推理层

图6 逻辑推理层Fig. 6 Logical Reasoning Layer

借鉴TextRNN的结构,选用循环神经网络学习序列在前后逻辑上的特点.对于(1)—(3)式所得的3个卷积结果,若直接进行softmax分类,则很可能会丢失数据在时序上的特征,因此将它们分别送入3个不同的LSTM网络.但与TextRNN不同的是,将保留LSTM网络在所有时间步下得到的隐层状态输出,以充分利用所有时间步下的历史信息特征,如图6所示.LSTM网络的隐层特征大小设置为128.

2.6 上采样层

2.7 分类输出层

3 神经网络的训练与结果

3.1 数据集的选取

数据来自“SMS Spam Collection v.1”(表1),它是一组已收集的SMS标签短消息,一般用于垃圾邮件识别研究.“SMS Spam Collection v.1”共包含5 574条短消息,其中正常短消息4 827条(占86.6%),垃圾短消息747条(占13.4%).

表1 SMS Spam Collection v.1Table 1 SMS Spam Collection v.1

3.2 模型的训练

数据集预处理完成后,将数据集按7∶3切分为训练集和测试集(训练集用以训练模型,测试集用以评测模型),然后将训练集数据送入神经网络进行训练.实验程序由Python实现,环境为Tensorflow.

初始学习率设置为0.02,,按指数衰减,每10次衰减为之前的96%,共训练100轮,批大小设置为1 024.实验机器搭载GTX1070的显卡,8核CPU,16 G内存.迭代过程中,在训练集和测试集上的交叉熵损失曲线如图7所示.

图7 迭代过程中的交叉熵损失曲线Fig. 7 Cross Entropy Loss Curve in Iterative Process

3.3 模型的评价

选用Precision,Recall,F-measure和Accuracy作为评价指标,同时与FastText,TextCNN和TextRNN模型进行对比,实验结果见表2.

表2 训练后的各模型的各项指标值Table 2 Evaluation Index Values of the Trained Models

从表2可知,在训练集和测试集上,Text CNN+RNN的各项指标值均超过其他3个模型.4个模型在测试集上的ROC曲线如图8所示.

图8 各模型的ROC曲线Fig. 8 ROC Curve of Each Model

由图8可得FastText,TextCNN,TextRNN和Text CNN+RNN模型ROC曲线下的面积(AUC)分别为0.941,0.993,0.991,0.993.很明显,TextCNN和Text CNN+RNN模型的AUC最高.

综上所述,Text CNN+RNN模型有良好的鲁棒性,效果优于FastText,TextCNN和TextRNN模型.较遗憾的是,在训练成本上Text CNN+RNN模型是最高的,但这并不会影响其在实际中的应用.

3.4 讨论

从实验结果来看,Text CNN+RNN通过结合CNN和RNN,取得了最优效果.这都归功于卷积神经网络对数据的多尺度特征卷积和循环神经网络对单词间上下文关系的学习,也从侧面反映了TextCNN对于文本信息在多尺度特征提取上的有效性.但是,TextCNN在卷积之后,直接将不同尺度得到的特征拼接后送入全连接层,这会损失部分上下文关系的特征;而TextRNN在没有借助卷积层提取特征的情况下,直接将单词序列送入循环神经网络,使得神经网络的性能受词向量质量的局限,当然,这一点在FastText上更加突出.

4个模型在测试集上普遍为Recall偏低,说明都存在部分垃圾邮件未被正确识别的情况.但在实际问题中,对于垃圾文本的识别,一方面要尽可能多且准确地识别出垃圾文本,另一方面更重要的是,不能将有用的文本错误地识别成垃圾文本,即要保证Precision足够高,否则就不具备实际用途.在这点上,Text CNN+RNN和TextCNN模型都达到了很不错的效果.

此外,4个模型在参数调优上都存在一定的提升空间.不难发现,除了FastText模型,其他3个模型在测试集上的结果普遍比在训练集上的要低,即模型存在一定程度的过拟合,这也是深度网络普遍存在的问题.

4 总结与展望

在神经网络方面,卷积神经网络在图像处理领域取得了巨大成功,其优秀的特征提取能力和并行运算性能使得图像处理技术愈发先进.自TextCNN出现后,卷积神经网络不仅在图像领域有优势,而且在自然语言的特征提取上也取得了优异的效果.其实,众多的高维数据都可以看作是抽象的图像,因此可以认为,卷积运算不仅对图像数据有效,而且对所有高维特征数据都有不错的特征提取效果,人们可以将卷积神经网络运用于各项研究任务中.而循环神经网络则对序列数据表现出优秀的处理能力,它通过将神经运算单元在时序上堆叠,来实现上下文关系的学习.卷积神经网络与循环神经网络的结合,预期能构建更好的模型,但如何将二者合理且稳定地结合是一个难题.

在信息识别与过滤方面,深度学习的出现可谓如虎添翼.尽管网络信息量巨大且繁杂,大多时候传统方法可能起不了很好的作用,但是深度学习凭借极强的学习能力,能够从容应对.与此同时,虽然如今的深度学习技术在文本识别或分类任务上已取得优秀的成绩,但是很多时候,人们不仅希望不良信息被过滤,更希望某些信息被润化,即以更优雅或委婉的方式呈现,于是会涉及到诸如机器翻译、语言风格转换等的研究.这将是深度学习技术所面对的巨大挑战.

猜你喜欢

集上特征提取卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
Cookie-Cutter集上的Gibbs测度
卷积神经网络的分析与设计
链完备偏序集上广义向量均衡问题解映射的保序性
基于Gazebo仿真环境的ORB特征提取与比对的研究
从滤波器理解卷积
R语言在统计学教学中的运用
基于Daubechies(dbN)的飞行器音频特征提取
基于傅里叶域卷积表示的目标跟踪算法
Bagging RCSP脑电特征提取算法