CN112966109B - 一种多层级的中文文本的分类方法及其系统 - Google Patents
一种多层级的中文文本的分类方法及其系统 Download PDFInfo
- Publication number
- CN112966109B CN112966109B CN202110255154.5A CN202110255154A CN112966109B CN 112966109 B CN112966109 B CN 112966109B CN 202110255154 A CN202110255154 A CN 202110255154A CN 112966109 B CN112966109 B CN 112966109B
- Authority
- CN
- China
- Prior art keywords
- classification
- classification model
- model
- level
- fine
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种多层级的中文文本的分类方法及其系统,其中多层级的中文文本的分类方法具体包括以下步骤:获取文本数据;对文本数据进行处理,得到特征库;响应于特征库构建完成,构建并训练粗分类模型;响应于完成粗分类模型的构建,进行细分类模型的构建;对训练好的粗分类模型和细分类模型进行测试。本申请结合分级结构的数据特点,利用深度学习方法进行粗分类,利用机器学习算法进行细分类,最终实现准确率较高的文本分类。
Description
技术领域
本申请涉及大数据领域,具体地,涉及一种多层级的中文文本的分类方法及其系统。
背景技术
现有技术中,文本分类是计算机对自然语言按照一定的分类体系进行自动化归类的过程,在很多领域有重大应用。随着应用场景的不断增多,分类体系大的场景越来越常见,以客服中心平台为例,希望能够通过自动文本分类的手段,实现客户来访工单的准确分类及快速记录,从而达到加快现场话务员服务响应能效,提升整体服务质量,提高热线整体运营数据分析的智能化程度,优化管理的效果。但由于业务逻辑复杂,此场景下的分类体系十分庞大,不同于传统文本分类问题。分类体系大往往伴随着类别间存在着更丰富的关系,比如层级关系。这种多层级的分类体系是指,多个类别的层级之间是递进关系,一般是首先分为几大类,每一大类中包含若干中类,每个中类中又包含若干小类,每一小类下再分小小类,如此顺延,最后,每一个文本都可以分到某一个类目下,而其中的大类、中类、小类、小小类等之间存在着自上而下的逻辑关系。因此,为了充分利用这种关系,现有性能较好的方法是使用机器学习算法进行分层分类,即每层使用一个模型进行分类,下一层在上一层的分类结果上继续分类,直到得到最后的分类结果。目前这种分层分类方法取得了相对于传统文本分类方法更好的效果。
但是,目前分层方法对每层都采用对每个类别单独训练机器学习模型的方式,由于类别众多且类别间数据不均衡,容易导致模型受到数据稀疏性影响,难以达到较高的准确率。并且,在前几层数据较为充足的情况下,受限于算法本身的性能,这种方法在前面几个层级上的准确率并不高,从而影响最终的分类准确率。现有的基于深度学习的方法在分类类别数较小的文本分类问题上取得了很高的精度,然而,由于类别众多和类别间数据不均衡性的限制,若在此类问题上直接应用现有的深度学习方法,准确率非常有限。因此,如何将现有的基于分层的方法和基于深度学习方法有效结合起来,目前还没有相应的成熟方案。
因此如何将现有的基于分层的方法和基于深度学习方法有效结合起来,得到准确有效的文本分类,依然是本领域技术人员急需要解决的关键问题。
发明内容
本发明提出一种多层级的中文文本的分类方法及其系统,能够将现有的基于分层的方法和基于深度学习方法有效结合起来,解决现有技术中准确有效进行文本分类的问题。
为达到上述目的,本申请提供了一种多层级的中文文本的分类方法,具体包括以下步骤:获取文本数据;对文本数据进行处理,得到特征库;响应于特征库构建完成,构建并训练粗分类模型;响应于完成粗分类模型的构建,进行细分类模型的构建;对训练好的粗分类模型和细分类模型进行测试。
如上的,其中,文本数据包括获取文本数据遵循的分类体系,以及根据文本数据划分的训练数据集合、验证数据集合以及待分类的测试数据集合。
如上的,其中,对文本数据进行处理,得到特征库,具体包括以下子步骤:构建停用词库;构建停用词库后,对文本数据进行分词处理;根据构建的停用词库对分词后的文本数据进行第一次筛选,得到第一次筛选结果;对第一次筛选结果进行第二次筛选,得到特征库。
如上的,其中,响应于特征库构建完成,构建并训练粗分类模型,具体包括以下子步骤:在分类体系的N个层级中选取n个高层级;在每一高层级中构建粗分类模型,通过粗分类模型得到该高层级的分类结果。
如上的,其中,每一高层级包含一个粗分类模型,每一高层级的粗分类模型将训练集合中的数据分到该高层级中相应的一个类别中。
如上的,其中,响应于完成粗分类模块的构建,进行细分类模型的构建,具体包括以下子步骤:构建多叉树结构,并将分类结果写入到多叉树中的分类文件中;响应于写入到分类文件中,获取分类体系的低层级;构建并训练低层级的细分类模型。
如上的,其中,每一个低层级中包括若干个类别,每一个类别对应一个细分类模型。
如上的,其中,在训练细分类模型中,还包括对细分类模型的验证;对细分类模型的验证包括,利用XGBOOST算法获取每一个细分类模型的分类结果,每完成任意细分类模型的一次训练后,在验证集合中进行该细分类模型的验证;在验证集合中验证一次后,获取分类结果的准确率;当任意细分类模型在验证集合验证指定次数后所得到的准确率不再上升时,则验证通过,结束对该细分类模型的训练。
如上的,其中,对训练好的粗分类模型和细分类模型进行测试,包括,依次逐条读取文本数据中的测试集合中的测试数据,对测试数据依次进行粗分类和细分类。
一种多层级的中文文本的分类系统,具体包括:获取单元、特征库构建单元、高层级分类结果获取单元、低层级分类结果获取单元以及测试单元;获取单元,用于获取文本数据;特征库构建单元,用于对文本数据进行处理,得到特征库;粗分类模型构建单元,用于构建并训练CNN模型;细分类模型构建单元,用于响应于完成高层级的分类,进行细分类模型的构建和训练;测试单元,用于对训练好的粗分类模型和细分类模型进行测试。
本申请具有以下有益效果:
(1)本申请结合分级结构的数据特点,利用深度学习方法进行粗分类,利用机器学习算法进行细分类,最终实现准确率较高的文本分类。
(2)本申请提出了一种粗分类细分类相结合的分类框架,此框架充分利用了分层类别体系不同层级具有不同的数据特点,针对不同层采用不同的分类方法,在前几层,分类类别数量较少,数据量相对充足,所以可以使用性能较好的深度学习方法做分类,其分类空间为本层的全部类别,因此每层只需要训练一个模型,在节省了训练资源同时提高精度。在后几层,分类类别数量变多,数据稀疏性的问题开始出现,此时需要对每个类别单独训练模型来减小每个模型的分类空间,减弱数据稀疏性的影响。粗分类和细分类相结合,可以最大化利用深度学习的优势提高性能,同时减弱系统复杂度。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是根据本申请实施例提供的一种多层级的中文文本的分类方法流程图;
图2是根据本申请实施例提供的一种多层级的中文文本的分类系统的内部结构图;
图3是根据本申请实施例提供的分类体系的结构示意图。
具体实施方式
下面结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请涉及一种多层级的中文文本的分类方法及其系统。根据本申请,能够使用粗分类模块和细分类模块相结合的分类框架,解决类别数量达到上百甚至上千的规模的文本分类问题。
如图1所示为本申请提供的多层级的中文文本的分类方法,具体包括以下步骤:
步骤S110:获取文本数据。
获取的文本数据包括获取文本数据遵循的分类体系,以及根据文本数据划分的训练数据集合、验证数据集合以及待分类的测试数据集合。
其中分类体系以树形结构存在。其中请参见图3,分类体系共包含N个层级(不包含0层),每一层级包含指定数量的类别,例如第一层级包括9个类别,从第一层级的左边开始为第一个类别,最右边为第九类别。第二层级包含63个类别,第三层级包含226个类别等。
其中为了方便理解,将图3中的类别以数字代替,具体类别可根据实际情况进行设定,在此不进行限定。
优选地,分类体系的N层级中包含低层级和高层级,其中每一个层级的类别是上一个层级的子类别。也就是说,第一层级的每一个类别中,包含指定数量的第二层级的类别,第二层级的每一个类别中,包含指定数量的第三层级的类别,以此类推。
作为举例,当分类体系为4层时,则选取第一、二层作为高层级,第三、四层为低层级。其中第二层级的类别是第一层级的子类别,第三层级是第二层级的子类别,第四层级是第三层级的子类别。
步骤S120:对文本数据进行处理,得到特征库。
具体地,选择相应的分词工具对文本数据中的中文文本进行分词,并将分词结果通过停用词库进行筛除,然后选取特征词并存储在特征文件中。其中步骤S120具体包括以下子步骤:
步骤S1201:构建停用词库。
具体地,根据实际情况的需要,增添、删改停用词库,停用词库包括数字和英文字符和副词、语气词等。
步骤S1202:构建停用词库后,对文本数据进行分词处理。
具体地,利用jieba中文分词工具依次对文本数据中的文本进行分词。
步骤S1203:根据构建的停用词库对分词后的文本数据进行第一次筛选,得到第一次筛选结果。
具体地,根据停用词库中的停用词对分词后的文本数据进行第一筛选,将第一筛选后,剩余的词作为第一次筛选结果。
步骤S1204:对第一次筛选结果进行第二次筛选,得到特征库。
其中,第二次筛选是为了提取文本数据中的特征词,在特征词提取中,查看某个词与分类体系中的类别是不是存在比较强的相关性,如果存在较强的相关性,那么这个词就具有表征此文本数据的能力,这个词即可以作为特征词。
具体地,使用CHI检验方法提取特征词。首先给文本数据选出150维的特征并去重,可以获得1000维左右的特征,接着为文本数据构造向量空间模型,即使用TF-IDF(词频-逆文件频率)方法计算各特征的权重,得到表示该文本数据的特征向量,选择指定数量维特征作为特征库(例如前600维特征),并保存对应的特征文件中。
步骤S130:响应于特征库构建完成,构建并训练粗分类模型。
其中粗分类模型为CNN模型,步骤S130具体包括以下子步骤:
步骤S1301:在分类体系的N个层级中选取n层高层级。
其中分层体系的层数N为固定设置,n层高基层的具体层数可以由工作人员根据实际情况进行设置,在此不进行限定。
步骤S1302:在每一高层级中构建CNN模型,通过CNN模型得到高层级的分类结果。
具体地,其中每一高层级包含一个CNN模型,每一高层级的CNN模型将训练集合中的数据分到该高层级中相应的一个类别中,例如第一层级的CNN模型将训练集合中的数据划分到第一层级的第3个类别中,第二层级的CNN模型将训练集合中的数据划分到第二层级的第30个类别中。
其中若包含3层高层级,则在第一至三层级中分别构建一个CNN模型。将第一层级的CNN模型定义为第一CNN模型,将第二层级的CNN模型定义为第二CNN模型,以此类推,将第n层的CNN模型定义为第nCNN模型。其中可根据现有的方法进行CNN模型的构建。
其中步骤S1302具体包括以下子步骤:
步骤T1:对第一高层级的第一CNN模型进行训练。
具体地,构建的第一高层级的第一CNN模型包括卷积层、池化层再接全连接层。根据步骤S110中获得的训练集合中的数据对第一CNN模型进行训练。
优选地,对第一高层级使用CNN算法进行CNN模型的训练。
步骤T2:对第一CNN模型进行验证,获取第一层级的第一分类结果。
其中,每一个CNN模型在训练集合中每训练一次,就需要在验证集合中进行验证。其中在验证之前,使用softmax函数得到第一CNN模型的分类得分,取得分最大的作为分类结果,分类结果ci表示为:
ci=max(xi)
其中,xi为得分的分布,xi=softmax(MLP(hi)),hi为CNN的最后一个池化层的向量,MLP为全连接层。
当第一CNN模型在验证集合中验证后,得到关于分类结果的准确率,每在验证集合中验证一次后,都会得到一个关于分类结果的准确率。其中当第一CNN模型在验证集合验证指定次数后所得到的准确率不再上升时,则验证通过,结束对第一CNN模型的训练,准确率不再上升所对应的分类结果为第一分类结果。若验证不通过,则继续对第一CNN模型进行训练以及验证。
其中,由于每一层级中都有对应的固定的类别,例如第一层级中有9个类别,利用训练结束的第一CNN模型将训练数据结合中的文本分到相应的类别中。第一分类结果为准确率不再上升所对应的分类结果,同时保存模型参数。
步骤T3:根据第一分类结果对第二CNN模型进行训练。
具体地,优先执行第一层级的训练以及验证,当验证通过后并得到第一层级的分类结果,进行第二高层级的训练。其中在执行第二高层级的训练之前,还包括,对第二高层级的第二CNN模型中的池化层进行拼接处理。
每一高层级的分类结果是下一层类别的父类(例如第一高层级的分类结果是第二层级的父类,第二高层级的分类结果是第一高层级的分类结果的子类),对下一层的分类有指导作用,所以将上一层CNN最后一个池化层的向量与本层CNN的最后一个池化层的向量做拼接,再经过一个全连接层输出分类结果。
具体地,将验证通过的第一CNN模型的卷积层和池化层的参数传递给第二CNN模型对应的卷积层和池化层,并将第一CNN模型最后一个池化层的向量与第二CNN模型的最后一个池化层的向量做拼接,再经过一个全连接层输出一个分类结果,分类结果ci具体表示为:
ci=max(xi)
其中,xi为得分的分布,xi=softmax(MLP(hi)),hi为CNN的最后一个池化层的向量,MLP为全连接层。
获取分类结果后,对第二高层级的第二CNN模型进行训练,同样根据步骤S110中获得的训练集合对第一高层级的CNN模型进行训练。
步骤T4:对第二CNN模型进行验证,获取第二分类结果。
每一个CNN模型在训练集合中每训练一次,就需要在验证集合中进行验证,其中对第二CNN模型验证与第一CNN模型验证的方法相同。当第二CNN模型再验证集中的准确率不再上升时,将该准确率对应的分类结果作为第二分类结果。
以此类推,根据上述方法,通过不断对每一层级的CNN模型进行训练以及验证,得到训练数据在高层级的分类结果。以第一、二层级为例,由于第一层级的分类结果是第二层级的父类,第二层级的分类结果是第一层级的分类结果的子类,因此若将训练数据分到第一层级的第二类别中,则第二层级数据的分类结果是将训练数据分到第二类别中的子类别中。
优选地,将训练好的CNN模型的参数保存在粗模型文件中。
由于CNN模型的卷积层和池化层捕捉的是较为底层和通用的特征,这些信息同样适用于后面的层级,因此将第一CNN模型的卷积层和池化层的参数传递给第二CNN模型对应的卷积层和池化层,这样,每个下一层级的CNN模型均可以在上一层级的CNN模型学习到的经验的基础上进一步进行更细致的学习,所得到的分类结果更加准确。
步骤S140:响应于完成粗分类模块的构建,进行细分类模型的构建。
其中,经过粗分类模块的分类后,每一条训练集合中的数据落在了第n层级的某个类别上,接着,进行细分类的模块。由于在分类体系的较低层级,分类类别数量变多,数据稀疏性的问题开始出现,此时需要对每个类别单独训练模型来减小每个模型的分类空间,减弱数据稀疏性的影响。
由于每个类别的数据量相对较少且要训练的模型较多,深度学习模型由于复杂度高且容易过拟合的原因不再适用,选择使用树模型进行分类。
步骤S1401:构建多叉树结构,并将分类结果写入到多叉树中的分类文件中。
具体地,根据分类体系构建与该树形结构对应的N层文本分类多叉树,根据所述N层文本分类多叉树的结构,将分类后的训练数据集合中的训练数据分别写入到各层级对应的分类文件中。例如训练集合中属于一层级的训练数据保存在第一层级的第一分类文件中,训练集合中属于二层级的训练数据分别保存在第二层级的第二分类文件中。
其中分类文件的数量有多个,每一层级对应的分类文件也有多个。
步骤S1402:响应于写入到分类文件中,获取分类体系的低层级。
其中步骤S130中,在N层分类体系中选取n层高层级,将剩余N-n层作为低层级。例如分类体系为4层,选取第一、二层为高层级,那么将剩余的第三、四层作为低层级。
步骤S1403:构建并训练低层级的细分类模型。
其中,根据每一低层级的类别数量,构建细分类模型。细分类模型选取XGBOOST细分类模型,将步骤1保存的特征库中的数据导入XGBOOST细分类模型中。
进一步地,根据低层级的数量分别确定每一低层级的细分类模型。作为举例,若第三层包含的类别为226个,则构建的细分类模型的数量为226个,构建的细分类模型与对应层级的类别一一对应。具体地,每一个低层级中包括若干个类别,每一个类别对应一个细分类模型,每一层级的一个细分类模型将训练集合中的数据分到该层级对应的一个类别中。
其中,可采用现有的方法进行XGBOOST细分类模型的构建,同时对构建好的每一低层级的多个细分类模型同时训练。在训练的过程中,还包括,对每一个细分类模型进行验证,若验证通过,则该细分类模型训练结束,否则继续利用训练集合中的数据对该细分类模型进行训练。
具体地,每一个细分类模型在训练集合中每训练一次,就需要在验证集合中进行验证。
其中对细分类模型的验证具体为,利用XGBOOST算法获取每一个细分类模型的分类结果,每完成任意细分类模型的一次训练后,都需要在验证集合中进行该细分类模型的验证,在验证集合中验证一次后,都会得到一个关于分类结果的准确率。其中当任意细分类模型在验证集合验证指定次数后所得到的准确率不再上升时,则验证通过,结束对该细分类模型的训练。
其中任意细分类模型的分类结果表示为:
分类结果ci表示为:
ci=max(xi)
其中,xi为得分的分布,xi=softmax(MLP(hi)),hi为CNN的最后一个池化层的向量,MLP为全连接层。
通过上述方法,完成低层级的所有细分类模型的训练,并得到关于训练数据在低层级中的分类结果。
优选地,将训练好的细分类模型的参数保存在细模型文件中。
步骤S150:对训练好的粗分类模型和细分类模型进行测试。
其中,依次逐条读取步骤S110中的测试集合中的测试数据,对测试数据依次进行粗分类和细分类。
具体地,加载粗模型文件获取第一CNN模型,将测试数据放入第一层级的第一CNN模型中进行第一层级的分类,将分类的类别进行保存,同时获取第一CNN模型的池化层的向量进行第二CNN模型中的池化层拼接,获取第二层级的CNN模型进行第二层级的分类,并保存分类结果。然后利用细分类模型对第二层级的分类进行细分类。
进一步地,加载细模型文件,获取第三层级的细分类模型进行分类,根据第三层级的分类结果加载第四层级的细分类模型,以此类推,直至完成N层级的分类。
其中由于低层级的类别是高层级类别的子类别,因此低层级的分类结果是根据上一层高层级的分类结果确定的,加载的低层级的分类结果是根据上一层的分类结果确定的。例如加载的第三层级的细分类模型是根据第二CNN模型的分类结果进行确定的。
依然以4层分类体系举例,第一层级的第一CNN模型将训练集合中的数据划分到了第三类别中,若第二层级的分类结果是分到了第三类别对应的任一子类别中,则第三层级就是将训练集合中的数据分到任一子类别对应的下一子类别中。第三层级加载的细分类模型是任一子类别对应的下一子类别所对应的细分类模型。其中依然可参见图3,若第二层级分类结果将训练数据集合中的数据划分到了第一类别中的第一子类别中,则第三层级需要将训练集合中的数据分到第一子类别对应的第一到四的任一子类别中,第三层级加载的就是第一到四子类别对应的细分类模型。通过上述方法,能够将文本数据分到N层的某一个类别中,完成了分类。
如图2所示,为本申请提供的多层级的中文文本的分类系统,具体包括:获取单元201、特征库构建单元202、粗分类模型构建单元203、细分类模型构建单元204、测试单元205。
其中获取单元201用于获取文本数据。
特征库构建单元202与获取单元201连接,用于对文本数据进行处理,得到特征库。
高层级分类结果获取单元203与特征库构建单元202连接,用于构建并训练CNN模型,得到高层级的分类结果。
低层级分类结果获取单元204与高层级分类结果获取单元203连接,用于响应于完成高层级的分类,进行细分类模型的构建,得到低层级的分类结果。
测试单元205分别与高层级分类结果获取单元203和低层级分类结果获取单元204连接,用于对训练好的粗分类模型和细分类模型进行测试。
本申请具有以下有益效果:
(2)本申请结合分级结构的数据特点,利用深度学习方法进行粗分类,利用机器学习算法进行细分类,最终实现准确率较高的文本分类。
(3)本申请提出了一种粗分类细分类相结合的分类框架,此框架充分利用了分层类别体系不同层级具有不同的数据特点,针对不同层采用不同的分类方法,在前几层,分类类别数量较少,数据量相对充足,所以可以使用性能较好的深度学习方法做分类,其分类空间为本层的全部类别,因此每层只需要训练一个模型,在节省了训练资源同时提高精度。在后几层,分类类别数量变多,数据稀疏性的问题开始出现,此时需要对每个类别单独训练模型来减小每个模型的分类空间,减弱数据稀疏性的影响。粗分类和细分类相结合,可以最大化利用深度学习的优势提高性能,同时减弱系统复杂度。
虽然当前申请参考的示例被描述,其只是为了解释的目的而不是对本申请的限制,对实施方式的改变,增加和/或删除可以被做出而不脱离本申请的范围。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (9)
1.一种多层级的中文文本的分类方法,其特征在于,具体包括以下步骤:
获取文本数据;
对文本数据进行处理,得到特征库;
响应于特征库构建完成,构建并训练粗分类模型;
响应于完成粗分类模型的构建,进行细分类模型的构建;
对训练好的粗分类模型和细分类模型进行测试;
响应于特征库构建完成,构建并训练粗分类模型,具体包括以下子步骤:
在分类体系的N个层级中选取n个高层级;
在每一高层级中构建粗分类模型,通过粗分类模型得到该高层级的分类结果;每一高层级包含一个粗分类模型;
其中在每一高层级中构建粗分类模型,通过粗分类模型得到高层级的分类结果包括以下子步骤:
对第一粗分类模型进行训练;
对训练后的第一粗分类模型进行验证,获取第一层级的第一分类结果;
根据第一分类结果对第二粗分类模型进行训练;
对训练后的第二粗分类模型进行验证,获取第二分类结果;
其中在验证之前,使用softmax函数得到第一粗分类模型的分类得分,取得分最大的作为分类结果,分类结果ci表示为:
ci=max(xi)
其中,xi为得分的分布,xi=softmax(MLP(hi)),hi为粗分类模型的最后一个池化层的向量,MLP为全连接层;
第一粗分类模型和第二粗分类模型在训练集合中每训练一次,就需要在验证集合中进行验证,当第一粗分类模型和第二粗分类模型在验证集验证指定次数后所得到的分类结果的准确率不再上升时,分别得到第一分类结果和第二分类结果,根据第一分类结果和第二分类结果分别将训练数据集合中的文本分到相应的所属类别中。
2.如权利要求1所述的多层级的中文文本的分类方法,其特征在于,文本数据包括获取文本数据遵循的分类体系,以及根据文本数据划分的训练数据集合、验证数据集合以及待分类的测试数据集合。
3.如权利要求1所述的多层级的中文文本的分类方法,其特征在于,对文本数据进行处理,得到特征库,具体包括以下子步骤:
构建停用词库;
构建停用词库后,对文本数据进行分词处理;
根据构建的停用词库对分词后的文本数据进行第一次筛选,得到第一次筛选结果;
对第一次筛选结果进行第二次筛选,得到特征库。
4.如权利要求1所述的多层级的中文文本的分类方法,其特征在于,每一高层级包含一个粗分类模型,每一高层级的粗分类模型将训练集合中的数据分到该高层级中相应的一个类别中。
5.如权利要求1所述的多层级的中文文本的分类方法,其特征在于,响应于完成粗分类模块的构建,进行细分类模型的构建,具体包括以下子步骤:
构建多叉树结构,并将分类结果写入到多叉树中的分类文件中;
响应于写入到分类文件中,获取分类体系的低层级;
构建并训练低层级的细分类模型。
6.如权利要求5所述的多层级的中文文本的分类方法,其特征在于,每一个低层级中包括若干个类别,每一个类别对应一个细分类模型。
7.如权利要求6所述的多层级的中文文本的分类方法,其特征在于,在训练细分类模型中,还包括对细分类模型的验证;
对细分类模型的验证包括,利用XGBOOST算法获取每一个细分类模型的分类结果,每完成任意细分类模型的一次训练后,在验证集合中进行该细分类模型的验证;在验证集合中验证一次后,获取分类结果的准确率;当任意细分类模型在验证集合验证指定次数后所得到的准确率不再上升时,则验证通过,结束对该细分类模型的训练。
8.如权利要求7所述的多层级的中文文本的分类方法,其特征在于,对训练好的粗分类模型和细分类模型进行测试,包括,依次逐条读取文本数据中的测试集合中的测试数据,对测试数据依次进行粗分类和细分类。
9.一种多层级的中文文本的分类系统,其特征在于,具体包括:获取单元、特征库构建单元、高层级分类结果获取单元、低层级分类结果获取单元以及测试单元;
获取单元,用于获取文本数据;
特征库构建单元,用于对文本数据进行处理,得到特征库;
粗分类模型构建单元,用于构建并训练粗分类模型;
细分类模型构建单元,用于响应于完成高层级的分类,进行细分类模型的构建和训练;
测试单元,用于对训练好的粗分类模型和细分类模型进行测试;
粗分类模型构建单元构建并训练粗分类模型,具体包括以下子步骤:
在分类体系的N个层级中选取n个高层级;
在每一高层级中构建粗分类模型,通过粗分类模型得到该高层级的分类结果;每一高层级包含一个粗分类模型;
其中在每一高层级中构建粗分类模型,通过粗分类模型得到高层级的分类结果包括以下子步骤:
对第一粗分类模型进行训练;
对训练后的第一粗分类模型进行验证,获取第一层级的第一分类结果;
根据第一分类结果对第二粗分类模型进行训练;
对训练后的第二粗分类模型进行验证,获取第二分类结果;
其中在验证之前,使用softmax函数得到第一粗分类模型的分类得分,取得分最大的作为分类结果,分类结果ci表示为:
ci=max(xi)
其中,xi为得分的分布,xi=softmax(MLP(hi)),hi为粗分类模型的最后一个池化层的向量,MLP为全连接层;
第一粗分类模型和第二粗分类模型在训练集合中每训练一次,就需要在验证集合中进行验证,当第一粗分类模型和第二粗分类模型在验证集验证指定次数后所得到的分类结果的准确率不再上升时,分别得到第一分类结果和第二分类结果,根据第一分类结果和第二分类结果分别将训练数据集合中的文本分到相应的所属类别中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110255154.5A CN112966109B (zh) | 2021-03-09 | 2021-03-09 | 一种多层级的中文文本的分类方法及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110255154.5A CN112966109B (zh) | 2021-03-09 | 2021-03-09 | 一种多层级的中文文本的分类方法及其系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112966109A CN112966109A (zh) | 2021-06-15 |
CN112966109B true CN112966109B (zh) | 2023-04-18 |
Family
ID=76277613
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110255154.5A Active CN112966109B (zh) | 2021-03-09 | 2021-03-09 | 一种多层级的中文文本的分类方法及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112966109B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113254595B (zh) * | 2021-06-22 | 2021-10-22 | 北京沃丰时代数据科技有限公司 | 闲聊识别方法、装置、电子设备及存储介质 |
CN113536806B (zh) * | 2021-07-18 | 2023-09-08 | 北京奇艺世纪科技有限公司 | 一种文本分类方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8458154B2 (en) * | 2009-08-14 | 2013-06-04 | Buzzmetrics, Ltd. | Methods and apparatus to classify text communications |
CN107885719B (zh) * | 2017-09-20 | 2021-06-11 | 北京百度网讯科技有限公司 | 基于人工智能的词汇类别挖掘方法、装置及存储介质 |
CN107908635B (zh) * | 2017-09-26 | 2021-04-16 | 百度在线网络技术(北京)有限公司 | 建立文本分类模型以及文本分类的方法、装置 |
CN111538766B (zh) * | 2020-05-19 | 2023-06-30 | 支付宝(杭州)信息技术有限公司 | 一种文本分类方法、装置、处理设备和票据分类系统 |
CN112085012B (zh) * | 2020-09-04 | 2024-03-08 | 泰康保险集团股份有限公司 | 项目名称和类别识别方法及装置 |
-
2021
- 2021-03-09 CN CN202110255154.5A patent/CN112966109B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112966109A (zh) | 2021-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105975573B (zh) | 一种基于knn的文本分类方法 | |
WO2021164382A1 (zh) | 针对用户分类模型进行特征处理的方法及装置 | |
US20210012210A1 (en) | Techniques for creating, analyzing, and modifying neural networks | |
CN102567464B (zh) | 基于扩展主题图的知识资源组织方法 | |
CN112966109B (zh) | 一种多层级的中文文本的分类方法及其系统 | |
CN109766277A (zh) | 一种基于迁移学习与dnn的软件故障诊断方法 | |
CN104866578A (zh) | 一种不完整数据混合填充方法 | |
CN112685504B (zh) | 一种面向生产过程的分布式迁移图学习方法 | |
CN112767106B (zh) | 自动化审计方法、系统、计算机可读存储介质及审计设备 | |
US20210012211A1 (en) | Techniques for visualizing the operation of neural networks | |
CN109635010B (zh) | 一种用户特征及特征因子抽取、查询方法和系统 | |
CN108549817A (zh) | 一种基于文本深度学习的软件安全漏洞预测方法 | |
JP2020024534A (ja) | 画像分類装置及びプログラム | |
CN109284374A (zh) | 用于确定实体类别的方法、装置、设备以及计算机可读存储介质 | |
CN110222733B (zh) | 一种高精度的多阶神经网络分类方法及系统 | |
US20210012209A1 (en) | Techniques for modifying neural network definitions | |
CN109634790B (zh) | 一种基于循环神经网络的磁盘故障预测方法 | |
CN101546290A (zh) | 提高面向对象型软件中类阶层质量预测准确度的方法 | |
CN114077836A (zh) | 一种基于异构神经网络的文本分类方法及装置 | |
CN115145817A (zh) | 一种软件测试方法、装置、设备及可读存储介质 | |
TW200529095A (en) | Reference data recognition and learning method and pattern recognition system | |
US20210012212A1 (en) | Techniques for modifying the operation of neural networks | |
US20220164705A1 (en) | Method and apparatus for providing information based on machine learning | |
CN115310606A (zh) | 基于数据集敏感属性重构的深度学习模型去偏方法及装置 | |
CN115098389A (zh) | 一种基于依赖模型的rest接口测试用例生成方法 |
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 |