一、阿里推荐引擎概述

推荐引擎(RecommendationEngine,以下简称RecEng,特指阿里云推荐引擎)是在阿里云计算环境下建立的一套推荐服务框架,目标是让广大中小互联网企业能够在这套框架上快速的搭建满足自身业务需求的推荐服务。

推荐服务通常由三部分组成:日志采集,推荐计算和产品对接。推荐服务首先需要采集产品中记录的用户行为日志到离线存储,然后在离线环境下利用推荐算法进行用户和物品的匹配计算,找出每个用户可能感兴趣的物品集合后,将这些预先计算好的结果推送到在线存储上,最终产品在有用户访问时通过在线API向推荐服务发起请求,获得该用户可能感兴趣的物品,完成推荐业务。

二、计费

推荐引擎费用:

API调用次数加1(百万次/月)则每个月增加100元费用。

大数据计算服务MaxCompute费用:

详细说明:https://help.aliyun.com/document_detail/53056.html?spm=a2c4g.11186623.6.559.FuCZc8

三、使用步骤

3.1 创建MaxCompute项目

3.2 资源管理----添加云计算资源

详细可查看:https://help.aliyun.com/document_detail/61024.html?spm=a2c4g.11186623.6.561.XaLMDs

3.3 业务列表----新建业务

此处的大数据计算资源就选择3.2添加的计算资源。

注:调用API接口时的bizCode值即是新建业务时填写的“业务code”。

详细步骤可查看:https://help.aliyun.com/document_detail/54456.html?spm=a2c4g.11186623.6.552.OljTzp

业务列表页面展示已经添加的业务的列表。业务是推荐引擎中的基本管理单元,业务包含基本属性、数据和场景三类信息。

业务基本属性,包含业务code、业务名称、大数据计算资源和在线存储资源。业务code是业务的唯一标识,大数据计算资源是您在资源管理中配置的大数据计算服务MaxCompute资源,在线存储资源是系统内置的在线资源或您在资源管理中配置的表格存储TableStore资源。

数据,定义了所能使用的数据范围。例如商品推荐业务的数据范围是用户数据、商品数据和行为数据等,视频推荐业务的数据范围是用户数据、视频数据和行为数据等。在推荐业务中,数据是至关重要的一环,数据的质量决定了推荐效果的上限。

场景,是指在您的APP或网站中使用推荐功能的模块,这些模块直接触达您的用户提供推荐服务。例如在商品推荐业务中,商品详情页的下方要提供一个相关商品推荐模块,那么场景就可以描述为”详情页商品相关推荐“。场景主要负责算法的配置和API调用,测试环境下的场景用于开发测试,线上环境下的场景用于和您的业务系统对接。

3.4 配置业务数据

详细说明查看:https://help.aliyun.com/document_detail/61120.html?spm=a2c4g.11186623.6.553.YxNaH8

3.5 创建推荐场景

测试没问题可发布到线上:

线上的场景也可以下线进行测试。

测试场景详细说明:https://help.aliyun.com/document_detail/61028.html?spm=a2c4g.11186623.6.555.Du3bEL

线上场景详细说明:https://help.aliyun.com/document_detail/61029.html?spm=a2c4g.11186623.6.556.sV61BW

注:调用推荐API时,参数scnCode即为此处新建场景时的“场景Code”字段。

四、数据规范

4.1 数据格式规范

推荐引擎的基础数据模型如下:

该数据模型总共包括了7张表,这些表有以下特点:

1、在MaxCompute(原来ODPS)中需要自己手工创建这些表;

2、表名没有固定要求,可以按照自己的习惯命名;

3、每张表的表结构必须符合推荐引擎的要求,列名、字段类型和分区格式需要和规范中保持一致(参考下面的表结构说明);

4、每张表中填充的数据,必须符合推荐引擎的要求;

5、 每张表中是否都有记录取决于业务场景和业务数据现状,其中以下几张表中必须有数据:用户信息表、物品信息表、用户行为表;

6、对于业务数据中无法提供的字段可以填NULL;

7、每张表都必须是分区表,以’yyyyMMdd’格式的字符型字段ds作为分区字段;

8、除了行为表需要每日上传外,其他meta表如果不发生变化可以不导,推荐引擎会自动获取最近一个有数据的分区中的meta表数据进行算法计算。

9、如果未传可推荐物品表,则将物品表全量作为可推荐物品表,继承item_info 字段;

10、推荐引擎在对数据进行离线计算时,会产生数据结果数据和中间数据。其中中间数据的数据量大小取决于所使用的离线流程中的算法复杂度。例如一个标准的协同过滤算法其中间表数据量可能是原始数据输入表数据量的5到10倍。推荐引擎默认对中间数据保留一天。

数据规范详细说明:https://help.aliyun.com/document_detail/54476.html?spm=a2c4g.11186623.6.566.MoSnfy

MaxCompute使用说明:https://help.aliyun.com/product/27797.html?spm=a2c4g.11186623.3.1.ZYs7XX

4.2 日志埋点规范

