本发明涉及大数据风控领域,具体涉及一种风险行为识别方法、存储介质、设备及系统。
背景技术:
在直播平台上存在一些恶意用户,这些用户通常会做一些虚假刷关注或者刷人气的行为,找到这种恶意用户有利于维持直播平台的秩序,保证平台能长期健康发展。
对于这种恶意用户的识别,通常的方法是采用强规则,即比如(1)一个账号在多个设备上登录;(2)用户的行为日志异常,如用户发了弹幕但是没有点击弹幕按钮等。然而,强规则只能找出那些特征明显的恶意用户,对于其他特征不太明显的用户则无能为力。而且目前恶意用户的作弊手段变得更加复杂化,通过伪装恶意用户的行为与正常用户越来越相似,强规则识别效果不佳。
技术实现要素:
针对现有技术中存在的缺陷,本发明的目的在于提供一种能发现作弊特征不明显的恶意用户的风险行为识别方法。
为达到以上目的,本发明采取的技术方案是:
一种风险行为识别方法,该方法包括以下步骤:
根据行为日志数据,抽取设定用户集合内每个用户的各个特定行为,并对每个用户的所有特定行为在时间窗口内按时间排序得到每个用户的特定行为序列;
利用预设的强规则找出设定用户集合内高风险的嫌疑用户,将其记为第一用户集合,并将设定用户集合剩余的用户记为第二用户集合;
根据特定行为序列设定特定行为对,计算第一用户集合中每个用户每组特定行为对的第一转移概率,以及计算第二用户集合中每个用户每组特定行为对的第二转移概率;
对于相同的特定行为对,判断第一转移概率和第二转移概率的差值是否在预设范围内,若否,则将该特定行为对记为风险特定行为对;以及
计算每组风险特定行为对的信息熵,根据信息熵大小判断用户是否为嫌疑用户。
在上述技术方案的基础上,每个用户的特定行为序列记为
在上述技术方案的基础上,
计算每个用户每组特定行为对的第一转移概率的步骤包括:
计算第一用户集合s发生两次连续的特定行为的次数npq(s),其中第一个特定行为状态值为cp而第二个特定行为状态值为cq,p=1,2,3...ku,q=1,2,3...ku;
计算第一用户集合s中状态值为cp的特定行为发生的总次数np(s);
根据公式
计算每个用户每组特定行为对的第二转移概率的步骤包括:
计算第二用户集合r发生两次连续的特定行为的次数npq(r),其中第一个特定行为状态值为cp而第二个特定行为状态值为cq,p=1,2,3...ku,q=1,2,3...ku;
计算第二用户集合r中状态值为cp的特定行为发生的总次数np(r);
根据公式
在上述技术方案的基础上,通过公式
其中,h为信息熵;
ci为用户类别,i=1,2,其中i=1时表示包含某个风险特定行为对的用户,i=2时表示不包含该风险特定行为对的用户;
cji为用户类别,j=1,2,i=1,2,其中j=1时表示嫌疑用户,j=2时表示正常用户,i=1时表示包含某个风险特定行为对的用户,i=2时表示不包含该风险特定行为对的用户;
p(ci)表示用户类别ci的用户数量在设定用户集合中的占比;
p(cji)表示在嫌疑用户中包含或者不包含某个风险特定行为对的用户数量占嫌疑用户总数的概率,和正常用户中包含或者不包含某个风险特定行为对的用户数量占正常用户总数的概率。
在上述技术方案的基础上,所述特定行为包括注册、登陆、观看直播和发弹幕。
本发明还提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
本发明还提供一种设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
本发明还提供一种风险行为识别系统,包括:
生成模块,其用于根据行为日志数据,抽取设定用户集合内每个用户的各个特定行为,并对每个用户的所有特定行为在时间窗口内按时间排序生成每个用户的特定行为序列;
分类模块,其用于根据预设的强规则找出设定用户集合内高风险的嫌疑用户,将其记为第一用户集合,并将设定用户集合剩余的用户记为第二用户集合;以及
计算模块,其根据特定行为序列设定特定行为对,并计算第一用户集合中每个用户每组特定行为对的第一转移概率,以及计算第二用户集合中每个用户每组特定行为对的第二转移概率;所述计算模块还用于对于相同的特定行为对,判断第一转移概率和第二转移概率的差值是否在预设范围内,若否,则将该特定行为对记为风险特定行为对,并计算每组风险特定行为对的信息熵,根据信息熵大小判断用户是否为嫌疑用户。
在上述技术方案的基础上,所述特定行为包括注册、登陆、观看直播和发弹幕。
在上述技术方案的基础上,所述计算模块根据所述信息熵较大的风险特定行为对区分嫌疑用户和正常用户。
与现有技术相比,本发明的优点在于:
本发明实施例中的风险行为识别方法,首先通过强规则将设定用户集合分为第一用户集合和第二用户集合,然后分别计算第一转移概率和第二转移概率,对于相同的特定行为对,通过比较第一转移概率和第二转移概率的差值是否在预设范围内,来找到风险特定行为对。再通过计算风险特定行为对的信息熵即可对正常用户和恶意用户进行区分。从而能够很好的对伪装的恶意用户进行识别,达到更好的识别效果。
附图说明
图1为本发明实施例中风险行为识别方法的的流程图;
图2为本发明实施例中设备连接框图。
具体实施方式
以下结合附图及实施例对本发明作进一步详细说明。
参见图1所示,本发明实施例提供一种风险行为识别方法,该方法包括以下步骤:
s1.根据行为日志数据,抽取设定用户集合内每个用户的各个特定行为,并对每个用户的所有特定行为在时间窗口内按时间排序得到每个用户的特定行为序列;
其中,特定行为包含注册、登陆、观看直播、发弹幕等。这些行为对于马尔科夫链中的状态,马尔科夫链是一种随机过程,它描述了一个状态序列,其每个状态值取决于前面有限个状态。马尔科夫转移概率是马尔科夫链前后相邻状态转移的可能性。按照时间顺序可以将特定行为从前到后进行排序,时间窗口可以取7天或者更长。
本发明实施例每个用户的特定行为序列记为
s2.利用预设的强规则找出设定用户集合内高风险的嫌疑用户,将其记为第一用户集合,并将设定用户集合剩余的用户记为第二用户集合;
本发明实施例中预设的强规则包括:(1)一个账号在多个设备上登录;(2)用户的行为日志异常,如用户发了弹幕但是没有点击弹幕按钮;以及其它用于发现特征明显的恶意用户的方式。利用强规则可以很容易的将这部分用户找出来。
s3.根据特定行为序列设定特定行为对,计算第一用户集合中每个用户每组特定行为对的第一转移概率,以及计算第二用户集合中每个用户每组特定行为对的第二转移概率;
虽然通过伪装的恶意用户没有明显的异常特征,但是利用海量的数据我们依然可以发现恶意用户的蛛丝马迹。通常来讲,正常用户行为与行为之间的概率分布与恶意用户相比是不一样的。举例来说,正常用户在新注册之后往往是正常的观看行为,而有目的的恶意用户在新注册之后可能就马上会做一些加关注、发弹幕等操作。
本发明实施例中计算第一转移概率和第二转移概率的方法相同,具体的,计算每个用户每组特定行为对的第一转移概率的步骤包括:
计算第一用户集合s发生两次连续的特定行为的次数npq(s),其中第一个特定行为状态值为cp而第二个特定行为状态值为cq,p=1,2,3...ku,q=1,2,3...ku;
计算第一用户集合s中状态值为cp的特定行为发生的总次数np(s);
根据公式
此外,计算每个用户每组特定行为对的第二转移概率的步骤包括:
计算第二用户集合r发生两次连续的特定行为的次数npq(r),其中第一个特定行为状态值为cp而第二个特定行为状态值为cq,p=1,2,3...ku,q=1,2,3...ku;
计算第二用户集合r中状态值为cp的特定行为发生的总次数np(r);
根据公式
s4.对于相同的特定行为对,判断第一转移概率和第二转移概率的差值是否在预设范围内,若否,则将该特定行为对记为风险特定行为对;
如果对于相同的特定行为对,ppq(s)和ppq(r)的值有明显差异,那么这样的特定行为对就是有风险的,因为ppq(s)和ppq(r)的计算是分别针对高风险的嫌疑用户和剩余用户而言的。这样根据步骤s3的结果即可找到一些风险特定行为对。
s5.计算每组风险特定行为对的信息熵,根据信息熵大小判断用户是否为嫌疑用户。
步骤s4中找到的风险特定行为对还只是存在嫌疑,还需要这些风险特定行为对做进一步的计算来确定。本发明实施例中通过公式
其中,h为信息熵;
ci为用户类别,i=1,2,其中i=1时表示包含某个风险特定行为对的用户,i=2时表示不包含该风险特定行为对的用户;
cji为用户类别,j=1,2,i=1,2,其中j=1时表示嫌疑用户,j=2时表示正常用户,i=1时表示包含某个风险特定行为对的用户,i=2时表示不包含该风险特定行为对的用户;
p(ci)表示用户类别ci的用户数量在设定用户集合中的占比;
p(cji)表示在嫌疑用户中包含或者不包含某个风险特定行为对的用户数量占嫌疑用户总数的概率,和正常用户中包含或者不包含某个风险特定行为对的用户数量占正常用户总数的概率。
下面举出一个具体的实例来进行计算:
假设全网有1000万正常用户,200万嫌疑用户。在200万嫌疑用户中有100万存在某个风险特定行为对,在1000万正常用户中有50万用户存在该风险特定行为对,于是:
包含该风险特定行为对的用户占比:
p(c1)=(50+100)/(200+1000)=150/1200;
不包含该风险特定行为对的用户占比:
p(c2)=(100+950)/(200+1000)=1050/1200;
在正常用户中,p(c21)=50/1000,p(c22)=950/1000;
在嫌疑用户中,p(c11)=100/200,p(c12)=100/200;
那么该风险特定行为对的信息熵是:
150/1200*(-100/200*log2(100/200)-100/200*log2(100/200))+1050/1200*(-50/1000*log2(50/1000)-950/1000*log(950/1000))=0.3706。
综上所述,本发明实施例中的风险行为识别方法,首先通过强规则将设定用户集合分为第一用户集合和第二用户集合,然后分别计算第一转移概率和第二转移概率,对于相同的特定行为对,通过比较第一转移概率和第二转移概率的差值是否在预设范围内,来找到风险特定行为对。再通过计算风险特定行为对的信息熵即可对正常用户和恶意用户进行区分。从而能够很好的对伪装的恶意用户进行识别,达到更好的识别效果。
对应上述的风险行为识别方法,本发明实施例还提供一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时可实现上述实施例中的风险行为识别方法的步骤。需要说明的是,存储介质包括u盘、移动硬盘、rom(read-onlymemory,只读存储器)、ram(randomaccessmemory,随机存取存储器)、磁碟或者光盘等各种可以存储程序代码的介质。
另外,参见图2所示,对应上述的风险行为识别方法,本发明实施例还提供一种设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行计算机程序时可实现上述实施例中的风险行为识别方法的步骤。
本发明实施例还提供一种风险行为识别系统,其包括生成模块、分类模块和计算模块。
其中,生成模块,其用于根据行为日志数据,抽取设定用户集合内每个用户的各个特定行为,并对每个用户的所有特定行为在时间窗口内按时间排序生成每个用户的特定行为序列。本发明实施例中的特定行为包括注册、登陆、观看直播和发弹幕。
分类模块,其用于根据预设的强规则找出设定用户集合内高风险的嫌疑用户,将其记为第一用户集合,并将设定用户集合剩余的用户记为第二用户集合。
计算模块,其根据特定行为序列设定特定行为对,并计算第一用户集合中每个用户每组特定行为对的第一转移概率,以及计算第二用户集合中每个用户每组特定行为对的第二转移概率;所述计算模块还用于对于相同的特定行为对,判断第一转移概率和第二转移概率的差值是否在预设范围内,若否,则将该特定行为对记为风险特定行为对,并计算每组风险特定行为对的信息熵,根据信息熵大小判断用户是否为嫌疑用户。
计算模块根据所述信息熵较大的风险特定行为对区分嫌疑用户和正常用户。信息熵越大说明该风险特定行为对对于正常和嫌疑用户的区分度越大,说明该风险特定行为对的风险嫌疑越大。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。