发明内容
本申请实施例的目的是提供一种作弊行为的识别方法及装置,以兼顾历史行为的规律性和顺序性,提高识别作弊行为的概率。
为解决上述技术问题,本申请实施例提供一种作弊行为的识别方法及装置是这样实现的:
一种作弊行为的识别方法,包括:
根据待评估设备或账户的历史行为事件,生成历史行为序列;
计算所述历史行为序列的熵率;
确定所述历史行为序列的特征子序列;
计算所述特征子序列的权重值;
当所述熵率小于预设的第一阈值,且所述权重值大于预设的第二阈值时,识别所述待评估设备或账户在操作时作弊。
当所述历史行为序列的元素少于预设的第三阈值时,不计算该历史行为序列的熵率。
所述生成历史行为序列,包括:
提取所述评估设备上所有账户的历史行为事件,或所述待评估账户在所有设备上的历史行为事件,生成第一历史行为序列;
按照时间的先后顺序,对所述第一历史行为序列重新排序,形成第二历史行为序列。
所述计算所述历史行为序列的熵率,包括:
根据不同的阶数,对所述历史行为序列进行与所述阶数对应的分段处理,形成不同的分段结果;
计算各分段结果对应的修正条件熵;
将各分段结果对应的修正条件熵中的最小值,确定为所述历史行为序列的熵率。
所述确定所述历史行为序列的特征子序列,包括:
确定最小修正条件熵对应的阶数;
从所述阶数对应的分段结果中提取个数不小于第四阈值的子序列,确定所述子序列为所述历史行为序列的特征子序列。
所述计算所述特征子序列的权重值,包括:
从预设的特征子序列及权重值对照表中查询每个特征子序列的权重值;
计算所有特征子序列权重值的和值。
一种作弊行为的识别装置,包括:
生成单元,用于根据待评估设备或账户的历史行为事件,生成历史行为序列;
第一计算单元,用于计算所述历史行为序列的熵率;
特征子序列确定单元,用于确定所述历史行为序列的特征子序列;
第二计算单元,用于计算所述特征子序列的权重值;
识别单元,用于当所述熵率小于预设的第一阈值,且所述权重值大于预设的第二阈值时,识别所述待评估设备或账户在操作时作弊。
当所述历史行为序列的元素少于预设的第三阈值时,不计算该历史行为序列的熵率。
所述生成单元还包括:
提取单元,用于提取所述评估设备上所有账户的历史行为事件,或所述待评估账户在所有设备上的历史行为事件,生成第一历史行为序列;
排序单元,用于按照时间的先后顺序,对所述第一历史行为序列重新排序,形成第二历史行为序列。
所述第一计算单元包括:
分段单元,用于根据不同的阶数,对所述历史行为序列进行与所述阶数对应的分段处理,形成不同的分段结果;
修正条件熵计算单元,用于计算各分段结果对应的修正条件熵;
确定子单元,用于将各分段结果对应的修正条件熵中的最小值,确定为所述历史行为序列的熵率。
所述特征子序列确定单元包括:
阶数确定单元,用于确定最小修正条件熵对应的阶数;
特征子序列确定子单元,用于从所述阶数对应的分段结果中提取出现次数不小于第四阈值的子序列,确定所述子序列为所述历史行为序列的特征子序列。
所述第二计算单元包括:
查询单元,用于从预设的特征子序列及权重值对照表中查询每个特征子序列的权重值;
和值计算单元,用于计算所有特征子序列权重值的和值。
一种作弊行为的识别方法,包括:
根据待评估设备或账户的历史行为事件,生成历史行为序列;
根据不同的阶数,对所述历史行为序列进行与所述阶数对应的分段处理,形成不同的分段结果;
计算各分段结果对应的修正条件熵;
将各分段结果对应的修正条件熵中的最小值,确定为所述历史行为序列的熵率;
当所述熵率小于预设的第一阈值时,识别所述待评估设备或账户在操作时作弊。
当所述历史行为序列的元素少于预设的第三阈值时,不对该历史行为序列进行分段处理。
所述生成历史行为序列,包括:
提取所述评估设备上所有账户的历史行为事件,或所述待评估账户在所有设备上的历史行为事件,生成第一历史行为序列;
按照时间的先后顺序,对所述第一历史行为序列重新排序,形成第二历史行为序列。
一种作弊行为的识别装置,包括:
生成单元,用于根据待评估设备或账户的历史行为事件,生成历史行为序列;
分段单元,用于根据不同的阶数,对所述历史行为序列进行与所述阶数对应的分段处理,形成不同的分段结果;
修正条件熵计算单元,用于计算各分段结果对应的修正条件熵;
确定单元,用于将各分段结果对应的修正条件熵中的最小值,确定为所述历史行为序列的熵率;
识别单元,用于当所述熵率小于预设的第一阈值,识别所述待评估设备或账户在操作时作弊。
所述生成单元还包括:
提取单元,用于提取所述评估设备上所有账户的历史行为事件,或所述待评估账户在所有设备上的历史行为事件,生成第一历史行为序列;
排序单元,用于按照时间的先后顺序,对所述第一历史行为序列重新排序,形成第二历史行为序列。由以上本申请实施例提供的技术方案可见,通过确定待评估设备或账户的历史行为序列的熵率,以及历史行为序列特征子序列的权重值,综合所述熵率以及所述权重值评估设备或账户是否实施作弊行为。上述方法不仅考虑了待评估设备或账户历史行为的规律性,更进一步地挖掘按时间排序的历史行为序列的行为子特征,能够兼顾历史行为序列的规律性和顺序性,提高了识别作弊账户的概率。
具体实施方式
本申请实施例提供一种作弊行为的识别方法及装置。
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
实施例一
在本发明实施例中,可以通过计算历史行为事件的熵率值识别待评估设备或者账户是否实施作弊行为。为了进一步地提高识别概率,可以挖掘待评估设备或者账户历史行为事件中的历史特征行为。综合所述历史特征行为的权重值以及所述熵率值识别所述待评估设备或者账户是否实施作弊行为。具体实施步骤如图1所示,包括:
步骤S101:根据待评估设备或账户的历史行为,生成历史行为序列。
在实际情况中,作弊者可以在一台设备上使用一个账户实施作弊行为,也可以在多台设备上使用一个账户实施作弊行为,也可以在一台设备上使用多个账户实施作弊行为,同样地,作弊者还可以在多台设备上使用多个账户作弊行为。比如,作弊者在电脑客户端上同时用账户1以及账户2实施红包作弊行为,如果只监测账户1或者账户2,在所述情况下,可能不能识别作弊者。因此,本实施例方法不仅需要监测用户账户的历史行为,还需要监测设备的历史行为。设备以及账户的历史行为可以保存于服务器的用户历史信息数据库中,用户账户的历史行为可以与用户账户ID相对应,设备的历史行为可以与设备的唯一性标识相对应,如电脑的MAC地址,手机的IMSI序列。用户生成历史行为序列前,不仅要获取具体的历史行为,还需要获取发生该历史行为的时间。
具体地,图2是所述生成历史行为序列的流程图,如图2所示,包括:
步骤S201:提取所述评估设备上所有账户的历史行为事件,或所述待评估账户在所有设备上的历史行为事件,生成第一历史行为序列;
所述历史行为事件可以包括高危事件,所述高危事件至少包括以下一种:登录(login),付款(PayByAccount)、注册(NewRegister)、建立交易(creatTrade)、绑定资产(assetBind)、手机绑定(bindingMobile)、红包提取等。
步骤S202:按照时间的先后顺序,对所述第一历史行为序列重新排序,形成第二历史行为序列。
下面通过一个具体的例子来说明生成历史行为序列的方法过程,表1、2分别是一电脑客户端的两个账户(账户1和账户2)在2015年2月1日所发生的历史行为事件。
表1、账户1历史行为
时间 |
历史行为事件 |
09:15:34 |
NewRegister |
09:20:50 |
login |
09:30:27 |
creatTrade |
10:26:09 |
PayByAccount |
10:48:18 |
assetBind |
表2、账户2历史行为
时间 |
历史行为事件 |
09:32:47 |
NewRegister |
09:40:06 |
login |
09:44:29 |
creatTrade |
10:13:58 |
bindingMobile |
10:35:41 |
creditRepay |
11:07:46 |
assetModify |
根据步骤S201~S202生成历史行为序列的方法,确定在2015年2月1日所述电脑客户端的历史行为序列为:NewRegiste,login,createTrade,NewRegister,login,createTrade,bindingMobile,PayByAccount,creditRepay,assetBind,assetModify。
此外,在本实施例中,还可以判断生成的历史事件序列的元素数量,当该元素数量少于预设的阈值时,不对该历史事件序列进行后续的处理,而是重新选择待评估设备或账户,进行步骤S101。例如,该预设的阈值可以是20或其它的数值。由此,能够保证对历史事件序列的熵率计算的有效性,因为如果历史事件序列的元素数量过少,可能说明该设备或账户活动太少,从而没有足够的信息帮助判断是否存在作弊行为。
步骤S102:计算所述历史行为序列的熵率。
E=-∑P1logP1
熵率的计算公式如上式所示,其中,E代表历史行为序列的熵率,P1代表历史行为序列中每一个元素在全部元素中的比例。例如,在上述历史行为序列中,元素“bindingMobile”,“PayByAccount”,“creditRepay”,“assetBind”,“assetModify”都属于单点元素,单点元素的数量为5个,其比例P1为5×1/11;“NewRegiste”,“login”以及“createTrade”都属于双点元素,双点元素的比例P1为3×2/11,因此,所述历史行为序列的熵率等于-3*2/11*log(2/11)-5*1/11*log(1/11)=0.87716。
步骤S103:确定所述历史行为序列的特征子序列。
从上述历史序列中,提取个数不小于第五阈值的子序列,确定所述子序列为所述历史序列的特征子序列。所述第五阈值不小于2。在上述历史行为序列中,元素“NewRegiste”,“login”以及“createTrade”均出现两次,确定元素“NewRegiste”,“login”以及“createTrade”为所述历史行为序列的特征子序列。步骤S104:计算所述特征子序列的权重值。
确定所述历史行为序列的特征子序列后,为了确定最终识别作弊行为的计算结果,需要对所述特征子序列进行量化。实际情况中,在对设备或者账户评估之前,可以通过对已有的作弊账户及正常账户的历史行为序列进行训练和测试,确定特征子序列的权重值。例如,表3中,提取某企业2014年5月份和6月份的红包作弊账户以及正常账户的历史行为事件,以这些账户的2014年5月的历史行为事件作为训练样本,以2014年6月的历史行为事件作为测试样本。以正常账户的历史行为事件作为正样本,以红包作弊账户的历史行为事件作为负样本。可以通过计算正负样本的似然比值确定特征子序列的权重值,所述似然比值可以通过贝叶斯公式计算得到。表4示出了通过该企业2014年5、6月份的红包作弊账户以及正常账户的历史行为事件训练、测试得到的特征子序列的权重值。
表3、2014年5月和6月的样本账户情况表
表4、特征子序列及权重值对照表
序号 |
特征子序列 |
权重值 |
1 |
login,Newregister,Newregister |
12.834 |
2 |
assetBind,login,login |
11.588 |
3 |
Newregister,Newregister,login |
11.319 |
4 |
login,assetBind,login |
11.007 |
5 |
updateSecQuestion,modifyPassWord_new |
10.595 |
6 |
successCertificate,fastPaymentSign |
10.415 |
7 |
login,Newregister |
10.162 |
8 |
createTrade,bindingMobile_new |
10.090 |
9 |
drawCoupon |
10.014 |
10 |
bindingMobile_new |
9.819 |
11 |
Newregister,login |
9.760 |
12 |
login,assetBind |
9.726 |
13 |
assetBind,login |
9.601 |
… |
…… |
… |
确定特征子序列及权重值对照表后,如图3所示,计算所述特征子序列的权重值的方法包括:
步骤S301:从预设的特征子序列及权重值对照表中查询每个特征子序列的权重值。
查询待评估设备或账户历史行为序列的每个特征子序列的权重值。例如,步骤103确定本实施例步骤S202确定的历史行为序列的特征子序列包括“NewRegiste”,“login”以及“createTrade”。查询表4所示的特征子序列及权重值对照表,其中,“NewRegiste”的权重值为6.705,“login”的权重值为3.415,“createTrade”的权重值为4.070。
步骤S302:计算所有特征子序列权重值的和值。
计算各特征子序列权重值的和值,例如,本实施例步骤S202确定的所述历史行为序列所有特征子序列的权重值的和为6.705+3.415+4.070=14.190。
步骤S105:当所述熵率小于预设的第一阈值,且所述权重值大于预设的第二阈值时,识别所述待评估设备或账户在操作时作弊。
步骤S102确定了所述历史行为序列的熵率,步骤S104确定了所述历史行为序列特征子序列的权重值。在步骤S105中,综合熵率以及特征子序列的权重值评估设备或账户在操作时是否实施作弊行为。具体地,当所述熵率小于预设的第一阈值,且所述权重值大于预设的第二阈值时,识别所述待评估设备或账户在操作时作弊。所述第一阈值也可以通过对已有的作弊账户及正常账户的历史行为序列进行训练和测试来确定。例如,经过对样本账户的历史行为事件训练、测试得到的第一阈值可以设置为0.8。所述第二阈值也可以通过样本账户的历史行为事件训练、测试得到,可以设置为15或其他的数值。
当所述熵率小于预设的第一阈值,且所述权重值大于预设的第二阈值时,识别所述待评估设备或账户在操作时作弊。本实施例S202确定的历史行为序列的熵率为0.87716,特征子序列的权重值为14.190。当第一阈值为0.8,第二阈值为15时,不能识别步骤S202所述电脑客户端在操作时作弊。
利用上述实施例方法,通过确定待评估设备或账户的历史行为序列的熵率,以及历史行为序列特征子序列的权重值,综合所述熵率以及所述权重值评估设备或账户是否实施作弊行为。上述方法不仅考虑了待评估设备或账户历史行为的规律性,更进一步地挖掘按时间排序的历史行为序列的行为子特征,能够兼顾历史行为序列的规律性和顺序性,提高了识别作弊账户的概率。
实施例二
为了进一步考虑历史行为序列的顺序性,在上述实施例中计算熵率方法中对历史行为序列进行分段处理。综合所述历史特征行为的权重值以及所述熵率值识别所述待评估设备或者账户是否实施作弊行为。
在本实施例中,根据对该历史行为序列不同的分段结果,可以得到不同的多个熵率,并且,可以将该多个熵率中的最小值,作为该历史行为序列的熵率。当然,本实施例并不限于此,还可以采用其他的方法该历史行为序列的熵率。
本实施例的实施方法步骤与上一实施例的相同。步骤S101与上一实施例的具体实施方式相同,在此不再赘述。图4是上述实施例步骤S102的流程图。如图4所述,步骤S102“计算所述历史行为序列的熵率”可以包括以下步骤:
步骤S401:根据不同的阶数,对所述历史行为序列进行与所述阶数对应的分段处理,形成不同的分段结果。
在该步骤中,可以将历史行为序列分别按照与1阶、2阶、……、K阶对应的方式进行分段。分段后,每一阶数形成的分段结果包括m-L+1个的元素,其中,m代表所述历史行为序列的元素总数,L代表阶数,且1≤L≤K。
例如,对于历史行为序列“NewRegiste,login,createTrade,NewRegister,login,createTrade,bindingMobile,PayByAccount,creditRepay,assetBind,assetModify”,其1阶分段结果、2阶分段结果和3阶分段结果分别为:
1阶分段:NewRegiste,login,createTrade,NewRegister,login,createTrade,bindingMobile,PayByAccount,creditRepay,assetBind,assetModify;
2阶分段:NewRegiste login,login createTrade,createTrade NewRegister,NewRegister login,login createTrade,createTrade bindingMobile,bindingMobilePayByAccount,PayByAccount creditRepay,creditRepay assetBind,assetBindassetModify;
3阶分段:NewRegiste login createTrade,login createTrade NewRegister,createTrade NewRegister login,NewRegister login createTrade,login createTradebindingMobile,createTrade bindingMobile PayByAccount,bindingMobilePayByAccount creditRepay,PayByAccount creditRepay assetBind,creditRepayassetBind assetModify。
在上述举例中,所述历史事件序列的元素总是m为11,1阶分段结果包括11个元素,2阶分段结果包括10个元素,3阶分段结果包括9个元素。
步骤S402:计算各分段结果对应的修正条件熵。
计算各个分段结果所对应的熵率(Entropy Rate,ER),并且在步骤S403中,将该步骤所计算得到的熵率中的最小值,确定为所述历史行为序列的熵率。
熵率衡量了一个随机过程的复杂性,熵率低代表有规律的序列,熵率高代表一个趋于随机的序列。熵率被定义为,给定一个长度为N的随机变量序列,该序列的熵随N的增长率。
在本实施例中,对于历史行为序列的有限性,可以通过计算与各阶数对应的分段结果的修正条件熵(Corrected Conditional Entropy,CCE),确定所述历史行为序列的熵率。
例如,在本实施例中,可以通过下式(1),来计算各分段结果的修正条件熵:
其中,各参数含义如下:
CE代表条件熵的估计值,衡量了L-1阶到L阶空间信息变化的增量。CE=0代表长度为N的序列几乎能被长度为N-1的序列完全预测,比如123123123…;CE=E(1),代表序列每个元素完全独立,每个新的元素给序列增加了E(1)的信息量;
Bias代表条件熵相对于熵率的偏移量,用来对条件熵CE进行修正;
E(L)代表L阶分段后所得到的序列的熵,衡量了L阶分段后所得到的序列的信息量;
perc(L)代表与阶数L对应的分段结果中的单点元素在全部元素中的比例。例如,在上述1阶分段的结果中,元素“bindingMobile”,“PayByAccount”,“creditRepay”,“assetBind”,“assetModify”都属于单点元素,单点元素的数量为5个,其比例perc(1)为5/11;
E(1)代表Scale因子,表示该序列同分布的理论白噪音值,其数值等于1阶分段后所得到的序列的熵
其中,P
1代表阶数为1的分段结果中的每一元素在全部元素中的比例;
PL代表L阶分段后所得到的序列中的每个元素在全部元素中的比例。例如,在上述1阶分段的结果中,元素“NewRegiste”,“login”,“createTrade”,“bindingMobile”的数量分别为2、2、2、1,因此,元素“NewRegiste”,“login”,“createTrade”,“bindingMobile”在全部11个元素中的比例P1分别为2/11、2/11、2/11、1/11。
在上述式(1)中,随着L增大,单点变多,导致CE下降,Bias增大,因此,对于CCE=CE+Bias而言,则存在CCE的极小值,该极小值可作为有限序列熵率的最佳估值。
步骤S403:将各分段结果对应的修正条件熵中的最小值,确定为所述历史行为序列的熵率。
在该步骤中,可以将步骤S402所计算出的与多个阶数L对应的分段结果的修正条件熵CCE中的最小值,作为该离散化时间间隔序列的熵率。
表5示出了根据上述式(1),对上述步骤S401所得到的1阶分段、2阶分段和3阶分段所得到的历史行为序列分别进行计算的结果。
表5、对步骤401中历史行为序列熵率计算的结果
步骤S103:确定所述历史行为序列的特征子序列。
从上述表5的计算结果来看,修正条件熵(CCE)的计算结果相对于熵的计算结果更能反映序列的规律性。在此基础上,分段处理后的历史行为序列的最小修正条件熵进一步反映了所述历史行为序列的规律性。为了能够使得作弊行为的识别精度更加准确,在本发明实施例中,考虑了历史行为序列的顺序性特征,具体可以从按时间排序的所述历史行为序列中提取出节奏感最强的特征子序列。实现方法如图5所示,确定所述历史行为序列的特征子序列的方法包括:
步骤S501:确定最小修正条件熵对应的阶数。
最小修正条件熵最能反映所述历史行为序列的规律性,因此,最小修正条件熵对应的阶数所形成的分段序列相应地也最有规律性。从所述分段序列中可以提取出特征子序列。从表3的计算结果显示,当阶数L=2时,所述历史行为序列的修正条件熵的值最小,因此,可以从2阶分段序列“NewRegiste login,login createTrade,createTradeNewRegister,NewRegister login,login createTrade,createTrade bindingMobile,bindingMobile PayByAccount,PayByAccount creditRepay,creditRepay assetBind,assetBind assetModify”中提取特征子序列。
步骤S502:从所述阶数对应的分段结果中提取个数不小于第四阈值的子序列,确定所述子序列为所述历史行为序列的特征子序列。
从所述2阶分段子序列中,提取个数不小于第四阈值的子序列。所述第四阈值可以是2,当所述第四阈值是2时,所述特征子序列确定为“NewRegiste login”以及“logincreateTrade”。
步骤S104:计算所述特征子序列的权重值,
参照表4的特征子序列及权重值对照表,上述步骤S502确定的特征子序列“NewRegiste login”的权重值为6.705,“login createTrade”的权重值为10.162。
计算各特征子序列权重值的和值,步骤S202确定的所述历史行为序列所有特征子序列的权重值的和为6.705+10.162=16.867。
步骤S105:当所述熵率小于预设的第一阈值,且所述权重值大于预设的第二阈值时,识别所述待评估设备或账户在操作时作弊。
以表3中的样本账户为例,根据步骤S402的方法计算正负样本账户中每个账户历史行为序列的修正条件熵,根据步骤S403的方法确定每个账户历史行为序列的熵率。图6是正负样本账户历史行为序列的熵率及密度关系曲线,从所述关系曲线显示,熵率在0~0.8之间时,正样本和负样本的密度值区分不明显,熵率大于0.8后,正样本和负样本的密度值区分明显。因此,表3中的样本账户的历史行为事件训练、测试得到的第一阈值可以设置为0.8。所述第二阈值也可以通过样本账户的历史行为事件训练、测试得到,可以设置为15或其他的数值。
当所述熵率小于预设的第一阈值,且所述权重值大于预设的第二阈值时,识别所述待评估设备或账户在操作时作弊。本实施例步骤S403确定的历史行为序列的熵率为0.528728,特征子序列的权重值为16.867。当第一阈值为0.8,第二阈值为15时,可以识别步骤S202所述电脑客户端在操作时作弊。
利用上述实施例方法,通过分段计算历史行为序列的熵率,可以更加准确地反映待评估设备或者账户行为的规律性。在分段计算熵率的基础上提取的特征子序列,相对第一实施例确定的特征子序列,也更能反映历史行为序列的规律特征,进一步提高了识别作弊设备或者账户的概率。
实施例三
第二方法实施例中,可以不考虑提取特征子序列,只通过分段计算历史行为时间的熵值,也可以识别待评估设备或者账户的作弊行为。下面介绍第三个识别作弊行为的方法实施例,如图7所示,包括五个步骤:
步骤S701:根据待评估设备或账户的历史行为事件,生成历史行为序列。
和步骤S101的实施方式相同,在此不再赘述。
步骤S702:根据不同的阶数,对所述历史行为序列进行与所述阶数对应的分段处理,形成不同的分段结果。
和步骤S401的实施方式相同,在此不再赘述。
步骤S703:计算各分段结果对应的修正条件熵。
和步骤S402的实施方式相同,在此不再赘述。
步骤S704:将各分段结果对应的修正条件熵中的最小值,确定为所述历史行为序列的熵率。
和步骤S403的实施方式相同,在此不再赘述。
步骤S705:当所述熵率小于预设的第一阈值时,识别所述待评估设备或账户在操作时作弊。
参考实施例二的步骤S105,所述第一阈值的设置可以参考图6所示的正负样本账户历史行为序列的熵率及密度关系曲线,所述第一阈值可以设置为0.8。当所述熵率小于预设的第一阈值时,识别所述待评估设备或账户在操作时作弊。例如,实施例二步骤S403确定的历史行为序列的熵率为0.528728,当第一阈值为0.8,可以识别步骤S202所述电脑客户端在操作时作弊。
利用上述方法实施例,通过分段计算历史行为序列的熵值,可以简便而又精确地识别作弊行为。
下面介绍本申请一种作弊行为的识别装置的一个实施例,与所述作弊行为的识别方法相对应。
图8是本申请一种作弊行为的识别装置一个实施例的组成结构图。如图8所示,所述作弊行为的识别装置800包括:生成单元801、第一计算单元802、特征子序列确定单元803、第二计算单元804以及识别单元805。其中,
生成单元801,用于根据待评估设备或账户的历史行为,生成历史行为序列;
第一计算单元802,用于计算所述历史行为序列的熵率;
特征子序列确定单元803,用于确定所述历史行为序列的特征子序列;
第二计算单元804,用于计算所述特征子序列的权重值;
识别单元805,用于当所述熵率小于预设的第一阈值,且所述权重值大于预设的第二阈值时,识别所述待评估设备或账户在操作时作弊。
图9是本实施例的生成单元的一个组成示意图,如图9所示,该生成单元801包括提取单元901和排序单元902。其中,
提取单元901,用于提取所述评估设备上所有账户的历史行为,或所述待评估账户在所有设备上的历史行为,生成第一历史行为序列;
排序单元902,用于按照时间的先后顺序,对所述第一历史行为序列重新排序,形成第二历史行为序列。
图10是本实施例的第一计算单元的一个组成示意图,如图10所示,该第一计算单元802包括分段单元1001,修正条件熵计算单元1002以及确定子单元1003。其中,
分段单元1001,用于根据不同的阶数,对所述历史行为序列进行与所述阶数对应的分段处理,形成不同的分段结果;
修正条件熵计算单元1002,用于计算各分段结果对应的修正条件熵;
确定子单元1003,用于将各分段结果对应的修正条件熵中的最小值,确定为所述历史行为序列的熵率。
图11是本实施例的特征子序列确定单元的一个组成示意图,如图11所示,该特征子序列确定单元803包括阶数确定单元1101以及特征子序列确定子单元1102。其中,
阶数确定单元1101,用于确定最小修正条件熵对应的阶数;
特征子序列确定子单元1102,用于从所述阶数对应的分段结果中提取出现次数不小于第四阈值的子序列,确定所述子序列为所述历史行为序列的特征子序列。
图12是本实施例的第二计算单元的一个组成示意图,如图12所示,该第二计算单元804包括查询单元1201以及和值计算单元1202。其中,
查询单元1201,用于从预设的特征子序列及权重值对照表中查询每个特征子序列的权重值;
和值计算单元1202,用于计算所有特征子序列权重值的和值。
在本实施例中,识别单元805可以将第一计算单元802所计算出来的所述熵率与预设的第一阈值比较,将第二计算单元805计算出来的所述权重值与第二阈值比较,当当所述熵率小于预设的第一阈值,且所述权重值大于预设的第二阈值时,可以识别所述待评估设备或账户在操作时作弊。
关于作弊行为的识别装置800中各单元的详细说明,请参考本申请实施例作弊行为的识别方法的相应步骤,本实施例不再重复说明。
根据本申请的上述实施例,通过计算历史行为序列的熵率以及挖掘按时间排序的历史行为序列的行为子特征,能够兼顾历史行为序列的规律性和顺序性,提高了识别作弊账户的概率。
图13是本申请另一种作弊行为的识别装置一个实施例的组成结构图。如图13所示,所述作弊行为的识别装置1300包括:生成单元1301、分段单元1302、修正条件熵计算单元1303、确定单元1304以及识别单元1305。其中,
生成单元1301,用于根据待评估设备或账户的历史行为事件,生成历史行为序列;
分段单元1302,用于根据不同的阶数,对所述历史行为序列进行与所述阶数对应的分段处理,形成不同的分段结果;
修正条件熵计算单元1303,用于计算各分段结果对应的修正条件熵;
确定单元1304,用于将各分段结果对应的修正条件熵中的最小值,确定为所述历史行为序列的熵率;
识别单元1305,用于当所述熵率小于预设的第一阈值,识别所述待评估设备或账户在操作时作弊。
本实施例的生成单元1301的组成和生成单元801的组成相同,在此不再赘述。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片2。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。该计算机软件产品可以包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。该计算机软件产品可以存储在内存中,内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括短暂电脑可读媒体(transitory media),如调制的数据信号和载波。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。