论文地址: https://arxiv.org/pdf/1805.10727.pdf
Perceive Your Users in Depth: Learning Universal User Representations from Multiple E-commerce Tasks
DUPN (Deep User Perception Network) 通过多任务模型来学习一个通用的用户表征。
1. 系统概览
召回系统的架构如下图所示:
- 有一个商品集( a collection of items)
- 给定用户的query,系统会召回title包含这个query的商品,并且将排在前面的商品列表呈现给用户
2. 模型架构
2.1 输入和行为Embedding(Input & Behavior Embedding)
DUPN 的输入是按时间顺序排列的用户的行为序列 x = { x 1 , x 2 , ⋯ , x N } x=\{x_1, x_2, \cdots,x_N\} x={x1,x2,⋯,xN}
- x i x_i xi为第 i i i个behavior, x i = < i t e m i , p r o p e r t y i > x_i=<item_i, property_i> xi=<itemi,propertyi>
-
i
t
e
m
i
item_i
itemi 表征商品的特征,包括:
- common features: shop ID, brand, category, item tags (对于长尾商品起主导作用)
- personalized features: item id (对于popular items起主导作用)
- p r o p e r t y i property_i propertyi 描述行为,包括行为的类型(behavior type,比如点击/收藏/加购物车/购买)、场景(scenario,比如搜索、推荐、广告等)、行为的时间(当前search和行为发生时间间隔、工作日还是周末,早晨还是晚上等)
- 处理方式就是将 multi-hot 的
x
i
=
[
i
t
e
m
i
,
p
r
o
p
e
r
t
y
i
]
x_i=[item_i, property_i]
xi=[itemi,propertyi] 通过 linear mapping transform到一个低维空间
r
e
s
i
=
[
e
i
,
p
i
]
res_i=[e_i, p_i]
resi=[ei,pi] (
e
i
e_i
ei 和
p
i
p_i
pi 分别表示 item 和 property 的 embedding):
2.2 Property Gated LSTM & Attention Net
2.2.1 Property Gated LSTM
- 经过 embedding 层得到的用户行为序列 { r e s 1 , r e s 2 , ⋯ , r e s N } \{res_1, res_2,\cdots,res_N\} {res1,res2,⋯,resN} 被喂进 LSTM, LSTM 根据当前的输入 r e s t res_t rest 和之前的隐向量 h t − 1 h_{t-1} ht−1 来更新当前的隐向量 h t ∈ R d h h_t\in R^{d_h} ht∈Rdh
- 考虑到 item embedding
e
i
e_i
ei 和 behavior property embedding
p
I
p_I
pI 的不同特点,文章提出了 Property Gated LSTM 对
e
i
e_i
ei 和
p
i
p_i
pi区别处理:
- p I p_I pI 反映了行为的重要性,因此在 LSTM 中会作为一个强烈的信号,也就是说, p I p_I pI 会极大地影响 what to extract, what to remember and what to forward,会输入到 input gate, forget gate 以及 output gate中(上式的(2), (3), (5))
- e i e_i ei 描述商品的特征,反映了用户的兴趣,是 c t c_t ct 的唯一输入
2.2.2 Attention Net
- Property Gated LSTM 的输入是另外一个序列 h = { h 1 , h 2 , ⋯ , h N } h = \{h_1,h_2,\cdots, h_N\} h={h1,h2,⋯,hN}, h i h_i hi可以视作第 i i i 个item 的向量表征
-
h
h
h会被输入到一个注意力网络中,注意力网络会根据当前的query给予各个
h
i
h_i
hi 不同的权重,最后用加权和来表征序列
h
h
h
- r e p s rep_s reps 是整个序列 h h h 的向量表征
- a t a_t at 是 h t h_t ht 的权重
- a t t e n t i o n ( : ω ) attention(:\omega) attention(:ω) 是两层全连接构成的注意力网络,输入包括 当前的query q q q,user profile embedding u u u, behavior$ property p t p_t pt 以及 当前的隐向量 p t p_t pt
- u s e r user user e m b e d d i n g = [ r e p s , u ] embedding = [rep_s, u] embedding=[reps,u]
2.3 Multi-task
- 上述得到 user embedding 后,我们定义了一些任务以便同时能够学习,对于每个任务而言,其他的任务都视作regularization,多任务学习的共享表达,可以使得 user representation 泛化性更强,更可靠
- 文中定义了五个任务:
- CTR 预估:user representation r e p i rep_i repi 和 current item resprentation e i e_i ei 作为输入,预测 r e p i rep_i repi 点击 e i e_i ei 的概率
- L2R: learning to Rank
- PPP: Price Preference Prediction
- FIFP: Fashion Icon Following Prediction
- SPP: Shop Preference Prediction