掌桥专利:专业的专利平台
掌桥专利
首页

生成推荐模型的方法、推荐方法、装置和设备

文献发布时间:2024-01-17 01:26:37


生成推荐模型的方法、推荐方法、装置和设备

技术领域

本申请涉及人工智能技术领域,尤其涉及一种生成推荐模型的方法、推荐方法、装置、设备、以及计算机可读存储介质。

背景技术

人工智能(artificial intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,AI是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。

随着互联网信息技术的发展,尤其是电子商务的兴起,互联网内容呈现爆炸式的增长,逐渐进入海量数据时代。用户面对琳琅满目并且种类繁杂的商品、电影、音乐、视频等各种物品时,却无所适从,这就是经常提到的信息过载问题。以电子游戏场景为例,游戏礼包作为电子游戏中常见的一种游戏交互,通常由相关的物品搭配而成,然后通过推荐系统投放给感兴趣的用户。然而现有的推荐系统存在马太效应,即容易向用户推荐热门的商品,而新颖的商品推荐效果较差。因此,如何构建一个兼顾精准性与新颖性的推荐系统,对于提升用户的体验感有非常重要的作用。

因此,亟需一种推荐方法,该方法在保证推荐结果的精确度的情况下,可以提升新颖性礼包的推荐,从而更好地满足用户需求。

发明内容

本申请提供了一种生成推荐模型的方法、推荐方法、装置、设备以及计算机可读存储介质,该方法在保证推荐结果的精确度的情况下,可以提升新颖性礼包的推荐,从而更好地满足用户需求。

本申请实施例第一方面提供了一种生成推荐模型的方法,所述方法包括:获取训练数据集,其中,所述训练数据集包括的至少一个训练样本包括训练数据和训练标签,所述训练数据包括用户关联的用户特征数据和候选礼包数据,所述训练标签表示:所述候选礼包数据中的用户已购买的第一类型礼包,以及所述候选礼包数据中的用户未购买的第二类型礼包;将所述训练样本输入到初始模型进行训练,获得预测标签,所述初始模型包括卷积核,所述卷积核在所述初始模型训练中,将所述用户针对所述第一类型礼包的得分降低至不低于第一阈值,将所述用户针对所述第二类型礼包的得分升高至不低于第二阈值,所述第二阈值大于所述第一阈值;根据所述预测标签和所述训练标签,对所述初始模型的参数进行参数更新,生成推荐模型。

本申请实施例第二方面提供了一种推荐方法,所述方法包括:获取用户发送的推荐请求,其中,所述推荐请求用于请求为所述用户推荐礼包;利用推荐模型对所述用户的用户特征数据进行处理,获得所述推荐请求对应的推荐结果,其中,所述推荐模型是根据上述第一方面所述的方法生成的模型,所述用户特征数据是根据所述推荐请求确定的;将所述推荐结果推荐给所述用户。

本申请实施例第三方面提供了一种生成推荐模型的装置,所述装置包括:获取单元、训练单元;所述获取单元,用于获取训练数据集,其中,所述训练数据集包括的至少一个训练样本包括训练数据和训练标签,所述训练数据包括用户关联的用户特征数据和候选礼包数据,所述训练标签表示:所述候选礼包数据中的用户已购买的第一类型礼包,以及所述候选礼包数据中的用户未购买的第二类型礼包;所述训练单元,用于将所述训练样本输入到初始模型进行训练,获得预测标签,所述初始模型包括卷积核,所述卷积核在所述初始模型训练中,将所述用户针对所述第一类型礼包的得分降低至不低于第一阈值,将所述用户针对所述第二类型礼包的得分升高至不低于第二阈值,所述第二阈值大于所述第一阈值;所述训练单元,还用于根据所述预测标签和所述训练标签,对所述初始模型的参数进行参数更新,生成推荐模型。

本申请实施例第四方面提供了一种推荐装置,所述装置包括:获取单元、处理单元、推荐单元;所述获取单元,用于获取用户发送的推荐请求,其中,所述推荐请求用于请求为所述用户推荐礼包;所述处理单元,用于利用推荐模型对所述用户的用户特征数据进行处理,获得所述推荐请求对应的推荐结果,其中,所述推荐模型是根据上述第一方面所述的方法生成的模型,所述用户特征数据是根据所述推荐请求确定的;所述推荐单元,用于将所述推荐结果推荐给所述用户。

本申请实施例第五方面还提供一种电子设备,包括:处理器;以及存储器,用于存储数据处理程序,该电子设备通电并通过所述处理器运行该程序后,执行如上所述的生成推荐模型的方法、或如上所述的推荐方法。

本申请实施例第六方面还提供了一种计算机可读存储介质,其上存储有一条或多条计算机指令,其特征在于,该指令被处理器执行以实现上述任意一种技术方案所述的生成推荐模型的方法、或推荐方法。

应当理解,本部分所描述的内容并非旨在标识本申请公开的实施例的关键或重要特征,也不用于限制本申请公开的范围。本申请公开的其它特征将通过以下的说明书而变得容易理解。

本申请实施例所提供的生成推荐模型的方法的技术方案,包括:获取训练数据集,其中,训练数据集包括的至少一个训练样本包括训练数据和训练标签,训练数据包括用户关联的用户特征数据和候选礼包数据,训练标签表示:候选礼包数据中的用户已购买的第一类型礼包,以及候选礼包数据中的用户未购买的第二类型礼包;将训练样本输入到初始模型进行训练,获得预测标签,初始模型包括卷积核,卷积核在初始模型训练中,将用户针对第一类型礼包的得分降低至不低于第一阈值,将用户针对第二类型礼包的得分升高至不低于第二阈值,第二阈值大于第一阈值;根据预测标签和训练标签,对初始模型的参数进行参数更新,生成推荐模型。可以理解的是,用户购买第一类型礼包(即,热门性礼包)次数较多,而购买第二类型礼包(即,新颖性礼包)的次数较少。所以,用户特征数据关联的用户所购买的礼包多数为第一类型礼包,用户特征数据关联的用户未购买的礼包多数为第二类型礼包。上述生成推荐模型的过程中,初始模型的卷积核能够将用户特征数据关联的用户针对候选礼包数据中的该用户已购买的第一类型礼包的得分降低至不低于第一阈值,这样,可以保证推荐模型输出的推荐结果的准确度;以及,用户特征数据关联的用户针对候选礼包数据中的该用户未购买的第二类型礼包的得分升高至不低于第二阈值,且第二阈值大于第一阈值,这样,可以提升模型针对用户从未购买的礼包(即,新颖性礼包)的推荐。也就是说,本申请实施例提供的生成推荐模型的方法所生成的推荐模型,可以在保证推荐结果的精确度的情况下,既维持了热门性礼包的推荐,又提升了新颖性礼包的推荐,从而更好地满足用户需求。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种应用场景的示意图。

图2是本申请实施例提供的一种生成推荐模型的方法的示意图。

图3是上述图2所涉及的初始模型的结构的示意图。

图4是本申请实施例提供的一种推荐方法的示意图。

图5是本申请实施例提供的另一种生成推荐模型的示意图。

图6是上述图5所涉及的推荐模型的结构的示意图。

图7是本申请实施例提供的一种生成推荐模型的装置的结构示意图。

图8是本申请实施例提供的一种推荐装置的结构示意图。

图9是本申请实施例提供的一种训练设备的结构示意图。

图10是本申请实施例提供的一种执行设备的结构示意图。

具体实施方式

为了使本领域的技术人员能够更好的理解本申请的技术方案,下面结合本申请实施例中的附图,对本申请进行清楚、完整地描述。但本申请能够以很多不同于上述描述的其他方式进行实施,因此,基于本申请提供的实施例,本领域普通技术人员在不经过创造性劳动的情况下,所获得的所有其他实施例,都应属于本申请保护的范围。

需要说明的是,本申请的权利要求书、说明书及附图中的术语“第一”、“第二”、“第三”等是用于区别类似的对象,并不用于描述特定的顺序或先后次序。这样使用的数据在适当情况下是可以互换的,以便于本文所描述的本申请的实施例,能够以除了在本文图示或描述的内容以外的顺序实施。此外,术语“包括”、“具有”以及他们的变形形式,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

为了便于理解,首先对本申请实施例中可能涉及的技术术语进行简单介绍。

1,深度学习(Deep Learning)

深度学习是机器学习和人工智能领域中的一个分支,深度学习是指计算机利用多层次的概念和计算,来进行机器学习的方法,其中多层次中的各个层之间具有一定的关联关系。

2,神经网络(Neural Network)模型

神经网络模型是在一定程度上模仿人类大脑的神经元结构来设计的一种深度学习模型,其通常是通过多个层和多个节点之间的连接关系来实现的。

3,深度神经网络(Deep Neural Network,DNN)

DNN是深度学习的一种框架,它是一种具备至少一个隐层的神经网络。换句话说,DNN包括卷积运算的神经网络模型。

4,图神经网络(Graph Neural Network,GNN)

GNN是指使用神经网络来学习图结构数据,提取和发掘图结构数据中的特征和模式,满足聚类、分类、预测、分割、生成等图学习任务需求的算法总称。GNN是深度学习用于非欧几里得数据,尤其是图结构数据,表征学习的一种通用框架。

5,图卷积核

图卷积核是卷积核在图结构数据上的推广,通过对图结构中的节点和该节点的邻居节点的表征向量进行加权平均后获得该节点的表征向量,其中权值是图卷积核定义。

6,正向传播

正向传播是指输入通过隐藏层到输出层的运动。在正向传播中,信息沿着一个单一方向前进。输入层将输入提供给隐藏层,然后生成输出。在此过程中是没有反向运动的。

7,反向传播

使用损失函数的梯度的权重更新,被称为反向传播。当定义神经网络时,为节点分配随机权重和偏差值,且收到单次选代的输出,就可以计算出网络的错误。然后将该错误与损失函数的梯度一起从外层通过隐藏层流回,以更新网络的权重。最后更新这些权重,以便减少后续选代中的错误。

8,损失函数

当建立一个网络时,网络试图将输出预测得尽可能接近实际值。可使用损失函数(也称成本函数)来衡量网络的准确性,以提高预测精度并减少误差,从而最大限度地降低损失。最优化的输出是那些损失函数值最小的输出。常用的损失函数有均方差函数和交叉熵函数。

9,批次(batch)

在训练神经网络时,不用一次发送全部输入,而将输入分成几个随机的大小相等的块。与将全部数据一次性送入网络相比,在训练时将数据分批发送,这样所建立的模型会更具有一般性。

10,迭代(iteration)

一次迭代是指,批次向前传播和向后传播训练一次。

11,激活函数

激活函数的作用是增加模型非线性,使之更好的进行分类与回归问题使用激活函数的目的是为了向网络中加入非线性因素;加强网络的表示能力,解决线性模型无法解决的问题。

12,Hive分布式数据库:Hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。

13,Airflow:是一个编排、调度和监控workflow的平台,由Airbnb开源。提供了丰富的命令行工具和简单易用的画像界面以便用户查看操作,并且airflow提供了监控和报警系统。

14,Redis数据库:“Remote Dictionary Server”的缩写,即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

随着互联网信息技术的发展,互联网内容呈现爆炸式的增长,逐渐进入大数据时代。用户面对琳琅满目并且种类繁杂的商品、电影、音乐、视频等各种物品时,却无所适从,这就是经常提到的信息过载问题。作为大数据时代解决用户信息过载问题的技术手段,推荐系统广泛存在于电子商务,社交平台,电子游戏等场景。以电子游戏场景为例,游戏礼包作为电子游戏中常见的一种游戏交互,通常由相关的物品搭配而成,然后通过推荐系统投放给感兴趣的用户。因此,如何构建一个兼顾精准性与新颖性的推荐系统,对于提升用户的体验感有非常重要的作用。

传统技术中,提出了一种基于图神经网络的游戏礼包推荐模型以提高推荐系统的精准性。基于图神经网络的游戏礼包推荐模型,通过将用户购买商品的行为构建为用户、物品与礼包的构建为异构图,然后使用GNN框架聚合邻居节点的表征向量,捕获用户、商品与礼包的高阶协同过滤信号,从而提升推荐效果。一方面,由于数据分布的原因,即热门的游戏礼包的数据较多,新颖的游戏礼包的数据比较少,导致上述基于图神经网络的游戏礼包模型更注重学习热门的游戏礼包。另一方面,上述基于图神经网络的游戏礼包模型采用经典的对称归一化的图卷积核,所以存在热门偏差的问题,即导致基于图神经网络的游戏礼包模型更倾向于推荐热门游戏礼包。基于此,利用上述图神经网络的游戏礼包推荐模型所获得的推荐结果的精确度虽然较好,但是容易频繁地向用户推荐热门的游戏礼包,导致新颖的游戏礼包的曝光较少。由于游戏中热门游戏礼包的种类有限,上述推荐模型若反复地给用户推送热门的游戏礼包,则不能真正捕获用户的需求,从而降低用户的体验感。综上,传统技术中提供的推荐模型容易存在“马太效应”(即两极分化现象),即现有的推荐系统倾向于向用户推荐热门的物品,比较冷门的物品难以曝光给感兴趣的用户,导致传统技术提供的方法不能很好地为用户推荐合适的物品,以及难以满足用户需求。

为了解决上述问题,本申请实施例提供了一种生成推荐模型的方法、推荐方法、装置、设备和存储介质。

下面,结合附图对适用于本申请实施例的推荐方法的应用场景和推荐方法进行详细说明。可以理解的是,本申请提供的各实施例之间不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。

首先,结合附图介绍适用于本申请实施例的推荐方法的应用场景。

图1是本申请实施例提供的一种应用场景的示意图。如图1所示,该应用场景包括至少一个终端101和至少一个服务器102。服务器102与终端101之间可以通过网络103进行通信,以实现数据的传输。

终端101上可以安装和运行有应用程序。示例性的,上述应用程序可以但不限于为以下任意一种应用程序:游戏应用程序、购物类应用程序、浏览器应用程序、智能助手类应用程序、社交类应用程序、虚拟现实(Virtual Reality,VR)类应用程序、或者增强现实(Augmented Reality,AR)类应用程序。在本申请实施例中,对终端101的设备类型不作具体限定。例如,终端101可以但不限于是以下任意一种设备:个人电脑、智能手机、平板电脑、台式计算机、个人数字助理(Personal Digital Assistant,PDA)、膝上型计算机、智能音箱、智能手表或者可穿戴设备(例如智能手表、或者智能眼镜等)、或其他类型的移动设备。

服务器102用于为终端101中安装和运行的应用程序的客户端提供后台服务。在一些实现方式中,服务器102中可以部署有本申请实施例生成的推荐模型。在服务器102接收到终端101发送的推荐请求后,服务器102可以利用本地部署的推荐模型对推荐请求进行处理,获得推荐请求对应的推荐结果。此后,服务器102可以将推荐结果发送给终端101,以更好地满足终端101对应的用户需求。可选的,在另一些实现方式中,服务器102还可以利用用户数据对初始模型进行训练生成推荐模型,并将训练所生成的推荐模型部署在服务器102的本地。在本申请实施例中,对服务器102的设备类型不作具体限定。也就是说,服务器102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。可选地,服务器102同时为多个终端101中的应用程序提供后台服务。

网络103可以是有线网络或无线网络,本申请对此不作具体限定。可选的,在一些实现方式中,上述有线网络或无线网络使用标准通信技术和/或协议。网络通常为因特网、但也能够是任何网络,包括但不限于局域网(local area network,LAN)、城域网(metropolitan area network,MAN)、广域网(wide area network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合)。在一些实施例中,使用包括超文本标记语言(hyper text mark-up language,HTML)、可扩展标记语言(extensible markuplanguage,XML)等的技术和/或格式来代表通过网络交换的数据。此外还能够使用诸如安全套接字层(secure socket layer,SSL)、传输层安全(transport layer security,TLS)、虚拟专用网络(virtual private network,VPN)、网际协议安全(internet protocolsecurity,IPsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还能够使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。

应理解,上述图1示出的应用场景仅为示意,并不对本申请实施例提供的情感识别方法所适用的应用场景构成任何限定。可选的,上述图1示出的应用场景还可以包括更多数目的服务器102、更多数目的终端101和更多数目的网络103。可选的,上述图1示出的终端101还可以替换为除服务器102以外的服务器。

接下来,结合图2至图6介绍本申请实施例提供的生成推荐模型的方法和推荐方法。

图2是本申请实施例提供的一种生成推荐模型的方法的示意图。本申请实施例提供的生成推荐模型的方法可以由训练设备来执行。可以理解的是,该训练设备可以实现为软件、或者软件和硬件的组合。示例性的,本申请实施例中的训练设备可以但不限于是服务器或用户使用的终端设备。如图2所示,本申请实施例提供的生成推荐模型的方法包括S210至S230。下面,对S210至S230进行详细介绍。

S210,获取训练数据集,其中,训练数据集包括的至少一个训练样本包括训练数据和训练标签,训练数据包括用户关联的用户特征数据和候选礼包数据,训练标签表示:候选礼包数据中的用户已购买的第一类型礼包,以及候选礼包数据中的用户未购买的第二类型礼包。

用户关联的用户特征数据用于表示该用户的特征。对用户特征数据所包括的内容不作具体限定。在一些实现方式中,用户特征数据包括:用户的标识,用户购买的礼包的标识,用户购买的礼包的购买数据,以及用户购买的礼包的购买次数。其中,用户的标识用于指示该用户,用户购买的礼包的标识用于指示该礼包。对用户的标识和用户购买的礼包的标识的呈现方式不作具体限定。例如,用户的标识可以但不限于是用户的账号或用户的名称。例如,礼包的标识可以但不限于是礼包的名称。可以理解的是,在本申请实施例中,用户购买的礼包为第一类型礼包,该用户未购买的礼包为第二类型礼包。其中,第一类型礼包是热门性礼包,第二类型礼包是新颖性礼包。可选的,在另一些实现方式中,上述用户特征数据还可以包括以下至少一种数据用户的职业、用户的社交关系、用户的游戏等级、用户游玩游戏的战力或者用户的付费能力。

候选礼包数据包括用户已购买的第一类型礼包和用户未购买的第二类型礼包。接下来,对候选礼包数据和用户已购买的礼包进行举例描述。示例性的,用户特征数据关联的用户已购买的礼包包括:礼包1和礼包2;候选礼包数据包括:礼包1、礼包2、礼包3、礼包4和礼包5,礼包1至礼包5为5个不同的礼包;其中,礼包1和礼包2为第一类型礼包的一个示例;礼包3、礼包4和礼包5为第二类型礼包的一个示例。

在本申请实施例中,对候选礼包数据中的礼包和用户所购买的礼包中的任意一个礼包所包括的物品的数目和种类均不作具体限定。例如,在游戏应用领域,上述任意一个礼包所包括的物品可以但不限于是以下一种或多种:虚拟货币、道具、或者装备。

可以理解的是,上述S210中以训练数据集包括至少一个训练样本为例进行描述。在本申请实施例中,对训练数据集包括的训练样本的数目不作具体限定。也就是说,上述S210所描述的训练数据集可以包括一个或多个训练样本。在训练数据集包括多个训练样本的场景中,多个训练样本和多个用户一一对应。

S220,将训练样本输入到初始模型进行训练,获得预测标签,初始模型包括卷积核,卷积核在初始模型训练中,将用户针对第一类型礼包的得分降低至不低于第一阈值,将用户针对第二类型礼包的得分升高至不低于第二阈值,第二阈值大于第一阈值。

在本申请实施例中,初始模型是图卷积神经网络模型,其中,输出模型包括输入层、中间层和输出层。中间层至少包括图卷积层,图卷积层的卷积核用于执行图卷积计算。示例性的,图3示出了本申请实施例提供的初始模型的结构。参见图3所示,初始模型包括输入层310、中间层320和输出层330,其中,中间层320包括具有N层结构的图卷积层321,N为整数。对N的取值不作具体限定,可以根据实际应用场景和实际需求进行设置。例如,N可以但不限于等于2、5或10等。需说明的是,上述图3示出的中间层320仅包括图卷积层321,并未引入任何诸如池化层或激活层等其他计算层。可选的,在另一些实现方式中,还可以在图3示出的中间层321包括图卷积层321之后设置诸如正则化层或激活层等其他计算层。其中,正则化层,用于对卷积层输出的结果执行正则化操作,降低过拟合风险。激活层,用于将非线性特性引入到模型网络中,以强化模型网络的学习能力。

在本申请实施例中,上述S220所描述的训练过程具体可以包括S220-1至S220-4。下面,对S220-1至S220-4进行详细介绍。

S220-1,初始模型的输入层对训练数据进行特征提取,获得用户特征矩阵、礼包特征矩阵和物品特征矩阵;其中,用户特征矩阵表示用户特征数据;礼包特征矩阵表示候选礼包数据中记录的候选礼包的特征;物品矩阵表示候选礼包数据中记录的候选礼包所包括的物品的特征。

在本申请实施例中,用户特征矩阵、礼包特征矩阵、物品特征矩阵中的任意一个特征矩阵可以为一个二维矩阵。示例性的,以用户特征矩阵为例进行介绍,用户特征矩阵是对用户数据进行特征提取所获得的一个二维矩阵,其中,用户特征矩阵的行数表示用户数,用户特征矩阵的列数表示特征长度。上述礼包的特征可以但不限于为以下一种或多种特征:礼包的id、礼包的虚拟价格、或者礼包所包括的物品的类型和数目。上述物品的特征可以但不限于为以下一种或多种特征:物品的id、物品的类型、或者物品的用途。

可以理解的是,上述用户特征矩阵、礼包特征矩阵和物品特征矩阵中的任意一个特征矩阵是一个固定取值的取值,即上述任意一个特征矩阵中不包括可以调节的可变参数。

S220-2,初始模型的中间层对用户特征矩阵、礼包特征矩阵、以及物品特征矩阵进行特征变换,获得用户特征矩阵对应的初始用户表征矩阵、礼包特征矩阵对应的初始礼包表征矩阵和物品特征矩阵对应的初始物品表征矩阵;其中,任意一个表征矩阵包括可调节的神经网络参数,中间层包括卷积层。

其中,任意一个初始表征矩阵包括可调节的神经网络参数,也就是说,对初始模型的参数进行调整时的参数还包括初始表征矩阵包括的可调节的神经网络参数。

在本申请实施例中,中间层至少包括卷积层,对中间层是否还包括除去卷积层以外的其他网络层不作具体限定。在一些实现方式中,在中间层仅包括卷积层的情况下,上述特征变换处理也由卷积层执行。可选的,在中间层包括的卷积层之前还设置有其他网络层,还可以由该其他网络层执行上述特征变换处理。

S220-3,初始模型的卷积层根据卷积核和初始用户表征矩阵、初始礼包表征矩阵和初始物品表征矩阵,获得用户表征矩阵、礼包表征矩阵和物品表征矩阵。

上述初始模型的卷积层根据卷积核和初始用户表征矩阵、初始礼包表征矩阵和初始物品表征矩阵,获得用户表征矩阵、礼包表征矩阵和物品表征矩阵。在一些实现方式中,用户表征矩阵是初始用户表征矩阵和卷积核的乘积;礼包表征矩阵是初始礼包表征矩阵和卷积核的乘积;物品表征矩阵是初始物品表征矩阵和卷积核的乘积。这种实现方式中,用户表征矩阵相当于是初始用户表征矩阵的一阶矩阵;礼包表征矩阵相当于是初始礼包表征矩阵的一阶矩阵;物品表征矩阵相当于是初始物品表征矩阵的一阶矩阵。可选的,在另一些实现方式中,用户表征矩阵是第一用户表征矩阵和卷积核的乘积,第一用户表征矩阵是初始用户表征矩阵和卷积核的乘积;礼包表征矩阵是第一礼包表征矩阵和卷积核的乘积,第一礼包表征矩阵是初始礼包表征矩阵和卷积核的乘积;物品表征矩阵是第一物品表征矩阵和卷积核的乘积,第一物品表征矩阵是初始物品表征矩阵和卷积核的乘积。用户表征矩阵相当于是初始用户表征矩阵的二阶矩阵;礼包表征矩阵相当于是初始礼包表征矩阵的二阶矩阵;物品表征矩阵相当于是初始物品表征矩阵的二阶矩阵。

可选的,在一些实现方式中,初始模型的卷积层根据卷积核和初始用户表征矩阵、初始礼包表征矩阵和初始物品表征矩阵,获得用户表征矩阵、礼包表征矩阵和物品表征矩阵,具体可以包括如下步骤:

S220-31,通过卷积核对初始用户表征矩阵、初始礼包表征矩阵和初始物品表征矩阵进行连续阶次的卷积,获得每一阶次卷积后的第一初始用户表征矩阵、第一初始礼包表征矩阵和第一初始物品表征矩阵。

比如通过卷积核对初始用户表征矩阵、初始礼包表征矩阵和初始物品表征矩阵进行K阶次的卷积,那么,获得的第一初始用户表征矩阵即包括初始用户表征矩阵的零阶矩阵、初始用户表征矩阵的一阶矩阵、初始用户表征矩阵的二阶矩阵、……、初始用户表征矩阵的K阶矩阵;获得的第一初始礼包表征矩阵即包括初始礼包表征矩阵的零阶矩阵、初始礼包表征矩阵的一阶矩阵、初始礼包表征矩阵的二阶矩阵、……、初始礼包表征矩阵的K阶矩阵;获得的第一初始物品表征矩阵即包括初始物品表征矩阵的零阶矩阵、初始物品表征矩阵的一阶矩阵、初始物品表征矩阵的二阶矩阵、……、初始物品表征矩阵的K阶矩阵。

S220-32,对每一阶次卷积后的第一初始用户表征矩阵、第一初始礼包表征矩阵和第一初始物品表征矩阵进行平均值处理,获得用户表征矩阵、礼包表征矩阵和物品表征矩阵。

比如通过卷积核对初始用户表征矩阵、初始礼包表征矩阵和初始物品表征矩阵进行K阶次的卷积,那么,获得的用户表征矩阵即为初始用户表征矩阵的零阶矩阵、初始用户表征矩阵的一阶矩阵、初始用户表征矩阵的二阶矩阵、……、初始用户表征矩阵的K阶矩阵的平均值;获得的礼包表征矩阵即为初始礼包表征矩阵的零阶矩阵、初始礼包表征矩阵的一阶矩阵、初始礼包表征矩阵的二阶矩阵、……、初始礼包表征矩阵的K阶矩阵的平均值;获得的物品表征矩阵即为初始物品表征矩阵的零阶矩阵、初始物品表征矩阵的一阶矩阵、初始物品表征矩阵的二阶矩阵、……、初始物品表征矩阵的K阶矩阵的平均值。

可选的,在一些实现方式中,上述卷积核是利用初始对角矩阵对邻接矩阵执行非对称处理所获得的非对称卷积核,其中,邻接矩阵表示用户、候选礼包数据中记录的候选礼包和候选礼包所包括的物品之间的映射关系。在一些实现方式中,初始对角矩阵的第i行第i列的值等于邻接矩阵的第i行的和,初始对角矩阵除去第i行第i列之外的任意一个元素的值等于零,i的取值范围为[1,P],P表示邻接矩阵的最大行数,且P为大于等于2的整数。在一些实现方式中,邻接矩阵是根据指示矩阵和关联矩阵确定的,其中,关联矩阵表示候选礼包数据中记录的候选礼包和候选礼包所包括的物品之间的映射关系。可选的,在一些实现方式中,上述根据指示矩阵和关联矩阵所确定的邻接矩阵通过以下数学公式表示:

其中,A表示邻接矩阵;X表示指示矩阵;Z表示关联矩阵;X

可选的,在一些实现方式中,上述卷积核具体是第一对角矩阵、邻接矩阵和第二对角矩阵的乘积,其中,第一对角矩阵是初始对角矩阵的第一参数值次幂,第一参数值等于负的初始参数值,第二对角矩阵是初始对角矩阵的第二参数值次幂,第二参数值等于初始参数值减去1,初始参数值为预设数值。上述卷积核中的初始参数值是一个预设的数值,也就是说,在对初始模型进行训练前已经在初始模型中设置有初始参数值。其中,初始参数值的具体取值可以根据初始模型的训练结果进行调整,也就是说,初始参数值的取值不是固定不变的。在本申请实施例中,上述卷积核中的初始参数值的取值可以用来权衡训练好的推荐模型所推荐结果的精确度与新颖性。具体来说,通过增大初始参数值的取值,可以提高推荐模型的新颖性越好,即推荐模型越容易推出新颖的游戏礼包。对初始参数值的取值范围是没有限制的,也就是说,初始参数值的具体取值可以根据实际模型的测试效果进行调节和设置。在一些实现方式中,为了权衡新颖性礼包和热门性礼包的推荐概率,申请人通过理论推导发现,增加初始参数值可以增加新颖礼包的曝光,但是初始参数值并不是越大越好,因为过大会压制热门性礼包。申请人根据实验发现,在初始参数值的取值范围为[0.5,1.5]的情况下,能在精确度不下降的情况下,显著提高新颖性礼包的推荐,此时热门性礼包也不会受到影响。示例性的,下文图5所描述的方法中的(公式5.7)示出了上述卷积核的一种具体的数据公式表示。

可以理解的是,上述S220-3所描述的初始模型的卷积层执行的卷积计算是图卷积计算处理。

S220-4,初始模型的输出层根据用户表征矩阵和礼包表征矩阵,获得预测标签。

其中,初始模型的输出层根据用户表征矩阵和礼包表征矩阵,获得预测标签,包括:初始模型的输出层根据用户表征矩阵和礼包表征矩阵,确定用户表征矩阵中的用户针对所述礼包表征矩阵中的每个礼包的得分值;根据所述用户表征矩阵中的用户针对所述礼包表征矩阵中的每个礼包的得分值,确定预测标签。

可选的,在一些实现方式中,将用户表征矩阵和礼包表征矩阵的乘积作为用户表征矩阵关联的用户对礼包表征矩阵关联的候选礼包的得分;以该得分作为预测标签。

如上所述,本实施例提供的卷积核为非对称卷积核,该卷积核在初始模型训练过程中,能够对不同训练标签的候选礼包卷积出不同的结果,可以将第一类型礼包的初始用户表征矩阵、初始礼包表征矩阵、初始物品表征矩阵卷积为更低的向量,将第二类型礼包的初始用户表征矩阵、初始礼包表征矩阵、初始物品表征矩阵卷积为更高的向量,具体为:

若初始礼包表征矩阵关联的候选礼包为第一类型礼包,卷积核通过对初始用户表征矩阵、初始礼包表征矩阵和初始物品表征矩阵进行连续阶次的卷积,将初始用户表征、初始礼包表征矩阵和初始物品表征矩阵降低为用户表征矩阵,礼包表征矩阵和物品表征矩阵,并使用户表征矩阵与礼包表征矩阵的乘积不低于第一阈值;

若初始礼包表征矩阵关联的候选礼包为第二类型礼包,卷积核通过对初始用户表征矩阵、初始礼包表征矩阵和初始物品表征矩阵进行连续阶次的卷积,将初始用户表征、初始礼包表征矩阵和初始物品表征矩阵升高为用户表征矩阵,礼包表征矩阵和物品表征矩阵,并使用户表征矩阵与礼包表征矩阵的乘积不低于第二阈值。

S230,根据预测标签和训练标签,对初始模型的参数进行参数更新,生成推荐模型。

执行上述S230,即根据预测标签和训练标签,对初始模型的参数进行参数更新,生成推荐模型,包括:根据预测标签和训练标签之间的差异,对初始模型的参数进行参数更新;待训练达到预设训练条件,停止对初始模型的参数进行参数更新,获得推荐模型。其中,预测标签和训练标签之间的差异可以通过损失函数表示。在本申请实施例中,上述损失函数可以是分类损失函数。其中,对分类损失函数的函数形式不作具体限定,可以根据实际需求进行选取。例如,上述分类损失函数可以但不限于为:负对数似然损失、或者交叉熵损失函数。其中,对预设训练条件不作具体限定,可以根据实际场景进行设置。在一些实现方式中,预设训练条件可以包括以下至少一种条件:对初始模型的训练次数满足预设训练次数、对初始模型的训练时间满足预设训练时间、或者初始模型的损失结果(即初始模型的损失函数的值)小于预设损失阈值。对上述预设训练次数、预设训练时间和预设损失阈值均不作具体限定,可以根据实际需求进行设置。

在本申请实施例中,执行上述S230后可以获得训练好的推荐模型。此后,可以利用训练好的推荐模型为用户提供推荐服务。接下来,介绍,利用训练好的推荐模型为用户提供推荐服务的方法。

可选的,在一些实现方式中,在根据预测标签和训练标签,对初始模型的参数进行参数更新,生成推荐模型之后,方法还包括:获取待推荐用户发送的推荐请求,其中,推荐请求用于请求为待推荐用户推荐礼包;利用推荐模型对待推荐用户特征数据进行处理,获得推荐请求对应的推荐结果,其中,待推荐用户特征数据是根据推荐请求确定的;将推荐请求对应的推荐结果推荐给待推荐用户。上述实现方式中,待推荐用户发送的推荐请求用于请求为待推荐用户推荐礼包,待推荐用户特征数据是根据待推荐用户发送的推荐请求确定的。其中,待推荐用户发送的推荐请求可以包括待推荐用户的基础信息。也就是说,执行本申请实施例的方法的设备根据待推荐用户发送的推荐请求可以确定待推荐用户特征数据。其中,上述利用推荐模型对待推荐用户特征数据进行处理,获得推荐请求对应的推荐结果,包括:利用推荐模型对待推荐用户特征数据进行处理,推荐模型输出待推荐用户针对多个候选礼包中每个候选礼包的得分结果;将待推荐用户针对多个候选礼包中每个候选礼包的得分结果中,待推荐用户对应的最高得分结果所对应的候选礼包,确定为推荐请求对应的推荐结果所指示的礼包。

应理解的是,上述图2示出的生成推荐模型的方法仅为示意,并不对本申请实施例提供的生成推荐模型的方法构成任何限定。可选的,在另一些实现方式中,上述训练数据集还可以包括多个训练样本,其中,多个训练样本和多个用户关联。例如,训练数据集包括第一训练样本和第二训练样本。其中,第一训练样本包括第一训练数据和第一训练标签,第一训练数据包括第一用户特征数据和候选礼包数据,第一训练标签表示表示:候选礼包数据中的第一用户已购买的第一类型礼包,以及候选礼包数据中的第一用户未购买的第二类型礼包;第二训练样本包括第二训练数据和第二训练标签,第二训练数据包括第二用户特征数据和候选礼包数据,第二训练标签表示表示:候选礼包数据中的第二用户已购买的第一类型礼包,以及候选礼包数据中的第二用户未购买的第二类型礼包。

在本申请实施例中,初始模型的卷积核使得:用户特征数据关联的用户针对候选礼包数据中的该用户已购买的第一类型礼包的得分不低于第一阈值,这样,可以保证推荐模型输出的推荐结果的准确度;以及,用户特征数据关联的用户针对候选礼包数据中的该用户未购买的第二类型礼包的得分不低于第二阈值,且第二阈值大于第一阈值,这样,可以提升模型针对用户从未购买的礼包(即,新颖性礼包)的推荐。也就是说,本申请实施例提供的生成推荐模型的方法,在保证推荐结果的精确度的情况下,既维持了热门性礼包的推荐,又提升了新颖性礼包的推荐,从而更好地满足用户需求。进一步,在上述实现方式中,利用训练好的推荐模型对待推荐用户的推荐请求进行处理所获得的推荐结果,可以更好地为待推荐用户推荐合适的物品,以更好地满足待推荐用户的需求。

上文结合图2介绍了本申请提供的生成推荐模型的方法。在获得训练好的的推荐模型之后,还可以利用生成的推荐模型为用户提供推荐服务,例如为用户推荐礼包。接下来,结合图4介绍本申请实施提供的模型推荐方法。

图4是本申请实施例提供的一种推荐方法的示意图。本申请实施例提供的推荐方法可以由执行设备来执行。可以理解的是,该执行设备可以实现为软件、或者软件和硬件的组合。示例性的,本申请实施例中的执行设备可以但不限于是服务器或用户使用的终端设备。如图4所示,本申请实施例提供的推荐方法包括S410至S430。下面,对S410至S430进行详细介绍。

410,获取用户发送的推荐请求,其中,推荐请求用于请求为用户推荐礼包。

420,利用推荐模型对用户的用户特征数据进行处理,获得推荐请求对应的推荐结果,其中,用户特征数据是根据推荐请求确定的。

用户特征数据和用户关联,其中,用户特征数据表示该用户的特征。对用户特征数据所包括的内容不作具体限定。在一些实现方式中,用户特征数据包括:用户的标识,用户购买的礼包的标识,用户购买的礼包的购买数据,以及用户购买的礼包的购买次数。可选的,在另一些实现方式中,上述用户特征数据还可以包括以下至少一种数据用户的职业、用户的社交关系、用户的游戏等级、用户游玩游戏的战力或者用户的付费能力。在本申请实施例中,用户特征数据是根据推荐请求确定的。对根据推荐请求确定用户特征数据的实现方式不作具体限定。在一些实现方式中,推荐请求包括用户特征数据。可选的,在另一些实现方式中,推荐请求包括用户的标识,这种实现方式中,根据推荐请求确定用户特征数据,可以包括以下步骤:根据推荐请求,确定用户的标识;根据用户的标识,确定用户特征数据。

执行上述S420,即利用推荐模型对用户特征数据进行处理,获得推荐请求对应的推荐结果,包括:将用户特征数据和多个候选礼包输入至推荐模型,获得用户针对多个候选礼包中的每个候选礼包的推荐得分;根据用户针对多个候选礼包中的每个候选礼包的推荐得分,确定推荐请求对应的推荐结果,其中,推荐结果所指示的礼包为用户针对多个候选礼包中推荐得分最高的候选礼包。对上述多个候选礼包的数目不作具体限定,例如,多个候选礼包可以但不限于是2个、3个或10个等。上述实现方式中,利用训练好的推荐模型对用户特征数据进行处理,以获得为用户特征数据关联的用户进行推荐的推荐结果,其中,推荐结果所指示的礼包是该用户针对多个候选礼包中的得分最高的候选礼包。

可以理解的是,上述S420所描述的推荐模型是根据上述图2所描述的生成推荐模型的方法生成的模型,此处未详细赘述的内容可以参见上述图2中的相关描述。

430,将推荐结果推荐给用户。

应理解的是,上述图4示出的推荐方法仅为示意,并不对本申请实施例提供的推荐方法构成任何限定。可以理解的是,上述S410至S430以利用推荐模型为一个用户进行推荐礼包为例进行描述。可选的,在另一些实现方式中,还可以基于上述S410至S430所描述的推荐方法为多个不同的用户推荐礼包。

在本申请实施例中,利用训练好的推荐模型对用户特征数据进行处理,以获得推荐结果。其中,上述推荐模型能够在保证推荐结果的精确度的情况下,既维持热门性礼包的推荐,又提升新颖性礼包的推荐,以更好地满足用户需求。基于此,该推荐方法能够在保证推荐结果的精确度的情况下,既持热门性礼包的推荐,又提升新颖性礼包的推荐,以更好地满足用户需求。

下面,结合图5介绍本申请实施例提供的另一种生成推荐模型的方法。可以理解的是,图5所述描述的推荐方法为上述图2所描述的生成推荐模型的一个具体示例,图5所描述的方法仅为示意,并不对本申请提供的推荐方法构成任何限定。

图5是本申请实施例提供的另一种生成推荐模型的方法的示意图。本申请实施例提供的生成推荐模型的方法可以由执行设备来执行。可以理解的是,该执行设备可以实现为软件、或者软件和硬件的组合。在一些实现方式中,本申请实施例中的执行设备可以但不限于是服务器或用户使用的终端设备。示例性的,本申请实施例提供的生成推荐模型的方法可以但不限于由图1示出的服务器102执行。如图5所示,该方法包括S501至S513。下面,对S501至S513进行详细介绍。

S501,获取训练数据集,其中,训练数据集包括训练样本1,训练样本1包括训练数据1和训练标签1,训练数据1包括用户1的画像特征和游戏1关联的候选礼包集合1,训练标签1表示:候选礼包集合1中用户1已购买的类型#1的礼包,以及候选礼包集合1中用户1未购买的类型#2的礼包。

用户1的画像特征,用于描述用户1的属性信息,其中,用户1的属性信息又称为用户1的特征信息。也就是说,根据用户1的画像特征可以确定用户1。其中,用户1的画像特征可以但不限于包括以下信息:用户1的职业、用户1的社交关系、用户1的游戏等级、用户1游玩游戏的战力、用户1的付费能力、以及用户1历史购买的游戏中的礼包记录。其中,用户1历史购买游戏礼包的记录,用于记录用户1在某个时间段购买的某个游戏中的礼包的信息。在本申请实施例中,用户1历史购买游戏礼包的记录具体可以记录有以下信息:用户1的标识id,游戏礼包的id,购买游戏中的礼包的时间,以及购买游戏中的礼包的数量。用户1的id用于标识用户1;游戏礼包的id用于标识该游戏礼包。可以理解的是,上述用户1的标识id,游戏礼包的id,购买游戏礼包的时间,以及购买游戏礼包的数量存在映射关系。示例性的,下文中示出的表5.1以二维数据表的形式描述了本申请实施例提供的用户1历史购买游戏礼包的记录的一个示例。

表5.1

在本申请实施例中,对执行上述S510所描述的获取训练数据集的数据获取方法不作具体限定。在一些实现方式中,执行上述S510,可以包括以下步骤:获取游戏日志信息;根据游戏日志信息,获得初始用户1的画像特征;对初始用户1的画像特征进行预处理,并将预处理后所获得用户1的画像特征以数据表的形式存储至Hive数据库;Airflow任务调度系统从Hive数据库中读取用户1的画像特征。

上文,结合S501描述了获取训练数据集的步骤。获取训练数据集后,可以利用获取的训练数据集对推荐模型进行训练。其中,推荐模型是一种深度神经网络模型。对深度神经网络模型的模型类型不作具体限定,例如,适用于本申请实施例的深度神经网络模型可以但不限于是多层感知机(Multilayer Perceptron,MLP)模型、Transformer模型。

候选礼包集合1中用户1已购买的类型#1的礼包,以及候选礼包集合1中用户1未购买的类型#2的礼包。其中,类型#1的礼包为用户1已购买的礼包,类型#2的礼包为用户1没有购买的礼包,且候选礼包集合1包括类型#1的礼包和类型#2的礼包。

下面,结合S502至S511描述本申请实施例提供的利用训练数据集对推荐模型执行训练的训练步骤。其中,推荐模型包括输入层、中间层和输出层。推荐模型包括的中间层包括N层,N为整数。对N的取值不作具体限定,可以根据实际应用场景和实际需求进行设置。在一些实现方式中,上述中间层仅包括图卷积层,并未引入任何诸如激活层等其他计算层。可选的,在另一些实现方式中,还可以在中间层包括的N层之后设置诸如正则化层或激活层等其他计算层。

S502,利用推荐模型包括的输入层对训练数据1进行特征提取,获得训练数据1对应的特征矩阵。

执行上述S520的目的为:利用输入层对训练数据1包括的各个特征进行特征提取,以获得各个特征对应的特征矩阵。可以理解的是,本申请实施例提供的推荐模型包括的输入层是具有特征提取功能的网络层。

在本申请实施例中,训练数据1对应的特征矩阵包括以下矩阵:用户特征矩阵、游戏礼包特征矩阵、物品特征矩阵、指示矩阵和关联矩阵。接下来,分别对训练数据1对应的特征矩阵进行详细介绍。

用户特征矩阵是对用户1的画像特征进行特征提取所获得的。用户特征矩阵是一个二维矩阵,其中,用户特征矩阵的行数表示用户数,用户特征矩阵的列数表示特征长度。

在本申请实施例中,训练数据集包括训练样本1,其中,训练样本1包括用户1的画像特征和游戏1关联的候选礼包集合1。也就是说,本申请实施例所描述的训练数据集和以下内容关联:用户集合U,游戏礼包集合B以及物品集合I。其中,用户集合U包括用户1,游戏礼包集合B包括候选礼包集合I,物品集合I包括游戏礼包集合B中的礼包所包括的物品。相应的,用户集合U,游戏礼包集合B以及物品集合I个数分别为:|U|,|B|以及|I|。为便于描述,下文中假设u∈U,b∈B,i∈I,其中,u表示用户1,b表示游戏礼包集合B中的任意一个礼包,i表示游戏礼包集合B中的礼包所包括的任意一个物品。

基于此,上文所描述的用户特征矩阵可以表示为:

在上述(公式5.1)中,F

游戏礼包特征矩阵是对游戏礼包的特征进行特征提取所获得的。游戏礼包矩阵是一个二维矩阵,其中,游戏礼包特征矩阵的行数表示游戏礼包数,游戏礼包矩阵的列数表示特征长度。

基于此,上文所描述的游戏礼包特征矩阵可以表示为:

在上述(公式5.2)中,F

物品特征矩阵是对物品的特征进行特征提取处理所获得的。物品特征矩阵是一个二维矩阵,其中,物品特征矩阵的行数表示物品数,物品特征矩阵的列数表示特征长度。

基于此,上文所描述的物品特征矩阵可以表示为:

在上述(公式5.3)中,F

在本申请实施例中,指示矩阵表示用户所购买的游戏礼包,即指示矩阵表示用户和该用户所购买的游戏礼包之间的映射关系。其中,指示矩阵可以表示为:

X

在上述(公式5.4)中,X表示指示矩阵,X是维度为|U|*|B|的矩阵;|U|表示用户数;|B|表示游戏礼包数。其中,若用户u购买过游戏礼包b,则矩阵元素X

在本申请实施例中,关联矩阵表示游戏礼包所包括的物品,即关联矩阵表示游戏礼包和该游戏礼包所包括的物品之间的映射关系。其中,关联矩阵可以表示为:

Z

在上述(公式5.5)中,Z表示指示矩阵,Z是维度为|B|*|I|的矩阵;|B|表示游戏礼包数;|I|表示游戏物品数。其中,若游戏礼包b包含物品i,则矩阵元素Z

S503,将输入层输出的训练数据1对应的特征矩阵输入至中间层。

执行上述S503后,中间层可以获得训练数据1对应的特征矩阵。也就是说,训练数据1对应的特征矩阵作为中间层的输入数据。

可选的,在另一些实现方式中,输入层还可以用于对用户数据对应的特征矩阵执行预处理操作。其中,预处理操作可以但不限于包括以下一种或多种处理方式:数据标准化(normalization)、归一化、去均值、或者数据增强处理等。

上文详细介绍了本申请实施例提供的推荐模型包括的输入层的工作原理。接下来,对本申请实施例提供的推荐模型包括的中间层的工作原理进行详细介绍。其中,中间层的输入数据包括输入层输出的训练数据1对应的特征矩阵。也就是说,用户特征矩阵、游戏礼包特征矩阵、物品特征矩阵、指示矩阵和关联矩阵作为中间层的输入数据。

S504,中间层根据指示矩阵和关联矩阵,构建用户-礼包-物品三部图对应的邻接矩阵。

用户-礼包-物品三部图用于表示用户、游戏礼包和物品之间的映射关系。其中,该映射关系具体可以包括以下映射关系:用户集合U中的用户和游戏礼包集合B中的游戏礼包之间的映射关系,以及游戏礼包集合B中的礼包和物品集合I中的物品之间的映射关系。示例性的,参见图6中的输入层示出了上述映射关系。参见图6,以用户U

用户-礼包-物品三部图对应的邻接矩阵(adjacency matrix)用于表示:用户-礼包-物品三部图所描述的用户、游戏礼包和物品之间的映射关系。也就是说,根据用户-礼包-物品三部图对应的邻接矩阵,可以生成用户-礼包-物品三部图。

在本申请实施例中,用户-礼包-物品三部图对应的邻接矩阵可以通过以下公式表示:

在上述(公式5.6)中,A表示用户-礼包-物品三部图对应的邻接矩阵;X表示指示矩阵;Z表示关联矩阵;X

在本申请实施例中,为了便于描述,下文中统一将“用户-礼包-物品三部图对应的邻接矩阵”简记为“邻接矩阵”。也就是说,下文中所描述的邻接矩阵和上文中所描述的用户-礼包-物品三部图对应的邻接矩阵的含义相同。

S505,中间层对邻接矩阵进行非对称归一化处理,构建三部图卷积核。

在本申请实施例中,三部图卷积核用于更新中间层的表征矩阵的算子。三部图卷积核是根据邻接矩阵确定的。三部图卷积核的物理含义为:邻接矩阵所指示的目标游戏礼包的热度低于预设阈值1的情况下,提高目标游戏礼包的热度;以及,邻接矩阵所指示的目标游戏礼包的热度高于预设阈值2的情况下,降低目标游戏礼包的热度。其中,邻接矩阵所指示的目标游戏礼包的热度,可以理解为是,用户针对该目标游戏礼包的得分值。示例性的,图6中的中间层示出了本申请实施例提供的一阶非对称三部图卷积的示意图。

在本申请实施例中,对邻接矩阵进行非对称归一化处理的过程,是指通过一定规则,将邻接矩阵中元素值的规模(scale)进行了转化。具体来说,在进行非对称归一化处理的计算过程中,首先会根据邻接矩阵A计算对角矩阵D。其中,D相当于求和,会统计所有游戏礼包出现的次数。然后,求D

基于此,上述三部图卷积核可以通过以下数学公式进行表示:

在上述(公式5.7)中,

其中,对角矩阵D的第i行第i列的值可以通过以下公式表示:

在上述(公式5.8)中,(D)

S506,中间层对用户特征矩阵、游戏礼包特征矩阵和物品特征矩阵进行初始化特征变换,获得用户表征矩阵、游戏礼包表征矩阵和物品表征矩阵。

在本申请实施例中,用户特征矩阵、游戏礼包特征矩阵和物品特征矩阵任意一个特征矩阵是一个固定值;用户表征矩阵、游戏礼包表征矩阵和物品表征矩阵中的任意一个表征矩阵是包含深度神经网络中可调整的模型参数的变量值。其中,用户表征矩阵、游戏礼包表征矩阵以及物品表征矩阵分别可以通过以下公式表示:

在上述(公式5.9)中,(E

S507,中间层根据三部图卷积核、用户表征矩阵、游戏礼包表征矩阵和物品表征矩阵,确定第k阶的表征矩阵。

第k阶的表征矩阵包括:第k阶的用户表征矩阵、第k阶的游戏礼包表征矩阵和第k阶的物品表征矩阵。

其中,根据三部图卷积核、用户表征矩阵、游戏礼包表征矩阵和物品表征矩阵,确定第k阶的表征矩阵,可以包括以下步骤:将三部图卷积核和第k-1阶的表征矩阵相乘,获得第k阶的表征矩阵;其中,第k-1阶的表征矩阵包括:第k-1阶的用户表征矩阵、第k-1阶的游戏礼包表征矩阵和第k阶的物品表征矩阵。上述第k阶的表征矩阵可以通过以下公式表示:

S508,中间层根据第k阶的表征矩阵,计算K阶表征的平均值,并根据K阶表征的平均值更新用户表征矩阵、游戏礼包表征矩阵以及物品表征矩阵。

执行上述S508,即根据第k阶的表征矩阵,计算K阶表征的平均值,并根据K阶表征的平均值更新用户表征矩阵、游戏礼包表征矩阵以及物品表征矩阵,可以包括以下步骤:根据第k阶的表征矩阵,确定第i阶的表征矩阵,其中,i=1,2,…,k;对第i阶的表征矩阵计算平均值,获得K阶表征的平均值;根据K阶表征的平均值更新用户表征矩阵、游戏礼包表征矩阵以及物品表征矩阵。

在本申请实施例中,K阶表征的平均值可以通过以下公式表示:

上文结合S503至S508详细描述了中间层的内容。下面,结合S509至S511介绍输出层的内容。

执行上述S508后,中间层输出的更新后的用户表征矩阵、游戏礼包表征矩阵以及物品表征矩阵会作为输入数据,输入至输出层。接下来,介绍输出层的作用。

S509,输出层根据中间层输出的更新后的用户表征矩阵和游戏礼包表征矩阵,获得预测标签1,其中,预测标签表示1推荐模型预测的用户1对游戏礼包集合中的任意一个游戏礼包的偏好得分。

在本申请实施例中,用户1对于游戏礼包集合中的任意一个游戏礼包的偏好得分可以通过以下公式表示:

在上述(公式5.12)中,u表示用户1;b表示游戏礼包集合B中的任意一个游戏礼包;

S510,输出层根据预测标签1和训练标签1确定推荐模型的损失函数。

推荐模型的损失函数用于表示预测标签1和训练标签1之间的差异,上述两个标签之间的差异越小模型的训练效果也越好。在本申请实施例中,对损失函数的类型不作具体限定。例如,损失函数可以但不限于是二分类的交叉熵损失函数、或者基于贝叶斯框架的损失函数。

下面,以上述S510所描述的损失函数是基于贝叶斯框架确定的损失函数为例,介绍执行上述S510后所获得的损失函数的数学表达式。

在一些实现方式中,基于贝叶斯框架,根据训练样本的预测标签和训练样本的真实标签确定的损失函数可以通过以下公式表示:

在上述(公式5.13)中,

在上述(公式5.14)中,T表示训练样本1关联的用户u已购买的游戏礼包集合中的游戏礼包b

S511,直到满足预设训练条件,停止对推荐模型的参数进行更新,获得训练好的推荐模型。

执行上述S511,即根据损失函数对推荐模型的可调节的参数进行更新,其中,推荐模型可调节的参数包括上述(公式5.14)示出的模型参数Θ。

在本申请实施例中,对预设训练条件不作具体限定,可以根据实际应用场景进行设置。在一些实现方式中,预设训练条件可以但不限于为以下任意一种条件:对推荐模型的训练次数大于预设训练次数、推荐模型的输出结果对应的损失值在预设误差范围内、或者推荐模型的输出结果达到预设识别精度。其中,预设训练次数、预设误差范围和预设识别精度可以根据实际需求进行选取,本申请实施例对此不作具体限定。

上文,结合S501至S511详细介绍了本申请实施例提供的生成推荐模型的方法。上述训练好的推荐模型可以部署在服务器中。下面,结合S512和S513介绍推荐模型的应用阶段。

S512,服务器根据接收到的终端发送的用户A的推荐请求,确定用户A的画像特征,其中,服务器中部署有训练好的推荐模型。

其中,用户A的推荐请求包括用户A的基础信息。基于此,服务器根据用户A的推荐请求可以确定用户A的画像特征。

可选的,在执行上述S512之前服务器还可以执行获取用户A的推荐请求。其中,服务器可以通过以下步骤获取用户A的推荐请求:当用户登入终端中安装的游戏应用程序中的游戏商城时,游戏内置程序将用户A的推荐请求发送至服务器。

S513,服务器利用部署的训练好的推荐模型对用户A的画像特征进行分析处理,获得用户A的推荐请求对应的推荐结果。

通常情况下,游戏中包括的所有游戏礼包的变化不是很大。基于此,可以在服务器中部署的训练好的推荐模型中存储游戏中的所有游戏礼包的特征。此后,可以仅需将用户的画像特征作为训练好的推荐模型的输入数据,以实现对该数据的分析。

可选的,在另一些实现方式中,服务器中部署的训练好的推荐模型中也可以不存储游戏中所包括的所有游戏礼包的特征。这种实现方式中,上述S513还可以替换为以下步骤:将用户A的画像特征和游戏礼包的特征作为二元组数据输入至服务器利用部署的训练好的推荐模型;服务器利用部署的训练好的推荐模型对用户A的画像特征和游戏礼包的特征进行分析处理,获得用户A的推荐请求对应的推荐结果。

执行上述S513,即服务器利用部署的训练好的推荐模型对用户A的画像特征进行分析处理,获得用户A的推荐请求对应的推荐结果,可以包括以下步骤:服务器利用本地部署的训练好的推荐模型对用户A的画像特征进行分析处理,获得用户A对游戏中包括的每个游戏礼包的打分情况;根据用户A对游戏中包括的每个游戏礼包的打分情况,确定用户A的推荐请求对应的推荐结果,其中,用户A的推荐请求对应的推荐结果为用户A对应的最高打分情况所关联的游戏礼包。

应理解的是,上述图5示出的推荐方法仅为示意,并不对本申请实施例提供的推荐方法构成任何限定。例如,上述S510中采用贝叶斯框架确定的损失函数,还可以替换为二分类的交叉熵损失函数。又如,上述游戏礼包的推荐场景还可以替换为,网络电商平台购物的用户场景。

在本申请实施例中,推荐模型包括的中间层的卷积核为基于用户-游戏礼包-物品的非对称的卷积核,该非对称的卷积核的物理含义为:邻接矩阵所指示的目标游戏礼包的热度低于预设阈值1的情况下,提高目标游戏礼包的热度;以及,邻接矩阵所指示的目标游戏礼包的热度高于预设阈值2的情况下,降低目标游戏礼包的热度。基于此,通过设置推荐模型包括的中间层的非对称的卷积核中的超参数r的取值,可以提高将新颖性的游戏礼包推荐给用户的机会。进一步,利用训练好的推荐模型对用户A的推荐请求进行分析处理所获得的推荐结果,可以更好地为用户推荐合适的物品,以满足用户需求。

上文,结合图1至图6详细介绍了本申请提供的推荐方法适用的应用场景、生成推荐模型的方法、推荐方法。下面,结合图7至图10介绍本申请提供的生成推荐模型的装置、推荐装置、电子设备(包括:训练设备和执行设备)。应理解,上文中所描述的推荐方法与下文中所描述的推荐装置和执行设备相对应。上文中所描述的生成推荐模型的方法与下文中所描述的生成推荐模型的装置和训练设备相对应。下文中未详细描述的内容可以参见上述方法实施例中的相关描述。

图7是本申请实施例提供的一种生成推荐模型的装置的结构示意图。参见图7示出的生成推荐模型的装置,该生成推荐模型的装置包括:获取单元701和训练单元702。下面,对获取单元701和训练单元702的作用进行介绍。

获取单元701用于:获取训练数据集,其中,所述训练数据集包括的至少一个训练样本包括训练数据和训练标签,所述训练数据包括用户关联的用户特征数据和候选礼包数据,所述训练标签表示:所述候选礼包数据中的用户已购买的第一类型礼包,以及所述候选礼包数据中的用户未购买的第二类型礼包;训练单元702用于:将所述训练样本输入到初始模型进行训练,获得预测标签,所述初始模型包括卷积核,所述卷积核在所述初始模型训练中,将所述用户针对所述第一类型礼包的得分降低至不低于第一阈值,将所述用户针对所述第二类型礼包的得分升高至不低于第二阈值,所述第二阈值大于所述第一阈值;所述训练单元702还用于:根据所述预测标签和所述训练标签,对所述初始模型的参数进行参数更新,生成推荐模型。

图8是本申请实施例提供的一种推荐装置的结构示意图。参见图8示出的推荐装置,该推荐装置包括:获取单元801、处理单元802和推荐单元803。下面,对获取单元801、处理单元802和推荐单元803的作用进行介绍。

获取单元801用于:获取用户发送的推荐请求,其中,所述推荐请求用于请求为所述用户推荐礼包;处理单元802用于:利用所述推荐模型对所述用户特征数据进行处理,获得所述推荐请求对应的推荐结果,其中,所述推荐模型是根据上述生成推荐模型的方法生成的模型,所述用户特征数据是根据所述推荐请求确定的;推荐单元803用于:将所述推荐结果推荐给所述用户。

本申请实施例提供一种电子设备,电子设备可以是与本申请实施例提供的一种生成推荐模型的方法对应的训练设备,也可以是与本申请实施例提供的一种推荐方法对应的执行设备。

图9是本申请实施例提供的一种训练设备结构示意图,训练设备900上可以部署有上述图9对应实施例中所描述的训练装置,用于实现上文中图2、图5示出的模型训练阶段所描述的方法的各个步骤。具体的,训练设备900由一个或多个服务器实现,训练设备900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessing units,CPU)922(例如,一个或一个以上处理器)和存储器932,一个或一个以上存储应用程序942或数据944的存储介质930(例如一个或一个以上海量存储设备)。其中,存储器932和存储介质930可以是短暂存储或持久存储。存储在存储介质930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对训练设备中的一系列指令操作。更进一步地,中央处理器922可以设置为与存储介质930通信,在训练设备900上执行存储介质930中的一系列指令操作。

训练设备900还可以包括一个或一个以上电源926,一个或一个以上有线或无线网络接口950,一个或一个以上输入输出接口958,和/或,一个或一个以上操作系统941,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等。

本申请实施例中,在一种情况下,中央处理器922,用于执行图2对应实施例中所描述的生成推荐模型的方法的步骤。中央处理器922执行前述各个步骤的具体方式,与本申请中图2和图5示出的模型训练阶段对应的各个方法实施例基于同一构思,其带来的技术效果与本申请中图2和图5对应的各个方法实施例相同,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。

图10是本申请实施例提供的一种执行设备的结构示意图,执行设备1000具体可以表现为虚拟现实VR设备、手机、平板、笔记本电脑、智能穿戴设备、监控数据处理设备或者雷达数据处理设备等,此处不做限定。其中,执行设备1000上可以部署有图8对应实施例中所描述的推荐装置,用于实现图4和图5所描述的模型应用阶段的功能。具体的,执行设备1000包括:接收器1001、发射器1002、处理器1003和存储器1004(其中执行设备1000中的处理器1003的数量可以一个或多个,图10中以一个处理器为例),其中,处理器1003可以包括应用处理器10031和通信处理器10032。在本申请的一些实施例中,接收器1001、发射器1002、处理器1003和存储器1004可通过总线或其它方式连接。

存储器1004可以包括只读存储器和随机存取存储器,并向处理器1003提供指令和数据。存储器1004的一部分还可以包括非易失性随机存取存储器(non-volatile randomaccess memory,NVRAM)。存储器1004存储有处理器和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。

处理器1003控制执行设备的操作。具体的应用中,执行设备的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都称为总线系统。

上述本申请实施例揭示的方法可以应用于处理器1003中,或者由处理器1003实现。处理器1003可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1003中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1003可以是通用处理器、数字信号处理器(digital signal processing,DSP)、微处理器或微控制器,还可进一步包括专用集成电路(application specific integratedcircuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。该处理器1003可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1004,处理器1003读取存储器1004中的信息,结合其硬件完成上述方法的步骤。

接收器1001可用于接收输入的数字或字符信息,以及产生与执行设备的相关设置以及功能控制有关的信号输入。发射器1002可用于通过第一接口输出数字或字符信息;发射器1002还可用于通过第一接口向磁盘组发送指令,以修改磁盘组中的数据;发射器1002还可以包括显示屏等显示设备。

本申请实施例中,处理器1003中的应用处理器10031,用于执行图4和图5对应实施例中的推荐模型应用阶段。需要说明的是,应用处理器10031执行各个步骤的具体方式,与本申请中图4和图5对应的各个方法实施例基于同一构思,其带来的技术效果与本申请中图4和图5对应的各个方法实施例相同,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。

本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质包括计算机指令,计算机指令在被处理器执行时用于实现本申请实施例中任意一种生成推荐模型的方法的技术方案。

本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质包括计算机指令,计算机指令在被处理器执行时用于实现本申请实施例中任意一种推荐方法的技术方案。

通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个计算机可读介质上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本申请公开实施方式的方法。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储介质或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。

相关技术
  • 模型训练方法、广告推荐方法、相关装置、设备及介质
  • 生成推荐词的方法、装置、电子设备及存储介质
  • 一种推荐菜品信息的生成方法、装置及设备
  • 歌曲推荐列表生成方法、介质、装置和计算设备
  • 推荐电子卡片的方法、推荐电子卡片的装置和电子设备
  • 图片推荐模型的生成、图片推荐方法、装置、设备及介质
  • 推荐模型的生成、内容推荐方法、装置、设备和介质
技术分类

06120116211034