CN111782068B - 鼠标轨迹生成的方法、装置和***以及数据处理的方法 - Google Patents
鼠标轨迹生成的方法、装置和***以及数据处理的方法 Download PDFInfo
- Publication number
- CN111782068B CN111782068B CN201910272943.2A CN201910272943A CN111782068B CN 111782068 B CN111782068 B CN 111782068B CN 201910272943 A CN201910272943 A CN 201910272943A CN 111782068 B CN111782068 B CN 111782068B
- Authority
- CN
- China
- Prior art keywords
- track
- data
- trajectory
- verification
- generated
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 113
- 238000003672 processing method Methods 0.000 title claims description 11
- 238000003062 neural network model Methods 0.000 claims abstract description 118
- 238000012545 processing Methods 0.000 claims abstract description 54
- 238000012795 verification Methods 0.000 claims description 149
- 230000003042 antagnostic effect Effects 0.000 claims description 84
- 238000007667 floating Methods 0.000 claims description 45
- 238000004088 simulation Methods 0.000 claims description 43
- 238000012549 training Methods 0.000 claims description 43
- 230000008569 process Effects 0.000 claims description 38
- 230000009193 crawling Effects 0.000 claims description 16
- 238000010606 normalization Methods 0.000 claims description 11
- 230000008485 antagonism Effects 0.000 claims description 6
- 238000012360 testing method Methods 0.000 abstract description 45
- 238000005516 engineering process Methods 0.000 abstract description 10
- 241000699666 Mus <mouse, genus> Species 0.000 description 72
- 238000010586 diagram Methods 0.000 description 19
- 238000013528 artificial neural network Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 230000006399 behavior Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 241000282412 Homo Species 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000011176 pooling Methods 0.000 description 3
- 241000282326 Felis catus Species 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 2
- 239000005557 antagonist Substances 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000013136 deep learning model Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000013256 Gubra-Amylin NASH model Methods 0.000 description 1
- BUGBHKTXTAQXES-UHFFFAOYSA-N Selenium Chemical compound [Se] BUGBHKTXTAQXES-UHFFFAOYSA-N 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000004791 biological behavior Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 229910052711 selenium Inorganic materials 0.000 description 1
- 239000011669 selenium Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0354—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
- G06F3/03543—Mice or pucks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction 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/04847—Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction 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/0485—Scrolling or panning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04883—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请公开了一种鼠标轨迹生成的方法、装置和***以及数据处理的方法。其中,该方法包括:首先获取目标对象生成的第一轨迹数据,然后基于轨迹生成模型,生成与所述第一轨迹数据相关联的第二轨迹数据,其中,所述轨迹生成模型包括生成对抗神经网络模型,所述生成对抗神经网络模型根据样本轨迹数据训练得到。本申请解决了相关技术中生成的鼠标轨迹无法通过滑块人机校验测试,导致难以进行信息采集的技术问题。
Description
技术领域
本发明涉及互联网信息处理领域,具体而言,涉及一种鼠标轨迹生成的方法、装置和***以及数据处理的方法。
背景技术
信息采集、情报收集等应用在企业决策、威胁感知、数据供应等方面的作用越来越突出,为了保护自身信息,被采集方需要采取多种手段提高信息被采集的难度,降低自己的信息数据被应用程序采集到的可能性。目前,最为常见、效果最好且对用户干扰最低的是基于滑块的人机校验技术,该技术通过采集鼠标在网页或者移动app内的滑动操作的生物行为特征,结合机器学习、模式识别在二分类、多分类方向上的相关技术,可以将程序操作和真实操作区分开来。于是,这就给信息采集、情报收集类的应用带来一个技术问题:如何让应用程序行为表现地更像是人的行为。
以移动端模拟器、selenium为基础的采集应用,使用***指令定位到要滑动的位置范围,将滑块从起点沿着直线或稍加扰动,拖动到终点即可完成人机校验测试。随着技术的升级,滑块验证码已经具备了识别真人操作以及简单机器操作的能力。采集信息的应用通过重放、微调前期录入好的人工操作轨迹,从而在一段时期内可以通过相关的人机校验测试。而现在,智能化技术不断发展,上述方案已经不能通过大多数滑块人机校验测试了。
针对相关技术中生成的鼠标轨迹无法通过滑块人机校验测试,导致不能采集信息的技术问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种鼠标轨迹生成的方法、装置和***以及数据处理的方法,以至少解决相关技术中生成的鼠标轨迹无法通过滑块人机校验测试,导致不能采集信息的技术问题。
根据本发明实施例的一个方面,提供了一种鼠标轨迹生成的方法,包括:获取目标对象生成的第一轨迹数据;基于轨迹生成模型,生成与所述第一轨迹数据相关联的第二轨迹数据,其中,所述轨迹生成模型包括生成对抗神经网络模型,所述生成对抗神经网络模型根据样本轨迹数据训练得到。
根据本发明实施例的另一方面,还提供了一种数据处理方法,包括:显示人机校验页面,其中,人机校验页面由人机校验***生成,人机校验***用于对输入的轨迹数据是否为机器生成的轨迹数据进行校验;接收第二轨迹数据,其中,第二轨迹数据是生成对抗神经网络模型根据目标对象生成的第一轨迹数据生成的;对第二轨迹数据进行人机校验。
根据本发明实施例的另一方面,还提供了一种数据处理方法,包括:在爬取目标网站的网站信息的过程中,检测到目标网站生成的人机校验请求,其中,人机校验请求用于请求验证轨迹,并判断验证轨迹是否由机器生产;根据人机校验请求,获取验证轨迹;将验证轨迹输入至目标网站;确定验证轨迹通过人机校验,继续爬取目标网站的网站信息。
根据本发明实施例的另一方面,还提供了一种鼠标轨迹生成的装置,包括:获取模块,用于获取目标对象生成的第一轨迹数据;生成模块,用于基于轨迹生成模型,生成与所述第一轨迹数据相关联的第二轨迹数据,其中,所述轨迹生成模型包括生成对抗神经网络模型,所述生成对抗神经网络模型根据样本轨迹数据训练得到。
根据本发明实施例的另一方面,还提供了一种数据处理装置,包括:显示模块,用于显示人机校验页面,其中,所述人机校验页面由人机校验***生成,所述人机校验***用于对输入的轨迹数据是否为机器生成的轨迹数据进行校验;接收模块,接收第二轨迹数据,其中,所述第二轨迹数据是生成对抗神经网络模型根据目标对象生成的第一轨迹数据生成的;校验模块,用于对所述第二轨迹数据进行人机校验。
根据本发明实施例的另一方面,还提供了一种数据处理装置,包括:检测模块,用于在爬取目标网站的网站信息的过程中,检测到目标网站生成的人机校验请求,其中,人机校验请求用于请求验证轨迹,并判断验证轨迹数据是否由机器产生;获取模块,用于根据人机校验请求,获取验证轨迹数据;输入模块,用于将验证轨迹数据输入至所述目标网站;爬取模块,用于确定验证轨迹数据通过人机校验,继续爬取目标网站的网站信息。
根据本发明实施例的另一方面,还提供了一种数据处理方法,包括:获取目标对象生成的第一轨迹数据;基于神经网络模型中的生成模型,生成与第一轨迹数据相关联的第二轨迹数据;基于神经网络模型中的判别模型,对第二轨迹数据的真实性进行预测,输出第二轨迹参数对应的得分;确定得分大于预设分数值,输出第二轨迹数据。
根据本发明实施例的另一方面,还提供了一种鼠标轨迹生成***,包括:处理器;以及存储器,与所述处理器连接,用于为所述处理器提供处理以下处理步骤的指令:获取目标对象生成的第一轨迹数据;基于轨迹生成模型,生成与所述第一轨迹数据相关联的第二轨迹数据,其中,所述轨迹生成模型包括生成对抗神经网络模型,所述生成对抗神经网络模型根据样本轨迹数据训练得到。
在本发明实施例中,首先获取目标对象生成的第一轨迹数据,然后基于轨迹生成模型,生成与所述第一轨迹数据相关联的第二轨迹数据,其中,所述轨迹生成模型包括生成对抗神经网络模型,所述生成对抗神经网络模型根据样本轨迹数据训练得到。与现有技术相比,本申请提供了一种通用的解决方法,基于生成对抗神经网络,结合自行人工录入的鼠标轨迹,生成大量的与人工录入的较为相似的鼠标轨迹,以通过人机校验测试,达到采集信息的目的,进而解决了相关技术中生成的鼠标轨迹无法通过滑块人机校验测试,导致难以进行信息采集的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例1的一种用于实现鼠标轨迹生成的方法的计算机终端(或移动设备)的硬件结构框图;
图2是根据本申请实施例1的一种计算机终端(或移动设备)作为客户终端的示意图;
图3是根据本申请实施例1的一种可选的鼠标轨迹生成方法的流程图;
图4是根据本申请实施例1的一种可选的GAN生成器网络结构示意图;
图5是根据本申请实施例1的一种可选的GAN判决器网络结构示意图;
图6是根据本申请实施例1的一种可选的GAN模型生成鼠标轨迹的结构示意图;
图7是根据本申请实施例1的一种可选的利用仿真鼠标轨迹爬取网站信息的结构示意图;
图8是根据本申请实施例2的一种可选的数据处理方法的流程图;
图9是根据本申请实施例3的一种可选的数据处理方法的流程图;
图10是根据本申请实施例4的一种可选的鼠标轨迹生成的装置示意图;
图11是根据本申请实施例5的一种可选的数据处理的装置示意图;
图12是根据本申请实施例6的一种可选的数据处理的装置示意图;
图13是根据本申请实施例7的一种可选的计算机终端的结构框图;
图14是根据本申请实施例9的一种可选的数据处理方法的流程图;以及
图15是根据本申请实施例10的一种可选的数据处理装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本申请实施例,提供了一种鼠标轨迹生成的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现鼠标轨迹生成方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。除此以外,还可以包括:显示器、输入/输出接口、通用串行总线(USB)端口(可以作为输入/输出接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的鼠标轨迹生成方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的鼠标轨迹生成的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
此处需要说明的是,在一些实施例中,上述图1所示的计算机设备(或移动设备)具有触摸显示器(也被称为“触摸屏”或“触摸显示屏”)。在一些实施例中,上述图1所示的计算机设备(或移动设备)具有图像用户界面(GUI),用户可以通过触摸触敏表面上的手指接触和/或手势来与GUI进行人机交互,此处的人机交互功能可选的包括如下交互:创建网页、绘图、文字处理、制作电子文档、游戏、视频会议、即时通信、收发电子邮件、通话界面、播放数字视频、播放数字音乐和/或网络浏览等、用于执行上述人机交互功能的可执行指令被配置/存储在一个或多个处理器可执行的计算机程序产品或可读存储介质中。
图1示出的硬件结构框图,不仅可以作为上述计算机终端10(或移动设备)的示例性框图,还可以作为服务器的示例性框图,一种可选实施例中,图2以框图示出了使用上述图1所示的计算机终端10(或移动设备)作为客户终端的一种实施例。如图2所示,计算机终端10(或移动设备)可以经由数据网络连接或电子连接到一个或多个服务器66。一种可选实施例中,上述计算机终端10(或移动设备)可以是移动计算设备等。数据网络连接可以是局域网连接、广域网连接、因特网连接,或其他类型的数据网络连接。计算机终端10(或移动设备)可以执行以连接到由一个服务器(例如安全服务器)或一组服务器执行的网络服务。网络服务器是基于网络的用户服务,诸如社交网络、云资源、电子邮件、在线支付或其他在线应用。
在上述运行环境下,本申请提供了如图3所示的鼠标轨迹生成方法。图3是根据本申请实施例1的一种可选的鼠标轨迹生成的方法流程图。如图3所示,该方法可以包括如下步骤:
步骤S302,获取目标对象生成的第一轨迹数据。
一种可选方案中,上述第一轨迹数据可以为目标对象(即用户)实际进行滑动操作时所产生的轨迹数据,例如,可以是目标对象通过手指在触控设备上进行滑动操作所生成的轨迹数据,也可以是目标对象通过操作鼠标在网页或者移动APP上进行滑动所生成的轨迹数据。
在一种可选的实施例中,可以设置具备触控功能的采集器,用户通过手指在采集器上滑动,从而生成上述第一轨迹数据。
在另一种可选的实施例中,当目标用户登录手机QQ时,手机页面会显示一个滑块验证码,用户需要将滑块移动到验证码区域内有缺口的位置,以使验证码区域的画面完整。在此过程中,目标用户人工滑动鼠标到有缺口的位置所产生的鼠标轨迹即为第一轨迹数据。
需要说明的是,上述第一轨迹数据可以为一条,也可以为多条,第一轨迹数据越多,后续生成的可以通过人机校验测试的鼠标轨迹越多。
所谓人机校验测试,即全自动区分计算机和人类的图灵测试(CAPTCHA,Completely Automated Public Truing Test to Tell Computers and Humans Apart)的简称,CAPTCHA的目的是区分计算机和人类的一种程序算法,是一种区分用户是计算机和人的计算机程序,这种程序必须能生成并评价人类能很容易通过但计算机却不能通过的测试。
步骤S304,基于轨迹生成模型,生成与第一轨迹数据相关联的第二轨迹数据,其中,轨迹生成模型包括生成对抗神经网络模型,生成对抗神经网络模型根据样本轨迹数据训练得到。
一种可选方案中,上述轨迹生成模型可以为机器学习模型,本申请以生成对抗神经网络模型为例进行举例说明,然而其并不会对本申请的轨迹生成模型造成限制。
生成对抗网络(GAN,Generative Adversarial Networks)属于一种深度学习模型,是近年来复杂分布上无监督学习最具前景的方法之一。模型通过框架中(至少)两个模块,即生成器和对抗器的互相博弈学习产生相当好的输出。实际应用中一般使用神经网络来训练生成器和对抗器。而训练对抗神经网络模型的样本轨迹数据可以为真实的人工操作鼠标产生的轨迹数据。
一种可选方案中,上述第二轨迹数据可以为基于第一轨迹数据生成的与真实的人工轨迹相似度很高的轨迹数据,用来通过人机校验测试。
在通过步骤S302获取到目标对象生成的第一轨迹数据后,可以将第一轨迹数据输入至步骤S304中的轨迹生成模型,例如生成对抗神经网络模型,由轨迹生成模型生成大量的与真实的人工轨迹相似度很高的轨迹数据,用来通过人机校验测试。
在一个可选的实施例中,将目标对象通过鼠标在网页或者移动APP上移动滑块的轨迹输入至生成对抗神经网络模型中,该模型便可以输出大量的与真实的人工轨迹相似度很高的轨迹数据,利用这些轨迹数据,很容易通过人机校验测试。上述方法可以实施在采集信息的应用中,例如网络爬虫,该方法可以使机器行为更像是人的行为,达到采集信息的目的。
基于本申请上述实施例一提供的方案,首先获取目标对象生成的第一轨迹数据,然后基于轨迹生成模型,生成与所述第一轨迹数据相关联的第二轨迹数据,其中,所述轨迹生成模型包括生成对抗神经网络模型,所述生成对抗神经网络模型根据样本轨迹数据训练得到。与现有技术相比,本申请提供了一种通用的解决方法,基于生成对抗神经网络,结合自行人工录入的鼠标轨迹,生成大量的与人工录入的较为相似的鼠标轨迹,以通过人机校验测试,达到采集信息的目的,进而解决了相关技术中生成的鼠标轨迹无法通过滑块人机校验测试,导致难以进行信息采集的技术问题。
可选地,上述方法还包括:
步骤S301,生成轨迹生成模型,其中,生成轨迹生成模型的步骤包括:
步骤S3011,获取样本轨迹数据。
在使用轨迹生成模型之前,需要事先生成轨迹生成模型。由于轨迹生成模型属于机器学习的一种,因此,生成轨迹生成模型的第一步为获取样本轨迹数据,来训练初始轨迹生成模型。
一种可选方案中,上述样本轨迹数据可以为大量的人工滑动鼠标产生的轨迹数据。
步骤S3012,基于样本轨迹数据对初始生成对抗神经网络模型进行训练,得到网络参数和模型拓扑信息,其中,网络参数和模型拓扑信息用于构建生成对抗神经网络模型。
一种可选方案中,上述模型拓扑信息可以为神经网络模型层次结构和层次数,例如生成器模型的全连接层数、卷积层数、池化层数以及相互之间的输入输出关系等;上述网络参数可以为模型拓扑中各层的参数值。
在获取到样本轨迹数据之后,对初始生成对抗神经网络模型进行训练,经过多轮训练之后,得到构建生成对抗神经网络模型的网络参数和模型拓扑信息。
一种可选方案中,可以使用伪代码录入样本轨迹数据,在录入样本轨迹数据时,按照预定周期检测轨迹点的坐标,采集轨迹点坐标的方式可以是,每采集一个轨迹点坐标,都通过该轨迹点坐标来确定该轨迹生成的方向(可以对比坐标点的x值来确定轨迹生成的方向,如果当前时刻的轨迹点坐标的x值小于上一时刻的轨迹点坐标的x值,则确定当前轨迹是由右向左生成的;如果当前时刻的轨迹点坐标的x值大于上一时刻的轨迹点坐标的x值,则确定当前轨迹是由左向右生成的)。如果该轨迹是由左向右生成的,则继续采集;如果该轨迹是由右向左生成的,则停止采集。
在采集轨迹信息后,将轨迹点坐标序列进行保存。在保存过程中,还可以将每个轨迹的第一个轨迹点坐标作为原点坐标,并将其他点的坐标基于第一个轨迹点坐标进行换算后,再进行保存。
可选地,上述步骤S3011获取样本轨迹数据,包括:
步骤S30111,获取第一数量的第一样本数据。
一种可选方案中,上述第一样本数据可以为人工滑动鼠标产生的轨迹数据。第一数量的数目越多,对抗神经网络模型越复杂,输出结果越精确。
步骤S30112,对第一样本数据进行归一化处理和数据填充处理,得到浮点数对序列,其中,浮点数对序列包括取值在预设范围内的坐标参数。
一种可选方案中,上述预设范围可以为(0,1)区间。
当获取到一定数量的第一样本数据后,首先对第一样本数据进行归一化处理和数据填充处理,以降低输入的稀疏性,生成大量的、长度固定的、取值范围在(0,1)之间的浮点数对的序列。
步骤S30113,通过向浮点数对序列中***平滑的浮点数对,得到第二数量的第二样本数据,其中,第二数量大于所述第一数量。
步骤S30114,确定第二样本数据为样本轨迹数据。
一种可选的方案中,平滑的浮点数对用于表示,该浮点数对的数值处于被其***的两个浮点数对的数值之间,从而保证生成的第二样本数据的准确性。
上述步骤中,在得到浮点数对序列之后,需要对其进行数据增强处理。向浮点数对序列随机***平滑的浮点数对,以在序列之间产生平滑的没有凹凸点的第二样本数据,第二样本数据即最终的样本轨迹数据,所以第二样本数据的数量大于第一样本数据的数量。
可选地,上述步骤S30111获取第一数量的第一样本数据,包括:
步骤S301111,在目标对象通过操作生成轨迹的过程中,采集轨迹包括的点的坐标数据。
一种可选方案中,可以通过坐标数据来表示轨迹。
步骤S301112,确定轨迹的坐标数据为第一样本数据。
当采样到轨迹所包括的点的坐标数据后,可以通过坐标数据来表示第一样本数据。
可选地,上述生成对抗神经网络模型包括:生成器和判决器,上述步骤S3012基于样本轨迹数据对初始生成对抗神经网络模型进行训练,得到网络参数和模型拓扑信息,包括:基于样本轨迹数据对生成器和判决器进行训练,得到生成器和判决器的网络参数和模型拓扑信息。
如前所述,生成对抗神经网络模型通过框架中至少两个模块,即生成器和对抗器的互相博弈学习产生相当好的输出。简单来说,生成器是给定某种隐含信息,来随机产生观测数据;判决器需要输入变量,通过某种模型来预测;例如,给定一张图,判决器可以用来判断这张图里的动物是猫还是狗;对于一串数据,生成器可以用来生成一个新的数据,新的数据不在之前的一串数据里。在本申请的训练过程中,可以首先通过生成器根据样本轨迹生成仿真轨迹,并由判决器来判断生成器生成的仿真轨迹的仿真程度,从而将生成器和判决器组合进行训练。
上述步骤中,可以直接将浮点数对的序列作为特征向量,按比例拆分为训练集和测试集,输入由生成器和判决器构成的生成对抗神经网络模型进行训练。网络模型的结构如图4和图5所示。在图4的生成器网络结构中,Dense代表全连接层,LeakyReLU为激活函数,None表示输入形状不受限制。在图5的判决器网络结构中,增加了Dropout层,可以防止过拟合。相关参数如下所示:
1生成器模型输入层(in=100,out=1024)
全连接层(1024,act='tanh')
批处理归一化层重构层(2,2,256)
2D上抽样层(size=(2,2))
2D卷积层(64,(5,5),act='tanh')
2D上抽样层(size=(2,2))
2D卷积层(1,(5,5),act='tanh')
2评判器模型2D卷积层(64,(5,5),act='tanh')
2D最大池化层(2,2)
2D卷积层(128,(3,3),act='tanh')
平化层全连接层(1024,act='tanh')
全连接层(1,act='sigmoid')
图6示出了根据本申请实施例1的一种可选的生成对抗神经网络模型生成鼠标轨迹的结构示意图,如图6所示,生成对抗神经网络模型包括生成器G(Z)和判别器D(X),生成器G(Z)接收一个随机噪声Z,通过这个噪声生成图片,判别器D(X)根据录入的鼠标轨迹来判别这个图片是不是真的。在训练过程中,生成器G(Z)的目标是尽量生成接近仿真鼠标的轨迹去欺骗判别器D(X),判别器D(X)尽量把生成器G(Z)生成的仿真鼠标轨迹和真实的鼠标轨迹区分开来,由此构成了一个动态的博弈过程。对初始生成对抗神经网络模型进行多轮训练之后,得到了构建生成对抗神经网络模型的生成器和判决器的网络参数和模型拓扑信息。此时,生成器G(Z)可以生成足以以假乱真的仿真鼠标的轨迹,判别器D(X)可以判断生成器G(Z)生成的轨迹究竟是不是真的。通过上述生成对抗神经网络模型生成的仿真鼠标轨迹,大大提高了通过人机校验测试的通过率,达到采集信息的目的。
可选地,样本轨迹数据包括:直线轨迹数据、圆形轨迹数据、椭圆轨迹以及随机轨迹。
一种可选方案中,上述样本轨迹数据不仅可以为直线轨迹数据,还可以为圆形轨迹数据、椭圆轨迹数据以及随机轨迹数据等贴近人们在日常生活中的手动输入的操作轨迹,另外还可以使用类似GAN的其他神经网络方法来生成相关轨迹。
可选地,在目标对象通过操作生成轨迹的过程中,采集轨迹包括的点的坐标数据,包括:在目标对象在采集器上操作生成轨迹的过程中,按照预设周期采集轨迹的坐标数据。
由于第一样本数据可以通过轨迹包括的点的坐标数据表示,为了使表示的轨迹平滑,可以按照预设周期,例如5ms采集一次轨迹的点的坐标数据。预设周期越短,采集的点数越多,轨迹越接近真实人工操作轨迹,当然,计算涉及的数据量越多。
可选地,在上述步骤S304基于轨迹生成模型,生成与第一轨迹数据相关联的第二轨迹数据之后,上述方法还包括:
步骤S3061,获取人机校验***生成的校验对象。
一种可选方案中,上述校验对象可以为人机校验***生成的防止第三方自由获取其信息的验证码。
步骤S3062,根据校验对象对第二轨迹数据进行拟合,得到与校验对象相对应的仿真轨迹。
上述步骤中,在得到大量仿真的第二轨迹数据后,基于校验对象,从第二轨迹数据中找到与校验对象最匹配的一条数据进行拟合调整,得到仿真轨迹。
步骤S3063,将仿真轨迹输入至人机校验***,其中,人机校验***用于对输入的轨迹数据是否为机器生成的轨迹数据进行校验。
在一个可选的实施例中,网络爬虫需要爬取网站A的数据,网站A首先会生成一个校验码,网络爬虫根据校验码通过***底层接口操作鼠标,在人机校验***的页面输入仿真轨迹,由于该仿真轨迹的仿真程度很高,容易通过人机校验测试,因此网络爬虫达到了采集网站A的信息数据的目的。
可选地,上述步骤S3062根据校验对象对第二轨迹数据进行拟合,得到与校验对象相对应的仿真轨迹,包括:
步骤S30621,获取校验对象所对应的目标轨迹。
步骤S30622,根据目标轨迹和第二轨迹确定收放系数。
步骤S30623,根据收放系数调整第二轨迹数据,得到仿真轨迹。
实际操作中,目标轨迹和第二轨迹并非完全重合,或多或少存在差距,此时,可以根据目标轨迹和第二轨迹的差距来调整第二轨迹数据,以使得到的仿真轨迹更加匹配校验对象所对应的目标轨迹。
可选地,上述步骤S30622根据目标轨迹和第二轨迹确定收放系数,包括:
步骤S306221,确定目标轨迹的第一长度信息。
步骤S306222,获取第二轨迹的第二长度信息。
步骤S306223,确定第一长度信息与第二长度信息的比值为收放系数。
上述方案中,根据目标轨迹和第二轨迹的长度比值确定收放系数,当目标轨迹和第二轨迹的长度比值大于1时,将第二轨迹放大至收放系数倍,当目标轨迹和第二轨迹的长度比值小于1时,将第二轨迹缩小至收放系数倍。
图7示出了根据本申请实施例1的一种利用仿真鼠标轨迹爬取网站信息的结构示意图,如图7所示,首先将用户通过鼠标在桌面端采集器和移动端采集器上真实移动滑块的轨迹输入至机器模型中,该模型基于生成对抗神经网络可以输出大量的与真实的人工轨迹相似度很高的仿真轨迹数据,利用这些轨迹数据,用户可以很容易通过人机校验测试,进而获取不同网站的信息。
通过上述方案,首先获取目标对象生成的第一轨迹数据,然后基于轨迹生成模型,生成与所述第一轨迹数据相关联的第二轨迹数据,其中,所述轨迹生成模型包括生成对抗神经网络模型,所述生成对抗神经网络模型根据样本轨迹数据训练得到。与现有技术相比,本申请提供了一种通用的解决方法,基于生成对抗神经网络,结合自行人工录入的鼠标轨迹,通过生成器和判决器之间的博弈作用,从随机因子进行初始化,生成大量的、重复率极低的、与人工录入的较为相似的仿真鼠标轨迹,以通过区分机器行为和真人行为的人机校验测试,达到采集信息的目的,进而解决了相关技术中生成的鼠标轨迹无法通过滑块人机校验测试,导致难以进行信息采集的技术问题,在实际工作中有很大的应用价值。
需要说明的是,上述方法使用了开源软件Python、Keras、PyAutoGUI等,不涉及代码的修改,具有普适性。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
实施例2
根据本发明实施例,还提供了一种数据处理方法,如图8所示,该方法包括以下步骤:
步骤S802,显示人机校验页面,其中,人机校验页面由人机校验***生成,人机校验***用于对输入的轨迹数据是否为机器生成的轨迹数据进行校验。
一种可选方案中,上述人机校验页面为人机校验测试***的页面,由人机校验***生成。只有非机器生成的轨迹数据才可以通过人机校验测试。
所谓人机校验测试,即全自动区分计算机和人类的图灵测试(CAPTCHA,Completely Automated Public Truing Test to Tell Computers and Humans Apart)的简称,CAPTCHA的目的是区分计算机和人类的一种程序算法,是一种区分用户是计算机和人的计算机程序,这种程序必须能生成并评价人类能很容易通过但计算机却不能通过的测试。
步骤S804,接收第二轨迹数据,其中,第二轨迹数据是生成对抗神经网络模型根据目标对象生成的第一轨迹数据生成的。
一种可选方案中,上述生成对抗神经网络模型可以使用其他类似的机器学习模型替代。
生成对抗网络(GAN,Generative Adversarial Networks)属于一种深度学习模型,是近年来复杂分布上无监督学习最具前景的方法之一。模型通过框架中(至少)两个模块,即生成器和对抗器的互相博弈学习产生相当好的输出。实际应用中一般使用神经网络来训练生成器和对抗器。而训练对抗神经网络模型的样本轨迹数据可以为真实的人工操作鼠标产生的轨迹数据。
一种可选方案中,上述第一轨迹数据可以为目标对象(即用户)实际进行滑动操作时所产生的轨迹数据,例如,可以是目标对象通过手指在触控设备上进行滑动操作所生成的轨迹数据,也可以是目标对象通过操作鼠标在网页或者移动APP上进行滑动所生成的轨迹数据。
在一种可选的实施例中,可以设置具备触控功能的采集器,用户通过手指在采集器上滑动,从而生成上述第一轨迹数据。
一种可选方案中,上述第二轨迹数据可以为基于第一轨迹数据生成的与真实的人工轨迹相似度很高的轨迹数据,用来通过人机校验测试。
需要说明的是,上述第一轨迹数据可以为一条,也可以为多条,第一轨迹数据越多,后续生成的可以通过人机校验测试的鼠标轨迹越多。
步骤S806,对第二轨迹数据进行人机校验。
上述步骤中,人机校验***用于对输入的轨迹数据是否为机器生成的轨迹数据进行校验。由于生成对抗神经网络模型生成的轨迹数据具有与真实的人工操作鼠标所产生的轨迹非常高的相似度,所以能够通过人机校验测试。
可选地,接收第二轨迹数据,包括:显示采集器生成的轨迹采集界面,其中,目标对象通过在轨迹采集界面操作,生成第一轨迹数据;基于生成对抗神经网络模型,生成与第一轨迹数据相关联的第二轨迹数据,其中,生成对抗神经网络模型根据目标对象生成的样本数据训练得到。
可选地,上述方法还包括:生成生成对抗神经网络模型,其中,生成生成对抗神经网络模型的步骤包括:获取样本轨迹数据;基于样本轨迹数据对初始生成对抗神经网络模型进行训练,得到网络参数和模型拓扑信息,其中,网络参数和模型拓扑信息用于构建生成对抗神经网络模型。
在使用生成对抗神经网络模型之前,需要事先生成生成对抗神经网络模型。由于轨迹生成模型属于机器学习的一种,因此,生成轨迹生成模型的第一步为获取样本轨迹数据,来训练初始轨迹生成模型。
一种可选方案中,上述样本轨迹数据可以为大量的人工滑动鼠标产生的轨迹数据。
一种可选方案中,上述模型拓扑信息可以为神经网络模型层次结构和层次数,例如生成器模型的全连接层数、卷积层数、池化层数以及相互之间的输入输出关系等;上述网络参数可以为模型拓扑中各层的参数值。
在获取到样本轨迹数据之后,对初始生成对抗神经网络模型进行训练,经过多轮训练之后,得到构建生成对抗神经网络模型的网络参数和模型拓扑信息。
一种可选方案中,可以使用伪代码录入样本轨迹数据,在录入样本轨迹数据时,按照预定周期检测轨迹点的坐标,采集轨迹点坐标的方式可以是,每采集一个轨迹点坐标,都通过该轨迹点坐标来确定该轨迹生成的方向(可以对比坐标点的x值来确定轨迹生成的方向,如果当前时刻的轨迹点坐标的x值小于上一时刻的轨迹点坐标的x值,则确定当前轨迹是由右向左生成的;如果当前时刻的轨迹点坐标的x值大于上一时刻的轨迹点坐标的x值,则确定当前轨迹是由左向右生成的)。如果该轨迹是由左向右生成的,则继续采集;如果该轨迹是由右向左生成的,则停止采集。
在采集轨迹信息后,将轨迹点坐标序列进行保存。在保存过程中,还可以将每个轨迹的第一个轨迹点坐标作为原点坐标,并将其他点的坐标基于第一个轨迹点坐标进行换算后,再进行保存。
可选地,获取样本轨迹数据,包括:获取第一数量的第一样本数据;对第一样本数据进行归一化处理和数据填充处理,得到浮点数对序列,其中,浮点数对序列包括取值在预设范围内的坐标参数;通过向浮点数对序列中***平滑的浮点数对,得到第二数量的第二样本数据,其中,第二数量大于所述第一数量;确定第二样本数据为样本轨迹数据。
一种可选方案中,上述第一样本数据可以为人工滑动鼠标产生的轨迹数据。第一数量的数目越多,对抗神经网络模型越复杂,输出结果越精确。
一种可选方案中,上述预设范围可以为(0,1)区间。
当获取到一定数量的第一样本数据后,首先对第一样本数据进行归一化处理和数据填充处理,以降低输入的稀疏性,生成大量的、长度固定的、取值范围在(0,1)之间的浮点数对的序列。
一种可选的方案中,平滑的浮点数对用于表示,该浮点数对的数值处于被其***的两个浮点数对的数值之间,从而保证生成的第二样本数据的准确性。
上述步骤中,在得到浮点数对序列之后,需要对其进行数据增强处理。向浮点数对序列随机***平滑的浮点数对,以在序列之间产生平滑的没有凹凸点的第二样本数据,第二样本数据即最终的样本轨迹数据,所以第二样本数据的数量大于第一样本数据的数量。
可选地,获取第一数量的第一样本数据,包括:在目标对象通过操作生成轨迹的过程中,采集轨迹包括的点的坐标数据;确定轨迹的坐标数据为第一样本数据。
一种可选方案中,可以通过坐标数据来表示轨迹。
当采样到轨迹所包括的点的坐标数据后,可以通过坐标数据来表示第一样本数据。
可选地,上述生成对抗神经网络模型包括:生成器和判决器,基于样本轨迹数据对初始生成对抗神经网络模型进行训练,得到网络参数和模型拓扑信息,包括:基于样本轨迹数据对生成器和判决器进行训练,得到生成器和判决器的网络参数和模型拓扑信息。
如前所述,生成对抗神经网络模型通过框架中至少两个模块,即生成器和对抗器的互相博弈学习产生相当好的输出。简单来说,生成器是给定某种隐含信息,来随机产生观测数据;判决器需要输入变量,通过某种模型来预测;例如,给定一张图,判决器可以用来判断这张图里的动物是猫还是狗;对于一串数据,生成器可以用来生成一个新的数据,新的数据不在之前的一串数据里。在本申请的训练过程中,可以首先通过生成器根据样本轨迹生成仿真轨迹,并由判决器来判断生成器生成的仿真轨迹的仿真程度,从而将生成器和判决器组合进行训练。
可选地,样本轨迹数据包括:直线轨迹数据、圆形轨迹数据、椭圆轨迹以及随机轨迹。
一种可选方案中,上述样本轨迹数据不仅可以为直线轨迹数据,还可以为圆形轨迹数据、椭圆轨迹数据以及随机轨迹数据等贴近人们在日常生活中的手动输入的操作轨迹。
可选地,在目标对象通过操作生成轨迹的过程中,采集轨迹包括的点的坐标数据,包括:在目标对象在采集器上操作生成轨迹的过程中,按照预设周期采集轨迹的坐标数据。
由于第一样本数据可以通过轨迹包括的点的坐标数据表示,为了使表示的轨迹平滑,可以按照预设周期,例如5ms采集一次轨迹的点的坐标数据。预设周期越短,采集的点数越多,轨迹越接近真实人工操作轨迹,当然,计算涉及的数据量越多。
可选地,基于生成对抗神经网络模型,生成与第一轨迹数据相关联的第二轨迹数据之后,上述方法还包括:获取人机校验***生成的校验对象;根据校验对象对第二轨迹数据进行拟合,得到与校验对象相对应的仿真轨迹;将仿真轨迹输入至人机校验***,其中,人机校验***用于对输入的轨迹数据是否为机器生成的轨迹数据进行校验。
一种可选方案中,上述校验对象可以为人机校验***生成的防止第三方自由获取其信息的验证码。
上述步骤中,在得到大量仿真的第二轨迹数据后,基于校验对象,从第二轨迹数据中找到与校验对象最匹配的一条数据进行拟合调整,得到仿真轨迹。
可选地,根据校验对象对第二轨迹数据进行拟合,得到与校验对象相对应的仿真轨迹,包括:获取校验对象所对应的目标轨迹;根据目标轨迹和第二轨迹确定收放系数;根据收放系数调整第二轨迹数据,得到仿真轨迹。
实际操作中,目标轨迹和第二轨迹并非完全重合,或多或少存在差距,此时,可以根据目标轨迹和第二轨迹的差距来调整第二轨迹数据,以使得到的仿真轨迹更加匹配校验对象所对应的目标轨迹。
可选地,根据目标轨迹和第二轨迹确定收放系数,包括:确定目标轨迹的第一长度信息;获取第二轨迹的第二长度信息;确定第一长度信息与第二长度信息的比值为收放系数。
上述方案中,人机校验测试***首先显示人机校验页面,其中,人机校验页面由人机校验***生成,人机校验***用于对输入的轨迹数据是否为机器生成的轨迹数据进行校验;然后接收第二轨迹数据,其中,第二轨迹数据是生成对抗神经网络模型根据目标对象生成的第一轨迹数据生成的;最后对第二轨迹数据进行人机校验。与现有技术相比,本申请提供的生成对抗神经网络,可以结合自行人工录入的鼠标轨迹,通过生成器和判决器之间的博弈作用,从随机因子进行初始化,生成大量的、重复率极低的、与人工录入的较为相似的仿真鼠标轨迹,以通过区分机器行为和真人行为的人机校验测试,达到采集信息的目的,进而解决了相关技术中生成的鼠标轨迹无法通过滑块人机校验测试,导致难以进行信息采集的技术问题,在实际工作中有很大的应用价值。
需要说明的是,本实施例的可选或优选实施方式可以参见实施例1中的相关描述,但不仅限于实施例1所公开的内容,在此不在赘述。
实施例3
根据本申请实施例,还提供了一种数据处理的方法,如图9所示,该方法可以包括如下步骤:
步骤S902,在爬取目标网站的网站信息的过程中,检测到目标网站生成的人机校验请求,其中,人机校验请求用于请求验证轨迹,并判断验证轨迹数据是否由机器产生。
具体的,目标网站可以是爬虫需要爬取的网站。结合图7进行说明,在一种可选的实施例中,目标网站可以是网站A、网站B和网站C中的任意一个。以网站A为例,网站A为其安全考虑,设置了人机校验测试。因此当爬虫在爬取网站A的信息时,会接收到网站A发送的人机校验请求,只有通过该人机校验请求,爬虫才能继续爬取网站A的信息。
步骤S904,根据人机校验请求,获取验证轨迹数据。
仍在图7的示例中,爬虫为了通过网站A的人机校验测试,需要获取验证轨迹数据。获取验证轨迹数据,可以是向仿真轨迹生成终端请求验证轨迹数据。仿真轨迹生成终端同于通过轨迹生成模型生成验证估计数据,仿真轨迹生成终端中的验证轨迹数据可以是预先生成的,也可以是实时生成的。
步骤S906,将验证轨迹数据输入至目标网站。
步骤S908,确定验证轨迹数据通过人机校验,继续爬取目标网站的网站信息。
爬虫将获取的验证轨迹数据输入至目标网站,从而通过目标网站的人机校验,进而允许对目标网站的信息进行采集。
可选地,验证轨迹数据是生成对抗神经网络模型根据目标对象生成的第一轨迹数据生成的,生成对抗神经网络模型根据样本轨迹数据训练得到。
可选地,上述方法还包括:生成生成对抗神经网络模型,其中,生成生成对抗神经网络模型的步骤包括:获取样本轨迹数据;基于样本轨迹数据对初始生成对抗神经网络模型进行训练,得到网络参数和模型拓扑信息,其中,网络参数和模型拓扑信息用于构建生成对抗神经网络模型。
可选地,获取样本轨迹数据,包括:获取第一数量的第一样本数据;对第一样本数据进行归一化处理和数据填充处理,得到浮点数对序列,其中,浮点数对序列包括取值在预设范围内的坐标参数;通过向浮点数对序列中***平滑的浮点数对,得到第二数量的第二样本数据,其中,第二数量大于所述第一数量;确定第二样本数据为样本轨迹数据。
可选地,获取第一数量的第一样本数据,包括:在目标对象通过操作生成轨迹的过程中,采集轨迹包括的点的坐标数据;确定轨迹的坐标数据为第一样本数据。
可选地,上述生成对抗神经网络模型包括:生成器和判决器,基于样本轨迹数据对初始生成对抗神经网络模型进行训练,得到网络参数和模型拓扑信息,包括:基于样本轨迹数据对生成器和判决器进行训练,得到生成器和判决器的网络参数和模型拓扑信息。
可选地,样本轨迹数据包括:直线轨迹数据、圆形轨迹数据、椭圆轨迹以及随机轨迹。
可选地,在目标对象通过操作生成轨迹的过程中,采集轨迹包括的点的坐标数据,包括:在目标对象在采集器上操作生成轨迹的过程中,按照预设周期采集轨迹的坐标数据。
可选地,根据人机校验请求,获取验证轨迹数据,包括:获取目标网站生成的校验对象;根据校验对象对第二轨迹数据进行拟合,得到与校验对象相对应的验证轨迹数据。
可选地,根据校验对象对第二轨迹数据进行拟合,得到与校验对象相对应的验证轨迹数据,包括:获取校验对象所对应的目标轨迹;根据目标轨迹和第二轨迹确定收放系数;根据收放系数调整第二轨迹数据,得到仿真轨迹。
可选地,根据目标轨迹和第二轨迹确定收放系数,包括:确定目标轨迹的第一长度信息;获取第二轨迹的第二长度信息;确定第一长度信息与第二长度信息的比值为收放系数。
需要说明的是,本实施例的可选或优选实施方式可以参见实施例1中的相关描述,但不仅限于实施例1所公开的内容,在此不在赘述。
实施例4
根据本申请实施例,还提供了一种鼠标轨迹生成的装置,如图10所示,该装置1000包括:获取模块1002和生成模块1004。
其中,获取模块1002,用于获取目标对象生成的第一轨迹数据。
生成模块1004,用于基于轨迹生成模型,生成与所述第一轨迹数据相关联的第二轨迹数据,其中,所述轨迹生成模型包括生成对抗神经网络模型,所述生成对抗神经网络模型根据样本轨迹数据训练得到。
此处需要说明的是,上述获取模块1002和生成模块1004对应于实施例1中的步骤S302至步骤S304,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。
可选地,上述装置还包括:模型生成模块,其中,模型生成模块包括:样本获取模块,用于获取样本轨迹数据;训练模块,用于基于样本轨迹数据对初始生成对抗神经网络模型进行训练,得到网络参数和模型拓扑信息,其中,网络参数和模型拓扑信息用于构建生成对抗神经网络模型。
可选地,上述样本获取模块包括样本获取子模块,用于获取第一数量的第一样本数据;处理模块,用于对第一样本数据进行归一化处理和数据填充处理,得到浮点数对序列,其中,浮点数对序列包括取值在预设范围内的坐标参数;***模块,用于通过向浮点数对序列中***平滑的浮点数对,得到第二数量的第二样本数据,其中,第二数量大于所述第一数量;确定模块,用于确定第二样本数据为样本轨迹数据。
可选地,上述样本获取子模块包括:采集模块,用于在目标对象通过操作生成轨迹的过程中,采集轨迹包括的点的坐标数据;轨迹确定模块,用于确定轨迹的坐标数据为第一样本数据。
可选地,上述生成对抗神经网络模型包括:生成器和判决器,上述训练模块包括训练子模块,用于基于样本轨迹数据对生成器和判决器进行训练,得到生成器和判决器的网络参数和模型拓扑信息。
可选地,样本轨迹数据包括:直线轨迹数据、圆形轨迹数据、椭圆轨迹以及随机轨迹。
可选地,采集模块包括采集子模块,用于在目标对象在采集器上操作生成轨迹的过程中,按照预设周期采集轨迹的坐标数据。
可选地,上述装置还包括:校验对象获取模块,用于在基于轨迹生成模型,生成与第一轨迹数据相关联的第二轨迹数据之后,获取人机校验***生成的校验对象;拟合模块,用于根据校验对象对第二轨迹数据进行拟合,得到与校验对象相对应的仿真轨迹;输入模块,用于将仿真轨迹输入至人机校验***,其中,人机校验***用于对输入的轨迹数据是否为机器生成的轨迹数据进行校验。
可选地,上述拟合模块包括:目标轨迹获取模块,用于获取校验对象所对应的目标轨迹;收放系数确定模块,用于根据目标轨迹和第二轨迹确定收放系数;得到模块,用于根据收放系数调整第二轨迹数据,得到仿真轨迹。
可选地,上述收放系数确定模块包括:第一确定模块,用于确定目标轨迹的第一长度信息;第二确定模块,用于获取第二轨迹的第二长度信息;第三确定模块,用于确定第一长度信息与第二长度信息的比值为收放系数。
此处需要说明的是,上述获取模块1002和生成模块1004对应于实施例1中的步骤S302至步骤S304,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。
实施例5
根据本申请实施例,还提供了一种数据处理的装置,如图11所示,该装置1100包括:显示模块1102、接收模块1104和校验模块1106。
其中,显示模块1102,用于显示人机校验页面,其中,人机校验页面由人机校验***生成,人机校验***用于对输入的轨迹数据是否为机器生成的轨迹数据进行校验;接收模块1104,用于接收第二轨迹数据,其中,第二轨迹数据是生成对抗神经网络模型根据目标对象生成的第一轨迹数据生成的;校验模块1106,用于对第二轨迹数据进行人机校验。
此处需要说明的是,上述显示模块1102、接收模块1104和校验模块1106对应于实施例2中的步骤S802至步骤S804,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。
可选地,上述装置还包括:模型生成模块,其中,模型生成模块包括:样本获取模块,用于获取样本轨迹数据;训练模块,用于基于样本轨迹数据对初始生成对抗神经网络模型进行训练,得到网络参数和模型拓扑信息,其中,网络参数和模型拓扑信息用于构建生成对抗神经网络模型。
可选地,上述样本获取模块包括样本获取子模块,用于获取第一数量的第一样本数据;处理模块,用于对第一样本数据进行归一化处理和数据填充处理,得到浮点数对序列,其中,浮点数对序列包括取值在预设范围内的坐标参数;***模块,用于通过向浮点数对序列中***平滑的浮点数对,得到第二数量的第二样本数据,其中,第二数量大于所述第一数量;确定模块,用于确定第二样本数据为样本轨迹数据。
可选地,上述样本获取子模块包括:采集模块,用于在目标对象通过操作生成轨迹的过程中,采集轨迹包括的点的坐标数据;轨迹确定模块,用于确定轨迹的坐标数据为第一样本数据。
可选地,上述生成对抗神经网络模型包括:生成器和判决器,上述训练模块包括训练子模块,用于基于样本轨迹数据对生成器和判决器进行训练,得到生成器和判决器的网络参数和模型拓扑信息。
可选地,样本轨迹数据包括:直线轨迹数据、圆形轨迹数据、椭圆轨迹以及随机轨迹。
可选地,采集模块包括采集子模块,用于在目标对象在采集器上操作生成轨迹的过程中,按照预设周期采集轨迹的坐标数据。
可选地,上述装置还包括:校验对象获取模块,用于在基于生成对抗神经网络模型,生成与第一轨迹数据相关联的第二轨迹数据之后,获取人机校验***生成的校验对象;拟合模块,用于根据校验对象对第二轨迹数据进行拟合,得到与校验对象相对应的仿真轨迹;输入模块,用于将仿真轨迹输入至人机校验***,其中,人机校验***用于对输入的轨迹数据是否为机器生成的轨迹数据进行校验。
可选地,上述拟合模块包括:目标轨迹获取模块,用于获取校验对象所对应的目标轨迹;收放系数确定模块,用于根据目标轨迹和第二轨迹确定收放系数;得到模块,用于根据收放系数调整第二轨迹数据,得到仿真轨迹。
可选地,上述收放系数确定模块包括:第一确定模块,用于确定目标轨迹的第一长度信息;第二确定模块,用于获取第二轨迹的第二长度信息;第三确定模块,用于确定第一长度信息与第二长度信息的比值为收放系数。
此处需要说明的是,上述显示模块1102、接收模块1104和校验模块1106对应于实施例2中的步骤S802至步骤S806,三个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例2所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。
实施例6
根据本申请实施例,还提供了一种数据处理的装置,如图12所示,该装置1200包括:检测模块1202、获取模块1204、输入模块1206和爬取模块1208。
其中,检测模块1202用于在爬取目标网站的网站信息的过程中,检测到目标网站生成的人机校验请求,其中,人机校验请求用于请求验证轨迹,并判断验证轨迹数据是否由机器产生;获取模块1204,用于根据人机校验请求,获取验证轨迹数据;输入模块1206,用于将验证轨迹数据输入至目标网站;爬取模块1208,用于确定验证轨迹数据通过人机校验,继续爬取目标网站的网站信息。
此处需要说明的是,上述检测模块1202、获取模块1204、输入模块1206和爬取模块1208对应于实施例3中的步骤S902至步骤S808,四个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。
可选地,验证轨迹数据是生成对抗神经网络模型根据目标对象生成的第一轨迹数据生成的,生成对抗神经网络模型根据样本轨迹数据训练得到。
可选地,上述装置还包括:模型生成模块,其中,模型生成模块包括:样本获取模块,用于获取样本轨迹数据;训练模块,用于基于样本轨迹数据对初始生成对抗神经网络模型进行训练,得到网络参数和模型拓扑信息,其中,网络参数和模型拓扑信息用于构建生成对抗神经网络模型。
可选地,上述样本获取模块包括样本获取子模块,用于获取第一数量的第一样本数据;处理模块,用于对第一样本数据进行归一化处理和数据填充处理,得到浮点数对序列,其中,浮点数对序列包括取值在预设范围内的坐标参数;***模块,用于通过向浮点数对序列中***平滑的浮点数对,得到第二数量的第二样本数据,其中,第二数量大于所述第一数量;确定模块,用于确定第二样本数据为样本轨迹数据。
可选地,上述样本获取子模块包括:采集模块,用于在目标对象通过操作生成轨迹的过程中,采集轨迹包括的点的坐标数据;轨迹确定模块,用于确定轨迹的坐标数据为第一样本数据。
可选地,上述生成对抗神经网络模型包括:生成器和判决器,上述训练模块包括训练子模块,用于基于样本轨迹数据对生成器和判决器进行训练,得到生成器和判决器的网络参数和模型拓扑信息。
可选地,样本轨迹数据包括:直线轨迹数据、圆形轨迹数据、椭圆轨迹以及随机轨迹。
可选地,采集模块包括采集子模块,用于在目标对象在采集器上操作生成轨迹的过程中,按照预设周期采集轨迹的坐标数据。
可选地,上述获取模块包括:校验对象获取模块,用于获取目标网站生成的校验对象;拟合模块,用于根据校验对象对第二轨迹数据进行拟合,得到与校验对象相对应的仿真轨迹。
可选地,上述拟合模块包括:目标轨迹获取模块,用于获取校验对象所对应的目标轨迹;收放系数确定模块,用于根据目标轨迹和第二轨迹确定收放系数;得到模块,用于根据收放系数调整第二轨迹数据,得到仿真轨迹。
可选地,上述收放系数确定模块包括:第一确定模块,用于确定目标轨迹的第一长度信息;第二确定模块,用于获取第二轨迹的第二长度信息;第三确定模块,用于确定第一长度信息与第二长度信息的比值为收放系数。
此处需要说明的是,上述获取模块1202和生成模块1208对应于实施例3中的步骤S902至步骤S908,四个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例3所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。
实施例7
本申请的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
在本实施例中,上述计算机终端可以执行应用程序的鼠标轨迹生成的方法中以下步骤的程序代码:获取目标对象生成的第一轨迹数据;基于轨迹生成模型,生成与所述第一轨迹数据相关联的第二轨迹数据,其中,所述轨迹生成模型包括生成对抗神经网络模型,所述生成对抗神经网络模型根据样本轨迹数据训练得到。
可选地,图13是根据本申请实施例7的一种计算机终端的结构框图。如图13所示,该计算机终端A可以包括:一个或多个(图中仅示出一个)处理器以及存储器102。
其中,存储器可用于存储软件程序以及模块,如本申请实施例中的鼠标轨迹生成的方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的鼠标轨迹生成的方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至终端A。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:获取目标对象生成的第一轨迹数据;基于轨迹生成模型,生成与所述第一轨迹数据相关联的第二轨迹数据,其中,所述轨迹生成模型包括生成对抗神经网络模型,所述生成对抗神经网络模型根据样本轨迹数据训练得到。
可选地,上述处理器还可以执行如下步骤的程序代码:生成轨迹生成模型,其中,生成轨迹生成模型的步骤包括:获取样本轨迹数据;基于样本轨迹数据对初始生成对抗神经网络模型进行训练,得到网络参数和模型拓扑信息,其中,网络参数和模型拓扑信息用于构建生成对抗神经网络模型。
可选地,上述处理器还可以执行如下步骤的程序代码:获取样本轨迹数据,包括获取第一数量的第一样本数据;对第一样本数据进行归一化处理和数据填充处理,得到浮点数对序列,其中,浮点数对序列包括取值在预设范围内的坐标参数;通过向浮点数对序列中***平滑的浮点数对,得到第二数量的第二样本数据,其中,第二数量大于所述第一数量;确定第二样本数据为样本轨迹数据。
可选地,上述处理器还可以执行如下步骤的程序代码:获取第一数量的第一样本数据,包括在目标对象通过操作生成轨迹的过程中,采集轨迹包括的点的坐标数据;确定轨迹的坐标数据为第一样本数据。
可选地,上述处理器还可以执行如下步骤的程序代码:生成对抗神经网络模型包括:生成器和判决器,上述步骤S3012基于样本轨迹数据对初始生成对抗神经网络模型进行训练,得到网络参数和模型拓扑信息,包括:基于样本轨迹数据对生成器和判决器进行训练,得到生成器和判决器的网络参数和模型拓扑信息。
可选地,上述处理器还可以执行如下步骤的程序代码:样本轨迹数据包括:直线轨迹数据、圆形轨迹数据、椭圆轨迹以及随机轨迹。
可选地,上述处理器还可以执行如下步骤的程序代码:在目标对象通过操作生成轨迹的过程中,采集轨迹包括的点的坐标数据,包括:在目标对象在采集器上操作生成轨迹的过程中,按照预设周期采集轨迹的坐标数据。
可选地,上述处理器还可以执行如下步骤的程序代码:在基于轨迹生成模型,生成与第一轨迹数据相关联的第二轨迹数据之后;获取人机校验***生成的校验对象;根据校验对象对第二轨迹数据进行拟合,得到与校验对象相对应的仿真轨迹;将仿真轨迹输入至人机校验***,其中,人机校验***用于对输入的轨迹数据是否为机器生成的轨迹数据进行校验。
可选地,上述处理器还可以执行如下步骤的程序代码:根据校验对象对第二轨迹数据进行拟合,得到与校验对象相对应的仿真轨迹,包括:获取校验对象所对应的目标轨迹;根据目标轨迹和第二轨迹确定收放系数;根据收放系数调整第二轨迹数据,得到仿真轨迹。
可选地,上述处理器还可以执行如下步骤的程序代码:根据目标轨迹和第二轨迹确定收放系数,包括:确定目标轨迹的第一长度信息;获取第二轨迹的第二长度信息;确定第一长度信息与第二长度信息的比值为收放系数。
本领域普通技术人员可以理解,图13所示的结构仅为示意,计算机终端也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(MobileInternet Devices,MID)、PAD等终端设备。图13其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图13中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图13所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
实施例8
根据本申请实施例,还提供了一种鼠标轨迹生成的***,该***包括:
处理器;以及
存储器,与处理器连接,用于为处理器提供处理以下处理步骤的指令:获取目标对象生成的第一轨迹数据;基于轨迹生成模型,生成与所述第一轨迹数据相关联的第二轨迹数据,其中,所述轨迹生成模型包括生成对抗神经网络模型,所述生成对抗神经网络模型根据样本轨迹数据训练得到。
进一步地,存储器还用于为处理器提供处理实施例3中其他步骤的指令,此处不再赘述。
基于本申请上述实施例提供的方案,鼠标轨迹生成***首先获取目标对象生成的第一轨迹数据,然后基于轨迹生成模型,生成与所述第一轨迹数据相关联的第二轨迹数据,其中,所述轨迹生成模型包括生成对抗神经网络模型,所述生成对抗神经网络模型根据样本轨迹数据训练得到。与现有技术相比,本申请提供了一种通用的解决方法,基于生成对抗神经网络,结合自行人工录入的鼠标轨迹,通过生成器和判决器之间的博弈作用,从随机因子进行初始化,生成大量的、重复率极低的、与人工录入的较为相似的仿真鼠标轨迹,以通过区分机器行为和真人行为的人机校验测试,达到采集信息的目的,进而解决了相关技术中生成的鼠标轨迹无法通过滑块人机校验测试,导致难以进行信息采集的技术问题,在实际工作中有很大的应用价值。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
实施例9
根据本申请实施例,还提供了一种数据处理的方法,图14是根据本申请实施例的一种数据处理的方法的流程图,如图14所示,该方法可以包括如下步骤:
步骤S141,获取目标对象生成的第一轨迹数据。
一种可选方案中,上述第一轨迹数据可以为目标对象(即用户)实际进行滑动操作时所产生的轨迹数据,例如,可以是目标对象通过手指在触控设备上进行滑动操作所生成的轨迹数据,也可以是目标对象通过操作鼠标在网页或者移动APP上进行滑动所生成的轨迹数据。
在一种可选的实施例中,可以设置具备触控功能的采集器,用户通过手指在采集器上滑动,从而生成上述第一轨迹数据。
在另一种可选的实施例中,当目标用户登录手机QQ时,手机页面会显示一个滑块验证码,用户需要将滑块移动到验证码区域内有缺口的位置,以使验证码区域的画面完整。在此过程中,目标用户人工滑动鼠标到有缺口的位置所产生的鼠标轨迹即为第一轨迹数据。
需要说明的是,上述第一轨迹数据可以为一条,也可以为多条,第一轨迹数据越多,后续生成的可以通过人机校验测试的鼠标轨迹越多。
所谓人机校验测试,即全自动区分计算机和人类的图灵测试(CAPTCHA,Completely Automated Public Truing Test to Tell Computers and Humans Apart)的简称,CAPTCHA的目的是区分计算机和人类的一种程序算法,是一种区分用户是计算机和人的计算机程序,这种程序必须能生成并评价人类能很容易通过但计算机却不能通过的测试。
步骤S143,基于神经网络模型中的生成模型,生成与所述第一轨迹数据相关联的第二轨迹数据。
具体的,上述神经网络模型可以为生成对抗神经网络模型,上述生成模型可以为PixelCNN、PixelRNN、变分自编码器或其他类型的生成模型。
在一种可选的实施例中,还可以使用自编码器实现生成模型,自编码器包括编码器和解码器,编码器用于将input(输入图像)转换为code(编码信息),再由解码器将code转换成image(输出图像),然后计算出image与input之间的MSE(mean square error,均方差)。取出解码器部分,即可将解码器部分作为生成模型。在使用生成模型时,向生成模型输入随机因子,生成模型即可根据随机因子生成图像。
步骤S145,基于神经网络模型中的判别模型,对所述第二轨迹数据的真实性进行预测,输出所述第二轨迹参数对应的得分。
具体的,上述神经网络模型可以为生成对抗神经网络模型,上述判别模型通过对神经网络模型进行训练得到,用于判定第二轨迹数据为真的概率。
需要说明的是,上述生成模型和判别模型可以构成生成对抗神经网络模型来运行,也可以分别独立运行。在训练过程中,生成模型和判别模型也可以共同进行训练。
步骤S147,确定所述得分大于预设分数值,输出所述第二轨迹数据。
在上述方案中,如果第二轨迹参数的得分大于预设分数值,则确定第二轨迹数据的真实性较高,因此可以输出第二轨迹数据。
基于本申请上述实施例的方案,结合自行人工录入的鼠标轨迹,通过生成模型生成第二轨迹数据,并通过判别模型验证第二轨迹数据的真实性,从而输出真实性较高的第二轨迹数据,即仿真轨迹,以通过人机校验测试,达到采集信息的目的,进而解决了相关技术中生成的鼠标轨迹无法通过滑块人机校验测试,导致难以进行信息采集的技术问题。
作为一种可选的实施例,在基于神经网络模型中的判别模型,对所述第二轨迹数据的真实性进行预测,输出所述第二轨迹参数对应的得分之后,上述方法还包括:确定所述得分小于或等于所述预设分数值,将所述得分反馈至所述生成模型;根据所述得分调整所述生成模型的网络参数。
在上述方案中,在第二轨迹数据的得分小于或等于预设分数值的情况下,确定第二轨迹数据的真实性较低,因此将第二轨迹数据的得分反馈至生成模型,生成模型根据判别模型反馈的得分调整网络参数。
实施例10
根据本申请实施例,还提供了一种数据处理的装置,如图15所示,该装置1500包括:获取模块1502、生成模块1504、预测模块1506和确定模块1508。
获取模块1502,用于获取目标对象生成的第一轨迹数据。
生成模块1504,用于基于神经网络模型中的生成模型,生成与所述第一轨迹数据相关联的第二轨迹数据。
预测模块1506,用于基于神经网络模型中的判别模型,对所述第二轨迹数据的真实性进行预测,输出所述第二轨迹参数对应的得分。
确定模块1508,用于确定所述得分大于预设分数值,输出所述第二轨迹数据。
此处需要说明的是,上述获取模块1502、生成模块1504、预测模块1506和确定模块1508对应于实施例9中的步骤S141至步骤S147,四个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。
上述装置还包括:确定模块,用于在基于生成抗神经网络模型中的判别模型,对所述第二轨迹数据的真实性进行预测之后,确定所述得分小于或等于所述预设分数值,将所述得分反馈至所述生成模型;调整模块,用于根据所述得分调整所述生成模型的网络参数。
Claims (17)
1.一种鼠标轨迹生成的方法,其特征在于,包括:
获取目标对象生成的第一轨迹数据;
基于轨迹生成模型,生成与所述第一轨迹数据相关联的第二轨迹数据,其中,所述轨迹生成模型包括生成对抗神经网络模型,所述生成对抗神经网络模型根据样本轨迹数据训练得到;
其中,所述方法还包括:确定校验对象所对应的目标轨迹的第一长度信息;获取第二轨迹的第二长度信息;确定所述第一长度信息与所述第二长度信息的比值为收放系数;根据所述收放系数调整所述第二轨迹数据,得到仿真轨迹。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:生成所述轨迹生成模型,其中,生成所述轨迹生成模型的步骤包括:
获取所述样本轨迹数据;
基于所述样本轨迹数据对初始生成对抗神经网络模型进行训练,得到网络参数和模型拓扑信息,其中,所述网络参数和所述模型拓扑信息用于构建所述生成对抗神经网络模型。
3.根据权利要求2所述的方法,其特征在于,获取所述样本轨迹数据,包括:
获取第一数量的第一样本数据;
对所述第一样本数据进行归一化处理和数据填充处理,得到浮点数对序列,其中,所述浮点数对序列包括取值在预设范围内的坐标参数;
通过向所述浮点数对序列中***平滑的浮点数对,得到第二数量的第二样本数据,其中,所述第二数量大于所述第一数量;
确定所述第二样本数据为所述样本轨迹数据。
4.根据权利要求3所述的方法,其特征在于,获取第一数量的第一样本数据,包括:
在所述目标对象通过操作生成轨迹的过程中,采集所述轨迹包括的点的坐标数据;
确定所述轨迹的坐标数据为所述第一样本数据。
5.根据权利要求2所述的方法,其特征在于,所述生成对抗神经网络模型包括:生成器和判决器,基于所述样本轨迹数据对初始生成对抗神经网络模型进行训练,得到网络参数和模型拓扑信息,包括:
基于所述样本轨迹数据对所述生成器和所述判决器进行训练,得到所述生成器和所述判决器的网络参数和模型拓扑信息。
6.根据权利要求1所述的方法,其特征在于,所述样本轨迹数据包括:
直线轨迹数据、圆形轨迹数据、椭圆轨迹数据以及随机轨迹数据。
7.根据权利要求4所述的方法,其特征在于,在所述目标对象通过操作生成轨迹的过程中,采集所述轨迹包括的点的坐标数据,包括:
在所述目标对象在采集器上操作生成轨迹的过程中,按照预设周期采集所述轨迹的坐标数据。
8.根据权利要求1所述的方法,其特征在于,在基于轨迹生成模型,生成与所述第一轨迹数据相关联的第二轨迹数据之后,所述方法还包括:
获取人机校验***生成的所述校验对象;
将所述校验对象对应的所述仿真轨迹输入至人机校验***,其中,所述人机校验***用于对输入的轨迹数据是否为机器生成的轨迹数据进行校验。
9.一种数据处理方法,其特征在在于,包括:
显示人机校验页面,其中,所述人机校验页面由人机校验***生成,所述人机校验***用于对输入的轨迹数据是否为机器生成的轨迹数据进行校验;
接收第二轨迹数据,其中,所述第二轨迹数据是生成对抗神经网络模型根据目标对象生成的第一轨迹数据生成的;
对所述第二轨迹数据进行人机校验;
其中,所述方法还包括:确定校验对象所对应的目标轨迹的第一长度信息;获取第二轨迹的第二长度信息;确定所述第一长度信息与所述第二长度信息的比值为收放系数;根据所述收放系数调整所述第二轨迹数据,得到仿真轨迹。
10.根据权利要求9所述的方法,其特征在于,接收第二轨迹数据,包括:
显示采集器生成的轨迹采集界面,其中,所述目标对象通过在所述轨迹采集界面操作,生成所述第一轨迹数据;
基于生成对抗神经网络模型,生成与所述第一轨迹数据相关联的第二轨迹数据,其中,所述生成对抗神经网络模型根据所述目标对象生成的样本数据训练得到。
11.一种数据处理方法,其特征在于,包括:
在爬取目标网站的网站信息的过程中,检测到所述目标网站生成的人机校验请求,其中,所述人机校验请求用于请求验证轨迹,并判断验证轨迹数据是否由机器产生;
根据所述人机校验请求,获取验证轨迹数据;
将所述验证轨迹数据输入至所述目标网站;
确定所述验证轨迹数据通过人机校验,继续爬取所述目标网站的网站信息;
其中,所述方法还包括:确定校验对象所对应的目标轨迹的第一长度信息;获取第二轨迹的第二长度信息;确定所述第一长度信息与所述第二长度信息的比值为收放系数;根据所述收放系数调整第二轨迹数据,得到所述验证轨迹数据。
12.根据权利要求11所述的方法,其特征在于,包括:所述验证轨迹数据是生成对抗神经网络模型根据目标对象生成的第一轨迹数据生成的,所述生成对抗神经网络模型根据样本轨迹数据训练得到。
13.一种鼠标轨迹生成的装置,其特征在于,包括:
获取模块,用于获取目标对象生成的第一轨迹数据;
生成模块,用于基于轨迹生成模型,生成与所述第一轨迹数据相关联的第二轨迹数据,其中,所述轨迹生成模型包括生成对抗神经网络模型,所述生成对抗神经网络模型根据样本轨迹数据训练得到;
其中,所述装置还用于:确定校验对象所对应的目标轨迹的第一长度信息;获取第二轨迹的第二长度信息;确定所述第一长度信息与所述第二长度信息的比值为收放系数;根据所述收放系数调整所述第二轨迹数据,得到仿真轨迹。
14.一种数据处理装置,其特征在在于,包括:
显示模块,用于显示人机校验页面,其中,所述人机校验页面由人机校验***生成,所述人机校验***用于对输入的轨迹数据是否为机器生成的轨迹数据进行校验;
接收模块,接收第二轨迹数据,其中,所述第二轨迹数据是生成对抗神经网络模型根据目标对象生成的第一轨迹数据生成的;
校验模块,用于对所述第二轨迹数据进行人机校验;
其中,所述装置还用于:确定校验对象所对应的目标轨迹的第一长度信息;获取第二轨迹的第二长度信息;确定所述第一长度信息与所述第二长度信息的比值为收放系数;根据所述收放系数调整所述第二轨迹数据,得到仿真轨迹。
15.一种鼠标轨迹生成***,包括:
处理器;以及
存储器,与所述处理器连接,用于为所述处理器提供处理以下处理步骤的指令:
获取目标对象生成的第一轨迹数据;
基于轨迹生成模型,生成与所述第一轨迹数据相关联的第二轨迹数据,其中,所述轨迹生成模型包括生成对抗神经网络模型,所述生成对抗神经网络模型根据样本轨迹数据训练得到;
其中,所述存储器还用于为所述处理器提供处理以下处理步骤的指令:确定校验对象所对应的目标轨迹的第一长度信息;获取第二轨迹的第二长度信息;确定所述第一长度信息与所述第二长度信息的比值为收放系数;根据所述收放系数调整所述第二轨迹数据,得到仿真轨迹。
16.一种数据处理方法的方法,其特征在于,包括:
获取目标对象生成的第一轨迹数据;
基于神经网络模型中的生成模型,生成与所述第一轨迹数据相关联的第二轨迹数据;
基于所述神经网络模型中的判别模型,对所述第二轨迹数据的真实性进行预测,输出所述第二轨迹参数对应的得分;
确定所述得分大于预设分数值,输出所述第二轨迹数据;
其中,所述方法还包括:确定校验对象所对应的目标轨迹的第一长度信息;获取第二轨迹的第二长度信息;确定所述第一长度信息与所述第二长度信息的比值为收放系数;根据所述收放系数调整所述第二轨迹数据,得到仿真轨迹。
17.根据权利要求16所述的方法,其特征在于,包括:在基于神经网络模型中的判别模型,对所述第二轨迹数据的真实性进行预测,输出所述第二轨迹参数对应的得分之后,所述方法还包括:
确定所述得分小于或等于所述预设分数值,将所述得分反馈至所述生成模型;
根据所述得分调整所述生成模型的网络参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910272943.2A CN111782068B (zh) | 2019-04-04 | 2019-04-04 | 鼠标轨迹生成的方法、装置和***以及数据处理的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910272943.2A CN111782068B (zh) | 2019-04-04 | 2019-04-04 | 鼠标轨迹生成的方法、装置和***以及数据处理的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111782068A CN111782068A (zh) | 2020-10-16 |
CN111782068B true CN111782068B (zh) | 2024-07-09 |
Family
ID=72755259
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910272943.2A Active CN111782068B (zh) | 2019-04-04 | 2019-04-04 | 鼠标轨迹生成的方法、装置和***以及数据处理的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111782068B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112347405B (zh) * | 2020-11-06 | 2021-11-26 | 的卢技术有限公司 | 一种实现通用浏览器的控制方法和*** |
CN112487376A (zh) * | 2020-12-07 | 2021-03-12 | 北京明略昭辉科技有限公司 | 一种人机验证方法及装置 |
CN112905967A (zh) * | 2021-03-05 | 2021-06-04 | 杭州费尔斯通科技有限公司 | 一种滑块验证码的识别方法 |
CN115357130B (zh) * | 2022-08-18 | 2023-09-05 | 杭州分叉智能科技有限公司 | 一种基于rpa的模拟人为鼠标操作方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108345641A (zh) * | 2018-01-12 | 2018-07-31 | 深圳壹账通智能科技有限公司 | 一种爬取网站数据的方法、存储介质和服务器 |
CN108564129A (zh) * | 2018-04-24 | 2018-09-21 | 电子科技大学 | 一种基于生成对抗网络的轨迹数据分类方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6710743B2 (en) * | 2001-05-04 | 2004-03-23 | Lockheed Martin Corporation | System and method for central association and tracking in passive coherent location applications |
US7007251B2 (en) * | 2003-11-12 | 2006-02-28 | International Business Machines Corporation | Database mining system and method for coverage analysis of functional verification of integrated circuit designs |
US10902243B2 (en) * | 2016-10-25 | 2021-01-26 | Deep North, Inc. | Vision based target tracking that distinguishes facial feature targets |
CN110235148B (zh) * | 2016-11-03 | 2024-03-19 | 渊慧科技有限公司 | 训练动作选择神经网络 |
CN108416198B (zh) * | 2018-02-06 | 2022-02-01 | 平安科技(深圳)有限公司 | 人机识别模型的建立装置、方法及计算机可读存储介质 |
CN108427129A (zh) * | 2018-02-26 | 2018-08-21 | 浙江海洋大学 | 一种基于放射性纳米微球及gps导航的***品物流运行轨迹追踪*** |
CN108985041B (zh) * | 2018-05-17 | 2020-12-11 | 厦门二五八网络科技集团股份有限公司 | 一种基于滑动验证的验证码识别输入方法及*** |
CN109413023B (zh) * | 2018-08-24 | 2021-02-02 | 创新先进技术有限公司 | 机器识别模型的训练及机器识别方法、装置、电子设备 |
CN109059934A (zh) * | 2018-09-28 | 2018-12-21 | Oppo广东移动通信有限公司 | 路径规划方法、装置、终端及存储介质 |
-
2019
- 2019-04-04 CN CN201910272943.2A patent/CN111782068B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108345641A (zh) * | 2018-01-12 | 2018-07-31 | 深圳壹账通智能科技有限公司 | 一种爬取网站数据的方法、存储介质和服务器 |
CN108564129A (zh) * | 2018-04-24 | 2018-09-21 | 电子科技大学 | 一种基于生成对抗网络的轨迹数据分类方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111782068A (zh) | 2020-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111782068B (zh) | 鼠标轨迹生成的方法、装置和***以及数据处理的方法 | |
Brown et al. | Finding waldo: Learning about users from their interactions | |
CN111784348B (zh) | 账户风险识别方法及装置 | |
Acien et al. | BeCAPTCHA-Mouse: Synthetic mouse trajectories and improved bot detection | |
CN109076198A (zh) | 基于视频的对象跟踪遮挡检测***、过程和设备 | |
CN107682368B (zh) | 基于交互操作的验证方法、客户端、服务器及*** | |
US10387645B2 (en) | Method for recognizing if a user of an electronic terminal is a human or a robot | |
CN105303179A (zh) | 指纹识别方法、装置 | |
CN111639968B (zh) | 轨迹数据处理方法、装置、计算机设备以及存储介质 | |
CN108650226A (zh) | 一种登录验证方法、装置、终端设备及存储介质 | |
CN109960761A (zh) | 信息推荐方法、装置、设备及计算机可读存储介质 | |
Acien et al. | Active detection of age groups based on touch interaction | |
CN108804885B (zh) | 人机验证方法和装置、存储介质及处理器 | |
Mohamed et al. | Dynamic cognitive game CAPTCHA usability and detection of streaming-based farming | |
CN111295673A (zh) | 神经反应检测器 | |
CN109657539A (zh) | 人脸颜值评价方法、装置、可读存储介质及电子设备 | |
CN109086594A (zh) | 一种实现滑动型验证码验证的方法、装置及*** | |
CN110138800A (zh) | 界面交互及其验证方法、登陆请求生成及验证方法和装置 | |
CN109547426A (zh) | 业务响应方法及服务器 | |
CN106484614A (zh) | 一种核对图片处理效果的方法、装置及移动终端 | |
CN114548300B (zh) | 解释业务处理模型的业务处理结果的方法和装置 | |
CN112333165A (zh) | 身份认证方法、装置、设备及*** | |
CN111382403A (zh) | 用户行为识别模型的训练方法、装置、设备及存储介质 | |
CN109413004B (zh) | 验证方法、装置及设备 | |
CN111090849A (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 |