2016的paper

利用知识库中的异构信息来提高推荐系统质量。主要贡献是在推荐系统中引入了结构信息、文本数据、图像数据等知识库中的信息来提升推荐系统的质量。

论文是基于什么问题提出来的?

CF(协同过滤)方法由于user-item矩阵的稀疏性,效果受限。

论文提出了什么方法

使用辅助信息提高性能。

具体来说是 利用了知识库中的异构信息来提高推荐系统的质量,给定结构信息,文本信息,视觉信息的知识库以及user的隐式反馈,产生一个用户感兴趣的ranked list。

本文设计了三个组件:结构内容、文本内容和视觉内容。

CKE(Collaborative Knowledge Base Embedding for Recommender Systems)笔记

隐式反馈(user implicit feedback):

CKE(Collaborative Knowledge Base Embedding for Recommender Systems)笔记

有交互为1,没有交互或者不知道为0.(注意,为1不表示用户实际上喜欢,只能说对它感兴趣。为0只能说不感兴趣或者是潜在交互(用户不知道这些内容),不代表不喜欢。)

知识库(knowledge base)

CKE(Collaborative Knowledge Base Embedding for Recommender Systems)笔记

  1. 结构信息:实体和实体之间的联系
  2. 文本信息:电影或书本的文本信息
  3. 视觉信息:封面海报之类的

结构特征:用户隐式反馈和结构信息

内容特征:文本和视觉信息

OverView

CKE模型包含两个步骤:

  1. 知识库嵌入(knowledge base embedding)
  2. 协作联合学习(collaborative joint learning)

Structural Embedding

具体来说,就是采用了异构网络嵌入的方法,称为TransR(2015 AAAI),通过考虑节点和关系的异构型来提取项目的结构表示。

结构化信息表现为一个network,因为一个实体有很多个实体相连,需要把这个网络映射到向量空间。

TransR

通过关系矩阵来链接不同语义空间。

以这种方式训练表征向量:

  1. 通过将实体映射到关系空间中
  2. 在两个投影实体之间构建翻译关系

CKE(Collaborative Knowledge Base Embedding for Recommender Systems)笔记

对于每个关系,有一个变换矩阵Mr和一个它在自己的关系空间的表示向量r。通过变换矩阵将entities从实体空间投影到关系空间。

CKE(Collaborative Knowledge Base Embedding for Recommender Systems)笔记

目标函数

CKE(Collaborative Knowledge Base Embedding for Recommender Systems)笔记

加入贝叶斯先验之后的TransR生成过程:

CKE(Collaborative Knowledge Base Embedding for Recommender Systems)笔记

这里的话就是使参数符合特定的正太分布(下同)

那慕达是调整正太分布里 瘦胖 的参数

Textual Embedding

堆叠去噪自动编码器(SDAE)

https://blog.csdn.net/zbzcDZF/article/details/86570761

https://www.cnblogs.com/neopenx/p/4370350.html

CKE(Collaborative Knowledge Base Embedding for Recommender Systems)笔记

Wl是权重参数,bl是偏差参数

SDAE总共6层,前三层位置是Encoder部分(1-3),X0表示的是带有噪音的矩阵

后三层是Decoder部分(3-6),X6是无噪音的输出矩阵。

引入贝叶斯SDAE:

CKE(Collaborative Knowledge Base Embedding for Recommender Systems)笔记

Visual Embedding

堆叠卷积自动编码器(SCAE)

CKE(Collaborative Knowledge Base Embedding for Recommender Systems)笔记

Encoder 由两个卷积层(z0到z2)和一个完全连接层(z2到z3)组成。

Decoder又一个完全连接层(z3到z4)和两个解卷积层(z4到z6)组成。

中间隐藏层z3输出的使一个矩阵,其他层的输出通常称为特征映射,它是由卷积层生成的四维张量。

卷积层映射如下:

CKE(Collaborative Knowledge Base Embedding for Recommender Systems)笔记

Q*表示卷积算子,用来保持先前输出的局部连通性(?)

引入贝叶斯SCAE:

CKE(Collaborative Knowledge Base Embedding for Recommender Systems)笔记

Collaborative joint learning

将协同过滤(collaborative filtering)与知识库中的items embedding结合。在CKE框架中,提出了协作联合学习过程。

为同时获取协同过滤中的item的潜在表示和知识库中的representation,有

CKE(Collaborative Knowledge Base Embedding for Recommender Systems)笔记

其中,η代表CF中的物品隐含含量。其他三个分别代表从知识库提取出来的特征。

再使用pair-wise 偏好概率表示,有

CKE(Collaborative Knowledge Base Embedding for Recommender Systems)笔记

这个式子意思是对于用户i来说,相比j',更喜欢j物品。θ表示模型参数。

参数学习,最大对数似然函数

CKE(Collaborative Knowledge Base Embedding for Recommender Systems)笔记

论文中使用了随机梯度下降(SGD)算法,最大化等式7.

损失函数第二块:个人感觉是对文本embedding的正则化,防止过拟合。

Experiments

两个不同领域的数据集(电影和书籍)

  1. MovieLens-1M:有100w名用户和3706部电影组成。
  2. IntentBooks:微软Bing搜索引擎和Satori知识库组成。

CKE(Collaborative Knowledge Base Embedding for Recommender Systems)笔记

“#sk nodes”表示提取结构信息中的节点总数

“#tk items”表示具有文本信息的items总数

“#vk items”表示具有视觉信息的items总数

实验总结:CKE(S)、CKE(T)、CKE(V)分别表示只用Structure,Texture或Visual的CKE模型

  1. CKE(S)、CKE(T)、CKE(V)都能beat掉baseline
  2. 相较CKE(S)、CKE(T)、CKE(V)提升的效果没有CKE(S)好,不过也是可以beat掉baseline
  3. CKE(STV)效果最好

CKE(Collaborative Knowledge Base Embedding for Recommender Systems)笔记

CKE(Collaborative Knowledge Base Embedding for Recommender Systems)笔记

CKE(Collaborative Knowledge Base Embedding for Recommender Systems)笔记

CKE(Collaborative Knowledge Base Embedding for Recommender Systems)笔记

相关文章: