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

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 无需微调即可轻松超越传统方法.

符号说明

  • uU, user;
  • siI, item;
  • Su={s1,s2,,sn}, 为用户 u 的交互序列;

STAR

Retrieval

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

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

    1. 语义信息: 作者将 item 的一些文本信息 (title, description, category, brand, sales ranking, price) 通过编码模型 (本文采用 text-embedding-004) 进行编码, 然后计算两两的 cosine 相似度 RSR|I|×|I|.
    2. 协同信息:CR|I|×|U|, Ciu 表示 item i 出现在对应 user u 的交互序列中的次数. 然后, 此时 item-item 的协同相似度为, 各自的稀疏行向量的 cosine 相似度. 记为 RCR|I|×|I|.
  • 于是, 对于用户 u (其交互序列为 Su={s1,s2,,sn}), 其对 item xI 的打分定义为:

    score(x)=1nj=1nrjλnj+1[aRS[x,j]+(1α)RC[x,j]].

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

Ranking

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

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

  • Pair-wise:

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

      i1,i2,,iK2,iK1,iK.

    • 然后首先让 LLM 判断 iK1,iK 的次序, 倘若 iK>iK1 则交换二则的次序得到:

      i~1=i1,i~2=i2,,i~K2=iK2,i~K1=iK,i~K=iK1,

      否则保持原样.
    • 然后再排序 i~K2,i~K2, 重复上述操作.
  • List-wise:

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

最后的结果

  • 其实可以发现, 最最重要的, 其实是检索的效率很高啊.
posted @   馒头and花卷  阅读(108)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
历史上的今天:
2022-10-23 MixGCF: An Improved Training Method for Graph Neural Network-based Recommender Systems
2021-10-23 Understanding and Improving Fast Adversarial Training
2020-10-23 Git
点击右上角即可分享
微信分享提示