推荐系统之雅虎图文:Embedding-based News Recommendation for Millions of Users

前言

  雅虎日本2017年发的他们的推荐系统paper,主要以Emebdding作为用户和文本新闻的表示方式,来让我们师夷长技以自强下。

亮点

  主要就是在倒腾各种Embedding,用来做推荐。
  1)用降噪自编码实现文章的 e m b e d d i n g
  2)用RNN学习用户行为的 e m b e d d i n g

YaHoo日本的图文推荐处理流程

  1. Identify 获取用户特征 V u
  2. Matching 匹配候选新闻集合。
  3. Ranking 对候选集排序。
  4. De-duplication 根据新闻相关性去重。
  5. 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对差距的表达能力

x ~ n q ( x ~ n | x n )
h n = f ( W x ~ n + b ) f ( b )
y n = f ( W h n + b )
L T ( h 0 , h 1 , h 2 ) = l o g ( 1 + e h 0 T h 2 h 0 T h 1 )

θ = a r g m i n W , W , b , b x 0 , x 1 , x 2 T n = 0 2 L R ( y n , x n ) + α L T ( h 0 , h 1 , h 2 )

L R ( y n , x n ) 表示重构的误差,描述对 x 本身的表示能力。
L T ( h 0 , h 1 , h 2 ) 表示对相似对和不相似对的区分能力(弱监督部分)。
( x 0 , x 1 , x 2 ) X 3 ,其中 x 0 x 1 是相同策略(或者是相似的), x 0 x 2 是不同的策略。
在应用测试时,使用固定衰减输入而非随机衰减输入来计算hidden-layer的embedding值,如下:
x ~ = ( 1 p ) x h = f ( W x ~ + b ) f ( b )

notice: p 是从哪里来的?
notice: 文中隐藏掉了 x 的样子,很重要的部分但没对外公开。

User Embedding

这个最后用的是GRU(Gated Recurrent Unit),也试了LSTM但效果不如GRU,更多详见。一个用户的浏览和点击交互历史日志如下所示:


两个非常经典的RNN结构如下图,左为LSTM,右为GRU。

在这个应用场景下,怎么利用历史行为来计算用户的embedding呢?这才是我们关心的,也是用户的embedding最核心的地方。我们认为当前的用户状态 u t 是该用户的上一状态 u t 1 和浏览状态 a t u 决定的 u t = f ( a t u , u t 1 ) ,在RNN里面这个函数就变成了 u t = ϕ ( W i n a t u + W o u t u t 1 + b )
在GRU下,我们看下变成了什么样子的?

GRU的结构和对应函数关系如上图,那么在这里的应用场景下,对应的函数如下:
未完待续

思考

  1. 图文推荐系统的特点,不同于广告和视屏,图文新闻过期很快。Yahoo用的是24小时生命周期。
  2. 用户的ID-cookie和用户画像,都可以用来做召回。图文这边对cookie好像并没有使用。

猜你喜欢

转载自blog.csdn.net/yujianmin1990/article/details/80683491