用户识别方法、装置及电子设备与流程

文档序号:15151670发布日期:2018-08-10 21:10阅读:174来源:国知局

本发明涉及互联网技术领域,特别是涉及一种用户识别方法、装置及电子设备。



背景技术:

用户通常需要用账号登录一些网站或客户端后,才可以在网站或客户端进行信息浏览、下载、上传等操作。例如用账号登录视频网站或客户端观看、下载或上传视频。网站或客户端通常需要对多个设备中登录的用户进行识别,找出哪些设备属于同一用户,来决定广告投放策略或分析用户的实际操作行为。但很多情况下,某一用户会将自己的账号分享给其他没有账号的用户,这种情况下,同一账号就可能被多个用户使用。由于存在账号分享的情况,就不能仅根据同一账号在哪些设备上登录过,判定哪些设备属于同一个用户。

现有技术中,通常采用k-平均(k-means)聚类法对多个设备进行用户划分。采用k-means法对多个设备进行用户划分时,先找出同一账号所登录的n个设备,再预估这n个设备属于k个用户,从这n个设备中随机选择k个设备,作为k个用户;针对剩余的n-k个设备中的每个设备,获取该设备的特征数据,将获取的特征数据分别与k个设备的特征数据求差,得到k个差值,将该设备划分在差值的绝对值最小的那个设备对应的用户中。

然而,发明人在实现本发明的过程中发现,现有技术至少存在如下问题:现有技术对多个设备进行用户划分的结果受预估的用户个数k的影响较大,由于需要人工预先指定用户个数k,而人工往往很难对用户的具体个数作准确的提前预估,从而导致对多个设备进行的用户划分结果也不准确。



技术实现要素:

本发明实施例的目的在于提供一种用户识别方法、装置及电子设备,以实现提高对多个设备进行用户划分的准确率。具体技术方案如下:

第一方面,本发明实施例提供了一种用户识别方法,该包括:

识别已登录同一账号的多个设备,并将所述多个设备中任两个设备组成设备对;

针对每个所述设备对,分析该设备对中包括的两个设备的特征数据,得到特征数据分析结果;

在所述设备对中,识别特征数据分析结果大于预设阈值的设备对,将每个设备作为节点,并连接所识别出的每个设备对中包括的两个设备的节点,得到设备关系图;

使用社区发现算法对所述设备关系图进行社区划分,将划分在同一社区的设备作为同一用户的设备。

可选的,所述使用社区发现算法对所述设备关系图进行社区划分,包括:

将所述设备关系图中的每个节点作为一个社区,并计算所述设备关系图的初始模块度;

针对每一个节点,将该节点分别划分在其他社区,计算该节点每次划分在其他任一社区后,形成的测试社区结构的目标模块度;

针对每一个节点,计算所述节点对应的每个目标测试社区结构的模块度与所述初始模块度的差值,并将所述节点划分在所述差值最大时对应的社区中;

将在社区划分时存在交集的节点,划分在同一社区。

可选的,所述针对每一个节点,将该节点分别划分在其他社区,计算该节点每次划分在其他任一社区后,形成的测试社区结构的目标模块度包括:

针对每一个节点,将该节点分别划分在其他社区,计算该节点每次划分在其他任一社区后,将每个社区内所有被连接的节点所对应的设备对的特征数据分析结果之和,作为所述每个社区对应的内部特征数据和;

将所有社区的所述内部特征数据和之和,作为社区特征数据和;

将所有连接不同社区的两个节点所对应的设备对的特征数据分析结果之和,作为社区间特征数据和;

将所述社区特征数据和与所述社区间特征数据和之差,作为所述节点划分在所述任一社区后,形成的测试社区结构的目标模块度。

可选的,所述分析该设备对中包括的两个设备的特征数据,得到特征数据分析结果,包括:

将该设备对中包括的两个设备的特征数据作为分类算法的参数,将分类算法的输出结果作为特征数据分析结果。

可选的,所述分类算法为逻辑回归。

可选的,所述将所述多个设备中任两个设备组成设备对后,还包括:

选择存在矛盾操作行为的所述设备对,并对所选择的设备对添加负样本标识;

相应的,所述连接所识别出的每个设备对中包括的两个设备的节点,得到设备关系图,包括:

连接所识别出的,且所述特征数据分析结果对应的设备对未添加负样本标识的设备对的两个设备的节点。

可选的,所述选择存在矛盾操作行为的设备对,包括:

选择在相同的时间段内,所述设备对的两个设备的定位信息不同的设备对,作为存在矛盾操作行为的设备对;

或者,选择在相同时间段内,所述设备对的两个设备的浏览内容相同的设备对,作为存在矛盾操作行为的设备对;

或者,选择在预设时间段内,所述设备对的两个设备浏览相同内容的次数超过预设阈值的设备对,作为存在矛盾操作行为的设备对。

可选的,所述将所述多个设备中任两个设备组成设备对后,还包括:

选择存在关联操作行为的所述设备对,并对所选择的设备对添加正样本标识;

相应的,所述连接所识别出的每个设备对中包括的两个设备的节点,得到设备关系图,包括:

连接所识别出的每个设备对中包括的两个设备的节点,并连接所述特征数据分析结果对应的设备对已添加正样本标识的设备对的两个设备的节点。

可选的,所述选择存在关联操作行为的所述设备对,包括:

在所述设备对的两个设备的日志中查找有继续操作行为的设备对,作为存在关联操作行为的所述设备对;

或者,选择具有扫码登录行为的设备对,作为存在关联操作行为的所述设备对。

可选的,所述将所述多个设备中任两个设备组成设备对后,还包括:

