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

作者: 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 条评论
登录 后参与评论

相关文章

来自专栏奇点大数据

深度学习工程师的4个档次

最近不少朋友问我,转行做深度学习的话,能不能找到工作,能找到什么样的工作,能达到什么样的收入水平…… 这种问题其实不仅仅是存在与深度学习行业的入门和转型中的思...

3467
来自专栏数据科学与人工智能

【数据科学】如何学习数据科学

本文翻译自一篇博客文章,作者是一名软件工程师,他描述了在五年时间内学习数据科学的经历和心得,他的学习途径包括了自学(书籍、博客、小项目),课程学习,教学讨论,会...

23210
来自专栏华章科技

如何真正学好数据科学?

作为一个全新的领域,数据科学的飞速发展让人激动。数据科学在带来巨大经济效益的同时,人们在数据科学技术方面的知识沟也逐渐出现,这意味着更多的人需要试图了解和学习数...

482
来自专栏镁客网

Facebook推出人工智能引擎DeepText,让机器更好的理解语言和内容

1544
来自专栏企鹅号快讯

今日头条李磊:机器写作与 AI 辅助创作

近日,第七届吴文俊人工智能科学技术奖颁奖盛典在苏州举行。今日头条与北京大学共同完成的「互联网信息摘要与机器写稿关键技术及应用」项目荣获吴文俊人工智能技术发明奖。...

26310
来自专栏机器之心

业界 | 拿下吴文俊奖,今日头条李磊谈AI如何实现内容创作

3398
来自专栏数据的力量

如何学习数据科学

1113
来自专栏挖掘大数据

5个典型实例启发:什么是数据可视化

大数据时代,数据是非常重要的,怎样把它的重要之处展示出来成为我们需要掌握的既能,这也就是本文要讲的重点——数据可视化。

18410
来自专栏量子位

互联网产品经理需要懂哪些机器学习知识?

安妮 编译自 HackerNoon 量子位 出品 | 公众号 QbitAI 现在,很多产品经理、技术经理和设计师都开始研究机器学习。但机器学习对产品的设计、支持...

3285
来自专栏CDA数据分析师

谷歌教你学 AI -第一讲机器学习是什么?

CDA字幕组 翻译整理 世界中充满了数据,大量的数据。图片、音乐、文字、电子表格还有视频。而且在短时间内丝毫没有放缓的趋势。机器学习给所有的数据带来意义。 A...

1807

扫码关注云+社区