召回策略
召回是指对大量的物品做初选,为每一个用户形成个性化侯选集。召回策略中内置了多种召回方式,用户可根据自己场景选择。召回策略对应流程请参见图1。
推荐系统支持的召回方式有:
- 基于特定行为热度推荐
- 基于综合行为热度推荐
- 基于物品的协同过滤推荐
- 基于用户的协同过滤推荐
- 基于交替最小二乘的矩阵分解推荐
- 业务规则-基于历史行为记忆生成候选集
- 业务规则-人工导入
- 基于属性匹配的召回策略
- 基于UCB算法的推荐
创建召回策略
在“创建召回策略”页面,您可以对目标数据选择不同策略进行离线计算,得到合适的候选集。
创建召回策略操作步骤如下:
- 在“离线作业”下,单击“召回策略”页签,单击上方“创建”,进入“创建召回策略”页面。
- 在“创建召回策略”页面,填写召回策略“名称”、“场景”和“描述”。
- 召回策略名称:请以“Retrieval-”开始,只能由字母、数字、中划线和下划线组成,并且长度小于64个字符。
- “场景”信息可选择您在全局配置页面创建的场景。
- 设置计算引擎和信息,指定“服务名”、“集群名称”、“任务配置地址”、“资源规格”等信息。
- 单击“添加召回策略”,根据业务需要在下拉框中选择一个合适的策略。具体策略参数说明请单击上方策略名称查看。
图2 添加召回策略
- (可选)在目标召回策略右侧,单击“查看输入输出”,可以查看输入数据和输出数据。
- (可选)在目标召回策略右侧,单击“设置参数”,可以对所选策略进行参数设置。
- (可选)在目标召回策略右侧,单击“删除”,可以删除该策略。
- 策略设置完成后,单击“确定”。作业一般需要运行一段时间,根据您的数据量和资源不同,训练时间将耗时几分钟到几十分钟不等,请您耐心等待。
您可以前往召回策略列表,查看作业的基本情况。在作业列表中,刚创建的作业“状态”为“计算中”,当作业“状态”变为“计算成功”时,表示作业运行结束,生成的候选集ID将使用于在线服务,为用户生成推荐列表。当作业“状态”变为“计算失败”时,您可以单击作业的名称,进入详情页面,通过查看日志等手段处理问题。
基于特定行为热度推荐
参数名称 |
说明 |
默认值 |
---|---|---|
策略别名 |
策略显示名称,由中文、英文、数字、下划线、空格或者中划线组成,并且不能以空格开始和结束,长度为1~60个字符。 |
默认召回策略的名称 |
数据源 |
数据源类型有初始格式和通用格式2种可选。
初始格式
通用格式
|
默认选择初始格式 |
时间选择 |
时间选择包括数据时间和行为时间跨度。
|
默认选择数据时间的当月所有数据 |
行为类型 |
在特定行为热度策略中使用,选择一种行为类型后基于该种行为热度进行推荐。 用户行为包含如下几种类型:
|
物品曝光 |
行为次数统计方法 |
统计物品记录数的方式。
|
默认pv |
排序算法类型 |
物品热度是否随着时间衰减。
|
不衰减 |
最大推荐结果数 |
最多生成多少个推荐结果。 该参数会运用在“输出数据”的推荐候选集上。 |
100 |
数据 |
是否必须 |
描述 |
---|---|---|
USER_BEHAVIOR |
是 |
用户操作行为表。 |
名称 |
类型 |
描述 |
---|---|---|
HOT_REC_OFFLINE_CANDIDATES |
CANDIDATES_SET |
特定行为热度推荐算法生成的候选集。 |
基于综合行为热度推荐
参数名称 |
说明 |
默认值 |
---|---|---|
策略别名 |
策略显示名称,由中文、英文、数字、下划线、空格或者中划线组成,并且不能以空格开始和结束,长度为1~60个字符。 |
默认召回策略的名称 |
扩展功能 |
组合作业的资源选择数据源类型为“通用格式”时,会出现扩展功能选项。 创建“基于综合行为热度推荐”的召回策略时,当开启扩展功能,数据源类型仅支持通用格式。 该功能表名是否使用分组推荐功能,根据全局特征信息文件勾选的用户特征或物品特征进行分组。
|
默认关闭 |
数据源 |
数据源类型有初始格式和通用格式2种可选。
初始格式
通用格式
|
默认选择初始格式 |
时间选择 |
时间选择包括数据时间和行为时间跨度。
|
默认选择数据时间的当月所有数据 |
行为权重 |
当用户行为信息中存在多种行为类型时,可通过指定行为的权重,来统一量化行为类型对应的评分。 用户行为权重包含:
您可以单击“增加行为权重”,新增一个行为权重。通过和来自定义权重大小。 单击可以删除对应行的行为权重。 |
物品曝光 1.0 |
全局特征信息文件 |
开启扩展功能时,此配置项生效。其中“数据源类型”您可以选择“用户特征”或者“物品特征”进行设置。
|
- |
行为次数统计方法 |
统计物品记录数的方式。
|
默认pv |
排序算法类型 |
物品热度是否随着时间衰减。
|
不衰减 |
最大推荐结果数 |
最多生成多少个推荐结果。 该参数会运用在“输出数据”的推荐候选集上。 |
100 |
数据 |
是否必须 |
描述 |
---|---|---|
USER_BEHAVIOR |
是 |
用户操作行为表。 |
名称 |
类型 |
描述 |
---|---|---|
WEIGHT_BEHAVIORS_REC_OFFLINE_CANDIDATES |
CANDIDATES_SET |
综合行为热度推荐算法生成的候选集。 |
基于物品的协同过滤推荐
参数名称 |
说明 |
默认值 |
---|---|---|
策略别名 |
策略显示名称,由中文、英文、数字、下划线、空格或者中划线组成,并且不能以空格开始和结束,长度为1~60个字符。 |
默认召回策略的名称 |
数据源 |
数据源类型有初始格式和通用格式2种可选。
初始格式
通用格式
|
默认选择初始格式 |
行为时间跨度(天) |
指定历史行为时间段,选取数据中最靠后的时间往前N天的行为数据计算用户偏好。建议至少设置30天。 |
30天 |
行为权重 |
当用户行为信息中存在多种行为类型时,可通过指定行为的权重,来统一量化行为类型对应的评分。 用户行为权重项包含如下几种类型:
您可以单击“增加行为权重”,新增一个行为权重。通过和来自定义权重大小。 单击可以删除对应行的行为权重。 |
物品曝光;1.0 |
物品最近邻域数 |
在ItemCF算法中使用,指定某个物品的若干个最近邻物品,构成该物品近邻集合。 |
50 |
相似性度量方式 |
计算用户或物品特征表达相似性的方式。在ItemCF算法中,每个物品会基于对它有过行为的用户表示为特征向量,向量每一维是一个<user_id, score>元组,score表示对应user_id的权重,该参数决定了使用何种函数计算物品向量之间的相似度。 相似性度量支持如下方式:
|
基于余弦夹角的相似性计算 |
行数 |
用于筛选物品最近邻域的条件组合参数。该值越大,筛选条件越严格。 |
5 |
条数 |
用于筛选物品最近邻域的条件组合参数。该值越小,筛选条件越严格。 |
4 |
最大推荐结果数 |
最多生成多少个推荐结果。 该参数会运用在“输出数据”的推荐候选集上。 |
100 |
数据 |
是否必须 |
描述 |
---|---|---|
USER_BEHAVIOR |
是 |
用户操作行为表。 |
名称 |
类型 |
描述 |
---|---|---|
ITEMCF_REC_OFFLINE_CANDIDATES |
CANDIDATES_SET |
ItemCF算法生成的用户-物品列表候选集。 |
ITEMCF_REC_OFFLINE_CANDIDATES |
CANDIDATES_SET |
ItemCF算法生成的物品-物品列表候选集。 |
基于用户的协同过滤推荐
参数名称 |
说明 |
默认值 |
---|---|---|
策略别名 |
策略显示名称,由中文、英文、数字、下划线、空格或者中划线组成,并且不能以空格开始和结束,长度为1~60个字符。 |
默认召回策略的名称 |
数据源 |
数据源类型有初始格式和通用格式2种可选。
初始格式
通用格式
|
默认选择初始格式 |
行为时间跨度(天) |
指定历史行为时间段,选取数据中最靠后的时间往前N天的行为数据计算用户偏好。建议至少设置30天。 |
30天 |
行为权重 |
当用户行为信息中存在多种行为类型时,可通过指定行为的权重,来统一量化行为类型对应的评分。 用户行为权重项包含如下几种类型:
您可以单击“增加行为权重”,新增一个行为权重。通过和来自定义权重大小。 单击可以删除对应行的行为权重。 |
物品曝光 1.0 |
用户最近邻域数 |
在UserCF算法中使用,指定某个用户的若干个最近邻用户,构成该用户近邻集合。 |
50 |
相似性度量方式 |
请参见表7中说明。 |
基于余弦夹角的相似性计算 |
行数 |
用于筛选用户最近邻域的条件组合参数。该值越大,筛选条件越严格。 |
5 |
条数 |
用于筛选用户最近邻域的条件组合参数。该值越小,筛选条件越严格。 |
4 |
最大推荐结果数 |
最多生成多少个推荐结果。 该参数会运用在“输出数据”的推荐候选集上。 |
100 |
数据 |
是否必须 |
描述 |
---|---|---|
USER_BEHAVIOR |
是 |
用户操作行为表。 |
名称 |
类型 |
描述 |
---|---|---|
USERCF_REC_OFFLINE_CANDIDATES |
CANDIDATES_SET |
UserCF算法生成的用户-物品列表候选集。 |
基于交替最小二乘的矩阵分解推荐
参数名称 |
说明 |
默认值 |
---|---|---|
策略别名 |
策略显示名称,由中文、英文、数字、下划线、空格或者中划线组成,并且不能以空格开始和结束,长度为1~60个字符。 |
默认召回策略的名称 |
数据源 |
数据源类型有初始格式和通用格式2种可选。
初始格式
通用格式
|
默认选择初始格式 |
行为时间跨度(天) |
指定历史行为时间段,选取数据中最靠后的时间往前N天的行为数据计算用户偏好。建议至少设置30天。 |
30天 |
行为权重 |
当用户行为信息中存在多种行为类型时,可通过指定行为的权重,来统一量化行为类型对应的评分。 用户行为权重项包含如下几种类型:
您可以单击“增加行为权重”,新增一个行为权重。通过和来自定义权重大小。 单击可以删除对应行的行为权重。 |
物品曝光 1.0 |
隐向量维度 |
在ALS算法中使用,指定用户隐向量、物品隐向量的隐含因子的维度大小。如果离线计算失败,建议调小至10以下。 |
10 |
最大迭代次数 |
指定迭代优化的最大迭代次数。如果离线计算失败,建议调小至10以下。 |
10 |
正则化系数 |
在ALS算法中使用,指定正则化系数,作为优化目标中参数项代价的系数,用于避免过拟合现象发生。 |
0.01 |
最大推荐结果数 |
最多生成多少个推荐结果。 该参数会运用在“输出数据”的推荐候选集上。 |
100 |
数据 |
是否必须 |
描述 |
---|---|---|
USER_BEHAVIOR |
是 |
用户操作行为表。 |
名称 |
类型 |
描述 |
---|---|---|
ALSCF_REC_OFFLINE_UIREC_CANDIDATES |
CANDIDATES_SET |
AlsCF算法生成的用户-物品列表候选集。 |
业务规则-基于历史行为记忆生成候选集
参数名称 |
说明 |
默认值 |
---|---|---|
策略别名 |
策略显示名称,由中文、英文、数字、下划线、空格或者中划线组成,并且不能以空格开始和结束,长度为1~60个字符。 |
默认召回策略的名称 |
数据源 |
数据源类型有初始格式和通用格式2种可选。
初始格式
通用格式
|
默认选择初始格式 |
行为时间跨度(天) |
指定历史行为时间段,选取数据中最靠后的时间往前N天的行为数据计算用户偏好。建议至少设置30天。 |
30天 |
行为类型 |
默认物品曝光,配置参数请参见表1中说明。 |
物品曝光;1次 |
最大推荐结果数 |
最多生成多少个推荐结果。 该参数会运用在“输出数据”的推荐候选集上。 |
100 |
数据 |
是否必须 |
描述 |
---|---|---|
USER_BEHAVIOR |
是 |
用户操作行为表。 |
名称 |
类型 |
描述 |
---|---|---|
CUSTOMRULE_REC_OFFLINE_UIREC_CANDIDATES |
CANDIDATES_SET |
CustomRule生成的用户-物品列表候选集。 |
业务规则-人工导入
参数名称 |
说明 |
---|---|
策略名 |
策略显示名称,由中文、英文、数字、下划线、空格或者中划线组成,并且不能以空格开始和结束,长度为1~60个字符。默认召回策略的名称。 |
OBS地址 |
用户可从此OBS地址中选择自定义物品列表。 |
输入数据
数据格式(.csv文件):
itemId1,score1
itemId2,score2
itemId为物品id,score为物品分数。score不是必选,如果不选则算法默认给物品分配分数。算法将物品列表根据分数排序后作为候选集
用户可从OBS中选择保存有人工编辑推荐结果的列表(即物品ID)。
名称 |
类型 |
描述 |
---|---|---|
MANUALRULE_REC_OFFLINE_UIREC_CANDIDATES |
CANDIDATES_SET |
人工编辑候选集。 例如,127,1 |
基于属性匹配的召回策略
基于属性匹配的召回策略会用用户画像和物品画像的相关属性进行匹配,为用户召回属性匹配程度高的若干个物品。
参数名称 |
说明 |
默认值 |
---|---|---|
策略别名 |
策略显示名称,由中文、英文、数字、下划线、空格或者中划线组成,并且不能以空格开始和结束,长度为1~60个字符。 |
默认召回策略的名称。 |
全局特征信息文件 |
用户在使用近线策略之前,需要提供全局特征信息文件,该文件中包含了离线数据中用户、物品的所有特征字段及对应数据类型,并且特征类型要始终保持一致。全局特征信息文件示例请参考全局特征信息文件。 |
- |
匹配类型 |
画像匹配类型,包括:
|
用户匹配物品 |
匹配特征对 |
用户和物品相关联特征。请根据实际情况配置参数,如果属性匹配特征对相似度较高内存不够时需提升配置。您可以单击进入“添加匹配特征对”页面进行配置。设置特征对的别名、根据全局特征信息文件匹配用户特征名和物品特征名,设置权重。 |
- |
推荐个数 |
推荐给用户的物品最大个数。 |
10 |
行数 |
该值越大筛选相似项条件越严格。 |
5 |
条数 |
该值越小筛选相似项条件越严格。 |
4 |
用户画像存储 |
该数据来源于基于用户数据更新用户画像更新后的用户画像数据或者初始用户画像-物品画像-标准宽表生成的用户画像。 |
- |
物品画像存储 |
该数据来源于基于物品数据更新物品画像更新后的物品画像数据或者初始用户画像-物品画像-标准宽表生成的物品画像。 |
- |
最大推荐结果数 |
最多生成多少个推荐结果。 该参数会运用在“输出数据”的推荐候选集上。 |
100 |
基于UCB算法的推荐
参数名称 |
说明 |
默认值 |
---|---|---|
策略别名 |
策略显示名称,由中文、英文、数字、下划线、空格或者中划线组成,并且不能以空格开始和结束,长度为1~60个字符。 |
默认召回策略的名称 |
数据源 |
数据源类型有初始格式和通用格式2种可选。
初始格式
通用格式
|
默认选择初始格式 |
行为时间跨度(天) |
指定历史行为时间段,选取数据中最靠后的时间往前N天的行为数据计算用户偏好。建议至少设置30天。 |
30天 |
行为权重 |
当用户行为信息中存在多种行为类型时,可通过指定行为的权重,来统一量化行为类型对应的评分。 用户行为权重项包含如下几种类型:
您可以单击“增加行为权重”,新增一个行为权重。通过和来自定义权重大小。 单击可以删除对应行的行为权重。 |
物品曝光 1.0 |
最小行为次数 |
在物品上产生过行为的最小用户数,其中一个用户在一个物品上只计算一次行为。 |
30 |
折中参数 |
令alpha为Exploration 和 Exploitation之间的折中参数,其取值范围为[0,1],alpha越趋近于0,则物品的得分对历史得分高的物品越有利,即 Exploitation。反之,alpha越趋近于1,则物品的得分越倾向于探索新物品,即Exploration。 |
0.5 |
最大推荐结果数 |
最多生成多少个推荐结果。 该参数会运用在“输出数据”的推荐候选集上。 |
100 |
数据 |
是否必须 |
描述 |
---|---|---|
USER_BEHAVIOR |
是 |
用户操作行为表。 |
名称 |
类型 |
描述 |
---|---|---|
UCB_REC_OFFLINE_CANDIDATES |
CANDIDATES_SET |
UCB算法生成的候选集。 |