选择存在矛盾操作行为的所述设备对,并对所选择的设备对添加负样本标识;

选择存在关联操作行为的所述设备对,并对所选择的设备对添加正样本标识;

对既不存在矛盾操作行为,也不存在关联操作行为的所述设备对,添加未知样本标识;

相应的,所述将该设备对中包括的两个设备的特征数据作为分类算法的参数,包括:

将该设备对中包括的两个设备的特征数据,以及该设备对的样本标识作为分类算法的参数。

可选的,所述使用社区发现算法对所述设备关系图进行社区划分,将划分在同一社区的设备作为同一用户的设备,包括:

使用社区发现算法对所述设备关系图进行社区划分;

针对每一个社区,计算该社区中与每个节点相连的边数;

删除与节点相连的边数小于预设值的节点,得到微调后的社区结构;

将所述微调后的社区结构中划分在同一社区的设备作为同一用户的设备。

可选的,所述针对每一个社区,计算该社区中与每个节点相连的边数前,还包括:

针对每一个社区,获取任意三个仅有两条连接线的节点;

针对每一个社区,连接获取的任意三个节点中未被连接的两个节点。

第二方面,本发明实施例还提供了一种用户识别装置,该装置包括:

设备组对单元,用于识别已登录同一账号的多个设备,并将所述多个设备中任两个设备组成设备对;

特征分析单元,用于针对每个所述设备对,分析该设备对中包括的两个设备的特征数据,得到特征数据分析结果;

设备连接单元,用于在所述设备对中,识别特征数据分析结果大于预设阈值的设备对,将每个设备作为节点,并连接所识别出的每个设备对中包括的两个设备的节点,得到设备关系图;

设备划分单元,用于使用社区发现算法对所述设备关系图进行社区划分,将划分在同一社区的设备作为同一用户的设备。

可选的,所述设备划分单元,包括:

初始模块度计算子单元,用于将所述设备关系图中的每个节点作为一个社区,并计算所述设备关系图的初始模块度;

目标模块度计算子单元,用于针对每一个节点,将该节点分别划分在其他社区,计算该节点每次划分在其他任一社区后,形成的测试社区结构的目标模块度;

节点划分子单元,用于针对每一个节点,计算所述节点对应的每个目标测试社区结构的模块度与所述初始模块度的差值,并将所述节点划分在所述差值最大时对应的社区中;

交集节点划分子单元,用于将在社区划分时存在交集的节点,划分在同一社区。

可选的,所述目标模块度计算子单元,包括:

内部特征计算模块,用于针对每一个节点,将该节点分别划分在其他社区,计算该节点每次划分在其他任一社区后,将每个社区内所有被连接的节点所对应的设备对的特征数据分析结果之和,作为所述每个社区对应的内部特征数据和;

社区特征计算模块,用于将所有社区的所述内部特征数据和之和,作为社区特征数据和;

社区间特征计算模块,用于将所有连接不同社区的两个节点所对应的设备对的特征数据分析结果之和,作为社区间特征数据和;

目标模块度计算模块,用于将所述社区特征数据和与所述社区间特征数据和之差,作为所述节点划分在所述任一社区后,形成的测试社区结构的目标模块度。

可选的,所述特征分析单元,具体用于将该设备对中包括的两个设备的特征数据作为分类算法的参数,将分类算法的输出结果作为特征数据分析结果。

可选的,所述分类算法为逻辑回归。

可选的,所述装置还包括:

负样本划分单元,用于选择存在矛盾操作行为的所述设备对,并对所选择的设备对添加负样本标识;

相应的,所述设备连接单元,具体用于连接所识别出的,且所述特征数据分析结果对应的设备对未添加负样本标识的设备对的两个设备的节点。

可选的,所述负样本划分单元,包括:

定位分析子单元,用于选择在相同的时间段内,所述设备对的两个设备的定位信息不同的设备对,作为存在矛盾操作行为的设备对;

或者,浏览分析子单元,用于选择在相同时间段内,所述设备对的两个设备的浏览内容相同的设备对,作为存在矛盾操作行为的设备对;

或者,次数分析子单元,用于选择在预设时间段内,所述设备对的两个设备浏览相同内容的次数超过预设阈值的设备对,作为存在矛盾操作行为的设备对。

可选的,所述装置还包括:

正样本划分单元,用于选择存在关联操作行为的所述设备对,并对所选择的设备对添加正样本标识;

相应的,所述设备连接单元,具体用于连接所识别出的每个设备对中包括的两个设备的节点,并连接所述特征数据分析结果对应的设备对已添加正样本标识的设备对的两个设备的节点。

可选的,所述正样本划分单元,具体用于在所述设备对的两个设备的日志中查找有继续操作行为的设备对,作为存在关联操作行为的所述设备对;

或者,所述正样本划分单元,具体用于选择具有扫码登录行为的设备对,作为存在关联操作行为的所述设备对。

可选的,所述装置还包括:

负样本标记单元,用于选择存在矛盾操作行为的所述设备对,并对所选择的设备对添加负样本标识;

正样本标记单元,用于选择存在关联操作行为的所述设备对,并对所选择的设备对添加正样本标识;

未知样本标记单元,用于对既不存在矛盾操作行为,也不存在关联操作行为的所述设备对,添加未知样本标识;

相应的,所述特征分析单元,具体用于:

将该设备对中包括的两个设备的特征数据,以及该设备对的样本标识作为分类算法的参数。

可选的,所述设备划分单元包括:

社区划分子单元,用于使用社区发现算法对所述设备关系图进行社区划分;

边数计算子单元,用于针对每一个社区,计算该社区中与每个节点相连的边数;