推荐引擎的日志格式为标准的JSONObject。其中对于实时行为日志,可以使用日志API这个API进行上传,将每条日志put到demo中的logs中`

日志规范详细说明:https://help.aliyun.com/document_detail/54477.html?spm=a2c4g.11186623.6.567.mzBRHi

阿里推荐引擎使用总结相关推荐

  1. 阿里云推荐引擎使用教程

    2019独角兽企业重金招聘Python工程师标准>>> 产品概述: 推荐引擎(Recommendation Engine,以下简称RecEng,特指阿里云推荐引擎)是在阿里云计算环境 ...

  2. 深入剖析阿里云推荐引擎——新架构,新体验

    摘要:本文的整理自2017云栖大会-上海峰会上阿里云算法专家郑重(卢梭)的分享讲义,从2016年2月V2.0公开使用到现在,阿里云推荐引擎有了更大的进步.有着获取排序的在线计算,修正匹配的近线计算及匹 ...

  3. 阿里云推荐引擎适用场景

    数加推荐引擎全力支持新闻资讯.短视频.直播.电商.社交.音乐.在线教育等众多推荐业务,为各类APP.网站以及其他业务提供高质量的个性化推荐服务. 课程链接:阿里云推荐引擎使用教程 常规推荐: 适用于需 ...

  4. 最老程序员创业札记:全文检索、数据挖掘、推荐引擎应用26

    清华帮 吴言在每天的第一件事都是先上到天使街转一圉,因为天使街是吴言的一个朋友Thomas创建的,吴言想给Thomas的网站增加点人气.最近这个网站各方面逐渐完善了起来,无论从内容方面,还是从版面设计 ...

  5. 最老程序员创业札记:全文检索、数据挖掘、推荐引擎应用25

    Groupon前传 吴言的基于内容的推荐引擎基本完成了,当浏览一个产品时,产品描述信息和规格中与当前产品足够接近的产品可以列在页面下部的"喜欢本产品的用户还喜欢......",对于 ...

  6. 探究推荐引擎瞬间被“秒”背后:究竟是什么让用户接踵而至?

    摘要: 推荐引擎究竟是怎样的一款产品?用户接踵而至的背后,说明了怎样的一个现象?这款产品成功的背后,又有哪些不为人知的艰辛? 6月16日,阿里云技术专家郑重(卢梭)将做客云栖社区,直播分享<技术 ...

  7. AI时代:推荐引擎正在塑造人类

    We shape our tools and afterwards our tools shape us. ------Marshall McLuhan 麦克卢汉说:"我们塑造了工具,反过来 ...

  8. 如何使用 Python 构建推荐引擎?

    作者 | Craig Kerstiens 译者 | 弯月,编辑 | 王晓曼 头图 | CSDN 下载自东方IC 来源 | CSDN(ID:CSDNnews) 我非常喜欢数据.数据可以告诉你用户在干什么 ...

  9. php推荐引擎算法,推荐系统,第 2 部分: 开源引擎简介

    问题导读: 1.简单的推荐生态系统是怎么样的? 2.常见的推荐算法有哪些? 3.怎么用restful服务构建推荐系统? 上一篇: 推荐系统,第 1 部分: 方法和算法简介 http://www.abo ...

最新文章

  1. 2021年大数据Spark(三十九):SparkStreaming实战案例四 窗口函数
  2. 使用Rust + Electron开发跨平台桌面应用 ( 一 )
  3. android-Bitmap,View,Canvas大综合
  4. dedecms channel php,织梦标签代码Channel标记怎么用
  5. 在当当买了python怎么下载源代码-爬虫实战:爬取当当网所有 Python 书籍
  6. RecyclerView notifyItem闪屏问题
  7. 【数据竞赛】“达观杯”文本智能处理挑战赛5
  8. linux安装完怎么分区,Linux系统安装模式下硬盘分区怎么做?
  9. java 网站开发实例_完整的javaweb项目
  10. python语言中print函数的作用_python中如何使用print函数
  11. 1584 - Circular Sequence
  12. Java中的Object类的toString()方法,equals()方法
  13. linux ubuntu文件系统,Ubuntu Linux 文件系统的主要目录
  14. 域 禁用计算机,域成员 在 Windows 10 (禁用计算机帐户) - Windows security | Microsoft Docs...
  15. 易学性vs易用性,产品应该选哪边?
  16. 基于snowflake的Id序列号生成器
  17. 基于STM32简易计算器
  18. 递归函数python有什么特点_递的笔顺 笔画数:10 拼音:dì 部首:辶 - 智慧山
  19. 论文阅读(9) 鱼类洄游粒子图像测速技术综述 (2016)
  20. Day2:数据类型介绍及相关使用方法

热门文章

  1. SQL Server 2016 列存储索引功能增强
  2. 卷积神经网络最全面的发展简史
  3. js判断图片是否存在
  4. 性能指标-qps、tps、tp99、并发用户数、响应时间理解
  5. 并发环境下往数据库插入数据时,多插入数据问题
  6. MySQL 错误代码提示
  7. CLO-购买云服务器
  8. Chrome浏览器各个版本区别及离线安装包下载
  9. Abseil系列一:简介
  10. 一阶段项目开始的第一天所遇到的问题和解决(浏览器滚动条的变相隐藏,div的边框阴影效果,图片的色彩渐变)...