概述
- 本节课讲述的 Deep Retrieval 和双塔模型有很多相似之处,但是区别也很明显
- 经典的双塔模型把用户和物品都表示为向量,线上做最近邻查找
- Deep Retrieval 把物品表征为路径,先上查找用户最匹配的路径
- Deep Retrieval 类似于阿里的 TDM
Outline
- 索引
路径 → List<物品>物品 → List<路径>
- 预估模型:神经网络预估用户对路径的兴趣
- 线上召回:用户 → 路径 → 物品
- 训练:
- 学习神经网络参数,神经网络可以判断用户对物品的兴趣
- 学习物品表征(物品 → 路径),物品表征则是把物品映射到路径
索引
物品表示为路径
-
深度: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(a∣x)
-
给定 xxx 和 aaa,预估用户对节点 bbb 的兴趣 p2(b∣a;x)p_2(b|a;x)p2(b∣a;x)
-
给定 xxx , aaa 和 bbb,预估用户对节点 ccc 的兴趣 p3(c∣a,b;x)p_3(c|a,b;x)p3(c∣a,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(c∣a,b;x)=p1(a∣x)×p2(b∣a;x)×p3(c∣


3555

被折叠的 条评论
为什么被折叠?



