对于做推荐系统或者是策略相关的产品同学最难的是什么?是没有数据的支撑数据采集。没有数据就没有办法构建用户画像、标签体系;没有办法进行数据统计、指标分析、AB 实验效果验证。那么问题来了,数据从哪里来。这一篇文章就介绍推荐系统中容易让人忽视,又极为重要,又相当多坑的一个环节——数据采集。

推荐系统之数据采集 系统数据采集 第1张

信息流数据采集完整流程

在之家推荐、画像、标签相关的产品经理有数据需求的时候都会先和数据产品沟通,当然如果公司职位没有分得这么细的话,往往推荐产品或是画像的产品经理要自己去走完这整个流程,这一个流程走下来,就会对数据的完整流转相当的熟悉,当然也是一个心筛的过程,各种坑等着你数据采集。接下来我就按照这个流程重点介绍数据采集的全流程,普通页面的数据采集知乎上很多文章介绍,无非就是按照标准的sdk或js进行采集 我们这里的重点是推荐信息流的数据采集,是以信息流的产品形态为根本出发点。

数据需求梳理

数据需求来源比较广,可以说如果是中台部门,各种各样的数据需求都会提到这里起来,如营销、画像、算法、推广、标签等等,那么在考虑到各个具体需求时,既要要构建灵活的数据埋点上报规范,又满足现有需求,为将来可能会出现的需求留出扩展的空间数据采集。

埋点规范制定

信息流的埋点通常遵循以下的原则:

上报内容格式清晰简单数据采集,易于统计和使用PC/M/APP各推荐位置上报的请求曝光内容、可见曝光内容、点击内容/自动播放格式统一,避免各自一套格式;所有的推荐的内容类型编号,业务要有统一的编排, 并且有维表维护,并且,从请求曝光-可见曝光-点击/自动播放-落地页四个阶段,均需要一致以请求曝光事件埋点为例说明

定义:当用户刷新时,客户端请求推荐接口获取推荐内容数据采集。事件id:recm_req_show 统一事件id的整体格式,各推荐位置以recm_id进行区分请求曝光内容格式:一次请求上报一条日志,包含这次请求的推荐位置id:recm_id;请求唯一标识:pvid;内容列表itemlist,各推荐位置需要统一上报的内容格式。推荐系统之数据采集 系统数据采集 第2张

请求曝光事件上报数据示例

也许有的同学可能不明白上面的参数是什么意思,为什么这么设计,我在这里解释一下上面规范示例中各参数的意义和作用数据采集。但大家谨记各信息流产品形态的参数需要根据实际业务来进行调整和定义。

recm_id: 用来表示推荐场景或是位置的唯一id,不同推荐位会分配不同的recm_id,当这个数据上报回来时就知道这次请求发生在什么位置数据采集。下面是我们曾经自己约定的推荐位位置表推荐系统之数据采集 系统数据采集 第3张

推荐位id分配

pv_event_id:用来表示事件的类型,这里是请求曝光,应该填入请求曝光事件定义的事件id——recm_req_showitemlist: 表示这一次事件所有获取物料的数据集合,包含所有需要上报物料的所有信息,这里的物料对于之家来说是一条汽车资讯,如果是电商,就是一件商品,如果是音乐app,就是一首歌曲或是一个歌单数据采集。pv_id:这次事件的唯一标识符,用于确定此次事件t:代表的是当前该物料的分类类型object_id:是当前该物料的唯一标识符p:代表的是当前该物料在这一次请求返回结果中的排序位置cradtype:代表当前这条物料在前端展示的卡片类型,因为在信息流中物料会有多种展现样式,在前面的feed UI中介绍过stra:是一个扩展参数结构体,这就是我们灵活设计的地方,如果各业务有新的需求,需要透传新的参数,来实现新的需求,都会加到这个扩展参数字段中,当前端请求推荐接口时,推荐接口会吐出完整的stra结构体数据,前端只要原样上报就okbuket_d:用来支持AB实验的,可以代表改物料被分到哪个的实验桶中strategy_id:用来区分表示该物料是哪种策略下被推荐出来的multi_format 和multi_title:资源创意的封面和标题的区分cms_series、nlp_series 后面的字段都是代表给物料的一些特征的字段,这些上报回来的数据可以用来构建用户画像埋点实施注意事项

上面大概介大致介绍了一下该规范的内容数据采集,还有三点在埋点实施过程中要注意的:

1.必须明确事件上报的条件

比如请求曝光,就要求在请求成功后立即上报;可见曝光则要求在曝光页面停留超过一定的时长,这个问题在之家最早的规范中没有明确,每次都会有开发同学问,什么时候上报数据采集。

2.必须明确每一个字段参数从什么地方取

刚才上面介绍的参数,对于埋点同学比较纠结的时候,找不到这些数从哪儿取,或者是担心取错,埋点一旦搞错,后面的数据统计,画像、标签都是错的,所以这个地方产品经理一定得和埋点同学确认清楚每一个参数的正确取数位置数据采集。

3.必须明确数据的格式

数据格式的确认,主要是为了数据上报后,数仓同学对日志进行处理时能够高效、便捷,如果出现各种各样的格式,这里多个逗号,那里多个空格,这些非标准格式他们都得去处理,耗费时间和精力数据采集。

埋点验收

埋点验收主要是三点:

验收是否要所有推荐位都有数据上报上报的参数是否有所有遗漏上报的数据格式是否和规范要求一致数据应用

当埋点完备、上报的数据经过数仓处理后,接下来就是数据的各种应用了数据采集。

数据统计

数据统计是最重要最基础的应用,特别是对于推荐系统最重要的一个指标CTR,用点击/可见曝光来进行计算数据采集。如果没有点击事件和可见曝光事件的埋点,这个数据就不可能产生,那么推荐系统的效果就很难从量化指标上进行评估。

微信号:565859400(QQ)
添加上方QQ技术, 在线咨询
复制微信号
分享到: