CN109743732B - 基于改进的cnn-lstm的垃圾短信判别方法 - Google Patents
基于改进的cnn-lstm的垃圾短信判别方法 Download PDFInfo
- Publication number
- CN109743732B CN109743732B CN201811563659.2A CN201811563659A CN109743732B CN 109743732 B CN109743732 B CN 109743732B CN 201811563659 A CN201811563659 A CN 201811563659A CN 109743732 B CN109743732 B CN 109743732B
- Authority
- CN
- China
- Prior art keywords
- length
- lstm
- short message
- gate
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出一种基于改进的CNN‑LSTM的垃圾短信判别方法,其步骤在于,首先进行文本长度均值化,把文本最长的长度和大部分文本集中的长度做均值,长度不足的进行特征扩展,长度过长的短信文本进行特征重要性排序并选择,然后从大规模背景语料训练中得到具有语义特征信息的Glove词向量作为深层神经网络的初始输入。下一步再构建改进的CNN‑LSTM的垃圾短信识别的模型。最后将输出放入Softmax分类器中得出分类结果。此发明不仅可以改善深度学习参数过多的问题,还可以更好地整合短信文本特征,具有很好的研究意义和应用价值。
Description
技术领域
本发明涉及自然语言处理领域,具体涉及基于深度学习的文本分类算法,本发明旨在发明一种基于改进CNN-LSTM的垃圾短信判别方法,分别从CNN和LSTM的输入端进行改进,此方法不仅可以改善深度学习参数过多的问题,还可以更好地整合短信文本特征。
背景技术
短信业务在快速发展的过程中,一方面为我们的生活带来了极大地方便,例如,观看手机电视和进行视频通话等。而另一方面由于垃圾短信的大量出现,例如,收到的房地产、证券等方面商业广告等。这些垃圾短信不但利用短信进行勒索、诈骗的违法犯罪的活动,还使得短信用户耗费大量的时间和精力来处理垃圾短信,严重影响了手机用户的正常工作和生活。
目前,针对垃圾短信过滤的问题,国内外的研究学者已经作出了一些良好的开端和探索。对于垃圾短信的分类问题,Cormack等将垃圾邮件的过滤方法应用到垃圾短信过滤上来,其通过将垃圾邮件的过滤系统应用到垃圾短信中进行效果对比,得出了垃圾短信与垃圾邮件过滤有相同之处以及对于垃圾短信过滤来说需要特殊考虑的方面。基于短信文本是比邮件内容更直白、生活化的语言形式,该实验提出在特征提取和特征选择上进行改进。Wu等提出了基于云安全的垃圾短信拦截方案,该方法在保证拦截准确率的同时,可以有效地节省过滤过程中对内存的消耗。Uysal等提出来一种通过卡方检验进行特征选择,之后将不同大小规模的特征集送入两个分类器完成分类的短信拦截方案。金展等针对垃圾短信的关键词库等特征未及时更新而导致过滤性能低下的问题,通过使用朴素贝叶斯和支持向量机完成了一套自适应的垃圾短信过滤系统。
发明内容
本发明针对短信长度不一和传统的人工设计短信特征选择方法中存在数据稀疏、特征信息共现不足和特征提取困难等问题,提出一种基于改进的CNN-LSTM的神经网络模型的垃圾短信识别方法。此方法不仅可以改善深度学习参数过多的问题,还可以更好地整合短信文本特征。
本发明所采用的数据集大小为80万条短信,其中大部分短信的长度集中在30-60,而最大长度达到120左右。常用的CNN卷积模型使用方法,是把短信文本当中最长的长度作为PADDING补齐的方式作为CNN卷积的输入,这不仅会增加模型计算复杂度,还会使得短信文本中词与词间的关系变得不明显导致加大CNN卷积层对大部分短信文本的特征提取的难度。为此本发明将在CNN卷积输入端对短信文本进行长度均值化,对于过短的短信进行特征扩展,对于过长的短信按照特征重要性进行截断。
为了将自然语言中的词和短语转换成计算机可以“认识和理解”的形式,我们需要从大规模背景语料训练中得到具有语义特征信息的Glove词向量,大规模短信通过对应的Glove词向量表转化成对应的矩阵向量矩阵。
在CNN卷积处理图像中,我们之所以决定使用卷积后的特征是因为图像具有一种“静态性”的属性,这也就意味着在一个图像区域有用的特征极有可能在另一个区域同样适用。因此,一个很自然的想法就是利用池化对不同位置的特征进行聚合统计,这个均值池化或者最大池化就是一种聚合统计的方法。池化一方面因为降维减少了参数和模型复杂度,使得模型避免了过拟合,而另一方面,对于短信这种短文本的特性,池化会忽略每一层抽取的文本特征中的局部信息,这样不利于模型对垃圾短信的识别。
基于上述文字的分析,本发明的主要思路为:在CNN卷积输入端对短信文本进行长度均值化,在LSTM输入端把CNN卷积层作为LSTM输入门的输入,把CNN池化层的输出作为LSTM遗忘门的输入,这样可以更好地保存提取到的文本的细节特征和提取时序特征,在深度神经网络训练过程中使用批归一化机制使得每一层神经网络的输入保持相同分布,保证了在不降低原有性能的同时使网络的收敛更加稳定、快速。最后将输出输入Softmax分类器中得出分类结果。
本发明的具体步骤为:
1.对短信进行预处理,统计短信数据集合大多数短信的平均长度,平均长度与最长短信的长度求和后除以2得到截止长度;对于长度小于截止长度的短信采用词向量拓展的方法进行补齐,对于长度大于截止长度的短信文本采用卡方检验进行词元的重要度划分排序,然后在截止长度处进行截断;通过对短信长度进行长度拓展和截断处理,保证输入维度的一致性,然后将预处理后的短信文本通过预训练词表映射为词向量;
2.CNN卷积网络对词向量进行特征提取,送入LSTM网络,其中CNN卷积提取的完整特征接入到LSTM网络的输入门,CNN卷积提取的特征并经过池化处理后的输出接入到LSTM的遗忘门,优化后LSTM的单元计算如下:
ft=σ(Wf·[ht-1,xt,p]+bf)
it=σ(Wi·[ht-1,xt,c]+bi)
ot=σ(Wo·[ht-1,xt,c]+bo)
ht=ot*tanh(ct)
上式中,σ代表Sigmoid函数,tanh表示双曲正切激活函数;it、ft、ot和ct分别表示的为记忆单元的输入门、遗忘门、输出门和记忆单元状态的向量,bf、bi和bo为可学习的参数,分别表示遗忘门、输入门和输出门的偏差,xt,p表示CNN卷积后再经过池化层的输出,xt,c表示卷积层的输出,输入门、遗忘门和输出门的权重分别是由Wi、Wf和Wo表示。
3.通过批归一化处理使得各个单元输出保持相同的分布;最后将LSTM网络的输出送入分类器中得到是不是垃圾短信的判断结果。
由于采用以上技术方案,本发明具有以下优点:
1.本发明采用短信文本长度均值化,把文本最长的长度和出现频率最高的长度做均值,这不仅能够减少模型训练参数,还能够减少CNN卷积提取文本语义特征的难度,加强词与词之间的语义联系。
2.本发明利用深度学习相关模型进行垃圾短信判别的研究,能够克服传统人工提取的代价大,泛化能力弱的问题,对快速高效的抽取短信文本特征信息具有重要意义。
附图说明
为了使本发明的目的和技术方案更加清楚,本发明提供如下附图进行说明:
图1本发明整体框架图;
图2本发明利用Glove进行短信向量化图;
图3本发明CNN结构图;
图4本发明LSTM单元图;
图5本发明改进的模型单元图;
具体实施方式:
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地、完整地描述。
图1给出了发明整体框架图。本发明提出了一种基于改进的CNN-LSTM的垃圾短信判别方法,具体包括如下步骤:
首先对短信文本进行长度均值化,公式为:
其中Lmax为短信文本中最长的长度,Lmost为短信文本中出现较为集中的长度。对于需要长度小于Average length的文本,我们采用词向量扩展的形式进行补齐,对于长度大于Average length的文本,我们采用卡方检验进行关键词特征重要性排序,然后选择重要性高的进行短信文本表示。
模型的输入通常是二维矩阵组成的数据。因此,需要将短信文本数据处理成二维矩阵的形式作为模型的输入数据。在对短信进行预处理和分词后,需要将每个词转换成Word2vec或者Glove词向量的形式表示,然后用每个句子中的若干个词组成对应矩阵的每行,即构成了一个二维矩阵。若用k维的词向量表示n个词的句子,则输入为k*n的二维数据矩阵。假设文本长度最长不超过n,则为满足输入二维矩阵,长度小于n的需要进行补零处理,如图2所示,若文本数据的长度不足n,不足位补0,维度为k。
Glove是基于共现矩阵的一种词向量表达方式,不仅训练速度更快,而且充分利用了统计信息,Glove在此基础上提出了全局log-双线性回归模型,加入了全局的词汇统计信息,可以兼顾全局与局部信息,更好地挖掘词汇的语义特征。Glove模型的损失函数采用加权MSE,其损失函数为:
式中,Xi,j是词wi与wj在窗口内的共现次数;是词wi作为上下文时,单词i词向量表示的转置;wj是词wj作为context中心词时,单词j的词向量表示;bi和bj是两个标量,V是词典中的词汇量总数,f(x)需要满足如下特性:
(2)f(x)是需要剃增的,从而保证罕见的Xi,j没有过分重要。
(3)f(x)在x特别大时,f(x)不能太大,需要保证高频的共现没有过分重要。
有很多函数满足这些属性要求,其中有一类函数,即Glove模型中使用的计算权值为:
通常xmax=100,α=3/4。
图3表示传统的卷积神经网络CNN,CNN卷积是一种前馈神经网络,其主要由卷积层、池化层、全连接层组成,卷积层主要通过卷积操作实现局部特征响应,然后使用相同的卷积核扫描整个图像,提取整个图像的特征,实现权值共享。一般每个卷积层都会对应多个不同的卷积核,每个卷积核提取出的特征称之为特征谱,具体计算如式:
其中,表示第j个特征谱,wj表示对应的卷积核,表示上层第i个特征谱作为当前的输入,表示偏置量,表示每个特征谱的特征数量,M表示每个卷积层的特征谱数。θ(·)为激活函数,常见的选择有Sigmoid函数、ReLU函数等。在卷积神经网络中卷积层的输出是文本的特征,在卷积层之后会紧跟着池化层,目的就是提高特征的表征能力、减少特征维度,而参数过多、模型过于复杂也是产生过拟合现象的重要原因之一,因此池化算法还可以有效的避免训练过程中的过拟合现象。隐层的最后部分一般为全连接层,相当于传统神经网络中多层感知机中的隐层,即前一层的每个神经元都与后一层的每个神经元相连。具体公式如式:
其中hw,b(x)表示全连接层的输出;xi表示上一层神经元的输出即全连接层的输入;Wi表示神经元之间连接的权值;b表示偏置量,θ(·)表示激活函数。
LSTM是长短期记忆网络,LSTM结构如图4所示,LSTM是一种时间递归神经网络,适合于处理和预测时间序列中间隔和延迟相对较长的重要事件。LSTM在处理时序间隔和延迟非常长的任务时,LSTM比RNN更具有竞争力,其主要原因在于LSTM增加了一个记忆单元(Cell State),用以取代传统的隐含神经元节点。LSTM很好得解决了传统RNN随着网络层数的增多,产生梯度消失或梯度爆炸的问题。LSTM单元计算如下:
ft=σ(Wf·[ht-1,xt]+bf)
it=σ(Wi·[ht-1,xt]+bi)
ot=σ(Wo·[ht-1,xt]+bo)
ht=ot*tanh(ct)
上式中,σ代表Sigmoid函数;it、ft、ot和ct分别表示的为记忆单元的输入门、遗忘门、输出门和记忆单元状态的向量,在运算过程中向量的维度和隐藏层向量ht的维度是一样的,输入门、遗忘门和输出门的权重分别是由Wi、Wf和Wo表示。
池化层是在卷积网络中一般在卷积层之后使用的特征提取层,使用池化技术将卷积层后得到的小邻域内的特征点整合得到新的特征。一方面防止无用参数增加时间复杂度,一方面增加了特征的整合度。做窗口滑动卷积的时候,卷积值就代表了整个窗口的特征。因为滑动的窗口间有大量重叠区域,出来的卷积值有冗余,进行最大池化或者平均池化就是减少冗余,减少冗余的同时,池化也丢掉了局部位置信息,对于垃圾短信这种类型的短文本,特征较为匮乏,而池化起到了负作用,不利于模型进行垃圾短信的判别,因此综合考虑,在LSTM输入端把CNN卷积层作为LSTM输入门的输入,这样可以尽可能得保存住CNN所提取到的原始特征,并且可以更好地防止池化所忽略的局部信息,把CNN池化层的输出作为LSTM遗忘门的输入,可以根据更高级的抽象特征和其他特征作为区分,有利于LSTM决定会从细胞状态中遗忘丢弃什么信息,改进后LSTM的单元计算如下:
ft=σ(Wf·[ht-1,xt,p]+bf)
it=σ(Wi·[ht-1,xt,c]+bi)
ot=σ(Wo·[ht-1,xt,c]+bo)
ht=ot*tanh(ct)
式中,σ代表Sigmoid函数;it、ft、ot和ct分别表示的为记忆单元的输入门、遗忘门、输出门和卷积层的记忆单元向量,在运算过程中向量的维度和隐藏层向量ht的维度是一样的,xt,p表示CNN卷积后再经过池化层的输出,xt,c表示卷积层的输出,输入门、遗忘门和输出门的权重分别是由Wi、Wf和Wo表示。
综上所述,本方案旨在针对短信文本长度不一的特点,提出了长度均值化的方法,解决了短信文本在转成词向量过程中容易造成词与词之间联系不明显的问题,本发明采用CNN卷积获取短信文本的文本高级特征,采用LSTM获取短信文本序列的长距离依赖特征,并且改进了LSTM单元,使得CNN卷积中更丰富的特征能够进入到LSTM单元中以便提高模型的性能。
Claims (1)
1.一种基于改进的CNN-LSTM的垃圾短信判别方法,其特征在于构建一个CNN和LSTM级联的网络模型,包括如下步骤:
步骤一、对短信进行预处理,统计短信数据集合大多数短信的平均长度,平均长度与最长短信的长度求和后除以2得到截止长度;对于长度小于截止长度的短信采用词向量拓展的方法进行补齐,对于长度大于截止长度的短信文本采用卡方检验进行词元的重要度划分排序,然后在截止长度处进行截断;通过对短信长度进行长度拓展和截断处理,保证输入维度的一致性,然后将预处理后的短信文本通过预训练词表映射为词向量;
步骤二、CNN网络对词向量进行特征提取,送入LSTM网络,其中CNN卷积层提取的完整特征接入到LSTM网络的输入门,CNN卷积层提取的特征并经过池化处理后的输出接入到LSTM的遗忘门,优化后LSTM的单元计算如下:
ft=σ(Wf·[ht-1,xt,p]+bf)
it=σ(Wi·[ht-1,xt,c]+bi)
ot=σ(Wo·[ht-1,xt,c]+bo)
ht=ot*tanh(ct)
上式中,σ代表Sigmoid函数,tanh表示双曲正切激活函数;it、ft、ot和ct分别表示的为记忆单元的输入门、遗忘门、输出门和记忆单元状态的向量;bf、bi和bo为可学习的参数,分别表示遗忘门、输入门和输出门的偏差;xt,p表示CNN卷积后再经过池化层的输出,xt,c表示卷积层的输出,输入门、遗忘门和输出门的权重分别是由Wi、Wf和Wo表示;
步骤三、通过批归一化处理使得各个单元输出保持相同的分布;最后将LSTM网络的输出送入分类器中得到是不是垃圾短信的判断结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811563659.2A CN109743732B (zh) | 2018-12-20 | 2018-12-20 | 基于改进的cnn-lstm的垃圾短信判别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811563659.2A CN109743732B (zh) | 2018-12-20 | 2018-12-20 | 基于改进的cnn-lstm的垃圾短信判别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109743732A CN109743732A (zh) | 2019-05-10 |
CN109743732B true CN109743732B (zh) | 2022-05-10 |
Family
ID=66360712
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811563659.2A Active CN109743732B (zh) | 2018-12-20 | 2018-12-20 | 基于改进的cnn-lstm的垃圾短信判别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109743732B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110175221B (zh) * | 2019-05-17 | 2021-04-20 | 国家计算机网络与信息安全管理中心 | 利用词向量结合机器学习的垃圾短信识别方法 |
CN110222695B (zh) * | 2019-06-19 | 2021-11-02 | 拉扎斯网络科技(上海)有限公司 | 一种证件图片处理方法及装置、介质、电子设备 |
US11604981B2 (en) * | 2019-07-01 | 2023-03-14 | Adobe Inc. | Training digital content classification models utilizing batchwise weighted loss functions and scaled padding based on source density |
CN111429215B (zh) * | 2020-03-18 | 2023-10-31 | 北京互金新融科技有限公司 | 数据的处理方法和装置 |
CN113626672A (zh) * | 2021-02-26 | 2021-11-09 | 新大陆数字技术股份有限公司 | 基于rcnn网络的舆情分析方法及系统 |
CN113112819B (zh) * | 2021-03-26 | 2022-10-25 | 华南理工大学 | 一种基于改进lstm的图卷积交通速度预测方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106599933A (zh) * | 2016-12-26 | 2017-04-26 | 哈尔滨工业大学 | 一种基于联合深度学习模型的文本情感分类方法 |
CN107169035A (zh) * | 2017-04-19 | 2017-09-15 | 华南理工大学 | 一种混合长短期记忆网络和卷积神经网络的文本分类方法 |
CN107656990A (zh) * | 2017-09-14 | 2018-02-02 | 中山大学 | 一种基于字和词两个层面特征信息的文本分类方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107562784A (zh) * | 2017-07-25 | 2018-01-09 | 同济大学 | 基于ResLCNN模型的短文本分类方法 |
CN108566627A (zh) * | 2017-11-27 | 2018-09-21 | 浙江鹏信信息科技股份有限公司 | 一种利用深度学习识别诈骗短信的方法及系统 |
CN108874776B (zh) * | 2018-06-11 | 2022-06-03 | 北京奇艺世纪科技有限公司 | 一种垃圾文本的识别方法及装置 |
-
2018
- 2018-12-20 CN CN201811563659.2A patent/CN109743732B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106599933A (zh) * | 2016-12-26 | 2017-04-26 | 哈尔滨工业大学 | 一种基于联合深度学习模型的文本情感分类方法 |
CN107169035A (zh) * | 2017-04-19 | 2017-09-15 | 华南理工大学 | 一种混合长短期记忆网络和卷积神经网络的文本分类方法 |
CN107656990A (zh) * | 2017-09-14 | 2018-02-02 | 中山大学 | 一种基于字和词两个层面特征信息的文本分类方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109743732A (zh) | 2019-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109743732B (zh) | 基于改进的cnn-lstm的垃圾短信判别方法 | |
AU2020100710A4 (en) | A method for sentiment analysis of film reviews based on deep learning and natural language processing | |
CN109271522B (zh) | 基于深度混合模型迁移学习的评论情感分类方法及系统 | |
CN110825845A (zh) | 一种基于字符与自注意力机制的层次文本分类方法及中文文本分类方法 | |
CN108595643A (zh) | 基于多分类节点卷积循环网络的文本特征提取及分类方法 | |
CN109063719B (zh) | 一种联合结构相似性和类信息的图像分类方法 | |
CN110175221B (zh) | 利用词向量结合机器学习的垃圾短信识别方法 | |
CN110765269A (zh) | 基于动态词向量和层级神经网络的文档级情感分类方法 | |
CN112749274B (zh) | 基于注意力机制和干扰词删除的中文文本分类方法 | |
CN114462420A (zh) | 一种基于特征融合模型的虚假新闻检测方法 | |
CN111984791A (zh) | 一种基于注意力机制的长文分类方法 | |
Niu et al. | A high-performance web attack detection method based on CNN-GRU model | |
CN115062727A (zh) | 一种基于多阶超图卷积网络的图节点分类方法及系统 | |
CN114579746A (zh) | 一种优化的高精度文本分类方法及装置 | |
Mansour et al. | Text vectorization method based on concept mining using clustering techniques | |
Luo et al. | Effective short text classification via the fusion of hybrid features for IoT social data | |
Taheri et al. | Spam filtering in SMS using recurrent neural networks | |
CN113204640A (zh) | 一种基于注意力机制的文本分类方法 | |
CN116543289A (zh) | 一种基于编码器-解码器及Bi-LSTM注意力模型的图像描述方法 | |
CN111090749A (zh) | 一种基于TextCNN的报刊出版物分类方法及系统 | |
CN113901801B (zh) | 基于深度学习的文本内容安全检测方法 | |
CN112651242B (zh) | 一种基于内外注意力机制和可变尺度卷积的文本分类方法 | |
Li et al. | Short text sentiment analysis based on convolutional neural network | |
CN114881172A (zh) | 一种基于加权词向量和神经网络的软件漏洞自动分类方法 | |
CN114357165A (zh) | 一种基于深度学习网络的短文本分类方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |