全部产品

步骤五:启用推荐业务

更新时间:2017-06-07 13:26:11   分享:   

推荐引擎工作的模式为:每一个调度周期内(通常为日,我们Case中为日,即每日更新一次推荐数据),使用推荐算法离线在MaxCompute中计算一次,得到的数据用来支持当前周期内的推荐,然后可以通过调用API的方式得到推荐结果。

操作步骤如下:

  1. 启动离线计算
  2. 查看离线处理结果
  3. 使用API实现首页推荐
  4. 使用API实现详情页推荐

1. 启动离线计算

以“首页推荐”的场景为例,点击“启动离线计算”:

5256

在弹出窗口中,可以看到“数据预处理状态”为未完成,即需要先对数据进行预处理,点击“请执行数据预处理”:

5257

在“启动数据预处理”窗口中,选择数据时间为2016年4月1日,因为本Case中,假定数据的日期为2016年4月1日(ds=’20160401’)。此处时间仅为示例,您也可以根据自己的需要更改为其他时间。

点击“启动预处理”:

5258

数据预处理需要运行几分钟的时间,期间我们看查看它的运行状态。有两种方法查看,第一种,在“我的推荐”页中,点击“查看数据预处理日志”:

5259

选中想要查看的作业类型、开始时间、结束时间以及推荐业务,点击“按业务查询”:

5260

第二种,在“我的推荐”中点击“启动离线计算”:

5261

点击“请执行数据预处理”:

5262

选择需要查看状态的数据日期:

5264

选中2016-04-01,看到状态为处理中:

5263

处理成功后为:

5265

数据预处理完成后,返回“我的推荐”页面,点击“首页推荐”后的“启动离线计算”:

5266

在弹出页面中,设置“数据截止日期”为2016-04-01,点击“启动任务”,启动推荐算法对应的离线计算任务:

5267

任务的状态为运行中:

5268

该任务运行时间较长,从几分钟到几十分钟不等,视数据量大小而定,本Case大概需要运行15~20分钟。运行成功后,可以从“我的推荐”页看到执行信息:

5269

同样的方式启动“详情页推荐推荐”的离线任务,点击“启动离线计算”:

5270

弹出窗口中,将日期调整为2016-04-01,可以看到数据预处理状态为已完成,直接点击启动任务,启动详情页推荐的离线计算任务:

5271

在日志列表页中,查看作业执行详情:

5272

成功后,在“我的推荐”页,可以看到最终执行状态:

2. 查看离线处理结果

本章节为附加阅读内容,跳过不会影响本实验。

离线处理的推荐结果,会保存在在线存储中。如果您使用的自己购买的“表格存储”云产品,则可以在表格存储中看到离线产出的结果数据。登录阿里云官网(www.aliyun.com),点击“管理控制台”,进入管理控制台首页,点击“表格存储”:

5273

可以看到我们之前创建的实例,点击进入:

5274

可以看到有四张新创建的表:

5275

离线计算的结果就保存在这四张表中,后续的调用都会访问这些表,得到推荐列表。如果在线调用的并发量比较大,可以调整表的读写吞吐量:

5276

在弹出的修改界面中,调整读写吞吐量:

5277

3. 使用API实现首页推荐

现在我们可以通过API调用来访问离线计算的结果,得到针对用户的个性化推荐的电影列表。

如果一个标识为19(movielens_user_meta:user_id=19)的40岁的男性用户(movielens_user_meta:user_id=19)正停留在首页,该用户的历史评分记录如下(movilens_user_behavior:user_id=19, movielens_item_meta):

