个性化资讯推荐算法 ( 下 )

作者: justin

个性化资讯推荐 算法篇 ( 上 )

深度学习篇

日益红火的深度学习也在不断影响着资讯推荐,在这一节就简要review下最近爆出来的几篇相关文章,大致可以分为两类:1)embedding技术。此时深度学习主要用来学习user/item的embedding也就是通常意义上的user/item的表示形式,每个user/item可以表示为一个向量,向量之间的相似度可以用来改善推荐。这里深度学习的重点是用来学习合理的表示;2)使用深度学习直接对预测目标建模。此时深度学习的重点放在最终要解决的问题上。初看起来似乎第一种形式不如后者来得直接,但第一种形式在实际应用中通常能起到简化架构、快速解决问题的功效,还能作为一个基础特征来改进线上其他环节的效果。下面我们分别选择一两篇有代表性的文章来进行科普。

Yahoo Japan的新闻推荐团队利用denoising autoencode的技术来学习新闻的vector表示。Autoencode大家可能比较熟悉,它通过最小化变换前后信号的误差来求解,而denoising则是对输入随机加入一些噪声,再对其进行变换输出,最终是通过最小化加噪声后的输出和原始(不加噪声)输入之间的差异来求解。应用中不少结果表明,这种方法比传统的autoencode学习到的vector效果更好。具体示意图如下。

但这种方法是经典的无监督学习套路,直观来看和应用场景中要求相似新闻的vector也要尽量相似没有直接的关联(这里单单从优化目标来看,实际上由于语料的天然性质或者人们用语习惯,这个相似性的要求已经间接隐含在优化目标里了)。而新闻有很多人们编辑好或者其他模型产生好的类别信息,假如A、B新闻都是体育类,C是教育类的,通常意义上来讲A和B相似度是比A和C要高的。这是在训练深度学习时已知的先验知识,如果能把它加入到优化目标中,学习到的vector就能更好的表达相似度信息,于是有了下面的方法。

如图所示,通过在原始autoencode的优化目标中加入“同类新闻相似度大于不同类新闻相似度”这一项,我们就可以把先验知识作为约束加到模型中。Yahoo Japan的人实验证明了如此得到的vector确实能更好的表示(相似度信息)。

微软研究院也提出过一种很有趣的得到item表示的方法。作者利用用户的搜索日志,同一个query下,搜索引擎往往返回n篇doc,用户一般会点击相关的doc,不太相关的一般不会点,利用这个反馈信息也可以训练神经网络。具体示意图如下,这里的优化目标就是要求点击的一个doc_i的预测得分p(D_i|Q)要高于不点击的,论文基于这个信息构造除了损失函数,也就得到了最终机器学习可以优化的一个目标。

目前只介绍了如何得到item的vector,实际推荐中要用到的一般是user对一个item的兴趣程度,只有在得到user vector后才能通过算user和item的相似度来度量这个兴趣程度。那么如何得到user的vector呢?了解的同学可能能想到,既然我们已经得到了新闻的item的表示,想办法把他们传到user侧不就行了么?

确实如此,一种简单的做法是把用户近期点过的所有新闻的vector取个平均或者加权平均就可以得到user的vector了。但这种模式还有优化的空间:1)用户点击是一个序列,每次点击不是独立的,如果把序列考虑进去就有可能得到更好的表示;2)点击行为和曝光是有联系的,点击率更能体现用户对某个或某类新闻的感兴趣程度。鉴于这两点,我们很容易想到通过深度学习里经典的解决序列学习的RNN方法,Yahoo japan的人使用的就是一个经典的RNN特例:LSTM。训练时将用户的曝光和点击行为作为一个序列,每次有点或不点这样的反馈,就很容易套用LSTM训练得到user的vector,具体做法如下图所示。

