一种基于协同过滤的移动互联网广告推荐方法

文档序号:10724969阅读:207来源:国知局
一种基于协同过滤的移动互联网广告推荐方法
【专利摘要】本发明公开了一种基于协同过滤的移动互联网广告推荐方法,所述方法包括:步骤1,获取用户签到数据和微博文本数据;步骤2,对用户签到数据和微博文本数据进行预处理;步骤3,计算用户的兴趣相似度;步骤4,采用分层聚类的方法对用户签到数据进行分析,根据用户行为轨迹的时空相交情况,从整体和局部两个方面比较用户行为轨迹的相似性,并通过线性组合,得到用户行为轨迹的相似度;步骤5,综合考虑用户的兴趣相似度、用户行为轨迹的相似度以及用户在不同时间段的行为相似性和广告的人气指数的影响,采用协同过滤的推荐方法,计算移动互联网广告的推荐值并将排名靠前的广告推荐给用户。
【专利说明】
一种基于协同过滤的移动互联网广告推荐方法
技术领域
[0001] 本发明涉及数据挖掘领域,特别是涉及一种基于协同过滤的移动互联网广告推荐 方法。
【背景技术】
[0002] 广告是用于说服潜在的消费者采取某种行动(购买、注册或关注等)的传媒手段, 它的历史可以追溯到三千多年以前,从街头巷尾、报刊杂志,再到电视、电影、网站,广告无 处不在。随着移动互联网技术的迅速发展,众多广告主的目光开始从传统媒体广告转向移 动互联网广告。然而,目前很多广告都是随机投放的,即每次用户来了,随机选择一个广告 投放给他,投放效率很低。同时,广告投放的随意性也让用户反感。面对这种情况,移动互联 网广告的个性化精准投放受到了研究者的广泛关注。
[0003] 在广告投放平台方面,百度联盟推出了"按效果付费"的CPA(Cost Per Action)广 告平台。微软公司开发了Microsoft adCenter广告销售平台,在微软的资源平台上进行广 告投放。谷歌公司研发了Google AdSense网络广告投放平台,页面上的广告会随着页面内 容的不同而有所不同,提高了广告投放的精准度。相比谷歌的个性化广告推荐系统, Facebook利用海量的用户数据和社交网络关系建立的广告投放系统,可以深入挖掘用户兴 趣,通过朋友的推荐,帮助用户找到相关性更高和更准确的广告信息。除此之外,学术界和 工业界在广告的个性化精准投放方面上也取得了一些研究成果,例如:在考虑内容定向和 地理位置的基础上,采用贝叶斯技术进行移动广告的高效、精准投放;通过对广告日志数据 的统计分析,使用Hadoop平台挖掘广告特征与广告间的联系,进而改善广告的投放效果;研 究表明,用户更喜欢来自朋友的推荐而不是被系统"算出来的推荐",社会影响力被认为比 历史行为的相似性更加重要,通过社会关系的分析,可以大幅度提高推荐的精确度;根据用 户的喜好进行广告的推荐更有利于提高广告的浏览率,并且能够更加容易让用户接受广告 推销的产品;随着移动互联网的飞速发展以及GPS及其他手机定位技术的发展和普及,基于 位置的服务成为一个受到学术界和工业界广泛关注的问题,基于位置信息的推荐可能会成 为个性化广告推荐的一个研究热点,而用户行为的时空统计特性可以明显提高推荐的精确 度。由此可见,针对移动互联网广告发展的现状,我们需要设计一种高效的广告推荐方法, 以达到语境、广告、受众三者的最佳匹配,从而实现移动互联网广告的个性化精准投放。

【发明内容】

