内容要点
本文主要以电商行业为例,从服务搭建流程、推荐测试流程、最佳实践分享适配的智能推荐快速搭建方式和实践策略。
服务搭建流程
智能推荐作为一款大数据应用产品,数据是第一生产力,如果在没有任何数据的情况下,想做千人千面的推荐,是不太可能的。数据对于整个模型而言,都是非常重要的。智能推荐所需要的数据,分为三类,user,即推荐面向的终端用户的信息;item,即要推荐的内容,例如在电商行业就是商品;behavior,即行为,指发生在user和item之间的交互动作,在平台上,消费者的消费偏好,商品的用户喜好画像,都可通过behavior来表征。
对于智能推荐的模型来说,一方面依赖海量的行为,进行模型计算,另一方面也会根据商品、用户的静态属性做分析推荐。无论是上报的全量数据表,还是后期的行为数据、用户数据、商品数据,经过全量和增量数据的合并,代表了AIRec底层的数据仓库,最终会提供推荐经过精排之后的结果集。从数据层到智能推荐的结果集,中间经历了模型的训练。
在开通智能推荐之前,需要做数据准备,包括user、item、behavior,之后进行实例的开通和配置。因为不同的行业具备不同的属性,优化的目标和所需的数据类型都有差别,所以智能推荐会按照行业模板来区分。
第二步,需要选择推荐服务类型,表示智能推荐的结果,有猜你喜欢、相关推荐,不同的类型应用的场景是不同的,需根据业务场景进行选择。
配置数据源,现有3种配置方式。之后进行模拟测试,后期也需要把实时变化的数据同步到智能推荐。通过SDK获取推荐结果。
数据准备阶段,所面向的user都是平台上的消费者,item就是商品,behavior就是用户和商品之间发生的关联动作。用户需要按照产品官网上的数据规范,结合每个字段的信息进行上报。
用户表
用户表是实现千人千面的前提,因为希望实现给每个消费者都提供不同的商品集,需确保访问的每一位用户都有自己唯一的身份标识,可通过user_id或者手机设备号确定。如用户是游客状态,则需通过其他方式确定用户身份,否则将只能获得热品的推荐。另外还需要提供用户特征的字段,包括性别、年龄及其他标签,将有利于基于画像特征分析的推荐。
物品表
代表商品的信息表。每一件商品也需要具备唯一性。智能推荐通过item_id和item_type来标记指定唯一的商品。Status表示了当前商品状态是否可被推荐,0表示不可推荐,1表示可推荐,可实施遇到商品上下架时的干预。Title表示对商品的标题描述,智能推荐会结合商品的描述进行语义分析。Scene_id表示物品可被投放的子场景ID,通过这个字段进行区分和效果观察,可根据推荐展现形态进行设计。Weight指item的权重值,当产品质量较好,或考虑到业务方、广告主的要求,可进行加权,初次接入时,建议不要加权,加权可能会导致模型结果受到人为的干扰,对效果产生负影响。pub_time代表内容发布时的时间戳(秒级),用于判断内容是否为新品,expire_time表示内容失效时间戳,失效后,商品将不会再被推荐,两者用于控制item时效性。category_level表示类目层级数,category_path表示类目路径。Tags表示标签,可加具体的类目含义,例如品牌信息、属性、适用人群,会被用于模型的训练,利于效果提升。
场景具体使用
比如淘宝首页猜你喜欢,有全部,表示所有商品都可出现,便宜好货则有价格门槛,只有低价产品会在这个tag页出现,以上两个就是完全不同的推荐场景。如果APP上有类似的形态,需要在商品选择、部署上进行场景区分。另外,包括购物车的猜你喜欢和首页的猜你喜欢也是不同的,投放端的不同,会带来用户心智、行为不同等,建议区分不同投放端进行效果观察。
行为表
行为表征了平台上用户的特征信息、倾向。每一条行为也需要定位到唯一的用户和商品。bhv_type表示行为类型,例如曝光、停留、点击、收藏、下载、购买、加购、评价等。trace_id表示请求追踪/埋点ID,用于在AB实验时区分,效果对比。trace_info表示请求埋点信息。bhv_time表示行为发生的时间戳。bhv_value表示行为详情,例如点击次数,停留时长,购买件数、购买金额等。曝光数据是必不可少的,如曝光之后,有停留、点击、收藏、下载等行为信息,可将曝光数据在模型中作为负例数据。
实例创建
智能推荐目前支持内容型、商品型、新闻型模板,如视频类型需要在内容型进行创建。
数据对接方式
以下情况,可启用第一种数据对接流程
- 如行为数据没有埋点或需要进行埋点更新,可用定制版SDK进行埋点。
- 如数据本身就用了友盟SDK采集,需要结合数据规范稍作修改就可完成数据上报。
A 数据对接流程
通过友盟SDK采集到的行为数据,需要在控制台进行配置即可自动同步,无需手动上报。
以下情况,可启用第二种数据对接流程
- 如数据存在MaxCompute,需按照标准配置进行实例创建,后续同步SDK即可。
B 数据对接流程
以下情况,可启用第三种数据对接流程
- 如数据没有存在MaxCompute或需要快速启动服务,可以使用服务端的SDK快速对接数据。
C 数据对接流程
结果获取
需指定场景、唯一用户、请求数量(一次最多请求50条结果),将返回唯一商品、位置信息、traceinfo,之后将进行行为数据的回传,行为类型、发生时间、场景、traceinfo,将这些行为信息回传给智能推荐后,就形成了流转的过程,促进结果的实时更新。
推荐测试流程
用户分为两种,一是老用户,存在行为;二是新用户,不存在行为,需根据两种不同的用户分层进行测试。推荐测试包括结果测试、功能测试、效果基础测试和效果进阶测试。在测试之后,将会正式接入线上流量,进行结果的持续观察和效果提升。
最佳实践策略
首页推荐可以结合长短期兴趣、用户画像分析进行集中展示。
数据圈选
1、提前过滤违规、质量差的商品
2、按照场景诉求进行选品分类,类似便宜好货,保证价格门槛
3、及时更新商品生命周期
特征丰富
1、具备商品的标题信息
2、上传商品的类目、品牌、风格、性别等信息
3、丰富曝光、点击、购买行为上报
电商行业经常遇到的问题
为应对用户疲劳,可进行打散和混排。
加入社群
点击订阅《阿里云搜索与推荐技术交流期刊》
扫码入群,了解更多资讯,获取课程资料