【推荐系统】推荐系统(RS)与大模型(LLM)的结合

news2024/11/17 23:42:42

【推荐系统】推荐系统(RS)与大模型(LLM)的结合

文章目录

  • 【推荐系统】推荐系统(RS)与大模型(LLM)的结合
    • 1. 主流的推荐方法
    • 2. 大模型(LLM)可能作用的地方

在这里插入图片描述

1. 主流的推荐方法

目前使用推荐最多的方法:协同过滤、内容过滤 和 上下文过滤。

  • 协同过滤算法:根据许多用户的偏好信息(这是协作部分)推荐物品(这是过滤部分)。
    • 此方法使用用户偏好行为的相似性,并鉴于用户与物品之间的之前交互,推荐算法便可以学会预测未来交互。
    • 协同过滤推荐(Collaborative Filtering Recommendation)技术是推荐系统中应用最早和最为成功的技术之一。它一般采用最近邻技术,利用用户的历史喜好信息计算用户之间的距离,然后利用目标用户的最近邻居用户对商品评价的加权评价值来预测目标用户对特定商品的喜好程度,系统从而根据这一喜好程度来对目标用户进行推荐。
    • 优点:
      • 能够有效的使用其他相似用户的反馈信息,较少用户的反馈量,加快个性化学习的速度
      • 能够过滤难以进行机器自动内容分析的信息,如艺术品,音乐等
      • 推荐新信息的能力
    • 缺点:
      • 数据稀疏性问题
      • 可扩展性问题、冷启动

——————

  • 内容过滤算法 则使用物品的属性或特征(这是内容部分)来推荐类似于用户偏好的其他物品。
    • 此方法基于物品和用户特征的相似性,并鉴于用户及其与之交互过的物品的信息(例如,用户的年龄、餐厅的菜系、电影的平均评价),来模拟新互动的可能性。
    • 基于内容的推荐系统中,是通过相关内容的特征属性来定义,系统基于用户评价对象的特征,学习用户的兴趣,考察用户资料与待预测项目的相匹配程度。而用户的资料模型取决于所用学习方法,常用的有决策树、神经网络和基于向量的表示方法等。基于内容的用户资料是需要有用户的历史数据,用户资料模型可能随着用户的偏好改变而发生变化。
    • 优点:
      • 没有冷启动、新项目和数据稀疏问题
      • 能为具有特殊兴趣爱好的用户进行推荐
    • 缺点:
      • 所推荐的内容必须能抽象出有意义的特征,并且具有良好的结构性

——————

  • 上下文过滤算法 包括推荐过程中用户的背景信息。
    • 此方法使用一系列上下文用户操作和当前上下文来预测下一个操作的概率。
    • 上述两种方法可以将最符合用户兴趣 的物品推荐给用户,但这些算法都忽略了一点,就是用户所处的上下文(context)。这些上下文 包括用户访问推荐系统的时间、地点、心情等,对于提高推荐系统的推荐系统是非常重要的。
    • 比如,一个卖衣服的推荐系统在冬天和夏天应该给用户推荐不同种类的服装。推荐系统不能因为用户在夏天喜欢过某件T恤,就在冬天也给该用户推荐类似的T恤。
    • 因此,准确了解用户的上下 文信息,并将该信息应用于推荐算法是设计好的推荐系统的关键步骤。

——————————————————————
当然还有其他一些其他的方法:

  • 基于关联规则的推荐 以关联规则为基础,如把已购商品作为规则头,规则体为推荐对象。

    • 关联规则挖掘可以发现不同商品在销售过程中的相关性(最典型的:啤酒和尿布),在零售业中已经得到了成功的应用。管理规则就是在一个交易数据库中统计购买了商品集X的交易中有多大比例的交易同时购买了商品集Y,其直观的意义就是用户在购买某些商品的时候有多大倾向去购买另外一些商品。
  • 基于效用的推荐 是建立在对用户使用项目的效用情况上计算的,其核心问题是怎么样为每一个用户去创建一个效用函数,因此,用户资料模型很大程度上是由系统所采用的效用函数决定的。

    • 基于效用推荐的好处是它能把非产品的属性,如提供商的可靠性(VendorReliability)和产品的可得性(Product Availability)等考虑到效用计算中。
  • 基于知识的推荐 在某种程度是可以看成是一种推理(Inference)技术,它不是建立在用户需要和偏好基础上推荐的。

    • 基于知识的方法因它们所用的功能知识不同而有明显区别。效用知识(FunctionalKnowledge)是一种关于一个项目如何满足某一特定用户的知识,因此能解释需要和推荐的关系,所以用户资料可以是任何能支持推理的知识结构,它可以是用户已经规范化的查询,也可以是一个更详细的用户需要的表示。

