CN108829818B - 一种文本分类方法 - Google Patents

一种文本分类方法 Download PDF

Info

Publication number
CN108829818B
CN108829818B CN201810599385.6A CN201810599385A CN108829818B CN 108829818 B CN108829818 B CN 108829818B CN 201810599385 A CN201810599385 A CN 201810599385A CN 108829818 B CN108829818 B CN 108829818B
Authority
CN
China
Prior art keywords
words
text information
word
vector
sentence
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
Application number
CN201810599385.6A
Other languages
English (en)
Other versions
CN108829818A (zh
Inventor
赵莉
姜松浩
张程
赵晓芳
段东圣
杜翠兰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN201810599385.6A priority Critical patent/CN108829818B/zh
Publication of CN108829818A publication Critical patent/CN108829818A/zh
Application granted granted Critical
Publication of CN108829818B publication Critical patent/CN108829818B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Machine Translation (AREA)

Abstract

本发明提供了一种构建文本分类模型的方法。该方法包括以下步骤:根据文本信息的字、词语和句子的结构特征构建训练样本集,其中,所述训练样本集中的每一条样本数据对应一条文本信息关于词语的特征矩阵A、关于字的特征矩阵B和该条文本信息对应的类别向量O,O的维度与类别数量相同;以所述训练样本集中关于词语的特征矩阵A和关于字的特征矩阵B为输入,以对应的类别向量O为输出,训练深度学习模型,以获得文本分类模型。根据本发明构建的分类模型进行分类,能够提高文本分类的准确率,尤其适用于短文本分类。

Description

一种文本分类方法
技术领域
本发明涉及深度学习技术领域,尤其涉及一种文本分类方法。
背景技术
文本分类是指按照预先定义的主题类别,为文档集合中的每个文档确定一个类别。文本分类技术在日常生活中具有广泛的应用,例如,对垃圾短信和邮件的过滤,对新闻的分组查阅等等。
随着微博、微信等社交方式的快速发展,短文本成为一种重要的信息形式,短文本通常具有的特点包括:字数少,短文本的长度通常都比较短,一般在200字以内,因此,所包含的有效信息也非常少;更新快,在互联网上出现的短文本形式的信息,大部分都是实时更新的,刷新速度非常快,例如,聊天信息、微博信息、评论信息等,并且文本数量非常庞大;不规范,短文本中可能存在不规范用语,例如“94”代表“就是”,“88”代表“再见”,“童鞋”代表“同学”,又如“伤不起”、“有木有”、“坑爹”等。
在现有技术中的文本分类方法中,文本分类准确率不高,尤其对短文本分类的效果不理想,目前,常用的短文本分类方法有:
第一、基于关键词匹配的文本分类方法,这是一种比较传统的方法,需要人工配置某些关键词,然后与每个需要分类的文本进行关键词匹配,匹配到不同的关键词之后再根据关键词的性质将文本划分为不同的类别。这种方法需要人工构造关键词的字典,而且对于新出现的词需要不断地更新字典,不能保证分类结果的准确性,人工成本也很高,对于快速更新的大数据量的短文本,这种方式存在很明显的速度慢的问题。
第二、基于传统机器学习的文本分类方法,该方法将传统的机器学习,例如,分类模型的朴素贝叶斯、支持向量机(SVM)、K近邻、逻辑回归等方法应用到文本分类中。这种方法操作简单,计算复杂度低,但有很大的局限性,例如,朴素贝叶斯解决文本分类问题时必须满足位置独立性和条件独立性的假设,但是这两种假设在实际中并不成立,而且,大多数传统的机器学习方法都是针对小规模、单标号且平衡的问题设计的,对于大规模的短文本数据,高维度的特征表示有很大的局限性。此外,基于传统机器学习的文本分类方法在数据预处理上需要花费大量的时间,对文本特征的提取也有很严格的要求,而特征提取的恰当与否对于分类结果会有很大的影响。
第三、基于深度学习的文本分类方法,该方法将深度学习,例如全连接神经网络、卷积神经网络(CNN)、循环神经网络(RNN)等应用到文本分类中,使用神经网络处理文本分类时,不需要将大量时间放到数据的预处理上,将数据输入到神经网络之后,就可以自动抽取到有价值的特征,然后再进行后续的分析处理。尽管这种方法在一定程度上弥补了很多传统机器学习的缺点,但是对于全连接神经网络和卷积神经网络而言,神经网络的数据是文本的高维向量表示,并没有考虑到语序问题,而一段文本文档中的词语的语序往往蕴含了大量的有价值信息,其表述思想与上下文紧密相关。现有的这种基于深度学习的分类方法会导致丢失大量的有价值的信息,进而使分类结果不准确。
因此,需要对现有技术进行改进,以提供分类准确度高的文本分类方法,并且使其更适用于短文本分类。
发明内容
本发明的目的在于克服上述现有技术的缺陷,提供一种文本分类方法,能够有效的避免文本信息的丢失,实现高容错的效果,该方法尤其适用于短文本的分类场景。
根据本发明的第一方面,提供了一种构建文本分类模型的方法。该方法包括以下步骤:
步骤1:根据文本信息的字、词语和句子的结构特征构建训练样本集,其中,所述训练样本集中的每一条样本数据对应一条文本信息关于词语的特征矩阵A、关于字的特征矩阵B和该条文本信息对应的类别向量O,O的维度与类别数量相同;
步骤2:以所述训练样本集中关于词语的特征矩阵A和关于字的特征矩阵B为输入,以对应的类别向量O为输出,训练深度学习模型,以获得文本分类模型。
在一个实施例中,在步骤1中,根据以下子步骤构造一条文本信息的关于词语的特征矩阵A和关于字的特征矩阵B:
步骤21:将该条文本信息进行分词处理并将分词结果按顺序排列训练词语向量转换模型,获得该条文本信息关于词语的高维特征表示;
步骤22:将该条文本信息进行分字处理并将分字结果按顺序排列训练字向量转换模型,获得该条文本信息关于字的高维特征表示;
步骤23:根据获得的该条文本信息关于词语的高维特征表示和该条文本信息关于字的高维特征表示以及该条文本信息的字、词语和句子的结构特征构造关于词语的特征矩阵A和关于字的特征矩阵B。
在一个实施例中,所述词语向量转换模型为Word2Vec词嵌入模型,所述字向量转换模型为Word2Vec字嵌入模型。
在一个实施例中,所述深度学习模型包括第一层双向循环神经网络、第二层双向循环神经网络和分类器,所述第一层双向循环神经网络用作词序列编码器和字序列编码器,以获得词的向量表示和字的向量表示,进而获得文本信息的句子向量si,所述第二层双向循环神经网络用作句子序列编码器,以获得文句子向量si的高级特征向量,进而获得文本信息的高级特征向量表示v,所述分类器用于对文本信息的高级特征向量表示v进行分类,其中i为文本信息中句子的索引编号。
在一个实施例中,在步骤2中通过以下子步骤获得一条文本信息的高级特征向量表示v:
步骤51:将该文本信息的关于词语的特征矩阵A输入到所述第一层双向循环神经网络进行训练,获得基于词向量的句子表示s1i
步骤52:将该条文本信息的关于字的特征矩阵B输入到所述第一层双向循环神经网络进行训练,获得基于字向量的句子表示s2i
步骤53:将s1i和s2i进行拼接,构成句子向量si
步骤54:将句子向量si输入到所述第二层双向循环网络进行训练,获得该条文本信息的高级特征向量表示v。
在一个实施例中,对于基于词向量的句子表示s1i包含利用attention机制获得的句子中各个词语的重要性权重,对于基于字向量的句子表示s2i包含利用attention机制获得的句子中各个字的重要性权重。
在一个实施例中,在步骤54中,所述该条文本信息的高级特征向量表示v包含利用attention机制获得的该条文本信息中各个句子重要性的权重。
在一个实施例中,所述分类器为SoftMax模型、SVM或朴素贝叶斯。
在一个实施例中,所述第一层双向循环神经网络和所述第二层双向循环神经网络为双向GRU或双向LSTM。
根据本发明的第二方面,提供了一种文本的分类方法。该方法包括:
步骤101:获取文本信息的关于词的特征向量表示和关于字的特征向量表示;
步骤102:将文本信息的关于词的特征向量表示和关于字的特征向量表示输入到根据权利要求1至9中任一项所获得的文本分类模型,以获得该文本信息的类别标注。
与现有技术相比,本发明的优点在于:
1)、对文本信息进行分词处理并训练出词的高维特征向量,以及对文本信息进行分字处理并训练出字的高维特征向量,通过将词的高维特征和字的高维特征都输入到神经网络中进行处理,能够尽可能的保留原始文本信息中有价值的信息,弥补了分词错误导致的原始文本信息中有价值信息的丢失问题,从而提高了分类准确率;
2)、对于输入的字向量和词向量,深度学习模型采用了双向循环神经网络,从正序和反序两个方向对输入信息进行特征提取,能够保存文本的上下文语序,避免丢失原始文本的语序信息;
3)、在深度学习模型训练过程中,采用双层Attention机制,对于输入的文本信息,首先对每个词和字采用一层的Attention机制,然后再对词和字构成的句子采用一层的Attention机制,第一层Attention机制能够抓取到更有价值的词语或者字,第二层Attention机制能抓取到更有价值的句子,从而能够有效的获得有效信息,提高分类准确率;
4)、针对短文本的特点,构建的文本分类模型除了对词语进行处理之外,还包括对字的处理,即便有不能正确分词的词语,它们也会以字的形式输入到神经网络中,从而有效避免了文本信息的丢失,达到高容错的效果。
附图说明
以下附图仅对本发明作示意性的说明和解释,并不用于限定本发明的范围,其中:
图1示出了根据本发明一个实施例的文本分类方法的流程图;
图2示出了根据本发明一个实施例的深度学习模型的框架示意图;
图3示出了循环神经网络GRU的结构示意图;
图4示出了本发明的文本分类方法的分类准确率的示意图。
具体实施方式
为了使本发明的目的、技术方案、设计方法及优点更加清楚明了,以下结合附图通过具体实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
根据本发明的一个实施例,提供了一种文本信息的分类方法,简言之,该方法包括将文本信息进行分词处理和分字处理,并将分词结果和分字结果进行高维特征表示,以构建训练样本集;利用训练样本集训练深度学习模型,获得文本分类模型;应用文本分类模型进行文本分类。具体地,参见图1所示,该方法包括以下步骤:
步骤S110,将文本信息进行分词处理和分字处理并将分词结果和分字结果进行高维特征表示,以构建训练样本集。
在此实施例中,将主要以短文本为例进行介绍。
在此步骤中,在将大量短文本信息作为原始数据集进行预处理和人工打标签,然后提取每个短文本信息用于输入深度学习模型的高维特征向量表示,并对每个短文本信息增加对应的文本类别标签,以构建训练样本集。
具体地,包括以下子步骤:
步骤S111,对短文本信息进行预处理
例如,将短文本信息的原始描述信息进行数据清洗,包括去除文本信息中的标点符号、停用词(例如“个”、“的”等停用词和特殊符号等无意义字词),对于那些对文本分类没有作用的人名、地名等进行符号替换。
将预处理后的全部短文本信息进行人工打标签,根据短文本信息的应用场景,可分为多个类别,例如,分为4个类别(如娱乐报道、天气情况、实时新闻、广告等),分别为用0,1,2,3表示所属类别。
步骤S112,将预处理后的短文本信息进行分词处理并将分词结果映射到高维空间。
将预处理后的短文本信息进行分词处理,然后将数据集中所有的分词结果按顺序排列作为输入数据,训练例如Word2Vec词嵌入模型,该模型训练完成后,能够将短文本数据集中所有的词语映射到高维空间,使用Word2Vec模型训练时,输入为词语,输出为该词语的高维特征向量表示,例如,300维向量。
步骤S113,将预处理后的短文本信息进行分字处理并将分字结果映射到高维空间。
将预处理后的短文本信息进行分字处理,然后将数据集中所有的分字结果按顺序排列作为输入数据,训练例如Word2Vec字嵌入模型,该模型训练完成后,能够将短文本数据集中所有的字映射到高维空间,使用Word2Vec模型训练时,输入为字,输出为该字的高维特征向量表示,例如32维向量。
步骤S114,根据短文本信息的字、词和句子的结构构造短文本信息的特征表示矩阵。
将获得的短文本信息的词语的高维特征表示和字的高维特征表示(例如,词语的300维表示和字的32维表示),结合原始短文本信息的字、词和句子的结构,构造整个短文本信息的特征表示矩阵。例如,特征表示矩阵的表示为:
A=[a1,a2,a3,a4]
ai=[w1,w2,w3,w4]
wi=embedding(wordi)
B=[b1,b2,b3,b4]
bi=[c1,c2,c3,c4,c6,c6,c7,c8]
ci=embedding(chari)
其中,A表示一个短文本信息,假设由4个句子构成,每个ai表示一个句子,假设每个句子是由4个词语构成,每个wi表示一个词语(wordi)的特征向量,wi根据训练好的词语的Word2Vec获得(表示为wi=embedding(wordi)),整个短文本信息分词之后的最终表示A是一个三维的特征矩阵。同样的,B表示一个文本信息,假设由4个句子构成,每个bi表示一个句子,假设每个句子是由8个字构成,每个ci表示一个字(chari)的特征向量,ci根据训练好的字的Word2Vec获得,整个文本信息分字之后的最终表示B也是一个3维的特征矩阵,A能够反映文本信息所包含的句子和每个句子所包含的词语的特征,B能够反映文本信息所包含的句子和每个句子所包含的字的特征。在本文中,将A称为关于词语(或词)的特征矩阵,将B称为关于字的特征矩阵。
步骤115,生成短文本信息对应的类别向量。
对于原始数据集中的每一个短文本信息,生成其对应的类别向量O,该向量的维度是类别的总数,例如,将短文本信息分为4个类别时,则所有的输出类别向量均为4维,其中,短文本信息的真实类别对应的维度取值为1,其他维度取值为0。
步骤S116,根据短文本信息的关于词语的特征矩阵和关于字的特征矩阵以及对应的类别向量构建训练样本集。
通过上述步骤,对于原始数据集中的每一个短文本信息,都可以得到一个关于词语的特征矩阵A和一个关于字的特征矩阵B,以及对应的类别向量O,据此可以构建对应于原始数据集的训练样本集。
步骤S120,利用训练样本集训练深度学习模型,获得文本分类模型。
在此步骤中,利用训练样本集中关于词语的特征矩阵A和关于字的特征矩阵B作为深度学习模型的输入,以类别向量O作为深度学习模型的输出,对深度学习模型进行训练,以获得用于对新文本信息进行分类的模型,即文本分类模型。
在一个实施例中,采用图2所示的深度学习模型框架进行训练,简言之,该框架整体上包括第一层循环神经网络、第二层循环神经网络和分类器,其中,第一层循环神经网络分为两个部分,上半部分作为词序列编码器,下半部分作为字序列编码器;第二层循环神经网络作为句子的序列编码器,用于获得短文本信息的高级表示。分类器用于对短文本信息的高级表示进行分类,获得分类结果,在图2的实施例中,两层循环神经网络示意为均采用双向的GRU(Gated Recurrent Unit),分类器采用SoftMax模型,并采用attention机制(图2中以字母A示意attention机制)来衡量词语、字或句子的重要性。下面将结合图2具体描述深度学习模型的训练过程。
深度学习模型的训练过程是以每个短文本信息的关于词语的特征矩阵A和关于字的特征矩阵B为输入,以该短文本信息对应的类别向量O为输出,训练深度学习模型。其中,训练样本集中每一条短文本信息数据都由3部分组成,即关于词语的特征矩阵A、关于字的特征矩阵B和对应的类别向量O,特征矩阵A和B都是3维的矩阵表示,输出向量例如是4维的文本信息的类别向量。
具体地,深度学习模型的训练过程包括以下子步骤:
步骤S121,利用双向循环神经网络作为词序列编码器。
对于输入的词特征矩阵A和字特征矩阵B,可使用一个双向的循环神经网络GRU作为序列编码器。参见图3所示,GRU的基本原理是:
使用门机制来记录序列当前的状态,隐藏层有两个门(gate),分别是重置门(reset gate)rt和更新门(update gate)zt,这两个门一起来控制当前状态有多少信息要更新。在时刻t,隐藏层状态的计算公式:
ht=(1-zt)⊙ht-1+zt⊙h1t (1)
上式(1)体现了前一个状态ht-1和当前新状态h1t的一种线性关系。
更新门(update gate)zt是用来决定以往信息的保留程度和信息的增加程度,表示为:
zt=δ(Wzxt+Uzht-1+bz) (2)
其中,xt是在时刻t输入的词语的词向量,Wz表示时刻t的输入权重,Uz表示时刻t-1的信息权重,bz表示偏置,ht-1表示前一个状态。
候选状态h1t表示为:
h1t=tanh(Whxt+rt⊙(Uzht-1)+bh) (3)
其中,xt是在时刻t输入的词语的词向量,Wh表示时刻t的输入权重,Uz表示时刻t-1的信息权重,bh表示偏置。
重置门rt决定有多少过去的信息作用于候选状态,如果rt是0,即忘记之前的所有状态,则有:
h11t=tanh(Whxt+Urht-1+bh) (4)
其中,xt是在时刻t输入的词语的词向量,Wh表示时刻t的输入权重,Ur表示时刻t-1的信息权重,bh表示偏置,ht-1表示前一个状态。
在深度模型训练时,将词的特征矩阵A输入到第一层的双向循环神经网络GRU(作为词序列编码器)。例如,对于由词序列wit组成的句子,t∈[0,T],T表示词的数量,wit表示第i个句子的第t个词语,首先把词转化成词向量,xit=Wewit,然后,用利用双向的GRU网络,可以将正向和反向的上下文信息结合起来,获得隐藏层输出,表示为:
Figure BDA0001692814910000081
We表示词向量转化权重,对于一个给定的词语wit,经过GRU网络后,得到正向信息
Figure BDA0001692814910000082
和反向信息
Figure BDA0001692814910000083
拼接之后获得wit一种新的表示:
Figure BDA0001692814910000091
hit包含了wit上文和下文两个方向的信息,即通过这种方式,对于短文本信息中每个句子,可获得新的句子表示,下文中有时也称为根据词向量获得句子表示。
步骤S122,利用双向循环神经网络作为字序列编码器。
对于字的特征矩阵B,可同样使用双向GRU作为字序列编码器。例如,对于由字序列cit,t∈[0,T]组成的句子,T表示句子中字的数量,cit表示第i个句子的第t个字,首先把字转化成字向量,zit=Wecit,然后用双向的GRU网络,将正向和反向的上下文信息结合起来,获得隐藏层输出,表示为:
Figure BDA0001692814910000092
We表示字向量转化权重,对于一个给定的字cit,经过GRU网络后,得到了另一种新的表示:
Figure BDA0001692814910000093
kit包含了cit上文和下文两个方向的信息,即通过这种方式,对于短文本信息中每个句子,可获得另一种新的句子表示,下文中有时也称为根据字向量获得的句子表示。
步骤S123,使用attention机制衡量词的重要性和字的重要性。
对于根据词向量得到的句子表示,可利用Attention机制衡量词的重要性,找出每个句子中对句子的含义最有价值的词语,例如,将hit输入到一个单层的感知机(MLP),得到的结果uit作为hit的隐含表示:
uit=tanh(Wwhit+bw) (7)
其中,uit是hit的隐含表示,Ww是单层感知机的权重,bw是单层感知机的偏置。进一步地,使用uit和一个随机初始化的上下文向量uw的相似度来表示词语的重要性,然后经过SoftMax操作获得一个归一化的attention权重αit,αit表示句子i中第t个词语的权重,表示为:
Figure BDA0001692814910000094
其中,uw是训练过程中学习获得的上下文向量,获得各个词的Attention权重之后,句子向量s1i是组成这些句子的词向量的加权之和,表示为:
s1i=∑tαithit (9)
其中,hit表示第i的句子中的第t个词语wit经过GRU网络后获得的词的表示,αit表示第i的句子中的第t个词语的权重。
同理,对于根据字向量得到的句子表示,仍可利用Attention机制衡量字的重要性,Attention机制寻找到每个句子中对句子的含义最有价值的字。具体地,通过将kit输入到一个单层的感知机(MLP)中,得到的结果uit作为kit的隐含表示:
uit=tanh(Wwkit+bw) (10)
其中,uit是kit的隐含表示,Ww是单层感知机的权重,bw是单层感知机的偏置。进一步地,使用uit和一个随机初始化的上下文向量uw的相似度来衡量字的重要性,然后经过SoftMax操作获得一个归一化的attention权重αit,其表示句子i中第t个字的权重:
Figure BDA0001692814910000101
其中,uw是训练过程中学习获得的上下文向量,获得各个字的Attention权重之后,句子向量s2i是组成这些句子的字向量的加权之和,表示为:
s2i=∑tαitkit (12)
其中,kit表示第i的句子中的第t个字cit经过GRU网络后获得的字的表示,αit表示第i的句子中的第t个字的权重。
在此步骤S123中,可获得由词向量的加权之和组成的句子向量s1i和由字向量的加权之和组成的句子向量s2i
步骤S124,将句子的词向量的加权之和组成的句子向量和由句子的字向量的加权之和组成的句子向量进行拼接,构成句子向量si
在获得由句子的词向量的加权之和组成的句子向量s1i和由句子的字向量的加权之和组成的句子向量s2i之后,将二者进行拼接得到最终的句子向量si,通过这种方式,每个句子都由两部分组成,一部分是分词之后得到的特征信息,一部分是分字之后得到的特征信息,分别表示为:
Figure BDA0001692814910000102
其中,si是短文本信息中句子i的最终的特征向量的表示,下标i表示文本信息中的第i个句子的索引编号,下标t表示句子中的第t个词语,s1i表示词向量经过双层GRU和Attention机制的输出句向量,s2i表示字向量经过双层GRU和Attention机制的输出句向量,将二者进行串联组成最终的句子向量si
步骤S125,对于句子向量si使用双向循环网络作为句子序列编码器,得到新的句子向量。
对于得到的句子向量si,使用一个双向的循环神经网络GRU(即第二层循环神经网络)作为句子序列编码器,将正向和反向的上下文信息结合起来,获得整个句子的向量表示。
Figure BDA0001692814910000111
其中,L表示短文本信息中包含的句子数量,对于一个给定的句子si,经过第二层的循环神经网络GRU后,得到了一种新向量表示:
Figure BDA0001692814910000112
hi包含了si上文和下文两个方向的信息,进而可获得整个短文本信息的新的向量表示。
步骤S126,使用attention机制衡量句子的重要性并获得短文本信息的高级向量表示。
对于上述句子向量表示
Figure BDA0001692814910000113
可使用Attention机制检测出每个短文本信息中对文本信息的含义最有价值句子,例如,通过将hi输入到一个单层的感知机(MLP)中,得到的结果ui作为hi的隐含表示:
ui=tanh(Wshi+bs) (15)
其中,ui是hi的隐含表示,Ws是单层感知机的权重,bs是单层感知机的偏置,使用ui和一个随机初始化的上下文向量us的相似度来衡量每个句子的重要性,然后经过SoftMax操作获得一个归一化的Attention权重αi,代表文本信息中第i个句子的权重:
Figure BDA0001692814910000114
其中,us是在训练过程中学习获得的上下文向量,获得句子的Attention权重之后,将文本信息向量v看作组成文本信息的句子向量的加权之和,v表示为:
v=∑iαihi (17)
其中,hi为经过第二层循环神经网络GRU之后获得的句子i的向量表示,αi表示句子i的权重。
在此步骤S126中,获得的文本信息向量v是文本信息的高级向量表示,可以把它看作是文本信息的特征向量表示。
步骤S127、采用分类器对文本信息的高级向量表示进行分类。
在此步骤中,将文本信息的特征向量v输入到深度学习模型的分类器进行分类,输出的是分类结果向量。
例如,采用SoftMax作为分类器时,将文本信息向量v作为特征输入到SoftMax,得到最后的分类结果向量。具体地,首先,将文本向量v输入到SoftMax,其输出是分类标签上的概率分布,SoftMax的公式表示如下:
Figure BDA0001692814910000121
其中,j=1,…,K,K表示类别数量,k表示标签的类别索引,P(zj)表示zj对应分类标签j的概率,z=Wcv+bc,对于有四种分类标签的示例,K取值为4,v为文本信息的向量表示,Wc和bc分别是SoftMax的权重参数和偏置参数,通过SoftMax分类器可获得训练样本集中每一输入样本属于各分类标签的概率。
然后,根据各分类标签上的概率分布,可获得分类结果向量p。文本信息属于哪一类,那它的结果向量的相应的维度上设为1(例如概率最大的值对应的维度),其他维度设为0。
此外,需要说明的是,训练过程中,可利用Adam梯度下降优化器对优化损失函数来更新整个深度学习模型的参数,损失函数定义如下:
L=-∑dlogpdj (19)
其中,pdj表示文本d属于类别j的概率。
通过上述训练,能够获得深度学习模型的优化参数,例如,第一层循环神经网络和第二层循环神经网络中的优化权重和偏置,以及SoftMax分类器的优化权重和偏置等,由这些优化参数限定的深度学习模型即是对应的文本分类模型。
步骤S130,应用文本分类模型进行文本分类。
对于一个新的文本信息,采用与训练过程类似的方式,进行分词处理、分字处理,得到文本信息关于词的特征向量表示和关于字的特征向量表示,通过拼接获得整个文本的高层向量表示v,将v输入到已知优化权重和偏置的SoftMax分类器,即可获得该新文本信息的分类结果。
需要说明的是,尽管上文以优选实施例的方式介绍了训练样本集的构建和深度学习模型框架,但在不违背本发明的精神和范围的情况下,本领域的技术人员可对实施例进行适当的改变或变型。例如,可采用双向长短时记忆网络(BiLSTM)代替GRU进行特征学习;例如,关于词的特征提取和关于字的特征提取不必须采用相同的特征提取方法,如,采用GRU提取词语的特征向量,而采用单向或双向LSTM提取字的特征向量;例如,也可以采用SVM或朴素贝叶斯等代替SoftMax实现文本信息的分类;例如,采用除了Word2Vec模型之外的其他的现有技术中的词语向量转换模型或字向量转换模型进行词和字的高维特征表示,又如,示出的attention机制是可选的,可仅采用一层attention机制,也可采用双层attention机制以增加分类的准确率。此外,尽管从分类效果上来看,本发明更适用于短文本类型,但本发明的思想对于任意的文本类型均可适用,因此,本文实施例中所使用的“短文本”的描述均可替换为意指任意长度的“文本”,除非根据上下文其确实用于限定文本的类型。
为了验证本发明的技术效果,在训练模型时,训练数据是短文本信息训练样本集中随机抽取的90%的数据,验证数据是剩余的10%的数据,每次用训练数据训练完模型之后,都会在验证数据集上进行一次验证训练,得到准确率。在验证集上的准确率如图4所示,其中横坐标表示在循环测试次数,纵坐标表示分类准确率。根据验证集上准确率的大小来选取一个最好的分类模型,然后将最终选取的分类模型在测试集上进行测试,测试集是除了训练数据和验证数据之外,收集到的另外一批带有标签的数据。经过比较,本发明的文本分类模型相对于其他一些已知的分类模型在测试集上的准确率有了显著的提高。
本发明的文本分类方法可以应用于文本分类场景,尤其是针对短文本的文档分类场景,例如,短信、微博等数据的筛选、垃圾邮件的筛选、聊天机器人的问询划分等文本分类场景。整个分类过程避免任何人工参与,把需要分类的文本数据输入到分类模型,分类模型即可自动给出文本的分类结果,并且达到了很高的准确率,本发明提供的分类方法能够显著节省文本分类工作的人力和物力,解决了现有技术中存在的诸多问题。
需要说明的是,虽然上文按照特定顺序描述了各个步骤,但是并不意味着必须按照上述特定顺序来执行各个步骤,实际上,这些步骤中的一些可以并发执行,甚至改变顺序,只要能够实现所需要的功能即可。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以包括但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (11)

