当前位置: 首页 > news >正文

利用大模型提升个性化推荐的异构知识融合方法

在推荐系统中,分析和挖掘用户行为是至关重要的,尤其是在美团外卖这样的平台上,用户行为表现出多样性,包括不同的行为主体(如商家和产品)、内容(如曝光、点击和订单)和场景(如APP首页和小程序)。传统的推荐系统通过不断添加用户行为到模型中,导致两个主要问题:一是行为主体的多样性导致特征稀疏,二是用户、商家和商品行为的独立建模忽略了行为间的异构知识融合。为了克服这些问题,研究者们提出了利用大模型(LLM)来融合和推理用户行为中的异构知识。LLM因其丰富的语义知识和强大的推理能力,在多个领域展现了卓越性能。通过设计新的用户行为建模框架,研究者们能够将结构化的用户行为数据转化为非结构化的异构知识,进而通过指令调整和微调,使LLM更精准地适应个性化推荐任务。这一方法不仅提高了推荐系统的性能,还为处理用户行为的复杂性和多样性提供了新途径。

异构知识融合(HKF)是一种创新的个性化推荐方法,通过以下三个阶段实现的:

1. 异构知识融合
在这一阶段,研究者们利用大型语言模型(LLM)的语义理解和推理能力,将用户行为中的多样化信息融合为统一的知识表示。具体来说,他们首先从数据库中以用户为中心提取出多维度的行为数据,包括不同的行为主体(如商家、商品)、行为内容(如曝光、点击、订单)和行为场景(如APP首页、小程序)。然后,通过设计模板化的文本语言,将这些异构行为数据转化为结构化的文本描述。最后,使用如ChatGPT这样的LLM进行知识融合,将行为文本转化为包含丰富语义信息的异构知识文本。

2. 指令微调(Instruction Tuning)
为了使LLM更好地适应推荐任务并提高其在推荐任务中的性能,研究者们设计了一个指令数据集,该数据集包含了输入、指令和输出三个部分。输入即为上一阶段生成的异构知识文本。指令则是一系列为推荐任务特别设计的任务描述,包括用户对类别、价格和商家等的偏好推荐。输出是用户下一次订单的真实标签。基于这个指令数据集,研究者们对LLM进行微调,以提高其对异构知识的理解和推荐任务的适应性。他们选择了一个开源的LLM模型ChatGLM-6B作为基础模型,并采用了LoRA(Low-rank Adaptation)方法进行微调。

3. 推荐
在推荐阶段,研究者们将用户行为的异构知识从数据库中检索出来,作为LLM的输入。然后,根据推荐任务设计指令,利用微调后的LLM进行推理和计算,最终输出用户的推荐结果。这些推荐结果可以是直接以自然语言形式呈现的推荐内容,也可以作为语义特征,与传统推荐模型中的现有特征结合,以增强推荐效果。

通过这三个阶段,研究者们构建了一个能够处理用户行为异构性并提供个性化推荐的系统。该方法的核心在于利用LLM的能力来理解和整合用户行为中的复杂信息,并通过专门的指令调整来优化模型的推荐性能。

作者们通过一系列实验来验证他们提出的异构知识融合(HKF)方法在个性化推荐任务中的有效性。以下是实验部分的详细说明:

1. 实验实施
数据集: 作者们选择了2023年3月至4月的美团外卖数据集作为实验数据。
任务设计: 设计了20个推荐任务指令,构建了包含10万用户和100万条指令数据的数据集。
测试集: 测试集选自2023年5月9日的样本,包含10,000条指令数据,用于评估推荐POIs和类别的任务。
数据限制: 由于输入长度限制,用户序列长度被限制为300。
匿名化处理: 用户和POI数据在输入到LLM之前进行了匿名化处理。

2. 结果与分析
评估指标: 为了评估推荐效果,作者们选择了top-k HR(精准率)和top-k NDCG(标准化折扣累积增益)作为评估指标,其中k=5和10。
与传统方法比较: 将HKF方法与传统推荐方法(如Caser和BERT4Rec)以及语言模型(如P5和ChatGLM-6B)进行了比较。

实验结果
性能提升: 实验结果表明,HKF方法在Waimai数据集上的表现超过了多个基线模型,实现了显著的性能提升。
异构知识融合的重要性: 通过对比去除异构知识融合阶段的模型,证明了异构知识融合对于准确捕捉用户兴趣和提升模型性能的重要性。
指令调整的效果: 通过对比去除指令调整阶段的模型,展示了指令调整可以有效促进LLM适应下游推荐任务。

在线A/B测试
在线应用: 作者们还在美团外卖推荐系统中进行了在线A/B测试,使用前一天用户搜索查询的计算特征,并在当前日进行实时计算。
测试时间: 实验运行时间为2023年5月9日至5月19日。
测试结果: HKF方法在冷启动用户中实现了点击通过率(CTR)提升2.45%和总商品交易额(GMV)提升3.61%,而对其他用户则没有显著影响。

实验结论
实验结果证明了HKF方法在整合异构用户行为和提高推荐性能方面的有效性。作者们指出,尽管LLM在餐饮领域的专业知识不足,限制了其对异构行为的完全理解和整合,但通过在该领域进一步训练LLM,可以克服这一限制。

这些实验不仅展示了HKF方法的潜力,还为未来的研究方向提供了指导,即通过在特定领域内进一步训练LLM,以更好地整合异构知识并提升推荐系统的性能。

通过在Waimai数据集上的广泛实验,HKFR证明了其在提升个性化推荐性能方面的显著效果。未来工作的方向,即在餐饮领域对HKFR进行更深入的训练,以期实现更精准的异构知识整合和更优的推荐效果。通过不断优化和特定领域的定制化训练,HKFR有潜力进一步推动个性化推荐系统的发展。

论文链接:http://arxiv.org/pdf/2308.03333

相关文章:

利用大模型提升个性化推荐的异构知识融合方法

在推荐系统中,分析和挖掘用户行为是至关重要的,尤其是在美团外卖这样的平台上,用户行为表现出多样性,包括不同的行为主体(如商家和产品)、内容(如曝光、点击和订单)和场景&#xff0…...

Dockerfile 里 ENTRYPOINT 和 CMD 的区别

ENTRYPOINT 和 CMD 的区别: 在 Dockerfile 中同时设计 CMD 和 ENTRYPOINT 是为了提供更灵活的容器启动方式。ENTRYPOINT 定义了容器启动时要执行的命令,而 CMD 则提供了默认参数。通过结合使用这两个指令,可以在启动容器时灵活地指定额外的参…...

腾讯的EdgeONE是什么?

腾讯的EdgeONE是一项边缘计算解决方案,具有一系列优势: 边缘计算能力强大:EdgeONE利用腾讯云在全球范围内的分布式基础设施,提供强大的边缘计算能力,可以实现低延迟和高可用性的服务。 智能化和自动化:Edg…...

SVM直观理解

https://tangshusen.me/2018/10/27/SVM/ https://www.bilibili.com/video/BV16T4y1y7qj/?spm_id_from333.337.search-card.all.click&vd_source8272bd48fee17396a4a1746c256ab0ae SVM是什么? 先来看看维基百科上对SVM的定义: 支持向量机(英语:su…...

Nessus 部署实验

一、下载安装https://www.tenable.com/downloads/nessus 安装好之后,Nessus会自动打开浏览器,进入到初始化选择安装界面,这里我们要选择 Managed Scanner 点击继续,下一步选择Tenable.sc 点击继续,设置用户名和密码 等…...

基于Springboot的水产养殖系统(有报告)。Javaee项目,springboot项目。

演示视频: 基于Springboot的水产养殖系统(有报告)。Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构&…...

Java性能优化(五)-多线程调优-Lock同步锁的优化

作者主页: 🔗进朱者赤的博客 精选专栏:🔗经典算法 作者简介:阿里非典型程序员一枚 ,记录在大厂的打怪升级之路。 一起学习Java、大数据、数据结构算法(公众号同名) ❤️觉得文章还…...

WPF (Windows Presentation Foundation) 中 Attribute(属性)和 Property(属性)

在 WPF (Windows Presentation Foundation) 中,Attribute(属性)和 Property(属性)是两个相关但不同的概念。 Attribute(属性)是一种元数据,用于给类型、成员或其他代码元素添加附加…...

环形链表理解||QJ141.环形链表

在链表中,不光只有普通的单链表。之前写过的的一个约瑟夫环形链表是尾直接连向头的。这里的环形链表是从尾节点的next指针连向这链表的任意位置。 那么给定一个链表,判断这个链表是否带环。qj题141.环形链表就是一个这样的题目。 这里的思路是用快慢指…...

java本地锁与分布式锁-个人笔记 @by_TWJ

目录 1. 本地锁1.1. 悲观锁与乐观锁1.2. 公平锁与非公平锁1.3. CAS1.4. synchronized1.5. volatile 可见性1.6. ReentrantLock 可重入锁1.7. AQS1.8. ReentrantReadWriteLock 可重入读写锁 2. 分布式锁3. 额外的3.1. synchronized 的锁升级原理3.2. synchronized锁原理 1. 本地…...

【每日刷题】Day33

【每日刷题】Day33 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. 20. 有效的括号 - 力扣(LeetCode) 2. 445. 两数相加 II - 力扣(…...

vivado刷题笔记46

题目: Design a 1-12 counter with the following inputs and outputs: Reset Synchronous active-high reset that forces the counter to 1 Enable Set high for the counter to run Clk Positive edge-triggered clock input Q[3:0] The output of the counter c…...

网络基础——校验

网络基础——校验 网络通信的层次化模型(如OSI七层模型或TCP/IP四层模型)中,每一层都有其特定的校验机制来确保数据传输的正确性和完整性。 物理层 校验方式 不直接涉及校验和,但会采用信号编码技术(如曼彻斯特编码…...

SparkSQL与Hive整合 、SparkSQL函数操作

SparkSQL与Hive整合 SparkSQL和Hive的整合,是一种比较常见的关联处理方式,SparkSQL加载Hive中的数据进行业务处理,同时将计算结果落地回Hive中。 整合需要注意的地方 1)需要引入hive的hive-site.xml,添加classpath目录下面即可…...

K8s: Helm搭建mysql集群(2)

搭建 mysql 集群 应用中心,mysql 文档参考https://artifacthub.io/packages/helm/bitnami/mysql 1 )helm 搭建 mysql A. 无存储,重启数据丢失 添加源 $ helm repo add mysql-repo https://charts.bitnami.com/bitnami安装 $ helm install…...

matlab期末知识

1.期末考什么? 1.1 matlab操作界面 (1)matlab主界面 (2)命令行窗口 (3)当前文件夹窗口 (4)工作区窗口 (5)命令历史记录窗口 1.2 matlab搜索…...

多台服务器共享python虚拟环境和Linux安装python虚拟环境

文章目录 一、新增服务器环境搭建1. python3 环境搭建2.必要软件安装3. 目录挂载1 ./toolchain 挂载:2. /virtualenvs挂载: 4. 安装驱动和sdk 二、多台服务器共享python虚拟环境 一、新增服务器环境搭建 1. python3 环境搭建 16.04 系统默认 python3.5&…...

在Python中安装和使用pandas库

在Python中安装和使用pandas库是一个相对简单的过程。以下是具体的步骤: 安装pandas库 你可以使用Python的包管理器pip来安装pandas。打开你的命令行工具(在Windows上可能是CMD或PowerShell,在macOS或Linux上可能是Terminal)&am…...

零基础学习数据库SQL语句之查询表中数据的DQL语句

是用来查询数据库表的记录的语句 在SQL语句中占有90%以上 也是最为复杂的操作 最为繁琐的操作 DQL语句很重要很重要 初始化数据库和表 USE dduo;create table tb_emp(id int unsigned primary key auto_increment comment ID,username varchar(20) not null unique comment…...

C++语法|bind1st和bind2nd的用法

文章目录 What什么是?How什么时候用?如何用?bind1st和bind2nd的底层实现原理my_find_if分析myBind1st分析 What什么是? bind1st 和bind2nd分别是一个用来绑定函数对象的第一个参数或第二个参数的适配器。它在 C98 和 C03 标准中很…...

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...

【网络】每天掌握一个Linux命令 - iftop

在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

Unity3D中Gfx.WaitForPresent优化方案

前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...

【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表

1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...

前端开发面试题总结-JavaScript篇(一)

文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)

本期内容并不是很难,相信大家会学的很愉快,当然对于有后端基础的朋友来说,本期内容更加容易了解,当然没有基础的也别担心,本期内容会详细解释有关内容 本期用到的软件:yakit(因为经过之前好多期…...

听写流程自动化实践,轻量级教育辅助

随着智能教育工具的发展,越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式,也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建,…...

莫兰迪高级灰总结计划简约商务通用PPT模版

莫兰迪高级灰总结计划简约商务通用PPT模版,莫兰迪调色板清新简约工作汇报PPT模版,莫兰迪时尚风极简设计PPT模版,大学生毕业论文答辩PPT模版,莫兰迪配色总结计划简约商务通用PPT模版,莫兰迪商务汇报PPT模版,…...

快刀集(1): 一刀斩断视频片头广告

一刀流:用一个简单脚本,秒杀视频片头广告,还你清爽观影体验。 1. 引子 作为一个爱生活、爱学习、爱收藏高清资源的老码农,平时写代码之余看看电影、补补片,是再正常不过的事。 电影嘛,要沉浸,…...

Ubuntu系统复制(U盘-电脑硬盘)

所需环境 电脑自带硬盘:1块 (1T) U盘1:Ubuntu系统引导盘(用于“U盘2”复制到“电脑自带硬盘”) U盘2:Ubuntu系统盘(1T,用于被复制) !!!建议“电脑…...