用户交互引导大模型生成内容特征,LLM-Rec框架助力个性化推荐!

news2024/11/28 1:51:24

欢迎来到魔法宝库,传递AIGC的前沿知识,做有格调的分享❗

喜欢的话记得点个关注吧!


今天主要和大家分享一篇使用大语言模型做数据增强来提升推荐系统性能的研究

  • 标题: LLM-Rec: Personalized Recommendation via Prompting Large Language Models

  • 链接: https://arxiv.org/pdf/2307.15780.pdf

  • 公司/机构: University of Rochester/UCLA/Meta AI

摘要

本篇论文主要研究使用大语言模型(LLMs)来提升个性化推荐性能的策略,核心的方式是使用大模型对推荐模型的输入文本做数据增强。论文中提出了LLM-Rec的框架,该框架包括四种prompt策略:基本的prompt、推荐驱动的prompt、交互引导的prompt、推荐驱动+交互引导的混合prompt。通过实验表明,使用LLM增强的文本融入到推荐中可以提升推荐性能。推荐驱动和交互引导的提示策略有助于LLM理解全局和局部特性,凸显了多样化prompt设计和输入增强技术在增强LLM推荐能力方面的重要性。

介绍

以往的研究主要集中在将LLM直接用作推荐模型,或者将LLM用在推荐系统的框架中,而本次则从不同的角度出发。本次研究主要是通过设计不同的prompt策略来改进LLM生成高质量的文本,并将生成后的文本作为特征应用到推荐系统中,最终通过推荐效果来评估增强的质量。作者提出了名字叫做LLM-Rec的prompt设计框架,框架中包含了许多专门为个性化内容推荐而设计的prompt策略。其中包括:基本的prompt、推荐驱动的prompt、交互引导的prompt、推荐驱动+交互引导的prompt。这些策略旨在提升LLM生成文本的能力,提高内容推荐的准确性和相关性。通过实验布置,与基准方法进行了比较,证明了LLM-Rec框架的有效性。同时本研究揭示了不同提示策略对推荐性能的影响,并突显了利用LLMs进行个性化推荐的潜力。

LLM-Rec prompt的设计

基础的Prompt

基础prompt主要有三种:Ppara、Ptag、Pinfer,其中,Ppara:表示对原有的文本描述做一个改写,但不要引入其他额外的信息。Ptag:表示对原有的文本描述做tag词的提取。Pinfer:表示根据原有的文本描述的特征做推导,得到一些宏观力度上的答复。

图片

推荐驱动的prompt

对应基础的三种prompt,分别引入了推荐驱动的版本,用Precpara、Prectag、Precinfer表示。作者表示为了生成更高质量的内容描述,推荐驱动的prompt引入了一下3个特性:

  •  Enhanced Context

  • Guided Generation

  • Improved Relevance

这三个特性总结来说是通过在基础prompt中引入推荐的指令和说明,具体如下图

图片

作者表示引入的额外信息能够给模型起到引导的作用, 使得模型能够捕捉关键信息、用户偏好,提升生成描述的相关性。同时显式的提及生成的内容即将要被用于内容推荐,模型会对最终的目标有个清晰的理解,即可生成和最终应用目的一致的内容。

交互引导的prompt

交互引导的prompt的核心原则是充分利用user-item的交互信息来设计prompt,后续实验中使用Peng表示。交互引导的prompt主要的作用是让大模型更加深入的捕捉到用户的偏好,同时将这些特性融入到生成的文本中。在设计该prompt的之前,需要结合目标item的内容描述和T个items的内容表述,这T个items是根据用户交互行为和相关算法得到的,该部分和推荐系统中使用用户行为序列建模的思想一致,通过这种模式更深入地捕捉用户的兴趣偏好。这种prompt设计能够提升大模型生成内容描述的质量主要原因有如下三方面:

  • Contextual Relevance

  • User Preference Alignment

  • Enhanced Recommendation Quality

总结来说通过引入target和T个items的内容描述,可以让大模型具有一个较为丰富的上下文和较为深入的理解。同时由于T个items是通过用户交互行为而确定出来的,所以模型能够根据这些信息来对齐用户兴趣偏好。通过对比target和用户偏好的相似性、相关性的判断来生成更加高质量的内容描述。