社区微调子单元,用于删除与节点相连的边数小于预设值的节点,得到微调后的社区结构;

用户识别子单元,用于将所述微调后的社区结构中划分在同一社区的节点对应的设备作为同一用户的设备。

可选的,所述装置还包括:

节点获取子单元,用于针对每一个社区,获取任意三个仅有两条连接线的节点;

节点连接子单元,用于针对每一个社区,连接获取的任意三个节点中未被连接的两个节点。

第三方面,本发明实施例还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现第一方面所述的方法步骤。

第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行第一方面所述的方法步骤。

第五方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法步骤。

本发明实施例提供的用户识别方法、装置及电子设备,通过将识别已登录同一账号的多个设备,并将所述多个设备中任两个设备组成设备对,分析该设备对中包括的两个设备的特征数据,得到特征数据分析结果后,识别特征数据分析结果大于预设阈值的设备对,将每个设备作为节点,并连接所识别出的每个设备对中包括的两个设备的节点,得到设备关系图,使用社区发现算法对所述设备关系图进行社区划分,将划分在同一社区的设备作为同一用户的设备。

本发明的技术方案可以使用社区发现算法对得到的设备关系图进行社区划分,将划分在同一社区的设备作为同一用户的设备,从而得出哪些设备属于同一用户。本发明的用户个数是基于社区发现算法根据设备的特征数据得出的,不需要人工预先指定用户个数,避免了对多个设备进行用户划分的结果受预估的用户个数的影响,因此划分结果更符合设备的实际情况,从而提高了对多个设备进行用户划分结果的准确率。当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。

图1为本发明实施例提供的用户识别方法的一种流程示意图;

图2为本发明实施例提供的一种设备关系图;

图3为对本发明实施例提供的设备关系图进行社区划分后得到的社区结构的示意图;

图4为本发明实施例提供的用户识别装置的一种结构示意图;

图5为本发明实施例提供的电子设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。

为了提高提高对多个设备进行用户划分的准确率,本发明实施例提供了一种用户识别方法、装置及电子设备,通过使用社区发现算法对设备关系图进行社区划分,将划分在同一社区的设备作为同一用户的设备,从而得出哪些设备属于同一用户,不需要人工预先指定用户个数,避免了对多个设备进行用户划分的结果受预估的用户个数的影响,因此划分结果更符合设备的实际情况,从而提高了对多个设备进行用户划分结果的准确率。

下面首先对本发明实施例所提供的用户划分方法进行介绍。

需要说明的是,本发明实施例所提供的用户划分方法可以但不限于应用于视频网站、文献查阅网站等互联网行业,具体的,可以应用于服务器。

如图1所示,本发明实施例所提供的用户划分方法以包括如下步骤:

s110:识别已登录同一账号的多个设备,并将多个设备中任两个设备组成设备对;

在实际应用中,一个用户可能拥有多个设备,例如,一个用户可能同时拥有手机、平板电脑、台式电脑等设备。为方便账号管理以及节约成本,通常情况下,一个用户只会拥有一个账号,并在自己拥有的不同设备上用该账号进行登录。

在本发明实施例中,为找出哪些设备属于同一用户,服务器可以识别已登录同一账号的多个设备。并且,为对识别出的多个设备进行特征比较,进一步得出上述多个设备中哪些设备属于同一用户,可以将识别出的多个设备中任两个设备组成设备对,以对任两个设备进行特征比较。

例如,服务器可以获取已被注册的账号,针对每一个被注册的账号,识别已登录该账号的多个设备,将识别出的多个设备中的任两个设备组成设备对。

具体的,例如服务器可以获取账号“passport”为被注册的账号,针对账号“passport”,识别出登录该账号的多个设备分别为device_a、device_b、device_c和device_d四个设备,那么可以组成以下六组设备对:

device_a,device_b;

device_a,device_c;

device_a,device_d;

device_b,device_c;

device_b,device_d;

devide_c,edvice_d。

s120:针对组成的每个设备对,分析该设备对中包括的两个设备的特征数据,得到特征数据分析结果;

得到设备对后,服务器可以对每个设备对中包括的两个设备进行分析,来判断这两个设备对是否属于同一用户。具体的,服务器可以针对组成的每个设备对,分析该设备对中包括的两个设备的特征数据,得到特征数据分析结果。

例如,服务器可以针对组成的每个设备对,分析该设备对中的两个设备的包括但不限于以下特征数据中的一个或多个:

两个设备出现的ip地址的交集个数;

两个设备出现的ip地址的余弦相似度;

两个设备出现的ip地址的jaccard相似度;

两个设备连接的wifi的物理地址mac的交集个数;

两个设备连接的wifi的物理地址mac的余弦相似度;

两个设备连接的wifi的物理地址mac的jaccard相似度;

两个设备连接的wifi的服务集标识ssid的交集个数;

两个设备连接的wifi的服务集标识ssid的余弦相似度;

两个设备连接的wifi的服务集标识ssid的jaccard相似度;

两个设备每天观影时间段(24个段)交集个数;

两个设备每天观影时间段(24个段)余弦相似度;

两个设备每天观影时间段(24个段)jaccard相似度;

两个设备每周观影(周几)交集个数;

两个设备每周观影(周几)余弦相似度;

两个设备每周观影(周几)jaccard相似度;

两个设备搜索词交集个数;

两个设备搜索词余弦相似度;

两个设备搜索词jaccard相似度;

两个设备访问的统一资源定位符url域名交集个数;

两个设备访问的统一资源定位符url域名余弦相似度;

两个设备访问的统一资源定位符url域名jaccard相似度;

