CN113383314B - 用户相似度计算方法、装置、服务端及存储介质 - Google Patents
用户相似度计算方法、装置、服务端及存储介质 Download PDFInfo
- Publication number
- CN113383314B CN113383314B CN201980091291.0A CN201980091291A CN113383314B CN 113383314 B CN113383314 B CN 113383314B CN 201980091291 A CN201980091291 A CN 201980091291A CN 113383314 B CN113383314 B CN 113383314B
- Authority
- CN
- China
- Prior art keywords
- user
- similarity
- target
- ids
- user ids
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种用户相似度计算方法、装置、服务端及存储介质,该方法包括:提取第一用户ID的至少两个用户特征,得到所述第一用户ID的特征集,所述特征集至少包括所述至少两个用户特征,所述第一用户ID为N个用户ID中的任一个,N为大于或等于2的整数(101);服务端选取目标哈希函数,采用所述目标哈希函数计算所述N个用户ID的目标用户特征之间的相似度,得到所述N个用户ID之间的初始相似度(102);服务端依据所述N个用户ID之间的初始相似度的大小将所述N个用户ID划分到M个哈希桶中,M为大于或等于2的整数(103);服务端计算第一哈希桶中任意两个用户ID之间的相似度,所述第一哈希桶为所述M个哈希桶中的任一个(104)。上述方法可以降低用户相似度计算的复杂度。
Description
技术领域
本申请涉及通信技术领域,具体涉及一种用户相似度计算方法、装置、服务端及存储介质。
背景技术
目前,在数据挖掘应用领域,比如,内容推送、广告推荐等,都有一个非常常见问题,即相似度计算,例如,两个集合要计算相似度,通过循环来遍历二者的相同元素,或者是两两计算相应的欧氏距离,或者是其他距离等,在全部计算完成后,再经过排序,找出一定数量的相似数据。
对于低维的小数据集,采用这种方式相对来说简单,也很实用。但是当需要计算的数据集非常庞大,并且数据集维度较高的时候,整个数据集中的数据直接两两计算将会非常耗时,导致相似度计算的复杂度较高。
发明内容
本申请实施例提供了一种用户相似度计算方法、装置、服务端及存储介质,可以降低用户相似度计算的复杂度。
第一方面,本申请实施例提供一种用户相似度计算方法,包括:
提取第一用户ID的至少两个用户特征,得到所述第一用户ID的特征集,所述特征集至少包括所述至少两个用户特征,所述第一用户ID为N个用户ID中的任一个,N为大于或等于2的整数;
选取目标哈希函数,采用所述目标哈希函数计算所述N个用户ID的目标用户特征之间的相似度,得到所述N个用户ID之间的初始相似度;
依据所述N个用户ID之间的初始相似度的大小将所述N个用户ID划分到M个哈希桶中,M为大于或等于2的整数;
计算第一哈希桶中任意两个用户ID之间的相似度,所述第一哈希桶为所述M个哈希桶中的任一个。
第二方面,本申请实施例提供了一种用户相似度计算装置,所述用户相似度计算装置包括检测单元、获取单元和处理单元,其中:
所述提取单元,用于提取第一用户ID的至少两个用户特征,得到所述第一用户ID的特征集,所述特征集至少包括所述至少两个用户特征,所述第一用户ID为N个用户ID中的任一个,N为大于或等于2的整数;
所述选取单元,用于选取目标哈希函数;
所述计算单元,用于采用所述目标哈希函数计算所述N个用户ID的目标用户特征之间的相似度,得到所述N个用户ID之间的初始相似度;
所述分类单元,用于依据所述N个用户ID之间的初始相似度的大小将所述N个用户ID划分到M个哈希桶中,M为大于或等于2的整数;
所述计算单元,还用于计算第一哈希桶中任意两个用户ID之间的相似度,所述第一哈希桶为所述M个哈希桶中的任一个。
第三方面,本申请实施例提供一种服务端,包括处理器、存储器,所述存储器用于存储一个或多个程序,所述一个或多个程序被配置成由所述处理器执行,上述程序包括用于执行本申请实施例第一方面中的步骤的指令。
第四方面,本申请实施例提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如本申请实施例第一方面中所描述的部分或全部步骤。
第五方面,本申请实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一方面中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
可以看出,本申请实施例中所描述的用户相似度计算方法,具体包括如下步骤:提取第一用户ID的至少两个用户特征,得到所述第一用户ID的特征集,所述特征集至少包括所述至少两个用户特征,所述第一用户ID为N个用户ID中的任一个,N为大于或等于2的整数;选取目标哈希函数,采用所述目标哈希函数计算所述N个用户ID的目标用户特征之间的相似度,得到所述N个用户ID之间的初始相似度;依据所述N个用户ID之间的初始相似度的大小将所述N个用户ID划分到M个哈希桶中,M为大于或等于2的整数;计算第一哈希桶中任意两个用户ID之间的相似度,所述第一哈希桶为所述M个哈希桶中的任一个。实施本申请实施例,在计算用户相似度时,可以选取合适的哈希函数按照初始相似度大小将N个用户ID划分到M个哈希桶中,仅对每个哈希桶内的用户ID进行相似度计算,从而避免了将用户ID与所有的其他用户ID进行相似度计算,可以降低用户ID的相似度计算的计算量,从而可以降低用户相似度计算的复杂度,提高用户相似度计算的速度。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例公开的一种用户相似度计算方法的流程示意图;
图2是本申请实施例公开的另一种用户相似度计算方法的流程示意图;
图3是本申请实施例公开的一种用户相似度计算装置的结构示意图;
图4是本申请实施例公开的一种服务端的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本申请实施例所涉及到的移动终端可以包括各种具有无线通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其他处理设备,以及各种形式的用户设备(User Equipment,UE),移动台(Mobile Station,MS),终端设备(terminaldevice)等等。为方便描述,上面提到的设备统称为移动终端。
下面对本申请实施例进行详细介绍。
请参阅图1,图1是本申请实施例公开的一种用户相似度计算方法的流程示意图,如图1所示,该用户相似度计算方法包括如下步骤。
101,服务端提取第一用户ID的至少两个用户特征,得到第一用户ID的特征集,特征集至少包括至少两个用户特征,第一用户ID为N个用户ID中的任一个,N为大于或等于2的整数。
本申请实施例中,服务端是为客户端服务的,服务的内容诸如向客户端提供资源,保存客户端数据等。服务端是一种有针对性的服务程序,运行服务端的设备可以称为服务器。服务端可以同时与多个客户端建立连接,可以同时为多个客户端提供服务。本申请实施例中服务端为客户端提供的服务可以包括内容推送服务。内容推送服务可以包括:浏览器内容推送服务、应用程序下载推送服务、游戏内容推送服务等。服务端可以包括应用程序服务端、浏览器服务端、游戏服务端等。
用户ID可以包括如下任意一种或多种类型:单点登录标识(single sign onidentity,SSOID)、OpenID、集成电路卡识别码(Integrate circuit card identity,ICCID)、国际移动设备识别码(International Mobile Equipment Identity,IMEI)、电话号码(telephone,TEL)、全局唯一标识符(Globally Unique Identifier,GUID)等。SSO是在多个应用系统中,用户只需登录一次就可以访问所有相互信任的应用系统。
服务端提取第一用户ID的至少两个用户特征可以包括:
服务端基于第一用户ID的历史用户行为数据提取第一用户ID的至少两个用户特征。
用户行为数据可以包括:设备特征、定位特征和应用程序(Application,APP)特征。设备特征可以包括设备的型号、设备的标识、设备的媒体访问控制地址(Media AccessControl Address,MAC地址)、设备的使用习惯(比如,设备的背光亮度大小、设备的音量大小、设备的握持姿势、设备的平均使用时长、设备的开机时间、设备的关机时间等)。定位特征可以包括全球定位系统(Global Positioning System,GPS)定位信息(比如,经纬度信息)、基于移动位置服务(Location Based Service,LBS)位置轨迹等。应用程序特征可以包括应用程序的设置参数(比如,应用程序的亮度、应用程序的音量、应用程序的刷新频率)、应用程序开启时间点、应用程序关闭时间点、应用程序功能使用情况、应用程序持续运行时长、应用程序累计运行时长、应用程序安装数据、应用程序卸载数据等。
服务端可以从第一用户ID的用户行为数据中提取设备特征、定位特征和APP特征,将第一用户ID的设备特征、定位特征和APP特征组成第一用户ID的特征集。
102,服务端选取目标哈希函数,采用目标哈希函数计算N个用户ID的目标用户特征之间的相似度,得到N个用户ID之间的初始相似度。
本申请实施例中,服务端可以根据第一用户ID的特征集包括的至少两个用户特征选取目标哈希函数。
可选的,服务端选取目标哈希函数,具体为:
(11)服务端确定所述至少两个用户特征的类型;
(12)服务端根据类型与哈希函数的对应关系确定与所述至少两个用户特征对应的目标哈希函数。
本申请实施例中,至少两个用户特征的类型可以包括第一类型和第二类型。第一类型可以包括大数据量特征类型,第二类型可以还包括小数据量特征类型。大数据量特征类型指的是用户特征的数据量较大的类型,小数据量特征类型指的是用户特征的数据量较小的类型。具体的,服务端可以根据用户特征包含的数据的字节数来确定该用户特征的类型。比如,服务端可以确定用户特征中包含的数据的字节数大于预设字节数的用户特征为大数据量特征类型,确定用户特征中包含的数据的字节数小于或等于预设字节数的用户特征为小数据量特征类型。举例来说,用户特征中的无线MAC地址为大数据量特征类型、用户特征中的经纬度信息为小数据量特征类型。
可选的,上述步骤102中,服务端采用所述目标哈希函数计算所述N个用户ID的目标用户特征之间的相似度,具体可以为:
若所述至少两个用户特征的类型均为第一类型,服务端采用汉明距离计算公式计算所述N个用户ID的目标用户特征之间的相似度。
本申请实施例中,至少两个用户特征的类型均为第一类型时,服务端采用汉明距离计算公式计算所述N个用户ID的目标用户特征之间的相似度。
例如,在计算第一用户ID的目标用户特征与第二用户ID的目标用户特征的相似度时,获取第一用户ID的目标用户特征的第一目标向量,获取第二用户ID的目标用户特征的第二目标向量,比较第一目标向量与第二目标向量对应的每一位是否相同,若相同,则表明该位对应的汉明距离为0,若不同,则表明该位对应的汉明距离为1,将所有位的汉明距离相加,得到第一目标向量与第二目标向量之间的最终汉明距离。其中,第一用户ID、第二用户ID为N个用户ID中的两个不同的用户ID。
其中,计算的汉明距离越小,其相似度越高;计算的汉明距离越大,其相似度越低。
举例来说,第一用户ID的目标用户特征为第一无线MAC地址,第二用户ID的目标用户特征为第二无线MAC地址,第一目标向量和第二目标向量均为10位,通过比较第一目标向量的每一位与第二目标向量的每一位是否相同,若相同,则表明该位对应的汉明距离为0,若不同,则表明该位对应的汉明距离为1,将所有位的汉明距离相加,得到第一目标向量与第二目标向量之间的最终汉明距离,最终汉明距离为0~10之间。最终汉明距离越大,第一用户ID的目标用户特征与第二用户ID的目标用户特征的相似度越低;最终汉明距离越小,第一用户ID的目标用户特征与第二用户ID的目标用户特征的相似度越高。例如,如果汉明距离为0~3,则认为第一用户ID的目标用户特征与第二用户ID的目标用户特征的相似度大于第一预设相似度阈值,将第一用户ID和第二用户ID放入同一个哈希桶内;汉明距离为4~10,则认为第一用户ID的目标用户特征与第二用户ID的目标用户特征的相似度小于或等于第一预设相似度阈值,则确定第一用户ID和第二用户ID不属于同一个哈希桶。
可选的,上述步骤102中,服务端采用所述目标哈希函数计算所述N个用户ID的目标用户特征之间的相似度,具体可以为:
若所述至少两个用户特征的类型均为第二类型,服务端采用欧式距离计算公式计算所述N个用户ID的目标用户特征之间的相似度。
本申请实施例中,至少两个用户特征的类型均为第二类型时,服务端采用欧式距离计算公式计算所述N个用户ID的目标用户特征之间的相似度。
例如,如果目标用户特征为经纬度信息,服务端在计算第一用户ID的目标用户特征与第二用户ID的目标用户特征的相似度时,获取第一用户ID的经度参数和维度参数,获取第二用户ID的经度参数和维度参数。其中,第一用户ID、第二用户ID为N个用户ID中的两个不同的用户ID。
举例来说,服务端在计算第一用户ID的目标用户特征与第二用户ID的目标用户特征的相似度时,可以获取第一用户ID的经纬度信息(经度参数为x1,纬度参数y1),第二用户ID的经纬度信息(经度参数为x2,纬度参数y2),服务端可以采用如下欧式距离计算公式计算第一用户ID的目标用户特征与第二用户ID的目标用户特征的相似度:
如果d小于或等于预设阈值,表明第一用户ID的目标用户特征与第二用户ID的目标用户特征的相似度大于第一预设相似度阈值,将第一用户ID和第二用户ID放入同一个哈希桶内。如果d大于预设阈值,表明第一用户ID的目标用户特征与第二用户ID的目标用户特征的相似度小于或等于第一预设相似度阈值,则确定第一用户ID和第二用户ID不属于同一个哈希桶。
103,服务端依据N个用户ID之间的初始相似度的大小将N个用户ID划分到M个哈希桶中,M为大于或等于2的整数。
本申请实施例中,N个用户ID中,任意两个用户ID之间的初始相似度越大,该任意两个用户ID分入同一个哈希桶的可能性越大;任意两个用户ID之间的初始相似度越小,该任意两个用户ID分入同一个哈希桶的可能性越小。
可选的,步骤103具体可以包括如下步骤:
(21)服务端确定所述N个用户ID中是否存在与所述第一用户ID的初始相似度大于第一预设相似度阈值的用户ID;
(22)若存在,服务端将所述第一用户ID、所述N个用户ID中与所述第一用户ID的初始相似度大于第一预设相似度阈值的用户ID划分到同一个哈希桶中。
本申请实施例中,首先,服务端可以从N个用户ID中随机选择一个用户ID,比如第一用户ID,比较该第一用户ID与N个用户ID中其他用户ID的初始相似度,服务端确定所述N个用户ID中是否存在与所述第一用户ID的初始相似度大于第一预设相似度阈值的用户ID,如果存在,服务端将所述第一用户ID、所述N个用户ID中与所述第一用户ID的初始相似度大于第一预设相似度阈值的用户ID划分到同一个哈希桶(比如,第一哈系桶)中。其次,服务端从N个用户ID中除了第一哈希桶中的待分配用户ID中随机选择的一个用户ID,比如第二用户ID,比较该第二用户ID与上述待分配用户ID中其他用户ID的初始相似度,服务端确定所述待分配用户ID中是否存在与所述第二用户ID的初始相似度大于第一预设相似度阈值的用户ID,如果存在,服务端将所述第二用户ID、所述待分配用户ID中与所述第二用户ID的初始相似度大于第一预设相似度阈值的用户ID划分到同一个哈希桶(比如,第二哈系桶)中,以此类推,直到将N个用户ID划分到M个哈希桶中。其中,一个用户ID只能被划分到M个哈希桶中的一个,M个哈希桶中的所有用户ID的数量等于N。每个哈希桶中的用户ID的数量可以相同,也可以不同。
104,服务端计算第一哈希桶中任意两个用户ID之间的相似度,第一哈希桶为M个哈希桶中的任一个。
本申请实施例中,服务端可以获取第一哈希桶中任意两个用户ID,比如第一用户ID和第二用户ID。服务端获取第一用户ID的至少两个用户特征、第二用户ID的至少两个用户特征,基于第一用户ID的至少两个用户特征和第二用户ID的至少两个用户特征计算第一用户ID和第二用户ID之间的相似度。本申请实施例中,只需要对同一个哈希桶内的用户ID的相似度进行计算,由于每个哈希桶内的用户ID的数量有限,当N的数值很大时,与N个用户ID比起来,每个哈希桶内的用户ID之间的相似度计算的计算量要小很多,可以降低用户ID的相似度计算的计算量,从而可以降低用户相似度计算的复杂度,提高用户相似度计算的速度。
可选的,步骤104还可以包括如下步骤:
(31)服务端获取所述第一哈希桶中每个用户ID的特征集;
(32)服务端基于所述第一哈希桶中每个用户ID的特征集确定所述第一哈希桶中每个用户ID的特征向量;
(33)服务端基于所述第一哈希桶中每个用户ID的特征向量,采用汉明距离计算公式计算所述第一哈希桶中任意两个用户ID的特征向量之间的距离;
(34)服务端根据所述第一哈希桶中任意两个用户ID的特征向量之间的距离所述第一哈希桶中任意两个用户ID之间的相似度。
本申请实施例中,由于特征集中的用户特征的数量相对较多,采用汉明距离计算公式,可以极大的简化相似度计算的计算量,提高相似度计算的速度。
实施本申请实施例,在计算用户相似度时,可以选取合适的哈希函数按照初始相似度大小将N个用户ID划分到M个哈希桶中,仅对每个哈希桶内的用户ID进行相似度计算,从而避免了将用户ID与所有的其他用户ID进行相似度计算,可以降低用户ID的相似度计算的计算量,从而可以降低用户相似度计算的复杂度,提高用户相似度计算的速度。
请参阅图2,图2是本申请实施例公开的另一种用户相似度计算方法的流程示意图,图2是在图1的基础上进一步优化得到的,如图2所示,该用户相似度计算方法包括如下步骤。
201,服务端提取第一用户ID的至少两个用户特征,得到第一用户ID的特征集,特征集至少包括至少两个用户特征,第一用户ID为N个用户ID中的任一个,N为大于或等于2的整数。
202,服务端选取目标哈希函数,采用目标哈希函数计算N个用户ID的目标用户特征之间的相似度,得到N个用户ID之间的初始相似度。
203,服务端依据N个用户ID之间的初始相似度的大小将N个用户ID划分到M个哈希桶中,M为大于或等于2的整数。
204,服务端计算第一哈希桶中任意两个用户ID之间的相似度,第一哈希桶为M个哈希桶中的任一个。
其中,本申请实施例中的步骤201至步骤204的具体实施可以参见图1所示的步骤101至步骤204,此处不再赘述。
205,服务端确定第一哈希桶中是否存在相互之间的相似度大于第二预设相似度阈值的P个用户ID,P为大于或等于2的整数。
第二预设相似度阈值可以预先进行设定并存储在服务端的存储器(比如,非易失性存储器)中。
206,若存在,服务端建立P个用户ID与目标自然人ID的对应关系。
本申请实施例中,服务端建立用户ID与目标自然人ID的对应关系,可以将多个用户ID与一个自然人对应起来。
其中,本申请实施例中的自然人ID会对应一个自然人。这个自然人可能会对应一个移动终端(比如,手机)、至少一个电话号码、至少一个应用程序账号、至少一个OpenID、一个SSOID、至少一个ICCID、至少一个IMEI。比如说,一个自然人有用一部手机、一个电话号码、5个应用程序账号,则将手机的IMEI、电话号码、5个应用程序账号打上一个自然人ID的标签。这5个应用程序账号对应的用户行为数据都属于这个自然人ID的用户行为数据。这样,一个真实的自然人,可以有很多个用户ID(比如,一个手机的IMEI、一个电话号码、5个应用程序账号),但是却只对应一个唯一的自然人ID。自然人ID的具体呈现形式可以是一串字符。该自然人ID可以对应一个移动终端的标识。
在执行步骤206之后,服务端在构建用户ID与目标自然人ID的对应关系后,可以建立用户ID与自然人ID的对应关系表。用户ID与自然人ID的对应关系表中,一个自然人ID可以对应多个用户ID。
可选的,服务端可以向自然人ID推送内容(比如,各种类型的推送消息)。比如,服务端向该目标自然人ID推送内容时,可以向该自然人ID对应的移动终端推送内容,无需单独向应用程序账号发送推送内容,从而提高推送效率。
服务端建立用户ID与目标自然人ID的对应关系后,可以将用户ID与目标自然人ID的对应关系存储在服务端的数据库中。
可选的,服务端可以对新注册的用户ID的用户行为数据进行分析,分析该新注册的用户ID的用户行为数据与已经存储的所有自然人ID的用户行为数据进行分析,如果上述已经存储的所有自然人ID中与该新注册的用户ID的相似度最大的自然人ID的相似度大于预设相似度阈值,则建立上述相似度最大的自然人ID与该新注册的用户ID的对应关系。
上述主要从方法侧执行过程的角度对本申请实施例的方案进行了介绍。可以理解的是,服务端为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本发明能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
本申请实施例可以根据上述方法示例对服务端进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
请参阅图3,图3是本申请实施例公开的一种用户相似度计算装置的结构示意图。如图3所示,该用户相似度计算装置300包括提取单元301、选取单元302、计算单元303和分类单元304,其中:
所述提取单元301,用于提取第一用户ID的至少两个用户特征,得到所述第一用户ID的特征集,所述特征集至少包括所述至少两个用户特征,所述第一用户ID为N个用户ID中的任一个,N为大于或等于2的整数;
所述选取单元302,用于选取目标哈希函数;
所述计算单元303,用于采用所述目标哈希函数计算所述N个用户ID的目标用户特征之间的相似度,得到所述N个用户ID之间的初始相似度;
所述分类单元304,用于依据所述N个用户ID之间的初始相似度的大小将所述N个用户ID划分到M个哈希桶中,M为大于或等于2的整数;
所述计算单元303,还用于计算第一哈希桶中任意两个用户ID之间的相似度,所述第一哈希桶为所述M个哈希桶中的任一个。
可选的,所述选取单元302选取目标哈希函数,具体为:确定所述至少两个用户特征的类型;根据类型与哈希函数的对应关系确定与所述至少两个用户特征对应的目标哈希函数。
可选的,所述计算单元303采用所述目标哈希函数计算所述N个用户ID的目标用户特征之间的相似度,具体为:若所述至少两个用户特征的类型为第一类型,采用汉明距离计算公式计算所述N个用户ID的目标用户特征之间的相似度。
可选的,所述计算单元303采用所述目标哈希函数计算所述N个用户ID的目标用户特征之间的相似度,具体为:若所述至少两个用户特征的类型为第二类型,采用欧式距离计算公式计算所述N个用户ID的目标用户特征之间的相似度。
可选的,所述分类单元304依据所述N个用户ID之间的初始相似度的大小将所述N个用户ID划分到M个哈希桶中,具体为:确定所述N个用户ID中是否存在与所述第一用户ID的初始相似度大于第一预设相似度阈值的用户ID;若存在,将所述第一用户ID、所述N个用户ID中与所述第一用户ID的初始相似度大于第一预设相似度阈值的用户ID划分到同一个哈希桶中。
可选的,所述计算单元303计算第一哈希桶中任意两个用户ID之间的相似度,具体为:获取所述第一哈希桶中每个用户ID的特征集;基于所述第一哈希桶中每个用户ID的特征集确定所述第一哈希桶中每个用户ID的特征向量;基于所述第一哈希桶中每个用户ID的特征向量,采用汉明距离计算公式计算所述第一哈希桶中任意两个用户ID的特征向量之间的距离;根据所述第一哈希桶中任意两个用户ID的特征向量之间的距离所述第一哈希桶中任意两个用户ID之间的相似度。
可选的,该用户相似度计算装置300包括确定单元305和建立单元306。
所述确定单元305,用于在所述计算单元303计算第一哈希桶中任意两个用户ID之间的相似度,所述第一哈希桶为所述M个哈希桶中的任一个之后,确定所述第一哈希桶中是否存在相互之间的相似度大于第二预设相似度阈值的P个用户ID,P为大于或等于2的整数;
所述建立单元306,用于在所述确定单元305确定所述第一哈希桶中存在相互之间的相似度大于第二预设相似度阈值的P个用户ID的情况下,建立所述P个用户ID与目标自然人ID的对应关系。
其中,图3中的提取单元301、选取单元302、计算单元303、分类单元304、确定单元305和建立单元306可以是处理器。
实施图3所示的用户相似度计算装置,在计算用户相似度时,可以选取合适的哈希函数按照初始相似度大小将N个用户ID划分到M个哈希桶中,仅对每个哈希桶内的用户ID进行相似度计算,从而避免了将用户ID与所有的其他用户ID进行相似度计算,可以降低用户ID的相似度计算的计算量,从而可以降低用户相似度计算的复杂度,提高用户相似度计算的速度。
请参阅图4,图4是本申请实施例公开的一种服务端的结构示意图。如图4所示,该服务端400包括处理器401和存储器402,其中,服务端400还可以包括总线403,处理器401和存储器402可以通过总线403相互连接,总线403可以是外设部件互连标准(PeripheralComponent Interconnect,简称PCI)总线或扩展工业标准结构(Extended IndustryStandard Architecture,简称EISA)总线等。总线403可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。其中,服务端400还可以包括通信接口404,服务端400可以通过通信接口404与客户端进行通信。存储器402用于存储包含指令的一个或多个程序;处理器401用于调用存储在存储器402中的指令执行上述图1至图2中的部分或全部方法步骤。
实施图4所示的服务端,在计算用户相似度时,可以选取合适的哈希函数按照初始相似度大小将N个用户ID划分到M个哈希桶中,仅对每个哈希桶内的用户ID进行相似度计算,从而避免了将用户ID与所有的其他用户ID进行相似度计算,可以降低用户ID的相似度计算的计算量,从而可以降低用户相似度计算的复杂度,提高用户相似度计算的速度。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任何一种用户相似度计算方法的部分或全部步骤。
本申请实施例还提供一种计算机程序产品,该计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,该计算机程序可操作来使计算机执行如上述方法实施例中记载的任何一种用户相似度计算方法的部分或全部步骤。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (7)
1.一种用户相似度计算方法,其特征在于,包括:
提取第一用户ID的至少两个用户特征,得到所述第一用户ID的特征集,所述特征集至少包括所述至少两个用户特征,所述第一用户ID为N个用户ID中的任一个,N为大于或等于2的整数;
选取目标哈希函数,采用所述目标哈希函数计算所述N个用户ID的目标用户特征之间的相似度,得到所述N个用户ID之间的初始相似度;
依据所述N个用户ID之间的初始相似度的大小将所述N个用户ID划分到M个哈希桶中,M为大于或等于2的整数;
计算第一哈希桶中任意两个用户ID之间的相似度,所述第一哈希桶为所述M个哈希桶中的任一个;
所述选取目标哈希函数,包括:
确定所述至少两个用户特征的类型;
根据类型与哈希函数的对应关系确定与所述至少两个用户特征对应的目标哈希函数;其中,所述至少两个用户特征的类型包括第一类型或第二类型,所述第一类型包括大数据量特征类型,所述第二类型包括小数据量特征类型;
所述采用所述目标哈希函数计算所述N个用户ID的目标用户特征之间的相似度,包括:
若所述至少两个用户特征的类型为第一类型,采用汉明距离计算公式计算所述N个用户ID的目标用户特征之间的相似度;
若所述至少两个用户特征的类型为第二类型,采用欧式距离计算公式计算所述N个用户ID的目标用户特征之间的相似度。
2.根据权利要求1所述的方法,其特征在于,所述依据所述N个用户ID之间的初始相似度的大小将所述N个用户ID划分到M个哈希桶中,包括:
确定所述N个用户ID中是否存在与所述第一用户ID的初始相似度大于第一预设相似度阈值的用户ID;
若存在,将所述第一用户ID、所述N个用户ID中与所述第一用户ID的初始相似度大于第一预设相似度阈值的用户ID划分到同一个哈希桶中。
3.根据权利要求1所述的方法,其特征在于,所述计算第一哈希桶中任意两个用户ID之间的相似度,包括:
获取所述第一哈希桶中每个用户ID的特征集;
基于所述第一哈希桶中每个用户ID的特征集确定所述第一哈希桶中每个用户ID的特征向量;
基于所述第一哈希桶中每个用户ID的特征向量,采用汉明距离计算公式计算所述第一哈希桶中任意两个用户ID的特征向量之间的距离;
根据所述第一哈希桶中任意两个用户ID的特征向量之间的距离计算所述第一哈希桶中任意两个用户ID之间的相似度。
4.根据权利要求1~3任一项所述的方法,其特征在于,所述计算第一哈希桶中任意两个用户ID之间的相似度,所述第一哈希桶为所述M个哈希桶中的任一个之后,所述方法还包括:
确定所述第一哈希桶中是否存在相互之间的相似度大于第二预设相似度阈值的P个用户ID,P为大于或等于2的整数;
若存在,建立所述P个用户ID与目标自然人ID的对应关系。
5.一种用户相似度计算装置,其特征在于,所述用户相似度计算装置包括提取单元、选取单元、计算单元和分类单元,其中:
所述提取单元,用于提取第一用户ID的至少两个用户特征,得到所述第一用户ID的特征集,所述特征集至少包括所述至少两个用户特征,所述第一用户ID为N个用户ID中的任一个,N为大于或等于2的整数;
所述选取单元,用于选取目标哈希函数;
所述计算单元,用于采用所述目标哈希函数计算所述N个用户ID的目标用户特征之间的相似度,得到所述N个用户ID之间的初始相似度;
所述分类单元,用于依据所述N个用户ID之间的初始相似度的大小将所述N个用户ID划分到M个哈希桶中,M为大于或等于2的整数;
所述计算单元,还用于计算第一哈希桶中任意两个用户ID之间的相似度,所述第一哈希桶为所述M个哈希桶中的任一个;
所述选取单元选取目标哈希函数,包括:
确定所述至少两个用户特征的类型;根据类型与哈希函数的对应关系确定与所述至少两个用户特征对应的目标哈希函数;其中,所述至少两个用户特征的类型包括第一类型或第二类型,所述第一类型包括大数据量特征类型,所述第二类型包括小数据量特征类型;
所述计算单元采用所述目标哈希函数计算所述N个用户ID的目标用户特征之间的相似度,包括:若所述至少两个用户特征的类型为第一类型,采用汉明距离计算公式计算所述N个用户ID的目标用户特征之间的相似度;若所述至少两个用户特征的类型为第二类型,采用欧式距离计算公式计算所述N个用户ID的目标用户特征之间的相似度。
6.一种用于相似度计算的服务器,其特征在于,包括处理器以及存储器,所述存储器用于存储一个或多个程序,所述一个或多个程序被配置成由所述处理器执行,所述程序包括用于执行如权利要求1~4任一项所述的方法。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如权利要求1~4任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2019/093109 WO2020258101A1 (zh) | 2019-06-26 | 2019-06-26 | 用户相似度计算方法、装置、服务端及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113383314A CN113383314A (zh) | 2021-09-10 |
CN113383314B true CN113383314B (zh) | 2023-01-10 |
Family
ID=74061169
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980091291.0A Active CN113383314B (zh) | 2019-06-26 | 2019-06-26 | 用户相似度计算方法、装置、服务端及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113383314B (zh) |
WO (1) | WO2020258101A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117061254B (zh) * | 2023-10-12 | 2024-01-23 | 之江实验室 | 异常流量检测方法、装置和计算机设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013178286A1 (en) * | 2012-06-01 | 2013-12-05 | Qatar Foundation | A method for processing a large-scale data set, and associated apparatus |
CN106570141A (zh) * | 2016-11-04 | 2017-04-19 | 中国科学院自动化研究所 | 近似重复图像检测方法 |
CN109255640A (zh) * | 2017-07-13 | 2019-01-22 | 阿里健康信息技术有限公司 | 一种确定用户分组的方法、装置及系统 |
CN109558512A (zh) * | 2019-01-24 | 2019-04-02 | 广州荔支网络技术有限公司 | 一种基于音频的个性化推荐方法、装置和移动终端 |
CN109697641A (zh) * | 2017-10-20 | 2019-04-30 | 北京京东尚科信息技术有限公司 | 计算商品相似度的方法和装置 |
CN109800325A (zh) * | 2018-12-26 | 2019-05-24 | 北京达佳互联信息技术有限公司 | 视频推荐方法、装置和计算机可读存储介质 |
CN109815406A (zh) * | 2019-01-31 | 2019-05-28 | 腾讯科技(深圳)有限公司 | 一种数据处理、信息推荐方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622366B (zh) * | 2011-01-28 | 2014-07-30 | 阿里巴巴集团控股有限公司 | 相似图像的识别方法和装置 |
US8515964B2 (en) * | 2011-07-25 | 2013-08-20 | Yahoo! Inc. | Method and system for fast similarity computation in high dimensional space |
CN105608219B (zh) * | 2016-01-07 | 2019-06-18 | 上海通创信息技术有限公司 | 一种基于聚类的流式推荐引擎、推荐系统以及推荐方法 |
-
2019
- 2019-06-26 CN CN201980091291.0A patent/CN113383314B/zh active Active
- 2019-06-26 WO PCT/CN2019/093109 patent/WO2020258101A1/zh active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013178286A1 (en) * | 2012-06-01 | 2013-12-05 | Qatar Foundation | A method for processing a large-scale data set, and associated apparatus |
CN106570141A (zh) * | 2016-11-04 | 2017-04-19 | 中国科学院自动化研究所 | 近似重复图像检测方法 |
CN109255640A (zh) * | 2017-07-13 | 2019-01-22 | 阿里健康信息技术有限公司 | 一种确定用户分组的方法、装置及系统 |
CN109697641A (zh) * | 2017-10-20 | 2019-04-30 | 北京京东尚科信息技术有限公司 | 计算商品相似度的方法和装置 |
CN109800325A (zh) * | 2018-12-26 | 2019-05-24 | 北京达佳互联信息技术有限公司 | 视频推荐方法、装置和计算机可读存储介质 |
CN109558512A (zh) * | 2019-01-24 | 2019-04-02 | 广州荔支网络技术有限公司 | 一种基于音频的个性化推荐方法、装置和移动终端 |
CN109815406A (zh) * | 2019-01-31 | 2019-05-28 | 腾讯科技(深圳)有限公司 | 一种数据处理、信息推荐方法及装置 |
Non-Patent Citations (1)
Title |
---|
局部敏感哈希(Locality-Sensitive Hashing, LSH)方法介绍;icvpr;《https://blog.csdn.net/icvpr/article/details/12342159》;20131006;第1-9页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113383314A (zh) | 2021-09-10 |
WO2020258101A1 (zh) | 2020-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106294105B (zh) | 刷量工具检测方法和装置 | |
CN113412608A (zh) | 内容推送方法、装置、服务端及存储介质 | |
CN108255555B (zh) | 一种系统语言切换方法及终端设备 | |
CN111090807B (zh) | 一种基于知识图谱的用户识别方法及装置 | |
CN112087744B (zh) | 一种识别终端型号的方法、系统、装置及存储介质 | |
US11429698B2 (en) | Method and apparatus for identity authentication, server and computer readable medium | |
CN109858250A (zh) | 一种基于级联分类器的安卓恶意代码检测模型方法 | |
CN107871279A (zh) | 用户身份验证方法及应用服务器 | |
CN108200568A (zh) | 移动通信电子sim卡数据处理方法及装置 | |
CN109525949A (zh) | 注册方法及装置、存储介质、服务器、用户终端 | |
CN106470435B (zh) | 识别WiFi群的方法及系统 | |
CN111260220A (zh) | 群控设备识别方法、装置、电子设备和存储介质 | |
CN113396572B (zh) | 内容推送方法及相关产品 | |
CN105183464A (zh) | 一种信息展示方法、装置及电子设备 | |
CN106332000B (zh) | 一种终端位置信息获取方法及装置 | |
CN113383314B (zh) | 用户相似度计算方法、装置、服务端及存储介质 | |
CN106686587B (zh) | 一种无线保真Wi-Fi连接方法、移动终端及介质 | |
CN112416858A (zh) | 文档存储方法、装置、电子设备和计算机可读存储介质 | |
CN106412296A (zh) | 终端设备控制方法及装置 | |
CN109121157A (zh) | 一种网络限速确定方法及终端、存储介质 | |
CN104408345A (zh) | 身份校验方法、装置及服务器 | |
CN109241462B (zh) | 网页黑词处理方法、装置、设备及存储介质 | |
CN106793016B (zh) | 一种无线保真Wi-Fi连接方法及移动终端 | |
US20190364497A1 (en) | Method for Wireless Fidelity Connection and Related Products | |
CN105848155B (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 |