推荐驱动的prompt+交互引导的prompt

指的是将以上两种prompt进行融合的设计,用Prec+eng表示。

图片

实验布置

实验方案

在推荐任务中,会将target_item的描述作为文本的特征(embedding)加入到推荐模型中来提升模型的性能。本次实验主要是对比使用大模型做描述增强后的文本作为特征和原始文本描述作为特征的推荐效果,其中原始文本描述为BaseLine。

数据集

图片

  • MovieLens-1M:数据集中没有关于电影的描述,只有标题和类别标签,所以作者使用GPT3为其生成原始文本描述。

  • Recipe:该数据集中含有关于食谱的描述。

这里的数据集作者均做了低频的过滤,对于交互频次低、被打分频次低的用户和item进行了过滤。

Item模块

  • LLM:GPT3

  • Text encoder:Sentence-BERT

  • T个item的选取:Personalized PageRank (PPR) score作为重要程度的评估,再次选取Top T

User模块

  • Embd表:将用户id转为128维的embedding表

推荐模块

在实验中主要尝试了四种推荐方案:

  • ItemPop:根据item的热度进行排序推荐

  • MLP: 将原始文本的embeddings和增强后文本的embeddings做concat后放入MLP中做推荐

  • AutoInt:使用多头注意力机制网络和残差网络结构在低维空间做特征交叉

  • DCN-V2:进行显示的特征交叉

评估指标

  • Precision@K

  • Recall@K

  • NDCG@K

实验结果

通过以上实验的布置,结果如下图所示:

图片

通过对比,可以看出LLM-Rec(MLP+数据增强)相比其他几种常见的推荐模型在效果上有显著的提升, 甚至超过了一些复杂的特征交叉模型的效果。为了进一步说明不同的prompt的设计策略所带给推荐系统的作用, 作者又进一步做了评估,评估的框架如下图所示:

图片

在整个后续的评估中,要保持推荐模块和用户模块不变,仅更改增强的文本(通过不同的prompt设计得到的,图中的虚线部分),然后对比不同prompt策略对推荐效果的影响和产生效果原因。结果如下图:

图片

结论:

  • 评估证明,无论哪种prompt设计,所得到的增强文本embedding和原始文本embedding合并后均提升了推荐的效果。说明数据增强给推荐提供了额外的,有效的信息。

  • 不同的prompt设计策略的提升是有差异的,具体的差异做了进一步的解释。

策略差异的case study

作者抽取了使用Precpara为prompt生成策略的情况下胜出的3个item(两个数据集),分别对比3个item的PparaPrecpara策略生成的prompt,寻找差异点。

图片

  •  PparaPrecpara的差异:Precpara策略生成的增强文本会包含一些特殊的词, 这些词和用户偏好具有一定的相关性,而在Ppara策略生成的文本中没有。因此作者推断是因为这些词使得推荐效果变得更好了。

为了证明这些词的真实作用,作者对prompt进行了改写,设计出了PmaskparaPkeywordpara。其中PmaskparaPrecpara中生成的关键词在prompt屏蔽掉,而Pkeywordpara是将在Precpara中生成的这些词和其他预定义的能够代表用户偏好的标签词汇一起拼接到Ppara中,根据新prompt生成的数据的推荐效果如下图:

图片

很明显,当和用户偏好相关的词被屏蔽后,效果出现了折损。同时,新增一些和用户偏好相关预定义的词,效果有明显的提升。

• PinferPrecinfer的差异:Precinfer相比Pinfer的推荐效果变差了,作者认为推导的方式所获取的增强文本和原始文本的差异性导致了最终效果变差。

• PrecPrec+eng的差异:相比Prec而言Peng能够合成更细粒度的用户偏好相关的词汇, 而两者的结合也会引入一些预定义的词汇,具体如下图:

图片

策略组合的效果

最后作者又进行了一次组合的实验,将之前几种prompt的设计所生成的增强文本进行了排列组合,确定当所有数据全部组合到一起的情况下,效果是最好的。同时,考虑到和base实验embedding维度对齐的问题,作者还额外增加了附属对比组。比如:将原始文本的embedding直接翻倍。最终组合效果如下图:

图片

图片

这个结果也直接证明了通过大模型做数据增强的有效性,同时多种策略组合的叠加也能够显著提升推荐效果。图中的蓝色线表示仅使用原始文本embedding的MLP,而红色线表示仅使用原始文本embedding的DCN-V2。

总结

本篇论文主要研究了使用大模型做数据增强对内容推荐性能的影响,通过实验对比可以得出:

  • 通过大模型生成的文本结合原始文本可以提升推荐的性能

  • 大模型生成文本的策略决定了生成数据的质量,推荐驱动的 prompt设计策略和交互引导的prompt设计策略均从不同的角度增强了数据的可用信息量, 使得生成的文本质量更好,更适合推荐。

  • 所有的策略生成的文本合并到一起的作用最明显,说明不同的策略生成的数据是可互补的。


如果对AIGC感兴趣,请关注我们的微信公众号“我有魔法WYMF”,我们会定期分享AIGC最新资讯和经典论文精读分享,让我们一起交流学习!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1188168.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023软件测试必问的100个面试题【含答案】

一、测试理论 1.什么是软件测试? 答:软件测试是通过执行预定的步骤和使用指定的数据,以确定软件系统在特定条件下是否满足预期的行为。 2.测试驱动开发(TDD)是什么? 答:测试驱动开发是一种开…

基于情感分析+聚类分析+LDA主题分析对服装产品类的消费者评论分析(文末送书)

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

MKL.NET:为.NET开发者提供高性能数学计算支持的开源库

目录 01 项目简介02 主要功能03 项目结构04 项目地址 MKL是英特尔推出的一套功能强大、性能优化的数学库,主要是采用C/C编写的。今天给大家推荐一个MKL的.Net版本,让我们无需与C/C打交道,方便我们集成到应用开发中去。 01 项目简介 MKL.NET…

智能机器人云控平台

智能机器人云控平台主要是通过打造一个低速固定场景下的机器人自主完成既定作业的模式。整体平台融合的自动化驾驶感知终端,物联网通信,数据接入中心,数据管理中心,模型中心及开放中心等,以一个云平台来掌控多个多种不…

ElementUI的Dialog弹窗实现拖拽移动功能

