通过提示大语言模型进行个性化推荐LLM-Rec: Personalized Recommendation via Prompting Large Language Models
论文原文地址:https://arxiv.org/abs/2307.15780
本文提出了一种提示LLM并使用其生成的内容增强推荐系统的输入的方法,提高了个性化推荐的效果。
LLM-Rec Prompting

Basic prompting
基础提示,主要有以下三种
- \(P_{para}\):提示LLM对原始内容进行改述,尽量保持原本的意思不变,并且不加入额外的内容。
- \(P_{tag}\):提示LLM用标签总结原始内容,用更简洁的表述捕获关键信息。
- \(P_{infer}\):提示LLM对原始内容的特征进行一些推理,并提供一个比较宽泛的回答。

Recommendation-driven prompting
推荐驱动的提示,在基础提示的基础上增加推荐指令,例如“我想把它推荐给他人”这样的语句。这种提示可以使得生成的内容更适合推荐的场景(虽然作者提到了有三种特点,但是我觉得可以用这一句话概括)。

Engagement-guided prompting
参与引导的提示。简单来说,论文中作者根据user与item的交互(如果一个user常与两个item交互,那么这两个item相似度较高),计算出与当前item最相似的T个item,并在输入中,把这T个相似的item的描述也加入。这种方式可以使得LLM生成的内容与当前item更相关,更符合用户的偏好。
Recommendation-driven + engagement-guided prompting
推荐驱动的提示与参与引导的提示的结合。
Experiment
- Benchmarks:用到两个数据集MovieLens-1M和Recipe。
- Item module:
- Response generation:GPT-3(text-davinci-003)
- Text encoder:Sentence-BERT
- Engagement-guided prompting中的重要性度量:见上述。
- User module:大小为128的embedding
- User module:
- ItemPop:流行度推荐
- MLP
- AutoInt
- DCN-V2
- Model training:交叉熵损失
- Evaluation protocols:Precision、Recall、NDCG
Results
整体的评估框架。

LLM-Rec(使用MLP作为推荐模型,只是输入使用LLM进行了增强)取得了最佳推荐表现,超越了其他更复杂的基于特征的方法。

下表展示了每个提示策略的推荐性能,蓝线是只使用原始内容不进行数据增强的情况。

结合重要的关键字,而不是全部生成的内容,可以获得更好的推荐效果。

将生成的所有内容的embedding和原始内容的embedding拼在一起会有更好的推荐效果。

