什么是智能推荐?智能推荐的原理是什么?

2023-09-20 16:29:25


一、智能推荐的魔力 


2020年的愚人节晚间,罗永浩在抖音带货,相信你也被刷屏了吧。3小时的直播过程中,22款产品轮番出场,最终首播支付交易总额突破1.1亿、整场直播观看总人数超过4800万、总销售件数逾91万,粉丝打赏音浪收入3600万,由此看来,罗老师看起来离“带货一哥”的目标又进了一步。不得不说,这场魔幻版的流量狂潮,是他和成就他的直播首秀的除了他自己,更重要的是日活跃用户超过四亿的抖音平台的双赢抖音平台。

我们的时间都去哪了?所谓“抖音五分钟,人间两小时”,抖音软件的火爆便是依托于它强大的智能推荐系统。它会根据你的浏览记录、停留时长、点赞评论等一系列数据分析你的喜好后,小心翼翼的捕获你,最后平台馈赠的你所看到的每段个视频恰恰都正是你最最有可能想要看到的。

正因如此,你的手机常常会为你推荐你想要搜索却不知道片名的电影影片,会为你推送发现一听便相逢相见恨晚的美妙音乐,会为你准备好使你眼前一亮随你心意的衣服首饰。总之,它是知己一般的存在,总是这般如同住在你的大脑一样洞了解察和了解你。

二、什么是智能推荐系统
通俗一点来讲,智能推荐系统是通过你过去曾经发生的行为痕足迹去推测你的当下未来所需。你的搜索、点赞、评论、转发等行为都为它创造了解你的机会。举个例子例子:当你在某购物平台搜索一双经典球鞋时,平台会立刻很快就会发现它还为你推荐了相似同款式类型、相似同等价位的其他球鞋,或者甚至还会引申到同等品牌的运动服饰衣等。最令人惊奇的是,你或许会在推荐商品中挑选到真正喜爱的商品,而没有购买你最初搜索的那件。原因自然不言而喻,智能推荐系统比你更了解你的购买浏览习惯和行为偏好,当你还不了解它的算法奥妙时,你早已离不开它了。

智能推荐系统是人工智能的分支,它的运作主要包括数据采集、数据处理、推荐计算、模型训练等步骤搜寻。

(一)数据采集


推荐系统需要的数据可以用一句话来概括:“哪个用户在什么时间点对什么内容发生了什么行为,这个内容是什么”。

我们拆分来看,大致可以分为以下三类数据:

1.物料类数据

也就是内容的文本类数据,如内容的标题、正文、作者、内容来源、标签或关键词、分类(如时政、健康、娱乐等)、发布时间等,在电商场景的话还可能会有价格、商品属性、商品复购周期等。不同的业务场景下可能会涉及到不同维度的数据,但目前能用做推荐的仅是文本数据。在服务家居和素材类网站客户的过程中,曾经有尝试过用图像识别的方法做相似度推荐但效果并不理想,反而是在社交网站上用实体命名识别会有作用,当然实体命名识别的载体也还是文字。目前的图像识别技术还不能识别出图像或者视频中的行为意图,只能识别出类似于“三个人扭打在一起”等行为描述,而很显然这样的描述特征是不能供推荐系统所用的。

2.用户类数据

用户类数据则包括:人口统计学数据:性别、年龄、职业等;兴趣标签类数据:美妆、电影、旅游等;地理位置数据:经纬度坐标

3.特定场景下的静态身份数据

即岗位、专业、技能等业务场景下才会需要到的身份数据。我们需要知道的是,虽然用户类数据有很多,但并不是所有的数据都能被推荐系统所需要的,往往是特定的业务场景下会用到特定的用户类数据,这个得根据业务场景进行具体分析。如银行理财产品推荐中可能会用到用户的职业、财产收入等数据,而这些数据在新闻场景下是不会用到的。

因此,有很多人在引用用户的“用户画像”做推荐,我认为这是非常错误而且反常识的做法。目前为止,用户画像尚没有平台能做到全维度数据覆盖,也就是画像刻画得有偏差,那么上梁不正下梁歪,整个推荐都会出问题。

其次,即使做到了全维度数据覆盖又该如何确认确保用户画像标签的粒度呢?标签的设立本质就是用少量的词汇来描述一个人,那么多少角度的多少词汇可能描述完一个人呢?标签的存在就注定了信息量的损失。最后,如果一个人的用户画像被刻画为“金领、IT男、月入百万“难道就不会去买9.9包邮的商品么? 很明显,这都是用”用户画像“做推荐反常识、反逻辑的地方

用户行为数据,包含了用户对内容发生的行为如点击、分享、点赞、收藏、加入购物车、浏览时长、播放完毕等根据业务场景制定的能反映出用户兴趣的数据,也包含了用户发生行为的时间即用户点击这条内容是在什么时间,用户浏览10s是在什么时间。我们讲求的推荐系统的实时推荐也是依赖于用户的行为数据能够毫秒级的上报至推荐系统,这个时间一般控制在50ms以下。而我们有了用户的行为数据之后,则可以得出人与人之间的关系特征。

(二)推荐算法
我们知道推荐结果是经由推荐系统所需数据计算处理后的结果,而计算处理的过程则用到了推荐算法。如果我们把推荐系统所需的数据看成原料,那么推荐算法就是流水线上的工人,将原料按照程序加工处理包装完成,并储存到仓库中(缓存层)。那么,应用比较广泛的推荐算法有哪些呢?

1、基于神经网络的文本语义推荐算法


CB(Content-based Recommendations),即根据用户历史喜欢的内容(item),为用户推荐与他历史喜欢的内容相似或相关的内容。例如,在汽车资讯场景下,用户读了很多关于“宝马”汽车的文章,那么其列表里也会推荐跟“宝马”汽车相似的文章。值得注意的是,根据内容相似的推荐并不仅指的是标题,而是所有被认为有计算价值的文本的相似性

2、基于协同过滤的推荐算法


基于内容的推荐算法会带来一系列的问题,例如会让用户进入信息茧房,无法进行冷启动(新用户)的推荐,所以在大多数业务场景下,智能推荐都需要应用到基于协同的推荐算法(CF),并与CB融合推荐。(CF)是一类算法,指的是对哪些数据进行怎样的协同,以及协同完了之后怎样过滤,这些是(CF)算法的重点。

基于协同的推荐算法(CF)

其背后隐含的逻辑是每个人对自己兴趣的认知是片面的、不自知的。即没见到过的东西,每个人是不知道也不确定自己是否会喜欢。所以,CF依赖于“群体共性”“群体智慧”挖掘出那些潜在的、可能会被用户喜欢的内容并推荐给用户。CF算法也是最早、最经典的推荐算法之一,可以这么说,CF算法是推荐算法的鼻祖。我们后续很多推荐算法都是基于CF的协同过滤思想延伸而来。有两类基于协同的推荐算法:基于用户的协同过滤算法、基于物品的协同过滤算法。

3、基于用户行为的深度学习模型


随着技术的发展,深度学习应用的场景越来越广泛,业界也出现很多将深度学习应用于推荐系统的尝试。基于用户行为的深度学习模型最先应用于中小规模计算广告系统中,大规模的计算广告系统因巨大的吞吐量和低延迟的需要,基于成本考虑,多采用简单的回归算法来实现。

深度学习模型在推荐系统中的应用主要有两种:一是精准度更高的语义模型用于物品相似度计算;二是对用户行为进行抽象后提取特征进行点击概率预测;

4、基于关联规则的推荐


在电商领域应用较为广泛的另一种推荐算法是基于关联规则的推荐,从本质上讲它类似于协同过滤算法,只是它协同的是用户自己的购买记录。典型的故事是啤酒与尿不湿的故事,虽然该故事的来源已无从考究,但却是目前大众认知度最高的一个数据带来的收益的案例。故事的内容是:北美的超市经营者经过数据分析发现,啤酒和尿不湿在同一张订单中出现的概率较高。于是深入下去研究,发现在家庭中买尿不湿的事情大都由家里的男人去做,而男人在买尿不湿的时候总会随手带几罐啤酒。于是通过调整货架摆放,把尿不湿和啤酒放在一起,让更多男人在买尿不湿的时候随手带一打啤酒,结果销售量大增。

故事本身相当经不起推敲,比如反正尿不湿和啤酒总是要一起买,那么就不应该把它们放在一起,而是保持一些距离。在动线设计上让用户行走在两种商品的过程中摆放一些男人会随手带的其它商品,收益率也许会更高。我们暂不去讨论这个故事的可信度,这个故事反映了关联规则推荐背后最朴素的逻辑:其他用户经常把哪些商品放在一起购买,我也应该有这方面的需要。

