CN110555298A - 验证码识别模型训练及识别方法、介质、装置、计算设备 - Google Patents
验证码识别模型训练及识别方法、介质、装置、计算设备 Download PDFInfo
- Publication number
- CN110555298A CN110555298A CN201910817534.6A CN201910817534A CN110555298A CN 110555298 A CN110555298 A CN 110555298A CN 201910817534 A CN201910817534 A CN 201910817534A CN 110555298 A CN110555298 A CN 110555298A
- Authority
- CN
- China
- Prior art keywords
- verification code
- character
- coding
- vector
- identifying
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/36—User authentication by graphic or iconic representation
-
- 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
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)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Character Discrimination (AREA)
Abstract
本发明的实施方式提供了一种验证码识别模型训练方法、验证码识别方法、介质、验证码识别模型训练装置、验证码识别装置以及计算设备。该验证码识别模型训练方法包括:获取具有相同验证码长度的验证码图像样本,并确定与验证码图像样本相对应的字符样本标签;确定组成字符样本标签的验证码字符以及验证码字符的属性值,并获取验证码字符的字符类型信息;根据字符类型信息和属性值对字符样本标签进行编码以得到编码样本标签;利用验证码图像样本和编码样本标签训练用于识别验证码图像的验证码识别模型。基于本发明训练验证码识别模型的验证码识别方法具有识别效率高、实时性好、识别准确率高、普遍适用各种验证码类型等优点。
Description
技术领域
本发明的实施方式涉及通信及计算机技术领域,更具体地,本发明的实施方式涉及验证码识别模型训练方法、验证码识别方法、介质、验证码识别模型训练装置、验证码识别装置以及计算设备。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
验证码是一种区分用户是计算机还是人的公共全自动程序。在全自动区分计算机和人类的图灵测试(Completely Automated Public Turing test to tell Computersand Humans Apart,简称CAPTCHA)中,作为服务器的计算机会自动生成一个问题由用户来解答,即通过强制人机交互来抵御机器自动化攻击,从而确保服务器系统的稳定性和用户信息的安全性。目前较为常用的验证码类型包括图片验证码、滑窗验证码和选择性验证码等等。
如果能够对验证码进行自动识别,便可以辅助用户快速通过验证码的验证环节,从而能够实现自动化地访问网络页面并获取公开的网络数据。然而,现有的验证码识别方法普遍存在识别效率低、准确性差等问题。
发明内容
本发明的目的在于提供一种验证码识别模型训练方法、验证码识别方法、介质、验证码识别模型训练装置、验证码识别装置以及计算设备,从而在一定程度上克服由于相关技术的限制而导致的验证码识别效率低、识别准确性差等问题。
根据本发明实施方式的第一方面,提供一种验证码识别模型训练方法,包括:获取具有相同验证码长度的验证码图像样本,并确定与所述验证码图像样本相对应的字符样本标签;确定组成所述字符样本标签的验证码字符以及所述验证码字符的属性值,并获取所述验证码字符的字符类型信息;根据所述字符类型信息和所述属性值对所述字符样本标签进行编码以得到编码样本标签;利用所述验证码图像样本和所述编码样本标签训练用于识别验证码图像的验证码识别模型。
在本发明的一些示例性实施方式中,基于以上技术方案,所述根据所述字符类型信息和所述属性值对所述字符样本标签进行编码以得到编码样本标签,包括:根据所述字符类型信息确定具有多个编码位置的待填充编码向量,并确定所述属性值与各个所述编码位置的对应关系;根据所述对应关系对所述待填充编码向量进行数值填充以得到所述验证码字符的字符编码向量;按照各个所述验证码字符在所述字符样本标签中的排列顺序对各个所述字符编码向量进行拼接以得到编码样本标签。
在本发明的一些示例性实施方式中,基于以上技术方案,所述根据所述对应关系对所述待填充编码向量进行数值填充以得到所述验证码字符的字符编码向量,包括:根据所述对应关系确定所述待填充编码向量中的一个目标编码位置;在所述目标编码位置上填充第一编码数值,并在所述待填充编码向量中的其他编码位置上填充第二编码数值;将填充有一个所述第一编码数值和多个所述第二编码数值的所述待填充编码向量确定为所述验证码字符的字符编码向量。
在本发明的一些示例性实施方式中,基于以上技术方案,所述利用所述验证码图像样本和所述编码样本标签训练用于识别验证码图像的验证码识别模型,包括:获取预训练得到的基础权重数据,并利用所述基础权重数据对基础网络模型进行初始化以得到初始验证码识别模型;利用所述验证码图像样本和所述编码样本标签对所述初始验证码识别模型进行迭代训练以得到用于识别验证码图像的目标验证码识别模型。
在本发明的一些示例性实施方式中,基于以上技术方案,所述基础网络模型为具有三个卷积池化网络和一个全连接层的卷积神经网络模型。
在本发明的一些示例性实施方式中,基于以上技术方案,所述利用所述验证码图像样本和所述编码样本标签对所述初始验证码识别模型进行迭代训练以得到用于识别验证码图像的目标验证码识别模型,包括:将所述验证码图像样本和所述编码样本标签输入所述初始验证码识别模型以得到当前迭代轮次中的损失函数的误差值,并根据所述误差值确定所述初始验证码识别模型中与各个待调参数相对应的梯度向量;确定与所述各个待调参数相对应的梯度向量的一阶矩估计和二阶矩估计,并根据所述一阶矩估计和所述二阶矩估计分别确定当前迭代轮次中各个所述待调参数的调整步长;基于各个迭代轮次中的所述各个待调参数的调整步长对所述初始验证码识别模型进行迭代训练以得到用于识别验证码图像的目标验证码识别模型。
在本发明的一些示例性实施方式中,基于以上技术方案,在利用所述验证码图像样本和所述编码样本标签训练用于识别验证码图像的验证码识别模型之前,所述方法还包括:当所述验证码图像样本的图像尺寸不是目标尺寸时,对所述验证码图像样本进行预处理以得到具有目标尺寸的验证码图像样本。
根据本发明实施方式的第二方面,提供一种验证码识别方法,包括:获取待识别验证码图像的验证码长度信息和字符类型信息,并根据所述验证码长度信息和所述字符类型信息确定预先训练的验证码识别模型;将所述待识别验证码图像输入至所述验证码识别模型以得到所述待识别验证码图像的验证码编码向量;根据所述验证码长度信息和所述字符类型信息对所述验证码编码向量进行解码以得到所述待识别验证码图像中的验证码字符串。
在本发明的一些示例性实施方式中,基于以上技术方案,所述根据所述验证码长度信息和所述字符类型信息对所述验证码编码向量进行解码以得到所述待识别验证码图像中的验证码字符串,包括:根据所述验证码长度信息对所述验证码编码向量进行拆分以得到多个字符编码向量;根据所述字符类型信息对各个所述字符编码向量进行解码以得到与所述字符编码向量相对应的验证码字符的属性值;按照所述字符编码向量在所述验证码编码向量中的排列顺序对各个所述验证码字符的属性值进行排序以得到所述待识别验证码图像中的验证码字符串。
在本发明的一些示例性实施方式中,基于以上技术方案,所述字符编码向量是由一个第一编码数值和多个第二编码数值组成的向量;所述根据所述字符类型信息对各个所述字符编码向量进行解码以得到与所述字符编码向量相对应的验证码字符的属性值,包括:根据所述字符类型信息确定所述字符编码向量中的各个编码位置与验证码字符的属性值之间的对应关系;将所述字符编码向量中所述第一编码数值所在的编码位置确定为目标编码位置;根据所述目标编码位置和所述对应关系确定与所述字符编码向量相对应的验证码字符的属性值。
在本发明的一些示例性实施方式中,基于以上技术方案,在将所述待识别验证码图像输入至所述验证码识别模型以得到所述待识别验证码图像的验证码编码向量之前,所述方法还包括:当所述待识别验证码图像的图像尺寸不是目标尺寸时,对所述待识别验证码图像进行预处理以得到具有目标尺寸的待识别验证码图像。
根据本发明实施方式的第三方面,提供一种介质,其上存储有程序,所述程序被处理器执行时实现如以上任一实施方式中的方法。
根据本发明实施方式的第四方面,提供一种验证码识别模型训练装置,包括:样本获取模块,被配置为获取具有相同验证码长度的验证码图像样本,并确定与所述验证码图像样本相对应的字符样本标签;信息获取模块,被配置为确定组成所述字符样本标签的验证码字符以及所述验证码字符的属性值,并获取所述验证码字符的字符类型信息;样本编码模块,被配置为根据所述字符类型信息和所述属性值对所述字符样本标签进行编码以得到编码样本标签;模型训练模块,被配置为利用所述验证码图像样本和所述编码样本标签训练用于识别验证码图像的验证码识别模型。
在本发明的一些示例性实施方式中,基于以上技术方案,所述样本编码模块包括:位置确定单元,被配置为根据所述字符类型信息确定具有多个编码位置的待填充编码向量,并确定所述属性值与各个所述编码位置的对应关系;数值填充单元,被配置为根据所述对应关系对所述待填充编码向量进行数值填充以得到所述验证码字符的字符编码向量;向量拼接单元,被配置为按照各个所述验证码字符在所述字符样本标签中的排列顺序对各个所述字符编码向量进行拼接以得到编码样本标签。
在本发明的一些示例性实施方式中,基于以上技术方案,所述数值填充单元包括:目标确定子单元,被配置为根据所述对应关系确定所述待填充编码向量中的一个目标编码位置;数值填充子单元,被配置为在所述目标编码位置上填充第一编码数值,并在所述待填充编码向量中的其他编码位置上填充第二编码数值;向量确定子单元,被配置为将填充有一个所述第一编码数值和多个所述第二编码数值的所述待填充编码向量确定为所述验证码字符的字符编码向量。
在本发明的一些示例性实施方式中,基于以上技术方案,所述模型训练模块包括:模型初始化单元,被配置为获取预训练得到的基础权重数据,并利用所述基础权重数据对基础网络模型进行初始化以得到初始验证码识别模型;迭代训练单元,被配置为利用所述验证码图像样本和所述编码样本标签对所述初始验证码识别模型进行迭代训练以得到用于识别验证码图像的目标验证码识别模型。
在本发明的一些示例性实施方式中,基于以上技术方案,所述基础网络模型为具有三个卷积池化网络和一个全连接层的卷积神经网络模型。
在本发明的一些示例性实施方式中,基于以上技术方案,所述迭代训练单元包括:梯度向量确定子单元,被配置为将所述验证码图像样本和所述编码样本标签输入所述初始验证码识别模型以得到当前迭代轮次中的损失函数的误差值,并根据所述误差值确定所述初始验证码识别模型中与各个待调参数相对应的梯度向量;调整步长确定子单元,被配置为确定与所述各个待调参数相对应的梯度向量的一阶矩估计和二阶矩估计,并根据所述一阶矩估计和所述二阶矩估计分别确定当前迭代轮次中各个所述待调参数的调整步长;迭代训练子单元,被配置为基于各个迭代轮次中的所述各个待调参数的调整步长对所述初始验证码识别模型进行迭代训练以得到用于识别验证码图像的目标验证码识别模型。
在本发明的一些示例性实施方式中,基于以上技术方案,所述装置还包括:样本预处理模块,被配置为当所述验证码图像样本的图像尺寸不是目标尺寸时,对所述验证码图像样本进行预处理以得到具有目标尺寸的验证码图像样本。
根据本发明实施方式的第五方面,提供一种验证码识别装置,包括:模型确定模块,被配置为获取待识别验证码图像的验证码长度信息和字符类型信息,并根据所述验证码长度信息和所述字符类型信息确定预先训练的验证码识别模型;向量获取模块,被配置为将所述待识别验证码图像输入至所述验证码识别模型以得到所述待识别验证码图像的验证码编码向量;向量解码模块,被配置为根据所述验证码长度信息和所述字符类型信息对所述验证码编码向量进行解码以得到所述待识别验证码图像中的验证码字符串。
在本发明的一些示例性实施方式中,基于以上技术方案,所述向量解码模块包括:向量拆分单元,被配置为根据所述验证码长度信息对所述验证码编码向量进行拆分以得到多个字符编码向量;属性值获取单元,被配置为根据所述字符类型信息对各个所述字符编码向量进行解码以得到与所述字符编码向量相对应的验证码字符的属性值;属性值排序单元,被配置为验证码按照所述字符编码向量在所述验证码编码向量中的排列顺序对各个所述验证码字符的属性值进行排序以得到所述待识别验证码图像中的验证码字符串。
在本发明的一些示例性实施方式中,基于以上技术方案,所述字符编码向量是由一个第一编码数值和多个第二编码数值组成的向量;所述属性值获取单元包括:编码位置确定子单元,被配置为根据所述字符类型信息确定所述字符编码向量中的各个编码位置与验证码字符的属性值之间的对应关系;目标位置确定子单元,被配置为将所述字符编码向量中所述第一编码数值所在的编码位置确定为目标编码位置;属性值确定子单元,被配置为根据所述目标编码位置和所述对应关系确定与所述字符编码向量相对应的验证码字符的属性值。
在本发明的一些示例性实施方式中,基于以上技术方案,所述装置还包括:图像预处理模块,被配置为当所述待识别验证码图像的图像尺寸不是目标尺寸时,对所述待识别验证码图像进行预处理以得到具有目标尺寸的待识别验证码图像。
根据本发明实施方式的第六方面,提供一种计算设备,包括:处理器和存储器,所述存储器存储有可执行指令,所述处理器用于调用所述存储器存储的可执行指令执行如以上任一实施方式中的方法。
在本发明各实施方式提供的技术方案中,通过采集各种类型的验证码图像样本作为训练数据,同时对验证图像样本中的验证码字符进行数据编码形成样本标签,再利用训练数据和样本标签进行迭代训练得到验证码识别模型,可以实现一种自动化的验证码识别方法。针对不同的验证码类型,本发明只需要采集对应的验证码图像样本以增加训练数据训练得到相应的权重文件即可,而无需对算法代码做任何改动。另外,本发明提供的基于验证码识别模型的验证码识别方法可以忽略验证码图像中出现的字符粘连、旋转平移或者仿射变化等带来的影响,整体上具有识别效率高、实时性好、识别准确率高、普遍适用各种验证码类型等优点。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1示出了应用本发明示例性实施方式的系统架构示意图。
图2示出了本发明示例性实施方式的服务端应用框架示意图。
图3示意性地示出了在本发明的一些示例性实施方式中的验证码识别模型的训练过程和使用过程。
图4示意性地示出了本发明示例性实施方式中的一种验证码识别模型训练方法的步骤流程图。
图5示意性地示出了在本发明的一些示例性实施方式中对字符样本标签进行编码的步骤流程图。
图6示意性地示出了在本发明的一些示例性实施方式中通过数值填充得到字符编码向量的步骤流程图。
图7示出了基于数字类型的字符样本标签的编码过程示意图。
图8示意性地示出了在本发明的一些示例性实施方式中训练验证码识别模型的步骤流程图。
图9示意性地示出了在本发明的一些示例性实施方式中的基础网络模型的网络结构图。
图10示意性地示出了在本发明的一些示例性实施方式中对验证码识别模型进行迭代训练的步骤流程图。
图11示意性地示出了在本发明示例性实施方式中的验证码识别方法的步骤流程图。
图12示意性地示出了在本发明的一些示例性实施方式中对验证码编码向量进行解码的步骤流程图。
图13示意性地示出了在本发明的一些示例性实施方式中基于编码位置进行解码的步骤流程图。
图14示出了基于数字类型的验证码编码向量的解码过程示意图。
图15示意性地示出了本发明一些示例性实施方式中的验证码识别模型训练装置的结构框图。
图16示意性地示出了本发明一些示例性实施方式中的验证码识别装置的结构框图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本发明更加透彻和完整,并且能够将本发明的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本发明可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
本发明中涉及的技术术语解释如下:
卷积神经网络(Convolutional Neural Network,CNN):是一种前馈神经网络,由一个或多个卷积层和全连接层组成,同时也可以包括关联权重和池化层。这一结构使得卷积神经网络能够利用输入数据的二维结构。
卷积层(Convolutional layer):卷积神经网络中每层卷积层由若干卷积单元组成,每个卷积单元的参数都是通过反向传播算法最优化得到的。卷积运算的目的是提取输入的不同特征,第一层卷积层可能只能提取一些低级的特征如边缘、线条和角等层级,更多层的网路能从低级特征中迭代提取更复杂的特征。
池化层(Pooling layer):池化是一种降采样方法,通常会分别作用于每个输入的特征并减小其大小,从而实现缩减模型的大小、提高计算速度、提高所提取特征的鲁棒性等目的。
此外,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
发明概述
在本发明的相关技术中,图片验证码的识别方法例如可以包括投影式分割法、模板库匹配法、开源识别引擎和机器学习方法等等。这些方法在验证码的识别过程中都需要繁杂的图片预处理或者特征提取过程,普遍存在以下缺陷:
1、实时性差。以上验证码识别方法需要利用复杂算法进行数据预测和特征提取,这使得识别的效率降低,无法保证稳定的实时计算。
2、识别准确率低。以上验证码识别方法仅对形式简单的验证码有效,如果图片验证码中噪声较多,例如图片内的验证码字符存在交叉、旋转变换或者仿射变换等,则难以获得准确的验证码识别结果。
3、普遍适用性差。以上验证码识别方法仅针对特定验证码有效,对于不同的图片验证码,例如在原始字符集的基础上增加噪声、字符旋转和平移等等,又或者对原始字符集进行变更,均会导致验证码识别方法无法正常运行,因此需要重新开发相应的算法。而这同时也导致了以上验证码识别方法无法普遍适用在各种验证码类型上,带来了算法重复开发、计算资源浪费等问题。
针对以上缺陷和问题,本发明提供一种新型的验证码识别模型训练方法、基于该验证码识别模型的验证码识别方法以及相应的验证码识别模型训练装置、验证码识别装置、计算机可读介质和计算设备。本发明采集各种类型的验证码图像样本作为训练数据,同时对验证图像样本中的验证码字符进行数据编码形成样本标签,再利用训练数据和样本标签进行迭代训练得到验证码识别模型,从而实现一种自动化的验证码识别方法。针对不同的验证码类型,本发明只需要采集对应的验证码图像样本以增加训练数据,再训练得到相应的权重文件即可,而无需对算法代码做任何改动。另外,本发明提供的基于验证码识别模型的验证码识别方法可以忽略验证码图像中出现的字符粘连、旋转平移或者仿射变化等带来的影响,整体上具有识别效率高、实时性好、识别准确率高、普遍适用各种验证码类型等优点。
在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。
应用场景总览
需要注意的是,下述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
图1示出了应用本发明示例性实施方式的系统架构示意图。如图1所示,系统架构100可以包括客户端110、网络120和服务端130。客户端110可以包括智能手机、平板电脑、笔记本电脑、台式电脑等各种终端设备。服务端130可以包括网络服务器、应用服务器、数据库服务器等各种服务器设备,服务端130可以为客户端110提供网络资源和数据服务。网络120可以是能够在客户端110和服务端130之间提供通信链路的各种连接类型的通信介质,例如可以是有线通信链路、无线通信链路或者光纤电缆等等。
根据实现需要,本发明示例性实施方式的系统架构可以具有任意数目的客户端、网络和服务端。例如,服务端130可以是由多个服务器设备组成的服务器群组。本发明示例性实施方式提供的验证码识别模型训练方法或者验证码识别方法可以应用于客户端110,也可以应用于服务端130,本发明对此不做特殊限定。
图2示出了本发明示例性实施方式的服务端应用框架示意图。如图2所示,本发明示例性实施方式提供的验证码识别模型训练方法或者验证码识别方法在服务端的应用框架主要包括网页服务器210和底层服务器220,底层服务器上设置有基础web服务框架230,基础web服务框架230内部管理多个验证码识别模型240。
网页服务器210可以采用作为高性能的HTTP服务器和反向代理web服务器的Nginx,用于服务器负载均衡和流量控制。Nginx作为服务端应用框架的最外层,用于接收由用户发送的来自客户端的HTTP请求并将该HTTP请求分发于多个底层服务器220进行处理,起到负载均衡的作用。同时作为反向代理服务,Nginx也简化了用户操作,仅暴露给用户一个HTTP接口,而无需暴露多个底层服务器接口,方便了内部监控。Nginx的负载均衡能力也保证了服务能够高并发高可用。
底层服务器220是提供底层分类服务的硬件资源,可以是一个也可以是多个,数据处理统一受到Nginx管理。底层服务器220的数量越多,能够并发处理的验证码识别模型训练请求或者验证码识别请求也越多,理论上该服务端应用框架的并非处理性能与底层服务器220的数量呈正比关系。
基础web服务框架230是接收验证码并处理模型训练或者识别请求的最小单元,它由Flask服务框架和验证码识别模型240构成。Flask是基于python开源的微型网络服务框架,作为一个单进程网络服务框架,无法并发的处理数据请求。因此为了提高底层服务器内部并发能力,提升资源利用率,通过Gunicorn容器管理若干个Flask服务。Gunicorn也是一个开源的web服务框架,通过pre-fork的形式管理若干个flask服务,主要是请求分发和进程状态监控,可以在服务异常时自动重启flask服务,保证了服务高可用。
验证码识别模型240是本发明实现验证码自动识别的核心,主要有训练好的模型权重文件,对识别过程中的代码进行封装,提供验证码识别的功能。验证码识别模型240基于Tensorflow实现,Tensorflow是谷歌开源的深度学习框架。基于Tensorflow可以定义和实现卷积网络结构,提供模型训练和模型推理的计算。模型推理即使用训练好的模型权重文件,对输入的验证码图像进行识别。
Flask网络框架与深度学习框架的融合,保证了模型和系统的稳定性和处理速度,在实际测试下,每个验证码的处理时间可以控制在25ms以内。结合Gunicorn提升了资源利用率和并发处理能力,通过使用Nginx可以提供集群化的服务,满足大量高并发的请求服务。
图3示意性地示出了在本发明的一些示例性实施方式中的验证码识别模型的训练过程和使用过程。如图3所示,在验证码识别模型的训练过程中,可以先采集验证码图像样本形成验证码图像样本集,然后对验证码图像样本集中的各个验证码图像样本进行人工标注形成样本标签。例如,对图中验证码图像样本集内示例的一个验证码图像样本进行人工标注后可以得到样本标签“NBKJ”。在对样本标签进行编码处理后可以得到与验证码图像样本相对应的标签编码。由添加标签编码的验证码图像样本组成训练样本集,经过模型训练后便可以得到模型权重文件。通过加载该模型权重文件可以得到相应的验证码识别模型。针对不同类型的验证码,可以按照以上训练过程训练不同类型的验证码识别模型。当需要对验证码进行自动化验证时,可以通过加载预先训练得到的模型权重文件得到验证码识别模型,再将待识别的验证码图像输入该验证码识别模型,经过验证码识别模型的推理可以输出与该待识别的验证码图像相对应的验证码标签,然后再对验证码标签进行解码后便可以获得相应的验证码。例如,对图中示例的一个验证码图像进行模型推理和标签解码后便得到相应的验证码“3PLC”。
示例性方法
下面结合上述的应用场景,参考图4至图14来描述根据本发明示例性实施方式的验证码识别模型训练方法以及基于训练得到的验证码识别模型的验证码识别方法。
图4示意性地示出了本发明示例性实施方式中的一种验证码识别模型训练方法的步骤流程图。如图4所示,该验证码识别模型训练方法主要可以包括以下步骤:
步骤S410.获取具有相同验证码长度的验证码图像样本,并确定与验证码图像样本相对应的字符样本标签。
为了训练验证码识别模型,需要采集大量的验证码图像作为训练样本,验证码图像样本可以是从公开网络资源中获取得到,也可以是通过验证码生成模型生成得到。一般而言,5000个以上的验证码图像样本数量可以满足基本的训练需求,而且样本数量越多时训练结果越好。针对一个待训练的验证码识别模型而言,所使用的验证码图像样本应当具有相同的验证码长度,这里的验证码长度指的是组成验证码图像的验证码字符的数量。针对每一个验证码图像样本,本步骤都可以确定一个与之相对应的字符样本标签。例如,如图3所示的验证码图像样本集中的一个验证码图像样本,其验证码长度(即验证码字符数量)为4,通过人工标注可以确定与之相对应的字符样本标签“NBKJ”。除了人工标注以外,本步骤也可以借助智能化的标注工具与人工检查相结合的方式确定字符样本标签。字符样本标签的标注精确程度将会对验证码识别模型的识别能力产生影响,因此字符样本标签的标注过程中应当尽量避免出现标注错误,以免因错误样本误导训练样本而影响验证码识别模型的识别准确率。
步骤S420.确定组成字符样本标签的验证码字符以及验证码字符的属性值,并获取验证码字符的字符类型信息。
针对步骤S410中确定的与各个验证码图像样本相对应的字符样本标签,本步骤需要确定组成字符样本标签的验证码字符以及各个验证码字符的属性值,同时还需要获取各个验证码字符的字符类型信息。验证码字符的字符类型信息用于表征一个验证码字符属于何种字符类型,每种字符类型又涵盖有多种不同属性值的验证码字符。举例而言,验证码字符的字符类型可以包括数字、英文字母、汉字或者特殊符号等等。其中,数字可以包括0~9共计10种不同属性值的验证码字符,英文字母可以包括A~Z共计26种不同属性值的验证码字符。例如一个验证码字符标签为“3PLC”,那么该验证码字符标签即包括有属性值分别为“3”、“P”、“L”和“C”的4个验证码字符,据此也可以确定该验证码字符的字符类型信息为数字和英文字母的组合。
步骤S430.根据字符类型信息和属性值对字符样本标签进行编码以得到编码样本标签。
字符样本标签的编码过程是把组成字符样本标签的验证码字符串转变为数字向量的过程,因为验证码识别模型的训练过程中涉及到大量的矩阵操作和处理,需要使用浮点数进行计算,而且计算机底层计算还是依赖于位计算,因此需要将不同类型和不同属性值的验证码字符转变为编码数值进行表示。根据步骤S420中确定的字符样本标签的字符类型信息和属性值,本步骤可以按照预设的编码规则采用固定长度的向量对各个字符样本标签进行编码,将固定长度的带有唯一性的编码向量作为编码样本标签。
步骤S440.利用验证码图像样本和编码样本标签训练用于识别验证码图像的验证码识别模型。
以验证码图像样本以及编码样本标签作为验证码识别模型的输入数据,利用验证码识别模型的实际输出数据与该编码样本标签之间的误差对验证码识别模型进行迭代训练,不断调整优化验证码识别模型的权重参数以提高其验证码识别能力,直至获得满足要求的用于识别验证码图像的验证码识别模型。例如,本步骤可以将一部分未参与模型训练的验证码图像样本和编码样本标签组成验证集,然后利用验证集对验证码识别模型的识别准确率进行验证,当该识别准确率超过某一阈值时便可以判定训练完成。
基于训练得到的用于识别验证码图像的验证码识别模型,可以在输入待识别的验证码图像的情况下,由验证码识别模型输出与之对应的字符编码向量,然后再利用预设的解码规则对该字符编码向量进行解码即可得到验证码图像中的验证码字符串,完成验证码的识别过程。
在验证码识别模型的训练过程和使用过程中需要分别用到两个互逆的编码规则和解码规则。图5示意性地示出了在本发明的一些示例性实施方式中对字符样本标签进行编码的步骤流程图。如图5所示,在以上实施方式的基础上,步骤S430.根据字符类型信息和属性值对字符样本标签进行编码以得到编码样本标签,可以包括以下步骤:
步骤S510.根据字符类型信息确定具有多个编码位置的待填充编码向量,并确定属性值与各个编码位置的对应关系。
根据步骤S420中获取到的字符类型信息,本步骤可以确定由多个编码位置组合而成的待填充编码向量,同时可以确定每种验证码字符的属性值与待填充编码向量中的各个编码位置之间的对应关系。例如,由步骤S420获取到的字符类型信息为数字,那么本步骤可以确定一个具有10个编码位置的10维向量作为待填充编码向量,该向量的10个编码位置按照其排列顺序依次对应于取值分别为0~9的10个属性值。若由步骤S420获取到的字符类型信息为英文字母,那么本步骤可以确定一个具有26个编码位置的26维向量作为待填充编码向量,该向量的26个编码位置按照其排列顺序依次对应于取值分别为英文字母A~Z的26个属性值。又例如,由步骤S420获取到的字符类型信息为数字和英文字母的组合,那么本步骤可以确定一个具有36个编码位置的36维向量作为待填充编码向量,该向量的36个编码位置按照其排列顺序依次对应于取值分别为数字0~9和英文字母A~Z的36个属性值。当然,在其他一些实施方式中,各个属性值与编码位置之间也可以按照其他任意的排列规则建立对应关系,本发明对此不做特殊限定。
步骤S520.根据对应关系对待填充编码向量进行数值填充以得到验证码字符的字符编码向量。
基于步骤S510中确定的验证码字符的属性值与待填充编码向量的编码位置之间的对应关系,本步骤可以对待填充编码向量进行数值填充以得到验证码字符的字符编码向量。经过数值填充后,字符样本标签中的每一个验证码字符都将对应确定一个字符编码向量,而且由于属性值与编码位置在对应关系上具有唯一性,由此获得的字符编码向量也可以唯一确定地对应于一个验证码字符。
步骤S530.按照各个验证码字符在字符样本标签中的排列顺序对各个字符编码向量进行拼接以得到编码样本标签。
字符样本标签是由多个验证码字符按照一定排列顺序组合而成的,如果改变其排列顺序则一般会形成一个新的字符样本标签。换言之,除了验证码字符的属性值以外,各个验证码字符的排列顺序也是字符样本标签的关键特征之一。因此,本步骤需要按照各个验证码字符在字符样本标签中的排列顺序对相应的各个字符编码向量进行拼接以得到编码样本标签,由此得到的编码样本标签以编码形式提取并保留字符样本标签中的验证码字符的属性值以及排列顺序等主要特征信息。
在对验证码字符进行编码以得到字符编码向量时,需要按照属性值与编码位置的对应关系对待填充编码向量的各个编码位置进行数值填充。图6示意性地示出了在本发明的一些示例性实施方式中通过数值填充得到字符编码向量的步骤流程图。如图6所示,在以上各实施方式的基础上,步骤S520.根据对应关系对待填充编码向量进行数值填充以得到验证码字符的字符编码向量,可以进一步包括以下步骤:
步骤S610.根据对应关系确定待填充编码向量中的一个目标编码位置。
根据属性值与编码位置的对应关系,本步骤可以在待填充编码向量中确定与当前待编码的验证码字符相对应的一个目标编码位置,该目标编码位置是与当前待编码的验证码字符的属性值唯一对应的特征位置。例如,当前待编码的验证码字符为数字“6”,那么与之对应的目标编码位置可以是待填充编码向量中的第7个编码位置,而在该目标编码位置之前的分别是对应于属性值为0~5的6个验证码字符的目标编码位置。
步骤S620.在目标编码位置上填充第一编码数值,并在待填充编码向量中的其他编码位置上填充第二编码数值。
在待填充编码向量中确定目标编码位置后,本步骤可以在目标编码位置上填充第一编码数值,同时在待填充编码向量中除目标编码位置以外的其他编码位置上填充第二编码数值。第一编码数值与第二编码数值为两个不同数值,例如,第一编码数值可以取值为1,第二编码数值可以相应取值为0。
步骤S630.将填充有一个第一编码数值和多个第二编码数值的待填充编码向量确定为验证码字符的字符编码向量。
经过数值填充后的待填充编码向量可以被确定为当前待编码的验证码字符的字符编码向量,该字符编码向量的特点是由一个第一编码数值和多个第二编码数值组成,而第一编码数值所在的位置是表征该验证码字符属性值的特征位置。
举例而言,针对验证码字符类型为数字的字符样本标签,可以确定一个具有10个编码位置的待填充编码向量,其中10个编码位置分别对应于属性值为0~9的10个验证码字符。每一个数字类型的验证码字符都可以确定一个具有唯一性的10维向量,例如,验证码字符“0”所对应的字符编码向量是第一个编码位置为1且其他编码位置为0的向量,验证码字符“1”所对应的字符编码向量是第二个编码位置为1且其他编码位置为0的向量,验证码字符“2”所对应的字符编码向量是第三个编码位置为1且其他编码位置为0的向量,以此类推。图7示出了基于数字类型的字符样本标签的编码过程示意图。如图7所示,字符样本标签为“1234”,其中包含的4个验证码字符可以首先确定4个10维向量,然后再将这4个10维向量按照各个验证码字符的排列顺序进行拼接处理可以得到一个维数为40的向量,拼接得到的这一向量即作为字符样本标签“1234”对应的编码样本标签。
每个验证码图像样本可以对应一个字符样本标签,而对字符样本标签进行编码后又可以确定一个编码样本标签,然后将验证码图像样本与编码样本标签作为训练数据可以对验证码识别模型进行训练。图8示意性地示出了在本发明的一些示例性实施方式中训练验证码识别模型的步骤流程图。如图8所示,在以上各实施方式的基础上,步骤S440.利用验证码图像样本和编码样本标签训练用于识别验证码图像的验证码识别模型,可以包括以下步骤:
步骤S810.获取预训练得到的基础权重数据,并利用基础权重数据对基础网络模型进行初始化以得到初始验证码识别模型;
步骤S820.利用验证码图像样本和编码样本标签对初始验证码识别模型进行迭代训练以得到用于识别验证码图像的目标验证码识别模型。
在本示例性实施方式中,采用迁移学习的方式,通过获取预训练得到的基础权重数据对基础网络模型进行初始化,得到已经具有一定验证码识别能力的初始验证码识别模型,然后再利用验证码图像样本和编码样本标签对初始验证码识别模型进行迭代训练,最终得到用于识别验证码图像的目标验证码识别模型。这种基于迁移学习的训练方式可以大幅提高验证码识别模型的训练效率,尤其适用于本发明中针对不同的验证码长度而训练不同的验证码识别模型。
在本发明的一些示例性实施方式中,所使用的基础网络模型可以是卷积神经网络模型,例如可以是具有三个卷积池化网络和一个全连接层的卷积神经网络模型,其中每个卷积池化网络又包括有多个依次连接的卷积层和池化层。
图9示意性地示出了在本发明的一些示例性实施方式中的基础网络模型的网络结构图。如图9所示,该基础网络模型的整体结构包括三个卷积池化网络和一个全连接层,每个卷积池化网络中的卷积层均采用3*3的卷积核。输入数据可以是一个60*160*1的验证码图像,其中60和160分别为图像的长度和宽度,1代表该验证码图像的通道数为1(即为灰度图像)。若验证码图像为RGB彩色图像,则其通道数为3。原始的验证码图像经过第一卷积层Conv1进行卷积处理后可以得到60*160*32的特征图,再将其接入第一池化层Pool1进行池化处理后可以得到30*80*32的特征图。由第一卷积池化网络得到的特征图继续输入第二卷积池化网络,经过第二卷积层Conv2进行卷积处理后可以得到30*80*64的特征图,再将其接入第二池化层Pool2进行池化处理后可以得到15*40*64的特征图。由第二卷积池化网络得到的特征图继续输入第三卷积池化网络,经过第三卷积层Conv3进行卷积处理后可以得到15*40*64的特征图,再将其接入第三池化层Pool3进行池化处理后可以得到8*20*64的特征图。由第三卷积池化网络输出的8*20*64的特征图再接入由1024个神经元组成的全连接层,最后通过基于softmax函数的输出层输出一个144维的编码向量。
在本示例性实施方式中,每个卷积层在做卷积处理之前先对输入的图像进行边缘填充操作(Padding),具体可以采用“Same”方式进行边缘填充,从而可以使得卷积前后的图像大小保持一致。在其他一些实施方式中,也可以采用“Full”或者“Valid”等不同方式进行边缘填充。在本示例性实施方式中,各个卷积池化网络中的卷积层采用最大池化的方式进行池化处理,而在其他一些实施方式中,也可以采用平均池化。本示例性实施方式中的验证码识别模型是针对由数字和英文字母组成的验证码长度为4的验证码图像,相应的验证码字符的属性值为{0~9,A~Z}共计36种字符,因此最终输出的编码向量的维数为144。在其他一些实施方式中,不同的验证码字符类型和不同的验证码长度都将导致输出不同维数的编码向量。
图10示意性地示出了在本发明的一些示例性实施方式中对验证码识别模型进行迭代训练的步骤流程图。如图10所示,在以上各实施方式的基础上,步骤S820.利用验证码图像样本和编码样本标签对初始验证码识别模型进行迭代训练以得到用于识别验证码图像的目标验证码识别模型,可以包括以下步骤:
步骤S1010.将验证码图像样本和编码样本标签输入初始验证码识别模型以得到当前迭代轮次中的损失函数的误差值,并根据误差值确定初始验证码识别模型中与各个待调参数相对应的梯度向量。
将验证码图像样本输入初始验证码识别模型后进行正向传播,可以由初始验证码识别模型输出与验证码图像样本相对应的编码向量,然后利用损失函数可以计算得到该编码向量与编码样本标签之间的误差值。再将该误差值进行反向传播,可以确定初始验证码识别模型中与各个待调参数相对应的梯度向量。
步骤S1020.确定与各个待调参数相对应的梯度向量的一阶矩估计和二阶矩估计,并根据一阶矩估计和二阶矩估计分别确定当前迭代轮次中各个待调参数的调整步长。
根据步骤S1010中确定的与各个待调参数相对应的梯度向量,本步骤可以确定各个梯度向量的一阶矩估计和二阶矩估计,然后根据各个梯度向量的一阶矩估计和二阶矩估计可以确定相应的待调参数在当前迭代轮次中的调整步长。
步骤S1030.基于各个迭代轮次中的各个待调参数的调整步长对初始验证码识别模型进行迭代训练以得到用于识别验证码图像的目标验证码识别模型。
在每一个迭代轮次中进行反向传播时,均可以利用步骤S1020确定当前迭代轮次中的各个待调参数的调整步长,然后在当前迭代轮次中基于所确定的调整步长对初始验证码识别模型的各个待调参数进行更新,然后在下一迭代轮次中再次进行正向传播和反向传播以实现对验证码识别模型权重数据的不断更新,最终得到用于识别验证码图像的目标验证码识别模型。
在本示例性实施方式中,基于梯度向量的一阶矩估计和二阶矩估计确定待调参数的调整步长的方式可以为模型中的各个参数提供独立的自适应性学习率,显著提高了模型的训练速度。
在本发明的一些示例性实施方式中,还可以对用于训练验证码识别模型的验证码图像样本进行预处理,从而能够避免因输入图像大小不同而导致卷积池化处理过程中产生不同大小的特征图。具体可以先判断输入验证码识别模型的各个验证码图像样本的图像尺寸是否符合目标尺寸,若某一验证码图像样本不符合目标尺寸,则可以对其进行裁剪或者缩放处理以得到相应的具有目标尺寸的验证码图像样本。保持验证码图像样本的尺寸一致可以获得更好的验证码识别模型的训练效果。
根据本发明的另一方面,还提供一种在以上技术方案训练得到验证码识别模型的基础上进行验证码识别的方法。图11示意性地示出了在本发明示例性实施方式中的验证码识别方法的步骤流程图。如图11所示,该验证码识别方法主要可以包括以下步骤:
步骤S1110.获取待识别验证码图像的验证码长度信息和字符类型信息,并根据验证码长度信息和字符类型信息确定预先训练的验证码识别模型。
针对待识别验证码图像,本步骤首先获取其验证码长度信息和字符类型信息。其中,验证码长度信息用于表征验证码图像中验证码字符的数量,字符类型信息用于表征验证码字符的类型。例如某一验证码图像中的验证码由4个数字和英文字母组成,那么其验证码长度便是4,字符类型为数字和英文字母的组合。然后根据获取到的验证码长度信息和字符类型信息可以确定一个预先训练好的用于对待识别验证码图像进行识别处理的验证码识别模型。
步骤S1120.将待识别验证码图像输入至验证码识别模型以得到待识别验证码图像的验证码编码向量。
由步骤S1110确定对应的验证码识别模型后,本步骤将待识别验证码图像输入至验证码识别模型中,由验证码识别模型对其进行特征提取和分析,最终输出待识别验证码图像的验证码编码向量。验证码识别模型的模型推理过程大致相当于模型训练过程中的前向传播阶段,无需进行反向传播和多轮迭代而直接输出前向传播结果。
步骤S1130.根据验证码长度信息和字符类型信息对验证码编码向量进行解码以得到待识别验证码图像中的验证码字符串。
由以上各实施方式中提供的验证码识别模型的训练方法可知,由验证码识别模型输出的验证码编码向量与待识别验证码图像中的验证码字符串具有唯一对应的关系。本步骤将根据步骤S1110中获取到的验证码长度信息和字符类型信息对验证码识别模型输出的验证码编码向量进行解码以得到待识别验证码图像中的验证码字符串,完成对验证码图像的验证码识别。
验证码识别模型可以由基础模型框架加载预先训练得到的模型权重文件而形成。在一些可选的实施方式中,本发明可以建立验证码长度、字符类型以及模型权重文件之间的映射关系,当获取到待识别验证码图像的验证码长度信息和字符类型信息后,可以根据该映射关系确定与之对应的模型权重文件,再由基础模型框架加载该模型权重文件即得到相应的验证码识别模型。
验证码编码向量的解码过程是训练验证码识别模型时使用的编码过程的反向过程。图12示意性地示出了在本发明的一些示例性实施方式中对验证码编码向量进行解码的步骤流程图。如图12所示,在以上实施方式的基础上,步骤S1130.根据验证码长度信息和字符类型信息对验证码编码向量进行解码以得到待识别验证码图像中的验证码字符串,可以包括以下步骤:
步骤S1210.根据验证码长度信息对验证码编码向量进行拆分以得到多个字符编码向量。
验证码编码向量是由多个字符编码向量按照一定的排列顺序拼接而成的,每一个字符编码向量对应于一个验证码字符。本步骤根据验证码长度信息对验证码编码向量进行拆分处理以得到多个字符编码向量,例如验证码长度为4,验证码编码向量为一个维数为40的向量,那么本步骤可以将组成该向量的40个元素按照排列顺序划分为4个元素序列,排序为第1~10位的10个元素划分为第一元素序列,排序为第11~20位的10个元素划分为第二元素序列,排序为第21~30位的10个元素划分为第三元素序列,排序为第31~40位的10个元素划分为第四元素序列。这4个元素序列即作为由验证码编码向量拆分得到的4个字符编码向量。
步骤S1220.根据字符类型信息对各个字符编码向量进行解码以得到与字符编码向量相对应的验证码字符的属性值。
由步骤S1210拆分得到的字符编码向量仅仅是验证码字符的唯一性标识信息,为了确定相应的验证码字符具体是众多验证码字符中的哪一个,本步骤还需要按照预设的解码规则对各个字符编码向量进行解码处理以得到与字符编码向量相对应的验证码字符的属性值。例如,由步骤S1210拆分得到4个字符编码向量,那么本步骤则可以相应解码得到4个验证码字符的属性值。
步骤S1230.按照字符编码向量在验证码编码向量中的排列顺序对各个验证码字符的属性值进行排序以得到待识别验证码图像中的验证码字符串。
通过对各个字符编码向量进行解码可以得到相应的多个验证码字符的属性值,本步骤按照各个字符编码向量在验证码编码向量中的排列顺序可以对解码得到的属性值进行同样排序,从而可以确定由顺序排列的各个属性值组成的验证码字符串。
在本发明的一些示例性实施方式中,与验证码字符的属性值相对应的字符编码向量是由一个第一编码数值和多个第二编码数值组成的向量。在此基础上,可以根据各个编码数值的编码位置对字符编码向量进行解码。图13示意性地示出了在本发明的一些示例性实施方式中基于编码位置进行解码的步骤流程图。如图13所示,在以上各实施方式的基础上,步骤S1220.根据字符类型信息对各个字符编码向量进行解码以得到与字符编码向量相对应的验证码字符的属性值,可以包括以下步骤:
步骤S1310.根据字符类型信息确定字符编码向量中的各个编码位置与验证码字符的属性值之间的对应关系。
字符编码向量是由多个编码位置组成的向量,按照预设的编码/解码规则,字符编码向量的每一个编码位置均与一个验证码字符的属性值形成对应关系,而且该对应关系与验证码字符的字符类型相关。例如,字符类型信息为数字,那么相应的字符编码向量可以是一个具有10个编码位置的10维向量,该向量的10个编码位置按照其排列顺序依次对应于取值分别为0~9的10个属性值。又例如,字符类型信息为数字和英文字母的组合,那么相应的字符编码向量可以是一个具有36个编码位置的36维向量,该向量的36个编码位置按照其排列顺序依次对应于取值分别为0~9和A~Z的36个属性值。
步骤S1320.将字符编码向量中第一编码数值所在的编码位置确定为目标编码位置。
在本示例性实施方式中,字符编码向量的各个编码位置上仅有一个编码位置的编码数值可以是第一编码数值,该位置可以被确定目标编码位置,而除目标编码位置以外的其他编码位置均为第二编码数值。而且第一编码数值与第二编码数值应当是两个不同的数值,例如,第一编码数值可以取值为1,第二编码数值可以相应取值为0。
步骤S1330.根据目标编码位置和对应关系确定与字符编码向量相对应的验证码字符的属性值。
目标编码位置是字符编码向量的一个特征位置,根据步骤S1310中确定的各个编码位置与属性值之间的对应关系,本步骤可以利用目标编码位置唯一确定一个与该字符编码向量相对应的验证码字符的属性值。例如,字符编码向量是基于数字类型的一个10维向量,其中第3个编码位置是编码数值为1的目标编码位置,那么可以确定相应的验证码字符的属性值为数字“2”。又例如,字符编码向量是基于英文字母类型的一个26维向量,其中第3个编码位置是编码数值为1的目标编码位置,那么可以确定相应的验证码字符的属性值为字母“C”。
图14示出了基于数字类型的验证码编码向量的解码过程示意图。如图14所示,待解码的验证码编码向量是一个由编码数值0和1组成的维数为40的向量。根据获取到的验证码长度信息可以确定验证码长度为4,因此可以首先对该验证码编码向量进行四等分得到4个维数为10的字符编码向量,然后根据编码数值1的出现位置确定各个字符编码向量中的目标编码位置。如图所示,在由上至下的4个字符编码向量中,目标编码位置依次为第2、第3、第4和第5个编码位置,由此可以判断这4个字符编码向量依次对应于属性值为“1”、“2”、“3”和“4”的4个验证码字符。再按照字符编码向量的排列顺序对这4个验证码字符进行组合后即得到验证码字符串“1234”。
在本发明的一些示例性实施方式中,还可以对输入至验证码图像识别模型的待识别验证码图像进行预处理,从而能够避免因输入图像大小不同而导致识别准确率下降。具体可以先判断输入验证码识别模型的待识别验证码图像的图像尺寸是否符合目标尺寸,若判断结果为否,则可以对其进行裁剪或者缩放处理以得到相应的具有目标尺寸的待识别验证码图像。
示例性介质
在介绍了本发明示例性实施方式的方法之后,接下来,对本发明示例性实施方式的介质进行说明。
在一些可能的实施方式中,本发明的各个方面还可以实现为一种介质,其上存储有程序代码,当所述程序代码被设备的处理器执行时用于实现本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的验证码识别模型训练方法或者验证码识别方法中的步骤。
在本发明的一些示例性实施方式中,所述设备的处理器执行所述程序代码时可以用于实现如图4所示的以下步骤:
步骤S410.获取具有相同验证码长度的验证码图像样本,并确定与验证码图像样本相对应的字符样本标签。步骤S420.确定组成字符样本标签的验证码字符以及验证码字符的属性值,并获取验证码字符的字符类型信息。步骤S430.根据字符类型信息和属性值对字符样本标签进行编码以得到编码样本标签。步骤S440.利用验证码图像样本和编码样本标签训练用于识别验证码图像的验证码识别模型。
在本发明的其他一些实施方式中,所述设备的处理器执行所述程序代码时也可以用于实现如图5、图6、图8以及图10至图13所示的各个方法步骤。
需要说明的是:上述的介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于:电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线、光缆、RF等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
示例性装置
在介绍了本发明示例性实施方式的介质之后,接下来,参考图15和图16对本发明示例性实施方式的验证码识别模型训练和验证码识别装置进行说明。
图15示意性地示出了本发明一些示例性实施方式中的验证码识别模型训练装置的结构框图。如图15所示,验证码识别模型训练装置1500主要可以包括:样本获取模块1510,被配置为获取具有相同验证码长度的验证码图像样本,并确定与验证码图像样本相对应的字符样本标签;信息获取模块1520,被配置为确定组成字符样本标签的验证码字符以及验证码字符的属性值,并获取验证码字符的字符类型信息;样本编码模块1530,被配置为根据字符类型信息和属性值对字符样本标签进行编码以得到编码样本标签;模型训练模块1540,被配置为利用验证码图像样本和编码样本标签训练用于识别验证码图像的验证码识别模型。
在本发明的一些示例性实施方式中,基于以上各实施方式,样本编码模块1530可以进一步包括:位置确定单元1531,被配置为根据字符类型信息确定具有多个编码位置的待填充编码向量,并确定属性值与各个编码位置的对应关系;数值填充单元1532,被配置为根据对应关系对待填充编码向量进行数值填充以得到验证码字符的字符编码向量;向量拼接单元1533,被配置为按照各个验证码字符在字符样本标签中的排列顺序对各个字符编码向量进行拼接以得到编码样本标签。
在本发明的一些示例性实施方式中,基于以上各实施方式,数值填充单元1532可以进一步包括:目标确定子单元,被配置为根据对应关系确定待填充编码向量中的一个目标编码位置;数值填充子单元,被配置为在目标编码位置上填充第一编码数值,并在待填充编码向量中的其他编码位置上填充第二编码数值;向量确定子单元,被配置为将填充有一个第一编码数值和多个第二编码数值的待填充编码向量确定为验证码字符的字符编码向量。
在本发明的一些示例性实施方式中,基于以上各实施方式,模型训练模块1540可以进一步包括:模型初始化单元1541,被配置为获取预训练得到的基础权重数据,并利用基础权重数据对基础网络模型进行初始化以得到初始验证码识别模型;迭代训练单元1542,被配置为利用验证码图像样本和编码样本标签对初始验证码识别模型进行迭代训练以得到用于识别验证码图像的目标验证码识别模型。
在本发明的一些示例性实施方式中,基于以上各实施方式,基础网络模型为具有三个卷积池化网络和一个全连接层的卷积神经网络模型。
在本发明的一些示例性实施方式中,基于以上各实施方式,迭代训练单元可以进一步包括:梯度向量确定子单元,被配置为将验证码图像样本和编码样本标签输入初始验证码识别模型以得到当前迭代轮次中的损失函数的误差值,并根据误差值确定初始验证码识别模型中与各个待调参数相对应的梯度向量;调整步长确定子单元,被配置为确定与各个待调参数相对应的梯度向量的一阶矩估计和二阶矩估计,并根据一阶矩估计和二阶矩估计分别确定当前迭代轮次中各个待调参数的调整步长;迭代训练子单元,被配置为基于各个迭代轮次中的各个待调参数的调整步长对初始验证码识别模型进行迭代训练以得到用于识别验证码图像的目标验证码识别模型。
在本发明的一些示例性实施方式中,基于以上各实施方式,验证码识别模型训练装置1500还包括:样本预处理模块,被配置为当验证码图像样本的图像尺寸不是目标尺寸时,对验证码图像样本进行预处理以得到具有目标尺寸的验证码图像样本。
图16示意性地示出了本发明一些示例性实施方式中的验证码识别装置的结构框图。如图16所示,验证码识别装置1600主要可以包括:模型确定模块1610,被配置为获取待识别验证码图像的验证码长度信息和字符类型信息,并根据验证码长度信息和字符类型信息确定预先训练的验证码识别模型;向量获取模块1620,被配置为将待识别验证码图像输入至验证码识别模型以得到待识别验证码图像的验证码编码向量;向量解码模块1630,被配置为根据验证码长度信息和字符类型信息对验证码编码向量进行解码以得到待识别验证码图像中的验证码字符串。
在本发明的一些示例性实施方式中,基于以上各实施方式,向量解码模块1630可以进一步包括:向量拆分单元1631,被配置为根据验证码长度信息对验证码编码向量进行拆分以得到多个字符编码向量;属性值获取单元1632,被配置为根据字符类型信息对各个字符编码向量进行解码以得到与字符编码向量相对应的验证码字符的属性值;属性值排序单元1633,被配置为验证码按照字符编码向量在验证码编码向量中的排列顺序对各个验证码字符的属性值进行排序以得到待识别验证码图像中的验证码字符串。
在本发明的一些示例性实施方式中,基于以上各实施方式,字符编码向量是由一个第一编码数值和多个第二编码数值组成的向量。在此基础上,属性值获取单元1632可以进一步包括:编码位置确定子单元,被配置为根据字符类型信息确定字符编码向量中的各个编码位置与验证码字符的属性值之间的对应关系;目标位置确定子单元,被配置为将字符编码向量中第一编码数值所在的编码位置确定为目标编码位置;属性值确定子单元,被配置为根据目标编码位置和对应关系确定与字符编码向量相对应的验证码字符的属性值。
在本发明的一些示例性实施方式中,基于以上各实施方式,验证码识别装置1600还可以进一步包括:图像预处理模块,被配置为当待识别验证码图像的图像尺寸不是目标尺寸时,对待识别验证码图像进行预处理以得到具有目标尺寸的待识别验证码图像。
以上各示例性实施方式中的验证码识别模型训练装置以及验证码识别装置的具体细节已在相应的示例性方法部分做出详细说明,因此此处不再赘述。
示例性计算设备
在介绍了本发明示例性实施方式的方法、介质和装置之后,接下来,介绍根据本发明的另一示例性实施方式的计算设备。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一些可能的实施方式中,根据本发明实施方式的计算设备可以至少包括至少一个处理器、以及至少一个存储器。其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的验证码识别模型训练方法以及验证码识别方法中的步骤。
例如,所述处理器可以执行如图4中所示的以下步骤:
步骤S410.获取具有相同验证码长度的验证码图像样本,并确定与验证码图像样本相对应的字符样本标签。步骤S420.确定组成字符样本标签的验证码字符以及验证码字符的属性值,并获取验证码字符的字符类型信息。步骤S430.根据字符类型信息和属性值对字符样本标签进行编码以得到编码样本标签。步骤S440.利用验证码图像样本和编码样本标签训练用于识别验证码图像的验证码识别模型。
又如,所述处理器也可以执行如图5、图6、图8以及图10至图13所示的各个方法步骤。
应当注意,尽管在上文详细描述中提及了验证码识别模型训练装置以及验证码识别装置的的若干单元或子单元,但是这种划分仅仅是示例性的,并非是强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块或单元的特征和功能可以在一个模块或单元中具体化。反之,上文描述的一个模块或单元的特征和功能可以进一步划分为由多个模块或单元来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所发明的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。
Claims (10)
1.一种验证码识别模型训练方法,包括:
获取具有相同验证码长度的验证码图像样本,并确定与所述验证码图像样本相对应的字符样本标签;
确定组成所述字符样本标签的验证码字符以及所述验证码字符的属性值,并获取所述验证码字符的字符类型信息;
根据所述字符类型信息和所述属性值对所述字符样本标签进行编码以得到编码样本标签;
利用所述验证码图像样本和所述编码样本标签训练用于识别验证码图像的验证码识别模型。
2.根据权利要求1所述的验证码识别模型训练方法,所述根据所述字符类型信息和所述属性值对所述字符样本标签进行编码以得到编码样本标签,包括:
根据所述字符类型信息确定具有多个编码位置的待填充编码向量,并确定所述属性值与各个所述编码位置的对应关系;
根据所述对应关系对所述待填充编码向量进行数值填充以得到所述验证码字符的字符编码向量;
按照各个所述验证码字符在所述字符样本标签中的排列顺序对各个所述字符编码向量进行拼接以得到编码样本标签。
3.根据权利要求2所述的验证码识别模型训练方法,所述根据所述对应关系对所述待填充编码向量进行数值填充以得到所述验证码字符的字符编码向量,包括:
根据所述对应关系确定所述待填充编码向量中的一个目标编码位置;
在所述目标编码位置上填充第一编码数值,并在所述待填充编码向量中的其他编码位置上填充第二编码数值;
将填充有一个所述第一编码数值和多个所述第二编码数值的所述待填充编码向量确定为所述验证码字符的字符编码向量。
4.根据权利要求1所述的验证码识别模型训练方法,所述利用所述验证码图像样本和所述编码样本标签训练用于识别验证码图像的验证码识别模型,包括:
获取预训练得到的基础权重数据,并利用所述基础权重数据对基础网络模型进行初始化以得到初始验证码识别模型;
利用所述验证码图像样本和所述编码样本标签对所述初始验证码识别模型进行迭代训练以得到用于识别验证码图像的目标验证码识别模型。
5.根据权利要求4所述的验证码识别模型训练方法,所述基础网络模型为具有三个卷积池化网络和一个全连接层的卷积神经网络模型。
6.一种验证码识别方法,包括:
获取待识别验证码图像的验证码长度信息和字符类型信息,并根据所述验证码长度信息和所述字符类型信息确定预先训练的验证码识别模型;
将所述待识别验证码图像输入至所述验证码识别模型以得到所述待识别验证码图像的验证码编码向量;
根据所述验证码长度信息和所述字符类型信息对所述验证码编码向量进行解码以得到所述待识别验证码图像中的验证码字符串。
7.一种介质,其上存储有程序,所述程序被处理器执行时实现如权利要求1至6中任一项所述的方法。
8.一种验证码识别模型训练装置,包括:
样本获取模块,被配置为获取具有相同验证码长度的验证码图像样本,并确定与所述验证码图像样本相对应的字符样本标签;
信息获取模块,被配置为确定组成所述字符样本标签的验证码字符以及所述验证码字符的属性值,并获取所述验证码字符的字符类型信息;
样本编码模块,被配置为根据所述字符类型信息和所述属性值对所述字符样本标签进行编码以得到编码样本标签;
模型训练模块,被配置为利用所述验证码图像样本和所述编码样本标签训练用于识别验证码图像的验证码识别模型。
9.一种验证码识别装置,包括:
模型确定模块,被配置为获取待识别验证码图像的验证码长度信息和字符类型信息,并根据所述验证码长度信息和所述字符类型信息确定预先训练的验证码识别模型;
向量获取模块,被配置为将所述待识别验证码图像输入至所述验证码识别模型以得到所述待识别验证码图像的验证码编码向量;
向量解码模块,被配置为根据所述验证码长度信息和所述字符类型信息对所述验证码编码向量进行解码以得到所述待识别验证码图像中的验证码字符串。
10.一种计算设备,包括:处理器和存储器,所述存储器存储有可执行指令,所述处理器用于调用所述存储器存储的可执行指令执行如权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910817534.6A CN110555298B (zh) | 2019-08-30 | 2019-08-30 | 验证码识别模型训练及识别方法、介质、装置、计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910817534.6A CN110555298B (zh) | 2019-08-30 | 2019-08-30 | 验证码识别模型训练及识别方法、介质、装置、计算设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110555298A true CN110555298A (zh) | 2019-12-10 |
CN110555298B CN110555298B (zh) | 2021-10-26 |
Family
ID=68738623
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910817534.6A Active CN110555298B (zh) | 2019-08-30 | 2019-08-30 | 验证码识别模型训练及识别方法、介质、装置、计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110555298B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111753281A (zh) * | 2020-06-30 | 2020-10-09 | 北京鼎泰智源科技有限公司 | 一种验证码识别方法 |
CN111783064A (zh) * | 2020-06-30 | 2020-10-16 | 平安国际智慧城市科技股份有限公司 | 图形验证码生成方法、装置、计算机设备及存储介质 |
CN112270325A (zh) * | 2020-11-09 | 2021-01-26 | 携程旅游网络技术(上海)有限公司 | 字符验证码识别模型训练方法、识别方法、系统、设备及介质 |
CN112464180A (zh) * | 2020-11-25 | 2021-03-09 | 平安信托有限责任公司 | 页面截图外发管控方法、系统、电子设备及存储介质 |
CN112508000A (zh) * | 2020-11-26 | 2021-03-16 | 上海展湾信息科技有限公司 | 一种用于ocr图像识别模型训练数据生成的方法及设备 |
CN112989312A (zh) * | 2020-11-30 | 2021-06-18 | 北京金堤科技有限公司 | 验证码的识别方法、装置、电子设备和存储介质 |
WO2022156552A1 (zh) * | 2021-01-19 | 2022-07-28 | 北京嘀嘀无限科技发展有限公司 | 验证码图像加密方法、设备、存储介质和计算机程序产品 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070127811A1 (en) * | 2005-12-07 | 2007-06-07 | Trw Automotive U.S. Llc | Virtual reality scene generator for generating training images for a pattern recognition classifier |
CN107360137A (zh) * | 2017-06-15 | 2017-11-17 | 深圳市牛鼎丰科技有限公司 | 用于验证码识别的神经网络模型的构建方法和装置 |
US20180232523A1 (en) * | 2017-02-15 | 2018-08-16 | International Business Machines Corporation | Method, system and product for using a predictive model to predict if inputs reach a vulnerability of a program |
CN109740040A (zh) * | 2018-10-26 | 2019-05-10 | 深圳壹账通智能科技有限公司 | 验证码识别方法、装置、存储介质和计算机设备 |
CN109993169A (zh) * | 2019-04-11 | 2019-07-09 | 山东浪潮云信息技术有限公司 | 一种基于端到端的字符型验证码识别方法 |
CN110009057A (zh) * | 2019-04-16 | 2019-07-12 | 四川大学 | 一种基于深度学习的图形验证码识别方法 |
-
2019
- 2019-08-30 CN CN201910817534.6A patent/CN110555298B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070127811A1 (en) * | 2005-12-07 | 2007-06-07 | Trw Automotive U.S. Llc | Virtual reality scene generator for generating training images for a pattern recognition classifier |
US20180232523A1 (en) * | 2017-02-15 | 2018-08-16 | International Business Machines Corporation | Method, system and product for using a predictive model to predict if inputs reach a vulnerability of a program |
CN107360137A (zh) * | 2017-06-15 | 2017-11-17 | 深圳市牛鼎丰科技有限公司 | 用于验证码识别的神经网络模型的构建方法和装置 |
CN109740040A (zh) * | 2018-10-26 | 2019-05-10 | 深圳壹账通智能科技有限公司 | 验证码识别方法、装置、存储介质和计算机设备 |
CN109993169A (zh) * | 2019-04-11 | 2019-07-09 | 山东浪潮云信息技术有限公司 | 一种基于端到端的字符型验证码识别方法 |
CN110009057A (zh) * | 2019-04-16 | 2019-07-12 | 四川大学 | 一种基于深度学习的图形验证码识别方法 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111753281A (zh) * | 2020-06-30 | 2020-10-09 | 北京鼎泰智源科技有限公司 | 一种验证码识别方法 |
CN111783064A (zh) * | 2020-06-30 | 2020-10-16 | 平安国际智慧城市科技股份有限公司 | 图形验证码生成方法、装置、计算机设备及存储介质 |
CN112270325A (zh) * | 2020-11-09 | 2021-01-26 | 携程旅游网络技术(上海)有限公司 | 字符验证码识别模型训练方法、识别方法、系统、设备及介质 |
CN112270325B (zh) * | 2020-11-09 | 2024-05-24 | 携程旅游网络技术(上海)有限公司 | 字符验证码识别模型训练方法、识别方法、系统、设备及介质 |
CN112464180A (zh) * | 2020-11-25 | 2021-03-09 | 平安信托有限责任公司 | 页面截图外发管控方法、系统、电子设备及存储介质 |
CN112508000A (zh) * | 2020-11-26 | 2021-03-16 | 上海展湾信息科技有限公司 | 一种用于ocr图像识别模型训练数据生成的方法及设备 |
CN112508000B (zh) * | 2020-11-26 | 2023-04-07 | 上海展湾信息科技有限公司 | 一种用于ocr图像识别模型训练数据生成的方法及设备 |
CN112989312A (zh) * | 2020-11-30 | 2021-06-18 | 北京金堤科技有限公司 | 验证码的识别方法、装置、电子设备和存储介质 |
CN112989312B (zh) * | 2020-11-30 | 2024-04-30 | 北京金堤科技有限公司 | 验证码的识别方法、装置、电子设备和存储介质 |
WO2022156552A1 (zh) * | 2021-01-19 | 2022-07-28 | 北京嘀嘀无限科技发展有限公司 | 验证码图像加密方法、设备、存储介质和计算机程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN110555298B (zh) | 2021-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110555298B (zh) | 验证码识别模型训练及识别方法、介质、装置、计算设备 | |
CN108536679B (zh) | 命名实体识别方法、装置、设备及计算机可读存储介质 | |
US10878197B2 (en) | Self-learning user interface with image-processed QA-pair corpus | |
US11593642B2 (en) | Combined data pre-process and architecture search for deep learning models | |
CN111382555B (zh) | 数据处理方法、介质、装置和计算设备 | |
CN108629414B (zh) | 深度哈希学习方法及装置 | |
US11551437B2 (en) | Collaborative information extraction | |
CN113936643B (zh) | 语音识别方法、语音识别模型、电子设备和存储介质 | |
CN110674673A (zh) | 一种关键视频帧抽取方法、装置和存储介质 | |
US20210042383A1 (en) | Natural Language Processing Techniques for Generating a Document Summary | |
CN111737432A (zh) | 一种基于联合训练模型的自动对话方法和系统 | |
CN113947095B (zh) | 多语种文本翻译方法、装置、计算机设备及存储介质 | |
US20230092274A1 (en) | Training example generation to create new intents for chatbots | |
CN111428750A (zh) | 一种文本识别模型训练及文本识别方法、装置及介质 | |
WO2021026034A1 (en) | Artificial intelligence job recommendation neural network machine learning training based on embedding technologies and actual and synthetic job transition latent information | |
CN116467417A (zh) | 问题答案的生成方法、装置、设备及存储介质 | |
CN115954001A (zh) | 语音识别方法和模型训练方法 | |
CN114374655A (zh) | 网络流量特征提取方法、装置、设备及存储介质 | |
CN116644180A (zh) | 文本匹配模型的训练方法、训练系统和文本标签确定方法 | |
CN116306684A (zh) | 基于自然语言的网络管控交互方法和装置 | |
CN115905865A (zh) | 文本合并判断模型的训练方法和文本合并判断方法 | |
CN113421551B (zh) | 语音识别方法、装置、计算机可读介质及电子设备 | |
US20220092403A1 (en) | Dialog data processing | |
CN113535946A (zh) | 基于深度学习的文本鉴别方法、装置、设备及存储介质 | |
CN113656573B (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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20221220 Address after: 210019 Floor 8, Building 2, Xincheng Science Park Complex, No. 8, Bailongjiang East Street, Jianye District, Nanjing, Jiangsu Province Patentee after: Alibaba East China Co.,Ltd. Address before: 310012 G Block, 10th Building, Building A, Paradise Software Park, No. 3 Xidoumen Road, Xihu District, Hangzhou City, Zhejiang Province Patentee before: Alibaba (China) Co.,Ltd. |