第 99 题:多行为序列的统一建模,行为类型嵌入与强度归一化?
题目
多行为序列的统一建模,行为类型嵌入与强度归一化?
完整讲解
一、多行为序列的统一建模
推荐中存在多种行为:点击、加购、收藏、下单、分享等。统一建模即在一个序列模型中同时利用多种行为,而不是为每种行为建单独序列或单独目标。核心问题是如何区分行为类型并处理行为强度/频次差异。
二、行为类型嵌入(Behavior Type Embedding)
- 做法:为每种行为类型(click, cart, order, …)学习一个嵌入 $\boldsymbol{e}b$,与 item 嵌入组合后输入。如 $\boldsymbol{x}_t = \boldsymbol{e}{v_t} + \boldsymbol{e}{b_t}$,或 $[\boldsymbol{e}{v_t}; \boldsymbol{e}_{b_t}]$ 再投影。
- 作用:模型可学习「点击→加购」「加购→下单」等转移模式,以及不同行为对下一行为预测的权重差异(如下单比点击更能表征强兴趣)。
- 实现:行为类型 ID 做 embedding lookup,维度通常较小(几维到几十维)。
三、强度归一化(Intensity Normalization)
- 问题:不同行为发生频次差异大(点击远多于下单),若直接按发生顺序建序列,点击会主导序列,弱行为信号被稀释。
- 做法:(1)加权:对每种行为的 loss 或梯度加权,如下单权重大于点击;(2)重复/采样:对稀少行为过采样或重复插入序列;(3)强度特征:将频次、时长等作为标量特征或分段嵌入与行为类型一起输入;(4)多任务:多行为预测多头,各头损失加权或帕累托。
- 归一化:对同一 user 内各行为类型的计数或时长做归一化(如 min-max、z-score),再作为特征,避免绝对值主导。
四、工程要点
- 行为类型嵌入可与位置编码、用户嵌入一起加性融合。
- 强度归一化与多目标权重需一起调,避免高频行为淹没低频、同时不使低频过拟合。
面试要点
- 能说明多行为统一建模中行为类型嵌入的作用(区分 click/cart/order 等、学习转移模式)。
- 能说清强度归一化的必要性(频次差异大)及常见做法:加权、采样、强度特征、多任务。
- 能列举 2~3 种强度处理方式并与业务场景对应。
记忆要点
- 行为类型嵌入:每种行为一个嵌入,与 item 嵌入组合输入,学习行为间转移。
- 强度归一化:解决点击多、下单少等频次差异;手段有加权、过采样、强度特征、多任务权重。
- 类型嵌入 + 强度处理一起用,避免高频行为主导、低频信号丢失。