微软还发表了《A Multi-View Deep Learning Approach for Cross Domain User Modeling in Recommendation Systems》,文章提出了一种有趣的得到user vector的方法,这是一个典型的multi-view learning的方法。现在很多公司都不仅仅只有一个产品,而是有多个产品线。比如微软可能就有搜索、新闻、appstore、xbox等产品,如果将用户在这些产品上的行为(反馈)统一在一起训练一个深度学习网络,就能很好的解决单个产品上(用户)冷启动、稀疏等问题。具体网络结构如下,总体的优化目标是保证在所有视图上user和正向反馈的item的相似度大于随机选取的无反馈或者负向反馈的相似度,并且越大越好。用数学公式形式化出来是
,对应的神经网络结构如下图所示。

今日头条

作为国内当红的个性化推荐产品,今日头条技术经历了三个阶段:

1) 早期以非个性化推荐为主,重点解决热文推荐和新文推荐,这个阶段对于用户和新闻的刻画粒度也比较粗,并没有大规模运用推荐算法。

2) 中期以个性化推荐算法为主,主要基于协同过滤和内容推荐两种方式。协同过滤技术和前面介绍的大同小异,不再赘述。基于内容推荐的方式,则借助传统的NLP、word2vec和LDA对新闻有了更多的刻画,然后利用用户的正反馈(如点击,阅读时长、分享、收藏、评论等)和负反馈(如不感兴趣等)建立用户和新闻标签之间的联系,从而来进行统计建模。

3) 当前以大规模实时机器学习算法为主,用到的特征达千亿级别,能做到分钟级更新模型。 架构分为两层(图来自头条架构师的分享):1)检索层,有多个检索分支,拉出用户感兴趣的新闻候选;2)打分层,基于用户特征、新闻特征、环境特征三大类特征使用实时学习进行建模打分。值得一提的是,实际排序时候并不完全按照模型打分排序,会有一些特定的业务逻辑综合在一起进行最终排序并吐给用户。

任何一种算法都有其局限性,业务要结合自己产品的特点,选择合适的算法解决特定的小问题,融合各种算法解决一个大问题。另外要设计合理的实验和放量机制,以在有限的影响内,最大程度地利用真实的用户行为来修正算法判定的结果。比如,可以先放5%的流量来试探用户对新闻的兴趣,并用模型进行建模;再用15%的流量来修正模型的效果,进行优胜劣汰;最后将真正置信的推荐结果推送到全量用户。

个性化资讯推荐的未来

个资讯消费是人的基本需求,个性化资讯推荐让我们能更好地消费资讯,享受生活的快乐。个性化资讯推荐还有很长的路要走,目前面世的产品仅仅迈出了第一步,看起来有模有样,实际上问题多多。例如被吐槽最多的一个问题:用户一天看了很多,但睡前闭目一想,记住的很少,对自己有用的更是凤毛麟角。这只是一个表象,背后其实暴露了很多现有推荐的问题。

要做好一个资讯推荐产品,不单单精准推荐技术需要演进,呈现形式、交互方式、产品形态、内容生态等等都需要去探索,最最重要的要想清楚以下几个本质问题:

1) 人为什么需要阅读?

2) 人为什么会消费资讯?

3) 用户为什么需要到你这阅读资讯?

4) 好的阅读体验到底是什么,如何量化?

5) 产品推荐的基因是什么?

加油吧,个性化资讯推荐!

参考文献:

  1. 桑赓陶,《 把握市场、产品和技术的动态匹配——韩国三星电子公司产品开发战略演变的基本原则及其对中国企业的启示》
  2. Personalized Recommendation on Dynamic Content Using Predictive Bilinear Modelswww, 2009
  3. Google News Personalization: Scalable Online Collaborative Filtering www,2007
  4. http://www.slideshare.net/techblogyahoo/deep-learning-for-news-recommendation slideshare, 2016
  5. A Survey on Challenges and Methods in News RecommendationWEBIST, 2014
  6. Personalized News Recommendation Based on Click Behaviorwww, 2010
  7. A Contextual-Bandit Approach to Personalized News Article Recommendationwww, 2010
  8. Learning Deep Structured Semantic Models for Web Search using Clickthrough Data
  9. A Multi-View Deep Learning Approach for Cross Domain User Modeling in Recommendation Systems MS Research
  10. http://www.ruanyifeng.com/blog/2012/03/ranking_algorithm_wilson_score_interval.html
  11. https://zhuanlan.zhihu.com/p/21404922
  12. http://www.36dsj.com/archives/36571

