Recommendation as Instruction Following: A Large Language Model Empowered Recommendation Approach

发布时间 2023-12-09 16:23:00作者: 馒头and花卷

Zhang J., Xie R., Hou Y., Zhao W. X., Lin L., Wen J. Recommendation as instruction following: a large language model empowered recommendation approach. 2023.

通过指令跟随来利用大模型进行推荐, 本文介绍了不同的指令的模板, 覆盖多种任务场景.

InstructRec

  • 首先作者对用户的偏好, 意图, 和推荐的任务类型进行了分类:

  • Preference:

    • None (\(P_0\)): 即我们对用户没有任何了解, 对应那些冷启动用户;
    • Implicit (\(P_1\)): 即我们有用户的一些历史交互记录;
    • Explicit (\(P_2\)): 显式的信息, 可以是用户对商品的打分.
  • Intention:

    • None (\(I_0\)): 即用户没有特别的意图;
    • Vague (\(I_1\)): 用户意图比较模糊, 通常指代一些模糊的需求, 比如"我要给我儿子买礼物";
    • Specific (\(I_2\)): 很直接的意图, 比如 "蓝色,便宜, iPhone13".
  • Task Form:

    • Pointwise recommendation (\(T_0\)): 即给一个候选的商品, 判断是不是适合用户;
    • Pairwise recommendation (\(T_1\)): 从一对商品中选择更合适的;
    • Matching (\(T_2\)): 要求给出一些合适的候选商品;
    • Reranking (\(T_3\)): 要求给一系列候选商品重排序.
  • 有了对偏好/意图/任务的区分后, 我们就会有多种模板, 本文主要考虑如下的几种:

Instruction Generation

  • 当然, 上面只是给出了一些模板, 倘若我们希望大模型能够具备指令跟随的能力, 还需要一些数据去训练, 也就是生成一些具体的指令用于微调.

  • 本文通过一个较强的大模型 (如 GPT-3.5) 去生成指令.

  • 实际上, 假设我们有用户的一些的历史交互信息, 也就是说我们有了用户了隐式的偏好, 我们可以让 GPT-3.5 借此给出用户的一个实际偏好, 于是就会有一条 \(\langle P_2, I_0, T_3 \rangle\) 的指令. 其它的指令可以类似地得到, 具体请看原文.

  • 最后的训练, InstructRec 是用在 Fan-T5-XL 的基础上进行的优化.