两个设备观影偏好(例如观影类型,比如偶像剧,军事题材剧等)交集个数;

两个设备观影偏好余弦相似度;

两个设备观影偏好jaccard相似度;

两个设备兴趣点(预定义的兴趣体系,比如汽车,数码等等、兴趣)的交集个数;

两个设备兴趣点的余弦相似度;

两个设备兴趣点的jaccard相似度;

两个设备对应的性别是否相同;

两个设备对应的用户年龄的差值。

上述jaccard相似度是常用的用于比较有限样本集之间的相似性与差异性的参数,余弦相似度是常用的通过计算两个向量的夹角余弦值来评估两个样本的相似度的参数。

关于特征数据的选择,本领域技术人员可以根据实际需要设定,本申请不作具体限定。

分析了上述特征数据后,得到的特征分析结果可以是以下形式:

device_a,device_b1:12:0.53:0.7;

上述“:”前的数字“1/2/3”表示特征的标识,该标识对应某种特征,“:”后的数字“1/0.5/0.7”表示特征值。上述特征分析结果例如可以表示:设备device_a和设备device_b的ip地址交集个数为1,ip地址的余弦相似度为0.5,ip地址的jaccard相似度为0.7。

可以理解的是,上述对分析结果形式的说明只是为了说明本申请的技术方案所举的一个具体例子,本领域技术人员可以根据实际需要设置分析结果的形式,本申请对特征分析结果的显示形式不作具体限制。

实际应用中,一个用户通常只会将自己的账号分享给与自己相熟的人,因此,一个账号下的上述多个设备可以是数量不大于预设值的多个设备。设备数超过该预设值,说明系统可能存在设备查询错误,从而可以减少工作量,避免不必要的工作,提高用户划分的效率。例如,服务器可以识别已登录同一账号的不多于15个的设备。本领域技术人员可以根据实际需要设置设备数量的预设值,本申请不对该预设值作具体限定。

s130:在上述设备对中,识别特征数据分析结果大于预设阈值的设备对,将每个设备作为节点,并连接所识别出的每个设备对中包括的两个设备的节点,得到设备关系图;

当对设备对中包括的两个设备进行特征数据分析后,为进一步分析同一账号登录的多个设备中哪些设备属于同一用户,在本发明实施例中,服务器可以在上述设备对中,识别特征数据分析结果大于预设阈值的设备对,将每个设备作为节点,并连接所识别出的每个设备对中包括的两个设备的节点,得到设备关系图。

例如,在上述设备对中,识别该设备对包括的两个设备的ip地址的交集个数大于0的设备对,或者识别该设备对包括的两个设备的搜索词的余弦相似度大于0.5的设备对,或者识别该设备对包括的两个设备的ip地址的交集个数大于0且搜索词的余弦相似度大于0.5的设备对,将每个设备作为节点,并连接所识别出的每个设备对中包括的两个设备的节点,得到设备关系图。

s140:使用社区发现算法对得到的设备关系图进行社区划分,将划分在同一社区的设备作为同一用户的设备。

得到设备关系图后,为分析设备关系图中包括的设备中哪些设备属于同一用户,在本发明实施例中,服务器可以使用社区发现算法对得到的设备关系图进行社区划分,将划分在同一社区的设备作为同一用户的设备。

例如,服务器可以将得到的设备关系图中特征数据分析结果大于预设阈值的设备对划分在同一社区,得到划分后的社区结构,在得到的划分后的社区结构中,将划分在同一社区的设备作为同一用户的设备。

上述社区发现算法,是分析网络结构的一种重要技术,是通过在一个包含节点和边的图上把图中的节点进行聚类,构成一个个的社区,社区内部的节点之间的连接相对稠密,而不同社区的节点之间的连接相对稀疏。

本发明实施例提供的用户识别方法,用户个数是基于社区发现算法根据设备的特征数据得出的,不需要人工预先指定用户个数,避免了对多个设备进行用户划分的结果受预估的用户个数的影响,因此划分结果更符合设备的实际情况,从而提高了对多个设备进行用户划分结果的准确率。

在本发明实施例的一种实施方式中,步骤s140中对设备关系图进行社区划分可以按以下步骤实现:

s141:将上述设备关系图中的每个节点作为一个社区,并计算该设备关系图的初始模块度;

在实际应用中,模块度法是用来衡量社区划分质量的一种常用方法。可以理解的是,设备关系图的初始状态是未被划分社区的,为了可以进行后续的社区划分,在本发明实施例中,服务器可以将上述还未被划分社区的设备关系图中的每个节点作为一个社区,并计算该设备关系图的初始模块度。

其中,初始模块度可以按以下步骤计算:

将每个社区内所有被连接的节点所对应的设备对的特征数据分析结果之和,作为每个社区对应的内部特征数据和,将所有社区的上述内部特征数据和之和,作为社区特征数据和;由于初始模块度对应的设备关系图中每个社区只有一个节点,因此,每个社区对应的内部特征数据和为0,社区特征数据和也为0;

将所有连接不同社区的两个节点所对应的设备对的特征数据分析结果之和,作为社区间特征数据和;

将上述社区特征数据和与上述社区间特征数据和之差,作为该设备关系图的初始模块度。

s142:针对每一个节点,将该节点分别划分在其他社区,计算该节点每次划分在其他任一社区后,形成的测试社区结构的目标模块度;

为得出任一节点划分在其他社区中的哪个社区最合理,从而最终确定该节点被划分在哪个社区,在本发明实施例中,服务器可以针对每一个节点,将该节点分别划分在其他社区,计算该节点每次划分在其他任一社区后,形成的测试社区结构的目标模块度。

