本篇主要介绍了用户多兴趣向量的提取在召回上的应用。我们主要关注多兴趣 embedding 的抽取过程,其中的主要采用了胶囊网络(Capsule Network)的思想。
1. 模型架构
初看模型架构还是非常复杂,这里我们主要关注输入和输出。
MIND 的核心即是找到一个映射关系:
其中,, 为 embedding 的维度, 为兴趣向量的个数。 为用户 的历史行为序列, 为用户 的 profile 特征(比如性别、年龄)。
此外,对于目标 item 我们可以通过一个 embedding 映射得到其向量表示:
其中, 表示 item 的features (比如 item_id、category_id)。
得到了用户向量和物品向量,就可以计算最终得分:
然后通过得分进行召回。
2. Multi-Interest Extractor Layer
用户多兴趣向量的提取步骤如下:
1.每个用户的兴趣数量都是动态调整的:
其中,,它是 behavior capsules 和 interest capsules 之间的一个线性映射矩阵。
3. Label-aware Attention Layer
经过 multi-interest extractor layer 提取出的多个兴趣怎么融合呢?当然是 attention 了。
其中,query 即为 label 向量,keys 和 values 向量均为 interest capsules 向量, 为可训练的参数。
4. Objective function
其中, 为用户行为集合, 的计算如下
因为物品集合 非常庞大,实际应用中采用了 sampled softmax 技术。
- 参考文献