依次训练的方法主要有:Deep Knowledge-aware Network(DKN)

联合训练的方法主要有:Ripple Network

交替训练主要采用multi-task的思路,主要方法有:Multi-task Learning for KG enhanced Recommendation (MKR)

上上一篇介绍了依次训练的DKN模型,上篇介绍了联合训练的RippleNet模型。这次介绍交替训练的MKR模型。

推荐系统和知识图谱特征学习的交替学习类似于多任务学习的框架。该方法的出发点是推荐系统中的物品和知识图谱中的实体存在重合,因此两个任务之间存在相关性。将推荐系统和知识图谱特征学习视为两个分离但是相关的任务,采用多任务学习的框架,可以有如下优势:

  1. 两者的可用信息可以互补;
  2. 知识图谱特征学习任务可以帮助推荐系统摆脱局部极小值;
  3. 知识图谱特征学习任务可以防止推荐系统过拟合;
  4. 知识图谱特征学习任务可以提高推荐系统的泛化能力。

模型

MKR的模型框架如下,其中左侧是推荐任务,右侧是知识图谱特征学习任务。

推荐部分使用用户和物品的特征表示作为输入,预测的点击概率作为输出。

知识图谱特征学习部分使用一个三元组的头结点和关系表示作为输入,预测的尾节点表示作为输出。

由于推荐系统中的物品和知识图谱中的实体存在重合,所以两个任务并非相互独立。作者在两个任务中设计了交叉特征共享单元(cross-feature-sharing units)作为两者的连接纽带。

交叉特征共享单元是一个可以让两个任务交换信息的模块。由于物品向量和实体向量实际上是对同一个对象的两种描述,他们之间的信息交叉共享可以让两者都获得来自对方的额外信息,从而弥补了自身的信息稀疏性的不足。

论文

0 摘要

协作过滤通常在实际推荐场景中存在稀疏性和冷启动问题,因此,研究人员和工程师通常使用辅助信息来解决问题并改善推荐系统的性能。在本文中,我们将知识图视为辅助信息的来源。我们提出MKR,一种用于知识图增强推荐的多任务特征学习方法。 MKR是一个深入的端到端框架,利用知识图嵌入任务来协助推荐任务。这两个任务由交叉和压缩单元相关联,交叉和压缩单元自动共享潜在特征并学习推荐系统中的项目与知识图中的实体之间的高阶交互。我们证明了交叉和压缩单元具有足够的多项式逼近能力,并表明MKR是推荐系统和多任务学习的几种代表性方法的通用框架。通过对现实世界数据集的大量实验,我们证明了MKR在电影,书籍,音乐和新闻推荐方面取得了实质性的进步,超过了比较新的模型。即使用户项目交互稀疏,MKR也能够保持良好的性能。

1 介绍

我们提出MKR,一种用于知识图增强推荐的多任务学习(MTL)方法。 MKR是一个通用的端到端深度推荐框架,旨在利用KGE任务来协助推荐任务。注意,这两个任务不是相互独立的,而是高度相关的,因为RS中的物品item可以与KG中的一个或多个实体相关联。因此,项目及其对应的实体可能在RS和KG中具有类似的邻近结构,并且在低级别和非任务特定的潜在特征空间中共享相似的特征。我们将进一步验证实验部分的相似性。为了模拟项目和实体之间的共享功能,我们在MKR中设计了一个交叉和压缩单元。交叉和压缩单元明确地模拟项目和实体特征之间的高阶交互,并自动控制两个任务的交叉知识转移。通过交叉和压缩单元,项目和实体的表示可以相互补充,协助两个任务避免拟合噪声和改进泛化。整个框架可以通过交替优化不同频率的两个任务来训练,这使得MKR在实际推荐场景中具有高度的灵活性和适应性。

2 模型介绍

2.1 问题描述

2.2 框架

MKR的框架如图a所示。 MKR由三个主要组件组成:推荐模块,KGE模块和交叉和压缩单元。

(1)左侧的推荐模块将用户和物品输入,并使用多层感知器(MLP)和交叉和压缩单元分别为用户和项目提取短和密集的特征。
然后将提取的特征一起送到另一个MLP中以输出预测的概率。

(2)与左侧部分类似,右侧部分的KGE模块也使用多个层感知器和交叉和压缩单元学习头部实体向量和关系向量,并在分数函数 f
的监督下输出预测尾部实体向量。

(3)推荐模块和KGE模块由专门设计的交叉和压缩单元桥接。交叉单元可以自动学习KG中推荐系统和实体中物品的高阶特征交互。

2.3 交叉单元



应该注意的是,交叉和压缩单元应该只存在于MKR的低层,如图a所示。 这是因为:

(1)在深层体系结构中,特征通常沿着网络从一般转换为特定,并且随着任务差异性的增加,特征可转移性在较高层中显着下降。因此,共享高层可能会带来负面转移,特别是对于MKR中的异构任务。
(2)在MKR的高级层中,物品特征与用户特征混合,实体特征与关系特征混合。 混合特征不适合共享,因为它们没有明确的关联。

2.4 Recommendation Module

2.5 Knowledge Graph Embedding Module

2.6 损失函数

2.7 训练流程

思考

交替学习是一种较为创新和前沿的思路,其中如何设计两个相关的任务以及两个任务如何关联起来都是值得研究的方向。从实际运用和时间开销上来说,交替学习是介于依次学习和联合学习中间的:训练好的知识图谱特征学习模块可以在下一次训练的时候继续使用(不像联合学习需要从零开始),但是依然要参与到训练过程中来(不像依次学习中可以直接使用实体向量)。

