其中,d 表示 LLM 的隐藏层特征维度。3.1.2 双重动态语义索引生成基于 LLM 主干网络文本编码器提取的语义表示,双重动态索引生成器将其中的语义信息压缩为离散索引。由于双重动态索引的离散性,下游的 LLM 主干推荐器能够直接生成推荐结果的索引,从而充分激发 LLM 主干的自然语言生成能力。 通常,每个用户/物品都与一个唯一标识符(如 <user_9974>、<item_161>)相关联。一种朴素的策略是将所有唯一标识符直接添加到 LLM 词表中,但这种方法会导致词表大小随用户和物品数量线性增长。 借鉴序列量化(sequential quantization)技术,我们在设计双重动态索引生成器式采用了分层架构,通过 M 个索引标记(每个标记有 N 种可能取值)的组合来表示每个用户、物品。 例如,如图 2 中双重动态索引生成阶段所示,物品 <item_5175> 可表示为 =<a2,b4,c5,d7>,其中 M=4,N=8。在该分层索引机制下,表达空间随索引长度 M 指数级增长。 一个长度为 M 基数为 N 的分层索引理论上可以表示 个不同的对象,而新引入的索引标记总数仅为 N×M。以物品 为例,量化过程将以残差方式执行 M 次,其数学表达如下:最终,物品 的语义索引可表示为: .
3.1.3 生成式序列推荐
为了让 LLM 主干网络理解序列推荐任务,我们通过自然语言指令将双重动态索引与用户交互序列进行聚合。具体而言,交互序列中的原始用户索引 和物品索引 被替换为相应的双重动态索引。由此,交互记录被重组为一个由自然语言 Token 和双重动态索引 Token 组成的异构序列。在我们的实现中,一条异构自然语言指令的示例如下: “You are an expert in sequential recommendation. Based on the historical interaction sequence: , could you please predict the most suitable item for user ?” 记异构自然语言指令为 ,LLM 主干网络首先将自然语言指令 转换为隐藏表示 。然后,在 LLM 主干网络的基础上附加一个扩展的语言模型头,用于将隐藏状态 投影到索引标记词表,表示如下,其中, 是推荐结果的索引表示。若有需要,可以通过逆查找操作(inverse look-up)将索引转换回原始物品 ID。基于异构指令提示的序列推荐任务可以自然地转化为语言生成任务,其优化目标定义为负对数似然(Negative Log-Likelihood, NLL),具体如下:
我们设计了高阶用户-物品交互模式的挖掘方法,使得 LLM 能够捕捉这些隐式模式。具体而言,我们首先根据历史行为构建相关的用户集合数据。对于每个物品 ,与之有过历史交互的用户被记录为一个关联集合 ,其中 表示用户 的交互序列。 作为序列推荐任务的对称任务,我们设计了用户预测任务,旨在挖掘用户共同购买模式。LLM 主干网络推荐系统通过提示多个历史上与特定物品有过交互的用户,然后指示其生成另一个喜欢相同物品的用户的索引。下面是异构指令的示例: “You are a professional recommendation system. The item is historically purchased by the following users: . Could you please predict another user who may be interested in this item?”