一种用户关系识别方法及装置
技术领域
本申请涉及计算机技术领域,尤其涉及一种用户关系识别方法及装置。
背景技术
随着网络信息技术的发展,服务器与用户设备之间的信息交互变得越来越频繁。用户在需要通过服务器提供的网页、客户端应用软件等获取信息推送等服务时,可以先进行账户注册,并提供注册信息;在账户注册完成后,还可以再向服务器提供完善后的账户信息,或者,服务器也可以基于用户的网络操作日志,获取需要的账户信息。服务器基于这些账户信息,可以为用户提供信息推送等服务;
基于对信息推送的及时性和覆盖全面性的需求,账户之间的关系信息变得越来越重要,尤其是账户归属用户之间的同事关系。服务器通常需要基于用户之间的同事关系来进行信息推送,比如,将其中一个用户关注的信息推送给与该用户具有同事关系的其它用户的账户。
现有技术获取同事关系一般是基于同事推荐实现的,这种方式受限于用户的主观意愿,获取到的同事关系信息较少,无法实现同事关系的自动化识别。
可见,目前尚没有进行同事关系自动化识别的方案。
发明内容
本申请实施例提供一种用户关系识别方法及装置,用以实现同事关系的自动化识别。
本申请实施例提供一种用户关系识别方法,包括:
服务器采集多个账户的账户信息;所述账户信息包括社交关系信息和工作信息;
所述服务器根据所述多个账户中每个账户的社交关系信息,配置关联账户对;其中,任一关联账户对的两个账户各自的归属用户之间具有社交关系;
针对每个关联账户对,所述服务器根据该关联账户对中每个账户的工作信息,判断该关联账户对是否为同事关系账户对;其中,任一同事关系账户对的两个账户各自的归属用户之间具有同事关系。
可选地,每个账户的社交关系信息包括以下信息中的一种或多种:
通讯交互信息;
转账信息;
与其它账户间的共用设备信息;
与其它账户间的共用媒介信息。
可选地,所述工作信息包括以下信息中的一种或多种:
工作用无线保真WIFI网络的标识信息;
对每个工作用WIFI网络的使用时间信息;
工作用互联网协议IP地址;
对每个工作用IP地址的使用时间信息;
工作地址信息。
可选地,针对每个关联账户对,所述服务器根据该关联账户对中每个账户的工作信息,判断该关联账户是否为同事关系账户对,包括:
针对每个关联账户对,根据该关联账户对中每个账户的工作信息,判断该关联账户对的两个账户之间是否具有相同的工作信息;
若该关联账户对的两个账户之间具有相同的工作信息,则确定该关联账户对为同事关系账户对。
可选地,针对任一关联账户对,所述服务器在确定该关联账户对的两个账户之间不具有相同的工作信息之后,还包括:
根据该关联账户对中每个账户的账户信息,确定该关联账户对中的一个账户的归属用户认识另一个账户的归属用户的同事的数目;
若确定的该关联账户对中的一个账户的归属用户认识另一个账户的归属用户的同事的数目超过设定阈值,则确定该关联账户对为同事关系账户对。
可选地,针对任一关联账户对,所述服务器根据以下步骤确定该关联账户对中的一个账户的归属用户认识另一个账户的归属用户的同事:
根据该关联账户对中每个账户的社交关系信息,判断该关联账户对中的一个账户的归属用户与另一个账户的同事关系账户的归属用户之间是否具有社交关系,若是,则确定这一个账户的归属用户认识所述另一个账户的同事关系账户的归属用户;和/或
根据该关联账户对中每个账户的工作信息,判断该关联账户对中的一个账户与另一个账户的同事关系账户之间是否具有相同的工作信息,若是,则确定这一个账户的归属用户认识所述另一个账户的同事关系账户的归属用户。
可选地,针对每个关联账户对,所述服务器根据该关联账户对中每个账户的工作信息,判断该关联账户是否为同事关系账户对,包括:
针对任一关联账户对,根据该关联账户对中每个账户的工作信息,确定该关联账户对的两个账户之间的共享工作信息;并
基于确定的弱同事关系账户对,以及所述任一关联账户对中每个账户的账户信息,确定该关联账户对中的一个账户的归属用户认识另一个账户的归属用户的弱同事的数目;其中,弱同事关系账户对的两个账户之间具有相同的工作信息;
根据确定的所述任一关联账户对的两个账户之间的共享工作信息、以及所述任一关联账户对中的一个账户的归属用户认识另一个账户的归属用户的弱同事的数目,判断该关联账户对是否为同事关系账户对。
可选地,针对任一关联账户对,所述服务器确定该关联账户对中的一个账户的归属用户认识另一个账户的归属用户的弱同事的数目,包括:
根据该关联账户对中每个账户的社交关系信息,判断该关联账户对中的一个账户的归属用户与另一个账户的弱同事关系账户的归属用户之间是否具有社交关系,若是,则确定这一个账户的归属用户认识所述另一个账户的弱同事关系账户的归属用户;和/或
根据该关联账户对中每个账户的工作信息,判断该关联账户对中的一个账户与另一个账户的弱同事关系账户之间是否具有相同的工作信息,若是,则确定这一个账户的归属用户认识所述另一个账户的弱同事关系账户的归属用户。
可选地,所述共享工作信息包括以下信息中的一种或多种:
使用相同的工作用无线保真WIFI网络的数目;
使用的相同的工作用无线保真WIFI网络的天数;
使用相同的工作用互联网协议IP地址的数目;
使用的相同的工作用IP地址的天数;
使用相同或不同的工作地址。
可选地,所述服务器根据确定的所述任一关联账户对的两个账户之间的共享工作信息、以及所述任一关联账户对中的一个账户的归属用户认识另一个账户的归属用户的弱同事的数目,判断该关联账户对是否为同事关系账户对,包括:
将所述任一关联账户对的每一种共享工作信息、以及在每一种方式下确定的所述任一关联账户对中的一个账户的归属用户认识另一个账户的归属用户的弱同事的数目,分别作为一种特征维度,确定在每种特征维度下的特征值;
根据确定的所述任一关联账户对在每种特征维度下的特征值,及每种特征维度的权重,判断所述任一关联账户对是否为同事关系账户对。
可选地,确定所述关联账户对为同事关系账户对之后,还包括:
基于确定的同事关系账户对,进行信息推荐。
本申请实施例提供一种用户关系识别装置,包括:
采集模块,用于采集多个账户的账户信息;所述账户信息包括社交关系信息和工作信息;
配置模块,用于根据所述多个账户中每个账户的社交关系信息,配置关联账户对;其中,任一关联账户对的两个账户各自的归属用户之间具有社交关系;
判断模块,用于针对每个关联账户对,根据该关联账户对中每个账户的工作信息,判断该关联账户对是否为同事关系账户对;其中,任一同事关系账户对的两个账户各自的归属用户之间具有同事关系。
采用上述实施例,服务器通过采集多个账户的账户信息,根据每个账户的社交关系信息,配置关联账户对;然后针对每个关联账户对,服务器根据该关联账户对中每个账户的工作信息,判断该关联账户对是否为同事关系账户对;从而实现了同事关系的自动化识别;服务器可以基于确定的同事关系账户对进行同事账户间的信息推送,除此之外,确定的同事关系账户对还可以应用于用户信用水平核查等各个方面。
附图说明
图1为本申请实施例一提供的用户关系识别方法流程图;
图2为本申请实施例二提供的用户关系识别方法流程图;
图3为本申请实施例三提供的用户关系识别方法流程图;
图4为复杂网络的简化示意图;
图5为关联账户对之间的同事关系示意图;
图6为三角形与三元组的对应关系示意图;
图7为节点之间发送同事关系信息的流程图;
图8为本申请实施例五提供的用户关系识别装置结构示意图。
具体实施方式
本申请实施例中,服务器通过采集多个账户的账户信息,根据每个账户的社交关系信息,配置关联账户对;然后针对每个关联账户对,服务器根据该关联账户对中每个账户的工作信息,判断该关联账户对是否为同事关系账户对;从而实现了同事关系的自动化识别;服务器可以基于确定的同事关系账户对进行同事账户间的信息推送,除此之外,确定的同事关系账户对还可以应用于用户信用水平核查等各个方面。
下面结合说明书附图对本申请实施例作进一步详细描述。
实施例一
如图1所示,为本申请实施例一提供的用户关系识别方法流程图,包括以下步骤:
S101:服务器采集多个账户的账户信息;所述账户信息包括社交关系信息和工作信息;
在具体实施过程中,服务器可以通过多种方式采集账户的账户信息,比如,可以在账户注册时采集注册的账户信息,比如注册的姓名、账户标识信息等;还可以采集用户的线上行为信息,比如在用户操作账户过程中,指示用户输入需要的某些账户信息,比如指示用户上传通讯录信息等,还可以在用户操作账户过程中,采集账户的登录设备信息、使用的局域网信息、使用的支付媒介(如银行卡号)信息等。
具体地,每个账户的社交关系信息可以包括以下信息中的一种或多种:
通讯交互信息;比如,通讯录信息、微博留言等;
转账信息;比如,账户之间的发红包行为等;
与其它账户间的共用设备信息;这里,共用设备是指使用登录过该账户的终端登录其它账户,或者使用登陆过其它账户的终端登录该账户;
与其它账户间的共用媒介信息;这里,共用媒介是指在网络操作中,与其它账户使用过相同的媒介,如两个账户使用相同的银行卡号支付等。
所述工作信息包括以下信息中的一种或多种:
至少一个工作用无线保真(WirelessFidelity,WIFI)网络的标识信息;这里,工作用WIFI网络的标识信息是指用户在工作时间(周一~周五)使用的WIFI网络的标识信息,比如可以包括WIFI网络的(Media Access Control,MAC)地址,还可以包括WIFI网络的名称等。
对每个工作用WIFI网络的使用时间信息;比如,使用日期等。
至少一个工作用互联网协议(Internet Protocol,IP)地址;这里,工作用IP地址也即用户在工作时间使用的网络的IP地址。
对每个工作用IP地址的使用时间信息;比如,使用日期等。
工作地址信息;这里,工作地址信息可以是用户使用的收货地址。
S102:服务器根据所述多个账户中每个账户的社交关系信息,配置关联账户对;其中,任一关联账户对的两个账户各自的归属用户之间具有社交关系。
这里,根据每个账户的社交关系信息,将具有社交关系的两个用户的账户配置为关联账户对。比如,将一个用户的账户与该用户上传的通讯录中的另一用户的账户配置为关联账户对。
S103:针对每个关联账户对,服务器根据该关联账户对中每个账户的工作信息,判断该关联账户对是否为同事关系账户对;其中,任一同事关系账户对的两个账户各自的归属用户之间具有同事关系。
这里,在两个账户是关联账户对的基础上,若两个账户的工作信息之间符合同事关系特征,则可以认为这两个账户为同事关系账户对。
具体地,可以针对每个关联账户对,根据该关联账户对中每个账户的工作信息,判断该关联账户对的两个账户之间是否具有相同的工作信息;若该关联账户对的两个账户之间具有相同的工作信息,则确定该关联账户对为同事关系账户对。
这里,两个账户之间具有相同的工作信息可以是指只要上述几种工作信息中的一种相同即可,比如,只要工作用WIFI网络的标识信息、工作用IP地址、工作地址信息中的一种相同即可。或者,两个账户之间具有相同的工作信息可以是指需要具有预设的多种相同的工作信息,比如只有在工作地址信息和工作用WIFI网络的标识信息都相同的情况下才认为两个账户之间具有相同的工作信息,再比如,只有在相同的日期内使用过相同的工作用WIFI网络(标识信息相同)时(比如,使用相同的工作用WIFI网络/IP地址的天数超过设定天数,和/或使用相同的WIFI网络/IP地址的数目超过设定数目),才认为两个账户之间具有相同的工作信息。
可选地,确定所述关联账户对为同事关系账户对之后,还包括:
基于确定的同事关系账户对,进行信息推荐。
在具体实施过程中,在确定各个同事关系账户对后,可以向同事关系账户对中的一个账户推荐与另一个账户关联的信息,比如向同事关系账户对中的一个账户推荐另一个账户曾经购买的产品的信息及相关产品的推荐信息等,再比如,在建立熟人关系网络时,向同事关系账户对中的一个账户推荐另一个账户的熟人关系账户;除此之外,本申请实施例确定的同事关系账户对还可以应用到通讯群组的建立、信息的群发等任何可以使用同事关系的场景。
实施例二
如图2所示,为本申请实施例二提供的用户关系识别方法流程图,包括以下步骤:
S201:服务器采集多个账户的账户信息;所述账户信息包括社交关系信息和工作信息。
S202:服务器根据所述多个账户中每个账户的社交关系信息,配置关联账户对;其中,任一关联账户对的两个账户各自的归属用户之间具有社交关系。
S203:针对每个关联账户对,服务器根据该关联账户对中每个账户的工作信息,判断该关联账户对的两个账户之间是否具有相同的工作信息,若是则进入S204,否则进入S205;
S204:服务器确定该关联账户对为同事关系账户对。
S205:服务器根据该关联账户对中每个账户的账户信息,确定该关联账户对中的一个账户的归属用户认识另一个账户的归属用户的同事的数目。
具体地,针对任一关联账户对,服务器可以根据以下步骤确定该关联账户对中的一个账户的归属用户认识另一个账户的归属用户的同事:
根据该关联账户对中每个账户的社交关系信息,判断该关联账户对中的一个账户的归属用户与另一个账户的同事关系账户的归属用户之间是否具有社交关系,若是,则确定这一个账户的归属用户认识所述另一个账户的同事关系账户的归属用户;和/或
根据该关联账户对中每个账户的工作信息,判断该关联账户对中的一个账户与另一个账户的同事关系账户之间是否具有相同的工作信息,若是,则确定这一个账户的归属用户认识所述另一个账户的同事关系账户的归属用户。
这里,确认关联账户对中的一个账户的归属用户认识另一个账户的归属用户的同事的情况,可以包括这一个账户与另一个账户的同事关系账户之间具有相同的工作信息,也可以包括这一个账户的归属用户与另一个账户的归属用户的同事之间具有社交关系。
在具体确定关联账户对中的一个账户的归属用户认识另一个账户的归属用户的同事的数目时,可以从该关联账户对中任意选择一个账户,确定选择的账户的归属用户认识另一个账户的归属用户的同事的数目;也可以分别确定两个账户的归属用户各自认识对方账户的归属用户的同事的数目,最后取得到的两个数目的最大值作为该关联账户对中的一个账户的归属用户认识另一个账户的归属用户的同事的数目。
S206:若确定的该关联账户对中的一个账户的归属用户认识另一个账户的归属用户的同事的数目超过设定阈值,则确定该关联账户对为同事关系账户对。
可见,本申请实施例中,不仅将归属用户之间具有社交关系、且具有相同的工作信息的账户对列为同事关系账户对,还将认识对方同事的数目超过设定阈值的账户对列为同事关系账户对,增加了进行同事关系识别的能力。
实施例三
本申请实施例三中,将结合几种不同的特征维度,进行同事关系识别。
如图3所示,为本申请实施例三提供的用户关系识别方法流程图,包括以下步骤:
S301:服务器采集多个账户的账户信息;所述账户信息包括社交关系信息和工作信息。
S302:服务器根据所述多个账户中每个账户的社交关系信息,配置关联账户对;其中,任一关联账户对的两个账户各自的归属用户之间具有社交关系。
S303:针对任一关联账户对,服务器根据该关联账户对中每个账户的工作信息,确定该关联账户对的两个账户之间的共享工作信息。
这里的共享工作信息可以包括以下信息中的一种或多种:
使用的相同的工作用WIFI网络的数目;这里,服务器需要统计关联账户对的两个账户使用过的相同的工作用WIFI网络(通过标识信息区分)的数目。
使用相同的工作用WIFI网络的天数;这里,针对关联账户对的两个账户之间每个相同的工作用WIFI网络,服务器基于每个账户对应的对该工作用WIFI网络的使用时间信息,统计这两个账户共用(在相同的日期使用)该工作用WIFI网络的天数。
使用的相同的工作用IP地址的数目;同理,服务器需要统计关联账户对的两个账户使用过的相同的工作用IP地址的数目。
使用相同的工作用IP地址的天数;这里,针对关联账户对的两个账户之间每个相同的工作用IP地址,服务器基于每个账户对应的对该工作用IP地址的使用时间信息,统计这两个账户共用(在相同的日期使用)该工作用IP地址的天数。
使用相同或不同的工作地址;这里,服务器需要基于每个账户对应的工作地址信息,判断关联账户对的两个账户之间是否具有相同的工作地址。
S304:服务器基于确定的弱同事关系账户对,以及所述任一关联账户对中每个账户的账户信息,确定该关联账户对中的一个账户的归属用户认识另一个账户的归属用户的弱同事的数目;其中,弱同事关系账户对的两个账户之间具有相同的工作信息。
在具体实施中,可以在关联账户对的两个账户之间具有至少一种相同的工作信息(如IP地址、WIFI网络、工作地址)时,即认为该关联账户对为弱同事关系账户对;也可以基于已经确定出的关联账户对的两个账户之间的共享工作信息,判断该关联账户对是否为弱同事关系账户对(比如,当使用相同的IP地址/WIFI网络的天数需要超过预设天数时确定该关联账户对为弱同事关系账户对)。
这里的弱同事关系可以认为是近似同事关系,一般地,具有弱同事关系的关联账户对相比其它不具有弱同事关系的关联账户对成为同事关系账户对的几率要高。
具体地,针对任一关联账户对,确定该关联账户对中的一个账户的归属用户认识另一个账户的归属用户的弱同事的数目,包括:
若该关联账户对中的一个账户的归属用户与另一个账户的弱同事关系账户的归属用户之间具有社交关系,则确定这一个账户的归属用户认识所述另一个账户的弱同事关系账户的归属用户;和/或
若该关联账户对中的一个账户与另一个账户的弱同事关系账户之间具有相同的工作信息,则确定这一个账户的归属用户认识所述另一个账户的弱同事关系账户的归属用户。
这里,确认关联账户对中的一个账户的归属用户认识另一个账户的归属用户的弱同事的情况,可以包括这一个账户与另一个账户的弱同事关系账户之间具有相同的工作信息,也可以包括这一个账户的归属用户与另一个账户的归属用户的弱同事之间具有社交关系。
在具体确定关联账户对中的一个账户的归属用户认识另一个账户的归属用户的弱同事的数目时,可以从该关联账户对中任意选择一个账户,确定选择的账户的归属用户认识另一个账户的归属用户的弱同事的数目;也可以分别确定两个账户的归属用户各自认识对方账户的归属用户的弱同事的数目,最后取得到的两个数目的最大值作为该关联账户对中的一个账户的归属用户认识另一个账户的归属用户的弱同事的数目。
S305:根据确定的所述任一关联账户对的两个账户之间的共享工作信息、以及所述任一关联账户对中的一个账户的归属用户认识另一个账户的归属用户的弱同事的数目,判断该关联账户对是否为同事关系账户对。
在具体实施过程中,可以在关联账户对的两个账户之间具有相同的工作信息,也即具有弱同事关系,而且其中一个账户的归属用户认识另一个账户的归属用户的弱同事的数目超过设定阈值时,确定该关联账户为同事关系账户对。也可以将每种共享工作信息,及其中一个账户的归属用户认识另一个账户的归属用户的弱同事的数目,分别作为不同的特征维度,根据每种特征维度对应的特征值及权重,来判断关联账户对是否为同事关系账户对;这里,可以直接将认识弱同事的数目作为一个特征维度,也可以将在不同方式下确定的认识弱同事的数目作为不同的特征维度。
比如,S305中,可以将所述任一关联账户对的每一种共享工作信息、以及在每一种方式下确定的所述任一关联账户对中的一个账户的归属用户认识另一个账户的归属用户的弱同事的数目,分别作为一种特征维度,确定在每种特征维度下的特征值;根据确定的所述任一关联账户对在每种特征维度下的特征值,及每种特征维度的权重,判断所述任一关联账户对是否为同事关系账户对。
在具体实施过程中,可以将每种特征维度对应的特征值(比如两个账户使用相同的工作用IP地址的天数、使用相同的工作用WIFI网络的天数、使用的相同的工作用IP地址的数目、使用的相同的工作用WIFI网络的数目)进行归一化处理,得到取值范围在0~1之间的特征值;在“使用相同或不同的工作地址”这种特征维度下的特征值可以直接取值为1(对应使用相同的工作地址)或0(对应使用不同的工作地址)。
可选地,针对任一特征值,具体可以根据以下公式进行特征值归一化处理:
f(x)=2/(1+e-ax)-1
其中,a为设定常数(控制f(x)函数曲线平缓度的参数),x为进行归一化处理前的特征值,f(x)为对x进行归一化处理后的特征值。
在具体实施过程中,根据每种特征维度对应的特征值及权重,来判断关联账户对是否为同事关系账户对的方式具体可以是将归一化后的特征值乘以各自对应的权重(比如,“使用相同或不同的工作地址”这种特征维度对应的权重为1,其余特征维度对应的权重为0.5)后,将各个乘积相加,再对加和后的值进行归一化处理,若最终得到的处理后的值大于预设值,则认为关联账户对是同事关系账户对。
实施例四
本申请实施例在实施中,可以结合批量同步并行计算(Bulk SynchronousParallel,BSP)算法来进行信息的处理。具体说明如下:
在具体实施中,可以将每个账户抽象成一个虚拟节点,虚拟节点之间可以通过相关通信进行信息交互。
基于BSP算法识别同事关系的过程具体可以包括:
首先,根据用户的线上行为信息,获取每个账户对应的工作地址、账户使用的WIFI MAC、IP地址信息。这些信息构成节点的属性信息,下面的步骤中将通过分析不同节点之间的属性信息,确定节点与节点之间边(存在关联关系的节点(对应归属用户之间具有社交关系)之间存在一条边)的属性。如图4所示,为复杂网络的简化示意图。在实施中,需要存储节点属性信息及节点之间的关联关系信息;由于构建的网络具有稀疏特征,采用邻接矩阵的存储方式会造成存储空间严重浪费,因此可以采用邻接表的存储方式,并分别以节点表(表一)和边表(表二)存储各节点的属性信息和节点之间的关联关系信息。
节点标识ID |
节点属性信息 |
A |
WIFI MAC1,WIFI MAC2,IP1,IP2,工作地址1 |
B |
WIFI MAC2,WIFI MAC3,IP2,工作地址1 |
…… |
…… |
表一
表二
一、共享工作信息及弱同事关系的确定过程。
首先(第一轮迭代),基于上述表格的存储信息,控制每个节点向自己的关联结点(对应关联账户)发送自身的节点属性信息,其中可以包括节点标识信息(比如账户名、账户号)、节点的工作信息等。
然后(第二轮迭代),控制每个节点接收并处理接收的节点属性信息,将自身的工作信息与关联关系节点的工作信息进行匹配,分别统计使用相同的工作用WIFI网络的数目、使用相同的工作用IP地址的数目,及使用的相同的工作用WIFI网络的天数、使用的相同的工作用IP地址的天数、工作地址是否相同;这样,每个节点就会获取自身节点与关联关系节点之间的共享工作信息对应的多个维度的特征值,以及与关联关系节点之间是否具有弱同事关系(可以基于统计的共享工作信息确定,比如若使用相同的工作用WIFI网络/工作用IP地址/工作地址,则认为具有弱同事关系)的特征。
最后(迭代终止),控制每个节点输出各自统计的与关联关系节点之间的多维度特征值,及确定出的与关联关系节点之间具有或不具有弱同事关系的特征。
二、认识弱同事数目的确定过程。
如图5所示,节点A和B为关联账户对,节点C和D为节点A的弱同事关系节点(采用“1”来标识弱同事关系,“0”来标识非弱同事关系);该步骤中,需要确定节点B是否“认识”节点A的弱同事C和D。
(1)第一类网络特征的提取;
在这种方式下,当一个账户的归属用户与另一个账户的归属用户的同事之间具有社交关系时,认为这一个账户的归属用户认识所述另一个账户的归属用户的同事。具体实施过程描述如下:
在计算过程中,每个节点需要向关联关系节点指示自己拥有的同事关系节点,能产生千亿条消息,给计算造成严重负担。通过对网络结构观察发现,账户B认识账户A的弱同事符合三角形模式,账户B,账户A,账户C构成三角形顶点,账户A与账户C之间有一条弱同事边,用三元组a-b-1来表示B与A的弱同事C存在1条边(也即表示B的归属用户认识A的弱同事C),统计B与A构成的所有三角形,并将得到的所有三元组累加,即可获取B与A的弱同事之间的边的数目,即计算出了B认识A的多少个弱同事。这样,该网络特征的计算转化为了三角形发现。三角形与三元组的对应关系可以归纳为如图6所示7种模式,其中节点标识A<B<C,这里采用数字编号标识各个节点。通过控制三角形中相互具有弱同事关系的两个节点中的一个节点来指示对方为自己的弱同事关系节点,可以减少消息的重复发送;比如,若A与B之间具有一条弱同事边,可以控制A与B中的一个节点向共同认识的C指示同事关系节点(具体发送的信息包括同事关系节点的标识信息,以及与该同事关系节点之间的边的属性信息,比如采用属性信息“1”来表示与发送的标识信息所指示的节点之间具有同事关系),避免A与B消息发送的重复性。具体可以按照如图7所示步骤发送,将每个节点作为发送节点,控制发送节点执行以下以下步骤:
S701:发送节点遍历其关联关系节点,查找其中的同事关系节点;
S702:针对任一查找到的同事关系节点,比较该同事关系节点标识与当前节点标识的大小关系。
S703:若该同事关系节点标识小于发送节点标识(采用数字编号标识),则将同事关系节点信息(其中包含该同事关系节点标识及与该同事关系节点之间的边的属性值1)发送给其它大于该发送节点的关联关系节点。
该步骤,对应图6所示1、4、6、7这四种三角形。
S704:若该同事关系节点标识大于该发送节点标识,则查找比该同事关系节点标识小、且比该发送节点标识大的非同事关联关系节点(非同事关系的关联关系节点),将同事关系节点信息发送给查找到的非同事关联关系节点。
该步骤,对应图6所示2、5两种三角形。
S705:若该同事关系节点标识大于该发送节点标识,则查找小于当前节点标识的非同事关联关系节点,将同事关系节点信息发送给该非同事关联关系节点;
该步骤,对应图6所示3、5两种三角形。
针对任一接收到同事关系节点信息的接收节点,控制接收节点执行:
接收节点判断接收的同事关系节点信息中指示的节点是否为该接收节点的关联关系节点,若是,则确定认识该发送节点所指示的节点(发送节点的弱同事关系节点)。
优选地,针对上述S703~S705三个步骤中涉及的不同的接收节点,控制每个接收节点分别执行:
S706:对应上述S703,当接收节点接收到的同事关系节点信息来自于其标识比自己标识小的发送节点,并且同事关系节点信息中所指示的节点的标识小于该发送节点的标识且为该发送节点的弱同事关系节点,则进一步判断同事关系节点信息中所指示的节点是否为该接收节点的关联关系节点,如果是,按照对应的三角形类型输出相应的三元组(图7中,该步骤简化描述为判断是否构成1、4、6、7四种三角形中的任一种);
经过该步骤,接收节点输出图6所示1、4、6、7这四种三角形对应的三元组。
S707:当接收节点接收到的同事关系节点信息来自于其标识比自己标识小的发送节点、该发送节点为该接收节点的非同事关系节点、并且同事关系节点信息中所指示的节点的标识大于该发送节点且为该发送节点的弱同事关系节点,则进一步判断同事关系节点信息中所指示的节点是否为该接收节点的关联关系节点,如果是,按照对应的三角形类型输出相应的三元组(图7中,该步骤简化描述为判断是否构成2、5两种三角形中的任一种);
经过该步骤,接收节点输出图6所示2、5这两种三角形对应的三元组。
S708:当接收节点接收到的同事关系节点信息来自于其标识比自己标识大的发送节点、该发送节点为该接收节点的非同事关系节点、并且同事关系节点信息中所指示的节点的标识大于该发送节点且为该发送节点的弱同事关系节点,则进一步判断同事关系节点信息中所指示的节点是否为该接收节点的非同事、关联关系节点,如果是,按照对应的三角形类型输出相应的三元组(图7中,该步骤简化描述为判断是否构成第3种三角形);
经过该步骤,接收节点输出图6所示第3种三角形对应的三元组。
S709:将每个接收节点输出的三元组累加得到第一类网络特征“一个账户的归属用户基于社交关系认识另一个账户的归属用户的同事的数目”。
(2)第二类网络特征的提取;
在这种方式下,当一个账户与另一个账户的同事关系账户之间具有相同的工作信息(比如使用相同的工作用WIFI网络/IP地址/工作地址,再比如,使用相同的工作用WIFI网络/IP地址的天数超过设定天数,和/或使用相同的WIFI网络/IP地址的数目超过设定数目)时,认为这一个账户的归属用户认识所述另一个账户的归属用户的同事。
在该方式下的第一轮迭代过程,可参见第一种认识方式中的步骤S701~S705;
第二轮迭代过程,接收节点在接收到同事关系节点信息后,其处理过程可参见上述S706~S708,只是需要将“判断同事关系节点信息中所指示的节点是否为该接收节点的关联关系节点”替换为基于该接收节点和同事关系节点信息中所指示的节点之间的共享工作信息,判断该接收节点是否“认识”同事关系节点信息中所指示的节点,若是,则按照对应的三角形类型输出相应的三元组。
将每个接收节点输出的三元组累加得到第二类网络特征“一个账户的归属用户基于共享工作信息认识另一个账户的归属用户的同事的数目”。
三、最终同事关系判别。
基于“一”中得到的五种共享工作信息“使用相同的工作用WIFI网络的数目、使用相同的工作用IP地址的数目,及使用的相同的工作用WIFI网络的天数、使用的相同的工作用IP地址的天数、工作地址是否相同”分别对应的特征值,以及“二”中得到的第一类和第二类网络特征分别对应的特征值,将每一种特征值根据以下公式进行特征值归一化处理:
f(x)=2/(1+e-ax)-1
其中,a为设定常数(控制f(x)函数曲线平缓度的参数),x为进行归一化处理前的特征值,f(x)为对x进行归一化处理后的特征值。
然后,将每种归一化后的特征值乘以各自对应的权重(比如,“使用相同或不同的工作地址”这种特征维度对应的权重为1,其余特征维度对应的权重为0.5)后,将各个乘积相加,再对加和后的值进行归一化处理,若最终得到的处理后的值大于预设值,则认为关联账户对是同事关系账户对。
基于同一发明构思,本申请实施例中还提供了一种与用户关系识别方法对应的用户关系识别装置,由于该装置解决问题的原理与本申请实施例用户关系识别方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。
实施例五
如图8所示,为本申请实施例五提供的用户关系识别装置结构示意图,包括:
采集模块81,用于采集多个账户的账户信息;所述账户信息包括社交关系信息和工作信息;
配置模块82,用于根据所述多个账户中每个账户的社交关系信息,配置关联账户对;其中,任一关联账户对的两个账户各自的归属用户之间具有社交关系;
判断模块83,用于针对每个关联账户对,根据该关联账户对中每个账户的工作信息,判断该关联账户对是否为同事关系账户对;其中,任一同事关系账户对的两个账户各自的归属用户之间具有同事关系。
可选地,所述装置还包括:
信息推荐模块84,用于基于确定的同事关系账户对,进行信息推荐。
可选地,每个账户的社交关系信息包括以下信息中的一种或多种:
通讯交互信息;
转账信息;
与其它账户间的共用设备信息;
与其它账户间的共用媒介信息。
可选地,所述工作信息包括以下信息中的一种或多种:
工作用无线保真WIFI网络的标识信息;
对每个工作用WIFI网络的使用时间信息;
工作用互联网协议IP地址;
对每个工作用IP地址的使用时间信息;
工作地址信息。
可选地,所述判断模块83具体用于:
针对每个关联账户对,根据该关联账户对中每个账户的工作信息,判断该关联账户对的两个账户之间是否具有相同的工作信息;若该关联账户对的两个账户之间具有相同的工作信息,则确定该关联账户对为同事关系账户对。
可选地,所述判断模块83还用于,在针对任一关联账户对,确定该关联账户对的两个账户之间不具有相同的工作信息之后,根据该关联账户对中每个账户的账户信息,确定该关联账户对中的一个账户的归属用户认识另一个账户的归属用户的同事的数目;若确定的该关联账户对中的一个账户的归属用户认识另一个账户的归属用户的同事的数目超过设定阈值,则确定该关联账户对为同事关系账户对。
可选地,针对任一关联账户对,所述判断模块83具体用于根据以下步骤确定该关联账户对中的一个账户的归属用户认识另一个账户的归属用户的同事:
根据该关联账户对中每个账户的社交关系信息,判断该关联账户对中的一个账户的归属用户与另一个账户的同事关系账户的归属用户之间是否具有社交关系,若是,则确定这一个账户的归属用户认识所述另一个账户的同事关系账户的归属用户;和/或
根据该关联账户对中每个账户的工作信息,判断该关联账户对中的一个账户与另一个账户的同事关系账户之间是否具有相同的工作信息,若是,则确定这一个账户的归属用户认识所述另一个账户的同事关系账户的归属用户。
可选地,所述判断模块83具体用于:
针对任一关联账户对,根据该关联账户对中每个账户的工作信息,确定该关联账户对的两个账户之间的共享工作信息;并基于确定的弱同事关系账户对,以及所述任一关联账户对中每个账户的账户信息,确定该关联账户对中的一个账户的归属用户认识另一个账户的归属用户的弱同事的数目;其中,弱同事关系账户对的两个账户之间具有相同的工作信息;
根据确定的所述任一关联账户对的两个账户之间的共享工作信息、以及所述任一关联账户对中的一个账户的归属用户认识另一个账户的归属用户的弱同事的数目,判断该关联账户对是否为同事关系账户对。
可选地,所述判断模块83具体用于:
根据该关联账户对中每个账户的社交关系信息,判断该关联账户对中的一个账户的归属用户与另一个账户的弱同事关系账户的归属用户之间是否具有社交关系,若是,则确定这一个账户的归属用户认识所述另一个账户的弱同事关系账户的归属用户;和/或
根据该关联账户对中每个账户的工作信息,判断该关联账户对中的一个账户与另一个账户的弱同事关系账户之间是否具有相同的工作信息,若是,则确定这一个账户的归属用户认识所述另一个账户的弱同事关系账户的归属用户。
可选地,所述共享工作信息包括以下信息中的一种或多种:
使用相同的工作用无线保真WIFI网络的数目;
使用的相同的工作用无线保真WIFI网络的天数;
使用相同的工作用互联网协议IP地址的数目;
使用的相同的工作用IP地址的天数;
使用相同或不同的工作地址。
可选地,所述判断模块83具体用于:
将所述任一关联账户对的每一种共享工作信息、以及在每一种方式下确定的所述任一关联账户对中的一个账户的归属用户认识另一个账户的归属用户的弱同事的数目,分别作为一种特征维度,确定在每种特征维度下的特征值;根据确定的所述任一关联账户对在每种特征维度下的特征值,及每种特征维度的权重,判断所述任一关联账户对是否为同事关系账户对。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。