STAR: A Simple Training-free Approach for Recommendations using Large Language Models

news/2024/10/23 11:07:18

目录
  • 符号说明
  • STAR
    • Retrieval
    • Ranking
  • 最后的结果

Lee D., Kraft A., Jin L., Mehta N., Xu T., Hong L., Chi E. H. and Yi X. STAR: A simple training-free approach for recommendations using large language models. 2024.

本文提出了一种融合语义/协同/时序信息的方法, 使得 LLM 无需微调即可轻松超越传统方法.

符号说明

  • \(u \in U\), user;
  • \(s_i \in I\), item;
  • \(S_u = \{s_1, s_2, \ldots, s_n\}\), 为用户 \(u\) 的交互序列;

STAR

Retrieval

  • 首先, STAR 会通过某个方式为 LLM 检索出一些合适的候选 items.

  • 作者希望, 这个检索方式能够同时考虑到语义和协同信息:

    1. 语义信息: 作者将 item 的一些文本信息 (title, description, category, brand, sales ranking, price) 通过编码模型 (本文采用 text-embedding-004) 进行编码, 然后计算两两的 cosine 相似度 \(R_S \in \mathbb{R}^{|I| \times |I|}\).
    2. 协同信息:\(C \in \mathbb{R}^{|I| \times |U|}\), \(C_{iu}\) 表示 item \(i\) 出现在对应 user \(u\) 的交互序列中的次数. 然后, 此时 item-item 的协同相似度为, 各自的稀疏行向量的 cosine 相似度. 记为 \(R_C \in \mathbb{R}^{|I| \times |I|}\).
  • 于是, 对于用户 \(u\) (其交互序列为 \(S_u = \{s_1, s_2, \ldots, s_n\}\)), 其对 item \(x \in I\) 的打分定义为:

    \[\text{score}(x) = \frac{1}{n} \sum_{j=1}^n r_j \cdot \lambda^{n - j + 1} \cdot [a \cdot R_S[x, j] + (1 - \alpha) \cdot R_C [x, j]]. \]

    其中 \(r_j\) 是 user 给 item \(s_j\) 的打分, \(\lambda \in (0, 1]\) (比如 0.7) 用于建模越近的 item 越重要这一特性, \(\alpha \in (0, 1)\) 用于平衡语义信息和协同信息. 这些都是超参数.

Ranking

  • 假设, 我们通过上面的策略检索出 top-K 个候选 items, 我们希望对这些候选 items 排个序.

  • Point-wise: 这个方法很简单, 把每个 item 的结果通过上述方式传给大模型, 然后用大模型得到一个分数, 倘若有两个 item 分数一样, 则采用之前的检索的方式的排序.

  • Pair-wise:

    • 假设候选 items 按照检索排名为 (从高到低):

      \[i_1, i_2, \ldots, i_{K-2}, i_{K-1}, i_K. \]

    • 然后首先让 LLM 判断 \(i_{K-1}, i_K\) 的次序, 倘若 \(i_{K} > i_{K-1}\) 则交换二则的次序得到:

      \[\tilde{i}_1 = i_1, \tilde{i}_2 = i_2, \ldots, \tilde{i}_{K-2} = i_{K-2}, \tilde{i}_{K-1} = i_K, \tilde{i}_{K} = i_{K-1}, \]

      否则保持原样.
    • 然后再排序 \(\tilde{i}_{K-2}, \tilde{i}_{K-2}\), 重复上述操作.
  • List-wise:

    • 这是上述 pair-wise 的一个推广, 设定一个滑动窗口 \(w\) 和滑动步长 \(d\), 每一次对一个窗口内的 items 进行排序, 然后不断滑动.

最后的结果

  • 其实可以发现, 最最重要的, 其实是检索的效率很高啊.

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

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

相关文章

最近做题小结

https://www.luogu.com.cn/problem/AT_abc373_e这道题是个二分 然后标答是两个二分 我用的树组+二分 需要对代数式进行拆分才能得到 我一开始看错题目了 看成大于等于他的票的人不多于M就行 然后就很简单 我觉得可以改编下这个题 很明显 最终前m个人一定当选 那么对于每一个人 …

前端ai工具v0使用配置

资料 ai工具Vo Installation - Tailwind CSS 以vue3 + sass为例,配置如下 安装tailwindcss npm install -D tailwindcss npx tailwindcss init安装依赖(可选) npm install lucide-vue-next更新 tailwind.config.js /** @type {import(tailwindcss).Config} */ module.export…

ERP开源项目Odoo

Odoo Odoo 的全称是 On Demand Open Object。名称反映了 Odoo 的起源和核心理念: •On Demand:代表 Odoo 作为一个按需使用的系统,可以根据企业的需要定制和部署各种模块。 •Open Object:强调 Odoo 是一个开源项目,允许用户访问和修改其源代码,以便根据具体业务需求进行…

2024.10.23 鲜花

基础数据结构进阶恋ひ恋ふ縁 诚、意地の悪い神の所业か? 奇迹?縁?袂触合う不思议 花ひとひら揺れて 不意に宿ってた うなじ解いてく春风 戯れはそこそこに 恋手ほどきしてくだしゃんせ 汤気にほんのり頬染て 夜风に愿ふ …いざ!!蝶と舞ひ花となりて 衣を乱して祓いましょう…

CMDB平台(进阶篇):企业级CMDB的高阶教程

企业IT架构日益复杂,配置项数量庞大且关系错综复杂。为了有效管理这些配置项,确保IT服务的稳定性和可靠性,配置管理数据库(Configuration Management Database,简称CMDB)系统应运而生。本文将深入探讨企业搭建CMDB系统所需具备的要素,以及实践路径,旨在为企业提供有益的…

U 盘

目录1 USB 大容量存储设备2 设备描述符3 字符串描述符4 配置描述符集合4.1 配置描述符4.2 接口描述符4.3 端点描述符6 类特殊请求6.1 Get Max LUN 请求6.2 Bulk-Only Mass Storage Reset 请求7 Bulk-Only 传输协议的数据流模型7.1 CBW 的结构7.2 CSW 的结构7.3 对批量数据的处理…

manim边做边学--复数平面

所谓复数平面,就是一种二维坐标系统,用于几何表示复数的场景,其中横轴代表实部,纵轴代表虚部。 每个点对应一个唯一的复数,反之亦然,这种表示方法使得复数的加法、乘法等运算可以通过直观的图形变换来理解。 ComplexPlane是Manim库中用于处理复数平面的类。 它不仅提供了…