DIN  DIEN  DSIN 简述

用户行为两大特性

多样性(Diversity):一个用户今天买衣服,明天买零食,后天买电器,兴趣非常广泛。、

局部激活(Local Activation):虽然用户兴趣广泛,但在预测下一件特定商品(比如羽绒服)时,只有最近或强相关的历史行为(比如买过羊毛大衣、围巾)对预测有帮助,而买过的杯子、吸尘器基本没用。

技术实现逻辑:

  • 强规则:可以在模型外先做筛选(比如只取最近7天的数据,或只取同品类数据),但这样做会丢失信息。
  • Attention机制:把筛选逻辑内置到模型中,让模型自动学习“哪些历史商品对当前预测更重要”,并赋予它们更高的权重。

三个模型的详细拆解与举例

Deep Interest Network (DIN)

并非所有历史行为都对当前预测有帮助。

引入 Attention 机制,根据当前候选商品(Target Item)与每个历史商品的相关性,动态计算权重。

举例子:
用户过去一年购买了:[大衣、水杯、鞋子、帽子、吸尘器]。现在要预测用户是否会点击一件 新款羽绒服。

Attention 计算过程:

  • 计算羽绒服 Embedding 与大衣 Embedding 的相似度(强相关,给权重 0.9)。
  • 与鞋子 Embedding 的相似度(中等相关,给权重 0.5)。
  • 与吸尘器 Embedding 的相似度(基本无关,给权重 0.01)。
  • 加权求和:最终的用户兴趣向量 =0.9*大衣 + 0.5*鞋子 + 0.01*吸尘器 + ...。

模型主要根据大衣和鞋子的特征来判断用户是否会买羽绒服,吸尘器几乎不影响判断。

DIN 解决了**“用哪部分历史”的问题,但不关心“兴趣随时间如何变化”。**

Deep Interest Evolution Network (DIEN)

用户的兴趣是会随着时间演变的。五年前的兴趣和现在完全不同。

引入 GRU(门控循环单元) 来建模兴趣的演化过程,并引入 AUGRU(注意力更新门控循环单元) 让演化路径与目标商品相关。

举例子:

  • 5年前(学生时代):关注性价比,买的是 [平价T恤、帆布鞋]。
  • 3年前(初入职场):开始注重品质,买的是 [优衣库基本款、小白鞋]。
  • 现在(职场白领):关注质感和品牌,买的是 [轻奢风衣、真皮皮鞋]。

如果要用这些行为预测现在的你是否会买一件高端风衣:

DIN 的做法:把所有历史(包括5年前的平价T恤)一起加权。

DIEN 的做法:

  • 用 GRU 按时间序列(从过去到现在)读取你的购买序列,形成一个连续的兴趣演化轨迹
  • 预测风衣时,模型发现“兴趣向量”已经演化到了“注重质感”的阶段,因此早期平价商品的影响力变得很小,近期高档商品的影响力变得很大。
  • 模型不仅做了加权,还理解了你是如何一步步变成现在这样的

DIEN 解决了“兴趣如何随时间演变”的问题,对长周期用户非常有效。

Deep Session Interest Network (DSIN)

用户的行为不是连续的单一序列,而是由多个 Session(会话/主题) 组成的。

一个 Session 内的行为是高度同质的(比如都是买衣服),不同 Session 之间则差异很大(比如上个Session买完衣服,下个Session买吃的)。

所以,先把用户行为按时间切分成多个 Session,然后用Transformer对每个 Session 内部进行建模,最后再用Bi-LSTM捕捉 Session 之间的演变关系。

举例子:

  • Session 1(晚上 7点-8点):[浏览连衣裙、浏览半身裙、购买高跟鞋](买女装主题)。
  • Session 2(晚上 9点-10点):[搜索电饭煲、对比微波炉、购买烤箱](买厨具主题)。
  • Session 3(第二天早上):[查看大衣、收藏羽绒服](买外套主题)。

如果只看整体序列,模型很难区分“买裙子”和“买电饭煲”是两个截然不同的时期/意图。

DSIN 的做法:

  • 分 Session:明确把序列切成三段,强制模型识别出三个不同的主题。
    -Transformer 内部建模:在“女装 Session”里,让连衣裙、半身裙、高跟鞋互相做 Attention,强化主题内部关系。
  • 跨 Session 演化:用 Bi-LSTM 看三个 Session 之间如何推进。最终预测大衣时,模型主要参考 Session 3 的信息,并注意到用户兴趣已经从“裙子”升级到了“外套”。

总结

模型核心问题解决方案适合场景
DIN哪些历史行为与当前预测相关?Attention 机制(根据候选商品动态加权)历史行为较短,或行为跨度不大
DIEN用户兴趣如何随时间变化?GRU + AUGRU 建模兴趣演化路径。有长期用户历史,需要捕捉兴趣演变
DSIN用户行为如何按主题/会话分组?分 Session + Transformer 建模内部 + LSTM 建模跨Session。用户行为跨度大,且存在明显的主题切换。

DIN帮你选对“哪几个历史商品”;

DIEN帮你理解“这几个商品是怎么发展到现在的”;

DSIN帮你分清“这几个商品是在哪段时期买的”。