1. 研究动机与问题定义¶
现有基于 LLM 的可解释推荐(Explainable Recommendation, ER)方法存在两个关键局限:
-
忽视用户行为的序列动态性:大多数方法依赖静态输入(用户/物品 ID 或嵌入),无法捕捉用户偏好的时序演化。例如当用户从 "动作片" 转向 "科幻惊悚片" 时,现有解释往往反映物品属性而非这一偏好转变。
-
评估指标与实际效用脱节:BLEU、BERTScore 等文本相似度指标仅关注表面语言质量,无法衡量解释是否真正帮助用户做出更好的决策。使用 review 文本作为 ground truth 更多强调物品特征而非用户真实决策理由。
任务形式化¶
设用户集合 $\mathcal{U} = \{u_1, u_2, \ldots, u_N\}$,物品集合 $\mathcal{I} = \{i_1, i_2, \ldots, i_M\}$。每个用户 $u$ 关联一个时间有序的交互序列:
$$S_{(u)} = [i_1, i_2, \ldots, i_t] \tag{1}$$
任务一:为用户-物品对 $(u, i)$ 生成 post-hoc 自然语言解释 $E(u, i)$:
$$E(u,i) = f\Big(S_{(u)}, \{d_j : j \in S_{(u)}\}, d_i\Big) \tag{2}$$
任务二:定义解释增强推荐器来评估解释效用:
$$\hat{y}(u, i \mid E(u,i)) = g\Big(S_{(u)}, E(u,i)\Big) \tag{3}$$
其中 $g(\cdot)$ 产生一个结合解释条件的相关性得分。
2. SELLER 框架¶
SELLER(SEquence-aware LLM-based framework for Explainable Recommendation)包含两个主要组件:(1) Sequence-Aware Explanation Generator (SEG);(2) Explanation-Enhanced Recommender (EER)。
2.1 Sequence-Aware Explanation Generator (SEG)¶
2.1.1 双路径序列编码(Dual-Path Sequence Encoding)¶
对用户交互序列 $S_u = [i_1, i_2, \ldots, i_t]$,采用两条互补的编码路径:
行为序列编码:使用预训练 SASRec 编码器捕获隐式协同信号:
$$\mathbf{S}_u^{rec} = \phi_{rec}(S_u) \in \mathbb{R}^{d \times |S_u|} \tag{4}$$
语义序列编码:使用 Sentence-T5 编码物品描述文本,捕获显式语义信号:
$$\mathbf{S}_u^{sem} = \phi_{sem}([d_{i_1}, d_{i_2}, \ldots, d_{i_t}]) \in \mathbb{R}^{d \times |S_u|} \tag{5}$$
设计动机:行为模式可能遗漏物品间的语义关系,而纯语义分析可能忽略时序动态。
2.1.2 MoE-based Sequence Adaptation¶
为将异构序列表示对齐到 LLM 语义空间,引入并行 MoE 序列适配器。对每条路径 $p \in \{rec, sem\}$:
首先通过 Transformer encoder 进行时序融合:
$$\mathbf{H}^p = \text{TransformerEncoder}(\text{LayerNorm}(\mathbf{S}_u^p)) \tag{6}$$
然后通过 mean pooling 获得序列级表示,再经 MoE 适配:
$$\mathbf{h}^p = \text{MeanPool}(\mathbf{H}^p) \tag{7}$$
$$\mathbf{e}_{adapt}^p = \sum_{i=1}^{g} g_i(\mathbf{h}^p) \cdot \text{Expert}_i(\mathbf{h}^p) \tag{8}$$
其中 $g_i(\cdot)$ 为门控网络,每个 Expert 是两层前馈网络。最终得到 $\mathbf{e}_{adapt}^{rec}$(行为适配嵌入)和 $\mathbf{e}_{adapt}^{sem}$(语义适配嵌入)。
MoE 模块包含 8 个 Expert,dropout rate = 0.2。
2.1.3 Sequence-Aware LLM Fine-tuning¶
将适配后的序列表示注入 LLM 的输入和注意力计算:
输入构造:
$$\mathbf{X}^{LLM} = [\mathbf{x}_{sys}^{LLM}; \mathbf{e}_{adapt}^{rec}; \mathbf{e}_{adapt}^{sem}; \mathbf{x}_{cat}^{LLM}] \tag{9}$$
其中 $\mathbf{x}_{sys}^{LLM}$ 为系统提示嵌入,$\mathbf{x}_{cat}^{LLM}$ 为采样的类别文本嵌入。
注意力注入:将序列信息直接注入注意力计算:
$$\mathbf{Q}_l = \mathbf{Q}_l^{base} + \mathbf{e}_{adapt}^{rec} + \mathbf{e}_{adapt}^{sem}$$ $$\mathbf{K}_l = \mathbf{K}_l^{base} + \mathbf{e}_{adapt}^{rec} + \mathbf{e}_{adapt}^{sem} \tag{10}$$ $$\mathbf{V}_l = \mathbf{V}_l^{base} + \mathbf{e}_{adapt}^{rec} + \mathbf{e}_{adapt}^{sem}$$
注意力输出:
$$\text{Attention}_l = \text{Softmax}\left(\frac{\mathbf{Q}_l \mathbf{K}_l^\top}{\sqrt{d}}\right) \mathbf{V}_l \tag{11}$$
训练目标:语言建模损失,backbone LLM 参数冻结:
$$\mathcal{L}_{exp} = -\sum_t \log P(y_t | y_{\lt t}, \mathbf{e}_{adapt}^{rec}, \mathbf{e}_{adapt}^{sem}) \tag{12}$$
使用 LLaMA2-7B 作为 backbone LLM。
2.2 Explanation-Enhanced Recommender (EER)¶
EER 作为统一评估框架,通过衡量解释对下游推荐性能的影响来评估解释质量。
2.2.1 解释编码¶
使用 Sentence-T5 将生成的解释编码为稠密表示:
$$\mathbf{e}_{explain} = \phi_{sem}(E(u,i)) \tag{13}$$
2.2.2 Hypernetwork-Generated Adapter¶
采用超网络方法(而非简单拼接/相加)将解释嵌入注入 SASRec。对每个 Transformer 层 $l$,自适应参数为:
$$\mathbf{W}_l' = \mathbf{W}_l + f_l^{hyper}(\mathbf{e}_{explain}) \tag{14}$$
其中 $f_l^{hyper}$ 是层特定的 MLP,生成参数 reshape 后加到 SASRec Transformer 层的对应参数上。
2.2.3 训练损失¶
修改的 BPR 损失,结合序列信息和解释条件:
$$\mathcal{L}_{rec} = -\sum \log \sigma\Big(\hat{y}(u, i_N | S_u, \mathbf{e}_{explain}^{GT}) - \hat{y}(u, i^- | S_u, \mathbf{e}_{explain}^{GT})\Big) \tag{15}$$
2.3 训练与评估协议¶
SEG 和 EER 独立训练以确保公平评估:
- 训练阶段:SEG 使用完整序列 $S_u = [i_1, \ldots, i_N]$(含目标物品)学习 post-hoc 解释生成;EER 使用历史序列 $S_u = [i_1, \ldots, i_{N-1}]$ 和 ground truth 解释嵌入学习 next-item prediction。
- 评估阶段:SEG 对测试对 $(u, i_N)$ 使用完整序列生成解释;EER 仅用历史序列 $[i_1, \ldots, i_{N-1}]$ 加生成的解释嵌入预测 $i_N$。
2.4 Ground Truth 解释构建¶
使用 Claude 3.5 Sonnet 生成两种类型的训练解释:
- Category-level explanations:粗粒度,直接关联物品元数据(如"该物品属于餐厅类别")
- Intent-level explanations:细粒度,捕捉用户潜在意图(如"寻找家庭友好的附近餐饮选择")
包含 explicit queries(直接提及类别)和 implicit queries(不直接提及类别的需求描述)。
3. 实验设置¶
数据集¶
| Dataset | #Users | #Items | #Interactions | #Categories |
|---|---|---|---|---|
| Yelp | 25,633 | 89,994 | 396,805 | 1253 |
| Kuairec | 6,584 | 8,180 | 342,700 | 446 |
两个数据集均应用 10-core 过滤。按时间顺序划分为 train/val/test = 8:1:1。最大序列长度设为 50。
评估指标¶
- 解释生成质量:BLEU(词汇重叠)、BERTScore(语义相似度)
- 解释效用评估:通过 EER 框架评估,报告 Recall@K 和 NDCG@K(K=5,10)
Baselines¶
- PETER (Li et al., 2021):基于 ID 的 post-hoc 解释生成
- PEPLER (Li et al., 2023):将学习到的 user/item embedding 注入 LLM
- XRec (Ma et al., 2024):结合协同过滤信号和显式特征的 LLM 方法
- Random:随机采样训练集解释
- Empty:空字符串解释(隔离适配器机制的效果)
实现细节¶
- SASRec:64 维嵌入,2 层 Transformer
- Sentence-T5:768 维输出
- MoE 适配模块:2 层 Transformer encoder,64 维嵌入,4 attention heads,8 experts
- LLM:LLaMA2-7B
- SEG 训练:5 epochs,batch size=8,lr=1e-4,weight decay=1e-6
- EER 训练:50 epochs,batch size=256,lr=5e-4,weight decay=1e-5
4. 实验结果¶
4.1 解释效用评估(Table 2)¶
通过 EER 框架评估各方法生成解释的推荐增强效果:
| Method | Yelp Recall@5 | Yelp Recall@10 | Yelp NDCG@5 | Yelp NDCG@10 | Kuairec Recall@5 | Kuairec Recall@10 | Kuairec NDCG@5 | Kuairec NDCG@10 |
|---|---|---|---|---|---|---|---|---|
| Random | 0.0088 | 0.0156 | 0.0053 | 0.0075 | 0.1260 | 0.1960 | 0.0789 | 0.1015 |
| Empty | 0.0072 | 0.0136 | 0.0046 | 0.0067 | 0.1272 | 0.1956 | 0.0795 | 0.1016 |
| PETER | 0.0116 | 0.0144 | 0.0067 | 0.0076 | 0.1168 | 0.1832 | 0.0719 | 0.0935 |
| PEPLER | 0.0100 | 0.0172 | 0.0062 | 0.0085 | 0.1252 | 0.1936 | 0.0814 | 0.1036 |
| XRec | 0.0116 | 0.0192 | 0.0067 | 0.0091 | 0.1280 | 0.1972 | 0.0817 | 0.1042 |
| SELLER | 0.0144 | 0.0228 | 0.0089 | 0.0116 | 0.1344 | 0.2132 | 0.0854 | 0.1110 |
| Improve | 24.14% | 18.75% | 33.40% | 27.52% | 5.00% | 8.11% | 4.54% | 6.57% |
结论:
- SELLER 在两个数据集上均取得最优解释效用。相比次优 XRec,Yelp 上 Recall@10 提升 18.75%,NDCG@10 提升 27.52%;Kuairec 上 Recall@10 提升 8.11%,NDCG@10 提升 6.57%。
- Yelp 上所有 ER 方法均优于 Random 和 Empty baseline,验证了个性化解释的效用。但 Kuairec 上 PEPLER 和 PETER 表现不如 Random/Empty,说明密集交互序列对解释生成模型要求更高。
4.2 解释生成质量(Table 3)¶
传统文本相似度指标评估:
| Method | Yelp BLEU | Yelp BERTScore | Kuairec BLEU | Kuairec BERTScore |
|---|---|---|---|---|
| PETER | 0.1242 | 0.6088 | 0.1121 | 0.5184 |
| PEPLER | 0.2632 | 0.7063 | 0.1123 | 0.5770 |
| XRec | 0.3243 | 0.7328 | 0.1536 | 0.6265 |
| SELLER | 0.3815 | 0.7524 | 0.2072 | 0.7011 |
| Improve | 17.64% | 2.67% | 34.90% | 11.91% |
结论:
- SELLER 在两个数据集上文本质量均最优。Kuairec 上提升更显著(BLEU +34.90%),验证了 SELLER 在密集交互序列上捕捉序列信息的优越性。
- 有趣的是,Kuairec 上文本相似度提升更大,但推荐性能提升在 Yelp 上更显著,表明文本相似度高不一定等于更好地反映用户真实决策过程。这进一步强调了 SELLER 所采用的综合评估方法的重要性。
4.3 消融实验¶
移除各序列感知组件的影响(Figure 2):
- w/o BE:去除 MoE 适配的行为嵌入 $\mathbf{e}_{adapt}^{rec}$
- w/o SE:去除 MoE 适配的语义嵌入 $\mathbf{e}_{adapt}^{sem}$
- w/o CT:去除类别文本 $\mathbf{x}_{cat}^{LLM}$
- w/o DE:同时去除行为和语义嵌入
结论:
- w/o DE 性能下降最显著,验证了同时捕捉隐式行为模式和显式语义特征的必要性。
- Yelp 上 w/o SE 比 w/o BE 下降更多,表明 Yelp 领域详细 review 提供的语义特征对解释生成贡献更大。
- Kuairec 上 w/o BE 和 w/o SE 影响相当,表明短视频场景中行为和语义序列贡献相近。
4.4 解释类型的影响(Table 4)¶
| Method | Yelp Recall@10 | Yelp NDCG@10 | Kuairec Recall@10 | Kuairec NDCG@10 |
|---|---|---|---|---|
| Random Category | 0.0156 | 0.0075 | 0.1760 | 0.1015 |
| Category-level | 0.0188 | 0.0096 | 0.1748 | 0.0920 |
| Intent-level | 0.0192 | 0.0093 | 0.1892 | 0.0984 |
| Both (SELLER) | 0.0228 | 0.0116 | 0.2132 | 0.1110 |
结论:
- 所有解释变体均优于随机文本 baseline,验证了超网络适配器利用解释信号的有效性。
- Intent-level 解释优于 Category-level,说明细粒度语义信息提供更强的推荐指导。
- 两者结合效果最优,表明超网络机制能有效整合互补的语义信号。
4.5 效率分析(Table 5)¶
| Method | Training Time | Inference Time |
|---|---|---|
| XRec | 1x | 1x |
| SELLER | 0.735x | 0.448x |
| LLaMA2-7B | -- | 0.328x |
SELLER 训练和推理成本均低于 XRec,因为不需要额外的用户/物品 profile 文本,输入更短。
5. 关键设计亮点¶
-
双路径编码的互补性:行为路径(SASRec)捕捉协同信号和时序模式,语义路径(Sentence-T5)捕捉物品描述的显式语义,两者通过 MoE 适配器动态融合后注入 LLM。
-
序列信息的深度注入:不仅作为输入 token 注入,还直接加到每层注意力的 Q/K/V 上(公式 10),使序列信息影响 LLM 的每一层推理。
-
基于效用的评估范式:EER 框架通过超网络将解释嵌入注入推荐模型,用推荐性能提升来衡量解释质量,避免了文本相似度指标的局限。
-
训练-评估分离:SEG 和 EER 独立训练,评估时 SEG 看完整序列(post-hoc),EER 只看历史序列,避免信息泄露。
6. 局限性¶
- Ground truth 依赖 LLM 生成:使用 Claude 3.5 Sonnet 生成的解释可能无法完全捕捉用户真实的序列意图,存在 item-side inference 偏差。
- 仅离线评估:缺少在线用户研究来验证解释对用户满意度和信任度的实际影响。
- 模态和领域局限:仅整合文本和序列行为信号,未探索多模态解释;仅在商业和视频推荐上验证,跨领域泛化性待确认。