多兴趣召回(Multi-Interest Recall)原理介绍

        多兴趣召回(Multi-Interest Recall)是一种处理用户多样化兴趣的推荐技术,广泛应用于复杂推荐场景(如电商、社交平台等)。相比传统方法仅提取单一兴趣特征,多兴趣召回能更细粒度地刻画用户兴趣,提升召回的丰富性与匹配度。

        以下从底层原理和每一步背后的逻辑出发,完整详细地解释多兴趣召回的核心机制。


一、推荐系统背景

  1. 推荐系统的目标

    • 根据用户历史行为或上下文信息,预测用户可能感兴趣的物品。
    • 包括两步:召回(从全量物品中筛选候选集)和排序对候选集按相关性排序)。
  2. 单兴趣模型的局限

    • 传统方法用一个固定维度的向量(单兴趣)来表示用户,比如通过用户历史行为取平均值。
    • 问题:用户兴趣往往是多样化的,使用单一向量难以准确反映不同兴趣点。
      • 示例:一个用户可能同时喜欢“电子产品”和“家居用品”,单一向量会模糊这种多样性。
  3. 多兴趣召回的优势

    • 对用户行为序列进行细粒度建模,生成多个兴趣向量。
    • 每个兴趣向量捕获用户的某一类兴趣,从而召回与该兴趣匹配的物品。

二、多兴趣召回的原理

多兴趣召回分为三大步骤:

  1. 用户行为序列的表示(行为建模)
  2. 多兴趣的提取
  3. 基于多兴趣的物品召回

以下分别详细说明每一步的核心机制和原理。


1. 用户行为序列的表示(行为建模)

        用户行为序列是多兴趣召回的输入,例如用户点击、浏览、购买的历史记录。这些行为序列反映了用户的潜在兴趣。

原理:
  • 用户行为序列通常由一系列物品 ID 其对应的特征组成。
  • 将这些离散的物品 ID 映射为连续的高维向量(嵌入向量),方便进行数学计算和特征提取。
技术方法:
  • Embedding(嵌入层)
    • 将离散的物品 ID(如商品编号)映射到一个固定维度的嵌入空间。
    • 嵌入层的权重矩阵是可学习参数,训练过程中通过反向传播不断优化。
    • 直观理解:将每个商品“翻译”为一个向量,向量的语义反映商品之间的相似性。
数学表示:

假设:

  • 商品集合为 {v_{1},v_2,...,v_n}
  • 嵌入矩阵为 E\in \mathbb{R}^{n*d}(\mathbb{R}实数集),其中 n 是商品总数,d 是嵌入向量维度。

通过查表操作,将商品 ID vivi​ 映射为嵌入向量:

        Embedding(v_i) = E[i, : ]


2. 多兴趣的提取

        这是多兴趣召回的核心部分,通过分析用户的行为序列,提取多个兴趣点(每个兴趣点对应一个向量)。

原理:
  • 用户的行为序列反映了多个兴趣点的组合。例如,一个用户点击的商品既可能属于“运动鞋”,也可能属于“电子设备”。
  • 使用序列建模技术(如 RNN、Transformer、聚类等),从行为序列中提取多个兴趣表示。
技术方法:
  1. 序列建模

    • 使用循环神经网络(如 GRU/LSTM)或自注意力机制(Transformer)对用户行为序列进行编码。
    • 这些方法能够捕捉序列中时间顺序、上下文等信息。
  2. 动态路由机制

    • 动态路由是从序列中提取多个兴趣向量的一种方法。
    • 核心思想是:
      1. 初始化多个兴趣中心(随机向量)。
      2. 用户的行为通过注意力权重分配到不同兴趣中心。
      3. 反复迭代,调整兴趣中心,使其更准确地表示用户不同兴趣点。
数学表示:
  • 用户行为序列的嵌入矩阵为 H \in \mathbb{R}^{t*d},其中 t 是序列长度,d 是嵌入维度。
  • 初始化兴趣中心矩阵 C\in \mathbb{R}^{k*d},其中 k 是兴趣向量的数量。

动态路由的计算过程:

  1. 计算注意力权重:

                     A=softmax(HC^{T})

    A \in \mathbb{R}^{t*k} 表示每个行为与兴趣中心的匹配度。

  2. 更新兴趣中心:

                      {C}'= A^{T}H

     {C}' \in \mathbb{R} ^{k*d} 表示更新后的兴趣中心。

  3. 迭代多次,直到收敛。


3. 基于多兴趣的物品召回

        一旦提取出用户的多个兴趣向量,就可以与全量物品的嵌入向量进行匹配,召回与用户兴趣最相关的物品。

原理:
  • 计算用户兴趣向量与物品嵌入向量之间的相似度,通常使用点积余弦相似度
  • 每个兴趣向量召回一批候选物品,最终将这些候选物品合并。
数学表示:

假设:

  • 用户兴趣向量为 {C}' \in \mathbb{R} ^{k*d}
  • 全量物品嵌入矩阵为  E\in \mathbb{R}^{n*d}

相似度计算:

                 S={C}'E^{T}

S \in \mathbb{R} ^{k*n} 表示每个兴趣向量与每个物品的相似度。

根据相似度排名,取前 K 个物品作为召回结果。


三、多兴趣召回的总结优势

  1. 捕捉兴趣多样性

    • 每个用户的多个兴趣点被单独建模,不再用单一向量代表整个用户。
  2. 丰富召回结果

    • 不同兴趣点召回的物品可以覆盖用户的多种需求,提高推荐结果的覆盖度。
  3. 动态调整

    • 兴趣向量是通过动态计算获得的,可以根据用户行为灵活变化。

四、示例总结

一个实际场景中:

  • 用户浏览了 “篮球鞋 A”、“跑鞋 B”、“智能手表 C”。
  • 多兴趣召回可能提取两个兴趣点:
    1. 运动鞋(兴趣向量 1)。
    2. 智能设备(兴趣向量 2)。
  • 分别召回:
    • 兴趣向量 1:召回 “跑鞋 D”、“运动鞋 E”。
    • 兴趣向量 2:召回 “智能手环 F”、“耳机 G”。

最终,合并召回的物品集呈现给用户,实现对用户多样化兴趣的全面覆盖。

通过这种方法,多兴趣召回提升了推荐系统的多样性、匹配度和用户满意度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值