CN111698247B - 异常账号检测方法、装置、设备及存储介质 - Google Patents
异常账号检测方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111698247B CN111698247B CN202010528245.7A CN202010528245A CN111698247B CN 111698247 B CN111698247 B CN 111698247B CN 202010528245 A CN202010528245 A CN 202010528245A CN 111698247 B CN111698247 B CN 111698247B
- Authority
- CN
- China
- Prior art keywords
- account
- sequence
- determining
- abnormal
- accounts
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Abstract
本申请实施例提供了一种异常账号检测方法、装置、设备及存储介质;所述方法包括:确定表征账号集合中账号特征的序列集合;根据所述账号集合中的账号总数和每一序列在所述账号集合中出现的序列次数,确定所述每一序列的支持度;根据所述每一序列的支持度,对所述账号集合中的账号进行聚类,得到聚类结果;确定所述聚类结果的每一类别中所述异常账号样本的占比;将所述异常账号样本的占比大于等于占比阈值的类别中的待检测账号,确定为异常账号;这样,通过确定异常账号样本在类别中的分布进行异常账号识别,能够了降低异常账号样本较少对分类效果的影响,提高了检测的准确度。
Description
技术领域
本申请涉及计算机领域,尤其涉及异常账号检测方法、装置、设备及存储介质。
背景技术
基于行为特征或账号内容进行分类检测,对异常账号进行检测的过程中,需要标注较多的异常账号样本,同时由于异常账号和正常账号的数量差异较大,异常账号样本特征不容易被学习到,影响检测结果的准确度。
发明内容
本申请实施例提供一种异常账号检测方法、装置、设备及存储介质,通过确定异常账号样本在类别中的分布进行异常账号识别,能够了降低异常账号样本较少对分类效果的影响,提高了检测的准确度。
本申请实施例的技术方案是这样实现的:
第一方面,本申请实施例提供一种异常账号检测方法,包括:
确定表征账号集合中账号特征的序列集合;其中,所述账号集合包括至少一个异常账号样本和至少一个待检测账号;
根据所述账号集合中的账号总数和每一序列在所述账号集合中出现的序列次数,确定所述每一序列的支持度;
根据所述每一序列的支持度,对所述账号集合中的账号进行聚类,得到聚类结果;
确定所述聚类结果的每一类别中所述异常账号样本的占比;
将所述异常账号样本的占比大于等于占比阈值的类别中的待检测账号,确定为异常账号。
第二方面,本申请实施例提供一种异常账号检测装置,所述装置包括:
第一确定模块,用于确定表征账号集合中账号特征的序列集合;其中,所述账号集合包括至少一个异常账号样本和至少一个待检测账号;
第二确定模块,用于根据所述账号集合中的账号总数和每一序列在所述账号集合中出现的序列次数,确定所述每一序列的支持度;
第一聚类模块,用于根据所述每一序列的支持度,对所述账号集合中的账号进行聚类,得到聚类结果;
第一占比模块,用于确定所述聚类结果的每一类别中所述异常账号样本的占比;
第一检测模块,用于将所述异常账号样本的占比大于等于占比阈值的类别中的待检测账号,确定为异常账号。
第三方面,本申请实施例提供一种异常账号检测的设备,包括:存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现上述异常账号检测方法。
第四方面,本申请实施例提供一种存储介质,存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的异常账号检测方法。
本申请实施例具有以下有益效果:首先,对账号集合中的账号进行序列提取,然后,通过确定每一序列的支持度,对账号进行聚类;这样,通过对账号的特征进行聚类,能够基于少量的异常账号样本实现异常账号识别;最后,通过判断每一列表中异常账号样本的占比,将异常账号样本占比较大的类别中的待检测账号,确定为异常账号;这样,通过确定异常账号样本在类别中的分布进行异常账号识别,能够降低异常账号样本较少、正负样本严重不均衡造成的对分类效果的影响,提高了检测的准确度。
附图说明
图1是本申请实施例提供的异常账号检测系统的一个可选的架构示意图;
图2A是本申请实施例提供的异常账号检测系统的另一个可选的架构示意图;
图2B是本申请实施例提供的异常账号检测系统的结构示意图;
图3是本申请实施例提供的异常账号检测方法的实现流程示意图;
图4是本申请实施例提供的异常账号检测方法的另一实现流程示意图;
图5是本申请实施例提供的账号异常检测方法的再一实现流程示意图;
图6是本申请实施例账号异常检测方法的应用场景图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)图挖掘(Graph Mining):是指利用图模型从海量数据中发现和提起有用知识和信息的过程。通过图挖掘所获取的知识和信息已广泛应用于各种领域,如商务管理、市场分析、生产控制、科学探索和工程设计。
2)聚类:将物理或抽象对象的集合分成由类似的对象组成的多个类的过程。由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此相似,与其他簇中的对象相异。
3)图神经网络模型:数据包含许多潜在关系可以表示为图,这些数据存在于科学和工程的众多领域,比如计算机视觉、分子化学、分子生物、模式识别以及数据挖掘。对现有的神经网络模型进行了拓展,适用于处理可以表示为图的数据。
4)冷启动的问题:在相关技术中基于用户行为数据集,用户物品的数据集等已经累积的大量用户数据中进行算法推荐,形成个性化推荐系统。这些数据集的获取对于一些热门的网站或者应用程序来说也许不是个担心的问题,但是对于一些全新上线的网站等开始阶段的平台来说,如何在没有大量用户数据的情况下设计个性化推荐系统并且让用户对推荐结果满意从而愿意使用推荐系统,就是冷启动的问题。
5)分箱离散化:是一种无监督离散化方法可分为两类,等距离分箱和等频度分箱,等距离分箱即等宽度分箱,设有K个空间,则每个空间的间距I=(Max-Min)/K;等频率分箱,即等深度分箱。
6)序列模式挖掘:是指挖掘相对时间或其他模式出现频率高的模式,典型的应用还是限于离散型的序列。给定一个由不同序列组成的集合,其中,每个序列由不同的元素按顺序有序排列,每个元素(交易)由不同项目组成,同时给定一个用户指定的最小支持度阈值,序列模式挖掘就是找出所有的频繁子序列,即该子序列在序列集中的出现频率不低于用户指定的最小支持度阈值。
7)区块链(Blockchain):由区块(Block)形成的加密的、链式的交易的存储结构。
8)区块链网络(Blockchain Network):通过共识的方式将新区块纳入区块链的一系列的节点的集合。
9)云技术(Cloud Technology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
10)云存储(Cloud Storage),是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。
在相关技术中,基于行为特征或账号内容进行分类检测,将异常账号检测作为分类问题,构建账号的行为特征和分布内容特征,并训练分类模型,预测区分该账号是正常账号还是异常账号;这样,基于行为特征或账号内容进行分类检测的方法需要标注较多的异常账号样本,不太利于冷启动问题的解决,同时由于异常账号和正常账号的数量差异较大,往往分类模型需要解决样本不均衡问题,异常账号样本特征不容易被学习到。
或者,基于图网络模型进行检测,利用正常帐号和异常帐号在结构图中具有不同的结构和连接方式,将异常帐号检测问题转化为图中异常点的检测问题,再利用图挖掘的相关算法发现图中异常结构或异常节点,从而区分正常帐号和异常帐号;这样,基于图网络模型进行检测的方法需要首先构建图结构,而且映射到节点的账号特征向量往往是高维稀疏的,这对于复杂的图网络模型学习也会造成阻碍。
或者,基于无监督学习如聚类等进行检测利用异常值具有群聚的特点,从而分布上区分于正常的群体有差异,通过聚类等来进行群体划分;这样,基于无监督学习如聚类等进行检测的方法的结果往往基于不同类别之间存在着分布差异进行异常指标的构建,完全无监督的聚类方法效果往往取决于聚类结果和指标构建的准确性。
基于此,本申请实施例提供一种异常账号检测方法、装置、设备及存储介质,基于账号样本挖掘异常账号信息中所包含的频繁序列模式,从而对序列模式特征进行加权,确保非序列模式的特征权重低于序列模式,该方法更好地提取了异常账号数据中隐藏的模式信息,从而区分于正常账号进行更有针对性的学习;而且通过加权聚类算法对账号加权后的属性特征进行聚类学习,基于少量的异常账号样本在类别中的分布和规则进行异常群体识别,该方法较好地解决了冷启动异常账号样本较少、正负样本严重不均衡等影响分类效果的问题,且可解释性较高;本申请实施例建立了一套新颖的融合序列模式挖掘和加权聚类的账号异常检测方法,该方法能够更好地抽取异常账号所包含的模式信息,从而建立了一套完善的识别异常账号机制,在账号信息较少的情况下能够对异常账号进行准确的识别。
下面说明本申请实施例提供的异常账号检测的设备的示例性应用,本申请实施例提供的终端可以实施为各种类型的用户设备,也可以实施为服务器。下面,将说明终端实施为设备或服务器时示例性应用。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
参见图1,图1是本申请实施例提供的异常账号检测系统的一个可选的架构示意图,为实现支撑一个示例性应用,首先,当获取到待检测的账号集合101时,从账号样本中提取出序列集合102;然后,将每一序列在账号集合中出现的序列次数和账号集合中的账号总数进行相除,得到每一序列的支持度103;然后,基于每一序列的支持度103对账号集合中的账号进行聚类,得到聚类结果104;最后,通过判断每一类别中异常账号样本的占比105;如果该占比105大于等于占比阈值,那么将这一类别中的待检测账号确定为异常账号106,并将异常账号106输出给用户。
参见图2A,图2A是本申请实施例提供的异常账号检测系统的另一个可选的架构示意图,包括区块链网络20(示例性示出了作为原生节点的服务器200)、监测系统30(示例性示出归属于监测系统30的设备300及其图形界面301),下面分别进行说明。
区块链网络20的类型是灵活多样的,例如可以为公有链、私有链或联盟链中的任意一种。以公有链为例,任何业务主体的电子设备例如用户设备和服务器,都可以在不需要授权的情况下接入区块链网络20;以联盟链为例,业务主体在获得授权后其下辖的电子设备(例如设备/服务器)可以接入区块链网络20,此时,成为区块链网络20中的一类特殊的节点即终端节点。
需要指出地,终端节点可以只提供支持业务主体发起交易(例如,用于上链存储数据或查询链上数据)功能,对于区块链网络20的原生节点的功能,例如下文所述的排序功能、共识服务和账本功能等,终端节点可以缺省或者有选择性(例如,取决于业务主体的具体业务需求)地实现。从而,可以将业务主体的数据和业务处理逻辑最大程度迁移到区块链网络20中,通过区块链网络20实现数据和业务处理过程的可信和可追溯。
区块链网络20接收来自业务主体(例如图2A中示出的监测系统30)的终端节点(例如,图2A中示出的归属于监测系统30的设备300)提交的交易,执行交易以更新账本或者查询账本,并在设备的用户界面(例如,设备300的图形界面301)显示执行交易的各种中间结果或最终结果。
下面以监测系统接入区块链网络以实现异常账号检测的上链为例说明区块链网络的示例性应用。
监测系统30的设备300接入区块链网络20,成为区块链网络20的终端节点。设备300通过传感器获取账号集合;并且,将最终确定的异常账号反馈给区块链网络20中的服务器200或者保存在设备300中;在已对设备300部署上传逻辑或用户进行操作的情况下,设备300根据待处理任务/同步时间查询请求,生成对应更新操作/查询操作的交易,在交易中指定了实现更新操作/查询操作需要调用的智能合约、以及向智能合约传递的参数,交易还携带了监测系统30签署的数字签名(例如,使用监测系统30的数字证书中的私钥,对交易的摘要进行加密得到),并将交易广播到区块链网络20。其中,数字证书可由监测系统30向认证中心31进行登记注册得到。
区块链网络20中的原生节点,例如服务器200在接收到交易时,对交易携带的数字签名进行验证,数字签名验证成功后,根据交易中携带的监测系统30的身份,确认监测系统30是否是具有交易权限,数字签名和权限验证中的任何一个验证判断都将导致交易失败。验证成功后签署原生节点自己的数字签名(例如,使用原生节点的私钥对交易的摘要进行加密得到),并继续在区块链网络20中广播。
区块链网络20中具有排序功能的节点接收到验证成功的交易后,将交易填充到新的区块中,并广播到区块链网络20中提供共识服务的节点。
区块链网络20中的提供共识服务的节点对新区块进行共识过程以达成一致,提供账本功能的节点将新区块追加到区块链的尾部,并执行新区块中的交易:对于终端发起的异常账号检测请求,可以通过基于少量的异常账号样本在类别中的分布和预设规则进行异常账号识别,并将识别出的异常账号显示于设备300的图形界面301中。
区块链网络20中的原生节点可从区块链中读取待检测账号,并将检测账号呈现于原生节点的监测页面,原生节点也可以利用在区块链存储的检测账号,对该检测账号进行检测。
在实际应用中,可为区块链网络20的不同原生节点设置不同的功能,例如设置服务器200具有异常账号检测功能和记账功能。对于该情况,可在交易过程中,服务器200接收设备300发送的异常账号检测,在服务器200中,首先对账号集合中的账号进行序列提取,然后,通过确定每一序列的支持度,对账号进行聚类;最后,通过判断每一列表中异常账号样本的占比,将异常账号样本占比较大的类别中的待检测账号,确定为异常账号;如此,能够降低异常账号样本较少、正负样本严重不均衡造成的对分类效果的影响,从而提高了检测的准确度。
参见图2B,图2B是本申请实施例提供的异常账号检测系统的结构示意图,图2B所示的设备400包括:至少一个处理器410、存储器450、至少一个网络接口420和用户接口430。设备400中的各个组件通过总线系统440耦合在一起。可理解,总线系统440用于实现这些组件之间的连接通信。总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2B中将各种总线都标为总线系统440。
处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口430包括使得能够呈现媒体内容的一个或多个输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口430还包括一个或多个输入装置432,包括有助于用户输入的用户接口部件,在一些示例中键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器410的一个或多个存储设备。
存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(Read Only Memory,ROM),易失性存储器可以是随机存取存储器(Random Access Memory,RAM)。本申请实施例描述的存储器450旨在包括任意适合类型的存储器。
在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他计算设备,示例性的网络接口420包括:蓝牙、无线相容性认证、和通用串行总线(UniversalSerial Bus,USB)等;
呈现模块453,用于经由一个或多个与用户接口430相关联的输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块454,用于对一个或多个来自一个或多个输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的装置可以采用软件方式实现,图2B示出了存储在存储器450中的服务器455,其可以是程序和插件等形式的软件,包括以下软件模块:第一确定模块4551、第二确定模块4552、第一聚类模块4553、第一占比模块4554和第一检测模块4555;这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的装置可以采用硬件方式实现,作为示例,本申请实施例提供的装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的异常账号检测方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(Application Specific Integrated Circuit,ASIC)、DSP、可编程逻辑器件(Programmable Logic Device,PLD)、复杂可编程逻辑器件(ComplexProgrammable Logic Device,CPLD)、现场可编程门阵列(Field-Programmable GateArray,FPGA)或其他电子元件。
将结合本申请实施例提供的设备的示例性应用和实施,说明本申请实施例提供的异常账号检测方法。
参见图3,图3是本申请实施例提供的异常账号检测方法的实现流程示意图,结合图3示出的步骤进行说明。
步骤S301,确定表征账号集合中账号特征的序列集合。
在一些实施例中,账号集合中包括至少一个异常账号样本和至少一个待检测账号。异常账号样本可以理解为是具有标签的异常账号。账号可以是任意应用程序中注册的账号,比如,社交类应用程序、购物类应用程序或新闻类应用程序等。异常账号样本可以理解为是对用户造成不良影响的账号,以购物类应用程序的账号为例进行说明,异常账号样本可以是购物类应用程序中进行刷单刷量等账号;以社交类应用程序为例进行说明,异常账号样本可以是社交类应用程序中对其他用户账号发送诈骗信息或者向其他用户账号发送不合法的信息等之类的账号。
在一些可能的实现方式中,获取到待检测账号之后,首先构造既包括异常账号样本和待检测账号的账号集合;并且对于账号集合中的账号进行账号特征的构建,以从中提取序列集合。首先,对账号集合中的账号进行特征提取,得到账号特征集合;比如,对账号的账号信息进行特征提取,得到账号特征集合,其中,账号信息至少包括用户注册填写信息和配置采集信息、账号内容、账号行为数据等;用户注册填写信息如头像、昵称、性别、年龄、地区、个性签名、相册封面等;配置采集信息如注册IP、注册手机号、操作系统版本号、网络等;账号行为数据如模式设置、通用功能设置、设备绑定等。
然后,对账号特征集合中满足条件的特征进行处理,得到更新特征集合。比如,对与同类特征中的大多数之间的差异较大的特征进行删除,对于缺失值过多(比如,大于一定阈值)的特征也进行删除,并且对于缺失值数量小于一定阈值的特征进行填充,以达到优化特征的目的,从而使得到的更新特征集合中包含的特征是有效的且合理的。
最后,按照至少一个预设前缀特征长度,对更新特征集合中的更新特征进行至少一次划分,得到序列集合。其中,预设前缀长度可以是根据更新特征集合中大多数(比如,一半以上)特征的普遍长度确定的,或者根据更新特征集合中长度最大的特征来确定预设前缀特征长度。比如,根据更新特征集合中特征的最大长度,将预设前缀特征长度设置为小于等于该最大长度;在一个具体例子中,最大长度为4,可以将预设前缀长度分别设置为1,2,3和4,采用这样4个前缀特征长度,对更新特征集合中的更新特征进行划分四次,得到序列集合,即得到的序列集合中包括每一种前缀特征长度的序列。
在本申请实施例中,对账号特征集合中满足条件的特征进行处理的过程可以通过以下多种方式实现:
方式一:第一步,根据所述账号特征集合中的账号特征的描述信息,对所述账号特征集合中的账号特征进行分类。
在一些实施例中,账号特征的描述信息可以理解为用于描述该账号特征实质内容的信息,比如,账号特征是网络地址,那么该账号特征的描述信息即为描述网络地址的信息,比如,该账号的描述信息可以是互联网上的节点在网络中具有的逻辑地址。基于此,将描述信息相似的特征划分为一类,比如,每一个账号的网络地址为一类、用户姓名为一类、性别为一类以及地区为一类等。
第二步,确定每一类别的账号特征的特征值。
账号特征的特征值,可以理解为是账号特征的具体数值,比如,账号特征是用户年龄,特征值即为用户年龄具体为多少岁。对于同一类别中的特征,确定出每一特征的特征值。
第三步,将同一类别的账号特征中,特征值大于所述类别相匹配的特征阈值的特征进行过滤,得到所述更新特征集合。
对于同一类别的账号特征,将特征值明显大于该类别相匹配的特征阈值的特征进行删除,比如,账号特征为年龄,在该类别的账号特征中,有一个特征值为200岁,明显大于年龄的特征阈值(比如,100岁),将这样特征值明显异常的特征进行删除,能够优化特征集合。
方式二:第一步,确定账号集合中每一账号缺失的账号特征集合中的缺失特征。
对于每一个账号,确定该账号缺失的账号特征集合中的缺失特征;比如,账号特征集合中包括:姓名、性别、年龄和网络地址;该账号中包括的账号特征仅有姓名、性别和网络地址,说明该账号缺失年龄这一特征。
第二步,确定缺失特征的特征值所属的数据类型。
数据类型包括:离散型和连续型;对于每一个账号的缺失特征,确定该缺失特征是离散型数据还是连续型数据。在一个具体例子中,如果缺失特征为年龄,那么该缺失特征的数据类型为连续型;如果缺失特征为性别,那么该缺失特征为离散型。
第三步,采用与数据类型相匹配的预设特征值,对缺失特征进行填充,得到更新特征集合。
在一些实施例中,与数据类型相匹配的预设特征值对缺失特征进行填充,可以理解为是如果特征值的数据类型是离散型,则采用离散型相匹配的预设特征值对缺失特征的特征值进行填充;或者,如果特征值的数据类型是连续型,则采用连续型相匹配的预设特征值对缺失特征的特征值进行填充。
在一些可能的实现方式中,采用与数据类型相匹配的预设特征值,对缺失特征进行填充的方式可以通过以下过程实现:如果缺失特征的特征值为离散型,采用预设常数进行填充;比如,缺失特征为性别,该缺失特征的特征值为离散型,根据该用户的其他特征推测,该用户的实际性别,如果推测出性别是女,则采用预设常数0进行填充,如果推测出性别是男,则采用预设常数1进行填充。或者,如果缺失特征的特征值为连续型特征,确定缺失特征的特征值在所述账号特征集合中的平均值;比如,某一账号的缺失特征为年龄,首先确定在账号特征集合中年龄这一特征的平均值。采用所述平均值对缺失特征进行填充,比如,采用年龄这一特征的平均值对缺失年龄的账号进行填充,以提高填充后的账号中特征的丰富性。
步骤S302,根据账号集合中的账号总数和每一序列在账号集合中出现的序列次数,确定每一序列的支持度。
在一些可能的实现方式中,通过对账号总数进行统计,以及,对每一序列在账号集合中出现的次数,即序列次数,将序列次数与账号总数相除,得到该序列的支持度。
步骤S303,根据每一序列的支持度,对账号集合中账号进行聚类,得到聚类结果。在一些可能的实现方式中,对于每一个序列,通过判断序列的支持度与预设最小支持度之间的大小关系,来确定该序列的在序列集合中的权重,然后采用这一权重对该序列进行加权聚类,从而得到聚类结果。聚类结果中包括多种类别,每一类别中有至少一个序列。
步骤S304,确定聚类结果的每一类别中异常账号样本的占比。在一些实施例中,对于聚类结果中的每一种类别,确定该类别中异常账号样本占据的比例;比如,年龄类别的账号有10个,其中,异常账号样本有2个,确定异常账号样本占据的比例为0.2。
步骤S305,将异常账号样本的占比大于等于占比阈值的类别中的待检测账号,确定为异常账号。在一些实施例中,首先,确定出占比大于等于占比阈值(比如大于等于0.5)的类别,将这一类别中的账号确定为异常账号群体,由于待检测账号与大量的异常账号样本被聚类为一类,说明该类别中的待检测账号为异常账号的概率非常。
在本申请实施例中,基于少量的异常账号样本在类别中的分布进行异常群体识别,能够降低异常账号样本较少、正负样本严重不均衡造成的对聚类效果的影响,从而能够更加准确的检测出待检测账号中的异常账号。
在一些实施例中,通过加权聚类算法对账号加权后的属性特征进行聚类,从而能够提高在少量样本下异常账号检测的准确率,即步骤S303,可以通过以下步骤实现,参见图4,图4是本申请实施例提供的异常账号检测方法的另一实现流程示意图,结合图3进行以下说明:
步骤S401,根据序列的支持度,确定账号在账号集合中的权重。
在一些可能的实现方式中,通过判断序列的支持度与预设的最小支持度之间的大小关系,确定出序列集合中的频繁序列和非频繁序列,并基于这两种序列的权重,来计算账号的权重,从而对账号进行加权聚类,过程如下:
首先,在序列集合中,确定支持度大于等于支持度阈值的频繁序列和支持度小于所述支持度阈值的非频繁序列。
比如,设定支持度阈值为0.5,如果序列集合中序列的支持度大于0.5,说明这一序列在账号集合中出现的次数是很频繁的,所以划分为频繁序列,如果支持度小于0.5说明这一序列在账号集合中出现的次数是比较少的,所以划分为非频繁序列。这样,将序列集合中的序列根据支持度的不同,划分为频繁序列和非频繁序列,从而对频繁序列和非频繁序列设定不同的权重,使得频繁序列和非频繁序列的受关注程度不同。
其次,将频繁序列的支持度确定为频繁序列的第一权重,并且账号集合中根据包括非频繁序列的账号数量和账号总数,确定非频繁序列的第二权重。
在一些实施例中,由于频繁序列的支持度较高,这样将频繁序列的支持度作为频繁序列的第一权重,能够使频繁序列的账号特征在后续学习中得到更多的关注。由于非频繁序列的支持度较低,根据账号集合中包含非频繁序列的账号数量和账号总数,来确定非频繁序列的第二权重,比如,将账号集合中包含非频繁序列的账号数量和账号总数相除,作为第二权重;或者,直接将预设的支持度阈值(即预设的最小支持度)作为第二权重,这样,将预设的最小支持率设置为非频繁序列的账号样本特征权重,该特征权重低于频繁序列的账号样本特征权重,从而使频繁序列的账号样本特征在后续学习中占据的权重更大。
最后,根据每一账号中包括的频繁序列的第一权重和非频繁序列的第二权重,确定每一账号在账号集合中的权重。
在一些实施例中,对于每一个账号,均确定出该账号的在账号集合中的权重,比如,将该账号中的第一权重与第一权重对应的频繁序列在该账号中出现的次数相乘,将第二权重与第二权重对应的非频繁序列在该账号中出现的次数相乘,将两个乘积结果相加,将相加结果除以频繁序列与非频繁序列在该账号中出现的总次数,将得到的商作为该账号在账号集合中的权重。
步骤S402,采用权重,对账号集合中的账号进行加权聚类,得到聚类结果。
在一些可能的实现方式中,采用每一账号权重对该账号进行加权并聚类,从而得到聚类结果。可以通过以下过程实现:首先,根据每一账号的账号特征,确定至少两个账号之间的相似度;比如,确定账号集合中所有特征之间的相似度。然后,将相似度大于相似度阈值的至少两个账号,划分为同一类别;比如,有5个账号的账号特征之间的相似度大于相似度阈值(比如,大于0.7),将这样的账号特征划分为同一类别的账号特征。最后,采用同一类别中的账号的权重,一一对应地对同一类别中的账号进行加权并求和,以得到聚类结果。比如,同一类别中的5个账号的权重分别为0.1,0.2,0.1,0.3和0.4,采用这样5个权重一一对应与表征账号的向量进行相乘,以调整相应向量在聚类过程中的影响力,这样将同一类的账号的权重与账号的向量相乘并求和之后,即可得到这一类账号的聚类结果,依次类推,对与每一类别的账号都这样将同一类的账号的权重与账号的向量相乘并求和,即可得到账号集合的聚类结果。
在一些实施例中,在所述序列集合中,确定支持度大于等于支持度阈值的频繁序列,可以通过以下过程实现:
首先,按照至少一个不同的预设长度,对所述序列集合的前缀特征长度进行划分,得到包括至少一个前缀特征长度的前缀特征长度集;然后,确定每一前缀特征长度的序列子集合;最后,采用序列模式挖掘算法,对所述序列子集合进行挖掘,确定所述支持度大于等于支持度阈值的频繁序列。
在一些可能的实现方式中,采用序列模式挖掘算法,对所述序列子集合进行挖掘,确定所述支持度大于等于支持度阈值的频繁序列可以通过以下步骤实现:
第一步,确定序列集合中,前缀特征长度为第一预设长度的第一序列子集合。
比如,第一预设长度为单位长度1,在序列集合中,找出前缀特征长度为单位长度1的第一序列子集。
第二步,确定第一序列子集合中每一第一序列在账号集合中出现的频率。
在一些可能的实现方式中,第一序列在账号集合中出现的频率可以通过将第一序列在出现的账号的数量与账号总数相除,得到;也可以理解为是第一序列在账号中出现的次数与账号总数的比值,或者是拥有该第一序列的账号数量与账号总数的比值。
第三步,将出现的频率大于等于所述支持度阈值的第一序列,确定为所述频繁序列的一部分。
在一些实施例中,将出现频率较大的第一序列,作为频繁序列,比如,出现频率大于支持度阈值(0.5)的第一序列作为频繁序列。
第四步,确定所述序列集合中,前缀特征长度为第二预设长度的第二序列子集合。
在一些实施例中,所述第二预设长度大于所述第一预设长度;比如,第二预设长度比第一预设长度大1个长度,在一个具体例子中,将第二预设长度设置为长度2,即从序列集合中找出前缀特征长度为2的第二序列,得到第二序列子集。
第五步,确定所述第二序列子集合中每一第二序列在所述账号集合中出现的频率。
在一些可能的实现方式中,第二序列在账号集合中出现的频率可以通过将第二序列在出现的账号的数量与账号总数相除,得到;也可以理解为是第二序列在账号中出现的次数与账号总数的比值,或者是拥有该第二序列的账号数量与账号总数的比值。
第六步,将出现的频率大于等于所述支持度阈值的第二序列,确定为所述频繁序列的另一部分。
第七步,以此类推,将确定序列集合中,前缀特征长度为第n预设长度的第n序列子集合,确定所述第n序列子集合中每一第n序列在所述账号集合中出现的频率,将出现的频率大于等于所述支持度阈值的第n序列,确定为所述频繁序列的又一部分。
其中,n为大于0的整数,n的最大值,可以是序列集合的最大前缀特征长度。
在本申请实施例中,将出现频率较大的第二序列,作为频繁序列,比如,出现频率大于支持度阈值(0.5)的第二序列作为频繁序列。这样,首先,在序列集合找出单位长度为1的序列前缀和对应投影数据集;然后,统计该序列前缀出现频率并将支持度高于最小支持度阈值的前缀添加到数据集,获取频繁序列的一部分;最后,对所有长度为i且满足最小支持度要求的前缀递归挖掘,以得到最终的频繁序列;如此,每次增加一个前缀特征长度,对序列集合中的序列进行多次迭代,得到多个前缀特征长度下的频繁序列。
在一些实施例中,对于新的账号,同样能够通过账号样本特征构建和样本加权,判定新样本是否为异常账号样本,具体可以通过以下两种方式实现:
方式一:
第一步,将异常账号样本的占比大于等于占比阈值的类别中包括的账号,确定为异常账号群体。
在一些可能的实现方式中,对于账号集合中的账号,将异常账号样本占据的占比大于占比阈值的类别中包括的账号,确定为异常账号群体。比如,网络地址这一类别中,异常账号占据的占比大于占比阈值,那么将网络地址这一类别中包括的账号,确定为异常账号群体,即这一类别中包括的账号为异常账号的可能性较大。
第二步,对检测到的新账号的进行特征提取,得到新账号特征向量。
在一些可能的实现方式中,当有新账号时,首先提取该新账号的账号特征向量。
第三步,确定所述新账号特征向量与所述异常账号群体的中心向量之间的夹角。
在一些可能的实现方式中,首先,确定出异常账号群体的中心向量,即能够表征异常账号群体中心的特征向量,然后,确定出新账号特征向量与中心向量之间的距离,比如,两个向量之间的余弦距离。
第四步,如果所述夹角小于等于角度阈值,确定所述新账号为异常账号。
比如,夹角越小说明两个向量之间的距离越近,说明两个向量越相似,则新账号为异常账号的概率越大。比如,如果夹角小于5°,确定新账号为异常账号。
在方式一中,通过计算新账号样本特征向量与异常账号样本群体的中心距离。距离越近则说明该新样本为异常账号样本的概率越大,通过距离计算量化来预测异常账号。
方式二:
将新账号的特征向量与账号集合中的所有账号的特征向量进行加权聚类,完成聚类后,确定新账号的特征向量所属类别中异常账号样本的占比,所属类别异常账号样本数占比越高,则表示新账号样本为异常账号的概率越大。
本发明提出了一种异常账号检测方法,通过序列模式挖掘账号信息的频繁序列,从而挖掘异常账号信息中隐藏模式,对模式特征的类型编码进行加权,构建更有区分度的特征进行建模;同时本申请实施例通过加权聚类算法对异常账号样本群体进行聚类,基于聚类结果提供了两种预测异常账号的可行方案,在实际应用中具有较高的参考价值和指导意义。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用,以针对包括文本信息的待识别图像,采用光学字符识别得到识别结果,进行异常账号检测为例,进行说明。
本申请实施例提供了一种实现融合序列模式挖掘和加权聚类的账号异常检测的方式,通过分别包括构建账号特征并进行特征值编码,然后基于序列模式挖掘账号信息的频繁序列,再基于序列模式支持度计算账号样本特征权重;最后,构建加权聚类算法对账号信息进行聚类;基于聚类结果和异常分布检测异常账号。实现该方式的流程如图5所示,图5是本申请实施例提供的账号异常检测方法的再一实现流程示意图,结合图5所示的步骤进行以下说明:
步骤S501,构建账号特征并进行特征值编码。
在本申请实施例中,基于用户注册填写信息和配置采集信息、账号内容、账号行为数据等构建用户账号特征,并过滤特征值超过分布占比阈值的特征。其中,用户注册填写信息包括:如头像、昵称、性别、年龄、地区、个性签名、相册封面等;配置采集信息包括:如注册IP、注册手机号、操作系统版本号、网络等;账号行为数据包括:如模式设置、通用功能设置、设备绑定等。
接下来进行数据预处理并构建账号特征,步骤具体包括:
首先,舍弃缺失值过多的特征:设定缺失值过滤阈值=样本数据量×N,N∈[0,1],N假设为0.4,若某特征数据缺失的数量超过该阈值则过滤这个特征,同时删除单值特征;
再次,进行缺失值处理:连续型特征用均值填充,离散型特征用常数填充作为单独的类别;
再次,特征构造:连续型特征进行分箱离散化,例如根据账号特征在各区间的值分布进行分箱;
最后,分箱连续型特征与离散型特征进行类型编码。
其中,连续型特征如表1和表2所示,年龄(连续型特征)编码如下:
表1连续型特征中的年龄的编码
年龄分箱 | 年龄编码 |
18-25 | 年龄a |
26-30 | 年龄b |
31-35 | 年龄c |
36-40 | 年龄d |
41-45 | 年龄e |
46-50 | 年龄f |
51-60 | 年龄g |
60以上 | 年龄h |
离散型特征如表2和表3所示,其中,表2为性别(离散型特征)编码,表3为注册IP地址(离散型特征)编码。
表2离散型特征中的性别的编码
表3离散型特征中的注册IP地址的编码
注册IP | 注册IP编码 |
183.14.30.188 | IP_1 |
183.14.53.86 | IP_2 |
183.14.22.14 | IP_3 |
183.10.11.10 | IP_4 |
... | ... |
通过以上步骤将账号特征按照各个字段类型进行类型编码。
另外从用户举报、账号封禁等方式召回一批异常账号作为样本。
步骤S502,基于序列模式挖掘账号信息的频繁序列。
在一些实施例中,由于异常账号的账号特征受资源环境等客观条件的影响,特征属性取值往往出现群聚性,因此特征编码往往包含一定规律模式,本申请实施例基于前缀跨度(Prefixspan)算法挖掘账号信息特征编码序列模式。
基于Prefixspan算法挖掘账号信息特征编码矩阵中满足最小支持度阈值的各个长度的频繁序列模式。同时,使用多最小支持度策略,最小支持度的计算方法如公式(1)所示:
min_sup=a×n (1);
其中,n为账号样本数,a为最小支持率,最小支持率参数根据样本集的数量进行调整。
算法的具体操作步骤如下:
第一步,找出单位长度为1的账号信息特征编码序列前缀和对应投影数据集。
第二步,统计账号信息特征编码序列前缀出现频率并将支持度高于最小支持度阈值的前缀添加到数据集,获取频繁一项集序列模式。
第三步,对所有长度为i(i为大于等于1的整数)且满足最小支持度要求的前缀递归挖掘:
首先,挖掘前缀的投影数据集,如果投影数据为空集合,则返回递归;
然后,统计对应投影数据集中各项的最小支持度,将满足支持度的各单项与当前前缀合并,得到新前缀,不满足支持度要求则递归返回;
最后,令i=i+1,前缀为合并单项后的各个新前缀,分别递归执行第三步。
第四步,返回该账号信息特征编码序列样本集中所有的频繁特征编码序列模式。
以上是Prefixspan算法的原理描述,以下举例说明账号信息特征编码矩阵具体的挖掘方式,如表4所示,表4描述了不同账号信息特征。
表4不同账号信息特征
基于Prefixspan算法挖掘账号信息特征编码序列中蕴含的序列模式,假设所设定的最小支持率阈值为0.5,首先统计表4中所有类型特征的频率,统计结果如表5所示:
表5类型特征在账号样本中出现的频率
过滤不符合支持率阈值的类型特征,将符合阈值的类型编码构造一项前缀与其对应后缀,结果如表6所示:
表6符合阈值的类型编码构造的一项前缀与其对应后缀
从表6可以看出,对于账号1和2,挖掘符合阈值的类型编码构造一项前缀时,IP_73158的后缀为:系统版本_224、网络_888和新消息提醒功能_861(账号1中的特征);系统版本_224、网络_888和新消息提醒功能_861(账号2中的特征);系统版本_224的后缀为:两个网络_888和两个新消息提醒功能_8611;网络_888的后缀为两个新消息提醒功能_861。
以一项前缀为“IP_73158”为例,继续挖掘满足最小支持度阈值的二项前缀和对应后缀,如表7所示:
表7符合阈值的类型编码构造的二项前缀与其对应后缀
从表7可以看出,对于账号1和2,挖掘符合阈值的类型编码构造二项前缀时,IP_73158和系统版本_224的后缀为:两个网络_888和两个新消息提醒功能_861;IP_73158和网络_888的后缀为:两个新消息提醒功能_861;显然IP_73158和新消息提醒功能_861没有对应后缀。
以二项前缀为“IP_73158、系统版本_224”为例,继续挖掘满足最小支持度阈值的三项前缀和对应后缀,如表8所示:
表8符合阈值的类型编码构造的三项前缀与其对应后缀
从表8可以看出,对于账号1和2,挖掘符合阈值的类型编码构造二项前缀时,IP_73158、系统版本_224和网络_888的后缀为两个新消息提醒功能_861;显然,IP_73158、系统版本_224和新消息提醒功能_861没有对应后缀。
以三项前缀为“IP_73158、系统版本_224、网络_888”为例,继续挖掘满足最小支持度阈值的四项前缀和对应后缀,如表9所示:
表9符合阈值的类型编码构造的四项前缀与其对应后缀
从表9可以看出,继续挖掘满足最小支持度阈值的四项前缀时,由于账号特征中只包括IP_73158、系统版本_224、网络_888和新消息提醒功能_861这四项,所以没有对应后缀,即在表9中,对应后缀处为空。
迭代结束,获取各个长度的账号信息特征编码序列模式及其对应的支持度,序列模式支持度计算方式公式(2)所示:
步骤S503,根据序列模式支持度计算账号样本特征权重。
这里,计算获取序列模式特征支持度作为序列模式特征的权重,对于非序列模式的特征,权重有两种计算方式:
将步骤S502中的最小支持率a设置为非序列模式的账号样本特征权重,该特征权重低于序列模式的账号样本特征权重,从而使序列模式的账号样本特征在后续学习中得到更多的关注。在本申请实施例中,将非序列模式的账号样本特征权重设置为如公式(3)所示:
由于非序列模式的账号样本特征出现的样本较少,该权重同样低于序列模式的账号样本特征权重,从而使序列模式的账号样本特征在后续学习中得到更多的关注。获取账号样本特征的序列模式特征权重和非序列模式特征权重后,将所有的账号样本特征权重进行特征加权得到账号样本权重,例如账号样本A的特征为“AaBcAort”,其中序列模式特征为“AaBcA”,权重度为0.56,非序列模式特征为“ort”,权重为0.5,那么账号样本权重为:(0.56*5+0.5*2)/(5+2)=0.54。
在本申请实施例中,构建每个账号样本的样本权重如表10所示:
表10每个账号样本的样本权重
包含序列模式 | 账号样本 | 样本权重 |
bcagh | 账号样本1 | 0.76 |
bcagh | 账号样本2 | 0.76 |
bcagh | 账号样本3 | 0.76 |
bcagh | 账号样本4 | 0.76 |
AaB | 账号样本5 | 0.85 |
AaB | 账号样本6 | 0.85 |
AaB | 账号样本7 | 0.85 |
acdhg | 账号样本8 | 0.92 |
acdhg | 账号样本9 | 0.92 |
… | … | … |
… | … | … |
… | 账号样本n | 样本权重p |
步骤S504,构建加权聚类算法对账号信息进行聚类。
在本申请实施例中,基于步骤S501给出的方式对账号样本特征进行处理,对连续型特征进行分箱离散化、离散型特征进行one-hot编码,从而构造账号样本模型输入特征。
根据步骤S503计算得到的每个账号样本的样本权重对账号样本模型输入特征进行加权,构建样本加权聚类算法对特征向量进行聚类,具体聚类过程如下:
在传统的基于划分的聚类算法中,一般都是对聚类样本同等对待,例如K均值聚类算法(K-Means Clustering Algorithm,K-means)、最大期望算法(Expectation-maximi,EM)等。在不考虑样本权重的前提下,K-means聚类算法在准则函数收敛时结束聚类,准则函数如公式(4)所示:
本申请实施例方法利用向量夹角的余弦计算相似度。考虑样本加权的聚类算法,对样本加权后聚类的准则函数如公式(6)所示:
其中,wj为聚类样本i的权重,对应步骤3的样本权重,通过加权聚类得到账号样本信息的加权聚类结果。
步骤S505,基于聚类结果和异常分布检测异常账号。
基于步骤S504的聚类结果,根据步骤1构建的异常账号样本作为监督信息,判断聚类后各个类别中异常账号样本的占比和分布,设定异常分布占比阈值,将超过异常分布占比阈值的类别作为异常账号样本群体。
对于新的账号样本,同样基于以上步骤进行账号样本特征构建和样本加权,可通过两种方式判定新样本是否为异常账号样本:
方式一:计算新账号样本特征向量与异常账号样本群体的中心距离,如余弦距离。距离越近则说明该新样本为异常账号样本的概率越大,通过距离计算量化来预测异常账号。
方式二:将新账号样本特征向量与所有账号样本特征向量进行步骤4加权聚类,完成聚类后计算新账号样本特征向量所属类别中异常账号样本数占比,所属类别异常账号样本数占比越高则表示新账号样本为异常账号的概率越大。
图6是本申请实施例账号异常检测方法的应用场景图,从图6可以看出,针对购物类应用程序601,其中,包括购物账号61、购物账号62、购物账号63、购物账号64和购物账号65;通过统计每一个购物账号的日交易量,可以看出,在一个月(30天)之内,购物账号61的月购买量为30,即日均交易量为1;购物账号62的月购买量为15,即日均交易量为0.5;购物账号63的月购买量为450,即日均交易量为15;购物账号64的月购买量为600,即日均交易量为20;购物账号65的月购买量为0,即日均交易量为0;由于购物账号63和64的日均交易量显然过大,从而可以确定购物账号63和64有很大概率为刷单账号,所以确定购物账号63和64为异常账号。
本申请实施例提出了一种融合序列模式挖掘和加权聚类的账号异常检测方法及装置,本申请实施例方法通过序列模式挖掘账号信息的频繁序列,从而挖掘异常账号信息中隐藏模式,对模式特征的类型编码进行加权,构建更有区分度的特征进行建模;同时本申请实施例方法通过加权聚类算法对异常账号样本群体进行聚类,基于聚类结果提供了两种预测异常账号的可行方案,该方法在实际应用中具有较高的参考价值和指导意义。
本申请实施例提出了一种账号异常检测方法,该方法同样适用于其他异常检测领域,即融合序列模式挖掘和加权聚类的异常检测方法都在本申请的保护范围之内。
下面继续说明本申请实施例提供的异常账号检测的服务器455的实施为软件模块的示例性结构,在一些实施例中,如图2B所示,存储在存储器450的异常账号检测的服务器455中的软件模块可以包括:第一确定模块4551,用于确定表征账号集合中账号特征的序列集合;其中,所述账号集合包括至少一个异常账号样本和至少一个待检测账号;第二确定模块4552,用于根据所述账号集合中的账号总数和每一序列在所述账号集合中出现的序列次数,确定所述每一序列的支持度;第一聚类模块4553,用于根据所述每一序列的支持度,对所述账号集合中的账号进行聚类,得到聚类结果;第一占比模块4554,用于确定所述聚类结果的每一类别中所述异常账号样的占比;第一检测模块4555,用于将所述异常账号样的占比大于等于占比阈值的类别中的待检测账号,确定为异常账号。
在一些实施例中,所述第一确定模块4551,还用于:对所述账号集合中的账号进行特征提取,得到账号特征集合;对所述账号特征集合中满足条件的特征进行处理,得到更新特征集合;按照至少一个预设前缀特征长度,对所述更新特征集合中的更新特征进行至少一次划分,得到所述序列集合。
在一些实施例中,所述第一确定模块4551,还用于:根据所述账号特征集合中的账号特征的描述信息,对所述账号特征集合中的账号特征进行分类;确定每一类别的账号特征的特征值;将同一类别的账号特征中,特征值大于所述类别相匹配的特征阈值的特征进行过滤,得到所述更新特征集合。
在一些实施例中,所述第一确定模块4551,还用于:确定所述账号集合中每一账号缺失的所述账号特征集合中的缺失特征;确定所述缺失特征的特征值所属的数据类型;采用与所述数据类型相匹配的预设特征值,对所述缺失特征进行填充,得到所述更新特征集合。
在一些实施例中,所述第一确定模块4551,还用于:如果所述缺失特征的特征值为离散型,采用预设常数进行填充,得到所述更新特征集合;或者,如果所述缺失特征的特征值为连续型特征,确定所述缺失特征的特征值在所述账号特征集合中的平均值;采用所述平均值对所述缺失特征进行填充,得到所述更新特征集合。
在一些实施例中,所述第一聚类模块4553,还用于:根据所述序列的支持度,确定账号在所述账号集合中的权重;采用所述权重,对所述账号集合中的账号进行加权聚类,得到所述聚类结果。
在一些实施例中,所述第一聚类模块4553,还用于:在所述序列集合中,确定支持度大于等于支持度阈值的频繁序列和支持度小于所述支持度阈值的非频繁序列;将所述频繁序列的支持度确定为所述频繁序列的第一权重;根据所述账号集合中包括所述非频繁序列的账号数量和账号总数,确定所述非频繁序列的第二权重;根据每一账号中包括的所述频繁序列的第一权重和所述非频繁序列的第二权重,确定所述每一账号在所述账号集合中的权重。
在一些实施例中,所述第一聚类模块4553,还用于:根据每一账号的账号特征,确定至少两个账号之间的相似度;将相似度大于相似度阈值的至少两个账号,划分为同一类别的账号;采用所述同一类别的账号的权重,一一对应地对所述同一类别的账号进行加权并求和,以得到所述聚类结果。
在一些实施例中,所述第一聚类模块4553,还用于:按照至少一个不同的预设长度,对所述序列集合的前缀特征的长度进行划分,得到包括至少一个前缀特征长度的前缀特征长度集;确定每一前缀特征长度的序列子集合;采用序列模式挖掘算法,对所述序列子集合进行挖掘,确定所述支持度大于等于支持度阈值的频繁序列。
在一些实施例中,所述第一检测模块4555,还用于:将占比大于等于占比阈值的类别中包括的账号,确定为异常账号群体;对检测到的新账号的进行特征提取,得到新账号特征向量;确定所述新账号特征向量与所述异常账号群体的中心向量之间的夹角;如果所述夹角小于等于角度阈值,确定所述新账号为异常账号。本申请实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的方法。在一些实施例中,存储介质可以是闪存、磁表面存储器、光盘、或光盘存储器等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(Hyper Text Markup Language,HTML)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。作为示例,可执行指令可被部署为在一个车载计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备执行。综上所述,本申请实施例对于获取到的待检测账号,首先,对账号集合中的账号进行序列提取,然后,通过确定每一序列的支持度,对账号进行聚类;这样,通过对账号的特征进行聚类,能够基于少量的异常账号样本实现异常账号识别;最后,通过判断每一列表中异常账号样本的占比,将异常账号样本占比较大的类别中的待检测账号,确定为异常账号;这样,通过确定异常账号样本在类别中的分布进行异常账号识别,能够降低异常账号样本较少、正负样本严重不均衡造成的对分类效果的影响,提高了检测的准确度。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (10)
1.一种异常账号检测方法,其特征在于,所述方法包括:
确定表征账号集合中账号特征的序列集合;其中,所述账号集合包括至少一个异常账号样本和至少一个待检测账号;
根据每一序列在所述账号集合中出现的序列次数和所述账号集合中的账号总数的比值,确定所述每一序列的支持度;
根据所述支持度与预设的最小支持度之间的大小关系,确定所述序列集合中的频繁序列和非频繁序列,并确定所述频繁序列和所述非频繁序列的权重;
基于所述频繁序列和所述非频繁序列的权重,计算所述账号集合中的账号的权重,并根据账号的权重对所述账号集合中的账号加权聚类,得到聚类结果;
确定所述聚类结果的每一类别中所述异常账号样本的占比;
将所述异常账号样本的占比大于等于占比阈值的类别中的待检测账号,确定为异常账号。
2.根据权利要求1所述的方法,其特征在于,所述确定表征账号集合中账号特征的序列集合,包括:
对所述账号集合中的账号进行特征提取,得到账号特征集合;
对所述账号特征集合中满足条件的特征进行处理,得到更新特征集合;
按照至少一个预设前缀特征长度,对所述更新特征集合中的更新特征进行至少一次划分,得到所述序列集合。
3.根据权利要求2所述的方法,其特征在于,所述对所述账号特征集合中满足条件的特征进行处理,得到更新特征集合,包括:
根据所述账号特征集合中的账号特征的描述信息,对所述账号特征集合中的账号特征进行分类;
确定每一类别的账号特征的特征值;
将同一类别的账号特征中,特征值大于所述类别相匹配的特征阈值的特征进行过滤,得到所述更新特征集合。
4.根据权利要求2所述的方法,其特征在于,所述对所述账号特征集合中满足条件的特征进行处理,得到更新特征集合,包括:
确定所述账号集合中每一账号缺失的所述账号特征集合中的缺失特征;
确定所述缺失特征的特征值所属的数据类型;
采用与所述数据类型相匹配的预设特征值,对所述缺失特征进行填充,得到所述更新特征集合。
5.根据权利要求4所述的方法,其特征在于,所述采用与所述数据类型相匹配的预设特征值,对所述缺失特征进行填充,得到所述更新特征集合,包括:
如果所述缺失特征的特征值为离散型,采用预设常数进行填充,得到所述更新特征集合;
或者,
如果所述缺失特征的特征值为连续型特征,确定所述缺失特征的特征值在所述账号特征集合中的平均值;采用所述平均值对所述缺失特征进行填充,得到所述更新特征集合。
6.根据权利要求1所述的方法,其特征在于,所述确定所述频繁序列和所述非频繁序列的权重,包括:
将所述频繁序列的支持度确定为所述频繁序列的第一权重;
根据所述账号集合中包括所述非频繁序列的账号数量和账号总数,确定所述非频繁序列的第二权重。
7.根据权利要求1所述的方法,其特征在于,所述根据账号的权重对所述账号集合中的账号加权聚类,得到聚类结果,包括:
根据所述账号集合中的每一账号的账号特征,确定至少两个账号之间的相似度;
将相似度大于相似度阈值的至少两个账号,划分为同一类别的账号;
采用所述同一类别的账号的权重,一一对应地对所述同一类别的账号进行加权并求和,以得到所述聚类结果。
8.一种异常账号检测装置,其特征在于,所述装置包括:
第一确定模块,用于确定表征账号集合中账号特征的序列集合;其中,所述账号集合包括至少一个异常账号样本和至少一个待检测账号;
第二确定模块,用于根据每一序列在所述账号集合中出现的序列次数和所述账号集合中的账号总数的比值,确定所述每一序列的支持度;
第一聚类模块,用于根据所述支持度与预设的最小支持度之间的大小关系,确定所述序列集合中的频繁序列和非频繁序列,并确定所述频繁序列和所述非频繁序列的权重;基于所述频繁序列和所述非频繁序列的权重,计算所述账号集合中的账号的权重,并根据账号的权重对所述账号集合中的账号加权聚类,得到聚类结果;
第一占比模块,用于确定所述聚类结果的每一类别中所述异常账号样本的占比;
第一检测模块,用于将所述异常账号样本的占比大于等于占比阈值的类别中的待检测账号,确定为异常账号。
9.一种异常账号检测的设备,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至7任一项所述的方法。
10.一种存储介质,其特征在于,存储有可执行指令,用于引起处理器执行时,实现权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010528245.7A CN111698247B (zh) | 2020-06-11 | 2020-06-11 | 异常账号检测方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010528245.7A CN111698247B (zh) | 2020-06-11 | 2020-06-11 | 异常账号检测方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111698247A CN111698247A (zh) | 2020-09-22 |
CN111698247B true CN111698247B (zh) | 2021-09-07 |
Family
ID=72480251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010528245.7A Active CN111698247B (zh) | 2020-06-11 | 2020-06-11 | 异常账号检测方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111698247B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112232643A (zh) * | 2020-09-25 | 2021-01-15 | 上海淇毓信息科技有限公司 | 一种管理业务策略的方法、装置和电子设备 |
CN112261484B (zh) * | 2020-12-21 | 2021-04-27 | 武汉斗鱼鱼乐网络科技有限公司 | 一种目标用户识别方法、装置、电子设备和存储介质 |
CN112561389B (zh) * | 2020-12-23 | 2023-11-10 | 北京元心科技有限公司 | 确定设备检测结果的方法、装置以及电子设备 |
CN113011886B (zh) * | 2021-02-19 | 2023-07-14 | 腾讯科技(深圳)有限公司 | 帐号类型的确定方法和装置及电子设备 |
CN113378899A (zh) * | 2021-05-28 | 2021-09-10 | 百果园技术(新加坡)有限公司 | 非正常账号识别方法、装置、设备和存储介质 |
CN113434747A (zh) * | 2021-06-09 | 2021-09-24 | 佳源科技股份有限公司 | 一种基于序列模式的异常行为跟踪装置及方法 |
CN113609236B (zh) * | 2021-08-05 | 2023-07-18 | 中国联合网络通信集团有限公司 | 数据处理方法、装置及设备 |
CN113609395B (zh) * | 2021-08-10 | 2023-05-05 | 公安部交通管理科学研究所 | 一种融合多特征的机动车信息查询异常的判别方法及系统 |
CN113592035B (zh) * | 2021-08-23 | 2022-07-05 | 山东腾邦国际商务有限公司 | 基于ai辅助决策的大数据挖掘方法及ai辅助决策系统 |
CN114065187B (zh) * | 2022-01-18 | 2022-04-08 | 中诚华隆计算机技术有限公司 | 异常登录检测方法、装置、计算设备及存储介质 |
CN114881711B (zh) * | 2022-07-11 | 2023-06-30 | 荣耀终端有限公司 | 基于请求行为进行异常分析的方法及电子设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110313900A1 (en) * | 2010-06-21 | 2011-12-22 | Visa U.S.A. Inc. | Systems and Methods to Predict Potential Attrition of Consumer Payment Account |
CN108055281B (zh) * | 2017-12-27 | 2021-05-18 | 百度在线网络技术(北京)有限公司 | 账户异常检测方法、装置、服务器及存储介质 |
CN110225036B (zh) * | 2019-06-12 | 2022-03-22 | 北京奇艺世纪科技有限公司 | 一种账号检测方法、装置、服务器及存储介质 |
-
2020
- 2020-06-11 CN CN202010528245.7A patent/CN111698247B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111698247A (zh) | 2020-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111698247B (zh) | 异常账号检测方法、装置、设备及存储介质 | |
Di Clemente et al. | Sequences of purchases in credit card data reveal lifestyles in urban populations | |
Halvaiee et al. | A novel model for credit card fraud detection using Artificial Immune Systems | |
CN112148987B (zh) | 基于目标对象活跃度的消息推送方法及相关设备 | |
Yu et al. | Friend recommendation with content spread enhancement in social networks | |
Symeonidis et al. | From biological to social networks: Link prediction based on multi-way spectral clustering | |
Janssen et al. | Model selection for social networks using graphlets | |
CN109255586B (zh) | 一种面向电子政务办事的在线个性化推荐方法 | |
WO2021027595A1 (zh) | 用户画像生成方法、装置、计算机设备和计算机可读存储介质 | |
Kuo et al. | An application of a metaheuristic algorithm-based clustering ensemble method to APP customer segmentation | |
CN110909222B (zh) | 基于聚类的用户画像建立方法、装置、介质及电子设备 | |
CN105531701A (zh) | 个性化趋势图像搜索建议 | |
CN111984792A (zh) | 网站分类方法、装置、计算机设备及存储介质 | |
CN108763961B (zh) | 一种基于大数据的隐私数据分级方法和装置 | |
CN111460323A (zh) | 基于人工智能的焦点用户挖掘方法和装置 | |
CN111932308A (zh) | 数据推荐方法、装置和设备 | |
CN112825089B (zh) | 文章推荐方法、装置、设备及存储介质 | |
WO2016188334A1 (zh) | 一种用于处理应用访问数据的方法与设备 | |
Moslehi et al. | A novel feature selection approach based on clustering algorithm | |
Wang et al. | Link prediction in heterogeneous collaboration networks | |
CN113609345B (zh) | 目标对象关联方法和装置、计算设备以及存储介质 | |
Liu et al. | Detecting industry clusters from the bottom up based on co-location patterns mining: A case study in Dongguan, China | |
CN113254580A (zh) | 一种特殊群体搜索方法及系统 | |
CN116523622A (zh) | 对象风险预测方法和装置、电子设备及存储介质 | |
CN111325578A (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 |