【AICon】探索八个行业创新案例,教你在教育、金融、医疗、法律等领域实践大模型技术! >>> 了解详情
写点什么

打造工业级推荐系统(二):无处不在的推荐系统

  • 2019-04-25
  • 本文字数:5765 字

    阅读完需:约 19 分钟

打造工业级推荐系统(二):无处不在的推荐系统

导读:个性化推荐系统,简单来说就是根据每个人的偏好推荐他喜欢的物品。互联网发展到现在,推荐系统已经无处不在,在各行各业都得到普遍都应用。亚马逊号称 40% 的收入是来自个性化推荐系统的,淘宝的个性化推荐系统也带来非常大的收益,新闻媒体的个性化推荐系统典型的是今日头条,直播平台给用户推荐喜欢的主播,金融网站给用户推荐需要的理财产品,社交网络给用户推荐大 V 或者其他朋友……越来越多的公司将推荐系统作为产品的标配。


大家接触推荐系统的概率会越来越大。作为程序员,了解推荐系统也越来越必要,甚至可以主动选择“推荐系统算法工程师”的相关职位。那大家一定会关心推荐算法工程师需要哪些知识储备,以及作为一个推荐算法工程师,未来的发展道路怎样?


本文是作者计划的一系列文章中的第二篇。第一篇为《推荐算法工程师的成长之道》。后面的文章将涉及到推荐系统的冷启动、商业价值、工程实现、评估等方方面面。这系列文章是作者多年推荐系统学习、实践经验的总结,希望能够帮助到即将入行推荐系统开发的读者或者推荐系统开发人员,让大家少走弯路。



正文

推荐系统产生的背景

随着移动互联网的快速发展,我们进入了信息爆炸时代。当前通过互联网提供服务的平台越来越多,相应的提供的服务种类(购物,视频,新闻,音乐,婚恋,社交等)层出不穷,服务“标的物”的种类也越来越多样(亚马逊上有上百万的书),这么多的“标的物”怎么让需要它的人找到它, 满足用户的各种需要, 就是摆在企业面前的难题。


同时,随着社会的发展,受教育程度的提升,每个人都有表现自我个性的欲望。随着互联网的发展,出现了非常多的可以表达自我个性的产品,如微信朋友圈,微博,抖音,快手等,每个人的个性喜好特长有了极大展示的空间。另外从进化论的角度来说,每个人都是一个差异化的个体,是生而不同的,生而具有不同的性格特征,个人的生活成长环境又有极大差异,导致个人的偏好口味千差万别。“长尾理论”也很好的解释了多样化物品中的非畅销品可以满足人们多样化的需求,这些需求加起来不一定比热门物品产生的销售额小。


随着社会的进步,物质生活条件的改善,大家不必再为生存下来而担忧,所以大家有越来越多的需求是非生存需求,比如看书,看电影,购物等,而这些非生存的需求往往在很多时候是不确定的, 是无意识的,自己不知道自己需要什么。生存需求对人而言显得非常强烈而明显,比如你快饿死了,你的第一需要肯定是食物。不同于生存需求,面对非生存需求,人们实际上更愿意接受被动推荐的好的物品, 比如给你推荐一部电影,如果符合你的口味,你可能会很喜欢。


总结上面提到的三点,当今时代可选择的商品和服务这么多,而不同人的兴趣偏好又是截然不同,并且在特定场景下,个人对自己的需求不是很明确。在这三个背景驱动下,推荐系统应运而生。个性化推荐系统是解决上述三个矛盾的最有效的方法和工具之一。


为了更好的为用户提供服务, 在为用户提供服务的同时赚取更多的利润,越来越多的公司通过采用个性化推荐技术,辅助用户更快地发现自己喜欢的东西 。公司根据用户在产品上的行为记录,结合用户自身和“标的物”的信息, 利用推荐技术(机器学习的一个分支)来为用户推荐可能感兴趣的物品。

推荐系统解决什么问题

