Search-based User Interest Modeling with Lifelong Sequential Behavior Data for Click-Through Rate Prediction
概
听说 SIM 在工业界广受赞誉, 特此记一笔.
Search-based Interest Model (SIM)
- SIM 的目的是更好地挖掘用户的长期兴趣. 但是直接处理用户成千上万的交互历史在效率和效果上可能都不是最优的. 于是 SIM:
- 希望从长序列中抽取出合适的子序列;
- 从子序列中挖掘出用户的兴趣.
子序列抽取
- 子序列的抽取 SIM 提出了两种方案, 一种是 soft search 另一种是 hard search:
- soft search: 给定整个的历史序列 embeddings \(\mathbf{E} = [\mathbf{e}_1; \mathbf{e}_2; \cdots; \mathbf{e}_T]\), 以及 target \(\mathbf{e}_a\), 通过 maximum inner product search 来快速检索出匹配 \(\mathbf{e}_a\) 的 top-\(K\) 的子序列;
- hard search: 则是直接筛选出和 target 类别一致的子序列.
注: 作者认为, 长序列和短序列的建模是不同的, 所以不应该采用端到端的训练方法, 所以这一部分训练时采取一般的 CTR 进行训练的.
Exact Search Unit
-
根据上面的搜索, 我们已经确定了子序列:
\[\mathbf{E}^* = [\mathbf{e}_1^*; \mathbf{e}_2^*; \ldots; \mathbf{e}_K^*]. \] -
此外, 作者认为, 每个 item 的重要性是不同的, 需要进一步强调时间间隔, 定义
\[\mathbf{D} = [\Delta_1; \Delta_2; \ldots; \Delta_K]. \]这里 \(\Delta_k\) 是第 \(k\) 个交互样本和 target 的时间间隔, 然后将其编码成 embedding:
\[\mathbf{E}^t = [\mathbf{e}_1^t; \mathbf{e}_2^t; \ldots; \mathbf{e}_K^t]. \] -
接着二者凭借得到: \(\mathbf{z}_j = concat(\mathbf{e}_j^*, \mathbf{e}_j^t)\).
-
然后通过多头注意力计算相似度:
\[\mathbf{att}_{score}^i = Softmax (W_{bi} \mathbf{z}_b \odot \mathbf{W}_{ai} \mathbf{e}_a), \\ U_{lt} = concat(\mathbf{att}_{score}^i \mathbf{z}_1; \ldots; \mathbf{att}_{score}^i \mathbf{z}_b). \] -
\(\mathbf{U}_{lt}\) 喂到一个 MLP 中用于 CTR.