【王树森推荐系统】召回10:Deep Retrieval 召回

概述

  • 本节课讲述的 Deep Retrieval 和双塔模型有很多相似之处,但是区别也很明显
  • 经典的双塔模型把用户和物品都表示为向量,线上做最近邻查找
  • Deep Retrieval 把物品表征为路径,先上查找用户最匹配的路径
  • Deep Retrieval 类似于阿里的 TDM

Outline

  1. 索引
    • 路径 → List<物品>
    • 物品 → List<路径>
  2. 预估模型:神经网络预估用户对路径的兴趣
  3. 线上召回:用户 → 路径 → 物品
  4. 训练:
    • 学习神经网络参数,神经网络可以判断用户对物品的兴趣
    • 学习物品表征(物品 → 路径),物品表征则是把物品映射到路径

索引

物品表示为路径

  • 深度:depth = 3

  • 宽度:width = K,记作 1 到 K

  • 把一个物品表示为一条路径,比如 [2, 4, 1]
    在这里插入图片描述

  • 一个物品可以被表示为多条路径,比如 {[2,4,1],[4,1,1]},路径可以有重合的节点
    在这里插入图片描述

  • 索引:item → List<path>

    • 训练神经网络的时候要用到这个索引
    • 一个物品对应多条路径
    • 假设结构有 3 层,那么用三个节点表示一条路径:path=[a,b,c]
  • 索引:path → List<item>

    • 线上做召回的时候要用到这个索引
    • 一条路径对应多个物品

预估模型

  • Deep Retrieval 设计了一种神经网络,给定用户特征,神经网络可以预估用户对路径的兴趣分数
  • 用这种神经网络,可以根据用户特征召回多条路径

预估用户对路径的兴趣

  • 这节课假设结构有三层,用 3 个节点表示一条路径:path=[a,b,c]

  • 给定用户特征 xxx ,预估用户对节点 aaa 的兴趣 p1(a∣x)p_1(a|x)p1(ax)

  • 给定 xxxaaa,预估用户对节点 bbb 的兴趣 p2(b∣a;x)p_2(b|a;x)p2(ba;x)

  • 给定 xxx , aaabbb,预估用户对节点 ccc 的兴趣 p3(c∣a,b;x)p_3(c|a,b;x)p3(ca,b;x)

  • 预估用户对 path=[a,b,c] 兴趣:p3(c∣a,b;x)=p1(a∣x)×p2(b∣a;x)×p3(c∣a,b;x)p_3(c|a,b;x)=p_1(a|x)×p_2(b|a;x)×p_3(c|a,b;x)p3(ca,b;x)=p1(ax)×p2(ba;x)×p3(c

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值