【推荐系统】DUPN:Deep User Perception Network

论文地址: 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. 系统概览

召回系统的架构如下图所示:
【推荐系统】DUPN:Deep User Perception Network

  • 有一个商品集( a collection of items)
  • 给定用户的query,系统会召回title包含这个query的商品,并且将排在前面的商品列表呈现给用户

2. 模型架构

【推荐系统】DUPN:Deep User Perception Network

2.1 输入和行为Embedding(Input & Behavior Embedding)

DUPN 的输入是按时间顺序排列的用户的行为序列 x={x1,x2,,xN}x=\{x_1, x_2, \cdots,x_N\}

  • xix_i为第 ii个behavior,xi=<itemi,propertyi>x_i=<item_i, property_i>
  • itemiitem_i 表征商品的特征,包括:
    • common features: shop ID, brand, category, item tags (对于长尾商品起主导作用)
    • personalized features: item id (对于popular items起主导作用)
  • propertyiproperty_i 描述行为,包括行为的类型(behavior type,比如点击/收藏/加购物车/购买)、场景(scenario,比如搜索、推荐、广告等)、行为的时间(当前search和行为发生时间间隔、工作日还是周末,早晨还是晚上等)

【推荐系统】DUPN:Deep User Perception Network

  • 处理方式就是将 multi-hot 的 xi=[itemi,propertyi]x_i=[item_i, property_i] 通过 linear mapping transform到一个低维空间 resi=[ei,pi]res_i=[e_i, p_i] (eie_ipip_i 分别表示 item 和 property 的 embedding):
    【推荐系统】DUPN:Deep User Perception Network

2.2 Property Gated LSTM & Attention Net

2.2.1 Property Gated LSTM

  • 经过 embedding 层得到的用户行为序列 {res1,res2,,resN}\{res_1, res_2,\cdots,res_N\} 被喂进 LSTM, LSTM 根据当前的输入 restres_t 和之前的隐向量 ht1h_{t-1} 来更新当前的隐向量 htRdhh_t\in R^{d_h}
  • 考虑到 item embedding eie_i 和 behavior property embedding pIp_I 的不同特点,文章提出了 Property Gated LSTM 对 eie_ipip_i区别处理:
    【推荐系统】DUPN:Deep User Perception Network【推荐系统】DUPN:Deep User Perception Network
    • pIp_I 反映了行为的重要性,因此在 LSTM 中会作为一个强烈的信号,也就是说,pIp_I 会极大地影响 what to extract, what to remember and what to forward,会输入到 input gate, forget gate 以及 output gate中(上式的(2), (3), (5))
    • eie_i 描述商品的特征,反映了用户的兴趣,是 ctc_t 的唯一输入

2.2.2 Attention Net

  • Property Gated LSTM 的输入是另外一个序列 h={h1,h2,,hN}h = \{h_1,h_2,\cdots, h_N\}hih_i可以视作第 ii 个item 的向量表征
  • hh会被输入到一个注意力网络中,注意力网络会根据当前的query给予各个 hih_i 不同的权重,最后用加权和来表征序列 hh
    【推荐系统】DUPN:Deep User Perception Network
    【推荐系统】DUPN:Deep User Perception Network
  • repsrep_s 是整个序列 hh 的向量表征
  • ata_thth_t 的权重
  • attention(:ω)attention(:\omega) 是两层全连接构成的注意力网络,输入包括 当前的query qq,user profile embedding uu, behavior$ property ptp_t 以及 当前的隐向量 ptp_t
  • useruser embedding=[reps,u]embedding = [rep_s, u]

2.3 Multi-task

  • 上述得到 user embedding 后,我们定义了一些任务以便同时能够学习,对于每个任务而言,其他的任务都视作regularization,多任务学习的共享表达,可以使得 user representation 泛化性更强,更可靠
  • 文中定义了五个任务:
    • CTR 预估:user representation repirep_i 和 current item resprentation eie_i 作为输入,预测 repirep_i 点击 eie_i 的概率
    • L2R: learning to Rank
    • PPP: Price Preference Prediction
    • FIFP: Fashion Icon Following Prediction
    • SPP: Shop Preference Prediction

【推荐系统】DUPN:Deep User Perception Network

参考资料

推荐系统遇上深度学习(五十三)-DUPN:通过多任务学习用户的通用表示