二、如何采集这些数据

物料类数据、用户类数据通过数据库到数据库的方式便可完成上报,而用户行为数据则需要进行行为的埋点才可以实现收集和挖掘。

埋点就像公路上的摄像头,可以采集车辆的属性信息,如颜色、车牌号、车型、人脸等。如果摄像头分布处于理想状态,那么通过叠加不同位置的摄像头所采集的信息,基本可以还原某一辆车的路径、目的地甚至推测出司机是否是老司机,司机的驾驶习惯是怎样等。

埋点即通过在需要检测用户行为数据的地方加载一段代码,例如浏览、评论、浏览文章20s,采集用户行为数据,将数据进行多维度地交叉分析,从而尽可能地还原用户在使用场景下的主要操作路径和动作,判断用户的实时意图。

合理的推荐系统埋点一般包括以下几类:

(1行为类:是否点击、是否“不感兴趣”、是否分享、是否点赞、是否加入购物车、是否下单、是否收藏、是否评论、是否播放完毕等。

(2时长类:内容浏览时长、内容曝光时长等。

(3位置类:当前经纬度、当前所在的POI等。

对不同的行为进行埋点记录了用户对某个内容不同的兴趣度大小,可以是正向行为,也可以是负向行为,而这些行为属于用户“显性”行为,即用户用操作代表的兴趣度大小,此外用户行为还有“隐性”行为,即用户没有发生“显性”行为的操作,如一直在刷新、跳出等,也反映了用户喜好程度,推荐系统对此类“隐性”行为也有一系列权重,后续章节会重点介绍。

对于推荐系统,埋点关系到用户行为日志的采集和上报。如果埋点过少,必要的信息无法采集,系统很难准确捕捉用户兴趣。如果埋点过多,会造成流量和性能的大量开销和浪费,甚至对原有数据采样造成干扰。因此,运用运营经验制定适合业务场景的埋点方案,并不断地调整、优化各个行为之间的权重能够帮助系统更好地理解用户的真实意图,从而使推荐系统能推荐出更符合用户偏好的结果。

对于推荐系统来说,所需要的数据基本上都可以从后端收集,采集成本较低,但是有两个要求:要求所有的事件都需要和后端交互,要求所有业务响应都要有日志记录。这样才能做到在后端收集日志。

我们偶尔会在网上看到这样的评论“我刚跟闺蜜说,我喜欢Gucci的包包,结果我打开某宝,发现真的给我推荐了Gucci的包包,这也太神奇和恐怖了吧!”。虽然不能确定这些评论的真实性,也不确定某宝是否真的把语音数据过滤后用来做推荐,当然在这也不讨论道德问题。但我们可以预见的是,随着物联网的普及,会有越来越多的场景具备智能推荐的功能,可能是冰箱、也可能是台灯,那么接踵而至的是互联网的数据量相比现在呈指数级增长,推荐系统所获取的数据也会更加的多元,多个终端多个维度交叉起来的行为数据网也会使推荐系统更智能,甚至改变人们现有的信息获取方式和生活方式,这可能才是推荐系统真正大放异彩的时刻吧!