Memo - 基于知识图谱的推荐
2019.03
本次Memo记录了近几年“知识图谱 x 推荐”的相关顶会论文。其中大部分论文是将知识图谱内的信息作为外部知识引入推荐系统,从而提升推荐质量;小部分论文建立了知识图谱补全与推荐双任务的模型,通过交替学习使得两个任务的效果共同提升。文章梳理如下:
- 仅推荐任务:
1) Embedding-based Methods, e.g.CKE, DKN …
2) Path-based Methods,e.g. PER, KPRN ... - 推荐 + 知识图谱补全双任务
1 仅推荐任务
这部分的论文,都是试图将知识图谱与推荐系统的结构相融合,期望借助图谱内各个实体内在的关联,提升推荐质量(可解释能力和推荐准确度)。一些论文借鉴了图谱内节点和关系 embedding 的思路,试图利用图谱内的 embedding 信息来进一步丰富原有的 uer-item embedding 信息。另一些论文着重于阐述推荐系统的可解释性,所以从研究知识图谱内在路径关联入手,对可能存在的推荐路径进行建模。
1.1 Embedding-based Methods
基于 Embedding 的方法常见的做法分为两步:
- 采用 Knowledge Graph Embedding (KGE) 技术对图谱内的所有实体和关系嵌入表示,例如 TransE, TransR, TransH 等 Trans 系列算法。
- 将嵌入表示后的实体和关系与item-user的交互关系相融合,再在此基础上建模。
1.1.1 Collaborative Knowledge Base Embedding (CKE) [1]
CKE 是微软在 KDD2016 年发表的一篇论文,其模型结构如图所示,在原有系统过滤得到 U, V 向量的基础上,将 item 的嵌入与其他描述信息相结合,这些信息主要有:
- 采用 TransR 算嵌入得到的知识图谱,图谱内每个 entity embedding 被提取为 item 的 structural vector。
- 采用 SDAE 模型得到 item 描述性文本的 Textual embedding。
- 采用 SCAE 模型得到 item 相关图像的 Visual embedding。
因此,item 的表示是原有向量和新三方面信息向量的加和。
![9717d53a64289a7171ed024647e9f1e7.png](https://i-blog.csdnimg.cn/blog_migrate/161fbf60356449011361dd0ac049a801.jpeg)
CKE 是典型的将知识图谱作为外部信息,扩充 item enbedding 的模型。其在 MoiveLens-1M 和 IntentBooks 数据集上都比基于矩阵分解的其他工作效果更好。但 CKE 的缺陷在于没有没有利用知识图谱内的实体间的关系信息,并且 user embedding 没有得到更新。即使增加的信息涵盖多方面,但我觉得加一层权重会更合理。
1.1.2 Deep Knowledge-aware Network (DKN) [2]
DKN 是之前看过的一篇论文,同样也是微软团队在 WWW2018 会议上发表的。它是一个仅针对新闻任务提出的框架,知识图谱用在对新闻标题作嵌入的层面。DKN 提出对新闻标题内每一个关键实体,在知识图谱内找到其 entity embedding 和 context embedding。具体来说,对一个包含实体词
- 知识图谱内对应的 entity embedding:
- 知识图谱内对应的 entity context embedding:
,其中
,
为
在图谱上一跳内能到达的实体合集。