s143:针对每一个节点,计算该节点对应的每个目标测试社区结构的模块度与上述初始模块度的差值,并将该节点划分在上述差值最大时对应的社区中。

可以理解的是,模块度的值可以反映一个社区结构划分的质量,模块度的值越大,说明社区划分越合理。因此,在本发明实施例中,为将节点划分在与该节点关系最紧密的社区中,服务器可以针对每一个节点,计算该节点对应的每个目标测试社区结构的模块度与上述初始模块度的差值,并将该节点划分在上述差值最大时对应的社区中。

利用模块度法对设备关系图中的节点进行社区划分,可以量化评估将节点划分在与哪个社区中最合理,从而使节点可以被划分在与该节点关系最紧密的社区中,社区划分更准确。

s144:将在社区划分时存在交集的节点,划分在同一社区。

具体的,例如步骤s130得到的设备关系图如图2所示,该设备关系图包括设备a、b、c、d、e、f、g、h、i九个设备,对该设备关系图进行社区划分可以按以下步骤实现:

将上述九个设备中的每个设备作为一个社区,得到社区a、社区b、…社区i九个社区,计算此时设备关系图的初始模块度。例如,该初始模块度为1。

针对设备a,将设备a划分在社区b中,计算形成的测试社区结构的目标模块度为1.3,将设备a划分在社区c中,计算形成的测试社区结构的目标模块度为1.4,同理,将设备a分别划分在社区d、e、f、g、h、i中,计算分别形成的测试社区结构的目标模块度为1.2、1.1、1.0、1.0、0.9、0.9。

针对设备a,将设备a分别划分在社区b、c、d、e、f、g、h、i中,形成的测试社区结构的目标模块度分别与上述初始模块度的差值为0.3、0.4、0.2、0.1、0、0、-0.1、-0.1,将设备a划分在社区c中时,上述差值0.4为最大,因此,将设备a划分在社区b中。

其他与设备a的社区划分方法相同,此处不再赘述其他设备的社区划分过程,仅对划分结果进行举例。例如设备b被划分在社区c,设备c被划分在社区a,设备d被划分在社区a,设备e被划分在社区f,设备f被划分在社区e,设备g被划分在社区f,设备h被划分在社区f,设备i被划分在社区f。可以发现,设备a、b、c、d在社区划分时存在交集,设备e、f、g、h、i在社区划分时存在交集,因此,如图3所示,将设备a、b、c、d划分在一个社区,将设备e、f、g、h、i划分在一个社区。

在本发明实施例一种实施方式中,上述步骤s142中目标模块度的计算可以按以下步骤实现:

s1421:针对每一个节点,将该节点分别划分在其他社区,计算该节点每次划分在其他任一社区后,将每个社区内所有被连接的节点所对应的设备对的特征数据分析结果之和,作为上述每个社区对应的内部特征数据和;

s1422:将所有社区的上述内部特征数据和之和,作为社区特征数据和;

可以理解的是,特征数据分析结果可以较客观地反映设备对中的两个设备之间的联系的紧密程度,为分析任一节点被划分在哪个社区最合理,可以先分析该节点被划分在其他社区后形成的社区内各节点的特征数据的联系紧密程度。因此,在本发明实施例中,服务器可以将该节点分别划分在其他社区,计算该节点每次划分在其他任一社区后,将每个社区内所有被连接的节点所对应的设备对的特征数据分析结果之和,作为上述每个社区对应的内部特征数据和;将所有社区的内部特征数据和之和,作为社区特征数据和。

s1423:将所有连接不同社区的两个节点所对应的设备对的特征数据分析结果之和,作为社区间特征数据和;

s1424:将上述社区特征数据和与上述社区间特征数据和之差,作为上述节点划分在上述任一社区后,形成的测试社区结构的目标模块度。

可以理解的是,社区内的节点联系越紧密,社区间的节点联系稀疏,说明社区的划分的质量越高。因此,为分析社区划分质量,可以将社区内的特征数据与社区间的特征数据进行比较。在本发明实施例中,服务器可以将所有连接不同社区的两个节点所对应的设备对的特征数据分析结果之和,作为社区间特征数据和;将社区特征数据和与社区间特征数据和之差,作为节点划分在上述任一社区后,形成的测试社区结构的目标模块度。

由于特征数据可以表明设备对中的两个设备之间的联系的紧密度,本发明实施例中,用社区特征数据与社区间特征数据来定义模块度,可以使社区划分更符合设备的实际关联情况,使社区划分更准确。

在本发明实施例的一种实施方式中,步骤s120中,特征数据分析结果可以按以下步骤得到:

s121:将该设备对中包括的两个设备的特征数据作为分类算法的参数,将分类算法的输出结果作为特征数据分析结果。

可以理解的是,分类算法是对对象的特征进行分析后,根据某种规则将对象进行分类的一种算法。本申请中,可以对设备对的特征数据进行分析,得到该设备对属于哪一类后,根据该设备对属于的类型,来分析该设备对是否属于同一用于。在本发明实施例中,服务器可以将该设备对中包括的两个设备的特征数据作为分类算法的参数,将分类算法的输出结果作为特征数据分析结果。

上述分类算法例如可以是逻辑回归算法,线性回归算法,决策数集算法等。本申请不对分类算法的形式作具体限定。其中,逻辑回归算法的输出结果是容易被理解的概率形式,可以直接、方便地对数据进行分类。因此,本发明实施例优选逻辑回归算法。

用分类算法可以简单、快速地对设备对的特征数据进行分析,从而可以提高对多个设备进行用户划分的速度和可操作行。

