CN110008397B - 一种推荐模型训练方法及装置 - Google Patents

一种推荐模型训练方法及装置 Download PDF

Info

Publication number
CN110008397B
CN110008397B CN201910009471.1A CN201910009471A CN110008397B CN 110008397 B CN110008397 B CN 110008397B CN 201910009471 A CN201910009471 A CN 201910009471A CN 110008397 B CN110008397 B CN 110008397B
Authority
CN
China
Prior art keywords
model
training
recommendation
domain
sample
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.)
Active
Application number
CN201910009471.1A
Other languages
English (en)
Other versions
CN110008397A (zh
Inventor
祝宏
董振华
张宇宙
林智仁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201910009471.1A priority Critical patent/CN110008397B/zh
Publication of CN110008397A publication Critical patent/CN110008397A/zh
Application granted granted Critical
Publication of CN110008397B publication Critical patent/CN110008397B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供了一种推荐模型的训练方法,该方法包括:使用单类域感知低秩模型对所述训练样本集进行训练,以获得模型参数矩阵,用于生成推荐模型。本申请的方案可以应用于人工智能的推荐领域,本申请中所的单类域感知低秩模型可以引入多种域特征以及正负样本,由此能够在训练的过程中考虑更多的用户选择相关的因素和用户相关的负例信息,由此生成性能更优秀的推荐模型,推荐结果更符合用户需求。此外,本申请对于模型训练的具体训练方式能够大大简化模型训练的复杂度,从而提升了模型训练的效率,也使得更多信息的引入成为可能。

Description

一种推荐模型训练方法及装置
技术领域
本发明涉及数据处理技术领域,尤其涉及一种推荐模型训练方法及相关装置。
背景技术
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能
其中,如何在海量的信息中根据用户的操作行为和用户特点向用户进行推荐,也是人工智能的一个重要研究方向之一,随着信息的不断丰富和增长,如何能更有针对性地,更高效更准确的向用户推荐信息是推荐技术的研究重点。
现有推荐***中,模型训练通常需要正例和负例两类样本。而用户行为中往往只有评分、下载或者购买等少量行为是明确的,故推荐***能够准确地获取到的通常只有正例。手机应用市场中就存在大量这种情形,比如:精品应用推荐结果,因为存在预加载,作为负例的曝光数据是不准确的;资讯类APP中的热词推荐,往往对浏览行为无法准确获知,而只能采集到有点击的正例数据。上述只能精确获知某一类样本,其它类的样本的数据不准的问题,被称为单类问题。
单类(One-Class)模型由于能够更准确分析用户操作行为,解决负样本不准确问题的,是推荐领域的研究热点方向之一。目前相对成熟的推荐***所采用的单类模型主要是单类矩阵分解模型(One-Class Matrix Factorization,OCMF)。
然而单类矩阵分解模型,由于其在训练的过程中仅考虑了用户ID和商品ID,没有考虑用户和商品本身的特征,因此会导致模型训练过程中考虑的信息较少,从而获得的推荐模型性能表现不足。
基于此,本发明研究了一种新的基于单类低秩模型的推荐方法和装置。
发明内容
本发明实施例提供了一种推荐模型的训练方法及装置,获取正例和负例样本共同构建训练集,并将单类低秩模型应用于推荐模型的训练,从而获取最终训练后的推荐模型。由于单类低秩模型能够考虑更多的用户特征和对象特征,而且能够考虑更多的负例样本信息,由此通过本发明实施例的推荐模型的训练方法能够获得推荐结果更加精准的推荐模型。
本发明实施例提供一种推荐模型训练方法,所述方法包括:
从数据库中获取训练样本集,所述训练样本集包括多条正样本和多条负样本;
所述多条正样本和所述多条负样本均为多维特征向量,所述多条正样本和所述多条负样本中的每条均包括标签特征、域特征,所述标签特征用于标识所述标签特征所属的样本的正负样本类型,所述域特征包括用户域特征和对象域特征;
使用单类域感知低秩模型对所述训练样本集进行训练,获得模型参数矩阵
Figure GDA0002069130210000021
用于生成推荐模型;
所述模型参数矩阵
Figure GDA0002069130210000022
通过使所述单类域感知低秩模型取值最小来训练获得;所述模型参数矩阵
Figure GDA0002069130210000023
为域f1与域f2之间的交互参数矩阵,所述模型参数矩阵
Figure GDA0002069130210000024
为域f2与域f1之间的交互参数矩阵,f1与f2分别表示编号为f1与f2的域;
所述单类域感知低秩模型由所述模型参数矩阵
Figure GDA0002069130210000025
的平方和,以及所述训练样本集中各条样本的损失函数加权求和构建。
可选的,所述单类域感知低秩模型为:
Figure GDA0002069130210000026
Figure GDA0002069130210000027
Figure GDA0002069130210000028
其中,所述模型参数矩阵
Figure GDA0002069130210000029
为域f1与域f2之间的交互参数矩阵,所述模型参数矩阵
Figure GDA00020691302100000210
为域f2与域f1之间的交互参数矩阵,F为域的个数,xl表示第l条样本的域特征;
Figure GDA00020691302100000211
表示xl中属于域f1的特征向量,
Figure GDA00020691302100000212
表示xl中属于域f2的特征向量,λ表示正则系数,
Figure GDA00020691302100000213
表示xl的损失函数,y(xl)表示xl所属样本的标签特征,
Figure GDA00020691302100000214
是表示模型对xl中对象的预测分值,L为训练样本集中样本的总数,cl表示第l条样本的损失函数权重。
上述方法通过单类域感知低秩模型对包含正负样本和多维域特征的训练样本集进行训练,所获得的模型参数矩阵能够生成更加准确,性能优秀的推荐模型。
可选的,使用单类域感知低秩模型对所述训练样本集进行训练,获得模型参数矩阵
Figure GDA00020691302100000215
后对模型参数矩阵
Figure GDA00020691302100000216
进行存储。
可选的,所述单类域感知低秩模型中的所述模型参数矩阵为:
Figure GDA00020691302100000217
Figure GDA00020691302100000218
Figure GDA00020691302100000219
是域fi的特征个数,
Figure GDA00020691302100000220
为域f1的第j个特征与域f2交互时的k维隐向量,
Figure GDA00020691302100000221
Figure GDA00020691302100000222
为域f2的第t个特征与域f1交互时的k 维隐向量,
Figure GDA00020691302100000223
上述方法通过设定f1=f2时的
Figure GDA0002069130210000031
取值,使得f1=f2
Figure GDA0002069130210000032
此处的单独设置可以解决模型的非凸优化问题,进而可以降低模型的训练复杂度。
可选的,所述
Figure GDA00020691302100000320
具体为
Figure GDA0002069130210000033
可选的,所述单类域感知低秩模型采用Block Coordinate Decent Method(BlockCD,块坐标梯度下降法)与Conjugate Gradient Method(CG,共轭梯度法)相结合的方式进行训练。
可选的,所述采用Block Coordinate Decent Method(Block CD,块坐标梯度下降法)与Conjugate Gradient Method(CG,共轭梯度法)相结合的方式进行训练,包括:将模型参数矩阵
Figure GDA0002069130210000034
Figure GDA0002069130210000035
按f1、f2的不同取值,将各种取值情况下的模型参数矩阵作为独立的块(block),分别用CG方式进行单独训练进行训练。
可选的,所述采用Block Coordinate Decent Method(Block CD,块坐标梯度下降法)与Conjugate Gradient Method(CG,共轭梯度法)相结合的方式进行训练,包括:训练所述模型参数矩阵
Figure GDA0002069130210000036
时,将f1、f2取其它值的模型参数矩阵
Figure GDA0002069130210000037
Figure GDA0002069130210000038
的取值固定,然后对所述模型参数矩阵
Figure GDA0002069130210000039
采用CG方式进行单独训练,m,n∈[1,F]。
上述方法通过设定f1=f2时的
Figure GDA00020691302100000310
取值,使得f1=f2
Figure GDA00020691302100000311
此处的单独设置可以解决模型的非凸优化问题,进而可以降低模型的训练复杂度。
本发明实施例还提供一种一种推荐模型训练装置,其特征在于,所述装置包括:
样本获取单元,用于从数据库获取训练样本集,所述训练样本集包括多条正样本和多条负样本;所述多条正样本和所述多条负样本均为多维特征向量,所述多条正样本和所述多条负样本中的每条均包括标签特征、域特征,所述标签特征用于标识所述标签特征所属的样本的正负样本类型,所述域特征包括用户域特征和对象域特征;
训练单元,用于使用单类域感知低秩模型对所述训练样本集进行训练,获得模型参数矩阵
Figure GDA00020691302100000312
用于生成推荐模型;
所述模型参数矩阵
Figure GDA00020691302100000313
通过使所述单类域感知低秩模型取值最小来训练获得;所述模型参数矩阵
Figure GDA00020691302100000314
为域f1与域f2之间的交互参数矩阵,所述模型参数矩阵
Figure GDA00020691302100000315
为域f2与域f1之间的交互参数矩阵,f1与f2分别表示编号为f1与f2的域;
所述单类域感知低秩模型由所述模型参数矩阵
Figure GDA00020691302100000316
的平方和,以及所述训练样本集中各条样本的损失函数加权求和构建
可选的所述单类域感知低秩模型为:
Figure GDA00020691302100000317
Figure GDA00020691302100000318
Figure GDA00020691302100000319
其中,所述模型参数矩阵
Figure GDA0002069130210000041
为域f1与域f2之间的交互参数矩阵,所述模型参数矩阵
Figure GDA0002069130210000042
为域f2与域f1之间的交互参数矩阵,F为域的个数,xl表示第l条样本的域特征;
Figure GDA0002069130210000043
表示xl中属于域f1的特征向量,
Figure GDA0002069130210000044
表示xl中属于域f2的特征向量,λ表示正则系数,
Figure GDA0002069130210000045
表示xl的损失函数,y(xl)表示xl所属样本的标签特征,
Figure GDA0002069130210000046
是表示模型对xl中对象的预测分值,L为训练样本集中样本的总数,cl表示第l条样本的损失函数权重。
上述装置通过单类域感知低秩模型对包含正负样本和多维域特征的训练样本集进行训练,所获得的模型参数矩阵能够生成更加准确,性能优秀的推荐模型。
可选的,所述推荐模型训练装置还可以包括存储单元,用于对训练获得的模型参数矩阵进行存储。
可选的,所述单类域感知低秩模型中的所述模型参数矩阵为:
Figure GDA0002069130210000047
Figure GDA0002069130210000048
Figure GDA0002069130210000049
是域fi的特征个数,
Figure GDA00020691302100000410
为域f1的第j个特征与域f2交互时的k维隐向量,
Figure GDA00020691302100000411
Figure GDA00020691302100000412
为域f2的第t个特征与域f1交互时的k 维隐向量,
Figure GDA00020691302100000413
上述装置在训练的过程中通过设定f1=f2时的
Figure GDA00020691302100000414
取值,使得f1=f2
Figure GDA00020691302100000415
此处的单独设置可以解决模型的非凸优化问题,进而可以降低模型的训练复杂度。
可选的,所述
Figure GDA00020691302100000416
具体为
Figure GDA00020691302100000417
可选的,所述训练单元型采用Block Coordinate Decent Method(Block CD,块坐标梯度下降法)与Conjugate Gradient Method(CG,共轭梯度法)相结合的方式对所述单类域感知低秩模进行训练。
上述装置在训练的过程中通过设定f1=f2时的
Figure GDA00020691302100000418
取值,使得f1=f2
Figure GDA00020691302100000419
此处的单独设置可以解决模型的非凸优化问题,进而可以降低模型的训练复杂度。
本发明实施例提供一种推荐方法,所述方法包括:
获取目标用户的用户域特征及待推荐对象的对象域特征;
将目标用户的用户域特征及待推荐对象的对象域特征输入推荐模型获取待推荐对象的推荐分值,基于推荐分值确定目标推荐对象;其中推荐模型基于模型参数矩阵生成。
其中模型参数矩阵为
Figure GDA00020691302100000420
通过上述推荐模型训练方法获得。
可选的,所述推荐模型通过
Figure GDA00020691302100000421
获取各个待推荐对象的推荐分值,其中,a为目标用户域特征和待推荐对象的域特征所组成的多维特征向量,
Figure GDA0002069130210000051
表示a中属于域f1的域特征,
Figure GDA0002069130210000052
表示a中属于域f2的域特征,F 为域的个数,
Figure GDA0002069130210000053
表示所述推荐模型对于a中对象的预测分值,所述模型参数矩阵
Figure GDA0002069130210000054
为域f1与域f2之间的交互参数矩阵,所述模型参数矩阵
Figure GDA0002069130210000055
为域f2与域f1之间的交互参数矩阵,F为域的个数。
上述方法通过单类域感知低秩模型对包含正负样本和多维域特征的训练样本集进行训练,用所获得的模型参数矩阵生成更加准确,性能优秀的推荐模型用于待推荐对象的分值计算和推荐。
本发明实施例提供一种推荐装置,所述装置包括:
特征获取单元,用于获取目标用户的用户域特征及待推荐对象的对象域特征;
推荐单元,用于将目标用户的用户域特征及待推荐对象的对象域特征输入推荐模型获取待推荐对象的推荐分值,基于推荐分值确定目标推荐对象;其中推荐模型基于模型参数矩阵生成;其中模型参数矩阵为
Figure GDA0002069130210000056
通过上述推荐模型训练方法获得。
可选的,所述推荐模型通过
Figure GDA0002069130210000057
获取各个待推荐对象的推荐分值,其中,a为目标用户域特征和待推荐对象的域特征所组成的多维特征向量,
Figure GDA0002069130210000058
表示a中属于域f1的域特征,
Figure GDA0002069130210000059
表示a中属于域f2的域特征,F 为域的个数,
Figure GDA00020691302100000510
表示所述推荐模型对于a中对象的预测分值,所述模型参数矩阵
Figure GDA00020691302100000511
为域f1与域f2之间的交互参数矩阵,所述模型参数矩阵
Figure GDA00020691302100000512
为域f2与域f1之间的交互参数矩阵,F为域的个数。
可选的,还包括存储单元,对所确定的目标待推荐对象进行存储。
上述装置通过单类域感知低秩模型对包含正负样本和多维域特征的训练样本集进行训练,用所获得的模型参数矩阵生成更加准确,性能优秀的推荐模型用于待推荐对象的分值计算和推荐。
本发明实施例还提供一种装置,包括:存储器和至少一个处理器,其中,所述存储器用于存储程序指令,所述至少一个处理器调用所述程序指令时,执行上述推荐模型训练方法/ 或上述推荐方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述推荐模型训练方法/或上述推荐方法。
本发明实施例还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述推荐模型训练方法/或上述推荐方法。
可以看到,实施本发明实施例的技术方案,能够通过单类域感知低秩模型来进行推荐模型的训练,获得模型参数矩阵,用于构建生成推荐模型,由于模型的本身可以引入多种域特征以及正负样本,由此能够在训练的过程中考虑更多的用户选择相关的因素和用户相关的负例信息,由此生成性能更优秀的推荐模型。此外本发明实施例对于模型训练的具体训练方式能够大大简化模型训练的复杂度,从而提升了模型训练的效率,也使得更多信息的引入成为可能。
附图说明
为了更清楚地说明本发明实施例或背景技术中的技术方案,下面将对本发明实施例或背景技术中所需要使用的附图进行说明。
图1是本发明实施例提供的一种推荐模型的应用场景示意图;
图2是本发明实施例提供的一种推荐方法的流程示意图;
图3A是本发明实施例提供了一种***架构示意图;
图3B是本发明实施例提供的一种推荐***的***架构示意图;
图4是本发明实施例提供的一种推荐模型的训练方法的流程示意图;
图5A是本发明实施例中模型矩阵参数的一种具体训练方式的示意图;
图5B是本发明实施例中模型矩阵参数的一种具体训练方式的方法流程图;
图6是本发明实施例提供的一种训练设备的结构图;
图7是本发明实施例提供的一种执行设备的结构图;
图8是本发明实施例的APP应用市场的推荐界面示意图
图9A是本发明实施例提供的另一种训练设备的结构图;
图9B是本发明实施例提供的另一种执行设备的结构图;
图10是本发明实施例提供的一种推荐方法的流程示意图。
具体实施方式
下面结合本发明实施例中的附图对本发明实施例进行描述。
本发明实施例中所提到的推荐模型可以应用于各种推荐场景,如图1所示,图1所给出的为本发明实施例的推荐模型的几个常用场景,该场景包括但不限于涉及电商产品推荐、搜索引擎结果推荐、应用市场推荐、音乐推荐、视频推荐等场景,各种不同应用场景中被推荐的物品以下均称为“对象”以方便后续描述,即在不同的推荐场景中,推荐对象可以是APP,或者视频,或者音乐,或者某款商品(如线上购物平台的呈现界面,会根据用户的不同而显示不同的商品进行呈现,这实质也可以是通过推荐模型的推荐结果来进行呈现)。这些推荐场景通常涉及用户行为日志采集、日志数据预处理(例如,量化、采样等)、样本集训练以获得推荐模型、根据推荐模型对训练样本项对应的场景中所涉及的对象(如APP、音乐等)进行分析处理、例如,推荐模型训练环节中所选择的样本来自于手机应用市场用户对于所推荐APP 的操作行为,则由此所训练出来的推荐模型则适用于上述手机APP应用市场,或者可以用于其它的类型的终端的APP应用市场进行终端APP的推荐。推荐模型将最终计算出各个待推荐对象的推荐概率或者分值,推荐***根据一定的选择规则选定的推荐结果,例如按照推荐概率或者分值进行排序,通过相应的应用或者终端设备呈现给用户、用户对推荐结果中的对象进行操作以生成用户行为日志等环节,具体如图2。本申请实施例提供一种推荐模型训练方法,通过在模型训练的过程中引入单类域感知低秩模型,提高训练效率,并使推荐***的推荐结果更贴合用户需求。
参见附图3A,本发明实施例提供了一种推荐***架构200。数据采集设备260用于采集样本,一个训练样本可以由多个特征信息组成,特征信息可以有多种,具体可以包括用户特征信息和对象特征信息以及标签特征,用户特征信息用于表征用户的特征,例如性别,年龄,职业,爱好等,对象特征信息用于表征向用户所推送的对象的特征,不同的推荐***对应不同的对象,不同的对象所需要提取的特征类型也不想同,例如APP市场的训练样本中所提取的对象特征可以为,APP的名称(标识),类型,大小等;而电商类APP的训练样本中所提起的对象特征可以为,商品的名称,所属的类别,价格区间等;标签特征,则是用于表示这个样本是正例还是负例,通常样本的标签特征可以通过用户对所推荐对象的操作信息所获的,用户对所推荐对象有进行操作的样本为正例,用户对所推荐对象没有进行操作,或者仅浏览的样本为负例,例如当用户点击或者下载或者购买了所推荐的对象,则所述标签特征为1,表示该样本是正例,而如果用户没有对所推荐的对象进行任何操作,则所述标签特征为0,表示该样本是负例。样本在采集后可以保存在数据库230中,数据库230中的样本中的部分或全部特征信息也可以直接从客户设备240中获取,如用户特征信息,用户对对象的操作信息(用于确定类型标识),对象特征信息(如对象标识)等。训练设备220基于数据库230中样本训练获取模型参数矩阵用于生成推荐模型201。下面将更详细地描述训练设备220如何训练得到用于生成推荐模型201的模型参数矩阵,推荐模型201能够用于对大量对象进行评估从而得出各个待推荐对象的分值,进一步的还可以从大量对象的评估结果中推荐指定或者预设数目个对象,计算模块211基于推荐模型201的评估结果获取推荐结果,通过I/O接口 212推荐给客户设备。
在本申请实施例中,该训练设备220可以从数据库230中样本集内选取正、负样本添加到所述训练集中,之后采用单类域感知低秩模型对训练集中的样本进行训练从而得到推荐模型;计算模块211的实现细节可以参照图4所示的方法实施例的详细描述。
训练设备220基于样本训练获得模型参数矩阵后用于构建推荐模型201后,将推荐模型 201发送给执行设备210,或者直接将模型参数矩阵发送给执行设备210,在执行设备210中构建推荐模型,用于进行相应***的推荐,例如基于视频相关的样本训练获得的推荐模型可以用于视频网站或APP中对用户进行视频的推荐,基于APP相关的样本训练获得的推荐模型可以用于应用市场中对用户进行APP的推荐。
执行设备210配置有I/O接口212,与外部设备进行数据交互,执行设备210可以通过 I/O接口212从客户设备240获取用户特征信息,例如用户标识、用户身份、性别、职业、爱好等,此部分信息也可以从***数据库中获取。推荐模型201基于用户特征信息和待推荐对象特征信息向用户推荐目标推荐对象。执行设备210可以设置在云端服务器中,也可以设置于用户客户端中。
执行设备210可以调用数据存储***250中的数据、代码等,同时也可以将输出的数据存入数据存储***250中。数据存储***250可以设置于执行设备210中,也可以独立设置,或者设置于其他网络实体中,数量可以是一个也可以是多个。
计算模块211使用推荐模型201对用户特征信息,待推荐对象特征信息进行处理,例如,该计算模块211使用推荐模型201对用户特征信息,以及待推荐对象的特征信息进行分析处理,从而得出该待推荐对象的分值,对待推荐对象按照分值进行排序,其中,排序靠前的对象将作为推荐给客户设备240的对象。
最后,I/O接口212将推荐结果返回给客户设备240,呈现给用户。
更深层地,训练设备220可以针对不同的目标,基于不同的样本特征信息生成相应的推荐模型201,以给用户提供更佳的结果。
值得注意的,附图3A仅是本发明实施例提供的一种***架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在附图3A中,数据存储***250相对执行设备210是外部存储器,在其它情况下,也可将数据存储***250置于执行设备210中。
在本申请实施例中,该训练设备220、执行设备210、客户设备240可以分别为三个不同的物理设备,也可能该训练设备220和执行设备210在同一个物理设备或者一个集群上,也可能该执行设备210与该客户设备240在同一个物理设备或者一个集群上。
参见附图3B,是本发明实施例提的一种***架构300。在此架构中执行设备210由一个或多个服务器实现,可选的,与其它计算设备配合,例如:数据存储、路由器、负载均衡器等设备;执行设备210可以布置在一个物理站点上,或者分布在多个物理站点上。执行设备 210可以使用数据存储***250中的数据,或者调用数据存储***250中的程序代码实现对象推荐的功能,具体地,将待推荐的对象的信息输入到推荐模型中,推荐模型为每个待推荐对象生成预估分数,然后按照预估分数从高到低的顺序进行排序,按照排序结果向用户推荐该待推荐对象。例如,将排序结果中的前10个对象推荐给用户。
其中,数据存储***250用于接收和存储训练设备发送的推荐模型的参数,以及用于存储通过推荐模型得到的推荐结果的数据,当然还可能包括该存储***250正常运行所需的程序代码(或指令)。数据存储***250可以为部署在执行设备210以外的一个设备或者多个设备构成的分布式存储集群,此时,当执行设备210需要使用存储***250上的数据时,可以由存储***250向执行设备210发送该执行设备所需的数据,相应地,该执行设备210接收并存储(或者缓存)该数据。当然数据存储***250也可以部署在执行设备210内,当部署在执行设备210内时,该分布式存储***可以包括一个或者多个存储器,可选的,存在多个存储器时,不同的存储器用于存储不同类型的数据,如通过训练设备生成的推荐模型的模型参数和通过推荐模型得到的推荐结果的数据可以分别存储在两个不同的存储器上。
用户可以操作各自的用户设备(例如本地设备301和本地设备302)与执行设备210进行交互。每个本地设备可以表示任何计算设备,例如个人计算机、计算机工作站、智能手机、平板电脑、智能摄像头、智能汽车或其他类型蜂窝电话、媒体消费设备、可穿戴设备、机顶盒、游戏机等。
每个用户的本地设备可以通过任何通信机制/通信标准的通信网络与执行设备210进行交互,通信网络可以是广域网、局域网、点对点连接等方式,或它们的任意组合。
在另一种实现中,执行设备210可以由本地设备实现,例如,本地设备301可以基于推荐模型实现执行设备210的的推荐功能获取用户特征信息并向用户反馈推荐结果,或者为本地设备302的用户提供服务。
图4是本发明实施例提供的一种推荐模型训练方法,该方法可以基于图3A所示的训练设备220来实现,也可以基于其他架构来实现,该方法包括但不限于如下步骤:
步骤S401:从数据库中获取训练样本集。
训练样本集包括多条正样本和多条负样本。在本申请实施例中,样本集中每个样本的样本特征中包含用于描述一个对象的特征,即前面提到的对象特征信息。可选的,该样本集内的各个样本的样本特征所描述的各个对象为同一次展示在一个推荐结果中的对象,所述推荐结果可以为样本来源的推荐***中的所有。举例来说,某个样本集包括样本1、样本2和样本3,样本1中包含用于描述对象1的特征,样本2中包含用于描述对象2的特征,样本3 中包含用于描述对象3的特征;这里的对象1、对象2和对象3属于同一次展示在一个推荐结果上的三个对象。为了便于理解,这里再对“同一次展示在一个推荐结果的对象”进行举例说明,我们打开应用市场的主页面时,应用市场中会显示“实用工具”APP推荐、“影音娱乐”APP推荐等,其中,“实用工具”APP推荐和“影音娱乐”APP推荐就不属于一个推荐结果;用户前一天使用应用市场会展示这些推荐结果,后一天使用应用市场也会展示这些推荐结果,前一天展示的一次推荐结果与后一天展示的一次推荐结果就不属于同一次展示。
可选的,该对象的特征信息可以有多个,包括对象标识(ID)、对象所属的APP推荐结果的标识(ID)(如,实用工具,影音娱乐等)、对象名称、对象简介、对象大小、对象的标签、对象的评论等中的一项或多项,当然也可能不包含这里例举的这些信息而是包括该对象的其他属性信息。
在本申请实施例中,针对该多个样本集中每个一个样本集而言,样本集中每个样本的样本特征中包含用于描述用户的特征,即为前面提到的用户特征信息;该用户特征信息可以包括用户标识(ID)、用户性别、年龄、职业、收入、爱好、教育情况等中的一项或多项,当然也可能不包含这里例举的这些信息而是包括其他描述用户特点的信息。
可以根据上述特征的类别划分域(Field),比如教师,医生,警察都属于职业这个域,男、女属于性别这个域。用户域特征和对象域特征在本文中统称域特征
在本申请实施例中,针对该多个样本集中每个一个样本集而言,样本集中每个样本的样本特征中除了域特征外,包含用于描述该样本为正样本还是负样本的特征,即样本类型标签 (标签特征),一个样本属于正样本还是属于负样本可以通过对样本中的样本类型标签进行识别得出,例如,某个样例的该样本类型标签为1时,表明该某个样例为正样本,某个样例的样本类型标签为0时,表明该某个样例为负样本。一个样本的样本类型标签由用户对该一个样本中的特征描述的对象的操作信息决定,例如,该操作信息用于表示“浏览”、“下载”、“评论”、“购买”等操作,操作信息则意味着样本类型标签不同,例如,预先定义操作为“浏览”时样本类型标签用于标记负样本,预先定义操作行为“下载”时样本类型标签用于标记正样本。实际应用中,哪种操作对应正样本,哪种操作对应负样本都可以预先定义好。如图8所示,图8示意了一个APP排行榜801,这个排行榜上排列了好几个APP802(即排列的对象),从用户进入到该APP推荐结果801界面开始,到用户离开该APP推荐结果801界面结束,这期间用户对APP推荐结果801上每个APP802的操作信息(如浏览、下载等)都会被记录下来,那么,一个样本包含的对象域特征信息可以包括一个APP802的APP标识(ID),视频所属的APP推荐结果的标识(ID)、APP名称、APP提供方、APP类型、APP大小、标签、打分、评论等等,该一个样本包含的用户域特征信息可以包括用户标识(ID)、用户性别、年龄、职业、收入、爱好、教育情况等等,该一个样本包含的样本类型标签可以为“下载”,用于表示该一个样本为正样本(预定义“下载”表示正样本,以及定义“浏览”表示负样本,可以配置数值1代表“下载”,数值0代表“浏览”)。
上述多个样本集中每个样本集都有各自的标识(ID),每个样本集包括多个样本,举例来说,样本集A的第m个样本的域特征可以表示为:
Am={xm,T}
xm={(1:t1,2:t2,3:t3,4:t4,......n:tn),(n+1:tn+1,……F:tF)}
其中,xm表示样本集A的第m个样本Am中的域特征,T表示样本Am中的标签特征,用于标识样本是正样本还是负样本。(t1,t2,t3,t4,......tn)表示xm中的用户域特征,有n 个用户域特征,(tn+1,......tF)表示xm中的对象域特征,有F-n个对象域特征,0-F为编号,对应F类属性,即F个域,t1-tN为各个编号的域对应的域特征。
举例来说,假若身份标识为U1的用户对标识为APP1(名称)的APP(即一个对象)执行了下载操作,APP1的类型为视频平台类APP,属于影音娱乐,该用户U1的性别男、年龄为25、职业为软件工程师、爱好是电影,那么可以得到一个样本{(1:U1,2:男,3:25, 4:软件工程师,5:电影,6:APP1,7:影音娱乐},1},其中,最后一项“1”表示操作行为为“下载”,操作行为为“下载”的样本属于正样本,因此通过该样本的第一项可以识别该样本为正样本还是负样本。对应表示为:
Am={xm,1}
xm={(1:U1,2:男,3:25,4:软件工程师,5:电影),(6:APP1,7:影音娱乐)}
当推荐场景为其他场景,如视频平台类APP中进行视频推荐时,判断正负样本的操作信息可以与上述场景类似,播放,下载,收藏、评论的为正样本,无操作或者仅浏览为负样本,用户域特征也可以与上述示例相类似,样本所包含的对象域特征信息可以包括一个视频的标识(ID),视频所属的推荐推荐结果的标识ID,如电影、电视剧,视频名称、视频类型(恐怖,喜剧,悬疑等)、标签、打分、评论等等。
上述样本及域特征的表示方式仅为一种表现形式的示例,不作为一种样本表现形式的限制,可选的,样本的域特征也可以不用加编号,通过预先设定的顺序代表相应的域对应的特征
步骤S402:使用单类域感知低秩模型对所述训练样本集进行训练,获得模型参数矩阵
Figure GDA0002069130210000101
用于生成推荐模型。
所述模型参数矩阵
Figure GDA0002069130210000102
通过使所述单类域感知低秩模型取值最小来训练获得;所述模型参数矩阵
Figure GDA0002069130210000103
为域f1与域f2之间的交互参数矩阵,所述模型参数矩阵
Figure GDA0002069130210000104
为域f2与域f1之间的交互参数矩阵,f1与f2分别表示编号为f1与f2的域;
所述单类域感知低秩模型由所述模型参数矩阵
Figure GDA0002069130210000105
的平方和,以及所述训练样本集中各条样本的损失函数加权求和构建。
本实施例中的单类域感知低秩模型具体为:
Figure GDA0002069130210000106
Figure GDA0002069130210000107
Figure GDA0002069130210000108
其中,所述模型参数矩阵
Figure GDA0002069130210000109
为域f1与域f2之间的交互参数矩阵,所述模型参数矩阵
Figure GDA00020691302100001010
为域f2与域f1之间的交互参数矩阵,F为域的个数,xl表示第l条样本的域特征;
Figure GDA00020691302100001011
表示xl中属于域f1的特征向量,
Figure GDA00020691302100001012
表示xl中属于域f2的特征向量,λ表示正则系数,
Figure GDA0002069130210000111
表示xl的损失函数,y(xl)表示xl所属样本的标签特征,
Figure GDA0002069130210000112
是表示模型对xl中对象的预测分值,L为训练样本集中样本的总数,cl表示第l条样本的损失函数权重。上面的式(1)是模型的目标函数,训练得到的模型参数
Figure GDA0002069130210000113
会使得目标函数最小化。
进一步,所述单类域感知低秩模型中的所述模型参数矩阵为:
Figure GDA0002069130210000114
Figure GDA0002069130210000115
Figure GDA0002069130210000116
是域fi的特征个数,
Figure GDA0002069130210000117
为域f1的第j个特征与域f2交互时的k维隐向量,
Figure GDA0002069130210000118
Figure GDA0002069130210000119
为域f2的第t个特征与域f1交互时的k维隐向量,
Figure GDA00020691302100001110
其中式 (5)将
Figure GDA00020691302100001111
中f1=f2时的取值单独进行设置,使得f1=f2
Figure GDA00020691302100001112
此处将将
Figure GDA00020691302100001113
中 f1=f2时的取值单独设置可以解决模型的非凸优化问题,进而可以降低模型的训练复杂度。
具体实施过程:
1、模型的输入是训练样本Al=[(1:1,2:2,3:3,4:1),1],则xl=[1:1,2:2,3:3, 4:1],真实标签y(xl)=1,此训练样本集A的训练样本有4个域。模型的训练目标是使得标签预测
Figure GDA00020691302100001114
尽量逼近真实标签y(xl)。
2、给定初始的正则系数λ,第l条样本的损失函数权重cl,隐向量维度k。λ、cl、k 的最终选定,是通过预先设定多个(λ,cl,k)参数组合,然后重复进行后续的模型训练得到相应的模型,以排序指标选择最优的(λ,cl,k)。
3、模型训练,详细的训练过程在后续的实施例中会进行介绍。训练的过程其实质就是获取
Figure GDA00020691302100001115
最佳取值的过程,即使得目标函数最小化。以k=4为例,则训练得到的最终模型参数矩阵可能为:
Figure GDA00020691302100001116
Figure GDA0002069130210000121
W,b,c,d表示f1=b、f2=c时的域f1中编号为d的特征的隐向量。
其中隐向量为机器学习及人工智能领域中的常用参数,通常用于人工智能领域中模型的构建,用于表征模型中相关对象的隐含信息,可以通过多种方式获得,如本申请中上述隐向量的纬度可以通过预先设定获得,然后隐向量的数值可以通过式(1)-(5)的模型训练获得。
训练获得模型参数矩阵之后,基于
Figure GDA0002069130210000122
来生成推荐模型,具体包括,根据
Figure GDA0002069130210000123
Figure GDA0002069130210000124
来计算各个待推荐对象的推荐分值
Figure GDA0002069130210000125
Figure GDA0002069130210000126
式(6)中
Figure GDA0002069130210000127
a为用户域特征和待推荐对象的域特征所组成的多维特征向量,其中用户为选取出来的对象将要推送呈现给的目标用户,
Figure GDA0002069130210000128
表示a中属于域f1的域特征,
Figure GDA0002069130210000129
表示a中属于域f2的域特征,F为域的个数,
Figure GDA00020691302100001210
表示所述推荐模型对于a中对象的预测分值。
然后根据
Figure GDA00020691302100001211
来构建推荐模型,所述推荐模型可以根据具体的推荐需求来灵活构建,如向用户推送推荐分值为前10的待推荐对象。所述训练获取
Figure GDA00020691302100001212
后可以进行存储,可以存储于训练设备220中,也可以是发送给执行设备进行存储,或者是存储于网络中的其他存储设备中,并在需要时进行推荐模型的构建,所述推荐模型的构建可以是在图 3A的训练设备220中进行,然后将构建好的推荐模型发送给执行设备,也可以是将模型参数矩阵
Figure GDA00020691302100001213
发送给执行设备210,在执行设备中构建推荐模型。
图5A是本发明实施例的一种模型训练的具体方法,对于式(1)-(5)的模型,为了提升模型的训练效率,以及降低模型训练的复杂度,本实施例采用了块坐标梯度下降法BlockCoordinate Decent Method(以下简称Block CD)与共轭梯度法Conjugate GradientMethod (以下简称CG)相结合的方式来进行训练。在本实施例中一个块(block)指的是模型参数矩阵
Figure GDA00020691302100001214
或者
Figure GDA00020691302100001215
中的f1、f2的不同取值中的一个取值情况,如
Figure GDA00020691302100001216
或者
Figure GDA00020691302100001217
对于对于式(1)-(5)的模型具体的训练方式如图5B所示:
S501:基于Block-CD,固定其它所有block去求解某个block。
基于Block CD固定其它所有块,每次只求解其中一个块,例如:求解所述模型参数矩阵
Figure GDA00020691302100001218
时,将f1、f2取其它值的模型参数矩阵
Figure GDA00020691302100001219
Figure GDA00020691302100001220
的取值固定,这样的好处是训练过程中每个块的求解是凸优化的,降低了模型训练的复杂度。
S502:每个块运用CG求解。
在求解单个块时采用CG进行求解,这样可以避免大规模矩阵的存储和复杂的矩阵求逆运算。
Block CD+CG的训练方式的运算复杂度为O(mn),其中m是用户数,n是物品数。因为m 个用户和n个物品间有mn个组合,也就是有mn个样本,所以一般的算法的运算复杂度是O(mn)。通常mn是个非常大的数。Block CD和CG均是成熟算法,不再赘述。
本实施例基于Block CD+CG的训练方式进一步对具体训练步骤进行优化将复杂度O(mn) 优化为O(m+n)。具体方式为,基于一条样本可拆分为用户域特征和对象域特征两部分,按 f1、f2所在区域(在用户域区域还是对象域区域)分三种情况分别计算:
Figure GDA0002069130210000131
其中,Fu表示用户域特征部分的最大域编号,例如当用户域有3个(例如:性别,年龄,职业)时,Fu=3。
情况(1)表示待求解的块
Figure GDA0002069130210000132
或者
Figure GDA0002069130210000133
中的f1、f2均位于用户域部分;情况(2)表示f1、f2均位于对象域部分;情况(3)表示f1、f2分别位于用户域和物品域。情况(1)中只涉及m个用户,运算复杂度为O(m);情况(2)中只涉及n个物品,运算复杂度为O(n);情况(3)可以利用前两种情况已经算好的中间变量,运算复杂度将只有O(m+n)。
综上所述,具体训练步骤,示例如下:
Step1循环f1←{1…Fu};
Step2循环f2←{f1…Fu};
Step3固定所有块除了
Figure GDA0002069130210000134
中的一个取值,例如
Figure GDA0002069130210000135
利用CG求解
Figure GDA0002069130210000136
然后循环step1-3,按此方式依次计算其他
Figure GDA0002069130210000137
然后按照上述方式计算
Figure GDA0002069130210000138
中的各个块;
Step4循环f1←{Fu+1…F}
Step5循环f2←{f1…F}
Step6固定所有块除了
Figure GDA0002069130210000139
中的一个取值,例如
Figure GDA00020691302100001310
利用CG求解
Figure GDA00020691302100001311
然后循环step4-6,按此方式依次计算其他
Figure GDA00020691302100001312
然后按照上述方式计算
Figure GDA00020691302100001313
中的各个块;
Step7循环f1←{1…Fu}
Step8循环f2←{Fu+1…F}
Step9固定所有块除了
Figure GDA00020691302100001314
中的一个取值,例如W1 4(Fu=3),利用CG求解W1 4
然后循环step7-9,按此方式依次计算其他
Figure GDA00020691302100001315
然后按照上述方式计算
Figure GDA00020691302100001316
中的各个块;其中,F表示样本的最大域编号;Step1~Step3对应情况(1),Step4~Step6对应情况(2), Step7~Step9对应情况(3)。
图10是本发明实施例提供的一种推荐方法的流程示意图,该方法包括但不限于如下步骤:
步骤S1001:获取目标用户的用户域特征及待推荐对象的对象域特征。
获取目标用户的用户域特征,其域特征所涉及的域和模型训练过程中样本数据中的用户域个数和内容上相同,如,模型训练中获取的用户域包括性别,年龄,职业,则在执行推荐方法的时候也需要获取目标用户的性别,年龄和职业,目标用户指的是本次分析的推荐结果所将要呈现给的用户,同样所获取的对象域特征所涉及的域和模型训练过程中样本数据中的对象域个数和内容上相同,如,模型训练中获取的对象域包括ID,所属类别,大小,则在执行推荐方法的时候也需要获取带推荐对象的ID,所属类别,大小,待推荐对象包括所有需要判断是否要推荐给目标用户的对象,例如在APP市场中,带推荐对象可以指所有的APP,如果是在APP市场的影音娱乐分类中,待推荐对象指的APP市场中所有的影音娱乐类的APP。将所有的带推荐对象的域特征分别和目标用户的用户域特征进行组合,构建出待分析的数据,如果待推荐对象有n个,目标用户有一个,则需要进行分析的数据有n*1组。
步骤S1002:将目标用户的用户域特征及待推荐对象的对象域特征输入推荐模型获取待推荐对象的推荐分值,基于推荐分值确定目标推荐对象。
具体地,该推荐模型为通过图4所示的方法得到的模型参数矩阵
Figure GDA0002069130210000141
Figure GDA0002069130210000142
所构建的推荐模型,输入到该推荐模型的数据为S1001中所构建的数据,包括每个待推荐对象的对象特征信息和目标用户的用户特征信息,其中,需要向哪个用户推荐对象则哪个用户为该目标用户。
所述推荐模型通过
Figure GDA0002069130210000143
获取各个待推荐对象的推荐分值,其中,a为目标用户域特征和待推荐对象的域特征所组成的多维特征向量,
Figure GDA0002069130210000144
表示a中属于域f1的域特征,
Figure GDA0002069130210000145
表示a中属于域f2的域特征,F为域的个数,
Figure GDA0002069130210000146
表示所述推荐模型对于a中对象的预测分值。然后根据推荐模型的具体设置决定目标推荐对象,如按预设的数量按分值的排序进行推荐。例如:模型的设置为推荐分值前十的待推荐对象,则将推荐分值前十的待推荐对象确定为目标推荐对象。确定推荐结果后,可以将推荐结果进行存储和/或呈现给目标用户。
举例来说,假若待推荐对象包括APP1、APP2、APP3、APP4、APP5、APP6、APP7、 APP8、APP9、APP10,现在要向用户U1推荐这十个APP,那么将该用户U1的用户特征信息(例如,性别为男、年龄为25、职业为软件工程师等)和这十个APP各自对象特征信息(例如,APP标识,APP简介等)输入到该推荐模型,可选的,该推荐模型可以分别为这十个APP 计算出预估分数,假若为这十个APP计算出的分数分别为:APP1=3.7、APP2=2.2、APP3=4.5、 APP4=4.3、APP5=4.8、APP6=1、APP7=2.5、APP8=3.0、APP9=3.2、APP10=1.1,那么,按照预估分数从高到低进行排序得出顺序结果(或说列表)如表1 所示,最后可以将其中排在前5位(假若预先配置了M等于5)的对象推荐给目标用户。
表1
推荐顺序 视频 预估分数
1 APP5 4.8
2 APP3 4.5
3 APP4 4.3
4 APP1 3.7
5 APP9 3.2
6 APP8 3.0
7 APP7 2.5
8 APP2 2.2
9 APP10 1.1
10 APP6 1.0
上述详细阐述了本发明实施例的方法,下面提供了本发明实施例的装置。
图9A是本发明实施例提供的一种推荐模型训练装置900的结构示意图,该推荐模型训练装置900可以为一个上述图3A训练设备220,也可以为用于安装在该训练设备中的一个器件(如芯片),该推荐模型训练装置900可以包括样本获取单元901、训练单元902,还可以根据需要进一步的包括存储单元903,其中,各个单元的详细描述如下。
样本获取单元901用于获取训练样本集;其中,所述训练样本集中包括正样本和负样本,每个样本由n个域特征和一个标签特征组成,其中n≥1,标签特征用于表征所述样本为正样本还是负样本的特征,域特征又分为用户域特征和对象域特征,相关概念已经在上文中介绍过,在此不再赘述。
训练单元902用于使用单类域感知低秩模型对所述训练样本集进行训练,获得模型参数矩阵
Figure GDA0002069130210000151
用于生成推荐模型。
所述模型参数矩阵
Figure GDA0002069130210000152
通过使所述单类域感知低秩模型取值最小来训练获得;所述模型参数矩阵
Figure GDA0002069130210000153
为域f1与域f2之间的交互参数矩阵,所述模型参数矩阵
Figure GDA0002069130210000154
为域f2与域f1之间的交互参数矩阵,f1与f2分别表示编号为f1与f2的域;
所述单类域感知低秩模型由所述模型参数矩阵
Figure GDA0002069130210000155
的平方和,以及所述训练样本集中各条样本的损失函数加权求和构建。
本实施例中的单类域感知低秩模型为:
Figure GDA0002069130210000156
Figure GDA0002069130210000157
Figure GDA0002069130210000158
其中,所述模型参数矩阵
Figure GDA0002069130210000159
为域f1与域f2之间的交互参数矩阵,所述模型参数矩阵
Figure GDA00020691302100001510
为域f2与域f1之间的交互参数矩阵,F为域的个数,xl表示第l条样本的域特征;
Figure GDA00020691302100001511
表示xl中属于域f1的特征向量,
Figure GDA00020691302100001512
表示xl中属于域f2的特征向量,λ表示正则系数,
Figure GDA00020691302100001513
表示xl的损失函数,y(xl)表示xl所属样本的标签特征,
Figure GDA00020691302100001514
是表示模型对xl中对象的预测分值,L为训练样本集中样本的总数,cl表示第l条样本的损失函数权重。上面的式(1)是模型的目标函数,训练得到的模型参数
Figure GDA00020691302100001515
会使得目标函数最小化。
进一步,所述单类域感知低秩模型中的所述模型参数矩阵为:
Figure GDA00020691302100001516
Figure GDA00020691302100001517
Figure GDA0002069130210000161
是域fi的特征个数,
Figure GDA0002069130210000162
为域f1的第j个特征与域f2交互时的k维隐向量,
Figure GDA0002069130210000163
Figure GDA0002069130210000164
为域f2的第t个特征与域f1交互时的k维隐向量,
Figure GDA0002069130210000165
其中式 (5)将
Figure GDA0002069130210000166
中f1=f2时的取值单独进行设置,使得f1=f2
Figure GDA0002069130210000167
此处将将
Figure GDA0002069130210000168
中f1=f2时的取值单独设置可以解决模型的非凸优化问题,进而可以降低模型的训练复杂度。
具体实施过程方法实施例中已经描述,在此不再赘述。
训练获得模型参数矩阵之后,基于
Figure GDA0002069130210000169
来生成推荐模型,具体包括,根据
Figure GDA00020691302100001610
Figure GDA00020691302100001611
来计算各个待推荐对象的推荐分值
Figure GDA00020691302100001612
Figure GDA00020691302100001613
式(6)中
Figure GDA00020691302100001614
a为用户域特征和待推荐对象的域特征所组成的多维特征向量,其中用户为选取出来的对象将要推送呈现给的目标用户,
Figure GDA00020691302100001615
表示a中属于域fi的域特征,F为域的个数,
Figure GDA00020691302100001616
表示所述推荐模型对于a中对象的预测分值。
然后根据
Figure GDA00020691302100001617
来构建推荐模型,所述推荐模型可以根据具体的推荐需求来灵活构建,如向用户推送推荐分值为前10的待推荐对象。所述训练获取
Figure GDA00020691302100001618
后可以进行存储,可以存储于存储单元903中,也可以是发送给执行设备进行存储,或者是存储于网络中的其他存储设备中,并在需要时进行推荐模型的构建,所述推荐模型的构建可以是在推荐模型训练装置900中进行,然后将构建好的推荐模型发送给执行设备,也可以是将模型参数矩阵
Figure GDA00020691302100001619
发送给执行设备210,在执行设备中构建推荐模型。
图9B是本发明实施例提供的一种推荐装置910的结构示意图,该推荐装置910可以为一个上述图3A执行设备210,也可以为用于安装在该执行设备中的一个器件(如芯片),该推荐装置910可以包括特征获取单元911、推荐单元902,还可以根据需要进一步的包括存储单元913,其中,各个单元的详细描述如下。
特征获取单元911用于获取目标用户的用户域特征及待推荐对象的对象域特征。
推荐单元912用于将目标用户的用户域特征及待推荐对象的对象域特征输入推荐模型获取待推荐对象的推荐分值,基于推荐分值确定目标推荐对象。
具体地,该推荐模型为通过图4所示的方法得到的模型参数矩阵
Figure GDA00020691302100001620
Figure GDA00020691302100001621
所构建的推荐模型,输入到该推荐模型的数据为S1001中所构建的数据,包括每个待推荐对象的对象特征信息和目标用户的用户特征信息,其中,需要向哪个用户推荐对象则哪个用户为该目标用户。
所述推荐模型通过
Figure GDA00020691302100001622
获取各个待推荐对象的推荐分值,其中,a为目标用户域特征和待推荐对象的域特征所组成的多维特征向量,
Figure GDA00020691302100001623
表示a中属于域f1的域特征,
Figure GDA00020691302100001624
表示a中属于域f2的域特征,F为域的个数,
Figure GDA00020691302100001625
表示所述推荐模型对于a中对象的预测分值。然后根据推荐模型的具体设置决定目标推荐对象,如按预设的数量按分值的排序进行推荐。例如:模型的设置为推荐分值前十的待推荐对象,则将推荐分值前十的待推荐对象确定为目标推荐对象。确定推荐结果后,可以将推荐结果存储于存储单元913和/或呈现给目标用户。
本发明实施例中的推荐模型训练方法的装置还可以为训练设备(该训练设备为一个服务器或者好几个服务器构成的集群),下面以训练设备为一个服务器为例对该训练设备的结构进行简单的介绍,请参见图6,图6是本发明实施例提供的一种训练设备29的结构示意图,该训练设备29包括处理器292、存储器293和通信接口291,所述处理器292、存储器293和通信接口291通过总线相互连接,其中:
该通信接口291用于获取样本数据,例如,其他设备采集到用户操作应用市场时产生的数据后,将该数据通过网络或者数据线或者其他方法发送给该训练设备,或者存储于网络数据库中备用,相应地,该训练设备通过该通信接口291获取该数据,从而获得样本数据;这些样本也可以存储在存储器293中。
存储器293包括但不限于是随机存储记忆体(random access memory,RAM)、只读存储器(read-only memory,ROM)、可擦除可编程只读存储器(erasable programmableread only memory,EPROM)、或便携式只读存储器(compact disc read-only memory,CD-ROM),该存储器292用于存储相关程序指令,以及存储相关数据,该相关数据可以包括通过通信接口 291获取到的数据(如样本)、以及训练得到的推荐模型的参数。
处理器292可以是一个或多个中央处理器(central processing unit,CPU),在处理器292 是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。该处理器292用于读取所述存储器293中存储的程序执行,执行图4所示的推荐模型训练方法中涉及到的相关操作,例如,样本采集操作、模型训练操作,等等。另外,处理器可以为专用处理器或通用处理器。
可选的,该训练设备29还可以包括输出组件,例如,显示器、音响等,该输出组件用于向开发人员展示训练模型要用到的参数,因此开发人员可以获知这些参数,也可以对这些参数进行修改,并通过输入组件(例如,鼠标、键盘等)将修改后的参数输入到该训练设备29 中。另外,该训练设备29还可以通过输出组件将训练出的推荐模型展示给开发人员。
本申请实施中推荐模型训练好之后还可以由执行设备27来使用该推荐模型,该执行设备 27可以为一个或者多个设备的集群,下面对该执行设备的结构进行简单的介绍,请参见图7,图7是本发明实施例提供的一种执行设备27的结构示意图,该执行设备27包括处理器272、存储器273和通信接口271,所述处理器272、存储器273和通信接口271通过总线相互连接,其中:
该通信接口271用于获取上述推荐模型的参数,例如,该通信接口271与上述训练设备建立了通信连接,因此可以接收训练设备发送的推荐模型的参数。该推荐模型的参数可以存储在存储器273中以供调用。
存储器273包括但不限于是随机存储记忆体(random access memory,RAM)、只读存储器(read-only memory,ROM)、可擦除可编程只读存储器(erasable programmableread only memory,EPROM)、或便携式只读存储器(compact disc read-only memory,CD-ROM),该存储器273用于存储相关程序指令,以及存储相关数据,该相关数据可以包括通过通信接口 271获取到的推荐模型的参数、以及推荐模型推荐得到的结果数据。
处理器272可以是一个或多个中央处理器(central processing unit,CPU),在处理器272 是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。该处理器272用于读取所述存储器273中存储的程序执行,执行图10所示的推荐方法中涉及到的相关操作。另外,处理器可以为专用处理器或通用处理器。
可选的,该执行设备27还可以包括输出组件,例如,显示器、音响等,该输出组件用于向向用户展示由推荐模型得到的推荐结果。
在有一种能可选的方案中,所述推荐模型还用于生成下一次训练新的推荐模型需要用到的样本。也即是说,训练推荐模型的过程会间接地用到历史模型的推荐分值,根据推荐分值来设定正负样本,然后用于新模型矩阵参数的训练,而训练得到的推荐模型又可以生成样本的推荐分值以供后续再次训练新的分类模型时使用。
在一种可选的方案中,所述样本集内的各个样本的样本特征所描述的对象为同一次展示在一个推荐结果的对象。
需要说明的是,各个单元的实现还可以对应参照图3A所示的方法实施例的相应描述。
除以上方法和装置外,本发明实施例还提供一种芯片***,所述芯片***包括至少一个处理器,存储器和接口电路,所述存储器、所述收发器和所述至少一个处理器通过线路互联,所述至少一个存储器中存储有指令;该指令被所述处理器执行时,实现图4所示的推荐模型训练方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在处理器上运行时,实现图4所示的推荐模型训练方法。
本发明实施例还提供一种计算机程序产品,当所述计算机程序产品在处理器上运行时,实现图4所示的推荐模型训练方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体 RAM、磁碟或者光盘等各种可存储程序代码的介质。

Claims (18)

1.一种推荐模型训练方法,其特征在于,所述方法包括:
从数据库中获取训练样本集,所述训练样本集包括多条正样本和多条负样本;
所述多条正样本和所述多条负样本均为多维特征向量,所述多条正样本和所述多条负样本中的每条均包括标签特征、域特征,所述标签特征用于标识所述标签特征所属的样本的正负样本类型,所述域特征包括用户域特征和对象域特征;
使用单类域感知低秩模型对所述训练样本集进行训练,获得模型参数矩阵
Figure FDA0003355663070000011
用于生成推荐模型;
所述模型参数矩阵
Figure FDA0003355663070000012
通过使所述单类域感知低秩模型取值最小来训练获得;所述模型参数矩阵
Figure FDA0003355663070000013
为域f1与域f2之间的交互参数矩阵,所述模型参数矩阵
Figure FDA0003355663070000014
为域f2与域f1之间的交互参数矩阵,f1与f2分别表示编号为f1与f2的域;
所述单类域感知低秩模型由所述模型参数矩阵
Figure FDA0003355663070000015
的平方和,以及所述训练样本集中各条样本的损失函数加权求和构建。
2.根据权利要求1所述的方法,其特征在于,
所述单类域感知低秩模型为:
Figure FDA0003355663070000016
Figure FDA0003355663070000017
Figure FDA0003355663070000018
其中,F为域的个数,xl表示第l条样本的域特征;
Figure FDA0003355663070000019
表示xl中属于域f1的特征向量,
Figure FDA00033556630700000110
表示xl中属于域f2的特征向量,λ表示正则系数,
Figure FDA00033556630700000111
表示xl的损失函数,y(xl)表示xl所属样本的标签特征,
Figure FDA00033556630700000112
是表示模型对xl中对象的预测分值,L为训练样本集中样本的总数,cl表示第l条样本的损失函数权重。
3.根据权利要求2所述的方法,其特征在于,所述单类域感知低秩模型中的所述模型参数矩阵为:
Figure FDA00033556630700000113
Figure FDA0003355663070000021
Figure FDA0003355663070000022
是域fi的特征个数,
Figure FDA0003355663070000023
为域f1的第j个特征与域f2交互时的k维隐向量,j∈[1,Df1],
Figure FDA0003355663070000024
为域f2的第t个特征与域f1交互时的k维隐向量,
Figure FDA0003355663070000025
4.根据权利要求2或3所述的方法,其特征在于,所述
Figure FDA0003355663070000026
具体为
Figure FDA0003355663070000027
5.根据权利要求1-4任一项所述的方法,其特征在于,所述单类域感知低秩模型采用块坐标梯度下降法与共轭梯度法相结合的方式进行训练。
6.根据权利要求5所述的方法,其特征在于,所述采用块坐标梯度下降法与共轭梯度法相结合的方式进行训练,包括:将模型参数矩阵
Figure FDA0003355663070000028
Figure FDA0003355663070000029
按f1、f2的不同取值,将各种取值情况下的模型参数矩阵作为独立的块,分别用共轭梯度法进行单独训练进行训练。
7.根据权利要求5所述的方法,其特征在于,所述采用块坐标梯度下降法与共轭梯度法相结合的方式进行训练,包括:
训练所述模型参数矩阵
Figure FDA00033556630700000210
时,将f1、f2取其它值的模型参数矩阵
Figure FDA00033556630700000211
Figure FDA00033556630700000212
的取值固定,然后对所述模型参数矩阵
Figure FDA00033556630700000213
采用共轭梯度法进行单独训练,m,n∈[1,F]。
8.一种推荐模型训练装置,其特征在于,所述装置包括:
样本获取单元,用于从数据库获取训练样本集,所述训练样本集包括多条正样本和多条负样本;
所述多条正样本和所述多条负样本均为多维特征向量,所述多条正样本和所述多条负样本中的每条均包括标签特征、域特征,所述标签特征用于标识所述标签特征所属的样本的正负样本类型,所述域特征包括用户域特征和对象域特征;
训练单元,用于使用单类域感知低秩模型对所述训练样本集进行训练,获得模型参数矩阵
Figure FDA00033556630700000214
用于生成推荐模型;
所述模型参数矩阵
Figure FDA00033556630700000215
通过使所述单类域感知低秩模型取值最小来训练获得;所述模型参数矩阵
Figure FDA00033556630700000216
为域f1与域f2之间的交互参数矩阵,所述模型参数矩阵
Figure FDA00033556630700000217
为域f2与域f1之间的交互参数矩阵,f1与f2分别表示编号为f1与f2的域;
所述单类域感知低秩模型由所述模型参数矩阵
Figure FDA00033556630700000218
的平方和,以及所述训练样本集中各条样本的损失函数加权求和构建。
9.根据权利要求8所述的装置,其特征在于
所述单类域感知低秩模型为:
Figure FDA0003355663070000031
Figure FDA0003355663070000032
Figure FDA0003355663070000033
其中,F为域的个数,xl表示第l条样本的域特征;
Figure FDA0003355663070000034
表示xl中属于域f1的特征向量,
Figure FDA0003355663070000035
表示xl中属于域f2的特征向量,λ表示正则系数,
Figure FDA0003355663070000036
表示xl的损失函数,y(xl)表示xl所属样本的标签特征,
Figure FDA0003355663070000037
是表示模型对xl中对象的预测分值,L为训练样本集中样本的总数,cl表示第l条样本的损失函数权重;
存储单元,用于对获得模型参数矩阵
Figure FDA0003355663070000038
进行存储。
10.根据权利要求9所述的装置,其特征在于,所述单类域感知低秩模型中的所述模型参数矩阵为:
Figure FDA0003355663070000039
Figure FDA00033556630700000310
Figure FDA00033556630700000311
是域fi的特征个数,
Figure FDA00033556630700000312
为域f1的第j个特征与域f2交互时的k维隐向量,
Figure FDA00033556630700000313
Figure FDA00033556630700000314
为域f2的第t个特征与域f1交互时的k维隐向量,
Figure FDA00033556630700000315
11.根据权利要求9或10所述的装置,其特征在于,所述
Figure FDA00033556630700000316
具体为
Figure FDA00033556630700000317
12.根据权利要求8-10任一项所述的装置,其特征在于,所述训练单元型采用所述单类域感知低秩模型采用块坐标梯度下降法与共轭梯度法相结合的方式进行训练。
13.根据权利要求12所述的装置,其特征在于,所述训练单元采用所述单类域感知低秩模型采用块坐标梯度下降法与共轭梯度法相结合的方式进行训练,包括:所述训练单元将模型参数矩阵
Figure FDA00033556630700000318
Figure FDA00033556630700000319
按f1、f2的不同取值,将各种取值情况下的模型参数矩阵作为独立的块block,分别用CG方式进行单独训练进行训练。
14.根据权利要求12所述的装置,其特征在于,所述训练单元所述单类域感知低秩模型采用块坐标梯度下降法与共轭梯度法相结合的方式进行训练,包括:所述训练单元训练所述模型参数矩阵
Figure FDA0003355663070000041
时,将f1、f2取其它值的模型参数矩阵
Figure FDA0003355663070000042
Figure FDA0003355663070000043
的取值固定,然后对所述模型参数矩阵
Figure FDA0003355663070000044
采用CG方式进行单独训练,m,n∈[1,F]。
15.一种推荐模型训练装置,其特征在于,包括:存储器和至少一个处理器,其中,所述存储器用于存储程序指令,所述至少一个处理器调用所述程序指令时,实现权利要求1-7任一项所述的推荐模型训练方法。
16.一种推荐方法,其特征在于,
将目标用户的用户域特征及待推荐对象的对象域特征输入推荐模型获取待推荐对象的推荐分值;
基于所述待推荐对象的推荐分值确定目标推荐对象;
其中所述推荐模型的模型参数矩阵为
Figure FDA0003355663070000045
所述模型参数矩阵通过权利要求1-7任一所述的推荐模型训练方法获得。
17.一种推荐装置,所述推荐装置包括:存储器和至少一个处理器,其中,所述存储器用于存储程序指令,所述至少一个处理器调用所述程序指令时,执行权利要求16所述的推荐方法。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当其在处理器上运行时,实现权利要求1-7任一所述的推荐模型训练方法或权利要求16所述的推荐方法。
CN201910009471.1A 2019-01-04 2019-01-04 一种推荐模型训练方法及装置 Active CN110008397B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910009471.1A CN110008397B (zh) 2019-01-04 2019-01-04 一种推荐模型训练方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910009471.1A CN110008397B (zh) 2019-01-04 2019-01-04 一种推荐模型训练方法及装置

Publications (2)

Publication Number Publication Date
CN110008397A CN110008397A (zh) 2019-07-12
CN110008397B true CN110008397B (zh) 2022-05-31

Family

ID=67165353

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910009471.1A Active CN110008397B (zh) 2019-01-04 2019-01-04 一种推荐模型训练方法及装置

Country Status (1)

Country Link
CN (1) CN110008397B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110728370B (zh) * 2019-09-16 2020-08-14 北京达佳互联信息技术有限公司 训练样本的生成方法、装置、服务器及存储介质
CN111198938B (zh) * 2019-12-26 2023-12-01 深圳市优必选科技股份有限公司 一种样本数据处理方法、样本数据处理装置及电子设备
CN111695036B (zh) * 2020-06-11 2024-03-08 北京百度网讯科技有限公司 内容推荐方法及装置
CN111738414B (zh) * 2020-06-11 2023-04-07 北京百度网讯科技有限公司 推荐模型的生成、内容推荐方法、装置、设备和介质
CN112115371A (zh) * 2020-09-30 2020-12-22 山东建筑大学 一种基于因子分解机的神经注意力机制手机应用推荐模型
CN112948694B (zh) * 2021-03-31 2023-06-27 北京奇艺世纪科技有限公司 数据处理方法、装置、电子设备及可读存储介质
CN116821451B (zh) * 2023-06-19 2024-03-22 苏州浩海医疗科技有限公司 一种基于全生命周期的用户管理***和方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107169830A (zh) * 2017-05-15 2017-09-15 南京大学 一种基于聚类pu矩阵分解的个性化推荐方法
CN107578332A (zh) * 2017-09-22 2018-01-12 深圳乐信软件技术有限公司 一种推荐现金商品的方法、装置、设备及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8996530B2 (en) * 2012-04-27 2015-03-31 Yahoo! Inc. User modeling for personalized generalized content recommendations
US20160078520A1 (en) * 2014-09-12 2016-03-17 Microsoft Corporation Modified matrix factorization of content-based model for recommendation system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107169830A (zh) * 2017-05-15 2017-09-15 南京大学 一种基于聚类pu矩阵分解的个性化推荐方法
CN107578332A (zh) * 2017-09-22 2018-01-12 深圳乐信软件技术有限公司 一种推荐现金商品的方法、装置、设备及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
利用Tri-training算法解决推荐***冷启动问题;张栩晨;《计算机科学》;20161215(第12期);第115-121页 *
基于矩阵分解模型的协同推荐过滤算法研究;韦智勇;《企业科技与发展》;20181010(第10期);第75-78页 *

Also Published As

Publication number Publication date
CN110008397A (zh) 2019-07-12

Similar Documents

Publication Publication Date Title
CN110008397B (zh) 一种推荐模型训练方法及装置
CN109902708B (zh) 一种推荐模型训练方法及相关装置
CN111784455B (zh) 一种物品推荐方法及推荐设备
CN106651542B (zh) 一种物品推荐的方法及装置
CN109697629B (zh) 产品数据推送方法及装置、存储介质、计算机设备
CN110717098B (zh) 基于元路径的上下文感知用户建模方法、序列推荐方法
CN108829808B (zh) 一种页面个性化排序方法、装置及电子设备
EP4181026A1 (en) Recommendation model training method and apparatus, recommendation method and apparatus, and computer-readable medium
CN113508378A (zh) 推荐模型的训练方法、推荐方法、装置及计算机可读介质
CN106251174A (zh) 信息推荐方法及装置
CN110008973B (zh) 一种模型训练方法、基于模型确定目标用户的方法及装置
CN110413888B (zh) 一种书籍推荐方法及装置
CN112488863B (zh) 一种在用户冷启动场景下的险种推荐方法及相关设备
CN113722583A (zh) 推荐方法、推荐模型训练方法及相关产品
CN112380449B (zh) 信息推荐方法、模型训练方法及相关装置
CN110598120A (zh) 基于行为数据的理财推荐方法及装置、设备
CN113536105A (zh) 推荐模型训练方法和装置
CN111582932A (zh) 场景间信息推送方法、装置、计算机设备及存储介质
CN111680213B (zh) 信息推荐方法、数据处理方法及装置
CN116049536A (zh) 一种推荐方法及相关装置
WO2023050143A1 (zh) 一种推荐模型训练方法及装置
CN113327132A (zh) 多媒体推荐方法、装置、设备及存储介质
CN112036987B (zh) 确定推荐商品的方法和装置
CN116910357A (zh) 一种数据处理方法及相关装置
CN107665202A (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
GR01 Patent grant
GR01 Patent grant