韩洪勇 马文婷 杨超然 山东科技大学
目前的广告推荐方法主要有以下几种:随机投放式、基于网页信息的投放方式、个性化广告推荐方式。由于随机投放广告的效率很低,在这里不作介绍。而目前移动终端的个性化广告的推荐方法较大一部分还是使用传统互联网广告(主要指的是台式机计算机)的个性化的推荐方法,使用的是基于用户浏览内容的推荐算法和协同过滤的推荐思想。但是现在移动互联网广告有明显的个人个性特征,以往的传统互联网广告的投放方法对于提高广告的精确投放往往不尽人意。传统互联网广告投放的公司以亚马逊为代表,他们都是借助基于用户浏览内容的推荐算法和协同过滤的算法。这种算法的本质是两个相似用户的相互推荐,这里举个例子说明该算法。假设用户A看过a、b、c、d、e、f这几部电影,用户B喜欢看a、b、c、d、g、h这几部电影。那么我们就可以认定为A、B两个用户他们有相同的兴趣爱好,将B没有看过但是A看过的e、f电影推荐给B,将A没有看过的但是B看过的g、h两部电影推荐给A,这里就完成了基于用户浏览内容的相互推荐。协同过滤算法的内容是通过用户浏览的广告的内容,然后预测出这个用户的大致的喜好,去寻找与该用户喜好相关的广告内容推荐给该用户。
除此之外,国外Murdock v等人提出基于词频提取的网页关键词提取的算法。该算法的思想是获取用户搜索的内容的那页网页的主题或者该网页的关键词,计算出网页的内容和预推荐广告的内容的相关性,将相关性系数大的广告推荐给用户。
在移动终端上进行个性化广告推荐主要要解决以下两个问题:一个是用户的场景问题。一个是广告推荐速度问题。在移动终端上进行广告推荐不同于传统的互联网的广告推荐,移动终端上进行广告推荐,用户的个性化更加明显,可以更加准确的得知用户的使用场景,更有可能得知用户的真实广告需求。其次,由于硬件上的差别,终端设备的用户对于广告推荐系统模型的计算能力比传统的台式计算机的用户要弱很多。而实际生活中,用户的数据量和广告的数据量又很庞大,模型的计算量非常巨大,而普通的移动设备无法承受如此巨大的计算量。
解决场景获取的问题。在移动终端上进行个性化广告推荐,首先要获取用户的使用场景。通过用户的移动设备,获取用户的位置信息、时间信息、速度信息、光线信息、声音信息等,将用户的这些信息进行整理分析,预测出用户的使用场景,进而为用户进行个性化的广告推荐做准备。
建立基于内容的个性化广告推荐模型。当用户使用移动终端设备浏览网页时,用户浏览器或者终端设备记录下用户当前浏览的主题、用户网页点击信息和用户广告点击信息。根据用户当前浏览的主题、用户网页点击信息和用户广告点击信息构建用户相似度模型。通过用户相似度模型,找到与欲推荐用户的浏览主题、用户网页点击信息和用户广告点击信息相似的用户,然后相似用户的广告推荐给欲推荐用户,那么就做到广告的个性化推荐。除了建立基于内容的个性化广告推荐模型之外,还可以建立基于标签的广告推荐模型。基于标签的广告推荐模型是在基于标签的协同过滤算法的基础上进行个性化的广告推荐。
解决广告推荐系统的计算量大的问题,主要是通过两种方法解决。一种是将模型本身构建的比较小。也就是说模型本身的参数少,模型的计算量自然降低。二是通过并行计算的方法,使用分布式计算的方法,对模型进行计算提高模型的计算的效率。
对于减少模型参数的方法主要采用的是属性剪枝的策略。将模型的参数进行预处理,对各个属性进行属性的增益计算,根据增益值对模型进行排序,然后根据模型的精确度去掉必要的属性。为保证模型有更好的精确度,将属性值代入贝叶斯概率模型中,然后计算出广告的推荐度。除此之外还可以使用并行计算的方法来解决广告推荐系统计算量大的问题。以K-mean模型为例,简述模型的并行计算的方法。在并行计算中,本文使用Hadoop中的MapReduce的方法来对模型进行并行计算。该方法的主要思想是将一个大的数据集处理成各个小的数据集,然后每个小数据集在不同的设备进行并行计算。将数据集的规模减小就解决了模型计算量太大的问题。
本文使用了两种方法对比实现了广告的个性化推荐及解决了广告推荐过程中的问题,但文中的两种方法还都是基于协同过滤的方法构建的两种不同的模型,在今后还可以加入NLP的思想来获得用户的浏览内容。