2. 大模型(LLM)可能作用的地方

现有大模型可以进行 训练 或者 微调 方法来服务于特定的领域,比如 RS。由于大模型的性质,现有的方法大致都作用在偏文本的信息上,也就是作用在基于内容、上下文的推荐,可以分为两类:

  • 1)利用大模型的架构(不一定是模型,几层encoder可能就行)去对用户、物品侧信息或者上下文信息(文本)进行处理得到 表示,进而用来训练。
    • 首先使用 word2vec 或者 skip 等方法处理文本信息得到向量。(传统的方法怎么做的:就是提取有用的特征(性别、年龄等),然后扔到双塔或者单塔的模型中,然而这样的模型无法去识别这些特征的含义。),引入语言模型就可以轻松解决这个问题
    • 然后将获取向量,扔到语言模型中去训练呗,得到表示,再扔到双塔或者单塔,进行用户物品交互建模。
  • 2)微调大模型以适应RS
    • 一种我看到的方法:构建一个提示任务,利用 lora 微调技术,构建损失,优化 lora 模块

      • 提示:给出用户的喜欢物品和不喜欢的物品,使大模型来预测以下用户是否喜欢下列物品。
      • 输入:用户喜欢的:。。。。用户不喜欢的:。。。。用户是否会喜欢 X?
      • 输出:yes/no

      这种方法,可行性有待商榷,如果在线上任务中,到时候每一个候选物品都问一遍?感觉有些大材小用。

    • 当然还有一些其他的类似的方法。

上述两种方法,都没有作用在协同过滤上,是因为传统的协同过滤是不需要文本信息的。因为你要使用大模型处理你的任务,你就必须要你的任务以文本的方式输送给大模型,并构建损失,优化目标。

  • 显然,传统的协同过滤,一般不具有自然的很有意义的文本。

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

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

相关文章

Spring源码解析——ApplicationContext容器refresh过程

正文 在之前的博文中我们一直以BeanFactory接口以及它的默认实现类XmlBeanFactory为例进行分析,但是Spring中还提供了另一个接口ApplicationContext,用于扩展BeanFactory中现有的功能。 ApplicationContext和BeanFactory两者都是用于加载Bean的&#x…

graphviz 绘制单链表

