CN103678346A - 一种人机识别的方法和系统 - Google Patents
一种人机识别的方法和系统 Download PDFInfo
- Publication number
- CN103678346A CN103678346A CN201210330851.3A CN201210330851A CN103678346A CN 103678346 A CN103678346 A CN 103678346A CN 201210330851 A CN201210330851 A CN 201210330851A CN 103678346 A CN103678346 A CN 103678346A
- Authority
- CN
- China
- Prior art keywords
- population
- user behavior
- web page
- value
- user
- 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.)
- Pending
Links
Images
Classifications
-
- 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/316—User authentication by observing the pattern of computer usage, e.g. typical user behaviour
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Social Psychology (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供了一种人机识别的方法和系统,其中所述方法包括生成用户行为模型,所述用户行为模型包括正常用户行为概率值范围;接收WEB页面请求;依据所述WEB页面请求计算相应的用户行为概率值;判断所述用户行为概率值是否在所述正常用户行为概率值范围内,若是,则所述WEB页面请求为正常用户发起的请求;若否,则所述WEB页面请求为异常用户发起的请求,本申请建立一个准确的用户行为模型,以准确识别当前发起WEB请求的用户正常用户还是异常用户。
Description
技术领域
本申请涉及互联网安全的技术领域,特别是涉及一种人机识别的方法和一种人机识别的系统,以及,一种人机识别服务器。
背景技术
人机识别,是用于识别登录者是正常用户还是异常用户,区分计算机与人的完全自动化的公共图灵机测试。异常用户,即计算机或机器,可以通过不断地访问网站资源来消耗资源,或者利用WEB请求产生拒绝服务攻击。因此,通过识别发起WEB请求的是正常用户或异常用户来对大型网站进行防御攻击变得至关重要。
目前,一种识别正常用户或异常用户的方法是,利用从服务器日志中获取WEB请求数据源等数据通过采用隐半马尔科夫模型(HiddenSemi-Markov model,简称HsMM)建立WEB用户浏览行为模型来监测用户访问的正常性。
然而,由于客户端到服务器的请求网络中存在大量的代理服务器,以及受到客户端和各级别缓存的影响,很多用户的WEB请求并没有到达源服务器端,相应的源服务器端日志就没有对应的WEB请求记录,导致WEB请求序列记录信息的不完整,影响用户行为模型的准确建立;
并且,上述方法用户的状态驻留时间计算采用单个状态下用户请求到达的个数(每个用户请求到达时间按照一秒计算),导致用户在页面停留时间不准确,影响了用户行为模型的准确建立。
而用户行为模型的建立不准确导致了该模型不能很好的区分正常用户与异常用户。
因此,目前需要本领域技术人员迫切解决的一个技术问题就是:建立一个准确的用户行为模型,以准确识别当前发起WEB请求的用户正常用户还是异常用户。
发明内容
本申请的目的是提供一种人机识别的方法和系统,以及,一种人机识别服务器,用以建立一个准确的用户行为模型,从而准确识别当前发起WEB请求的用户正常用户还是异常用户。
为了解决上述问题,本申请公开了一种人机识别的方法,包括:
生成用户行为模型,所述用户行为模型包括正常用户行为概率值范围;
接收WEB页面请求;
依据所述WEB页面请求计算相应的用户行为概率值;
判断所述用户行为概率值是否在所述正常用户行为概率值范围内,若是,则所述WEB页面请求为正常用户发起的请求;若否,则所述WEB页面请求为异常用户发起的请求。
优选地,所述用户行为模型还包括异常用户行为概率值范围,
所述判定为异常用户发起的请求为在所述异常用户行为概率值范围内的用户行为概率值所对应的WEB页面请求。
优选地,所述生成用户行为模型的步骤包括:
采集WEB请求信息的原始数据,所述原始数据包括:用户浏览的多WEB页面的跳转关系;用户WEB页面请求对应的页面的停留时间;用户WEB页面请求的初始页面;和/或,客户端抓取的鼠标和键盘信息输出值;
根据所述原始数据获得WEB请求信息的样本数据,所述样本数据包括正常用户行为的样本数据;
依据所述样本数据进行模型训练,获得概率值范围,所述概率值范围包括正常用户行为概率值范围;
依据所述概率值范围生成用户行为模型。
优选地,所述根据样本数据的概率值范围生成用户行为模型的步骤包括:
将所述样本数据的正常用户行为概率值范围通过均值和方差计算得到正常用户的正态分布;
将所述正常用户的正态分布作为用户行为模型。
优选地,所述样本数据还包括异常用户行为的样本数据;所述概率值范围还包括异常用户行为概率值范围;
所述根据样本数据的概率值范围生成用户行为模型的步骤还包括:
将所述样本数据的异常用户行为概率值范围通过均值和方差计算得到异常用户的正态分布;
将所述异常用户的正态分布作为用户行为模型。
优选地,所述依据样本数据进行模型训练,获得概率值范围的步骤,进一步包括:
选取隐半马尔科夫模型,获得所述隐半马尔科夫模型的初始参数;
将所述样本数据分成N部分,计算每部分的隐半马尔科夫模型的初始参数,所述N为正整数;
根据所述每部分的隐半马尔科夫模型的初始参数,采用遗传算法计算得到最优的隐半马尔科夫模型的初始参数;
对所述最优的隐半马尔科夫模型的初始参数进行参数重估,得到重估的隐半马尔科夫模型的初始参数;
依据所述重估的隐半马尔科夫模型的初始参数计算样本数据的概率值范围。
优选地,所述隐半马尔科夫模型的初始参数为
λ=(π,A,B,pj(d)),其中,
状态初始概率值分布π={π1,π2,...,πN},用于描述观察值序列O在t=1时刻所处状态q 1属于模型中各状态的概率值分布,即πi=P(q1=si),∑πi=1,<0<i<n+1>;
隐含状态转移概率值矩阵A,描述了隐半马尔科夫模型中各个状态之间的转移概率值。其中Aij=P(Sj|Si),1≤i,,j≤N,表示在t时刻、状态为Si的条件下,在t+1时刻状态是Sj的概率值;
观察值概率值矩阵B=[bi(k)],bi(k)=P(ot=vk|qt=si)其中,0<i<n+1,0<k<m+1,表示观测序列Ot处于状态Si的概率值,它是随机变量或随机矢量在各状态的观察概率值空间中的分布;
状态持续时间密度函数pj(d),表示状态Sj持续d个时间单元的概率值;
所述根据所述每部分的隐半马尔科夫模型的初始参数,采用遗传算法计算得到最优的隐半马尔科夫模型的初始参数的步骤,进一步包括:
获取遗传算法种群个体,所述种群个体为每部分的隐半马尔科夫模型的初始参数,N个部分的隐半马尔科夫模型的初始参数组成一个父代种群;
对种群个体进行编码;
根据预设的种群个体适应度函数计算所述编码后的种群个体的适应度函数值;
按照预设的终止规则对所述种群个体适应度函数值进行种群迭代进化;
选取全局最优种群个体,所述全局最优种群个体为种群迭代过程中适应度函数值最大的种群个体。
优选地,所述按照预设的终止规则对所述种群个体适应度函数值进行种群迭代进化的步骤进一步包括:
(1)选择操作,所述选择操作为按照所述种群适应度函数值组成的集合计算选择概率值,根据选择概率值对种群进行优胜劣汰选择,生成第二代种群;
(2)交叉操作,所述交叉操作为在第二代种群中,按照预设的交叉概率值随机选择不同的两个种群个体参与交叉,生成两个新种群个体,进入第三代种群;
(3)变异操作,所述变异操作为在第三代种群中按照预设的变异概率值随机选择两个基因进行变异操作,生成第四代种群;
(4)根据种群个体适应度函数计算第四代种群个体的适应度函数值;
(5)循环执行步骤(1)(2)(3)(4)的操作,直到种群迭代进化代数达到终止规则,停止迭代。
本申请实施例还公开了一种人机识别的系统,包括:
用户行为模型生成模块,用于生成用户行为模型,所述用户行为模型包括正常用户行为概率值范围;
WEB页面请求接收模块,用于接收WEB页面请求;
概率值计算模块,用于依据所述WEB页面请求计算相应的用户行为概率值;
用户行为识别模块,用于判断所述用户行为概率值是否在所述正常用户行为概率值范围内,若是,则所述WEB页面请求为正常用户发起的请求;若否,则所述WEB页面请求为异常用户发起的请求。
优选地,所述用户行为模型生成模块包括:
原始数据采集子模块,用于采集WEB请求信息的原始数据,所述原始数据包括:用户浏览的多WEB页面的跳转关系;用户WEB页面请求对应的页面的停留时间;用户WEB页面请求的初始页面;和/或,客户端抓取的鼠标和键盘信息输出值;
样本数据获取子模块,用于根据所述原始数据获得WEB请求信息的样本数据,所述样本数据包括正常用户行为的样本数据;
模型训练子模块,用于依据所述样本数据进行模型训练,获得概率值范围,所述概率值范围包括正常用户行为概率值范围;
第一用户行为模型生成子模块,用于依据所述概率值范围生成用户行为模型。
优选地,所述模型训练子模块,进一步包括:
第一初始参数获得子模块,用于选取隐半马尔科夫模型,获得所述隐半马尔科夫模型的初始参数;
第二初始参数获得子模块,用于将所述样本数据分成N部分,计算每部分的隐半马尔科夫模型的初始参数,所述N为正整数;
遗传算法全局优化子模块,用于根据所述每部分的隐半马尔科夫模型的初始参数,采用遗传算法计算得到最优的隐半马尔科夫模型的初始参数;
初始参数重估子模块,用于对所述最优的隐半马尔科夫模型的初始参数进行参数重估,得到重估的隐半马尔科夫模型初始参数;
概率值范围计算子模块,用于依据所述重估的隐半马尔科夫模型初始参数计算样本数据的概率值范围。
本申请实施例还公开了一种人机识别服务器,包括:
用户行为模型生成模块,用于生成用户行为模型,所述用户行为模型包括正常用户行为概率值范围;
WEB页面请求接收模块,用于接收WEB页面请求;
概率值计算模块,用于依据所述WEB页面请求计算相应的用户行为概率值;
用户行为识别模块,用于判断所述用户行为概率值是否在所述正常用户行为概率值范围内,若是,则所述WEB页面请求为正常用户发起的请求;若否,则所述WEB页面请求为异常用户发起的请求。
与现有技术相比,本申请包括以下优点:
(1)获取WEB请求数据源的现有方式是从服务器日志中进行分析,由于存在代理服务器导致WEB请求序列记录不完整性和WEB用户在页面停留时间不准确性,因此本申请使用大型网站的人机识别系统RDS,通过客户端注入的JS脚本准确的获取用户的请求序列和更精确更清晰的抓取用户在当前页面的操作时间、用户在页面停留时间,建立更准确的用户行为模型。
(2)由于采用HsMM模型建模,在重估HsMM的初始参数时,前向-后向算法对初始参数的敏感度高,很容易获得初始参数的局部最优解。为了获得HsMM初始参数的全局最优解或次优解,采用遗传算法全局优化HsMM的初始参数值。
附图说明
图1是本申请的一种人机识别的方法实施例1的步骤流程图;
图2是本申请的一种人机识别的方法实施例2的步骤流程图;
图3是本申请的一种人机识别的系统实施例的结构框图;
图4是本申请的一种人机识别服务器实施例的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
本申请实施例的核心构思之一在于,基于用户的WEB请求数据(实时用户键盘、鼠标信息、WEB请求对应web页面的停留时间、请求Web页面跳转关系等)进行用户行为建模,通过用户行为模型来区别当前发起HTTP请求用户是正常客户还是异常客户。在使用HsMM模型建模过程中,使用人机识别系统RDS通过客户端注入的JS脚本准确的获取WEB请求数据源,在重估HsMM的初始参数时,前向-后向算法对初始参数的敏感度高,很容易获得初始参数的局部最优解。为了获得HsMM初始参数的全局最优解或次优解,采用遗传算法全局优化HsMM的初始参数值获得优化得到的模型初始参数,将获得的初始参数使用HsMM前向-后向算法进行重估,最终获得正常用户的全局优化和重估后的HsMM初始参数,根据全局优化和重估后的HsMM初始参数计算概率值范围并建立用户行为模型。
参照图1,其示出了本申请的一种人机识别的方法实施例1的步骤流程图,具体可以包括如下步骤:
步骤11:生成用户行为模型,所述用户行为模型包括正常用户行为概率值范围;
在本申请的一种优选实施例中,步骤11可以包括如下子步骤:
子步骤S111:采集WEB请求信息的原始数据,所述原始数据包括:
用户浏览的多WEB页面的跳转关系;
用户WEB页面请求对应的页面的停留时间;
用户WEB页面请求的初始页面;
和/或,客户端抓取的鼠标和键盘信息输出值,可以包括在大型网站或购物网站上用户鼠标移动倾向和输入的搜索关键信息值;
作为本申请的一种优选示例,可以通过部署多台人机识别系统RDS抓取原始数据,具体而言,通过大型网站的人机识别系统RDS,通过客户端注入的JS脚本进行准确的获取用户请求页面HTTP序列,所述HTTP序列包括用户浏览的多WEB页面的跳转关系和用户WEB页面请求的初始页面,在每个WEB页面注入JS脚本来获取用户请求该页面的HTTP请求序列,从而准确的获取用户的请求序列;通过客户端注入的JS脚本进行准确的用户停留时间抓取,更精确更清晰的抓取用户在当前页面的操作时间,用户在页面停留时间、根据请求时间获取用户的请求速率等建立用户行为模型的重要数据因素。
子步骤S112:根据所述原始数据获得WEB请求信息的样本数据,所述样本数据包括正常用户行为的样本数据;
作为本申请的一种优选示例,可以通过人机识别系统RDS对所述原始数据进行数据清洗和分类,所述原始数据清洗为删除建立用户行为模型过程中冗余的数据或者不需要的数据,所述数据分类为区分出正常用户浏览数据和异常用户浏览的WEB请求数据,并将所述正常用户浏览数据的WEB请求数据和异常用户浏览的WEB请求数据存储到数据库服务器;
对所述正常用户浏览数据的WEB请求数据进行二次筛选,得到正常用户行为的样本数据。
子步骤S113:依据所述样本数据进行模型训练,获得概率值范围,所述概率值范围包括正常用户行为概率值范围;
在本申请的一种优选实施例中,所述子步骤S113进一步可以包括如下子步骤:
子步骤S1131:选取隐半马尔科夫模型,获得所述隐半马尔科夫模型的初始参数;
隐半马尔科夫模型(Hidden Semi-Markov model,简称HsMM)是隐马尔科夫模型(Hidden Markov model,简称HMM)的扩展,HMM是马尔科夫链的一种,它的状态不能直接观察到,但能通过观测向量序列观察到,每个观测向量都是通过某些概率值密度分布表现为各种状态,每一个观测向量是由一个具有相应概率值密度分布的状态序列产生,所以,HMM是一个双重随机过程——具有一定状态数的隐马尔可夫链和显示随机函数集。HMM可以用五个元素来描述,包括2个状态集合和3个概率值矩阵:
隐含状态S,这些状态之间满足马尔科夫性质,是马尔科夫模型中实际所隐含的状态。这些状态通常无法通过直接观测而得到,(例如S1、S2、S3等等);
可观测状态O,在模型中与隐含状态相关联,可通过直接观测而得到。(例如O1、O2、O3等等,可观测状态的数目不一定要和隐含状态的数目一致。)
状态初始概率值分布π={π1,π2,...,πN},用于描述观察值序列O在t=1时刻所处状态q 1属于模型中各状态的概率值分布,即πi=P(q1=si),∑πi=1,<0<i<n+1>;
隐含状态转移概率值矩阵A,描述了隐半马尔科夫模型中各个状态之间的转移概率值。其中Aij=P(Sj|Si),1≤i,,j≤N,表示在t时刻、状态为Si的条件下,在t+1时刻状态是Sj的概率值;
观察值概率值矩阵B=[bi(k)],bi(k)=P(ot=vk|qt=si)其中,0<i<n+1,0<k<m+1,表示观测序列Ot处于状态Si的概率值,它是随机变量或随机矢量在各状态的观察概率值空间中的分布;
一般情况下,可以用λ=(A,B,π)三元组来简洁的表示一个HMM,由于HMM的状态转移只与前一时刻的状态相关,即状态没有后效性,是一种基于马尔科夫链的预测时间的发生概率值的随机过程,HMM的另一个随机过程是HMM的状态通过观测值分布获得。与HMM相比,HsMM更适合于描述状态持续时间为任意分布的隐马尔科夫过程,HsMM模型在HMM模型的状态驻留时间中添加分布参数,更加合理的描述了Web用户在某个状态下的驻留时间,因此,所述HsMM模型的初始参数可以表示为:
λ=(π,A,B,pj(d)),其中,状态持续时间密度函数pj(d),表示状态Sj持续d个时间单元的概率值。
子步骤S1132:将所述样本数据分成N部分,计算每部分的隐半马尔科夫模型的初始参数;其中,所述N为正整数。
子步骤S1133:根据所述每部分的隐半马尔科夫模型的初始参数,采用遗传算法计算得到最优的隐半马尔科夫模型的初始参数;HsMM模型中的Baum-Welch算法是最大期望算法expectation maximum的一种实现,在训练数据量不完整时,近似最大似然估计的统计方法,极限值等于最大似然估计,该算法作为一种局部搜索算法,对模型初始参数的选择高度敏感,如果前面初始参数是局部获取的,经过HsMM算法重估后,很容易获得局部最优解,即HsMM算法计算重估获得的HsMM初始参数陷入局部最优解,在正常用户行为建模中获得的用户行为概率值不精确,影响了正常用户的行为建模数据。所以为了获得HsMM初始参数的全局最优解或次优解,首先采用遗传算法寻找全局优化的初始参数,遗传算法在全局性搜索性能和并行处理能力上比较优越,通过设定概率值范围进行全局最优化解求取。
在本申请的一种优选实施例中,所述子步骤S1133可以进一步包括如下子步骤:
子步骤S11331:获取遗传算法种群个体,所述种群个体为每部分的HsMM模型的初始参数,N个部分的隐半马尔科夫模型的初始参数组成一个父代种群;
子步骤S11332:对种群个体进行编码;
遗传算法不能直接处理空间解,需要通过使用十进制或二进制编码转换为基因结构数据。
子步骤S11333:根据预设的种群个体适应度函数计算所述编码后的种群个体的适应度函数值;
但是,由于在遗传算法程序中使用的种群适应度函数是伪随机函数,所以需要进一步做出改善该随机函数的选取。
子步骤S11334:按照预设的终止规则对所述种群个体适应度函数值进行种群迭代进化;
遗传算法在一定适应度函数下,通过有序的遗传操作机制对每个种群个体进行筛选,适应度高的个体遗传到下一代种群中,新种群中的个体适应度在不断的提升。
在本申请的一种优选实施例中,所述子步骤S11334可以进一步包括如下子步骤:
(1)选择操作,所述选择操作为按照所述种群适应度函数值组成的集合计算选择概率值,根据选择概率值对种群进行优胜劣汰选择,生成第二代种群;
(2)交叉操作,所述交叉操作为在第二代种群中,按照预设的交叉概率值随机选择不同的两个种群个体参与交叉,生成两个新种群个体,进入第三代种群;
(3)变异操作,所述变异操作为在第三代种群中按照预设的变异概率值随机选择两个基因进行变异操作,生成第四代种群;
(4)根据种群个体适应度函数计算第四代种群个体的适应度函数值;
(5)循环执行步骤(1)(2)(3)(4)的操作,直到种群迭代进化代数达到终止规则,停止迭代;
遗传算法不同的变异概率值和交叉概率值很大程度上影响目标适应度函数的最优个体的选取。因此,需要更精细的判断不同的变异概率值和交叉概率值时平均最大适应度值,选取最优适应度函数,获取最优种群规模、变异概率值、交叉概率值等,实验中设定不同的种群规模、变异和交叉率,计算获得最优种群规模、变异和交叉率。
遗传算法求解问题中并不能保证一定找到满足问题的解,所以,需要设定算法的最大迭代次数(进化代数)。遗传算法的终止规则有:找到了问题的最优解、初始化种群的目标函数已经趋于稳定、种群迭代次数达到上限等。
一个简单的遗传算法结构可以表示如下:
根据选择概率值随机在父代种群中选择两个体Random[0,1]
如果r<pc杂交概率值,则不需要交叉改变操作,直接将其作为下一代种群
如果r>pc杂交概率值
在获取初始参数时,要确定遗传算法中的种群大小、种群交叉概率值pc、种群变异概率值pm,在一定的进化代数后,种群在适应度函数上的值的变化量是否趋向于稳定,种群中每个个体选择概率值pg按照适应度函数值来确定。
子步骤S11335:选取全局最优种群个体,所述全局最优种群个体为种群迭代过程中适应度函数值最大的种群个体。
其中,全局最优种群个体对应的种群规模、变异率、交叉率、进化代数均为最优,所述全局最优种群个体即为全局最优的HsMM模型的初始参数。
子步骤S1134:对所述最优的隐半马尔科夫模型的初始参数进行参数重估,得到重估的隐半马尔科夫模型;
当采用遗传算法对初始参数种群进化后,由于遗传算法的全局搜索能力,一定程度上降低了局部搜索收敛的能力。为了加快最优解的获得,设置到达一定进化次数后,利用模型训练算法Baum-Welch重新估算参数,在全局搜索和局部搜索上给予平衡;
其中,Baum-Welch算法步骤如下:
(1)初始化模型参数(需要训练模型)λ0。
(2)基于λ0以及用户的请求序列观测值,计算新的λ值模型。
(3)判断新的模型的Ln(P(X|λ))与Ln(P(X|λ0))差值,是否到达了模型训练的预期效果,如果达到了模型训练的要求,则训练模型结束。
(4)如果没有达到模型的训练效果,则重新赋值λ0=λ,重新基于新的用户的请求序列,返回第2)步。
在遗传算法优化后的HsMM初始参数前提下,计算遗传算法优化后并HsMM预估的初始参数,获得重估的HsMM初始参数,使用HsMM模型的模型训练算法Baum-Welch定义如下函数:
定义前向变量:
定义后向变量
给定观察序列隐半马尔科夫模型,定义t-1时刻位于隐藏状态Si及t时刻位于隐藏状态Sj的概率变量为:
在给定观察序列隐半马尔科夫模型下,定义t-1时刻位于隐藏状态Si及t时刻位于隐藏状态Sj的概率变量基础上,对j(1,N)求和得到以下表达式:
在给定观察序列的隐半马尔科夫模型下,定义t-1时刻位于隐藏状态Si及t时刻位于隐藏状态Sj、且观测值为d的概率变量基础上,对i(1,N)求和得到以下表达式:
在Baum-Welch训练算法中,由于训练数据的计算量大,在输出概率值矩阵计算中导致数据值很小(超出了计算机存贮能力)。本申请采用前向变量和后向变量改进办法,一方面解决了计算机数据下溢的问题,另一方方面降低模型算法计算复杂度。
在客户端与服务器环境下,不同的Web用户的浏览行为的差别,使得请求序列存在差别,即使同一用户在不同时间的请求序列也不尽相同。设L个观测序列为O(l)(l=1,2,…L)分别为L不同的Web用户的请求序列,各个Web用户之间相互独立,重估算法对L个请求序列进行计算获得模型的参数:
获得重估后的HsMM模型初始参数。
子步骤S1135:依据重估的隐半马尔科夫模型的初始参数计算样本数据的概率值范围。
在遗传算法优化并重估的HsMM初始参数前提条件下,采用HsMM的Baum-Welch算法数据库中自然人的请求序列的概率值。具体而言,将各部分的样本数据进行汇总,随机在汇总的数据库中选择大量正常用户的Web请求数据,根据重估后的HsMM模型的初始参数,计算相同的WEB页面请求的观测序列值,获得每个WEB请求序列的概率值。
作为本申请的一种优选示例,所述样本数据概率值可以包括数据库正常用户普遍页面停留时间平均值概率值、页面跳转关系概率值、正常用户从进入Web站点到退出站点过程请求数据概率值,根据需要可统计其他用户数据概率值,本申请对此不作限制。
需要说明的是,样本数据为正常用户行为的样本数据时,得到正常用户概率值范围,依据正常用户概率值范围得到用户行为模型。
子步骤S114:依据所述概率值范围生成用户行为模型;
由于大量正常用户所得到的概率值库是庞大的,可以通过正态分布中平均值和方差来标志Web用户行为模型,因此,
在本申请的一种优选实施例中,所述子步骤S114可以包括如下子步骤:
子步骤S1141:将所述样本数据的正常用户行为概率值范围通过均值和方差计算得到正常用户的正态分布;
子步骤S1142:将所述正常用户的正态分布作为用户行为模型。
步骤12:接收WEB页面请求;
在大型网站中利用客户端的JS脚本获取某个用户的WEB页面请求,所述WEB页面请求可以包括用户的WEB请求页面跳转信息和页面停留时间信息等。
步骤13:依据所述WEB页面请求计算相应的用户行为概率值;
按照上述计算概率值的方法利用HsMM模型的Baum-Welch算法的计算该用户行为的概率值。
步骤14:判断所述用户行为概率值是否在所述正常用户行为概率值范围内,若是,则所述WEB页面请求为正常用户发起的请求;若否,则所述WEB页面请求为异常用户发起的请求。
对于所述WEB页面请求为正常用户发起的请求,应用服务器可以提高该请求的客户端的响应优先级,或者,针对该用户投放对用户有益的信息;
对于所述WEB页面请求为异常用户发起的请求,应用服务器可以降低该请求的客户端的响应优先级。
参照图2,其示出了本申请的一种人机识别的方法实施例2的步骤流程图,具体可以包括如下步骤:
步骤21:生成用户行为模型,所述用户行为模型包括正常用户行为概率值范围;
在本申请的一种优选实施例中,所述用户行为模型还可以包括异常用户行为概率值范围,所述判定为异常用户发起的请求为在所述异常用户行为概率值范围内的用户行为概率值所对应的WEB页面请求。
在本申请的一种优选实施例中,步骤21可以包括如下子步骤:
子步骤S211:采集WEB请求信息的原始数据,所述原始数据包括:
用户浏览的多WEB页面的跳转关系;
用户WEB页面请求对应的页面的停留时间;
用户WEB页面请求的初始页面;
和/或,客户端抓取的鼠标和键盘信息输出值,可以包括在大型网站或购物网站上用户鼠标移动倾向和输入的搜索关键信息值;
子步骤S212:根据所述原始数据获得WEB请求信息的样本数据,所述样本数据包括正常用户行为的样本数据;
在本申请的一种优选实施例中,所述样本数据还可以包括异常用户行为的样本数据;
作为本申请的一种优选示例,可以通过人机识别系统RDS对所述原始数据进行数据清洗和分类,所述原始数据清洗为删除建立用户行为模型过程中冗余的数据或者不需要的数据,所述数据分类为区分出正常用户浏览数据和异常用户浏览的WEB请求数据,并将所述正常用户浏览数据的WEB请求数据和异常用户浏览的WEB请求数据存储到数据库服务器;
对所述正常用户浏览数据的WEB请求数据进行二次筛选,得到正常用户行为的样本数据;
对所述异常用户浏览数据的WEB请求数据进行二次筛选,得到异常用户行为的样本数据;
子步骤S213:依据所述样本数据进行模型训练,获得概率值范围,所述概率值范围包括正常用户行为概率值范围;
在本申请的一种优选实施例中,所述概率值范围还包括异常用户行为概率值范围;
在本申请的一种优选实施例中,所述子步骤S213进一步可以包括如下子步骤:
子步骤S2131:选取隐半马尔科夫模型,获得所述隐半马尔科夫模型的初始参数;
所述隐半马尔科夫模型的初始参数为
λ=(π,A,B,pj(d)),其中,
状态初始概率值分布π={π1,π2,...,πN},用于描述观察值序列O在t=1时刻所处状态q1属于模型中各状态的概率值分布,即πi=P(q1=si),∑πi=1,<0<i<n+1>;
隐含状态转移概率值矩阵A,描述了HsMM中各个状态之间的转移概率值。其中Aij=P(Sj|Si),1≤i,,j≤N,表示在t时刻、状态为Si的条件下,在t+1时刻状态是Sj的概率值;
观察值概率值矩阵B=[bi(k)],bi(k)=P(ot=vk|qt=si)其中,0<i<n+1,0<k<m+1,表示观测序列Ot处于状态Si的概率值,它是随机变量或随机矢量在各状态的观察概率值空间中的分布;
状态持续时间密度函数pj(d),表示状态Sj持续d个时间单元的概率值。
子步骤S2132:将所述样本数据分成N部分,计算每部分的隐半马尔科夫模型的初始参数,其中,所述N为正整数;
子步骤S2133:根据所述每部分的隐半马尔科夫模型的初始参数,采用遗传算法计算得到最优的隐半马尔科夫模型的初始参数;
在本申请的一种优选实施例中,所述子步骤S2133可以进一步包括如下子步骤:
子步骤S21331:获取遗传算法种群个体,所述种群个体为每部分的HsMM模型的初始参数,N个部分的隐半马尔科夫模型的初始参数组成一个父代种群;
子步骤S21332:对种群个体进行编码;
遗传算法不能直接处理空间解,需要通过使用十进制或二进制编码转换为基因结构数据。
子步骤S21333:根据预设的种群个体适应度函数计算所述编码后的种群个体的适应度函数值;
其中,所述种群个体适应度函数可以为适应度函数是用来判断种群中每个个体的优劣级别的指标,根据所求问题的目标函数为评估依据,也是遗传算法种群进化的动力。
子步骤S21334:按照预设的终止规则对所述种群个体适应度函数值进行种群迭代进化;
遗传算法在一定适应度函数下,通过有序的遗传操作机制对每个种群个体进行筛选,适应度高的个体遗传到下一代种群中,新种群中的个体适应度在不断的提升。
在本申请的一种优选实施例中,所述子步骤S21334可以进一步包括如下子步骤:
(1)选择操作,所述选择操作为按照所述种群适应度函数值组成的集合计算选择概率值,根据选择概率值对种群进行优胜劣汰选择,生成第二代种群;
(2)交叉操作,所述交叉操作为在第二代种群中,按照预设的交叉概率值随机选择不同的两个种群个体参与交叉,生成两个新种群个体,进入第三代种群;
(3)变异操作,所述变异操作为在第三代种群中按照预设的变异概率值随机选择两个基因进行变异操作,生成第四代种群;
(4)根据种群个体适应度函数计算第四代种群个体的适应度函数值;
(5)循环执行步骤(1)(2)(3)(4)的操作,直到种群迭代进化代数达到终止规则,停止迭代;
子步骤S21335:选取全局最优种群个体,所述全局最优种群个体为种群迭代过程中适应度函数值最大的种群个体。
其中,全局最优的种群个体对应的种群规模、变异率、交叉率、进化代数均为最优,所述全局最优的种群个体即为全局最优的HsMM模型的初始参数。
子步骤S2134:对所述最优的隐半马尔科夫模型的初始参数进行参数重估,得到重估的隐半马尔科夫模型的初始参数;
当采用遗传算法对初始参数种群进化后,由于遗传算法的全局搜索能力,一定程度上降低了局部搜索收敛的能力。为了加快最优解的获得,设置到达一定进化次数后,利用模型训练算法Baum-Welch重新估算参数,在全局搜索和局部搜索上给予平衡;
其中,Baum-Welch算法步骤如下:
(1)初始化模型参数(需要训练模型)λ0。
(2)基于λ0以及用户的请求序列观测值,计算新的λ值模型。
(3)判断新的模型的Ln(P(X|λ))与Ln(P(X|λ0))差值,是否到达了模型训练的预期效果,如果达到了模型训练的要求,则训练模型结束。
(4)如果没有达到模型的训练效果,则重新赋值λ0=λ,重新基于新的用户的请求序列,返回第2)步。
在遗传算法优化后的HsMM初始参数前提下,计算遗传算法优化后并HsMM预估的初始参数,获得重估的HsMM初始参数;
使用HsMM模型的模型训练算法Baum-Welch定义如下函数:
定义前向变量:
定义后向变量:
给定观察序列的隐半马尔科夫模型,定义t-1时刻位于隐藏状态Si及t时刻位于隐藏状态Sj的概率变量为:
在给定观察序列的隐半马尔科夫模型下,定义t-1时刻位于隐藏状态Si及t时刻位于隐藏状态Sj、且观测值为d的概率变量基础上,对i(1,N)求和得到以下表达式:
在给定观察序列的隐半马尔科夫模型下,定义t-1时刻位于隐藏状态Si及t时刻位于隐藏状态Sj的概率变量基础上,对j(1,N)求和得到以下表达式:
在Baum-Welch训练算法中,由于训练数据的计算量大,在输出概率值矩阵计算中导致数据值很小(超出了计算机存贮能力)。本申请采用前向变量和后向变量改进办法,一方面解决了计算机数据下溢的问题,另一方方面降低模型算法计算复杂度。
在客户端与服务器环境下,不同的Web用户的浏览行为的差别,使得请求序列存在差别,即使同一用户在不同时间的请求序列也不尽相同。设L个观测序列为O(l)(l=1,2,…L)分别为L不同的Web用户的请求序列,各个Web用户之间相互独立,重估算法对L个请求序列进行计算获得模型的参数:
获得重估的HsMM模型初始参数。
子步骤S2135:依据所述重估的隐半马尔科夫模型的初始参数计算样本数据的概率值范围。
在遗传算法优化并重估的HsMM初始参数前提条件下,采用HsMM的Baum-Welch算法数据库中自然人的请求序列的概率值。具体而言,将各部分的样本数据进行汇总,随机在汇总的数据库中选择大量正常用户的Web请求数据,根据重估后的HsMM模型的初始参数,计算相同的WEB页面请求的观测序列值,获得每个WEB请求序列的概率值。
作为本申请的一种优选示例,所述样本数据概率值可以包括数据库正常用户普遍页面停留时间平均值概率值、页面跳转关系概率值、正常用户从进入Web站点到退出站点过程请求数据概率值,根据需要可统计其他用户数据概率值,本申请对此不作限制。
子步骤S214:依据所述概率值范围生成用户行为模型;
由于大量正常用户所得到的概率值库是庞大的,可以通过正态分布中平均值和方差来标志Web用户行为模型,因此,
在本申请的一种优选实施例中,所述子步骤S214可以包括如下子步骤:
子步骤S2141:将所述样本数据的正常用户行为概率值范围通过均值和方差计算得到正常用户的正态分布;
子步骤S2142:将所述正常用户的正态分布作为用户行为模型。
在本申请的另一种优选实施例中,所述子步骤S214还可以包括如下子步骤:
将所述样本数据的异常用户行为概率值范围通过均值和方差计算得到异常用户的正态分布;
将所述异常用户的正态分布作为用户行为模型。
步骤22:接收WEB页面请求;
在大型网站中利用客户端的JS脚本获取某个用户的WEB页面请求,所述WEB页面请求可以包括用户的WEB请求页面跳转信息和页面停留时间信息等。
步骤23:依据所述WEB页面请求计算相应的用户行为概率值;
按照上述计算概率值的方法利用HsMM模型的Baum-Welch算法的计算该用户行为的概率值。
步骤24:判断所述用户行为概率值是否在所述正常用户行为概率值范围内,若是,则所述WEB页面请求为正常用户发起的请求;若否,则所述WEB页面请求为异常用户发起的请求,所述判定为异常用户发起的请求为在所述异常用户行为概率值范围内的用户行为概率值所对应的WEB页面请求。
对于所述WEB页面请求为正常用户发起的请求,应用服务器可以提高该请求的客户端的响应优先级,或者,针对该用户投放对用户有益的信息;
对于所述WEB页面请求为异常用户发起的请求,应用服务器可以降低该请求的客户端的响应优先级。
图2的方法实施例与图1的方法实施例相比,其不同之处在于按照用户行为模型识别正常用户与异常用户上,图1的方法实施例是只获得一种用户行为模型,可以认为是正常用户行为模型,用户行为模型包括正常用户行为概率值范围值,当接受某个WEB请求后,计算WEB请求的概率值,如果该概率值在正常用户行为概率值范围内,则所述WEB页面请求为正常用户发起的请求,如果该概率值在不在正常用户行为概率值范围内,则所述WEB页面请求为异常用户发起的请求;而图2的方法实施例中,是建立两种用户行为模型,可以认为是正常用户行为模型和异常用户行为模型,正常用户行为模型包括正常用户行为概率值范围值,异常用户行为模型包括异常用户行为概率值范围值,当接受某个WEB请求后,计算WEB请求的概率值,如果该概率值在正常用户行为概率值范围内,则所述WEB页面请求为正常用户发起的请求,如果该概率值在异常用户行为概率值范围内,则所述WEB页面请求为异常用户发起的请求。
对于图2的方法实施例而言,由于其与图1的方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所需要的。
参照图3,示出了本申请的一种人机识别的系统实施例的结构框图,具体可以包括如下模块:
用户行为模型生成模块31,用于生成用户行为模型,所述用户行为模型包括正常用户行为概率值范围;
在本申请的一种优选实施例中,所述用户行为模型还可以包括异常用户行为概率值范围,所述判定为异常用户发起的请求为在所述异常用户行为概率值范围内的用户行为概率值对应的WEB页面请求。
在本申请的一种优选实施例中,所述用户行为模型生成模块31可以包括:
原始数据采集子模块,用于采集WEB请求信息的原始数据,所述原始数据包括:
用户浏览的多WEB页面的跳转关系;
用户WEB页面请求对应的页面的停留时间;
用户WEB页面请求的初始页面;
和/或,客户端抓取的鼠标和键盘信息输出值;
样本数据获取子模块,用于根据所述原始数据数据获得WEB请求信息的样本数据,所述样本数据包括正常用户行为的样本数据;
在本申请的一种优选实施例中,所述样本数据还可以包括异常用户行为的样本数据。
模型训练子模块,用于依据所述样本数据进行模型训练,获得概率值范围,所述概率值范围包括正常用户行为概率值范围;
在本申请的一种优选实施例中,所述概率值范围还可以包括异常用户行为概率值范围;
第一用户行为模型生成子模块,用于依据所述概率值范围生成用户行为模型。
在本申请的一种优选实施例中,所述模型训练子模块,可以进一步包括:
第一初始参数获得子模块,用于选取隐半马尔科夫模型,获得所述隐半马尔科夫模型的初始参数;
所述隐半马尔科夫模型的初始参数为
λ=(π,A,B,pj(d)),其中,
状态初始概率值分布π={π1,π2,...,πN},用于描述观察值序列O在t=1时刻所处状态q1属于模型中各状态的概率值分布,即πi=P(q1=si),∑πi=1,<0<i<n+1>;
隐含状态转移概率值矩阵A,描述了HsMM中各个状态之间的转移概率值。其中Aij=P(Sj|Si),1≤i,,j≤N,表示在t时刻、状态为Si的条件下,在t+1时刻状态是Sj的概率值;
观察值概率值矩阵B=[bi(k)],bi(k)=P(ot=vk|qt=si)其中,0<i<n+1,0<k<m+1,表示观测序列Ot处于状态Si的概率值,它是随机变量或随机矢量在各状态的观察概率值空间中的分布;
状态持续时间密度函数pj(d),表示状态Sj持续d个时间单元的概率值;
第二初始参数获得子模块,用于将所述样本数据分成N部分,计算每部分的HsMM模型的初始参数,其中,所述N为正整数;
遗传算法全局优化子模块,用于根据所述每部分的隐半马尔科夫模型的初始参数,采用遗传算法计算得到最优的隐半马尔科夫模型的初始参数;初始参数重估子模块,用于对所述最优的隐半马尔科夫模型的初始参数进行参数重估,得到重估的隐半马尔科夫模型的初始参数;
概率值范围计算子模块,用于依据所述重估的隐半马尔科夫模型的初始参数计算样本数据的概率值范围。
在本申请的一种优选实施例中,所述遗传算法全局优化子模块,进一步可以包括:
种群个体获取子模块,用于获取遗传算法种群个体,所述种群个体为每部分的HsMM模型的初始参数,N个部分的HsMM模型的初始参数组成一个父代种群;
编码子模块,用于对种群个体进行编码;
第一适应度函数值计算子模块,用于根据预设的种群个体适应度函数计算所述编码后的种群个体的适应度函数值;
种群迭代子模块,用于按照预设的终止规则对所述种群个体适应度函数值进行种群迭代进化;
最优种群个体选取子模块,用于选取全局最优种群个体,所述全局最优种群个体为种群迭代过程中适应度函数值最大的种群个体。
在本申请的一种优选实施例中,所述种群迭代子模块进一步包括:
(1)选择算子子模块,用于选择操作,所述选择操作为按照所述种群适应度函数值组成的集合计算选择概率值,根据选择概率值对种群进行优胜劣汰选择,生成第二代种群;
(2)交叉算子子模块,用于交叉操作,所述交叉操作为在第二代种群中,按照预设的交叉概率值随机选择不同的两个种群个体参与交叉,生成两个新种群个体,进入第三代种群;
(3)变异算子子模块,用于变异操作,所述变异操作为在第三代种群中按照预设的变异概率值随机选择两个基因进行变异操作,生成第四代种群;
(4)第二适应度函数值计算子模块,用于根据种群个体适应度函数计算第四代种群个体的适应度函数值;
(5)循环子模块,用于循环执行步骤(1)(2)(3)(4)的操作,直到种群迭代进化代数达到终止规则,停止迭代。
在本申请的一种优选实施例中,用户行为模型生成子模块可以包括:
方差子模块,用于将所述样本数据的正常用户行为概率值范围通过均值和方差计算得到正常用户的正态分布;
第二用户行为模型生成子模块,用于将所述正常用户的正态分布作为用户行为模型。
在本申请的另一种优选实施例中,所述用户行为模型生成子模块还可以包括:
将所述样本数据的异常用户行为概率值范围通过均值和方差计算得到异常用户的正态分布;
将所述异常用户的正态分布作为用户行为模型。
WEB页面请求接收模块32,用于接收WEB页面请求;
概率值计算模块33,用于依据所述WEB页面请求计算相应的用户行为概率值;
用户行为识别模块34,用于判断所述用户行为概率值是否在所述正常用户行为概率值范围内,若是,则所述WEB页面请求为正常用户发起的请求;若否,则所述WEB页面请求为异常用户发起的请求。
从上述装置实施例可知,用户行为模型生成模块31可以只生产一种用户行为模型,可以认为是正常用户行为模型,正常用户行为模型包括正常用户行为概率值范围值,当接受某个WEB请求后,计算WEB请求的概率值,如果该概率值在正常用户行为概率值范围内,则所述WEB页面请求为正常用户发起的请求,如果该概率值在不在正常用户行为概率值范围内,则所述WEB页面请求为异常用户发起的请求;用户行为模型生成模块31还可以生成两种用户行为模型,可以认为是正常用户行为模型和异常用户行为模型,正常用户行为模型包括正常用户行为概率值范围值,异常用户行为模型包括异常用户行为概率值范围值,当接受某个WEB请求后,计算WEB请求的概率值,如果该概率值在正常用户行为概率值范围内,则所述WEB页面请求为正常用户发起的请求,如果该概率值在异常用户行为概率值范围内,则所述WEB页面请求为异常用户发起的请求。
对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
参照图4,示出了本申请的一种人机识别服务器实施例的结构框图,具体可以包括如下模块:
用户行为模型生成模块41,用于生成用户行为模型,所述用户行为模型包括正常用户行为概率值范围;
在本申请的一种优选实施例中,所述用户行为模型还可以包括异常用户行为概率值范围,所述判定为异常用户发起的请求为在所述异常用户行为概率值范围内的用户行为概率值对应的WEB页面请求。
在本申请的一种优选实施例中,所述用户行为模型生成模块41可以包括:
原始数据采集子模块,用于采集WEB请求信息的原始数据,所述原始数据包括:
用户浏览的多WEB页面的跳转关系;
用户WEB页面请求对应的页面的停留时间;
用户WEB页面请求的初始页面;
和/或,客户端抓取的鼠标和键盘信息输出值;
样本数据获取子模块,用于根据所述原始数据数据获得WEB请求信息的样本数据,所述样本数据包括正常用户行为的样本数据;
在本申请的一种优选实施例中,所述样本数据还可以包括异常用户行为的样本数据。
模型训练子模块,用于依据所述样本数据进行模型训练,获得概率值范围,所述概率值范围包括正常用户行为概率值范围;
在本申请的一种优选实施例中,所述概率值范围还可以包括异常用户行为概率值范围;
第一用户行为模型生成子模块,用于依据所述概率值范围生成用户行为模型。
在本申请的一种优选实施例中,所述模型训练子模块,可以进一步包括:
第一初始参数获得子模块,用于选取隐半马尔科夫模型,获得所述隐半马尔科夫模型的初始参数;
所述隐半马尔科夫模型的初始参数为
λ=(π,A,B,pj(d)),其中,
状态初始概率值分布π={π1,π2,...,πN},用于描述观察值序列O在t=1时刻所处状态q1属于模型中各状态的概率值分布,即πi=P(q1=si),∑πi=1,<0<i<n+1>;
隐含状态转移概率值矩阵A,描述了HsMM中各个状态之间的转移概率值。其中Aij=P(Sj|Si),1≤i,,j≤N,表示在t时刻、状态为Si的条件下,在t+1时刻状态是Sj的概率值;
观察值概率值矩阵B=[bi(k)],bi(k)=P(ot=vk|qt=si)其中,0<i<n+1,0<k<m+1,表示观测序列Ot处于状态Si的概率值,它是随机变量或随机矢量在各状态的观察概率值空间中的分布;
状态持续时间密度函数pj(d),表示状态Sj持续d个时间单元的概率值;
第二初始参数获得子模块,用于将所述样本数据分成N部分,计算每部分的HsMM模型的初始参数,其中,所述N为正整数;
遗传算法全局优化子模块,用于根据所述每部分的隐半马尔科夫模型的初始参数,采用遗传算法计算得到最优的隐半马尔科夫模型的初始参数;初始参数重估子模块,用于对所述最优的隐半马尔科夫模型的初始参数进行参数重估,得到重估的隐半马尔科夫模型的初始参数;
概率值范围计算子模块,用于依据所述重估的隐半马尔科夫模型的初始参数计算样本数据的概率值范围。
在本申请的一种优选实施例中,所述遗传算法全局优化子模块,进一步可以包括:
种群个体获取子模块,用于获取遗传算法种群个体,所述种群个体为每部分的HsMM模型的初始参数,N个部分的HsMM模型的初始参数组成一个父代种群;
编码子模块,用于对种群个体进行编码;
第一适应度函数值计算子模块,用于根据预设的种群个体适应度函数计算所述编码后的种群个体的适应度函数值;
种群迭代子模块,用于按照预设的终止规则对所述种群个体适应度函数值进行种群迭代进化;
最优种群个体选取子模块,用于选取全局最优种群个体,所述全局最优种群个体为种群迭代过程中适应度函数值最大的种群个体。
在本申请的一种优选实施例中,所述种群迭代子模块可以进一步包括:
(1)选择算子子模块,用于选择操作,所述选择操作为按照所述种群适应度函数值组成的集合计算选择概率值,根据选择概率值对种群进行优胜劣汰选择,生成第二代种群;
(2)交叉算子子模块,用于交叉操作,所述交叉操作为在第二代种群中,按照预设的交叉概率值随机选择不同的两个种群个体参与交叉,生成两个新种群个体,进入第三代种群;
(3)变异算子子模块,用于变异操作,所述变异操作为在第三代种群中按照预设的变异概率值随机选择两个基因进行变异操作,生成第四代种群;
(4)第二适应度函数值计算子模块,用于根据种群个体适应度函数计算第四代种群个体的适应度函数值;
(5)循环子模块,用于循环执行步骤(1)(2)(3)(4)的操作,直到种群迭代进化代数达到终止规则,停止迭代。
在本申请的一种优选实施例中,用户行为模型生成子模块可以包括:
方差子模块,用于将所述样本数据的正常用户行为概率值范围通过均值和方差计算得到正常用户的正态分布;
第二用户行为模型生成子模块,用于将所述正常用户的正态分布作为用户行为模型。
在本申请的另一种优选实施例中,所述用户行为模型生成子模块还可以包括:
将所述样本数据的异常用户行为概率值范围通过均值和方差计算得到异常用户的正态分布;
将所述异常用户的正态分布作为用户行为模型。
WEB页面请求接收模块42,用于接收WEB页面请求;
第一概率值计算模块43,用于依据所述WEB页面请求计算相应的用户行为概率值;
用户行为识别模块44,用于判断所述用户行为概率值是否在所述正常用户行为概率值范围内,若是,则所述WEB页面请求为正常用户发起的请求;若否,则所述WEB页面请求为异常用户发起的请求。
从上述服务器实施例可知,用户行为模型生成模块41可以只生产一种用户行为模型,也可以认为是正常用户行为模型,用户行为模型包括正常用户行为概率值范围值,当接受某个WEB请求后,计算WEB请求的概率值,如果该概率值在正常用户行为概率值范围内,则所述WEB页面请求为正常用户发起的请求,如果该概率值在不在正常用户行为概率值范围内,则所述WEB页面请求为异常用户发起的请求;用户行为模型生成模块41还可以生成两种用为行为模型,可以认为是正常用户行为模型和异常用户行为模型,正常用户行为模型包括正常用户行为概率值范围值,异常用户行为模型包括异常用户行为概率值范围值,当接受某个WEB请求后,计算WEB请求的概率值,如果该概率值在正常用户行为概率值范围内,则所述WEB页面请求为正常用户发起的请求,如果该概率值在异常用户行为概率值范围内,则所述WEB页面请求为异常用户发起的请求。
对于服务器实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的系统。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令系统的制造品,该指令系统实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的一种可信行为识别的方法和一种可信行为识别的系统进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (12)
1.一种人机识别的方法,其特征在于,包括:
生成用户行为模型,所述用户行为模型包括正常用户行为概率值范围;
接收WEB页面请求;
依据所述WEB页面请求计算相应的用户行为概率值;
判断所述用户行为概率值是否在所述正常用户行为概率值范围内,若是,则所述WEB页面请求为正常用户发起的请求;若否,则所述WEB页面请求为异常用户发起的请求。
2.根据权利要求1所述的方法,其特征在于,所述用户行为模型还包括异常用户行为概率值范围,
所述判定为异常用户发起的请求为在所述异常用户行为概率值范围内的用户行为概率值所对应的WEB页面请求。
3.根据权利要求1或2所述的方法,其特征在于,所述生成用户行为模型的步骤包括:
采集WEB请求信息的原始数据,所述原始数据包括:用户浏览的多WEB页面的跳转关系;用户WEB页面请求对应的页面的停留时间;用户WEB页面请求的初始页面;和/或,客户端抓取的鼠标和键盘信息输出值;
根据所述原始数据获得WEB请求信息的样本数据,所述样本数据包括正常用户行为的样本数据;
依据所述样本数据进行模型训练,获得概率值范围,所述概率值范围包括正常用户行为概率值范围;
依据所述概率值范围生成用户行为模型。
4.根据权利要求3所述的方法,其特征在于,所述根据样本数据的概率值范围生成用户行为模型的步骤包括:
将所述样本数据的正常用户行为概率值范围通过均值和方差计算得到正常用户的正态分布;
将所述正常用户的正态分布作为用户行为模型。
5.根据权利要求4所述的方法,其特征在于,所述样本数据还包括异常用户行为的样本数据;所述概率值范围还包括异常用户行为概率值范围;
所述根据样本数据的概率值范围生成用户行为模型的步骤还包括:
将所述样本数据的异常用户行为概率值范围通过均值和方差计算得到异常用户的正态分布;
将所述异常用户的正态分布作为用户行为模型。
6.根据权利要求1或2或3或4或5所述的方法,其特征在于,所述依据样本数据进行模型训练,获得概率值范围的步骤,进一步包括:
选取隐半马尔科夫模型,获得所述隐半马尔科夫模型的初始参数;
将所述样本数据分成N部分,计算每部分的隐半马尔科夫模型的初始参数,所述N为正整数;
根据所述每部分的隐半马尔科夫模型的初始参数,采用遗传算法计算得到最优的隐半马尔科夫模型的初始参数;
对所述最优的隐半马尔科夫模型的初始参数进行参数重估,得到重估的隐半马尔科夫模型的初始参数;
依据所述重估的隐半马尔科夫模型的初始参数计算样本数据的概率值范围。
7.根据权利要求6所述的方法,其特征在于,所述隐半马尔科夫模型的初始参数为
λ=(π,A,B,pj(d)),其中,
状态初始概率值分布π={π1,π2,...,πN},用于描述观察值序列O在t=1时刻所处状态q1属于模型中各状态的概率值分布,即πi=P(q1=si),∑πi=1,<0<i<n+1>;
隐含状态转移概率值矩阵A,描述了隐半马尔科夫模型中各个状态之间的转移概率值。其中Aij=P(Sj|Si),1≤i,,j≤N,表示在t时刻、状态为Si的条件下,在t+1时刻状态是Sj的概率值;
观察值概率值矩阵B=[bi(k)],bi(k)=P(ot=vk|qt=si)其中,0<i<n+1,0<k<m+1,表示观测序列Ot处于状态Si的概率值,它是随机变量或随机矢量在各状态的观察概率值空间中的分布;
状态持续时间密度函数pj(d),表示状态Sj持续d个时间单元的概率值;
所述根据所述每部分的隐半马尔科夫模型的初始参数,采用遗传算法计算得到最优的隐半马尔科夫模型的初始参数的步骤,进一步包括:
获取遗传算法种群个体,所述种群个体为每部分的隐半马尔科夫模型的初始参数,N个部分的隐半马尔科夫模型的初始参数组成一个父代种群;
对种群个体进行编码;
根据预设的种群个体适应度函数计算所述编码后的种群个体的适应度函数值;
按照预设的终止规则对所述种群个体适应度函数值进行种群迭代进化;
选取全局最优种群个体,所述全局最优种群个体为种群迭代过程中适应度函数值最大的种群个体。
8.根据权利要求7所示的方法,其特征在于,所述按照预设的终止规则对所述种群个体适应度函数值进行种群迭代进化的步骤进一步包括:
(1)选择操作,所述选择操作为按照所述种群适应度函数值组成的集合计算选择概率值,根据选择概率值对种群进行优胜劣汰选择,生成第二代种群;
(2)交叉操作,所述交叉操作为在第二代种群中,按照预设的交叉概率值随机选择不同的两个种群个体参与交叉,生成两个新种群个体,进入第三代种群;
(3)变异操作,所述变异操作为在第三代种群中按照预设的变异概率值随机选择两个基因进行变异操作,生成第四代种群;
(4)根据种群个体适应度函数计算第四代种群个体的适应度函数值;
(5)循环执行步骤(1)(2)(3)(4)的操作,直到种群迭代进化代数达到终止规则,停止迭代。
9.一种人机识别的系统,其特征在于,包括:
用户行为模型生成模块,用于生成用户行为模型,所述用户行为模型包括正常用户行为概率值范围;
WEB页面请求接收模块,用于接收WEB页面请求;
概率值计算模块,用于依据所述WEB页面请求计算相应的用户行为概率值;
用户行为识别模块,用于判断所述用户行为概率值是否在所述正常用户行为概率值范围内,若是,则所述WEB页面请求为正常用户发起的请求;若否,则所述WEB页面请求为异常用户发起的请求。
10.根据权利要求9所述的系统,其特征在于,所述用户行为模型生成模块包括:
原始数据采集子模块,用于采集WEB请求信息的原始数据,所述原始数据包括:用户浏览的多WEB页面的跳转关系;用户WEB页面请求对应的页面的停留时间;用户WEB页面请求的初始页面;和/或,客户端抓取的鼠标和键盘信息输出值;
样本数据获取子模块,用于根据所述原始数据获得WEB请求信息的样本数据,所述样本数据包括正常用户行为的样本数据;
模型训练子模块,用于依据所述样本数据进行模型训练,获得概率值范围,所述概率值范围包括正常用户行为概率值范围;
第一用户行为模型生成子模块,用于依据所述概率值范围生成用户行为模型。
11.根据权利要求10所述的系统,其特征在于,所述模型训练子模块,进一步包括:
第一初始参数获得子模块,用于选取隐半马尔科夫模型,获得所述隐半马尔科夫模型的初始参数;
第二初始参数获得子模块,用于将所述样本数据分成N部分,计算每部分的隐半马尔科夫模型的初始参数,所述N为正整数;
遗传算法全局优化子模块,用于根据所述每部分的隐半马尔科夫模型的初始参数,采用遗传算法计算得到最优的隐半马尔科夫模型的初始参数;
初始参数重估子模块,用于对所述最优的隐半马尔科夫模型的初始参数进行参数重估,得到重估的隐半马尔科夫模型初始参数;
概率值范围计算子模块,用于依据所述重估的隐半马尔科夫模型初始参数计算样本数据的概率值范围。
12.一种人机识别服务器,其特征在于,包括:
用户行为模型生成模块,用于生成用户行为模型,所述用户行为模型包括正常用户行为概率值范围;
WEB页面请求接收模块,用于接收WEB页面请求;
概率值计算模块,用于依据所述WEB页面请求计算相应的用户行为概率值;
用户行为识别模块,用于判断所述用户行为概率值是否在所述正常用户行为概率值范围内,若是,则所述WEB页面请求为正常用户发起的请求;若否,则所述WEB页面请求为异常用户发起的请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210330851.3A CN103678346A (zh) | 2012-09-07 | 2012-09-07 | 一种人机识别的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210330851.3A CN103678346A (zh) | 2012-09-07 | 2012-09-07 | 一种人机识别的方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103678346A true CN103678346A (zh) | 2014-03-26 |
Family
ID=50315944
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210330851.3A Pending CN103678346A (zh) | 2012-09-07 | 2012-09-07 | 一种人机识别的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103678346A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104967587A (zh) * | 2014-05-12 | 2015-10-07 | 腾讯科技(深圳)有限公司 | 一种恶意账号的识别方法,及装置 |
CN106022030A (zh) * | 2016-06-30 | 2016-10-12 | 深圳卡通新技术有限公司 | 一种基于用户习惯行为特征的身份认证系统及方法 |
WO2018072580A1 (zh) * | 2016-10-21 | 2018-04-26 | 中国银联股份有限公司 | 一种非法交易检测方法及装置 |
CN108462708A (zh) * | 2018-03-16 | 2018-08-28 | 西安电子科技大学 | 一种基于hdp-hmm的行为序列的建模和检测方法 |
CN109120592A (zh) * | 2018-07-09 | 2019-01-01 | 四川大学 | 一种基于用户行为的Web异常检测系统 |
CN109241709A (zh) * | 2018-08-03 | 2019-01-18 | 平安科技(深圳)有限公司 | 基于滑块验证码验证的用户行为识别方法及装置 |
CN109391620A (zh) * | 2018-10-22 | 2019-02-26 | 武汉极意网络科技有限公司 | 异常行为判定模型的建立方法、系统、服务器及存储介质 |
CN110335401A (zh) * | 2019-06-05 | 2019-10-15 | 上海车轮互联网服务有限公司 | 基于投票行为监控的防刷票方法及装置 |
WO2020037919A1 (zh) * | 2018-08-22 | 2020-02-27 | 平安科技(深圳)有限公司 | 基于预测模型的用户行为识别方法及装置 |
CN111476610A (zh) * | 2020-04-16 | 2020-07-31 | 腾讯科技(深圳)有限公司 | 一种信息检测方法、装置及计算机可读存储介质 |
CN111880499A (zh) * | 2020-07-16 | 2020-11-03 | 国电黄金埠发电有限公司 | 一种火电厂运行参数在线优化系统及其优化方法 |
CN112416732A (zh) * | 2021-01-20 | 2021-02-26 | 国能信控互联技术有限公司 | 一种基于隐马尔可夫模型的数据采集运行异常检测方法 |
-
2012
- 2012-09-07 CN CN201210330851.3A patent/CN103678346A/zh active Pending
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10270785B2 (en) | 2014-05-12 | 2019-04-23 | Tencent Technology (Shenzhen) Company Limited | Method and apparatus for identifying malicious account |
CN104967587A (zh) * | 2014-05-12 | 2015-10-07 | 腾讯科技(深圳)有限公司 | 一种恶意账号的识别方法,及装置 |
CN104967587B (zh) * | 2014-05-12 | 2018-07-06 | 腾讯科技(深圳)有限公司 | 一种恶意账号的识别方法,及装置 |
CN106022030B (zh) * | 2016-06-30 | 2018-11-20 | 深圳一卡通新技术有限公司 | 一种基于用户习惯行为特征的身份认证系统及方法 |
CN106022030A (zh) * | 2016-06-30 | 2016-10-12 | 深圳卡通新技术有限公司 | 一种基于用户习惯行为特征的身份认证系统及方法 |
WO2018072580A1 (zh) * | 2016-10-21 | 2018-04-26 | 中国银联股份有限公司 | 一种非法交易检测方法及装置 |
CN108462708A (zh) * | 2018-03-16 | 2018-08-28 | 西安电子科技大学 | 一种基于hdp-hmm的行为序列的建模和检测方法 |
CN108462708B (zh) * | 2018-03-16 | 2020-12-08 | 西安电子科技大学 | 一种基于hdp-hmm的行为序列的检测方法 |
CN109120592A (zh) * | 2018-07-09 | 2019-01-01 | 四川大学 | 一种基于用户行为的Web异常检测系统 |
CN109241709A (zh) * | 2018-08-03 | 2019-01-18 | 平安科技(深圳)有限公司 | 基于滑块验证码验证的用户行为识别方法及装置 |
CN109241709B (zh) * | 2018-08-03 | 2023-04-07 | 平安科技(深圳)有限公司 | 基于滑块验证码验证的用户行为识别方法及装置 |
WO2020037919A1 (zh) * | 2018-08-22 | 2020-02-27 | 平安科技(深圳)有限公司 | 基于预测模型的用户行为识别方法及装置 |
CN109391620A (zh) * | 2018-10-22 | 2019-02-26 | 武汉极意网络科技有限公司 | 异常行为判定模型的建立方法、系统、服务器及存储介质 |
CN109391620B (zh) * | 2018-10-22 | 2021-06-25 | 武汉极意网络科技有限公司 | 异常行为判定模型的建立方法、系统、服务器及存储介质 |
CN110335401A (zh) * | 2019-06-05 | 2019-10-15 | 上海车轮互联网服务有限公司 | 基于投票行为监控的防刷票方法及装置 |
CN111476610A (zh) * | 2020-04-16 | 2020-07-31 | 腾讯科技(深圳)有限公司 | 一种信息检测方法、装置及计算机可读存储介质 |
CN111476610B (zh) * | 2020-04-16 | 2023-06-09 | 腾讯科技(深圳)有限公司 | 一种信息检测方法、装置及计算机可读存储介质 |
CN111880499A (zh) * | 2020-07-16 | 2020-11-03 | 国电黄金埠发电有限公司 | 一种火电厂运行参数在线优化系统及其优化方法 |
CN112416732A (zh) * | 2021-01-20 | 2021-02-26 | 国能信控互联技术有限公司 | 一种基于隐马尔可夫模型的数据采集运行异常检测方法 |
CN112416732B (zh) * | 2021-01-20 | 2021-06-01 | 国能信控互联技术有限公司 | 一种基于隐马尔可夫模型的数据采集运行异常检测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103678346A (zh) | 一种人机识别的方法和系统 | |
Guo et al. | Margin & diversity based ordering ensemble pruning | |
Ditzler et al. | Learning in nonstationary environments: A survey | |
Zhang et al. | Pattern recommendation in task-oriented applications: A multi-objective perspective [application notes] | |
Kocaguneli et al. | Exploiting the essential assumptions of analogy-based effort estimation | |
Dhahri et al. | The modified differential evolution and the RBF (MDE-RBF) neural network for time series prediction | |
Vivekanandan et al. | Mining data streams with concept drifts using genetic algorithm | |
CN110647995A (zh) | 规则训练方法、装置、设备及存储介质 | |
EP3239905A1 (en) | Methods and apparatus for use in predicting non-stationary time-series data | |
Zhang et al. | UCPSO: A uniform initialized particle swarm optimization algorithm with cosine inertia weight | |
CN112785005A (zh) | 多目标任务的辅助决策方法、装置、计算机设备及介质 | |
Khalitov et al. | ChordMixer: A scalable neural attention model for sequences with different lengths | |
Costa et al. | Adaptive learning for dynamic environments: A comparative approach | |
Yang et al. | Prediction of equipment performance index based on improved chaotic lion swarm optimization–LSTM | |
Kaedi et al. | Biasing Bayesian optimization algorithm using case based reasoning | |
Maâtouk et al. | Evolutionary biclustering algorithms: an experimental study on microarray data | |
Cao et al. | Fast and explainable warm-start point learning for AC Optimal Power Flow using decision tree | |
Tan et al. | Decomposition‐Based Multiobjective Optimization with Invasive Weed Colonies | |
Zahoor et al. | Evolutionary computation technique for solving Riccati differential equation of arbitrary order | |
CN116976491A (zh) | 一种信息预测方法、装置、设备、存储介质及程序产品 | |
Ni et al. | Online performance and power prediction for edge TPU via comprehensive characterization | |
CN113516200B (zh) | 模型训练方案生成的方法、装置、电子设备及存储介质 | |
Singh et al. | Folksonomy based trend analysis on community question answering sites: A perspective on software technologies | |
Nguyen et al. | An efficient multi-objective optimization approach for online test paper generation | |
Han et al. | Multiple paths test data generation based on particle swarm optimisation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140326 |