异常用户识别方法、装置、电子设备和存储介质
文献发布时间:2024-04-18 20:01:30
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种异常用户识别方法、装置、电子设备和存储介质。
背景技术
目前在直播平台,常常会有非法人员使用工具或者脚本操作账号,来进行批量作案如做一些违反直播平台规定的事情,那么这样的用户即是异常用户。这些异常用户所表现出来的行为通常是有明显共性的,并且也会留下明确的业务行为,如观看直播、发弹幕、领奖等。但是非法人员往往会潜伏一段时间来模拟正常用户的行为模式以提升账号的价值,进而导致识别异常用户的难度增大。因此,如何识别出这些异常用户以提前预警风险对直播平台来说是至关重要的问题。
发明内容
有鉴于此,本发明的目的在于提供一种异常用户识别方法、装置、电子设备和存储介质。
为了实现上述目的,本发明采用的技术方案如下:
第一方面,本发明提供一种异常用户识别方法,所述异常用户识别方法包括:
采集多个用户的特定行为的业务累计值并进行统计,获得所述特定行为的分布曲线;所述分布曲线上的每个统计点表示每个业务累计值对应的实际用户数,所述实际用户数为所述业务累计值对应的用户组的用户总数;
对于每个统计点,根据所述分布曲线建立所述统计点对应的线性回归函数,并根据所述线性回归函数计算所述统计点的业务累计值所对应的预测用户数,得到每个所述业务累计值对应的预测用户数;
根据每个所述业务累计值对应的实际用户数和预测用户数,对每个所述业务累计值对应的用户组进行检测,获得每个异常用户组及其异常用户数;
对于每个异常用户组,根据所述异常用户组的异常用户数和所述异常用户组中每个用户的多个业务行为进行识别,获得所述异常用户组中的每个异常用户,得到全部异常用户。
在可选的实施方式中,所述根据所述分布曲线建立所述统计点对应的线性回归函数的步骤,包括:
在所述分布曲线中,获取与所述统计点相邻的多个统计点得到待处理数组;
计算所述待处理数组中全部统计点的实际用户数的平均值和标准差;
按照三西格玛规则,根据所述待处理数组中每个统计点的实际用户数、所述平均值和所述标准差,确定所述待处理数组中是否存在极端统计点;
若不存在,则将所述待处理数组作为所述统计点对应的预测数组;
若存在,则确定极端统计点的总个数获得数目n,并将剔除全部极端统计点和补充n个统计点后的数组作为所述待处理数组,且重新执行所述计算所述待处理数组中全部统计点的实际用户数的平均值和标准差的步骤,直至所述待处理数组中无极端统计点;n为正整数;
根据所述统计点对应的预测数组中的全部统计点,建立所述统计点对应的线性回归函数。
在可选的实施方式中,所述根据每个所述业务累计值对应的实际用户数和预测用户数,对每个所述业务累计值对应的用户组进行检测,获得每个异常用户组及其异常用户数的步骤,包括:
对于每个业务累计值,根据所述业务累计值所属的统计点对应的线性回归函数,确定所述业务累计值对应的误差阈值;
计算所述业务累计值对应的实际用户数和预测用户数的差值,并计算所述差值与所述业务累计值对应的预测用户数的比值,得到所述业务累计值对应的误差值;
若所述业务累计值对应的误差值小于或者等于所述业务累计值对应的误差阈值,则判定所述业务累计值对应的用户组为正常用户组;
若所述业务累计值对应的误差值大于所述业务累计值对应的误差阈值,则判定所述业务累计值对应的用户组为异常用户组,并将所述差值作为该异常用户组的异常用户数;
遍历每个业务累计值,从全部用户组中获得每个异常用户组及其异常用户数。
在可选的实施方式中,所述根据所述业务累计值所属的统计点对应的线性回归函数,确定所述业务累计值对应的误差阈值的步骤,包括:
计算所述业务累计值所属的统计点对应的线性回归函数的一阶导数,得到所述业务累计值对应的调节系数;
计算所述业务累计值对应的调节系数与预设值的乘积,得到所述业务累计值对应的误差阈值。
在可选的实施方式中,所述根据所述异常用户组的异常用户数和所述异常用户组中每个用户的多个业务行为进行识别,获得所述异常用户组中的每个异常用户的步骤,包括:
根据所述异常用户组对应的目标统计点所对应的线性回归函数,获取所述目标统计点的前一个统计点或后一个统计点所对应的用户组,得到所述异常用户组对应的参照用户组;
将预设的多个业务行为分别作为待定行为,将所述异常用户组和所述参照用户组对于所述待定行为的行为分布进行对比,获得存在差异的每个目标业务行为;
将所述异常用户组中具有全部目标业务行为的每个用户均作为待定用户;
在全部待定用户的总数与所述异常用户组的异常用户数相等的情况下,将每个待定用户均作为异常用户,得到所述异常用户组中的每个异常用户。
在可选的实施方式中,所述将所述异常用户组和所述参照用户组对于所述待定行为的行为分布进行对比的步骤,包括:
计算所述异常用户组中具有所述待定行为的用户数与其用户总数的比值,得到所述待定行为对应的第一统计值;
计算所述参照用户组中具有所述待定行为的用户数与其用户总数的比值,得到所述待定行为对应的第二统计值;
计算所述待定行为对应的第一统计值和第二统计值的差值,获得所述待定行为对应的分布差值;
若所述待定行为对应的分布差值小于或者等于预设阈值,则判定所述待定行为是无差异的业务行为;
若所述待定行为对应的分布差值大于预设阈值,则判定所述待定行为是存在差异的业务行为并将所述待定行为作为目标业务行为。
在可选的实施方式中,所述异常用户识别方法,还包括:
在全部待定用户的总数与所述异常用户组的异常用户数不等的情况下,计算所述异常用户数与全部待定用户的总数的比值,得到所述异常用户组对应的异常用户占比;
根据预设算法和所述异常用户组对应的异常用户占比,对每个待定用户进行识别,获得所述异常用户组中的每个异常用户。
第二方面,本发明提供一种异常用户识别装置,所述异常用户识别装置包括:
采集模块,用于采集多个用户的特定行为的业务累计值并进行统计,获得所述特定行为的分布曲线;所述分布曲线上的每个统计点表示每个业务累计值对应的实际用户数,所述实际用户数为所述业务累计值对应的用户组的用户总数;
预测模块,用于对于每个统计点,根据所述分布曲线建立所述统计点对应的线性回归函数,并根据所述线性回归函数计算所述统计点的业务累计值所对应的预测用户数,得到每个所述业务累计值对应的预测用户数;
识别模块,用于根据每个所述业务累计值对应的实际用户数和预测用户数,对每个所述业务累计值对应的用户组进行检测,获得每个异常用户组及其异常用户数;
对于每个异常用户组,根据所述异常用户组的异常用户数和所述异常用户组中每个用户的多个业务行为进行识别,获得所述异常用户组中的每个异常用户,得到全部异常用户。
第三方面,本发明提供一种电子设备,包括处理器和存储器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时,实现前述实施方式中任一项所述的异常用户识别方法。
第四方面,本发明提供一种存储介质,所述存储介质上存储有计算机程序,该计算机程序被处理器执行时,实现前述实施方式中任一项所述的异常用户识别方法。
本发明提供的异常用户识别方法、装置、电子设备和存储介质,该方法包括:首先采集多个用户的特定行为的业务累计值并进行统计,获得特定行为的分布曲线,该分布曲线上的每个统计点表示每个业务累计值对应的实际用户数;然后根据分布曲线建立统计点对应的线性回归函数并计算该统计点的业务累计值所对应的预测用户数,以得到每个业务累计值对应的预测用户数;再根据每个业务累计值对应的实际用户数和预测用户数对每个用户组进行检测,获得每个异常用户组及其异常用户数;最后根据异常用户组的异常用户数和其每个用户的多个业务行为进行识别,获得异常用户组中的每个异常用户,以得到全部异常用户。通过统计直播平台中全局用户对于特定行为的分布曲线和进行线性拟合,并将预测的用户数量与实际的用户数量进行比较以确定出异常的用户群体,从而实现了对潜伏在直播平台的异常用户进行识别,能够对直播平台的风险进行预警提前,并为用户提供了良好的直播生态环境。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例提供的电子设备的方框示意图;
图2示出了本发明实施例提供的异常用户识别方法的流程示意图之一;
图3示出了本发明实施例提供的异常用户识别方法的流程示意图之二;
图4示出了本发明实施例提供的异常用户识别方法的流程示意图之三;
图5示出了本发明实施例提供的异常用户识别方法的流程示意图之四;
图6示出了本发明实施例提供的异常用户识别装置的一种功能模块图。
图标:100-电子设备;110-总线;120-处理器;130-存储器;170-通信接口;300-异常用户识别装置;310-采集模块;330-预测模块;350-识别模块。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
请参照图1,是本发明实施例提供的一种电子设备100的方框示意图。电子设备100包括总线110、处理器120、存储器130、通信接口170。
总线110可以是将上述元件相互连接并在上述元件之间传递通信的电路。
处理器120可以通过总线110从上述其它元件(例如存储器130、通信接口170等)接收命令,可以解释接收到的命令,并可以根据所解释的命令来执行计算或数据处理。
处理器120可以是一种集成电路芯片,具有信号处理能力。该处理器120可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
存储器130可以存储从处理器120或其它元件(例如通信接口170等)接收的命令或数据或者由处理器120或其它元件产生的命令或数据。
存储器130可以是但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)。
通信接口170可用于与其他设备进行信令或数据的通信。
可以理解的是,图1所示的结构仅为电子设备100的结构示意图,电子设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
下面将以上述的电子设备100作为执行主体,执行本发明实施例提供的各个方法中的各个步骤,并实现对应技术效果。
请参阅图2,图2是本发明实施例提供的异常用户识别方法的一种流程示意图。
步骤S202,采集多个用户的特定行为的业务累计值并进行统计,获得特定行为的分布曲线;分布曲线上的每个统计点表示每个业务累计值对应的实际用户数,实际用户数为业务累计值对应的用户组的用户总数;
其中,特定行为是预先设定的用来识别用户是否为异常用户的业务行为,其可以是观看直播或者是登录直播平台或者是发送弹幕等行为。为了便于,本发明实施例将以特定行为是观看直播为例进行说明。
在本实施例中,可以采集直播平台中多个用户当天观看直播的总时长,获得每个用户的业务累计值即总观看时长,然后对这些用户的总观看时长进行汇总和统计,即将总观看时长相同的用户组成一个用户组,则获得多个业务累计值即总观看时长对应的用户组,即获得多个统计点以及这多个统计点所组成的分布曲线。该分布曲线中的横坐标表示业务累计值即总观看时长,纵坐标表示总观看时长对应的用户组的用户总数即实际用户数。
步骤S204,对于每个统计点,根据分布曲线建立统计点对应的线性回归函数,并根据线性回归函数计算统计点的业务累计值所对应的预测用户数,得到每个业务累计值对应的预测用户数;
可以理解的是,每个统计点的处理方式类似,为了简要,下面将一个统计点作为示例进行说明。在本实施例中,可以基于分布曲线获取与当前处理的统计点相邻的多个统计点即获得多个关联统计点,然后基于这多个关联统计点处的业务累计值和实际用户数,来建立当前处理的统计点所对应的线性回归函数。
接着根据当前处理的统计点处的业务累计值和其对应的线性回归函数进行计算,即对总观看时长为其业务累计值的用户数量进行估计,则获得当前处理的统计点处的业务累计值所对应的预测用户数。按照类似的方式对每个统计点进行处理,即获得每个业务累计值对应的预测用户数。
步骤S206,根据每个业务累计值对应的实际用户数和预测用户数,对每个业务累计值对应的用户组进行检测,获得每个异常用户组及其异常用户数;
在本实施例中,对于每个业务累计值,基于该业务累计值对应的实际用户数与预测用户数之间的差异,对该业务累计值对应的用户组进行检测,即确定对应的用户组是否为异常用户组,以在全部用户组中确定出每个异常用户组,并且确定出每个异常用户组中异常用户的数量即异常用户数。
可以理解为,本发明实施例是通过对分布曲线的平滑程度进行检测,即确定分布曲线是否存在“尖刺”和其所在的位置,来识别出异常的用户组。即通过对分布曲线上的统计点进行拟合,来构建每个统计点的线性回归函数,并基于线性回归函数获得该统计点对应的预测值即预测用户数且与真实值即实际用户数进行比较,以寻找出“尖刺”即识别出异常用户组。
步骤S208,对于每个异常用户组,根据异常用户组的异常用户数和异常用户组中每个用户的多个业务行为进行识别,获得异常用户组中的每个异常用户,得到全部异常用户;
可以理解的是,虽然异常用户会模拟正常用户的行为模式,但是异常用户的行为特征与正常用户的行为特征依然存在一定的差异,所以对于获得的每个异常用户组,可以根据该异常用户组的异常用户数以及该异常用户组中每个用户的多个业务行为来进行识别,以确定出该异常用户组中的每个异常用户。按照类似的方式对每个异常用户组进行处理,即可以得到全部异常用户。
可见基于上述步骤,首先采集多个用户的特定行为的业务累计值并进行统计,获得特定行为的分布曲线,该分布曲线上的每个统计点表示每个业务累计值对应的实际用户数;然后根据分布曲线建立统计点对应的线性回归函数并计算该统计点的业务累计值所对应的预测用户数,以得到每个业务累计值对应的预测用户数;再根据每个业务累计值对应的实际用户数和预测用户数对每个用户组进行检测,获得每个异常用户组及其异常用户数;最后根据异常用户组的异常用户数和其每个用户的多个业务行为进行识别,获得异常用户组中的每个异常用户,以得到全部异常用户。通过统计直播平台中全局用户对于特定行为的分布曲线和进行线性拟合,并将预测的用户数量与实际的用户数量进行比较以确定出异常的用户群体,从而实现了对潜伏在直播平台的异常用户进行识别,能够对直播平台的风险进行预警提前,并为用户提供了良好的直播生态环境。
可选地,对于步骤S204中根据分布曲线建立统计点对应的线性回归函数的过程,本发明实施例提供了一种可能的实现方式,请参阅图3。
步骤S204-1,在分布曲线中,获取与统计点相邻的多个统计点得到待处理数组;
为了便于理解,下面将以一个示例进行说明。假设,当前处理的统计点用S
应当理解的是,对于分布曲线两端的统计点,若该统计点之前无统计点,可以获取该统计点后面的统计点来得到待处理数组;若该统计点之后无统计点,可以获取该统计点前面的统计点来得到待处理数组。并且,获取的相邻的统计点的个数可以按照实际情况设置,本发明实施例不做限定。
步骤S204-3,计算待处理数组中全部统计点的实际用户数的平均值和标准差;
步骤S204-5,按照三西格玛规则,根据待处理数组中每个统计点的实际用户数、平均值和标准差,确定待处理数组中是否存在极端统计点;
可以理解的是,为了提高拟合的线性回归函数的准确性,本发明实施例采用了三西格玛规则来对待处理数组中的干扰数据进行排查,以确保基于合理的数据来构建函数。三西格玛规则是指一组数据中,数据不属于(μ-3σ,μ+3σ)的概率小于0.03%,这些数据即为极端数据,μ表示这组数据的平均值,σ表示这组数据的标准差。
在本实施例中,基于获得的待处理数组,可以计算该待处理数组中全部统计点的实际用户数的平均值以及标准差,并按照三西格玛规则来判断该待处理数组中是否存在极端统计点。
继续以上述示例进行说明,假设待处理数组中全部统计点的实际用户数的平均值用μ
步骤S204-7A,若不存在,则将待处理数组作为统计点对应的预测数组;
在本实施例中,如果按照三西格玛规则对待处理数组中的每个统计点进行排查后,确定该待处理数组不存在极端统计点,说明该待处理数组中的全部统计点均为合理的数据,那么就将该待处理数组作为当前处理的统计点所对应的预测数组。
步骤S204-7B,若存在,则确定极端统计点的总个数获得数目n,并将剔除全部极端统计点和补充n个统计点后的数组作为待处理数组,且重新执行步骤S204-3,直至待处理数组中无极端统计点;n为正整数;
在本实施例中,如果按照三西格玛规则对待处理数组中的每个统计点进行排查后,确定该待处理数组存在极端统计点,则统计该待处理数组中极端统计点的总个数获得数目n,并将这n个极端统计点剔除掉后补充n个统计点,以获得新的待处理数组且重新执行步骤S204-3。
为了便于理解,继续以上述示例进行说明,假设待处理数组即{S
步骤S204-9,根据统计点对应的预测数组中的全部统计点,建立统计点对应的线性回归函数;
继续以上述示例进行说明,假设当前处理的统计点S
可以理解为,本发明实施例是根据微积分基本原理即光滑函数上的任意一点都可以用切线来近似,并且这个切线就是一个局部的线性函数即泰勒级数的第一项(零阶和一阶项),这表明函数在该点附近具有连续的导数,通过将这一原理用于局部线性回归,来对复杂的非线性模型进行简化分解。
可选地,对于步骤S206,本发明实施例提供了一种可能的实现方式,请参阅图4。
步骤S206-1,对于每个业务累计值,根据业务累计值所属的统计点对应的线性回归函数,确定业务累计值对应的误差阈值;
可以理解的是,每个业务累计值的处理方式类似,为了简要,下面将以一个业务累计值作为示例进行说明。在本实施例中,一个业务累计值对应一个统计点,一个统计点对应一个线性回归函数,那么可以根据业务累计值所属的统计点对应的线性回归函数,来获得该统计点处的切线斜率的近似值,并根据这个切线斜率的近似值确定该业务累计值对应的误差阈值,且基于该误差阈值来衡量该业务累计值对应的实际用户数与预测用户数之间的差异大小,以便于能够更加准确地识别出异常用户组。
需要说明的是,每个业务累计值对应的误差阈值不是常量,而是与其所属的统计点的切线斜率正相关。即统计点的切线斜率越大,表示该统计点处分布曲线的变化趋势越陡峭,那么用于判断异常点的误差阈值就应该越大,则业务累计值对应的误差阈值就越大;统计点的切线斜率越小,表示该统计点处分布曲线的变化趋势越平缓,那么用于判断异常点的误差阈值就应该越小,则业务累计值对应的误差阈值就越小。步骤S206-3,计算业务累计值对应的实际用户数和预测用户数的差值,并计算差值与业务累计值对应的预测用户数的比值,得到业务累计值对应的误差值;
在本实施例中,可以计算业务累计值对应的实际用户数和预测用户数的差值,并计算该差值与业务累计值对应的预测用户数的比值,即得到业务累计值对应的误差值。这个误差值可以理解为用于表示业务累计值对应的实际用户数与预测用户数之间的差异程度。
上述的计算过程可以用公式表示为:
步骤S206-5A,若业务累计值对应的误差值小于或者等于业务累计值对应的误差阈值,则判定业务累计值对应的用户组为正常用户组;
步骤S206-5B,若业务累计值对应的误差值大于业务累计值对应的误差阈值,则判定业务累计值对应的用户组为异常用户组,并将差值作为该异常用户组的异常用户数;
在本实施例中,基于获得的业务累计值对应的误差值和误差阈值,将两者进行比较,并基于比较结果确定该业务累计值对应的用户组是否异常。
如果业务累计值对应的误差值小于或者等于其对应的误差阈值,说明业务累计值对应的实际用户数与预测用户数之间的差异程度在预设范围内,那么就判定该业务累计值对应的用户组为正常用户组。
如果业务累计值对应的误差值大于其对应的误差阈值,说明业务累计值对应的实际用户数与预测用户数之间的差异程度不在预设范围内,那么就判定该业务累计值对应的用户组为异常用户组,并且将该业务累计值对应的实际用户数与预测用户数的差值作为该异常用户组的异常用户数。
步骤S206-7,遍历每个业务累计值,从全部用户组中获得每个异常用户组及其异常用户数;
在本实施例中,按照上述类似的方式对每个业务累计值进行处理,即可以从全部用户组中获得每个异常用户组以及其异常用户数。
可选地,对于步骤S206-1中根据业务累计值所属的统计点对应的线性回归函数,确定业务累计值对应的误差阈值的过程,本发明实施例提供了一种可能的实现方式。
步骤S206-1-1,计算业务累计值所属的统计点对应的线性回归函数的一阶导数,得到业务累计值对应的调节系数;
步骤S206-1-3,计算业务累计值对应的调节系数与预设值的乘积,得到业务累计值对应的误差阈值。
在本实施例中,可以通过计算业务累计值所属的统计点对应的线性回归函数的一阶导数的绝对值,来获得该统计点处切线斜率的近似值,即将该一阶导数的绝对值作为业务累计值对应的调节系数;并将该业务累计值对应的调节系数与预设值相乘的积,作为该业务累计值对应的误差阈值,以使不同的业务累计值具有与其适配的误差阈值。从而根据每个业务累计值所对应的误差阈值,来对其对应的用户组进行检测,以提高识别异常用户组的准确性。
例如以前述的统计点S
可选地,对于步骤S208,本发明实施例提供了一种可能的实现方式,请参阅图5。
步骤S208-1,根据异常用户组对应的目标统计点所对应的线性回归函数,获取目标统计点的前一个统计点或后一个统计点所对应的用户组,得到异常用户组对应的参照用户组;
可以理解的是,基于分布曲线整体呈光滑且连续的特性,那么就可以认为相邻两个统计点所对应的用户人群在行为特征上具有相似性。
所以在本实施例中,可以根据异常用户组对应的目标统计点所对应的线性回归函数,获取该目标统计点的前一个统计点或者后一个统计点所对应的用户组,并将该用户组作为异常用户组对应的参照用户组。可以理解为,异常用户组与其参照用户组之间的差异在于,异常用户组存在异常用户,而其参照用户组不存在异常用户。
步骤S208-3,将预设的多个业务行为分别作为待定行为,将异常用户组和参照用户组对于待定行为的行为分布进行对比,获得存在差异的每个目标业务行为;
在本实施例中,可以预先设定多个用于衡量异常用户组与其参照用户组相似性的业务行为,并且将这多个业务行为依次作为待定行为,来确定异常用户组与其参照用户组在该待定行为上是否存在差异。
例如,可以基于异常用户组中每个用户对于该待定行为的特征值,获得异常用户组对于该待定行为的行为分布,类似地,基于参照用户组中每个用户对于该待定行为的特征值,获得参照用户组对于该待定行为的行为分布,再将这两个用户组对于该待定行为的行为分布进行对比。
如果经对比确定两者无差异,说明该待定行为不能够体现出异常用户组与参照用户组的差异,那么就表明基于该待定行为无法区分出异常用户与正常用户。如果经对比确定两者存在差异,说明该待定行为能够体现出异常用户组与参照用户组的差异,那么就表明基于该待定行为可以区分出异常用户与正常用户,故将其作为目标业务行为。按照类似的方式对每个业务行为进行处理,可以从预设的全部业务行为中获得每个目标业务行为。
步骤S208-5,将异常用户组中具有全部目标业务行为的每个用户均作为待定用户;
步骤S208-7,在全部待定用户的总数与异常用户组的异常用户数相等的情况下,将每个待定用户均作为异常用户,得到异常用户组中的每个异常用户;
在本实施例中,目标业务行为可能是异常用户执行违规操作所进行的行为,那么就可以将异常用户组中具有全部目标业务行为的用户作为待定用户,这个待定用户可以理解为疑似是异常用户的用户。
然后统计全部待定用户的总数,如果该总数与异常用户组的异常用户数相等,则说明经行为对比锁定的这部分待定用户群体的数量与前述计算的实际用户数与预测用户数的差值吻合,那么就将这些待定用户作为异常用户,即得到异常用户组中的每个异常用户。
可选地,对于步骤S208-3中将异常用户组和参照用户组对于待定行为的行为分布进行对比的过程,本发明实施例提供了一种可能的实现方式。
步骤S208-3-1,计算异常用户组中具有待定行为的用户数与其用户总数的比值,得到待定行为对应的第一统计值;
步骤S208-3-3,计算参照用户组中具有待定行为的用户数与其用户总数的比值,得到待定行为对应的第二统计值;
为了便于理解,下面将以待定行为是发送弹幕为例进行说明。例如,如果用户发送过弹幕,则将用户对于该待定行为的特征值设定为1;如果用户未发送过弹幕,则将用户对于该待定行为的特征值设定为0。
根据异常用户组中每个用户是否发送过弹幕,获得异常用户组中每个用户对于该待定行为的特征值并计算这些特征值的和,即获得异常用户组中具有待定行为的用户数,再计算其与异常用户组的用户总数的比值,即得到待定行为对应的第一统计值。
根据参照用户组中每个用户是否发送过弹幕,获得参照用户组中每个用户对于该待定行为的特征值并计算这些特征值的和,即获得参照用户组中具有待定行为的用户数,再计算其与参照用户组的用户总数的比值,即得到待定行为对应的第二统计值。
步骤S208-3-5,计算待定行为对应的第一统计值和第二统计值的差值,获得待定行为对应的分布差值;
步骤S208-3-7A,若待定行为对应的分布差值小于或者等于预设阈值,则判定待定行为是无差异的业务行为;
步骤S208-3-7B,若待定行为对应的分布差值大于预设阈值,则判定待定行为是存在差异的业务行为并将待定行为作为目标业务行为;
在本实施例中,基于获得的待定行为对应的第一统计值和第二统计值,计算两者的差值,则获得待定行为对应的分布差值,其表示异常用户组与参照用户组对于待定行为的行为分布差异;然后将该待定行为对应的分布差值与预设阈值进行比较,并基于比较结果确定该待定行为是否为目标业务行为。
如果待定行为对应的分布差值小于或者等于预设阈值,说明异常用户组与参照用户组对于待定行为的行为分布差异在设定范围内,即该待定行为不能够体现出异常用户组与参照用户组之间的差异,那么就判定该待定行为是无差异的业务行为。
如果待定行为对应的分布差值大于预设阈值,说明异常用户组与参照用户组对于待定行为的行为分布的差异不在设定范围内,即该待定行为能够体现出异常用户组与参照用户组之间的差异,那么就判定该待定行为是存在差异的业务行为并其作为目标业务行为。
可选地,在步骤S208-5之后,本发明实施例还提供一种可能的实现方式,请继续参阅图5。
步骤S208-9,在全部待定用户的总数与异常用户组的异常用户数不等的情况下,计算异常用户数与全部待定用户的总数的比值,得到异常用户组对应的异常用户占比;
步骤S208-11,根据预设算法和异常用户组对应的异常用户占比,对每个待定用户进行识别,获得异常用户组中的每个异常用户。
在本实施例中,基于统计的全部待定用户的总数,如果该总数与异常用户组的异常用户数不等,则说明经行为对比锁定的这部分待定用户群体的数量与前述计算的实际用户数与预测用户数的差值有一定的误差,即全部待定用户中可能含有少量的正常用户。
那么就可以计算异常用户数与全部待定用户的总数的比值,得到异常用户组对应的异常用户占比,并采用预设算法如孤立森林算法对每个待定用户进行识别。即可以根据孤立森林算法估计每个待定用户是异常用户的概率值;若待定用户对应的概率值小于或者等于异常用户占比,则判定该待定用户是正常用户,若待定用户对应的概率值大于异常用户占比,则判定该待定用户是异常用户,以从全部待定用户中获得每个异常用户,即得到异常用户中的每个异常用户。
为了执行上述实施例及各个可能的方式中的相应步骤,下面给出一种异常用户识别装置300的实现方式。请参阅图6,图6为本发明实施例提供的一种异常用户识别装置300的功能模块图。需要说明的是,本实施例提供的异常用户识别装置300,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例未提及之处,可参考上述实施例中相应的内容。该异常用户识别装置300包括:
采集模块310,用于采集多个用户的特定行为的业务累计值并进行统计,获得特定行为的分布曲线;分布曲线上的每个统计点表示每个业务累计值对应的实际用户数,实际用户数为业务累计值对应的用户组的用户总数;
预测模块330,用于对于每个统计点,根据分布曲线建立统计点对应的线性回归函数,并根据线性回归函数计算统计点的业务累计值所对应的预测用户数,得到每个业务累计值对应的预测用户数;
识别模块350,用于根据每个业务累计值对应的实际用户数和预测用户数,对每个业务累计值对应的用户组进行检测,获得每个异常用户组及其异常用户数;对于每个异常用户组,根据异常用户组的异常用户数和异常用户组中每个用户的多个业务行为进行识别,获得异常用户组中的每个异常用户,得到全部异常用户。
可选地,预测模块330还用于:在分布曲线中,获取与统计点相邻的多个统计点得到待处理数组;计算待处理数组中全部统计点的实际用户数的平均值和标准差;按照三西格玛规则,根据待处理数组中每个统计点的实际用户数、平均值和标准差,确定待处理数组中是否存在极端统计点;若不存在,则将待处理数组作为统计点对应的预测数组;若存在,则确定极端统计点的总个数获得数目n,并将剔除全部极端统计点和补充n个统计点后的数组作为待处理数组,且重新执行计算待处理数组中全部统计点的实际用户数的平均值和标准差的步骤,直至待处理数组中无极端统计点;n为正整数;根据统计点对应的预测数组中的全部统计点,建立统计点对应的线性回归函数。
可选地,识别模块350还用于:对于每个业务累计值,根据业务累计值所属的统计点对应的线性回归函数,确定业务累计值对应的误差阈值;计算业务累计值对应的实际用户数和预测用户数的差值,并计算差值与业务累计值对应的预测用户数的比值,得到业务累计值对应的误差值;若业务累计值对应的误差值小于或者等于业务累计值对应的误差阈值,则判定业务累计值对应的用户组为正常用户组;若业务累计值对应的误差值大于业务累计值对应的误差阈值,则判定业务累计值对应的用户组为异常用户组,并将差值作为该异常用户组的异常用户数;遍历每个业务累计值,从全部用户组中获得每个异常用户组及其异常用户数。
可选地,识别模块350还用于:计算业务累计值所属的统计点对应的线性回归函数的一阶导数,得到业务累计值对应的调节系数;计算业务累计值对应的调节系数与预设值的乘积,得到业务累计值对应的误差阈值。
可选地,识别模块350还用于:根据异常用户组对应的目标统计点所对应的线性回归函数,获取目标统计点的前一个统计点或后一个统计点所对应的用户组,得到异常用户组对应的参照用户组;将预设的多个业务行为分别作为待定行为,将异常用户组和参照用户组对于待定行为的行为分布进行对比,获得存在差异的每个目标业务行为;将异常用户组中具有全部目标业务行为的每个用户均作为待定用户;在全部待定用户的总数与异常用户组的异常用户数相等的情况下,将每个待定用户均作为异常用户,得到异常用户组中的每个异常用户。
可选地,识别模块350还用于:计算异常用户组中具有待定行为的用户数与其用户总数的比值,得到待定行为对应的第一统计值;计算参照用户组中具有待定行为的用户数与其用户总数的比值,得到待定行为对应的第二统计值;计算待定行为对应的第一统计值和第二统计值的差值,获得待定行为对应的分布差值;若待定行为对应的分布差值小于或者等于预设阈值,则判定待定行为是无差异的业务行为;若待定行为对应的分布差值大于预设阈值,则判定待定行为是存在差异的业务行为并将待定行为作为目标业务行为。
可选地,识别模块350还用于:在全部待定用户的总数与异常用户组的异常用户数不等的情况下,计算异常用户数与全部待定用户的总数的比值,得到异常用户组对应的异常用户占比;根据预设算法和异常用户组对应的异常用户占比,对每个待定用户进行识别,获得异常用户组中的每个异常用户。
本发明实施例还提供了一种电子设备,包括处理器和存储器,存储器存储有计算机程序,处理器执行计算机程序时,实现本发明实施例揭示的异常用户识别方法。
本发明实施例还提供了一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现本发明实施例揭示的异常用户识别方法。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
- 一种多功能壁厚测量器具及测量方法
- 一种活塞裙部丝网印刷膜厚测量仪及其测量方法
- 一种基于激光定标测距的连铸钢包壁厚测量方法
- 一种测量斜率及型钢腿厚的装置及测量方法
- 一种型钢腿厚测量装置及测量方法