推荐系统是在互联网快速发展(特别是移动互联网)之后的产物,随着用户规模的爆炸增长以及供应商提供的物品的种类越来越多(淘宝上有几千万商品),用户身边充斥着大量信息,这时候推荐系统就发挥了用武之地。推荐系统本质上是在用户需求不明确的情况下, 从海量的信息中为用户寻找其感兴趣的信息的技术手段。推荐系统结合用户的信息(地域,年龄,性别等),物品信息(价格,产地等),以及用户过去对物品的行为(是否购买,是否点击,是否播放等),利用机器学习技术构建用户兴趣模型,为用户提供精准的个性化推荐。


推荐系统很好的满足了“标的物”提供方,平台方,用户三方的需求。拿淘宝购物举例来说, “标的物”提供方是淘宝上成千上万的店主,平台方是淘宝,用户就是在淘宝上购物的自然人或企业。通过推荐系统可以更好地将商品曝光给给需要购买的用户, 提升社会资源的配置效率。


从本质上讲,推荐系统提升了信息分发和信息获取的效率。

推荐系统的应用领域

推荐系统广泛用于各类互联网公司,基于上面的介绍,只要存在大量的“供用户消费的商品”的互联网产品,推荐系统就有用武之地。具体来说推荐系统的应用领域主要有如下几类:


电商网站:购物,购书等,如淘宝,京东,亚马逊等


视频:Netflix,优酷,抖音,快手,电视猫等


音乐:网易云音乐,酷狗音乐等


资讯类:今日头条,天天快报等


生活服务类:美团,携程,脉脉等


交友类:陌陌,珍爱网等


下图展示了几类常见的互联网推荐产品,大家应该都不陌生。



推荐系统更多的应用场景正在不断被挖掘和创造。有了这些基本背景,下面来具体说下什么是推荐系统。

推荐系统的定义

上面两节提到了推荐系统产生的背景和推荐系统需要解决的问题,那么什么是推荐系统呢?本节我尝试给推荐系统下一个定义, 让大家可以更好的理解什么是推荐系统。


推荐系统是一项工程技术解决方案,通过利用机器学习等技术,在用户使用产品进行浏览交互的过程中,系统主动为用户展示可能会喜欢的物品,从而促进物品的“消费”,节省用户时间,提升用户体验, 做到资源的优化配置。


上面定义有几点需要细化说明一下, 方便大家更好的理解推荐系统的本质。


  1. 推荐系统是一项工程技术解决方案,要将推荐系统落地到业务上需要大量的工程开发,涉及到日志打点,日志收集,ETL,分布式计算,特征工程,推荐算法建模,数据存储,提供接口服务,UI 展示与交互,推荐效果评估等各个方面,推荐系统是一项庞大复杂的体系工程;

  2. 推荐系统是机器学习的一个分支应用,推荐系统大量使用机器学习技术,利用各种算法构建推荐模型, 提升推荐的精准度,惊喜度,覆盖率等,甚至是实时反馈用户的兴趣变化(如今日头条 APP 下拉展示新的新闻,实时反馈用户的兴趣变化);

  3. 推荐系统是一项交互式产品功能,产品为推荐系统提供载体,用户通过使用产品触达及触发推荐系统,推荐系统为用户提供个性化的推荐, 从而提升用户体验;

  4. 推荐系统是一种为用户提供感兴趣信息的便捷渠道,通过为用户提供信息创造商业价值;


推荐系统的本质是通过技术手段将“标的物”与人关联起来,方便人获取对自己有价值的“标的物”。通过上面的介绍,相信大家对推荐系统有了一个初步的了解。

常用的推荐算法

上面一节提到了推荐系统大量使用机器学习技术, 本节来简单介绍一下推荐系统常用的策略或者算法。


  1. 基于内容的推荐


上面讲到推荐系统是通过技术手段将“标的物”与人关联起来,“标的物”包含很多自己的属性,用户通过与“标的物”的交互会产生行为日志,这些行为日志可以作为衡量用户对“标的物”偏好的标签,通过这些偏好标签为用户做推荐就是基于内容的推荐算法。拿视频推荐来说,视频有标题、国别、年代、演职员、标签等信息,用户以前看过的视频,就代表用户对这些视频有兴趣,比如用户偏好恐怖,科幻类的电影,我们就可以根据这些兴趣特征为用户推荐恐怖科幻类的电影。


  1. 协同过滤


