对象分组方法及装置
技术领域
本申请涉及网络安全领域技术,特别涉及一种对象分组方法及装置。
背景技术
目前,在网络环境中,存在将具有一定关联性的对象分到同一群组的需求。举例而言,对于互联网中发生的账户盗窃案件,可以将每个账户盗窃案件称为上述“对象”,将包含此类“对象”的群组称为案件群组。
现有技术中,将上述“对象”分到同一群组的依据是:判断对象与对象之间是否存在至少一个关联项,若对象与对象之间存在至少一个关联项,则将这两个对象分到同一群组中。上述关联项例如是:与对象对应的账户环境信息(IP地址或MAC地址等),如:对象a的被盗账户和对象b的被盗账户曾在同一IP地址的设备上登录过,则将对象a和对象b分到同一群组。
在上述现有技术中,账号盗窃者可以各种手段使得上述对象所对应的信息(如账户环境信息)不真实,例如:盗窃者使用“山寨”设备登录被盗账号,或盗窃者利用软件篡改IP地址等,这样,可能导致将原本不存在关联性的两个对象分到同一群组,或未将原本存在关联性的两个对象分到同一群组。
可见,上述现有技术中,由于对象之间存在的关联项的不真实,可能导致将对象进行分组的不准确。
发明内容
本申请实施例的目的是提供一种对象分组方法及装置,以解决现有技术存在的将对象进行分组的不准确的问题。
为解决上述技术问题,本申请实施例提供的确定关联案件的方法及装置是这样实现的:
一种对象分组方法,包括:基于待分组对象之间存在的关联项,构建由待分组对象及与每一关联项对应的待分组对象之间的连接关系构成的对象网络;所述关联项是满足预设条件的信息项;
根据所述对象网络中的待分组对象之间存在的关联项,确定待分组对象之间的关联度值;所述关联度值用以表征存在关联项的待分组对象之间的关联程度;
根据所述关联度值,将所述对象网络中的待分组对象进行分组。
一种对象分组方法,包括:
基于待分组的案件节点之间存在的关联项,构建由案件节点和与所述关联项对应的案件节点之间的连接关系构成的案件网络;所述关联项是满足预设条件的信息项;
根据所述案件网络中的案件节点之间存在的关联项,确定案件节点之间的关联度值;所述关联度值用以表征存在关联项的案件节点之间的关联程度;
根据所述关联度值,将所述案件网络中的案件节点进行分组。
一种对象分组装置,包括:
网络构建单元,基于待分组对象之间存在的关联项,构建由待分组对象及与每一关联项对应的待分组对象之间的连接关系构成的对象网络;所述关联项是满足预设条件的信息项;
关联度值确定单元,根据所述对象网络中的待分组对象之间存在的关联项,确定待分组对象之间的关联度值;所述关联度值用以表征存在关联项的待分组对象之间的关联程度;
分组单元,根据所述关联度值,将所述对象网络中的待分组对象进行分组。
一种对象分组装置,包括:
网络构建单元,基于待分组的案件节点之间存在的关联项,构建由案件节点和与所述关联项对应的案件节点之间的连接关系构成的案件网络;所述关联项是满足预设条件的信息项;
关联度值确定单元,根据所述案件网络中的案件节点之间存在的关联项,确定案件节点之间的关联度值;所述关联度值用以表征存在关联项的案件节点之间的关联程度;
分组单元,根据所述关联度值,将所述案件网络中的案件节点进行分组。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
在本申请实施例中,通过基于待分组对象之间存在的关联项,构建由待分组对象及与每一关联项对应的待分组对象之间的连接关系构成的对象网络,并基于所述对象网络的待分组对象之间存在的关联项,确定待分组对象之间的关联度值,最终,根据该关联度值,将所述对象网络中的待分组对象进行分组。相比于现有技术,本申请实施例通过确定所构建的对象网络中的待分组对象之间的关联度值,并以该关联度值为依据,来对上述对象网络中的待分组对象(案件节点)进行分组。也就是说,本申请实施例可以避免因待分组对象之间存在不真实的关联项,即将所述待分组对象分到同一群组的问题,需依据待分组对象之间的关联度值来判断所述待分组对象是否能够分到同一群组,由于上述关联度值可以较为准确地衡量待分组对象之间的关联程度,故以该关联度值为对象分组的依据,在一定程度上可以提高对象分组过程的准确性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例提供的对象分组方法的流程图;
图2示出了本申请实施例所构建的对象网络的示例;
图3为本申请一实施例提供的对象分组装置的模块示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
随着大数据技术的发展,目前存在将大量的“待分组对象”(下称“对象”)进行分组的需求。所述对象可以是网络中发生的各种事件、或用户账户等。以网络中发生的各种事件为例,通过挖掘所发生的事件之间的关联性,并依据这些关联性对大量事件进行分组(即将相互关联的事件分到同一分组中)。鉴于现有技术中存在的对象分组不准确的问题,本申请旨在提供一种能够提高对象分组的准确性的对象分组方法。
一般地,所需分组的每个对象都携带至少一个信息项,或者说是对应于与至少一个信息项,该信息项的内容可以反映每个对象的特征。本申请可以依据上述信息项来挖掘对象之间的关联性。举例而言,若上述对象是网络中发生的账户盗窃案件(一种网络中发生的事件),所述账户盗窃案件是指通过非法手段盗窃、或盗刷某账户内的资金的事件。则与上述账户盗窃案件对应的信息项可以包括:与账户盗窃案件对应的账户环境信息(如IP地址)、或与账户盗窃案件对应的账户属性信息(如账户的注册地)、或与账户盗窃案件对应的账户行为信息(账户的销账方式),等等。本文还将在下文对信息项进行详述描述。
图1为本申请一实施例提供的对象分组方法的流程,该方法可以是基于大数据技术来实现的,所述对象分组方法的执行主体可以是任何形式的计算机,其中,所述对象分组方法包括如下步骤:
S101:基于待分组对象之间存在的关联项,构建由待分组对象及与每一关联项对应的待分组对象之间的连接关系构成的对象网络;所述关联项是满足预设条件的信息项。
首先将介绍如何确定对象之间所存在的关联项。本申请实施例中,将满足预设条件的信息项确定为对象之间的关联项。也就是说,若一个对象与另一对象针对同一个信息项满足预设条件,则可以将该信息项确定为这两个对象之间的关联项。其中,通常与对象对应的信息项可以被预先记录于相应的服务器中(如银行系统的服务器、支付平台的服务器)。以网络中发生的账户盗窃案件为例,上述预设条件可以至少包括如下之一:
①对象之间关于同一信息项的内容一致;
②与对象对应的账户之间存在交易记录;
③与对象对应的账户之间的网络距离值大于或等于预设值。
其中,具体地,若所述预设条件为上述①,则所述信息项包括但不限于:与待分组对象对应的账户环境信息、或与待分组对象对应的账户属性信息、或与待分组对象对应的账户行为信息。
若所述预设条件为上述②,则所述信息项为:账户之间的交易记录。
若所述预设条件为上述③:与待分组对象对应的账户之间的网络距离值大于或等于预设值,则所述信息项为:账户之间的网络距离。
其中,所述账户环境信息包括但不限于:登录账户的设备的IP地址、或登录账户的设备的MAC地址、或登录账户的设备的国际移动设备标识(IMEI,International MobileEquipment Identity)、或登录账户的设备的国际移动用户识别码(IMSI,InternationalMobile Subscriber Identification Number);所述账户属性信息包括但不限于:账户的注册地信息、或账户所绑定的手机的归属地信息、或账户所绑定的银行卡的所在地信息;所述账户行为信息包括但不限于:账户的销账方式、或更改账户密码的方式、或更改账户所绑定手机的方式。
承上述例子,若对象为账户盗窃案件(本文称为“案件”),一般地,若两个案件的案发地的距离较近(如:同一个社区、或同一栋大楼等),则可以认定这两个案件在案发地上具有一定的关联性。而一般可以根据登录涉案账户的设备(如:电脑、手机等)所使用的IP地址来确定案发地。例如,第一案件的涉案账户a在IP地址为:221.225.93.221的设备上登录时被盗,第二案件的涉案账户b在IP地址为:221.225.93.80的设备上登录时被盗,可以看出IP地址:221.225.93.221和IP地址:221.225.93.80的前三个预设字段的值是相同的(同为:221.225.93),而一般在上述预设字段的值相同的两个IP地址所对应的地理位置距离较为接近,故可以认为上述两个案件的案发地的距离较近或是同一个地区。也就是说,对于第一案件的涉案账户a和第二案件的涉案账户b,若登录涉案账户a和涉案账户b的设备的IP地址的内容(所述内容是IP地址的预设字段的值)一致,则可确定第一案件和第二案件的关联项是:登录账户的设备的IP地址(账户环境信息)。
承上述例子,对于第一案件的涉案账户a和第二案件的涉案账户b而言,若登录上述涉案账户a的设备的MAC地址的值和登录上述涉案账户b的设备的MAC地址的值相同,则可以认为上述涉案账户a和涉案账户b曾经在同一台设备上登录过,也就是存在这样一种可能:盗窃者利用同一台作案设备对上述涉案账户a、b进行过盗窃行为。故,可以认定第一案件和第二案件的关联项是:登录账户的设备的MAC地址(账户环境信息)。
承上述例子,上述涉案账户a和上述涉案账户b的注册地信息均为:中国银行昆山花桥支行,则可以认定第一案件和第二案件的关联项是:账户的注册地信息(账户属性信息)。
承上述例子,账户的销赃方式可以包括:使用网银方式进行销赃,或使用快捷支付上述进行销赃等。对于第一案件的涉案账户a和第二案件的涉案账户b而言,若上述涉案账户a和上述涉案账户b的使用的销帐方式相同,则认定上述第一案件和上述第二案件的关联项是:账户的销账方式(账户行为信息)。
承上述例子,上述更改账户密码的方式可以包括:通过回答密保问题方式,或通过个人信息的校验(如姓名、手机号)方式等。对于第一案件的涉案账户a和第二案件的涉案账户b而言,若上述涉案账户a和上述涉案账户b的使用相同的方式进行账户密码的更改,则认定上述第一案件和上述第二案件的关联项是:更改账户密码的方式(账户行为信息)。
承上述例子,上述更改账户所绑定手机的方式可以包括:通过原手机号接收短信验证码进行校验,或使用非手机身份验证方式(原手机号已停用)。其中,使用非手机身份验证方式可以例如:通过证书+支付密码,或通过证书+安全保护问题,或通过人工服务等。对于第一案件的涉案账户a和第二案件的涉案账户b而言,若上述涉案账户a和上述涉案账户b的使用相同的方式进行账户所绑定手机的更改,则认定上述第一案件和上述第二案件的关联项是:更改账户所绑定手机的方式(账户行为信息)。
承上述例子,上述涉案账户a和涉案账户b所绑定的手机的归属地信息同为“江苏苏州”,则认定上述第一案件和上述第二案件的关联项是:账户所绑定的手机的归属地信息(账户属性信息)。
承上述例子,上述涉案账户a绑定的银行卡的所在地和涉案账户b的绑定的银行卡的所在地相同,则认定上述第一案件和上述第二案件的关联项是:账户绑定的银行卡的所在地信息(账户属性信息)。
继续承上述例子,对于第一案件的涉案账户a和第二案件的涉案账户b而言,若涉案账户a和涉案账户b曾经(如,在某个特定时间段内)有过交易记录,表明涉案账户a、涉案账户b之间的关联程度越高,则认定上述第一案件和第二案件的关联项是:账户之间的交易记录。
继续承上述例子,一般地,可以基于网络中的各个账户的资金交易记录,来确定两个账户之间的网络距离值。所述网络距离值用以表征在账户关联网络中的账户之间的关联程度,其中,可以依据账户之间的交易行为构建上述账户关联网络。举例来说,网络中存在账户a、b、c、d,这四个账户的资金交易记录例如是:a→c→d→b,其中,a与c存在过资金交易,c与d存在过资金交易,d与b存在过资金交易。则若账户a是第一案件的涉案账户,账户b是第二案件的涉案账户,则上述账户a和账户b的网络距离值=1/3。又例如,若上述四个账户的资金交易记录是:a→c→b→d,则上述账户a和账户b的网络距离值=1/2;若上述四个账户的资金交易记录是:a→b→c→d,则上述账户a和账户b的网络距离值=1。总之,上述网络距离值可以反映两个涉案账户之间的在资金往来行为上的关联程度,一般网络距离值越大,表明两个涉案账户之间的关联程度越高。上述预设距离值可以是人为设定的,如:1/4,则若上述两个涉案账户的网络距离值大于或等于1/4,则可以认定第一案件和第二案件的关联项为:涉案账户之间的网络距离。
在确定对象与对象之间存在的关联项之后,为实现精确的分组工作,需要基于大量待分组的对象之间所确定的关联项,来构建对象网络。本申请实施例中,在所构建的对象网络中,每个对象可以被看作一个网络节点,对象和对象之间的连接关系可以通过连接线(边)的形式来呈现,其中,针对对象之间存在的每一个关联项,分别对应地以一条连接线的形式来表示。即,若一个对象与另一对象之间有2个关联项,则可以在这两个对象之间连接两条连接线。总之,对象之间存在的连接线的数量与对象之间存在的关联项的数量一致。
图2示出了本申请实施例所构建的对象网络的示例。在该图2中,对象网络10中包含大量待分组的对象12,在确定对象与对象之间存在的关联项之后,便可以依据上述方法构建出这样的对象网络10。所构建的对象网络10可以由对象12及与每一关联项对应的对象之间的连接关系构成。
在本申请提及的账户盗窃案件的应用场景中,上述对象为“案件节点”,所述构建的网络为“案件网络”,所述连接关系是与所述关联项对应的案件节点之间的连接关系。上述案件是指盗窃者利用非法手段盗取涉案账户(本文称为“账户”)中的资金的案件。所述账户可以包括电子支付平台上的第三方支付账户、或银行卡账户。盗窃者盗取资金的方式可以包括:将涉案账户中的资金转移到某受益方账户(一般可以是盗窃者创建的账户)中,或通过在网络交易平台上购买销赃物品来盗刷涉案账户中的资金(资金转移到销赃账户中)等。在账户盗窃案件中,上述“涉案账户”可以包括被盗的账户、或盗窃者使用的受益方账户、或销赃账户等。“案件群组”,一般由多个有一定关联性的案件组成,案件群组中包含的各个案件可能是同一个盗窃者操作的,或同一个犯罪团伙操作的,或不同的犯罪团伙(但具有相似的犯罪手法)操作的。通过确定各个案件之间存在的关联性,并将具有一定关联性的案件分到同一个案件群组中,可以便于对上述案件进行侦破,以及可以通过挖掘案件群组中各案件所共有的作案手段,完善网络安全防控策略。可见,确定上述案件群组的必要手段便是判断案件之间是否具有一定的关联性(即是否互为关联案件),本申请实施例所需解决的技术问题便是提升确定相互关联的案件的过程的准确性。
值得说明的是,本文中所述及的“案件”,可以是与至少一个被盗取的涉案账户相关的账户盗窃案件。也就说,在单个上述案件中,可以是一个涉案账户被盗窃,也可以是两个或两个以上的涉案账户被盗窃。例如,在某个时间段,同一用户所拥有的账户a和账户b分别被盗窃,则在某种情况下,可以将上述与账户a对应的盗窃案件、与账户b对应的盗窃案件分别看作相互独立的案件;在另一种情况下,也可以将上述与账户a对应的盗窃案件及与账户b对应的盗窃案件看作单个案件,只是在该单个案件中,有两个涉案账户被盗窃。
S102:根据对象网络中的待分组对象之间存在的关联项,确定待分组对象之间的关联度值;其中,所述关联度值用以表征存在关联项的待分组对象之间的关联程度。
本申请一实施例中,上述步骤S101可以具体包括:基于对象之间存在的关联项,构建对象网络,并确定与对象之间的所述连接关系对应的影响度值。其中,所述影响度值用以表征所述关联项对对象之间的关联性的影响程度。
本文以图2所示的示例为例来介绍本申请的技术方案。本申请实施例中,在所述对象网络10中,包括:对象G、H、K、I,其中,对象G和对象H之间的关联项例如包括:“登录账户的设备的IP地址信息”、“账户的注册地信息”;对象H和对象I的之间关联项例如包括:“账户之间的网络距离值”;对象K和对象I之间的关联项例如包括:“登录账户的设备的MAC地址”、“账户的交易记录”(即资金往来记录)。
本申请一实施例中,确定与所述连接关系对应的影响度值的步骤可以具体包括:
将待分组对象之间满足与所述关联项对应的预设条件的次数,确定为与待分组对象之间的所述连接关系对应的影响度值;或,
将与待分组对象对应的账户之间的网络距离值,确定为与待分组对象之间的所述连接关系对应的影响度值。
在上述例子中,假设上述对象G的涉案账户被盗时,登录该涉案账户的设备的IP地址包括:“221.225.93.221”,“111.80.90.21”,“71.215.13.11”,上述案件H的涉案账户被盗时,登录该涉案账户的设备的IP地址包括:“221.225.93.90”,“111.80.90.11”,“71.215.13.77”,则对于上述案件G和上述案件H,它们的涉案账户满足上述预设条件①的次数(即关联数值)是:3(“221.225.93.221”和“221.225.93.90”,“111.80.90.21”和“111.80.90.11”,“71.215.13.11”和“71.215.13.77”)。相应地,可以确定上述案件G和上述案件H的关联项:“登录涉案账户的设备的IP地址”所对应的影响度值=3。又例如,案件G和案件H之间存在关联项:“账户的注册地信息”,满足“注册地相同”的条件的次数(即关联数值)为1,则与关联项:“涉案账户的注册地”对应的影响度值=1。再例如,案件H和案件I之间存在的关联项是:“账户之间的网络距离”,则可以确定与关联项:“涉案账户之间的网络距离值”对应的影响度值=1/3。至此,如图2所示,可在每条连接线上标示出与该条连接线对应的影响度值。
在本申请另一实施例中,上述步骤a可以具体包括:
根据与所述关联项对应的关联数值及与该关联项对应的权重,确定为与待分组对象之间的所述连接关系对应的影响度值;所述关联数值包括:待分组对象之间满足与所述关联项对应的预设条件的次数,或与待分组对象对应的账户之间的网络距离值。
一般地,不同的关联项对于对象之间的关联度的影响程度也不尽相同。如:关联项:账户之间的交易记录,一般对于对象之间的关联度的影响程度较高;而关联项:账户所绑定银行卡的所在地信息,对于对象之间的关联度的影响程度较低。本申请可以根据不同的关联项对于对象之间的关联度的影响程度,分别设定不同的权重。一般地,如某个关联项对于对象之间的关联度的影响程度较高,则可以将与该关联项对应的权重设定得较大,反之,则可以将与该关联项对应的权重设定得较小。举例而言,设定与关联项:“登录账户的设备的IP地址”对应的权重是0.8,设定与关联项:“账户的注册地信息”对应的权重是0.6,则与该关联项:“登录账户的设备的IP地址”对应的影响度值=3(关联数值)*0.8=2.4,与该关联项:“账户的注册地信息”对应的影响度值=1(关联数值)*0.6=0.6。值得一提的是,上述影响度值的确定方式并不限于上述实施例,例如,在其他实施例中,上述影响度值可以等于预先设定的与每个关联项对应的权重。
相应地,上述步骤S102可以具体包括:
根据与待分组对象之间存在的每一个关联项对应的影响度值,确定待分组对象之间的关联度值。
其中,根据影响度值确定待分组对象之间的关联度值的过程包括但不限于如下方式:
方式一:
将各个与所述关联项对应的影响度值进行求和;
将求和的结果确定为所述关联度值。
例如,在上述图2中,对于对象G和对象H,若与关联项:“登录账户的设备的IP地址”对应的影响度值=3,与关联项:“注册地信息”对应的影响度值=1,则可以确定关联度值=3+1=4。一般地,若两个对象之间的影响度值的数量越多,则表明这两个对象之间存在关联因素越多(即关联性越高),进而将这两个对象分到同一群组的准确性越高。
方式二:
将各个与所述关联项对应的影响度值进行求和,得到第一和值;
将待分组对象之间的与关联项对应的影响度值进行求和,得到第二和值;
将所述第一和值除以所述第二和值,得到所述关联度值。
其中,对应的数学公式如下:
其中,sim(i,j)为任意两个对象i,j之间的关联度值,e
ij为第一和值,W为第二和值。
在上述图2的例子中,上述对象网络包括对象G、H、K、I,若计算的是对象G和对象H之间的关联度值,其中,eGH=3+1=4,eHI=1/3,eKI=2+2=4,则:
W=4+1/3+4=25/3;
方式三:
将各个与所述关联项对应的影响度值进行求和,得到第一和值;
将待分组对象之间的与关联项对应的影响度值进行求和,得到第二和值;
将所述第一和值除以所述第二和值,得到第一概率值;
确定将所述待分组对象随机分到同一群组的第二概率值;
将所述第一概率值减去所述第二概率值,得到所述关联度值。
其中,对应的数学公式如下:
其中,sim(i,j)为任意两个对象i,j之间的关联度值,e
ij为第一和值,W为第二和值,
为第一概率值,
为第二概率值;e
i和e
j分别为对象i和对象j的边权重。
在上述图2的例子中,上述对象网络包括对象G、H、K、I,若计算的是对象G和对象H之间的关联度值,其中,eGH=3+1=4,eHI=1/3,eKI=2+2=4,eG=3+1=4,eH=3+1+1/3=13/3,则:
W=4+1/3+4=25/3;
值得一提的是,还包括通过其他方式来确定上述对象之间的关联度值。举例来说,将待分组对象之间存在的关联项的数量确定为待分组对象之间的关联度值。如:在上述图2中,对象G和对象H之间的关联度值是2,对象H和对象I之间的关联度值是1;等等。
S103:根据所述关联度值,将所述对象网络中的待分组对象进行分组。
本申请实施例中,上述步骤S103可以具体包括:
将所述对象网络中的关联度值大于或等于关联度阈值的待分组对象分到同一群组。例如,某对象和另一对象之间的关联度值=4,上述关联度阈值是3,则可以确定这两个对象为相互关联的对象。
当然,在另一实施例中,若上述关联度值越小,表明对象之间的关联程度越高,则上述步骤S103可以具体包括:判断上述关联度值是否小于或等于关联度阈值,若是,判定相应的两个对象为相互关联的对象,并将这两个对象分到同一群组。
上述关联度阈值可以是人为设定的值或通过某种计算规则来计算得到。在本申请可选的实施例中,判断所述关联度值是否大于或等于关联度阈值之前,所述方法还包括如下步骤:
基于所述对象网络,分别确定所述对象网络中的相邻的待分组对象之间的关联度值;
计算所述对象网络中的待分组对象之间的所述关联度值的平均值;
将所述平均值确定为所述关联度阈值。
举例而言,在上述图2中,上述预先构建的对象网络包括:对象G、H、K、I。按照上述计算过程,可以确定对象G和对象H之间的关联度值=12/25,确定对象H和对象I之间的关联度值=1/25,确定对象K和对象I之间的关联度值=12/25,则,确定关联度阈值=均值=(12/25+1/25+12/25)/3=1/3。可见,对象G和对象H之间的关联度值,及案对象K和对象I之间的关联度值均大于1/3,则可以将上述对象G和上述对象H确定为互相关联的对象,并分到同一个对象群组中(该案件群组可以至少包含对象G和对象H);同样地,可以将上述对象K和对象I分到同一个对象群组中。
值得一提的是,本申请可选的实施例中,还可以将对象网络中的各个对象之间的关联度值进行排序(如从大到小),并依据排序情况,确定对象是否可以分到同一群组。如,上述对象G和对象H之间的关联度值在图2的对象网络中排名前10(预设规则是将排名前1000的对象并且相互之间存在关联项的对象分到同一群组),则可以确定对象G和对象H可以被划分到同一群组中。
在本申请实施例提供的方法中,通过基于待分组对象之间存在的关联项,构建由待分组对象及与每一关联项对应的待分组对象之间的连接关系构成的对象网络,并基于所述对象网络的待分组对象之间存在的关联项,确定待分组对象之间的关联度值,最终,根据该关联度值,将所述对象网络中的待分组对象进行分组。相比于现有技术,本申请实施例通过确定所构建的对象网络中的待分组对象之间的关联度值,并以该关联度值为依据,来对上述对象网络中的待分组对象(案件节点)进行分组。也就是说,本申请实施例可以避免因待分组对象之间存在不真实的关联项,即将所述待分组对象分到同一群组的问题,需依据待分组对象之间的关联度值来判断所述待分组对象是否能够分到同一群组,由于上述关联度值可以较为准确地衡量待分组对象之间的关联程度,故以该关联度值为对象分组的依据,在一定程度上可以提高对象分组过程的准确性。
以上述图2为例,若按照现有技术的方案,最终分到同一个群组的对象包括:对象G、H、K、I(上述对象之间均存在至少一个关联项)。但是,若按照本申请实施例提供的方案,根据关联度值,最终可以将对象G和对象H分到同一个分组,将对象K和对象I分到同一个分组,由于对象H和对象I之间的关联度值过小,可以认定上述对象H和对象I的关联度不足以被划分到同一群组。可见,相比于现有技术,本申请实施例可以更加准确地确定具有较高关联性的对象,并最终将相互关联的对象分到同一群组。也就是说,即便两个原本不存在关联性的对象之间,因为某种因素(如:盗窃方篡改设备的IP地址、盗窃方使用“山寨”设备、受益方的账户为热点账户)被检测到存在关联项,由于最终确定的关联度值也非常小(通常原本不存在关联性的对象之间不会存在较多的关联项,而最终是根据关联项来确定的关联度值),从而可以避免将上述两个原本不存在关联项的对象分到同一群组。另一方面,对于原本存在关联性的对象,若它们之间原本存在的一个或多个关联项因为上述因素,而无法被确定为关联项,由于一个关联项的真实与否不会对上述关联度值带来较大的影响,所以最终还是可以根据关联度值,将存在较高关联性的对象分到同一群组。总之,相比于现有技术中简单地通过检测对象之间是否存在至少一个关联项的方案,本发明可以在确定关联项之后,还根据关联项确定上述关联度值,从而使得对象分组过程更加准确。
值得一提的是,在某种情况中,本文所述及的对象之间的“关联度”,也可以理解成对象之间的“相似度”。例如,在账户盗窃案件场景中,所述对象是互联网中发生的各个案件,被划分到同一群组中的各个案件,可能是由同一个盗窃团伙作案的,也可能是由不同的盗窃团伙作案的,但是无论同一个盗窃团伙还是不同的盗窃团伙,都可能是采取了相似的作案手段(如:都通过某种方式更改账户所绑定的手机),本文可以将采取了相似的作案手段的两个或两个以上的案件,称为“相似案件”,或“具有一定相似度的案件”。
另外,本申请实施例可以使用分布式计算平台(如:Hive SQL和Spark)来实现上述技术方案。
需要说明的是,以上各实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤S101和步骤S102的执行主体可以为设备1,步骤S103的执行主体可以为设备2;又比如,步骤S101的执行主体可以为设备1,步骤S102和步骤S103的执行主体可以为设备2;等等。
图3为本申请实施例提供的对象分组装置的模块示意图。该对象分组装置可以基于大数据计算平台来实现。该对象分组装置可以以软件、硬件或软硬件结合的方式存在于大数据计算平台中。其中,该对象分组装置中各个单元所能够实现的功能与上述图1所示的方法中各个步骤所能够实现的功能类似,故该装置的具体细节可以参照上述方法实施例的内容,本文不再予以赘述。
本申请一实施例中,上述对象分组装置可以包括:网络构建单元201、关联度值确定单元202、分组单元203;其中:
网络构建单元201,基于待分组对象之间存在的关联项,构建由待分组对象及与每一关联项对应的待分组对象之间的连接关系构成的对象网络;所述关联项是满足预设条件的信息项;
关联度值确定单元202,根据所述对象网络中的待分组对象之间存在的关联项,确定待分组对象之间的关联度值;所述关联度值用以表征存在关联项的待分组对象之间的关联程度;
分组单元203,根据所述关联度值,将所述对象网络中的待分组对象进行分组。
基于上述装置,相比于现有技术,本申请实施例通过确定所构建的对象网络中的待分组对象之间的关联度值,并以该关联度值为依据,来对上述对象网络中的待分组对象(案件节点)进行分组。也就是说,本申请实施例可以避免因待分组对象之间存在不真实的关联项,即将所述待分组对象分到同一群组的问题,需依据待分组对象之间的关联度值来判断所述待分组对象是否能够分到同一群组,由于上述关联度值可以较为准确地衡量待分组对象之间的关联程度,故以该关联度值为对象分组的依据,在一定程度上可以提高对象分组过程的准确性。
本申请一可选的实施例中,所述网络构建单元201基于待分组对象之间存在的关联项,构建由待分组对象及与每一关联项对应的待分组对象之间的连接关系构成的对象网络,并确定与待分组对象之间的所述连接关系对应的影响度值;所述影响度值用以表征所述关联项对待分组对象之间的关联性的影响程度;
则所述关联度值确定单元202根据与待分组对象之间存在的每一个关联项对应的影响度值,确定待分组对象之间的关联度值;或,
所述关联度值确定单元202将待分组对象之间存在的关联项的数量确定为待分组对象之间的关联度值。
本申请一可选的实施例中,所述关联度值确定单元202将待分组对象之间满足与所述关联项对应的预设条件的次数,确定为与待分组对象之间的所述连接关系对应的影响度值;或,
所述关联度值确定单元202将与待分组对象对应的账户之间的网络距离值,确定为与待分组对象之间的所述连接关系对应的影响度值;所述网络距离值用以表征在账户关联网络中的账户之间的关联程度;或,
所述关联度值确定单元202根据与所述关联项对应的关联数值及与该关联项对应的权重,确定为与待分组对象之间的所述连接关系对应的影响度值;所述关联数值包括:待分组对象之间满足与所述关联项对应的预设条件的次数,或与待分组对象对应的账户之间的网络距离值。
本申请一可选的实施例中,所述关联度值确定单元202将各个与所述关联项对应的影响度值进行求和;将求和的结果确定为所述关联度值;
或,
所述关联度值确定单元202将各个与所述关联项对应的影响度值进行求和,得到第一和值;将待分组对象之间的与关联项对应的影响度值进行求和,得到第二和值;将所述第一和值除以所述第二和值,得到所述关联度值;
或,
所述关联度值确定单元202将各个与所述关联项对应的影响度值进行求和,得到第一和值;将待分组对象之间的与关联项对应的影响度值进行求和,得到第二和值;将所述第一和值除以所述第二和值,得到第一概率值;确定将待分组对象随机分到同一群组的第二概率值;将所述第一概率值减去所述第二概率值,得到所述关联度值。
本申请一可选的实施例中,所述预设条件包括如下之一:
待分组对象之间关于同一信息项的内容一致;或,
与待分组对象对应的账户之间存在交易记录;或,
与待分组对象对应的账户之间的网络距离值大于或等于预设值;
若所述预设条件为:待分组对象之间关于同一信息项的内容一致,则所述信息项包括:与待分组对象对应的账户环境信息、或与待分组对象对应的账户属性信息、或与待分组对象对应的账户行为信息;
若所述预设条件为:与待分组对象对应的账户之间存在交易记录,则所述信息项为:账户之间的交易记录;
若所述预设条件为:与待分组对象对应的账户之间的网络距离值大于或等于预设值,则所述信息项为:账户之间的网络距离。
本申请一可选的实施例中,所述分组单元203将所述对象网络中的关联度值大于或等于关联度阈值的待分组对象分到同一群组。
本申请一可选的实施例中,所述装置还包括:
关联度阈值确定单元,基于所述对象网络,分别确定所述对象网络中的相邻的待分组对象之间的关联度值,计算所述对象网络中的待分组对象之间的所述关联度值的平均值,将所述平均值确定为所述关联度阈值。
应当理解,尽管在本申请可能采用术语“第一”、“第二”、“第三”等来描述各种信息(如对象、案件),但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一案件也可以被称为第二案件,类似地,第二案件也可以被称为第一案件。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。