GMTC 全球大前端技术大会 8 折涨价倒计时 2 天,现在购票立减 ¥960 ! 了解详情
写点什么

从算法到案例:推荐系统必读的 10 篇精选技术文章

2015 年 12 月 25 日

推荐系统近几年来一直十分火热,目前几乎所有的电子商务系统、社交网络,广告推荐,搜索引擎等等,都不同程度的使用了各种形式的推荐系统。想知道电商如何向你发送广告的?想了解社交网络怎么推荐好友的?想自己搭建一个推荐系统?想了解一些算法或架构从而将自己的推荐系统做得更好?InfoQ 为你整理了一系列的有关推荐系统的算法文章,以及主要从电商和社交网络方面选取了一些优秀的案例,来看看这些关于推荐系统的优秀文章吧。

另外,想迅速了解并掌握推荐系统的同学,可以购买极客时间出品的『推荐系统三十六式』专栏,作者在推荐系统方面有8 年的经验,为推荐系统学习者架构起整体的知识脉络,并在此基础上补充实践案例与经验,力图解决系统起步阶段 80% 的问题。

推荐系统在各种系统中广泛使用,推荐算法则是其中最核心的技术点, 为推荐系统选择正确的推荐算法是非常重要的决定。每一种推荐算法都有其优点和缺点,当然也有其限制条件,在作出决定之前,必须要一一考量。在实践中,你可能会测试几种算法,以发现哪一种最适合你的用户,测试中你也会直观地发现它们是什么以及它们的工作原理。

InfoQ 策划了系列文章来为读者深入介绍。推荐算法综述分为五个部分,本文作为第一篇,主要介绍了推荐算法的主要类型。第二篇涵盖了不同类型的协同过滤算法,突出他们之间的一些细微差别。之后的三篇会陆续发表出来。第三篇详细介绍了基于内容的过滤算法。第四篇主要介绍了混合引荐技术和基于流行度的推荐方法。第五篇,在回顾了所有基本的推荐算法之后,介绍了如何选择最合适的推荐算法。这一系列的作者是 Maya Hristakeva Kris Jack ,英国的数据科学家,具有丰富的构建推荐系统的经验,他们共同为世界创建出了一些出色的推荐系统。

虽然也曾从事过技术研发相关的工作,但是对算法这类很“高深”和数学关系又比较紧密的技术来说,要真正地了解起来确实是一个难度很大的动作。但是在笔者参加了一些和算法以及推荐系统相关的活动之后,发现这一高深的学问已经被从事软件开发的朋友应用的非常广泛。特别是在电商火爆的今天,各种和推荐相关的网站风起云涌,算法进入平常百姓家也就是水到渠成了。本文讨论了算法和推荐引起关注的原因,算法、架构、策略、机器学习之间的关系,学习推荐算法的几点经验等。

现在网上到处都有推荐。比如亚马逊、Mint.com 之类的财务规划网站、谷歌这些知名公司使用推荐提供情境化的、有相关性的用户体验,以提高转化率和用户满意度。这些建议原来一般由每天晚上、每周或每月生成新推荐的批处理作业计算提供。然而对于某些类型的推荐,响应时间有必要比批量处理作业所需的时间更短。本文将会介绍如何使用 Kiji 框架,它是一个用来构建大数据应用和实时推荐系统的开源框架。通过这篇文章可以了解到如何用 Kiji 整合数据,模型和算法来开发一个可以实时刷新推荐的推荐系统。

百分点推荐引擎是国内领先的推荐技术平台,专注于为电子商务和资讯网站提供 SaaS 模式的个性化推荐服务,提高网站的整站转化率和用户黏度。本文将从电子商务网站的实际需求出发,介绍百分点推荐引擎架构设计和搭建。百分点的架构设计包含了存储层,算法层,业务层,管理层。算法层里包含在线算法和离线算法。在线算法包括协同过滤(UserBased/ItemBased CF),基于内容的推荐(Content Based),热扩散(Heat Diffusion),用户行为模式分析(Behavior PatterAnalysis)等等。离线算法包括 KNN 聚类,基于 FP Tree 的关联规则挖掘,基于上下文统计的关联规则挖掘,序列模式算法,文档建模算法等等。

Netflix 的推荐和个性化功能向来精准,他们公布了自己的系统架构。主要从在线,接近在线,离线处理三个方面来讲解。

并且他们指出构建一个好的推荐系统需要具备使用复杂机器学习算法的能力,这些算法要可以适应高度复杂性,可以处理大量数据。还要能够提供灵活、敏捷创新的架构,新的方法可以很容易在其基础上开发和插入。而且,需要推荐结果足够新,能快速响应新的数据和用户行为。找到这些要求之间恰当的平衡并不容易,需要深思熟虑的需求分析,细心的技术选择,战略性的推荐算法分解,最终才能为客户达成最佳的结果。

个性化推荐引擎已经在雅虎的首页、新闻、体育、财经等很多频道,以及雅虎的 Email、用户订阅的邮件内容等方面使用。个性化推荐引擎推荐的内容有雅虎编辑原创的内容,也有雅虎购买版权的内容,还有从 Web 上抓取的内容,包括新闻、图片、博客、轻博客等形式。现在已经在欧洲等地方做全球化的推广,并且统计发现个性化推荐引擎对于用户粘性的提升已经超过了 100%。本文从数据收集,新模型 / 算法的评估上线,关于用户粘度三个方面讲解了雅虎推荐引擎的系统架构。

与传统的推荐引擎不同,人人网的社会化推荐考虑了人与人之间的关系,通过真实的人际关系,提高推荐结果的精准度。例如,好友推荐的目的是帮助用户找到好友,迅速构建用户社交图谱,形成可持续发展的网络生态圈。社会化推荐对传统的推荐引擎提出了新的需求和挑战,具体体现在其个性化和复杂性上。本文从社交图谱的建立和社会化过滤方法的应用两个方面讲解了人人网社会化推荐框架。

为了保证用户体验和使用效果,推荐系统中的机器学习算法一般都是针对完整的数据集进行的。然而,随着推荐系统输入数据量的飞速增长,传统的集中式机器学习算法越来越难以满足应用需求。因此,分布式机器学习算法被提出用来大规模数据集的分析。作为全球排名第一的社交网站,Facebook 就需要利用分布式推荐系统来帮助用户找到他们可能感兴趣的页面、组、事件或者游戏等。Facebook 就在其官网公布了其推荐系统的原理、性能及使用情况。在工作原理方面,Facebook 推荐系统采用的是流行的协同过滤(Collaborative filtering,CF)技术。具体读者可以自行看看文中的叙述。

微博(Weibo)是一种通过关注机制分享简短实时信息的广播式社交网络平台。微博用户通过关注来订阅内容,在这种场景下,推荐系统可以很好地和订阅分发体系进行融合,相互促进。微博两个核心基础点:一是用户关系构建,二是内容传播,微博推荐一直致力于优化这两点,促进微博发展。

在微博推荐发展的过程中遇到体系方向的变化、业务的不断更迭、目标的重新树立,其产品思路、架构以及算法也随之进行变迁。本文讲了微博推荐架构的演进过程:独立式的 1.0 版本,分层式的 2.0 版本和平台式的 3.0,架构组成分为应用层,计算层,数据层和基础服务,并在 3.0 中解决了推荐候选/排序/训练的算法最重要的问题。具体可以点击链接阅读。

随着移动互联网迅速发展,大数据技术为企业带来了前所未有的发展机遇,然而中小企业和传统行业由于其数据量缺乏且单一,技术投入不足的劣势,面对大数据技术发展带来的红利只能望洋兴叹。本文介绍微信即将推出的微信斑马系统,该系统旨在为中小企业和传统行业提供基于微信大数据分析技术的受众分析,精准推广,激活留存和商业智能决策的全套解决方案。

  1. 推荐系统算法综述
  2. 一次算法的普及型讨论
  3. 用 Kiji 构建实时、个性化推荐系统
  4. 百分点推荐引擎–从需求到架构
  5. Netflix 公布个性化和推荐系统架构
  6. 雅虎个性化推荐引擎的工程实践
  7. 社会化推荐在人人网的应用
  8. Facebook 如何向十亿人推荐东西
  9. 微博推荐架构演进
  10. 微信斑马系统:微信朋友圈广告背后的利器

