一种基于元表示生成的物品冷启动推荐方法及系统

文档序号:34863566发布日期:2023-07-23 15:04阅读:61来源:国知局
一种基于元表示生成的物品冷启动推荐方法及系统

本发明涉及推荐系统领域,尤其涉及一种基于元表示生成的物品冷启动推荐方法及系统。


背景技术:

1、近些年来,随着互联网高速发展及手机、电脑等移动通信设备的普及,全球的数据量急速增长,用户很难从海量的数据中寻找到自己感兴趣的信息,信息过载现象越发严重。推荐系统可以有效缓解信息过载问题,它通过对用户的特征、交互历史记录分析,为用户推荐其感兴趣的物品。目前推荐系统已经广泛用于电子商务、新闻、短视频等许多领域。

2、在推荐系统中,经常会在其中添加新的物品,例如电商平台上架新的商品、新闻平台发布新的新闻,而这些新添加的物品因为缺少与用户的交互记录,很难学习到一个良好的表示,因此推荐系统难以对这些物品进行有效推荐,从而导致了物品冷启动问题。物品冷启动问题是推荐系统中非常棘手的一个问题,其会影响系统推荐新物品的效果,降低新物品推送效率和用户的满意度,因此解决物品冷启动问题是非常有必要的。

3、推荐系统通常使用用户id表示、用户属性表示、物品id表示、物品属性表示这四部分信息进行推荐,每个用户和物品的id是独一无二的,属性是存在相同的,在物品冷启动问题中,因为新物品的交互数据非常少,其id表示并不准确,因此需要为其生成一个良好的id表示。目前已经有一些缓解物品冷启动问题的方法,但这些方法都有一些各自的局限性。其中,基于辅助内容的推荐是一种常用的缓解物品冷启动问题的方法,它利用更多物品的属性对新物品进行一个有效的推荐,然而这些辅助内容不足以很好地表示出新物品。元学习可以利用少量数据进行快速有效学习,其假设所有任务的数据分布是相同的,借鉴元学习可以快速学习的思想,近段时间也有不少研究者利用元学习去解决推荐系统物品冷启动问题,把每个新物品当作一个任务,但是这些方法大多是为所有新物品赋予了相同的先验知识,实际上不同的物品表示差异非常大,因此难以为新物品学到一个较好的表示。


技术实现思路

1、针对物品冷启动问题,本发明提供一种基于元表示生成的物品冷启动推荐方法及系统。该方法通过元学习,利用新物品的属性表示、与新物品相似的老物品id表示、与新物品有交互的用户id表示这三部分信息为新物品id生成一个表示,并通过新物品的少量交互数据,仅需对推荐系统的向量表示层(embedding层)进行参数微调,在不改变推荐模型参数的情况下即可使得新物品快速适应当前推荐系统。

2、本发明适用的场景为当前已经有一个训练良好的推荐模型,现在又到了一批新的训练数据,这些训练数据中包含的物品未在之前的训练中出现,它们的id表示是随机的,使用随机的id表示进行推荐会严重影响推荐效果,因此需要一种方法快速为这些新物品的id学习到一个良好的表示,让它们快速适应推荐模型。本发明可适用于多种常见的推荐模型,例如wide&deep、deepfm、pnn等。

3、本发明提供了如下技术方案:

4、第一个目的,本发明提供了一种基于元表示生成的物品冷启动推荐方法,包括以下步骤:

5、s1,获取物品交互数据集,根据交互数据划分为老物品交互数据集和新物品交互数据集;

6、s2,利用老物品交互数据集训练嵌入表示层和推荐模型;

7、s3,抽取老物品交互数据集中的全部或部分数据,根据被抽取到的老物品的属性表示、与老物品相似的其余老物品的id表示、与老物品有交互的用户id表示,使用元学习训练一个物品id表示生成器;

8、s4,固定推荐模型和物品id表示生成器的参数,利用嵌入表示层获取新物品交互数据集的嵌入表示,并将嵌入表示中的新物品id表示替换为由物品id表示生成器生成的新物品id表示后作为推荐模型的输入,根据推荐模型的预测评分和实际评分,更新嵌入表示层中新物品id的相关参数;

9、s5,利用由步骤s4更新后的嵌入表示层、以及由步骤s2训练后的推荐模型,对新老物品进行推荐。

10、进一步的,所述的物品交互数据集包括用户属性、物品属性、用户物品交互记录和评分,若某物品的交互次数大于nmin且小于等于n,则将其划分入新物品交互数据集;若某物品的交互次数大于n,则将其划分入老物品交互数据集。

11、进一步的,所述的嵌入表示层用于获取用户id、用户属性、物品id、物品属性的嵌入表示,所述的推荐模型用于根据所述的嵌入表示生成预测评分。

