什么是智能推荐?智能推荐的原理是什么?
一、智能推荐的魔力
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、基于关联规则的推荐
在电商领域应用较为广泛的另一种推荐算法是基于关联规则的推荐,从本质上讲它类似于协同过滤算法,只是它协同的是用户自己的购买记录。典型的故事是啤酒与尿不湿的故事,虽然该故事的来源已无从考究,但却是目前大众认知度最高的一个数据带来的收益的案例。故事的内容是:北美的超市经营者经过数据分析发现,啤酒和尿不湿在同一张订单中出现的概率较高。于是深入下去研究,发现在家庭中买尿不湿的事情大都由家里的男人去做,而男人在买尿不湿的时候总会随手带几罐啤酒。于是通过调整货架摆放,把尿不湿和啤酒放在一起,让更多男人在买尿不湿的时候随手带一打啤酒,结果销售量大增。
故事本身相当经不起推敲,比如反正尿不湿和啤酒总是要一起买,那么就不应该把它们放在一起,而是保持一些距离。在动线设计上让用户行走在两种商品的过程中摆放一些男人会随手带的其它商品,收益率也许会更高。我们暂不去讨论这个故事的可信度,这个故事反映了关联规则推荐背后最朴素的逻辑:其他用户经常把哪些商品放在一起购买,我也应该有这方面的需要。
总的来说,作为一种内容分发智能平台,它的内容分发方式是多样的;包括算法分发、编辑(人工)分发、社交分发等,内容平台会根据自身的特点选择分发效率高的分发方式。一般来说,在内容平台内会存在多种分发方式并存的情况。
例如,在新闻场景中,可能会有固定类型的新闻需要在指定位置展示,其他推荐位置才会用到算法分发。比如微博的热点场景即是算法分发,而关注板块的算法则纯粹是基于订阅的社交分发了。或者是一个业务场景,各种分发方式以权重的形式参与到最终结果的呈现中。如电商搜索板块,不仅用到了以语义和用户行为为主的个性化搜索排序,还将主推商品、流量商品等加大权重,使这些商品在分发过程中会有更大的概率会顺序较为靠前的展现在用户屏幕上。当平台有海量的内容和数以百万计、千万计的用户规模时,信息与用户的有效匹配显得尤为重要,自然会通过多种方式提高分发效率。
三、智能推荐与分类目录和搜索引擎有何不同
在如今的互联网时代,我们大致经历了三种信息获取方式:分类目录、搜索引擎、智能推荐。它们并分别诞生了提供三种信息获取方式服务获得成功的公司。
- 分类目录有:雅虎、新浪;
- 搜索引擎有:谷歌、百度;
- 智能推荐有:字节跳动。
分类目录覆盖信息量有限,用户分门别类查找信息并不轻松。
搜索引擎覆盖量大,操作简单,但用户必须提供精确的关键词。
在如今信息爆炸的时代,用户依靠以上两种方式准确地获取的所需要的内容已经并不容易,特别是当他们不了解所需内容的具体分类和精确关键词时。
而智能推荐则是通过用户行为数据的计算,将用户最需要的信息主动推送给用户。其与分类目录和搜索引擎的区别体现于此。
推荐系统基于用户的静态属性与用户行为数据进行信息匹配,因每个用户存在个体性差异,所以每个用户获取的信息都是不同的,都是个性化的,并且推荐系统传递信息的过程是主动而非被动的。
我们每个人都已经离不开的网络购物恰恰向我们展现了智能推荐的优势及其必要性。商品千千万,搜索词条也是五花八门,如果不是依靠智能推荐系统为我们提供便利,我们可能很难找到自己真正想要的商品。
四、智能推荐,势在必行
不管是什么样的平台,搭建智能推荐系统、帮助用户发现内容、克服信息过载是势在必行的。智能推荐系统正潜移默化的影响着我们每个人的生活,不管我们发觉与否,我们都无法离开智能推荐系统。它正以一个最了解你的“人”的角色,活跃在你我身边,不仅使平台收益,更方便着每一位用户。
这种将人们喜爱和需求的商品及信息主动地推荐给我们的方式,恰恰迎合了人类与生俱来的惰性。相比主动地搜索,人们更喜欢被动的接受,特别是当这些信息正是我们所感兴趣的时候。如今,智能推荐无处不在。
购物平台的商品推荐,短视频平台的视频推荐,娱乐平台的音乐电影推荐,新闻资讯平台的信息推荐,甚至是社交平台的交友名片推荐
简单来讲,每款app在不同的用户手中,既可以是相同的,又可以是完全不同的。一切都会根据于你的个性和喜好而定义,这就是智能推荐的本质所在。
相关文章:
什么是智能推荐?智能推荐的原理是什么?
一、智能推荐的魔力 2020年的愚人节晚间,罗永浩在抖音带货,相信你也被刷屏了吧。3小时的直播过程中,22款产品轮番出场,最终首播支付交易总额突破1.1亿、整场直播观看总人数超过4800万、总销售件数逾91万,粉丝打赏音浪…...
Windows下的Elasticsearch-head安装
Windows下的Elasticsearch-head安装 参考:https://gitcode.net/mirrors/mobz/elasticsearch-head 需要用到 npm 命令,这里可以提前下载安装下Node.js 即可自动安装npm; Node.js 下载安装地址:https://nodejs.org/en/download # 进…...
两台服务器间进行文件传输
目录 方法1:使用SCP 方法2:使用rsync 使用SSH密钥 两台服务器之间进行文件传输通常可以使用SCP(Secure Copy Protocol)或rsync命令。这两种方法都是在UNIX和Linux系统上常用的工具,用于安全地复制文件和目录。以下是…...
研究生选控制嵌入式还是机器视觉好?
研究生选控制嵌入式还是机器视觉好? 我是嵌入式/硬件方向转的算法,现在是公司的算法负责人,如果再让我选一次,我是不会再选嵌入式方 向,嵌入式如果只做技术是没前途的。 你要是有一定自学能力,能自己在学校…...
SecureCRT SSH与FTP连接中文乱码
1、首先要保证服务端环境变量是UTF-8编码的 LANG”zh_CN.UTF-8″ 2、会话里面配置好字符编码:UTF-8 SSH会话的窗口就可以正常显示中文了,效果如下 3、打开FTP或者SFTP时进行文件传输时,列表窗口里面还是乱码,需要把SecureCRT安…...
OSI七层网络参考模型与数据流通过程
OSI七层网络参考模型 文章目录 OSI七层网络参考模型1. OSI参考模型初步了解2. OSI参考模型理解3. 数据流通的过程 1. OSI参考模型初步了解 OSI,英文为Open System Interconnect,意为开放式系统互连,国际化标准组织(ISO)指定了OSI模型&#x…...
数字孪生行业相关政策梳理--工业领域相关政策(可下载)
自2021年国家“十四五”规划纲要提出“探索建设数字孪生城市”以来,国家发展和改革委员会、工业和信息化部、住房和城乡建设部、水利部、农业农村部等部门纷纷出台政策,大力推动数字孪生在千行百业的落地发展。这些政策不仅为数字孪生的应用提供了广阔的…...
【工具】咸鱼之王辅助小助手来了!
自动答题的视频演示:【工具】咸鱼之王辅助小助手来了!_哔哩哔哩_bilibili 刚开始搞,还没来得及做界面,目前只做了自动答题。 欢迎感兴趣的大佬一起来开发~...
黑马JVM总结(十)
(1)直接内存_基本使用 下面我们看一下使用了ByteBuffer直接内存,大文件的读写效率是非常的高 Java本身并不具备磁盘读写的能力,它需要调用操作系统的函数,需要从java的方法内部调用本地方法操作系统的方法,…...
JPEG、GIF动图可以转换成SVG、Eps格式的矢量图吗?
在进行图片设计的过程中,我们可能需要很多不同格式的图片,例如 JPG、PNG、BMP 和 GIF 位图图像,怎么将这些图片转换成矢量图呢?一款功能强大的应用程序,能够轻松将位图图片转换成矢量图输出。Vector Magic会帮你进行自…...
数据结构与算法的力量:编写更高效的代码
文章目录 为什么数据结构和算法重要?1. 提高性能2. 节省资源3. 解决复杂问题4. 改进代码质量 常见数据结构和算法数据结构1. 数组(Array)2. 链表(Linked List)3. 栈(Stack)4. 队列(Q…...
Python批量统计pdf中“中文”字符的个数
之前的文章提供了批量识别pdf中英文的方法,详见【python爬虫】批量识别pdf中的英文,自动翻译成中文上。以及自动pdf英文转中文文档,详见【python爬虫】批量识别pdf中的英文,自动翻译成中文下。以及Python统计pdf中英文单词的个数。 本文实现Python统计pdf中中文字符的…...
LeetCode的第 363 场周赛——记录+补题
研究生生涯第一次打力扣周赛——3题 1. 计算 K 置位下标对应元素的和 class Solution { public:int cnt(int x){int sum 0;while (x) {sum ((x%2)?1:0);x/2;}return sum;}int sumIndicesWithKSetBits(vector<int>& nums, int k) {int n nums.size();int ans 0…...
【网络协议】Http-上
Http请求结构: 结构图1: 实验解析请求报文: 1.在Edge浏览器上输入ip地址端口号文件资源,也就是下图中的120.XX.139.29:8888/A/B/c.html 2.我的程序接收到了一个没有有效载荷的http请求(呼应上面的结构图1),如下 GET …...
Langchain-chatchat本地部署
Langchain-chatchat本地部署 参考官网 环境配置 conda安装 minicoda下载地址 安装时注意勾选上添加环境变量。安装完成之后使用conda --version测试一下版本。 环境创建 先配置一下conda的镜像地址(使用阿里的靠谱一些),这里要修改一下…...
SQL故障和排查解决浅析
MySQL长连接 MySQL长连接是指应用程序与MySQL数据库之间的连接在执行完一个操作后不会立即关闭,而是保持活动状态以供后续使用。这种连接模式在某些情况下可以提高性能,但也可能导致一些问题。以下是MySQL长连接的一些现象和排查方法: 现象…...
基础算法--双指针算法
双指针算法 1.基本介绍 严格的来说,双指针只能说是是算法中的一种技巧。 双指针指的是在遍历对象的过程中,不是普通的使用单个指针进行访问,而是使用两个相同方向(快慢指针)或者相反方向(对撞指针&#…...
企业工程项目管理系统源码(三控:进度组织、质量安全、预算资金成本、二平台:招采、设计管理)
工程项目管理软件(工程项目管理系统)对建设工程项目管理组织建设、项目策划决策、规划设计、施工建设到竣工交付、总结评估、运维运营,全过程、全方位的对项目进行综合管理 工程项目各模块及其功能点清单 一、系统管理 1、数据字典&am…...
生物的神经系统与机器的人工神经网络
生物的神经系统与机器的人工神经网络 文章目录 前言一、人工神经网络二、生物的神经系统三、关系四、相似与区别4.1. 相似:4.2. 区别: 总结 前言 因为本人是学生物的,并且深度学习的核心——人工神经网络与生物的神经系统息息相关,故想要在本…...
JNI 基础
一、JNI 涉及的名词概念 1.1、 JNI:Java Native Interface 它是Java平台的一个特性(并不是Android系统特有的)。实现Java代码调用C/C的代码,C/C的代码也可以调用Java的代码. 1.2、 二进制库分类 : 静态库,动态库. 静态库 系统…...
【网络】每天掌握一个Linux命令 - iftop
在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...
2025年能源电力系统与流体力学国际会议 (EPSFD 2025)
2025年能源电力系统与流体力学国际会议(EPSFD 2025)将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会,EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...
JavaScript 中的 ES|QL:利用 Apache Arrow 工具
作者:来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗?了解下一期 Elasticsearch Engineer 培训的时间吧! Elasticsearch 拥有众多新功能,助你为自己…...
前端倒计时误差!
提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...
8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂
蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长…...
循环冗余码校验CRC码 算法步骤+详细实例计算
通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)࿰…...
ffmpeg(四):滤镜命令
FFmpeg 的滤镜命令是用于音视频处理中的强大工具,可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下: ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜: ffmpeg…...
Nginx server_name 配置说明
Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...
从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)
设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile,新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...
ServerTrust 并非唯一
NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...
