KERL文献阅读分享:知识图谱与预训练语言模型赋能会话推荐系统
| 标题 | 期刊 | 年份 |
|---|---|---|
| Knowledge Graphs and Pre-trained Language Models enhanced Representation Learning for Conversational Recommender Systems | Journal of LaTeX Class Files | 2021 |
📈研究背景
在数字时代,个性化推荐系统已经成为了我们生活的一部分。从电影、音乐到商品推荐,推荐系统通过分析用户的历史行为来提供个性化建议。但传统的推荐系统,比如基于协同过滤和基于内容的过滤,它们有一个很大的局限性,就是很难捕捉到用户兴趣的即时变化。这就像是你今天想看一部喜剧片,但系统却推荐了你之前看过的恐怖片一样,完全不走心!😭
为了解决这个问题,会话推荐系统(CRS)应运而生。它通过自然语言处理技术,与用户进行多轮对话,实时捕捉用户的兴趣点,从而提供更精准的推荐。就像一个懂你的朋友,能根据你的反馈及时调整推荐内容。但现有的CRS系统也有自己的问题,比如它们依赖于知识图谱来丰富对话背景,却忽略了实体内部丰富的文本信息,这就像是只看到了森林,却没看到树木一样。🌲
🛠️相关工作
在CRS领域,之前的研究主要集中在如何利用知识图谱和相关评论来补充对话中的有限背景信息。这些系统会从对话历史中提取实体,并搜索相关的候选项目。但这些方法在融合这些信息到推荐和生成过程中仍然面临挑战。而且,它们大多忽略了实体描述中的丰富信息以及实体在对话中的顺序信息,这就像是在拼图时,只关注了形状,却忽略了颜色和位置。🧩
🎯模型创新
这篇论文提出了一个全新的框架——知识增强实体表示学习框架(KERL)。这个框架就像是一个超级智能的助手,它不仅利用知识图谱来强化实体的表示,还通过预训练语言模型来编码实体的文本描述,从而更全面地理解实体的语义信息。就像给机器人安装了高清摄像头和智能大脑,让它能看得更清楚,理解得更深刻。🤖
KERL框架的核心创新点在于:
-
它直接利用预训练语言模型对实体文本描述进行编码,而不是仅仅依赖于知识图谱中的拓扑信息。这就像是给机器人增加了触觉,让它能直接感受实体的“纹理”。
-
它采用了位置编码来捕捉实体在对话中的顺序信息,这对于理解对话的上下文至关重要。这就像是给机器人安装了时间感知器,让它知道事件的先后顺序。
-
它还采用了对比学习方法,将不同视角下的用户偏好进行对齐,从而更准确地捕捉用户的兴趣。这就像是让机器人学会了从不同角度看待问题,从而做出更精准的判断。

📊方法介绍
KERL框架的结构非常清晰,主要由三个模块组成:知识图谱编码模块、推荐模块和对话生成模块。下面我用一些简单的图来说明它们的工作原理:
知识图谱编码模块
这个模块就像是一个信息加工厂,它将实体的文本描述和知识图谱中的关系结合起来,生成丰富的实体表示。具体来说,它使用预训练语言模型(如BERT)来编码实体的文本描述,然后通过图神经网络(如R-GCN)来捕捉实体之间的关系。这就像是把实体的“外貌”和“行为”结合起来,生成一个全面的画像。🖼️
推荐模块
这个模块就像是一个精准的推荐引擎,它将知识图谱编码模块生成的实体表示与对话历史结合起来,通过对比学习来对齐用户的不同偏好表示,从而生成更精准的推荐。这就像是一个懂你心思的朋友,能根据你的对话内容及时调整推荐内容。🎁
对话生成模块
这个模块就像是一个智能的对话生成器,它将知识图谱编码模块生成的实体表示和对话历史结合起来,生成自然流畅的对话。这就像是一个会讲故事的人,能根据对话内容生成有趣且相关的故事。🗣️
🧪实验
作者在两个广泛使用的数据集ReDial和INSPIRED上进行了实验,ReDial 是对话式推荐最常用的数据集。此数据集是使用 Amazon Mechanical Turk (AMT) 构建的,其中成对的工作人员按照全面的说明充当电影搜索者和推荐者。INSPIRED 是另一个用于电影的 CRS 数据集,也是使用 AMT 构建的。它具有基于社会科学理论的注释推荐策略。
相关文章:
KERL文献阅读分享:知识图谱与预训练语言模型赋能会话推荐系统
标题期刊年份Knowledge Graphs and Pre-trained Language Models enhanced Representation Learning for Conversational Recommender SystemsJournal of LaTeX Class Files2021 📈研究背景 在数字时代,个性化推荐系统已经成为了我们生活的一部分。从电…...
C#、.Net 中级高级架构管理面试题杂烩
1、简述值类型和引用类型的区别 存储位置:值类型变量直接存储数据的值,通常存储在栈上;引用类型变量存储的是对象在堆上的引用地址。 内存管理:值类型的内存由系统自动管理,当超出作用域时自动释放;引用类…...
从零开始:使用Jenkins实现高效自动化部署
在这篇文章中我们将深入探讨如何通过Jenkins构建高效的自动化部署流水线,帮助团队实现从代码提交到生产环境部署的全流程自动化。无论你是Jenkins新手还是有一定经验的开发者,这篇文章都会为你提供实用的技巧和最佳实践,助你在项目部署中走得…...
Lua限流器的3种写法
学而不思则罔,思而不学则殆 引言 上篇文章讲解了Lua脚本,事务和Pipline之间的使用方式和性能差距,本篇文章将聚焦Lua脚本,我将用三种写法来展现如何实现一个Redis限流器 固定窗口限流 固定窗口限流也是最简单的限流算法&#x…...
hive的几种复杂数据类型
Hive的几种复杂数据类型 Hive 提供了几种复杂数据类型,能够支持更灵活和多样的数据存储。这些复杂数据类型对于处理嵌套数据或不规则数据特别有用。主要包括以下几种: 文章目录 Hive的几种复杂数据类型1. 数组(ARRAY)2. 结构体&a…...
序列化/反序列化与TCP通信协议
深入理解序列化/反序列化与TCP通信协议 一、序列化与反序列化 1.1 基本概念 序列化(Serialization): 将数据结构或对象状态转换为可存储/传输格式的过程反序列化(Deserialization): 将序列化后的数据恢复为原始数据结构的过程 …...
Ollama 本地部署 体验 deepseek
下载安装ollama,选择模型 进行部署 # 管理员命令行 执行 ollama run deepseek-r1:70b浏览器访问http://ip:11434/ 返回 Ollama is runninghttp://ip:11434/v1/models 返回当前部署的模型数据 下载安装CherryStudio,本地对话UI 客户端 在设置中 修改API地址&#x…...
Linux探秘坊-------4.进度条小程序
1.缓冲区 #include <stdio.h> int main() {printf("hello bite!");sleep(2);return 0; }执行此代码后,会 先停顿两秒,再打印出hello bite,但是明明打印在sleep前面,为什么会后打印呢? 因为ÿ…...
postgreSQL16.6源码安装
1.获取源码 从PostgreSQL: File Browser获取tar.bz2或者tar.gz源码 2.解压 tar xf postgresql-version.tar.bz2 roothwz-VMware-Virtual-Platform:/usr/local# tar xf postgresql-16.6.tar.bz2 roothwz-VMware-Virtual-Platform:/usr/local# ll 总计 24324 drwxr-xr-x 12 ro…...
树莓派上 基于Opencv 实现人脸检测与人脸识别
一,需求 基于树莓派4b,usb1080p摄像头,实现人脸检测与人脸识别。尝试了海陵科的模组和百度的sdk。海陵科的模组无法录入人脸,浪费了100多块钱。百度的sdk 在树莓派上也无法录入人脸,官方解决不了。最后只能用opencv自…...
vscode怎么更新github代码
vscode怎么更新github代码 打开终端: 在 VS Code 中,使用快捷键 Ctrl (Mac 上是 Cmd) 打开终端。 导航到项目目录: 确保你当前所在的终端目录是你的项目目录。如果不是,可以使用 cd 命令导航到项目目录,例如…...
Golang Web单体项目目录结构最佳实践
在Golang 开发Web 项目的过程中,如何组织目录结构是一项至关重要的任务。合理的目录结构不仅能提高代码的可维护性,还能为团队协作提供清晰的代码规范。 为什么要设计合理的目录结构? 在 Golang 项目中,代码的组织方式会影响开发…...
Zookeeper 作注册中心 和nacos 和eruka 有什么差异 ?基于什么理论选择?
目录 三者的差异 1. 设计定位与功能特性 2. 服务注册与发现机制 3. 可用性与容错性 4. 性能 选择依据 1. 业务场景 2. 可用性和一致性需求 3. 性能需求 三者的差异 1. 设计定位与功能特性 Zookeeper 设计定位:最初是为分布式应用提供协调服务的,本身并不是专门作为…...
mac下dify+deepseek部署,实现私人知识库
目前deepseek 十分火爆,本地部署实现私有知识库,帮助自己日常工作,上一篇使用工具cherry studio可以做到私人知识库。今天学习了一下,使用Dify链接deepseek,实现私人知识库,也非常不错,这里分享…...
CSS 实现下拉菜单效果实例解析
1. 引言 在 Web 开发过程中,下拉菜单是一种常见且十分实用的交互组件。很多前端教程都提供过简单的下拉菜单示例,本文将以一个简洁的实例为出发点,从 HTML 结构、CSS 样式以及整体交互逻辑三个层面进行详细解析,帮助大家理解纯 C…...
C# 比较两个List集合内容是否相同
在 C# 中,要比较两个 List<T> 集合的内容是否相同,可以通过以下几种方法: 一、非自定义类的元素比较 1. 使用 SequenceEqual 方法(顺序和内容都相等) 顺序和内容都相等:使用 SequenceEqual。 usin…...
x64、aarch64、arm与RISC-V64:详解四种处理器架构
x64、aarch64、arm与RISC-V64:详解四种处理器架构 x64架构aarch64架构ARM架构RISC-V64架构总结与展望在计算机科学领域,处理器架构是构建计算机系统的基石,它决定了计算机如何执行指令、管理内存和处理数据。x64、aarch64、arm与RISC-V64是当前主流的四种处理器架构,它们在…...
vscode卡住---回退版本解决
一、回退 今日本人打开vscode,发现慢到起飞,最终卡到起飞 删除缓存: C:\Users\python\AppData\Roaming\Code 重启发现回到刚安装时的界面,但是插件还在。启动速度快了,但是一打开terminal就卡。 关闭vscode,重装&…...
Java使用aspose实现pdf转word
Java使用aspose实现pdf转word 一、下载aspose-pdf-21.6.jar包【下载地址】,存放目录结构如图;配置pom.xml。 <!--pdf to word--> <dependency><groupId>com.aspose</groupId><artifactId>aspose-pdf</artifactId>…...
国产编辑器EverEdit - 迷你查找
1 迷你查找 1.1 应用场景 某些场景下,用户不希望调出复杂的查找对话框,此时可以使用迷你查找窗口。 1.2 使用方法 选择主菜单查找 -> 迷你查找,或使用快捷键Ctrl Alt F,会在右上角弹出迷你查找窗口,如下图所示…...
嵌入式音视频开发(一)ffmpeg框架及内核解析
系列文章目录 嵌入式音视频开发(零)移植ffmpeg及推流测试 嵌入式音视频开发(一)ffmpeg框架及内核解析 文章目录 系列文章目录前言一、ffmpeg的内核1.1 框架解析1.2 内核解析1.3 FFmpeg内部数据流1.3.1 典型的解码流程1.3.2 典型的…...
javaEE-11.javaScript入门
目录 一.什么是javaScript 二.快速实现 三.JS引入方式 1.行内引入: 2.内部引入: 3.外部引入: 四.基础语法 1.变量 变量命名规则: 2.数据类型 3.运算符 五.JS对象 1.数组 创建数组: 2.操作数组 3.函数 函数注意事项: 函数参数: 4.对象 1.使用字面量 创建对象:…...
畅游Diffusion数字人(16):由音乐驱动跳舞视频生成
畅游Diffusion数字人(0):专栏文章导航 前言:从Pose到跳舞视频生成的工作非常多,但是还没有直接从音乐驱动生成的工作。最近字节跳动提出了MuseDance,无需复杂的动作引导输入(如姿势或深度序列),从而使不同专业水平的用户都能轻松进行灵活且富有创意的视频生成。 目录 贡…...
OnlyOffice docker 运行(详细)
下载镜像 推荐使用 GitHub Action 方式下载: Action 地址:https://github.com/Shixuebin/DockerTarBuilder 教程地址:https://www.bilibili.com/video/BV1EZ421M7mL/ docker 镜像安装 docker load -i xxx.tar镜像运行 docker run -i -t -…...
DeepSeek 助力 Vue 开发:打造丝滑的步骤条
前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 Deep…...
领略算法真谛:差分
嘿,各位技术潮人!好久不见甚是想念。生活就像一场奇妙冒险,而编程就是那把超酷的万能钥匙。此刻,阳光洒在键盘上,灵感在指尖跳跃,让我们抛开一切束缚,给平淡日子加点料,注入满满的pa…...
【Python深入浅出】Python3中os模块:开启系统交互的万能钥匙
目录 一、引言:os 模块初印象二、os 模块基础操作2.1 文件与目录操作2.1.1 创建操作2.1.2 读取操作2.1.3 删除操作2.1.4 信息获取 2.2 系统信息获取与环境变量管理2.2.1 系统信息获取2.2.2 环境变量管理 2.3 进程管理与工作目录操作2.3.1 进程管理2.3.2 工作目录操作…...
【图片转换PDF】多个文件夹里图片逐个批量转换成多个pdf软件,子文件夹单独合并转换,子文件夹单独批量转换,基于Py的解决方案
建筑设计公司在项目执行过程中,会产生大量的设计图纸、效果图、实景照片等图片资料。这些资料按照项目名称、阶段、专业等维度存放在多个文件夹和子文件夹中。 操作需求:为了方便内部管理和向客户交付完整的设计方案,公司需要将每个项目文件…...
在Linux上如何让ollama在GPU上运行模型
之前一直在 Mac 上使用 ollama 所以没注意,最近在 Ubuntu 上运行发现一直在 CPU 上跑。我一开始以为是超显存了,因为 Mac 上如果超内存的话,那么就只用 CPU,但是我发现 Llama3.2 3B 只占用 3GB,这远没有超。看了一下命…...
程序诗篇里的灵动笔触:指针绘就数据的梦幻蓝图<8>
大家好啊,我是小象٩(๑ω๑)۶ 我的博客:Xiao Xiangζั͡ޓއއ 很高兴见到大家,希望能够和大家一起交流学习,共同进步。 今天我们复习前面学习的指针知识 目录 关于指针数组和数组指针的区别指针数组(Array of Poi…...