[0004] 本发明所要解决的技术问题是:针对移动互联网广告发展的现状、存在的问题,如 何创新地设计一种高效的基于协同过滤的移动互联网广告推荐方法。
[0005] 为了解决上述问题,本发明公开了一种基于协同过滤的移动互联网广告推荐方 法,其技术方案包括以下步骤: 步骤1:获取用户签到数据和用户发布的微博文本数据,其中用户签到数据包括用户 ID、签到位置、签到时间以及签到日期等,签到位置包括用户签到的地理位置的经炜度和签 到"兴趣点"(Point of Interest,POI); 步骤2:对用户签到数据和用户发布的微博文本数据进行预处理,包括用户签到数据中 的无用数据过滤、类型转换和格式统一以及微博文本数据的中文分词和噪声内容处理; 步骤3:对经过预处理后的微博文本数据进行分析,建立一个特征词库,包括描述用户 兴趣的多个特征类和描述每个特征类的若干个不重复的更具体的特征词;为每个特征类创 建一个特征向量,根据特征向量的活跃特征词数和特征词频数,将用户对某个特征类的兴 趣划分为该特征类下的某个兴趣层次;通过比较任意两个用户u和v在某个特征类下的兴趣 层次,得到用户在该特征类下的兴趣相似度;将各个特征类上的兴趣相似度进行叠加,再除 以特征类的数量,得到用户U和V的兴趣相似度simi(u,v); 步骤4:签到数据反映了用户的时空行为方式,通过设置不同的邻域半径参数,采用 DBSCAN算法对用户签到兴趣点进行分层聚类,得到用户"兴趣区域"(Region of Interest, R0I)和以兴趣区域为单位的用户行为轨迹;根据任意两个用户u和v的行为轨迹的时空相交 情况,计算在任意一层h上的用户行为轨迹的整体相似度simtw(u,v,h)和局部相似度simtl (11^,11),并通过线性组合,得到用户11和?在11层上的行为轨迹的相似度以 1^(11^,11)=6\ simtw(u,v,h) + (lH3) Xsimtl(u,v,h),其中β为权重系数;将各层上的行为轨迹相似度乘以 各层对应的权重值,然后求和,得到用户u和ν在所有层上的行为轨迹的相似度simt(u,v), 其中各层的权重值之和等于1; 步骤5:综合考虑用户的兴趣相似度、用户行为轨迹的相似度以及用户在不同时间段的 行为相似性和广告的人气指数的影响,采用协同过滤的推荐方法,计算移动互联网广告的 推荐值并将排名靠前的广告推荐给用户。
[0006] 所述的基于协同过滤的移动互联网广告推荐方法,所述步骤2还包括: 步骤21:微博文本数据的噪声内容处理包括对停用词、标点字符清理等;一般情况下, 用户主要通过动词、名词以及形容词等实词来表达文本的中心思想和主要内容,而语气介 词、助词、连词、副词等虚词虽然在文本数据中使用广泛、出现频率非常高,但是对于文本分 析没有太大的意义,这类词语称之为"停用词",因此在中文分词处理后需要过滤掉这些停 用词;另外,还有一些标点符号、阿拉伯数字、网页链接等文本分析时不需要的字符,需要在 处理微博文本数据之前过滤清理掉。
[0007] 所述的基于协同过滤的移动互联网广告推荐方法,所述步骤3还包括: 步骤31:为每个特征类创建一个特征向量,将其元素初始值全部设置为0;遍历用户发 布的、经过预处理后的微博文本数据,如果其中的词汇能够在特征词库中找到,则特征向量 中对应元素的值加1,特征向量元素的值表示某个特征词出现在微博文本数据中的次数; 步骤32:为了便于比较不同用户在某个特征类下的兴趣相似度,定义了活跃特征词数 和特征词频数;活跃特征词数指特征向量中元素值大于0的元素的个数,特征词频数指特征 向量的各个元素的值的和;通过统计分析特征向量的活跃特征词数和特征词频数的分布情 况,为每一个特征向量的活跃特征词数和特征词频数定义了分层区间,根据特征向量的活 跃特征词数和特征词频数,将用户对某个特征类的兴趣划分为该特征类下的某个兴趣层 次,包括"不感兴趣"(兴趣层次〇)、"一般感兴趣"(兴趣层次1)、"比较感兴趣"(兴趣层次2) 和"非常感兴趣"(兴趣层次3)等,特征向量的活跃特征词数和特征词频数越大,则对应的兴 趣层次越高,特别地,如果一个特征向量的活跃特征词数为〇,则表示用户对该特征类不感 兴趣; 步骤33:通过比较不同用户在某个特征类下的兴趣层次,得到用户在该特征类下的兴 趣相似度;任意选择两个用户u和V,如果两个用户中只有一个用户的兴趣层次为0,则用户 的兴趣相似度为〇,如果两个用户的兴趣层次都为〇,则用户的兴趣相似度为100%;如果两个 用户的兴趣层次都不为0,则用户的兴趣相似度为81111以11^) = (1/2(1)\100%,其中(1为用户 兴趣层次的差值的绝对值,兴趣层次相差越多,则用户的兴趣相似度越小。
[0008] 所述的基于协同过滤的移动互联网广告推荐方法,所述步骤4还包括: 步骤41:把签到日期的每一天分成T个时间段,在每一层上,针对每一个兴趣区域,统计 用户签到兴趣点在各个时间段的数量;将用户签到兴趣点分布最多的时间段作为该兴趣区 域的时间段;按照兴趣区域的时间段的先后顺序对兴趣区域进行排序,得到在不同层上的、 以兴趣区域为单位的用户行为轨迹; 步骤42 :在任意一层h中,如果任意两个用户1!和¥的行为轨迹中的兴趣区域存在相交情 况,并且相交的兴趣区域的时间段也相同,则该兴趣区域称为两个用户的"时空相交兴趣区 ±或";统计出两个用户在h层上的时空相交兴趣区域的个数q u,v,则任意两个用户在h层上的 时空行为轨迹的整体相似度定义为8;[11^(11,¥,11)=91 1,¥/(911+9¥-911,、,),其中91 1和9¥分别表示 用户u和用户v在h层上的兴趣区域的个数; 步骤43:将任意两个用户的时空相交兴趣区域中的重叠部分定义为"兴趣重叠区域" (Intersection Region of Interest,IR0I);在每一层上,针对每一个兴趣重叠区域,统计 用户签到兴趣点在各个时间段的数量,得到用户签到兴趣点在兴趣重叠区域中的分布情 况,用向量表示为B u,r=[bu,r,i,bu, r,2,H_,bu,r,t],其中bu, r,t表示用户u在时间段t、在兴趣重叠 区域r中的签到兴趣点的数量;在任意一层h,如果任意两个用户u和v存在时空相交兴趣区 域,则用户u和v在兴趣重叠区域r中的相似度定义为
,其中bv,r, t表示用户v 在时间段t、在兴趣重叠区域r中的签到兴趣点的数量,~^^表示用户u和v在兴趣重叠区域r 中的签到兴趣点的数量之和,nu,r表示用户u在兴趣重叠区域r所在的、用户u的兴趣区域中 的所有签到兴趣点的数量,11^表示用户v在兴趣重叠区域r所在的、用户v的兴趣区域中的 所有签到兴趣点的数量,Θ为权重系数;在任意一层h,如果两个用户u和v存在多个时空相交 兴趣区域,则分别对每个兴趣重叠区域计算用户的相似度,然后求和、取平均值作为用户u 和v在该层上的局部相似度simtl(u,v,h)。
[0009] 所述的基于协同过滤的移动互联网广告推荐方法,所述步骤5还包括: 步骤51:用户对广告产生的行为包括浏览、点击和评论等,cv,t,P, a=l表示用户v曾经在 时间段t、位置p处对广告a有过用户行为,cv,t,P,a=0表示用户v在时间段t、位置p处没有对广 告a产生过用户行为,即用户在某个时间段、某个位置对某个广告的用户行为要么为1,要么 为〇,严格的定义条件导致了多数情况下用户对广告产生的行为都是〇,即用户对广告产生 的行为数据呈现出稀疏性;同时,在不同的时间段,用户可能对广告产生相似的行为,即不 同的时间段之间,用户行为具有相似性;因此,以不同时间段的用户行为具有相似性为依 据,得到经过平滑处理后的用户v在时间段t、位置p处对广告a的用户行为
,其中PtY表示用户v在时间段t和V的行为相似度; PtY的值计算如下:找出用户v同时在两个时间段t和V中、位置p处对广告a有过用户行为 的所有的签到兴趣点的对数,分别除以时间段t和V的所有签到兴趣点的数量,然后求和、 取平均值,得到用户v在时间段t和V的行为相似度p ty ; 步骤52:由于广告的人气指数与时间密切相关,即对不同广告产生的用户行为出现高 峰的时间是不同的,因此,广告的人气指数对用户是否会对该广告产生行为有一定的影响; 定义广告a在时间段t的人气指数为
其中s(a,t) 表示广告a在时间段t被用户产生行为的次数,s(a)表示广告a在所有时间段被用户产生行 为的次数,Φ为权重系数,A为所有广告的集合,a e A; 步骤53:综合考虑用户的兴趣相似度、用户行为轨迹的相似度以及用户在不同时间段 的行为相似性和广告的人气指数的影响,采用协同过滤的推荐方法,对于给定的用户u,如 果当前时间段为t、位置为p,则任意一个用户v将广告a推荐给用户u的推荐值为
,其中wu,v为用户U和V之间的相 似度,wu,v=e Xsimi(u,v) + (l-e) Xsimt(u,v),ε为权重参数,u为所有用户的集合; 步骤54:对每条广告计算出一个推荐值,根据推荐值的大小,递减排序,将排名靠前的 广告推荐给用户。
[0010] 与现有技术相比,本发明具有以下优点: (1) 本发明采用的基于协同过滤的移动互联网广告推荐方法,综合考虑了用户的兴趣 相似度、用户行为轨迹的相似度以及用户在不同时间段的行为相似性和广告的人气指数的 影响,采用协同过滤的推荐方法,达到了语境、广告、受众三者的最佳匹配,从而实现了移动 互联网广告的个性化精准投放; (2) 本发明通过分析用户的社交网络数据包括微博文本数据、用户签到数据等,刻画出 用户的兴趣和行为轨迹,结合用户当前的场景包括时间以及所处的地理位置等,将最符合 用户兴趣和行为习惯、最可能进行线下活动的广告推荐给用户,从而实现了线上线下的结 合,提高了用户满意度和广告的转化率; (3) 本发明采用分层聚类的方法对用户签到数据进行了分析,得到以兴趣区域为单位 的用户行为轨迹。根据用户行为轨迹的时空相交情况,从整体和局部两个方面比较了用户 行为轨迹的相似性,并通过线性组合,得到了用户行为轨迹的相似度。本发明采用的方法更 加符合签到数据的特点,降低了计算的复杂度,计算效率也得到了提高。
【附图说明】
[0011] 图1为本发明的基于协同过滤的移动互联网广告推荐方法的流程图。
【具体实施方式】
[0012] 下面结合附图对本发明进行详细说明。
[0013] 如附图1所示,本发明方法按照以下步骤进行: 步骤1:获取用户签到数据和用户发布的微博文本数据,其中用户签到数据包括用户 ID、签到位置、签到时间以及签到日期等,签到位置包括用户签到的地理位置的经炜度和签 到"兴趣点"(Point of Interest,P0I); 新浪微博、街旁、人人、Foursquare、Gowal la等基于地理位置的移动社交网络(LBSN)近 年来发展迅猛,大量用户通过这些服务以签到的方式记录时空行为轨迹,因此,可以通过它 们提供的API,抓取到需要的用户签到数据; 微博作为一种分享和交流平台,用户可以在上面发布自己感兴趣的话题,也可以评论、 转发其他用户的微博内容。一条微博内容一般包含了发布该微博的用户ID、用户昵称、微博 ID、微博的具体内容(包含了文本、图片、音频等信息)等。我们可以通过微博开放平台提供 的应用程序编程接口以及各种编程语言的外部调用包来获取用户的微博文本数据,通过分 析微博文本数据的内容,得到微博用户的兴趣。
[0014] 步骤2:对用户签到数据和用户发布的微博文本数据进行预处理,包括用户签到数 据中的无用数据过滤、类型转换和格式统一以及微博文本数据的中文分词和噪声内容处 理; 分析表明,对位置数据中的无效用户(即注册后很少签到的用户,例如签到次数少于5 次的用户)和很少有人签到的位置兴趣点(即到访人数很少的点,例如签到用户少于5人的 位置兴趣点)进行挖掘是没有意义的,因此,需要移除无意义点,减少数据量;同时,还要对 签到数据进行预处理,将签到位置的经炜度坐标转换为平面直角坐标以及进行格式统一 等; 在中文微博中,用户发布的微博文本数据大多是由汉语句子构成,而汉语句子又是由 多个汉语词汇构成,汉语词汇通常由两个或者两个以上的汉字组成;在对汉语句子进行分 析时,需要将这些具有连续性的句子划分成若干个部分,中文分词处理就是将一个汉语句 子序列切分为一个个单独的词汇的过程;中文分词处理的具体方法可以采用基于字符串匹 配的分词方法(机械分词方法)、基于理解的分词方法或者基于统计的分词方法等; 微博文本数据的噪声内容处理包括对停用词、标点字符清理等;一般情况下,用户主要 通过动词、名词以及形容词等实词来表达文本的中心思想和主要内容,而语气介词、助词、 连词、副词等虚词虽然在文本数据中使用广泛、出现频率非常高,但是对于文本分析没有太 大的意义,这类词语称之为"停用词",因此在中文分词处理后需要过滤掉这些停用词;另 外,还有一些标点符号、阿拉伯数字、网页链接等文本分析时不需要的字符,需要在处理微 博文本数据之前过滤清理掉。
[0015] 步骤3:对经过预处理后的微博文本数据进行分析,建立一个特征词库,包括描述 用户兴趣的多个特征类和描述每个特征类的若干个不重复的更具体的特征词;为每个特征 类创建一个特征向量,根据特征向量的活跃特征词数和特征词频数,将用户对某个特征类 的兴趣划分为该特征类下的某个兴趣层次;通过比较任意两个用户u和v在某个特征类下的 兴趣层次,得到用户在该特征类下的兴趣相似度;将各个特征类上的兴趣相似度进行叠加, 再除以特征类的数量,得到用户U和V的兴趣相似度simi(u,v); 对经过预处理后的微博文本数据进行分析,建立一个特征词库,包括描述用户兴趣的 多个特征类和描述每个特征类的若干个不重复的更具体的特征词,例如:定义一个"水果" 的特征类,其特征词包括"苹果"、"梨子"、"香蕉"、"葡萄"、"柠檬"、"西瓜"、"草莓"等。特征 词库可以人工建立,也可以通过其他文本分析工具或算法来导出,如:基于LDA算法的微博 主题模型选择,TF-IDF算法等; 为每个特征类创建一个特征向量,将其元素初始值全部设置为〇;遍历用户发布的、经 过预处理后的微博文本数据,如果其中的词汇能够在特征词库中找到,则特征向量中对应 元素的值加1,特征向量元素的值表示某个特征词出现在微博文本数据中的次数;例如:为 "水果"特征类定义了一个特征向量,其值为[2,4,6,0,2,0,1],分别表示"苹果"、"梨子"、 "香蕉"、"葡萄"、"梓檬"、"西瓜"、"草莓"等特征词在微博文本数据中出现的次数; 为了便于比较不同用户在某个特征类下的兴趣相似度,定义了活跃特征词数和特征词 频数;活跃特征词数指特征向量中元素值大于〇的元素的个数,特征词频数指特征向量的各 个元素的值的和;通过统计分析特征向量的活跃特征词数和特征词频数的分布情况,为每 一个特征向量的活跃特征词数和特征词频数定义了分层区间,根据特征向量的活跃特征词 数和特征词频数,将用户对某个特征类的兴趣划分为该特征类下的某个兴趣层次,包括"不 感兴趣"(兴趣层次〇)、"一般感兴趣"(兴趣层次1)、"比较感兴趣"(兴趣层次2)和"非常感兴 趣"(兴趣层次3)等,特征向量的活跃特征词数和特征词频数越大,则对应的兴趣层次越高, 特别地,如果一个特征向量的活跃特征词数为0,则表示用户对该特征类不感兴趣;例如:经 过统计分析,我们定义了"水果"这个特征向量的活跃特征词数的分层区间为(〇,3](不含边 界点〇,以下类似),(3,5],(5,7],同样,定义了"水果"特征向量的特征词频数的分层区间为 (0,4],(4,8],(8,+ °〇],如果某个用户的特征向量值为[2,4,6,0,2,0,1],则其活跃特征词 数和特征词频数分别为5和15,因此,将该用户对"水果"特征类的兴趣划分为"非常感兴 趣"; 通过比较不同用户在某个特征类下的兴趣层次,得到用户在该特征类下的兴趣相似 度;任意选择两个用户u和V,如果两个用户中只有一个用户的兴趣层次为0,则用户的兴趣 相似度为〇,如果两个用户的兴趣层次都为〇,则用户的兴趣相似度为100%;如果两个用户的 兴趣层次都不为0,则用户的兴趣相似度为8111^(11^)=(1/2 (1)\100%,其中(1为用户兴趣层 次的差值的绝对值,兴趣层次相差越多,则用户的兴趣相似度越小;例如:如果两个用户的 兴趣层次都为"比较感兴趣",则相似度为100%;如果一个用户的兴趣层次为"比较感兴趣", 另一个为"一般感兴趣",则相似度为50%。
[0016]步骤4:签到数据反映了用户的时空行为方式,通过设置不同的邻域半径参数,采 用DBSCAN算法对用户签到兴趣点进行分层聚类,得到用户"兴趣区域"(Region of Interest,R0I)和以兴趣区域为单位的用户行为轨迹;根据任意两个用户u和v的行为轨迹 的时空相交情况,计算在任意一层h上的用户行为轨迹的整体相似度8;[11^¥(11,¥,11)和局部 相似度simtl( U,v,h),并通过线性组合,得到用户在h层上的行为轨迹的相似度simt (u,v,h)=fiXsimtw(u,v,h) + (lH3) Xsimtl(u,v,h),其中β为权重系数;将各层上的行为轨 迹相似度乘以各层对应的权重值,然后求和,得到用户u和ν在所有层上的行为轨迹的相似 度simt(u,v),其中各层的权重值之和等于1; 把签到日期的每一天分成T个时间段,在每一层上,针对每一个兴趣区域,统计用户签 到兴趣点在各个时间段的数量;将用户签到兴趣点分布最多的时间段作为该兴趣区域的时 间段;按照兴趣区域的时间段的先后顺序对兴趣区域进行排序,得到在不同层上的、以兴趣 区域为单位的用户行为轨迹; 在任意一层h中,如果任意两个用户1!和7的行为轨迹中的兴趣区域存在相交情况,并且 相交的兴趣区域的时间段也相同,则该兴趣区域称为两个用户的"时空相交兴趣区域";统 计出两个用户在h层上的时空相交兴趣区域的个数q u,v,则任意两个用户在h层上的时空行 为轨迹的整体相似度定义为8;[11^(11,¥,11)=911, ¥/(911+9¥-911,、,),其中911和9 ¥分别表示用户11和 用户v在h层上的兴趣区域的个数; 将任意两个用户的时空相交兴趣区域中的重叠部分定义为"兴趣重叠区域" (Intersection Region of Interest,IROI);在每一层上,针对每一个兴趣重叠区域,统计 用户签到兴趣点在各个时间段的数量,得到用户签到兴趣点在兴趣重叠区域中的分布情 况,用向量表示为B u,r=[bu,r,i,bu, r,2,H_,bu,r,t],其中bu, r,t表示用户u在时间段t、在兴趣重叠 区域r中的签到兴趣点的数量;在任意一层h,如果任意两个用户u和v存在时空相交兴趣区 域,则用户u和v在兴趣重叠区域r中的相似度定义为
其中bv,r,t表不用 户V在时间段t、在兴趣重叠区域r中的签到兴趣点的数量,nu,v,r表示用户u和V在兴趣重叠区 域r中的签到兴趣点的数量之和,nu,r表示用户u在兴趣重叠区域r所在的、用户u的兴趣区域 中的所有签到兴趣点的数量,表示用户v在兴趣重叠区域r所在的、用户v的兴趣区域中 的所有签到兴趣点的数量,Θ为权重系数;在任意一层h,如果两个用户u和v存在多个时空相 交兴趣区域,则分别对每个兴趣重叠区域计算用户的相似度,然后求和、取平均值作为用户 u和V在该层上的局部相似度simtl(u,v,h)。
[0017]步骤5:综合考虑用户的兴趣相似度、用户行为轨迹的相似度以及用户在不同时间 段的行为相似性和广告的人气指数的影响,采用协同过滤的推荐方法,计算移动互联网广 告的推荐值并将排名靠前的广告推荐给用户; 用户对广告产生的行为包括浏览、点击和评论等,cv,t,P,a=l表示用户v曾经在时间段t、 位置P处对广告a有过用户行为,cv,t,P,a=0表示用户v在时间段t、位置p处没有对广告a产生 过用户行为,即用户在某个时间段、某个位置对某个广告的用户行为要么为1,要么为〇,严 格的定义条件导致了多数情况下用户对广告产生的行为都是〇,即用户对广告产生的行为 数据呈现出稀疏性;同时,在不同的时间段,用户可能对广告产生相似的行为,即不同的时 间段之间,用户行为具有相似性,例如:用户v在时间段^、位置p处对广告a有过用户行为, 而在时间段t 2、位置p处对广告a也有过用户行为,时间段^与时间段七的行为具有相似性, 则在计算时间段七的用户行为时,可以考虑时间段t 2的影响。因此,以不同时间段的用户行 为具有相似性为依据,得到经过平滑处理后的用户v在时间段t、位置p处对广告a的用户行
,其中PtY表示用户V在时间段t和V的行为相似度;PtY 的值计算如下:找出用户V同时在两个时间段t和V中、位置p处对广告a有过用户行为的所 有的签到兴趣点的对数,分别除以时间段t和V的所有签到兴趣点的数量,然后求和、取平 均值,得到用户v在时间段t和V的行为相似度P t^ ; 由于广告的人气指数与时间密切相关,即对不同广告产生的用户行为出现高峰的时间 是不同的,因此,广告的人气指数对用户是否会对该广告产生行为有一定的影响;定义广告 a在时间段t的人气指数为
,其中s(a,t)表示广告 a在时间段t被用户产生行为的次数,s(a)表示广告a在所有时间段被用户产生行为的次数, Φ为权重系数,A为所有广告的集合,aeA; 综合考虑用户的兴趣相似度、用户行为轨迹的相似度以及用户在不同时间段的行为相 似性和广告的人气指数的影响,采用协同过滤的推荐方法,对于给定的用户u,如果当前时 间段为t、位置为p,则任意一个用户v将广告a推荐给用户u的推荐值为
其中wu,v为用户U和V之间的 相似度,wu,v=e Xsimi(u,v) + (l-e) Xsimt(u,v),ε为权重参数,u为所有用户的集合;对每条 广告计算出一个推荐值,根据推荐值的大小,递减排序,将排名靠前的广告推荐给用户。
[0018]本领域的技术人员在不脱离权利要求书确定的本发明的精神和范围的条件下,还 可以对以上内容进行各种各样的修改。因此,本发明的范围并不仅限于以上的说明,而是由 权利要求书的范围来确定的。
【主权项】
1. 一种基于协同过滤的移动互联网广告推荐方法,其特征在于,包括: 步骤1:获取用户签到数据和用户发布的微博文本数据,其中用户签到数据包括用户 ID、签到位置、签到时间W及签到日期等,签到位置包括用户签到的地理位置的经缔度和签 到。兴趣点"(化int of Interest,POI); 步骤2:对用户签到数据和用户发布的微博文本数据进行预处理,包括用户签到数据中 的无用数据过滤、类型转换和格式统一 W及微博文本数据的中文分词和噪声内容处理; 步骤3:对经过预处理后的微博文本数据进行分析,建立一个特征词库,包括描述用户 兴趣的多个特征类和描述每个特征类的若干个不重复的更具体的特征词;为每个特征类创 建一个特征向量,根据特征向量的活跃特征词数和特征词频数,将用户对某个特征类的兴 趣划分为该特征类下的某个兴趣层次;通过比较任意两个用户U和V在某个特征类下的兴趣 层次,得到用户在该特征类下的兴趣相似度;将各个特征类上的兴趣相似度进行叠加,再除 W特征类的数量,得到用户U和V的兴趣相似度simi(u,v); 步骤4:签到数据反映了用户的时空行为方式,通过设置不同的邻域半径参数,采用 DBSCAN算法对用户签到兴趣点进行分层聚类,得到用户"兴趣区域"(Region of Interest, ROI)和W兴趣区域为单位的用户行为轨迹;根据任意两个用户u和V的行为轨迹的时空相交 情况,计算在任意一层h上的用户行为轨迹的整体相似度simtw(u,v,h)和局部相似度simtl (u,v,h),并通过线性组合,得到用户u和v在h层上的行为轨迹的相似度simt(u,v,h)=βX simtw(u,v,h) + (l-B) X simtl(u,v,h),其中β为权重系数;将各层上的行为轨迹相似度乘W 各层对应的权重值,然后求和,得到用户U和V在所有层上的行为轨迹的相似度simt(u,v), 其中各层的权重值之和等于1; 步骤5:综合考虑用户的兴趣相似度、用户行为轨迹的相似度W及用户在不同时间段的 行为相似性和广告的人气指数的影响,采用协同过滤的推荐方法,计算移动互联网广告的 推荐值并将排名靠前的广告推荐给用户。2. 根据权利要求1所述的基于协同过滤的移动互联网广告推荐方法,其特征在于,所述 步骤2还包括: 步骤21:微博文本数据的噪声内容处理包括对停用词、标点字符清理等;一般情况下, 用户主要通过动词、名词W及形容词等实词来表达文本的中屯、思想和主要内容,而语气介 词、助词、连词、副词等虚词虽然在文本数据中使用广泛、出现频率非常高,但是对于文本分 析没有太大的意义,运类词语称之为"停用词",因此在中文分词处理后需要过滤掉运些停 用词;另外,还有一些标点符号、阿拉伯数字、网页链接等文本分析时不需要的字符,需要在 处理微博文本数据之前过滤清理掉。3. 根据权利要求1所述的基于协同过滤的移动互联网广告推荐方法,其特征在于,所述 步骤3还包括: 步骤31:为每个特征类创建一个特征向量,将其元素初始值全部设置为0;遍历用户发 布的、经过预处理后的微博文本数据,如果其中的词汇能够在特征词库中找到,则特征向量 中对应元素的值加1,特征向量元素的值表示某个特征词出现在微博文本数据中的次数; 步骤32:为了便于比较不同用户在某个特征类下的兴趣相似度,定义了活跃特征词数 和特征词频数;活跃特征词数指特征向量中元素值大于0的元素的个数,特征词频数指特征 向量的各个元素的值的和;通过统计分析特征向量的活跃特征词数和特征词频数的分布情 况,为每一个特征向量的活跃特征词数和特征词频数定义了分层区间,根据特征向量的活 跃特征词数和特征词频数,将用户对某个特征类的兴趣划分为该特征类下的某个兴趣层 次,包括"不感兴趣"(兴趣层次0)、" 一般感兴趣"(兴趣层次1 )、"比较感兴趣"(兴趣层次2) 和"非常感兴趣"(兴趣层次3)等,特征向量的活跃特征词数和特征词频数越大,则对应的兴 趣层次越高,特别地,如果一个特征向量的活跃特征词数为0,则表示用户对该特征类不感 兴趣; 步骤33:通过比较不同用户在某个特征类下的兴趣层次,得到用户在该特征类下的兴 趣相似度;任意选择两个用户U和V,如果两个用户中只有一个用户的兴趣层次为0,则用户 的兴趣相似度为0,如果两个用户的兴趣层次都为0,则用户的兴趣相似度为100%;如果两个 用户的兴趣层次都不为0,则用户的兴趣相似度为simi(u,v) = α/2d)X100%,其中d为用户 兴趣层次的差值的绝对值,兴趣层次相差越多,则用户的兴趣相似度越小。4. 根据权利要求1所述的基于协同过滤的移动互联网广告推荐方法,其特征在于,所述 步骤4还包括: 步骤41:把签到日期的每一天分成T个时间段,在每一层上,针对每一个兴趣区域,统计 用户签到兴趣点在各个时间段的数量;将用户签到兴趣点分布最多的时间段作为该兴趣区 域的时间段;按照兴趣区域的时间段的先后顺序对兴趣区域进行排序,得到在不同层上的、 W兴趣区域为单位的用户行为轨迹; 步骤42:在任意一层h中,如果任意两个用户U和V的行为轨迹中的兴趣区域存在相交情 况,并且相交的兴趣区域的时间段也相同,则该兴趣区域称为两个用户的"时空相交兴趣区 域";统计出两个用户在h层上的时空相交兴趣区域的个数qu,v,则任意两个用户在h层上的 时空行为轨迹的整体相似度定义为simtw(u,v,h)=qu,v/(qu+qv-qu,v),其中qu和qv分别表示 用户U和用户V在h层上的兴趣区域的个数; 步骤43:将任意两个用户的时空相交兴趣区域中的重叠部分定义为"兴趣重叠区域" (Intersection Region of Interest,IROI);在每一层上,针对每一个兴趣重叠区域,统计 用户签到兴趣点在各个时间段的数量,得到用户签到兴趣点在兴趣重叠区域中的分布情 况,用向量表示为811,,= [1311,1^1,1311,",,,,,1311,1^1;],其中1311,1^康示用户11在时间段1:、在兴趣重叠 区域r中的签到兴趣点的数量;在任意一层h,如果任意两个用户U和V存在时空相交兴趣区 域,则用户U和V在兴趣重叠区域r中的相似度定义为,其中bv,r,t表示用 户V在时间段t、在兴趣重叠区域r中的签到兴趣点的数量,nu,v,r表示用户U和V在兴趣重叠区 域r中的签到兴趣点的数量之和,nu,r表示用户U在兴趣重叠区域r所在的、用户U的兴趣区域 中的所有签到兴趣点的数量,nv,r表示用户V在兴趣重叠区域r所在的、用户V的兴趣区域中 的所有签到兴趣点的数量,Θ为权重系数;在任意一层h,如果两个用户U和V存在多个时空相 交兴趣区域,则分别对每个兴趣重叠区域计算用户的相似度,然后求和、取平均值作为用户 U和V在该层上的局部相似度simtl(u,v,h)。5. 根据权利要求1所述的基于协同过滤的移动互联网广告推荐方法,其特征在于,所述 步骤5还包括: 步骤51:用户对广告产生的行为包括浏览、点击和评论等,cv,t,p,3=1表示用户V曾经在时 间段t、位置P处对广告a有过用户行为,cv,t,p,3=0表示用户V在时间段t、位置P处没有对广告 a产生过用户行为,即用户在某个时间段、某个位置对某个广告的用户行为要么为1,要么为 0,严格的定义条件导致了多数情况下用户对广告产生的行为都是0,即用户对广告产生的 行为数据呈现出稀疏性;同时,在不同的时间段,用户可能对广告产生相似的行为,即不同 的时间段之间,用户行为具有相似性;因此,W不同时间段的用户行为具有相似性为依据, 得到经过平滑处理后的用户V在时间段t、位置P处对广告a的用户行为其中化,t'表示用户V在时间段t和的行为相似度;Pt,t' 的值计算如下:找出用户V同时在两个时间段t和中、位置P处对广告a有过用户行为的所 有的签到兴趣点的对数,分别除W时间段t和的所有签到兴趣点的数量,然后求和、取平 均值,得到用户V在时间段t和的行为相似度; 步骤52:由于广告的人气指数与时间密切相关,即对不同广告产生的用户行为出现高 峰的时间是不同的,因此,广告的人气指数对用户是否会对该广告产生行为有一定的影响; 定义广告a在时间段t的人气指数夫其中s(a, t)表示广告a在时间段t被用户产生行为的次数,s(a)表示广告a在所有时间段被用户产生 行为的次数,Φ为权重系数,A为所有广告的集合,aeA; 步骤53:综合考虑用户的兴趣相似度、用户行为轨迹的相似度W及用户在不同时间段 的行为相似性和广告的人气指数的影响,采用协同过滤的推荐方法,对于给定的用户U,如 果当前时间段为t、位置为P,则任意一个用户V将广告a推荐给用户U的推荐值为其中Wu,v为用户U和V之间的相似度, Wu,v=e Xsimi(u,v) + (l-e) Xsimt(u,v),e为权重参数,U为所有用户的集合; 步骤54:对每条广告计算出一个推荐值,根据推荐值的大小,递减排序,将排名靠前的 广告推荐给用户。
【文档编号】G06K9/62GK106095841SQ201610386832
【公开日】2016年11月9日
【申请日】2016年6月5日 公开号201610386832.0, CN 106095841 A, CN 106095841A, CN 201610386832, CN-A-106095841, CN106095841 A, CN106095841A, CN201610386832, CN201610386832.0
【发明人】刘兴伟, 田雪松, 夏梅宸, 牟峰, 张晓丽, 严兵
【申请人】西华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1