CN109829054A - 一种文本分类方法及系统 - Google Patents
一种文本分类方法及系统 Download PDFInfo
- Publication number
- CN109829054A CN109829054A CN201910044602.XA CN201910044602A CN109829054A CN 109829054 A CN109829054 A CN 109829054A CN 201910044602 A CN201910044602 A CN 201910044602A CN 109829054 A CN109829054 A CN 109829054A
- Authority
- CN
- China
- Prior art keywords
- layer
- learning
- learning rate
- text
- model
- 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.)
- Pending
Links
Landscapes
- Machine Translation (AREA)
Abstract
本公开提供了一种文本分类方法及系统。其中,一种文本分类方法包括对文本进行预处理,只提取动词和名词作为初始特征词;将预处理后的文本采用布尔逻辑模型进行特征表示;将特征表示输入至由两层Mom‑Ada‑DAE构建的深度学习模型中进行特征学习;利用所述深度学习模型的分类层输出文本分类结果。
Description
技术领域
本公开属于文本分类领域,涉及一种文本分类方法及系统。
背景技术
本部分的陈述仅仅是提供了与本公开相关的背景技术信息,不必然构成在先技术。
在互联网时代,每个人的生活都和互联网密不可分,因此产生了大量的文本信息,需要用计算机自动提取文本中的有效信息。文本分类是处理和组织大量文本数据的关键性技术,可以有效的管理和利用文本信息。
发明人发现,现有的文本分类模型需要大量的数据进行训练、训练时间长且分类结果准确率及稳定性差。
发明内容
根据本公开的一个或多个实施例的一个方面,提供一种文本分类方法,其能满足文本的分类要求,有利于文本分类,实用性强,易于推广。
本公开的一种文本分类方法,包括:
对文本进行预处理,提取动词和名词作为文本特征;
采用布尔逻辑模型对提取的文本特征进行特征表示;
将特征表示输入至深度学习模型中进行特征学习;所述深度学习模型由两层附加动量及自适应学习率的降噪自动编码器构建而成;
利用深度学习模型的分类层输出文本分类结果。
在一个或多个实施例中,每层附加动量及自适应学习率的降噪自动编码器由编码器和解码器组成,所述编码器用于对输入的特征表示进行降维处理并编码;所述解码器用于对编码结果进行映射重构;在训练深度学习模型的权值和偏置参数时,附加动量项使得权值的调整朝着误差曲面底部的平均方向变化,且每个权值和偏置参数对应一个自适应学习率。
在一个或多个实施例中,自适应调学习率的调整策略为:下一次迭代的学习率是当前迭代的学习率与学习率变化系数和总体平均误差比值三者的乘积;其中,总体平均误差比值为前一次迭代的总体平均误差与当前迭代的总体平均误差的比值;学习率变化系数的倒数等于所有迭代次数的损失函数梯度平方和与预设常系数累加后的平方根。
在一个或多个实施例中,将特征表示输入至深度学习模型中进行特征学习的过程为:
第一层附加动量及自适应学习率的降噪自动编码器将原始特征表示映射到一个预设高维空间;
第二层附加动量及自适应学习率的降噪自动编码器对第一层的输出进行压缩和进一步特征提取,且第一层训练结束后的输出作为第二层训练的输入。
在一个或多个实施例中,深度学习模型的分类层为深度学习模型的最后一层,且为Softmax分类器。
根据本公开的一个或多个实施例的另一个方面,提供一种文本分类系统,其能满足文本的分类要求,有利于文本分类,实用性强,易于推广。
本公开的一种文本分类系统,包括存储器和分类处理器,所述分类处理器包括:
预处理模块,其用于对文本进行预处理,提取动词和名词作为文本特征;
特征表示模块,其用于采用布尔逻辑模型对提取的文本特征进行特征表示;
特征学习模块,其用于将特征表示输入至深度学习模型中进行特征学习;所述深度学习模型由两层附加动量及自适应学习率的降噪自动编码器构建而成;
分类结果输出模块,其用于利用深度学习模型的分类层输出文本分类结果。
在一个或多个实施例中,每层附加动量及自适应学习率的降噪自动编码器由编码器和解码器组成,所述编码器用于对输入的特征表示进行降维处理并编码;所述解码器用于对编码结果进行映射重构;在训练深度学习模型的权值和偏置参数时,附加动量项使得权值的调整朝着误差曲面底部的平均方向变化,且每个权值和偏置参数对应一个自适应学习率。
在一个或多个实施例中,自适应调学习率的调整策略为:下一次迭代的学习率是当前迭代的学习率与学习率变化系数和总体平均误差比值三者的乘积;其中,总体平均误差比值为前一次迭代的总体平均误差与当前迭代的总体平均误差的比值;学习率变化系数的倒数等于所有迭代次数的损失函数梯度平方和与预设常系数累加后的平方根。
在一个或多个实施例中,在所述特征学习模块中,将特征表示输入至深度学习模型中进行特征学习的过程为:
第一层附加动量及自适应学习率的降噪自动编码器将原始特征表示映射到一个预设高维空间;
第二层附加动量及自适应学习率的降噪自动编码器对第一层的输出进行压缩和进一步特征提取,且第一层训练结束后的输出作为第二层训练的输入。
在一个或多个实施例中,在所述特征学习模块中,深度学习模型的分类层为深度学习模型的最后一层,且为Softmax分类器。
本公开的有益效果是:
本公开利用两层附加动量及自适应学习率的降噪自动编码器构建深度学习模型,进而对文本进行分类,可以降低误差曲面局部细节的敏感性,减小学习过程的震荡趋势,改善收敛性;自适应学习率的降噪自动编码器刚好可以自适应的调整学习率,增加稳定性并且提高精度。
附图说明
构成本公开的一部分的说明书附图用来提供对本公开的进一步理解,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。
图1是本公开的文本分类方法实施例流程图。
图2是Mom-Ada-DAE将原始特征映射到高维空间说明实施例图。
图3是传统DAE模型以及Mom-Ada-DAE模型误差曲线对比图。
图4是不同破坏率对的Mom-Ada-DAE模型分类的影响。
图5是不同分类算法对分类综合正确率的影响。
具体实施方式
应该指出,以下详细说明都是例示性的,旨在对本公开提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本公开所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本公开的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
术语解释:
Mom-Ada-DAE:附加动量和自适应学习率的降噪自动编码器。
DAE:降噪自动编码器。
如何提高模型的收敛速度,在深度学习的研究中是一个很关键的问题。DAE是深度学习中的一种典型的模型,现在被广泛应用在各种领域,因为其实现了特征的逐层提取与重构,利用反向传播算法来更新整体的网络权重从而达到更好的学习效果。但是传统DAE深度学习模型在权重的更新过程中都是采用固定的学习率,导致模型收敛速度慢,训练时间过长。本公开采用附加动量的降噪自动编码器模型可以降低误差曲面局部细节的敏感性,减小学习过程的震荡趋势,改善收敛性。但是模型的训练成功与否与学习率的选取有很大的关系,自适应学习率的降噪自动编码器刚好可以自适应的调整学习率,增加稳定性并且提高精度。动量因子可以记忆上一时刻的连接权值的变化量的值,还可以帮助其选取合适的学习速率。将这两种方法结合,正好发挥了各自的优势,能达到很好的文本分类效果。
如图1所示,本实施例的一种文本分类方法,包括:
步骤1:对文本进行预处理,提取动词和名词作为文本特征。
在具体实施中,对中文文本进行预处理包括:去除数据中无用特征词。去除去标点符号、英文字符、html标签等非中文部分。少量的非文本内容的可以直接用Python的正则表达式(re)删除,复杂的则可以用beautifulsoup来去除。
对中文文本进行预处理包括:对文本数据进行分词。基于Python的,用"pipinstall jieba"就可以完成。只提取动词和名词作为初始特征词。
对英文文本进行预处理包括:进行词干提取和词形还原。找到词的原始形式。下载nltk的语料库,使用nltk来进行词干提取和词型还原。使用WordNetLemmatizer类来进行词型还原,即wordnet词形还原方法。使用SnowballStemmer来进行词干提取。
其中,nltk,Natural Language Toolkit,自然语言处理工具包,在NLP领域中,最常使用的一个Python库。WordNetLemmatizer和SnowballStemmer均是自然语言处理工具包nltk里的已知函数。
对英文文本进行预处理包括:转化为小写。英文单词都有大小写之分,比如“YOU”和“you”,都代表同一个意思,所以要将其转化为小写。使用python的API来将单词转化为小写。
对英文文本进行预处理包括:去除无用特征词。如助词、介词、代词等对分类无用的特征。以及其它在文本中出现频率过高,但对于分类没有多大意义的词,只提取动词和名词作为特征词进行特征表示和学习。通过参数stop_words来引入一个数组作为停用词表。以空格区分就可以获得所有单词,将所有的单词的形式统一为小写,以一个单词一个空格形式存储。
步骤2:采用布尔逻辑模型对提取的文本特征进行特征表示。
采用布尔逻辑模型(Boolean Model)对文本进行特征表示。对文本进行预处理后,把提取的动词和名词当做初始特征词,表示成(x1,x2,....,xm)形式。其中(x1,x2,....xm)对应字典中所包含的词。xi(1≤i≤m)的取值只有两种情况,即取值为0或者1。xi若为0,说明字典第i个特征词项在该文档中没有出现;xi若为1,说明字典第i个特征词项在该文档中出现。
步骤3:将特征表示输入至深度学习模型中进行特征学习;所述深度学习模型由两层附加动量及自适应学习率的降噪自动编码器构建而成。
具体地,将特征表示输入到一个由两层Mom-Ada-DAE深度学习模型构建的深度学习模型中进行特征学习。
其中,特征学习阶段具体过程为:
使用两层Mom-Ada-DAE模型进行特征学习。第一层Mom-Ada-DAE,将原始特征映射到一个高维的空间,更好的区分原始特征,进行初步特征提取。第二层Mom-Ada-DAE对第一层的输出进行了压缩和进一步特征提取。最后使得到的特征更加易于分类,如图2所示。并且第一层训练结束后的输出作为第二层训练的输入。
每层Mom-Ada-DAE由编码器和解码器两部分组成。
其中,Mom-Ada-DAE深度学习模型构建的具体过程为:
首先对输入的向量x通过随机映射置0处理得到其他的向量值不变。然后再输入到编码器中,编码器用于对数据的降维,经过激活函数和线性变换的作用,最终得到编码的结果y,再输入到解码器f(y)中,解码器主要是将隐含层得到数据映射重构回z,分别表示为如下函数:
z=f(y)=sg(W′y+az)
其中是非线性激活函数,sg是激活函数,本实施例使用sigmoid函数,W′=WT,所以只训练W即可。ay和az是偏置参数。
DAE的训练过程即是在训练样本集D上寻找参数的最小化重构误差,重构误差的表达式如下:
L(x)为重构误差损失函数,表达式为:
其中,N是训练集样本数,xi是第i个输人,zi为对应的第i个解码重构后的数据。
采用随机梯度下降算法训练偏重量和权值,在每个迭代过程中,偏置参数和权值更新过程如下:
其中是学习率,偏置参数采用同样的更新方式:
在训练数据样本中随机选择部分训练样本计算损失代价函数的梯度,其表达式为:其中是第m个批次数据经过计算得到的梯度值,N为m个批次数据集的大小。
附加动量项:
传统的DAE模型只是依靠简单的静态寻优方法来修正权值,并没有考虑到以往时刻的梯度方向。如果于局部极值点,其会在这些地方附近震荡,从而导致收敛速度变慢。附加动量可以让权值的调整朝着误差曲面底部的平均方向变化,降低误差曲面局部细节的敏感性,减小学习过程的震荡趋势,改善收敛性。
在DAE附加动量项之后的权值公式调整为:
其中,ΔW为权值的增量,γ为动量因子,0≤γ<1,是学习率;
是DAE模型第n次迭代的总体平均误差,yig和sig分别为第i个训练样本时,第g个输出节点的输出值及模型的期望值。对于那些当前梯度方向与上一次梯度方向相同的参数,进行加强;对于那些当前梯度方向与上一次梯度方向不同的参数,进行削减。因此可以加快DAE模型的收敛速度并且减少震荡。
附加自适应学习率:
模型的训练成功与否与学习率的选取有很大的关系,其传统的DAE模型在随机梯度下降算法进行权重的更新过程中都是采用固定的学习率,统一固定学习率不适合所有参数的调整速率,参数更新的每一步调整并不总是朝着损失函数减小的方向进行,选择一个合适的学习率很难。如果学习率太小,会导致DAE深度学习模型的收敛速度很慢,如果学习速率过大,会阻碍DAE的收敛速度,在极值点附近震荡。其学习率过大和过小都会增加DAE深度学习模型的迭代次数,阻碍收敛速度,导致训练时间过长。一个较好的方法就是自适应的调节学习率,让其该增大的时候增大,该减小的时候减小。因此本文在DAE进行附加动量项改进的基础上又进行了学习率的改进,让其可以自适应的调节学习率(Mom-Ada-DAE)。
AdaGrad是一种基于梯度的优化算法,根据随机梯度算法中每次当前迭代时刻损失函数的梯度值,以对每个参数自适应不同的学习速率。本公开选用AdaGrad算法进行自适应学习率的调节。AdaGrad自适应全参数学习策略表达式如下:
其中,是初始学习率,一般设置为0.01,是n+1次迭代的学习率。是第s次迭代的损失函数梯度,r是一个常数,取值一般设置为1。
在标准DAE模型中,为每个权值和偏置参数设计一个学习率,来加快模型收敛速度,减少模型训练时间。本公开设计的自适应学习率的调整策略是:
r是初始常量,本研究选择r=1,用于保证学习率有界,能够使学习率稳定变化。是第n次迭代损失函数梯度。其中是DAE模型第n次迭代的总体平均误差。yig和sig分别为第i个训练样本时,第g个输出节点的输出值及模型的期望值。
由上式可知,其期望输出和实际输出的差别较大时,则说明这次的迭代误差就会增大,其学习率就会相应的减少,然后继续进行迭代。也就是说,当上一次模型权值调整后,误差比本次参数调整后模型的误差小,那么学习率就会相应的减少。该学习率在迭代的初始阶段,较大的学习率可以使目标函数值快速的下降,可以让该DAE模型更快的寻找样本的收敛点,加快模型的收敛速度,减少模型训练时间。
其中,由两层Mom-Ada-DAE构建的深度学习模型的分类层为预设深度学习模型的最后一层,且为Softmax分类器。
步骤4:利用所述深度学习模型的分类层输出文本分类结果。
在另一实施例中,所述文本分类方法,还包括:
对分类结果进行评价。
对传统的DAE模型和Mom-Ada-DAE模型进行重构误差比较,并且对KNN分类器、传统DAE模型以及Mom-Ada-DAE模型进行分类综合正确率的比较。
下面选择文献(Phan X H,Nguyen L M,Horiguchi S.Learning to classifyshort and sparse text&web with hidden topics from large-scale datacollections.In:Proceedings of the 17th Internartional Conference on WorldWide Web[J].New York,USA:ACM,2008.91-100)提供的网页搜索片段数据作为实验数据,就是将特定的领域词输入到谷歌里面得到的搜索结果。
例如经济类,选取50个经济领域的词,每次抽取前20个搜索结果,就可以得到1000条数据,并且保证测试数据使用的领域的词和训练数据不一样。表1记录了网页搜索片段数据分布:
表1网页搜索片段数据分布
领域 | 训练数据数 | 测试数据数 | |
1 | Computer | 1200 | 300 |
2 | Culture and Art | 1880 | 330 |
3 | Health | 880 | 300 |
4 | Business | 1200 | 300 |
5 | Technology | 220 | 150 |
6 | Sports | 1120 | 300 |
7 | Social policy | 1200 | 300 |
8 | Education | 2360 | 300 |
对于一个分类器,最主要的评价标准就是查准率和查全率以及综合正确率。查全率衡量的是类别的召回率,查准率衡量的是类别的准确率。
假设:在分类结果中,正例测试文档被正确分类为该类的数量为a,负例测试文档被错误分类为属于该类的数量为j,正例测试文档被错误分类为不属于该类的数量为r,负例测试文档被正确分类为不属于该类的数量为h,总共实验的类别为N类,那么:
(1)查全率(召回率):recall=a/(a+r)
(2)查准率(准确率):precision=a/(a+j)
(3)综合正确率:accuracy=(a+h)/(a+j+r+h)
进行模型训练的时候,先设置模型初始破坏率为0.1,隐藏层单元个数分别为1500-1000,初始学习率设置为0.01,初始动量因子为0.9。先对每层的矩阵表示进行随机设置为0的操作,然后再进行训练,第一层训练结束后的输出作为第二层训练的输入。在最后一层采用Softmax进行分类。
为了测试本研究提出的模型的收敛性和分类性能,还在相同的数据集上用KNN分类算法和传统降噪自动编码器模型进行文本分类实验。其传统的DAE模型也是选取两层,并设置初始破坏率为0.1,学习率为0.15。第一层训练结束后的输出作为第二层训练的输入,在最后一层也采用Softmax进行分类。使用matlab自带的KNN分类分类器进行KNN分类分类实验。
图3为DAE模型以及附加动量项和自适应学习率的DAE误差曲线对比图。从图3中看出,传统DAE模型和Mom-Ada-DAE模型的重构误差都是随着迭代次数的增加而不断减少,并且不断的趋向于0。可以看到传统DAE模型存在局部最小值的问题,迭代次数也多。其附加动量项的DAE收敛速度快于标准的DAE,迭代次数也减少了很多,并且解决了局部最小值的问题。附加动量项和自适应学习率的DAE重构误差曲线,其收敛速度比标准DAE和附加动量项的DAE都快,也是解决了局部最小值的问题。
引入自适应学习率和附加动量项的降噪自动编码器模型的重构误差曲线在迭代30次后明显的低于传统DAE模型。这说明Mom-Ada-DAE在迭代的过程中根据损失函数的当前梯度值自适应的调整学习率,更好的学习数据样本的内在特征,使其从误差曲面的局部极小值中跳出,减少重构误差和迭代次数,提高了模型的收敛速度。
图4为不同破坏率对的Mom-Ada-DAE模型分类的影响,从图4中可以看到改进的降噪自动编码器引入破坏率之后对分类的影响呈类抛物线形状,在破坏率为0.1和0.4时分类正确率最小,同时在破坏率为0.25时,分类正确率最大。
图5为不同分类算法对分类正确率的影响,从图5中可以看到,由改进的降噪自动编码器训练得到的分类器其分类的效果要好于KNN分类分类器和传统的DAE模型训练得到的分类器。
本公开还提供了一种文本分类系统,其能满足文本的分类要求,有利于文本分类,实用性强,易于推广。
本公开的一种文本分类系统,包括存储器和分类处理器,所述分类处理器包括:
(1)预处理模块,其用于对文本进行预处理,提取动词和名词作为文本特征。
(2)在具体实施中,对中文文本进行预处理包括:去除数据中无用特征词。去除去标点符号、英文字符、html标签等非中文部分。少量的非文本内容的可以直接用Python的正则表达式(re)删除,复杂的则可以用beautifulsoup来去除。
(3)对中文文本进行预处理包括:对文本数据进行分词。基于Python的,用"pipinstall jieba"就可以完成。只提取动词和名词作为初始特征词。
(4)对英文文本进行预处理包括:进行词干提取和词形还原。找到词的原始形式。下载nltk的语料库,使用nltk来进行词干提取和词型还原。使用WordNetLemmatizer类来进行词型还原,即wordnet词形还原方法。使用SnowballStemmer来进行词干提取。
(5)其中,nltk,Natural Language Toolkit,自然语言处理工具包,在NLP领域中,最常使用的一个Python库。WordNetLemmatizer和SnowballStemmer均是自然语言处理工具包nltk里的已知函数。
(6)对英文文本进行预处理包括:转化为小写。英文单词都有大小写之分,比如“YOU”和“you”,都代表同一个意思,所以要将其转化为小写。使用python的API来将单词转化为小写。
(7)对英文文本进行预处理包括:去除无用特征词。如助词、介词、代词等对分类无用的特征。以及其它在文本中出现频率过高,但对于分类没有多大意义的词,只提取动词和名词作为特征词进行特征表示和学习。通过参数stop_words来引入一个数组作为停用词表。以空格区分就可以获得所有单词,将所有的单词的形式统一为小写,以一个单词一个空格形式存储。
(2)特征表示模块,其用于采用布尔逻辑模型对提取的文本特征进行特征表示。
采用布尔逻辑模型(Boolean Model)对文本进行特征表示。对文本进行预处理后,把提取的动词和名词当做初始特征词,表示成(x1,x2,....,xm)形式。其中(x1,x2,....xm)对应字典中所包含的词。xi(1≤i≤m)的取值只有两种情况,即取值为0或者1。xi若为0,说明字典第i个特征词项在该文档中没有出现;xi若为1,说明字典第i个特征词项在该文档中出现。
(3)特征学习模块,其用于将特征表示输入至深度学习模型中进行特征学习;所述深度学习模型由两层附加动量及自适应学习率的降噪自动编码器构建而成。
两层Mom-Ada-DAE构建的深度学习模型由编码器和解码器两部分组成;在解码器附加动态变量以及自适应学习率。
每层Mom-Ada-DAE由编码器和解码器两部分组成。
其中,Mom-Ada-DAE深度学习模型构建的具体过程为:
首先对输入的向量x通过随机映射置0处理得到其他的向量值不变。然后再输入到编码器中,编码器用于对数据的降维,经过激活函数和线性变换的作用,最终得到编码的结果y,再输入到解码器f(y)中,解码器主要是将隐含层得到数据映射重构回z,分别表示为如下函数:
z=f(y)=sg(W′y+az)
其中是非线性激活函数,sg是激活函数,本实施例使用sigmoid函数,W′=WT,所以只训练W即可。ay和az是偏置参数。
DAE的训练过程即是在训练样本集D上寻找参数的最小化重构误差,重构误差的表达式如下:
L(x)为重构误差损失函数,表达式为:
其中,N是训练集样本数,xi是第i个输人,Zi为对应的第i个解码重构后的数据。
采用随机梯度下降算法训练偏重量和权值,在每个迭代过程中,偏置参数和权值更新过程如下:
其中是学习率,偏置参数采用同样的更新方式:
在训练数据样本中随机选择部分训练样本计算损失代价函数的梯度,其表达式为:其中是第m个批次数据经过计算得到的梯度值,N为m个批次数据集的大小。
附加动量项:
传统的DAE模型只是依靠简单的静态寻优方法来修正权值,并没有考虑到以往时刻的梯度方向。如果于局部极值点,其会在这些地方附近震荡,从而导致收敛速度变慢。附加动量可以让权值的调整朝着误差曲面底部的平均方向变化,降低误差曲面局部细节的敏感性,减小学习过程的震荡趋势,改善收敛性。
在DAE附加动量项之后的权值公式调整为:
ΔW为权值的增量,γ为动量因子,0≤γ<1,是学习率,其中 是DAE模型第n次迭代的总体平均误差,yig和sig分别为第i个训练样本时,第g个输出节点的输出值及模型的期望值。对于那些当前梯度方向与上一次梯度方向相同的参数,进行加强;对于那些当前梯度方向与上一次梯度方向不同的参数,进行削减。因此可以加快DAE模型的收敛速度并且减少震荡。
附加自适应学习率:
模型的训练成功与否与学习率的选取有很大的关系,其传统的DAE模型在随机梯度下降算法进行权重的更新过程中都是采用固定的学习率,统一固定学习率不适合所有参数的调整速率,参数更新的每一步调整并不总是朝着损失函数减小的方向进行,选择一个合适的学习率很难。如果学习率太小,会导致DAE深度学习模型的收敛速度很慢,如果学习速率过大,会阻碍DAE的收敛速度,在极值点附近震荡。其学习率过大和过小都会增加DAE深度学习模型的迭代次数,阻碍收敛速度,导致训练时间过长。一个较好的方法就是自适应的调节学习率,让其该增大的时候增大,该减小的时候减小。因此本文在DAE进行附加动量项改进的基础上又进行了学习率的改进,让其可以自适应的调节学习率(Mom-Ada-DAE)。
AdaGrad是一种基于梯度的优化算法,根据随机梯度算法中每次当前迭代时刻损失函数的梯度值,以对每个参数自适应不同的学习速率。本公开选用AdaGrad算法进行自适应学习率的调节。AdaGrad自适应全参数学习策略表达式如下:
其中,是初始学习率,一般设置为0.01,是n+1次迭代的学习率。是第s次迭代的损失函数梯度,r是一个常数,取值一般设置为1。
在标准DAE模型中,为每个权值和偏置参数设计一个学习率,来加快模型收敛速度,减少模型训练时间。本公开设计的自适应学习率的调整策略是:
r是初始常量,本研究选择r=1,用于保证学习率有界,能够使学习率稳定变化。是第n次迭代损失函数梯度。其中是DAE模型第n次迭代的总体平均误差。yig和sig分别为第i个训练样本时,第g个输出节点的输出值及模型的期望值。
由上式可知,其期望输出和实际输出的差别较大时,则说明这次的迭代误差就会增大,其学习率就会相应的减少,然后继续进行迭代。也就是说,当上一次模型权值调整后,误差比本次参数调整后模型的误差小,那么学习率就会相应的减少。该学习率在迭代的初始阶段,较大的学习率可以使目标函数值快速的下降,可以让该DAE模型更快的寻找样本的收敛点,加快模型的收敛速度,减少模型训练时间。
其中,由两层Mom-Ada-DAE构建的深度学习模型的分类层为预设深度学习模型的最后一层,且为Softmax分类器。
所述预设深度学习模型为由两层Mom-Ada-DAE构建的深度学习模型。
使用两层Mom-Ada-DAE模型进行特征学习,其过程为:
第一层Mom-Ada-DAE将原始特征映射到一个预设高维的空间,用于区分原始特征进行初步特征提取;
第二层Mom-Ada-DAE对第一层的输出进行压缩和进一步特征提取,且第一层训练结束后的输出作为第二层训练的输入。
(4)分类结果输出模块,其用于利用深度学习模型的分类层输出文本分类结果。
在另一实施例中,所述分类处理器包括:
分类结果评价模块,其用于对分类结果进行评价。
本实施例利用两层Mom-Ada-DAE构建深度学习模型,进而对文本进行分类,可以降低误差曲面局部细节的敏感性,减小学习过程的震荡趋势,改善收敛性;模型的训练成功与否与学习率的选取有很大的关系,自适应学习率的降噪自动编码器刚好可以自适应的调整学习率,增加稳定性并且提高精度。
而且利用两层Mom-Ada-DAE构建深度学习模型中的动量因子可以记忆上一时刻的连接权值的变化量的值,还可以帮助其选取合适的学习速率。将这两种方法结合,正好发挥了各自的优势,能达到很好的分类效果。通过实验结果表明,该深度学习模型具有很强的适应性,能满足文本的分类要求,有利于文本分类,实用性强,易于推广。
本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
上述虽然结合附图对本公开的具体实施方式进行了描述,但并非对本公开保护范围的限制,所属领域技术人员应该明白,在本公开的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本公开的保护范围以内。
Claims (10)
1.一种文本分类方法,其特征在于,包括:
对文本进行预处理,提取动词和名词作为文本特征;
采用布尔逻辑模型对提取的文本特征进行特征表示;
将特征表示输入至深度学习模型中进行特征学习;所述深度学习模型由两层附加动量及自适应学习率的降噪自动编码器构建而成;
利用深度学习模型的分类层输出文本分类结果。
2.如权利要求1所述的文本分类方法,其特征在于,每层附加动量及自适应学习率的降噪自动编码器由编码器和解码器组成,所述编码器用于对输入的特征表示进行降维处理并编码;所述解码器用于对编码结果进行映射重构;在训练深度学习模型的权值和偏置参数时,附加动量项使得权值的调整朝着误差曲面底部的平均方向变化,且每个权值和偏置参数对应一个自适应学习率。
3.如权利要求2所述的文本分类方法,其特征在于,自适应调学习率的调整策略为:下一次迭代的学习率是当前迭代的学习率与学习率变化系数和总体平均误差比值三者的乘积;其中,总体平均误差比值为前一次迭代的总体平均误差与当前迭代的总体平均误差的比值;学习率变化系数的倒数等于所有迭代次数的损失函数梯度平方和与预设常系数累加后的平方根。
4.如权利要求1所述的文本分类方法,其特征在于,将特征表示输入至深度学习模型中进行特征学习的过程为:
第一层附加动量及自适应学习率的降噪自动编码器将原始特征表示映射到一个预设高维空间;
第二层附加动量及自适应学习率的降噪自动编码器对第一层的输出进行压缩和进一步特征提取,且第一层训练结束后的输出作为第二层训练的输入。
5.如权利要求1所述的文本分类方法,其特征在于,深度学习模型的分类层为深度学习模型的最后一层,且为Softmax分类器。
6.一种文本分类系统,其特征在于,包括存储器和分类处理器,所述分类处理器包括:
预处理模块,其用于对文本进行预处理,提取动词和名词作为文本特征;
特征表示模块,其用于采用布尔逻辑模型对提取的文本特征进行特征表示;
特征学习模块,其用于将特征表示输入至深度学习模型中进行特征学习;所述深度学习模型由两层附加动量及自适应学习率的降噪自动编码器构建而成;
分类结果输出模块,其用于利用深度学习模型的分类层输出文本分类结果。
7.如权利要求6所述的文本分类系统,其特征在于,每层附加动量及自适应学习率的降噪自动编码器由编码器和解码器组成,所述编码器用于对输入的特征表示进行降维处理并编码;所述解码器用于对编码结果进行映射重构;在训练深度学习模型的权值和偏置参数时,附加动量项使得权值的调整朝着误差曲面底部的平均方向变化,且每个权值和偏置参数对应一个自适应学习率。
8.如权利要求7所述的文本分类系统,其特征在于,自适应调学习率的调整策略为:下一次迭代的学习率是当前迭代的学习率与学习率变化系数和总体平均误差比值三者的乘积;其中,总体平均误差比值为前一次迭代的总体平均误差与当前迭代的总体平均误差的比值;学习率变化系数的倒数等于所有迭代次数的损失函数梯度平方和与预设常系数累加后的平方根。
9.如权利要求6所述的文本分类系统,其特征在于,在所述特征学习模块中,将特征表示输入至深度学习模型中进行特征学习的过程为:
第一层附加动量及自适应学习率的降噪自动编码器将原始特征表示映射到一个预设高维空间;
第二层附加动量及自适应学习率的降噪自动编码器对第一层的输出进行压缩和进一步特征提取,且第一层训练结束后的输出作为第二层训练的输入。
10.如权利要求6所述的文本分类系统,其特征在于,在所述特征学习模块中,深度学习模型的分类层为深度学习模型的最后一层,且为Softmax分类器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910044602.XA CN109829054A (zh) | 2019-01-17 | 2019-01-17 | 一种文本分类方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910044602.XA CN109829054A (zh) | 2019-01-17 | 2019-01-17 | 一种文本分类方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109829054A true CN109829054A (zh) | 2019-05-31 |
Family
ID=66860881
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910044602.XA Pending CN109829054A (zh) | 2019-01-17 | 2019-01-17 | 一种文本分类方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109829054A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110290466A (zh) * | 2019-06-14 | 2019-09-27 | 中国移动通信集团黑龙江有限公司 | 楼层判别方法、装置、设备及计算机存储介质 |
CN110929875A (zh) * | 2019-10-12 | 2020-03-27 | 平安国际智慧城市科技股份有限公司 | 基于机器学习的智能语言学习方法、系统、装置及介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106599933A (zh) * | 2016-12-26 | 2017-04-26 | 哈尔滨工业大学 | 一种基于联合深度学习模型的文本情感分类方法 |
CN107609113A (zh) * | 2017-09-13 | 2018-01-19 | 北京科技大学 | 一种文本自动分类方法 |
CN107665248A (zh) * | 2017-09-22 | 2018-02-06 | 齐鲁工业大学 | 基于深度学习混合模型的文本分类方法和装置 |
CN107729393A (zh) * | 2017-09-20 | 2018-02-23 | 齐鲁工业大学 | 基于混合自动编码器深度学习的文本分类方法及系统 |
US20180165554A1 (en) * | 2016-12-09 | 2018-06-14 | The Research Foundation For The State University Of New York | Semisupervised autoencoder for sentiment analysis |
CN108537335A (zh) * | 2017-03-06 | 2018-09-14 | 南京理工大学 | 一种自适应学习率的bp神经网络算法 |
WO2018182501A1 (en) * | 2017-03-30 | 2018-10-04 | Agency For Science, Technology And Research | Method and system of intelligent semtiment and emotion sensing with adaptive learning |
-
2019
- 2019-01-17 CN CN201910044602.XA patent/CN109829054A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180165554A1 (en) * | 2016-12-09 | 2018-06-14 | The Research Foundation For The State University Of New York | Semisupervised autoencoder for sentiment analysis |
CN106599933A (zh) * | 2016-12-26 | 2017-04-26 | 哈尔滨工业大学 | 一种基于联合深度学习模型的文本情感分类方法 |
CN108537335A (zh) * | 2017-03-06 | 2018-09-14 | 南京理工大学 | 一种自适应学习率的bp神经网络算法 |
WO2018182501A1 (en) * | 2017-03-30 | 2018-10-04 | Agency For Science, Technology And Research | Method and system of intelligent semtiment and emotion sensing with adaptive learning |
CN107609113A (zh) * | 2017-09-13 | 2018-01-19 | 北京科技大学 | 一种文本自动分类方法 |
CN107729393A (zh) * | 2017-09-20 | 2018-02-23 | 齐鲁工业大学 | 基于混合自动编码器深度学习的文本分类方法及系统 |
CN107665248A (zh) * | 2017-09-22 | 2018-02-06 | 齐鲁工业大学 | 基于深度学习混合模型的文本分类方法和装置 |
Non-Patent Citations (1)
Title |
---|
ZHENYU YANG等: "Research On Text Classification of Denoising Autoencoder Based on Additional Momentum and Adaptive Learning Rate", 《2018 11TH INTERNATIONAL SYMPOSIUM ON COMPUTATIONAL INTELLIGENCE AND DESIGN(ISCID)》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110290466A (zh) * | 2019-06-14 | 2019-09-27 | 中国移动通信集团黑龙江有限公司 | 楼层判别方法、装置、设备及计算机存储介质 |
CN110929875A (zh) * | 2019-10-12 | 2020-03-27 | 平安国际智慧城市科技股份有限公司 | 基于机器学习的智能语言学习方法、系统、装置及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110348016B (zh) | 基于句子关联注意力机制的文本摘要生成方法 | |
CN109344236B (zh) | 一种基于多种特征的问题相似度计算方法 | |
CN113254599B (zh) | 一种基于半监督学习的多标签微博文本分类方法 | |
CN107133213B (zh) | 一种基于算法的文本摘要自动提取方法与系统 | |
CN109840287A (zh) | 一种基于神经网络的跨模态信息检索方法和装置 | |
CN111191002B (zh) | 一种基于分层嵌入的神经代码搜索方法及装置 | |
CN107229610A (zh) | 一种情感数据的分析方法及装置 | |
CN111061861B (zh) | 一种基于XLNet的文本摘要自动生成方法 | |
CN106202294B (zh) | 基于关键词和主题模型融合的相关新闻计算方法及装置 | |
CN107451278A (zh) | 基于多隐层极限学习机的中文文本分类方法 | |
CN107608953B (zh) | 一种基于不定长上下文的词向量生成方法 | |
CN116701431A (zh) | 一种基于大语言模型的数据检索方法及系统 | |
CN111985228B (zh) | 文本关键词提取方法、装置、计算机设备和存储介质 | |
CN107665248A (zh) | 基于深度学习混合模型的文本分类方法和装置 | |
Zhao et al. | Synchronously improving multi-user English translation ability by using AI | |
CN108763211A (zh) | 融合蕴含知识的自动文摘方法及系统 | |
CN110097096A (zh) | 一种基于tf-idf矩阵和胶囊网络的文本分类方法 | |
CN108920446A (zh) | 一种工程文本的处理方法 | |
CN109241298A (zh) | 语义数据存储调度方法 | |
CN111061873B (zh) | 一种基于Attention机制的多通道的文本分类方法 | |
CN109829054A (zh) | 一种文本分类方法及系统 | |
CN112667797B (zh) | 自适应迁移学习的问答匹配方法、系统及存储介质 | |
CN110929532A (zh) | 数据处理方法、装置、设备及存储介质 | |
Chen et al. | Gaussian mixture embeddings for multiple word prototypes | |
CN110674293B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190531 |
|
RJ01 | Rejection of invention patent application after publication |