推荐系统如何处理数据?

据统计,全球数据总量预计2020年达到44ZB,中国数据量将达到8060EB,占全球数据总量的18%。现阶段我们所讨论的人工智能,很大程度上都是在谈“人工智能”这个大概念下机器学习领域中的深度学习技术。它的底层原理相对简单,对数据有很大的依赖性,本质上是一种基于大数据的统计分析技术。

推荐系统作为人工智能的落地场景之一,对数据的依赖性不言而喻。企业通过前期的数据收集,全面了解自身的产品和目标用户;之后,通过一系列的数据挖掘技术,对目标用户进行分类,刻画用户画像;最后,再通过数据决策,制定产品运营方案,并不断迭代、优化产品细节。可以说,没有前期的数据,之后的一系列操作无从谈起。

那么,推荐系统是如何处理数据的呢?

一个典型的推荐系统,处理数据通常会经历以下四步:即数据收集、数据存储、数据分析和数据过滤。

数据收集

实现推荐系统的第一步便是收集数据。这些数据可以是显性数据,也可以是隐性数据。显性数据就是指用户主动输入的数据,例如对内容的评论、点赞、转发、下载等,隐性数据是指用户的浏览历史、阅读时长、观看记录、搜索日志等。后台会为每一个使用该产品/访问该站点的用户创建一个数据集。

用户的行为数据很容易收集,通过站点上的用户行为日志就能获取。如果用户已经在使用APP,获取用户的行为数据就不需要用户的额外操作。但这种方法有一个缺点,获取的数据分析起来很麻烦。比如说,从用户的大量行为日志中过滤出真正需要的日志非常麻烦。

由于每个用户对产品的喜好不一,因此收集到的每位用户的数据集也截然不同。随着时间的推移,收集到的用户数据也越来越多,通过一系列数据分析,推荐的结果也会越来越精准。

数据存储

我们为推荐算法提供的数据越多,推荐的效果就会越精准。这也就意味着,任何推荐问题都可以转变为大数据分析问题来解决。

用于创建推荐结果的数据类型可帮助我们确定应使用的数据存储类型。我们可以选择使用NoSQL(Not Only SQL)数据库、标准SQL数据库,甚至是某种对象存储。根据不同的存储目的如获取用户输入/行为,以及操作的难易程度、存储的数量级、与其他环境的集成以及数据的可移植性等因素,选择合适的数据存储类型。

在保存用户评级或评论时,可扩展和可托管的数据库能够最大限度地减少所需的任务量,将注意力聚焦在推荐结果上。 Cloud SQL可以满足这两种需求,还可以直接从Spark上加载数据。

数据分析

为了获取类似用户参与度之类的数据,我们需要使用不同的分析方法过滤数据。如果想在用户浏览产品时即时给出推荐结果,那么需要更加灵活的数据分析方法。以下是分析数据的一些方法:

?实时分析

可以在创建数据的同时对其进行处理。这种类型的系统通常包含可以处理和分析事件流的工具。要想给出用户实时的推荐结果,就要创建实时的数据分析系统。

?批量分析

要求定期处理数据。采用这种方法,意味着要有足够的数据才能分析数据之间的相关性,例如每日阅读量、关注量等。推荐结果可能会通过邮件形式发送给用户。

?近实时分析

每隔几分钟或几秒钟刷新一次后可以快速收集数据,进行分析。近实时系统最适合在一次浏览会话期间给出推荐结果。

数据过滤

下一步便是过滤数据,获取为用户提供推荐所需的相关数据。我们得先从上面的算法中选择一种更合适的算法。比如说:

基于内容的过滤:推荐的产品具有与目标用户喜欢的产品类似的特征;

聚类:对目标用户进行分类,处于某一个簇中的用户会被当成一个整体来对待;

协同过滤:目标用户喜欢其他用户喜欢的某一产品,那他也可能喜欢其他用户喜欢的其他产品。

协同过滤能够使产品属性理论化,并根据用户的口味进行预测。协同过滤的假设基础是:如果一位用户喜欢另一位用户喜欢的某一个产品,那么现在或将来他也有可能喜欢这位用户喜欢的另一个产品。

我们将产品和用户作为两个不同维度,把有关评级或互动的数据表示为一组矩阵。假设以下两个矩阵相似,如果用数字1代替现有的评级,用0补上缺少的评级,就能得到第二个矩阵。生成的矩阵为真值表,其中数字表示用户与产品之间的交互。

我们可以使用K-Nearest算法、Jaccard系数、Dijkstra算法、余弦相似性来更好地关联用户数据集,以便根据评级或产品特征进行推荐。

最后,根据推荐类型的及时性,用户就会得到相应的算法推荐结果。

先荐是一款赋能媒体的AI产品,是集内容上传、内容管理、内容分发、推荐干预、前端渲染于一体的一站式推荐服务可视化平台,支持PC、WAP、APP全平台接入,帮助媒体从0到1搭建推荐系统,显著提升用户活跃、留存、观看时长等重要业务指标,在减少技术成本投入的同时,大幅提高媒体运营效率,从而实现业务智能化转型。目前已服务人民日报、环球网、花瓣网、果壳网、段友、36氪、简书等三百余家内容平台,其中在环球网web端的兴趣推荐项目上,实现了点击率58%的提升,同时访问量和营收分别增长了69%、20%。

原文地址:https://blog.51cto.com/13945147/2430835

时间: 2024-10-25 15:29:36

推荐系统如何处理数据?的相关文章

分析微信如何处理数据的存储