在本发明一个可选实施例中,步骤s110后,还可以包括以下步骤:

s150:选择存在矛盾操作行为的上述设备对,并对所选择的设备对添加负样本标识;

相应的,步骤s130中可以按以下步骤得到设备关系图:

s131:连接所识别出的,且特征数据分析结果对应的设备对未添加负样本标识的设备对的两个设备的节点。

在实际应用中,对设备对中的两个设备进行特征数据分析的结果可能并不一定正确,例如,将两个不可能属于同一用户的设备对中的两个设备分析为属于同一用户。因此,为了监督特征分析结果的正确性,减少对设备对中包括的两个设备的错误分析,在本发明实施例中,服务器可以选择存在矛盾操作行为的设备对,并对所选择的设备对添加负样本标识;连接所识别出的,且上述特征数据分析结果对应的设备对未添加负样本标识的设备对的两个设备的节点。

本发明的实施例中,当仅根据特征数据分析结果连接的设备关系图中存在错误时,可以进一步根据所连接的设备对中的两个设备是否存在矛盾操作行为,来将存在矛盾操作行为的设备对取消连接,使设备关系图更准确,从而使对多个设备进行用户划分的结果更准确。

在本发明实施例的一种实施方式中,步骤s150中选择存在矛盾操作行为的设备对,可以按以下步骤实现:

s151:选择在相同的时间段内,设备对的两个设备的定位信息不同的设备对,作为存在矛盾操作行为的设备对。

可以理解的是,如果两个设备在同一时间段内的定位信息不同,那么这两个设备属于同一用户的概率非常小,此时,服务器就可以将这两个设备作为存在矛盾操作行为的设备对。例如,在同一天的13:00到14:00这一时间段内,设备对中的两个设备一个在北京出现,一个在上海出现,那么,可以推断这两个设备属于同一用户的概率非常小。

或者,选择存在矛盾操作行为的设备对可以按以下步骤实现:

s152:选择在相同时间段内,上述设备对的两个设备的浏览内容相同的设备对,作为存在矛盾操作行为的设备对;

可以理解的是,如果两个设备在同一时间段内浏览的内容相同,那么这两个设备属于同一用户的概率较小,此时,服务器就可以将这两个设备作为存在矛盾操作行为的设备对。例如,在同一天的13:00到14:00这一时间段内,设备对中的两个设备均在观看同一部电视剧的同一集,那么,可以推断这两个设备属于同一用户的概率较小。

或者,选择存在矛盾操作行为的设备对可以按以下步骤实现:

s153:选择在预设时间段内,上述设备对的两个设备浏览相同内容的次数超过预设阈值的设备对,作为存在矛盾操作行为的设备对。

可以理解的是,如果两个设备在预设时间段内浏览相同内容的次数超过预设阈值,那么这两个设备属于同一用户的概率较小,此时,服务器就可以将这两个设备作为存在矛盾操作行为的设备对。例如,在同一天内,两个设备中的一个设备浏览一篇文献超过五次,另一个设备浏览一篇文献也超过五次,那么,可以推断这两个设备属于同一用户的概率较小。

本发明实施例通过定位信息、浏览内容或浏览内容的次数确定存在矛盾操作行为的设备对,可以较准确的确定哪些设备对存在矛盾操作行为,从而为后续对多个设备的用户划分提供划分依据,使用户划分的结果更准确。

在本发明一个可选实施例中,步骤s110后,还可以包括以下步骤:

s160:选择存在关联操作行为的设备对,并对所选择的设备对添加正样本标识;

相应的,步骤s130中可以按以下步骤得到设备关系图:

s132:连接所识别出的每个设备对中包括的两个设备的节点,并连接特征数据分析结果对应的设备对已添加正样本标识的设备对的两个设备的节点。

在实际应用中,仅根据识别出的特征分析结果是否大于预设阈值来连接设备对中的两个设备,可能会出现漏连的情况。例如,某一设备对中的两个设备属于同一用户,但这两个设备的特征分析结果却小于预设阈值,那么,这两个设备就会被漏连。因此在本发明实施例中,服务器可以选择存在关联操作行为的设备对添加正样本标识;连接所识别出的每个设备对中包括的两个设备的节点,并连接特征数据分析结果对应的设备对已添加正样本标识的设备对的两个设备的节点。

本发明的实施例中,当仅根据特征数据分析结果连接的设备关系图中存在漏连的设备对时,可以进一步根据所连接的设备对中的两个设备是否存在关联操作行为,来将存在关联操作行为的设备对连接,使设备关系图更准确,从而使对多个设备进行用户划分的结果更准确。

在本发明实施例的一种实施方式中,步骤s160中选择存在关联操作行为的上述设备,可以按以下步骤实现:

s161:在上述设备对的两个设备的日志中查找有继续操作行为的设备对,作为存在关联操作行为的上述设备对;

可以理解的是,当一个用户拥有多个设备,该用户可能会将在一个设备上未完成的操作,在另一个设备上继续完成。在本发明实施例中,基于上述情况的存在,当在某一设备对中的两个设备的日志中查找有继续操作行为时,这两个设备属于同一用户的概率很大,此时,服务器就可以将这两个设备作为存在关联操作行为的设备对。例如,一电脑用一个账号观看某一视频到视频的中间位置,一手机又用同样的账号从上述中间位置继续观看该视频,则该电脑和手机属于同一用户的概率很大,可以将该手机和电脑作为存在关联操作行为的设备对。

或者,选择存在关联操作行为的设备对可以按以下步骤实现:

s162:选择具有扫码登录行为的设备对,作为存在关联操作行为的上述设备对。

