CN116127067A - 文本分类方法、装置、电子设备和存储介质 - Google Patents
文本分类方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN116127067A CN116127067A CN202211697914.9A CN202211697914A CN116127067A CN 116127067 A CN116127067 A CN 116127067A CN 202211697914 A CN202211697914 A CN 202211697914A CN 116127067 A CN116127067 A CN 116127067A
- Authority
- CN
- China
- Prior art keywords
- model
- text
- training
- prediction
- target
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 78
- 238000003860 storage Methods 0.000 title claims abstract description 20
- 238000012549 training Methods 0.000 claims abstract description 173
- 238000012360 testing method Methods 0.000 claims description 74
- 125000004122 cyclic group Chemical group 0.000 claims description 33
- 238000012545 processing Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 13
- 238000013528 artificial neural network Methods 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 27
- 238000010586 diagram Methods 0.000 description 15
- 238000004422 calculation algorithm Methods 0.000 description 13
- 230000009471 action Effects 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000013135 deep learning Methods 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000013475 authorization Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000007476 Maximum Likelihood Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000035945 sensitivity Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000007635 classification algorithm Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000004321 preservation Methods 0.000 description 2
- 230000002265 prevention Effects 0.000 description 2
- 108700019146 Transgenes Proteins 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012821 model calculation Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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
- 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
-
- 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 Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供文本分类方法、装置、电子设备和存储介质,该方法包括:接收用户的预测请求;预测请求包括待预测文本和模型标识;从多个预测模型中确定与模型标识匹配的目标预测模型;从待预测文本中截取多个文字,并分别对多个文字进行转换,得到多个字典参数;将多个字典参数输入至目标预测模型中,通过目标预测模型根据多个字典参数预测待预测文本所属的目标类别信息;向用户返回针对预测请求的目标类别信息。本发明实施例通过预测模型实现文本类别的预测,可替代人工分类,从而大大提升分类效率,且预测模型是BERT模型,BERT模型所需的训练样本量可大大减小,训练出模型的准确性也有一定的提升。
Description
技术领域
本发明涉及数据安全技术领域,特别涉及一种文本分类方法、一种文本分类装置、一种电子设备和一种计算机可读存储介质。
背景技术
随着信息化的深入发展,数据泄露事件频发,数据安全越发受到重视。为此,相关部门对数据实行分类分级保护,制定重要数据目录,加强对重要数据的保护。
分类分级的基础在于数据分类,分类的准确性就决定分级的结果。所有的数据通过任务的鉴定类别是不可能的,特别是对于企业内成百上千的文件,单凭人工是无法做分类分级管控的。因此,亟需一种准确高效的数据分类方法去实现以上的需求。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的文本分类方法。
本发明实施例还提供了一种文本分类装置、电子设备和存储介质,以保证上述方法的实施。
为了解决上述问题,本发明实施例公开了一种文本分类方法,应用于分类引擎***,所述分类引擎***包括多个预测模型,所述预测模型为训练好的BERT模型,所述方法包括:
接收用户的预测请求;所述预测请求包括待预测文本和模型标识;
从所述多个预测模型中确定与所述模型标识匹配的目标预测模型;
从所述待预测文本中截取多个文字,并分别对所述多个文字进行转换,得到多个字典参数;
将所述多个字典参数输入至所述目标预测模型中,通过所述目标预测模型根据所述多个字典参数预测所述待预测文本所属的目标类别信息;
向所述用户返回针对所述预测请求的目标类别信息。
可选地,所述目标预测模型具有多个类别信息的特征;所述通过所述目标预测模型根据所述多个字典参数预测所述待预测文本所属的目标类别信息,包括:
通过所述目标预测模型计算所述多个字典参数分别与所述多个类别信息的特征之间的相似值,得到多个相似值;
通过所述目标预测模型从所述多个相似值中确定最大的目标相似值;
通过所述目标预测模型将所述目标相似值所对应的类别信息确定为所述待预测文本所属的目标类别信息。
可选地,所述从所述待预测文本中截取多个文字,包括:
从所述待预测文本中截取排序靠前的预设数量的多个文字。
可选地,所述预测模型通过如下方式训练得到:
获取预设循环轮次,以及获取不同类别的样本文本;
对所述不同类别的样本文本进行处理,得到训练集和测试集;
获取预训练得到的初始模型;
按照所述预设循环轮次,将所述训练集输入至所述初始模型中进行循环训练,以及将所述测试集输入至所述初始模型中进行循环测试,直至完成所有所述预设循环轮次,获得所述预测模型。
可选地,所述按照所述预设循环轮次,将所述训练集输入至所述初始模型中进行循环训练,以及将所述测试集输入至所述初始模型中进行循环测试,直至完成所有所述预设循环轮次,获得所述预测模型,包括:
将所述训练集分成多个批次的样本文本;
在每个轮次中,将所述多个批次的样本文本依次输入至所述初始模型中进行训练,得到更新后的模型参数;
在每个轮次中,基于所述更新后的模型参数,将所述测试集中的各个样本文本依次输入至所述初始模型中进行测试,得到模型准确率;
在每个轮次中,判断当前轮次的模型准确率是否大于准确率阈值;
若是,则删除在先保存的预测模型,以保存当前轮次训练得到的预测模型,并将所述准确率阈值更新为所述当前轮次的模型准确率,并返回所述在每个轮次中,将所述多个批次的样本文本依次输入至所述初始模型中进行训练,得到更新后的模型参数的步骤;其中,保存格式为开放神经网络交换ONNX格式;
若否,则保留在先保存的预测模型,并返回所述在每个轮次中,将所述多个批次的样本文本依次输入至所述初始模型中进行训练,得到更新后的模型参数的步骤;
直至完成所有所述预设循环轮次时,将当前保存的预测模型作为最终的预测模型。
可选地,所述对所述不同类别的样本文本进行处理,得到训练集和测试集,包括:
针对同一类别的样本文本进行划分,得到用于训练的样本文本和用于测试的样本文本;
将不同类别的所述用于训练的样本文本进行合并,得到训练集,以及将不同类别的所述用于测试的样本文本进行合并,得到测试集。
可选地,所述方法还包括:
将训练完成的预测模型进行注册。
本发明实施例还公开了一种文本分类装置,应用于分类引擎***,所述分类引擎***包括多个预测模型,所述预测模型为训练好的BERT模型,所述装置包括:
预测请求接收模块,用于接收用户的预测请求;所述预测请求包括待预测文本和模型标识;
目标预测模型确定模块,用于从所述多个预测模型中确定与所述模型标识匹配的目标预测模型;
转换模块,用于从所述待预测文本中截取多个文字,并分别对所述多个文字进行转换,得到多个字典参数;
预测模块,用于将所述多个字典参数输入至所述目标预测模型中,通过所述目标预测模型根据所述多个字典参数预测所述待预测文本所属的目标类别信息;
目标类别信息返回模块,用于向所述用户返回针对所述预测请求的目标类别信息。
可选地,所述目标预测模型具有多个类别信息的特征;所述预测模块包括:
相似值计算子模块,用于通过所述目标预测模型计算所述多个字典参数分别与所述多个类别信息的特征之间的相似值,得到多个相似值;
最大的目标相似值确定子模块,用于通过所述目标预测模型从所述多个相似值中确定最大的目标相似值;
目标类别信息确定子模块,用于通过所述目标预测模型将所述目标相似值所对应的类别信息确定为所述待预测文本所属的目标类别信息。
可选地,所述转换模块包括:
截取子模块,用于从所述待预测文本中截取排序靠前的预设数量的多个文字。
可选地,所述预测模型通过如下模块训练得到:
样本文本获取模块,用于获取预设循环轮次,以及获取不同类别的样本文本;
样本文本处理模块,用于对所述不同类别的样本文本进行处理,得到训练集和测试集;
初始模型获取模块,用于获取预训练得到的初始模型;
训练模块,用于按照所述预设循环轮次,将所述训练集输入至所述初始模型中进行循环训练,以及将所述测试集输入至所述初始模型中进行循环测试,直至完成所有所述预设循环轮次,获得所述预测模型。
可选地,所述训练模块包括:
第一划分子模块,用于将所述训练集分成多个批次的样本文本;
训练子模块,用于在每个轮次中,将所述多个批次的样本文本依次输入至所述初始模型中进行训练,得到更新后的模型参数;
测试子模块,用于在每个轮次中,基于所述更新后的模型参数,将所述测试集中的各个样本文本依次输入至所述初始模型中进行测试,得到模型准确率;
准确率判断子模块,用于在每个轮次中,判断当前轮次的模型准确率是否大于准确率阈值;
第一返回子模块,用于若是,则删除在先保存的预测模型,以保存当前轮次训练得到的预测模型,并将所述准确率阈值更新为所述当前轮次的模型准确率,并返回所述在每个轮次中,将所述多个批次的样本文本依次输入至所述初始模型中进行训练,得到更新后的模型参数的步骤;其中,保存格式为开放神经网络交换ONNX格式;
第二返回子模块,用于若否,则保留在先保存的预测模型,并返回所述在每个轮次中,将所述多个批次的样本文本依次输入至所述初始模型中进行训练,得到更新后的模型参数的步骤;
预测模型确定子模块,用于直至完成所有所述预设循环轮次时,将当前保存的预测模型作为最终的预测模型。
可选地,所述样本文本处理模块包括:
第二划分子模块,用于针对同一类别的样本文本进行划分,得到用于训练的样本文本和用于测试的样本文本;
合并子模块,用于将不同类别的所述用于训练的样本文本进行合并,得到训练集,以及将不同类别的所述用于测试的样本文本进行合并,得到测试集。
可选地,所述装置还包括:
注册模块,用于将训练完成的预测模型进行注册。
本发明实施例还公开了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行存储器上所存放的程序时,实现如本发明实施例所述的文本分类方法。
本发明实施例还公开了一种计算机可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如本发明实施例所述的文本分类方法。
与现有技术相比,本发明实施例包括以下优点:
在本发明实施例中,接收用户的预测请求;预测请求包括待预测文本和模型标识;从多个预测模型中确定与模型标识匹配的目标预测模型;从待预测文本中截取多个文字,并分别对多个文字进行转换,得到多个字典参数;将多个字典参数输入至目标预测模型中,通过目标预测模型根据多个字典参数预测待预测文本所属的目标类别信息;向用户返回针对预测请求的目标类别信息。本发明实施例通过预测模型实现文本类别的预测,可替代人工分类,从而大大提升分类效率,且预测模型是BERT模型,BERT模型所需的训练样本量可大大减小,训练出模型的准确性也有一定的提升。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种文本分类方法的步骤流程图;
图2是本发明实施例提供的分类引擎***的逻辑架构图;
图3是本发明实施例提供的预测模型训练方法的步骤流程图;
图4是本发明实施例提供的训练流程图;
图5是本发明实施例提供的预测流程图;
图6是本发明实施例提供的分类引擎***与其他终端的交互示意图;
图7是本发明实施例提供的一种文本分类装置的结构框图;
图8是本发明实施例提供的预测模型训练装置的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
随着信息化的深入发展,数据泄露事件频发,数据安全越发受到重视。为此,相关部门对数据实行分类分级保护,制定重要数据目录,加强对重要数据的保护。
数据分类是数据资产管理的第一步,不论是对数据资产进行编目、标准化,还是数据的确权、管理,亦或是提供数据资产服务,有效的数据分类都是首要任务。
数据分类很好理解,无非就是把相同属性或特征的数据归集在一起,形成不同的类别,方便人们通过类别来对数据进行的查询、识别、管理、保护和使用。数据分类更多是从业务角度或数据管理的角度出发的,例如:行业维度、业务领域维度、数据来源维度、共享维度、数据开放维度等,根据这些维度,将具有相同属性或特征的数据按照一定的原则和方法进行归类。
数据分级是根据数据的敏感程度和数据遭到篡改、破坏、泄露或非法利用后对受害者的影响程度,按照一定的原则和方法进行定义。数据分级更多是从安全合规性要求、数据保护要求的角度出发的,我们称他为数据敏感度分级似乎更为贴切。数据分级本质上就是数据敏感维度的数据分类。
分类分级的基础在于数据分类,分类的准确性就决定分级的结果,因此,任何时候,数据的定级都离不开数据的分类。
所有的数据通过任务的鉴定类别是不可能的,特别是对于企业内成百上千的文件,单凭人工是无法做分类分级管控的。因此,亟需一种准确高效的数据分类方法去实现以上的需求。
针对上述问题,本发明实施例提供了一种文本分类方法,本发明实施例通过预测模型实现文本类别的预测,可替代人工分类,从而大大提升分类效率,且预测模型是BERT模型,BERT模型所需的训练样本量可大大减小,训练出模型的准确性也有一定的提升。
参照图1,示出了本发明实施例提供的一种文本分类方法的步骤流程图,应用于分类引擎***,所述分类引擎***包括多个预测模型,所述预测模型为训练好的BERT模型,该方法具体可以包括如下步骤:
步骤101,接收用户的预测请求;所述预测请求包括待预测文本和模型标识。
在本发明实施例中,可以应用于分类引擎***,分类引擎***可以包括预测模型池,预测模型池包含有多个预测模型。参照图2,示出了本发明实施例提供的分类引擎***的逻辑架构图,分类引擎***可以拆分为4层,分别是接口层、业务逻辑层、模型层和储存层。接口层主要包含各个服务Restful API接口。业务逻辑层包含各个业务功能模块,例如授权模块、全局变量模块、日志模块、文本处理模块、自然语言处理分类器模块等等,其中,授权模块用于查询鉴定产品的授权信息,没有授权的产品禁止访问,全局变量模块用于控制全局变量的访问,日志模块用于控制日志相关内容,文本处理模块用于处理一些文本的内容,自然语言处理分类器模块包含模型训练、预测、保存等业务逻辑。模型层用于定义深度学习算法模型相关信息。储存层用于管理一些文件储存的信息。
可见,本发明实施例设计实现了一个文本分类全流程的生产方案,通过Restful(Representational State Transfer,软件架构风格)API的形式提供,以微服务的形式提供智慧分类服务,包括:样本预处理、模型训练、训练进度查询、ONNX模型导出、模型注册注销和目标文本的预测。从而涵盖了模型从无到有再到用的全步骤。
在本发明实施例中,每个预测模型均是训练好的BERT模型。BERT(BidirectionalEncoder Representations from Transformers,基于Transformer的双向编码器)通过堆叠多个Transformer形成一种特殊双向结构,有很多变体。在前期通过学习海量优质的数据预训练(Pre-training)获得一个通用于多任务的模型。最后再通过后微调(Fine-Tuning)过程,用少量样本微调模型就能获得一个较为准确的专用模型。
由于处理文本任务经常出现处理的文本的长度不一,常使用RNN(RecurrentNeural Network,循环神经网络)结构处理文本相关的深度学习任务。然而RNN存在一些缺点:1.一个词一个词计算,计算效率低下,每次计算耗时长;2.当网络堆叠层数较深时,很容易出现梯度消失和梯度***的情况。
Transformers网络很好地解决RNN存在的上述问题,Transformers网络利用Self-Attention(自注意力)机制,改进了RNN的缺点,设计了一种名叫Transformer的网络结构,其计算较快,并且加入自注意力机制,更能发现文本中关键的字符。通过多个Transformer堆叠后,梯度消失和梯度***的情况相比RNN也有极大的缓解。
因此,相比RNN模型,BERT模型对于深度神经网络的语义表征能力有了很大的提升,本发明实施例采用BERT模型作为预测模型,可以实现海量样本预训练好的初始模型通过适量样本优化训练就能达到得到一个较好的预测模型,训练样本需求下降,最后预测模型的分类效果也提升了,且BERT模型的特征是文本遮罩技术,通过文本遮罩技术训练,能够提取到一个有语义的特征,提升了最终的预测模型的分类效果。
在实际应用中,当用户需要对大量文本进行分类时,用户可以通过分类引擎***进行自动化分类,无需人工分类。具体地,用户可以向业务管理平台输入待预测文本和模型标识,待预测文本和模型标识作为预测请求,业务管理平台将预测请求发送至分类引擎***,由分类引擎***进行后续的文本分类工作。
步骤102,从所述多个预测模型中确定与所述模型标识匹配的目标预测模型。
在本发明实施例中,模型标识即是模型id,在预测模型注册成功后,即可通过其挂钩的模型id请求预测。具体而言,预测模型载入后会以模型id作为键值在预测模型池中等待预测任务,当接收到用户的预测请求时,分类引擎***根据预测请求携带的模型id,从预测模型池中找到与模型id一致的目标预测模型来进行预测任务。
步骤103,从所述待预测文本中截取多个文字,并分别对所述多个文字进行转换,得到多个字典参数。
在本发明实施例中,分类引擎***可以从待预测文本中截取多个文字,截取的目的是为了保证预测任务的时效性,不会对待预测文本中的全部文字进行处理,只需处理截取的文字即可,从而可以大大提升分类效率。
由于机器无法识别文字,因此需要将每个文字转换成字典参数。具体地,分类引擎***内置有预先编码的BERT字典,BERT字典中的每个文字对应一个字典参数,字典参数可以是数字编码。示例性地,在BERT字典中,“1”代表“我”,“2”代表“你”,“3”代表“他”,“4”代表“它”,“5”代表“是”,……,以此类推。
分类引擎***可以将截取的每个文字与BERT字典中的文字进行匹配,从而将文字转换成字典参数。
需要说明的是,在从待预测文本中截取多个文字之前,可以先对待预测文本进行预处理。具体地,对待预测文本进行清洗,将待预测文本中一些无意义的符号和换行符进行删除,再从预处理后的待预测文本中截取多个文字。
本发明的一个可选实施例中,步骤103可以包括以下子步骤:
子步骤S11,从所述待预测文本中截取排序靠前的预设数量的多个文字。
在本发明实施例中,分类引擎***从待预测文本中截取排序靠前的预设数量的多个文字。预设数量可以按照BERT的特性而设定。具体地,根据BERT的特性,一篇文章只取前面的256个文字作为特征的提取,属于一种优化方法,否则大量文本的文章无法满足速度要求。因此,本发明实施例可以设定预设数量为256,这样分类引擎***可以从待预测文本中截取排序靠前的256个文字,然后根据BERT字典,将256个文字转化成id格式,得到256个字典参数。
步骤104,将所述多个字典参数输入至所述目标预测模型中,通过所述目标预测模型根据所述多个字典参数预测所述待预测文本所属的目标类别信息。
在确定与模型标识匹配的目标预测模型后,分类引擎***可以将多个字典参数输入至ONNX模型,ONNX模型可以将多个字典参数代入到目标预测模型中,由目标预测模型根据多个字典参数预测出待预测文本所属的目标类别信息。
本发明的一个可选实施例中,所述目标预测模型具有多个类别信息的特征;步骤104可以包括以下子步骤:
子步骤S21,通过所述目标预测模型计算所述多个字典参数分别与所述多个类别信息的特征之间的相似值,得到多个相似值;
子步骤S22,通过所述目标预测模型从所述多个相似值中确定最大的目标相似值;
子步骤S23,通过所述目标预测模型将所述目标相似值所对应的类别信息确定为所述待预测文本所属的目标类别信息。
目标预测模型按照模型的逻辑计算返回n个最大似然值(softmax层),取其中最大值的类别作为预测类别输出,结合目标预测模型保存的类别信息即可得知具体的类别信息。
具体地,目标预测模型具有多个类别信息的特征,其是在训练过程中学习不同类别的样本文本的特征而得到的。示例性地,采用合同类、财经类、体育类的样本文本训练预测模型A,采用娱乐类、教育类、文学类的样本文本训练预测模型B,这样预测模型A可以学习到合同类、财经类、体育类的样本文本的特征,预测模型B可以学习到娱乐类、教育类、文学类的样本文本的特征,从而预测模型A具有合同类的特征、财经类的特征和体育类的特征,预测模型B具有娱乐类的特征、教育类的特征和文学类的特征。
最大似然值是指待预测文本属于某一类别的概率,最大似然值可以采用相似值表征,相似值是指待预测文本与每个类别信息的特征之间的相似值,通过截取待预测文本中的多个文字,将文字转换为字典参数,目标预测模型可以计算多个字典参数与每个类别信息的特征之间的相似值,从而可以得到多个相似值,然后可以从多个相似值中确定最大的目标相似值,该最大的目标相似值所对应的类别即是待预测文本所属类别,因此,目标预测模型可以将目标相似值所对应的类别信息确定为待预测文本所属的目标类别信息。示例性地,假设目标预测模型具有类别A~D的特征,从待预测文本1中截取256个文字,将256个文字转换为256个字典参数,计算出256个字典参数与类别A的相似值是0%,与类别B的相似值是10%,与类别C的相似值是90%,与类别D的相似值是40%,那么可以取相似值最大的类别C作为待预测文本1所属类别。
步骤105,向所述用户返回针对所述预测请求的目标类别信息。
在本发明实施例中,在得到待预测文本所属的目标类别信息后,可以向用户返回针对预测请求的目标类别信息,例如展示目标类别信息,或者执行相关策略动作。
参照图3,示出了本发明实施例提供的预测模型训练方法的步骤流程图,所述预测模型可以通过如下方式训练得到:
步骤301,获取预设循环轮次,以及获取不同类别的样本文本。
在本发明实施例中,当接收到训练请求时,可以解析训练请求,提取预设循环轮次epoch,以及可以遍历从接口接收到的文件目录下的多个文件,文件作为样本文本进行训练。
在训练之前,为了保证输出模型的质量,可以校验请求内容是否合法。具体地,每个类别的样本文本的数量建议大于400个,数量越多则涵盖该分类下数据越广,最后生成的预测模型越准确,因此可以校验每个类别的样本文本的数量是否大于第一阈值。如果每个类别的样本文本的数量大于第一阈值,则判定为合法,更新任务添加成功返回信息,子进程下发训练启动动作;如果每个类别的样本文本的数量不大于第一阈值,则判定为不合法,更新任务添加错误返回信息,返回任务添加状态。
另外,不同类别的样本文本之间的样本比例数量级应该保证基本相同,如A、B两类,A类有400个,B类有500个,是一个良好的情况,A类是400个,B类是500000个,则输出的模型效果不好,因此可以校验不同类别的样本文本之间的样本比例数量级是否相同。如果不同类别的样本文本之间的样本比例数量级相同,则判定为合法,更新任务添加成功返回信息,子进程下发训练启动动作;如果不同类别的样本文本之间的样本比例数量级不相同,则判定为不合法,更新任务添加错误返回信息,返回任务添加状态。
另外,训练一个预测模型需要的样本文本的类别数量应该至少大于等于2,因此可以校验样本文本的类别数量是否大于第二阈值。如果样本文本的类别数量大于第二阈值,则判定为合法,更新任务添加成功返回信息,子进程下发训练启动动作;如果样本文本的类别数量不大于第二阈值,则判定为不合法,更新任务添加错误返回信息,返回任务添加状态。
步骤302,对所述不同类别的样本文本进行处理,得到训练集和测试集。
预设循环轮次epoch,其定义了学习算法在整个训练数据集中的工作次数,一个轮次包括两个过程,其一是训练过程,其二是测试过程。因此,需要对不同类别的样本文本进行处理,从而得到训练集和测试集。训练集作为训练过程中的训练样本,测试集作为测试过程中的测试样本。
步骤303,获取预训练得到的初始模型。
BERT模型在前期通过学习海量优质的数据预训练(Pre-training)获得一个通用于多任务的初始模型,因此可以直接获取预训练得到的初始模型,后续再通过后微调(Fine-Tuning)过程,用少量样本微调模型就能获得一个较为准确的预测模型。
步骤304,按照所述预设循环轮次,将所述训练集输入至所述初始模型中进行循环训练,以及将所述测试集输入至所述初始模型中进行循环测试,直至完成所有所述预设循环轮次,获得所述预测模型。
一个轮次的训练,模型效果会不太好,因此可以通过设置预设循环轮次epoch,按照预设循环轮次epoch,将训练集输入至初始模型中进行循环训练,以及将测试集输入至初始模型中进行循环测试,直到完成所有的预设循环轮次epoch,获得的预测模型的准确率是最高的。示例性地,预设循环轮次epoch设置为3,那么在第一轮中,将训练集输入至初始模型中进行训练,然后将测试集输入至初始模型中进行测试;在第二轮中,再一次将训练集输入至初始模型中进行训练,然后再一次将测试集输入至初始模型中进行测试;在第三轮中,又一次将训练集输入至初始模型中进行训练,然后又一次将测试集输入至初始模型中进行测试,从而获得准确率最高的预测模型。
本发明的一个可选实施例中,步骤304可以包括以下子步骤:
子步骤S31,将所述训练集分成多个批次的样本文本;
子步骤S32,在每个轮次中,将所述多个批次的样本文本依次输入至所述初始模型中进行训练,得到更新后的模型参数;
子步骤S33,在每个轮次中,基于所述更新后的模型参数,将所述测试集中的各个样本文本依次输入至所述初始模型中进行测试,得到模型准确率;
子步骤S34,在每个轮次中,判断当前轮次的模型准确率是否大于准确率阈值;
子步骤S35,若是,则删除在先保存的预测模型,以保存当前轮次训练得到的预测模型,并将所述准确率阈值更新为所述当前轮次的模型准确率,并返回所述在每个轮次中,将所述多个批次的样本文本依次输入至所述初始模型中进行训练,得到更新后的模型参数的步骤;其中,保存格式为ONNX格式;
子步骤S36,若否,则保留在先保存的预测模型,并返回所述在每个轮次中,将所述多个批次的样本文本依次输入至所述初始模型中进行训练,得到更新后的模型参数的步骤;
子步骤S37,直至完成所有所述预设循环轮次时,将当前保存的预测模型作为最终的预测模型。
在训练过程中,将训练集按照指定批次大小送入初始模型当中,最小化损失函数,反向传播更新模型参数。在测试过程中,锁定模型参数,取测试集的样本文本送入初始模型进行预测类别,根据预测的类别确定准确率,最后取得其平均准确率来代表模型准确率。当其中一个轮次的模型准确率大于之前的最高准确率,则会保存该轮次训练得到的预测模型,并且将最高准确率更新为该轮次的模型准确率,当所有轮次进行完毕之后则结束训练过程。
在具体实现中,可以将训练集分成多个批次的样本文本。在每个轮次中,可以将多个批次的样本文本依次输入至初始模型中进行训练,从而可以得到更新后的模型参数。在每个轮次中,锁定更新后的模型参数,从而基于该更新后的模型参数,将测试集中的各个样本文本依次输入至初始模型中进行测试,进而可以得到模型准确率。在每个轮次中,可以判断当前轮次的模型准确率是否大于准确率阈值,准确率阈值即是在当前轮次之前的最高准确率。如果当前轮次的模型准确率大于准确率阈值,说明当前轮次训练得到的预测模型相比在先轮次训练得到的预测模型,准确率更高,因此可以将当前轮次训练得到的预测模型覆盖替换在先保存的预测模型,也即是删除在先保存的预测模型,再保存当前轮次训练得到的预测模型,由于当前轮次的模型准确率是当前的最高准确率,因此可以将准确率阈值更新为当前轮次的模型准确率,然后返回到在每个轮次中,将多个批次的样本文本依次输入至初始模型中进行训练,得到更新后的模型参数的步骤。如果当前轮次的模型准确率小于或等于准确率阈值,说明当前轮次训练得到的预测模型相比在先轮次训练得到的预测模型,准确率不高,因此可以保留在先保存的预测模型,即不删除在先保存的预测模型,然后返回到在每个轮次中,将多个批次的样本文本依次输入至初始模型中进行训练,得到更新后的模型参数的步骤。直到完成所有预设循环轮次时,当前保存的预测模型的准确率是所有轮次中最高的,因此可以将当前保存的预测模型作为最终的预测模型。
需要说明的是,保存格式为ONNX格式,也即是在训练过程中保存的模型为ONNX格式。其中,ONNX(Open Neural Network Exchange,开放神经网络交换)是一种针对机器学习所设计的开放式的文件格式,用于存储训练好的模型,它使得不同的深度学习框架,如Pytorch、MXNet、Tensorflow,可以采用相同格式存储模型数据。ONNX采用序列化数据结构协议protobuf来存储模型信息。通过protobuf可以自行设计一种数据结构的协议,然后是用各种语言去读取或者写入。ONNX中采用Onnx.proto定义ONNX的数据协议规则和一些其他的信息,同样也可以借助protobuf来解析ONNX模型。
本发明的一个可选实施例中,步骤302可以包括以下子步骤:
子步骤S41,针对同一类别的样本文本进行划分,得到用于训练的样本文本和用于测试的样本文本;
子步骤S42,将不同类别的所述用于训练的样本文本进行合并,得到训练集,以及将不同类别的所述用于测试的样本文本进行合并,得到测试集。
在具体实现中,可以将每个类别的样本文本按照7:3的比例进行划分,每个类别的7份样本文本作为用于训练的样本文本,每个类别的3份样本文本作为用于测试的样本文本,然后可以将每个类别的用于训练的样本文本合并在一起并打乱,从而得到训练集,以及可以将每个类别的用于测试的样本文本合并在一起并打乱,从而得到测试集。
本发明的一个可选实施例中,所述方法还可以包括:
将训练完成的预测模型进行注册。
在本发明实施例中,可以将训练完成的预测模型进行注册。具体地,获取到训练完成的预测模型后,可以在引擎服务中进行注册,预测模型需要先经过注册才能在预测接口中调用。其中,预测模型共有三种注册方式,第一种注册方式是每次服务启动时会自动遍历此目录下所有目录,自动寻找可以注册的预测模型;第二种注册方式是通过接口进行注册;第三种注册方式是在接收到注册请求时,如果注册请求匹配的模型id不在预测模型池当中,会自动搜索载入。
此外,如果想要吊销某个预测模型,可以通过接口更新吊销,或者在自动注册新的预测模型后,需要吊销的预测模型自动从预测模型池中挤出。
相比传统依靠人工分类,本发明实施例具有如下优点:
1.基于最新的BERT模型计算方法,所需的训练样本量可大大减小,训练出模型的准确性也有一定的提升;
2.采用ONNX通用模型,获得的模型可以供各种编程语言和框架使用,抛弃了单独使用某种框架,大大提升了模型训练后的运用场景以及易用性。起推理速度比较直接,导出字典参数更快,同样的推理任务速度至少提升4倍。
3.提出了一种深度学习分类任务全流程方案框架,支持各种模型组件的插拔。其方案包括样本集的预处理、模型的训练、通用模型的保存、模型的更新和模型的使用,涵盖了模型从无到有再到用的全步骤。
4.采用docker(开源容器引擎)微服务的架构部署,顺应时代潮流且符合新时代大数据云平台方向,天生适应云场景,也可以方便支持资源的扩展和集群部署。
此外,本发明实施例对文本使用的BERT算法,支持热插拔成其他深度学习算法,如有监督或半监督模型算法,只要保证按照要求完成模型的导出即可,可以支持各种模型。
此外,本发明实施例采用通用ONNX模型作为模型的导出格式,也可以采用其他的模型导出格式,如导出模型参数字典、模型序列化和导出为TensorRT(深度学习推理优化器)格式等等都属于模型导出的一种。
本发明实施例的方案经过改造可以轻易适配其他“训练-预测”任务,同样也可以适配一些无监督的任务。
有监督学习:由于样本输入时给予了算法有关于样本类别的信息,这一类算法普遍较无监督的算法更准确,但是其输入的样本需要人工标记类别,需要消耗大量的人力物力成本,任务普适性较差。其中代表的分类算法有svm,线性判别器,朴素贝叶斯,决策树分类,K近邻分类等。
半监督学习:在机器学习分类任务中一般习惯将算法按照是否输入样本标签训练来作为一个区分依据。若在模型训练的过程当中输入了样本标签,即在训练时标注了样本的类别从而生成模型的算法称之为有监督分类。反之,当训练时提供的是没有标签的样本,依靠算法自动去寻找样本之间的关系的分类算法称之为无监督聚类。近年来也发展出了一系列只输入部分有标签样本的分类方法称为半监督学习。
无监督学习:不需求输入样本的标签,而是通过算法当中的一定规则来使得聚类簇间最大而簇内最小,达到学习分类模型的目的。其中具有代表性的算法有K-means,流形学习,层次聚类,DBSCAN,密度聚类,协方差聚类等。
综上,在本发明实施例中,接收用户的预测请求;预测请求包括待预测文本和模型标识;从多个预测模型中确定与模型标识匹配的目标预测模型;从待预测文本中截取多个文字,并分别对多个文字进行转换,得到多个字典参数;将多个字典参数输入至目标预测模型中,通过目标预测模型根据多个字典参数预测待预测文本所属的目标类别信息;向用户返回针对预测请求的目标类别信息。本发明实施例通过预测模型实现文本类别的预测,可替代人工分类,从而大大提升分类效率,且预测模型是BERT模型,BERT模型所需的训练样本量可大大减小,训练出模型的准确性也有一定的提升。
为了使本领域技术人员能够更好地理解本发明实施例,下面通过以下示例对本发明实施例加以说明:
参考图4,示出了本发明实施例提供的训练流程图,训练流程具体可以如下:
1.收到训练请求;
2.请求内容解析,提取预设循环轮次,以及可以遍历从接口接收到的文件目录下的多个文件,文件作为样本文本;
3.校验请求内容是否合法,例如:校验每个类别的样本文本的数量是否大于第一阈值,校验不同类别的样本文本之间的样本比例数量级是否相同,校验样本文本的类别数量是否大于第二阈值,等等;若否,则流转至步骤4;若是,则流转至步骤6;
4.若请求内容不合法,则更新任务添加错误返回信息,流转至步骤5;
5.返回任务添加状态,结束;
6.若请求内容合法,则更新任务添加成功返回信息;
7.子进程下发训练启动动作;
8.收到训练启动指示;
9.对样本文本进行划分,得到训练集和测试集;
10.文本预处理,例如删除换行符,然后初始化Torch Dataset,即初始化训练集和测试集;
11.初始化模型、损失函数、优化器;
12.训练循环epoch次,epoch即是预设循环轮次;
13.遍历训练batch(批次),即在每个轮次中,分批次输入训练集中的样本文本至初始模型中进行训练,从而更新模型参数,此时可以向训练池上报进度,从而让用户知道训练进度;
14.遍历测试batch(批次),即在每个轮次中,分批次输入测试集中的样本文本至初始模型中进行测试,从而更新模型准确率,此时可以向训练池上报进度,从而让用户知道测试进度;
15.在每个轮次中,判断当前轮次的模型准确率是否大于最佳准确率,最佳准确率即是在当前轮次之前的最高准确率;若是,则流转至步骤16;若否,则流转至步骤17;
16.保存ONNX模型,即删除在先保存的预测模型,以保存当前轮次训练得到的预测模型;其中,保存格式为ONNX格式;
17.当所有预设循环轮次epoch进行完毕之后,则训练循环结束,流转至步骤19;
在训练过程中,如果有任一发生错误,则流转至步骤18;
18.向训练池更新错误信息,并将进度置负,进度置负的目的在于,让用户得知训练过程中发生错误;
19.结束训练。
参考图5,示出了本发明实施例提供的预测流程图,预测流程具体可以如下:
1.收到预测请求;
2.请求内容解析,提取出待预测文本和模型标识;
3.校验请求内容是否合法;若否,则流转至步骤4;若是,则流转至步骤5;
4.若请求内容不合法,则更新预测错误返回信息,流转至步骤10;
5.若请求内容合法,则更新预测成功返回信息;
6.提取请求文本预处理,即对待预测文本预处理,例如删除换行符,然后初始化Torch Dataset,即从待预测文本中截取多个文字,并将多个文字转换成多个字典参数;
7.从预测模型池中提取与模型标识匹配的目标预测模型,通过目标预测模型执行预测命令;
8.计算获取预测概率最高分类拼接返回信息,即计算多个字典参数与每个类别信息的特征之间的相似值,取最高相似值所对应的类别信息作为待预测文本所属的目标类别信息;
9.目标类别信息作为更新预测结果返回信息;
10.返回预测结果。
参考图6,示出了本发明实施例提供的分类引擎***与其他终端的交互示意图,智慧分类引擎即是分类引擎***,智慧分类引擎包括用于训练过程中的训练器和用于预测过程中的预测器。在实际应用当中,智慧分类引擎可以用于配合数据防泄漏***一起部署,配合其他策略做补充共同实现分类分级管控。通过业务管理平台上传样本文本,下发训练任务,并且组织管理相关策略。最后通过在文件外发时,利用预测服务识别文件的类别,如果命中相应敏感级别的策略,则可以使用审批、放行、阻断策略对文件进行管控。其中,训练器部署在办公区域内,因为参与训练的样本文本都属于企业的涉密样本,所以需要有防火墙的保护。而预测器则可布置在DMZ(demilitarized zone,内外网的隔离区域)区域,如果需要额外的性能的话,可以通过使用负载均衡连接多个预测器实现。
数据防泄漏逻辑:
1、首先通过业务管理平台新建分类上传各类别的样本文本;
2、在业务管理平台启动训练任务,训练出预测模型,可以将预测模型下发至各个预测器当中载入;
3、模型与策略做绑定,可以根据需要管控的类别新建不同的策略。示例性地,如果有A、B、C这三个分类,若要对A类进行管控,并且认为其为高风险任务的话,则可以新建一识别分类A的策略,并且设定命中分类A后的任务,例如拦截此信息,或者需要提交审计才能发入发出,或者认为此为不敏感数据直接放行等;
4、结合DMZ区域的流量捕获装置(可以为任意),将通过DMZ的内容拦截下来并且发送至预测器进行预测,如果命中了A类别,则执行策略所设置的动作。
另外,智慧分类引擎可以用于辅助海量未知类别的鉴别,比如已知有少量的已经分类好的样本,但是需要对剩余的在此分类中海量的样本进行快速辨别和归类,则可以利用训练能力将已知分类的适量样本进行学习,得到一个初步的预测模型。利用此预测模型对剩余样本做分批次的预测,利用其高准确的一个特性,再辅助以一定的人工的抽查,可以快速对海量的样本做一个初步的分类,从而大大减少了人工的工作时间成本。
参照图7,示出了本发明实施例中提供的一种文本分类装置的结构框图,应用于分类引擎***,所述分类引擎***包括多个预测模型,所述预测模型为训练好的BERT模型,具体可以包括如下模块:
预测请求接收模块701,用于接收用户的预测请求;所述预测请求包括待预测文本和模型标识;
目标预测模型确定模块702,用于从所述多个预测模型中确定与所述模型标识匹配的目标预测模型;
转换模块703,用于从所述待预测文本中截取多个文字,并分别对所述多个文字进行转换,得到多个字典参数;
预测模块704,用于将所述多个字典参数输入至所述目标预测模型中,通过所述目标预测模型根据所述多个字典参数预测所述待预测文本所属的目标类别信息;
目标类别信息返回模块705,用于向所述用户返回针对所述预测请求的目标类别信息。
本发明的一个可选实施例中,所述目标预测模型具有多个类别信息的特征;所述预测模块704可以包括:
相似值计算子模块,用于通过所述目标预测模型计算所述多个字典参数分别与所述多个类别信息的特征之间的相似值,得到多个相似值;
最大的目标相似值确定子模块,用于通过所述目标预测模型从所述多个相似值中确定最大的目标相似值;
目标类别信息确定子模块,用于通过所述目标预测模型将所述目标相似值所对应的类别信息确定为所述待预测文本所属的目标类别信息。
本发明的一个可选实施例中,所述转换模块703可以包括:
截取子模块,用于从所述待预测文本中截取排序靠前的预设数量的多个文字。
参照图8,示出了本发明实施例中提供的预测模型训练装置的结构框图,所述预测模型通过如下模块训练得到:
样本文本获取模块801,用于获取预设循环轮次,以及获取不同类别的样本文本;
样本文本处理模块802,用于对所述不同类别的样本文本进行处理,得到训练集和测试集;
初始模型获取模块803,用于获取预训练得到的初始模型;
训练模块804,用于按照所述预设循环轮次,将所述训练集输入至所述初始模型中进行循环训练,以及将所述测试集输入至所述初始模型中进行循环测试,直至完成所有所述预设循环轮次,获得所述预测模型。
本发明的一个可选实施例中,所述训练模块804可以包括:
第一划分子模块,用于将所述训练集分成多个批次的样本文本;
训练子模块,用于在每个轮次中,将所述多个批次的样本文本依次输入至所述初始模型中进行训练,得到更新后的模型参数;
测试子模块,用于在每个轮次中,基于所述更新后的模型参数,将所述测试集中的各个样本文本依次输入至所述初始模型中进行测试,得到模型准确率;
准确率判断子模块,用于在每个轮次中,判断当前轮次的模型准确率是否大于准确率阈值;
第一返回子模块,用于若是,则删除在先保存的预测模型,以保存当前轮次训练得到的预测模型,并将所述准确率阈值更新为所述当前轮次的模型准确率,并返回所述在每个轮次中,将所述多个批次的样本文本依次输入至所述初始模型中进行训练,得到更新后的模型参数的步骤;其中,保存格式为开放神经网络交换ONNX格式;
第二返回子模块,用于若否,则保留在先保存的预测模型,并返回所述在每个轮次中,将所述多个批次的样本文本依次输入至所述初始模型中进行训练,得到更新后的模型参数的步骤;
预测模型确定子模块,用于直至完成所有所述预设循环轮次时,将当前保存的预测模型作为最终的预测模型。
本发明的一个可选实施例中,所述样本文本处理模块802可以包括:
第二划分子模块,用于针对同一类别的样本文本进行划分,得到用于训练的样本文本和用于测试的样本文本;
合并子模块,用于将不同类别的所述用于训练的样本文本进行合并,得到训练集,以及将不同类别的所述用于测试的样本文本进行合并,得到测试集。
本发明的一个可选实施例中,所述装置还可以包括:
注册模块,用于将训练完成的预测模型进行注册。
综上,在本发明实施例中,接收用户的预测请求;预测请求包括待预测文本和模型标识;从多个预测模型中确定与模型标识匹配的目标预测模型;从待预测文本中截取多个文字,并分别对多个文字进行转换,得到多个字典参数;将多个字典参数输入至目标预测模型中,通过目标预测模型根据多个字典参数预测待预测文本所属的目标类别信息;向用户返回针对预测请求的目标类别信息。本发明实施例通过预测模型实现文本类别的预测,可替代人工分类,从而大大提升分类效率,且预测模型是BERT模型,BERT模型所需的训练样本量可大大减小,训练出模型的准确性也有一定的提升。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例还提供了一种电子设备,包括:处理器,存储器,存储在存储器上并可在处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述文本分类方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述文本分类方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的文本分类方法、装置、电子设备和计算机可读存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种文本分类方法,其特征在于,应用于分类引擎***,所述分类引擎***包括多个预测模型,所述预测模型为训练好的BERT模型,所述方法包括:
接收用户的预测请求;所述预测请求包括待预测文本和模型标识;
从所述多个预测模型中确定与所述模型标识匹配的目标预测模型;
从所述待预测文本中截取多个文字,并分别对所述多个文字进行转换,得到多个字典参数;
将所述多个字典参数输入至所述目标预测模型中,通过所述目标预测模型根据所述多个字典参数预测所述待预测文本所属的目标类别信息;
向所述用户返回针对所述预测请求的目标类别信息。
2.根据权利要求1所述的方法,其特征在于,所述目标预测模型具有多个类别信息的特征;所述通过所述目标预测模型根据所述多个字典参数预测所述待预测文本所属的目标类别信息,包括:
通过所述目标预测模型计算所述多个字典参数分别与所述多个类别信息的特征之间的相似值,得到多个相似值;
通过所述目标预测模型从所述多个相似值中确定最大的目标相似值;
通过所述目标预测模型将所述目标相似值所对应的类别信息确定为所述待预测文本所属的目标类别信息。
3.根据权利要求1所述的方法,其特征在于,所述从所述待预测文本中截取多个文字,包括:
从所述待预测文本中截取排序靠前的预设数量的多个文字。
4.根据权利要求1所述的方法,其特征在于,所述预测模型通过如下方式训练得到:
获取预设循环轮次,以及获取不同类别的样本文本;
对所述不同类别的样本文本进行处理,得到训练集和测试集;
获取预训练得到的初始模型;
按照所述预设循环轮次,将所述训练集输入至所述初始模型中进行循环训练,以及将所述测试集输入至所述初始模型中进行循环测试,直至完成所有所述预设循环轮次,获得所述预测模型。
5.根据权利要求4所述的方法,其特征在于,所述按照所述预设循环轮次,将所述训练集输入至所述初始模型中进行循环训练,以及将所述测试集输入至所述初始模型中进行循环测试,直至完成所有所述预设循环轮次,获得所述预测模型,包括:
将所述训练集分成多个批次的样本文本;
在每个轮次中,将所述多个批次的样本文本依次输入至所述初始模型中进行训练,得到更新后的模型参数;
在每个轮次中,基于所述更新后的模型参数,将所述测试集中的各个样本文本依次输入至所述初始模型中进行测试,得到模型准确率;
在每个轮次中,判断当前轮次的模型准确率是否大于准确率阈值;
若是,则删除在先保存的预测模型,以保存当前轮次训练得到的预测模型,并将所述准确率阈值更新为所述当前轮次的模型准确率,并返回所述在每个轮次中,将所述多个批次的样本文本依次输入至所述初始模型中进行训练,得到更新后的模型参数的步骤;其中,保存格式为开放神经网络交换ONNX格式;
若否,则保留在先保存的预测模型,并返回所述在每个轮次中,将所述多个批次的样本文本依次输入至所述初始模型中进行训练,得到更新后的模型参数的步骤;
直至完成所有所述预设循环轮次时,将当前保存的预测模型作为最终的预测模型。
6.根据权利要求4所述的方法,其特征在于,所述对所述不同类别的样本文本进行处理,得到训练集和测试集,包括:
针对同一类别的样本文本进行划分,得到用于训练的样本文本和用于测试的样本文本;
将不同类别的所述用于训练的样本文本进行合并,得到训练集,以及将不同类别的所述用于测试的样本文本进行合并,得到测试集。
7.根据权利要求4所述的方法,其特征在于,所述方法还包括:
将训练完成的预测模型进行注册。
8.一种文本分类装置,其特征在于,应用于分类引擎***,所述分类引擎***包括多个预测模型,所述预测模型为训练好的BERT模型,所述装置包括:
预测请求接收模块,用于接收用户的预测请求;所述预测请求包括待预测文本和模型标识;
目标预测模型确定模块,用于从所述多个预测模型中确定与所述模型标识匹配的目标预测模型;
转换模块,用于从所述待预测文本中截取多个文字,并分别对所述多个文字进行转换,得到多个字典参数;
预测模块,用于将所述多个字典参数输入至所述目标预测模型中,通过所述目标预测模型根据所述多个字典参数预测所述待预测文本所属的目标类别信息;
目标类别信息返回模块,用于向所述用户返回针对所述预测请求的目标类别信息。
9.一种电子设备,其特征在于,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的文本分类方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的文本分类方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211697914.9A CN116127067B (zh) | 2022-12-28 | 2022-12-28 | 文本分类方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211697914.9A CN116127067B (zh) | 2022-12-28 | 2022-12-28 | 文本分类方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116127067A true CN116127067A (zh) | 2023-05-16 |
CN116127067B CN116127067B (zh) | 2023-10-20 |
Family
ID=86305789
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211697914.9A Active CN116127067B (zh) | 2022-12-28 | 2022-12-28 | 文本分类方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116127067B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105868243A (zh) * | 2015-12-14 | 2016-08-17 | 乐视网信息技术(北京)股份有限公司 | 信息处理方法及装置 |
US20200042796A1 (en) * | 2019-04-16 | 2020-02-06 | Lg Electronics Inc. | Artificial intelligence apparatus for recognizing object and method therefor |
CN110991476A (zh) * | 2019-10-18 | 2020-04-10 | 北京奇艺世纪科技有限公司 | 决策分类器的训练、音视频的推荐方法、装置及存储介质 |
CN112508301A (zh) * | 2020-12-21 | 2021-03-16 | 北京梧桐车联科技有限责任公司 | 电动车辆的充电负荷预测方法、装置及存储介质 |
CN112632283A (zh) * | 2020-12-30 | 2021-04-09 | 北京有竹居网络技术有限公司 | 模型生成方法、文本分类方法、装置、设备及介质 |
CN112990432A (zh) * | 2021-03-04 | 2021-06-18 | 北京金山云网络技术有限公司 | 目标识别模型训练方法、装置及电子设备 |
CN113326379A (zh) * | 2021-06-30 | 2021-08-31 | 中国平安人寿保险股份有限公司 | 文本分类预测方法、装置、设备及存储介质 |
CN113610230A (zh) * | 2021-08-16 | 2021-11-05 | 中国工商银行股份有限公司 | 训练方法、预测方法、装置、计算机***及存储介质 |
CN113688244A (zh) * | 2021-08-31 | 2021-11-23 | 中国平安人寿保险股份有限公司 | 基于神经网络的文本分类方法、***、设备及存储介质 |
CN113889262A (zh) * | 2021-09-29 | 2022-01-04 | 平安国际智慧城市科技股份有限公司 | 基于模型的数据预测方法、装置、计算机设备和存储介质 |
CN114493052A (zh) * | 2022-04-08 | 2022-05-13 | 南方电网数字电网研究院有限公司 | 多模型融合自适应新能源功率预测方法和*** |
CN114626380A (zh) * | 2022-03-25 | 2022-06-14 | 北京明略昭辉科技有限公司 | 实体识别的方法和装置、电子设备和存储介质 |
CN115311001A (zh) * | 2022-07-08 | 2022-11-08 | 北京思特奇信息技术股份有限公司 | 一种基于多重投票算法的预测用户换机倾向的方法及*** |
-
2022
- 2022-12-28 CN CN202211697914.9A patent/CN116127067B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105868243A (zh) * | 2015-12-14 | 2016-08-17 | 乐视网信息技术(北京)股份有限公司 | 信息处理方法及装置 |
US20200042796A1 (en) * | 2019-04-16 | 2020-02-06 | Lg Electronics Inc. | Artificial intelligence apparatus for recognizing object and method therefor |
CN110991476A (zh) * | 2019-10-18 | 2020-04-10 | 北京奇艺世纪科技有限公司 | 决策分类器的训练、音视频的推荐方法、装置及存储介质 |
CN112508301A (zh) * | 2020-12-21 | 2021-03-16 | 北京梧桐车联科技有限责任公司 | 电动车辆的充电负荷预测方法、装置及存储介质 |
CN112632283A (zh) * | 2020-12-30 | 2021-04-09 | 北京有竹居网络技术有限公司 | 模型生成方法、文本分类方法、装置、设备及介质 |
CN112990432A (zh) * | 2021-03-04 | 2021-06-18 | 北京金山云网络技术有限公司 | 目标识别模型训练方法、装置及电子设备 |
CN113326379A (zh) * | 2021-06-30 | 2021-08-31 | 中国平安人寿保险股份有限公司 | 文本分类预测方法、装置、设备及存储介质 |
CN113610230A (zh) * | 2021-08-16 | 2021-11-05 | 中国工商银行股份有限公司 | 训练方法、预测方法、装置、计算机***及存储介质 |
CN113688244A (zh) * | 2021-08-31 | 2021-11-23 | 中国平安人寿保险股份有限公司 | 基于神经网络的文本分类方法、***、设备及存储介质 |
CN113889262A (zh) * | 2021-09-29 | 2022-01-04 | 平安国际智慧城市科技股份有限公司 | 基于模型的数据预测方法、装置、计算机设备和存储介质 |
CN114626380A (zh) * | 2022-03-25 | 2022-06-14 | 北京明略昭辉科技有限公司 | 实体识别的方法和装置、电子设备和存储介质 |
CN114493052A (zh) * | 2022-04-08 | 2022-05-13 | 南方电网数字电网研究院有限公司 | 多模型融合自适应新能源功率预测方法和*** |
CN115311001A (zh) * | 2022-07-08 | 2022-11-08 | 北京思特奇信息技术股份有限公司 | 一种基于多重投票算法的预测用户换机倾向的方法及*** |
Non-Patent Citations (2)
Title |
---|
时磊;杨恒;周振峰;杨刘贵;张辉;杜浩;: "基于RetinaNet模型的鸟巢智能检测", 电力大数据, no. 02, pages 59 - 64 * |
邹晓辉;: "基于Logistic回归的数据分类问题研究", 智能计算机与应用, no. 06, pages 142 - 143 * |
Also Published As
Publication number | Publication date |
---|---|
CN116127067B (zh) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210049512A1 (en) | Explainers for machine learning classifiers | |
US20220100963A1 (en) | Event extraction from documents with co-reference | |
US20220100772A1 (en) | Context-sensitive linking of entities to private databases | |
US20170244711A1 (en) | System and method for evaluating a reverse query | |
WO2019100635A1 (zh) | 自动化测试脚本的编辑方法、装置、终端设备及存储介质 | |
US20220100967A1 (en) | Lifecycle management for customized natural language processing | |
US11797705B1 (en) | Generative adversarial network for named entity recognition | |
US11599666B2 (en) | Smart document migration and entity detection | |
JP2023545625A (ja) | ソフトウェアの脆弱性のトリアージのためのシステムおよび方法 | |
CN117271767B (zh) | 基于多智能体的运维知识库的建立方法 | |
CN113742488B (zh) | 基于多任务学习的嵌入式知识图谱补全方法和装置 | |
CN113449011A (zh) | 基于大数据预测的信息推送更新方法及大数据预测*** | |
KR102155877B1 (ko) | 인공지능 학습 데이터 생성을 위한 크라우드소싱 플랫폼의 참여 자격에 매칭되는 프로젝트 정보 제공 방법 | |
US11604833B1 (en) | Database integration for machine learning input | |
CN111985207A (zh) | 一种访问控制策略的获取方法、装置及电子设备 | |
CN114548118A (zh) | 一种服务对话检测方法及*** | |
WO2022072237A1 (en) | Lifecycle management for customized natural language processing | |
CN116127067B (zh) | 文本分类方法、装置、电子设备和存储介质 | |
CN112613072A (zh) | 基于档案大数据的信息管理方法、管理***及管理云平台 | |
CN110895703B (zh) | 法律文书案由识别方法及装置 | |
CN114898184A (zh) | 模型训练方法、数据处理方法、装置及电子设备 | |
US20220300884A1 (en) | Method and system for evaluating performance of developers using artificial intelligence (ai) | |
Hou et al. | FewJoint: few-shot learning for joint dialogue understanding | |
US11762857B2 (en) | Methods and systems for searching data exchanges that comprise information on assets with non-homogenous functionality and non-standardized data descriptions | |
CN116450935A (zh) | 一种面向Web API调用的请求参数转换方法 |
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 |