【数据产品案例】如何将知识图谱特征学习应用到推荐系统?

2024-09-06 04:18

本文主要是介绍【数据产品案例】如何将知识图谱特征学习应用到推荐系统?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

案例来源:@AI科技大本营
案例地址: https://mp.weixin.qq.com/s/_LuF4d0X_oHKuweo7Bt1Wg

1. 知识图谱应用到推荐系统中的三种方式
1)依次学习:先训练知识图谱模型,得到实体和实体关系的向量表示;再将该向量作为推荐模型的输入
2)联合学习:将知识图谱和推荐系统的目标函数结合,使用端到端的方式训练
3)交替学习:将知识图谱和推荐系统的训练放在一起,使用多任务学习的框架进行训练

2. 依次学习 - Deep Knowledge-Aware Network (DKN)
1)引入知识图谱特征:
a. 实体连接:将文中发现的词汇与实体进行匹配
b. 知识图谱构建:根据匹配的实体,从知识图谱中抽取出子图
c. 知识图谱特征学习:使用知识图谱特征学习算法(如TransE)学习实体的向量表示
d. 实体的上下文实体特征:一个实体e的上下文是实体的一跳近邻,e的上下文表示就是一跳近邻特征的平均值
2)构建推荐模型
a. 基于卷积神经网络的文本特征提取:新闻标题词向量、实体向量、实体上下文向量作为多通道,在CNN框架下进行融合
b. 基于注意力机制的用户历史兴趣融合:在判断用户对当前新闻的兴趣时,使用注意力网络给用户历史记录分配不同的权重
3)依次学习的优势在于将知识图谱训练与推荐系统训练分离,前者更新少、训练开销大。但缺点也来源于此,无法端到端训练,知识图谱的训练并不是为了推荐目标而来,不一定适应特定的推荐任务

3. 联合学习 - Collaborative Knowledge base Embedding (CKE)
1)对于结构数据(如导演、电影名):采用TransR进行学习,可以得到实体的特征表示
2)对于文本数据:采用去燥自编码器抽取向量化特征
3)对于图像数据:采用卷积-反卷积自编码器抽取向量化特征
4)将以上三种知识学习的目标函数与协同过滤的目标函数结合,得到以下联合损失函数
5)使用梯度下降法训练

4. 联合学习 - Ripple Network
1)基本思想:用户的兴趣以历史记录中的实体为中心,向外扩散并逐渐衰弱
2)过程【看不懂】:

5. 交替学习 - Multi-task Learning for KG enhanced Recommendation (MKR)
1)出发点:推荐算法中的物品和知识图谱中的实体存在重合,两者的学习存在相关性,两者信息可以互补
2)框架如图:
a. 左侧推荐任务的输入是用户和物品,输出是点击概率
b. 右侧知识图谱学习的任务输入是三元组和关系表示,输出是特征表示
c. 中间设计了交叉特征共享单元:

3)优势:知识图谱特征学习模块在下一次训练中可以继续使用,不用像联合学习一样从头开始学习

这篇关于【数据产品案例】如何将知识图谱特征学习应用到推荐系统?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1140976

相关文章

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名

canal实现mysql数据同步的详细过程

《canal实现mysql数据同步的详细过程》:本文主要介绍canal实现mysql数据同步的详细过程,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的... 目录1、canal下载2、mysql同步用户创建和授权3、canal admin安装和启动4、canal

六个案例搞懂mysql间隙锁

《六个案例搞懂mysql间隙锁》MySQL中的间隙是指索引中两个索引键之间的空间,间隙锁用于防止范围查询期间的幻读,本文主要介绍了六个案例搞懂mysql间隙锁,具有一定的参考价值,感兴趣的可以了解一下... 目录概念解释间隙锁详解间隙锁触发条件间隙锁加锁规则案例演示案例一:唯一索引等值锁定存在的数据案例二:

Java SWT库详解与安装指南(最新推荐)

《JavaSWT库详解与安装指南(最新推荐)》:本文主要介绍JavaSWT库详解与安装指南,在本章中,我们介绍了如何下载、安装SWTJAR包,并详述了在Eclipse以及命令行环境中配置Java... 目录1. Java SWT类库概述2. SWT与AWT和Swing的区别2.1 历史背景与设计理念2.1.

使用SpringBoot整合Sharding Sphere实现数据脱敏的示例

《使用SpringBoot整合ShardingSphere实现数据脱敏的示例》ApacheShardingSphere数据脱敏模块,通过SQL拦截与改写实现敏感信息加密存储,解决手动处理繁琐及系统改... 目录痛点一:痛点二:脱敏配置Quick Start——Spring 显示配置:1.引入依赖2.创建脱敏

基于Python实现一个简单的题库与在线考试系统

《基于Python实现一个简单的题库与在线考试系统》在当今信息化教育时代,在线学习与考试系统已成为教育技术领域的重要组成部分,本文就来介绍一下如何使用Python和PyQt5框架开发一个名为白泽题库系... 目录概述功能特点界面展示系统架构设计类结构图Excel题库填写格式模板题库题目填写格式表核心数据结构

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Java日期类详解(最新推荐)

《Java日期类详解(最新推荐)》早期版本主要使用java.util.Date、java.util.Calendar等类,Java8及以后引入了新的日期和时间API(JSR310),包含在ja... 目录旧的日期时间API新的日期时间 API(Java 8+)获取时间戳时间计算与其他日期时间类型的转换Dur

Linux系统中的firewall-offline-cmd详解(收藏版)

《Linux系统中的firewall-offline-cmd详解(收藏版)》firewall-offline-cmd是firewalld的一个命令行工具,专门设计用于在没有运行firewalld服务的... 目录主要用途基本语法选项1. 状态管理2. 区域管理3. 服务管理4. 端口管理5. ICMP 阻断

详解如何使用Python构建从数据到文档的自动化工作流

《详解如何使用Python构建从数据到文档的自动化工作流》这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起... 目录一、Excel处理:从数据搬运工到智能分析师二、PDF处理:文档工厂的智能生产线三、邮件自动化: