CN111914175A - 一种推荐流程优化方法、装置、设备及介质 - Google Patents
一种推荐流程优化方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN111914175A CN111914175A CN202010790843.1A CN202010790843A CN111914175A CN 111914175 A CN111914175 A CN 111914175A CN 202010790843 A CN202010790843 A CN 202010790843A CN 111914175 A CN111914175 A CN 111914175A
- Authority
- CN
- China
- Prior art keywords
- user
- recommendation
- parameter
- recall
- scene
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000005457 optimization Methods 0.000 title claims abstract description 17
- 230000007246 mechanism Effects 0.000 claims abstract description 17
- 238000012545 processing Methods 0.000 claims abstract description 17
- 238000012163 sequencing technique Methods 0.000 claims abstract description 9
- 230000006870 function Effects 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 10
- 238000003860 storage Methods 0.000 claims description 6
- 230000001360 synchronised effect Effects 0.000 claims description 5
- 238000004422 calculation algorithm Methods 0.000 abstract description 4
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 238000007418 data mining Methods 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 12
- 238000007726 management method Methods 0.000 description 10
- 239000013598 vector Substances 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 7
- 238000002474 experimental method Methods 0.000 description 7
- 230000006399 behavior Effects 0.000 description 6
- 230000011218 segmentation Effects 0.000 description 5
- 230000003068 static effect Effects 0.000 description 5
- 238000009826 distribution Methods 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013433 optimization analysis Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000011064 split stream procedure Methods 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
Images
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
- 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)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Development Economics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及人工智能技术领域、数据挖掘技术领域,特别是涉及一种推荐流程优化方法,包括:获取包括第一参数的用户推荐请求;根据获取到的所述第一参数,通过预置算法生成第二参数,并将用户划分到预设的流量桶,获得与所述用户对应的模型ID;根据第二参数配置召回策略;以及根据所述用户推荐请求,调用与所述召回策略对应的计算引擎,并生成第三参数;通过预设机制,对所述第三参数进行处理,获得排序后的推荐结果数据,将所述排序后的推荐结果数据返回给所述用户。进一步优化了推荐结果,提高后续精排序结果的多样性,使推荐结果更加合理,进而提升用户体验。
Description
技术领域
本发明涉及人工智能技术领域、数据挖掘技术领域,特别是涉及一种推荐流程优化方法和一种推荐流程优化装置。
背景技术
推荐流程也可以说是推荐系统,是一种信息过滤技术,通过从用户行为中挖掘用户兴趣偏好,为用户提供个性化的信息,减少用户的找寻时间,降低用户的决策成本,让用户更加被动的消费信息,随着互联网技术的不断发展及应用深入,推荐流程在当前得到广泛的关注,它是一种软件解决方案,也可以说是在to C互联网产品上的一个模块。
具体地,当用户推荐请求获取推荐内容的时候,内部一般要涉及到推荐流程,利用用户端的一些行为,通过一些特有的算法,推测出用户可能喜欢的内容;现有的推荐流程大致为后台的推荐服务模块,根据用户所发送的请求信息中的参数调用推荐引擎模块,然后返回给用户推荐的结果,以此来达到满足用户推荐需求的目的。
现有推荐流程中所涉及到的验签、流量控制及推荐的输入/输出日志不能统一管理;再者,在所配置的场景中,不具备在所提供的多个模型之间进行AB实验的能力;另外,上述推荐流程向用户所推荐的内容没有进行排序后再推荐,无法满足用户最迫切的推荐需要。
现有的推荐流程还需要进一步地优化,以提高用户体验。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种推荐流程优化方法和相应的一种推荐流程优化装置。
为了解决上述问题,本发明实施例公开了一种推荐流程优化方法,包括:
获取包括第一参数的用户推荐请求;
根据获取到的所述第一参数,通过预设的推荐引擎生成第二参数,以及将用户划分到预设的流量桶,获得与所述用户对应的模型ID(Identity Document);
根据第二参数配置召回策略;以及根据所述用户推荐请求,调用与所述召回策略对应的计算引擎,并生成第三参数;
通过预设机制,对所述第三参数进行处理,获得排序后的推荐结果数据,将所述排序后的推荐结果数据返回给所述用户。
优选地,所述第一参数包括:
请求ID、第一场景ID、用户标识、需要推荐的产品数和/或推荐产品的候选集合和/或当前用户所在的产品场景和/或当前所在的资讯ID。
优选地,所述根据获取到的所述第一参数,通过预设的推荐引擎生成第二参数,以及将用户划分到预设的流量桶,获得与所述用户对应的模型ID,包括:
通过预设的推荐引擎,配置一个包括第二场景ID的第二参数,其中,所述第二场景ID与所述第一场景ID同步;
通过哈希函数,对所述用户标识与所述第二场景ID进行哈希运算,得到哈希值,并获得模型ID;
通过所述预设的推荐引擎,对AB桶的分流设置;根据所述哈希值判断所述用户对应的流量桶;
根据所述用户对应的流量桶,查询用户推荐请求对应的模型ID。
优选地,所述根据第二参数配置召回策略,以及根据所述用户推荐请求,调用与所述召回策略对应的计算引擎,并生成第三参数,包括:
根据所述第二场景ID,配置包括热点召回的召回策略,其中,热点召回包括:根据用户召回产品的u2i召回、根据产品召回产品的i2i召回、根据场景召回产品的s2i召回;
根据所述用户推荐请求,调用与所述召回策略对应的计算引擎,并生成第三参数,其中,所述第三参数为:包含召回来源信息和召回产品列表的推荐返回结果。
优选地,所述通过预设机制,对所述第三参数进行处理,获得排序后的推荐结果数据,包括:
根据所述第三参数,从预设的数据库中获取用户信息、场景信息、每个产品对应的产品信息特征,并拼接成预设数据格式的特征集合;
按照所述模型ID运行模型,并通过预设的评分机制,对所述特征集合中的信息进行评分;
按照分数高低对所述第三参数进行排序,获得包括所述推荐结果数据的精排数据。
优选地,所述通过预设机制,按照分数高低对所述第三参数进行排序,获得包括所述推荐结果数据的精排数据之后,还包括:
将所述精排数据,按照预设的打散策略进行重排,获得重排后的推荐结果数据,其中,所述打散策略为,根据通过召回策略召回的产品,进行分别排序后的混排,或对不同类目下的产品进行混排。
优选地,所述推荐结果数据,包括:所述用户推荐请求的请求ID,以及含有顺序的至少一个推荐产品。
本发明实施例公开了一种推荐流程优化装置,包括:
引擎网关模块,用于获取包括第一参数的用户推荐请求;
流量切分模块,用于根据获取到的所述第一参数,通过预置算法生成第二参数,并将用户划分到预设的流量桶,获得与所述用户对应的模型ID;
召回模块,用于根据第二参数配置召回策略;以及根据所述用户推荐请求,调用与所述召回策略对应的计算引擎,并生成第三参数;
排序模块,用于通过预设机制,对所述第三参数进行处理,获得排序后的推荐结果数据,将所述排序后的推荐结果数据返回给所述用户。
本发明实施例包括以下优点:
推荐流程中所涉及到的验签、流量控制及推荐的输入/输出日志等统一管理,便于推荐引擎的优化分析,同时便于与外部系统之间进行问题排查;通过流量切分模块中产生的哈希值,并结合推荐引擎运营管理对AB桶的分流设置,可在后台管理数据库中查询到当前场景下的模型ID,以用于后续排序模块中运行模型进行评分,便于排序;在排序之前,还通过召回模块调用各个召回策略对应的计算引擎使召回的数据更加的全面,进一步优化了推荐结果,提高后续精排序结果的多样性,使推荐结果更加合理,进而提升用户体验。
附图说明
图1是本发明的一种推荐流程优化方法实施例的步骤流程图;
图2是图1步骤流程中的子步骤的流程图;
图3是图1步骤流程中的另一子步骤的流程图;
图4是本发明的一种推荐流程优化装置实施例的结构框图。
附图标记说明如下:
11引擎网关模块、12流量切分模块、13召回模块、14排序模块、141特征组合模块、142评分模块、15日志模块、2推荐引擎数据库、21线上关系数据库、22线上高性能KV库、23日志系统、24离线库、3推荐引擎配置后台、31场景登记模块、32流量分配模块、33模型管理模块、34默认管理模块、35离线数据同步模块、36在线计算结果同步模块、37查询模块、38训练及分析模块。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明实施例的核心构思之一在于,获取到用户推荐请求,通过人机交互接口传入推荐引擎服务模块,将请求中所包含参数传入推荐引擎服务模块中,通过推荐引擎服务模块计算、召回和排序,最终向用户推荐。其中,推荐引擎服务模块包括引擎网关模块、流量切分模块、召回模块及排序模块。
参照图1,示出了本发明的一种推荐流程优化方法实施例的步骤流程图,具体可以包括如下步骤:
S1、获取包括第一参数的用户推荐请求;
S2、根据获取到的所述第一参数,通过预设的推荐引擎生成第二参数,以及将用户划分到预设的流量桶,获得与所述用户对应的模型ID;
S3、根据第二参数配置召回策略;以及根据所述用户推荐请求,调用与所述召回策略对应的计算引擎,并生成第三参数;
S4、通过预设机制,对所述第三参数进行处理,获得排序后的推荐结果数据,将所述排序后的推荐结果数据返回给所述用户。
S1步骤,获取包括第一参数的用户推荐请求,并将推荐请求中所包含的用户参数用于流量分流;通过对所获取的推荐请求中的数据配置一个与调用方同步应用场景,并通过加入网关功能,通过各步骤运行所需占用总流量比例均衡,以分流设置的方式保证后续各步骤的正常运行;第一参数包括:请求ID(request_id)、第一场景ID(scene_id)、用户标识(user_id)、需要推荐的产品数(back_item_num)和/或推荐产品的候选集合(List_items)和/或当前用户所在的产品场景(item_id)和/或当前所在的资讯ID(content_id)。
S2步骤,根据获取到的所述第一参数,通过预置算法生成第二参数,并将用户划分到预设的流量桶,获得与所述用户对应的模型ID;具体如图2所示S21-S24步骤流程:
S21、通过预设的推荐引擎,配置一个包括场景信息的第二参数,其中,所述第二场景ID与所述第一参数中的场景ID同步;
S22、通过哈希函数(Base HashKey),对所述用户标识(user_id)与所述第二场景ID进行哈希运算,得到哈希值(Hash value),并获得模型ID,其中,哈希函数(BaseHashKey)是第二场景ID(scene_id)以及时间戳(timestamp)的组合,哈希函数(BaseHashKey)根据用户推荐请求中的用户标识(user_id),生成与该用户对应的新的哈希值(Hash value),哈希值(Hash value)通过取模100运算(MOD100),使哈希值(Hash value)的取值为0-99之间的数字(取值范围包括0、99);
S23、通过所述预设的推荐引擎,对AB桶的分流设置,推荐引擎设置在预先建好的服务器平台中;可以根据所述哈希值(Hash value)判断所述用户对应的流量桶;
S24、根据所述用户对应的流量桶,查询用户推荐请求对应的模型ID。为保证在同一次实验中,同一用户的前后体验的一致性,则需要保证上述步骤中分流设置的稳定性,因而本步骤所涉及的哈希函数(Base HashKey)在生成后应保持不变。同时,为应对在同一个位置的前后多次实验而不产生干涉,即上述步骤中的分流设置不会发生变化,则需要通过机制更新本步骤中的哈希函数(Base HashKey)。
S3步骤,根据第二参数配置召回策略;以及根据所述用户推荐请求,调用与所述召回策略对应的计算引擎,并生成第三参数;根据所述第二场景ID,配置包括热点召回的召回策略,通过召回策略,获得包含推荐列表(ItemList)的返回结果,并将返回结果和参数数据传递给后续步骤;根据所述用户推荐请求,调用与所述召回策略对应的计算引擎,并生成第三参数,所述第三参数为:包含召回来源信息和召回产品列表的推荐返回结果;其中,召回包括静态召回和动态召回,对第二场景ID的相关配置,常见的召回策略包括热点召回、u2i召回、i2i召回以及s2i召回等,不同的召回策略所采用到的参数也不相同,无论上述的何种召回策略,所得到的返回结果中携带召回推荐产品列表(ItemList)和本步骤初期所获取的参数一并传输到下一步骤。
S4步骤,通过预设机制,对所述第三参数进行处理,获得排序后的推荐结果数据,将所述排序后的推荐结果数据返回给所述用户,包括如图3所示的步骤流程:
S41、根据第三参数,从预设的数据库中获取用户信息(user_profile)、场景信息(scene_profile)、每个产品(item)对应的产品信息(item_profile)特征,并拼接成预设数据格式的特征集合,其中,数据库预先安装在服务器平台中;
S42、按照所述模型ID运行模型,并通过预设的评分机制,对所述特征集合中的信息进行评分;
S43、按照分数高低对所述第三参数进行排序,获得包括所述推荐结果数据的精排数据,将所述精排后的推荐结果数据返回给所述用户,还可以通过以下步骤对精排后的精据,进行重排再返回给用户;
S44、将所述精排数据,按照预设的打散策略进行重排,获得重排后的推荐结果数据,其中,所述打散策略为,通过所述召回策略召回的产品,进行分别排序后的混排,或对不同类目下的产品进行混排,其中,所述打散策略为,根据通过召回策略召回的产品,进行分别排序后的混排,或对不同类目下的产品进行混排。打散策略一般是对不同召回策略来的产品(item),进行分别排序后的混排,或者是对不同类目下的产品(item),进行混排。将重排后的推荐结果数据返回给所述用户,重排的目的是避免一次推荐中,只展示一类与用户当前状态最相关的产品,扩大用户的可探索范围,提高用户体验。
在S42步骤排序评分时,通过日志功能保存所有拼接好的特征;特征数据与用户曝光点击数据结合,可以直接进行模型的可以直接进行模型的更新与迭代。另外模型评分后的结果,会通过日志保存,供后续进行模型部署的调试。
本方案中所述流量桶以及AB桶的分流设置,是通过预先设置在服务器中的ABTest平台,用于管理每个AB需求,以及根据用户设备信息、用户信息进行AB分流设置。
另一实施例中,公开了一种推荐流程优化方法,包括:
获取用户的推荐请求,并将推荐请求中所包含的用户参数传递给下一步骤;其中,该推荐请求的信息中包含了用于定位的请求ID(request_id)、用于标识当次请求的调用方及调用场景的第一场景ID(scene_id)、用户标识(user_id)以及需要推荐的产品数(back_item_num),在获取用户的推荐请求的初期阶段,还可能需要产品候选集合(List_items),在个别情况下还需要在推荐请求中包含当前用户所在的产品场景(item_id),例如,包含当前用户所在的产品场景(item_id),可形成付款完成页的推荐;另外,例如,在涉及资讯方面的推荐时,推荐请求信息中还得包含当前所在的资讯ID(content_id)。
通过对所获取的推荐请求中的数据配置一个与调用方同步应用的第二场景,并通过加入网关功能,实现对整个推荐引擎服务的分流设置,通过各步骤运行所需占用总流量比例均衡,以分流设置的方式保证后续各步骤的正常运行。
根据参数中的第二场景ID和用户标识,使用哈希函数(Base HashKey)对模型ID进行哈希运算,并将模型ID以及对应的数据作为参数数据传递给下一步骤,用于召回;为保证在同一次实验中,同一用户的前后体验的一致性,则需要保证上述步骤中分流设置的稳定性,因而本步骤所涉及的BaseHashKey在生成后应保持不变。同时,为应对在同一个位置的前后多次实验而不产生干涉,即上述步骤中的分流设置不会发生变化,则需要通过机制更新本步骤中的Base HashKey,具体的:
Base HashKey加上推荐请求中的用户标识(user_id),产生针对该用户的hashvalue;通常,所得到hash value通过mod100,取值在0-99之间;
进一步地,在本步骤中,通过前一步骤的分流设置以及本步骤中生成的hashvalue,以此判断出当前用户的所对应的流量桶;
根据所判断的流量桶,在后台管理数据库中查询到当前场景下与用户标识对应的模型ID;进而将所得的模型ID和上一步骤发送来的推荐请求中所包含的请求ID、第二场景ID、用户标识、产品数、以及产品候选集合、产品场景和资讯ID一并发送至下一步骤。
通过预置的召回策略,获得包含推荐列表(ItemList)的返回结果,并将返回结果和参数数据用于排序;
对第二场景ID的相关配置,常见的召回策略包括热点召回、u2i召回、i2i召回以及s2i召回等,不同的召回策略所采用到的参数也不相同,具体的:
其一,静态召回,比如热点召回、s2i召回和i2i召回,可直接采用场景ID,用户标识和产品场景,然后读取数据库即可,该类召回策略的集合是通过离线进行数据统计加工后,直接将结果写入线上数据库内,其结构为:
{hot:[item1,item2,item3...],scene1:[item7,item8,item15,...],item1:[item10;item15,item70,...],item2:[item6,item17...]};
其二,动态召回,通过用户标识,获取到多个当前用户所在的产品场景,其中,配置u2t,t2i时,首先构建tag体系,通过离线计算的方式,进而构建tag-item之间的倒排表;根据该用户标识下的最近操作行为,可动态的生成该用户与多个tag之间的关系,再在倒排表中查询每个tag对应的item;其中,用户标识的最近操作行为是根据上述S1步骤中,加入网关功能后,会将网关输入和输出的结果、以及对应的时间戳,通过异步方式进行日志记录得到的。
另一实施例中,动态召回为基于向量动态查找时,通过离线构造用户和item之间的向量表达后,在线查找其中最近的向量,通常,需要用到的功能库为Facebook的FAISS库,可以以毫秒级别实现在千万数据中的围绕其中一个数据查找到数百个最近邻的数据;
最终,无论上述的何种召回策略,所得到的返回结果中携带召回推荐产品列表(ItemList)和S3步骤中所获取的参数一并传输到下一步骤。
在S4步骤中,通过评分功能对返回结果进行评分,将返回结果按照分数高低进行排序,对排序后的返回结果再进行混排;具体如下:
评分功能,由采用获取参数中的用户标识、第二场景ID、产品场景以及产品列表,从数据库中获取用户信息(user_profile)、场景信息(scene_profile)和每个产品(item)对应的产品信息(item_profile)特征构成;
在评分时,获取所传输的特征集合,按照上述获取的模型ID,对运行模型进行评分;
对每个用户标识、场景ID、产品场景进行评分后,按照从高到低的排列方式将返回结果进行排列;
按评分高低排列的返回结果再一次按照打散策略进行重排或者混排,避免一次评分排序后,只向用户推荐一类与用户当前状态最相关的产品,以此扩大用户的可选范围,进而提高用户体验,其中,打散策略一般是对不同召回策略所得的每项返回结果进行分别排序后再混排,或者是对不同类目的每项返回结果进行混排。
根据上述排序方法,将所得的返回结果排序后返回给用户。
与此同时,排序过程中的评分阶段是所有拼接好的特征同步反馈给推荐引擎服务,进行日志记录,结合用户曝光点击数据,从而实现整个模型的更新和迭代,另外模型评分后的结果,也会进行日志记录,以便进行模型部署的和调试。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图4,示出了本发明的一种推荐流程优化实施例的结构框图,具体可以包括:
引擎网关模块11用于获取业务方的推荐请求。请求中必须包含的字段包括,用于定位一次请求的请求ID(request_id),标示当次请求的调用方及调用场景的场景ID(scene_id),被推荐的用户标识(user_id),以及需要返回的推荐产品(item)个数。在推荐引擎初期,可能还需要一个可选参数,是推荐产品(item)的候选集合,通过接口传入推荐引擎。另外,个别情况下,也需要在输入参数中输入一个产品场景(item_id)。比如资讯详情网站页面的推荐,还需要输入当前资讯id;付款完成页推荐,也可输入购买产品的场景ID(item_id),即产品陈列展示销售页面的场景ID。
获取从排序模块14返回推荐的结果。其中,必传的字段包含请求的请求ID(request_id),带顺序的多个推荐产品(item)。
引擎网关模块11处理推荐请求后,将请求推荐参数的请求ID(request_id)、场景ID(scene_id),用户标识(user_id),需要推荐的产品数(back_item_num)、产品候选集合(List_items),当前用户所在的产品场景(item_id)、当前所在的资讯id(content_id)传递得到流量切分模块12。
引擎网关模块11加入普通网关功能,包括验签、流量控制等;引擎网关模块11通过异步方式将日志信息传递给日志模块15,具体为:将网关输入和输出结果,及对应的时间戳,通过异步方式进行日志记录。方便推荐引擎的优化分析,与外部系统间的问题排查。
流量切分模块12用于根据场景,将当前用户划分至预设的流量桶,并按照配置获取模型ID,其中,在推荐运营管理配置一个场景包括:产生的场景ID,与调用方同步场景ID;在流量切分模块12产生对应该场景的哈希函数(Base HashKey)。因为我们希望在一次实验中,能保证同一个用户前后体验的一致性,所以需要保证分桶的稳定性,所以哈希函数(BaseHashKey)生成后需要保持不变;但是同时我们希望能够在同一个位置的前后多个实验中,不要发生前后的干涉,所以需要能够通过机制更新这个HashKey。常用的是哈希函数(Base HashKey),是场景ID(scene_id)和时间戳(timestamp)的组合。Base HashKey加上请求中的用户标识(user_id),可以产生新的针对该用户的哈希值(hash value),这个hashvalue一般通过mod 100,可以取为一个0-99的数字;根据推荐引擎运营管理对AB桶的分流设置,以及新的hash value,可以判断当前用户对应的流量桶。根据用户的流量桶,可以在后管数据库中查询得到当前场景下,该请求对应的模型ID。
具体的:推荐引擎数据库2的线上关系库21获取推荐引擎配置后台3的场景登记模块31、流量分配模块32、模型管理模块33以及默认管理模块34提供的参数数据;线上关系库21将参数数据同步到线上高性能KV库22;流量切分模块12从推荐引擎数据库2的线上关系库21中获取相应的参数数据,并将场景ID(scene_id)与用户标识(user_id)进行哈希(hash)运算后,获取模型ID,然后将参数传递给召回模块13,参数包括:请求ID(request_id)、场景ID(scene_id),用户标识(user_id),需要推荐的产品数(back_item_num)、产品候选集合(List_items),当前用户所在的产品场景(item_id)、当前所在的资讯ID(content_id)、模型ID(modle_id)传递给召回模块13。
召回模块13,用于当候选产品(item)列表为空时,访问数据库获取候选产品(item)列表;其中,在推荐运营管理平台对一个场景ID(scene_id)进行配置,配置可选的多种召回策略。常见的召回策略包括热点召回,u2i召回(根据用户召回item),i2i召回(根据item召回item),s2i召回(根据场景召回item)。
当在请求到来时,召回模块13根据配置的召回策略,调用各个召回策略对应的计算引擎。对于静态召回,例如:热点召回,s2i召回和i2i召回,这类召回集合是通过离线进行数据统计加工后,直接将结果写入线上数据库内的。其数据结构类似:{hot:[item1,item2,item3...],scene1:[item7,item8,item15,...],item1:[item10;item15,item70,...],item2:[item6,item17...]}。针对这类静态召回,直接使用输入参数中的user_id,scene_id,item_id,读取数据库即可。u2i也可以通过静态的方式来做。
对于动态召回,一般是通过用户标识(user_id),获取一系列产品场景(item_id)。方法主要有两种:一种是u2t,t2i;t2i是首先构造tag体系(标签体系),并通过离线计算的方式,构建tag-item(标签——产品)之间的倒排表。u2t通过用户最近的操作行为,动态生成user(用户)和多个tag(标签)之间的关系,再动态的查询每个tag对应的item列表;另一种是基于向量动态查找:是通过离线构造user和item的向量表达,在线只负责查找最近若干向量。最流行的功能库是facebook(脸书)的FAISS库。毫秒级别实现千万数据中的数百最近邻查找。具体召回处理操作为:召回模块13进行处理召回策略处理后,得到召回的产品列表(itemlist)作为参数传递给排序模块14,请求的参数包括请求ID(request_id)、场景ID(scene_id),用户标识(user_id),需要推荐的产品数(back_item_num)、产品候选集合(List_items),当前用户所在的产品场景(item_id)、当前所在的资讯id(content_id)、模型ID(modle_id)、召回推荐产品列表(itemlist)。
各个召回策略的返回结果与召回来源,一起传递到排序模块14。
排序模块14获取模型ID(modle_id)及用户标识(user_id),场景ID(scene_id),召回产品(item)列表到相应的模型推荐进行推荐排序,具体包括:特征组合模块141以及评分模块142;推荐引擎配置后台3通过外部系统的离线数据同步模块35和在线计算结果同步模块36,将离线数据库的数据和在线计算结果数据同步传递到推荐引擎数据库2的线上高性能KV库22;特征组合模块141获取由推荐引擎数据库2的线上高性能KV库22传递的参数数据,通过用户标识(user_id)、场景ID(scene_id)、产品场景(item_id)获取每个id对应的特征向量;评分模块142,根据特征模块的特征向量和模型ID,通过评分引擎对返回结果进行评分;具体的:根据召回模块13传入的user_id,scene_id,item_id列表。从数据库中获取user_profile,scene_profile,每个item对应的item_profile特征,拼接成评分模块142可以消费的数据格式。评分模块142获取传入的特征集合,按前面获取到的模型id,运行模型进行评分。对每个<user_id,scene_id,item_id>进行评分后,按照分数高低进行排序。上述过程称为:精排。
在对精排后的数据,按照后管系统配置的打散策略,进行重排。打散策略一般是对不同召回策略来的item,进行分别排序后的混排,或者是对不同类目下的item,进行混排。混排的目的是避免一次推荐中,只展示一类与用户当前状态最相关的产品,扩大用户的可探索范围,提高用户体验。
排序模块14对日志方面主要是进入评分模块142时,所有拼接好的特征需要保存。这部分数据与用户曝光点击数据结合,可以直接进行模型的更新与迭代。另外模型评分后的结果,会保持存下后,可以进行模型部署的调试。
排序模块14将模块推荐的item列表给引擎网关,以提供给用户;并且将日志信息异步传递给日志模块15。
评分模块142具体可以包括:openscoring开放评分服务,以及通过TF-Serving布署模型。
另一实施例中,日志模块15记录输入参数、特征向量、模型评分结果,供离线匹配用户行为进行模型训练;日志模块15将日志数据通过异步方式传递给推荐引擎数据库2的日志系统23,日志系统可连接在外部系统,让外部系统的查询模块37进行线上日志查询以及排查异常使用。
日志模块15将记录的数据通过异步方式传递给推荐引擎数据库2的离线库24,用于外部系统的训练及分析模块38,以提给供模型训练以及数据分析使用。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种推荐流程优化方法和一种推荐流程优化装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种推荐流程优化方法,其特征在于,包括:
获取包括第一参数的用户推荐请求;
根据获取到的所述第一参数,通过预设的推荐引擎生成第二参数,以及将用户划分到预设的流量桶,获得与所述用户对应的模型ID;
根据第二参数配置召回策略;以及根据所述用户推荐请求,调用与所述召回策略对应的计算引擎,并生成第三参数;
通过预设机制,对所述第三参数进行处理,获得排序后的推荐结果数据,将所述排序后的推荐结果数据返回给所述用户。
2.根据权利要求1所述的方法,其特征在于,所述第一参数包括:
请求ID、第一场景ID、用户标识、需要推荐的产品数和/或推荐产品的候选集合和/或当前用户所在的产品场景和/或当前所在的资讯ID。
3.根据权利要求2所述的方法,其特征在于,所述根据获取到的所述第一参数,通过预设的推荐引擎生成第二参数,以及将用户划分到预设的流量桶,获得与所述用户对应的模型ID,包括:
通过预设的推荐引擎,配置包括第二场景ID的第二参数,其中,所述第二场景ID与所述第一场景ID同步;
通过哈希函数,对所述用户标识与所述第二场景ID进行哈希运算,得到哈希值,并获得模型ID;
通过所述预设的推荐引擎,对AB桶的分流设置;根据所述哈希值判断所述用户对应的流量桶;
根据所述用户对应的流量桶,查询用户推荐请求对应的模型ID。
4.根据权利要求3所述的方法,其特征在于,所述根据第二参数配置召回策略,以及根据所述用户推荐请求,调用与所述召回策略对应的计算引擎,并生成第三参数,包括:
根据所述第二场景ID,配置包括热点召回的召回策略,其中,热点召回包括:根据用户召回产品的u2i召回、根据产品召回产品的i2i召回、根据场景召回产品的s2i召回;
根据所述用户推荐请求,调用与所述召回策略对应的计算引擎,并生成第三参数,其中,所述第三参数为:包含召回来源信息和召回产品列表的推荐返回结果。
5.根据权利要求4所述的方法,其特征在于,所述通过预设机制,对所述第三参数进行处理,获得排序后的推荐结果数据,包括:
根据所述第三参数,从预设的数据库中获取用户信息、场景信息、每个产品对应的产品信息特征,并拼接成预设数据格式的特征集合;
按照所述模型ID运行模型,并通过预设的评分机制,对所述特征集合中的信息进行评分;
按照分数高低对所述第三参数进行排序,获得包括所述推荐结果数据的精排数据。
6.根据权利要求5所述的方法,其特征在于,所述通过预设机制,按照分数高低对所述第三参数进行排序,获得包括所述推荐结果数据的精排数据之后,还包括:
将所述精排数据,按照预设的打散策略进行重排,获得重排后的推荐结果数据,其中,所述打散策略为,通过所述召回策略召回的产品,进行分别排序后的混排,或对不同类目下的产品进行混排。
7.根据权利要求5所述的方法,其特征在于,所述推荐结果数据,至少包括:所述用户推荐请求的所述请求ID以及含有顺序的至少一个推荐产品。
8.一种推荐流程优化装置,其特征在于,包括:
引擎网关模块,用于获取包括第一参数的用户推荐请求;
流量切分模块,用于根据获取到的所述第一参数,通过预设的推荐引擎生成第二参数,以及将用户划分到预设的流量桶,获得与所述用户对应的模型ID;
召回模块,用于根据第二参数配置召回策略;以及根据所述用户推荐请求,调用与所述召回策略对应的计算引擎,并生成第三参数;
排序模块,用于通过预设机制,对所述第三参数进行处理,获得排序后的推荐结果数据,将所述排序后的推荐结果数据返回给所述用户。
9.电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项推荐流程优化方法的步骤。
10.计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项推荐流程优化方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010790843.1A CN111914175A (zh) | 2020-08-07 | 2020-08-07 | 一种推荐流程优化方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010790843.1A CN111914175A (zh) | 2020-08-07 | 2020-08-07 | 一种推荐流程优化方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111914175A true CN111914175A (zh) | 2020-11-10 |
Family
ID=73283719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010790843.1A Pending CN111914175A (zh) | 2020-08-07 | 2020-08-07 | 一种推荐流程优化方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111914175A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112948699A (zh) * | 2021-04-14 | 2021-06-11 | 上海明略人工智能(集团)有限公司 | 一种人群定向推荐方法、系统、电子设备及存储介质 |
CN113065071A (zh) * | 2021-04-30 | 2021-07-02 | 中国平安人寿保险股份有限公司 | 一种产品信息推荐方法及计算机设备 |
CN113704624A (zh) * | 2021-08-31 | 2021-11-26 | 中国平安人寿保险股份有限公司 | 基于用户分流的策略推荐方法、装置、设备及介质 |
CN114039919A (zh) * | 2021-11-08 | 2022-02-11 | 杭州网易云音乐科技有限公司 | 流量调度方法、介质、装置和计算设备 |
CN114969486A (zh) * | 2022-08-02 | 2022-08-30 | 平安科技(深圳)有限公司 | 语料推荐方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110069714A (zh) * | 2019-04-25 | 2019-07-30 | 北京酷我科技有限公司 | 一种视频推荐系统 |
CN110097412A (zh) * | 2018-01-31 | 2019-08-06 | 阿里巴巴集团控股有限公司 | 物品推荐方法、装置、设备以及存储介质 |
CN110442796A (zh) * | 2019-08-14 | 2019-11-12 | 北京思维造物信息科技股份有限公司 | 一种推荐策略分桶方法、装置及设备 |
CN111008263A (zh) * | 2019-11-29 | 2020-04-14 | 支付宝(杭州)信息技术有限公司 | 问答匹配模型的更新方法和装置 |
CN111339433A (zh) * | 2020-05-21 | 2020-06-26 | 腾讯科技(深圳)有限公司 | 基于人工智能的信息推荐方法、装置、电子设备 |
-
2020
- 2020-08-07 CN CN202010790843.1A patent/CN111914175A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110097412A (zh) * | 2018-01-31 | 2019-08-06 | 阿里巴巴集团控股有限公司 | 物品推荐方法、装置、设备以及存储介质 |
CN110069714A (zh) * | 2019-04-25 | 2019-07-30 | 北京酷我科技有限公司 | 一种视频推荐系统 |
CN110442796A (zh) * | 2019-08-14 | 2019-11-12 | 北京思维造物信息科技股份有限公司 | 一种推荐策略分桶方法、装置及设备 |
CN111008263A (zh) * | 2019-11-29 | 2020-04-14 | 支付宝(杭州)信息技术有限公司 | 问答匹配模型的更新方法和装置 |
CN111339433A (zh) * | 2020-05-21 | 2020-06-26 | 腾讯科技(深圳)有限公司 | 基于人工智能的信息推荐方法、装置、电子设备 |
Non-Patent Citations (1)
Title |
---|
D0EVI1: "《浅谈分桶测试》", 《HTTP://D0EVI1.COM/BUCKETTEST/》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112948699A (zh) * | 2021-04-14 | 2021-06-11 | 上海明略人工智能(集团)有限公司 | 一种人群定向推荐方法、系统、电子设备及存储介质 |
CN113065071A (zh) * | 2021-04-30 | 2021-07-02 | 中国平安人寿保险股份有限公司 | 一种产品信息推荐方法及计算机设备 |
CN113065071B (zh) * | 2021-04-30 | 2023-07-25 | 中国平安人寿保险股份有限公司 | 一种产品信息推荐方法及计算机设备 |
CN113704624A (zh) * | 2021-08-31 | 2021-11-26 | 中国平安人寿保险股份有限公司 | 基于用户分流的策略推荐方法、装置、设备及介质 |
CN113704624B (zh) * | 2021-08-31 | 2023-08-22 | 中国平安人寿保险股份有限公司 | 基于用户分流的策略推荐方法、装置、设备及介质 |
CN114039919A (zh) * | 2021-11-08 | 2022-02-11 | 杭州网易云音乐科技有限公司 | 流量调度方法、介质、装置和计算设备 |
CN114969486A (zh) * | 2022-08-02 | 2022-08-30 | 平安科技(深圳)有限公司 | 语料推荐方法、装置、设备及存储介质 |
CN114969486B (zh) * | 2022-08-02 | 2022-11-04 | 平安科技(深圳)有限公司 | 语料推荐方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111914175A (zh) | 一种推荐流程优化方法、装置、设备及介质 | |
CN101385017B (zh) | 部分项改变跟踪和同步 | |
CN110188910B (zh) | 利用机器学习模型提供在线预测服务的方法及系统 | |
CN101796795B (zh) | 分布式系统 | |
CN112241506B (zh) | 用户行为的回溯方法、装置、设备及系统 | |
CN103106585A (zh) | 产品信息的实时去重方法和装置 | |
CN109657128A (zh) | 数据查询方法、装置及存储介质 | |
CN107193607A (zh) | 用于更新代码文件的方法和装置、存储介质、处理器以及终端 | |
CN105302925A (zh) | 推送语音搜索数据的方法和装置 | |
CN113505265B (zh) | 数据的查询方法、装置及电子设备、存储介质、程序产品 | |
CN109598171A (zh) | 一种基于二维码的数据处理方法、装置及系统 | |
US11194869B2 (en) | Method and apparatus for enriching metadata via a network | |
CN114298739B (zh) | 应用于数据管理平台的数据处理方法、装置、设备和介质 | |
CN115495658A (zh) | 一种数据处理方法和装置 | |
CN111966506B (zh) | 基于不同应用程序的内容分享方法和计算机设备 | |
CN116107801A (zh) | 交易处理方法及相关产品 | |
CN111158654A (zh) | 算法调用方法、装置、服务器及存储介质 | |
CN113010775A (zh) | 信息推荐方法、装置和计算机设备 | |
US20160012084A1 (en) | Accessibility advisement system for digital assets | |
US20230101955A1 (en) | Reuse of machine learning models | |
CN112990979B (zh) | 数据处理方法及装置 | |
CN112417259A (zh) | 媒体资源的处理方法、装置、设备及存储介质 | |
CN110647653A (zh) | 歌曲推荐方法、装置及计算机存储介质 | |
CN113744066B (zh) | 信息推送方法及装置 | |
CN110149410A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201110 |
|
RJ01 | Rejection of invention patent application after publication |