1.一种构建文本分类模型的方法,包括以下步骤:
步骤1:根据文本信息的字、词语和句子的结构特征构建训练样本集,其中,所述训练样本集中的每一条样本数据对应一条文本信息关于词语的特征矩阵A、关于字的特征矩阵B和该条文本信息对应的类别向量O,O的维度与类别数量相同;
步骤2:以所述训练样本集中关于词语的特征矩阵A和关于字的特征矩阵B为输入,以对应的类别向量O为输出,训练深度学习模型,以获得文本分类模型;所述深度学习模型包括第一层双向循环神经网络、第二层双向循环神经网络和分类器,所述第一层双向循环神经网络用作词序列编码器和字序列编码器,以获得词的向量表示和字的向量表示,进而获得文本信息的句子向量si,所述第二层双向循环神经网络用作句子序列编码器,以获得句子向量si的高级特征向量,进而获得文本信息的高级特征向量表示v,所述分类器用于对文本信息的高级特征向量表示v进行分类,其中i为文本信息中句子的索引编号。
2.根据权利要求1所述的方法,其中,在步骤1中,根据以下子步骤构造一条文本信息的关于词语的特征矩阵A和关于字的特征矩阵B:
步骤21:将该条文本信息进行分词处理并将分词结果按顺序排列训练词语向量转换模型,获得该条文本信息关于词语的高维特征表示;
步骤22:将该条文本信息进行分字处理并将分字结果按顺序排列训练字向量转换模型,获得该条文本信息关于字的高维特征表示;
步骤23:根据获得的该条文本信息关于词语的高维特征表示和该条文本信息关于字的高维特征表示以及该条文本信息的字、词语和句子的结构特征构造关于词语的特征矩阵A和关于字的特征矩阵B。
3.根据权利要求2所述的方法,其中,所述词语向量转换模型为Word2Vec词嵌入模型,所述字向量转换模型为Word2Vec字嵌入模型。
4.根据权利要求1所述的方法,其中,在步骤2中通过以下子步骤获得一条文本信息的高级特征向量表示v:
步骤51:将该文本信息的关于词语的特征矩阵A输入到所述第一层双向循环神经网络进行训练,获得基于词向量的句子表示s1i
步骤52:将该条文本信息的关于字的特征矩阵B输入到所述第一层双向循环神经网络进行训练,获得基于字向量的句子表示s2i
步骤53:将s1i和s2i进行拼接,构成句子向量si
步骤54:将句子向量si输入到所述第二层双向循环网络进行训练,获得该条文本信息的高级特征向量表示v。
5.根据权利要求4所述的方法,其中,对于基于词向量的句子表示s1i包含利用attention机制获得的句子中各个词语的重要性权重,对于基于字向量的句子表示s2i包含利用attention机制获得的句子中各个字的重要性权重。
6.根据权利要求4所述的方法,其中,在步骤54中,所述该条文本信息的高级特征向量表示v包含利用attention机制获得的该条文本信息中各个句子重要性的权重。
7.根据权利要求1所述的方法,其中,所述分类器为SoftMax模型、SVM或朴素贝叶斯。
8.根据权利要求1所述的方法,其中,所述第一层双向循环神经网络和所述第二层双向循环神经网络为双向GRU或双向LSTM。
9.一种文本的分类方法,包括:
步骤101:获取文本信息的关于词的特征向量表示和关于字的特征向量表示;
步骤102:将文本信息的关于词的特征向量表示和关于字的特征向量表示输入到根据权利要求1至8中任一项所获得的文本分类模型,以获得该文本信息的类别标注。
10.一种计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现根据权利要求1至8或9中任一项所述方法的步骤。
11.一种计算机设备,包括存储器和处理器,在所述存储器上存储有能够在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至8或9中任一项所述的方法的步骤。
CN201810599385.6A 2018-06-12 2018-06-12 一种文本分类方法 Active CN108829818B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810599385.6A CN108829818B (zh) 2018-06-12 2018-06-12 一种文本分类方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810599385.6A CN108829818B (zh) 2018-06-12 2018-06-12 一种文本分类方法

Publications (2)

Publication Number Publication Date
CN108829818A CN108829818A (zh) 2018-11-16
CN108829818B true CN108829818B (zh) 2021-05-25

Family

ID=64145201

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810599385.6A Active CN108829818B (zh) 2018-06-12 2018-06-12 一种文本分类方法

Country Status (1)

Country Link
CN (1) CN108829818B (zh)

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109710919A (zh) * 2018-11-27 2019-05-03 杭州电子科技大学 一种融合注意力机制的神经网络事件抽取方法
CN109902309B (zh) * 2018-12-17 2023-06-02 北京百度网讯科技有限公司 翻译方法、装置、设备和存储介质
CN109739985A (zh) * 2018-12-26 2019-05-10 斑马网络技术有限公司 文本自动分类方法、设备及存储介质
CN111382243A (zh) * 2018-12-29 2020-07-07 深圳市优必选科技有限公司 文本的类别匹配方法、类别匹配装置及终端
CN109726291B (zh) * 2018-12-29 2021-04-27 鼎富智能科技有限公司 分类模型的损失函数优化方法、装置及样本分类方法
CN109885824B (zh) * 2019-01-04 2024-02-20 北京捷通华声科技股份有限公司 一种层次的中文命名实体识别方法、装置及可读存储介质
CN110162620B (zh) * 2019-01-10 2023-08-18 腾讯科技(深圳)有限公司 黑产广告的检测方法、装置、服务器及存储介质
CN109857868A (zh) * 2019-01-25 2019-06-07 北京奇艺世纪科技有限公司 模型生成方法、文本分类方法、装置及计算机可读存储介质
CN111680497B (zh) * 2019-02-25 2023-12-08 北京嘀嘀无限科技发展有限公司 会话识别模型训练方法及装置
CN111723198B (zh) * 2019-03-18 2023-09-01 北京汇钧科技有限公司 一种文本情绪识别方法、装置及存储介质
CN110096591A (zh) * 2019-04-04 2019-08-06 平安科技(深圳)有限公司 基于词袋模型的长文本分类方法、装置、计算机设备及存储介质
CN111861596B (zh) * 2019-04-04 2024-04-12 北京京东振世信息技术有限公司 一种文本分类方法和装置
CN110297901B (zh) * 2019-05-14 2023-11-17 广州数说故事信息科技有限公司 基于距离参数的大规模文本聚类方法
CN110222178B (zh) * 2019-05-24 2021-11-09 新华三大数据技术有限公司 文本情感分类方法、装置、电子设备及可读存储介质
CN110309304A (zh) * 2019-06-04 2019-10-08 平安科技(深圳)有限公司 一种文本分类方法、装置、设备及存储介质
CN110196967A (zh) * 2019-06-05 2019-09-03 腾讯科技(深圳)有限公司 基于深度转换架构的序列标注方法和装置
CN110377727B (zh) * 2019-06-06 2022-06-17 深思考人工智能机器人科技(北京)有限公司 一种基于多任务学习的多标签文本分类方法和装置
CN110222184A (zh) * 2019-06-13 2019-09-10 广东工业大学 一种文本的情感信息识别方法及相关装置
CN110299140A (zh) * 2019-06-18 2019-10-01 浙江百应科技有限公司 一种基于智能对话的关键内容提取算法
CN110297889B (zh) * 2019-06-28 2020-10-23 南京冰鉴信息科技有限公司 一种基于特征融合的企业情感倾向分析方法
CN110489545A (zh) * 2019-07-09 2019-11-22 平安科技(深圳)有限公司 文本分类方法及装置、存储介质、计算机设备
CN110390005A (zh) * 2019-07-23 2019-10-29 北京香侬慧语科技有限责任公司 一种数据处理方法和装置
CN110516066B (zh) * 2019-07-23 2022-04-15 同盾控股有限公司 一种文本内容安全防护方法和装置
CN110457700B (zh) * 2019-08-07 2020-04-21 中国人民解放军国防科技大学 短文本描述方法和装置
CN110610003B (zh) * 2019-08-15 2023-09-15 创新先进技术有限公司 用于辅助文本标注的方法和系统
CN110580288B (zh) * 2019-08-23 2022-09-09 腾讯科技(深圳)有限公司 基于人工智能的文本分类方法和装置
CN111639152B (zh) * 2019-08-29 2021-04-13 上海卓繁信息技术股份有限公司 意图识别方法
CN110852070A (zh) * 2019-10-25 2020-02-28 杭州费尔斯通科技有限公司 一种文档向量生成方法
CN110990562B (zh) * 2019-10-29 2022-08-26 新智认知数字科技股份有限公司 警情分类方法及其系统
CN112749250A (zh) * 2019-10-30 2021-05-04 阿里巴巴集团控股有限公司 文字信息的处理方法、装置和系统
CN110781305B (zh) * 2019-10-30 2023-06-06 北京小米智能科技有限公司 基于分类模型的文本分类方法及装置,以及模型训练方法
CN111078833B (zh) * 2019-12-03 2022-05-20 哈尔滨工程大学 一种基于神经网络的文本分类方法
CN112906370B (zh) * 2019-12-04 2022-12-20 马上消费金融股份有限公司 意图识别模型训练方法、意图识别方法及相关装置
CN111079442B (zh) 2019-12-20 2021-05-18 北京百度网讯科技有限公司 文档的向量化表示方法、装置和计算机设备
CN111125317A (zh) * 2019-12-27 2020-05-08 携程计算机技术(上海)有限公司 对话型文本分类的模型训练、分类、系统、设备和介质
CN111444714B (zh) * 2020-02-29 2023-04-07 新华三大数据技术有限公司 一种文本分析装置、方法及模型训练方法
CN111159773B (zh) * 2020-04-01 2020-11-03 支付宝(杭州)信息技术有限公司 保护数据隐私的图片分类方法及装置
CN111488455A (zh) * 2020-04-03 2020-08-04 上海携旅信息技术有限公司 模型训练的方法、文本分类的方法、系统、设备及介质
CN111522946A (zh) * 2020-04-22 2020-08-11 成都中科云集信息技术有限公司 一种基于注意力长短期记忆循环神经网络的论文质量测评方法
CN111582498B (zh) * 2020-04-30 2023-05-12 重庆富民银行股份有限公司 基于机器学习的qa辅助决策方法及系统
CN111597336B (zh) * 2020-05-14 2023-12-22 腾讯科技(深圳)有限公司 训练文本的处理方法、装置、电子设备及可读存储介质
CN111507099A (zh) * 2020-06-19 2020-08-07 平安科技(深圳)有限公司 文本分类方法、装置、计算机设备及存储介质
CN112100377B (zh) * 2020-09-14 2024-03-29 腾讯科技(深圳)有限公司 文本分类方法、装置、计算机设备和存储介质
CN112182229A (zh) * 2020-11-05 2021-01-05 江西高创保安服务技术有限公司 一种文本分类模型构建方法、文本分类方法及装置
CN112347267B (zh) * 2020-11-06 2024-05-10 北京乐学帮网络技术有限公司 一种文本处理方法、装置、计算机设备及存储介质
CN112347790B (zh) * 2020-11-06 2024-01-16 北京乐学帮网络技术有限公司 一种文本处理方法、装置、计算机设备及存储介质
CN112883693B (zh) * 2021-02-23 2023-05-05 国网福建省电力有限公司 一种自动生成电力工作票的方法及终端
CN113761885A (zh) * 2021-03-17 2021-12-07 中科天玑数据科技股份有限公司 一种基于BayesLSTM的语种识别方法
CN113139057A (zh) * 2021-05-11 2021-07-20 青岛科技大学 一种域适应的化工安全隐患短文本分类方法及系统
CN113806507B (zh) * 2021-09-16 2023-06-23 厦门快商通科技股份有限公司 一种多标签分类方法、装置及可读介质
CN113704444B (zh) * 2021-10-28 2022-08-19 江西中业智能科技有限公司 基于自然语言处理的问答方法、系统、设备及存储介质
CN116192665A (zh) * 2022-12-27 2023-05-30 中移动信息技术有限公司 数据处理方法、装置、计算机设备及存储介质
CN116052081A (zh) * 2023-01-10 2023-05-02 山东高速建设管理集团有限公司 一种场地安全实时监测方法、系统、电子设备及存储介质
CN116956930A (zh) * 2023-09-20 2023-10-27 北京九栖科技有限责任公司 一种融合规则和学习模型的短文本信息提取方法及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102141978A (zh) * 2010-02-02 2011-08-03 阿里巴巴集团控股有限公司 一种文本分类的方法及系统
CN106528776A (zh) * 2016-11-07 2017-03-22 上海智臻智能网络科技股份有限公司 一种文本分类的方法和装置
CN107656990A (zh) * 2017-09-14 2018-02-02 中山大学 一种基于字和词两个层面特征信息的文本分类方法
CN108108351B (zh) * 2017-12-05 2020-05-22 华南理工大学 一种基于深度学习组合模型的文本情感分类方法

