发明内容
本发明的目的在于实现一种基于多维标签的数字标牌广告选屏方法,支持广告商进行个性化的、定制化的数字标牌广告投放,能够综合地理位置、受众特征、商业环境等多维度的约束条件进行精准选屏。
本发明的广告选屏过程分为:为广告屏贴属性标签-为广告屏设置相容互斥标签-建立选屏框架-根据约束条件实现选屏算法-结果入库五个阶段,具体过程包括:1)为广告屏贴属性标签:利用数字标牌广告屏多维标签模型,根据媒体商的选择,从多维标签数据库中提取标签,作为广告屏的标签属性集合,保存在Redis数据库(一种内存数据库)中;2)为广告屏设置相容互斥标签:根据媒体商对拟播放广告的行业特征的倾向性,从多维标签数据库中提取用于描述广告行业类型的标签,设置广告屏的相容互斥标签集合,保存在Redis数据库中;3)建立层次结构的选屏框架,以原始的广告屏集合作为输入,构造可定制的层次过滤器,逐步筛选广告屏及其对应的屏位集合;4)根据不同约束条件实现相应的选屏算法:在每个层次过滤器中,根据约束条件实现有针对性的过滤算法选屏;5)结果入库:将订单信息、选到的屏、屏位信息存入Redis数据库。
具体来说,本发明的方法包括下列步骤:
A.媒体商用户给广告屏贴属性标签:给定一个广告屏ID,根据媒体商用户的输入信息,分类逐级从多维标签数据库中提取各个维度的标签,作为广告屏的标签属性集合,保存在Redis数据库,其具体内容为:
A1.按照多维标签模型,向媒体商用户展示地域(DY)、受众(SZ)、商业(SY)三种标签类型,接收媒体商用户选择的标签类型;
A2.根据媒体商用户输入的标签类型,用Redis命令get从标签数据库里获取该类标签的顶级标签集合,并展示给媒体商用户;
A3.接收媒体商用户选择的该级标签,从标签数据库里获取该标签的子标签集合,展示给媒体商用户;
A4.根据媒体商用户选择,重复A3步骤,逐级反馈标签及其子标签的内容,接收媒体商用户最终选择的标签集合;
A5.将媒体商用户最终选择的标签编码的集合存入Redis数据库中,以该广告屏的ID作为键(key),以标签编码集合作为值(value),用Redis命令sadd将值加入广告屏的属性标签集合中;
B.媒体商用户为广告屏设置相容、互斥标签:
所述的相容标签指媒体商用户允许在该广告屏上投放的广告的行业标签集合;所述的互斥标签指媒体商用户不允许在该屏上投放的广告的行业标签集合;
给定一个广告屏ID,根据媒体商用户的输入信息,设置相容互斥标签的具体实现如下:
B1.从多维标签数据库中提取行业标签的顶级标签集合,并展示给媒体商用户;
B2.接收用户选择的该级标签,从标签数据库里获取该标签的子标签集合,展示给媒体商用户;
B3.根据用户选择,重复B2步骤,逐级反馈标签及其子标签的内容,接收媒体商用户最终选择的标签;
B4.将用户最终选择的标签编码集合存入Redis数据库中,以该广告屏ID作为键,以标签编码作为值,用Redis命令sadd将值加入广告屏的相容/互斥标签集合中;
C.建立广告商用户投放广告下订单过程中的选屏框架,其具体内容为:
C1.接收广告商用户提交的订单,提取订单中的选屏条件,包括但不限于媒体商ID、选屏标签集合、广告屏位置、广告屏尺寸,广告标签;
所述的选屏标签集合,指订单要求的广告屏应具有的特征标签集合,包括但不限于地域标签、受众标签、商业标签;
所述的广告标签指该订单要播放的广告自身所属的行业标签;
C2.如果订单指定了媒体商ID,则根据媒体商ID选出广告屏集合setA;
C3.根据订单的标签集合选出广告屏集合setB,并与步骤C2获得的集合setA做交集,得到集合setC;
C4.对C3步骤得到的集合setC中的每个广告屏,如果满足订单要求的广告屏位置,则选择该广告屏;
C5.对C3步骤得到的集合setC中的每个广告屏,如果满足订单要求的广告屏尺寸,则选择该广告屏;
C6.对C3步骤得到的集合setC中的每个广告屏,如果满足订单自带的广告标签,则选择该广告屏;
C7.对C3步骤得到的集合setC中的每个广告屏,如果满足订单要求的屏位的宽高尺寸,则选择该广告屏,形成最终的广告屏集合setD;
同时获取符合条件的广告屏位,加入最终的广告屏位集合setE;
D.根据不同的标签条件,实现相应的选屏算法:
D1.根据媒体商ID选屏的算法,具体实现如下:
D1.1 利用字符串操作构造查询Redis数据库的键,由标志字符串“Scr:”+媒体商ID+字符串“Screen_id”构成;
D1.2 利用Redis命令smembers获取该键对应的广告屏集合;
D2.根据订单的标签集合选屏算法,具体实现如下:
D2.1 对标签集合中的每一个标签tag构造键值,由标志字符串“tag:”+tag的值+字符串“Screen_id”构成;
D2.2 利用Redis命令smembers获取每一个键对应的广告屏集合;
D2.3 对D2.2获取的所有的广告屏集合求并集;
D3.根据订单要求的广告屏位置选屏算法,具体实现如下:
D3.1 以订单给出的经纬度坐标点为中心,算出订单给出的坐标点与广告屏的坐标点之间的直线距离dist;
D3.2 比较订单给出的范围scope与D3.1计算得到的直线距离dist,当dist小于等于scope时,则选择此广告屏;
D4.根据订单要求的广告屏尺寸选屏算法,具体实现如下:
D4.1 判断屏幕大小尺寸是否大于等于订单所要求尺寸;
D4.2 判断屏幕的宽高比是否符合订单所要求的宽、高数值;
D4.3 当上述两步骤的值都为真时,则可以选择此广告屏;
D5.将订单自带的广告标签,与广告屏指定的相容标签和互斥标签相比对,以确定是否选择该广告屏,具体实现如下:
D5.1 如果广告屏有互斥标签集合,并且互斥标签集合与订单给出的广告标签集合有交集,则不选择该广告屏;
D5.2 如果广告屏有互斥标签集合并且D5.1步骤中的交集为空,但任一互斥标签编码是订单给出的任一广告标签编码的子集(表明广告的行业标签属于广告屏的互斥标签所述行业的子行业),则不选择该广告屏;
D5.3 如果广告屏没有互斥标签,也没有相容标签,则选择该广告屏;
D5.4 如果广告屏有相容标签集合,与广告标签的交集不为空,则选择该广告屏;
D5.5 如果广告屏有相容标签集合并且与广告标签的交集为空,但订单给出的任一广告标签编码是任一相容标签编码的子集,则选择该广告屏;
D6.根据订单要求的屏位的宽高尺寸选屏,以及筛选屏位的算法,具体实现如下:
D6.1 从订单中读出广告ID和缩放因子factor;从redis数据库中读取广告ID对应的宽高尺寸W_adv,H_adv;从redis数据库中读取广告屏包含的每个屏位的宽高尺寸W_area,H_area;
所述的缩放因子factor表示广告播放时允许调节的放大倍数和缩小倍数;当缩放因子小于1时,表明该广告播放时可以被缩小的最小倍数;当缩放因子等于1时,表明该广告不能被缩放;当缩放因子大于1时,表明该广告播放时可以被放大的最大倍数;
对该广告屏的每个屏位进行D6.2~D6.3的步骤:
D6.2;如果缩放因子factor小于1,则计算最小宽高尺寸Wmin和Hmin,分别为广告宽高与缩放因子的乘积:Wmin=factor*W_adv,Hmin=factor*H_adv;
如果Wmin<W_area<W_adv且Hmin<H_area<H_adv,则选择该广告屏位;
D6.3;如果缩放因子factor大于1,则计算最大宽高尺寸Wmax和Hmax,分别为广告宽高与缩放因子的乘积:Wmax=factor*W_adv,Hmax=factor*H_adv;
如果W_adv<W_area<Wmax且H_adv<H_area<Hmax,则选择该广告屏位;
E.将步骤C7获得的广告屏集合setD以及广告屏位集合setE保存进入Redis数据库,具体实现如下:
E1.以Hash结构保存数据:以订单ID为键,屏位ID为域,屏位ID对应的权重为值。所述的权重指排期时选择该广告位的优先级别;
E2.同时,保存该订单对应的广告屏位的总数;修改订单状态为待排期状态。
本发明提出基于多维标签的数字标牌广告选屏方法,将广告选屏过程分为:为广告屏贴属性标签-为广告屏设置相容互斥标签-建立选屏框架-根据约束条件实现选屏算法-结果入库五个阶段。本发明的优点是利用Redis数据库存放订单和屏的标签及属性,运算效率高;其次运用集合运算快速实现选屏操作,使选屏功能更加灵活,高效,易于维护。
具体实施方式
下面结合附图,通过设计3个广告订单,4个广告屏的属性标签,并根据订单要求进行选屏的过程的说明,作为实施例对本发明作进一步描述。
方法流程图如图1所示。本发明方法包括:1)为广告屏贴属性标签:利用数字标牌广告屏多维标签模型,根据媒体商的选择,从多维标签数据库中提取标签,作为广告屏的标签属性集合,保存在Redis数据库(一种内存数据库)中;2)为广告屏设置相容互斥标签:根据媒体商对拟播放广告的行业特征的倾向性,从多维标签数据库中提取用于描述广告行业类型的标签,设置广告屏的相容互斥标签集合,保存在Redis数据库中;3)建立层次结构的选屏框架,以原始的广告屏集合作为输入,构造可定制的层次过滤器,逐步筛选广告屏及其对应的屏位集合;4)根据不同约束条件实现相应的选屏算法:在每个层次过滤器中,根据约束条件实现有针对性的过滤算法选屏;5)结果入库:将订单信息、选到的屏、屏位信息存入Redis数据库。具体实施步骤如下:
1.媒体商为广告屏贴属性标签:
1.1 给定媒体商一个广告屏ID为00001;从多维标签数据库中提取地域(DY)、受众(SZ)、商业(SY)三种标签,向媒体商用户展示并接收用户选择的标签类型,部分标签示例如下:
地域标签:
标签ID |
标签值 |
11 |
北京市 |
1101 |
市辖区 |
110101 |
东城区 |
110101001 |
东华门街道 |
110101001001 |
多福巷社区 |
110101001002 |
智德社区 |
受众标签:
商业标签:
1.2 以广告屏00001为例,媒体商用户输入的受众类型为SZC(职业结构)中的SZC4(学生),利用Redis命令get分步从标签数据库里获取顶级标签SZC(职业结构)和SZC4(学生)标签;
1.3 将学生标签编码SZC4存入Redis数据库中,以该广告屏的ID 000001作为键,标签编码SZC4作为值,用Redis命令sadd将SZC4加入广告屏的属性标签集合中;
1.4 重复以上1.1~1.3步骤,分别为4个广告屏贴属性标签,结果如下表:
2.媒体商为广告屏设置相容、互斥标签:
2.1~2.3与上述1.1~1.3步骤相同,媒体商为广告屏00001设置行业标签中的HYH622(快餐服务)为此广告屏的相容标签,同时,设置HTR892(彩票活动)为此广告屏的互斥标签;
2.4 将用户选择的相容标签编码HYH622、互斥标签编码HTR892分别存入Redis数据库中,以该广告屏的ID 000001作为键,以标签编码作为值,用Redis命令sadd将两种标签编码分别加入广告屏的相容/互斥标签集合中,此时4个广告屏所贴属性标签、相容互斥标签结果如下表:
3.建立广告商投放广告订单过程中的选屏框架,根据广告商用户提交的订单,逐步筛选广告屏及其对应的屏位集合;所述的订单包括的约束条件如下:
根据订单的标签集合选出广告屏集合setB;对上述广告屏集合setB判断是否满足订单要求的广告屏位置,广告屏尺寸及订单自带广告标签,形成最终广告屏集合setD,选择的结果如下表:
订单ID |
setB |
setD |
20150701 |
000001,000002 |
000001 |
20150702 |
000002,000003 |
000002,000003 |
20150703 |
000004 |
000004 |
再一次根据上述每个订单所得到的广告屏集合以及订单中要求的广告屏尺寸大小为每个订单选择广告屏位集合,选择的结果如下表:
订单ID |
setE |
20150701 |
000001屏01屏位 |
20150702 |
000001屏02屏位,000002屏01屏位 |
20150703 |
000004屏01屏位 |
4.将获得的广告屏集合以及广告屏位集合保存进入Redis数据库。
本发明的方法实现了广告的选屏要求,通过5个步骤能够在订单约束条件下,快速地为订单选择出合适的屏幕集合和屏位集合,具有很高的商业价值和经济效益。
最后需要注意的是,公布实施例的目的在于帮助进一步理解本发明,但是本领域的技术人员可以理解:在不脱离本发明及所附的权利要求的精神和范围内,各种替换和修改都是可能的。因此,本发明不应局限于实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。