数字生活让人疑神疑鬼。
你刚在微信上和朋友说要去日本玩,就在朋友圈看到了机票广告,你老婆刚给你打电话让你买奶粉,你就在淘宝看到了奶粉推荐。
这些广告都是怎么来的?为什么这些 APP 都知道你想买什么?
淘宝当然不会窃听你的电话,是你的行为数据让淘宝意识到了你需要婴儿奶粉。
注册一个账号,你需要输入自己的名字,手机号,有时候还会补充性别,所在地。但这只是微不足道基础数据。
更重要的,是你的消费记录,打车频率,关注的公众号,玩过的游戏,理财习惯,有没有车贷房贷买过保险,发过的红包,这些行为最后会变成几千个事实标签,成为你行为数据的一部分。
采集事实标签并不难,难的是建立模型,从杂乱的标签中找到你真正的兴趣,进而构建用户画像。
举个例子,你打开一篇内容标签为美女的文章,并不意味着你真的爱看美女,可能只是不小心点到。这时,就需要通过你更多的行为来判断这篇文章对你的吸引力。
这是一个非常初级的内容标签权重算法:
兴趣标签(美女)权重 = 行为权重 x 访问时长 x 衰减因子
行为权重对应你是否有评论、点赞、转发、收藏等操作,不同操作有不同的数值,累加成行为权重。
停留时间越长,时间权重也越高。最后,短期行为也无法代表长期兴趣,单次阅读行为的权重会随着时间流逝不断衰减。
于是,你每次打开美女类内容都会生成一个兴趣权重,把一段时间内你所有的美女类兴趣权重进行累加,再用 S 形函数标准化,就能得到一个「0—10」区间的兴趣标签值。
数值越高,你对美女就越感兴趣。
除了内容兴趣,这种算法思路可以在消费能力,消费兴趣,社交习惯等多个维度建立模型,计算你的偏好。
之后,这些偏好会被转换为特征向量。假设你的美女兴趣标签值是8,消费能力是5,社交偏好是2,就可以用向量表示为 r (8,5,2)。
我们可以把特征向量理解成多维空间上的一个坐标,通过把每一个用户的向量坐标带入余弦公式或距离公式中,就能计算出和你相似的人,进而把用户分类。
但行为数据只能计算偏好,无法判断你的性别、学历等个人属性。
这就需要把已知性别和学历的用户作为样本,一部分用来训练模型,一部分测试准确度。今天各大平台对于用户性别的预测准确度已经可以达到90%以上。
最后,微信淘宝们就能得到一个这样的用户画像:
这样,广告主就可以找到他们想要的消费者了。
这是腾讯广告投放平台的后台。广告主可以自由组合包含消费水平、婚恋情况、内容兴趣,消费行为在内的上千个定向标签供,最后选定广告位和投放时间,根据系统计算的 1.5 元每千次曝光的建议出价,就完成了一次精准投放。
之后,一个住在北京朝阳有过奶粉消费记录的已婚男青年在即将刷到广告位的那一瞬间,广告平台会发起竞价请求,最后,价高的广告将出现在你的眼前。
如果你对这个话题感兴趣,可以在腾讯广告平台的开发者文档,进一步了解你的行为数据被处理到了什么样的程度,比如筛选出“ 2017.7.1 至 2017.7.15 去过上海机场 3 次以上的人”。
另外,通过行为推荐商品的效果往往不如通过同类推荐商品。找到和你一样的人,把他们的的浏览和消费记录推荐给你,往往比直接猜你喜欢什么效果更好。
需要说明的是,微信淘宝们采集的行为数据不仅只对应你的账号,更与你的手机唯一识别码绑定在一起。
*安卓手机上可以采集到的的唯一设备编码叫 IMEI,在 iPhone 上叫 IDFA
这意味着, 你就算不注册不登录,你的行为数据一样会被采集。
同时,广告平台也可以根据你的手机识别码在其他 App 上为你投放广告,这样,你刷抖音的时候也能看到淘宝的奶粉广告了。
别太紧张,根据《个人信息安全规范》,商业广告平台的所有标签都应该避免精确定位到个人,以保护你的隐私安全 。
如果你是 iPhone 用户,还可以通过在设置中关闭 IDFA 码限制 App 们对你的数据采集。
作者: 吴松磊
您好,想咨询一下,为什么要用Sigmoid函数进行标准化呢?用Log函数标准化是否可行?
@蒸蒸 个人觉得是因为需要有个“观察时间”来判断这个兴趣标签真实有效,再基于访问时长及衰减因子对兴趣标签降权来达到更精准的推荐效果。