论文地址:https://arxiv.org/pdf/1801.02294.pdf

背景

  • 召回/匹配是排序的天花板,本质上是要从全量候选集中挑选TopK集合,性能与准确度的权衡

    相关技术

    第一代:统计的启发式规则方法

  • 方案:

    1. 统计方法(协同过滤)得到i2i,相似拉链
    2. 构建用户历史行为的item set
    3. 为item Set中item根据i2i得到相似item的候选列表
  • 优点:有效可计算;优于规则
  • 问题:用户行为未出现但可能感兴趣的或缺失,缺乏惊喜度

    第二代:基于内积模型的向量检索方法

  • 方案

    1. 基于各种方案得到用户和item的向量
    2. 向量可以通过聚类的方案,提升搜索效率
    3. 直接使用用户的向量搜索相似的item(内积比较小的)
  • 问题:

    • 高阶深度学习大部分都不可划成内积形式,比如CTR预估里用户和商品特征交叉
    • 现有深度学习中内积模型的表达能力被证明是有限的,内积替换成MLP,效果变好

      更好的方案

  • 目标

    • 搜索范围:限定候选->全量候选
    • 搜索精度:内积->任意先进模型
  • 方案

    • 简述

      • 树(最大堆树)是用来检索用户最优的topK个item的,用户和树上的每个节点(包括叶子和非叶子)都有embedding,使用层次检索算法和计算分数的模型可以获得结果
      • 树结构:使用随机/现有的兴趣体系初始化,然后根据迭代的embeding,聚类构建树
      • 打分模型:可以灵活开发,比如下图左边的网络使用attention机制,训练时放在右边的树中,使用负采样来训练。以下是细节

        1. ![image.png](https://cdn.nlark.com/yuque/0/2020/png/586315/1586248466506-e3efa06a-ce55-40ca-b1ac-a301acdb8a83.png#align=left&display=inline&height=416&name=image.png&originHeight=954&originWidth=1356&size=858124&status=done&style=none&width=591)
    • 层次检索算法(预测)

      • 从根节点开始,
      • repeat
        • 计算与user的打分,选出topK
          • topK中如果是叶子节点,放在集合A中
          • topK中如果是非叶子节点,取出他的子节点替换自己放在集合Q中
      • 直到Q为空,为A排序取topK为最终结果
    • 树参数模型训练
      • image.png
    • 树联合训练

1)依托淘宝商品体系构造初始化的兴趣层次树T0;
2)基于T0构造样本,训练得到TDM模型M1;
3)根据M1学得的节点Embedding,通过KMeans聚类重建新树T1;
4)基于T1重新构造样本,训练得到TDM新模型M2;
5)继续步骤3)和4)直至模型测试指标稳定,得到最终模型Mf。