智能场景(猜你喜欢)
RES提供了智能场景包括猜你喜欢、热门推荐和关联推荐。仅需要简单的配置和作业训练,即可获取推荐结果。
本章节以猜你喜欢为例,帮助您快速熟悉智能场景的使用过程。开始使用样例前,请仔细阅读准备工作罗列的要求,提前完成准备工作。使用智能场景获取推荐结果的步骤如下所示:
步骤1:准备数据
RES在公共OBS桶中提供了猜你喜欢的示例数据集,命名为“test-data”,因此,本文的操作示例使用此数据集进行构建。您需要执行如下操作,将数据集上传至您的OBS目录下,即准备工作中您创建的OBS目录。
- 单击下载样例数据,将“test-data”数据集下载至本地。
- 在本地,将“test-data”压缩包解压。例如,解压至本地“test-data”文件夹下。
- 在“test-data”文件夹下,将behavior.txt中的每条数据的actionTime字段的值修改到当前时间附近。将item.txt中的每条数据的publishTime字段的值修改到当前时间附近,将item.txt中的每条数据的expireTime字段的值修改成大于当前时间的值,避免数据因为过期被过滤掉。
- 查询当前时间戳,网址https://tool.lu/timestamp。
图1 查询当前时间戳
- 将behavior.txt中的每条数据的actionTime字段的值修改到当前时间附近。
图2 修改behavior.txt文件
- 将item.txt中的每条数据的publishTime字段的值修改到当前时间附近,将item.txt中的每条数据的expireTime字段的值修改成大于当前时间的值。
图3 修改item.txt文件
- 查询当前时间戳,网址https://tool.lu/timestamp。
- 将“test-data”文件夹下的所有文件上传至准备工作中您创建的OBS路径下。
步骤2:创建离线数据源
数据下载并上传至OBS后,您需要创建一个数据源用于后续的计算。具体操作步骤如下:
- 登录RES管理控制台,在左侧菜单栏中选择“数据源”,进入“数据源”列表页面。
- 单击“创建”,在创建数据源页面,输入数据源名称,选择离线计算规格,然后单击选择数据的OBS存储路径。
图4 创建离线数据源
- 数据路径选择完成后单击“立即创建”。
- 离线数据源创建完成后,在数据源列表页面单击目标数据源名称进行数据质量管理,具体操作请参见推荐系统用户指南>数据源质量管理,完成数据探索并生成数据质量报告,此步骤完成后创建的数据源才可用。
步骤3:创建智能场景
- 登录RES管理控制台,在左侧导航栏中选择“推荐业务>智能场景”,默认进入“智能场景”列表。
- 在智能场景列表中,单击右上角“创建”,进入“创建智能场景”页面。
- 在创建智能场景页面的“模板选择”页签,单击“猜你喜欢”进行参数配置。填写“基本信息”和“个性化配置”相关参数。
图5 创建智能场景
表1 智能场景参数说明 参数名称
子参数
说明
基本信息
名称
自定义的名称。只能包含数字、大小写字母、下划线和中划线,长度不能超过64位且不能为空。
名称创建之后不支持修改。
数据源
从右侧下拉框中选择RES系统中已有的数据源。当无可用数据源时,此下拉框为空。
描述
对于该场景的描述信息。
场景规格
-
选择离线计算、实时计算、排序模型训练规格和在线并发数。
个性化配置
匹配特征对
匹配用户和物品特征,以便于筛选出该用户相关联的物品进行推荐。
- 用户特征名:从下拉框中选择目标用户特征用于和物品特征进行匹配。
- 物品特征名:从下拉框中选择目标物品特征用于匹配用户特征,更好的做出推荐。
- 权重:取值为0.01-1。权重越高,该匹配特征所被优先推荐的概率越高。
- 匹配个数度量:默认不勾选。当勾选之后表示满足的匹配程度。
- 操作:选择删除某个匹配特征对。
行为过滤
指定时间区间内用户对物品有过指定的行为类型记录时,将过滤掉相应物品。
其中排除行为过滤是指将有此行为类型的物品排除掉,不对其进行过滤。
例如,对于用户过去3天内有过曝光行为的物品过滤,但是可以对曝光过但是有购买行为的物品进行排除,不对其进行过滤。
开启调度
开启调度,按照指定的调度策略定期执行作业。
- “调度周期”:调度周期可选“天”或“周”。
- “调度类型”:包括自定义和间隔调度。
- “开始调度时间”:选择具体的调度时间。当调度周期选择为“周”时,可在此下拉框中勾选星期一到星期天的任一天进行调度。
- “时间间隔”:如果选择的调度类型为间隔调度,需要配置调度的时间间隔。
- 配置完成后单击“立即创建”。
创建成功后会自动跳转到“智能场景”列表页面并提示您创建成功。针对创建好的智能场景,您可以单击操作列的“发布”。待场景状态为“运行中”时,您可以在智能场景列表页面单击目标场景名称进入详情页面进行“编辑”、“预测”和“效果评估”操作。
步骤4:获取预测结果
智能场景发布运行成功后,当服务状态会显示“运行中”,表示状态正常。您可以通过预测功能测试推荐结果进一步调整作业参数,也可以通过预测接口来调用API,获取推荐结果。
- 登录RES管理控制台,在左侧菜单栏中选择“推荐业务>智能场景”,进入智能场景列表页面。
- 单击“已完成”状态的目标服务名称进入智能场景详情页面,单击“预测”页签,包括两种预测方式。此样例以页面预测代码为例,指导您获取推荐结果。
- 选择“代码”方式,在左侧框内输入预测代码,单击“预测”后在右侧显示预测结果,如图6所示。输入用户ID和推荐数量,根据您设置的策略返回用户的预测结果。
- 请求代码
“id”为需要请求的用户id,“rec_num”为推荐物品的数量。
{ "id":"user894", "rec_num": 10 }
- 预测结果
“flow_id”代表流程id,“rec_num”为推荐物品结果的数量,“candidates”为候选集结果,字段“id”为推荐结果物料id,“score”为推荐物料的评分,“source”代表该推荐物料来源策略。
{ "flow_id": "flow1", "rec_num": 10, "candidates": [ { "id": "item235", "score": 0.58418584, "source": "WeightBehavior-DIREC" }, { "id": "item338", "score": 0.5653803, "source": "WeightBehavior-DIREC" }, { "id": "item709", "score": 0.55219465, "source": "WeightBehavior-DIREC" }, { "id": "item960", "score": 0.55219465, "source": "WeightBehavior-DIREC" }, { "id": "item469", "score": 0.55219465, "source": "WeightBehavior-DIREC" }, { "id": "item236", "score": 0.55219465, "source": "WeightBehavior-DIREC" } ] }
- 请求代码