阿里、蚂蚁、晟腾、中科加禾精彩分享 AI 基础设施洞见,现购票可享受 9 折优惠 |AICon 了解详情
写点什么

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

  • 2015-12-25
  • 本文字数:3050 字

    阅读完需:约 10 分钟

推荐系统近几年来一直十分火热,目前几乎所有的电子商务系统、社交网络,广告推荐,搜索引擎等等,都不同程度的使用了各种形式的推荐系统。想知道电商如何向你发送广告的?想了解社交网络怎么推荐好友的?想自己搭建一个推荐系统?想了解一些算法或架构从而将自己的推荐系统做得更好?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))。

公众号推荐:

2024 年 1 月,InfoQ 研究中心重磅发布《大语言模型综合能力测评报告 2024》,揭示了 10 个大模型在语义理解、文学创作、知识问答等领域的卓越表现。ChatGPT-4、文心一言等领先模型在编程、逻辑推理等方面展现出惊人的进步,预示着大模型将在 2024 年迎来更广泛的应用和创新。关注公众号「AI 前线」,回复「大模型报告」免费获取电子版研究报告。

AI 前线公众号
2015-12-25 18:0035934
用户头像
Tina InfoQ高级编辑

发布了 1248 篇内容, 共 831.5 次阅读, 收获喜欢 3529 次。

关注

评论

发布
暂无评论
发现更多内容

ES6新特性class类

大熊G

JavaScript 前端 6月月更

企业无忧 | Apipost私有化部署活动即将火热开启

Xd

后端 apipost 接口测试工具

python小知识-python作用域和闭包

AIWeker

Python python小知识

漫谈测试覆盖率

老张

软件测试 质量保障 质量度量

知识图谱、图数据平台、图技术如何助力零售业飞速发展

蓝海大脑GPU

图计算 图数据分析 图数据一体机

如何在使用 Flutter时切换应用时隐藏应用预览

坚果

6月月更

互联网公司研发效能团队为啥必须独立?何时独立?

laofo

互联网 DevOps cicd 研发效能 工程效率

NFT链游GameFi系统开发,元宇宙游戏搭建

薇電13242772558

NFT 元宇宙 链游

运算符 (第二天)

Jason199

运算符 js 6月月更

Django API 开发:视图设置和路由

宇宙之一粟

django 6月月更

『Three.js』起飞!

德育处主任

JavaScript canvas 前端可视化 three.js 6月月更

Google搜索为什么不能无限分页?

蝉沐风

elasticsearch 深度分页

InfoQ 极客传媒 15 周年庆征文|Socket请求和Http请求特点、区别及适用场景

No Silver Bullet

HTTP请求 6月月更 InfoQ极客传媒15周年庆 Socket请求

NFT铸造交易平台开发市场详情

开发微hkkf5566

SpringBoot应用使用自定义的ApplicationContext实现类

程序员欣宸

Java spring springboot Spring Framework 6月月更

C#入门系列(十) -- 一维数组

陈言必行

C# 6月月更

Neo 黑客松获奖名单揭晓,上万美金花落谁家?

TinTinLand

区块链

Vue中created和mounted的区别

devpoint

Vue Vue3 InfoQ极客传媒15周年庆

悬赏任务源码开发设计构建时,要留意哪些事项

开源直播系统源码

源码 软件开发 直播系统 悬赏任务源码

ADB 日志抓取

甜甜的白桃

android adb APK 6月月更

Vue-4-模板语法-1

Python研究所

前端 6月月更

设计千万级学生管理系统的考试试卷存储方案

Fan

架构师实战营

Python时区转换的两种方式

红毛丹

Python 6月月更

InfoQ 极客传媒 15 周年庆征文|【Python技能树共建】异常捕获预处理

梦想橡皮擦

Python 6月月更 InfoQ极客传媒15周年庆

【高并发】关于乐观锁和悲观锁,蚂蚁金服面试官问了我这几个问题!!

冰河

并发编程 多线程 高并发 异步编程 6月月更

Linux测试端口的连通性

龙空白白

MySql事务

工程师日月

6月月更

Linux编程_网页视频监控项目

DS小龙哥

6月月更

HPCA名人堂成员蒋晓维博士,任职大禹智芯首席科学家

硬科技星球

人工智能 阿里巴巴 大禹智芯 蒋晓维

SAP 云平台多目标应用 Multi-Target Application 的开发技术介绍

Jerry Wang

云原生 Cloud SAP CloudFoundry 6月月更

Java中的static关键字

龙空白白

从算法到案例:推荐系统必读的10篇精选技术文章_语言 & 开发_Tina_InfoQ精选文章