总的来说,作为一种内容分发智能平台,它的内容分发方式是多样的;包括算法分发、编辑(人工)分发、社交分发等,内容平台会根据自身的特点选择分发效率高的分发方式。一般来说,在内容平台内会存在多种分发方式并存的情况。

例如,在新闻场景中,可能会有固定类型的新闻需要在指定位置展示,其他推荐位置才会用到算法分发。比如微博的热点场景即是算法分发,而关注板块的算法则纯粹是基于订阅的社交分发了。或者是一个业务场景,各种分发方式以权重的形式参与到最终结果的呈现中。如电商搜索板块,不仅用到了以语义和用户行为为主的个性化搜索排序,还将主推商品、流量商品等加大权重,使这些商品在分发过程中会有更大的概率会顺序较为靠前的展现在用户屏幕上。当平台有海量的内容和数以百万计、千万计的用户规模时,信息与用户的有效匹配显得尤为重要,自然会通过多种方式提高分发效率。

三、智能推荐与分类目录和搜索引擎有何不同


在如今的互联网时代,我们大致经历了三种信息获取方式:分类目录、搜索引擎、智能推荐。它们并分别诞生了提供三种信息获取方式服务获得成功的公司

  1. 分类目录有:雅虎、新浪;
  2. 搜索引擎有:谷歌、百度;
  3. 智能推荐有:字节跳动。

分类目录覆盖信息量有限,用户分门别类查找信息并不轻松。

搜索引擎覆盖量大,操作简单,但用户必须提供精确的关键词。

在如今信息爆炸的时代,用户依靠以上两种方式准确地获取的所需要的内容已经并不容易,特别是当他们不了解所需内容的具体分类和精确关键词时。

而智能推荐则是通过用户行为数据的计算,将用户最需要的信息主动推送给用户。其与分类目录和搜索引擎的区别体现于此。

推荐系统基于用户的静态属性与用户行为数据进行信息匹配,因每个用户存在个体性差异,所以每个用户获取的信息都是不同的,都是个性化的,并且推荐系统传递信息的过程是主动而非被动的。

我们每个人都已经离不开的网络购物恰恰向我们展现了智能推荐的优势及其必要性。商品千千万,搜索词条也是五花八门,如果不是依靠智能推荐系统为我们提供便利,我们可能很难找到自己真正想要的商品。

四、智能推荐,势在必行


不管是什么样的平台,搭建智能推荐系统、帮助用户发现内容、克服信息过载是势在必行的。智能推荐系统正潜移默化的影响着我们每个人的生活,不管我们发觉与否,我们都无法离开智能推荐系统。它正以一个最了解你的“人”的角色,活跃在你我身边,不仅使平台收益,更方便着每一位用户。

这种将人们喜爱和需求的商品及信息主动地推荐给我们的方式,恰恰迎合了人类与生俱来的惰性。相比主动地搜索,人们更喜欢被动的接受,特别是当这些信息正是我们所感兴趣的时候。如今,智能推荐无处不在。

购物平台的商品推荐,短视频平台的视频推荐,娱乐平台的音乐电影推荐,新闻资讯平台的信息推荐,甚至是社交平台的交友名片推荐

简单来讲,每款app在不同的用户手中,既可以是相同的,又可以是完全不同的。一切都会根据于你的个性和喜好而定义,这就是智能推荐的本质所在。

更多推荐

微服务 第二章 CountDownLatch和Semaphone的应用

系列文章目录第二章CountDownLatch和Semaphone的应用第一章Java线程池技术应用文章目录系列文章目录前言1、CountDownLatch1.1、应用场景2、Semaphone前言JavaJUI之并发编程,CountDownLatch和Semaphone的应用1、CountDownLatchCount

【机器学习】TF-IDF以及TfidfVectorizer

TF-IDF定义TF-IDF:全称为"词频一逆文档频率"。TF:某一给定词语在该文档中出现的频率。TFw=词语w在该文档中个数该文档内总词个数TF_w=\frac{词语w在该文档中个数}{该文档内总词个数}TFw​=该文档内总词个数词语w在该文档中个数​。IDF:整个训练集文档集合一共由NNN篇文档组成,其中包含某个给

