<<Collaborative Knowledge Base Embedding for Recommender Systems>>学习心得

本文翻译自<<Collaborative Knowledge Base Embedding for Recommender Systems>> 这篇论文。

为了表述通畅,文章采用第一人称视角。

一、Abstract

协同过滤方法由于user-item矩阵的稀疏性,效果受限。可以使用辅助信息解决这个问题。 在本文中,微软探索了如何利用知识库中的各种不同的信息去提升推荐系统的performance。 首先,为了使用知识库,我们设计了三个组件分别从物品的结构化内容,文本内容和视觉内容中提取语义特征。更确切的说,网络TransR提取物品的结构化信息(同时考虑nodes和relationships)。stacked denoising auto-encoders提取文本表达。stacked convolutional auto-encoders 提取物品视觉表达。最后我们提出整合的框架:Collaborative Knowledge Base Embedding(CKE)来联合学习协同过滤的隐式向量以及物品的基于知识库的语义表达。

1、Introduction

本文的贡献点:

  • 目前为止(2016年的paper),第一次使用知识库中的结构化内容,文本的内容,视觉的内容进行推荐的方法。

  • 使用了embedding方法自动提取语义representation。这些学习到的representation可以用在除了推荐以外的其他方面。

  • CKE能用同时提取feature representation和捕捉item 与 user之间的隐式关系。(隐式关系,我觉得就是item embedding)。

  • 基于两个real-word数据集。我们进行了大量的实验。结果显示:我们的方法比baseline提升了很多。

2、Preliminary

2.1 隐式反馈

本文目标针对隐式反馈,所以user-item交互矩阵表示成如下:
image

有交互为1,没有交互或不知道是否有交互为0。

2.2知识库

将推荐系统中的item映射到知识库中,举个例子:一个电影通常被映射成一个entity描述这个电影。这些entities用术语“item entities”表示。

知识库中的信息可以分成三部分:结构化知识,文本知识,视觉知识。

①:结构化知识 表现为知识库中的实体以及实体的联系。比如:对于一个电影来说,实体就表示为电影和他的属性:科幻电影,演员等。关系就表示实体之间的联系:出演,评分等 ②:文本知识 通常给出book or movie的topic ③:视觉知识 视觉信息很多,本文通常使用书的封面或一个电影的海报作为视觉知识。

问题的明确表达: 本文的推荐问题是:给定有结构化知识,文本知识,视觉知识的知识库以及user的隐式反馈,用我们的方法产生一个用户感兴趣的ranked list。

image

3、Overview

CKE的两个步骤: 1) knowledge base embedding 2) collaborative joint learning.

在知识库embedding阶段。使用Bayesian TransR提取结构化知识。使用Bayesian stacked denoising auto-encoder (Bayesian SDAE)提取文本知识。使用 Bayesian stacked convolutional autoencoder (Bayesian SCAE)提取视觉知识。

在协同联合学习阶段,物品的隐含向量最终表示为:item offset vector和第一阶段的三个embedding的融合。然后通过优化pair-wise ranking学习user,item向量。最终使用user,item的latent vector产生推荐。

4、KNOWLEDGE BASE EMBEDDING 阶段

4.1 Structural Embedding

结构化信息表现为一个network,因为一个实体有很多实体与之相连。那么把这个网络给映射到一个连续的向量空间就是我们需要做的事情。首先介绍TransR这个模型(他是一个state of the art的 network embedding方法,AAAI2015)。

TransR表示实体和关系在不同的语义空间下,并通过relation-specific 矩阵桥接。如下图:
image

4.2 Textual Embedding

这部分显示介绍SDAE,然后再介绍 Bayesian SDAE。
image

然后Bayesian SDAE就是让权重,偏置,输出层符合特定的正态分布。
image

4.3 Visual Embedding

类似于4.2节的Bayesian SDAE的引入方法。 首先是SCAE
image

Bayesian SCAE也是让参数符合特定的正态分布。
image

5、COLLABORATIVE JOINT LEARNING阶段

这一部分主要是为了把从知识库中提取的item embedding融合到collabrative filtering 中去。
image

其中η代表协同过滤中的物品的隐含向量。其他的三个分别代表从知识库中提取出来的特征。

然后使用pair-wise的形式:
image

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

6、EXPERIMENTS

分别使用书和电影这两个领域进行试验。 数据集: MovieLens-1M : consists of 1M ratings with 6,040 users and 3,706 movies. 去除掉评分数少于3的用户。

IntentBooks:由 Microsoft’s Bing search engine and Microsoft’s Satori knowledge base收集得到。这个数据集中,用户对书的兴趣由点击或查询操作产生。

** Satori knowledge base** :从这个知识库中提取structural knowledge, textual knowledge and visual knowledge为上面的两个数据集。

最后得到的数据集信息如下:

image

说明:sk代表结构化知识,tk代表文本知识,vk代表视觉知识。

然后开始做大量的实验,实验指标是MAP@K(mean average precision)和Recall@K。 数据集划分70:30划分。关于实验部分具体详情请参阅原论文。

下面说一下为什么使用Recall和MAP这两个指标吧:

对一个二分类问题,实际取值只有正、负两例,而实际预测出来的结果也只会有0,1两种取值。如果一个实例是正类,且被预测为正类,就是真正类(True Positive),如果是负类,被预测为正类,为假正类(False Positive),如果是负类被预测成负类。称为真负类(True Negative),正类被预测为负类称为假负类(False Negative)。

信息检索中,我们经常会关系“检索出的信息有多少比例是用户感兴趣的”以及“用户感兴趣的信息中有多少被检索出来了”。即查准和查全。这时候传统的错误率就不能体现出来了。

mAP的本质其实是多类检测中各类别最大召回率(recall)的一个平均值

计算mAP之前我们先要了解Precision和Recall也就是精确率和召回率。

精确率主要衡量模型做出预测的精准度,也就是TP在TP与FP和中的占比率

召回率主要用来衡量模型对positives的检测程度,也就是TP在TP与FN中的占比率

image

一般来说,我们希望上述两个指标都是越高越好,然而没有这么好的事情,准确率和召回率是一对矛盾的度量,一个高时另一个就会偏低,当然如果两个都低,那肯定时哪点除了问题。

image

实际多类别分类任务中,我们通常需要知道从top-1到top-N(N是所有测试样本个数)对应的precision和recall。显然随着我们选定的样本越来也多,recall一定会越来越高,而precision整体上会呈下降趋势。把recall当成横坐标,precision当成纵坐标,即可得到常用的precision-recall曲线。一个真实的P-R曲线如下:

image

计算AP: 首先设定一组阈值,[0, 0.1, 0.2, …, 1]。然后对于recall大于每一个阈值(比如recall>0.3),我们都会得到一个对应的最大precision。这样,我们就计算出了11个precision。AP即为这11个precision的平均值。这种方法英文叫做11-point interpolated average precision。

AP衡量的是学出来的模型在给定类别上的好坏,而mAP衡量的是学出的模型在所有类别上的好坏,得到AP后mAP的计算就变得很简单了,就是取所有AP的平均值。

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

①:CKE(S)、CKE(T)、CKE(V)都能beat掉baseline
image
image

②:相较CKE(S),CKE(T)、CKE(V)提升的效果没有CKE(S)好,不过也是可以beat掉baseline。

③:CKE(STV)效果最好。

paper总结: 2016年的文章,十分新颖的将side information融合到矩阵分解的协同过滤模型中,同时对于不同domain的特征使用不同的网络去提取特征。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,214评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,307评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,543评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,221评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,224评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,007评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,313评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,956评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,441评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,925评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,018评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,685评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,234评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,240评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,464评论 1 261
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,467评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,762评论 2 345

推荐阅读更多精彩内容

  • 眼到、手到、心到!这三到可非同小可。 眼到手到容易,在心到才能神知。凡事达有了心到的境界,成功离你不远了。...
    嘿山吓水阅读 309评论 0 1
  • 前天夜里,做了一个梦,梦见了去世10多年的外婆,卧病在床,我出生前就已经离世的外公在灶台忙活着给她做饭。 比我年长...
    最后的十一阅读 277评论 0 0
  • 《像天使一样“美丽”》(一) 兰心是个漂亮女孩,长得又细又高,眉目温婉清秀。相比较,小凤矮一点...
    胭脂如花阅读 137评论 0 0
  • 每出去采风,总喜欢拍摄那些生猛的动物,鲜嫩的植物,以作文配图,供读者欣赏。为此,我跑过许多地方,内陆的山城,海边的...
    雁韧阅读 609评论 3 25