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

2016的paper

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

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

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

论文提出了什么方法

使用辅助信息提高性能。

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

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

image-20210823114258191

隐式反馈(user implicit feedback):

image-20210823114810006

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

知识库(knowledge base)

image-20210823115223047

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

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

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

OverView

CKE模型包含两个步骤:

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

Structural Embedding

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

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

TransR

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

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

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

image-20210824100728689

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

image-20210824111334722

目标函数

image-20210824111548642

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

image-20210824112048263

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

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

Textual Embedding

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

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

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

image-20210824224802871

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

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

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

引入贝叶斯SDAE:

image-20210826151700389

Visual Embedding

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

image-20210826152200994

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

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

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

卷积层映射如下:

image-20210826153033946

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

引入贝叶斯SCAE:

image-20210826153232240

Collaborative joint learning

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

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

image-20210826154219356

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

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

image-20210826160224148

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

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

image-20210826161506852

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

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

Experiments

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

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

image-20210826162649626

“#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)效果最好

image-20210826165107851

image-20210826165139637

image-20210826165157782

image-20210826165211585

原文地址:https://www.cnblogs.com/jev-0987/p/15190530.html