Also Published As

Publication number Publication date
CN108829818A (zh) 2018-11-16

Similar Documents

Publication Publication Date Title
CN108829818B (zh) 一种文本分类方法
CN110609897B (zh) 一种融合全局和局部特征的多类别中文文本分类方法
CN110502749B (zh) 一种基于双层注意力机制与双向gru的文本关系抽取方法
CN109376242B (zh) 基于循环神经网络变体和卷积神经网络的文本分类方法
CN107590177B (zh) 一种结合监督学习的中文文本分类方法
CN112884551B (zh) 一种基于近邻用户和评论信息的商品推荐方法
CN107451118A (zh) 基于弱监督深度学习的句子级情感分类方法
CN112966068A (zh) 基于网页信息的简历识别方法和装置
CN112364638A (zh) 一种基于社交文本的人格识别方法
CN110851593B (zh) 一种基于位置与语义的复值词向量构建方法
CN109145304A (zh) 一种基于字的中文观点要素情感分析方法
CN113254675B (zh) 基于自适应少样本关系抽取的知识图谱构建方法
CN113343690B (zh) 一种文本可读性自动评估方法及装置
CN111538841B (zh) 基于知识互蒸馏的评论情感分析方法、装置及系统
CN111476024A (zh) 一种文本分词方法、装置及模型训练方法
CN114722835A (zh) 基于lda和bert融合改进模型的文本情感识别方法
CN112749274A (zh) 基于注意力机制和干扰词删除的中文文本分类方法
CN115269860A (zh) 一种飞机维修领域的知识图谱构建方法
CN114925205A (zh) 基于对比学习的gcn-gru文本分类方法
CN115129807A (zh) 基于自注意的社交媒体主题评论的细粒度分类方法及系统
CN111611375B (zh) 一种基于深度学习和转折关系的文本情感分类方法
CN112560440A (zh) 一种基于深度学习的面向方面级情感分析的句法依赖方法
CN116227435A (zh) 基于字间关系的中文金融评价单元抽取方法
CN113505226B (zh) 融合图卷积神经网络的文本情感分类系统
CN110413995B (zh) 一种基于双向mgu神经网络的关系抽取方法

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