CN113297548B - 人机协同方式的验证码识别方法及其系统 - Google Patents

人机协同方式的验证码识别方法及其系统 Download PDF

Info

Publication number
CN113297548B
CN113297548B CN202110368409.9A CN202110368409A CN113297548B CN 113297548 B CN113297548 B CN 113297548B CN 202110368409 A CN202110368409 A CN 202110368409A CN 113297548 B CN113297548 B CN 113297548B
Authority
CN
China
Prior art keywords
client
code
coding
verification
verification code
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
Application number
CN202110368409.9A
Other languages
English (en)
Other versions
CN113297548A (zh
Inventor
左小将
韩锐
刘驰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Institute of Technology BIT
Original Assignee
Beijing Institute of Technology BIT
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Institute of Technology BIT filed Critical Beijing Institute of Technology BIT
Priority to CN202110368409.9A priority Critical patent/CN113297548B/zh
Publication of CN113297548A publication Critical patent/CN113297548A/zh
Application granted granted Critical
Publication of CN113297548B publication Critical patent/CN113297548B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2133Verifying human interaction, e.g., Captcha
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Abstract

本发明公开一种人机协同方式的验证码识别方法及其系统,所述方法包括:验证码自动分类模块获取待识别的验证码数据;验证码自动分类模块对验证码数据进行类型识别;验证码任务分发模块获取当前待打码且空闲的打码客户端列表;根据验证码数据的类型及客户端列表;根据排序后的打码客户端列表选取TOP‑N个客户端分发验证码数据进行识别;执行打码;反馈模块计算打码时长以更新客户端对此类验证码的平均识别速度;对不同的打码客户端打码结果进行相似度计算。所述系统包括验证码自动分类模块、验证码任务分发模块、打码客户端、反馈模块。本发明中所述方法及其系统能够有效减少人工成本消耗同时能够有效保证验证码识别的准确率。

Description

人机协同方式的验证码识别方法及其系统
技术领域
本发明涉及验证码识别技术领域,具体涉及一种人机协同方式的验证码识别方法及其系统。
背景技术
验证码是一种用以区分服务使用者为人类还是自动化程序的一种有效方法,为系统抵御诸如垃圾邮件、暴力破解等恶意行为做出了巨大贡献。虽然验证码为系统的安全性提供了很大保障,但也为广大开发者探索自动化应用程序设定了很大阻碍,例如复杂网站的信息收集不得不使用第三方验证码识别(打码)服务来绕过验证码认证环节,因此验证码识别服务在如今的自动化开发环节中逐渐不可或缺。
现有的第三方验证码识别服务平台要么全部采用人工来执行后台的打码任务,要么全部采用AI来执行打码任务。前者的优点是人类固有的感知能力能够提供很好的打码准确率,缺点是人工成本高,而且人工的打码效果受个体状态的影响较大(例如疲劳、疾病等);后者的优点是AI执行效率高,且不知疲倦,缺点是当前的AI技术并不能解决所有类型的验证码,较为复杂的验证码依然必须依赖人类来识别。也有一些平台尝试AI与人工配合进行打码,大体方式是打码任务优先交给AI处理,AI处理失败的进一步转发给人工来再次执行,是一种利用人工力量对AI识别结果进行“补救”的协作打码方式。
总之,现有的验证码识别平台都不能充分发挥人工和AI各自的先天优势进行“互补式”的协作打码。例如众包形式的打码平台通常采用一种“发布-订阅”式的任务分发框架,即任务执行者由打码客户端的订阅操作决定,而打码客户端打码水平参差不齐,因此系统无法保证最终的打码效果。另一种AI和人工串行协作的“补救式”任务分发框架虽然做出了AI与人工之间的权衡,但依然存在很大的人工成本消耗问题,也难以适用如今日渐复杂的验证码识别场景。因此建立一种综合考虑人工和AI打码特性的打码任务分发框架对于同时降低人工成本和提升验证码识别准确率具有很大意义。为此,利用决策论中的经典方法对人工和AI的打码特性进行多属性决策是一种可行的方案,但这些方法大都具有一定的主观性,分发效果取决于不同的主观权重设定,相比之下更理想的分发模式应该是分发效果随着任务分发记录的不断积累而逐步提升,即数据驱动型的任务分发模式。此外,现有的验证码识别平台虽然都有“任务难度”的概念,即打码客户端可以主动根据任务难度来选择自己想要执行的任务,但都没有具体的难度量化标准,因此系统无法预估客户端对目标系统验证码的识别效果,因此才会出现“补救式”的人机协作打码方式。因此,建立一种对目标验证码系统安全性(验证码难度)量化方法对于降低人工成本和提高验证码识别准确率十分必要,也就是说,将安全性量化值较高的目标验证码系统打码任务更多地分发给人工来处理,反之则更多地交给AI来处理。
发明内容
针对现有技术的不足,本发明提供一种人机协同方式的验证码识别方法及其系统。
为了实现本发明的目的,采用如下技术方案。
一种人机协同方式的验证码识别方法,包括:
步骤1、验证码自动分类模块获取待识别的验证码数据;
步骤2、验证码自动分类模块对验证码数据进行类型识别,将识别成功的验证码数据分发至处理所述验证码数据的客户端;
步骤3、验证码任务分发模块获取当前待打码且空闲的打码客户端列表;
步骤4、根据验证码数据的类型及客户端列表,通过逼近理想解法TOPSIS和神经网络的任务分发模型计算每个客户端对此类验证码的打码能力,得到排序后的打码客户端列表;
步骤5、根据排序后的打码客户端列表选取TOP-N个客户端分发验证码数据进行识别,其中,TOP-N指的是列表按降序排序,取出前N个元素;
步骤6、执行打码;
步骤7、反馈模块计算打码时长以更新客户端对此类验证码的平均识别速度;
步骤8、对不同的打码客户端打码结果进行相似度计算,以少数服从多数的原则返回给请求者最终打码结果。
进一步地,步骤1中,验证码数据包括以下形式:图片上传;Base64编码;验证码图片URL;外部验证码链接;手机短信/邮箱验证码。
进一步地,步骤2中,客户端包括人工客户端和AI客户端。
进一步地,步骤2中,通过CNN模型进行验证码数据的类型识别,若类别判定为未知类别,则添加新类别到样本库,持续更新CNN模型。
进一步地,步骤4中,根据验证码类型获取空闲状态打码客户端对此类验证码的打码指标数据,其中,打码指标数据包括对此类验证码的识别准确率acc、对此类验证码的识别平均速度spe、异常率er和疲劳度fat。
进一步地,步骤4中包括如下步骤:
步骤4.1,对客户端列表数据进行正向化和归一化,对此类验证码的识别平均速度spe、异常率er和疲劳度fat都乘以-1,以此完成正向化,设正向化后每个指标值为zij,zij所在的第j列中最大值为Zj +,最小值为Zj -,则归一化计算公式为:
Figure GDA0003675177850000031
步骤4.2,对客户端列表数据进行赋权更新列表数据,设对此类验证码的识别准确率acc、对此类验证码的识别平均速度spe、异常率er和疲劳度fat的权重分别为w0,w1,w2,w3
步骤4.3,计算每列的最优值和最差值分别构成理想解和负理想解:
Figure GDA0003675177850000032
Figure GDA0003675177850000033
步骤4.4,按照下式(4)、(5)分别计算每个客户端到理想解和负理想解的欧氏距离;
Figure GDA0003675177850000034
Figure GDA0003675177850000035
步骤4.5,计算每个客户端到理想解的贴近度Ci,Ci表征该客户端的打码能力,贴近度高,则在此客户端列表中打码能力强,贴近度公式为:
Figure GDA0003675177850000036
本发明另提供一种人机协同方式的验证码识别系统,包括:
验证码自动分类模块,用于获取待识别的验证码数据;
验证码任务分发模块,用于将验证码数据分发;
打码客户端,接收验证码任务分发模块的验证码数据,并执行打码;
反馈模块,为请求者返回正确打码结果,并反馈打码具体信息。
进一步地,验证码自动分类模块包括用于接收验证码信息的验证码输入模块、对验证码数据进行类型识别的验证码类型识别模块。
进一步地,在人工打码客户端,验证码数据包括字符类验证码、拖拽类验证码、轨迹类验证码及旋转类验证码。
进一步地,在AI打码客户端验证码数据包括字符类、拖拽类、轨迹类及旋转类。
相对于现有技术,本发明的有益效果是:
1、本发明所述的人机协同方式的验证码识别方法,分别从准确率和耗时两个角度来衡量现有主流AI模型对验证码识别能力与人类之间的差距,通过目标验证码系统的安全性量化值决定最后执行打码任务的客户端组成结构,即对于来自安全性量化值较高的目标验证码系统,本发明会倾向于分发更多的人工打码客户端,反之则倾向于分发更多的AI客户端来执行,通过这种方式,本发明能够有效减少人工成本消耗同时能够有效保证验证码识别的准确率;
2、本发明所述的人机协同方式的验证码识别系统,利用神经网络技术拟合经典决策算法过程中的非线性关系,规避了经典决策算法中的主观赋权过程,在离线阶段依然采用经典决策算法产生预训练样本,在线阶段部署预训练模型,并将模型预测结果符合实际情况的记录作为正样本用以修正预训练样本,通过这种方式能够使本系统随正样本的不断积累而逐渐符合预期效果。
附图说明
图1为本发明实施例中旋转类型验证码的识别过程的示意图;
图2为本发明实施例中TOPSIS算法的神经网络模型的示意图;
图3为本发明实施例中TOPSIS和BP神经网络的任务分发机制的示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合具体实施方式对本发明进行进一步的详细描述,需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
实施例
所述人机协同方式的验证码识别方法,包括:
步骤1、验证码自动分类模块获取待识别的验证码数据;
步骤2、验证码自动分类模块对验证码数据进行类型识别,将识别成功的验证码数据分发至处理所述验证码数据的客户端;
步骤3、验证码任务分发模块获取当前待打码且空闲的打码客户端列表;
步骤4、根据验证码数据的类型及客户端列表,通过逼近理想解法TOPSIS和神经网络的任务分发模型计算每个客户端对此类验证码的打码能力,得到排序后的打码客户端列表;
步骤5、根据排序后的打码客户端列表选取TOP-N个客户端分发验证码数据进行识别,其中,TOP-N指的是列表按降序排序,取出前N个元素;
步骤6、执行打码;
步骤7、反馈模块计算打码时长以更新客户端对此类验证码的平均识别速度;
步骤8、对不同的打码客户端打码结果进行相似度计算,以少数服从多数的原则返回给请求者最终打码结果。
在上述实施例的步骤2中,根据验证码数据的类比,将验证码数据分配给擅长此类验证码识别的客户端。
在上述实施例的步骤3中,客户端列表包括人工打码客户端以及AI打码客户端,任务执行者会从这些空闲客户端中选出,若AI和人工空闲客户端总数少于N个,则本次任务分发过程中将N临时修改为当前空闲客户端总数。
在上述实施例的步骤3中,“少数服从多数”的原则是指反馈模块将相似度较高的多数打码结果作为最终结果,其中主要涉及到打码结果之间的相似度计算方式,例如旋转类打码结果中存在三个不同结果:r1=50°,r2=120°,r3=117°,设定角度阈值5°来判定两个角度是否相似,可以看到r3与r2属于相似角度,因此打码结果中相似的结果有2个(大于等于2),其他结果r1为1个,因此选相似结果作为最终打码结果(例如选r2=120°)。
其他类型验证码,如轨迹类、拖拽类采用同样思想,通过计算两个不同序列之间的欧氏距离来计算相似度。
步骤1中,验证码数据包括以下形式:图片上传;Base64编码;验证码图片URL;外部验证码链接;手机短信/邮箱验证码。
在上述实施例中,图片上传、Base64编码及验证码图片URL对应的提交方式属于图片形式的验证码,也是主要处理的验证码形式;后两类型的验证码由指定人工打码客户端来执行。
步骤2中,客户端包括人工客户端和AI客户端。
步骤2中,通过CNN模型进行验证码数据的类型识别,若类别判定为未知类别,则添加新类别到样本库,持续更新CNN模型。
步骤4中,根据验证码类型获取空闲状态打码客户端对此类验证码的打码指标数据,其中,打码指标数据包括对此类验证码的识别准确率acc、对此类验证码的识别平均速度spe、异常率er和疲劳度fat,设当前时刻获取到的人工打码客户端列表为(5个客户端):
id acc spe er fat
0 84 12 4 8
1 74 5 8 9
2 94 23 4 4
3 64 15 6 5
4 77 6 4 4
表1
转换为矩阵形式为:
Figure GDA0003675177850000061
步骤4具体包括如下步骤:
步骤4.1,对客户端列表数据进行正向化和归一化,对此类验证码的识别平均速度spe、异常率er和疲劳度fat都乘以-1,以此完成正向化,设正向化后每个指标值为zij,zij所在的第j列中最大值为Zj +,最小值为Zj -,则归一化计算公式为:
Figure GDA0003675177850000062
此时,客户端矩阵为:
Figure GDA0003675177850000063
步骤4.2,对客户端列表数据进行赋权更新列表数据,设对此类验证码的识别准确率acc、对此类验证码的识别平均速度spe、异常率er和疲劳度fat的权重分别为w0=0.6,w1=0.2,w2=0.1,w3=0.1,此时客户端矩阵为:
Figure GDA0003675177850000071
步骤4.3,计算每列的最优值和最差值分别构成理想解和负理想解:
Figure GDA0003675177850000072
Figure GDA0003675177850000073
因此示例中的理想解为best=[0.6,0.2,0.1,0.1],
负理想解为worst=[0,0,0,0];
步骤4.4,分别计算每个客户端到理想解和负理想解的欧氏距离;
Figure GDA0003675177850000074
Figure GDA0003675177850000075
例如,示例中ID为0的客户端到理想解的距离D+=0.23,到负理想解的距离D-=0.43;
步骤4.5,计算每个客户端到理想解的贴近度Ci,Ci表征该客户端的打码能力,贴近度高,则在此客户端列表中打码能力强,贴近度公式为:
Figure GDA0003675177850000076
例如ID为0的客户端到理想解的贴近度C0=0.65,同样的方式可以计算出其他客户端的贴近度,最终所有客户端的贴近度值为[C0=0.65,C1=0.39,C2=0.76,C3=0.17,C4=0.51],可以看到id为2的贴近度最高,即在此客户端列表中打码能力最强;
根据上述数据,步骤4中的如上步骤能够生成神经网络的训练样本:
Dtrain={<<best,worst,alternative0>,C0>,<<best,worst,alternative1>,C1>...};
训练样本的特征为<best,worst,alternativei>,即由当前客户端列表中理想解,负理想解和第i个客户端的指标组成,标签值为Ci,即在理想解、负理想解和客户端指标组成的特征时通过TOPSIS算法计算得出的该客户端打码能力是多少,这里需要注意的是,作为样本点的best和worst计算直接从正向化后的矩阵中计算,而不需要通过赋权等过程,因为正向化后的计算步骤并不影响理想解和负理想解在候选集中的位置;
利用上述样本数据训练一个能够拟合TOPSIS算法的神经网络模型,具体模型设计如图2所示,模型由输入层、15个节点的隐藏层以及最后表征客户端打码能力的输出层构成,其中输入层由表示<best,worst,alternative>的数据组成,best、worst和alternative都由表示4个指标的神经元组成;
在线阶段(基于神经网络进行客户端打码能力预测):
在线阶段用以预测给定客户端列表中各个客户端的打码能力值,具体步骤为:
步骤s1:候选客户端列表正向化;
步骤s2:计算理想解best和负理想解worst;
步骤s3:基于客户端指标构成神经网络输入<best,worst,alternative>,预测出打码能力值C。
下面,以旋转类型的验证码识别过程为例,继续对本发明进行详细阐述:
如图1所示,步骤S1:旋转类型的验证码通过URL的方式提交给系统,系统在截取URL中的验证码主体图片后进入验证码自动分类模块得到验证码类型信息,即类型代码为“3”的验证码类型;
步骤S2:将类型代码“3”作为参数从数据库中查询针对此类别的空闲打码客户端信息,包括人工客户端列表和AI客户端列表;
步骤S3:根据获取的打码客户端列表,以人工打码客户端列表为例,可以看出该列表中理想解(“best”)为:<89,39,3,2>,负理想解为<53,25,2,5>,再以ID为2的人工打码客户端为例,它的指标信息为<77,13,11,1>,将<89,39,3,2,53,25,2,5,77,13,11,1>作为模型输入,计算出ID为2的人工打码客户端的打码优先级指标,其余客户端的优先级计算方法同上,最后可以得到排序后的人工打码客户端列表,AI打码客户端列表的优先级计算方法同上;
步骤S4:设总共分发3名客户端执行打码任务(TOP-N中N=3),同时该目标系统的验证码安全性量化值为0.7,则最后打码客户端中人工打码客户端数量为
Figure GDA0003675177850000081
AI客户端数量为
Figure GDA0003675177850000082
因此,最后执行任务的客户端为ID人工={0,2},IDAI={4};
步骤S5:人工打码客户端通过旋转图片的方式返回打码结果(旋转为正方向需要的角度),AI利用模型预测出正方位与原图的角度差,最后得到各个打码客户端的打码结果{31,130,133}。
步骤S6:通过相似度计算可以得出人工客户端0和人工客户端2的打码结果最为相似,因此系统返回133或130作为最后打码结果。
所述人机协同方式的验证码识别系统,包括:
验证码自动分类模块,用于获取待识别的验证码数据;
验证码任务分发模块,用于将验证码数据分发;
打码客户端,接收验证码任务分发模块的验证码数据,并执行打码;
反馈模块,为请求者返回正确打码结果,并反馈打码具体信息。
验证码自动分类模块包括用于接收验证码信息的验证码输入模块、对验证码数据进行类型识别的验证码类型识别模块。
在上述实施例中,验证码类型识别模块基于CNN模型来进行分类,作为验证码识别前期的步骤,本模块追求分类速度快、模型复杂度小,因此模型的输入大小为28x28的单通道输入层,通过两层卷积层(5x5卷积核)来进行特征提取,最后通过一层全连接直接进行分类;
验证码类型识别模块主要以验证码截图为输入,以验证码所属类型代码为输出,对于未知类型的验证码,默认推送给评级最高的打码端,打码端识别成功后手动标注类型,验证码类型加入该类型样本库,以便后续更新模型。
在人工打码客户端,验证码数据包括字符类验证码、拖拽类验证码、轨迹类验证码及旋转类验证码,其中,字符类验证码:直接输入验证码图片中包含的字符串作为打码结果;拖拽类验证码:依次点击滑块起始位置和验证码中缺口位置,将生成的两个位置坐标作为打码结果;轨迹类验证码:依次点击能够近似轨迹轮廓的序列位置坐标,将此序列作为打码结果;旋转类验证码:拖拽界面提供的下拉条以旋转整张图片,待图片内容正向时将旋转角度作为打码结果。
在AI打码客户端,验证码数据包括字符类、拖拽类、轨迹类及旋转类,其中,字符类验证码:采用CNN模型识别字符串作为打码结果;拖拽类:利用目标检测模型(例如YOLO、R-CNN等模型)检测出滑块和缺口位置作为打码结果;轨迹类:利用目标检测模型(例如YOLO、R-CNN等模型)检测出轨迹大致位置,采用插值法生成坐标序列作为打码结果;旋转类:利用RotNet模型预测出旋转角度作为打码结果。
在上述实施例中,验证码任务分发模块采用数据驱动型的任务分发框架,任务分发效果会随分发记录的不断积累而持续得到改善,具体设计方案如图3所示,验证码任务分发模块基于经典决策论中的TOPSIS算法和神经网络技术,主要分为离线阶段和在线阶段。
离线阶段负责生成用来拟合TOPSIS算法过程的神经网络模型训练样本,样本形式以候选客户端列表中理想解(best)、负理想解(worst)和列表中每一个候选客户端(alternative)为特征,以经过TOPSIS算法计算后每一个客户端计算所得的优先级(priority)为标签值,即<<best,worst,alternative>,priority>为样本形式,其中理想解和负理想解是TOPSIS算法中的核心概念,理想解指的是候选集中每个指标的最优值构成的虚拟解,负理想解指的是候选集中每个指标的最差值构成的虚拟解,TOPSIS算法就是从候选集中找出最贴近理想解同时又最偏离负理想解的候选项作为最优解的决策算法,其中这种贴近程度被用来作为该候选项在当前候选集中的优先级评分。
除了理想解和负理想解,TOPSIS中另一个关键步骤就是为指标赋权,每个指标对决策结果的重要程度不同,因此指标赋权直接决定了TOPSIS算法的合理性,现有的TOPSIS算法指标赋权主要分为两类:主观赋权法和客观赋权法,分别以层次分析法(AHP)和熵权法(EWM)为代表,前者通过属性之间两两比较的方式量化属性之间的相对重要程度并由此构建出决策矩阵,然后最小化这种带有主观因素的决策矩阵与理想决策矩阵之间的误差并使之满足一致性检验(可以使用特征向量法),得出符合专家(决策者)意向的一组权重系数;后者借鉴了信息熵的思想——熵值越大说明属性所能提供的信息越少,在评价中贡献的越少,其权重也应该越小,因此,EWM主要根据各个属性下数值的差异程度来进行赋权,相对变化程度大的属性具有较大的权重,本模块采用主客观结合的赋权方法,能够一定程度上达到两者相互弥补的效果,假设由AHP算法计算得出的权重向量为[α1,...,αi,...,αn],EWM算法计算得出的权重向量为[β1,...,βi,...,βn],则通过以下方式可以得出结合后的复合权重ωi
Figure GDA0003675177850000101
尽管如此,TOPSIS算法依然存在一定的主观因素,为此,本模块采用BP神经网络拟合TOPSIS算法过程的方式来消除这种主观因素,由TOPSIS最终的贴近度计算公式:
Figure GDA0003675177850000102
Figure GDA0003675177850000103
Figure GDA0003675177850000104
可以看出,从理想解、负理想解和候选项到贴近度的关系中存在一种非线性映射,这种关系隐藏了权重ωi的设定,利用BP神经网络的非线性拟合能力可以消除权重设定的主观影响。具体的BP神经网络模型设计见图2,并将此模型部署在在线阶段用以预测当前候选客户端集合中每个打码客户端的分发优先级。
在线阶段预测出的优先级评分作为实际分发的参考指标,将实际分发效果好的输入输出<<best,worst,alternative>,priority>作为正样本加入到BP神经网络的样本库,定时更新模型以达到数据驱动修正模型的目的。
本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书界定。

Claims (4)

1.一种人机协同方式的验证码识别方法,其特征在于,包括:
步骤1、验证码自动分类模块获取待识别的验证码数据;
步骤2、验证码自动分类模块对验证码数据进行类型识别,将识别成功的验证码数据分发至处理所述验证码数据的客户端;
步骤3、验证码任务分发模块获取当前待打码且空闲的打码客户端列表;
步骤4、根据验证码数据的类型及客户端列表,通过逼近理想解法TOPSIS和神经网络的任务分发模型计算每个客户端对此类验证码的打码能力,得到排序后的打码客户端列表,根据验证码类型获取空闲状态打码客户端对此类验证码的打码指标数据,其中,打码指标数据包括对此类验证码的识别准确率acc、对此类验证码的识别平均速度spe、异常率er和疲劳度fat;
步骤4.1,对客户端列表数据进行正向化和归一化,对此类验证码的识别平均速度spe、异常率er和疲劳度fat都乘以-1,以此完成正向化,设正向化后每个指标值为zij,zij所在的第j列中最大值为Zj +,最小值为Zj -,则归一化计算公式为:
Figure FDA0003675177840000011
步骤4.2,对客户端列表数据进行赋权更新列表数据,设对此类验证码的识别准确率acc、对此类验证码的识别平均速度spe、异常率er和疲劳度fat的权重分别为w0,w1,w2,w3
步骤4.3,计算每列的最优值和最差值分别构成理想解和负理想解:
Figure FDA0003675177840000012
Figure FDA0003675177840000013
步骤4.4,分别计算每个客户端到理想解和负理想解的欧氏距离;
Figure FDA0003675177840000014
Figure FDA0003675177840000015
步骤4.5,计算每个客户端到理想解的贴近度Ci,Ci表征该客户端的打码能力,贴近度高,则在此客户端列表中打码能力强,贴近度公式为:
Figure FDA0003675177840000016
步骤5、根据排序后的打码客户端列表选取TOP-N个客户端分发验证码数据进行识别,其中,TOP-N指的是列表按降序排序,取出前N个元素;
步骤6、执行打码;
步骤7、反馈模块计算打码时长以更新客户端对此类验证码的平均识别速度;
步骤8、对不同的打码客户端打码结果进行相似度计算,以少数服从多数的原则返回给请求者最终打码结果。
2.根据权利要求1所述的人机协同方式的验证码识别方法,其特征在于,步骤1中,验证码数据包括以下形式:图片上传;Base64编码;验证码图片URL;外部验证码链接;手机短信/邮箱验证码。
3.根据权利要求1所述的人机协同方式的验证码识别方法,其特征在于,步骤2中,客户端包括人工客户端和AI客户端。
4.根据权利要求1所述的人机协同方式的验证码识别方法,其特征在于,步骤2中,通过CNN模型进行验证码数据的类型识别,若类别判定为未知类别,则添加新类别到样本库,持续更新CNN模型。
CN202110368409.9A 2021-04-06 2021-04-06 人机协同方式的验证码识别方法及其系统 Active CN113297548B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110368409.9A CN113297548B (zh) 2021-04-06 2021-04-06 人机协同方式的验证码识别方法及其系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110368409.9A CN113297548B (zh) 2021-04-06 2021-04-06 人机协同方式的验证码识别方法及其系统

Publications (2)

Publication Number Publication Date
CN113297548A CN113297548A (zh) 2021-08-24
CN113297548B true CN113297548B (zh) 2022-07-08

Family

ID=77319563

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110368409.9A Active CN113297548B (zh) 2021-04-06 2021-04-06 人机协同方式的验证码识别方法及其系统

Country Status (1)

Country Link
CN (1) CN113297548B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111404938A (zh) * 2020-03-16 2020-07-10 网易(杭州)网络有限公司 一种验证码的处理方法、装置、终端及存储介质
CN111783066A (zh) * 2020-07-07 2020-10-16 中国联合网络通信集团有限公司 文字识别方法、系统、计算机设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106156597A (zh) * 2015-04-16 2016-11-23 深圳市腾讯计算机系统有限公司 一种验证码的实现方法,及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111404938A (zh) * 2020-03-16 2020-07-10 网易(杭州)网络有限公司 一种验证码的处理方法、装置、终端及存储介质
CN111783066A (zh) * 2020-07-07 2020-10-16 中国联合网络通信集团有限公司 文字识别方法、系统、计算机设备及存储介质

Also Published As

Publication number Publication date
CN113297548A (zh) 2021-08-24

Similar Documents

Publication Publication Date Title
CN111211994B (zh) 一种基于SOM与K-means融合算法的网络流量分类方法
CN111369016B (zh) 一种基于图像识别的现场运维方法及系统
CN107392919B (zh) 基于自适应遗传算法的灰度阈值获取方法、图像分割方法
CN111127364B (zh) 图像数据增强策略选择方法及人脸识别图像数据增强方法
CN112256739B (zh) 一种基于多臂赌博机的动态流大数据中数据项筛选方法
CN111198550A (zh) 基于案例推理的云端智能生产优化调度在线决策方法及系统
Rahul et al. Detection and correction of abnormal data with optimized dirty data: a new data cleaning model
WO2020024444A1 (zh) 人群绩效等级识别方法、装置、存储介质及计算机设备
CN114511063A (zh) 电力数据预测模型构建方法、装置、设备、介质及程序
CN116526450A (zh) 计及误差补偿的两阶段短期电力负荷组合预测方法
CN107240100B (zh) 一种基于遗传算法的图像分割方法和系统
CN108960486A (zh) 基于灰支持向量回归机预测适应值的交互式集合进化方法
CN108737429B (zh) 一种网络入侵检测方法
CN113297548B (zh) 人机协同方式的验证码识别方法及其系统
CN113032367A (zh) 面向动态负载场景的大数据系统跨层配置参数协同调优方法和系统
CN116452241B (zh) 一种基于多模态融合神经网络的用户流失概率计算方法
CN111221915B (zh) 基于CWK-means的在线学习资源质量分析方法
CN116595543A (zh) 一种基于互联网平台用软件开发应用数据的处理系统
CN117011751A (zh) 使用变换器网络分割视频图像序列
CN112667394B (zh) 一种计算机资源利用率优化方法
CN115620046A (zh) 一种基于半监督性能预测器的多目标神经架构搜索方法
CN115174263A (zh) 攻击路径动态决策方法与装置
CN115102868A (zh) 一种基于SOM聚类与深度自编码器的web服务QoS预测方法
CN113807005A (zh) 基于改进fpa-dbn的轴承剩余寿命预测方法
CN113610229A (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