嘉宾:陈兆基 微博 资深算法专家
整理:付一韬
来源:DataFunTalk
广告系统及微博内容商业化简介
内容理解能力不足引发的问题
构建内容理解能力以及具体商业应用
1. 广告系统各方利益诉求
广告投放实际上是广告主、广告平台以及用户三方利益分配的问题,因为需要平衡三方的利益诉求,所以广告平台的核心任务是如何在尽量不打扰用户正常的内容消费流程下达成尽可能多的广告主投放 ROI。
2. 广告投放核心任务
简单来讲,广告投放核心任务是让用户在合适的时间看到适合的广告。我们可以拆解成三个部分,分别是:
谁在看:对用户的追踪,对用户的历史数据收集及各种用户画像的挖掘;
看的是什么:理解当下用户在平台上消费/交互过的内容;
适合看什么:根据上面两部分加上其他信息,会针对该用户当下适合看什么广告进行投放。
3. 非内容场景
在微博中,非内容场景主要是关注流/热门流。它主要的特点是内容多样,上下关联性弱。在这样的场景下,用户对于流内内容没有太多的预判,广告也不一定需要和紧挨着的自然内容有联系,所以这种情况下广告投放更偏向于选人。
4. 内容场景
与非内容场景对应的是内容场景,主要包括正文页、评论和搜索等场景,用户通过对特定内容消费进去该场景。在这样的场景下,投放广告对内容的相关性有要求,所以内容理解对这类场景下广告投放的影响更为显著。
1. 问题及难点:针对单一内容
首先,针对单一内容/单一广告由于内容理解能力的不足会引发以下几个问题:
营销内容监管:用户有时会抱怨平台的广告太多。经过日志分析,我们发现除了通过广告系统投放出去的广告外,曝光记录中还包括用户关注账号自行发布的营销目的较明显的"自然博文",所以这个时候用户刷微博的时候会认为这些都是广告,比如下图左侧中某明星在双十一发布了一篇自然博文就带有明显营销属性。我们的解决方案是将非广告营销内容通过模型自动识别出来,而这方面的难点就是每天发博量太大,而且缺乏标注。
内容展示时机把握:这个主要体现在相邻自然内容传递的情感不一定适合做营销内容展示,比如下图中间上下两条自然内容都是关于某品牌的概念机,但上面一条说它"没有实用价值",是一条负面的博文,而下面是一条正面的博文。如果下面是一条商业推广的广告,则当下并不是一个好的展示时机。我们的解决方案是对自然内容进行情感分析和实体标注,在广告投放是进行规避。难点是微博会"创造"新的表达方式,比如2018年的"锦鲤"事件。
效果评估中的噪声:如果不对特定内容进行识别,那么创意模式引起的特定指标表现"虚高"或"虚低"。比如下图右侧上方是一条"骗点击"的广告素材 ( CTR 虚高 ),而下方是一条通过内容内嵌导流信息 ( CTR 虚低 )。我们的解决方案是识别/标注特定内容模式,其中难点主要是广告主会对创意进行不断迭代,我们也需要对模型进行不断的迭代。
2. 问题及难点:非单一内容
其次,针对非单一内容由于内容理解能力的不足会引发以下几个问题:
营销内容同质化:主要的问题是违规内容暴力闯审,频控/负反馈失效,比如下图左侧中的两个营销内容,乍看一眼两个广告是一样的 ( 发布视频相同,文字相似 ),但是发布营销内容是不同账号的,这样用户对一个广告点了不感兴趣,还是会刷到相似的广告。我们的解决方案是识别标注相同/相似营销内容,而难点是在不同场景下面相同/相似的定义是不同的。
自然/营销内容不完全匹配:微博中娱乐明星/幽默搞笑/时事新闻是每日自然内容曝光大头,这样商业属性并不明显,比如下图中间是微博的热搜榜,这些自然内容所对应的标签是很难进行广告投放。我们的解决方案是构建统一的商业内容标签体系,对自然内容进行商业属性挖掘,并且基于这个进行广告投放。这里的难点是缺乏标注,覆盖率低。
优质内容生产门槛制约中长尾广告:中长尾的广告主缺乏相应能力/资金创建高质量营销内容,对于任何平台来说广告收入主要来源于一小部分头部广告主这是不安全的,所以通常情况是要拉进来中长尾的广告主。我们的方案基于过往效果好的广告,智能生成/推荐创意内容,而难点就是现有模型能力与实际应用是有差距的。
1. 内容理解任务
内容理解任务的定义:对于给定内容 ( 文本/图片/视频 ),通过算法完成几类的事情:
分词/实体识别:基本的分词和实体识别 ( 人名、地名、品牌等 );
情感分析:识别内容中的正负面情感,针对负面内容还需要进一步的判定,例如对于全局负面 ( 空难、车祸… ) 是否出广告,针对特定品牌负面内容不适合出特定品牌的广告,但不影响出其它品牌的广告;
相似判定:给定两篇内容,判定是否相似,或者给定一篇内容和查找范围,返回这个候选范围与之相似的内容;
内容分类:构建一套商业的标签体系,基于不同的内容类型训练分类模型,其中文本的分类和图片的分类最终结果融合是一个难点。例如卖手机壳和卖手机的广告在图片上面是很难区分的,所以需要搭配着文案进行区分;
特定内容识别与生成:包括关键词识别、创意模式识别、智能创意生成和基于微博内容构建明星品牌知识图谱。
2. 基于内容的广告投放
基于内容的广告投放是针对内容场景,除了在已有人群定向之外,增加利用内容理解的方式进行广告投放和优化的能力,主要分为:
标签构建:在标签构建中需要有区分度将内容分开,并且需要合适的颗粒度来保证标签不会太细导致投放无法产生足够的曝光;
对内容进行标注:有了上面的标签体系之后,需要对内容进行标注,我们目前有两个模型:
1. 快速响应模型:基于公开语料来作词向量和倒排索引来应对搜索或新发热门博文等;
2. 深度模型:基于Bert通过微博语料进行分类任务的 fine-tune,但是由于性能的问题无法满足直接用于线上 inference 的延时需求,但可以通过高速 KV 存储构建缓存,将深度模型的结果倒入线上投放;
基于内容广告投放:将内容的标签打好之后,可以根据内容进行广告的投放:
1. 隐式优化:在满足广告主人群定向的条件下,根据当前的内容进行广告的优化,比如一个用户身上有两个标签 ( 汽车和数码 3C ),当用户刷到了汽车相关的内容,在这个场景下面投放汽车相关的广告效果会更好;
2. 显式优化:开放内容标签给广告主,将广告投放在选定内容标签对应的内容相关广告位,这时并不关心当前请求对应用户画像标签属性。
上图是我们内容定向的简单流程图。
3. 明星品牌知识图谱构建及应用
对于为什么要做明星品牌知识图谱,主要原因是娱乐明星是微博内容的护城河,而品牌广告是微博收入的核心,所以希望利用微博数据挖掘明星和品牌之间的商业联系,更好的将这两者结合在一起。
构建明星品牌知识图谱的几个方面:
实体:包括明星 ( 性别/年龄/别名 )、作品 ( 年代/分类/粉丝 )、品牌 ( 别名/行业/粉丝 ) 等实体;
关系:包括明星"代言"品牌、明星"参演"活动、品牌"赞助"活动等等;
应用:有了上面的实体和关系,我们会基于 Neo4j/CQL 搭建在线查询服务,对明星/影视作品相关内容进行商业拓展,并针对相似账号进行投放推荐。
上图是我们明星/品牌知识图谱的一部分,我们看下上面可以怎么进行应用。
针对输入的 query "朱一龙",我们可以通过上图左侧的图谱定位到朱一龙"代言"味全酸奶,如果味全酸奶在微博投放广告就会出相关的广告,否则可以根据味全酸奶对应行业信息出相似的广告。
另一方面实体还可以有竞争关系,例如上图右侧的图谱,宝马跟其他汽车的实体存在"竞争"关系,宝马如果希望对投放内容进行"竞品"排除,可以根据图谱,避免宝马广告出现在提及其他"竞品"的内容对应广告位。
在微博商业化中,我们对内容理解有以下几方面应用:
构建统一内容分析/表达能力:针对文本/图片/视频这些内容使用算法进行分析/表示,例如分词、关键词识别、文本向量化等等;
统一向量表示:基于特定任务进行向量 fine-tune 来获得文本/图片/视频的向量化表示,并将这些向量化进行融合;
提供基础内容理解服务:基于获取的统一向量表示可以完成对基础内容的理解,比如相似性判定、内容分类等等;
灵活支撑各种商业场景:基于上面的基础内容理解服务,我们可以灵活支撑上层各种的商业场景,例如隐式内容优化、显式内容售卖。
陈兆基
微博 | 资深算法专家