当前位置: 首页 > 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 标准中很…...

关于nvm与node.js

1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...

[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?

论文网址:pdf 英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误,若有发现欢迎评论指正!文章偏向于笔记,谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...

Web 架构之 CDN 加速原理与落地实践

文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 &#xf…...

LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf

FTP 客服管理系统 实现kefu123登录,不允许匿名访问,kefu只能访问/data/kefu目录,不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...

[大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.

ollama官网: 下载 https://ollama.com/ 安装 查看可以使用的模型 https://ollama.com/search 例如 https://ollama.com/library/deepseek-r1/tags # deepseek-r1:7bollama pull deepseek-r1:7b改token数量为409622 16384 ollama命令说明 ollama serve #&#xff1a…...

论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing

Muffin 论文 现有方法 CRADLE 和 LEMON,依赖模型推理阶段输出进行差分测试,但在训练阶段是不可行的,因为训练阶段直到最后才有固定输出,中间过程是不断变化的。API 库覆盖低,因为各个 API 都是在各种具体场景下使用。…...

Kubernetes 网络模型深度解析:Pod IP 与 Service 的负载均衡机制,Service到底是什么?

Pod IP 的本质与特性 Pod IP 的定位 纯端点地址:Pod IP 是分配给 Pod 网络命名空间的真实 IP 地址(如 10.244.1.2)无特殊名称:在 Kubernetes 中,它通常被称为 “Pod IP” 或 “容器 IP”生命周期:与 Pod …...

HTML前端开发:JavaScript 获取元素方法详解

作为前端开发者,高效获取 DOM 元素是必备技能。以下是 JS 中核心的获取元素方法,分为两大系列: 一、getElementBy... 系列 传统方法,直接通过 DOM 接口访问,返回动态集合(元素变化会实时更新)。…...

DeepSeek源码深度解析 × 华为仓颉语言编程精粹——从MoE架构到全场景开发生态

前言 在人工智能技术飞速发展的今天,深度学习与大模型技术已成为推动行业变革的核心驱动力,而高效、灵活的开发工具与编程语言则为技术创新提供了重要支撑。本书以两大前沿技术领域为核心,系统性地呈现了两部深度技术著作的精华:…...

【免费数据】2005-2019年我国272个地级市的旅游竞争力多指标数据(33个指标)

旅游业是一个城市的重要产业构成。旅游竞争力是一个城市竞争力的重要构成部分。一个城市的旅游竞争力反映了其在旅游市场竞争中的比较优势。 今日我们分享的是2005-2019年我国272个地级市的旅游竞争力多指标数据!该数据集源自2025年4月发表于《地理学报》的论文成果…...