实现ElementUI的Dialog弹窗可以拖拽移动 实现步骤: 1.创建自定义指令 在utils文件夹下新建文件夹 utils/directive/el-dragDialog/index.js import drag from ./dragconst install function(Vue) {Vue.directive(el-drag-dialog, drag) }if (window.Vue) {windo…

电机应用-步进电机

步进电机(脉冲电机) 基于最基本的电磁铁原理,是一种可以自由回转的电磁铁,其工作原理是依靠气隙磁导的变化来产生电磁转矩。 由于步进电机是一个可以把电磁脉冲转换成机械运动的装置,具有很好的数据控制特性&#xff0…

解决问题:IDEA启动微服务项目,显示Loaded classes are up to date. Nothing to reload.

先说结论,再讲相声: 开启Shorten Command Line 选择JARmanifest 今天启动微服务,就有这么寸,其他的服务启动的好好的,唯独我需要Debug的项目无法启动,只能Run运行 满世界找答案无非就是几种:…

第二证券:今日投资前瞻:PPP迎来新机制,消费电池需求有望迎来复苏

11月8日,两市股指盘中轰动回落,尾盘逐渐止跌。到收盘,沪指跌0.16%报3052.37点,深成指微跌0.04%报10052.09点,创业板指涨0.02%报2023.13点,科创50指数涨0.92%;两市估计成交10366亿元,…

图文详解 VCF 生信格式 (变异信息)

文章目录 一、vcf 格式介绍二、vcf 资源文件三、vcf 文件详解3.1 主要字段3.2 INFO 中的常见信息3.3 FORMAT 和 SAMPLEs 中的信息 四、vcf 的记录模式4.1 只记录变异本身的信息4.2 记录个体或个体组织的变异信息4.3 记录群体或家系的变异信息 五、记录标准5.1 记录多核苷酸多样…

第二证券:长期停牌一般是多久?

股票停牌不仅仅是个股的问题,它或许会影响到商场的整体运作和投资者的利益。那么,长期停牌一般是多久呢?从不同的视点分析,可以得到不同的答案。 1. 官方规则 首要,咱们需求查看相关规则。依据证监会规则&#xff0c…

经典猜数游戏(python类封装)

五次机会猜测100以内随机正整数,我用初通的python类封装了代码并清屏上一次猜测提示,难有所增加咯。 (笔记模板由python脚本于2023年11月09日 12:31:30创建,本篇笔记适合掌握python循环和条件分支语句用法,初通python类的coder翻阅…

开设自己的网站系类01购买服务器

开始建设自己的网站吧! 编者买了一个服务器打算自己构建一个网站,用于记录生活。网站大概算是一个个人博客吧。记录创建过程的一些步骤 要开设自己的网站,需要执行以下关键步骤 以下只是初步列出了建立自己的网站的大概步骤,后…

用Python的requests库来模拟爬取地图商铺信息

由于谷歌地图抓取商铺信息涉及到API使用和反爬虫策略,直接爬取可能会遇到限制。但是,我们可以使用Python的requests库来模拟爬取某个网页,然后通过正则表达式或其他文本处理方法来提取商铺信息。以下是一个简单的示例: # 导入requ…

【transfer 自定义封装】

【transfer 自定义封装穿梭框-适用用手机端】 tag组件穿梭组件使用示例tag组件 <!--多选按钮组--> <template><div><div v-for="option in options" :key="option.value" class=check_style><van-button:size="size"…

虚假内容检测,谣言检测,不实信息检测,事实核查;纯文本,多模态,多语言;数据集整理

本博客系博主个人理解和整理所得&#xff0c;包含内容无法详尽&#xff0c;如有补充&#xff0c;欢迎讨论。 这里只提供数据集相关介绍和来源出处&#xff0c;或者下载地址等&#xff0c;因版权原因不提供数据集所含的元数据。如有需要&#xff0c;请自行下载。 “Complete d…

redisson中的分布式锁

文章目录 redisson中的分布式锁可重入锁&#xff08;Reentrant Lock&#xff09; redisson中的分布式锁 ​ Redisson是一个在Redis的基础上实现的Java驻内存数据网格&#xff08;In-Memory Data Grid&#xff09;。它不仅提供了一系列的分布式的Java常用对象&#xff0c;还提供…

【不正经操作】百度深度学习框架paddlepaddle本地运行-Python环境配置笔记

百度深度学习框架PaddlePaddle 百度深度学习框架PaddlePaddle是一个支持深度学习和机器学习的开源框架。它由百度公司于2016年开发并发布&#xff0c;现在已经成为中国最受欢迎的深度学习框架之一&#xff0c;并且在国际上也获得了不少关注。 特点与功能 易于使用 PaddlePa…

渗透测试学习day3

文章目录 靶机&#xff1a;DancingTask 1Task 2Task 3Task 4Task 5Task 6Task 7Task 8 靶机&#xff1a;RedeemerTask 1Task 2Task 3Task 4Task 5Task 6Task 7Task 8Task 9Task 10Task 11 靶机&#xff1a;AppointmentTask 1Task 2Task 3Task 4Task 5Task 6Task 7Task 8Task 9T…

RAW图像处理软件Capture One 23 Enterprise mac中文版功能特点

Capture One 23 Enterprise mac是一款专业的图像处理软件&#xff0c;旨在为企业用户提供高效、快速和灵活的工作流程。 Capture One 23 Enterprise mac软件的特点和功能 强大的图像编辑工具&#xff1a;Capture One 23 Enterprise提供了一系列强大的图像编辑工具&#xff0c;…

开发知识点-golang

golang语言学习 环境搭建win10配置go环境 ubuntu20.04安装golang介绍下载 Go 压缩包调整环境变量验证 Go 安装过程 环境搭建 win10配置go环境 中文网进行下载 https://studygolang.com/dl 配置环境变量 增加GOROOT: 新建 -->变量名为: GOROOT(必须大写) 变量值: 你安装…