全部产品
阿里云办公

带标签的用户冷启动

更新时间:2017-09-25 16:02:50

输入

数据 是否必选 描述
ITEM_META 必选 物品表
USER_BEHAVIOR 必选 行为表
REC_ITEM_INFO 必选 可推荐物品表
REALTIME_LOG 必选 注册新物品的实时日志
USER_META_CONFIG 必选 用户属性维度表
USER_META 必选 用户表

输出

数据 数据类型 描述
NEW_USER_ITEM_REC REC_SET 新用户对物品的推荐候选集(近线产出)

参数

模板参数
参数名 默认值 描述
用户行为时间跨度 30 基于过去最近N天的行为数据来建模用户偏好。假设当前数据日期为20170830,设置本参数为30,直观上来看,这个参数:
1、决定了算法在运行时需要读取用户行为表(通过MaxCompute表提供或日志API上传)从当前数据日期向前多少个分区的数据,比如您配置了用户行为表为A,则会读取A表从ds=20170801到ds=20170830共30个分区的数据来进行计算。
2、决定了用户兴趣的时间窗口大小,即只有在这个窗口内的用户行为才被认为能够反映用户喜好,假设某用户的最近一次行为发生在30天之前的20170731,则该用户会被认为没有发生过任何历史行为,因此无法获得个性化推荐结果,需要用一些全局默认结果来进行抄底补足。
行为权重 view:1.0;click:0.8 用于计算用户偏好的有效行为及权重。
1、每一种行为类型匹配的是用户行为表的bhv_type字段,因此本参数需要根据您根据实际行为数据中的真实情况进行配置,否则可能导致运行出错或结果为空。
2、不同的行为类型对反映用户喜好的程度不尽相同,如购买、点赞行为相比浏览要更珍贵,因此也理应获得更高的权重,这里需要根据实际业务情况和业务经验进行配置。
3、行为权重与最终推荐效果的关系:由于行为权重会参与到用户兴趣的建模评分计算中,因此如果用户对物品集合A发生过权重较高的行为,算法会对与A中物品相似的其他物品集合A’赋予更高的推荐权重,从而更倾向于推荐A’中的物品,因此在这里我们可以有针对性地将业务中期待用户发生的目标行为(如购买)设置更高的权重,以获得更好的推荐效果。
离线产出推荐结果个数 100 最多生成多少个推荐结果,本参数会作用在离线中间结果:用户的可推荐物品表。【注:关于推荐结果数最大可以设置多少,由于不同业务中的item_id长度各异,因此没有一个固定的值,总体原则是:最终拼接生成的推荐字符串大小不超过1兆。其中推荐字符串的格式为i1\u0003s1…\u0002…in\u0003sn,i1~in为实际item_id,s1~sn为权重(一般保留小数点后4位),\u0002和\u0003为Unicode的2和3。】
UV阈值 0 生成的推荐候选集需要满足的UV约束条件(描述的是共有多少个不同的用户对物品发生过行为),即只有UV大于设置值的物品才会被放入推荐候选集,避免推荐出过于冷门的物品。【注:只要某用户对一个物品发生过“行为权重”参数中设置的任意一种行为,不论发生都少次,该用户对该物品都只有一次UV贡献】
子模板参数
  • 特征抽取算法

    默认选择 基于tag用户特征抽取,无其他可选算法

    1. 使用条件:用户表中tag字段不为空。
    2. 主要功能:对tag中的用户标签按照user_meta_config属性维表中的属性类型,进行one-hot编码,并根据选择的标准化方式,对抽取的数值特征进行标准化。
参数名 默认值 描述
normalize none 选择特征标准化,minmax为用最大最小值进行标准化,zscore用均值标准差进行标准化,none表示不做任何处理
  • 特征变换算法

默认 特征离散化

参数名 默认值 描述
discreteMethod SameDistance 特征离散化方法, 可取值:[SameDistance,SameFreq],其中SameDistance为等距离散,SameFreq为等频离散
maxBins 5 离散化区间个数

主要逻辑

  • 离线模块

    step1:根据历史行为采用itemcf算法产出用户的推荐候选物品集。详细的itemcf算法参照【基于itemcf的推荐模板】。

    step2:采用参数中配置的特征工程,抽取用户表中原始特征,并把特征抽取的参数传到近线,供近线新用户特征抽取时使用。

    step3:根据用户原始特征,采用kmeans算法对用户进行聚类,默认聚20个用户群组

    step4:根据step1和step3的结果,产出用户群组的推荐候选集

  • 近线模块

    step1:接受实时日志,近线抽取新用户特征 step2:计算新用户与用户群组的相似度,把最相似用户群组的推荐候选集作为新用户的推荐列表

最佳实践

模板适用条件: 带标签的冷启动是针对实时日志上传的新用户进行推荐,没有接入实时日志时,该模板不适用。

1、在配置<行为权重>参数时,建议首先分析一下实际行为表中的bhv_type字段的取值,避免配置不当导致结果为空。

2、推荐结果数的最大取值,上文在参数说明中已有描述,请结合自身业务数据情况进行推算。

3、建议配合一个默认推荐策略组合使用,避免出现没有推荐结果的情况。

4、视频专题讲解:点这里