微信本来作为一个社交的工具因为吸引了众多的用户被加入了越来越多的功能,有些功能比如支付之类的需要有更高的安全保障. 如何保证数据的安全呢? 从数据存放的位置来看,有些数据可以放在移动端,有些放在服务端. 数据在服务端 传统的C/S, B/S结构的应用的数据基本都在服务端,所以对保证数据的安全已经有很多成熟的方案,比如在数据传输的过程中采用安全的连接(SSL), 本地的数据基本在数据库里,保护数据库的数据不外泄,安全要求很高的话也可以加密数据库的数据. 数据在移动端 Android里在移动端存储数

京东如何处理数据中心网络对应用性能的影响

?随着现代数据中心规模的不断扩张,网络拓扑和路由转发变得越来越复杂.传统的数据中心使用大型机和小型机,网络规模相对较小,普通的机框式交换机就能满足网络的需求.随着CLOS集群架构的普及,标准的x86服务器集群以低成本和高扩展性逐渐取代大型机和小型机而成为数据中心的主流. 下图就是一个典型的基于CLOS架构的数据中心解决方案,在这样的大规模网络中,如何让数据在传输过程中能以最快的速度从发送端到接收端,成为网络性能调优的关键因素. 京东IT资源服务部举办的未来数据中心核心技术研讨会上,京东人工智能,

SQLServer中游标是如何处理数据的?

游标(Cursor)是处理数据的一种方法,为了查看或者处理结果集中的数据,游标提供了在结果集中一次以行或者多行前进或向后浏览数据的能力.我们可以把游标当作一个指针,它可以指定结果中的任何位置,然后允许用户对指定位置的数据进行处理. 1.游标的组成 游标包含两个部分:一个是游标结果集.一个是游标位置. 游标结果集:定义该游标得SELECT语句返回的行的集合.游标位置:指向这个结果集某一行的当前指针. 2.游标的分类 游标共有3类: API服务器游标 Transaction-SQL游标 API客户端

lua中是 ffi 解析 【是如何处理数据包的/pkt是如何传进去的】

lua中的ffi是如何解析的呢? 拿bcc中对proto的解析说起: metatype是有大学问的: ffi.metatype(ffi.typeof('struct ip_t'), { __index = { -- Skip IP header length (stored as number of words) -- e.g. hlen = 5, Header Length = 5 x sizeof(u32) = 20 octets -- Mask first nibble and shift

机器不学习:如何处理数据中的「类别不平衡」?

机器不学习 jqbxx.com -机器学习好网站 机器学习中常常会遇到数据的类别不平衡(class imbalance),也叫数据偏斜(class skew).以常见的二分类问题为例,我们希望预测病人是否得了某种罕见疾病.但在历史数据中,阳性的比例可能很低(如百分之0.1).在这种情况下,学习出好的分类器是很难的,而且在这种情况下得到结论往往也是很具迷惑性的. 以上面提到的场景来说,如果我们的分类器总是预测一个人未患病,即预测为反例,那么我们依然有高达99.9%的预测准确率.然而这种结果是没有意

如何处理数据不均衡问题(分类问题)

本文作者用python代码示例解释了3种处理不平衡数据集的可选方法,包括数据层面上的2种重采样数据集方法和算法层面上的1个集成分类器方法. 分类是机器学习最常见的问题之一,处理它的最佳方法是从分析和探索数据集开始,即从探索式数据分析(Exploratory Data Analysis, EDA)开始.除了生成尽可能多的数据见解和信息,它还用于查找数据集中可能存在的任何问题.在分析用于分类的数据集时,类别不平衡是常见问题之一. 什么是数据不平衡(类别不平衡)? 数据不平衡通常反映了数据集中类别的不

(第9篇)大数据的的超级应用——数据挖掘-推荐系统

数据挖掘--推荐系统 大数据可以认为是许多数据的聚合,数据挖掘是把这些数据的价值发掘出来,比如有过去10年的气象数据,通过数据挖掘,几乎可以预测明天的天气是怎么样的,有较大概率是正确的. 机器学习是人工智能的核心,对大数据进行发掘,靠人工肯定是做不来的,那就得靠机器代替人工得到一个有效模型,通过该模型将大数据中的价值体现出来. 本章内容: 1) 数据挖掘和机器学习概念 2) 一个机器学习应用方向--推荐系统 3) 推荐算法--基于内容的推荐方法 4) 推荐算法--基于协同过滤的推荐方法 5) 基

纯干货分享:人工智能与大数据开发的12个注意点,经验之谈

人工智能是近年来科技发展的重要方向,在大数据时代,对数据采集.挖掘.应用的技术越来越受到瞩目.在人工智能和大数据的开发过程中,有哪些特别需要注意的要点? 人工智能领域的算法大师.华盛顿大学教授Pedro Domingos对此进行了深入思考. 在我们新近翻译的<智能Web算法>(第2版)中,对Pedro Domingos教授的观点进行了高度的概括,提炼出12个注意点,为行业开发实践提供了重要参考: 注意点1:你的数据未必可靠 对大数据的概念都是模糊不清的,大数据是什么,能做什么,学的时候,该按照

猜你喜欢-----推荐系统原理介绍

写在正文之前   最近在做推荐系统,在项目组内做了一个分享.今天有些时间,就将逻辑梳理一遍,将ppt内容用文字沉淀下来,便于接下来对推荐系统的进一步研究.推荐系统确实是极度复杂,要走的路还很长. A First Glance   为什么需要推荐系统--信息过载   随着互联网行业的井喷式发展,获取信息的方式越来越多,人们从主动获取信息逐渐变成了被动接受信息,信息量也在以几何倍数式爆发增长.举一个例子,PC时代用google reader,常常有上千条未读博客更新:如今的微信公众号,也有大量的红点