dot 代码 digraph LinkedList {rankdirLR; // 设置布局方向为从左到右(左侧到右侧)node [fontname"Arial", shaperecord, stylefilled, color"#ffffff", fillcolor"#0077be", fontsize12, width1.5, height0.5];edge [fo…

汉诺塔问题:递归

经典汉诺塔问题 汉诺塔问题是经典的可以用递归解决的问题。 汉诺塔(Hanoi)游戏规则如下:在一块铜板装置上,有三根杆(编号A、B、C),在A杆自下而上、由大到小按顺序放置64个金盘(如下图)。游戏的目标:把A杆上的金盘全部移到C杆上&a…

系统架构师备考倒计时25天(每日知识点)

面向对象设计原则 单一职责原则:设计目的单一的类开放-封闭原则:对扩展开放,对修改封闭李氏(Liskov)替换原则:子类可以替换父类依赖倒置原则:要依赖于抽象,而不是具体实现;针对接口编程&#x…

【Redis】Redis持久化深度解析

原创不易,注重版权。转载请注明原作者和原文链接 文章目录 Redis持久化介绍RDB原理Fork函数与写时复制关于写时复制的思考 RDB相关配置 AOF原理AOF持久化配置AOF文件解读AOF文件修复AOF重写AOF缓冲区与AOF重写缓存区AOF缓冲区可以替代AOF重写缓冲区吗AOF相关配置写后…

机器学习之自训练协同训练

前言 监督学习往往需要大量的标注数据, 而标注数据的成本比较高 . 因此 , 利用大量的无标注数据来提高监督学习的效果有着十分重要的意义. 这种利用少量标注数据和大量无标注数据进行学习的方式称为 半监督学习 ( Semi…

Java 序列化和反序列化为什么要实现 Serializable 接口?

序列化和反序列化 序列化:把对象转换为字节序列的过程称为对象的序列化. 反序列化:把字节序列恢复为对象的过程称为对象的反序列化. 什么时候需要用到序列化和反序列化呢或者对象序列化的两种用途… : (1) 对象持久化:把对象的…

NSSCTF做题(8)

[SWPUCTF 2022 新生赛]js_sign 看到了js代码 有一个base64编码,解密 最后发现这是一个加密方式 去掉空格之后得到了flag NSSCTF{youfindflagbytapcode} [MoeCTF 2022]baby_file 提示说有一个秘密看看你能不能找到 输入?filesecret 出现报错 输入php伪协议读取i…

Simulink仿真之离散系统

最近,为了完成课程作业,需要用到Simulink验证数字控制器的合理性。题目如下所示。 其实这道题在胡寿松老师的《自动控制原理(第七版)》的364页有答案。 这里给出数字控制器的脉冲传递函数为 ​​​​​​​ ​​​​​​​…

【22】c++设计模式——>外观模式

外观模式定义 为复杂系统提供一个简化接口&#xff0c;它通过创建一个高层接口(外观)&#xff0c;将多个子系统的复杂操作封装起来&#xff0c;以便客户端更容易使用。 简单实现 #include<iostream>// 子系统类 class SubsystemA { public:void operationA() {std::co…

经典循环命题:百钱百鸡

翁五钱一只&#xff0c;母三钱&#xff0c;小鸡三只一钱&#xff1b;百钱百鸡百鸡花百钱。 (本笔记适合能熟练应用for循环、会使if条件分支语句、能格式化字符输出的 coder 翻阅) 【学习的细节是欢悦的历程】 Python 官网&#xff1a;https://www.python.org/ Free&#xff1a…

自定义表单工具好用的优点是什么?

如果想提升办公效率&#xff0c;那么就离不开低代码技术平台了。它的轻量级、易掌握、易操作、简洁简便等优势特点深得很多领域客户朋友的喜爱。目前&#xff0c;IBPS开发平台在通信业、制造业、医疗、高校等很多行业中得到了客户的肯定和喜爱&#xff0c;推广价值高&#xff0…

懒人福利:不用动脑就能制作电子画册

对于很多企业来说&#xff0c;想要快速把自己的活动大面积的宣传出去&#xff0c;就要快人一步提前制作电子版画册&#xff0c;通过网络推送出去&#xff0c;让大众及时了解。如何制作电子版画册呢&#xff1f; 我发现了一个懒人福利&#xff01;就是FLBOOK &#xff0c;它简单…

学习函数式编程、可变参数及 defer - GO语言从入门到实战

函数是⼀等公⺠、学习函数式编程、可变参数及 defer - GO语言从入门到实战 函数是⼀等公⺠ 在Go语言中&#xff0c;函数可以分配给一个变量&#xff0c;可以作为函数的参数&#xff0c;也可以作为函数的返回值。这样的行为就可以理解为函数属于一等公民。 与其他主要编程语⾔…

Nodejs内置模块process

文章目录 内置模块process写在前面1. arch()2. cwd()3. argv4. memoryUsage()5. exit()6. kill()7. env【最常用】 内置模块process 写在前面 process是Nodejs操作当前进程和控制当前进程的API&#xff0c;并且是挂载到globalThis下面的全局API。 下面是process的一些常用AP…

linux开发板中的数据存储和读取操作

问题&#xff1a;MQTT远程下发的参数存储在本地linux开发板&#xff0c;开发板依据该参数执行相应功能&#xff0c;当开发板重新上电时依然能继续执行该功能 解决方式&#xff1a; 在linux板中写一个标识并存储为文件&#xff0c;依据读取的文件标识执行相应的功能 1)打开文…

【2023】M1/M2 Mac 导入Flac音频到Pr的终极解决方案

介绍 原作者链接&#xff1a;https://github.com/fnordware/AdobeOgg 很早之前就发现了这个插件&#xff0c;超级好用&#xff0c;在windows上完全没有问题&#xff0c;可惜移植到mac就不行了&#xff08;然后我给作者发了一个Issue&#xff0c;后来就有大佬把m1的编译出来了&…

Ai绘画描述词 关键词大全 真人美女 二次元卡通美女 国漫动漫效果

超好看的二次元动漫美少年 都是用Ai工具直接绘画生成出来的。 还有真人绘画&#xff0c;效果也很逼真 还有更多的场景效果 寂静天空素材 做抖音 短视频 精美的图片素材都是通过Ai绘画的 但是绘画需要关键词去描述场景&#xff0c;Ai才能自动根据场景描述词生成出来图片。 如何…

【Java学习之道】接口与抽象类

引言 现在我们来聊聊接口和抽象类。在Java中&#xff0c;接口和抽象类是实现OOP的重要工具&#xff0c;它们允许我们定义规范和行为&#xff0c;让代码更具灵活性和可扩展性。这一节&#xff0c;我们就来详细探讨一下这两个神奇的功能。 一、接口 接口是一个完全抽象的类&am…

【LeetCode高频SQL50题-基础版】打卡第6天:第31~35题

文章目录 【LeetCode高频SQL50题-基础版】打卡第6天&#xff1a;第31~35题⛅前言员工的直属部门&#x1f512;题目&#x1f511;题解 判断三角形&#x1f512;题目&#x1f511;题解 连续出现的数字&#x1f512;题目&#x1f511;题解 指定日期的产品价格&#x1f512;题目&am…