用户在产品上的交互行为为用户留下了标记,我们可以利用“物以类聚,人以群分”的朴素思想来为用户提供个性化推荐。


具体来说,“人以群分”就是找到与用户兴趣相同的用户(有过类似的行为),将这些兴趣相同的用户浏览过物品推荐给用户,这就是基于用户的协同过滤算法。“物以类聚”就是如果有很多用户都对某两个物品有相似的偏好, 说明这两个物品是“相似”的,我们可以通过推荐用户喜欢过的物品相似的物品这种方式为用户提供个性化推荐, 这就是基于物品的协同过滤推荐算法。


下面以图示来简单说明这两类协同过滤算法,让大家有更好的理解。



  1. 基于模型的推荐


基于用户行为记录,用户相关信息(年龄,性别,地域,消费习惯等),物品相关信息,构建算法模型,预测用户对物品的偏好,常用的算法有 logistic 回归,矩阵分解等。随着现在深度学习技术的发展,目前有很多深度学习相关的算法落地到了推荐系统上,产生了很好的效果。


  1. 基于社交关系的推荐


我们在日常生活中经常为别人或者要求别人给我们推荐书籍, 餐厅, 电影等,这种推荐方式往往效果较好,大家会更容易接受。最近微信 7.0 版本“看一看”模块中的“好看”就是通过将你的微信好友看过的文章推荐给你,张小龙在今年微信 8 周年微信公开课上说到,“好看”比“看一看”模块中的“精选”效果好很多,而“精选”就是通过算法来实现的推荐。


这些推荐算法中,基于内容的推荐和协同过滤推荐是最常用的推荐算法,实现相对简单,效果也很不错,在工业界得到了大规模的应用。

构建推荐系统的阻碍与挑战

推荐系统是解决大规模用户场景下,大量信息的精准分发的问题,推荐系统解决的问题看起来很简单朴素, 那么是不是可以非常容易的构建一个效果很好的推荐系统呢?答案是否定的, 要想构建一个高效的有价值的推荐系统是一件很困难的事情。这里简单说一下构建推荐系统可能遇到的困难、障碍,以及构建好的推荐系统的挑战。


首先不是任何一个产品都需要推荐的,你提供的“标的物”必须足够多,用户无法通过浏览完所有“标的物”来做选择,这时才有推荐的必要,比如苹果官网,卖的东西是很少的几个品类,每个品类也不多,加起来也没有多少,这时用户可以直接浏览所有产品找自己喜欢的也很方便。


另外,前面说过推荐系统是一个比较大的系统工程,有效的落地需要相当多的资源投入,所以需要领导的大力支持,并且领导要能够意识到推荐算法的价值。为什么今日头条可以从传统的新闻客户端脱颖而出,正是张一鸣认识到了推荐的价值,整个公司从创立之初就以算法为核心,围绕推荐系统构建好的产品体验,不到 7 年最终达到估值近 700 亿美元的独角兽,令腾讯和百度都感受到了极大的威胁。


最后从技术工程实现的角度说说构建推荐系统面临的挑战,具体而言构建好的推荐系统面临如下的挑战:


  1. 推荐系统推荐精准度的问题:这需要通过构建好的推荐算法来实现,同时要有足够多的用户行为数据来学习算法模型, 数据预处理的质量也对结果有较大影响, 现在基于深度学习的推荐系统可以达到很好的效果;

  2. 冷启动问题: 新用户、新物品没有相关行为信息, 这时系统怎么给用户推荐,怎么将新物品推荐出去, 在推荐系统落地过程中都需要做结合业务场景的特殊处理才能达到好的用户体验;

  3. 如果你的产品有大量用户访问,怎么构建一套高效的推荐系统,满足高并发访问,为用户提供稳定,快速,高效的推荐服务也是一个挑战;

  4. 数据缺失的问题:现实场景中一定存在用户或者物品的信息不完善,或者部分信息有误,这些也是在构建推荐算法模型过程中必须考虑和解决的问题;

  5. 怎么处理非结构化的信息:用户和物品相关的信息有可能是非结构化的信息,比如图片,视频,音频,文本等,怎么高效的利用这些信息,为推荐模型提供更多信息输入, 随着深度学习在推荐系统中大规模运用,这类问题可以得到较好的解决;

  6. 一些噪音及恶意攻击也会产生大量垃圾数据,对更好的做推荐产生很大的干扰, 怎么很好的保证训练数据的质量,这是 ETL 和特征工程需要解决的重要问题;

  7. 大规模计算与存储:大量的用户和大量的物品,对数据处理和计算造成很大的压力,需要采用分布式技术(如 Hadoop,Spark 等)来做数据存储,处理,计算等, 所以要很好的落地推荐系统需要企业构建一套高效的大数据分析处理平台;

  8. 为了给用户提供实时的个性化推荐(如今日头条的新闻推荐等), 需要实时收集处理用户的反馈,做到更及时精准的推荐,为用户提供强感知的服务。对大规模用户做到实时响应,对算法,计算,处理有相当大的挑战。

  9. 用户交互问题:推荐系统通过用户与产品的交互来触达用户,所以好的 UI 及交互体验对推荐系统发挥真正的价值起到非常关键的作用,有时好的 UI 和交互体验甚至比好的算法更管用;

  10. 怎么评估推荐算法的价值:推荐系统怎么服务于业务,怎么衡量推荐系统的价值产出,怎么为推荐系统制定业务指标,通过指标提升推荐系统效果的同时促进业务发展?这些问题都是摆在推荐系统开发人员, 甚至是公司管理者面前的重要问题, 只有很好的度量出推荐系统的价值,才能更好的优化推荐系统,发挥推荐系统的价值。


上面说了这么多构建好的推荐系统需要克服的困难和障碍, 但是推荐系统是非常有价值的,值得我们花这么多精力和时间去构建一套好的推荐系统。推荐系统的极大价值也驱使越来越多的公司将推荐系统作为产品的标配。

推荐系统的价值

当前推荐系统技术是互联网公司的标配技术, 因为它很好的解决“标的物”提供方,平台方,用户三方的需求。本节详细说一下推荐系统的价值,它的价值主要体现在四个方面。


从用户角度说, 推荐系统可以让用户在纷繁芜杂的海量信息中快速找到自己感兴趣的信息,节省了用户的时间,特别是当用户在使用某个互联网产品时,不经意中发现平台给自己推荐了特别喜欢的东西时,那种惊喜油然而生,从而极大提升了用户的使用体验。


从平台的角度看, 推荐了一本书给用户,用户发现这本书正好是自己需要的,立即就买下来了, 推荐一首付费音乐给用户, 用户特别喜欢,毫不犹豫就付费了。精准的推荐,也能增加用户对平台的粘性,让用户喜欢上你的平台。平台通过售卖物品的分成及广告投放可以获取丰厚的利润。


从物品提供商的角度看,如果平台能够将提供商的物品推荐给喜欢的用户, 提升物品被售卖出去的概率,这样商品可以卖得更多更好, 提升了供应商的销量,从而为供应商赚取极大的收益。


另外,平台精准的将物品(实物物品,如冰箱,电视机等)推荐出去并被用户购买,从侧面也降低了物品的周转时间, 减少了库存积压,对于社会资源的节省和有效利用也是大有益处的。


硅谷互联网教父凯文·凯利在“必然”这本畅销书上提到了“过滤”这一大趋势,推荐系统就是最好的提供过滤能力的技术之一,相信随着互联网的深入发展,推荐系统将会发挥越来越重要的价值!


作者介绍:gongyouliu,有近 10 年大数据与 ai 相关项目经验,有 9 年推荐系统研究及实践经验,目前负责电视猫大数据与人工智能团队。喜欢读书,暴走,写作。业余维护“大数据与人工智能”公众号,ID:ai-big-data,持续输出大数据、推荐系统、机器学习等相关文章。个人微信:liuq4360


原文链接https://mp.weixin.qq.com/s/DofYtvZCe-7RTicLqYtL4A


相关文章


打造工业级推荐系统(一):推荐算法工程师的成长之道


公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2019-04-25 15:1611228

