自助式用户群扩展方法与流程

文档序号:14058107阅读:174来源:国知局
本发明涉及航空业的在线广告投放领域,具体涉及一种自助式用户群扩展方法。
背景技术
:用户群扩展(look-alikeaudienceextension)是能使在线广告投放实现定制化的有效方法。在线广告投放中使用用户群扩展系统能帮助投放者找寻已存在响应用户的相似者,来实现相应商业目标。使用用户群扩展系统,任何广告投放者能够在无需了解目标群体特征的情况下,通过输入一个已存在的响应用户名单(种子用户名单),来复制出一个定制化的高相似度用户名单。于航空业而言,在电子商务发达的互联网时代,用户群扩展系统除了广告和优惠活动的精准投放,还能实现更广义的“以人找人”需求,如:以高端人群名单寻找潜在的高价值旅客,以流失客户名单找寻潜在的高流失风险群体,以旅游捆绑产品的购买人群名单寻找潜在的高购买倾向群体等。传统的用户群扩展算法往往由互联网数据挖掘分析专家,基于深厚的行业知识和对数据的理解,对特定的种子用户群进行人工特征工程,构建定制化机器学习算法。在这过程中,对于任意一个案例,从对种子人群业务分析,到提炼特征变量,再到算法调试,需要分花费析师大量的时间和精力,不同业务背景的案例还需要和不同的业务组进行深入的交流以保证算法模型中使用的变量特征是高质量的、与业务逻辑一致的。在电商巨头海量广告投放的业务背景下,就需要成百上千的定制化模型,其间产生的人力和时间成本无疑是巨大的。技术实现要素:本发明的目的在于提供一种可由业务员导向、并提升扩展效率的自助式用户群扩展方法。为实现上述目的,本发明采用以下技术方案:自助式用户群扩展方法,包括:s1、数据的存储优化:在旅客标签画像系统中以竖表的形式存储旅客的画像标签,将形成的竖表取名为user_tag_value,由hbase映射至hive,为离线自动化分析做准备;user_tag_value中的字段名包括user_id及tag_cd,user_id为航司会员的唯一标识符,tag_cd为标签代码,用于表示画像标签;s2、导入种子人群名单:将需要重点分析的具有共同某种行为特征的旅客名单上传至旅客标签画像系统;s3、勾选画像标签:业务人员根据对种子人群的业务理解,在标签画像系统里的标签列表中选取作为模型分析的合适的标签,从而由user_tag_value生成临时表user_tag_value_tmp,将user_tag_value_tmp转换成横表结构,则每个user_id一行,各列为各个标签的0-1特征;s4、采用半监督学习算法量化其他旅客与种子人群的相似度。进一步地,所述画像标签代码为8位,前6位表示画像标签的定义,标签代码的后2位表示画像标签的标签值。进一步地,步骤s4具体包括以下步骤:s41、采用1-dnf算法获得负样本集合;s42、将获得的负样本集合结合种子人群的正样本集合,使用gbdt算法构建分类模型,使用构建的分类模型对其他旅客进行打分,量化其他旅客与种子人群的相似度。进一步地,步骤s41具体包括:s411、设全旅客横表的字段为user_id,x1,…,xn,is_p,其中x1到xn为n个0-1标签特征,is_p为是否正例的0-1标记,则生成如下2n个新列:pi=xi*is_p,ui=xi*(1-is_p),i=1ton;s412、对p1,…,pn和u1,…,un字段全表groupby求和得到一个维度为1*2n的横表,结构为sum_p1,…,sum_pn,sum_u1,…,sum_un;s413、使用宽转长操作将上表转成n*3维的竖表,字段为feature_index,sum_p,sum_u,其中feature_index值为标签定义字符“x1”,…,“xn”;s414、对竖表通过条件sum_p/|p|>sum_u/|u|进行过滤,留下的feature_index用来表征pt特征集;s415、将feature_index作长转宽操作变为维度为1*n的横表,列名为xa1,xa2,…,xan,表的值为常数0;其中,n为pt特征的个数,a1到an为1到n的一个子集,n<=n;s416、将全旅客横表和s45中的横表用(xa1,xa2,…,xan)组合键作内关联,关联所得的user_id即为负样本集合。本发明还提供又一种自助式用户群扩展方法,包括:s1、数据的存储优化:在旅客标签画像系统中以竖表的形式存储旅客的画像标签,将形成的竖表取名为user_tag_value,由hbase映射至hive,为离线自动化分析做准备;user_tag_value中的字段名包括user_id及tag_cd,user_id为航司会员的唯一标识符,tag_cd为标签代码,用于表示画像标签;s2、导入种子人群名单:将需要重点分析的具有共同某种行为特征的旅客名单上传至旅客标签画像系统;s3、勾选画像标签:业务人员根据对种子人群的业务理解,在标签画像系统里的标签列表中选取作为模型分析的合适的标签,从而由user_tag_value生成临时表user_tag_value_tmp,将user_tag_value_tmp转换成横表结构,则每个user_id一行,各列为各个标签的0-1特征;s4、采用相似度距离测度算法量化其他旅客与种子人群的相似度。进一步地,所述画像标签代码为8位,前6位表示画像标签的定义,标签代码的后2位表示画像标签的标签值。进一步地,所述相似度距离测度算法中,旅客i和种子人群集合s之间的相似度为:式中,f是由种子人群集合s组成的0-1特征宽表矩阵,其维度为p*k,p为种子人群集合s中的人群数目,k为特征的个数;是旅客i的0-1特征列向量,其维度为k*1;y是标签定义的数目。采用上述技术方案后,本发明与
背景技术
相比,具有如下优点:1、业务人员能自助式筛取旅客标签作为输入到算法端的变量。如果画像系统中尚未存在一些业务相关的重要特征变量,业务人员能拟定特定业务逻辑交由etl专家实现数据逻辑将变量入库。该模式业务导向性极强,大大节省了传统分析师的时间成本(特征工程一般占据完整商业分析数据挖掘任务构建周期的70%-80%);2、基于业务员勾选的业务相关画像标签,自动化构建分析视图,利用改良版的算法(包括1-dnf算法和jaccard测度)快捷高效地实现对其他会员与种子人群间的相似度量化。附图说明图1为本发明流程图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。实施例请参阅图1所示,自助式用户群扩展方法,主要包括4个步骤。s1、数据的存储优化:为满足可由业务人员不断扩充的需求,在旅客标签画像系统中以竖表的形式存储旅客的画像标签,将形成的竖表取名为user_tag_value,由hbase映射至hive,为离线自动化分析做准备;请参阅下表所示,user_tag_value中的字段名包括user_id及tag_cd,user_id为航司会员的唯一标识符;tag_cd为标签代码,用于表示画像标签;其位数为8位,前6位表示画像标签的定义,标签代码的后2位表示画像标签的标签值。使用该存储结构,大多数旅客user_id的画像标签由于业务累积,在该表中能形成成百上千行数据。s2、导入种子人群名单:将需要重点分析的具有共同某种行为特征的旅客名单上传至旅客标签画像系统。一般而言为一列10万到100万的旅客会员号user_id。s3、勾选画像标签:业务人员根据对种子人群的业务理解,在标签画像系统里的标签列表中选取作为模型分析的合适的标签,从而由user_tag_value生成临时表user_tag_value_tmp(user_tag_value_tmp结构与user_tag_value相同,只包含勾选的画像标签所代表的tag_cd))。由于user_tag_value_tmp为竖表结构,为了后续机器学习算法使用,须将user_tag_value_tmp转换成横表结构,则每个user_id一行,各列为各个标签的0-1特征。s4、采用半监督学习算法量化其他旅客与种子人群的相似度。s41、采用1-dnf算法获得负样本集合;可靠负样本的获取是该算法的关键。本发明通过对传统的1-dnf伪代码进行深入挖掘,提炼出一种基于表格数据转换的hiveql算法,充分地利用了分布式离线分析工具的计算能力。1-dnf的基本思想是:对于每个标签,如果其在正例集合p(positive,种子人群)中的出现比重大于在未标注集合u(unknown,其余会员)中出现的比重,则该标签为正标签(positivetag,pt),所有满足该条件的标签组成一个pt集合。对u中的每个样本,如果其完全不包含pt集合中的任意一个特征,则该样本应加入可靠负样本集合rn(reliablenegative)。传统的1-dnf伪代码算法如下:a)pf置空,rn=u;b)设u∪p的特征集为:{x1,x2,…,xn};fori=1ton:if(freq(xi,p)/|p|>freq(xi,u)/|u|):pt=pt∪{xi}c)foreachd∈u:ifョxj,freq(xj,d)>0andxj∈pt:rn=rn-{d}本发明提出的基于表格数据转换的1-dnf算法具体包括:s411、设全旅客横表的字段为user_id,x1,…,xn,is_p,其中x1到xn为n个0-1标签特征,is_p为是否正例的0-1标记,则生成如下2n个新列:pi=xi*is_p,ui=xi*(1-is_p),i=1ton;下述步骤均以如下3个种子用户(|p|=3)、2个未标记用户(|u|=2)、5个用户标签(两个变量“性别”及“是否会员”)为简单实例进行阐释。s412、对p1,…,pn和u1,…,un字段全表groupby求和得到一个维度为1*2n的横表,结构为sum_p1,…,sum_pn,sum_u1,…,sum_un;sum_p1sum_p2sum_p3sum_p4sum_p5sum_u1sum_u2sum_u3sum_u4sum_u53002101111s413、使用宽转长操作将上表转成n*3维的竖表,字段为feature_index,sum_p,sum_u,其中feature_index值为标签定义字符“x1”,…,“xn”;feature_indexsum_psum_ux130x201x301x421x511s414、对竖表通过条件sum_p/|p|>sum_u/|u|进行过滤,留下的feature_index用来表征pt特征集;feature_indexsum_psum_ux130x421s415、将feature_index作长转宽操作变为维度为1*n的横表,列名为xa1,xa2,…,xan,表的值为常数0;其中,n为pt特征的个数,a1到an为1到n的一个子集,n<=n;x1x400这里设为0的意义是考虑到原始标签宽表里0表示的某个user_id不具有某个标签特征,目的是以便下一步能够使用一步内关联,关联出不具有任何一个pt特征的旅客;s416、将全旅客横表和s45中的横表用(xa1,xa2,…,xan)组合键作内关联,关联所得的user_id即为负样本集合。该例中只有用户e满足x1和x4同时为0,故可靠负样本集合为{e}。user_idx1x2x3x4x5is_pe001010s42、将获得的负样本集合结合种子人群的正样本集合p形成机器学习的分析视图作为输入,使用gbdt算法构建分类模型,使用5-fold交叉验证来自动获得最优模型超参数。使用最优的分类模型对其他旅客进行打分,量化其他旅客与种子人群的相似度。本发明还提供又一种自助式用户群扩展方法,其与实施1一样包括4个步骤,不同之处在于步骤s4中,采用了相似度距离测度算法量化其他旅客与种子人群的相似度。s4、采用相似度距离测度算法量化其他旅客与种子人群的相似度。在传统的相似度距离测度算法(jaccard测度算法)中,旅客i与旅客j间的一对一相似度(usertousersimilarity,下文简称u2u相似度)采用jaccard相似度来定义(k个特征):则,旅客i和一个旅客群体s之间的相似度定义为:式中,fi是一个k维向量,fig是一个数值,g的取值范围为1到k,代表fi的k个维度。由此,对于任意一个非种子旅客i,均能够算出他与种子人群集合s的相似度,对相应计算复杂度为2*k*p^2*u。如果对多重特征对(fig,fjg)均进行min和max的判断,对于千万级的数据,运算量将会极大。为了能利用spark矩阵向量运算的功能,在0-1特征的情况下,可对上述相似度公式进行转换后可得到如下形式:由于其中y是标签定义的数目(根据标签画像系统中标签的定义特性,每一个旅客不可能同时是“男”、“女”或“性别未知”,故所有标签0-1特征的求和为标签定义的数目),则上式可以进一步简化为其中fi*fj是的向量乘法表示。由于在[0,y]区间内是单调递增函数,则有:其中f是由种子人群集合s(假设人群数目为p)组成的0-1特征横表矩阵(维度p*k),是常旅客i的0-1特征列向量(维度k*1),矩阵运算的结果是一个p*1的列向量,表示旅客i与p位种子人群旅客间的相似度。因此,所述相似度距离测度算法中,旅客i和种子人群集合s之间的相似度为:如此,全网旅客的计算复杂度为k*p^2*u,与传统的相似度距离测度算法相比,减少了一半时间。以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1