DW推荐系统论文组队学习task5-ComiRec

一、序列推荐简介

序列推荐(Sequential Recommendation)是一种通过建模用户行为与项目在时间序列上的模式,以给用户推荐相关物品的一种推荐系统范式,序列推荐系统将这些交互行为按照时间次序依次排列,利用多种不同的建模方法挖掘其中的序列化模式(sequential patterns),并用于支持下一时刻的一个或多个物品的推荐。

二、先前工作的缺陷

先前的工作对于用户建模采取的是一个统一的形式,这种方式会忽略用户在一个阶段内的不同兴趣对于用户最终embedding的影响,比如一个用户在一段时间内喜欢包、首饰、手机等,先前工作对于这些兴趣并没有加以区分,所以导致最终推荐效果不好

三、Comirec模型

Comirec模型由两部分组成,分别是multi-interest module和aggregate module:

3.1 多兴趣提取模块

先用独热编码和一个转换矩阵求出用户的embedding,然后使用注意力机制(softmax)提取出不同的兴趣所占的权重高低

3.2 聚合模块

聚合模块的任务主要是将相似的item进行聚合,然后行成推荐列表,这也是召回阶段的重要环节,本模型基于内积算出来的预测分数,使用了KNN算法获取了top-k个items作为推荐项目,但是其中存在一个问题就是推荐精度和多样性的冲突,因为用户对于商品的需求更倾向于收到新的物品的推荐,这就要求推荐列表得多样性,而不是一味地追求精度(个人认为一味追求精度就接近过拟合了),所以本模型中设计了一个可控的value函数,其中有一个超参数作为平衡多样性和精度的一个关键值,通过这样就可以更好的满足用户的需求

四、总结

本文得目的是解决序列推荐中所存在的若干问题,提出了一种新的模型,Comirec,这种一种可以提取用户多种兴趣来产生推荐的模型,并且设计了一个函数来平衡推荐多样性和精度之间的矛盾,其中使用了注意力机制,这也是注意力机制在推荐领域的早期尝试之一

附录:本模型代码实现(基于paddle)

https://aistudio.baidu.com/aistudio/projectdetail/5146623

你可能感兴趣的:(推荐算法,神经网络)