一文了解云计算

目录🍎云服务🍎云计算类型🍒公有云🍒私有云🍒混合云🍎云计算服务模式🍒IaaS基础设施即服务🍒PaaS平台即服务🍒SaaS软件即服务🍒三者之间区别🦐博客主页:大虾好吃吗的博客🦐专栏地址:闲谈专栏地址云服务云计算是通过互联网提供一个计算服务,其中包括服务器、数据库、存储以及各种应用服务,采用按需付费的

SpringBoot+MyBatisPlus+MySQL不能储存(保存)emoji表情问题解决

1.之前在学习过程中不知道utf8和utf8mb4的区别,也没过多去了解,直到最近设置的数据库编码全是utf8后发现问题所在了,居然不能储存表情包!!!整个人直接傻了,后面知道了utf8是3字节不能储存表情,utf8mb4才可以,废话不多说马上整改,接下来的一幕就令人头疼了。2.我的mysql版本是5.7.40,首先按

Jenkins :添加node权限获取凭据、执行命令

拥有Jenkinsagent权限的账号可以对node节点进行操作,通过添加不同的node可以让流水线项目在不同的节点上运行,安装Jenkins的主机默认作为master节点。1.Jenkins添加node获取明文凭据通过添加node节点,本地监听ssh认证,选则凭据(明文)进行ssh认证,拿到密码。1.新建节点-man

iOS应用上线需要注意的问题

将iOS应用上线到AppStore需要仔细注意一系列问题,以确保应用的质量、安全性和用户体验。以下是一些在iOS应用上线过程中需要注意的关键问题,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。1.开发者账号:确保你拥有有效的苹果开发者账号,可以在苹果开发者中心进行注册和管理。2.应

HTML5数据推送SSE原理及应用开发

JavaScript表达行为,CSS表达外观,注意HTML既表达结构(逻辑结构),又表达内容(数据本身)通常需要更新数据时,并不需要更新结构,正是这种不改变组织结构仅改变数据的诉求,推动了数据拉取和数据推送技术的产生。SSE是一种允许服务器端向客户端推送新数据(简称数据推送)的HTML5技术。数据推送有两种替代方案:无

全国“十城千企”中小企业数字化服务行(厦门站),攸信技术为中小企业来访团“把脉问诊”!

近日,由厦门市工业和信息化局、市国资委联合主办的2023年全国“百场万企”大中小企业融通对接活动暨全国“十城千企”中小企业数字化服务行(厦门站)在厦顺利召开。众多行业知名企业会聚,聚焦中小企业智能化改造和数字化转型升级。本次活动,主办方组织与会中小企业,组团走进数字化标杆单位观摩交流“取真经”,攸信技术作为数字化转型标

第十四届蓝桥杯省赛 C/C++ A 组 H 题——异或和之和(AC)

目录1.异或和之和1.题目描述2.输入格式3.输出格式4.样例输入5.样例输出6.数据范围7.原题链接2.解题思路3.AC_Code1.异或和之和1.题目描述给定一个数组AiA_iAi​,分别求其每个子段的异或和,并求出它们的和。或者说,对于每组满足1≤L≤R≤n1\leqL\leqR\leqn1≤L≤R≤n的L,RL

数据库管理-第106期 以前版本Oracle数据库中的AI与向量应用(20230912)

数据库管理-第106期以前版本Oracle数据库中的AI与向量应用(20230912)2023年OracleCloudWorld(下简称OCW)大会(以前叫OOW)美国当地时间9月18日-9月21日在美国召开。作为世界领先的数据库,数据库行业从业者都应该关注和学习。在本次OCW中,除了与微软Azure更加深入的合作(即

【C++】动态内存管理 ① ( C 语言中的动态内存管理 | C 语言 内存申请 | C 语言 内存释放 | 代码示例 )

文章目录一、动态内存管理二、C语言中的动态内存管理1、C语言内存申请2、C语言内存释放3、代码示例-C语言动态内存管理一、动态内存管理动态内存管理由内存的申请内存的释放构成,这里的内存指的是堆内存,与之相对的是栈内存;在程序运行时过程中,经常根据需要进行动态内存管理,从而更加灵活地管理内存资源,包括:分配堆内存中的内存

热文推荐