12、进一步的,所述的物品id表示生成器的训练过程为:

13、s31,抽取老物品交互数据集中的全部或部分数据,记为数据集

14、s32,将中包含的每一项老物品的所有交互数据平均分至两个数据集和中,使得两个数据集中的老物品id一一对应且用户id不同;

15、s33,获取数据集中与每一个老物品行为相似度最高的若干其余老物品,记为相似老物品;并获取数据集中与每一个老物品交互次数最多的若干用户,记为交互用户;利用步骤s2训练后的嵌入表示层获取老物品属性表示、相似老物品id表示的均值、交互用户id表示的均值,由物品id表示生成器生成老物品id表示,记为:

16、

17、其中,hω(.)表示物品id表示生成器,iattr表示物品i的属性表示,表示物品i的相似老物品id表示的均值,表示物品i的交互用户id表示的均值,表示由物品id表示生成器生成的物品i的id表示;

18、s34,由步骤s2训练后的嵌入表示层获取数据集的嵌入表示,并将嵌入表示中的老物品id表示替换为步骤s33生成的老物品id表示,由步骤s2训练后的推荐模型生成预测评分,根据预测评分和实际评分计算损失,更新生成的老物品id表示;

19、s35,由步骤s2训练后的嵌入表示层获取数据集的嵌入表示,并将嵌入表示中的老物品id表示替换为步骤s34更新后的生成的老物品id表示,由步骤s2训练后的推荐模型生成预测评分,根据预测评分和实际评分计算损失;

20、s36,结合步骤s34和步骤s35的损失,更新物品id表示生成器的参数,完成物品id表示生成器的训练。

21、进一步的,步骤s34中,采用损失梯度下降法更新生成的老物品id表示。

22、进一步的,所述的物品id表示生成器的计算公式为:

23、

24、

25、eattr=leakyrelu(wattriattr+battr)

26、

27、

28、其中,为由物品id表示生成器生成的物品id表示,tanh(.)为tanh激活层,leakyrelu(.)为leakyrelu激活层,表示连接操作,wω、wu、wattr、wconcat、bω、bu、battr、bconcat均为可训练参数,eω为精炼的相似物品id表示,eu为精炼的交互用户id表示,eattr为精炼的物品属性表示,econcat为连接后的精炼表示结果。

29、进一步的,所述的步骤s5具体为:针对待推荐的新老物品,利用步骤s4更新后的嵌入表示层获取待推荐的新老物品的嵌入表示,将得到的嵌入表示输入进推荐模型,生成预测评分,根据预测评分进行推荐。

30、第二个目的,本发明提供了一种基于元表示生成的物品冷启动推荐系统,包括:

31、数据获取模块,其用于获取物品交互数据集;

32、数据预处理模块,其用于根据交互数据划分为老物品交互数据集和新物品交互数据集,以及用于获取某物品的相似老物品和交互用户;

33、预训练模块,其用于利用老物品交互数据集训练嵌入表示层和推荐模型;

34、模型存储模块,其用于存储预训练后的嵌入表示层和推荐模型的参数;

35、物品表示生成模块,其用于抽取老物品交互数据集中的全部或部分数据,根据被抽取到的老物品的属性表示、与老物品相似的其余老物品的id表示、与老物品有交互的用户id表示,使用元学习训练一个物品id表示生成器;

36、再训练模块,其使用训练后的推荐模型和物品id表示生成器的参数,利用嵌入表示层获取新物品交互数据集的嵌入表示,并将嵌入表示中的新物品id表示替换为由物品id表示生成器生成的新物品id表示后作为推荐模型的输入,根据推荐模型的预测评分和实际评分,更新嵌入表示层中新物品id的相关参数;

37、推荐查询模块,其用于利用由再训练模块得到的嵌入表示层、以及由预训练模块得到的推荐模型,对新物品进行评分,将高评分物品推荐给用户。

38、进一步的,所述的物品id表示生成器的输入为物品属性表示、相似老物品id表示的均值、交互用户id表示的均值。

39、与现有技术相比,本发明的有益效果为:

40、1)本发明在生成新物品id表示时,除了用到现有技术常用的物品属性之外,还用到了包含丰富协同信息的相似物品的id表示、有交互用户的id表示,这些协同信息可以帮助生成更接近新物品真实id表示的初始id表示。同时本发明使用到了元学习,使得生成的id表示更具有泛化性,仅经过少量的训练就可以取得好的效果,缓解了过拟合现象。

41、2)本发明可以直接应用在预训练好的推荐模型上,只需要训练一个生成器,无需重新开始训练一个推荐模型,节省了训练成本;此外,本发明因为只更新了新物品的id表示,因此也不会影响对老物品预测评分。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1