一种基于深度学习算法的企业行业二级行业多标签分类器
技术领域
本发明属于NLP自然语言处理
技术领域
,具体涉及一种基于深度学习算法的企业行业二级行业多标签分类器。背景技术
NLP自然语言处理是指开发能够理解人类语言的应用程序或服务。
现有技术主要分为三类,分别是非监督式及半监督式学习方法,传统机器学习的方法和深度学习的方法;其中:非监督式学习法和半监督式学习法通常是人工制定标准并提取特征,比如使用词频(TF),逆向文件频率(IDF),逻辑回归(Logistic Regression),决策树(Decision Tree),互信息(Mutual Information),k临近值(K-adjacent value),自适应增强(AdaBoost)以及多节语言模型(N-GRAM);非机器学习方法准确率非常低,并且需要大量的人工参与,非常不便;传统机器学习的方法主要有SVM、CNN、RNN、LSTM、BERT算法,这些方法大多需要大量的训练时间,但是其中的一些算法由于发布时间较早或者不适应文本分析的问题,所能达到的正确率不高。
现有技术对企业二级行业分类和多标签分类的支持并不好,现有技术使用的方法正确率不高,现有技术很难完成多标签分类任务,现有技术繁琐、复杂、麻烦且不易维护;
为了实现对企业二级行业的多标签分类,改进现有方法所需训练时间过长的问题,为此我们提出一种基于深度学习算法的企业行业二级行业多标签分类器。
发明内容
本发明的目的在于提供一种基于深度学习算法的企业行业二级行业多标签分类器,以解决上述背景技术中提出的现有技术对企业二级行业分类和多标签分类的支持并不好,现有技术使用的方法正确率不高,现有技术很难完成多标签分类任务,现有技术繁琐、复杂、麻烦且不易维护的问题。
为实现上述目的,本发明提供如下技术方案:一种基于深度学习算法的企业行业二级行业多标签分类器,由采集模块、预处理模块、管理模块、模型建立模块、训练验证模块、输入模块、显示模块组成,其中:
采集模块用于采集企业经营范围信息;
预处理模块用于对企业经营范围信息进行预处理;
管理模块用于对企业经营范围信息进行人工标引,并制作用于多标签分类训练的训练集、验证集和测试集;
模型建立模块用于使用训练集建立Albert+TextCNN模型;
训练验证模块用于对建立的Albert+TextCNN模型进行训练,并验证正确率;
输入模块用于将待预测的企业信息输入训练好的模型中;
显示模块用于显示企业行业多标签分类结果。
作为本发明的一种优选的技术方案,所述人工标引的方法如下:
步骤一:采集企业经营范围信息;
步骤二:并对采集的企业经营范围信息进行提取;
步骤三:对提取出的企业经营范围信息进行分类标引。
作为本发明的一种优选的技术方案,还包括存储模块、且存储模块用于对企业经营范围信息进行存储。
作为本发明的一种优选的技术方案,企业经营范围信息进行预处理,预处理包括去除数据信息噪声、数据信息清洗、特征提取。
作为本发明的一种优选的技术方案,还包括可视化展示模块、且可视化展示模块用于对多标签分类结果进行可视化展示。
作为本发明的一种优选的技术方案,预测时先通过简单地筛选确定大致范围,然后利用相应分组的模型进行预测,预测后如果出现无法确定的情况再进行人工筛查。
作为本发明的一种优选的技术方案,多标签分类的方法如下:
步骤一:收集企业的经营范围信息,对企业经营范围信息进行预处理;
步骤二:对企业经营范围信息进行人工标引,采用人工标引的方式建立训练集;
步骤三:设定Albert+TextCNN模型需要使用的参数;
步骤四:将经营范围信息和人工标引后的标签根据Albert的适用规则转化为词向量,并送入Albert模型学习;
步骤五:将Albert的结果和最初转化的词向量一同送入TextCNN模型进行训练;
步骤六:将TextCNN输出的结果、结果权重(output weight)和结果偏值(outputbias)一起构建全连接层(Full connection layer),并保存模型;
步骤七:根据训练好的模型的正确率判断是否需要调试,若需要调试,则重新调整步骤三需要设定的参数,并重复步骤三到步骤六,直到模型最终的正确率满意为止;
步骤八:使用训练好的模型对任一企业的所属行业进行多标签分类。
与现有技术相比,本发明的有益效果是:
(1)实现了对企业二级行业的多标签分类,并改进了现有方法所需训练时间过长的问题;
(2)模块化设计,也可以进行单标签分类,并且准确率较现有方法相比具有很大的提高。
附图说明
图1为本发明的原理图;
图2为本发明的多标签分类的方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
请参阅图1和图2,本发明提供一种技术方案:一种基于深度学习算法的企业行业二级行业多标签分类器,由采集模块、预处理模块、管理模块、模型建立模块、训练验证模块、输入模块、显示模块组成,其中:
采集模块用于采集企业经营范围信息;
预处理模块用于对企业经营范围信息进行预处理;
管理模块用于对企业经营范围信息进行人工标引,并制作用于多标签分类训练的训练集、验证集和测试集;
模型建立模块用于使用训练集建立Albert+TextCNN模型;
训练验证模块用于对建立的Albert+TextCNN模型进行训练,并验证正确率;
输入模块用于将待预测的企业信息输入训练好的模型中;
显示模块用于显示企业行业多标签分类结果。
人工标引的方法如下:
步骤一:采集企业经营范围信息;
步骤二:并对采集的企业经营范围信息进行提取;
步骤三:对提取出的企业经营范围信息进行分类标引。
本实施例中,优选的,企业经营范围信息进行预处理,预处理包括去除数据信息噪声、数据信息清洗、特征提取,去除了冗余数据的影响。
本实施例中,优选的,还包括可视化展示模块、且可视化展示模块用于对多标签分类结果进行可视化展示。
本实施例中,优选的,多标签分类的方法如下:
步骤一:收集企业的经营范围信息,对企业经营范围信息进行预处理;
步骤二:对企业经营范围信息进行人工标引,采用人工标引的方式建立训练集;
步骤三:设定Albert+TextCNN模型需要使用的参数;
步骤四:将经营范围信息和人工标引后的标签根据Albert的适用规则转化为词向量,并送入Albert模型学习;
步骤五:将Albert的结果和最初转化的词向量一同送入TextCNN模型进行训练;
步骤六:将TextCNN输出的结果、结果权重(output weight)和结果偏值(outputbias)一起构建全连接层(Full connection layer),并保存模型;
步骤七:根据训练好的模型的正确率判断是否需要调试,若需要调试,则重新调整步骤三需要设定的参数,并重复步骤三到步骤六,直到模型最终的正确率满意为止;
步骤八:使用训练好的模型对任一企业的所属行业进行多标签分类。
国民经济行业分类GB/T 4754—2017标准将企业分划分为门类、大类、中类和小类四级,共分为20个门类和97个大类,其中每个大类会对应多个中类,每个中类会对应单个或多个小类。
由于每个门类下的大类彼此之间所涉及的范围有的比较相近,有的差距较大,因此不能以门类为范围来建立训练集。同样的,大类下的中类虽然设计的范围很接近,但是由于大类之间同样存在相似,同一家企业的业务经常会同时涵盖多个大类下的多个中类,使用大类为范围来建立训练集也是不合适的。
因此,第一步要根据国民经济行业分类中的条目,以相似性为标准对行业的大类进行分类;例如,将13-农副食品加工业,14-食品制造业,15-酒、饮料和精制茶制造业以及16-烟草制品业统一划归为食品组;将17-纺织业,18-纺织服装、服饰业以及19-皮革、毛皮、羽毛及其制品和制鞋业统一划归为服饰组;以这一标准,将所有20个门类下的97个大类分组,将涉及范围相似的企业划归到一组,也可根据需求建立其他分组标准分组,以便后续建立训练集;
之后,根据已经分好的组,先简单地筛选企业,公开数据能够很容易获得以大类或中类为标记的企业,每组收集2000条企业数据,数据收集好后,以中类或小类为标准,在组内对这些企业进行人工标引,标引的变量为组内所需要标记的企业的中类或小类,标记范围可以根据需求自行设定;除此之外还需要额外增设一个错误标引,用来标记异常的观察值;观察值为每个企业的经营范围或其他相关信息,如果企业的经营范围或信息能够判断企业符合其中的某一中类或小类,则在符合的中类或小类下标记1,在不符合的中类或小类下标记0;如果没有任何一项符合,则在错误标引处标记1,在其他所有中类或小类下标记0;由此构建训练集,同时按同样的标准构建一个观察值的数量为200的验证集;
训练集中的观察值,除了企业的经营范围和其他信息以外,也可以是其他由文字构成的判断标准,例如相应的产品名称;
训练集和测试集制作完成后,使用本发明中所描述的算法对人工标引后的训练集进行训练,并通过调整参数的方式使得模型达到预期的效果,不同的分组之间,最合适的参数的差异可能很大,因此要根据分组不同分别调试,最后按照分组分别保存训练好的模型;
最后利用训练好的模型对企业进行预测,预测时先通过简单地筛选确定大致范围,然后利用相应分组的模型进行预测,预测后如果出现无法确定的情况再进行人工筛查。
实施例2
请参阅图1和图2,本发明提供一种技术方案:一种基于深度学习算法的企业行业二级行业多标签分类器,由采集模块、预处理模块、管理模块、模型建立模块、训练验证模块、输入模块、显示模块组成,其中:
采集模块用于采集企业经营范围信息;
预处理模块用于对企业经营范围信息进行预处理;
管理模块用于对企业经营范围信息进行人工标引,并制作用于多标签分类训练的训练集、验证集和测试集;
模型建立模块用于使用训练集建立Albert+TextCNN模型;
训练验证模块用于对建立的Albert+TextCNN模型进行训练,并验证正确率;
输入模块用于将待预测的企业信息输入训练好的模型中;
显示模块用于显示企业行业多标签分类结果。
人工标引的方法如下:
步骤一:采集企业经营范围信息;
步骤二:并对采集的企业经营范围信息进行提取;
步骤三:对提取出的企业经营范围信息进行分类标引。
本实施例中,优选的,还包括存储模块、且存储模块用于对企业经营范围信息进行存储。
本实施例中,优选的,企业经营范围信息进行预处理,预处理包括去除数据信息噪声、数据信息清洗、特征提取。
本实施例中,优选的,还包括可视化展示模块、且可视化展示模块用于对多标签分类结果进行可视化展示。
本实施例中,优选的,预测时先通过简单地筛选确定大致范围,然后利用相应分组的模型进行预测,预测后如果出现无法确定的情况再进行人工筛查。
本实施例中,优选的,多标签分类的方法如下:
步骤一:收集企业的经营范围信息,对企业经营范围信息进行预处理;
步骤二:对企业经营范围信息进行人工标引,采用人工标引的方式建立训练集;
步骤三:设定Albert+TextCNN模型需要使用的参数;
步骤四:将经营范围信息和人工标引后的标签根据Albert的适用规则转化为词向量,并送入Albert模型学习;
步骤五:将Albert的结果和最初转化的词向量一同送入TextCNN模型进行训练;
步骤六:将TextCNN输出的结果、结果权重(output weight)和结果偏值(outputbias)一起构建全连接层(Full connection layer),并保存模型;
步骤七:根据训练好的模型的正确率判断是否需要调试,若需要调试,则重新调整步骤三需要设定的参数,并重复步骤三到步骤六,直到模型最终的正确率满意为止;
步骤八:使用训练好的模型对任一企业的所属行业进行多标签分类。
国民经济行业分类GB/T 4754—2017标准将企业分划分为门类、大类、中类和小类四级,共分为20个门类和97个大类,其中每个大类会对应多个中类,每个中类会对应单个或多个小类。
由于每个门类下的大类彼此之间所涉及的范围有的比较相近,有的差距较大,因此不能以门类为范围来建立训练集。同样的,大类下的中类虽然设计的范围很接近,但是由于大类之间同样存在相似,同一家企业的业务经常会同时涵盖多个大类下的多个中类,使用大类为范围来建立训练集也是不合适的。
因此,第一步要根据国民经济行业分类中的条目,以相似性为标准对行业的大类进行分类;例如,将13-农副食品加工业,14-食品制造业,15-酒、饮料和精制茶制造业以及16-烟草制品业统一划归为食品组;将17-纺织业,18-纺织服装、服饰业以及19-皮革、毛皮、羽毛及其制品和制鞋业统一划归为服饰组;以这一标准,将所有20个门类下的97个大类分组,将涉及范围相似的企业划归到一组,也可根据需求建立其他分组标准分组,以便后续建立训练集;
之后,根据已经分好的组,先简单地筛选企业,公开数据能够很容易获得以大类或中类为标记的企业,每组收集2000条企业数据,数据收集好后,以中类或小类为标准,在组内对这些企业进行人工标引,标引的变量为组内所需要标记的企业的中类或小类,标记范围可以根据需求自行设定;除此之外还需要额外增设一个错误标引,用来标记异常的观察值;观察值为每个企业的经营范围或其他相关信息,如果企业的经营范围或信息能够判断企业符合其中的某一中类或小类,则在符合的中类或小类下标记1,在不符合的中类或小类下标记0;如果没有任何一项符合,则在错误标引处标记1,在其他所有中类或小类下标记0;由此构建训练集,同时按同样的标准构建一个观察值的数量为200的验证集;
训练集中的观察值,除了企业的经营范围和其他信息以外,也可以是其他由文字构成的判断标准,例如相应的产品名称;
训练集和测试集制作完成后,使用本发明中所描述的算法对人工标引后的训练集进行训练,并通过调整参数的方式使得模型达到预期的效果,不同的分组之间,最合适的参数的差异可能很大,因此要根据分组不同分别调试,最后按照分组分别保存训练好的模型;
最后利用训练好的模型对企业进行预测,预测时先通过简单地筛选确定大致范围,然后利用相应分组的模型进行预测,预测后如果出现无法确定的情况再进行人工筛查。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:一种基于知识图谱的声像档案智能编研方法