如何看待头条的成功?

网上很多人都从各种角度有过分析,但大都是通过现象来解释现象,抓住本质的不多。个人比较喜欢用“市场、产品和技术”动态匹配理论来看这个问题1:对于一个特定的企业来说,它在特定时点上所找到的、要去满足的市场是特定的;特定的市场要求企业用特定的产品去满足,而特定产品则是特定技术的某种物化。企业只有掌握相应的特定技术或者有能力在一定的时间内把这种特定技术开发出来并把它物化成特定产品,企业选择的特定市场才有可能得到满足。

用动态匹配理论来看头条,可以看到它的成功是如此之合理。随着资讯市场的成熟和发展,人们需要一个在碎片时间消费有趣资讯的产品,来解决用户的需求。这里的有趣因人而异,就需要用个性化的推荐技术去满足。如此看来,头条在合适的时机,用合适的技术做了合适的产品,造就了自己的成功。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏AI派

吴恩达|机器学习秘籍(Machine Learning Yearning)

人工智能(AI)、机器学习(Machine Learning )和深度学习(Deep Learning )正在改变很多行业,吴恩达(Andrew Ng)老师编写...

1494
来自专栏机器之心

业界 | 如何评估深度学习的性能?英伟达提出7大挑战

1685
来自专栏BestSDK

今日头条公布算法:解密“垃圾信息”是如何诞生的

“算法分发并非是把所有决策都交给机器,我们会不断纠偏,设计、监督并管理算法模型。”曹欢欢希望这次分享能让更多的人理解算法,并共同参与到算法模型的制定中来。此外,...

4178
来自专栏机器之心

伯克利提出DeepMimic:使用强化学习练就18般武艺

选自BAIR Blog 作者:Xue Bin (Jason) Peng 机器之心编译 运动控制问题已经成为强化学习的标准基准,深度强化学习方法被证明适用于包括操...

3405
来自专栏大数据挖掘DT机器学习

机器学习工程师31门课程(视频):从新手到专业

机器学习不仅仅是模型 产生这个问题的原因就是所有人都以为机器学习的模型就是机器学习本身,以为对那些个算法理解了就是机器学习的大牛了,但实际上完全不是这样的。 ...

38518
来自专栏人工智能头条

美丽联合机器学习应用探索:用更强大的模型,干净解决问题

2062
来自专栏AI科技大本营的专栏

别瞎搞!对自己定位不准,看再多机器学习资料也是白搭(附资源)

找资料也是门学问,别抓着机器学习就一拥而上。 作者 | Jason Brownlee 编译 | AI100(ID:rgznai100) 来看个小故事:机器学习火...

3118
来自专栏CSDN技术头条

推荐算法概览

推荐算法概览(一) 为推荐系统选择正确的推荐算法非常重要,而可用的算法很多,想要找到最适合所处理问题的算法还是很有难度的。这些算法每种都各有优劣,也各有局限,因...

38510
来自专栏大数据文摘

这个用来玩儿游戏的算法,是谷歌收购DeepMind的最大原因

1396
来自专栏新智元

【开发者的2018】GAN、AutoML、统一框架、语音等十大趋势

来源:medium 作者:Alex Honchar 翻译:刘小芹 【新智元导读】本文从开发者的角度,总结了GAN、AutoML、语音识别、NLP等已经可以用...

3466

扫码关注云+社区