CN113065071B - 一种产品信息推荐方法及计算机设备 - Google Patents
一种产品信息推荐方法及计算机设备 Download PDFInfo
- Publication number
- CN113065071B CN113065071B CN202110483870.9A CN202110483870A CN113065071B CN 113065071 B CN113065071 B CN 113065071B CN 202110483870 A CN202110483870 A CN 202110483870A CN 113065071 B CN113065071 B CN 113065071B
- Authority
- CN
- China
- Prior art keywords
- bucket
- sub
- account
- target
- product information
- 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
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Economics (AREA)
- Databases & Information Systems (AREA)
- Strategic Management (AREA)
- Accounting & Taxation (AREA)
- Marketing (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Human Resources & Organizations (AREA)
- General Business, Economics & Management (AREA)
- Game Theory and Decision Science (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Entrepreneurship & Innovation (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请涉及大数据技术领域,提供了一种产品信息推荐方法、产品信息推荐装置、计算机设备及计算机可读存储介质。其中,一种产品信息推荐方法,基于预设的哈希函数测算目标账户行为数据对应的哈希值,以该哈希值作为分桶映射值,从账户分桶集群中确定出目标分桶,由于目标分桶中的信息用于描述目标账户的相似账户,以及相似账户与召回信息之间的对应关系,因此能够在目标分桶中确定出召回信息,按照预设筛选策略对该召回信息进行筛选,得到产品信息并推荐给目标账户,实现了在向目标账户推荐产品信息时,无需比较目标账户与其他账户之间的相似度,省去了大量的计算过程,优化了产品信息推荐过程中的计算步骤,简化了产品信息推荐的实现过程。
Description
技术领域
本发明属于大数据技术领域,尤其涉及一种产品信息推荐方法、产品信息推荐装置、计算机设备及计算机可读存储介质。
背景技术
目前,随着互联网技术的不断发展,用户通过在手机上安装不同购物平台的应用程序,即可利用不同购物平台对应的不同应用程序进行线上购物。用户利用应用程序进行产品挑选与产品购买时,其浏览数据与消费数据均以电子化形式被存储在相应的账户中,故有利于汇总用户的浏览数据与消费数据,为对用户的产品需求挖掘与产品信息推荐提供了实现基础。
现有的针对用户进行的产品信息推荐时,主要是先根据已有的数据进行需求挖掘,然后将挖掘出的潜在产品需求以产品信息的方式向用户推荐。然而,现有的产品信息推荐方案,首先是以用户在应用程序上浏览产品与消费的行为数据为基础,查找与该用户消费需求相同或相似的参考用户,再基于参考用户的行为数据确定出候选产品信息,再将该候选产品信息推送给用户。然而,基于用户的行为数据查找与其相同或相似的参考用户时,需要将用户的行为数据转换成向量,与其他用户的行为数据转换成的向量进行相似度值计算,然后通过比较相似度值的大小进行排序,进而得出参考用户集合。由此可见,现有的产品信息推荐方案存在计算量较大,实现过程较为复杂的问题。
发明内容
有鉴于此,本申请实施例提供了一种产品信息推荐方法、产品信息推荐装置、计算机设备及计算机可读存储介质,以解决现有的产品信息推荐方案存在计算量较大,实现过程较为复杂的问题。
本申请实施例的第一方面提供了一种产品信息推荐方法,包括:
基于预设的哈希函数与目标账户的行为数据,测算目标账户的分桶映射值;
根据所述分桶映射值从账户分桶集群中确定出目标分桶;所述目标分桶中的信息用于描述与所述目标账户对应的相似账户,以及所述相似账户与召回信息之间的对应关系;
按照预设筛选策略对所述召回信息进行筛选,得到产品信息,并将所述产品信息推荐给目标账户。
本申请实施例的第二方面提供了一种产品信息推荐装置,包括:
第一测算单元,用于基于预设的哈希函数与目标账户的行为数据,测算目标账户的分桶映射值;
确定单元,用于根据所述分桶映射值从账户分桶集群中确定出目标分桶;所述目标分桶中的信息用于描述与所述目标账户对应的相似账户,以及所述相似账户与召回信息之间的对应关系;
执行单元,用于按照预设筛选策略对所述召回信息进行筛选,得到产品信息,并将所述产品信息推荐给目标账户。
本申请实施例的第三方面提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方面的各个步骤。
本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现第一方面的各个步骤。
实施本申请实施例提供的一种产品信息推荐方法、产品信息推荐装置、计算机设备及计算机可读存储介质具有以下有益效果:
本申请实施例,基于预设的哈希函数测算目标账户行为数据对应的哈希值,以该哈希值作为分桶映射值,从账户分桶集群中确定出目标分桶,由于目标分桶中的信息用于描述目标账户的相似账户,以及相似账户与召回信息之间的对应关系,因此能够在目标分桶中确定出召回信息,按照预设筛选策略对该召回信息进行筛选,得到产品信息并推荐给目标账户,实现了在向目标账户推荐产品信息时,无需比较目标账户与其他账户之间的相似度,省去了大量的计算过程,优化了产品信息推荐过程中的计算步骤,简化了产品信息推荐的实现过程。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种产品信息推荐方法的实现流程图;
图2是本申请另一实施例提供的一种产品信息推荐方法的实现流程图;
图3是本申请实施例提供的一种产品信息推荐装置的结构框图;
图4是本申请实施例提供的一种计算机设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本实施例提供的一种产品信息推荐方法,执行主体为服务器,具体可以是配置有该方法功能的服务器,或者是服务器集群中的任一服务器。这里,服务器集群可以是由多个服务器组成的服务器集群,基于该服务器集群构建分布式系统,使得服务器集群中的多个服务器之间可以实现数据共享或数据同步。在此基础上,向该服务器集群中的任一服务器配置目标脚本文件,由该目标脚本文件描述本实施例提供的产品信息推荐方法,使得该配置有目标脚本文件的服务器能够通过执行该目标脚本文件,进而执行产品信息推荐方法中的各个步骤。
在实现时,服务器或者服务器集群中的任一服务器,服务器接收目标账户通过终端发送的数据访问请求,并根据该数据访问请求返回相应的页面文件,由终端加载该页面文件,进而显示服务器为目标账户推荐的产品信息。其中,服务器可以根据数据访问请求中携带的目标账户标识,确定目标账户相应的数据库,并从该数据库中获取目标账户的行为数据。基于预设的哈希值函数与行为数据测算得到目标账户的分桶映射值,进而根据该分桶映射值从账户分桶集群中确定出目标分桶,由于目标分桶中的信息用于描述目标账户的相似账户与召回信息之间的对应关系,因此从目标分桶中提取到的召回信息,按照预设的筛选策略进行筛选后,能够得到用于推荐给目标账户的产品信息。实现了在向目标账户推荐产品信息时,无需比较目标账户与其他账户之间的相似度,省去了大量的计算过程,优化了产品信息推荐过程中的计算步骤,简化了产品信息推荐的实现过程。
例如,以上述服务器为购物平台应用程序的服务器为例,用户于终端上启用该购物平台的应用程序,并在该购物平台应用程序上登录目标账户,终端通过登录了目标账户的购物平台应用程序向服务器发送数据访问请求,服务器根据该数据访问请求中携带的目标账户标识,确定目标账户相应的数据库,并从该数据库中获取目标账户的行为数据,基于预设的哈希值函数与行为数据测算得到目标账户的分桶映射值,进而根据该分桶映射值从账户分桶集群中确定出目标分桶,由于目标分桶中的信息用于描述目标账户的相似账户与召回信息之间的对应关系,因此从目标分桶中提取到的召回信息,按照预设的筛选策略进行筛选后,能够得到用于推荐给目标账户的产品信息。实现了在向目标账户推荐产品信息时,无需比较目标账户与其他账户之间的相似度,省去了大量的计算过程,优化了产品信息推荐过程中的计算步骤,简化了产品信息推荐的实现过程。
以下通过具体实现方式对本实施例提供的一种产品信息推荐方法进行详细说明。
图1示出了本申请实施例提供的产品信息推荐方法的实现流程图,详述如下:
S11:基于预设的哈希函数与目标账户的行为数据,测算目标账户的分桶映射值。
在步骤S11中,目标账户作为唯一标识,用于在终端上登录应用程序或与应用程序关联的数据展示页面,使得用户可以利用该终端通过应用程序或该数据展示页面访问相应的服务器。这里,应用程序是终端上安装的能够用于展示产品信息的应用程序;数据展示页面作为访问服务器资源的途径之一,在用户利用终端通过该数据展示页面访问服务器时,可以通过该数据展示页面加载并显示由服务器返回的页面文件,进而实现对产品信息的展示操作。预设的哈希函数用于确定行为数据与分桶映射值之间的映射关系。
在本实施例中,预设的哈希函数用于根据目标账户的行为数据映射一个哈希值。这里,由于行为数据用于描述目标账户对应的用户在该应用程序上的产品浏览数据和/或产品消费数据,因此不同内容的行为数据可以映射出不同的哈希值。
作为一个示例,预设的哈希函数中的运算因子为行为数据的向量,因此服务器基于目标账户的行为数据向量映射成一个哈希值,把哈希值除以桶宽W且取整数,得到该目标账户所属的分桶映射值,该分桶映射值也可以被称为桶号。
例如,当两个账户的行为数据比较重合时,如第一账户行为数据中体现了点击过的物品有A、B、C、D,其中有物品A、B、C也是第二账户的行为数据中记载过的,那么第一账户与第二账户的行为数据映射得到的哈希值相同或者相近,因此两个账户的分桶映射值或者桶号也会是相同或者相近。
以用户利用目标账户在终端的应用程序上进行登录操作为例,用户在利用终端启动应用程序时,可以以游客的方式通过应用程序向服务器发送数据访问请求,还可以通过注册账户并通过登录该账户以会员或者普通用户的身份向服务器发送数据访问请求。服务器用于根据数据访问请求,向终端返回页面文件,由终端通过应用程序加载该页面文件,进而显示相应的可操作页面。用户利用终端在该可操作页面上进行操作,由配置在显示页面中的埋点采集该用户的操作行为,得到相应的行为数据,然后通过应用程序将该行为数据发送给服务器。
在本实施例中,行为数据用于描述目标账户对应的用户在该应用程序上的产品浏览数据和/或产品消费数据。这里,产品浏览数据可以包括但不仅限于点击产品的图片、浏览产品的详细信息、保存产品的图片或者对产品详情页面的截图操作等;产品消费数据可以包括但不仅限于购买的产品属性、够买的产品数量或者次数等。
在实现时,可以通过对应用程序进行行为数据采集配置,例如,配置相应的页面埋点,或者配置执行环境脚本,进而能够实现对用户行为数据的采集。由于在实际应用时用户进行产品浏览或产品消费的过程中,应用程序能够根据用户的实际操作情况将用户的行为数据与操作时间进行对应采集与存储,因此得到的行为数据能够用于描述目标账户对应的用户在使用应用程序时的行为内容。
作为一个实施例,步骤S11具体包括:
对目标账户的行为数据进行向量转换得到行为向量。
根据预设的哈希函数与所述行为向量,通过如下公式测算所述目标账户的分桶映射值;
H(V)=sign(V*R)
其中,V为所述行为向量;R为预设向量常数;H(V)为所述分桶映射值。
在本实施例中,对行为数据进行向量转换得到的行为向量,可以是Spark稠密向量。基于此,本领域技术人员在对行为数据进行向量转时,可以获悉并使用已有的Spark稠密向量转换方法实现,故此处不再对如何对行为数据进行向量转换,得到行为向量的具体过程进行赘述。
在实际应用中,目标账户的相似账户可以为多个,且被归纳在同一个分桶中,也即目标分桶中的账户为彼此行为数据重合程度较高的一群账户。通过对账户进行聚类分桶,能够将彼此间相似的所有账户放入同一个分桶中,进而在产品信息推荐的过程中,省去计算目标账户与其他账户之间相似度的步骤,简化了计算过程。
在本申请的所有实施例中,在测算得到目标账户的分桶映射值后,即可从账户分桶集群中确定出于该分桶映射值匹配的目标分桶,以便从该目标分桶中获取与目标账户相似的其他账户,用于为目标账户提供产品推荐的参考。
如图1所示,在步骤S11后执行步骤S12至步骤S13。
S12:根据所述分桶映射值从账户分桶集群中确定出目标分桶;所述目标分桶中的信息用于描述与所述目标账户对应的相似账户,以及所述相似账户与召回信息之间的对应关系。
在步骤S12中,账户分桶集群是由多个候选分桶组成的集群,每个候选分桶中都罗列了多个账户及其相关数据。目标分桶为目标账户的分桶映射值所指向的候选分桶。这里,目标分桶中的账户均为目标账户的相似账户,故目标分桶中的账户及其相关数据能够用于为目标账户进行产品信息推荐提供参考。
在本实施例中,召回信息指的是目标分桶中所有账户的相关信息,包括目标分桶中目标账户对应的相似账户的行为数据、画像数据等。其中,行为数据可以是相似账户的产品浏览数据和/或产品消费数据,画像数据可以是该相似账户对应用户的用户画像,例如用户属性、用户类别标签等。
在实现时,根据分桶映射值从账户分桶集群中确定出目标分桶的过程,具体可以是分别比较账户分桶集群中每个候选分桶的映射值与分桶映射值之间的相似度,将映射值相似度最高的候选分桶作为目标分桶。或者,可以是分别比较账户分桶集群中每个候选分桶的映射值与分桶映射值之间的距离,如差值、平方差等,将映射值差值最小的候选分桶作为目标分桶。
可以理解的是,由于账户分桶集群中的每个候选分桶在进行分桶操作时,均配置有分桶规格以及该分桶的映射值,故在根据分桶映射值从账户分桶集群中确定出目标分桶的过程中,可以直接获得每个候选分桶对应的映射值,无需对候选分桶的映射值进行计算。
作为一个实施例,账户分桶集群中包括N个候选分桶,其中,N为整数,且N≥2;步骤S12可以包括:
比较所述账户分桶集群中每个所述候选分桶的映射值与所述分桶映射值之间的差值,得到N个差值;其中,所述差值为整数,且所述差值大于或等于0;
根据所述N个差值从所述账户分桶集群中确定出目标分桶。
在本实施例中,候选分桶的映射值与分桶映射值之间的差值,用于表征候选分桶中的账户与目标账户之间的距离。
可以理解的是,候选分桶的映射值与分桶映射值之间的差值不考虑运算符号的正负,仅考虑候选分桶的映射值与分桶映射值之间的相差程度,故在比较候选分桶的映射值与分桶映射值之间的差值时,可以通过取绝对值的方式实现。
作为本实施例一种可能实现的方式,上述步骤:根据所述N个差值从所述账户分桶集群中确定出目标分桶,包括:
确定所述N个差值中的最小差值;
将所述最小差值对应的候选分桶作为所述目标分桶。
在本实施例中,由于候选分桶的映射值与分桶映射值之间的差值,用于表征候选分桶中的账户与目标账户之间的距离,因此N个差值中的最小差值对应的候选分桶中的账户与目标账户之间的距离最小,故将该候选分桶作为目标分桶,能够从中提取与目标账户最为相似的账户的数据用于为目标账户进行产品信息推荐提供参考。
作为一个示例,假设账户分桶集群中第i个候选分桶的映射值为Yi,分桶映射值为X,第i个候选分桶的映射值与分桶映射值之间的差值为Zi,则可以推出公式:Zi=|Yi-X|;其中,i∈[1,N]。也即,在实际应用中,可以利用该公式测算出账户分桶集群中每个候选分桶的映射值与分桶映射值之间的差值。
在本申请的所有实施例中,在确定出目标分桶后,可以从该目标分桶中提取与产品相关的信息作为召回信息。为了能够向目标账户提供更准确、更适合的产品信息进行推荐,由于召回信息指的是目标分桶中所有账户的相关信息,包括行为数据、画像数据等,因此在确定目标分桶后,还需要对目标分桶中的召回信息进行进一步筛选,以从中剔除掉重叠或者无用的产品信息。
S13:按照预设筛选策略对所述召回信息进行筛选,得到产品信息,并将所述产品信息推荐给目标账户。
在步骤S13中,预设筛选策略用于描述对召回信息进行筛选的方法与逻辑过程。这里,召回信息包括了账户的相关信息,如行为数据、画像数据等,为了能够通过对该召回信息进行筛选得到产品信息,通过预先配置预设筛选策略,能够对召回信息中的非产品信息进行剔除。
在本实施例中,按照预设筛选策略对召回信息进行筛选,可以是先剔除召回信息中的无货产品,再根据剔除无货产品的召回信息进行产品信息推荐。
例如,当召回信息中包含了相似账户浏览产品A,且该浏览产品A对应的产品A属于爆款产品或资源缺失产品,即可将该召回信息中的该条行为数据进行剔除。再例如,当召回信息中包含了相似账户购买了产品B,而该产品B于目标账户所在区域无货源,或不可交易,即可将该召回信息中的该条关于产品B的行为数据进行剔除。
这里,还可以是先剔除召回信息中与目标账户的行为数据相同的行为数据,再对剔除相同行为数据的召回信息进行画像数据去重处理,得到最终筛选结果,根据该最终筛选结果进行产品信息推荐。
例如,当召回信息中包含了相似账户浏览产品A,相似账户的画像数据指向了产品C、D、E,由于浏览产品A的行为数据以及产品C、E与目标账户的行为数据重叠或相同,因此可将该召回信息中的该条行为数据与画像数据指向的产品C、E部分进行剔除,得到的最终筛选结果为产品E,因此提取该产品E的信息作为产品信息推荐给目标账户。
作为一个实施例,上述方案中,步骤S13包括:
按照预设筛选策略剔除所述召回信息中与所述行为数据重叠的信息,得到待提取信息;
识别所述待提取信息中与产品相关的目标信息;
根据所述目标信息从数据库中拉取相应的产品信息,并将所述产品信息推荐给目标账户。
在本实施例中,目标信息是与产品相关的信息,由于行为数据中包含了产品浏览数据和/或消费数据,因此在对待提取信息进行产品相关的目标信息识别时,能够确定出有效的产品内容作为目标信息。数据库中存储有与行为数据相关的所有产品信息,故根据目标信息能够从数据库中拉取到该产品相关的详细产品信息。
需要说明的是,由于召回信息中不仅包含了账户的行为数据,还包含了账户的画像数据,因此需要对该召回信息进行内容筛选。这里,因为行为数据用于描述账户对应的用户在应用程序上的产品浏览数据和/或产品消费数据,所以在进行筛选时,可以只保留账户的行为数据。
在实现时,从目标样本账户对应的产品浏览数据和/或产品消费数据中筛选出产品信息向目标账户进行推送,具体是筛选出目标账户没有关注过的产品信息进行推送。例如,通过比较目标账户的行为数据与召回信息中行为数据之间的差别,确定出召回信息中的行为数据中包含但目标账户的行为数据中没有包含的目标行为,然后将目标行为对应的产品信息推荐给目标账户。
应当理解的是,向目标账户推送产品信息,可以是将产品信息配置到页面文件中,得到新的页面文件,当用户利用已登录目标账户的终端向服务器发送数据访问请求时,服务器根据该数据访问请求向该终端返回新的页面文件,终端通过加载该新的页面文件,进而显示相应的产品信息,完成向目标账户的产品信息推送操作。
图2示出了本申请另一实施例提供的产品信息推荐方法的实现流程图。以上述任一实施例为基础,本实施例中,在步骤S12之前,还包括步骤S21至S22。需要说明的是,步骤S11同步骤S21至S22为并列步骤,也即执行不分先后,可以先执行步骤S11再执行步骤S21至S22,也可以先执行步骤S21至S22,再执行步骤S11,或者同时执行步骤S11与步骤S21至S22。详述如下:
S21:基于预设的哈希函数测算账户集群中每个账户的M个哈希值,得到所述每个账户的哈希值集合;其中,M为大于1的整数;
S22:根据预设分桶策略与所述哈希值集合,对所述账户集群进行分桶操作,得到账户分桶集群。
在本实施例中,考虑引入哈希函数来对用户进行分桶处理,通过哈希映射函数对每个用户的行为数据向量映射成一个哈希值,把哈希值除以桶宽W并取整,则得到该用户所属的桶号。当两个用户的行为数据比较重合的时候(比如说A用户点击过的物品,很多也是B点击过的),这两个用户的行为数据映射得到的哈希值也是比较相近的,因此两个用户的桶号也会是一致的。
但是由于映射过程是一个降维操作,因此有小的概率会丢失信息,导致分配到错误的桶号中,为避免错误分桶情况的发生,我们考虑采用强化的哈希函数。对每个用户生成M个哈希值h1,h2…hM,从而计算出这个用户所属的M个桶号,如果两个用户的这M个桶号都相同,则这两个用户会被分配到同一个桶中。强化哈希函数公式如下:
H(V)=sign(V*R)
其中,V为用户行为向量,R为预设向量常数,H(V)为分桶映射值(哈希值)。实践中采用了标准高斯分布,在这里相当于对V在R方向上做了一个投影的动作。在同一个桶中的用户可以认为是彼此点击的物品重合度相对较高的一群用户。因此回到原始问题上,我们只需要计算同一个桶中用户之间的相似度,就可以得出相似用户了,这样会大幅度减少计算量,假设一个桶里面用户数量是1000,那么这个桶所有用户的排列只有1000的平方,远远少于原来的计算量。
作为本实施例一种可能实现的方式,步骤S22包括:
将所述账户集合中所述哈希值集合的相似度大于预设比例值的每两个账户分在同一个初始分桶中;
若所述初始分桶中的账户数量等于或大于第一预设样本值,则对所述初始分桶中的账户进行随机抽样剔除操作,得到新的分桶;
若所述初始分桶中的账户数量等于或小于第二预设样本值,则将所述初始分桶中的账户抽取至其他分桶中,得到新的分桶;
将所述新的分桶与账户数量处于所述第二预设样本值至所述第一预设样本值之间的初始分桶,作为账户分桶集群。
在本实施例中,测算每两个哈希值集合之间的相似度,是为了基于该相似度对账户集合中的账户进行分桶,也即为分桶操作提供参考依据。因为当两个账户之间的相似度的数值越大,表示该两个账户越相似,所以该两个账户对应用户消费习惯也越相似,故将相似度大于预设比例值的每两个账户分在一个初始分桶中,能够在产品信息推荐过程中提高查找相似账户的效率,为筛选出目标产品信息推送给目标账户提供了合理化程度较高的技术手段和实现基础。
需要说明的是,对于桶宽W参数的设计往往较为困难,过宽则导致不那么相近的用户也会被算到同一个桶中,过窄则导致桶过多,计算量没有有效地减少。同时,在实现过程中,往往会存在这样的情况,有些桶包含的用户过多,有些桶则过少,举个极端的例子,其中一个桶基本包含了所有用户,剩下的桶都只有几个用户,这样少用户的桶计算量可以忽略不计,所有计算还是在一个桶里进行,其实也就相当于没有分桶了,这样也没有达到优化计算成本的目的。对于少量用户的桶,还会面临召回不足的情况(能召回的只有桶内有限个数的用户)。因此我们可以如下两个优化方法来避免这种极端情况。
例如,对于单个桶物品过多的情况,采用随机抽样的方法,这样做的原因是在一个桶内的物品其实都已经是比较相近的了,再逐一比较计算并不划算,通过忍受一定程度的精度损失,换取性能上的大幅度提升能够帮助我们实现功能。
再例如,对于数量较少的桶,为了避免召回数量不足的情况,可以考虑合并桶的方式来解决,这种方法虽然简单粗暴,但是在推荐场景中,能够避免召回不足导致推荐不出结果的窘境。
以上方案中,基于预设的哈希函数测算目标账户行为数据对应的哈希值,以该哈希值作为分桶映射值,从账户分桶集群中确定出目标分桶,由于目标分桶中的信息用于描述目标账户的相似账户,以及相似账户与召回信息之间的对应关系,因此能够在目标分桶中确定出召回信息,按照预设筛选策略对该召回信息进行筛选,得到产品信息并推荐给目标账户,实现了在向目标账户推荐产品信息时,无需比较目标账户与其他账户之间的相似度,省去了大量的计算过程,优化了产品信息推荐过程中的计算步骤,简化了产品信息推荐的实现过程。
请参阅图3,图3是本申请实施例提供的一种产品信息推荐装置的结构框图。本实施例中该移动终端包括的各单元用于执行图1与图2对应的实施例中的各步骤。具体请参阅图1与图2以及图1与图2所对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。参见图3,产品信息推荐装置30包括:第一测算单元31、确定单元32以及执行单元33。具体地:
第一测算单元31,用于基于预设的哈希函数与目标账户的行为数据,测算目标账户的分桶映射值;
确定单元32,用于根据所述分桶映射值从账户分桶集群中确定出目标分桶;所述目标分桶中的信息用于描述与所述目标账户对应的相似账户,以及所述相似账户与召回信息之间的对应关系;
执行单元33,用于按照预设筛选策略对所述召回信息进行筛选,得到产品信息,并将所述产品信息推荐给目标账户。
作为一个实施例,产品信息推荐装置30还包括:第二测算单元34与分桶单元35。具体地:
第二测算单元34,用于基于预设的哈希函数测算账户集群中每个账户的M个哈希值,得到所述每个账户的哈希值集合;其中,M为大于1的整数;
分桶单元35,用于根据预设分桶策略与所述哈希值集合,对所述账户集群进行分桶操作,得到账户分桶集群。
应当理解的是,图3示出的产品信息推荐装置的结构框图中,各单元用于执行图1与2对应的实施例中的各步骤,而对于图1与图2对应的实施例中的各步骤已在上述实施例中进行详细解释,具体请参阅图1与图2以及图1与图2所对应的实施例中的相关描述,此处不再赘述。
图4是本申请实施例提供的一种计算机设备的结构框图。如图4所示,该实施例的计算机设备40包括:处理器41、存储器42以及存储在所述存储器42中并可在所述处理器41上运行的计算机程序43,例如产品信息推荐方法的程序。处理器41执行所述计算机程序43时实现上述各个产品信息推荐方法各实施例中的步骤,例如图1所示的S11至S13,再例如图2所示的S11、S21、S22至S13,所述处理器41执行所述计算机程序43时实现上述图3对应的实施例中各单元的功能,例如,图3所示的单元31至35的功能,具体请参阅图3对应的实施例中的相关描述,此处不赘述。
示例性的,所述计算机程序43可以被分割成一个或多个单元,所述一个或者多个单元被存储在所述存储器42中,并由所述处理器41执行,以完成本申请。所述一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序43在所述计算机设备40中的执行过程。例如,所述计算机程序43可以被分割成第一测算单元、确定单元以及执行单元,各单元具体功能如上所述。
所述转台设备可包括,但不仅限于,处理器41、存储器42。本领域技术人员可以理解,图4仅仅是计算机设备40的示例,并不构成对计算机设备40的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述转台设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器41可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器42可以是所述计算机设备40的内部存储单元,例如计算机设备40的硬盘或内存。所述存储器42也可以是所述计算机设备40的外部存储设备,例如所述计算机设备40上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器42还可以既包括所述计算机设备40的内部存储单元也包括外部存储设备。所述存储器42用于存储所述计算机程序以及所述转台设备所需的其他程序和数据。所述存储器42还可以用于暂时地存储已经输出或者将要输出的数据。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (6)
1.一种产品信息推荐方法,其特征在于,包括:
对目标账户的行为数据进行向量转换得到行为向量;
根据预设的哈希函数与所述行为向量,通过如下公式测算所述目标账户的分桶映射值;
其中,V为所述行为向量;R为预设向量常数;H(V)为所述分桶映射值;
比较账户分桶集群中每个候选分桶的映射值与所述分桶映射值之间的差值,得到N个差值;其中,所述账户分桶集群中包括N个候选分桶,N为整数,且N≥2;所述差值为整数,且所述差值大于或等于0;
确定所述N个差值中的最小差值;
将所述最小差值对应的候选分桶作为所述目标分桶;所述目标分桶中的信息用于描述与所述目标账户对应的相似账户,以及所述相似账户与召回信息之间的对应关系;
按照预设筛选策略剔除所述召回信息中与所述行为数据重叠的信息,得到待提取信息;
识别所述待提取信息中与产品相关的目标信息;
根据所述目标信息从数据库中拉取相应的产品信息,并将所述产品信息推荐给目标账户。
2.根据权利要求1所述的产品信息推荐方法,其特征在于,所述对目标账户的行为数据进行向量转换得到行为向量的步骤之前,还包括:
基于预设的哈希函数测算账户集群中每个账户的M个哈希值,得到所述每个账户的哈希值集合;其中,M为大于1的整数;
根据预设分桶策略与所述哈希值集合,对所述账户集群进行分桶操作,得到账户分桶集群。
3.根据权利要求2所述的产品信息推荐方法,其特征在于,所述根据预设分桶策略与所述哈希值集合,对所述账户集群进行分桶操作,得到账户分桶集群,包括:
将所述账户集合中所述哈希值集合的相似度大于预设比例值的每两个账户分在同一个初始分桶中;
若所述初始分桶中的账户数量等于或大于第一预设样本值,则对所述初始分桶中的账户进行随机抽样剔除操作,得到新的分桶;
若所述初始分桶中的账户数量等于或小于第二预设样本值,则将所述初始分桶中的账户抽取至其他分桶中,得到新的分桶;
将所述新的分桶与账户数量处于所述第二预设样本值至所述第一预设样本值之间的初始分桶,作为账户分桶集群。
4.一种产品信息推荐装置,其特征在于,用于实现如权利要求1-3任一项所述的产品信息推荐方法,所述产品信息推荐装置包括:
第一测算单元,用于基于预设的哈希函数与目标账户的行为数据,测算目标账户的分桶映射值;
确定单元,用于根据所述分桶映射值从账户分桶集群中确定出目标分桶;所述目标分桶中的信息用于描述与所述目标账户对应的相似账户,以及所述相似账户与召回信息之间的对应关系;
执行单元,用于按照预设筛选策略对所述召回信息进行筛选,得到产品信息,并将所述产品信息推荐给目标账户。
5.一种计算机设备,其特征在于,所述计算机设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时如权利要求1至3任一项所述方法的步骤。
6.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110483870.9A CN113065071B (zh) | 2021-04-30 | 2021-04-30 | 一种产品信息推荐方法及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110483870.9A CN113065071B (zh) | 2021-04-30 | 2021-04-30 | 一种产品信息推荐方法及计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113065071A CN113065071A (zh) | 2021-07-02 |
CN113065071B true CN113065071B (zh) | 2023-07-25 |
Family
ID=76568031
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110483870.9A Active CN113065071B (zh) | 2021-04-30 | 2021-04-30 | 一种产品信息推荐方法及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113065071B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014074960A (ja) * | 2012-10-02 | 2014-04-24 | Nippon Telegr & Teleph Corp <Ntt> | 商品推薦装置及び方法及びプログラム |
CN110399550A (zh) * | 2019-03-14 | 2019-11-01 | 腾讯科技(深圳)有限公司 | 一种信息推荐方法及装置 |
CN111914175A (zh) * | 2020-08-07 | 2020-11-10 | 平安科技(深圳)有限公司 | 一种推荐流程优化方法、装置、设备及介质 |
CN111966900A (zh) * | 2020-08-17 | 2020-11-20 | 中国银行股份有限公司 | 基于局部敏感哈希的用户冷启动产品推荐方法及系统 |
CN112116436A (zh) * | 2020-10-14 | 2020-12-22 | 中国平安人寿保险股份有限公司 | 一种智能推荐方法、装置、计算机设备及可读存储介质 |
-
2021
- 2021-04-30 CN CN202110483870.9A patent/CN113065071B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014074960A (ja) * | 2012-10-02 | 2014-04-24 | Nippon Telegr & Teleph Corp <Ntt> | 商品推薦装置及び方法及びプログラム |
CN110399550A (zh) * | 2019-03-14 | 2019-11-01 | 腾讯科技(深圳)有限公司 | 一种信息推荐方法及装置 |
CN111914175A (zh) * | 2020-08-07 | 2020-11-10 | 平安科技(深圳)有限公司 | 一种推荐流程优化方法、装置、设备及介质 |
CN111966900A (zh) * | 2020-08-17 | 2020-11-20 | 中国银行股份有限公司 | 基于局部敏感哈希的用户冷启动产品推荐方法及系统 |
CN112116436A (zh) * | 2020-10-14 | 2020-12-22 | 中国平安人寿保险股份有限公司 | 一种智能推荐方法、装置、计算机设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113065071A (zh) | 2021-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110337641B (zh) | 使用屏幕截图元数据确定应用测试结果 | |
CN109643318B (zh) | 商标图像的基于内容的搜索和检索 | |
CN112889042A (zh) | 机器学习中超参数的识别与应用 | |
CN105721629B (zh) | 用户标识匹配方法和装置 | |
US11100073B2 (en) | Method and system for data assignment in a distributed system | |
CN111090615A (zh) | 混合资产的分析处理方法、装置、电子设备及存储介质 | |
CN108536467B (zh) | 代码的定位处理方法、装置、终端设备及存储介质 | |
CN104965863B (zh) | 一种对象聚类方法和装置 | |
CN110674360B (zh) | 一种用于数据的溯源方法和系统 | |
CN112860993A (zh) | 兴趣点的分类方法、装置、设备、存储介质及程序产品 | |
CN107748772B (zh) | 一种商标识别方法及装置 | |
CN110427574B (zh) | 路线相似度确定方法、装置、设备和介质 | |
CN110827101A (zh) | 一种店铺推荐的方法和装置 | |
CN112346951B (zh) | 业务的测试方法及装置 | |
CN110110257A (zh) | 数据处理方法及其系统、计算机系统及计算机可读介质 | |
CN107798450B (zh) | 业务分配方法和装置 | |
CN113094415B (zh) | 数据抽取方法、装置、计算机可读介质及电子设备 | |
CN113126980A (zh) | 页面生成方法、装置及电子设备 | |
CN113065071B (zh) | 一种产品信息推荐方法及计算机设备 | |
CN109446054B (zh) | 基于大数据的越权操作请求的处理方法及终端设备 | |
CN116225690A (zh) | 基于docker的内存多维数据库计算负载均衡方法及系统 | |
CN113869904B (zh) | 可疑数据识别方法、装置、电子设备、介质和计算机程序 | |
CN115393903A (zh) | 图像底库的更新方法、装置、设备及存储介质 | |
CN117009430A (zh) | 数据管理方法、装置和存储介质及电子设备 | |
CN110781191B (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 |