感谢魏星对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群(已满),InfoQ 读者交流群(#2))。

2015 年 12 月 25 日 18:0035043
用户头像
Tina InfoQ高级编辑

发布了 423 篇内容, 共 216.2 次阅读, 收获喜欢 1174 次。

关注

评论

发布
暂无评论
  • 王守崑:搜索、计算广告、个性化推荐趋于融合

    在电商、互联网广告、移动互联网,推荐系统发挥着越来越大的价值。豆瓣是国内较早涉及推荐算法和推荐系统的公司,在国内技术圈,豆瓣还有明显的工程师驱动的风格。在QCon北京2014大会上,豆瓣首席科学家王守崑将分享《大数据环境下社交图谱和兴趣图谱的融合》的话题。日前,InfoQ对王守崑进行了专访。

  • 热门微博:AI 时代精准的个性化推荐

    本次分享介绍如何打造适合自己产品的推荐系统。

  • 推荐算法综述(五)

    近年来社交媒体已经越来越流行,可以从中获得大量丰富多彩的信息的同时,也给我们带来了严重的“信息过载”问题。推荐系统作为缓解信息过载的最有效方法之一,在社交媒体中的作用日趋重要。区别于传统的推荐方法,社交媒体中包含大量的用户产生内容,因此在社交媒体中,通过结合传统的个性化的推荐方法,集成各类新的数据、元数据和清晰的用户关系,产生了各种新的推荐技术。本文总结了推荐系统中的几个关键研究领域,进行综述介绍。本文是推荐算法综述的最后一部分。第一部分主要介绍了推荐算法的主要类型。第二部分,主要涵盖了不同类型的协同过滤算法,突出他们之间的一些细微差别。第三部分详细介绍了基于内容的过滤算法。第四部分主要介绍了混合引荐技术和基于流行度的推荐方法。在这篇文章中,我们在回顾了所有基本的推荐算法之后,介绍了如何选择最合适的推荐算法。

  • 如何使用 Apache Mahout 在 Amazon Elastic Mapreduce 上构建推荐系统

    本篇博文首先简单介绍了机器学习,并给出了Apache Mahout项目的背景情况以及推荐系统中需要注意的一些细节,然后我们会构建一个电影推荐系统并写一个简单的web服务来提供给客户端查询结果。最后我们会列出学习和参与到Mahout社区中的一些方法。

  • Interactions Rank,挖掘用户的社交图谱

    Interactions Rank是Google的科学家最新提出的一种基于用户交互的社交图谱分析算法,它定义用户与好友圈子之间的交互类别,并对不同的交互行为进行打分,找出与用户最亲密的好友圈子。

  • 推荐算法综述(三)

    近年来社交媒体已经越来越流行,可以从中获得大量丰富多彩的信息的同时,也给我们带来了严重的“信息过载”问题。推荐系统作为缓解信息过载的最有效方法之一,在社交媒体中的作用日趋重要。区别于传统的推荐方法,社交媒体中包含大量的用户产生内容,因此在社交媒体中,通过结合传统的个性化的推荐方法,集成各类新的数据、元数据和清晰的用户关系,产生了各种新的推荐技术。本文总结了推荐系统中的几个关键研究领域,进行综述介绍。这是推荐算法综述的第三部分。第一部分主要介绍了推荐算法的主要类型。第二部分,主要涵盖了不同类型的协同过滤算法,突出他们之间的一些细微差别。在本文中,主要详细介绍基于内容的过滤算法的工作原理,以及它的优点和缺点,从而让读者对其有更深的理解。

  • AI 与物联网架构:从智能引擎到物联网平台

    当我们在说大数据技术的时候,说的可能是几种差别很大的技术。那么,这些技术都是什么呢?

    2020 年 2 月 5 日

  • 电商行业常用的数据分析指标和 PageRank 算法

    详述电商行业数据分析指标已经简述PageRank算法

    2020 年 9 月 9 日

  • 有赞推荐系统关键技术

    本文介绍有赞微商城的个性化推荐系统,在关键节点增加推荐入口,进行场景化推荐。

  • 广告系统:广告引擎如何做到在 0.1s 内返回广告信息?

    今天我和你分享,没有搜索词的展示广告的特点,以及广告引擎在索引构建 、召回和排序这些环节所进行的灵活设计。

    2020 年 5 月 13 日

  • 知乎推荐系统的实践及重构之路

    本次分享介绍知乎推荐系统的重构过程中的经验和心得等。

  • 推荐算法综述(四)

    近年来社交媒体已经越来越流行,可以从中获得大量丰富多彩的信息的同时,也给我们带来了严重的“信息过载”问题。推荐系统作为缓解信息过载的最有效方法之一,在社交媒体中的作用日趋重要。区别于传统的推荐方法,社交媒体中包含大量的用户产生内容,因此在社交媒体中,通过结合传统的个性化的推荐方法,集成各类新的数据、元数据和清晰的用户关系,产生了各种新的推荐技术。本文总结了推荐系统中的几个关键研究领域,进行综述介绍。本文是推荐算法综述的第四部分。第一部分主要介绍了推荐算法的主要类型。第二部分,主要涵盖了不同类型的协同过滤算法,突出他们之间的一些细微差别。第三部分详细介绍了基于内容的过滤算法。在本文中,我们将介绍混合引荐技术,它是建立在我们前面介绍过的算法之上的。我们也将简要讨论针对协同过滤算法和基于内容的过滤方法中存在的不足,可以如何通过融入item的流行度来缓解这些局限性。

  • 第 205 讲 | 邵浩:人工智能新技术如何快速发现及落地(上)

    作为技术管理者,一个重要的能力就在于如何快速发现技术,并且落地到实际产品中。

    2019 年 4 月 16 日

  • Twitter 的广告点击率预估模型

    社交广告就是在社交媒体的用户信息流里投放广告。今天我们就来看看Twitter的广告预估是怎么做的。

    2018 年 6 月 18 日

  • 基于网络购物场景的三种推荐系统原理

    本文给出了推荐系统的定义以及应用场景,通过网络营销和购物的场景举例说明了推荐系统存在的重要意义。基于知识的推荐系统、基于内容的推荐系统和基于协同过滤算法的推荐系统是推荐系统的三种基本实现方式。文章的最后解释了协同过滤的三种算法实现方式以及工作原理。

  • BERT 在 eBay 推荐系统中的实践

    eBay以BERT模型为基础,结合用户历史行为数据,提出了一种基于项目的协同过滤推荐系统算法。

  • 密码学基础:如何让你的密码变得“不可见”?

    密码学是什么?密码学是“黄金法则”的基础技术支撑。失去了密码学的保护,任何认证、授权、审计机制都是“可笑”的鸡肋。

    2019 年 12 月 9 日

  • 百分点推荐引擎——从需求到架构

    百分点推荐引擎是国内领先的推荐技术平台,专注于为电子商务和资讯网站提供SaaS模式的个性化推荐服务,提高网站的整站转化率和用户黏度。本文将从电子商务网站的实际需求出发,介绍百分点推荐引擎架构设计和搭建。

  • 业界经典:YouTube 深度学习推荐系统的经典架构长什么样?

    为什么YouTube的深度学习推荐系统架构能成为业界标杆式的解决方案呢?

    2020 年 12 月 18 日

发现更多内容

在nodejs中创建child process

程序那些事

多线程 事件驱动 nodejs 并发 程序那些事

区块链电子合同平台,区块链电子合同技术方案

135深圳3055源中瑞8032

Flink 中极其重要的 Time 与 Window 详细解析(深度好文,建议收藏)

五分钟学大数据

大数据 flink

LeetCode题解:389. 找不同,ASCII码求和,JavaScript,详细注释

Lee Chen

算法 LeetCode 前端进阶训练营

挑战前端知识点HTTP/ECMAScript

魔王哪吒

前端 HTTP ES6

极客时间产品训练营第二周总结

云随心

产品 总结 产品训练营

Postgreshub中文资源网介绍

PostgreSQLChina

数据库 postgresql 开源 软件 开源社区

勤学苦练两个月,读完这篇180页pdf文档的Java进阶资料,终于拿下阿里offer

Java成神之路

Java 程序员 架构 面试 编程语言

定阶阿里P7,搞透这份高级程序员Java面试1000题解析就够了

Java成神之路

Java 程序员 架构 面试 编程语言

boltdb源码阅读

行如风

go 数据库 源码剖析

Flink SQL 在字节跳动的优化与实践

Apache Flink

flink

连肝7个晚上,总结了计算机网络的知识点!(共66条)

魔王哪吒

程序员 面试 浏览器 计算机网络 HTTP

三面百度被吊打,凭借这份阿里大牛整理的资料,终拿下字节offer

Java成神之路

Java 程序员 架构 面试 编程语言

图解计算机中的数据表示形式

冰河

程序员 计算机 二进制数据

农产品区块链溯源平台,区块链追溯系统

135深圳3055源中瑞8032

合肥智慧平安小区建设,平安社区整体解决方案

135深圳3055源中瑞8032

给新春一台S,给用户三个S:华为智慧屏的新旅程

脑极体

盘点:2021年最新、最全、最实用的Java岗面试真题,已收录GitHub

Crud的程序员

Java 架构

Vue.js笔试题解决业务中常见问题

魔王哪吒

程序员 面试 Vue 前端

最新Java精选题大厂之路没有拦路虎:Jvm+并发+Dubbo+微服务+缓存

Java成神之路

Java 程序员 架构 面试 编程语言

第二周-总结-胡赵凯

hisun胡

产品经理 产品经理训练营

惊呆了!某东Java大咖的MySQL笔记手册流传出来了,胜过看10本书

Java架构之路

Java 程序员 架构 面试 编程语言

2020出行之变(三):智能交通的星罗棋布

脑极体

从根上理解高性能、高并发(六):通俗易懂,高性能服务器到底是如何实现的

JackJiang

网络编程 高并发 高性能 即时通讯

《程序员修炼之道》- 务实的哲学(1)

石云升

28天写作 程序员修炼之道 程序员的务实

产品经理训练营第 0 期 第二次作业

孙行者

第0期 产品经理训练营

产品思维和意识

让我思考一会儿

懂点EXCEL就行!教你利用Python做数据筛选(上)

智分析

Python Excel 数据清洗

2021最新出炉BAT架构实战文档:多线程与高并发+分布式+微服务

Java成神之路

Java 程序员 架构 面试 编程语言

第二周-作业-胡赵凯

hisun胡

产品经理 产品经理训练营

阿里巴巴十亿级并发系统设计手册已开源(2021最新版)

比伯

Java 编程 架构 面试 计算机

从算法到案例:推荐系统必读的10篇精选技术文章-InfoQ