微信开发工程师带你一文了解推荐领域最新工作

介绍
工业界通用推荐系统包括两个阶段的流程,匹配(match)和排序(rank) 。在匹配的过程中主要是根据用户的一些兴趣点,找到可能感兴趣的潜在商品集 。由于整个商品集的海量性,对实时访问的用户去计算他对全部商品的感兴趣程度是不实际的,所以需要预先根据一些兴趣、特征策略等来寻找用户可能感兴趣的潜在商品集,在此基础上,再根据特定的模型算法来进行商品集兴趣分深层排序,效果指标往往通过点击率(Click Trough Rate)、转化率、时长等来量化,所以 rank 阶段的主要目的就在于预测一个用户在他感兴趣的商品中的 CTR 等,并且根据预测分值的大小进行排序,最终返回排序作为推荐系统的推荐结果 。
本文将介绍三篇重点分别在 ranking,matching 和 feature enginerring 上的文章,借此来展示业界推荐系统方面的一些最新工作进展 。
1. Ranking:Behavior Sequence Transformer for E-commerce Recommendation in Alibaba
这篇文章主要关注在 rank 阶段的改进 。以往在预测 CTR 场景下常见的深度学习方法是基于嵌入层与多层前馈神经网络的结合,将大量的低阶原始特征通过简单地嵌入层进行降维,然后降维后的低维特征再作为全连接网络的输入,最终通过网络输出对 CTR 点击率的概率预测(由于输出结果是一个点击概率,所以取值范围落在区间[0,1]上) 。具有代表性的工作参考 WDL(wide and deep learning by google)和 DIN(Deep Interest Neworks by Alibaba) 。
但是上述方法存在一个比较明显的问题,直接输入原始特征实际上缺失了很多高阶的特征信息,比如高阶的交互项、序列信息等 。这类特征在推荐场景下往往比较重要,比如年龄特征与性别特征的交互项可以刻画不同年龄层与不同性别的购买需求差异性 。另一点,一个客户在购买了手机后很有可能会继续浏览手机配件等商品,就需要一些行为序列特征去捕捉这些信息 。因此,从这些实例中可以获知,高阶的特征在进行点击率预测的任务十分重要 。对比前面提到的两种方法,WDL 仅仅是简单地拼接 raw features,DIN 考虑了通过注意力机制来刻画商品与用户的历史兴趣的多峰表征,二者都没有考虑行为的序列特征 。
为了解决这方面的问题,作者参考了在 NLP 领域机器翻译任务 transformer 模块 。由于在机器翻译中,语言的序列信息是十分关键的,而 transformer 可以取得很好的效果,所以认为如果把客户的购买历史看做是一串文字,那么每种商品之间的序列相关性的信息也可以通过 transformer 捕捉到 。
该论文整体网络结构如下,主要包含三个部分:嵌入层,转换层,前馈网络层 。

微信开发工程师带你一文了解推荐领域最新工作

文章插图
 
嵌入层的主要目的仅仅在于将高维的特征映射到相对低维的空间中,通过一个嵌入矩阵
微信开发工程师带你一文了解推荐领域最新工作

文章插图
 
,其中
微信开发工程师带你一文了解推荐领域最新工作

文章插图
 
就是嵌入空间的维度 。需要输入到嵌入层的特征主要有一下几个部分:包含序列信息的 item 特征和其他特征 。其他特征的内容如下表格所示:
微信开发工程师带你一文了解推荐领域最新工作

文章插图
 
序列信息的 item 特征作者又分为了两个部分,分别是 Sequence Item Features 和 Position Features 。其中 Sequence Item Features 主要是商品的 item_id 和 category_id 这两个可以表征商品信息的特征,原因是考虑到提取序列信息的计算复杂性,输入全部的 item 特征效率很低 。Position Feature 实际上是通过 postional embedding 的变换来获取的,在"Attention is all your need"中有提及 。本文中考虑一个客户的浏览历史,时间间隔最能够体现浏览历史中的位置信息 。
因此本文定义如下 position embedding:pos(v_i) = t(v_t) - t(v_i),其中 t(v_t) 代表的是推荐系统的推荐时间点,t(v_i)代表用户点击第 i 件商品的时间点 。构造序列特征之后,通过
微信开发工程师带你一文了解推荐领域最新工作

文章插图
 
进行序列特征的嵌入,
微信开发工程师带你一文了解推荐领域最新工作

文章插图
 
代表浏览历史的长度,
微信开发工程师带你一文了解推荐领域最新工作

文章插图
 
是嵌入空间的维度 。
转换层:Multi-Head Self-Attention(多头注意力模型)是 Transformer 的核心单元,理解 MH Attention 机制对于 Transformer 层原理掌握特别重要,并且在 Encoder 和 Decoder 中都有用到 。MH Self-attention 最新应用可以替代一些基于 RNN 行为序列模型在推荐场景落地 。另外在下文即将介绍的 AutoInt 中也是引入了 Multi-head Self-attention 核心思想,所以这里花一定篇幅对此进行原理讲解 。


推荐阅读