数据推荐方法、装置、计算机设备以及存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据推荐方法、装置、计算机设备以及存储介质。
背景技术
近年来,互联网技术的日益发展和普及给用户带来了大量的信息,满足了用户对信息的需求。但随着信息呈指数级增长,使得用户难以从海量的数据中筛选出自己真正想要的信息。在这种情况下,推荐系统应运而生,推荐系统用于精准推荐,即向用户提供精准的推荐内容和服务。
目前,推荐系统根据最近的热点事件筛选出待推荐业务内容,再向所有用户推送筛选出来的待推荐业务内容。可见,向所有用户推荐相同的内容难以满足不同用户的个性化推荐需求,降低内容推荐的准确性。
发明内容
本申请实施例提供一种数据推荐方法、装置、计算设备以及存储介质,可以提高内容推荐的准确率。
本申请实施例一方面提供了一种数据推荐方法,包括:
响应于在目标领域下针对目标用户的数据推荐请求,获取在多个领域下与所述目标用户具有关联关系的业务对象集合;所述业务对象集合包括在每个领域下与所述目标用户具有关联关系的业务对象,所述多个领域包括所述目标领域;
对所述多个领域和所述业务对象集合进行编码处理,得到所述目标用户在所述目标领域下的目标领域兴趣特征;
获取所述目标领域下的多个待推荐业务对象的待推荐业务对象特征;
从多个待推荐业务对象特征中获取与所述目标领域兴趣特征匹配的目标推荐业务对象特征,输出所述目标推荐业务对象特征对应的目标推荐业务对象。
本申请实施例一方面提供了一种数据推荐装置,包括:
获取模块,用于响应于在目标领域下针对目标用户的数据推荐请求,获取在多个领域下与所述目标用户具有关联关系的业务对象集合;所述业务对象集合包括在每个领域下与所述目标用户具有关联关系的业务对象,所述多个领域包括所述目标领域;
编码模块,用于对所述多个领域和所述业务对象集合进行编码处理,得到所述目标用户在所述目标领域下的目标领域兴趣特征;
所述获取模块,还用于获取所述目标领域下的多个待推荐业务对象的待推荐业务对象特征;
确定模块,用于从多个待推荐业务对象特征中获取与所述目标领域兴趣特征匹配的目标推荐业务对象特征;
输出模块,用于输出所述目标推荐业务对象特征对应的目标推荐业务对象。
本申请实施例一方面提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述各实施例中的方法。
本申请实施例一方面提供了一种计算机存储介质,计算机存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被处理器执行时,执行上述各实施例中的方法。
本申请实施例一方面提供了一种计算机程序产品或计算机程序,计算机程序产品或计算机程序包括计算机指令,计算机指令存储在计算机可读存储介质中,计算机指令被计算机设备的处理器执行时,执行上述各实施例中的方法。
本申请根据用户行为挖掘用户个性化偏好,进而确定用户的推荐业务对象,可以根据不同的用户行为确定不同的推荐业务对象,实现个性化内容推荐,且依据用户行为确定推荐业务对象,相比根据热点事件确定推荐业务对象,从用户需求本质出发所确定的推荐内容即是用户真正想要的内容,可以提高内容推荐的准确性;再有,通过不同领域下的用户行为互相补充,以确定用户在目标领域下的兴趣特征,基于目标领域下的兴趣特征为用户推荐目标领域下的业务对象更具有针对性,可以进一步提高数据推荐的准确率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种数据推荐的系统架构图;
图2a-图2d是本申请实施例提供的一种数据推荐的场景示意图;
图3是本申请实施例提供的一种数据推荐的流程示意图;
图4a是本申请实施例提供的一种跨领域推荐模型的示意图;
图4b是本申请实施例提供的一种数据推荐的整体框架图;
图5a-图5b是本申请实施例提供的一种目标推荐业务对象的示意图;
图6是本申请实施例提供的一种数据推荐的流程示意图;
图7是本申请实施例提供的一种样本跨领域推荐模型的示意图;
图8是本申请实施例提供的一种数据推荐装置的结构示意图;
图9是本发明实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
云技术(Cloud technology)是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。目前,技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
目前,云技术主要分为云基础技术类以及云应用类;云基础技术类可以进一步细分为:云计算、云储存、数据库以及大数据等;云应用类可以进一步细分为:医疗云、云物联、云安全、云呼叫、私有云、公有云、混合云、云游戏、云教育、云会议、云社交以及人工智能云服务等。
从基础技术角度来说,本申请的数据推荐方法涉及云技术下属的云计算;从应用角度来说,本申请的数据推荐方法涉及云技术下属的人工智能云服务:
云计算(cloud computing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。
在本申请中,对多个领域和业务对象集合进行跨领域交叉编码处理涉及大规模计算,需要巨大的算力和存储空间,因此在本申请中,可以由终端设备通过云计算技术获取足够算力和存储空间,进而执行本申请中所涉及的提取目标用户在目标领域下的目标领域兴趣特征,以及提取多个待推荐业务对象的待推荐业务对象特征。
所谓人工智能云服务,一般也被称作是AIaaS(AI as a Service,中文为“AI即服务”)。这是目前主流的一种人工智能平台的服务方式,具体来说AIaaS平台会把几类常见的AI服务进行拆分,并在云端提供独立或者打包的服务。这种服务模式类似于开了一个AI主题商城:所有的开发者都可以通过API接口的方式来接入使用平台提供的一种或者是多种人工智能服务,部分资深的开发者还可以使用平台提供的AI框架和AI基础设施来部署和运维自已专属的云人工智能服务。
可以将本申请涉及的数据推荐方法封装为一个人工智能服务,且仅对外暴露一个接口。当在某一个业务场景下需要使用本申请所涉及的业务对象推荐功能时,通过调用该接口,即可完成对业务对象的推荐。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
本申请实施例提供的方案属于人工智能领域下属的机器学习/深度学习。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
在本申请中,主要涉及通过调用一个推荐模型以及基于用户在多个领域的行为数据确定用户在特定目标领域的兴趣特征,该兴趣特征可以用于确定用户在目标领域下待推荐的业务对象。
本申请可以应用于如下场景:当需要向目标用户推荐目标领域下的产品时,获取目标用户在多个领域的行为数据,根据多个领域的行为数据确定目标用户在目标领域的兴趣特征,将兴趣特征和目标领域的多个待推荐产品的产品特征进行匹配,输出匹配的产品特征对应的待推荐产品。后续,可以向用户推送匹配的待推荐产品,以实现精准营销,提高推荐准确率。
请参见图1,是本申请实施例提供的一种数据推荐的系统架构图。本申请涉及服务器10d以及终端设备集群,终端设备集群可以包括:终端设备10a、终端设备10b、...、终端设备10c等。
以终端设备10a为例,终端设备10a接收到关于用户在目标领域下的数据推荐请求时,将该数据推荐请求发送至服务器10d。服务器10d获取在多个领域下与目标用户具有关联关系的业务对象集合,服务器10d对多个领域和该业务对象集合进行跨领域交叉编码处理,得到目标用户在目标领域下的目标领域兴趣特征,获取目标领域下多个待推荐业务对象的待推荐业务对象特征,从多个待推荐业务对象特征中确定与目标领域兴趣特征匹配的目标推荐业务对象特征,输出目标推荐业务对象特征对应的目标推荐业务对象。服务器10d可以将目标推荐业务对象发送至终端设备10a,终端设备10a在页面上展示目标推荐业务对象,以向目标用户精准推荐业务对象。
当然,确定目标用户的目标领域兴趣特征和确定目标推荐业务对象也可以由终端设备10a来执行。
图1所示的服务器10d可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
图1所示的终端设备10a、终端设备10b、终端设备10c等可以是手机、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(MID,mobile internet device)、可穿戴设备等智能设备。终端设备集群与服务器10d可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
下述以服务器10d如何确定目标用户的目标推荐文本为例进行详细说明:
请参见图2a-图2d,其是本申请实施例提供的一种数据推荐的场景示意图。如图2a所示,当服务器10d接收到目标用户在文本领域的数据推荐请求时,服务器10d获取在多个领域与目标用户具有关联关系的业务对象,其中多个领域包括文本领域,假设多个领域分别是文本领域,视频领域和购物领域,与目标用户具有关联关系的业务对象是指向目标用户曝光过/目标用户点击过的业务对象。服务器10d获取文本领域中与目标用户具有关联关系文本集合20a,如图2a所示文本集合20a为空,此时说明目标用户还未阅览过任何文本。服务器10d获取视频领域中与目标用户具有关联关系的视频集合20b,视频集合20b包括视频1、视频2和视频3,说明目标用户曾经阅览过/点击过视频1,视频2和视频3。服务器10d获取购物领域中与目标用户具有关联关系的商品集合20c,商品集合20c包括商品1、商品2和商品3,说明目标用户曾经阅览过/点击过/购买过商品1,商品2和商品3。
如图2b所示,服务器10d获取文本领域对应的文本领域特征,视频领域对应的视频领域特征和购物领域对应的购物领域特征,将这3个领域特征输入第一编码器Encoder,第一编码器将这3个领域特征编码为领域特征向量,再将该领域特征向量输入第二编码器Transformer,第二编码器将领域特征向量编码为特征向量20d。
服务器10d获取空文本对应的文本特征,空文本对应的文本特征可以是全0向量,或者全1向量。将这3个文本特征输入第一编码器Encoder,第一编码器将这3个文本特征编码为文本特征向量。
服务器10d获取视频1对应的视频特征,视频2对应的视频特征,视频3对应的视频特征。将这3个视频特征输入第一编码器Encoder,第一编码器将这3个视频特征编码为视频特征向量。
服务器10d获取商品1对应的商品特征,商品2对应的商品特征,商品3对应的商品特征。将这3个商品特征输入第一编码器Encoder,第一编码器将这3个商品特征编码为商品特征向量。
服务器10d将前述文本特征向量、视频特征向量和商品特征向量输入第二编码器Transformer,第二编码器将文本特征向量、视频特征向量和商品特征向量编码为特征向量20e。
服务器10d再将特征向量20d和特征向量20e交叉卷积为特征向量20f,其中特征向量20f也表示目标用户的通用兴趣特征。
由于目标领域是文本领域,还需要引入目标领域的知识信息,当作领域偏置,用于转换兴趣空间,用于学习目标用户在文本领域的文本领域兴趣向量。具体过程为:服务器10d再将第一编码器Encoder输出的文本特征向量以及文本领域对应的文本领域特征拼接为特征向量20g,将特征向量20f和特征向量20g交叉卷积为特征向量20h,其中特征向量20h也表示目标用户在文本领域的文本领域兴趣特征。
至此,服务器10d就确定了目标用户在文本领域的文本领域兴趣特征20h。该文本领域兴趣特征20h可以用于预测目标用户在文本领域的偏好。
确定了目标用户在文本领域的文本领域兴趣特征后,可以进行预测。如图2c所示,服务器10d获取5个待推荐文本的文本特征,其中这5个文本特征是在训练第一编码器Encoder和第二编码器Transformer时确定的。服务器10a计算文本领域兴趣特征20h和每个文本特征之间的特征距离,将特征距离最小的2个文本特征对应的文本作为推荐文本,假设5个文本特征中,文本1的文本特征和文本3的文本特征是与文本领域兴趣特征20h最接近的文本特征。
服务器将文本1和文本3下发至终端设备,终端设备将文本1的摘要、文本3的摘要、文本1的封面图像、文本3的封面图像、文本1的标题、文本3的标题以及视频封面(视频封面是其余服务器根据其余的推荐请求下发下来的)组合为推荐页面20j,用户可以在推荐页面20j中阅览文本1和文本3的部分信息,用户还可以点击文本或者视频,以及详细阅览文本内容或者观看视频内容。
其中,获取在多个领域(如上述实施例中的文本领域,视频领域和购物领域)下与目标用户具有关联关系的业务对象集合(如上述实施例中的文本集合20a、视频集合20b以及商品集合20c),获取目标领域兴趣特征(如上述实施例中的文本领域兴趣特征20h)以及多个待推荐业务对象特征(如上述实施例中的5个文本的文本特征),确定目标推荐业务对象(如上述实施例中的文本1和文本3)的具体过程可以参见下述图3-图7对应的实施例。
请参见图3,是本申请实施例提供的一种数据推荐的流程示意图,下述实施例以服务器为执行主体描述如何确定目标用户的目标推荐业务对象,数据推荐方法可以包括如下步骤:
步骤S101,响应于在目标领域下针对目标用户的数据推荐请求,获取在多个领域下与所述目标用户具有关联关系的业务对象集合。
具体的,服务器(如上述图2a-图2d对应实施例中的服务器10d)响应于在目标领域下针对目标用户的数据推荐请求,获取在多个领域下与目标用户具有关联关系的业务对象集合(如上述图2a-图2d对应实施例中的文本集合20a、视频集合20b以及商品集合20c)。
通俗来说,数据推荐请求即是请求推荐目标用户在目标领域下的数据,例如,目标领域是文本领域,那么数据推荐请求就是请求向目标用户推荐文本;目标领域是购物领域,那么数据推荐请求就是请求向目标用户推荐商品。
其中,目标领域是多个领域中的任一领域,与目标用户具有关联关系的业务对象是指业务对象向用户曝光过(或者说用户阅览过这些业务对象)或者业务对象是非实体业务对象(非实体业务对象为空,可以用特殊字符UNK表示)。每个领域下与目标用户具有关联的业务对象的数量相同,且都等于数量阈值,业务对象可以是空(或者说业务对象可以是非实体业务对象)。
多个领域包括以下至少两种:文本领域、视频领域、游戏领域、嵌入式应用程序领域(即小程序领域)、购物领域等,其中文本领域又可以细分为:短文本领域(例如,新闻,公众号文章)和长文本领域(例如,小说),视频领域又可以细分为:短视频领域(例如,1分钟以内的短视频)和长视频领域(例如,电影,电视剧)。
举例来说,目标用户曾经阅览过文本1和文本2,阅览过视频1,若多个领域包括文本领域和视频领域,且每个领域下与目标用户具有关联关系的业务对象的数量为3,那么目标业务对象集合可以为:文本1,文本2,空(UNK);视频1,空(UNK),空(UNK),此时业务对象“文本1”、业务对象“文本2”以及业务对象“视频1”就是实体业务对象,业务对象“空(UNK)”就是非实体业务对象。
可以知道,若在目标领域下与目标用户具有关联关系的业务对象均是空(即均是非实体业务对象),那么此时的推荐请求可以认为是冷启动推荐,即目标用户在目标领域下没有任何行为数据,需要基于目标用户在其他领域的行为数据为目标用户推荐目标领域下的业务对象。
业务对象集合属于待推荐业务对象集合,待推荐业务对象集合包括多个领域下的多个待推荐业务对象,待推荐业务对象集合是训练跨领域推荐模型时确定的。
举例来说,待推荐业务对象集合包括文本领域下的文本1、文本2和文本3以及视频领域下的视频1、视频2和视频3,若目标用户曾经阅览过文本1、文本4和视频4,那么与目标用户具有关联关系的业务对象包括文本领域下的文本1、空、空,以及视频领域下的空、空、空。
获取在多个领域下与目标用户具有关联关系的业务对象集合的具体过程如下:获取在每个领域下已向目标用户曝光过的业务对象(称为已曝光业务对象,已曝光业务对象也属于待推荐业务对象集合)。对任一领域来说,若该领域下已曝光业务对象的数量等于数量阈值(该数量阈值即是跨领域推荐模型的输入数量阈值),则将已曝光业务对象组合为该领域下的单位业务对象集合。若该领域下已曝光业务对象的数量小于数量阈值,则将已曝光业务对象和非实体业务对象组合为该领域下的单位业务对象集合。每个领域下的单位业务对象集合包含的业务对象的数量都等于数量阈值,将每个领域下的单位业务对象集合组合为与目标用户具有关联关系的业务对象集合。
其中,获取已曝光业务对象可以是通过目标用户的知识图谱三元组确定的,目标用户的知识图谱三元组包括目标用户的用户标识,目标用户涉及的领域的领域标识(目标用户涉及的领域属于多个领域,且目标用户涉及的领域即是已向目标用户曝光的业务对象所属的领域),以及在目标用户涉及的领域下已向目标用户曝光的业务对象。因此知识图谱三元组可以表示为(用户,领域,业务对象)。
步骤S102,对所述多个领域和所述业务对象集合进行编码处理,得到所述目标用户在所述目标领域下的目标领域兴趣特征。
具体的,调用训练好的跨领域推荐模型对多个领域和目标用户的业务对象集合进行交叉编码处理,得到目标用户的通用兴趣特征(如上述图2a-图2d对应实施例中的特征向量20f)。其中,通用兴趣特征是一个一维向量。
确定了通用兴趣特征后,还需要引入目标领域知识信息,当作领域偏置,转换用户兴趣空间,用于学习目标用户在目标领域下的目标领域兴趣特征(如上述图2a-图2d对应实施例中的文本领域兴趣特征20h),后续可以基于目标领域兴趣特征对目标用户在目标领域下可能喜欢的业务对象进行预测。确定目标领域兴趣特征的过程如下:
服务器从业务对象集合中获取目标领域下与目标用户具有关联关系的业务对象(称为目标业务对象,如上述图2a-图2d对应实施例中的文本集合20a包含的3个空文本)。
调用跨领域推荐模型对通用兴趣特征、目标领域以及目标业务对象进行交叉编码处理,得到目标用户在目标领域下的目标领域兴趣特征,其中目标领域兴趣特征也是一个一维向量。
下面对跨领域推荐模型如何将多个领域和业务对象集合交叉编码为通用兴趣特征进行详细说明:
跨领域推荐模型包括领域编码器、对象编码器以及领域对象交叉编码器,其中,领域编码器是用于对多个领域进行编码,对象编码器是用于对业务对象集合进行编码,领域对象交叉编码器是用于将多个领域编码后的向量和业务对象集合编码后的向量再编码为目标用户的通用兴趣特征。领域编码器是Encoder+Transformer,Encoder是attention机制的RNN结构,Transformer包括n个编码器(不包含解码器),将领域编码器中的Encoder称为域内领域编码器,将领域编码器中的Transformer称为域间领域转换器。服务器获取每个领域的原始领域特征(每个领域的原始领域特征是训练跨领域推荐模型时所确定的),假设领域数量为k,每个原始领域特征的维度是n1,那个k个原始领域特征可以是表示为k×n1,将k个原始领域特征k×n1作为原始领域特征序列输入领域编码器中的Encoder,领域编码器中的Encoder对k个原始领域特征k×n1进行自注意循环编码处理后,输出k个第一编码向量,每个第一编码向量的维度可以是n2。k个第一编码向量可以组合为矩阵k×n2(该矩阵也可以称为第一编码向量序列),对该矩阵进行平均池化,得到维度为k×1的第二编码向量。再将第二编码向量k×1输入领域编码器中的Transformer,领域编码器中的Transformer对第二编码向量k×1进行多注意力编码处理后,输出维度为k×1的领域特征,其中,n1可以等于512,n2可以等于8,Transformer的输出数据维度和输入数据维度相同。通过多个领域交叉学习,可以表达出稠密的领域特征,解决领域特征稀疏问题。其中,平均池化是指将一行(或者一列)的数值的平均值作为这一行(或者这一列)特征表达。
其中,平均池化可以用下述公式(1)表示:
fi=Average_pooling(Xi) (1)
其中,Xi表示特征输入。
对象编码器包括多个域内对象编码器(Encoder)和一个域间对象转换器(Transformer),域内对象编码器的数量与领域数量相同,每个域内对象编码器都用于对同一领域下的业务对象(也即是单位业务对象集合)进行编码,域间对象转换器用于对多个域内对象编码器输出的多个编码向量再编码。业务对象集合包括多个单位业务对象集合,每个单位业务对象集合对应一个领域,每个域内对象编码器(Encoder)是attention机制的RNN结构,域间对象转换器(Transformer)包括n个编码器(不包含解码器)。对1个单位业务对象集合来说,服务器获取单位业务对象集合中的每个业务对象的原始对象特征(每个业务对象的原始对象特征是训练跨领域推荐模型时所确定的,若业务对象是空UNK,那么该业务对象的原始对象特征可以是全0或者全1或者其他预设数值的向量),假设单位业务对象集合中包括p个业务对象,每个原始对象特征的维度是r1,那么p个原始对象特征可以表示为p×r1,将p个原始对象特征p×r1作为原始对象特征序列输入域内对象编码器(Encoder),该Encoder对原始对象特征序列p×r1编码处理后,输出p个第三编码向量,每个第三编码向量的维度可以是r2。p个第三编码向量可以组合为矩阵p×r2,对该矩阵进行平均池化,得到维度为p×1的第四编码向量。对每个单位业务对象集合都采用上述方式进行编码,得到每个单位业务对象集合的第四编码向量。假设单位业务对象集合的数量是k,那么可以得到k个维度为p×1的第四编码向量,将k个第四编码向量k×p输入域间对象转换器(Transformer),Transformer对k个第四编码向量k×p编码处理后,输出维度为k×p的特征矩阵。对特征矩阵k×p再进行平均池化,得到维度为k×1的对象特征。其中,r1可以等于512,r2可以等于8。通过业务对象在多个领域的交叉学习,可以表达出稠密的对象特征,解决对象特征稀疏问题。其中,平均池化是指将一行(或者一列)的数值的平均值作为这一行(或者这一列)特征表达。
上述池化过程除了可以采用平均池化,还可以采用最大池化,或者最小池化等。
Transformer的编码过程可以用下述公式(2)表示:
至此,通过领域编码器就确定了多个领域的领域特征,以及业务对象集合的对象特征,且领域特征和对象特征的维度相同,调用领域对象交叉编码器将上述领域特征和对象特征交叉编码为目标用户的通用兴趣特征,其中通用兴趣特征也是一个向量。
领域对象交叉编码器的交叉编码方式如下公式(3)所示:
其中,
表示池化后的对象特征,
表示领域特征,u
g表示通用兴趣特征。e
1,e
2表示输入领域对象交叉编码器的两个一维向量;W
c表示领域对象交叉编码器的权重矩阵,函数f(·)表示将两个向量做折叠操作,即是将两个一维的向量折叠为一个二维矩阵,函数flatten(·)表示将多维的输入一维向量化。
公式(3)所示的计算方式在特征稀疏的时候,可以有效提升参数的利用率,另外,这种计算方式对于不同特征之间的交叉处理,也非常有效。
至此,通过调用跨领域推荐模型就获取到了目标用户的通用兴趣特征。
下面对跨领域推荐模型如何将通用兴趣特征、目标领域和目标业务对象交叉编码为目标领域兴趣特征进行详细说明:
从前述可知,对象编码器包括多个域内对象编码器(Encoder)和一个域间对象转换器(Transformer),域内对象编码器的数量与领域数量相同,每个域内对象编码器(Encoder)是attention机制的RNN结构,域间对象转换器(Transformer)包括n个编码器(不包含解码器)。服务器获取目标领域的原始领域特征(为了和前述中的原始领域特征进行区别,此处将目标领域的原始领域特征称为目标领域特征),获取目标业务对象的原始对象特征,通过目标领域的域内对象编码器将目标业务对象的原始对象特征编码为目标对象特征,此处的目标对象特征可以对应前述中维度为p×1的第四编码向量,p表示目标业务对象的数量。
采用下述公式(4)将目标领域特征和目标对象特征拼接为目标领域对象特征:
vt=Concat(dt,ft)Wd (4)
其中,dt表示目标领域特征,ft表示目标对象特征,vt表示目标领域对象特征,Wt表示目标领域的对象编码器中的域内对象编码器的权重矩阵。
调用领域对象交叉编码器将通用兴趣特征和目标领域对象特征交叉编码为目标领域兴趣特征,目标领域兴趣特征的计算公式可以用下述公式(5)表示:
ut=ConE(ug,vt) (5)
其中,ug表示通用兴趣特征,vt表示目标领域对象特征,ut表示目标用户在目标领域下的目标领域兴趣特征。
至此,服务器通过调用跨领域推荐模型就获取了目标领域兴趣特征。
请参见图4a,图4a是本申请实施例提供的一种跨领域推荐模型的示意图。将多个领域的原始领域特征序列输入领域编码器(领域编码器包括域内领域编码器和域间领域转换器),得到领域特征。将每个领域下的单位业务对象集合对应的原始对象特征序列输入对象编码器(对象编码器包括多个域内对象编码器和一个域间对象转换器),得到对象特征。将领域特征和对象特征输入领域对象交叉编码器,得到目标用户的通用兴趣特征。获取目标领域的原始领域特征(称为目标领域特征),通过目标领域的域内对象编码器将目标领域下的原始对象特征序列编码为目标对象特征,将目标领域特征和目标对象特征拼接为目标领域对象特征。将通用兴趣特征和目标领域对象特征输入领域对象交叉编码器,得到目标用户在目标领域的目标兴趣特征。
本申请中通过Transformer进行域内特征抽取,解特征稀疏的问题,通过ConvE进行域间特征交叉计算,提升跨域特征交叉计算的效果,使得提取的跨领域特征更具有区分性,增强用户行为推导能力。通过引入目标领域知识信息,当作领域偏置,转换用户兴趣空间,增强用户的目标领域兴趣特征的表达能力,提升后续业务对象推荐的精准度。
步骤S103,获取所述目标领域下的多个待推荐业务对象的待推荐业务对象特征。
具体的,服务器获取目标领域下的多个待推荐业务对象的原始对象特征(为了和前述中的原始对象特征进行区别,此处将待推荐业务对象的原始对象特征称为待推荐业务对象特征)。
目标领域下的待推荐业务对象是在训练跨领域推荐模型就确定的,待推荐业务对象的待推荐业务对象特征也是在训练跨领域推荐模型确定的,待推荐业务对象都是实体业务对象。在目标领域下与目标用户具有关系关联的目标业务对象的数量可以是多个,多个目标业务对象可以都是空,即都是非实体业务对象(称为非实体目标业务对象);或者多个目标业务对象包括实体目标业务对象和非实体目标业务对象,实体目标业务对象属于目标领域下的多个待推荐业务对象。
步骤S104,从所述多个待推荐业务对象特征中获取与所述目标领域兴趣特征匹配的目标推荐业务对象特征,输出所述目标推荐业务对象特征对应的目标推荐业务对象。
具体的,服务器计算目标领域兴趣特征和目标领域下的每个待推荐业务对象的待推荐业务对象特征之间的特征距离,可以用欧式距离来度量目标领域兴趣特征和每个待推荐业务对象特征之间的特征距离。特征距离越大,说明目标领域兴趣特征和该待推荐业务对象特征之间的相似度越小,说明目标用户喜欢该待推荐业务对象特征对应的待推荐业务对象的概率就越小;反之,特征距离越小,说明目标领域兴趣特征和该待推荐业务对象特征之间的相似度越大,说明目标用户喜欢该待推荐业务对象特征对应的待推荐业务对象的概率就越大。
服务器将这多个特征距离进行排序,将特征距离最小的n个待推荐业务对象特征作为目标推荐业务对象特征。将目标推荐业务对象特征对应的待推荐业务对象作为目标推荐业务对象(如上述图2a-图2d对应实施例中的文本1和文本3),输出目标推荐业务对象。目标推荐业务对象就是预测出来的目标用户在目标领域下可能喜欢的业务对象。
举例来说,现有3待推荐业务对象,分别是待推荐业务对象A,待推荐业务对象B以及待推荐业务对象C,目标领域兴趣特征与待推荐业务对象A的待推荐业务对象特征之间的特征距离为0.3,目标领域兴趣特征与待推荐业务对象B的待推荐业务对象特征之间的特征距离为0.5,目标领域兴趣特征与待推荐业务对象C的待推荐业务对象特征之间的特征距离为0.1。若业务需求是目标推荐业务对象的数量是2,那么可以将最小的2个特征距离对应的待推荐业务对象作为目标推荐业务对象,即待推荐业务对象A和待推荐业务对象C均是目标推荐业务对象。
可选的,若目标领域是文本领域,那么目标推荐业务对象即是目标推荐电子读物,目标推荐电子读物可以是小说,新闻,公众号文章等。
可选的,服务器可以将目标推荐业务对象下发至目标用户所在的终端设备,以将目标推荐业务对象向目标用户曝光,目标用户阅览到目标推荐业务对象后,若目标用户对目标推荐业务对象感兴趣,可以点击该目标推荐业务对象,以详细阅览目标推荐业务对象的内容;若目标用户对目标推荐业务对象不感兴趣,可以跳过该目标推荐业务对象。服务器可以将目标用户,目标领域以及已曝光的目标推荐业务对象组合目标用户新的知识图谱三元组,知识图谱三元组可以表示为(用户,领域,业务对象)。基于新的知识图谱三元组可以再更新跨领域推荐模型,其中目标用户是否点击某一个目标推荐业务对象,可以作为该目标推荐业务对象的标签,例如,若目标用户点击了目标推荐业务对象A,那么目标推荐业务对象A的标签就是1,若目标用户没有点击目标推荐业务对象A,那么目标推荐业务对象A的标签就是0。
上述可知,本申请提出了知识图谱三元组的定义,该定义可以用于多产品领域的数据结构建模,统一了数据形式,为模型训练提供数据基础;本申请中通过Transformer进行域内特征抽取,解特征稀疏的问题,通过ConvE进行域间特征交叉计算,提升跨域特征交叉计算的效果,增强用户行为推导能力。通过引入目标领域知识信息,当作领域偏置,转换用户兴趣空间,增强用户的目标领域兴趣特征的表达能力;最后,本申请的方案可以用于数据推荐用户启动场景,提升了冷启动的推荐准确率。
请参见图4b,图4b是本申请实施例提供的一种数据推荐的整体框架图,如图4b所示,数据推荐涉及在线服务和离线训练两个模块,离线训练是为了训练跨领域推荐模型,以及确定多个领域的待推荐业务对象的原始对象特征。训练好的跨领域推荐模型可以预测用户在目标领域的目标领域兴趣特征,调用最近邻服务确定目标领域兴趣特征和目标领域的待推荐业务对象的原始对象特征(称为待推荐业务对象特征)之间的特征距离,将特征距离最小的k个待推荐业务对象特征的待推荐业务对象作为目标推荐业务对象。调用排序服务将这k个目标推荐业务对象排序,并将排序后的k个目标推荐业务对象下发至用户所在的终端设备,以向用户精确推荐。后续,可以获取用户针对目标推荐业务对象的用户点击日志,多领域用户行为处理模块基于用户点击日志生成知识图谱三元组,根据知识图谱三元组更新跨领域推荐模型。
请参见图5a-图5b,其是本申请实施例提供的一种目标推荐业务对象的示意图,如图5a所示,当目标领域是文本领域时,说明当前数据推荐请求是请求向目标用户推荐文本,服务器采用上述方式确定待推荐的文本后,服务器将文本下发至目标用户所在的终端设备。在目标用户所在的终端设备中展示服务器下发的文本,展示时可以先展示文本的文本封面(文本封面包括文本标题,文本插图等),待用户点击文本封面后,再显示详细的文本内容。
如图5b所示,当目标领域是文本领域和视频领域时,说明当前数据推荐请求是请求向目标用户推荐文本和视频,服务器采用上述方式分别确定待推荐的文本和视频后,服务器将确定的文本和视频下发至目标用户所在的终端设备。在目标用户所在的终端设备中展示服务器下发的文本和视频,展示时可以先展示文本的文本封面(文本封面包括文本标题,文本插图等)和视频的视频封面(视频封面包括该视频中的任一视频帧图像),待用户点击文本封面或者点击视频封面后,再显示详细的文本内容或者播放视频内容。
请参见图6,图6是本申请实施例提供的一种数据推荐的流程示意图,下述实施例主要描述跨领域推荐模型的训练过程,数据推荐方法可以包括如下步骤:
步骤S201,获取在每个领域下与样本用户具有关联关系的样本单位业务对象集合。
具体的,由于模型训练涉及多次迭代,本实施例以一个样本用户进行一次迭代为例进行说明:
服务器获取样本用户的样本知识图谱三元组集合,样本知识图谱三元组集合包括多个样本知识图谱三元组,任一样本知识图谱三元组包括样本用户的用户标识、多个领域中任一领域的领域标识以及在任一领域下已向样本用户曝光的样本业务对象的对象标识,相当于每个样本知识图谱三元组可以表示为(用户,领域,业务对象)。从样本知识图谱三元组集合中确定在每个领域下与样本用户具有关联关系的样本单位业务对象集合,每个样本单位业务对象集合中包含的样本业务对象的数量均等于前述中的数量阈值。可以知道,与样本用户具有关联关系的样本业务对象具体是指样本业务对象向用户曝光过,其中每个单位业务对象集合中又包括曝光未点击的样本业务对象,以及曝光已点击的样本业务对象,且每个单位业务对象集合中曝光未点击的样本业务对象和曝光已点击的样本业务对象之间的比例相同。
需要说明的是,此处的多个领域下的样本单位业务对象集合即是前述中的待推荐业务对象集合。
步骤S202,生成每个领域的随机领域特征,以及生成多个样本单位业务对象集合中每个样本业务对象的随机对象特征。
具体的,服务器生成每个领域的随机领域特征,以及生成多个样本单位业务对象集合中每个样本业务对象的随机对象特征,随机领域特征和随机对象特征都会参与模型训练,训练后的随机领域特征即是前述中的原始领域特征,训练后的随机领域特征即是前述中的原始领域特征。
步骤S203,调用样本跨领域推荐模型将所有随机领域特征和所有随机对象特征进行跨领域交叉编码处理,得到所述样本用户在样本领域下的预测兴趣特征。
具体的,服务器调用样本跨领域推荐模型将所有随机领域特征和所有随机对象特征进行交叉编码处理,得到样本用户的样本通用兴趣特征,其中确定样本通用兴趣特征和前述中确定目标用户的通用兴趣特征的过程基本相同,此处就不再复述。
服务器从多个领域中确定样本领域,样本领域是多个领域中的任一领域。获取样本领域的随机领域特征,以及获取样本领域下的样本单位业务对象集合中每个样本业务对象的随机对象特征。服务器调用样本跨领域推荐模型将样本通用兴趣特征,样本领域的随机领域特征以及样本领域下的样本单位业务对象集合中每个样本业务对象的随机对象特征进行交叉编码处理,得到样本用户在样本领域的预测兴趣特征。
其中,确定样本用户在样本领域的预测兴趣特征和前述中确定目标用户在目标领域的目标领域兴趣特征的过程基本相同,此处就不再复述。
步骤S204,确定所述预测兴趣特征和所述样本领域的随机对象特征之间的特征相似度,获取所述样本领域的随机对象特征的行为标签。
具体的,服务器计算预测兴趣特征和样本领域下的样本单位业务对象集合中每个样本业务对象的随机对象特征之间的特征相似度,特征相似度在数值0-1之间。服务器获取样本领域下的样本单位业务对象集合中每个样本业务对象的随机对象特征的行为标签,行为标签的取值可以是1或者0,取值为1的行为标签表示该行为标签对应的样本业务对象不仅向样本用户曝光过,且样本用户还点击过,以查看样本业务对象的详细内容;取值为0的行为标签表示该行为标签对应的样本业务对象仅向样本用户曝光过,样本用户未点击过。
步骤S205,根据所述行为标签和所述特征相似度确定预测误差,基于所述预测误差训练所述样本跨领域推荐模型,得到所述跨领域推荐模型。
具体的,服务器根据样本领域下的样本单位业务对象集合中每个样本业务对象的随机对象特征的特征相似度以及行为标签,确定样本领域下的样本单位业务对象集合中每个样本业务对象的随机对象特征的误差,将所有的误差叠加为预测误差。基于梯度下降原则,将预测误差反向传播至样本跨领域推荐模型、每个领域的随机领域特征以及多个样本单位业务对象集合中每个样本业务对象的随机对象特征,以调整样本跨领域推荐模型的模型参数,调整每个领域的随机领域特征以及调整多个样本单位业务对象集合中每个样本业务对象的随机对象特征。
至此,就完成了对样本跨领域推荐模型的一次迭代更新,服务器可以采用相同的方式,将多个领域中除样本领域以外的其他领域依次作为样本领域,再更新样本跨领域推荐模型,以及将其余的样本用户的多个样本单位业务对象集合用于参与样本跨领域推荐模型的训练,不断地迭代调整。需要说明的是,参与模型训练的可以是多个样本用户,每个样本用户的样本单位业务对象集合包含的样本业务对象都相同。
当调整后的样本跨领域推荐模型满足模型收敛条件时,将调整后的样本跨领域推荐模型作为跨领域推荐模型,将每个领域调整后的随机领域特征均作为原始领域特征,多个样本单位业务对象集合中每个样本业务对象调整后的随机对象特征均作为原始对象特征。
其中,若调整次数达到次数阈值,则认为调整后的样本跨领域推荐模型满足模型收敛条件;或者若调整前模型参数和调整后的模型参数之间的差异量小于预设的差异量阈值,则认为调整后的样本跨领域推荐模型满足模型收敛条件;或者调整后的样本跨领域推荐模型的预测准确率达到预设的准确率阈值,则认为调整后的样本跨领域推荐模型满足模型收敛条件。
模型训练完成后,就可以开始进行预测了。
步骤S206,响应于在目标领域下针对目标用户的数据推荐请求,获取在多个领域下与所述目标用户具有关联关系的业务对象集合;所述业务对象集合包括在每个领域下与所述目标用户具有关联关系的业务对象,所述多个领域包括所述目标领域。
步骤S207,调用跨领域推荐模型对所述多个领域和所述业务对象集合进行编码处理,得到所述目标用户在所述目标领域下的目标领域兴趣特征。
步骤S208,获取所述目标领域下的多个待推荐业务对象的待推荐业务对象特征,从所述多个待推荐业务对象特征中获取与所述目标领域兴趣特征匹配的目标推荐业务对象特征,输出所述目标推荐业务对象特征对应的目标推荐业务对象。
其中,步骤S206-步骤S208的具体过程可以参见上述图3对应实施例中的步骤S101-步骤S104。
请参见图7,图7是本申请实施例提供的一种样本跨领域推荐模型的示意图,如图7所示,获取多个领域的随机领域特征,将多个随机领域特征组合为随机领域特征序列输入Encoder(也称为样本域内领域编码器)和Transformer(也称为样本域间领域转换器),Encoder和Transformer将随机领域特征序列编码为样本领域特征。获取每个领域下与样本用户具有关联关系的样本单位业务对象集合的多个随机对象特征,将每个领域下的多个随机对象特征组合为随机对象特征序列。将多个随机对象特征序列输入Encoder(也称为样本域内对象编码器)和Transformer(也称为样本域间对象转换器),Encoder编码器和Transformer转换器将多个随机对象特征序列编码为样本对象特征。将样本领域特征和样本对象特征输入ConvE layer(也称为样本领域对象交叉编码器),ConvE layer将样本领域特征和样本对象特征交叉编码为样本通用兴趣特征。ConvE layer的计算公式即是前述公式(3)。从多个领域中随机选择一个领域作为样本领域,获取样本领域的随机领域特征,获取样本领域的样本单位业务对象集合,获取Encoder将样本领域的样本单位业务对象集合的随机对象特征序列编码后的编码向量,将该编码向量和样本领域的随机领域特征拼接为样本领域对象特征。将样本领域对象特征和样本通用兴趣特征输入ConvE laye,ConvElaye将样本领域对象特征和样本通用兴趣特征交叉编码为预测兴趣特征,计算预测兴趣特征和样本领域的样本单位业务对象集合的多个随机对象特征之间的特征相似度,基于Softmax loss损失函数度量特征相似度和样本领域的样本单位业务对象集合的多个随机对象特征的行为标签之间的预测误差,根据该预测误差调整样本跨领域推荐模型中的样本域内领域编码器、样本域间领域转换器、样本域内对象编码器、样本域间对象转换器和样本领域对象交叉编码器,以及调整随机领域特征序列以及调整多个随机对象特征序列。多次调整,直至调整后的样本跨领域推荐模型满足模型收敛条件。
上述可知,本申请提出了知识图谱三元组的定义,该定义可以用于多产品领域的数据结构建模,统一了数据形式,为模型训练提供数据基础;本申请中通过Transformer进行域内特征抽取,解特征稀疏的问题,通过ConvE进行域间特征交叉计算,提升跨域特征交叉计算的效果,增强用户行为推导能力。通过引入目标领域知识信息,当作领域偏置,转换用户兴趣空间,增强用户的目标领域兴趣特征的表达能力;再有,通过不同领域下的用户行为互相补充,以确定用户在目标领域下的兴趣特征,基于目标领域下的兴趣特征为用户推荐目标领域下的业务对象更具有针对性,可以进一步提高数据推荐的准确率。
进一步的,请参见图8,是本申请实施例提供的一种数据推荐装置的结构示意图。如图8所示,数据推荐装置1可以应用于上述图3-图7对应实施例中的服务器。数据推荐装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该数据推荐装置为一个应用软件;该装置可以用于执行本申请实施例提供的方法中的相应步骤。
数据推荐装置1可以包括:获取模块11、编码模块12、确定模块13以及输出模块14。
获取模块11,用于响应于在目标领域下针对目标用户的数据推荐请求,获取在多个领域下与所述目标用户具有关联关系的业务对象集合;所述业务对象集合包括在每个领域下与所述目标用户具有关联关系的业务对象,所述多个领域包括所述目标领域;
编码模块12,用于对所述多个领域和所述业务对象集合进行编码处理,得到所述目标用户在所述目标领域下的目标领域兴趣特征;
所述获取模块11,还用于获取所述目标领域下的多个待推荐业务对象的待推荐业务对象特征;
确定模块13,用于从多个待推荐业务对象特征中获取与所述目标领域兴趣特征匹配的目标推荐业务对象特征;
输出模块14,用于输出所述目标推荐业务对象特征对应的目标推荐业务对象。
在一个实施例中,所述确定模块13,具体用于:
确定所述目标领域兴趣特征与每个待推荐业务对象特征之间的特征距离;
根据所述特征距离,从所述多个待推荐业务对象特征中确定所述目标推荐业务对象特征。
在一个实施例中,所述多个领域包括以下至少两种:文本领域、视频领域、游戏领域和嵌入式应用程序领域;
若所述目标领域是文本领域,则所述目标推荐业务对象包括目标推荐电子读物。
在一个实施例中,获取模块11在用于获取在多个领域下与所述目标用户具有关联关系的业务对象集合时,具体用于:
获取在每个领域下已向所述目标用户曝光的已曝光业务对象;
若任一领域下的已曝光业务对象的数量等于数量阈值,则将所述任一领域下的已曝光业务对象组合为所述任一领域下的单位业务对象集合;
若任一领域下的已曝光业务对象的数量小于所述数量阈值,则获取非实体业务对象,将所述任一领域下的已曝光业务对象和所述非实体业务对象组合为所述任一领域下的单位业务对象集合;
将每个领域下的单位业务对象集合组合为与所述目标用户具有关联关系的业务对象集合。
其中,获取模块11、编码模块12、确定模块13以及输出模块14的具体功能实现方式可以参见上述图3对应实施例中的步骤S101-步骤S104,这里不再进行赘述。
请参见图8,编码模块12可以包括:第一编码单元121、获取单元122和第二编码单元123。
第一编码单元121,用于调用跨领域推荐模型对所述多个领域和所述业务对象集合进行交叉编码处理,得到所述目标用户的通用兴趣特征;
获取单元122,用于获取在目标领域下与所述目标用户具有关联关系的目标业务对象;
第二编码单元123,用于调用跨领域推荐模型对所述通用兴趣特征、所述目标领域和所述目标业务对象进行交叉编码处理,得到所述目标领域兴趣特征。
在一个实施例中,所述跨领域推荐模型包括领域编码器、对象编码器和领域对象交叉编码器;
所述第一编码单121单元,具体用于:
获取每个领域的原始领域特征,调用所述领域编码器将所有原始领域特征编码为领域特征;
获取所述业务对象集合中每个业务对象的原始对象特征,调用所述对象编码器将所有原始对象特征编码为对象特征;
调用所述领域对象交叉编码器将所述领域特征和所述对象特征交叉编码为所述目标用户的通用兴趣特征。
在一个实施例中,所述领域编码器包括域内领域编码器和域间领域转换器;
第一编码单121单元在用于调用所述领域编码器将所有原始领域特征编码为领域特征时,具体用于:
将所有原始领域特征组合为原始领域特征序列;
调用所述域内领域编码器,对所述原始领域特征序列进行自注意力循环编码,得到第一编码向量序列;
将所述第一编码向量序列进行池化处理,得到第二编码向量;
调用所述域间领域转换器,对所述第二编码向量进行多注意力编码,得到所述领域特征。
在一个实施例中,所述对象编码器包括域内对象编码器;
第二编码单元123,具体用于:
获取所述目标领域的目标领域特征;
调用所述域内对象编码器将所述目标业务对象编码为目标对象特征;
将所述目标领域特征和所述目标对象特征拼接为目标领域对象特征;
调用所述领域对象交叉编码器将所述通用兴趣特征和所述目标领域对象特征交叉编码为所述目标领域兴趣特征。
在一个实施例中,所述目标业务对象的数量为多个,多个目标业务对象均是非实体目标业务对象,或者多个目标业务对象包括实体目标业务对象和非实体目标业务对象,所述实体目标业务对象属于所述多个待推荐业务对象。
其中,第一编码单元121、获取单元122和第二编码单元123的具体功能实现方式可以参见上述图3对应实施例中的步骤S102,这里不再进行赘述。
请再参见图8,数据推荐装置1可以包括:获取模块11、编码模块12、确定模块13以及输出模块14;还可以包括:组合模块15、生成模块16、调用模块17以及训练模块18。
组合模块15,用于将所述目标用户,所述目标领域以及所述目标推荐业务对象组合为知识图谱三元组,基于所述知识图谱三元组更新所述跨领域推荐模型。
生成模块16,用于获取在每个领域下与样本用户具有关联关系的样本单位业务对象集合,生成每个领域的随机领域特征,以及生成多个样本单位业务对象集合中每个样本业务对象的随机对象特征;
调用模块17,用于调用样本跨领域推荐模型将所有随机领域特征和所有随机对象特征进行跨领域交叉编码处理,得到所述样本用户在样本领域下的预测兴趣特征;所述样本领域是所述多个领域中的任一领域;
所述生成模块16,还用于确定所述预测兴趣特征和所述样本领域的随机对象特征之间的特征相似度,获取所述样本领域的随机对象特征的行为标签,根据所述行为标签和所述特征相似度确定预测误差;
训练模块18,用于基于所述预测误差训练所述样本跨领域推荐模型,得到所述跨领域推荐模型。
在一个实施例中,生成模块16在用于获取在每个领域下与样本用户具有关联关系的样本单位业务对象集合时,具体用于:
获取所述样本用户的样本知识图谱三元组集合,所述样本知识图谱三元组集合包括多个样本知识图谱三元组,任一样本知识图谱三元组包括所述样本用户的用户标识、多个领域中任一领域的领域标识以及在所述任一领域下已向所述样本用户曝光的样本业务对象的对象标识;
从所述样本知识图谱三元组集合中确定在每个领域下与所述样本用户具有关联关系的样本单位业务对象集合。
在一个实施例中,训练模块18,具体用于:
基于所述预测误差调整所述样本跨领域推荐模型、每个领域的随机领域特征以及多个样本单位业务对象集合中每个样本业务对象的随机对象特征;
当调整后的样本跨领域推荐模型满足模型收敛条件时,将调整后的样本跨领域推荐模型作为所述跨领域推荐模型,将每个领域调整后的随机领域特征均作为原始领域特征,将多个样本单位业务对象集合中每个样本业务对象调整后的随机对象特征均作为原始对象特征。
在一个实施例中,调用模块17,具体用于:
调用样本跨领域推荐模型将所有随机领域特征和所有随机对象特征进行交叉编码处理,得到所述样本用户的样本通用兴趣特征;
从所述多个领域中确定样本领域,调用样本跨领域推荐模型将所述样本通用兴趣特征、所述样本领域的随机领域特征和所述样本领域的随机对象特征进行交叉编码处理,得到所述预测兴趣特征。
其中,组合模块15的具体功能实现方式可以参见上述图3对应实施例中的步骤S104,生成模块16、调用模块17以及训练模块18的具体功能实现方式可以参见上述图6对应实施例中的步骤S201-步骤S205。
进一步地,请参见图9,是本发明实施例提供的一种计算机设备的结构示意图。上述图3-图7对应实施例中的终端设备可以为计算机设备1000,如图9所示,计算机设备1000可以包括:用户接口1002、处理器1004、编码器1006以及存储器1008。信号接收器1016用于经由蜂窝接口1010、WIFI接口1012、...、或NFC接口1014接收或者发送数据。编码器1006将接收到的数据编码为计算机处理的数据格式。存储器1008中存储有计算机程序,处理器1004被设置为通过计算机程序执行上述任一项方法实施例中的步骤。存储器1008可包括易失性存储器(例如,动态随机存取存储器DRAM),还可以包括非易失性存储器(例如,一次性可编程只读存储器OTPROM)。在一些实例中,存储器1008可进一步包括相对于处理器1004远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备1000。用户接口1002可以包括:键盘1018和显示器1020。
在图9所示的计算机设备1000中,处理器1004可以用于调用存储器1008中存储计算机程序,以实现:
响应于在目标领域下针对目标用户的数据推荐请求,获取在多个领域下与所述目标用户具有关联关系的业务对象集合;所述业务对象集合包括在每个领域下与所述目标用户具有关联关系的业务对象,所述多个领域包括所述目标领域;
对所述多个领域和所述业务对象集合进行编码处理,得到所述目标用户在所述目标领域下的目标领域兴趣特征;
获取所述目标领域下的多个待推荐业务对象的待推荐业务对象特征;
从多个待推荐业务对象特征中获取与所述目标领域兴趣特征匹配的目标推荐业务对象特征,输出所述目标推荐业务对象特征对应的目标推荐业务对象。
在一个实施例中,处理器1004在执行对所述多个领域和所述业务对象集合进行编码处理,得到所述目标用户在所述目标领域下的目标领域兴趣特征时,具体执行以下步骤:
调用跨领域推荐模型对所述多个领域和所述业务对象集合进行交叉编码处理,得到所述目标用户的通用兴趣特征;
获取在目标领域下与所述目标用户具有关联关系的目标业务对象;
调用跨领域推荐模型对所述通用兴趣特征、所述目标领域和所述目标业务对象进行交叉编码处理,得到所述目标领域兴趣特征。
在一个实施例中,所述跨领域推荐模型包括领域编码器、对象编码器和领域对象交叉编码器;
处理器1004在执行调用跨领域推荐模型对所述多个领域和所述业务对象集合进行交叉编码处理,得到所述目标用户的通用兴趣特征时,具体执行以下步骤:
获取每个领域的原始领域特征,调用所述领域编码器将所有原始领域特征编码为领域特征;
获取所述业务对象集合中每个业务对象的原始对象特征,调用所述对象编码器将所有原始对象特征编码为对象特征;
调用所述领域对象交叉编码器将所述领域特征和所述对象特征交叉编码为所述目标用户的通用兴趣特征。
在一个实施例中,所述领域编码器包括域内领域编码器和域间领域转换器;
处理器1004在执行调用所述领域编码器将所有原始领域特征编码为领域特征时,具体执行以下步骤:
将所有原始领域特征组合为原始领域特征序列;
调用所述域内领域编码器,对所述原始领域特征序列进行自注意力循环编码,得到第一编码向量序列;
将所述第一编码向量序列进行池化处理,得到第二编码向量;
调用所述域间领域转换器,对所述第二编码向量进行多注意力编码,得到所述领域特征。
在一个实施例中,所述对象编码器包括域内对象编码器;
处理器1004在执行调用跨领域推荐模型对所述通用兴趣特征、所述目标领域和所述目标业务对象进行交叉编码处理,得到所述目标领域兴趣特征时,具体执行以下步骤:
获取所述目标领域的目标领域特征;
调用所述域内对象编码器将所述目标业务对象编码为目标对象特征;
将所述目标领域特征和所述目标对象特征拼接为目标领域对象特征;
调用所述领域对象交叉编码器将所述通用兴趣特征和所述目标领域对象特征交叉编码为所述目标领域兴趣特征。
在一个实施例中,所述目标业务对象的数量为多个,多个目标业务对象均是非实体目标业务对象,或者多个目标业务对象包括实体目标业务对象和非实体目标业务对象,所述实体目标业务对象属于所述多个待推荐业务对象。
在一个实施例中,处理器1004在执行获取在多个领域下与所述目标用户具有关联关系的业务对象集合时,具体执行以下步骤:
获取在每个领域下已向所述目标用户曝光的已曝光业务对象;
若任一领域下的已曝光业务对象的数量等于数量阈值,则将所述任一领域下的已曝光业务对象组合为所述任一领域下的单位业务对象集合;
若任一领域下的已曝光业务对象的数量小于所述数量阈值,则获取非实体业务对象,将所述任一领域下的已曝光业务对象和所述非实体业务对象组合为所述任一领域下的单位业务对象集合;
将每个领域下的单位业务对象集合组合为与所述目标用户具有关联关系的业务对象集合。
在一个实施例中,处理器1004在执行从多个待推荐业务对象特征中获取与所述目标领域兴趣特征匹配的目标推荐业务对象特征时,具体执行以下步骤:
确定所述目标领域兴趣特征与每个待推荐业务对象特征之间的特征距离;
根据所述特征距离,从所述多个待推荐业务对象特征中确定所述目标推荐业务对象特征。
在一个实施例中,所述多个领域包括以下至少两种:文本领域、视频领域、游戏领域和嵌入式应用程序领域;
若所述目标领域是文本领域,则所述目标推荐业务对象包括目标推荐电子读物。
在一个实施例中,处理器1004还执行以下步骤:
将所述目标用户,所述目标领域以及所述目标推荐业务对象组合为知识图谱三元组,基于所述知识图谱三元组更新所述跨领域推荐模型。
在一个实施例中,处理器1004还执行以下步骤:
获取在每个领域下与样本用户具有关联关系的样本单位业务对象集合;
生成每个领域的随机领域特征,以及生成多个样本单位业务对象集合中每个样本业务对象的随机对象特征;
调用样本跨领域推荐模型将所有随机领域特征和所有随机对象特征进行跨领域交叉编码处理,得到所述样本用户在样本领域下的预测兴趣特征;所述样本领域是所述多个领域中的任一领域;
确定所述预测兴趣特征和所述样本领域的随机对象特征之间的特征相似度,获取所述样本领域的随机对象特征的行为标签;
根据所述行为标签和所述特征相似度确定预测误差,基于所述预测误差训练所述样本跨领域推荐模型,得到所述跨领域推荐模型。
在一个实施例中,处理器1004在执行获取在每个领域下与样本用户具有关联关系的样本单位业务对象集合时,具体执行以下步骤:
获取所述样本用户的样本知识图谱三元组集合,所述样本知识图谱三元组集合包括多个样本知识图谱三元组,任一样本知识图谱三元组包括所述样本用户的用户标识、多个领域中任一领域的领域标识以及在所述任一领域下已向所述样本用户曝光的样本业务对象的对象标识;
从所述样本知识图谱三元组集合中确定在每个领域下与所述样本用户具有关联关系的样本单位业务对象集合。
在一个实施例中,处理器1004在执行基于所述预测误差训练所述样本跨领域推荐模型,得到所述跨领域推荐模型时,具体执行以下步骤:
基于所述预测误差调整所述样本跨领域推荐模型、每个领域的随机领域特征以及多个样本单位业务对象集合中每个样本业务对象的随机对象特征;
当调整后的样本跨领域推荐模型满足模型收敛条件时,将调整后的样本跨领域推荐模型作为所述跨领域推荐模型,将每个领域调整后的随机领域特征均作为原始领域特征,将多个样本单位业务对象集合中每个样本业务对象调整后的随机对象特征均作为原始对象特征。
在一个实施例中,处理器1004在执行调用样本跨领域推荐模型将所有随机领域特征和所有随机对象特征进行跨领域交叉编码处理,得到所述样本用户在样本领域下的预测兴趣特征时,具体执行以下步骤:
调用样本跨领域推荐模型将所有随机领域特征和所有随机对象特征进行交叉编码处理,得到所述样本用户的样本通用兴趣特征;
从所述多个领域中确定样本领域,调用样本跨领域推荐模型将所述样本通用兴趣特征、所述样本领域的随机领域特征和所述样本领域的随机对象特征进行交叉编码处理,得到所述预测兴趣特征。
应当理解,本发明实施例中所描述的计算机设备1000可执行前文图3到图7所对应实施例中对数据推荐方法的描述,也可执行前文图8所对应实施例中对数据推荐装置1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本发明实施例还提供了一种计算机存储介质,且计算机存储介质中存储有前文提及的数据推荐装置1所执行的计算机程序,且该计算机程序包括程序指令,当处理器执行上述程序指令时,能够执行前文图3到图7所对应实施例中的方法,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本发明所涉及的计算机存储介质实施例中未披露的技术细节,请参照本发明方法实施例的描述。作为示例,程序指令可以被部署在一个计算机设备上,或者在位于一个地点的多个计算机设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算机设备上执行,分布在多个地点且通过通信网络互连的多个计算机设备可以组成区块链系统。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备可以执行前文图3到图7所对应实施例中的方法,因此,这里将不再进行赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。