前言
雅虎日本2017年发的他们的推荐系统paper,主要以Emebdding作为用户和文本新闻的表示方式,来让我们师夷长技以自强下。
亮点
主要就是在倒腾各种Embedding,用来做推荐。
1)用降噪自编码实现文章的
。
2)用RNN学习用户行为的
。
YaHoo日本的图文推荐处理流程
- Identify 获取用户特征 。
- Matching 匹配候选新闻集合。
- Ranking 对候选集排序。
- De-duplication 根据新闻相关性去重。
- Advertising 插入广告。
notice-1: 在上述1,2,4的地方用到了Embedding表示的用户和新闻。
notice-2: 在第2点上并没有说清楚是从所有新闻中匹配候选集,还是有个所有新闻的子集来做匹配。
notice-3: 在最终展示顺序上,以排序为基础,辅以额外的影响因素,比如新鲜度(hot),相似新闻不近邻(diversity)等。
为什么Eebedding
1) 协同过滤和低秩分解类方法的先天缺陷
不适应更新很快的系统,只消耗旧数据 ,无法对新数据产生足够快的响应。基于词的推荐,则容易受限于词自身的语义缺点,比如同义词的不同词容易推类似新闻。图文推荐系统的特点,不同于广告和视屏,图文新闻过期很快。
2) 用户的行为历史的顺序及结构信息,没有被充分利用起来。
基于上述两点,分别用改进的降噪自编码对文章作表达,用RNN方法对用户作表达。来完成以下三点推荐要素:
1.
理解文章内容。
2.
理解用户喜好。
3.
为个体用户选择新闻并排序。
Artical Embedding
基本模型是denoising autoencoder,对其加上弱监督学习作改进,以提高hiden-layer-embedding对差距的表达能力。
表示重构的误差,描述对 本身的表示能力。
表示对相似对和不相似对的区分能力(弱监督部分)。
,其中 是相同策略(或者是相似的), 是不同的策略。
在应用测试时,使用固定衰减输入而非随机衰减输入来计算hidden-layer的embedding值,如下:
notice: 是从哪里来的?
notice: 文中隐藏掉了 的样子,很重要的部分但没对外公开。
User Embedding
这个最后用的是GRU(Gated Recurrent Unit),也试了LSTM但效果不如GRU,更多详见。一个用户的浏览和点击交互历史日志如下所示:
两个非常经典的RNN结构如下图,左为LSTM,右为GRU。
在这个应用场景下,怎么利用历史行为来计算用户的embedding呢?这才是我们关心的,也是用户的embedding最核心的地方。我们认为当前的用户状态 是该用户的上一状态 和浏览状态 决定的 ,在RNN里面这个函数就变成了 。
在GRU下,我们看下变成了什么样子的?
GRU的结构和对应函数关系如上图,那么在这里的应用场景下,对应的函数如下:
未完待续
思考
- 图文推荐系统的特点,不同于广告和视屏,图文新闻过期很快。Yahoo用的是24小时生命周期。
- 用户的ID-cookie和用户画像,都可以用来做召回。图文这边对cookie好像并没有使用。