在实际应用中,很多用户在电脑或平板等设备上登录账号时,需要用手机扫码的方式进行登录。因此,在本发明实施例中,服务器可以选择具有扫码登录行为的设备对,该设备对属于同一用户的概率很大,可以将该设备对作为存在关联操作行为的上述设备对。

本发明实施例通过查找继续操作行为或扫码登陆行为的设备对,可以较准确的确定哪些设备对存在关联操作行为,从而为后续对多个设备的用户划分提供划分依据,进一步使用户划分的结果更准确。

在本发明一个可选的实施例中,步骤s110后,还可以包括以下步骤:

s170:选择存在矛盾操作行为的上述设备对,并对所选择的设备对添加负样本标识;

s180:选择存在关联操作行为的上述设备对,并对所选择的设备对添加正样本标识;

s190:对既不存在矛盾操作行为,也不存在关联操作行为的上述设备对,添加未知样本标识;

相应的,步骤s121中分类算法的参数可以按以下步骤确定:

s1211:将该设备对中包括的两个设备的特征数据,以及该设备对的样本标识作为分类算法的参数。

由于在实际应用中,仅根据两个设备的特征数据来进行分类算法的计算,当特征数据不准确时,得到的分类结果的准确率也不高。因此在本发明实施例中,服务器可以对设备对进行初分类,其中,正样本代表设备中的两个设备对为同一用户的概率很大,负样本代表设备对中的两个设备为同一用户的概率很小,未知样本代表不确定两个设备是否为同一用户。

根据对设备对的样本分类结果和设备对的特征数据来进行分类算法的计算,可以提高对设备对是否属于同一用户的判断准确度。比如,当增加了ip相关的一些特征,发现用特征数据进行分类的结果与样本分类结果的一致性提高了,说明添加ip特征后,用特征数据对设备进行分类的准确率上升了,那么说明ip特征是有用,可以将ip特征保留。

例如,上述分类算法的参数的结构形式可以是:

1device_a,device_b1:12:0.53:0.7….

其中,首位的“1”表示“正样本”,上述参数的含义可以是:设备device_a与设备device_b组成的设备对属于正样本,这两个设备出现的ip地址的交集个数是1,这两个设备出现的ip地址的余弦相似度为0.5,这两个设备出现的ip地址的jaccard相似度为0.7。可以理解的是,上述参数的结构形式仅作为解释本发明技术方案所举的具体例子,本领域技术人员可以根据实际需要作出其他形式的参数的结构,本发明不对分类算法的参数的结构作具体限定。

在本发明实施例的一种实施方式中,上述步骤s140可以按以下步骤实现:

s144:使用社区发现算法对上述设备关系图进行社区划分;

s145:针对每一个社区,计算该社区中与每个节点相连的边数;

s146:删除与节点相连的边数小于预设值的节点,得到微调后的社区结构;

s147:将上述微调后的社区结构中划分在同一社区的设备作为同一用户的设备。

可以理解的是,在社区结构中的某一社区内,若与某一节点连接的连接线较少,说明该节点与该社区内的其他节点的联系不够紧密。因此,在本发明实施例中,服务器可以对划分社区后的设备关系图进行微调,删除与节点相连的边数小于预设值的节点,从而使社区中节点所对应的设备均是联系较紧密的设备,进一步提高了对设备进行用户划分的准确度。

上述删除与节点相连的边数小于预设值的节点,可以删除与节点相连的边数小于该节点所在社区的节点总数的一半的节点,或者可以删除与节点相连的边数小于该节点所在社区的所有连接线的一半的节点。本身请不对上述边数小于的预设值作具体限定,本领域技术人员可以根据实际需要设定上述边数小于的预设值。

在本发明实施例的一种实施方式中,步骤s145前还可以包括以下步骤:

s148:针对每一个社区,获取任意三个仅有两条连接线的节点;

s149:针对每一个社区,连接获取的任意三个节点中未被连接的两个节点。

可以理解的是,对于社区中的任意三个设备,可以组成三个设备对,当其中两个设备对的联系较紧密,可以被连线连接起来时,剩余一对设备对存在较紧密联系的概率也很大。在实际应用中,当特征数据计算不准确时,可能会出现漏连设备对的情况。因此,在本发明实施例中,服务器可以针对每一个社区,获取任意三个仅有两条连接线的节点,连接获取的任意三个节点中未被连接的两个节点,来减少漏连的情况,从而进一步提高对设备进行用户划分的准确度。

相应的,本发明实施例还提供了一种用户识别装置,如图4所示,该装置可以包括:

设备组对单元410,用于识别已登录同一账号的多个设备,并将所述多个设备中任两个设备组成设备对;

特征分析单元420,用于针对每个所述设备对,分析该设备对中包括的两个设备的特征数据,得到特征数据分析结果;

设备连接单元430,用于在所述设备对中,识别特征数据分析结果大于预设阈值的设备对,将每个设备作为节点,并连接所识别出的每个设备对中包括的两个设备的节点,得到设备关系图;

设备划分单元440,用于使用社区发现算法对所述设备关系图进行社区划分,将划分在同一社区的设备作为同一用户的设备。

本发明实施例提供的用户识别装置,用户个数是基于社区发现算法根据设备的特征数据得出的,不需要人工预先指定用户个数,避免了对多个设备进行用户划分的结果受预估的用户个数的影响,因此划分结果更符合设备的实际情况,从而提高了对多个设备进行用户划分结果的准确率。

在本发明实施例的一种实施方式中,所述设备划分单元440,可以包括:

初始模块度计算子单元,用于将所述设备关系图中的每个节点作为一个社区,并计算所述设备关系图的初始模块度;