评论

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

数据中台逼近炒作顶峰之际,Gartner给想建数据中台的一些建议

雨果

数据中台 Gartner

打了15天,如何做到在容器权限上不失一分?

青藤云安全

容器安全 攻防演练

SAP ABAP 和 Java 里的弱引用(WeakReference)和软引用(SoftReference)

Jerry Wang

Java 引用 SAP abap 8月月更

Python图像处理丨基于OpenCV和像素处理的图像灰度化处理

华为云开发者联盟

Python 人工智能 图像

云图说丨初识可信分布式身份服务

华为云开发者联盟

云计算 安全 后端

20万字的《Kafka运维实战宝典》PDF现在免费下载了

石臻臻的杂货铺

大数据 kafka

【8.12-8.19】写作社区精彩技术博文回顾

InfoQ写作社区官方

优质创作周报

开源一夏 | 在 STM32L051 上使用 RT-Thread (三、无线温湿度传感器 之 I2C通讯)

矜辰所致

开源 RT-Thread 8月月更 STM32L051

Web3.0 DAPP项目智能合约系统开发技术详情

开发微hkkf5566

7 天能找到 Go 工作吗?学学 Go 数组和指针试试

梦想橡皮擦

Python 爬虫 8月月更

字节一面:HTTPS 一定安全可靠吗?

程序员小毕

Java 程序员 面试 https 校招

优雅,永不过时!SpringBoot中这样编写Controller层代码,那叫一个完美

Java永远的神

Java 程序员 面试 程序人生 springboot

如何在企业数字化团队内部实现数据分析建模成果的结构化整合沉淀

ModelWhale

工作流 数字化转型 数字化 案例分享 提高效率

什么是企业知识库?有什么作用?如何搭建?@附源码

金陵老街

Java、 企业数字化转型 spring-boot

前端监控系列3 | 如何衡量一个站点的性能好坏

字节跳动终端技术

字节跳动 前端 性能监控 火山引擎 站点性能

ABAP 一组关键字 IS BOUND, IS NOT INITIAL 和 IS ASSIGNED 的用法辨析

Jerry Wang

指针 应用 SAP abap 8月月更

前半个月的行动中,整个圈子都在疯传的“内网King”到底是个啥?

青藤云安全

网络安全 主机安全 攻防演练

5分钟,带你看完24岁60W年薪架构师的简历,上面竟然写着精通JVM

收到请回复

Java JVM java面试 简历模板 金九银十

四个层次管好设备,为生产保驾护航

PreMaint

预测性维护 设备管理 设备预测性维护

高效完成需求计划的四个关键 | 敏捷开发

LigaAI

Scrum 敏捷开发 Sprint LigaAI spring event

Meta项目功能测试 | 开启PrestoDB和Aria扫描优化

Alluxio

hive presto Alluxio 大数据 开源 8月月更

开源一夏 | 在 STM32L051 上使用 RT-Thread (四、无线温湿度传感器 之 串口通讯)

矜辰所致

开源 RT-Thread 8月月更 STM32L051

数字知识库-知识图谱管理系统

金陵老街

Java 数字化 知识图谱 企事业系统

一文带你认知定时消息发布RocketMQ

华为云开发者联盟

云计算 后端

如何避免数据湖变成数据沼泽

Kyligence

数据湖 数据管理 智能多维数据库

当内卷风波及代码领域,看Alluxio将会采取怎样的块分配策略

Alluxio

腾讯 存储 Alluxio block 8月月更

基于RPC接口的业务侧流量回放

转转技术团队

测试工具 流量回放 测试方案

修筑产学研用一体化的通衢,从一场比赛背后瞭望苏州园区人才培养新范式

脑极体

马拉车算法 (最长回文串 例题 密码截获)

Five

算法 8月月更

九章云极DataCanvas公司与中国信通院完成可信AI基础软件战略合作

九章云极DataCanvas

人工智能 数据智能 数智化 可信AI

OpenHarmony有氧拳击之设备端开发

OpenHarmony开发者

OpenHarmony

打造工业级推荐系统(二):无处不在的推荐系统_开源_数据与智能_InfoQ精选文章