什么是RecEng:算法
推荐引擎( Recommendation Engine,简称RecEng )是在阿里云计算环境下创建的一套推荐服务框架,用于实时预测用户对物品偏好,支持您定制推荐算法,支持 A/B Test 效果对比。 阿里云推荐引擎,以数据驱动业务,经过人工智能实现1对1营销,为您的顾客提供量身定作的服务,帮助企业快速创新。同时可以为您的企业下降运营成本,提升顾客对企业的满意度和忠诚度,提高企业的业务目标。
安全
课程详细内容:搭建个性化推荐引擎系统
框架
本认证系统的讲解了推荐系统的概念、应用、算法原理,并详细介绍了阿里的推荐引擎产品RecEng,最后经过一个微项目让学员亲自动手搭建一个推荐系统。less
整个过程分为数据上传、数据预处理、推荐系统设置、测试上线四个部分,学员可参考本实验,结合企业自身业务和需求,将所学应用到实践中去。测试
经过本案例,学员可了解推荐系统的概念、应用、算法原理以及阿里的推荐引擎产品RecEng的使用方法。经过动手实践,学员能够独立使用推荐引擎产品RecEng快速搭建企业推荐系统。
网站
推荐引擎基本概念:
阿里云
指RecEng的使用者,系统中由其阿里云帐号表明。一般客户是一个组织,RecEng中经常使用org表示客户。云计算
指客户的用户,即RecEng使用者的用户。推荐是一个2C的服务,使用推荐服务的客户必然有其本身的用户,RecEng使用者的用户简称为“用户”,系统中经常使用user表示用户。人工智能
指被推荐给用户的内容,能够是商品,也能够是歌曲,视频等其余内容,系统中经常使用item表示物品。线程
业务针对数据集定义,定义了算法所能使用的数据范围。一个客户在RecEng上能够有多个业务,不一样的业务必然有不一样的数据集。RecEng要求每一个业务提供四类数据(不要求所有提供):用户数据,物品数据,用户行为数据,推荐效果数据。每一组这样的数据就构成一个业务。系统中经常使用biz表示业务。
好比某客户A有两类被推荐的物品,分别是视频和歌曲,因而客户A能够在RecEng上创建两个业务M和N,其中M的物品数据为视频,N的物品数据为歌曲,其余的数据(指用户数据,用户行为数据等)能够都相同。在这种方案下,业务M和N的数据是独立的,即业务M虽然能看到用户对于歌曲的行为,可是业务M中不包含歌曲的物品数据,因此会丢弃用户对于歌曲的行为;若是业务M中某用户只对歌曲有行为,对视频没有行为,业务M也会丢弃这类用户。反之对业务N亦然。
一个业务最好只推荐一类物品。多类物品的推荐在后续的行业模板会有支持,须要引入板块(plate)的概念,一份业务数据能够生成多个板块的数据集,场景绑定某个板块进行推荐算法计算。
场景指的是推荐的上下文,每一个场景都会输出一个API,场景由推荐时可用的参数决定。有两种场景最为常见,分别是首页推荐场景和详情页推荐场景。顾名思义,在执行首页推荐时,可用的参数只有用户信息;而在执行详情页推荐时,可用的参数除了用户信息,还包括当前详情页上所展现的物品信息。系统中经常使用scn表示场景。
一个业务能够包含多个场景,即对于某个业务A,它包含多个首页场景也是彻底能够的。
事实上,回到场景的原始定义,场景只是由推荐的上下文决定,客户彻底能够根据本身的需求创建全新的场景,好比针对搜索关键词的推荐场景,这时可用的参数除了用户信息,还有用户所输入的关键词。
算法流程指数据端到端的处理流程,一部分流程属于业务范畴,如数据导入流程,效果计算流程,数据质量分计算流程;一部分属于场景,好比场景算法流程。从数据源类型和产出来划分,又分为离线流程,近线流程,在线流程
1. 离线流程
通常状况下,离线流程的输入和输出都是MaxCompute(原ODPS)表,因此离线数据规范其实上是一组MaxCompute表的格式规范,包括接入数据、中间数据和输出数据三类数据的格式规范。接入数据指客户离线提供的用户、物品、日志等数据,中间数据是在离线算法流程中产生的各类中间性质的结果数据表,输出数据是指推荐结果数据表,该结果最终将会被导入到在线存储中,供在线计算模块使用。
2. 近线流程
推荐引擎的的近线流程主要处理用户行为发生变化、推荐物品发生更新时,对离线推荐结果进行更新。不像离线算法,自然以MaxCompute(原ODPS)表做为输入和输出,近线程序的输入数据能够来自多个数据源,如在线的表格存储(原OTS),以及用户的API请求,又或者是程序中的变量;输出能够是程序变量,或者写回在线存储,或者返回给用户。出于安全性考虑,推荐引擎提供了一组SDK供客户自定义在线代码读写在线存储(Table Store),不容许直接访问,因此须要定义每类在线存储的别名和格式。对于须要频繁使用的在线数据,不管其来自在线存储仍是用户的API请求,RecEng会预先读好,保存在在线程序的变量中,客户自定义代码能够直接读写这些变量中的数据。
3. 在线流程
推荐引擎的的在线流程负责的任务是推荐API接收到API请求时,实时对离线和近线修正产生的推荐结果进行过滤、排重、补足等处理;后者主要处理用户行为发生变化、推荐物品发生更新时,对离线推荐结果进行更新
一个场景只包含一个离线流程和一个近线流程,能够包含多个在线流程,用于支持A/BTest。
算法策略定义了一套离线/近线流程。而且透出相关的算法参数,帮助客户构建本身的算法流程。一个场景能够配置多个算法策略,最终会合并执行,产出一系列推荐候选集和过滤集,在线流程经过引用这些候选集来完成个性化推荐。
做业指运行中的离线流程实例,做业和离线流程的关系彻底等同于进程和程序的关系。每一个做业都是不可重入的,即对每一个离线流程,同一时间只容许运行一份实例。做业直接存在上下游关系,若是上游做业失败,下游任务也会被取消。
更多精品技术课程:
阿里云大学官网(阿里云大学 - 官方网站,云生态下的创新人才工场)