8.5 离线作业
8.5.4 特征工程
1. 从离线数据中提取用户、物品画像和RES内部通用格式数据;
2. 把RES内部通用格式数据处理成训练排序模型所需的训练数据、测试数据等。
与功能对应,特征工程的两个任务分别是:
● 初始用户画像-物品画像-标准宽表生成
● 排序样本预处理
图8-14 特征工程
创建特征工程
创建特征工程操作步骤如下:
1. 在“离线作业”下,单击“特征工程”页签,单击上方“创建”,进入“创建特 征工程”页面。
2. 在“创建特征工程”页面,填写特征工程“名称”、“场景”和“描述”。
– 特征工程名称:请以“ETL-”开始,只能由字母、数字、中划线和下划线组 成,并且长度小于64个字符。
– “场景”信息可选择您在全局配置页面创建的场景。
3. 设置计算引擎信息,指定“服务名”、“集群名称”、“任务配置地址”、“资 源规格”等信息。
4. 单击“添加特征工程”,根据业务需要在下拉框中选择一个合适的策略。初始用 户画像-物品画像-标准宽表生成和排序样本预处理策略参数说明请单击策略名称 进行查看。
5. (可选)在目标策略右侧,单击“删除”,可以删除该策略。
6. 具体策略的参数说明可单击上方策略名称进行查看,策略设置完成后,单击“确 定”。作业一般需要运行一段时间,根据您的数据量和资源不同,将耗时几分钟 到几十分钟不等。
您可以前往特征工程列表,查看作业的基本情况。在作业列表中,刚创建的作业
“状态”为“计算中”,当作业“状态”变为“计算成功”时,表示作业运行结 束,可以将经过处理的数据应用于离线作业。当作业“状态”变为“计算失败”
时,您可以单击作业的名称,进入详情页面,通过查看日志等手段处理问题。
初始用户画像-物品画像-标准宽表生成
表8-7 初始用户画像-物品画像-标准宽表生成参数说明
参数名称 说明
数据源 数据在OBS的存放路径。包括用户属性表、物品属性表、用户操 作行为表。
全局特征信息文 件
用户在使用特征工程之前,需要提供一份全局的特征信息文件,
后续的特征工程、在线模块都会用到该文件。
文件数据信息请参见全局特征信息文件。
当上传的数据中的特征有变化时,用户需要同步更新该文件。该 文件为JSON格式,包含特征名、特征大类、特征值类型。
保留已有宽表 对结果保存路径中已有宽表数据的保留方式:
● 否,不保留任何已有的数据。
● 是,保留全部已有的数据。
● 覆盖,将相同日期下的数据覆盖掉,保留不同日期下的数 据。
结果保存路径 行为-用户-物品(通用格式)的保存路径。
说明使用初始用户画像-物品画像-标准宽表生成的数据时,其路径具体到文件 夹即可。
结果存储平台 存储类型有用户画像表和物品画像表两种。
● 用户画像表:用户自定义CloudTable集群名称和表名,用于 存储生成的用户数据。
● 物品画像表:用户自定义CloudTable集群名称和表名,用于 存储生成的物品数据。
● 设置数据版本:您可以单击 设置数据版本。RES的数据版 本有两种,“V1”版本即数据按照原有格式存储,未做过分 区处理。“V2”版本则会依照用户的分区设置做分区处理,
当分区合理时,数据将均匀分布在各个节点,有效利用 Cloudtable的高并发特性,提升读写效率。其中“预分区数 量”和“索引分区数量”可以根据数据量进行设置,如果读 写性能达不到要求,可以增加Cloudtable的RS单元数量提升 性能。
排序样本预处理
将内部通用格式数据处理成排序策略所要求的特定格式数据,同时进行离散化,数据 编码等特征工程处理。
表8-8 排序样本预处理输入参数说明 间内的则按异常值处理,如x=80时,x_new = 0.2。
参数名称 说明 间内的则按异常值处理,如x=80时,x_new = 0.2。
正反馈行为类型 用户自定义。行为类型来源于通用格式数据源中“behavior”
字段中“actiontype”的值。单击“ ”,增加正反馈行为类 型。您可以通过 和 来自定义权重。
负反馈行为类型 用户自定义。行为类型来源于通用格式数据源中“behavior”
字段中“actiontype”的值。单击“ ”,增加负反馈行为类 型。您可以通过 和 来自定义权重。
算子类型 排序数据处理算子类型。每一种排序算法都需要进行特定的数 据处理,需要根据使用的排序算法来选择排序数据处理类型。
LR、FM、FFM、DEEPFM、PIN这五种算法的数据处理互相通 用。
参数名称 说明 训练集测试集划分
方式
按时间或者比例来划分训练集测试集。
“TIME”
● 训练数据时间:训练数据起始时间和终止时间,该起始时间 和终止时间不得超过行为数据的时间范围。
● 测试数据时间:测试数据起始时间和终止时间,该起始时间 和终止时间不得超过行为数据的时间范围。
“RATE”
● 训练数据占比:生成的结果中,训练集占整个训练集和测试 集的比例,默认0.7。
● 测试数据占比:生成的结果中,训练集占整个训练集和测试 集的比例,默认0.3。
结果保存路径
单击 选择所有输出数据在OBS的保存根路径,会在这个根 路径下自动创建feature_map、features_info_online_use、
fields_feature_size、test_data、train_data五个文件夹,分别 保存特征映射、在线所需特征信息、域特征数量、测试集、训 练集这五个文件。
8.5.5 召回策略
召回是指对大量的物品做初选,为每一个用户形成个性化侯选集。召回策略中内置了 多种召回方式,用户可根据自己场景选择。召回策略对应流程请参见图8-15。
图8-15 召回策略
推荐系统支持的召回方式有:
● 基于特定行为热度推荐
● 基于交替最小二乘的矩阵分解推荐
● 业务规则-基于历史行为记忆生成候选集
● 业务规则-人工导入
● 基于属性匹配的召回策略
● 基于UCB算法的推荐
创建召回策略
在“创建召回策略”页面,您可以对目标数据选择不同策略进行离线计算,得到合适 的候选集。
创建召回策略操作步骤如下:
1. 在“离线作业”下,单击“召回策略”页签,单击上方“创建”,进入“创建召 回策略”页面。
2. 在“创建召回策略”页面,填写召回策略“名称”、“场景”和“描述”。
– 召回策略名称:请以“Retrieval-”开始,只能由字母、数字、中划线和下划 线组成,并且长度小于64个字符。
– “场景”信息可选择您在全局配置页面创建的场景。
3. 设置计算引擎和信息,指定“服务名”、“集群名称”、“任务配置地址”、
“资源规格”等信息。
4. 单击“添加召回策略”,根据业务需要在下拉框中选择一个合适的策略。具体策 略参数说明请单击上方策略名称查看。
图8-16 添加召回策略
5. (可选)在目标召回策略右侧,单击“查看输入输出”,可以查看输入数据和输 出数据。
6. (可选)在目标召回策略右侧,单击“设置参数”,可以对所选策略进行参数设 置。
7. (可选)在目标召回策略右侧,单击“删除”,可以删除该策略。
8. 策略设置完成后,单击“确定”。作业一般需要运行一段时间,根据您的数据量 和资源不同,训练时间将耗时几分钟到几十分钟不等,请您耐心等待。
您可以前往召回策略列表,查看作业的基本情况。在作业列表中,刚创建的作业
“状态”为“计算中”,当作业“状态”变为“计算成功”时,表示作业运行结 束,生成的候选集ID将使用于在线服务,为用户生成推荐列表。当作业“状态”
变为“计算失败”时,您可以单击作业的名称,进入详情页面,通过查看日志等 手段处理问题。
基于特定行为热度推荐
基于特定行为热度推荐通过统计用户操作行为表中物品发生某行为的次数,按照次数 从高到低返回物品列表。比如可以统计物品被购买的次数,而返回被购买次数最高的
表8-9 参数说明
● collect:用户收藏了某个物品
● uncollect:用户取消收藏某个物品
● search_click:用户点击搜索结果中的物品
● comment:用户对物品的评论
● share:分享
● like:点赞
● dislike:点衰
● grade:评分
● consume:消费
● use:观看视频/听音乐/阅读。
物品曝光
参数名称 说明 默认值 行为次数统计
方法
统计物品记录数的方式。
● pv:page view,即页面浏览量或点击量。
● uv:unique visitor,即同一个访客只记录一 条数据。
默认pv
排序算法类型 物品热度是否随着时间衰减。
● 不衰减:normal。
● 衰减:time。
不衰减
最大推荐结果
数 最多生成多少个推荐结果。
该参数会运用在“输出数据”的推荐候选集上。
100
表8-10 输入数据
数据 是否必须 描述
USER_BEHAVIOR 是 用户操作行为表。
表8-11 输出数据
名称 类型 描述
HOT_REC_OFFLINE_CAN
DIDATES CANDIDATES_SET 特定行为热度推荐算法生 成的候选集。
基于综合行为热度推荐
基于综合行为热度推荐与基于特定行为热度推荐的召回原理大体相同,不同点是用统 计几种行为的加权热度代替了特定行为热度。
表8-12 参数说明
参数名称 说明 默认值
策略别名 策略显示名称,由中文、英文、数字、下划 线、空格或者中划线组成,并且不能以空格开 始和结束,长度为1~60个字符。
默认召回策略的名 称
参数名称 说明 默认值 扩展功能 组合作业的资源选择数据源类型为“通用格
式”时,会出现扩展功能选项。
创建“基于综合行为热度推荐”的召回策略 时,当开启扩展功能,数据源类型仅支持通用 格式。
该功能表名是否使用分组推荐功能,根据全局 特征信息文件勾选的用户特征或物品特征进行 分组。
● 扩展功能开启:
● 扩展功能关闭:
默认关闭
数据源 数据源类型有初始格式和通用格式2种可选。
初始格式
● 用户操作行为表:初始单击 选择OBS中 存储的用户操作行为表。当选择数据格式为 csv时,根据情况单击 设置数据参数。
通用格式
● 通用格式数据:特征工程“初始用户画像-物品画像-标准宽表生成”算子生成的用户 推荐系统的数据。从用户特征表、物品特征 表以及用户行为表中提取用户、物品特征和 用户行为,并生成json数据,即内部通用格
● 通用格式数据:特征工程“初始用户画像-物品画像-标准宽表生成”算子生成的用户 推荐系统的数据。从用户特征表、物品特征 表以及用户行为表中提取用户、物品特征和 用户行为,并生成json数据,即内部通用格