计算广告——广告定向实践
计算广告学涉及到很多的不同的学科知识,包括大规模搜索,文本分析,机器学习,信息检索以及经济学等等。在计算广告中,其核心问题是在给定的环境下,找到用户和广告之间的最佳匹配,在斯坦福大学的计算广告学中如下的定义:
Computational advertising = A principled way to find the “best match” between a user in a context and a suitable ad.
对于一条指定的广告,为了寻找用户与广告之间的最佳匹配,需要从大量的候选用户,挑选出对本条广告感兴趣的用户,这就牵涉到广告定向的相关技术。
一、广告定向的分类
这部分的内容主要参照参考文献1。
- 人群属性定向(Demographic Targeting):主要指基于用户基本属性,包括年龄,性别等定向。如将化妆品类的广告投放给女性用户。
- 行为定向(Behavioral Targeting):指的是基于用户的历史行为数据挖掘用户的兴趣,如微博中用户对博文的转,评,赞等数据。
- 地理位置的定向(Geo Targeting):指的是利用移动设备记录用户的地理位置,投放相应的广告,如餐厅广告的投放。
- 相似用户的定向(Look-Alike Targeting):指的是利用已经找出的一些人,找到与其相似的用户进行定向。
还有很多的定向技术,在本文中,结合具体的广告形态,重点介绍一下行为定向以及相似用户的定向。
二、基于用户行为的广告定向
2.1、广告实践的背景
对于信息流类的广告产品,也称为原生广告,即广告的展示样式与自然内容基本上一致,这一点通常也称为“表现原生”。基于信息流的广告产品有很多,如微信的朋友圈,微博,QQ空间,今日头条等等。下面展示了微信的朋友圈,微博以及QQ空间的信息流广告:
- 微信的朋友圈
- 微博
- QQ空间
2.2、基于用户行为的广告定向
对于索引的生成,这里简单介绍离线的数据挖掘+在线索引的方法,整体架构包括离线数据挖掘部分以及在线索引部分,具体架构如下图所示:
对于上述的社交类的信息流中的广告,其用户的行为主要包括转发,评论,点赞,收藏以及点击短链,且每一种行为的强度也是不一样的,转发的强度是最高的,代表的用户的兴趣是刻画的最清晰的一种行为。基于用户的行为的广告定向大致有如下的几种形式:
2.2.1、基于互动内容的行为定向
基于互动内容的行为定向是指利用一些机器学习或者文本处理的方法提取出用户互动的文本中的核心词,以核心词作为用户的标签,当有新的广告时,提取出广告中的核心词,与用户的标签进行匹配,大致的架构如下图所示:
2.2.2、基于与广告主互动的行为定向
基于与广告主互动的行为定向是指将广告主的广告投放给与其发布的信息(广告或者非广告)有过互动的一些用户,这些与广告主有过互动的用户在一定程度上对广告主发布的信息有着不同的兴趣。
注意:这里的用户有一部分是该广告主的粉丝或者好友,要排除这一部分的用户。
基本的过程是提取出与广告主在一定时间内互动过的用户,当该广告主发布新的广告时将广告投放给这些潜在的用户,基本的架构如下图所示:
2.2.3、基于话题的行为定向
在社交网络中,通过##
标记可以将一部分文本标记为话题。话题代表了该信息的大致主题,提取出用户在一段时间内互动过的博文中的话题,作为该用户的兴趣标签,当新的广告中同样包含话题时,提取出广告中包含的话题,通过广告中的话题与用户的兴趣标签进行匹配,选择出该广告的受众,将广告投放给这部分用户,大致的架构如下图所示:
三、基于相似用户的广告定向
相似用户是指具有某些相同属性的用户的集合,通过某种相似性的度量的方法将具有某种共同属性的用户聚类到一起作为一个集合,当广告与某个集合的主题一致时,可以将该广告投放给该集合中的用户。
3.1、基于@人的广告定向
在社交网络中,可以通过@
标记来标记一个用户。通常一个用户与其粉丝大致分为两种关系:
- 社交关系:如亲戚朋友,同事,同学等
- 兴趣关系:如###爱好者
当一条信息中包含了@标记,说明该信息与被@的用户有关系,可以将这条关系投放给其粉丝,大致的架构如下图所示:
3.2、基于社区的广告定向
社区划分是社交网络中研究比较多的一个话题,对于不同结构的社交网络有不同的社区划分算法,如在前面涉及到的:
还有很多其他的社区划分的方法,这里就不一一介绍了。社区划分算法通过某种方式将用户划分到不同的社区中,社区内部的关系较为强烈,社区与社区之间有比较明显的界限。
当有广告需要投放时,选择某几个社区,将广告投放给社区中人,选择社区的方式有很多,如:
- 广告与社区标签的匹配
- 广告主所在的社区
- 等等
以广告主所在的社区为例,其大致的架构如下图所示:
四、各种定向技术的效果以及评价
上面主要介绍了两大类的广告定向技术:基于用户行为的广告定向和基于相似用户的广告定向。在每一个类别中,针对具体的应用问题又有不同的定向方法,上面以社交网络中的广告定向为例,介绍了:
- 基于互动内容的行为定向
- 基于与广告主互动的行为定向
- 基于话题的行为定向
- 基于@人的广告定向
- 基于社区的广告定向
衡量广告的投放效果通常的指标有互动率或者是转化率,这里,我们以互动率为例,详细的互动率如下图所示:
其中,1分钟的,硬盘版和一天mc指的是不同时间的基于互动内容的行为定向。
从上述的互动率也更加验证了以下的几点:
- 互动内容的行为定向具有时效性,互动行为距离广告投放时间越近,效果越好
- 与广告主互动以及话题具有明显的兴趣标签
- 社区的定向范围比较大,效果并不是很多,但是量比较大,作为量的补充
以上是我的个人总结,有任何错误还希望能不吝指出。
参考文献
- 不经意发现的dba_objects和dba_tables中的细节(r7笔记第56天)
- LeetCode——Longest Substring Without Repeating Characters
- Python time模块详解(时间戳↔元组形式↔格式化形式三者转化)
- Maven 核心原理解析(2)
- Linux C 编程——互斥锁mutex
- python两个 list 获取交集,并集,差集的方法.
- python——时间与时间戳之间的转换
- Maven 核心原理解析(3)
- String中的null,以及String s;等区别详解
- Shell编程——Shell中的数学运算
- 如何利用微信监管你的TF训练?
- python 安装spark_Spark环境搭建 (Python)
- MongoDB触发oom-killer的简单处理(一)(r7笔记第54天)
- int与integer的区别
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 数据结构题集(严书)串 常见习题代码
- PAT (Basic Level) Practice (中文)1040 有几个PAT (25 分)
- 201909-4ccf计算机职业资格认证考试 第四题 推荐系统
- 【Linux_Shell 脚本编程学习笔记四、监控系统内存并报警企业案例脚本】
- PAT (Basic Level) Practice (中文)1042 字符统计 (20 分)
- Pytorch 中的 5 个非常有用的张量操作
- k-近邻算法实现数字识别
- 【Linux_Shell 脚本编程学习笔记五、Oracle JDK1.8 安装shell 脚本】
- vue中子组件使用$emit传值的种种情况
- 前端工程化建设
- 机器学习101-从JAX的角度去实现
- Spring 系列之jdbcTemplate的使用
- 【Linux_Shell 脚本编程学习知识点、判断传入参数是否是 整数】
- 发现一款.NET Core开源爬虫神器:DotnetSpider
- 完整的卸载Jdk java环境教程