目标模块度计算子单元,用于针对每一个节点,将该节点分别划分在其他社区,计算该节点每次划分在其他任一社区后,形成的测试社区结构的目标模块度;

节点划分子单元,用于针对每一个节点,计算所述节点对应的每个目标测试社区结构的模块度与所述初始模块度的差值,并将所述节点划分在所述差值最大时对应的社区中;

交集节点划分子单元,用于将在社区划分时存在交集的节点,划分在同一社区。

在本发明实施例的一种实施方式中,所述目标模块度计算子单元,可以包括:

内部特征计算模块,用于针对每一个节点,将该节点分别划分在其他社区,计算该节点每次划分在其他任一社区后,将每个社区内所有被连接的节点所对应的设备对的特征数据分析结果之和,作为所述每个社区对应的内部特征数据和;

社区特征计算模块,用于将所有社区的所述内部特征数据和之和,作为社区特征数据和;

社区间特征计算模块,用于将所有连接不同社区的两个节点所对应的设备对的特征数据分析结果之和,作为社区间特征数据和;

目标模块度计算模块,用于将所述社区特征数据和与所述社区间特征数据和之差,作为所述节点划分在所述任一社区后,形成的测试社区结构的目标模块度。

在本发明实施例的一种实施方式中,所述特征分析单元420,具体可以用于将该设备对中包括的两个设备的特征数据作为分类算法的参数,将分类算法的输出结果作为特征数据分析结果。上述分类算法可以是逻辑回归。

在本发明一个可选的实施例中,所述装置还可以包括:

负样本划分单元,用于选择存在矛盾操作行为的所述设备对,并对所选择的设备对添加负样本标识;

相应的,所述设备连接单元430,具体可以用于连接所识别出的,且所述特征数据分析结果对应的设备对未添加负样本标识的设备对的两个设备的节点。

在本发明实施例的一种实施方式中,所述负样本划分单元,可以包括:

定位分析子单元,用于选择在相同的时间段内,所述设备对的两个设备的定位信息不同的设备对,作为存在矛盾操作行为的设备对;

或者,浏览分析子单元,用于选择在相同时间段内,所述设备对的两个设备的浏览内容相同的设备对,作为存在矛盾操作行为的设备对;

或者,次数分析子单元,用于选择在预设时间段内,所述设备对的两个设备浏览相同内容的次数超过预设阈值的设备对,作为存在矛盾操作行为的设备对。

在本发明一个可选的实施例中,所述装置还可以包括:

正样本划分单元,用于选择存在关联操作行为的所述设备对,并对所选择的设备对添加正样本标识;

相应的,所述设备连接单元430,可以具体用于连接所识别出的每个设备对中包括的两个设备的节点,并连接所述特征数据分析结果对应的设备对已添加正样本标识的设备对的两个设备的节点。

在本发明实施例的一种实施方式中,所述正样本划分单元,可以具体用于在所述设备对的两个设备的日志中查找有继续操作行为的设备对,作为存在关联操作行为的所述设备对;

或者,所述正样本划分单元,可以具体用于选择具有扫码登录行为的设备对,作为存在关联操作行为的所述设备对。

在本发明一个可选的实施例中,所述装置还可以包括:

负样本标记单元,用于选择存在矛盾操作行为的所述设备对,并对所选择的设备对添加负样本标识;

正样本标记单元,用于选择存在关联操作行为的所述设备对,并对所选择的设备对添加正样本标识;

未知样本标记单元,用于对既不存在矛盾操作行为,也不存在关联操作行为的所述设备对,添加未知样本标识;

相应的,所述特征分析单元420,可以具体用于:

将该设备对中包括的两个设备的特征数据,以及该设备对的样本标识作为分类算法的参数。

在本发明实施例的一种实施方式中,所述设备划分单元440可以包括:

社区划分子单元,用于使用社区发现算法对所述设备关系图进行社区划分;

边数计算子单元,用于针对每一个社区,计算该社区中与每个节点相连的边数;

社区微调子单元,用于删除与节点相连的边数小于预设值的节点,得到微调后的社区结构;

用户识别子单元,用于将所述微调后的社区结构中划分在同一社区的节点对应的设备作为同一用户的设备。

在本发明一个可选的实施例中,所述装置还可以包括:

节点获取子单元,用于针对每一个社区,获取任意三个仅有两条连接线的节点;

节点连接子单元,用于针对每一个社区,连接获取的任意三个节点中未被连接的两个节点。

相应的,本发明实施例还提供了一种电子设备,如图5所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501、通信接口502、存储器503通过通信总线504完成相互间的通信,

存储器503,用于存放计算机程序;

处理器501,用于执行存储器503上所存放的程序时,实现如下步骤:

识别已登录同一账号的多个设备,并将所述多个设备中任两个设备组成设备对;

针对每个所述设备对,分析该设备对中包括的两个设备的特征数据,得到特征数据分析结果;

在所述设备对中,识别特征数据分析结果大于预设阈值的设备对,将每个设备作为节点,并连接所识别出的每个设备对中包括的两个设备的节点,得到设备关系图;

使用社区发现算法对所述设备关系图进行社区划分,将划分在同一社区的设备作为同一用户的设备。

本发明实施例提供的电子设备,用户个数是基于社区发现算法根据设备的特征数据得出的,不需要人工预先指定用户个数,避免了对多个设备进行用户划分的结果受预估的用户个数的影响,因此划分结果更符合设备的实际情况,从而提高了对多个设备进行用户划分结果的准确率。

上述电子设备提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

相应的,在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的用户识别方法。

在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的用户识别方法。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置/电子设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1