【论文】Attentive Collaborative Filtering: Multimed…

摘要

当今,各种用户与媒体资源的交互(对照片的点赞、浏览的视频、下载的音乐)相比于显示反馈(评分)是比较容易取得的。但是,协同过滤(CF)系统忽略了这些交互。在多媒体推荐中,存在着item级别和component级别的隐蔽性,它们模糊了用户的喜好特征。

  • item级别的隐蔽性表示用户对item(照片、视频等)的喜好是未知的
  • component级别的隐蔽性表示用户对item(图片的某个区域、视频中的某一帧)中不同component的喜好是未知的。

比如说,用户”看过”某个视频这个信息,并不能告诉我们用户如何喜欢这个视频(item级别),也不知道用户喜欢视频的哪个部分(component级别)。本文就提出ACF解决这种问题。本模型包含两个部分:

  1. component级别,从网络中任意媒体资源中提取的特征(用CNN提取图片/视频)开始,学习从媒体item的components中选择包含信息的那些component。
  2. item级别,学习为item的偏好打分。

1. 介绍

很多时候,用户的交互主要是隐式的,比如”观看”某个视频、”点赞”某个照片、”播放”某个音乐。由于隐式行为难以反映用户讨厌什么(比如负面反馈),目前的CF方法都是考虑如何把错过的用户行为加入到用户喜好的建模上。但很少有人深入去研究这些行为。所以本文会基于两个级别的隐式反馈上进行推荐。

  1. item级别的隐式反馈。用户的正面反馈不一定代表他喜欢这个item
    1. 用户可能是因为照片是朋友发的而点赞,而不是因为他喜欢这个照片。
    2. 即使是点赞,其喜欢的程度也不同。
  2. component级别的隐式反馈。用户的对视频的”播放”记录并不能代表他喜欢视频的全部,可能只是视频的某个部分。因此我们要为用户对底层component的喜好进行建模。

但是,直接建模是很难的,因为我们缺少ground-truth。我们提出了ACF,可以用远程监督的方式自动为两级反馈分配权重。ACF利用潜在因子模型,通过将item和user转换为相同的潜在因子空间,使其可以直接比较。

3. 准备工作

我们有一个user-item交互矩阵R,有交互的地方值为1,没有交互则为0,我们要利用矩阵R,去估计可能的交互。关于矩阵分解有两种方法:

  1. 正则化CF。由于0值无法区分”未知”反馈和”负”反馈,不好用。
  2. BPR。pair-wise的,本文采取这个。

4. ACF模型

  1. item指图片/视频
  2. component指图片的一块区域/视频的一帧

貌似有用到neighborhood-based CF。ACF将评分公式看做latent factor Model与neighborhood-base CF的结合。
还提到了SVD++和FISM。值得一看。

做法:为item和component建立特征向量,通过两层的整合,最终得到用户特征向量,以此来进行评分预测。
其实公式列好以后,用梯度下降就好,梯度的公式计算都交给tensorflow做。各种特征向量一顿整合,最后得到分数和cost,把cost交给tensorflow计算梯度,一直迭代就行了。

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!