推荐方法、推荐系统及存储介质
文献发布时间:2023-06-19 12:05:39
技术领域
本申请涉及数据处理技术领域,尤其涉及一种推荐方法、推荐系统及存储介质。
背景技术
相关技术中,不同的推荐场景、不同的用户需求以及数据的复杂性要求需要不同的推荐策略,使得推荐系统不能及时载入新的推荐策略,并且减弱了推荐系统的可维护性。
发明内容
有鉴于此,本申请实施例提供一种推荐方法、推荐系统及存储介质,以至少解决相关技术出现的推荐系统不能及时更新推荐策略的问题。
本申请实施例的技术方案是这样实现的:
本申请实施例提供了一种推荐系统,包括应用层、基础层和核心层;
所述核心层,用于对设定对象进行抽象;所述设定对象至少包括推荐流程;
所述应用层,用于根据接入的第一业务继承所述核心层抽象出的设定对象;
所述基础层,包括算法配置模块和数据处理模块;所述算法配置模块用于在满足设定条件的情况下对推荐算法的至少一个第一算子配置文件进行更新;所述数据处理模块用于基于所述应用层对设定对象的继承,调用推荐算法进行数据处理,得到所述第一业务对应的推荐结果。
上述方案中,所述算法配置模块用于:
每隔第一周期,从设定源中拉取推荐算法的第二算子配置文件;所述第二算子配置文件为对应的第一算子配置文件的更新文件;
在对应的第一算子配置文件与所述第二算子配置文件不相同的情况下,根据所述第二算子配置文件,更新对应的第一算子配置文件。
上述方案中,所述算法配置模块用于:
在对应的第一算子配置文件与所述第二算子配置文件不相同的情况下,对所述第二算子配置文件进行设定校验,并在所述设定校验通过的情况下,根据所述第二算子配置文件,更新对应的第一算子配置文件。
上述方案中,所述算法配置模块基于以下至少一项进行所述设定校验:
所述第二算子配置文件的类名、类型和参数。
上述方案中,所述算法配置模块用于:
在存在至少两个第一算子配置文件需要进行更新的情况下,对所述至少两个第一算子配置文件中每个第一算子配置文件对应的第二算子配置文件进行预提交,并在对应的所有第二算子配置文件预提交完毕后,对所述至少两个第一算子配置文件进行更新。
上述方案中,所述设定对象还包括数据接口、数据接口所需的数据。
上述方案中,所述数据处理模块包括召回单元、精排单元、重排单元;
所述召回单元用于根据所述算法配置模块中的推荐算法,生成第一数据列表;所述第一数据列表表征推荐数据的候选集;
所述精排单元用于根据所述算法配置模块中的推荐算法配置的精排模型,对所述第一数据列表中的数据进行排序,生成第二数据列表;
所述重排单元用于根据所述算法配置模块中的推荐算法配置的重排规则,对所述第二数据列表中的数据进行排序,生成所述第一业务对应的推荐结果。
上述方案中,所述基础层还包括接口管理模块,用于从设定服务器中获取所述第一业务对应的历史推荐结果。
本申请实施例还提供了一种推荐方法,应用于推荐系统,包括:
基于核心层对设定对象进行抽象;所述设定对象至少包括推荐流程;
通过应用层,根据接入的第一业务继承所述核心层抽象出的设定对象;
在满足设定条件的情况下,基于基础层的算法配置模块对推荐算法的至少一个第一算子配置文件进行更新;
通过基础层的数据处理模块,基于应用层对设定对象的继承,调用推荐算法进行数据处理,得到所述第一业务对应的推荐结果。
本申请实施例还提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现应用于上述推荐系统上的方法步骤。
在上述实施例中,推荐系统包括应用层、基础层和核心层,其中,核心层用于对设定对象进行抽象,从而能够降低代码的冗余度,提高了推荐系统的稳定性,应用层用于根据接入的第一业务继承核心层抽象出的设定对象,从而能够提高推荐系统的可拓展性,基础层包括算法配置模块与数据处理模块,算法配置模块用于在满足设定条件下对推荐算法的至少一个算子配置文件进行更新,提升了推荐系统的推荐算法的迭代效率,数据处理模块用于实现推荐过程中的数据处理并得到推荐结果,使得推荐系统可以统一架构设计,抽象公用模块,支撑数据的处理。
附图说明
图1为本申请一实施例提供的推荐系统的结构示意图;
图2为本申请又一实施例提供的推荐系统的结构示意图;
图3为本申请一实施例提供的算法配置模块更新推荐算法的算子配置文件的流程示意图;
图4为本申请一实施例提供的推荐系统的结构示意图;
图5为本申请一实施例提供的召回单元进行数据召回的流程示意图;
图6为本申请一实施例提供的推荐系统的结构示意图;
图7为本申请一实施例提供的应用层处理推荐请求的流程示意图;
图8为本申请一实施例提供的应用于推荐系统的推荐方法的流程示意图。
具体实施方式
下面结合附图及具体实施例对本申请作进一步详细的说明。
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
需要说明的是,本申请实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
另外,在本申请实施例中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
在对本申请实施例的技术方案进行详细说明之前,首先对相关技术中推荐系统进行简单说明。
相关技术中,推荐系统能够根据用户的行为和兴趣特点,按照一定的推荐策略,快速确定用户感兴趣的信息,从而能够将用户与用户所需要的信息建立精准连接,提高了用户的满意度。随着业务的增长,用户的个性化需求、场景的多样性、数据的复杂性都对推荐系统提出了更高的需求,新增的推荐场景以及推荐策略也随之增加,而推荐系统而言中配置的算法是固定的,当需要更改推荐系统配置的推荐算法以实现更复杂的场景推荐的时候,需要手动更新推荐系统的推荐算法配置文件,无法实现无感知更新。基于此,本申请提出了一种推荐系统,如图1所示,图1的推荐系统能够提升系统的稳定性与可维护性,并且还能够实现对推荐系统已配置的推荐算法进行更新,从而提高了推荐算法的迭代效率。
下面结合附图及具体实施例对本申请作进一步详细的说明。
本申请实施例提供了一种推荐系统10,图1为本申请实施例的推荐系统10的一种结构示意图。如图1所示,所述推荐系统10包括应用层101、基础层102和核心层103。
核心层103用于对设定对象进行抽象,其中,设定对象可以为推荐流程,核心层103将通用的推荐流程进行抽象,抽象出推荐流程的共用部分,从而可以降低代码的冗余度,提升了推荐系统的稳定性和可维护性,其中,推荐流程包括查询缓存、创建召回key、召回、过滤合并、精排、重排以及返回推荐结果前处理。应用层101用于根据接入的第一业务继承核心层103抽象出的设定对象,从而应用层101在获取推荐结果的时候,应用层101可以通过对应的功能接口与继承核心层103抽象出的设定对象,实现具体的业务逻辑,在不需要关注底层的推荐逻辑的情况下,也可以完成接入的第一业务相应的推荐流程并得到推荐结果。在实际应用中,应用层101可以实现不同的第一业务接入到推荐系统10中,示例地,应用层101接入的第一业务可以为音乐软件下的推荐业务,也可以为社交软件下的推荐业务等,从而能够高效的适配不同场景的推荐业务,提高了推荐系统10的可拓展性。基础层102包括算法配置模块1021与数据处理模块1022,其中,算法配置模块1021能够对推荐算法的第一算子配置文件进行监听,从而能够在满足设定条件的情况下对推荐算法的至少一个第一算子配置文件进行更新,能够通过实时更新推荐系统的推荐算法的配置文件并修改推荐策略,提高了推荐算法的迭代效率。在实际应用中,通过更新推荐系统10的推荐算法的配置,并进行相应的AB测试,能够确定更新的推荐算法是否能够得到与用户需求匹配度高的推荐结果,从而提高了推荐系统10的推荐效果,如图2所示,图2示出了推荐系统10的基础层102中含有AB测试模块201。数据处理模块1022用于实现推荐过程中的数据处理从而得到推荐结果。在实际应用中,应用层101能够继承核心层103抽象的设定对象,其中,设定对象包括推荐流程,从而数据处理模块1022能够根据接入的应用层101的第一业务,根据应用层101继承的推荐流程,调用推荐算法进行数据处理,例如,进行数据召回、精排、重排等数据处理流程,得到第一业务对应的推荐结果。
在一实施例中,所述算法配置模块1021用于每隔第一周期,从设定源中拉取推荐算法的第二算子配置文件;所述第二算子配置文件为对应的第一算子配置文件的更新文件;在对应的第一算子配置文件与所述第二算子配置文件不相同的情况下,根据所述第二算子配置文件,更新对应的第一算子配置文件。
这里,算法配置模块1021每个第一周期从设定源中拉取推荐算法的第二算子配置文件,其中,算子配置文件默认为XML的文件类型,设定源可以为ZooKeeper,ZooKeeper是一个分布式的、开放源码的分布式应用程序协调服务。算法配置模块1021从设定源中拉取的第二算子配置文件为对应的第一算子配置文件的更新文件,算子配置文件包括查询缓存的有效时间范围与缓存前缀;召回策略涉及的算法、来源、优先级与数量限制;合并过滤涉及的过滤策略、数量截断策略与自定义参数;精排前涉及的策略;精排涉及的模型来源、参数与特征;精排后涉及的策略;重排涉及的策略、标签与间隔数量;返回推荐结果前的最后处理逻辑,第二算子配置文件可以为其中的一项配置文件,第二算子配置文件可以为其中的一项的配置文件。当算法配置模块1021从设定源中拉取的第二算子配置文件与第一算子配文件不相同的情况下,说明推荐算法的配置文件发生了变化,从而根据第二算子配置文件更新第一算子配置文件,完成推荐算法的更新。在实际应用中,算法配置模块1021能够根据第一算子配置文件的MD5值与第二算子配置文件的MD5值进行配对校验,当第一算子配置文件的MD5值与第二算子配置文件的MD5值不相同,说明第一算子配置文件与第二算子配置文件不相同,需要对第一配置文件进行更新。算法配置模块1021能够完成推荐算法的配置文件的监听,并根据监听的情况进行更新通知,从而实现推荐系统10的推荐算法的动态更新。
在一实施例中,所述算法配置模块1021用于:
在对应的第一算子配置文件与所述第二算子配置文件不相同的情况下,对所述第二算子配置文件进行设定校验,并在所述设定校验通过的情况下,根据所述第二算子配置文件,更新对应的第一算子配置文件。
这里,算法配置模块1021在第一算子配置文件与第二算子配文件不相同的情况下,需要根据第二算子配置文件对第一配置文件进行更新,为了维护推荐系统的稳定性,在更新的过程中,算法配置模块1021会对第二算子配置文件进行设定校验,在实际应用中,算法配置模块1021会对第二算子配置文件进行解析,从而能够根据解析得到的第二算子配置文件进行设定校验,对第二算子配置文件进行设定校验是为了确定第二算子配置文件的安全性,当第二算子配置文件的设定校验通过,表明第二算子配置文件为合法的文件,进而根据第二算子配置文件更新对应的第一算子配置文件。当第二算子配置文件的设定校验不通过,表明第二算子配置文件为不合法的文件,存在一定的危险性,从而阻止第一配置文件的更新,并维持推荐算法原有的配置,进而能够保证推荐系统10的稳定性和安全性。
在一实施例中,所述算法配置模块1021基于以下至少一项进行所述设定校验:
所述第二算子配置文件的类名、类型和参数。
这里,算法配置模块1021在对第二算子配置文件进行设定校验的时候,可以对第二算子配置文件进行解析,根据解析得到的第二算子配置文件的类名、第二算子配置文件的类型以及第二算子配置文件的参数进行设定校验,从而能够判断算子是否为合法,进一步地维护了推荐系统10的稳定性,避免在进行第一业务的推荐的过程中出现错误。
在一实施例中,所述算法配置模块1021用于:
在存在至少两个第一算子配置文件需要进行更新的情况下,对所述至少两个第一算子配置文件中每个第一算子配置文件对应的第二算子配置文件进行预提交,并在对应的所有第二算子配置文件预提交完毕后,对所述至少两个第一算子配置文件进行更新。
这里,当存在至少两个第一算子配置文件需要进行更新,如果网络、服务器或者出现其他故障的时候,会导致部分第一算子配置文件完成更新,部分第一算子配置文件未能完成更新,造成第一算子配置文件与对应的第二算子配置文件不相同的现象,导致在使用推荐算法生成推荐结果的时候会出现错误。为了保证更新配置的一致性,在更新的过程中,首先对需要进行更新的至少两个第一算子配置文件中每个第一算子配置文件对应的第二算子配置文件进行预提交,并在所有第二算子配置文件预提交完毕之后,再对至少两个第一算子配置文件进行更新,确保了需要更新的第一算子配置文件能够同时完成更新,保证了第一算子配置文件更新的完整性与事务性。在实际应用中,可以将第一算子配置的更新情况上报到服务器中,从而可以对第一算子配置的更新情况进行监控。
请参见图3,图3示出了算法配置模块1021更新推荐算法的算子配置文件的流程示意图。
S301:每隔第一周期,从设定源中拉取推荐算法的第二算子配置文件。
S302:判断第二算子配置文件与第一算子配置文件是否相同。若第二算子配置文件与第一算子配置文件不相同,则跳转至S303;若第二算子配置文件与第一算子配置文件相同,则跳转至S310。
S303:判断第二算子配置文件是否解析完毕。若第二算子配置文件解析完毕,跳转至S305;所第二算子配置文件未完成解析,跳转至S304。
S304:判断第二算子配置文件是否合法,其中,可以根据第二算子配置文件的类名、类型和参数进行判断。若第二算子配置文件合法,则跳转至S303继续完成第二算子配置文件的解析。若第二算子配置文件不合法,则跳转至S310。
S305:对第二算子配置文件进行预提交。
S306:判断第二算子配置文件是否完成预提交。若第二算子配置文件预提交完毕,跳转至S309;若第二算子配置文件未完成预提交,跳转至S307。
S307:对未完成预提交的第二算子配置文件再次进行预提交。
S308:判断预提交是否成功。若预提交成功,跳转至S305;若预提交不成功,跳转至S310。
S309:更新第一算子配置文件。
S310:维持第一算子配置文件。
S311:上报第一算子配置文件的更新情况。
在一实施例中,所述设定对象还包括数据接口、数据接口所需的数据。
这里,核心层103还对数据接口进行抽象,其中,数据接口为推荐流程中所需要的数据接口,为推荐流程提供统一的数据接口。核心层103还可以对数据接口所需的数据进行抽象,其中,数据接口所需的数据可以为封装数据,从而根据统一的封装数据对需要传输的数据进行封装传输。核心层103进一步地对数据接口以及数据接口所需的数据进行抽象,能够进一步地降低代码冗余度,从而能够有利于推荐系统10的维护和提高推荐系统10的稳定性。
在一实施例中,如图4所示,所述数据处理模块1022包括召回单元401、精排单元402、重排单元403。
所述召回单元401用于根据所述算法配置模块1021中的推荐算法,生成第一数据列表;所述第一数据列表表征推荐数据的候选集。
这里,召回单元401用于根据算法配置模块1021中的推荐算法,进行数据召回,从而生成第一数据列表,其中第一数据列表中的数据是待推荐的数据。召回单元401能够实现数据召回、数据过滤、数据合并的通用实现。如图5所示,图5示出了召回单元401进行数据召回的流程示意图。召回单元401在生成第一数据列表时,根据算法配置模块1021中的推荐算法获取原始召回key,召回key解析器可以按照指定解析规则得到召回key列表,召回key解析器能够根据一个原始召回key获得不同规则下的实际召回key,根据得到的实际召回key并发从召回池中获取召回数据,召回池的来源包括通过远程字典服务(Redis,RemoteDictionary Server)召回的普通召回数据、通过Faiss召回的Embedding相似度召回数据、对于兜底数据对应的Hadoop分布式文件系统(HDFS,Hadoop Distributed File System)召回数据,其中,Faiss是一个高效的相似性搜索和密集向量聚类的开源库,Embedding主要用于召回阶段的数据表示学习,用于近邻查询,在线上根据用户的兴趣进行召回。在实际应用中,HDFS召回数据能够直接下载到内存中。召回单元401在生成不同的召回数据后,需要将召回数据合并为一个数据列表,其中,召回单元401首先根据召回数据的优先级的先后顺序将召回数据进行依次连接,同一优先级的召回数据根据蛇形合并的规则进行合并数据的连接,其中,蛇形合并是指将两路召回数据交错分布合并,这样能最大限度的融合相同优先级的召回数据。召回单元401还需要对合并的数据列表进行过滤,过滤的策略与过滤的数量是根据应用层101接入的第一业务对基础层102的推荐算法进行配置得到的,对合并的数据列表进行过滤后还需要进行截断操作从而生成第一数据列表,其中,截断的方式包括根据请求数量进行截断,或者,根据配置的固定数量进行截断,截断的方式是通过基础层102的推荐算法所配置的策略而确定的。召回单元401能够实现了多线程并发召回,从而实现单线程与多线程之间的切换,在此基础上实现了HDFS、Redis与Faiss等通用召回方案,并实现了过滤与蛇形合并的通用流程。
所述精排单元402用于根据所述算法配置模块1021中的推荐算法配置的精排模型,对所述第一数据列表中的数据进行排序,生成第二数据列表。
这里,精排单元402能够获取召回单元401生成的第一数据列表,根据算法配置模块1021中的推荐算法配置的精排模型,对第一数据列表中的数据重新排序,生成第二数据列表。在实际应用,精排单元402按照推荐算法配置的精排模型与格式包装远程精排请求参数,远程调用精排推荐服务对第一数据列表中的数据进行打分,其中,格式包装远程精排请求参数包括用户特征、从召回引擎模块返回的数据、精排上下文参数、模型版本、模型配置文件名称。当确定出第一数据列表中每条数据对应的精排分数,根据数据对应的精排分数进行倒序排序得到第二数据列表。
所述重排单元403用于根据所述算法配置模块1021中的推荐算法配置的重排规则,对所述第二数据列表中的数据进行排序,生成所述第一业务对应的推荐结果。
这里,重排单元403能够接收精排单元402输出的第二数据列表,根据算法配置模块1021中的推荐算法配置的重排规则,对第二数据列表中的数据进行重新排序,得到数据的最终排序结果,从而生成第一业务对应的推荐结果。在实际应用中,还可以根据算法配置模块1021的推荐算法的策略进一步地处理重排单元403得到的数据结果,通常为兜底、记录历史等操作,从而生成第一业务对应的推荐结果,其中,推荐结果为一个数据列表。
在一实施例中,如图6,所述基础层102还包括接口管理模块601,所述接口管理模块601还用于从设定服务器中获取所述第一业务对应的历史推荐结果。
这里,在基础层102处理应用层101接入的第一业务的推荐请求的过程中,接口管理模块601还可以从设定服务器中获取第一业务对应的历史推荐结果,将第一业务对应的历史推荐结果输出作为第一业务的推荐结果。在实际应用中,接口管理模块601可以通过确定算法配置模块1021的推荐算法中是否由配置缓存,如果存在配置缓存,接口管理模块601从设定服务器中获取第一业务对应的历史结果,如果不存在配置缓存,需要数据处理模块1022调用推荐算法进行相应的数据处理。在实际应用中,接口管理模块601还能够对应用层101接入的第一业务的推荐服务进行监控,根据监控的结果,在推荐服务出现异常时,接口管理模块601能够实现推荐服务的超时熔断以及推荐服务的降级,示例地,对于同一个第一业务而言,当存在多个用户发起推荐请求,推荐系统10的访问量会急剧增加,当推荐系统的负载超出了设定的上限阈值或者即将超出设定阈值的情况下,导致用户访问超时,在接口管理模块601通过对第一业务的推荐服务进行监控的过程中,检测到访问超时或者访问失败时,停止继续接入该用户的推荐服务,并向该用户返回兜底数据,从而降低推荐系统的访问压力,能够快速地释放资源。当接口管理模块601对第一业务的推荐服务进行监控的过程中,检测到访问超时或者访问失败的次数大于或等于设定的阈值,会对接入的第一业务进行服务降级处理,通过向该用户返回兜底数据。在实际应用中,服务降级可以通过开关降级、限流降级等方式实现,能够释放推荐系统10的资源,从而提高推荐系统10的资源利用率。
参见图7,图7示出了应用层101处理推荐请求的流程示意图,推荐流程是通过第一业务发起的推荐请求而触发的,其中,推荐请求可以为HTTP请求,推荐请求的内容可以包括用户ID、推荐场景ID、跟踪ID、请求数量、请求机型、网络类型、请求IP、调试开关DEBUG等内容,接口管理模块601负责接收并解析推荐请求,并在设定服务器中存储有第一业务的历史推荐结果的时候,获取历史推荐结果并输出,若果设定服务器中不存在第一业务的历史推荐结果,则进入召回单元401,召回单元401负责建立召回key、召回数据与合并过滤。精排单元402接入召回单元401返回的数据进行重新排序,重排单元403接入精排单元返回的数据再次进行数据排序生成推荐结果。末尾逻辑处理单元701接入重排单元403返回的数据,根据推荐算法的配置策略进行处理,接口管理模块601将推荐结果进行HTTP包装后,将推荐结果返回至第一业务。
在上述实施例中,推荐系统10包括应用层101、基础层102和核心层103,其中,核心层103用于对设定对象进行抽象,从而能够降低代码的冗余度,提高了推荐系统的稳定性,应用层101用于根据接入的第一业务继承核心层103抽象出的设定对象,从而能够提高推荐系统的可拓展性,基础层102包括算法配置模块1021与数据处理模块1022,算法配置模块1021用于在满足设定条件下对推荐算法的至少一个算子配置文件进行更新,提升了推荐系统的推荐算法的迭代效率,数据处理模块1022用于实现推荐过程中的数据处理并得到推荐结果,使得推荐系统可以统一架构设计,抽象公用模块,支撑数据的处理。
本申请实施例还提供了一种推荐方法,如图8所示,所述推荐方法应用于如图1所示的推荐系统10上,包括:
S801:基于核心层103对设定对象进行抽象;所述设定对象至少包括推荐流程。
这里,基于核心层103对设定对象进行抽象,所述设定对象至少包括推荐流程,通过核心层103将通用的推荐流程进行抽象,得到推荐流程的公用部分,从而降低了代码的冗余度,提升了推荐系统的稳定性和可维护性,其中,推荐流程包括查询缓存、创建召回key、召回、过滤合并、精排、重排以及返回推荐结果前处理。
S802:通过应用层101,根据接入的第一业务继承所述核心层103抽象出的设定对象。
这里,应用层101用于接入不同的第一业务,通过应用层101,根据接入的第一业务继承核心层103抽象出的设定对象,第一业务无需关注底层的推荐逻辑,第一业务能够通过应用层101继承底层的推荐逻辑,完成接入的第一业务相应的推荐流程并得到推荐结果,在实际应用中,应用层101接入的第一业务可以为音乐软件下的推荐业务,也可以为社交软件下的推荐业务等,从而能够高效的适配不同场景的推荐业务,提高了推荐系统10的可拓展性。
S803:在满足设定条件的情况下,基于基础层102的算法配置模块1021对推荐算法的至少一个第一算子配置文件进行更新。
这里,为了满足不同的推荐需求,推荐算法也会随之发生改变,在满足设定条件的情况下,表明推荐算的存在新的配置文件,基于基础层102的算法配置模块1021对推荐算法的至少一个第一算子配置文件进行更新。能够通过实时更新推荐系统的推荐算法的配置文件并修改推荐策略,提高了推荐算法的迭代效率。在实际应用中,通过更新推荐系统10的推荐算法的配置,并进行相应的AB测试,能够确定更新的推荐算法是否能够得到与用户需求匹配度高的推荐结果,从而提高了推荐系统10的推荐效果。
S804:通过基础层102的数据处理模块1022,基于应用层101对设定对象的继承,调用推荐算法进行数据处理,得到所述第一业务对应的推荐结果。
这里,第一业务通过应用层101能够对核心层的设定对象进行继承,确定了生成推荐结果的推荐流程,通过基础层102的数据处理模块1022,基于推荐流程,调用推荐算法进行数据处理,得到第一业务对应的推荐结果,在实际应用中,通过基础层102调用推荐算法进行数据处理的过程中,包括数据召回、精排、重排等数据处理流程。
在上述实施例中,基于核心层对设定对象进行抽象,从而能够降低代码的冗余度,提高了推荐系统的稳定性,通过应用层,根据接入的第一业务继承核心层抽象出的设定对象,从而能够提高推荐系统的可拓展性,在满足设定条件的情况下,基于基础层的算法配置模块对推荐算法的至少一个第一算子配置文件进行更新,提升了推荐系统的推荐算法的迭代效率,通过基础层的数据处理模块实现推荐过程中的数据处理并得到推荐结果,使得推荐系统可以统一架构设计,抽象公用模块,支撑数据的处理。
在示例性实施例中,本申请实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的存储器3,上述计算机程序可由处理器2执行,以完成前述方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。以上所描述的系统实施例仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
- 一种推荐系统推荐方法、设备、推荐系统及存储介质
- 内容推荐系统、内容推荐方法、内容推荐设备以及信息存储介质