CN111209953B - 近邻向量的召回方法、装置、计算机设备及存储介质 - Google Patents
近邻向量的召回方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN111209953B CN111209953B CN202010003861.0A CN202010003861A CN111209953B CN 111209953 B CN111209953 B CN 111209953B CN 202010003861 A CN202010003861 A CN 202010003861A CN 111209953 B CN111209953 B CN 111209953B
- Authority
- CN
- China
- Prior art keywords
- vector
- neighbor
- vectors
- similarity
- source
- 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
- 239000013598 vector Substances 0.000 title claims abstract description 705
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000003860 storage Methods 0.000 title claims abstract description 32
- 238000009826 distribution Methods 0.000 claims description 68
- 238000012163 sequencing technique Methods 0.000 claims description 22
- 230000004044 response Effects 0.000 claims description 5
- 238000005070 sampling Methods 0.000 claims description 3
- 238000004422 calculation algorithm Methods 0.000 description 17
- 238000004364 calculation method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 230000011218 segmentation Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000009792 diffusion process Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000003064 k means clustering Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011056 performance test Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
Abstract
本申请公开了一种近邻向量的召回方法、装置、计算机设备及存储介质,涉及云会议领域。所述方法包括:获取源向量和目标向量集的聚类结果,所述聚类结果包括至少两个类别的聚类向量集,以及所述聚类向量集的质心向量;根据所述源向量和所述聚类向量集的所述质心向量之间的第一相似度,从所述聚类向量集中确定出所述源向量的至少一个近邻向量集;根据所述源向量和所述近邻向量集中的各个候选近邻向量之间的第二相似度,从所述候选近邻向量中召回目标近邻向量。
Description
技术领域
本申请实施例涉及信息推送领域,特别涉及一种近邻向量的召回方法、装置、计算机设备及存储介质。
背景技术
近邻向量的召回是根据用户的用户画像和物品维度之间的相似性,向用户推荐可能感兴趣的信息的技术。
相关技术中,在针对某个用户A进行推荐时,服务器计算用户的第一向量和物品的第二向量,计算第一向量和第二向量之间的相似度。将第二向量按照与第一向量的相似度由高到低的顺序进行排序,根据排序在前k位的第二向量对应的物品生成该用户A的推荐信息。
上述技术在数据量位于百万量级仍然具有较好的性能,但是在用户和物品维度到了亿级,即便有大规模计算集群,计算成本也很高,导致计算性能比较差。
发明内容
本申请实施例提供了一种近邻向量的召回方法、装置、计算机设备及存储介质,可以在客户端处于弱网环境时,自动将信息推荐从视频模式切换为语音模式,从而保证信息推荐能够流畅进行。所述技术方案如下:
根据本申请的一个方面,提供了一种近邻向量的召回方法,所述方法包括:
获取源向量和目标向量集的聚类结果,所述聚类结果包括至少两个类别的聚类向量集,以及所述聚类向量集的质心向量;
根据所述源向量和所述聚类向量集的所述质心向量之间的第一相似度,从所述聚类向量集中确定出所述源向量的至少一个近邻向量集;
根据所述源向量和所述近邻向量集中的各个候选近邻向量之间的第二相似度,从所述候选近邻向量中召回目标近邻向量。
根据本申请的另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述本申请实施例中任一所述的近邻向量的召回方法。
根据本申请的另一方面,提供了一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得计算机执行如上述本申请实施例中任一所述的近邻向量的召回方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
通过获取目标向量集的聚类结果,该聚类结果包括至少两个类别的聚类向量集;根据源向量和聚类向量集的质心向量之间的第一相似度,从聚类向量集中确定出源向量的至少一个近邻向量集。采用质心向量作为聚类向量集的代表向量来进行相似度计算,仅需要按照聚类向量集的个数进行少数次的计算,就能够为源向量召回大数据量的候选近邻向量,实现了亿级的近邻向量召回。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个示例性实施例提供的计算机系统的框图;
图2是本申请一个示例性实施例提供的近邻向量的召回方法的流程图;
图3是本申请一个示例性实施例提供的近邻向量的召回方法的原理示意图;
图4是本申请另一个示例性实施例提供的近邻向量的召回方法的流程图;
图5是本申请另一个示例性实施例提供的近邻向量的召回方法在并列排序时的示意图;
图6是本申请另一个示例性实施例提供的近邻向量的召回方法的流程图;
图7是本申请另一个示例性实施例提供的近邻向量的召回方法在未进行并列排序时的示意图;
图8是本申请另一个示例性实施例提供的近邻向量的召回方法在全量排序和并列排序时的性能对比图;
图9是本申请另一个示例性实施例提供的近邻向量的召回装置的框图;
图10是本申请一个示例性的实施例提供的计算机设备的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请提供了一种近邻向量的召回方案,该召回方案支持亿级以上数量级的近邻向量召回,而且计算性能优秀。
图1是本申请一个示例性实施例提供的计算机系统100的框图。该计算机系统100包括:第一终端120、服务器140和第二终端160。
第一终端120安装和运行有支持信息推荐的应用程度。该应用程序可以是支持信息推荐的资讯客户端,集成有信息推荐功能的社交客户端、集成有信息推荐功能的电子商务客户端、集成有信息推荐功能的游戏客户端、集成有信息推荐功能的其它客户端中的任意一种。第一终端120是第一用户使用的终端,本文中的客户端包括APP(Application,应用程序)客户端、网页客户端、小程序客户端、快应用客户端中的任意一种。第一终端120可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
第一终端120通过无线网络或有线网络与服务器140相连。
服务器140包括一台服务器、多台服务器、云计算平台和虚拟化中心中的至少一种。示意性的,服务器140包括处理器144和存储器142,存储器142又包括信息推荐模块1421和存储模块1422。信息推荐模块1421用于为客户端召回信息推荐。存储模块1422用于存储每个客户端的帐号和密码、用户向量或用户画像,以及每个信息的信息向量。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDK、以及大数据和人工智能平台等基础云计算服务的云服务器。可选地,服务器140承担主要计算工作,第一终端120和第二终端160承担次要计算工作;或者,服务器140承担次要计算工作,第一终端120和第二终端160承担主要计算工作;或者,服务器140、第一终端120和第二终端160三者之间采用分布式计算架构进行协同计算。
第二终端160安装和运行有支持信息推荐的应用程度。该应用程序可以是支持信息推荐的资讯客户端,集成有信息推荐功能的社交客户端、集成有信息推荐功能的电子商务客户端、集成有信息推荐功能的游戏客户端、集成有信息推荐功能的其它客户端中的任意一种。第二终端160是第二用户使用的终端,本文中的客户端包括APP客户端、网页客户端、小程序客户端、快应用客户端中的任意一种。
可选地,第一终端120和第二终端160上安装的应用程序是相同的,或两个终端上安装的应用程序是不同控制系统平台的同一类型应用程序。第一终端120可以泛指多个终端中的一个,第二终端160可以泛指多个终端中的一个,本实施例仅以第一终端120和第二终端160来举例说明。第一终端120和第二终端160的设备类型相同或不同,该设备类型包括:智能手机、平板电脑、电子书阅读器、MP3播放器、MP4播放器、膝上型便携计算机和台式计算机中的至少一种。以下实施例以终端包括智能手机来举例说明。
本领域技术人员可以知晓,上述终端的数量可以更多或更少。比如上述终端可以仅为一个,或者上述终端为几十个或几百个,或者更多数量。本申请实施例对终端的数量和设备类型不加以限定。
图2示出了本申请一个示例性实施例示出的近邻向量的召回方法的流程图。本实施例以该方法由服务器140执行来举例说明。该方法包括:
步骤202,获取源向量和目标向量集的聚类结果,聚类结果包括至少两个类别的聚类向量集,以及聚类向量集的质心向量;
目标向量集中存在很多目标向量,比如几十万、几百万、几千万或亿级以上的。服务器存储有目标向量集的聚类结果,聚类结果可以尽量的细致。在一个示例中,聚类类别为1000个。
目标向量集的聚类结果包括:多个类别的聚类向量集。每个聚类向量集具有各自的质心向量。也即,每个聚类向量集需要计算一个中心向量,作为这个类(聚类向量集)的质心向量。在一个示例中,对每个聚类向量集的各个目标向量求平均,生成质心向量。或者,对每个聚类向量集的各个目标向量通过向量加权的方式,生成质心向量。
步骤204,根据源向量和聚类向量集的质心向量之间的第一相似度,从聚类向量集中确定出源向量的至少一个近邻向量集;
服务器计算源向量和每个聚类向量集的质心向量之间的第一相似度。按照第一相似度由高到低的顺序,从多个聚类向量集中确定出源向量的若干个近邻向量集。
比如,服务器计算源向量和1000个聚类向量集的质心向量之间的第一相似度,按照第一相似度由高到低的顺序,从1000个聚类向量集中确定出10个近邻向量集。
步骤206,根据源向量和近邻向量集中的各个近邻向量之间的第二相似度,从候选近邻向量中召回目标近邻向量。
服务器计算源向量和近邻向量集中的各个近邻向量之间的第二相似度,按照第二相似度由高到低的顺序,从多个候选近邻向量中召回目标近邻向量。
在一个示例中,服务器采用的单个计算节点计算源向量和近邻向量集中的各个近邻向量之间的第二相似度,按照第二相似度由高到低的顺序,从多个候选近邻向量中召回目标近邻向量。
在另一个示例中,服务器采用并列的多个计算节点计算源向量和近邻向量集中的各个近邻向量之间的第二相似度,按照第二相似度由高到低的顺序,从多个候选近邻向量中召回目标近邻向量。
综上所述,本实施例提供的方法,通过获取目标向量集的聚类结果,该聚类结果包括至少两个类别的聚类向量集;根据源向量和聚类向量集的质心向量之间的第一相似度,从聚类向量集中确定出源向量的至少一个近邻向量集。采用质心向量作为聚类向量集的代表向量来进行相似度计算,仅需要按照聚类向量集的个数进行少数次的计算,就能够为源向量召回大数据量的候选近邻向量,实现了亿级的近邻向量召回。
结合参考图3,服务器首先对目标向量集32进行聚类,得到多个类别的聚类向量集(图3中区域有限仅示出了类别1至4),计算每个类别的聚类向量集的质心向量。该质心向量能够在一定程度上代表该聚类向量集。对于一个源向量,服务器计算该源向量与每个类别的聚类向量集的质心向量之间的第一相似度,按照第一相似度由高到低的顺序,对多个聚类向量集进行排序。将排序在前k个的聚类向量集确定为源向量的k个近邻向量集。比如图3中,近邻向量集包括:类别3的聚类向量集、类别9的聚类向量集、类别1的聚类向量集。然后服务器计算各个近邻向量集(类别3、类别9和类别1)中每个候选近邻向量与源向量之间的第二相似度,按照第二相似度由高到低的顺序,对多个候选近邻向量进行排序。将排序在前m个的候选近邻向量确定为源向量的m个目标向量集。
由于按照第一相似度召回的聚类向量集的数量级较大,也即候选近邻向量的数量级仍然是比较大的,因此在按照第二相似度进行目标近邻向量的召回时的排序性能仍然有可能是瓶颈。本申请还提供有如下实施例。
图4示出了本申请一个示例性实施例提供的近邻向量的召回方法的流程图。本实施例以该方法由服务器执行来举例说明。该方法包括三个阶段:聚类阶段、召回阶段和排序阶段。
第一,聚类阶段:
在聚类阶段需要将目标向量集中的多个目标向量,聚类为多个聚类向量集。每个聚类向量集对应一个类别。
步骤401,获取源向量集和目标向量集;
源向量集包括:至少一个源向量。源向量可以是用户的嵌入(embedding)向量,或者,物品的嵌入向量,或者,信息(非实际物品)的嵌入向量。本实施例对源向量的个数不限制。
目标向量集包括:至少一个目标向量。目标向量可以是用户的嵌入向量,或者,物品的嵌入向量,或者,信息(非实际物品)的嵌入向量。本实施例对目标向量的个数不限制。但本实施例支持亿级以上的目标向量的快速处理。
步骤402,获取聚类类别的个数k;
聚类类别的个数可以由工作人员进行指定。如果聚类类别的个数太少,在目标向量的整体数量级别较大时,会导致单个类别中的目标向量太多,不仅会影响精度,也会影响性能。
在一个示例中,聚类类别的个数k为1000或10000或50000。本实施例以聚类类别的个数k为1000来举例说明。
在另一个示例中,根据目标向量集中的目标向量总数的某一比例数,来确定聚类数量,该比例数大于0且小于1。比如按照万分之一的比例,或者十万分之一的比例,设置聚类数量。
步骤403,按照个数k对目标向量集进行聚类,得到k个类别的聚类向量集;
聚类是无监督的数据挖掘方式。本实施例对聚类算法的具体形式不加以限定。以聚类算法采用K均值(K-means)算法或spark K-means算法为例,服务器按照聚类类别的个数k,将目标向量集中的多个目标向量进行聚类,得到k个类别的聚类向量集。
在一个示例中,K均值算法的算法流程如下:
1、取k个目标向量作为k个初始质心;
随机选择k个目标向量作为k个初始质心(也称初始的质心向量),或者,随机距离最远的k个目标向量作为k个初始质心。
2、计算其他目标向量到k个初始质心的距离;
3、如果某个目标向量p离第i个质心的距离更近,则该点属于簇i,并对目标向量p打上簇i的标签,标注目标向量p的标签label=i,其中i<=k;
4、计算同一簇中,也就是具有相同标签的目标向量的平均值,作为新的质心向量;
5、迭代至所有簇的质心向量都不变化为止,即算法结束。
其中,spark K-means是指由批量计算框架spark实现的K-means算法。
步骤404,确定聚类向量集的质心向量;
对于聚类后的每个聚类向量集,确定出该聚类向量集的质心向量。若采用k-means聚类算法,则在聚类过程中已经计算得到每个聚类向量集的质心向量。若采用其它聚类算法,在聚类过程中未计算得到质心向量时,则在聚类后单独计算每个聚类向量集的质心向量。
服务器存储每个聚类向量集,以及每个聚类向量集中的质心向量。可选地,服务器还存储有每个聚类向量集中的目标向量的个数。示例性的,表一示出了各个聚类向量集在服务器存储时的示意。
表一
第二,召回阶段:
利用源向量和各个质心向量之间的第一相似度,为源向量快速召回大量的聚类向量集(候选近邻向量)。
步骤405,获取源向量和目标向量集的聚类结果,聚类结果包括至少两个类别的聚类向量集,以及聚类向量集的质心向量;
服务器从源向量集读取一个源向量。
服务器还读取目标向量集的聚类结果。目标向量集的聚类结果包括:多个类别的聚类向量集。每个聚类向量集具有各自的质心向量和目标向量的个数。
步骤406,计算源向量和聚类向量集的质心向量之间的第一相似度;
服务器计算源向量和每个聚类向量集的质心向量之间的向量距离。该向量距离采用向量之间的欧式距离、向量之间的余弦相似度、向量之间的点乘中的至少一种度量方式进行表示。
在一个示例中,第一相似度采用向量之间的欧式距离进行表示。在另一个示例中,第一相似度采用向量之间的余弦相似度进行表示。在另一个示例中,第一相似度采用欧式距离和余弦相似度的加权求和来表示。在另一个示例中,第一相似度采用欧式距离和点乘的加权求和来表示。在另一个示例中,第一相似度采用余弦相似度和点乘的加权求和来表示。
在一个示例中,第一相似度采用欧式距离、余弦相似度和点乘三者的加权求和来表示。
步骤407,按照第一相似度由高到低的顺序,将排序在前k个的聚类向量集确定为源向量的k个近邻向量集,k为正整数;
若每个聚类向量集中的目标向量的个数相近。服务器按照目标召回数量确定出k,将排序在前k个的聚类向量集确定为源向量的k个近邻向量集即可。
若每个聚类向量集中的目标向量的个数差异较大。服务器还可以综合考虑每个聚类向量集中的目标向量个数。在一个示例中:
1、按照第一相似度由高到低的顺序,将排序在第n个的聚类向量集添加至源向量的近邻向量集,n的起始值为1;
2、计算前i个聚类向量集中的目标向量的个数总和;
3、响应于个数总和小于目标召回数量,令n等于n+1,再次执行将排序在第i个的聚类向量集添加至源向量的近邻向量集中的步骤;
4、响应于个数总和大于或等于目标召回数量,得到源向量的n个近邻向量集。
其中,目标召回数量是期望为源向量召回的目标向量的个数。对于源向量来讲,召回后的近邻向量集中的目标向量,可称为候选近邻向量。
第三,排序阶段:
在本实施例中采用m路并列的计算节点对所有的近邻向量集进行并列排序。每个计算节点对应序号,最终的并列排序结果按照该序号进行拼接即可。
步骤408,计算至少两个近邻向量集相对于源向量之间的相似度分布;
相似度分布是指源向量和至少两个近邻向量集中之间的第三相似度的分布情况。示例性的,按照第三相似度由高到低的顺序进行排列,来表征该相似度分布。或者,按照第三相似度由低到高的顺序进行排列,来表征该相似度分布。
在一个示例中,相似度分布的计算方法包括:采样近邻向量集中的一部分近邻向量,确定为样本近邻向量;根据源向量和样本近邻向量之间的相似度,计算得到源向量和近邻向量集之间的第三相似度;根据至少两个近邻向量集的第三相似度,得到至少两个近邻向量集相对于源向量之间的相似度分布。比如,对于每个近邻向量集,将从该近邻向量集提取到的多个样本近邻向量的多个第三相似度求平均,将平均值确定为该近邻向量集与源向量之间的第三相似度。
结合参考图5,假设存在源向量srcVec1和源向量srcVec2。
对于srcVec1,存在近邻向量集:dstVec1、dstVec4、dstVec5、dstVec7、dstVec8、dstVec9。分别计算每个近邻向量集与源向量srcVec1之间的第三相似度。dstVec1与源向量srcVec1之间的第三相似度为0.2、dstVec4与源向量srcVec1之间的第三相似度为0.7、dstVec5与源向量srcVec1之间的第三相似度为0.9、dstVec7与源向量srcVec1之间的第三相似度为0.6、dstVec8与源向量srcVec1之间的第三相似度为0.2、dstVec9与源向量srcVec1之间的第三相似度为0.1。
按照第三相似度由高到低的顺序得到源向量srcVec1的相似度分布:dstVec5>dstVec4>dstVec7>dstVec1=dstVec8>dstVec9。
对于srcVec2,存在近邻向量集:dstVec2、dstVec3、dstVec6、dstVec10、dstVec11。分别计算每个近邻向量集与源向量srcVec2之间的第三相似度。dstVec2与源向量srcVec2之间的第三相似度为0.1、dstVec6与源向量srcVec2之间的第三相似度为0.6、dstVec10与源向量srcVec2之间的第三相似度为0.3、dstVec11与源向量srcVec2之间的第三相似度为0.8。
按照第三相似度由高到低的顺序得到源向量srcVec2的相似度分布:dstVec11>dstVec6>dstVec3>dstVec10>dstVec2。
步骤409,按照相似度分布将至少两个近邻向量集划分为m个组,不同组对应不同的相似度分布分段;
m个组中每个组的近邻向量集中的近邻向量的个数尽量保持相同或相近。以近邻向量的个数为100个,m=5为例。每个组内的近邻向量集大约为20个。
在一个示例中,按照相似度分布由高到低的顺序,将至少两个近邻向量集划分为m个组,不同组对应不同的相似度分布分段。第i组的相似度分布分段的最小值等于或大于第i+1组的相似度分布分段的最大值。
在一个示例中,按照相似度分布由低到高的顺序,将至少两个近邻向量集划分为m个组,不同组对应不同的相似度分布分段。第i组的相似度分布分段的最大值小于或等于第i+1组的相似度分布分段的最小值。
结合参考图5,对于源向量srcVec1,将相似度分布分为两个相似度分布分段(0,0.5)和(0.5,1)。属于相似度分布分段(0,0.5)的近邻向量集包括:dstVec1、dstVec8、dstVec9;属于相似度分布分段(0.5,1)的近邻向量集包括:dstVec4、dstVec5、dstVec7。对于源向量srcVec2,将相似度分布分为两个相似度分布分段(0,0.55)和(0.55,1)。属于相似度分布分段(0,0.55)的近邻向量集包括:dstVec2、dstVec3、dstVec10;属于相似度分布分段(0.55,1)的近邻向量集包括:dstVec6、dstVec11。
步骤410,将m个组分配至并列的m个计算节点中进行排序,排序包括根据源向量和近邻向量集中的各个近邻向量之间的第二相似度对近邻向量进行排序;
将第i组中的各个近邻向量集分配至第i个计算节点中进行排序。将第i+1组中的各个近邻向量集分配至第i+1个计算节点中进行排序。m个计算节点可以并列排序,互不影响。
对于第i个计算节点的排序包括:计算源向量和第i组内的各个近邻向量集中的各个候选近邻向量之间的第二相似度,按照第二相似度由高到低的顺序对各个候选近邻向量进行排序。
结合参考图5,对于源向量srcVec1,将属于相似度分布分段(0,0.5)的近邻向量集(dstVec1、dstVec8、dstVec9)划分至排序节点1进行排序。将属于相似度分布分段(0.5,1)的近邻向量集(dstVec4、dstVec5、dstVec7)划分至排序节点2进行排序。
对于源向量srcVec2,将属于相似度分布分段(0,0.55)的近邻向量集(dstVec2、dstVec3、dstVec10)划分至排序节点3进行排序。将属于相似度分布分段(0.55,1)的近邻向量集(dstVec6、dstVec11)划分至排序节点4进行排序。
步骤411,将m个计算节点的排序结果按照相似度分布分段进行拼接,得到全局排序结果;
示例性的,按照m个计算节点的序号,将m个计算节点的排序结果按照相似度分布分段进行拼接,得到全局排序结果。每个计算节点的序号与该计算节点对应的相似度分布分段在整个相似度分布中的排序位置有关。
结合参考图5,对于源向量srcVec1,将排序节点2的排序结果拼接在排序节点1之前(第二相似度由高到低的顺序),即可得到srcVec1的所有候选近邻向量的全局排序结果。对于源向量srcVec2,将排序节点4的排序结果拼接在排序节点3之前(第二相似度由高到低的顺序),即可得到srcVec2的所有候选近邻向量的全局排序结果。
步骤412,将全局排序结果中的前q个近邻向量,召回为源向量的目标近邻向量。
其中,q为期望召回的目标近邻向量的个数,q的数量小于所有候选近邻向量的个数。
综上所述,本实施例提供的方法,通过获取目标向量集的聚类结果,该聚类结果包括至少两个类别的聚类向量集;根据源向量和聚类向量集的质心向量之间的第一相似度,从聚类向量集中确定出源向量的至少一个近邻向量集。采用质心向量作为聚类向量集的代表向量来进行相似度计算,仅需要按照聚类向量集的个数进行少数次的计算,就能够为源向量召回大数据量的候选近邻向量,实现了亿级的近邻向量召回。
本实施例提供的方法,还通过按照相似度分布将至少两个近邻向量集划分为m个组,将m个组分配至并列的m个计算节点中进行排序;将m个计算节点的排序结果按照相似度分布分段进行拼接,得到全局排序结果。实现了在存在大量的候选近邻向量(比如千万级或亿级的候选近邻向量)时,通过并列的排序方式实现快速排序,提升排序过程中的排序性能。
以下采用一个示意性的实施例来对上述方案进行介绍。大规模的近邻向量相似度的计算,主要包含三个阶段,如图6所示:
第一阶段:向量集聚类;
基于一些聚类算法对目标向量集进行聚类处理,生成聚类结果。比如,采用k-means算法对目标向量集中的目标向量进行聚类。
第二阶段:召回近邻集;
获取源向量集的近邻集(近邻向量集的简称)。对于每个源向量,合并该源向量的所有近邻集包含的候选近邻向量,生成排序候选集。
第三阶段:近邻集的相似度排序;
对于每个源向量,将排序候选集中的候选近邻向量集进行排序。在召回量级达到千万时,排序阶段也存在性能瓶颈,此处采用并列排序方式进行了重点优化。
针对第一阶段:
目标向量集61中存在很多向量,基于spark k-means聚类算法进行向量聚类62。对5亿个目标向量进行聚类1000个类别需要3个小时。这一阶段的聚类类别应该尽量细,因为后面阶段中先计算近邻集。如果整体的聚类类别数量太少,会导致每个类别中的目标向量的数量过大,一方面影响精度,另一方面在性能上也会受影响。可选地,对于目标向量集中的目标向量的分布不均匀的情况,例如机器学习算法训练中的新用户问题,机器学习算法训练出的用户向量相似度很高,会导致这些向量被聚到一个很大的类中,在业务场景下也是比较常见的现象,所以在聚类前还需要对目标向量集中的原始数据进行抽样分析,计算整体的目标向量分布,对头部完全相似的向量需要作过滤预处理63,也即以提升聚类性能,也有利于后面的第二阶段和第三阶段中的计算流程。
针对第二阶段:
类似于传统推荐系统中的召回阶段,近邻向量的排序也需要排序候选集的生成阶段。整体流程:先对第一阶段的聚类结果进行统计分析,生成每个向量类簇的质心向量64(类中心,用来表征这个类),以及各个向量类簇中的向量个数的统计66。然后查找计算源向量集中每个源向量与所有向量类簇的质心向量的第一相似度,按照第一相似度的取值大小进行排序,查找源向量的近邻质心向量65,再获取每个向量类簇对应的向量个数。从所有向量类簇中获取满足召回量级的最近邻向量类簇67,召回的候选近邻向量都从这些最近邻向量类簇中产生。示例性的,用伪代码来说明如下:
/*
Fukctiok KeighBorRecall(聚类结果,源向量,召回量级X)
源向量集S;
获取聚类结果中每个类的质心向量;
获取每个类的元素个数;
For(item<-S)
计算item与所有类的质心向量的相似度;
生成相似度排序集合;
While(近邻数<X)
取相似度集合中最近邻类a与对应元素的个数xa;
将a添加到近邻类集合中;
近邻数添加xa;
End;
End;
返回每个源向量对应的近邻向量类簇集合,召回的近邻元素从近邻向量类簇中生成;
*/
这里为了说明流程用伪流程形式展示逻辑,相当于单机版程序,实际开发中基于spark,代码中的流程都是通过并行的方式运行的。
针对第三阶段:
基于第二阶段给每个源向量召回对应的近邻向量类簇(候选近邻向量集),接下来需要对近邻集进行排序。在候选集达到千万量级,全量排序可能需要几个小时。在一个示例中,在spark中往往通过groupbykey(通过key进行分组,key是指源向量)算子将每个源向量对应的近邻向量类簇集合拉取到自身所在节点上进行排序。如下图7所示,针对源向量srcVec1的每个近邻向量集都拉取到排序节点1上进行排序,针对源向量srcVec2的每个近邻向量集都拉取到排序节点2上进行排序,也即每个源向量key对应的集合排序都在一个节点上执行。一方面数据量太大需要很大的内存机器,容易造成OOM(Out Of Memory,内存溢出)。另一方面,没有充分利用spark并行化数据处理优势,性能低下,容易造成整体卡死。
图7所示的全量排序方式经过1000万的召回集性能测试,耗时8小时多。且需要申请具有30GB+内存的物理机器约300台,任务稳定性差,排序阶段没能充分发挥spark的并行能力。本申请采取了一种可以有效提升并行度的思想:对原始召回的近邻向量类簇(源向量和近邻向量类簇之间形成的对)进行抽样计算距离分布,控制每个key对应的召回集在100万左右(加快计算速度)。再对每个key进行分组(group)操作,计算源向量与近邻向量类簇之间的相似度分布68,设定与相似度分布对应的并行度参数(比如并列的排序节点的数量m)。为每个key保存其与对应候选集的m个相似度分布分段值,采用m个并列的排序节点对同一个key的多组近邻向量类簇进行并列排序69,后面全量集合排序阶段根据这m个相似度分布分段值进行子集切分,每一路排序只需要进行每个子集中的元素间排序,无需对全量元素排序,可以有效地提升并行度。图5示意性的给出了子集切分后的计算逻辑,每个源向量对应的排序候选集切分为多个子集后,两两个子集之间是全局有序的。这些子集的序号按顺序递增,作为标识拼接在key后面。这种方式改进后,再做group时就可以将原先的单个节点排序拆分为多个节点并行排序,子集内排序完,整个全量集合也就全局有序了,不需要二次排序。
如图8所示,经过数据对比测试,并列排序的排序性能相对优化前有5倍多的提升。并且随着召回量级增大,并列提升值也相对增大。
应用场景1:近邻向量的召回系统中的向量召回场景,需要返回千万级的近邻向量。例如在广告投放场景中,通过一些嵌入(embedding)向量算法计算出用户的第一向量和广告的第二向量,给指定广告集投放相关的兴趣用户,就需要通过第一向量和第二向量之间的相似度计算,来找到第二向量对应的近邻第一向量。典型的,该场景下的数据量往往会达到千万级。其中,第一向量是源向量,第二向量是目标向量。
应用场景2:智能扩散场景,例如活动投放。通过一些嵌入(embedding)向量算法计算出每个候选用户的第四向量。选择种子用户生成第三向量,计算第三向量和第四向量之间的相似度计算,来找到第三向量对应的近邻第四向量。对近邻第四向量进行用户扩散。其中,第三向量是源向量,第四向量是目标向量。
图9示出了本申请一个示例性实施例示出的近邻向量的召回装置的框图。
所述装置包括:
获取模块920,用于获取源向量和目标向量集的聚类结果,所述聚类结果包括至少两个类别的聚类向量集,以及所述聚类向量集的质心向量;
确定模块940,用于根据所述源向量和所述聚类向量集的所述质心向量之间的第一相似度,从所述聚类向量集中确定出所述源向量的至少一个近邻向量集;
召回模块960,用于根据所述源向量和所述近邻向量集中的各个近邻向量之间的第二相似度,从所述近邻向量中召回目标近邻向量。
在一个可选的实施例中,所述确定模块940,用于计算所述源向量和所述聚类向量集的所述质心向量之间的第一相似度;按照所述第一相似度由高到低的顺序,将排序在前n个的聚类向量集确定为所述源向量的n个近邻向量集,n为正整数。
在一个可选的实施例中,所述聚类结果还包括:所述聚类向量集中的目标向量的个数;所述确定模块940,用于按照所述第一相似度由高到低的顺序,将排序在第n个的聚类向量集添加至所述源向量的近邻向量集,n的起始值为1;计算前i个聚类向量集中的目标向量的个数总和;响应于所述个数总和小于所述目标召回数量,令n等于n+1,再次执行所述将排序在第i个的聚类向量集添加至所述源向量的近邻向量集中的步骤;响应于所述个数总和大于或等于所述目标召回数量,得到所述源向量的n个近邻向量集。
在一个可选的实施例中,所述召回模块960,包括:
相似度计算子模块,用于计算至少两个所述近邻向量集相对于所述源向量之间的相似度分布;
分组划分子模块,用于按照所述相似度分布将至少两个所述近邻向量集划分为m个组,不同组对应不同的相似度分布分段;
分组排序子模块,用于将所述m个组分配至并列的m个计算节点中进行排序,所述排序包括根据所述源向量和所述近邻向量集中的各个近邻向量之间的第二相似度对所述近邻向量进行排序;
排序拼接子模块,用于将所述m个计算节点的排序结果按照所述相似度分布分段进行拼接,得到全局排序结果;
近邻召回子模块,用于将所述全局排序结果中的前n个近邻向量,召回为所述源向量的目标近邻向量。
在一个可选的实施例中,所述相似度计算子模块,用于采样所述近邻向量集中的一部分近邻向量,确定为样本近邻向量;计算所述源向量和所述样本近邻向量之间的第三相似度,根据所述第三相似度得到至少两个所述近邻向量集相对于所述源向量之间的相似度分布。
在一个可选的实施例中,所述分组划分子模块,用于按照所述相似度分布中的所述第三相似度由高到低的顺序,将至少两个所述近邻向量集划分为m个组;或,按照所述相似度分布中的所述第三相似度由低到高的顺序,将至少两个所述近邻向量集划分为m个组。
在一个可选的实施例中,所述装置还包括:
聚类模块980,用于获取聚类类别的个数k;按照所述个数k对所述目标向量集进行聚类,得到所述k个类别的聚类向量集;确定所述聚类向量集的质心向量。
在一个可选的实施例中,所述源向量是第一用户向量,所述目标向量集中的目标向量是第二用户向量;或,所述源向量是用户向量,所述目标向量集中的目标向量是物品向量或信息向量。
图10示出了本申请还提供了一种计算机设备,该计算机设备包括处理器和存储器,存储器中存储有至少一条指令,至少一条指令由处理器加载并执行以实现上述各个方法实施例提供的信息推荐切换方法。需要说明的是,该计算机设备可以是如下图10所提供的计算机设备。
请参考图10,其示出了本申请一个示例性实施例提供的计算机设备的结构示意图。具体来讲:计算机设备1000包括中央处理单元(CPU)1001、包括随机存取存储器(RAM)1002和只读存储器(ROM)1003的系统存储器1004,以及连接系统存储器1004和中央处理单元1001的系统总线1005。计算机设备1000还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)1006,和用于存储操作系统1013、应用程序1014和输入/输出控制器1010的大容量存储设备1007。
基本输入/输出系统1006包括有用于显示信息的显示器1008和用于用户输入信息的诸如鼠标、键盘之类的输入设备1009。其中显示器1008和输入设备1009都通过连接到系统总线1005的输入/输出控制器1010连接到中央处理单元1001。基本输入/输出系统1006还可以包括输入/输出控制器1010以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入/输出控制器1010还提供输出到显示屏、打印机或其他类型的输出设备。
大容量存储设备1007通过连接到系统总线1005的大容量存储控制器(未示出)连接到中央处理单元1001。大容量存储设备1007及其相关联的计算机可读介质为计算机设备1000提供非易失性存储。也就是说,大容量存储设备1007可以包括诸如硬盘或者CD-ROI驱动器之类的计算机可读介质(未示出)。
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器1004和大容量存储设备1007可以统称为存储器。
存储器存储有一个或多个程序,一个或多个程序被配置成由一个或多个中央处理单元1001执行,一个或多个程序包含用于实现上述时序动作提名的生成模型的训练方法或时序动作提名的生成方法的指令,中央处理单元1001执行该一个或多个程序实现上述各个方法实施例提供的信息推荐切换方法。
根据本申请的各种实施例,计算机设备1000还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备1000可以通过连接在系统总线1005上的网络接口单元1011连接到网络1012,或者说,也可以使用网络接口单元1011来连接到其他类型的网络或远程计算机系统(未示出)。
存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,一个或者一个以上程序包含用于进行本申请实施例提供的信息推荐切换方法。
本申请还提供一种计算机设备,该计算机设备包括:处理器和存储器,该存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述各方法实施例提供的近邻向量的召回方法。
本申请还提供一种计算机可读存储介质,该存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述各方法实施例提供的近邻向量的召回方法。
在一个可选的实施例中,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上所述的近邻向量的召回方法。
可选地,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、固态硬盘(SSD,Solid State Drives)或光盘等。其中,随机存取记忆体可以包括电阻式随机存取记忆体(ReRAM,Resistance RandomAccess Memory)和动态随机存取存储器(DRAM,Dynamic Random Access Memory)。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (16)
1.一种近邻向量的召回方法,其特征在于,所述方法包括:
获取源向量和目标向量集的聚类结果,所述聚类结果包括至少两个类别的聚类向量集,以及所述聚类向量集的质心向量;
根据所述源向量和所述聚类向量集的所述质心向量之间的第一相似度,从所述聚类向量集中确定出所述源向量的至少一个近邻向量集;
计算至少两个所述近邻向量集相对于所述源向量之间的相似度分布;
按照所述相似度分布将至少两个所述近邻向量集划分为m个组,不同组对应不同的相似度分布分段;
将所述m个组分配至并列的m个计算节点中进行排序,所述排序包括根据所述源向量和所述近邻向量集中的各个候选近邻向量之间的第二相似度对所述近邻向量进行排序;
将所述m个计算节点的排序结果按照所述相似度分布分段进行拼接,得到全局排序结果;
将所述全局排序结果中的前q个近邻向量,召回为所述源向量的目标近邻向量。
2.根据权利要求1所述的方法,其特征在于,所述根据所述源向量和所述聚类向量集的所述质心向量之间的第一相似度,从所述聚类向量集中确定出所述源向量的至少一个近邻向量集,包括:
计算所述源向量和所述聚类向量集的所述质心向量之间的第一相似度;
按照所述第一相似度由高到低的顺序,将排序在前n个的聚类向量集确定为所述源向量的n个近邻向量集,n为正整数。
3.根据权利要求2所述的方法,其特征在于,所述聚类结果还包括:所述聚类向量集中的目标向量的个数;
所述按照所述第一相似度由高到低的顺序,将排序在前n个聚类向量集确定为所述源向量的至少一个近邻向量集,包括:
按照所述第一相似度由高到低的顺序,将排序在第n个的聚类向量集添加至所述源向量的近邻向量集,n的起始值为1;
计算前i个聚类向量集中的目标向量的个数总和;
响应于所述个数总和小于目标召回数量,令n等于n+1,再次执行所述将排序在第i个的聚类向量集添加至所述源向量的近邻向量集中的步骤;
响应于所述个数总和大于或等于所述目标召回数量,得到所述源向量的n个近邻向量集。
4.根据权利要求1所述的方法,其特征在于,所述计算至少两个所述近邻向量集相对于所述源向量之间的相似度分布,包括:
采样所述近邻向量集中的一部分近邻向量,确定为样本近邻向量;
根据所述源向量和所述样本近邻向量之间的相似度,计算得到所述源向量和所述近邻向量集之间的第三相似度;
根据至少两个所述近邻向量集的所述第三相似度,得到至少两个所述近邻向量集相对于所述源向量之间的相似度分布。
5.根据权利要求4所述的方法,其特征在于,所述按照所述相似度分布将至少两个所述近邻向量集划分为m个组,包括:
按照所述相似度分布中的所述第三相似度由高到低的顺序,将至少两个所述近邻向量集划分为m个组;
或,
按照所述相似度分布中的所述第三相似度由低到高的顺序,将至少两个所述近邻向量集划分为m个组。
6.根据权利要求1至5任一所述的方法,其特征在于,所述方法还包括:
获取聚类类别的个数k;
按照所述个数k对所述目标向量集进行聚类,得到所述k个类别的聚类向量集;
确定所述聚类向量集的质心向量。
7.根据权利要求1至5任一所述的方法,其特征在于,
所述源向量是第一用户向量,所述目标向量集中的目标向量是第二用户向量;
或,
所述源向量是用户向量,所述目标向量集中的目标向量是物品向量或信息向量。
8.一种近邻向量的召回装置,其特征在于,所述装置包括:
获取模块,用于获取源向量和目标向量集的聚类结果,所述聚类结果包括至少两个类别的聚类向量集,以及所述聚类向量集的质心向量;
确定模块,用于根据所述源向量和所述聚类向量集的所述质心向量之间的第一相似度,从所述聚类向量集中确定出所述源向量的至少一个近邻向量集;
召回模块,用于计算至少两个所述近邻向量集相对于所述源向量之间的相似度分布;
按照所述相似度分布将至少两个所述近邻向量集划分为m个组,不同组对应不同的相似度分布分段;
将所述m个组分配至并列的m个计算节点中进行排序,所述排序包括根据所述源向量和所述近邻向量集中的各个候选近邻向量之间的第二相似度对所述近邻向量进行排序;
将所述m个计算节点的排序结果按照所述相似度分布分段进行拼接,得到全局排序结果;
将所述全局排序结果中的前q个近邻向量,召回为所述源向量的目标近邻向量。
9.根据权利要求8所述的装置,其特征在于,所述确定模块,还用于计算所述源向量和所述聚类向量集的所述质心向量之间的第一相似度;
按照所述第一相似度由高到低的顺序,将排序在前n个的聚类向量集确定为所述源向量的n个近邻向量集,n为正整数。
10.根据权利要求9所述的装置,其特征在于,所述聚类结果还包括:所述聚类向量集中的目标向量的个数;
所述确定模块,还用于按照所述第一相似度由高到低的顺序,将排序在第n个的聚类向量集添加至所述源向量的近邻向量集,n的起始值为1;
计算前i个聚类向量集中的目标向量的个数总和;
响应于所述个数总和小于目标召回数量,令n等于n+1,再次执行所述将排序在第i个的聚类向量集添加至所述源向量的近邻向量集中的步骤;
响应于所述个数总和大于或等于所述目标召回数量,得到所述源向量的n个近邻向量集。
11.根据权利要求8所述的装置,其特征在于,所述召回模块,还用于采样所述近邻向量集中的一部分近邻向量,确定为样本近邻向量;
根据所述源向量和所述样本近邻向量之间的相似度,计算得到所述源向量和所述近邻向量集之间的第三相似度;
根据至少两个所述近邻向量集的所述第三相似度,得到至少两个所述近邻向量集相对于所述源向量之间的相似度分布。
12.根据权利要求11所述的装置,其特征在于,所述召回模块,还用于按照所述相似度分布中的所述第三相似度由高到低的顺序,将至少两个所述近邻向量集划分为m个组;
或,
按照所述相似度分布中的所述第三相似度由低到高的顺序,将至少两个所述近邻向量集划分为m个组。
13.根据权利要求8至12任一所述的装置,其特征在于,所述装置还包括聚类模块,用于获取聚类类别的个数k;
按照所述个数k对所述目标向量集进行聚类,得到所述k个类别的聚类向量集;
确定所述聚类向量集的质心向量。
14.根据权利要求8至12任一所述的装置,其特征在于,
所述源向量是第一用户向量,所述目标向量集中的目标向量是第二用户向量;
或,
所述源向量是用户向量,所述目标向量集中的目标向量是物品向量或信息向量。
15.一种计算机设备,其特征在于,所述计算机设备包括:处理器和存储器,所述存储器中存储有至少一段程序,所述至少一段程序由所述处理器加载并执行以实现如权利要求1至7任一所述的近邻向量的召回方法。
16.一种计算机可读存储介质,其特征在于,所述存储介质中存储至少一段程序,所述至少一段程序由处理器加载并执行以实现如权利要求1至7任一所述的近邻向量的召回方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010003861.0A CN111209953B (zh) | 2020-01-03 | 2020-01-03 | 近邻向量的召回方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010003861.0A CN111209953B (zh) | 2020-01-03 | 2020-01-03 | 近邻向量的召回方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111209953A CN111209953A (zh) | 2020-05-29 |
CN111209953B true CN111209953B (zh) | 2024-01-16 |
Family
ID=70785802
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010003861.0A Active CN111209953B (zh) | 2020-01-03 | 2020-01-03 | 近邻向量的召回方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111209953B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105893609A (zh) * | 2016-04-26 | 2016-08-24 | 南通大学 | 一种基于加权混合的移动app推荐方法 |
CN107679946A (zh) * | 2017-09-28 | 2018-02-09 | 平安科技(深圳)有限公司 | 基金产品推荐方法、装置、终端设备及存储介质 |
CN108509534A (zh) * | 2018-03-15 | 2018-09-07 | 华南理工大学 | 基于深度学习的个性化音乐推荐系统及其实现方法 |
WO2018172221A1 (en) * | 2017-03-21 | 2018-09-27 | Siemens Aktiengesellschaft | Method for computer-implemented determination of the performance of a classification model |
CN110020141A (zh) * | 2017-11-15 | 2019-07-16 | 航天信息股份有限公司 | 一种基于改进聚类和Spark框架的个性化推荐方法及系统 |
CN110162703A (zh) * | 2019-05-13 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 内容推荐方法、训练方法、装置、设备及存储介质 |
CN110442718A (zh) * | 2019-08-08 | 2019-11-12 | 腾讯科技(深圳)有限公司 | 语句处理方法、装置及服务器和存储介质 |
-
2020
- 2020-01-03 CN CN202010003861.0A patent/CN111209953B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105893609A (zh) * | 2016-04-26 | 2016-08-24 | 南通大学 | 一种基于加权混合的移动app推荐方法 |
WO2018172221A1 (en) * | 2017-03-21 | 2018-09-27 | Siemens Aktiengesellschaft | Method for computer-implemented determination of the performance of a classification model |
CN107679946A (zh) * | 2017-09-28 | 2018-02-09 | 平安科技(深圳)有限公司 | 基金产品推荐方法、装置、终端设备及存储介质 |
WO2019061976A1 (zh) * | 2017-09-28 | 2019-04-04 | 平安科技(深圳)有限公司 | 基金产品推荐方法、装置、终端设备及存储介质 |
CN110020141A (zh) * | 2017-11-15 | 2019-07-16 | 航天信息股份有限公司 | 一种基于改进聚类和Spark框架的个性化推荐方法及系统 |
CN108509534A (zh) * | 2018-03-15 | 2018-09-07 | 华南理工大学 | 基于深度学习的个性化音乐推荐系统及其实现方法 |
CN110162703A (zh) * | 2019-05-13 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 内容推荐方法、训练方法、装置、设备及存储介质 |
CN110442718A (zh) * | 2019-08-08 | 2019-11-12 | 腾讯科技(深圳)有限公司 | 语句处理方法、装置及服务器和存储介质 |
Non-Patent Citations (2)
Title |
---|
Optimizing Parallel Collaborative Filtering Approaches for Improving Recommendation Systems Performance;Christos Sardianos et al.;information;第1-17页 * |
协同过滤推荐算法在教务系统中的应用研究;叶仁鹏;中国优秀硕士学位论文全文数据库信息科技辑;第2018卷(第12期);第I138-1927页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111209953A (zh) | 2020-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108921221B (zh) | 用户特征的生成方法、装置、设备及存储介质 | |
CN108804641B (zh) | 一种文本相似度的计算方法、装置、设备和存储介质 | |
WO2014062508A1 (en) | Near duplicate images | |
CN110163252B (zh) | 数据分类方法及装置、电子设备、存储介质 | |
CN113298197B (zh) | 数据聚类方法、装置、设备及可读存储介质 | |
US11109085B2 (en) | Utilizing one hash permutation and populated-value-slot-based densification for generating audience segment trait recommendations | |
CN112231555A (zh) | 基于用户画像标签的召回方法、装置、设备及存储介质 | |
CN111159563A (zh) | 用户兴趣点信息的确定方法、装置、设备及存储介质 | |
US20180307743A1 (en) | Mapping method and device | |
US7991617B2 (en) | Optimum design management apparatus from response surface calculation and method thereof | |
CN112395487A (zh) | 信息推荐方法、装置、计算机可读存储介质及电子设备 | |
CN112785005A (zh) | 多目标任务的辅助决策方法、装置、计算机设备及介质 | |
CN105512156A (zh) | 点击模型生成方法和装置 | |
Han et al. | SlimML: Removing non-critical input data in large-scale iterative machine learning | |
WO2023024408A1 (zh) | 用户特征向量确定方法、相关设备及介质 | |
CN114119106A (zh) | 信息推荐方法、装置、服务器及存储介质 | |
CN113742578A (zh) | 一种数据推荐方法、装置、电子设备及存储介质 | |
CN113821657A (zh) | 基于人工智能的图像处理模型训练方法及图像处理方法 | |
CN111209953B (zh) | 近邻向量的召回方法、装置、计算机设备及存储介质 | |
CN110083732B (zh) | 图片检索方法、装置及计算机存储介质 | |
CN114556364A (zh) | 基于相似度运算符排序的神经架构搜索 | |
CN111667018A (zh) | 一种对象聚类的方法、装置、计算机可读介质及电子设备 | |
CN115147020B (zh) | 装修数据处理方法、装置、设备及存储介质 | |
KR20210090706A (ko) | 정렬 | |
CN115309865A (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 |