阅读之推荐系统 - 今天学算法了吗?

阅读之推荐系统

推荐是当代各个系统的重要流量入口。近年来推荐发展逐渐的多样化,场景上逐渐覆盖到各流量入口,推荐的实体也扩展到活动、类目、运营位等。

在网站里进行推荐,可以提高整个网站的有效转化率,提高用户使用系统的舒适度。通过用户已经浏览的记录,更精准的理解用户需求,对用户进行聚类、打标签,推荐给用户感兴趣的,帮助用户快速找到需要,适时放大需求,推荐更加多样化。甚至在站外推广时,能够做个性化。

推荐分为常规推荐、个性化推荐。

个性化推荐的难点

平台前端实现用户千人千面,而后台需要建立复杂的用户行为数据采集、数据存储、数据建模和用户画像过程,单纯采集某一纬度的数据,仅能达到个性化推荐的部分效果,如果要提升个性化推荐的效果,就必须覆盖用户多领域足够全面的行为轨迹,甚至用户线下行为,这就形成了以互联网平台为核心的生态系统,要想建立全面的个性化推荐,数据采集的涉及领域需要足够广,足够深。下面从用户画像、数据采集、数据存储、数据建模讲解个性化推荐的难度。

  1. 用户画像

用户画像是通过用户兴趣、行为、自身属性建立的一个模型。通过对用户的调研、对用户行为的分析,结合业务的需求,将用户分为不同的群体;然后在群体中抽象出一些典型的特征,用结构化的信息记录下来,概括出用户的特征。

用户画像的作用

1.精准营销,分析产品潜在用户,针对特定群体利用短信邮件等方式进行营销;

2.用户统计,比如热销商品top100品牌;热度最高的新闻等等

3.数据挖掘,构建智能推荐系统,利用关联规则计算,喜欢X运动品牌的人通常还喜欢什么,利用聚类算法分析,关注x品类人的性别、年龄分布情况

4.效果评估,完善产品运营,提升服务质量,其实这也就相当于市场调研、用户调研,迅速下定位服务群体,提供高水平的服务;

5.私人定制,即个性化的服务某类群体甚至每一位用户(个人认为这是目前的发展趋势,未来的消费主流)。

6.行业分析,业务经营分析以及竞争分析,影响企业发展战略。

2.数据采集

首先需要在网站和移动App中进行埋点,在页面埋入『隐形』探针,采集用户行为数据和业务系统操作日志、从数据库中提取业务数据,采集回来存储在数据服务,采集服务器组负责将采集到的日志信息生成文件,落地到存储设备,用户行为数据采集基本上采用SDK方式;ETL服务器负责将日志文件和结构化数据导入数据存储分析集群,并将分析结果导出到数据库;数据解析服务器负责连接数据分析服务器,完成数据分析各项计算;存储服务和分析服务提供数据分布式存储和计算的基础框架。

用户行为数据的处理和分析具有较高的技术门槛:

1、SDK会采集到大量的"脏数据",包含一些空白区域和特殊符号,甚至根本没有见过的数据类型,这些脏数据的处理和分析具有较大的技术挑战,特别是数据的实时采集和处理。通常技术人员只有经历了海量数据采集和处理,填平了大量"技术坑"之后,才能形成成熟的技术架构。

2、采集的数据都是以渠道、日期、地区统计,无法定位到具体每个用户,计算统计出的数据都是规模数据,针对规模数据进行挖掘分析,无法支持,数据无法支撑系统做用户获客、留存、营销推送使用。

所以,要使系统采集的数据指标能够支持平台前端的个性化行为分析,必须围绕用户为主线来进行画像设计,在初期可视化报表成果基础上,将统计出来的不同规模数据,细分定位到每个用户,使每个数据都有一个用户归属。将分散无序的统计数据,在依据用户来衔接起来,在现有产品界面上,每个统计数据都增加一个标签,点击标签,可以展示对应每个用户的行为数据,同时可以链接到其他统计数据页面。

3数据存储

用户行为数据采集后,需要存储在数据仓库,对采集的原始数据进行ETL加工处理,首先需要处理掉存储的无效重复数据,对于用户行为没有影响或重复数据,对非结构化数据和半结构化数据进行结构化处理,并对数据进行补缺、替换、数据合并、数据拆分、数据加载和异常处理。

4数据建模

用户模型的表示方法有4类: 协同过滤模型、行为规则的模型、基于概念的用户兴趣模型与向量空间模型。向量空间模型(VSM)是最为常用的用户模型表示方法之一, 通常使用一组向量值描述用户特征, 向量的每一个维度代表用户感兴趣的一个主题。

03推荐流程

个性化推荐系统一般有三大环节:预处理 -> 召回 -> 排序 。

注:也可以认为是两层(召回 -> 排序)

预处理

第一个环节是预处理,预处理指的是对各种数据源的数据进行特征提取和特征构建,例如:内容特征提取,用户行为画像构建。

召回

第二个环节是召回,召回就是把预处理产生的特征作为输入参数,训练出推荐模型,然后使用推荐模型得出候选集合的过程。常用的召回方式有:基于内容推荐、基于协同过滤推荐等。

排序

第三个环节是排序,简单来说就是将候选集合根据一定的规则,例如:点击预估、匹配关联度、人为权重等进行调整,从而影响最后的推荐顺序。

总结:推荐系统是当前互联网时代的必要趋势,是通过大数据分析总结出个性化用户的必然结果,同过推荐满足用户的需求,通过数据挖掘满足用户的潜在需要,使用户的体验更加舒适。