Bridging Language and Items for Retrieval and Recommendation

Hou Y., Li J., He Z., Yan A., Chen X., and McAuley J. Bridging language and items for retrieval and recommendation. 2024.

本文提出了一种利用对比损失训练的预训练模型, 能够把握数据集中的交互信息.

BLaIR

  • BLaIR 的思想很简单如上图所示, 输入为用户的评论, 然后以交互过的商品的 metadata 作为正样本, 没交互过的商品的 meatdata 为负样本, 构成对比损失:

    \[\mathcal{L}_{CL} = -\sum_{i}^B \log \frac{ \exp(\bm{c}_i \cdot \bm{m}_i / \tau) }{ \sum_{j}^B \exp(\bm{c}_j \cdot \bm{m}_j / \tau) }, \]

    其中 \(\bm{c}_i, \bm{m}_i\) 分别是 context 和 item metadata 经过编码后得到的特征, 注意到, 这里负样本直接是采用 in-batch 的负样本.

  • 然后结合一般的训练损失, 综合的损失为

    \[\mathcal{L} = \mathcal{L}_{CL} + \lambda \mathcal{L}_{PT}. \]

    注意, \(\mathcal{L}_{PT}\) 即预训练损失区别 BLaIR 选择哪个 backbone, 比如是 BERT 类的就是 MLM 损失, GPT 类的就是自回归损失.

  • 实验部分, 作者拿了 Beauty, Games, Baby 三个子数据集进行实验, 得到的结果如下:

  • 可以发现, UniSRec 以 BLaIR 为 encoder 可以取得最好的效果 (而且有一定的 scaling law 现象存在).

注: 本文的数据处理并没有进行 k-core filtering, 而且切分是按照全局的 8:1:1 切分的, 不是常见的 leave-one-out.

代码

[official]

posted @ 2024-05-23 16:47  馒头and花卷  阅读(37)  评论(0编辑  收藏  举报