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

本文主要是介绍利用大型语言模型提升个性化推荐的异构知识融合方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

这篇关于利用大型语言模型提升个性化推荐的异构知识融合方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/950629

相关文章

Go语言实现将中文转化为拼音功能

《Go语言实现将中文转化为拼音功能》这篇文章主要为大家详细介绍了Go语言中如何实现将中文转化为拼音功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 有这么一个需求:新用户入职 创建一系列账号比较麻烦,打算通过接口传入姓名进行初始化。想把姓名转化成拼音。因为有些账号即需要中文也需要英

Python中使用defaultdict和Counter的方法

《Python中使用defaultdict和Counter的方法》本文深入探讨了Python中的两个强大工具——defaultdict和Counter,并详细介绍了它们的工作原理、应用场景以及在实际编... 目录引言defaultdict的深入应用什么是defaultdictdefaultdict的工作原理

使用Python进行文件读写操作的基本方法

《使用Python进行文件读写操作的基本方法》今天的内容来介绍Python中进行文件读写操作的方法,这在学习Python时是必不可少的技术点,希望可以帮助到正在学习python的小伙伴,以下是Pyth... 目录一、文件读取:二、文件写入:三、文件追加:四、文件读写的二进制模式:五、使用 json 模块读写

Oracle数据库使用 listagg去重删除重复数据的方法汇总

《Oracle数据库使用listagg去重删除重复数据的方法汇总》文章介绍了在Oracle数据库中使用LISTAGG和XMLAGG函数进行字符串聚合并去重的方法,包括去重聚合、使用XML解析和CLO... 目录案例表第一种:使用wm_concat() + distinct去重聚合第二种:使用listagg,

Go语言使用Buffer实现高性能处理字节和字符

《Go语言使用Buffer实现高性能处理字节和字符》在Go中,bytes.Buffer是一个非常高效的类型,用于处理字节数据的读写操作,本文将详细介绍一下如何使用Buffer实现高性能处理字节和... 目录1. bytes.Buffer 的基本用法1.1. 创建和初始化 Buffer1.2. 使用 Writ

深入理解C语言的void*

《深入理解C语言的void*》本文主要介绍了C语言的void*,包括它的任意性、编译器对void*的类型检查以及需要显式类型转换的规则,具有一定的参考价值,感兴趣的可以了解一下... 目录一、void* 的类型任意性二、编译器对 void* 的类型检查三、需要显式类型转换占用的字节四、总结一、void* 的

Java后端接口中提取请求头中的Cookie和Token的方法

《Java后端接口中提取请求头中的Cookie和Token的方法》在现代Web开发中,HTTP请求头(Header)是客户端与服务器之间传递信息的重要方式之一,本文将详细介绍如何在Java后端(以Sp... 目录引言1. 背景1.1 什么是 HTTP 请求头?1.2 为什么需要提取请求头?2. 使用 Spr

Java如何通过反射机制获取数据类对象的属性及方法

《Java如何通过反射机制获取数据类对象的属性及方法》文章介绍了如何使用Java反射机制获取类对象的所有属性及其对应的get、set方法,以及如何通过反射机制实现类对象的实例化,感兴趣的朋友跟随小编一... 目录一、通过反射机制获取类对象的所有属性以及相应的get、set方法1.遍历类对象的所有属性2.获取

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

Ubuntu系统怎么安装Warp? 新一代AI 终端神器安装使用方法

《Ubuntu系统怎么安装Warp?新一代AI终端神器安装使用方法》Warp是一款使用Rust开发的现代化AI终端工具,该怎么再Ubuntu系统中安装使用呢?下面我们就来看看详细教程... Warp Terminal 是一款使用 Rust 开发的现代化「AI 终端」工具。最初它只支持 MACOS,但在 20