104人参与 • 2024-08-05 • IDE
为了解决协同过滤的稀疏性和冷启动问题,通常利用side information,比如social networks,item attributes。
为了解决基于embedding和基于path的knowledge-aware recommendation的局限性,提出了ripplenet。ripple名为涟漪,模型通过自动地、迭代地延伸用户的潜在兴趣(沿着kg的links),促进 用户偏好在knowledge entities上的传播。因此,用户历史点击item的多个“ripples”(涟漪)被叠加,形成用户对候选item的偏好分布,用于预测最终点击的概率。
🔆基于kg的推荐的3个好处:
现有的kg分为2类:
使用knowledge graph embedding(kge) [35]预处理kg,并将学习到的entity embedding结合到推荐框架中去。例如dkn[33], cke[43], shine[32]。
这种方法灵活性高,但kge方法更适合in-graph应用,比如link prediction,而不是推荐[35]。
探索kg中items之间的各种连接模式,为推荐提供指导。例如per[42], meta-graph based recommendation[45]将kg视为异构信息网络(hin),并提取基于元路径/元图的潜在特征,以表示用户和项目之间沿着不同类型的关系路径/图的连通性。
这种方法更自然、直观,但是严重依赖手动设计的元路径,在实践中很难优化。或者说有些场景不可能手动设计元路径。
为了解决以上局限,提出了ripplenet
模型用于ctr预测,输入:user-item对;输出:user 点击(engaging) item的概率。
模型的关键思想:preference propagation。对于user,模型将他的历史兴趣作为kg中的seed set,然后 沿着kg的连接 迭代地 扩展用户的兴趣。,以发现他对于 候选item 的hierarchical potential interests(分层潜在兴趣)。
preference propagation与涟漪做类比,多个“涟漪”叠加,形成用户在kg上的最终偏好分布。
ripplenet的优点(结合了上述2种方法的优点):
user-item interaction mtrix y
knowledge graph g \mathcal{g} g,(h, r, t)三元组
问题描述:给定y和 g \mathcal{g} g。
给定用户u,item v, θ \theta θ是函数参数,返回u是否点击v的概率。
ripplenet框架如图2所示。输入:用户u,item v。输出:u点击v的预测概率。
对于输入用户u,他的历史兴趣集 v u \mathcal{v}_u vu作为kg的seeds,然后沿着link扩展,形成ripple sets s u k ( k = 1 , 2 , . . . , h ) \mathcal{s}^k_u (k = 1,2,..., h) suk(k=1,2,...,h)。ripple set s u k \mathcal{s}^k_u suk是距离seed set v u \mathcal{v}_u vu k-hop的set of knowledge triples。
ripple sets和item embedding(黄色块)迭代交互,以获得u对v的responses(绿色块),之后将其组合形成最终的user embedding(灰色块)。最后,使用u的embedding和v的embeddng,计算预测概率 y ^ u v \hat{y}_{uv} y^uv。
kg可以让很多实体联系在一起,如图3所示。
为了根据kg来描述用户的hierarchically extended preference(分层扩展偏好),ripplenet递归地定义了针对用户u的k-hop相关实体集,如下所示:
其中 ε u 0 \varepsilon^0_u εu0表示user点击过的item = seed set。(其实从图2就很好理解了)
模型借用“ripple”这个概念有两层含义:
还有一个关心的问题是,随着跳数k的增加,它们的大小可能会变得太大。如何解决?
p i可以被视为在item v和 在关系r i空间中测量实体h i 的相似性。
t i为tail的embedding; o u 1 o^1_u ou1看成对于item v的用户u历史记录 v u \mathcal{v}_u vu的1-order response。
通过等式4和5的操作,用户的兴趣沿着 s u 1 s^1_u su1中的links 从其历史集合 v u \mathcal{v}_u vu转移到set of 1-hop relevant entities ε u 1 \varepsilon^1_u εu1,这在ripplenet中称为preference propagation。
通过迭代执行,v替换为 o u 1 o^1_u ou1,等等等等,就可以获得 s u i s^i_u sui,i=1, …, h。则user u对于item v的embedding是通过组合所有order来计算的。理论上讲最后一跳包含了以前跳的所有信息,但是还是要加起来,因为它们可能被稀释了。
最后,将用户embedding和项目embedding结合起来,以输出预测的点击概率。 σ ( x ) \sigma(x) σ(x)是sigmoid函数。
xxx(有关如何训练模型)
q1. 里面有用到贝叶斯定理,具体作用?
q2. 用到了很多另外的技术,比如attention,knowledge graph embedding,后面要学
q1-q2
推荐理论视频:b站
您想发表意见!!点此发布评论
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论