CN114281983B - 分层结构的文本分类方法、***、电子设备和存储介质 - Google Patents
分层结构的文本分类方法、***、电子设备和存储介质 Download PDFInfo
- Publication number
- CN114281983B CN114281983B CN202110364490.3A CN202110364490A CN114281983B CN 114281983 B CN114281983 B CN 114281983B CN 202110364490 A CN202110364490 A CN 202110364490A CN 114281983 B CN114281983 B CN 114281983B
- Authority
- CN
- China
- Prior art keywords
- classification
- idf
- text
- keywords
- word
- 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
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000013145 classification model Methods 0.000 claims abstract description 99
- 238000012549 training Methods 0.000 claims abstract description 49
- 238000007635 classification algorithm Methods 0.000 claims abstract description 20
- 238000012545 processing Methods 0.000 claims description 46
- 239000013598 vector Substances 0.000 claims description 36
- 230000015654 memory Effects 0.000 claims description 20
- 238000000605 extraction Methods 0.000 claims description 16
- 238000004364 calculation method Methods 0.000 claims description 12
- 238000012360 testing method Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 3
- 230000008901 benefit Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 5
- 230000018109 developmental process Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000005484 gravity Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种分层结构的文本分类方法、***、电子设备及存储介质,该方法包括:获取训练文本;基于行业的划分规则确定训练文本中所包含的分类种类;根据分类种类确定训练文本所对应的分类模型,分类模型采用LightGBM分类算法,分类算法的特征编码包括基于关键词的特征编码和基于Word2vec特征编码,关键词包括采用人工预先提取得到人为干预的关键词、采用信息增益提取得到基于信息增益的关键词和采用TF‑IDF值提取得到基于TF‑IDF的关键词;将分类模型进行分组,得到多个分组模型;将多个分组模型进行分层串联,得到最终分类模型;获取待测试文本;将待测试文本输入最终分类模型中进行分类,得到待测试文本的分类结果。通过该方法提高了此类文本分类的准确性。
Description
技术领域
本发明涉及互联网数据处理领域,具体涉及到一种分层结构的文本分类方法、***、电子设备及存储介质。
背景技术
人员语音转成对话文本,但是对话文本的上下文语境信息不明确;同时存在错误词和叠词等方言语义;同时在一个文本中存在多个不同的场景分类,存在一个文本符合几个分类的情况;在采用深度学习的方法时由于样本数量不均衡,同时数据样本在递增添加,然后又要在原有基础上进行训练,开发周期太长,分类的结果不准确,也无法进行快速迭代和优化。
发明内容
有鉴于此,本发明实施例提供了一种分层结构的文本分类方法、***、电子设备及存储介质,以解决现有技术中文本分类不准确的缺点。
为此,本发明实施例提供了如下技术方案:
根据第一方面,本发明实施例提供了一种分层结构的文本分类方法,包括:获取训练文本;基于行业的划分规则确定训练文本中所包含的分类种类;根据分类种类确定训练文本所对应的分类模型,所述分类模型采用LightGBM分类算法,所述LightGBM分类算法的特征编码包括基于关键词的特征编码和基于Word2vec特征编码,所述关键词包括三类关键词,分别为采用人工预先提取关键词得到人工提取的关键词、采用信息增益提取得到基于信息增益的关键词和采用TF-IDF值提取得到基于TF-IDF的关键词;将分类模型进行分组,得到多个分组模型,每个分组模型中包含预设个数的分类模型;将多个分组模型进行分层串联,得到最终分类模型;获取待测试文本;将待测试文本输入最终分类模型中进行分类,得到待测试文本的分类结果。
可选地,采用信息增益提取得到基于信息增益的关键词的步骤中,包括:计算每一个词所对应的信息增益;将所有词的信息增益进行降序排列,从信息增益最大值开始选取第一预设个数的词作为信息增益关键词。
可选地,信息增益的计算公式为:
IG(T)=H(C)-H(C|T)
其中,IG(T)为信息增益;H(C)为信息熵;H(C|T)为条件熵;Ci为文本分类的种类,i=1,2,3...k;P(Ci)为文本中每一个种类出现的概率;P(word)为某个词汇word在所有类别中出现的概率;为某个词汇word在所有类别中不出现的概率;H(C|word)为出现词汇word的文件的条件熵;P(Ci|word)为出现词汇word的情况下是Ci类的概率;为不出现词汇word的文件的条件熵;/>为不出现词汇word的情况下是Ci类的概率。
可选地,采用TF-IDF值提取得到基于TF-IDF的关键词的步骤中,包括:分别计算每个类别中所有的词所对应的TF-IDF值;分别对每个类别中所有的词的TF-IDF值进行降序排列,从TF-IDF值最大值开始选取第二预设个数的词作为每个类别的TF-IDF候选词;计算TF-IDF候选词在所对应类别的语料中出现的频率和在其它类别的语料中出现的频率;若TF-IDF候选词在所对应类别的语料中出现的频率小于在其它类别的语料中出现的频率,则将TF-IDF候选词去除;若TF-IDF候选词在所对应类别的语料中出现的频率大于或者等于在其它类别的语料中出现的频率,则将TF-IDF候选词保留,保留下来的TF-IDF候选词构成TF-IDF关键词。
可选地,TF-IDF值的计算公式为:
TF-IDF=TF*IDF
或者,
或者,
其中,tft,d为词t在文章d中的出现次数;
IDF=log10(N/dft)
其中,dft为包含词t的文章数;N为文章总数。
可选地,基于Word2vec的特征编码的计算公式为:
其中,wi是第i个词;vectori是wi对应的词向量;m为词的总个数。
可选地,基于关键词的特征编码的步骤中,包括:将人工提取的关键词、基于信息增益的关键词和基于TF-IDF的关键词构成特征词集合;根据特征词集合得到基于关键词的特征编码,所述关键词特征编码中包括每个关键词在文本中出现的次数和每类关键词在文本中出现的总次数。
根据第二方面,本发明实施例提供了一种分层结构的文本分类***,包括:第一获取模块,用于获取训练文本;第一处理模块,用于基于行业的划分规则确定训练文本中所包含的分类种类;第二处理模块,用于根据分类种类确定训练文本所对应的分类模型,所述分类模型采用LightGBM分类算法,所述LightGBM分类算法的特征编码包括基于关键词的特征编码和基于Word2vec特征编码,所述关键词包括三类关键词,分别为采用人工预先提取关键词得到人工提取的关键词、采用信息增益提取得到基于信息增益的关键词和采用TF-IDF值提取得到基于TF-IDF的关键词;第三处理模块,用于将分类模型进行分组,得到多个分组模型,每个分组模型中包含预设个数的分类模型;第四处理模块,用于将多个分组模型进行分层串联,得到最终分类模型;第二获取模块,用于获取测试文本;第五处理模块,用于将测试文本输入最终分类模型中进行分类,得到测试文本的分类结果。
可选地,所述第二处理模块包括:第一处理单元,用于计算每一个词所对应的信息增益;第二处理单元,用于将所有词的信息增益进行降序排列,从信息增益最大值开始选取第一预设个数的词作为信息增益关键词。
可选地,信息增益的计算公式为:
IG(T)=H(C)-H(C|T)
其中,IG(T)为信息增益;H(C)为信息熵;H(C|T)为条件熵;Ci为文本分类的种类,i=1,2,3...k;P(Ci)为文本中每一个种类出现的概率;P(word)为某个词汇word在所有类别中出现的概率;为某个词汇word在所有类别中不出现的概率;H(C|word)为出现词汇word的文件的条件熵;P(Ci|word)为出现词汇word的情况下是Ci类的概率;为不出现词汇word的文件的条件熵;/>为不出现词汇word的情况下是Ci类的概率。
可选地,所述第二处理模块包括:第三处理单元,用于分别计算每个类别中所有的词所对应的TF-IDF值;第四处理单元,用于分别对每个类别中所有的词的TF-IDF值进行降序排列,从TF-IDF值最大值开始选取第二预设个数的词作为每个类别的TF-IDF候选词;第五处理单元,用于计算TF-IDF候选词在所对应类别的语料中出现的频率和在其它类别的语料中出现的频率;第六处理单元,用于若TF-IDF候选词在所对应类别的语料中出现的频率小于在其它类别的语料中出现的频率,则将TF-IDF候选词去除;第七处理单元,用于若TF-IDF候选词在所对应类别的语料中出现的频率大于或者等于在其它类别的语料中出现的频率,则将TF-IDF候选词保留,保留下来的TF-IDF候选词构成TF-IDF关键词。
可选地,TF-IDF值的计算公式为:
TF-IDF=TF*IDF
或者,
或者,
其中,tft,d为词t在文章d中的出现次数;
IDF=log10(N/dft)
其中,dft为包含词t的文章数;N为文章总数。
可选地,基于Word2vec的特征编码的计算公式为:
其中,wi是第i个词;vectori是wi对应的词向量;m为词的总个数。
可选地,所述第二处理模块包括:第八处理单元,用于将人工提取的关键词、基于信息增益的关键词和基于TF-IDF的关键词构成特征词集合;第九处理单元,用于根据特征词集合得到基于关键词的特征编码,所述关键词特征编码中包括每个关键词在文本中出现的次数和每类关键词在文本中出现的总次数。
根据第三方面,本发明实施例提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的计算机程序,计算机程序被至少一个处理器执行,以使至少一个处理器执行上述第一方面任意一项描述的分层结构的文本分类方法。
根据第四方面,本发明实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令用于使计算机执行上述第一方面任意一项描述的分层结构的文本分类方法。
本发明实施例技术方案,具有如下优点:
本发明实施例提供了一种分层结构的文本分类方法、***、电子设备及存储介质,其中,该方法包括:获取训练文本;基于行业的划分规则确定训练文本中所包含的分类种类;根据分类种类确定训练文本所对应的分类模型,所述分类模型采用LightGBM分类算法,所述LightGBM分类算法的特征编码包括基于关键词的特征编码和基于Word2vec特征编码,所述关键词包括三类关键词,分别为采用人工预先提取关键词得到人工提取的关键词、采用信息增益提取得到基于信息增益的关键词和采用TF-IDF值提取得到基于TF-IDF的关键词;将分类模型进行分组,得到多个分组模型,每个分组模型中包含预设个数的分类模型;将多个分组模型进行分层串联,得到最终分类模型;获取待测试文本;将待测试文本输入最终分类模型中进行分类,得到待测试文本的分类结果。上述步骤,分类模型采用Lightgbm分类算法,分类算法的特征编码包括四部分:人工提取的关键词特征、基于信息增益的关键词特征、基于TF-IDF的关键词特征和Word2vec特征;根据训练文本中包含的分类种类确定每一个分类种类所对应的分类模型,将分类模型进行排序分组,得到多个分类模型,将多个分组模型进行分层串联后得到最终分类模型,根据最终分类模型对待测试文本进行分类。采用多种关键词确定的分类模型和对分类模型进行分层处理的方式,使得结果的解释性和正确性显著提高;同时,开发周期和训练周期较短,可解释性相对较强,同时根据不同分类样本数据持续优化开发。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的分层结构的文本分类方法的一个具体示例的流程图;
图2为本发明实施例的分层结构的文本分类***的一个具体示例的框图;
图3为本发明实施例的电子设备的示意图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种分层结构的文本分类方法,如图1所示,该方法包括步骤S1-S10。
步骤S1:获取训练文本。
本实施例中,训练文本为用于模型训练的文本数据。
步骤S2:基于行业的划分规则确定训练文本中所包含的分类种类。
本实施例中,行业规则是指基于文本内容的阅读理解,文本的行业划分规则,理解划分依据的代表语句,代表词,对行业的专业术语、词汇的提取和分类。
首先分析样本,根据行业的划分规则进行划分整体的类别。例如,基于行业的划分规则将训练文本分为18个不同分类场景,训练文本中所包含的分类种类的个数为18个。
该步骤S2具体包括:基于行业的划分规则确定训练文本所包含的业务场景;根据业务场景确定分类种类。
本实施例中,基于行业的划分规则确定训练文本中包含的业务场景的个数,不同的业务场景具有不同的特征需对应不同的分类模型,因此,根据业务场景的个数确定分类个数。具体的,业务场景具体是指电信行业内部的业务内容,分为宽带、流量、套餐等,本实施例中对此仅作示意性说明,不以此为限。
例如,基于行业的划分规则确定训练文本所包含的业务场景的个数为18个,故分类种类的个数也为18。
步骤S3:根据分类个数确定训练文本所对应的分类模型的个数,所述分类模型采用LightGBM分类算法,所述LightGBM分类算法的特征编码包括基于关键词的特征编码和基于Word2vec特征编码,所述关键词包括三类关键词,分别为采用人工预先提取关键词得到人工提取的关键词、采用信息增益提取得到基于信息增益的关键词和采用TF-IDF值提取得到基于TF-IDF的关键词。
本实施例中,每一种分类对应一个分类模型,故分类个数等于分类模型的个数。例如,训练文本中包含18个不同的应用场景,每一个应用场景对应一种分类,一种分类对应一个分类模型,也就需要18个分类模型。
人工预先提取关键词就是利用人工根据不同分类的主题词、关键词进行收集,收集的词需要有代表性,并且不同于其他分类或者几个词组不同于其他的分类。基于信息增益的关键词提取方法就是计算所有词的信息增益,然后按照信息增益值以降序的方式排列,选取前K个词作为关键词。基于TF-IDF的关键词提取算法先计算所有词的TF-IDF权重,对所有类别数据的词做如下三步操作:(1)挑选每个类别数据中TF-IDF权重最大的k2个关键词作为对应类别的候选关键词,然后计算每个候选关键词在该类别语料中出现的频率;(2)对于类别class_i中的候选关键词w_j,若w_j在class_i中出现的频率设为f_j,若f_j*rate小于w_j在其他类别中出现的频率,rate为根据不同的分类样本数的比值,就把w_j从该类关键词中删除;(3)经过步骤(2)之后剩下的所有关键词作为最终的TF-IDF关键词。
关键词提取得到了3类关键词特征K1,K2,K3,根据特征词集合(K1,K2,K3)得到文本向量,也就是基于关键词的文本特征编码结果。
D1=(d1,d2,...dk,dk+2,dk+3,)
D1的前K维分别表示每个关键词在文本中出现的次数,后3维为表示每类特征词在文本中出现的总次数。
基于word2vec的文本向量化:word2vec是一个词向量模型,输入大量的语料,训练后得到一个词向量字典,词向量字典包括了所有的词以及词所对应的词向量。
用word2vec训练得到词向量,wi是词,vectori是wi对应的向量、
w1,vector1
w2,vector2
...
wn,vectorn
将句子中的词映射为Word2Vec向量,并将所有词的Word2Vec向量的平均值作为句子的编码。
D2=(vector1+vector2+vector3+…+vectorn)/n
步骤S4:将分类模型进行分组,得到多个分组模型,每个分组模型中包含预设个数的分类模型。
本实施例中,将分类模型按照预设顺序进行排列,得到分类模型队列。预设顺序是根据分类模型优先级确定的,分类模型优先级由业务需求的关注度和训练数据确定。不同分类结果的重要程度不同,对不同的分类结果的关注度也便不相同,重要程度越高则关注度越高,关注度越高的分类所对应的分类模型的优先级也越高。例如,业务需求需要得到15种不同的分类结果,15种不同的分类对应15个分类模型,用户对分类a、分类b、分类c的关注度较高,那么,分类a所对应的分类模型A排列在分类模型队列的最前面,分类b所对应的分类模型B排列在分类模型A的后面,分类c所对应的分类模型C排列在分类模型B的后面。同时,由于不同的分类主题不同,在分类模型中由于不同的分类表现不好,分类的训练数据太少等原因,这些分类模型的优先级较低,将这些分类模型放到队列的后面。按照上述方法,便可确定不同分类模型的排列顺序,得到分类模型队列。对分类模型的优先级进行判断,对分类中最关注的分类和模型表现较好的分类进行依次排序。
之后,按照预设分组方式对分类模型队列进行分组,得到多个分组模型,每个分组模型中包含预设个数的分类模型。
本实施例中,预设分组方式根据业务需求和经验确定。分的组数越多,训练模型所需要的时间越长,模型越精确。通常,分类模型的数量越多,分组后得到的分组模型的个数也越多。预设个数根据业务需求确定,本实施例中,预设个数设置为3,当然,在其它实施例中,预设个数的具体数值可根据实际应用合理确定。
例如,分类模型队列中包含18个分类模型,将这18个分类模型分为6组,得到6个分组模型,每一个分组模型包括3个分类模型。这6个分组模型的id分别记为id1、id2…id6。本实施例对此仅作示意性描述,不以此为限。在实际应用中根据需要合理分组即可。
步骤S5:将多个分组模型进行分层串联,得到最终分类模型。
本实施例中,每一个分组模型作为最终分类模型的一层,有多少个分组模型,最终分类模型中就包含几层。将分组模型集成为一个pipeline上顺序进行。采用分层批次训练,每次训练三个模型,对不属于此三类的模型进行下一阶段的三个模型分类训练,依次训练完18个模型。
步骤S6:获取待测试文本。
步骤S7:将待测试文本输入最终分类模型中进行分类,得到待测试文本的分类结果。
本实施例中,分类标签共有19个,为了训练效果和效率,采取3+1的方式进行训练,每次取3类标签的数据和除了这三类标签之外的所有数据作为标签“other”训练一个四分类模型,共计训练6个模型,模型的组织方式如表1所示。
表1训练模型id和对应训练数据
在测试阶段,按照6个模型串行的方式进行分类,针对一条待测试文本,先输入第一个模型进行分类,若该文本被分到三类标签中,则把该文本打上对应标签,结束该条文本的预测,否则将文本送入第二个分类模型继续分类,依次进行,直到该文本被打上特定的类别标签或者直到最后一个模型该文本依旧没有匹配的类别标签,若没有标签与文本匹配,则这条文本最终会被打上“other”标签。
上述步骤,分类模型采用LightGBM分类算法,分类算法的特征编码包括四部分:人工提取的关键词特征、基于信息增益的关键词特征、基于TF-IDF的关键词特征和Word2vec特征;根据训练文本中包含的分类种类确定每一个分类种类所对应的分类模型,将分类模型进行排序分组,得到多个分类模型,将多个分组模型进行分层串联后得到最终分类模型,根据最终分类模型对待测试文本进行分类。采用多种关键词确定的分类模型和对分类模型进行分层处理的方式,使得结果的解释性和正确性显著提高;同时,开发周期和训练周期较短,可解释性相对较强,同时根据不同分类样本数据持续优化开发。
作为示例性的实施例,步骤S3采用信息增益提取得到基于信息增益的关键词的步骤中,包括步骤S31-S32。
步骤S31:计算每一个词所对应的信息增益。
本实施例中,在文本分类中利用信息增益进行特征提取。信息增益体现了特征的重要性,信息增益越大说明特征越重要。假设数据中有k类:C1,C2,C3,...CK。
每类出现的概率是:P(C1),P(C2),P(C3),...P(CK)。
各类的信息熵计算公式:
对某个词汇word需要计算word在所有类别中出现的概率:P(word),即出现word的文件数除以总文件数。
word不出现的概率:即没有出现word的文件数除以总文件数。
条件熵的计算:
这里用到了T表示word这个特征,其中,H(C|word)表示出现word的文件的信息熵,计算方式:
其中:P(Ci|word)表示出现word的情况下是Ci类的概率,计算方式:Ci类中出现word的文件数除以总的出现word的文件数。
表示不出现word的条件熵,计算方式为:
其中,表示没有出现word的情况下是Ci类的概率,计算方式:Ci类中没有出现word的次数除以总类中没有出现word的次数。
总的信息增益计算公式为:
其中,IG(T)为信息增益;H(C)为信息熵;H(C|T)为条件熵;Ci为文本分类的种类,i=1,2,3...k;P(Ci)为文本中每一个种类出现的概率;P(word)为某个词汇word在所有类别中出现的概率;为某个词汇word在所有类别中不出现的概率;H(C|word)为出现词汇word的文件的条件熵;P(Ci|word)为出现词汇word的情况下是Ci类的概率;为不出现词汇word的文件的条件熵;/>为不出现词汇word的情况下是Ci类的概率。
信息熵体现了信息的不确定程度,熵越大表示特征越不稳定,对于此次的分类,越大表示类别之间的数据差别越大。条件熵体现了根据该特征分类后的不确定程度,越小说明分类后越稳定。信息增益=信息熵-条件熵,越大说明熵的变化越大,熵的变化越大越有利于分类。
步骤S32:将所有词的信息增益进行降序排列,从信息增益最大值开始选取第一预设个数的词作为信息增益关键词。
本实施例中,第一预设个数是预设的经验数,是根据此行业的理解,对不同的分类代表词区分的维度进行确定,具体的可以是10个,本实施例中对此仅作示意性描述,不以此为限。
将所有词的信息增益按照大小进行降序排列,选取前第一预设个数个词作为信息增益关键词。
上述步骤,基于信息增益的关键词提取方法就是计算所有词的信息增益,然后按照信息增益值以降序的方式排列,选取前K个词作为关键词。
作为示例性的实施例,步骤S3采用TF-IDF值提取得到基于TF-IDF的关键词的步骤中,包括步骤S33-S37。
步骤S33:分别计算每个类别中所有的词所对应的TF-IDF值。
本实施例中,TF-IDF计算方法如下。
TF-IDF使得一个单词能尽量与文本在语义上相关。TF-IDF算法的实现步骤:
(1)计算词频TF:tft,d=词t在文章d中的出现次数,考虑到文章又长又短,为了便于不同文章的比较,进行“词频”标准化。
或者,
为了避免个别词频太高而造成整体不成比例,采取对数处理。
词t在文档d中的对数频率权重为
(2)计算文档频DF:dft=包含词t的文档总数
(3)计算逆文档频率IDF:
IDFt=log10(N/dft)
其中,N为文档总数。如果一个词越常见,即在多数文档中都出现过,那么分母就越大,逆文档频率越小越接近0。
(4)计算TF-IDF值:TF-IDF=TF*IDF。
步骤S34:分别对每个类别中所有的词的TF-IDF值进行降序排列,从TF-IDF值最大值开始选取第二预设个数的词作为每个类别的TF-IDF候选词。
本实施例中,基于TF-IDF的关键词提取算法先计算每个种类中所有词的TF-IDF值,对每一个种类的所有TF-IDF值分别按照数值大小进行降序排列,挑选每个类别数据中TF-IDF值最大的第二预设个数个关键词作为对应类别的候选词。
本实施例中,第二预设个数是预设的经验数,是根据此行业的理解,对不同的分类代表词区分的维度进行确定,具体的第二预设个数可以是10个,本实施例中对此仅作示意性描述,不以此为限。
步骤S35:计算TF-IDF候选词在所对应类别的语料中出现的频率和在其它类别的语料中出现的频率。
本实施例中,计算出每个TF-IDF候选词在该类别语料中出现的频率,计算出每个TF-IDF候选词在其它类别的语料中出现的概率,以便根据这两个计算出的频率确定该TF-IDF候选词作为该类别的关键词是否合适。
步骤S36:若TF-IDF候选词在所对应类别的语料中出现的频率小于在其它类别的语料中出现的频率,则将TF-IDF候选词去除。
本实施例中,当TF-IDF候选词在所对应类别的语料中出现的频率小于在其它类别的语料中出现的频率时,说明该TF-IDF候选词在其它类别的语料中出现的概率更大,该TF-IDF候选词不适合作为该类别的关键词,故将其去除。
具体的,对于类别classi中的候选关键词wj,若wj在classi中出现的频率设为fj,若fj*rate小于wj在其他类别中出现的频率就把wj从该类关键词中删除。rate为根据不同的分类样本数的比值,此rate值是一个超参数,在本实施例中为2,指在不同的分类中,关键词有可能重复,某一个关键词在这一分类中的重要度,是一个0~1的数,由于在本实施例中分类模型是按照分组进行划分的,并且每一个分组内的三个分类也是有优先度的顺序,当属于第一分组第一分类时,判断分组中剩下的两个分类此关键词的比重,此比重加上一个权重的情况下大于当前第一分类的比重,就认为此关键词不能代表词类关键词作为关键词来使用。
步骤S37:若TF-IDF候选词在所对应类别的语料中出现的频率大于或者等于在其它类别的语料中出现的频率,则将TF-IDF候选词保留,保留下来的TF-IDF候选词构成TF-IDF关键词。
本实施例中,当TF-IDF候选词在所对应类别的语料中出现的频率大于或者等于在其它类别的语料中出现的频率时,说明该TF-IDF候选词在该类别的语料中出现的概率更大,该TF-IDF候选词适合作为该类别的关键词,故将TF-IDF候选词保留,将该类别中保留下来的所有TF-IDF候选词作为该类别的关键词。
上述步骤,先计算所有词的TF-IDF权重,挑选每个类别数据中TF-IDF权重最大的k2个关键词作为对应类别的候选词,然后计算每个候选词在该类别语料中出现的频率;候选词在该类别语料中出现的频率小于该候选词在其它类别中出现的频率,就把该候选词从该类关键词中删除;经过删除之后剩下的所有候选词作为最终的TF-IDF关键词;提高了TF-IDF关键词提取的准确性。
作为示例性的实施例,基于Word2vec的特征编码的计算公式为:
其中,wi是第i个词;vectori是wi对应的词向量;m为词的总个数。
基于word2vec的文本向量化,word2vec是一个词向量模型,输入大量的语料,训练后得到一个词向量字典,词向量字典包括了所有的词以及词所对应的词向量。
用word2vec训练得到词向量,wi是词,vectori是wi对应的向量。
w1,vector1
w2,vector2
...
wn,vectorn
将句子中的词映射为Word2Vec向量,并将所有词的Word2Vec向量的平均值作为句子的编码。
例如:
文本:“我想问问这月的话费到期了没,网络不好用,流量包是不是会有优惠?”
分词:“我想问问这月....“”
vector1,vector2,...vectorl
基于word2vec的特征编码为:
D2=(vector1+vector2+vector3+…+vectorl)/l
作为示例性的实施例,步骤S3基于关键词的特征编码的步骤中,包括步骤S38-S39。
步骤S38:将人工提取的关键词、基于信息增益的关键词和基于TF-IDF的关键词构成特征词集合。
本实施例中,关键词提取得到了3类关键词,分别为人工提取的关键词、基于信息增益的关键词和基于TF-IDF的关键词。根据每一类关键词得到每一类关键词所对应的关键词特征,3类关键词特征K1,K2和K3,其中,K1表示人工提取的关键词特征,K2表示基于信息增益的关键词特征,K3表示基于TF-IDF的关键词特征;则特征词集合为(K1,K2,K3)。
步骤S39:根据特征词集合得到基于关键词的特征编码,所述关键词特征编码中包括每个关键词在文本中出现的次数和每类关键词在文本中出现的总次数。
例如,关键词提取得到了3类关键词特征K1,K2,K3,K1表示人工提取的关键词特征,K2表示基于信息增益的关键词特征,K3表示基于TF-IDF的关键词特征;这三类关键词的总个数为k个。
根据特征词集合(K1,K2,K3)得到文本向量:
D=(d1,d2,...dk,dk+1,dk+2,dk+3)
D的前K维d1,d2,...dk分别表示每个关键词在文本中出现的次数,D的后3维dk+1,dk+2,dk+3分别表示每类特征词在文本中出现的总次数。
例如:
K1={网络,缴费}
K2={电话,延期}
K3={到期,流量}
文本:“我想问问这月的话费到期了没,网络不好用,流量包是不是会有优惠?”
关键词集合:{网络,缴费,电话,延期,到期,流量},基于关键词的文本特征编码结果为
D1=(1,0,0,0,1,1,1,0,2)
上述步骤,将人工提取的关键词、基于信息增益的关键词和基于TF-IDF的关键词共同构成特征词集合,根据特征词集合得到基于关键词的特征编码,使得关键词的特征编码更加准确。
在本实施例中还提供了一种分层结构的文本分类***,该***用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的***较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例还提供一种分层结构的文本分类***,如图2所示,包括:
第一获取模块1,用于获取训练文本;
第一处理模块2,用于基于行业的划分规则确定训练文本中所包含的分类种类;
第二处理模块3,用于根据分类种类确定训练文本所对应的分类模型,所述分类模型采用LightGBM分类算法,所述LightGBM分类算法的特征编码包括基于关键词的特征编码和基于Word2vec特征编码,所述关键词包括三类关键词,分别为采用人工预先提取关键词得到人工提取的关键词、采用信息增益提取得到基于信息增益的关键词和采用TF-IDF值提取得到基于TF-IDF的关键词;
第三处理模块4,用于将分类模型进行分组,得到多个分组模型,每个分组模型中包含预设个数的分类模型;
第四处理模块5,用于将多个分组模型进行分层串联,得到最终分类模型;
第二获取模块6,用于获取测试文本;
第五处理模块7,用于将测试文本输入最终分类模型中进行分类,得到测试文本的分类结果。
可选地,所述第二处理模块包括:第一处理单元,用于计算每一个词所对应的信息增益;第二处理单元,用于将所有词的信息增益进行降序排列,从信息增益最大值开始选取第一预设个数的词作为信息增益关键词。
可选地,信息增益的计算公式为:
IG(T)=H(C)-H(C|T)
其中,IG(T)为信息增益;H(C)为信息熵;H(C|T)为条件熵;Ci为文本分类的种类,i=1,2,3...k;P(Ci)为文本中每一个种类出现的概率;P(word)为某个词汇word在所有类别中出现的概率;为某个词汇word在所有类别中不出现的概率;H(C|word)为出现词汇word的文件的条件熵;P(Ci|word)为出现词汇word的情况下是Ci类的概率;为不出现词汇word的文件的条件熵;/>为不出现词汇word的情况下是Ci类的概率。
可选地,所述第二处理模块包括:第三处理单元,用于分别计算每个类别中所有的词所对应的TF-IDF值;第四处理单元,用于分别对每个类别中所有的词的TF-IDF值进行降序排列,从TF-IDF值最大值开始选取第二预设个数的词作为每个类别的TF-IDF候选词;第五处理单元,用于计算TF-IDF候选词在所对应类别的语料中出现的频率和在其它类别的语料中出现的频率;第六处理单元,用于若TF-IDF候选词在所对应类别的语料中出现的频率小于在其它类别的语料中出现的频率,则将TF-IDF候选词去除;第七处理单元,用于若TF-IDF候选词在所对应类别的语料中出现的频率大于或者等于在其它类别的语料中出现的频率,则将TF-IDF候选词保留,保留下来的TF-IDF候选词构成TF-IDF关键词。
可选地,TF-IDF值的计算公式为:
TF-IDF=TF*IDF
或者,
或者,
其中,tft,d为词t在文章d中的出现次数;
IDF=log10(N/dft)
其中,dft为包含词t的文章数;N为文章总数。
可选地,基于Word2vec的特征编码的计算公式为:
其中,wi是第i个词;vectori是wi对应的词向量;m为词的总个数。
可选地,所述第二处理模块包括:第八处理单元,用于将人工提取的关键词、基于信息增益的关键词和基于TF-IDF的关键词构成特征词集合;第九处理单元,用于根据特征词集合得到基于关键词的特征编码,所述关键词特征编码中包括每个关键词在文本中出现的次数和每类关键词在文本中出现的总次数。
本实施例中的分层结构的文本分类***是以功能单元的形式来呈现,这里的单元是指ASIC电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
上述各个模块的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
本发明实施例还提供了一种电子设备,如图3所示,该电子设备包括一个或多个处理器71以及存储器72,图3中以一个处理器71为例。
该控制器还可以包括:输入装置73和输出装置74。
处理器71、存储器72、输入装置73和输出装置74可以通过总线或者其他方式连接,图3中以通过总线连接为例。
处理器71可以为中央处理器(Central Processing Unit,CPU)。处理器71还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。通用处理器可以是微处理器或者是任何常规的处理器等。
存储器72作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本申请实施例中的分层结构的文本分类方法对应的程序指令/模块。处理器71通过运行存储在存储器72中的非暂态软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的分层结构的文本分类方法。
存储器72可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储根据服务器操作的处理装置的使用所创建的数据等。此外,存储器72可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器72可选包括相对于处理器71远程设置的存储器,这些远程存储器可以通过网络连接至网络连接装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置73可接收输入的数字或字符信息,以及产生与服务器的处理装置的用户设置以及功能控制有关的键信号输入。输出装置74可包括显示屏等显示设备。
一个或者多个模块存储在存储器72中,当被一个或者多个处理器71执行时,执行如图1所示的方法。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指示相关的硬件来完成,被执行的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述分层结构的文本分类方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(RandomAccess Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;存储介质还可以包括上述种类的存储器的组合。
虽然结合附图描述了本发明的实施方式,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (8)
1.一种分层结构的文本分类方法,其特征在于,包括:
获取训练文本;
基于行业的划分规则确定训练文本中所包含的分类种类;
根据分类种类确定训练文本所对应的分类模型,所述分类模型采用LightGBM分类算法,所述LightGBM分类算法的特征编码包括基于关键词的特征编码和基于Word2vec特征编码,所述关键词包括三类关键词,分别为采用人工预先提取关键词得到人工提取的关键词、采用信息增益提取得到基于信息增益的关键词和采用TF-IDF值提取得到基于TF-IDF的关键词;
将分类模型进行分组,得到多个分组模型,每个分组模型中包含预设个数的分类模型;
将多个分组模型进行分层串联,得到最终分类模型;
获取待测试文本;
将待测试文本输入最终分类模型中进行分类,得到待测试文本的分类结果;
其中,采用信息增益提取得到基于信息增益的关键词的步骤中,包括:
计算每一个词所对应的信息增益;
将所有词的信息增益进行降序排列,从信息增益最大值开始选取第一预设个数的词作为信息增益关键词;
信息增益的计算公式为:
IG(T)=H(C)-H(C|T)
其中,IG(T)为信息增益;H(C)为信息熵;H(C|T)为条件熵;Ci为文本分类的种类,i=1,2,3…k;P(Ci)为文本中每一个种类出现的概率;P(word)为某个词汇word在所有类别中出现的概率;为某个词汇word在所有类别中不出现的概率;H(C|word)为出现词汇word的文件的条件熵;P(Ci|word)为出现词汇word的情况下是Ci类的概率;/>为不出现词汇word的文件的条件熵;/>为不出现词汇word的情况下是Ci类的概率。
2.根据权利要求1所述的分层结构的文本分类方法,其特征在于,采用TF-IDF值提取得到基于TF-IDF的关键词的步骤中,包括:
分别计算每个类别中所有的词所对应的TF-IDF值;
分别对每个类别中所有的词的TF-IDF值进行降序排列,从TF-IDF值最大值开始选取第二预设个数的词作为每个类别的TF-IDF候选词;
计算TF-IDF候选词在所对应类别的语料中出现的频率和在其它类别的语料中出现的频率;
若TF-IDF候选词在所对应类别的语料中出现的频率小于在其它类别的语料中出现的频率,则将TF-IDF候选词去除;
若TF-IDF候选词在所对应类别的语料中出现的频率大于或者等于在其它类别的语料中出现的频率,则将TF-IDF候选词保留,保留下来的TF-IDF候选词构成TF-IDF关键词。
3.根据权利要求2所述的分层结构的文本分类方法,其特征在于,TF-IDF值的计算公式为:
TF-IDF=TF*IDF
或者,
或者,
其中,tft,d为词t在文章d中的出现次数;
IDF=log10(N/dft)
其中,dft为包含词t的文章数;N为文章总数。
4.根据权利要求1-3中任一所述的分层结构的文本分类方法,其特征在于,基于Word2vec的特征编码的计算公式为:
其中,wi是第i个词;vectori是wi对应的词向量;m为词的总个数。
5.根据权利要求1-3中任一所述的分层结构的文本分类方法,其特征在于,基于关键词的特征编码的步骤中,包括:
将人工提取的关键词、基于信息增益的关键词和基于TF-IDF的关键词构成特征词集合;
根据特征词集合得到基于关键词的特征编码,所述关键词特征编码中包括每个关键词在文本中出现的次数和每类关键词在文本中出现的总次数。
6.一种采用如权利要求1所述的文本分类方法的分层结构的文本分类***,其特征在于,包括:
第一获取模块,用于获取训练文本;
第一处理模块,用于基于行业的划分规则确定训练文本中所包含的分类种类;
第二处理模块,用于根据分类种类确定训练文本所对应的分类模型,所述分类模型采用LightGBM分类算法,所述LightGBM分类算法的特征编码包括基于关键词的特征编码和基于Word2vec特征编码,所述关键词包括三类关键词,分别为采用人工预先提取关键词得到人工提取的关键词、采用信息增益提取得到基于信息增益的关键词和采用TF-IDF值提取得到基于TF-IDF的关键词;
第三处理模块,用于将分类模型进行分组,得到多个分组模型,每个分组模型中包含预设个数的分类模型;
第四处理模块,用于将多个分组模型进行分层串联,得到最终分类模型;
第二获取模块,用于获取测试文本;
第五处理模块,用于将测试文本输入最终分类模型中进行分类,得到测试文本的分类结果。
7.一种电子设备,其特征在于,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器执行权利要求1-5任意一项所述的分层结构的文本分类方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行权利要求1-5任意一项所述的分层结构的文本分类方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110364490.3A CN114281983B (zh) | 2021-04-05 | 2021-04-05 | 分层结构的文本分类方法、***、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110364490.3A CN114281983B (zh) | 2021-04-05 | 2021-04-05 | 分层结构的文本分类方法、***、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114281983A CN114281983A (zh) | 2022-04-05 |
CN114281983B true CN114281983B (zh) | 2024-04-12 |
Family
ID=80868497
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110364490.3A Active CN114281983B (zh) | 2021-04-05 | 2021-04-05 | 分层结构的文本分类方法、***、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114281983B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117275752B (zh) * | 2023-11-20 | 2024-03-22 | 中国人民解放军总医院 | 基于机器学习的病例聚类分析方法及*** |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103823847A (zh) * | 2014-01-28 | 2014-05-28 | 亿赞普(北京)科技有限公司 | 一种关键词的扩充方法及装置 |
EP3133532A1 (en) * | 2015-08-19 | 2017-02-22 | Xiaomi Inc. | Method and device for training classifier and recognizing a type of information |
WO2017101342A1 (zh) * | 2015-12-15 | 2017-06-22 | 乐视控股(北京)有限公司 | 情感分类方法及装置 |
CN107545038A (zh) * | 2017-07-31 | 2018-01-05 | 中国农业大学 | 一种文本分类方法与设备 |
CN110472240A (zh) * | 2019-07-26 | 2019-11-19 | 北京影谱科技股份有限公司 | 基于tf-idf的文本特征提取方法和装置 |
CN111159349A (zh) * | 2019-12-30 | 2020-05-15 | 佰聆数据股份有限公司 | 基于自然语言处理技术的电力诉求工单自动分类方法、***、存储介质及计算机设备 |
CN112287682A (zh) * | 2020-12-28 | 2021-01-29 | 北京智慧星光信息技术有限公司 | 一种主题词提取方法、装置、设备及存储介质 |
-
2021
- 2021-04-05 CN CN202110364490.3A patent/CN114281983B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103823847A (zh) * | 2014-01-28 | 2014-05-28 | 亿赞普(北京)科技有限公司 | 一种关键词的扩充方法及装置 |
EP3133532A1 (en) * | 2015-08-19 | 2017-02-22 | Xiaomi Inc. | Method and device for training classifier and recognizing a type of information |
WO2017101342A1 (zh) * | 2015-12-15 | 2017-06-22 | 乐视控股(北京)有限公司 | 情感分类方法及装置 |
CN107545038A (zh) * | 2017-07-31 | 2018-01-05 | 中国农业大学 | 一种文本分类方法与设备 |
CN110472240A (zh) * | 2019-07-26 | 2019-11-19 | 北京影谱科技股份有限公司 | 基于tf-idf的文本特征提取方法和装置 |
CN111159349A (zh) * | 2019-12-30 | 2020-05-15 | 佰聆数据股份有限公司 | 基于自然语言处理技术的电力诉求工单自动分类方法、***、存储介质及计算机设备 |
CN112287682A (zh) * | 2020-12-28 | 2021-01-29 | 北京智慧星光信息技术有限公司 | 一种主题词提取方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114281983A (zh) | 2022-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108363790B (zh) | 用于对评论进行评估的方法、装置、设备和存储介质 | |
CN108073568B (zh) | 关键词提取方法和装置 | |
CN111414479B (zh) | 基于短文本聚类技术的标签抽取方法 | |
CN110019794B (zh) | 文本资源的分类方法、装置、存储介质及电子装置 | |
CN110442702B (zh) | 搜索方法、装置、可读存储介质和电子设备 | |
CN112395395B (zh) | 文本关键词提取方法、装置、设备及存储介质 | |
CN110909160A (zh) | 正则表达式生成方法、服务器及计算机可读存储介质 | |
CN110263854B (zh) | 直播标签确定方法、装置及存储介质 | |
WO2022121163A1 (zh) | 用户行为倾向识别方法、装置、设备及存储介质 | |
JP2006293767A (ja) | 文章分類装置、文章分類方法および分類辞書作成装置 | |
CN111737464B (zh) | 文本分类方法、装置和电子设备 | |
CN108665148B (zh) | 一种电子资源质量评价方法、装置和存储介质 | |
CN109446393B (zh) | 一种网络社区话题分类方法及装置 | |
CN108304509A (zh) | 一种基于文本多向量表示相互学习的垃圾评论过滤方法 | |
CN110969172A (zh) | 一种文本的分类方法以及相关设备 | |
CN114281983B (zh) | 分层结构的文本分类方法、***、电子设备和存储介质 | |
CN113486670B (zh) | 基于目标语义的文本分类方法、装置、设备及存储介质 | |
CN107908649B (zh) | 一种文本分类的控制方法 | |
CN117407505A (zh) | 一种融合文档知识和问答对数据的问答检索方法及*** | |
CN111859955A (zh) | 一种基于深度学习的舆情数据分析模型 | |
CN107577690B (zh) | 海量信息数据的推荐方法及推荐装置 | |
CN113656575B (zh) | 训练数据的生成方法、装置、电子设备及可读介质 | |
CN106649255A (zh) | 一种对短文本自动分类和识别主题词的方法 | |
CN110119770B (zh) | 决策树模型构建方法、装置、电子设备及介质 | |
CN111339287B (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 |