知识图谱作为推荐系统的一种新兴的辅助信息,近年来得到了研究人员的广泛关注。未来,知识图谱和时序模型的结合、知识图谱和基于强化学习的推荐系统的结合、以及知识图谱和其它辅助信息在推荐系统中的结合等相关问题仍然值得更多的研究。欢迎感兴趣的同学通过留言与我们互动沟通。

参考:

原文:https://arxiv.org/abs/1901.08907
博客:https://www.cnblogs.com/niuxichuan/p/9318122.html
代码:https://github.com/hwwang55/MKR

知识图谱与推荐系统之《Multi-Task Feature Learning for Knowledge Graph Enhanced Recommendation》MKR相关推荐

  1. 论文阅读笔记(1):Multi-Task Feature Learning for Knowledge Graph Enhanced Recommendation

    Multi-Task Feature Learning for Knowledge Graph Enhanced Recommendation 原文链接:https://arxiv.org/pdf/1 ...

  2. 【论文阅读笔记】Multi-Task Feature Learning for Knowledge Graph Enhanced

    Multi-Task Feature Learning for Knowledge Graph Enhanced 1.框架 MKR是一个通用的.端对端深度推荐框架, 由三个主要部分组成:推荐模块.KG ...

  3. 如何将知识图谱引入推荐系统?

    分享嘉宾:王鸿伟 斯坦福大学 博士后 编辑整理:屈垠岑 出品平台:DataFunTalk 导读:在信息爆炸的互联网时代,推荐系统可以理解用户的个性化偏好和需求,帮助用户筛选出自己感兴趣的产品和服务.然 ...

  4. 知识图谱与推荐系统综述

    1. 知识图谱的起源 知识图谱(Knowledge Graph),最早起源于Google Knowledge Graph.知识图谱本质上是一种语义网络.其结点代表实体(entity)或者概念(conc ...

  5. CIKM2021 知识图谱、推荐系统相关论文

    本文多资源,建议阅读5分钟多个论文资源已整理出炉~ 知识图谱 Cycle or Minkowski: Which is More Appropriate for Knowledge Graph Emb ...

  6. 论文浅尝 | 中科院百度微软等学者最新综述论文40+最新方法阐述知识图谱提升推荐系统准确性与可解释性...

    本文转载自公众号:先知. [导读]近来,知识图谱用于推荐系统是关注的焦点,能够提升推荐系统的准确性与可解释性.如何将知识图谱融入到推荐系统呢?  最近中科院计算所百度微软等学者最新综述论文<A ...

  7. A Survey on Knowledge Graph-Based Recommender Systems 知识图谱提升推荐系统准确性与可解释性ArXiv 2020

    论文链接:https://arxiv.org/pdf/2003.00911.pdf 导读 近来,知识图谱用于推荐系统是关注的焦点,能够提升推荐系统的准确性与可解释性.如何将知识图谱融入到推荐系统呢? ...

  8. ACL2021 知识图谱、推荐系统相关论文

    作者 | Ccxs 整理 | NewBeeNLP 知识图谱 Robust Knowledge Graph Completion with Stacked Convolutions and a Stud ...

  9. 知识图谱用于推荐系统问题(MKR,KTUP,KGAT)

    前一篇文章介绍了知识图谱用于推荐系统问题(CKE,RippleNet),这一篇博文目整理对KG和RC融合的更加深入的两篇文章MKR,KTUP.MKR利用一个Cross单元使两者融合,KTUP则是相互补 ...

最新文章

  1. 基于elementui的input的二次封装(非常实用)
  2. 实现自己的.NET Core配置Provider之EF
  3. Pthread创建线程后必须使用join或detach释放线程资源
  4. 一键多功能按键识别c语言,单片机一键多功能按键识别设计
  5. MVC路由 路由的三种扩展 替换MVC内置的Handler
  6. Js实现滚动抽奖(作弊版)
  7. [工具] Seer 代码预览器
  8. 计算机组装与维护doc,《计算机组装与维护》课程教案.doc
  9. 自己做量化交易软件(45)小白量化实战18--直接使用通达信自编指标公式进行分析绘图和回测
  10. 华为数通网络自动化开发学习笔记
  11. Linux 搭建mysql读写分离
  12. 扁平化设计的色彩选择
  13. 写给一个外汇女交易员的信(连载二)
  14. 政府大数据服务,跑马圈地正当时
  15. js获取内网ip地址,操作系统,浏览器版本等信息
  16. 百面机器学习阅读笔记(一):模型评估
  17. 关于检索的知识[转]
  18. 我们经常看到的”缺省“是什么意思
  19. 【OpenViNO】模型下载
  20. linux配置iscsi无账号密码,rhel7.0 轻松解决ISCSI的配置

热门文章

  1. Android学之客户端服务端Socket简单通信
  2. 微信小程序真机调试常见问题汇总
  3. 网站app被劫持怎么办?dns被劫持,域名被劫持,HTTPDNS阿里云域名防劫持, DNSPod移动解析防劫持服务D+...
  4. UA记录wegame
  5. mysql并列查询_MYSQL实现排名及查询指定用户排名功能(并列排名功能)实例代码...
  6. 渗透测试 --- 方法论
  7. Python 3 迁移怨声载道
  8. Spark 报错Incompatible equality constraint: String and T2
  9. SWOT、KPI 和 360 度考核,绩效评估中的哪个更适用?
  10. 基于Win10的Peach下载安装以及Modbus模糊测试