Advertising industry in those interesting series 1: Advertising unified interest in the modeling process

Summary: This is the first campaign. The core ad serving advertisers, as advertisers delineation of the corresponding population so as to achieve good your performance. And in which the label is to act as a bridge. Advertisers will select a category or categories of people have distinctive features according to their nature, represented here by the label. And we have to do is to give the user to tag, and then provided to advertisers to use. Advertisers select the label, and the label is representative of the population behind. Based on actual project describes how to delineate the crowd for advertisers as well as how to characterize the degree of user interest score label.

 

This series of articles starting major projects around the actual advertising industry, involving unified interest in modeling, NLP text comprehension, chart calculation and much more, will be continuously updated. The relevant content of interest to a small partner can focus, learn from each other to explore.

 

 

Article Directory

  • More commonly understood as the right people advertisers ring
  • Construction of the link between advertisers and users
  • How to characterize the degree of interest to the user's labels

 

01 more commonly understood as the right people advertisers ring

Figure 1 for advertisers circle crowd

 

Advertisers are doing? Popular understanding a bit like a party. Advertisers say that I would now like to put under 1W block to enhance their influence, enhance the influence here can be an increase the number of clicks, number of downloads, registrations and so on.

There have certainly Party that Party. B is our mobile terminal manufacturers. Party money, and we can say that B has the resources to show ads. Past the advertising industry may be so, there is advertisers want to advertise, see buildings have a very prominent position empty, then advertisers to find the owner of the building, I block out 1W, you want this empty position to play ads, then the building owner takes the money, in the above ad posted.

With the advent of the mobile Internet era, he spent time on the phone more and more. As for the mobile vendors, which sold X million mobile phones can be a bit of ad impressions. What difference is that? Previous ad posted up in that upstairs, coming and going of people can see it. And now the ad is "thousand thousand faces." The same time displayed on the phone A small advertising game is legendary, but may be displayed on the phone's small B East Fang Xianxia advertising. Corresponds to figure 1 mobile manufacturers will provide the middle of the display ad platter X million mobile terminals.

How do different people show different ads it? This is what we need to do a tag team. We need to build links between advertisers and mobile phone users. Corresponds to Figure 1, we want to market to people interested in the user's interest are marked with different labels, depending on interest.

02 构建广告主和用户之间的联系

图 2 广告主和用户联系图

构建广告主和用户之间的联系主要经过以下五个步骤:

1、构建一个兴趣类目体系

这个兴趣类目体系就是广告主选择人群的一个标准。兴趣类目体系需要覆盖所有广告主需求。现在我们可能存在这样一个简单的兴趣类目体系:

其中传奇游戏标签就代表对传奇这一类游戏有兴趣的人群。

2、建立用户操作行为的关联user-item

用户对手机的所有操作行为都属于item,比如用户登录app、登录网址等等都属于用户操作行为。这里用户操作手机行为用user-item来表示。user-item的数据来源主要是通过手机终端埋点获取。实际项目中数据源可能会用到app、ad、site、query_word、news、微信小程序等等。

3、建立数据源和标签的关联item-tag

其实就是给数据源打上标签。拿app举例,比如成龙大哥代言的一刀传奇我们可以打上传奇游戏标签,而这些标签的制定都是在第一步兴趣类目体系中完成的。

给数据源打标可以通过人工标注或者模型打标。目前项目中app打标采用的是人工打标,主要原因是app数量较少,通过人工打标即可完成app识别。人工标注app也存在很多问题,比如同一个app不同的人由于社会阅历、经验等原因会打上不同的标注。如何更精准的给item打标也是目前项目中一个非常棘手的问题,这个后续会总结一些项目经验和大家一起探讨。

而新闻资讯news和用户搜索词query主要通过模型打标,主要使用的是NLP里大名鼎鼎的BERT模型。这里打个小小的广告,广告系列的第二篇文章会主要讲一下在实际项目中如何使用BERT来给数据源打标,有兴趣的小伙伴可以关注一波。

4、建立用户和标签的关联user-tag

根据user-item和item-tag我们可以构建user-tag的关联。有的小伙伴可能要问怎么做?将上面两种关系分别持久化到hive表中join一下就能拿到user-tag的关联了。通过上面四个步骤我们已经得到人群和标签的关联了。

5、广告主从标签池中选择标签圈定人群

广告主会根据自身的需求选择一个或者多个标签,而这些标签背后都有各自对应的人群。这里人群可能存在重叠,也就是说有人可能既喜欢传奇游戏,还喜欢西方魔幻游戏。