Summary
本文通过提示大模型对输入进行数据增强,提高推荐系统的推荐效果。通过试验结果可以看出,经过LLM增强后的输入对推荐有很大帮助,即使是只使用MLP作为推荐模型,也可以取得超越一些复杂的推荐模型的效果。将各种提示策略(转述、标签、推理)生成的内容进行集成后,会获取更好的效果,这表明生成的内容是互补的。但是,作者在实验中发现,通过推理进行数据增强并没有达到预期的效果,因为通过推理生成的内容已经超出了原始数据的范围,其对推荐可能会产生未知的影响,因此需要进一步研究如何设计出更合适的推理提示以及推理产生的内容对推荐的影响。
通过提示大语言模型进行个性化推荐LLM-Rec: Personalized Recommendation via Prompting Large Language Models的更多相关文章
- 使用 LoRA 和 Hugging Face 高效训练大语言模型
在本文中,我们将展示如何使用 大语言模型低秩适配 (Low-Rank Adaptation of Large Language Models,LoRA) 技术在单 GPU 上微调 110 亿参数的 F ...
- 本地推理,单机运行,MacM1芯片系统基于大语言模型C++版本LLaMA部署“本地版”的ChatGPT
OpenAI公司基于GPT模型的ChatGPT风光无两,眼看它起朱楼,眼看它宴宾客,FaceBook终于坐不住了,发布了同样基于LLM的人工智能大语言模型LLaMA,号称包含70亿.130亿.330亿 ...
- CSDDN特约专稿:个性化推荐技术漫谈
本文引自http://i.cnblogs.com/EditPosts.aspx?opt=1 如果说过去的十年是搜索技术大行其道的十年,那么个性化推荐技术将成为未来十年中最重要的革新之一.目前几乎所有大 ...
- 为什么要用深度学习来做个性化推荐 CTR 预估
欢迎大家前往腾讯云技术社区,获取更多腾讯海量技术实践干货哦~ 作者:苏博览 深度学习应该这一两年计算机圈子里最热的一个词了.基于深度学习,工程师们在图像,语音,NLP等领域都取得了令人振奋的进展.而深 ...
- 从0开始做垂直O2O个性化推荐-以58到家美甲为例
从0开始做垂直O2O个性化推荐 上次以58转转为例,介绍了如何从0开始如何做互联网推荐产品(回复"推荐"阅读),58转转的宝贝为闲置物品,品类多种多样,要做统一的宝贝画像比较难,而 ...
- Slope one—个性化推荐中最简洁的协同过滤算法
Slope One 是一系列应用于 协同过滤的算法的统称.由 Daniel Lemire和Anna Maclachlan于2005年发表的论文中提出. [1]有争议的是,该算法堪称基于项目评价的non ...
- 搜索实时个性化模型——基于FTRL和个性化推荐的搜索排序优化
本文来自网易云社区 作者:穆学锋 简介:传统的搜索个性化做法是定义个性化的标签,将用户和商品通过个性化标签关联起来,在搜索时进行匹配.传统做法的用户特征基本是离线计算获得,不够实时:个性化标签虽然具有 ...
- 个性化推荐产品功能的设计和B端产品的功能策划方式
宜信科技中心财富管理产品部负责人Bob,与大家一起聊聊个性化推荐产品功能的设计和B端产品的功能策划方式. 拓展阅读:回归架构本质,重新理解微服务|专访宜信开发平台(SIA)负责人梁鑫 智慧金融时代,大 ...
- 使用Python3.7配合协同过滤算法(base on user,基于人)构建一套简单的精准推荐系统(个性化推荐)
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_136 时至2020年,个性化推荐可谓风生水起,Youtube,Netflix,甚至于Pornhub,这些在互联网上叱咤风云的流媒体 ...
- 推荐系统[八]算法实践总结V1:淘宝逛逛and阿里飞猪个性化推荐:召回算法实践总结【冷启动召回、复购召回、用户行为召回等算法实战】
0.前言:召回排序流程策略算法简介 推荐可分为以下四个流程,分别是召回.粗排.精排以及重排: 召回是源头,在某种意义上决定着整个推荐的天花板: 粗排是初筛,一般不会上复杂模型: 精排是整个推荐环节的重 ...
随机推荐
- 微信小程序setData()异常
近来开发一个小程序的项目,遇到使用setData()始终报错的情况,其问题奇特难解- 一.操作错误截图 如上图,只要将setData放置在回调函数中就会出现异常,如果不放在回调中就正常: 好郁闷,wh ...
- 【.NET源码解读】Configuration组件及自动更新
Configuration组件是.NET中一个核心的.非常重要的组件.它提供了一种方便的机制,用于从配置文件.环境变量.命令行参数等各种数据源中读取和配置应用程序,以满足不同环境下应用程序的需求. 在 ...
- 【一步步开发AI运动小程序】十、姿态动作相似度比较
随着人工智能技术的不断发展,阿里体育等IT大厂,推出的"乐动力"."天天跳绳"AI运动APP,让云上运动会.线上运动会.健身打卡.AI体育指导等概念空前火热.那 ...
- Java的Object类的方法
Java的Object类是所有类的根类,它提供了一些通用的方法.下面是一些常用的Object类方法: 1. equals(Object obj):判断当前对象是否与给定对象相等.默认情况下,equal ...
- Docker运行Django框架
Django框架 创建django-pg项目目录 [root@docker ~]# mkdir docker-compose-django [root@docker ~]# cd docker-com ...
- Vue3从入门到精通(一)
Vue3简介 Vue3是Vue.js的最新版本,于2020年9月18日正式发布.Vue3相比Vue2有很多改进和优化,包括但不限于: 更快的渲染速度:Vue3通过使用Proxy代理对象和优化虚拟DOM ...
- 6. SpringMVC的视图
SpringMVC 中的视图是 View 接口,视图的作用渲染数据,将模型 Model 中的数据展示给用户 SpringMVC 视图的种类很多,默认有转发视图和重定向视图 当工程引入 jstl 的依赖 ...
- XHbuilder 需要的 ipa 签名,超详细的教程,你不看吃亏的是自己!
今天使用 hbuilder 运行到 ios 真机的时候,突然发现还需要 ipa 签名,这是什么东东呢? 1.IPA 签名是什么? 因苹果公司禁止企业证书用于非企业内部开发者.所以开发者无法再使用DCl ...
- 【SpringBoot】定时任务
SpringBoot实现定时任务 SpringBoot创建定时任务,目前主要有以下三种实现方式: 基于注解(@Scheduled): 基于注解@Scheduled默认为单线程,开启多个任务时,任务的执 ...
- 图片转ASCII字符图案的原理(可调整亮度对比度 宽高度)
来, 先看效果哈哈哈哈! 演示地址: http://ascii-picture.imlht.com/ "\` """ . "\`"" ...