通过提示大语言模型进行个性化推荐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.前言:召回排序流程策略算法简介 推荐可分为以下四个流程,分别是召回.粗排.精排以及重排: 召回是源头,在某种意义上决定着整个推荐的天花板: 粗排是初筛,一般不会上复杂模型: 精排是整个推荐环节的重 ...
随机推荐
- docker快速启动proxy_pool项目
docker快速启动proxy_pool项目 项目地址:https://github.com/jhao104/proxy_pool 0x01 搭建redis 该项目是基于redis的,所以我们首先需要 ...
- [音视频处理] FFmpeg使用指北1-视频解码
本文将详细介绍如何使用ffmpeg 4.4在C++中解码多种格式的媒体文件,这些媒体文件可以是视频.视频流.图片,或是桌面截屏或USB摄像头的实时图片.解码文件后,还将每帧图片转换为OpenCV的Ma ...
- Java(多态)
1.多态 动态编译:类型 即同一方法可以根据发送对象的不同而采用不同的行为方式 一个对象的实际类型是确定的,但可以指向对象的引用可以有很多 多态存在条件 有继承关系 子类重写父类方法 父类引用指向子类 ...
- 基于 Linux 集群环境上 GPFS 的问题诊断
作者:谷珊,帅炜,陈志阳来源:IBM Developer GPFS 的概述 GPFS 是 IBM 公司提供的一个共享文件系统,它允许所有的集群节点可以并行访问整个文件系统.GPFS 允许客户共享文件, ...
- 5个 Istio 访问外部服务流量控制最常用的例子,你知道几个?
5 个 Istio 访问外部服务的流量控制常用例子,强烈建议收藏起来,以备不时之需. 环境准备 部署 sleep 服务,作为发送请求的测试源: kubectl apply -f samples/sle ...
- 体验昇腾Ascend C 编程语言极简易用的算子开发
摘要:昇腾Ascend C编程语言,让基于昇腾AI的算法创新更加简单. 本文分享自华为云社区<CANN黑科技解密|昇腾Ascend C编程语言 - 极简易用的算子开发体验>,作者:昇腾CA ...
- 6 种方式读取 Springboot 的配置,老鸟都这么玩(原理+实战)
大家好,我是小富- 从配置文件中获取属性应该是SpringBoot开发中最为常用的功能之一,但就是这么常用的功能,仍然有很多开发者在这个方面踩坑. 我整理了几种获取配置属性的方式,目的不仅是要让大家学 ...
- Nmap使用教程(初级篇)
基本扫描技术 扫描单个网络 nmap 192.168.1.1/www.baidu.com 扫描多个网络/目标 nmap 192.168.1.1 192.168.1.2 #将扫描同个网段内不同的ip地址 ...
- 解决redis从服务器未配置主服务器密码导致数据未同步&磁盘饱满问题
问题前置场景 本人前几天买了一台2核4G+40G磁盘空间的云服务器用来学习使用,在服务器上安装了docker.为了学习redis主从架构,使用docker-compose部署了一主二从三台redis服 ...
- go web学习(五)
跟着刘旭老师学go web做的笔记 [Go Web 编程快速入门[Golang/Go语言](完结)] https://www.bilibili.com/video/BV1Xv411k7Xn/?p=27 ...