广告主和标签的关系是多对多的关系,一个广告主可以选择一个或者多个标签,而一个标签也可能被一个或者多个广告主选中。

总结下整个流程:首先我们会制定一个兴趣类目体系;然后分别构建user-item和item-tag的关联;接着根据user-item和item-tag进行join即可拿到user-tag的关系。到这里我们已经给用户打上对应的标签了;最后广告主会根据自己的需求去标签池中选择标签,选择标签就是选择人群,最终完成了给广告主圈人群的整个流程。

 

03 如何刻画用户对标签的兴趣度

通过上述部分我们已经生产出了user-tag的关联。现在有个新的问题,假如现在有个成龙大哥代言的一刀传奇app,现在有100W人登录这个app,按照上述流程我们会给这100W人打上传奇游戏这个标签。有个对传奇游戏标签感兴趣的广告主想打广告,而广告主仅仅需要曝光50W人。那么如何从这100W人群中选择需要曝光的50W人群?

因为广告展示位本身是有价值的,有效曝光(曝光并且有转化)会为我们手机厂商带来广告收益,而无效曝光(曝光无转化效果)则会让我们白白浪费资源,所以我们希望选中的50W人会有更好的曝光转化效果。广告的转化效果越好,广告主就愿意出更多的钱来投广告。

来段题外话,现在广告行业竞争也异常惨烈。一般广告主会同时在多个平台投放广告,并进行对比。如果他在头条或者腾讯都花了1W块,但是腾讯带来的广告效果更好,那广告主为什么不把更多的钱花在腾讯呢?所以如何选出广告转化效果更好的这50W人群,这就需要刻画用户对传奇标签的兴趣度得分,选择得分高的用户进行曝光。

如何刻画用户的兴趣度也是该篇的重点内容。通过统一建模流程我们可以系统批量的生产标签。

统一建模流程整体架构如下:

图 3 统一建模整体架构

1、如何计算当天用户的兴趣度User-tag(score_daily)

User-tag(score_daily)主要是计算日维度用户u在标签t上的得分。

这里拿app举例,其他数据源item计算流程类似。得分score_daily代表用户u在当天d对标签t的兴趣度,计算公式如下:

该公式主要由三部分组成:


下面分别讲解上述三部分:

1.1、用户u使用app的程度W_behave

这里用户使用app可以是登录次数、登录时长、付费次数等等。

如果对于app行为只看登录时长,那么用户使用app的程度由用户u使用app的时长在所有使用该app的时长排名来决定。W_behave的计算公式如下:

其中MTS_mid表示使用该app的所有用户的时长的中位数。而MTS_u,i表示用户当天使用app的时长(同时修正异常值),单位为秒。TS_u,i表示用户使用app的时长。
MTS_u,i计算公式如下:

min中后半部分表示使用该app的所有用户的时长均值加上3倍的标准差。

有些小伙伴可能要问W_behave如何修正异常值?W_behave公式中min部分的取值为0或1。当出现异常数据时(最明显的是用户u使用app的时长大于1天)会设置为1,因为按照日维度计算计算情况下用户一整天使用app,但不可能大于1天。公式中max部分取值为大于等于0的值。当出现异常值时比如MTS_mid大于1天的时间时log部分会是负数,则会自动置为0。而正常值时则会显示一个正数。

如果觉得上述流程太复杂,那么W_behave通俗简单的理解是分位数。

比如小A当天使用抖音的时长为5个小时,超过了90%的抖音用户,那么我们可以简单的设置W_behave=0.9。

在实际项目中可能使用的是用户的多种操作行为,比如同时使用登录行为和付费行为,这样涉及到不同行为的权重也是不同的。对于游戏类app我们主要看中用户的付费行为,所以付费行为的权重会大于登录行为的权重。

1.2、App本身的重要程度W_importance

这里使用了类似TFIDF的策略,主要目的是对活跃人数多的app进行打压。通俗的理解是如果一个app比如微信很多人都会登录,那么使用这个app去识别某个标签的能力会大大降低,我们就会认为这个app的重要程度很低。而这类app本身对于兴趣标签挖掘意义不大。反过来,有些人数不是那么多的app它更能识别对该类app是否有兴趣。

W_importance的计算公式如下:

其中N代表大盘总的人数,n_i代表某个app的使用人数。举例来说,极端情况下当一个app所有人都使用了,那么它的重要性为0。
还拿抖音举例,假如N代表当天所有使用app的人数为2亿,n_i表示抖音用户为1亿,那么抖音app的重要度W_importance=log(2/1)=log2

1.3、App所属标签的可能性W_tag_possible

设置这个的原因是针对item理解的时候会同时采用人工标注和机器学习模型识别。针对人工识别的app我们会设置为1,而对于通过机器学习模型打标的app我们会设置为概率值(因为使用机器学习模型时通常会输出一个判定为正例的概率值)。

总结下,通过上述一大推猛如虎的操作我们可以得到在app数据源上用户u当天在标签t上的得分score_daily。通过score_daily我们可以很好的刻画当天哪些用户更有广告价值,而这些用户可能会带来更好的广告转化效果。

这里咱们的核心目标永远是广告转化效果,广告转化效果,广告转化效果!重要的事情说三遍。计算用户u当天在标签t上的得分流程对应图3中黄色的方块部分。

2、如何计算一段时间内的用户兴趣度User-tag(score_p_daily)

通过上述我们可以得到用户u在当天标签t上的得分score_daily。但是仅仅考虑当天用户在标签t上行为就决定是不是给用户打上对应的标签是不合理的。

比如有个用户在过去一个月经常登录传奇游戏,但是昨天因为某些原因并没有登录传奇游戏,所以我们就没有给这个用户打上传奇游戏标签,这显然很不合理。反应用户兴趣标签应该考虑一段时间内的行为而不是某一天,所以用户最终的兴趣得分应该是当天用户u在标签t上的得分和最近一段时间上累计的兴趣得分共同来决定。计算公式如下:

其中score_p_d(u,t,d-1)代表前天用户u在一段时间内(一般设置为3-6个月)在标签t上累计的兴趣得分。

score_d(u,t,d)代表昨天当天用户u在标签t的上的得分,也就是上一部分得到的score_daily。α_t代表衰减系数,该值表示当前用户最终兴趣得分在最近一段时间得分和当天用户u在标签t上的得分的一个权衡。α_t的计算公式如下:

举例来说,如果我们认为用户在90天里没有登录某个标签的app,那么我们认为该用户u在标签t上的得分最终降低为0.0001。当降低到0.0001时我们认为用户对该标签已经没有兴趣。

总结一下,刻画用户u在标签t上最终的兴趣得分不仅要看用户当天对标签t的兴趣得分,还要看最近一段时间内累计的兴趣得分。计算score_p_daily流程对应图3中紫色的部分。

3、多个数据源融合

通过上述部分我们可以得到用户u在app数据源上在标签t上的最终兴趣得分,该兴趣得分可以反映用户在一段时间内对该标签的兴趣程度。

实际项目中我们不仅仅会用到app数据源,还会包括新闻资讯news、网址site等等。所以我们需要将不同的数据源的得分进行融合得到在多种数据源下最终的兴趣得分,计算公式如下:

其中weight_i代表数据源i的权重,score_p_daily_i代表用户u在数据源i上累计兴趣得分,将所有数据源上的得分乘以数据源的权重然后累计相加得到最终的兴趣得分。
通过融合多个数据源我们得到了用户在多个数据源下的综合的兴趣得分,我们称为统一兴趣建模流程。

到这里,大功告成。总结一下,通过统一建模流程,我们可以批量生产标签,通过控制底层数据源的标注可以动态的增减标签,更好的满足广告主的需求。


说点轻松的
文章里一直在拿传奇游戏举例子。一个很重要的原因是小时候有幸经历过传奇游戏风靡的时代,还记得那时候想尽一切办法偷偷去网吧上网而被妈妈抓住暴打的样子。那个战法道横行的时代,和公会的小伙伴一起攻打过沙巴克,还有我最喜欢的法师职业。可能是那个年代里大家很难忘记的回忆。也许正是因为这个原因,尽管现在比传奇游戏好玩的游戏有那么多,还是有那么多中年油腻大叔会愿意花很多很多钱去玩传奇游戏。这也是目前我们游戏板块传奇游戏依然是重头角色的原因吧。而我加入标签团队的第一个标签优化任务就是传奇游戏标签。一点感慨,不过是青春罢了。

 

下一篇会通过使用NLP中BERT模型对资讯news、用户搜索词query进行文本识别,从而给这些数据源进行模型打标。

 

喜欢本类型文章的小伙伴可以关注我的微信公众号:数据拾光者。有任何干货我会首先发布在微信公众号,还会同步在知乎、头条、简书、csdn等平台。也欢迎小伙伴多交流。如果有问题,可以在微信公众号随时Q我哈。

Guess you like

Origin www.cnblogs.com/wilson0068/p/12388846.html