推荐系统架构-4 用户行为日志

一、推荐系统

二、阿里云智能推荐AIRec

三、用户画像介绍

四、用户行为日志

1、用户行为日志

用户行为数据在系统上最简单的存在形式就是日志。
用户行为事件三要素:
操作(action):定义一个操作动作(如点击、拖拽)
参数/属性:参数可以是任何和这个事件相关的属性,包括触发这个事件的(人、时间、地点、设备、操作的业务信息)
属性值:参数/属性的值参

2、埋点方式比较

埋点方式 数据时效 数据可靠(安全) 数据可回溯 埋点成本 对业务的影响 用户流量开销 新埋点是否对所有客户端版本生效
传统代码埋点 X X X X X X X
可视化埋点 X X X X
无埋点 X X X
Measurement Protocol X X X X

3、数据结构

behavior表

字段名 字段类型 是否必需 字段含义 字段值枚举 字段值说明 字段值示例
item_id string 内容ID 用户自填 如果全部数据均无法与内容表匹配,服务无法启动 34513
item_type string 内容的类型 image item_type string
article article article article article article article
video video video video video video video
shortvideo shortvideo shortvideo shortvideo shortvideo shortvideo shortvideo
item item item item item item item
recipe image recipe image recipe
bhv_type string 行为类型,例如曝光、停留、点击、收藏、下载等 expose bhv_type string
click 正利数据click的条数需要小于负利数据expose的条数,否则系统会判断数据异常,无法启动服务 expose click 正利数据click的条数需要小于负利数据expose的条数,否则系统会判断数据异常,无法启动服务 expose click
bhv_value string 行为详情,例如点击次数,停留时长,购买件数等 用户自填 500
user_id BIGINT 用户ID 用户自填 1234567
trace_id string 请求追踪/埋点ID。用于在AB实验时区分 调用了阿里推荐引擎 Alibaba trace_id string
selfhold 如果调用了阿里推荐引擎,该字段为Alibaba;如果没有调用阿里推荐引擎,该字段可以置为selfhold Alibaba selfhold 如果调用了阿里推荐引擎,该字段为Alibaba;如果没有调用阿里推荐引擎,该字段可以置为selfhold Alibaba selfhold
trace_info string 推荐 请求埋点信息。一次推荐接口调用时会返回该信息,日志记录时带上即可 用户自填 阿里流量必需 阿里流量必需
platform string 推荐 客户端平台。 用户自填 ios/andriod/h5 ios
imei string 推荐 用户设备ID,imei,device_id,idfa 用户自填 QLKDJSFALKDSAJLK
app_version string 推荐 app的版本号 用户自填 4.1.10
net_type string 推荐 网络型号 用户自填 2G/3G/4G/WIFI 4G
ip string 推荐 客户端IP信息 用户自填 234.45.13.14
login string 推荐 是否登录用户 0 login string
1 0:未登录 1 0:未登录 1 0:未登录 1
1:登录 1 1:登录 1 1:登录 1 1:登录
report_src string 推荐 上报来源类型 1 report_src string
2 1:服务端,2:客户端。 2 2 1:服务端,2:客户端。 2 2
scene_id string 推荐 场景ID 用户自填 英文分号分隔的若干场景ID 1001,1002
bhv_time string 推荐 行为发生的时间戳,单位s 用户自填 1520327038
device_model string 推荐 设备型号 用户自填 iphoneX
longitude string 推荐 位置经度 用户自填 128.4
latitude string 推荐 位置纬度 用户自填 78.1
module_id string 推荐 模块ID 用户自填 114
page_id string 推荐 页面ID 用户自填 4
position string 推荐 内容所在的位置信息 用户自填 5

behavior type

expose 曝光 expose 曝光
click 点击 click 点击
like 点赞 like 点赞
unlike unlike
comment 评论 comment 评论
collect 收藏 collect 收藏
stay 停留时长 stay 停留时长
share 分享 share 分享
download 下载 download 下载
tip 打赏 tip 打赏
subscribe 关注 subscribe 关注

4、埋点

服务端
除了『停留时长』之外,大部分用户行为可以在服务端直接记录,通过SDK直接提交用户行为日志
客户端
支持使用缓冲区,通过API接口批量上传用户行为日志

5、存储介质

数据源可选择的方案有OSS、LogHub、TableStore等,优先考虑选择使用OSS作为数据源(阿里云智能推荐系统相关服务)。
目前阿里云智能推荐系统暂时只支持数据源为ODPS(MaxCompute),因此需要通过DI数据集成投递到MaxCompute中,未来智能推荐支持OSS等数据源后,可移除此部分多余动作。

6、总体架构图

用户行为日志存储系统.png

附:参考文章

用户行为的深度追踪——事件与埋点
日志采集与用户行为链路分析
SPM 超级位置模型
淘宝SPM解读

五、总体架构设计

推荐阅读更多精彩内容