1.本发明涉及一种基于深度学习网络的短文本分类方法,属于自然语言处理技术领域。
背景技术:
2.随着网络的快速发展及其在生活中的广泛应用导致了短文本数据的激增。将短文本根据应用场景进行分类,在很多应用程序中具有重要意义。例如邮件系统中的垃圾邮件过滤、外卖系统中的情感分析、社交软件的个性化推荐等等。因此,在人工智能领域下的自然语言处理领域,短文本分类已成为学术界和工业界的一个研究热点。
3.与普通文本相比,短文本通常由几个或十几个词语组成,且数据规模庞大,因此短文本具有稀疏性、大规模性、即时性,导致传统的方法难以处理短文本分类。其主要原因在于短文本的字数有限,难以提取足够的特征。因此需要设计一种良好的短文本分类方法,来解决上述问题。
4.现有技术中,针对短文本分类问题,主要方法有基于机器学习与基于深度学习两类。基于传统机器学习的方法主要依靠词频、词语共现、共享文档等来定义文档相似度,但短文本由于数据稀疏难以达到预期准确率。基于深度学习的方法,能够从文本中提取较为丰富的特征。但是现有方法忽略了类别本身的特征,仅从短文本本身提取特征,导致文本特征不够丰富。
技术实现要素:
5.针对上述问题,本发明提出了一种基于深度学习网络的短文本分类方法,在长短期神经网络和卷积神经网络的的基础上,引入融合标签向量的注意力机制,并设计了新的损失函数来适应双模型,能够从短文本中提取更为丰富的特征。
6.为了实现上述发明目的,本发明提出一种基于深度学习网络的短文本分类方法,包括以下步骤:
7.s1:将短文本数据集进行数据清洗,得到数据清洗后的短文本数据集。原始数据集的格式为s(s,t)|t∈[1,k],其中s代表短文本,t为对应的类别标签(数据集s中用阿拉伯数字代替文本表示类别标签,数字标签与文本标签一一对应,文本标签为短文本的类别文字表示),k与文本类别总数相等;
[0008]
s2:将短文本数据集进行整理和切词,得到短文本词汇表、关键词词汇表、标签词汇表;
[0009]
s3:将短文本数据集输入cbow神经网络训练得到文本词向量,再用文本标签替换短文本中的关键词,训练得到标签词向量;
[0010]
s4:将短文本数据集输入卷积神经网络和长短期记忆神经网络进行特征提取,将提取的特征与标签词向量求和得到查询向量,对查询向量进行注意力机制得分计算,得到卷积网络与长短期记忆网络输出的特征向量;
[0011]
s5:将新的特征向量输入全连接层进行输出后,输入最终的损失函数层进行预测分类。本发明解决了短文本特征不足而无法准确分类的问题,提高了短文本分类的准确性。
[0012]
进一步地,上述s1中的数据清洗具体包括两个步骤:
[0013]
s11:将短文本数据集中的无效数据进行剔除,包括短文本与其类别标签不相符,短文本标签缺失,无效的短文本;
[0014]
s12:将短文本数据集中的重复数据及相似数据进行剔除,得到短文本数据集s’。
[0015]
进一步地,上述s2中短文本,构建短文本词汇表具体包括以下步骤:
[0016]
s21:构建短文本词汇表:将数据清洗后的短文本数据集s’进行整理,利用结巴分词将其进行单词切分,加入短文本词汇表wt;
[0017]
s22:构建标签词汇表:将短文本的所有问句类型文本标签加入标签词汇表wl;
[0018]
s23:构建关键词词汇表:将能够代表问句类型的一些关键词,主要是一些名词,加入关键词词汇表wk;
[0019]
进一步地,上述s3词向量表的构建具体包括以下步骤:
[0020]
s31:将数据清洗后的短文本数据集s’输入cbow神经网络得到短文本词汇表wt的词向量表vt;
[0021]
s32:将数据清洗后的短文本数据集s’按百分之x的比例随机抽取,输入cbow神经网络,并将输入短文本中的关键词用相应的分类标签替换,得到标签词汇表wl的词向量表vl;
[0022]
进一步地,上述s4短文本特征的提取具体包括以下步骤:
[0023]
s41:从短文本数据集s’中按顺序逐条取出短文本数据s进行分词,得到ρ'={w1,...,wn},其中wi为切分后的单词,n为一条短文本s的单词个数;
[0024]
s42:将ρ'中的单词wi作为键,在短文本词汇表中进行查询,得到ρ'的词向量表示ρ”={w1,...,wn};
[0025]
s43:将ρ”同时输入长短期记忆神经网络和卷积神经网络进行特征抽取,分别得到中间特征向量:
[0026]fleft
,f
right
=σ(w
xo
x
t
+w
hoht-1
+w
coct-1
+bo);
[0027]cleft
,c
mid
,c
right
=max_pull(σ(x*w(i,j)));
[0028]
其中,f
left
,f
right
分别是长短期记忆神经网络正向和反向提取的中间特征向量,σ为激活函数,w
xo
、w
ho
、w
co
分别为当前隐藏层、输出门、输入门的权重矩阵,x
t
、h
t-1
、c
t-1
分别为当前隐藏层、输出门、输入门矩阵,bo是偏置参数权重矩阵;
[0029]
其中c
left
,c
mid
,c
right
分别为卷积神经网络提取的三个特征,max_pull为池化函数,σ为激活函数,x为权重矩阵,w(i,j)为第i行j列窗口的得分矩阵;
[0030]
s44:然后,将步骤s43得到的中间特征向量分别与注意力查询向量q进行向量乘计算,得到步骤s43每一个中间特征向量的得分αi:
[0031]
q=avge(x)|weight(x);
[0032]
αi=softmax(s(xi,q));
[0033]
s(xi,q)=v
t
tanh(wxi+uq);
[0034]
其中q为注意力机制的查询向量,x为s3步骤s32得到的向量,arge为取平均值计算,weight为带权重计算;
[0035]
其中αi为第i个向量与与q计算的得分,s(xi,q)为矩阵计算,softmax为激活函数;
[0036]
其中v、w、u为权重矩阵,tanh为激活函数;
[0037]
s45:最后,将步骤s44得到的得分αi与步骤s43的特征向量进行矩阵乘法计算并求平均值,得到最终的长短期记忆网络与卷积网络输出的特征向量r,c:
[0038]
r=(α1f
left
+α2f
right
)/2;
[0039]
c=(α1c
left
+α2c
mid
+α3c
right
)/3;
[0040]
可选的,所述s5的具体为:网络参数修正:
[0041]
s51:将步骤s45得到的特征向量r、c输入全连接层进行计算,输出得分最高的为分类结果,然后进行损失函数loss的计算,修正模型参数:
[0042][0043]
其中st为特征向量r输出的分类结果,st’为特征向量c输出的分类结果。
[0044]
本发明具有以下有益效果:
[0045]
相比于传统的短文本分类对稀疏的短文本有着更佳的适应性,并且基于深度学习的短文本分类方法能够提取更丰富的隐藏特征,提高短文本分类的准确率。
附图说明
[0046]
图1为本发明采用的技术方案流程图。
具体实施方式
[0047]
为使本发明的技术方案更加清晰明确,下面结合附图及实施例对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0048]
如图1所示,本发明公开了一种基于深度学习网络的短文本分类方法,其具体步骤如下:
[0049]
s1:将短文本数据集进行数据清洗,得到数据清洗后的短文本数据集;
[0050]
作为本发明的优选实施例,本发明中的数据来源于开源数据集thucnews,总共十个种类,每个分类选取了一万条数据。
[0051]
s11:将短文本数据集中的无效数据进行剔除,包括短文本与其类别标签不相符,短文本标签缺失,无效的短文本;
[0052]
s12:将短文本数据集中的重复数据及相似数据进行剔除。
[0053]
s2:将短文本数据集进行处理,得到短文本词汇表、关键词词汇表、标签词汇表;
[0054]
作为本发明的优选实施例,得到短文本词汇表包括以下步骤:
[0055]
s21:构建短文本词汇表:将数据清洗后的短文本数据集进行整理,利用结巴分词将其进行单词切分,加入短文本词汇表wt;
[0056]
s22:构建标签词汇表:将短文本的所有问句类型标签加标签入词汇表wl;
[0057]
s23:构建关键词词汇表:将能够代表问句类型的一些关键词,主要是一些名词,加入关键词词汇表wk;
[0058]
s3:利用cbow神经网络训练得到文本词向量,再将标签替换短文本中的关键词,训练得到标签词向量;
[0059]
作为本发明的优选实施例,得到词向量表包括以下步骤:
[0060]
s31:将数据清洗后的短文本数据集输入cbow神经网络得到词汇表wt的词向量表vt;
[0061]
s32:将数据清洗后的短文本数据集s’按百分之x的比例随机抽取得到子数据集s”,将s”中短文本s的关键词用标签词汇表wl的文本标签替换,输入cbow神经网络,训练得到标签词汇表wl的词向量表vl;
[0062]
s4:将短文本输入卷积神经网络和长短期记忆神经网络进行特征提取,将提取的特征与标签词向量求和构成的查询向量进行注意力机制得分计算;
[0063]
作为本发明的优选实施例,提取中间特征包括以下步骤:
[0064]
s41:从短文本数据集s’中按顺序逐条取出短文本数据s进行分词,得到ρ'={w1,...,wn},其中wi为切分后的单词,n为一条短文本s的单词个数;
[0065]
s42:将ρ'中的单词wi作为键,在短文本词汇表中进行查询,得到ρ'的词向量表示ρ”={w1,...,wn};
[0066]
s43:将ρ”同时输入长短期记忆神经网络和卷积神经网络进行特征抽取,分别得到中间特征向量:
[0067]fleft
,f
right
=σ(w
xo
x
t
+w
hoht-1
+w
coct-1
+bo);
[0068]cleft
,c
mid
,c
right
=max_pull(σ(x*w(i,j)));
[0069]
其中,f
left
,f
right
分别是长短期记忆神经网络正向和反向提取的中间特征向量,σ为激活函数,w
xo
、w
ho
、w
co
分别为当前隐藏层、输出门、输入门的权重矩阵,x
t
、h
t-1
、c
t-1
分别为当前隐藏层、输出门、输入门矩阵,bo是偏置参数权重矩阵;
[0070]
其中c
left
,c
mid
,c
right
分别为卷积神经网络提取的三个特征,max_pull为池化函数,σ为激活函数,x为权重矩阵,w(i,j)为第i行j列窗口的得分矩阵;
[0071]
s44:将步骤s43得到的中间特征向量分别与注意力查询向量q进行向量乘计算,得到步骤s43每一个中间特征向量的得分αi:
[0072]
q=avge(x)|weight(x);
[0073]
αi=softmax(s(xi,q));
[0074]
s(xi,q)=v
t
tanh(wxi+uq);
[0075]
其中q为注意力机制的查询向量,x为s3步骤s32得到的向量,arge为取平均值计算,weight为带权重计算;
[0076]
其中αi为第i个向量与与q计算的得分,s(xi,q)为矩阵计算,softmax为激活函数;
[0077]
其中v、w、u为权重矩阵,tanh为激活函数;
[0078]
s45:将步骤s44得到的得分αi与步骤s43的中间特征向量进行矩阵乘法计算并求平均值,得到最终的长短期记忆网络与卷积网络输出的特征向量r,c:
[0079]
r=(α1f
left
+α2f
right
)/2;
[0080]
c=(α1c
left
+α2c
mid
+α3c
right
)/3;
[0081]
s5:将新的特征向量输入全连接层进行输出后,输入最终的损失函数层进行预测分类。本发明解决了短文本特征不足而无法准确分类的问题,提高了短文本分类的准确性。
[0082]
作为本发明的优选实施例,修正模型参数包括以下步骤:
[0083]
s51:将步骤s45得到的特征向量r、c输入全连接层进行计算,输出得分最高的为分类结果,然后进行损失函数loss的计算,修正模型参数:
[0084][0085]
其中st为特征向量r输出的分类结果,st’为特征向量c输出的分类结果。
[0086]
在实施例中,本发明所提出的基于深度学习网络的短文本分类方法,相比于传统的短文本分类对稀疏的短文本有着更佳的适应性,并且基于深度学习的短文本分类方法能够提取更丰富的隐藏特征,提高短文本分类的准确率。
[0087]
以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例应用于其它领域,但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。
技术特征:
1.一种基于深度学习网络的短文本分类方法,其特征在于,包括以下步骤:s1:将短文本数据集进行数据清洗,得到处理后的短文本数据集;原始数据集的格式为s(s,t)|t∈[1,k],其中s代表短文本,t为对应的类别标签,k与文本类别总数相等;s2:将短文本数据集进行整理和切词,得到短文本词汇表、关键词词汇表、标签词汇表;s3:将短文本数据集输入cbow神经网络训练得到文本词向量,再用文本标签替换短文本中的关键词,训练得到标签词向量;s4:将短文本数据集输入卷积神经网络和长短期记忆神经网络进行特征提取,将提取的特征与标签词向量求和得到查询向量,对查询向量进行注意力机制得分计算,得到卷积网络与长短期记忆网络输出的特征向量;s5:将步骤s4得到的特征向量输入全连接层进行输出后,输入最终的损失函数层进行预测分类。2.根据权利要求1所述的一种基于深度学习网络的短文本分类方法,其特征在于,步骤s1中的数据清洗的具体步骤包括:s11:将短文本数据集中的无效数据进行剔除,包括短文本与其类别标签不相符,短文本标签缺失,无效的短文本;s12:将短文本数据集中的重复数据及相似数据进行剔除,得到短文本数据集s’。3.根据权利要求1所述的一种基于深度学习网络的短文本分类方法,其特征在于,步骤s2的具体步骤如下:s21:构建短文本词汇表:将数据清洗后的短文本数据集s’进行整理,利用结巴分词进行单词切分,加入短文本词汇表wt;s22:构建标签词汇表:手动将短文本的所有问句类型文本标签加入标签词汇表wl;s23:构建关键词词汇表:将能够代表问句类型的一些关键词,加入关键词词汇表wk。4.根据权利要求1所述的一种基于深度学习网络的短文本分类方法,其特征在于,步骤s3的具体步骤如下:s31:将数据清洗后的短文本数据集s’输入cbow神经网络得到短文本词汇表wt的词向量表vt;s32:将数据清洗后的短文本数据集s’按百分之x的比例随机抽取得到子数据集s”,将s”中短文本s的关键词用标签词汇表wl的文本标签替换,输入cbow神经网络,训练得到标签词汇表wl的词向量表vl。5.根据权利要求1所述的一种基于深度学习网络的短文本分类方法,其特征在于,步骤s4的具体步骤如下:s41:从短文本数据集s’中按顺序逐条取出短文本数据s进行分词,得到ρ'={w1,...,w
n
},其中w
i
为切分后的单词,n为一条短文本s的单词个数;s42:将ρ'中的单词w
i
作为键,在短文本词汇表中进行查询,得到ρ'的词向量表示ρ”={w1,...,w
n
};s43:将ρ”同时输入长短期记忆神经网络和卷积神经网络进行特征抽取,分别得到中间特征向量:f
left
,f
right
=σ(w
xo
x
t
+w
ho
h
t-1
+w
co
c
t-1
+b
o
);c
left
,c
mid
,c
right
=max_pull(σ(x*w(i,j)));
其中,f
left
,f
right
分别是长短期记忆神经网络正向和反向提取的特征向量,σ为激活函数,w
xo
、w
ho
、w
co
分别为当前隐藏层、输出门、输入门的权重矩阵,x
t
、h
t-1
、c
t-1
分别为当前隐藏层、输出门、输入门矩阵,b
o
是偏置参数权重矩阵;其中c
left
,c
mid
,c
right
分别为卷积神经网络提取的三个特征,max_pull为池化函数,σ为激活函数,x为权重矩阵,w(i,j)为第i行j列窗口的得分矩阵;s44:将步骤s43得到的长短期记忆神经网络与卷积神经网络输出的特征向量分别与注意力查询向量q进行向量乘计算,得到步骤s 43每一个中间特征向量的得分α
i
:q=avge(x)|weight(x);α
i
=softmax(s(x
i
,q));s(x
i
,q)=v
t
tanh(wx
i
+uq);其中q为注意力机制的查询向量,x为vl步骤v32得到的向量,arge为取平均值计算,weight为带权重计算;其中α
i
为第i个向量与与q计算的得分,s(x
i
,q)为矩阵计算,softmax为激活函数;其中v、w、u为权重矩阵,tanh为激活函数;s45:将步骤s44得到的得分α
i
与步骤s43的中间特征向量进行矩阵乘法计算并求平均值,得到最终的长短期记忆网络与卷积网络输出的特征向量r,c:r=(α1f
left
+α2f
right
)/2;c=(α1c
left
+α2c
mid
+α3c
right
)/3。6.根据权利要求1所述的一种基于深度学习网络的短文本分类方法,其特征在于,步骤s5的具体步骤如下:s51、将步骤s45得到的特征向量输入全连接层进行计算,输出得分最高的为分类结果,然后进行损失函数loss的计算,修正模型参数:其中st为特征向量r输出的分类结果,st’为特征向量c输出的分类结果。
技术总结
本发明涉及基于深度学习网络的短文本分类方法,属于自然语言处理技术领域。包括以下步骤:将短文本数据集进行数据清洗,得到质量更高的短文本数据集;将短文本数据集进行处理,得到短文本词汇表、关键词词汇表、标签词汇表;利用CBOW神经网络训练得到文本词向量,再将标签替换短文本中的关键词,训练得到标签词向量;将短文本输入卷积神经网络和长短期记忆神经网络进行特征提取,将提取的特征与标签词向量求和构成的查询向量进行注意力机制得分计算;将新的特征向量输入全连接层进行输出后,输入最终的损失函数层进行预测分类。本发明解决了短文本特征不足而无法准确分类的问题,提高了短文本分类的准确性。提高了短文本分类的准确性。提高了短文本分类的准确性。
技术研发人员:吴健 朱小龙 周从华
受保护的技术使用者:江苏大学
技术研发日:2021.12.30
技术公布日:2022/4/15
转载请注明原文地址:https://win.8miu.com/read-1144770.html