【QCon】精华内容上线92%,全面覆盖“人工智能+”的典型案例!>>> 了解详情
写点什么

从算法到案例:推荐系统必读的 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:0035921
用户头像
Tina InfoQ高级编辑

发布了 1219 篇内容, 共 807.3 次阅读, 收获喜欢 3475 次。

关注

评论

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

表单设计领域天花板,表单引擎最全设计

codebee

Java又双叒叕“凉”了?

程序员小毕

Java spring 面试 springboot SpringCloud

Python Joblib库使用学习总结

EquatorCoco

Python

DataLeap的全链路智能监控报警实践(二):概念介绍

字节跳动数据平台

C语言实现单链表-增删改查

DS小龙哥

6 月 优质更文活动

历史首次!阿里云与浙大斩获数据库顶会SIGMOD最佳论文,成果已在PolarDB中落地

阿里云瑶池数据库

阿里云 polarDB 瑶池数据库 SIGMOD

在 BI 工具 Tableau 中使用 databend

Databend

《生死狙击》研发商无端科技使用RDS倚天ARM架构数据库,实现增效降本

阿里云瑶池数据库

RDS 阿里云瑶池数据库

Hive执行计划之只有map阶段SQL性能分析和解读

不在线第一只蜗牛

sql 开发语言 开发框架

Java并行流指北

javalover123

并行 Java' 并行流

基于smardaten无代码快速开发一个智慧城管系统

陈橘又青

无代码开发

怎样确保舞台LED显示屏的安全

Dylan

安全性 环境 维护 LED显示屏 户内led显示屏

精选8道ES高频面试题和答案,后悔没早点看。

王中阳Go

elasticsearch 面试题 go面试题 后端面试题 ES面试题

百度召开CVPR首个大模型研讨会,吸引超1000支队伍参与文心大模型国际比赛

新消费日报

Seamless Mobility in Wi-Fi Networks: Exploring the Benefits of Fast Roaming

wallyslilly

IPQ6010 ipq6018 ipq5018 FASTROAMING

堡垒机的作用以及价格简单说明-行云管家

行云管家

网络安全 堡垒机 IT运维

干掉Navicat?阿里Chat2DB来了!

王磊

Java 数据库

费报只是小 case!电子影像系统,工作效率up无限

风来兮

管理 技术管理 电子档案 财务 数字化工具

语音厅源码实用功能屏幕的转换

山东布谷科技

软件开发 源码搭建 语音源码 语音厅平台搭建

沈阳等级保护测评机构有哪些?有几家?在哪里?

行云管家

等保 等级保护 等保测评 沈阳

专场来袭,深度解读阿里云视频云的全智能进化

阿里云视频云

云计算 阿里云 视频云

对线面试官-Redis(作为缓存的一致性问题)

派大星

Java 面试题

如何扩展及优化CI/CD流水线?

SEAL安全

CI/CD 优化 扩展

OpenCV开箱即用的功能

互联网工科生

OpenCV C++

CSS中常见的场景实现

EquatorCoco

CSS 开发语言 css架构

行业分析| 无人机电力巡检的应用

anyRTC开发者

人工智能 音视频 无人机 快对讲 视频监控

基于 LRU-K 模型如何实现高效的元数据缓存?

焱融科技

#高性能 #文件存储 #分布式存储

Go 语言中 database/sql 是如何设计的

江湖十年

数据库 后端 Go 语言 数据库操作

千万级规模微服务稳定性技术揭秘:隔离策略

HelloGeek

微服务 高并发 稳定性 隔离性

量子程序设计基础 | 量子程序与量子编程

TiAmo

量子计算 量子编程 6 月 优质更文活动

为什么很多互联网公司很少做单元测试?

博文视点Broadview

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