通用个性化推荐方法、推荐系统及训练方法

文档序号:28549913发布日期:2022-01-19 15:29阅读:85来源:国知局

1.本发明属于互联网技术领域,具体涉及个性化推荐方法。


背景技术:

2.近年来,随着互联网的快速发展,信息爆炸已成为常态,个性化推荐系统目前已经成为互联网产品的标配,基于点击率预测的实时推荐系统是目前个性化推荐系统,因为具备更高的推荐准确率,更好的用户体验,目前成为业务场景落地应用的主流架构。作为目前主流的实时个性化推荐系统可以实时捕获用户兴趣,相比传统的离线推荐效果具备巨大的效果优势。实时推荐系统架构要复杂很多,一般包括核心的数据流模块,画像系统模块,召回排序模块。外围的模块较多,但通常具备模型管理模块,ab测试模块,人工干预模块等。实时推荐系统的复杂度导致技术门槛高,研发成本高之外,并且因为不同的业务场景,需要高度定制化研发与该场景适配的画像系统模块,召回排序模块,导致推荐系统的低复用高定制化,进一步推高了个性化实时推荐系统的研发和应用成本。
3.目前国内一些头部互联网公司,逐渐在提供商业化的推荐系统服务,这里面比较著名的有字节跳动,阿里巴巴,腾讯等。目前国内提供的商用个性化推荐解决方案,成本和效率上的优势主要来自于以及比较完备的工程架构和较专业的研发人员。基于这样已经完备的工程架构和专业人员,可以迅速将推荐系统的基建工作进行复用。但解决方案本身仍需要供应商的算法和工程研发人员针对用户的业务场景,推荐对象类型进行定制化研发,并未从推荐系统本身实现完全的通用化和可拓展性。
4.因此目前个性化实时推荐技术门槛高,通用性和扩展性低,也成为实时个性化推荐系统在中小规模互联网企业,传统行业应用的瓶颈。


技术实现要素:

5.本发明针对目前个性化实时推荐技术通用性和扩展性低的技术问题,提供一种通用个性化推荐方法。
6.为实现上述技术目的,本发明采用以下技术方案。
7.根据本发明的一方面,提供通用个性化推荐方法,包括:获取用户对象数据;根据用户对象数据获取待推荐的物品对象数据以及场景对象数据;将所述用户对象数据、物品对象数据以及场景对象数据分别映射为向量;将所有向量拼接后作为输入特征;使用排序模型基于所述输入特征对推荐结果进行打分并基于得分排序。
8.其中,所述用户对象数据包括性别,城市和偏好,用户对各个物品的历史行为,包括流量、点击、消费和反馈等。
9.其中,所述物品对象数据包括:群体用户对于该物品的反馈,主要包括群体用户对于该物品的行为数据,包括浏览情况、点击情况、消费情况和售后反馈情况等
其中,所述对应的场景包括场景的名称、场景在app中的位置、尺寸大小、背景素材和颜色等等。
10.其中,所述排序模型为逻辑回归模型、因子分解机模型、深度因子分解机模型或深度神经网络模型中的任意一种。
11.其中,所述拼接为横向拼接或者纵向拼接,所述横向拼接为将n个m*1的向量横向拼接为nm*1的向量,所述纵向拼接是拼接为n*m的矩阵,其中n为向量的个数,m为向量的长度。
12.根据本发明的另一方面,提供通用实时个性化推荐系统,包括:用户信息采集模块、通用对象嵌入模块、特征组合模块和排序模型;所述用户信息采集模块,用于获取用户对象数据;所述通用对象嵌入模块,用于根据用户对象数据获取待推荐的物品对象数据以及场景对象数据;将所述用户对象数据、物品对象数据以及场景对象数据分别映射为向量;所述特征组合模块,用于将所有向量拼接后作为输入特征;所述排序模型,用于使用排序模型基于所述输入特征对推荐结果进行打分并基于得分排序。
13.其中,所述排序模型为逻辑回归模型,因子分解机模型,深度因子分解机模型或深度神经网络模型中的任意一种。
14.根据本发明的又一方面,提供通用实时个性化推荐系统的训练方法,所述系统如以上技术方案提供的通用实时个性化推荐系统,所述训练方法包括:获取用户对象数据、物品对象数据以及场景对象数据;利用通用对象嵌入模块将所述用户对象数据、物品对象数据以及场景对象数据分别映射为向量;将所有向量拼接后作为所述排序模型的训练样本数据;根据业务规则和人工经验将对象之间的关系映射为向量之间的关系;将向量之间的关系使用向量距离描述,最大化特定对象向量之间的距离作为优化的另外目标;输出推荐结果并获取用户对推荐结果的反馈;利用推荐结果以及用户对推荐结果的反馈对通用对象嵌入模块和排序模型不断更新迭代。
15.根据本发明的再一方面,提供一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述所述的通用个性化推荐方法。
16.本发明所取得的有益技术效果:本发明使用基于业务目标的嵌入方式可以减少甚至完全取代画像系统模块,直接使用用户对象信息以及物品对象信息等原始未加工信息进行推荐,实现特征编码的通用化,能够解决推荐系统因为画像系统模块造成的低通用性和低扩展性;除了增加通用性外,本发明极大简化了推荐系统的复杂度,实现了从原始数据到结果的端到端的推荐;本发明根据专家经验和业务规则确定对象之间的关系并转化为向量之间的关系,向量距离表征知识和经验,在推荐过程中自动化实现业务规则、人工经验的通用化,无需在不同的推荐场景定制化不同的业务规则。
附图说明
17.图1为具体实施例中推荐系统的训练方法流程示意图。
具体实施方式
18.以下结合说明书附图和具体实施例对本发明做进一步详细的描述。
19.为了更好地理解本发明,以下给出相关术语解释:个性化推荐技术:基于用户相关数据预测用户的需求,为用户提供个性化的信息,服务的技术。
20.对象嵌入:是机器学习中表征学习技术的统称。概念上而言,它是指把一个维数为所有对象的数量的高维空间嵌入到一个维数低得多的连续向量空间中,每个对象被映射为实数域上的向量或矩阵。
21.画像:描述对象的信息集合。物品画像,描述待推荐的物品的信息集合,一般包括物品的类别,用途,价格,销量,库存等等。用户画像,通常分为两个维度:静态维度,包括性别,年龄,职业等;动态维度,包括近期订单,点击,颜色偏好等。
22.实施例:通用个性化推荐方法,包括:获取用户对象数据;根据用户对象数据获取待推荐的物品对象数据以及场景对象数据;将所述用户对象数据、物品对象数据以及场景对象数据分别映射为向量;将所有向量拼接后作为输入特征;使用排序模型基于所述输入特征对推荐结果进行打分并基于得分排序。
23.与上述实施例提供的通用个性化推荐方法相对应地,本实施例提供了通用实时个性化推荐系统,包括:用户信息采集模块、通用对象嵌入模块、特征组合模块和排序模型;所述用户信息采集模块,用于获取用户对象数据;所述通用对象嵌入模块,用于根据用户对象数据获取待推荐的物品对象数据以及场景对象数据;将所述用户对象数据、物品对象数据以及场景对象数据分别映射为向量;所述特征组合模块,用于将所有向量拼接后作为输入特征;所述排序模型,用于使用排序模型基于所述输入特征对推荐结果进行打分并基于得分排序。
24.本发明中使用通用对象嵌入模块实现推荐过程中的主体,以及主体属性到向量形式的映射,这里的主体包括用户,物品和场景。主体的属性,是指描述主体的信息。这些主体和主体属性为对象,就是将每个对象映射为唯一的一个向量或者矩阵形式。比如,描述用户的信息对应的该用户点击的物品列表,我们把列表中每个物品都映射为一个向量。比如特征对象”性别:男”,通过通用对象嵌入模块,映射为一个 128维的向量。把各个特征都按照这样的方式映射为唯一向量后,拼接起来作为排序模型的输入特征。
25.具体实施中将向量拼接为一个n*m维度的稠密矩阵。其中n为矩阵的向量个数,向量的长度为m。一般在推荐搜索等场景,n高达千万甚至数亿,m通常在64到512等2的整数次幂。2的整数次幂在计算机存储效率上具备一定的优势。在实际的工业场景中,可以根据不同的对象,不同的属性类型构建不同尺寸。比如对于用户的唯一表示符,这个属性量非常多,取决于有多少注册用户,那它对应的嵌入向量的维度就不宜设置过大,否则需要非常大
的存储空间支持。
26.下面,将结合附图1描述根据本发明的实施例的通用个性化推荐系统的训练方法,包括:获取用户对象数据、物品对象数据以及场景对象数据;利用通用对象嵌入模块将所述用户对象数据、物品对象数据以及场景对象数据分别映射为向量;将所有向量拼接后作为所述排序模型的训练样本数据,输出推荐结果并获取用户对推荐结果的反馈;利用推荐结果以及用户对推荐结果的反馈对通用对象嵌入模块和排序模型不断更新迭代。
27.具体实施例中,利用数据流模块实现推荐系统中用户采集,清洗和处理用户行为数据,用户和物品基础信息。
28.将对象和属性映射为向量,对象和属性的映射过程如下:s101:首先通过数据流模块清洗所掌握的数据,并做基本的统计,统计的目的是梳理梳理出推荐过程中所有涉及到的主体,主体的属性。推荐过程中的主体,就是指用户,物品和场景。主体的属性是目前所掌握数据中的用于描述主体的信息。
29.因为所有的数据来源要么是用户(服务提供方和服务消费方)自己主动填写,要么是平台在站内和站外采集到的关于用户和物品的被动信息。统计的主体及其属性类型是有限的,并且是通过可理解的字符甚至直接是自然语言方式描述的,我们称这些主体和主体属性为对象。
30.s102:为所有对象构建合适大小的嵌入矩阵,以及合适数量的嵌入矩阵。
31.首次定义的时候,矩阵的值使用[-1,1]范围内的随机初始化,后续则需要在原有值的基础上进行迭代更新。构建已有对象和矩阵向量的映射关系,就是使用矩阵的每一行向量对应着对象的稠密表示。
[0032]
对象和矩阵的行向量的对应关系。在实际的生产场景,对象动辄千万甚至十数亿的量级,存储为矩阵块需要消耗的连续内存空间是巨大的,所以不可能把对象和向量存储为矩阵形式。在现实推荐场景中,可选地以词典《key, value》形式存储。提供索引的意思是只通用对象嵌入模型能够支持当输入对象后,返回对象对应的向量。因此具体实施例中还包括:s103:构建对象和向量之间的索引关系,采用《key, value》形式表示和提供索引。通用对象嵌入模块,本质上是一个key-value的映射的字典。任意的对象,都是key,都会有一个唯一对应的value(向量)。用户基础信息,一般包括用户的基本属性(比如性别,城市),偏好(偏好颜色,偏好类目等)。这些对象都可以在通用嵌入模块中找到唯一的对象。用户行为信息,则是指用户在平台上的行为,比如“点击商品a”则可以通过通用嵌入模块映射为唯一向量。
[0033]
将对象映射为向量后得到各个对象的稠密表示,把这些向量按照一定的方式组合成模型的输入特征。常用的拼接组合有两种,横向拼接和纵向拼接。前者将n个m*1的向量横向拼接为nm*1的向量,后者是拼接为n*m的矩阵。
[0034]
本实施例在训练过程中,根据点击率预测的目标,以及融合人工经验的规则目标,
通过误差反传的方式训练推荐系统的排序算法模型,以及得到各个对象及其属性的通用对象嵌入模型。本发明中推荐系统的训练方式与传统的推荐排序模型训练不同,本发明中训练优化方式是融合人工经验和知识的多目标优化。一,除了训练排序模型外,需要对嵌入的向量进行学习。二,学习除了推荐的点击率,转化率,停留时长等核心指标外,需要将人工经验,对象之间的实际关系表示成约束条件。举个例子,表示男性和女性的向量,因为两者之间的现实意义是相反的,所以可以使用最大化两者向量之间的距离作为优化的另外目标,形式化为max distance (v_{男}, v_{女})。
[0035]
融合人工经验和知识的多目标优化包括:1. 将人工经验和知识使用对象关系描述出。比如“男性和女性不同”,这条知识涉及的对象有“男性”“女性”两个;2. 将对象的关系使用向量距离描述。1中“男性”“女性”两个对象不同,转换为两者对应的向量距离要足够大。使用数学形式表示为:max distance (v_{男}, v_{女})。
[0036]
本发明根据专家经验和业务规则确定对象之间的关系并转化为向量之间的关系,利用向量距离表征知识和经验,实现业务规则、人工经验的通用化,无需在不同的推荐场景定制化不同的业务规则。
[0037]
业务规则,人工经验都可以描述成对象之间的关系;而对象之间的关系,可以用该对象对应的向量之间的距离表示。
[0038]
举个例子,“女人不会买剃须刀”这条人工经验,本质是两个对象不相似。我们就可以使用把“女性”和“剃须刀”对应的向量距离最大化,来表示这条经验。形式化为 max distance|vector(女性),vector(剃须刀)| ,把这条优化目标加入到推荐模型的优化目标中,用来训练推荐模型和嵌入模型。
[0039]
当多个业务规则,人工经验表征为向量关系,加入优化目标后,整个推荐模型的训练就变成了多目标优化。
[0040]
多目标优化是多目标优化是多准则决策的一个领域,它是涉及多个目标函数同时优化的数学问题,需要在两个或多个目标之间进行权衡的情况下作出最优决策。
[0041]
以上述的人工经验为例,介绍这里多目标优化的具体实现方式。
[0042]
此时优化目标从 min loss(f(feature), label) 复合为 min
ꢀ‑ꢀ
a distance|vector(女性),vector(剃须刀)| + loss(f(feature), label) 。其中 a为损失函数的权重,根据对业务规则和拟合的重要性进行配比,一般(0-1)之间。
[0043]
具体的优化算法可以梯度下降,二阶优化等,实现基于优化目标下,对排序模型以及通用对象嵌入模型的参数进行收敛确认。
[0044]
当给出推荐结果并展示给用户后,用户对推荐的物品有浏览未点击,点击,停留时长,消费转化,评论,点赞等行为。当用户产生这些行为后,在网站/app后台会记录这些用户反馈。数据流模块还负责将每次推荐上下文信息,以及用户对推荐结果的反馈进行采集和存储。根据用户对推荐结果的反馈数据和上下文信息,实时的或者离线的方式更新推荐模型和对象嵌入模块,不断更新迭代,即获得个性化推荐系统。
[0045]
本发明将主体以及主体属性映射成向量,根据推荐的目标以及人工规则来监督学习,最终获得个性化推荐系统,该系统包括通用对象嵌入模块和排序模型,一次你无须高度依赖推荐的产品的特性进行高度定制化,提高了实时个性化推荐系统的通用性和扩展性,
实现一次研发,就可以在多业务场景多类型物品推荐高度复用,降低了实时推荐系统的研发成本。
[0046]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0047]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0048]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0049]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0050]
以上结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1