推荐系统: 行为序列

LastN

将用户最近点击的 n 个物品,做 Embedding,然后取平均得到用户行为序列的特征。

实际实现上,Embedding 不止使用 ID Embedding,也会使用其他的信息,比如物品的类别等做 Embedding 然后拼到一起。

image-20250720145645382

DIN 模型

在 LastN 的基础上,不直接简单地做平均,而是加权平均。使用注意力机制来确定权重。

  • 候选物品:q,就是注意力机制中的 query,是目前正在进行打分的物品,我们要做的就是从 LastN 物品得到针对 q 的行为序列;

  • LastN 向量:xi,同时作为注意力机制中的 keyvalue

  • 权重:用 xiq 的相似度 sim(xi,q),得到 αi 权重,表示 xi 的权重;

    sim(xi,q)=qxiT
  • 行为序列:seq(q)=αixi

上述过程的本质就是注意力机制,如果把 xiq 都换成矩阵的形式,那么就是注意力机制的典型公式。

image-20250720150344286

简单平均 vs DIN 模型

简单平均可以用于双塔模型、三塔模型,因为其只需要用到 LastN,这些特征在处理用户塔的时候就可以得到,平均后可以作为用户塔的输入,直接给用户塔提供用户的行为序列特征。

DIN 模型所用的注意力机制不能用于双塔模型和索纳塔模型,因为用户塔看不到候选物品,无法在用户塔中输入行为序列特征。

Transformer

在京东实习时团队正在使用的,待更新…