用户 电影 评分
19 Fish Called Wanda,A(1988) 4.0
19 Evil DeadII(1987) 3.0
19 Indiana Jones and the Last Crusade(1989) 3.0
19 Contact(1997) 4.0
19 Scream(1996) 3.0
19 Liar Liar(1997) 3.0
19 Butch Cassidy and the Sundance Kid(1969) 5.0
19 Groundhog Day(1993) 4.0
19 MASH(1970) 4.0
19 Chasing Amy(1997) 2.0
19 Rainmaker,The(1997) 4.0
19 Titanic(1997) 2.0
19 Everyone Says I Love You(1996) 4.0
19 Crash(1996) 4.0
19 Adventures of Priscilla,Queen of the Desert,The(1994) 3.0
19 Get Shorty(1995) 4.0
19 Stand by Me(1986) 3.0
19 American President,The(1995) 3.0
19 Babe(1995) 5.0
19 Eve’s Bayou(1997) 4.0

我们可以对该用户显示哪些推荐电影?

实际上是通过API接口查看“首页推荐”的结果,在“我的推荐”页面里,点击“首页推荐”的“API调试”:

5278

输入请求参数,点击调试接口,得到推荐结果:

5279

关联物品信息表,得到影片信息:

用户 电影 推荐得分
19 Don Juan DeMarco (1995) 1.0
19 Red Firecracker, Green Firecracker (1994) 0.99
19 A Chef in Love (1996) 0.98
19 Here Comes Cookie (1935) 0.97
19 Entertaining Angels: The Dorothy Day Story (1996) 0.96
19 Beautiful Thing (1996) 0.95

即我们可以将上述电影的相关信息显示在首页,根据该用户的历史行为,有理由判断他对这些电影更感兴趣。

对于不同的用户,推荐引擎计算出的可推荐电影列表不同;对于不同的用户,登录首页后看到的推荐电影不同。这就是我们通常说的“千人千面”,即个性化推荐。

您可以在您的网站或者APP中调用此API接口,正确传入参数后,即可得到推荐结果。

4. 使用API实现详情页推荐

如果一个标识为19(movielens_user_meta:user_id=19)的40岁的男性用户,该用户的历史评分记录如下(movilens_user_behavior:user_id=19, movielens_item_meta):

用户 电影 评分
19 Fish Called Wanda,A(1988) 4.0
19 Evil DeadII(1987) 3.0
19 Indiana Jones and the Last Crusade(1989) 3.0
19 Contact(1997) 4.0
19 Scream(1996) 3.0
19 Liar Liar(1997) 3.0
19 Butch Cassidy and the Sundance Kid(1969) 5.0
19 Groundhog Day(1993) 4.0
19 MASH(1970) 4.0
19 Chasing Amy(1997) 2.0
19 Rainmaker,The(1997) 4.0
19 Titanic(1997) 2.0
19 Everyone Says I Love You(1996) 4.0
19 Crash(1996) 4.0
19 Adventures of Priscilla,Queen of the Desert,The(1994) 3.0
19 Get Shorty(1995) 4.0
19 Stand by Me(1986) 3.0
19 American President,The(1995) 3.0
19 Babe(1995) 5.0
19 Eve’s Bayou(1997) 4.0

且该用户目前停留在电影《黄金眼》(GoldenEye (1995))的页面,则需要对该用户推荐哪些电影?

实际上是通过API接口查看“首页推荐”的结果,在“我的推荐”页面里,点击“详情页推荐”的“API调试”:

5280

填写API参数,点击调试接口,得到答案:

5281

适合推荐给他的电影依次为:

用户 电影 推荐得分
19 It’s a Wonderful Life (1946) 1.84
19 Three Colors: Red (1994) 1.78
19 Shawshank Redemption, The (1994) 1.76
19 Star Kid (1997) 1.56
19 Enchanted April (1991) 1.5
19 They Made Me a Criminal (1939) 1.38

对于相同的用户,如果他当前停留的电影详情页的位置不同,我们提供的推荐电影也不同。即我们不但可以做到通常意义上的“千人千面”,也会结合用户当前的具体信息进行更有针对性的推荐。

您可以在您的网站或者APP中调用此API接口,正确传入参数后,即可得到推荐结果。

本文导读目录
本文导读目录
以上内容是否对您有帮助?