一种基于聚类的移动广告推荐方法
技术领域
本发明涉及通信技术领域,尤其涉及一种基于聚类的移动广告推荐方法。
背景技术
个性化广告是根据用户的浏览兴趣来向用户推荐相关的广告,它是精准广告投放的一个非常重要的手段,个性化广告由于推荐的广告和用户的兴趣密切相关,可以有效地提高用户体验,让用户更容易接受,从广告商的角度来说,个性化广告做到了有的放矢,避免了广告投放的浪费,提高了广告投放的效率。
随着移动网络接入环境的优化、入网资费的降低和智能移动通信终端(简称移动终端)的普及,移动网络通信进入了一个蓬勃发展的时期,移动终端尤其是智能手机,已经成为人们日常生活中不可或缺的随身通信工具和数字助手。越来越多的人使用手机上网浏览互联网信息。而庞大的用户规模,以及移动终端携带方便的特性,吸引了大批技术开发者为移动终端设计广告推荐方案。
借助良好的数字媒体环境,广告传媒业的发展更为迅速。目前,利用计算机广告投放平台,在计算机互联网上投放广告业务的技术已较为成熟;室外广告投放平台特别是数字标牌广告,如在大型商场、超市、酒店大堂、影院及其它人流汇聚的公共场所,通过大屏幕终端显示设备发布商业、财经和娱乐信息的多媒体专业视听系统等广告方式也较为常见。但这种采用固定界面显示固定广告的做法,难以根据用户的属性和行为做出动态调整,降低了广告投放的效率,且未能较好地迎合移动终端发展的需要,帮助客户利用移动终端直接对广告显示界面进行设计,未能自动地将广告精准地推送到目标群体的移动终端上;另一方面,无法面向用户,并根据移动终端上的广告投放效果、用户属性与习惯等对已投放的广告显示界面进行更新,也未能为投放广告的广告主提供广告效益、效果统计分析、报表导出、结算支出等功能。
现有的一种个性化广告推荐技术是基于用户浏览记录和行为,为用户建立兴趣模型,再用兴趣模型去匹配广告。通过统计一段时间内用户所浏览的网页信息,根据用户浏览的网页中的关键字或网页类型提取用户特征,当需要为用户投放广告时,通过将广告的特征和用户的特征进行匹配,将广告投放给用户。
然而,这种方法在广告点击率很低的情况下,如广告点击率在万分之一到千分之一的比例,通过已有的历史数据进行训练很难达到较好的稳定的结果,在利用历史数据进行训练时,会产生数据稀疏的问题导致效果交差,而大多数广告点击次数可能仅为0或1,如此少的点击数很难准确的说明问题,据此展现的广告被用户点击的概率是很低的。因此,现有的这种仅仅依靠广告点击率作为广告推荐要素的方法无法真正查找出广告投放目标,广告推荐的准确性低,推荐结果的稳定性差。
发明内容
本发明所要解决的技术问题是,提供一种基于聚类的移动广告推荐方法,提高移动终端上的广告个性化推荐的准确性。
为解决以上技术问题,一方面,本发明提供一种基于聚类的移动广告推荐方法,包括:
S10:建立移动广告投放平台,通过所述移动广告投放平台采集用户数据信息;
S20:从所述移动广告投放平台的用户数据信息中提取广告行为数据;
S30:将所述广告行为数据转化为广告行为向量矩阵,所述广告行为向量矩阵的行向量为每一个用户的广告行为数据;
S40:对所述广告行为向量矩阵的各个行向量逐一进行降维计算;
S50:判断各个用户的相似度,根据各个用户的相似度对用户进行聚类,利用聚类的算法计算出用户簇群;
S60:根据所述用户簇群的特征,在所述移动广告投放平台中查找出与所述用户簇群相匹配的广告类别并将其加入至该用户的广告推荐序列中,将所述广告推荐序列中的移动广告推荐给用户进行投放。
进一步地,在所述步骤S20中,所述广告行为数据包括:用户在广告展示期内对广告的点击次数、下载安装的移动广告的次数、所述下载安装的移动广告所属的广告类别,以及所述广告类别的转化率数值。
进一步地,所述步骤S30包括:
实时监测用户在所述移动广告平台上的广告行为,将每一个用户的广告行为数据统计为一维的行向量:
Am=[am_1,am_2,...,am_n]
其中,参数m表示第m个用户,参数n表示第n个移动广告,向量元素am_n表示第m个用户对第n个移动广告的安装行为,m>0,n>0;
将所有用户的广告行为的行向量组成为所述的广告行为向量矩阵。
优选地,所述安装行为是用户对移动广告的安装次数,则所述向量元素am_n表示第m个用户对第n个移动广告的安装次数。
进一步地,所述步骤S40具体包括:
S401:将所述移动广告平台的广告池中的移动广告划分为多个类型;
S402:根据广告池中的各种广告类型的特征,判断每一个用户的广告行为中所涉及的各个移动广告的类型;
S403:将属于同一个类型的移动广告安装行为作为同一类广告安装行为,并统计所述同一类广告安装行为的安装次数,对所述用户广告行为行向量Am进行统计更新,获得每一个用户的广告行为类别行向量:
A'm=[a'm_1,a'm_2,...,a'm_P]
其中,参数m表示第m个用户,参数P表示第P类移动广告,向量元素a'm_P表示第m个用户对第P类移动广告的安装次数,m>0,n>P>0。
再进一步地,在所述步骤S403之后,还包括:
S404:收集所述移动广告平台的各种移动广告类型的广告投放转换率,获得转化率数值C=[Con1,Con2,...,ConP],其中,向量元素ConP表示第P类广告的转化率;
S405:根据以下公式,利用所述转化率数值对所述广告行为类别行向量A'm的各个向量元素a'm_P进行更新,获得第m个用户的广告喜好向量:
其中,向量元素fm_P表示第m个用户对第P类移动广告的安装喜好因子。
进一步地,所述步骤S50具体包括:
S501:在所有用户中任意选取K个用户的广告喜好向量作为初始的聚类中心点,形成初始簇群,1<K<M,参数M为所有用户的数量;
S502:将所有用户作为聚类对象,逐一计算出每一个用户的广告喜好向量与所述K个聚类中心点的距离,并将与每个用户归类到与其距离最近的聚类中心点,每个所述聚类中心点与归类到其内部的各个用户形成一个类;
S503:重新计算得到的各个类的质心Ec,将计算得到的质心作为新的聚类中心点对用户进行聚类;
S504:迭代所述步骤S502~S503步直至新的质心具有收敛性,获得对所有用户进行聚类后的K个用户簇群,分别为用户簇群Q[1],用户簇群Q[2],......,用户簇群Q[K],并且,第k类用户簇群Q[k]分别在共P种移动广告类型的中心向量为F′k=[f'k_1,f'k_2,...,f'k_P],其中,向量元素f'k_P表示第k类用户簇群在第P类移动广告的中心向量值,1≤k≤K。
优选地,在所述步骤S503中,通过以下公式计算出第k类用户簇群的质心:
其中,Fm是用户m的广告喜好向量,nk是第k类用户簇群的大小,是属于用户簇群Q[k]的所有用户广告喜好向量之和。
再进一步地,所述步骤S60包括:
S601:当任一用户h接入移动广告平台时,查找出用户h所在的用户簇群及其对应的中心向量;当用户h与第k类用户簇群对应时,其中心向量为F′k=[f'k_1,f'k_2,...,f'k_P];
S602:根据向量元素值的大小,对用户h所对应的用户簇群的中心向量F′k=[f'k_1,f'k_2,...,f'k_P]中的元素值进行排序;
S603:根据排序在前面的一个或多个元素值所对应的广告类别,在所述移动广告平台上广告池中抽取相应的广告,随机排序后加入用户h的移动软件广告推荐序列中;
S604:在所述用户h的移动软件广告推荐序列中抽取一个或多个用户喜好度最高的广告进行推荐。
实施本发明提供的技术方案,具有以下技术效果:
将移动广告投放平台上采集得到的海量稀疏的用户广告行为数据进行降维计算,通过对广告进行分类,获得用户对相同或相似的广告投放行为的统计数据,实现对每一个用户的广告行为数据的精简处理;同时,对各个用户的相似度进行判断,将具有相似广告投放行为的用户聚类为同一个用户簇群,建立用户簇群的特征,并根据用户簇群的特征向当前用户进行广告投放推荐,因此,本发明不仅对用户广告行为数据进行简化处理,而且根据用户在广告投放的兴趣喜好对用户特征进行了优化,因而能够迅速锁定与当前用户相关度更高的广告类型,将移动广告投放平台上的广告池中的相应广告推荐给当前用户,实现对广告的精准投放,提高了广告推荐的准确性和有效性,自动响应用户广告投放的个性化要求。
附图说明
图1是本发明提供的基于聚类的移动广告推荐方法的一个实施例的步骤流程图。
图2是本发明实施例提供的各个用户向初始聚类中心点聚集的示意图。
图3是本发明提供的各个用户经过多次迭代后向聚类中心点聚集的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
参见图1,是本发明提供的基于聚类的移动广告推荐方法的一个实施例的步骤流程图。
在本实施例中,所述的基于聚类的移动广告推荐方法包括以下步骤:
步骤S10:建立移动广告投放平台,通过所述移动广告投放平台采集用户数据信息。优选地,本发明提供的基于聚类的移动广告推荐方法应用在移动终端的应用软件程序(Application,简称APP)上进行广告推荐。具体地,将移动终端上的APP应用与后台服务器组建成为移动广告投放平台,通过移动终端上的APP应用采集与其相关的用户数据信息,后台服务器运行本发明提供的移动广告推荐方法,将与当前用户的兴趣喜好最接近的广告序列推荐给用户进行投放。
步骤S20:从所述移动广告投放平台的用户数据信息中提取广告行为数据。具体地,所述广告行为数据包括:用户在广告展示期内对广告的点击次数、下载安装的移动广告的次数、所述下载安装的移动广告所属的广告类别,以及所述广告类别的转化率数值。
步骤S30:将所述广告行为数据转化为广告行为向量矩阵,所述广告行为向量矩阵的行向量为每一个用户的广告行为数据;
步骤S40:对所述广告行为向量矩阵的各个行向量逐一进行降维计算;
步骤S50:判断各个用户的相似度,根据各个用户的相似度对用户进行聚类,利用聚类的算法计算出用户簇群;
步骤S60:根据所述用户簇群的特征,在所述移动广告投放平台中查找出与所述用户簇群相匹配的广告类别并将其加入至该用户的广告推荐序列中,将所述广告推荐序列中的移动广告推荐给用户进行投放。
在本实施例中,在实施步骤S30时,可通过对移动终端的用户信息进行量化处理。具体地,实时监测用户在所述移动广告平台上的广告行为,将每一个用户的广告行为数据统计为一维的行向量:
Am=[am_1,am_2,...,am_n]
其中,参数m表示第m个用户,参数n表示第n个移动广告,向量元素am_n表示第m个用户对第n个移动广告的安装行为,m>0,n>0;将所有用户的广告行为的行向量组成为所述的广告行为向量矩阵。优选地,所述安装行为是用户对移动广告的安装次数,则所述向量元素am_n表示第m个用户对第n个移动广告的安装次数。广告行为向量矩阵中每一维向量均表示其中某一个用户对第1个移动广告至第n个移动广告是否有过安装行为。具体地,当用户将某一APP应用软件安装在移动终端时,可以看作为对与该APP应用软件相关的移动广告的安装行为。在第m个用户的广告行为行向量Am中,检测用户m对移动广告1~移动广告n是否有过安装行为,并统计用户m对各个移动广告的安装次数,例如,若用户m对移动广告1所对应的移动软件1有k次安装,则向量元素am_1计数为k;若用户m从未安装移动广告2所对应的移动软件2,则将向量元素am_2计数为0。
本实施例提供的移动广告投放平台通常连接有多个移动用户,则多个用户的广告行为行向量可组建为广告行为向量矩阵。此时,广告行为向量矩阵中的用户广告安装行为数据通常是比较稀疏的,譬如,多数用户仅对某一个移动广告有过0~2次的安装行为,因此,此时的广告行为向量矩阵并未能有针对性地反映出用户的喜好偏向,需要对矩阵数据进行特征提取。
在一种可现实的方式中,可以对每一个用户的移动广告进行分类,提高矩阵数据的聚合度,从而反映出每一个用户对各类广告的安装频率。若当前用户共涉及的n个移动广告,而移动广告投放平台的广告池中共有P类广告,其中P<n,则将当前用户的n个移动广告按照广告池中的各类广告的特征进行归类,即用户的广告行为行向量Am中的n个向量元素将精简为P个向量元素,即在步骤S40中实现对所述广告行为向量矩阵的各个行向量逐一进行降维处理。
具体地,所述步骤S40具体包括:
步骤S401:将所述移动广告平台的广告池中的移动广告划分为多个类型;
步骤S402:根据广告池中的各种广告类型的特征,判断每一个用户的广告行为中所涉及的各个移动广告的类型;
步骤S403:将属于同一个类型的移动广告安装行为作为同一类广告安装行为,并统计所述同一类广告安装行为的安装次数,对所述用户广告行为行向量Am进行统计更新,获得每一个用户的广告行为类别行向量:
A'm=[a'm_1,a'm_2,...,a'm_P]
其中,参数m表示第m个用户,参数P表示第P类移动广告,向量元素a'm_P表示第m个用户对第P类移动广告的安装次数,m>0,n>P>0。
在本实施例中,可以根据用户的广告行为类别行向量A'm执行步骤S50~步骤S60的用户簇群聚类,但此时的广告行为类别行向量A'm并未能真正反映出各个用户对某一类的移动广告的喜好偏向,因此,在所述步骤S403之后,还包括以下处理步骤S404~步骤S405:
步骤S404:收集所述移动广告平台的各种移动广告类型的广告投放转换率,获得转化率数值C=[Con1,Con2,...,ConP],其中,向量元素ConP表示第P类广告的转化率。具体实施时,在实现对用户的广告推荐前,就需要预先统计获得各种移动广告类型的广告投放转换率。广告投放转换率是指通过点击广告进入推广网站的用户形成转化的比例,可以将广告用户的转化量与广告到达量的比值称为广告转化率。
步骤S405:根据以下公式,利用所述转化率数值对所述广告行为类别行向量A'm的各个向量元素a'm_P进行更新,获得第m个用户的广告喜好向量:
其中,向量元素fm_P表示第m个用户对第P类移动广告的安装喜好因子。
在一定的统计周期内,统计用户对多种广告形式的点击、下载、安装、推广、注册等行为来获得所述的转化率数值C。具体地,转化可为网民的身份产生转变的标志,如网民从普通浏览者升级为注册用户或购买用户等。转化标志一般指某些特定页面,如注册成功页、购买成功页、下载成功页等,这些页面的浏览量等可称为转化量。因此,本实施例可以从广告的转化量或转化率数值作为判断用户对某一移动广告具有兴趣爱好的考虑因素,排除用户仅仅是基于随机点击或者下载安装后即卸载等的移动广告的行为数据,因而能够真实地反映出用户对移动广告的喜好。
进一步地,在获得用户的广告喜好向量Fm后,所述步骤S50可以根据用户的喜好对多个用户进行归类或聚类,从而实现对广告行为向量矩阵中的广告行为数据再次降维,对同类数据实现集中化。
具体地,所述步骤S50具体包括:
步骤S501:在所有用户中任意选取K个用户的广告喜好向量作为初始的聚类中心点,形成初始簇群,1<K<M,参数M为所有用户的数量。
如表1所示,是所有用户的广告喜好向量Fm的数据结构表。
表1所有m个用户的广告喜好向量Fm的数据结构表
如表2所示,是随机抽取的K个用户的广告喜好向量所组成的初始聚类中心数据结构表。
表2初始聚类中心数据结构表
具体实施时,在对用户进行聚类时,将表2中的K个用户作为聚类中心点,通过迭代运算来获得K类用户簇群。
步骤S502:将所有用户作为聚类对象,逐一计算出每一个用户的广告喜好向量与所述K个聚类中心点的距离,并将与每个用户归类到与其距离最近的聚类中心点,每个所述聚类中心点与归类到其内部的各个用户形成一个类。
如图2所示,是本发明实施例提供的各个用户向初始聚类中心点聚集的示意图。图2中示例了用户1~用户9分别向与各自最近的聚类中心点进行聚集,其中的用户1~用户3的广告喜好向量向聚类中心点F1聚集,用户6~用户9的广告喜好向量向聚集中心点F2聚集,用户4和用户5的广告喜好向量向聚类中心FK聚集。
步骤S503:重新计算得到的各个类的质心Ec,将计算得到的质心作为新的聚类中心点对用户进行聚类。在获得新的用户聚类状态时对各类用户簇群的质心重新计算,优选地,通过以下公式计算出第k类用户簇群的质心:
其中,Fm是用户m的广告喜好向量,nk是第k个用户簇群的大小,是属于用户簇群Q[k]的所有用户广告喜好向量之和。
步骤S504:迭代所述步骤S502~S503步直至新的质心具有收敛性,获得对所有用户进行聚类后的K个用户簇群,分别是用户簇群Q[1],用户簇群Q[2],......用户簇群Q[K],并且,第k类用户簇群Q[k]分别在共P种移动广告类型的中心向量为F′k=[f'k_1,f'k_2,...,f'k_P],其中,向量元素f'k_P表示第k类用户簇群在第P类移动广告的中心向量值,1≤k≤K。
如图3所示,是本发明提供的各个用户经过多次迭代后向聚类中心点聚集的示意图。其中,图3中的各个聚类中心点已根据质心的变化进行更新,形成新的聚类中心点以及相应的用户簇群,重新计算所有用户与更新后的聚类中心点的距离,继而计算更新后的用户簇群的质心;如此迭代运算,直到各个用户簇群的质心不再发生变化,最终获得稳定的聚类中心点以及相应的用户簇群。具体地,在检测用户簇群质心的收敛性时,可以通过计算公式:
其中,上式中的参数Fm是用户m的广告喜好向量,Ec是用户簇群Q[c]的质心向量,J函数表示每个用户喜好向量到其质心的距离平方和。
当J函数不再发生变化时,认为经过多次迭代运算后获得的K类用户簇群为稳定的用户簇群,每个用户簇群具有共同的用户广告行为的喜好偏向,其中第k个聚类中心点为中心向量F′k,每个用户簇群代表具有共同兴趣爱好的用户的集合。
具体实施时,为了向任一正在使用本发明提供的移动广告投放平台的用户提供个性化的广告推荐,可以利用在所述步骤S50中获得用户簇群中,查找出当前用户所属的用户簇群,将用户簇群在移动广告平台的广告池中所对应的广告推荐给当前用户。在实际应用中,移动广告平台上的广告池中已预存有与多个用户簇群相对应的广告序列,并且该广告序列及其与用户簇群之间的对应关系可以随着用户簇群的迭代更新而更新。
具体地,所述步骤S60包括:
步骤S601:当任一用户h接入移动广告平台时,查找出用户h所在的用户簇群及其对应的中心向量;当用户h与第k类用户簇群对应时,其中心向量为F′k=[f'k_1,f'k_2,...,f'k_P];
步骤S602:根据向量元素值的大小,对用户h所对应的用户簇群的中心向量F′k=[f'k_1,f'k_2,...,f'k_P]中的元素值进行排序;在本发明提供的广告推荐方法中,中心向量中的元素值越大表明该用户对该类广告越感兴趣或喜爱度越强,因此能够提供更合理精准的个性化广告进行推荐。
步骤S603:根据排序在前面的一个或多个元素值所对应的广告类别,在所述移动广告平台上广告池中抽取相应的广告,随机排序后加入用户h的移动软件广告推荐序列中;
步骤S604:在所述用户h的移动软件广告推荐序列中抽取一个或多个用户喜好度最高的广告进行推荐。
具体实施时,假定对于用户m所对应用户簇群的中心向量值是F′k=[f'k_1,f'k_2,...,f'k_P],并且f'k_i=max(F′k),那么在第i类别的广告池中随机选取广告放入用户m的广告推荐序列的最前端;进一步地,之后选取次大值f'k_j=max(F′k),其中j≠i,继续在第j类别的广告池中随机选取广告放入用户m的广告推荐序列中,最终在未安装过的软件应用中选取前一个或多个广告进行推荐。
本发明提供的基于聚类的移动广告推荐方法将移动广告投放平台上采集得到的海量稀疏的用户广告行为数据进行降维计算,通过对广告进行分类,获得用户对相同或相似的广告投放行为的统计数据,实现对每一个用户的广告行为数据的精简处理;同时,对各个用户的相似度进行判断,将具有相似广告投放行为的用户聚类为同一个用户簇群,建立用户簇群的特征,并根据用户簇群的特征向当前用户进行广告投放推荐,因此,本发明不仅对用户广告行为数据进行简化处理,而且根据用户在广告投放的兴趣喜好对用户特征进行了优化,因而能够迅速锁定与当前用户相关度更高的广告类型,将移动广告投放平台上的广告池中的相应广告推荐给当前用户,实现对广告的精准投放,提高了广告推荐的准确性和有效性,自动响应用户广告投放的个性化要求。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。