好友及应用个性化推荐方法及系统的制作方法

文档序号:6619667阅读:284来源:国知局
好友及应用个性化推荐方法及系统的制作方法
【专利摘要】本发明提供了一种好友及应用个性化推荐方法及系统,包括步骤:步骤A:计算推荐得分S;步骤B:根据推荐得分显示推荐内容;步骤C:根据用户对推荐内容的反馈信息调整推荐权值向量;步骤D:根据调整后的用户推荐权值向量更新推荐内容。本发明适用场景更加广泛、推荐结果更加准确、计算速度更快,并且具有闲时计算以及黑名单机制等优点,能够有效提高信息推荐的准确率,并且节省了计算开销,具有良好的推荐效果。
【专利说明】好友及应用个性化推荐方法及系统

【技术领域】
[0001] 本发明涉及网络通信【技术领域】,具体地说,是社交网络中的一种基于Hadoop的好 友和应用推荐方法及系统。

【背景技术】
[0002] 诸如人人网、脸书、朋友网等社交网络已成为当下不可缺少的社交方式。活跃用户 数量对于社交网站来说非常重要,而帮助用户建立和扩大稳定的关系网络是维持和增加活 跃用户数量的最有效方法。这就需要为用户推荐潜在好友和能与好友产生互动的应用。
[0003] 而现有的好友及应用推荐方法大多比较单一。目前的好友推荐方法可分为几类: 1、根据非好友用户间共同好友数量。2、根据个人资料相似度(毕业学校、工作地点、共同兴 趣等)。3、要求用户自己设定好友分组,并设定好友分组等级。这样些推荐方法存在以下弊 端:1)应用场景有限。如基于非好友用户间共同好友数量的推荐方法,若一个新注册用户 未添加任何好友,此推荐方法将不会有任何推荐结果。2)未考虑用户间的互动信息。互动 是社交网络的基本属性,不考虑用户间的互动,就无法得到准确合理的推荐结果。3)容易造 成用户信息泄露。如基于个人资料相似度的好友推荐方法,用户根据推荐的排名,很容易可 推测出排名靠前的用户的个人信息,造成用户信息泄露。
[0004] 对于应用推荐,目前的推荐方法主要基于用户历史行为进行推荐,如根据用户已 添加的应用的标签,推荐相似应用。这种根据用户历史行为的应用推荐方法存在如下弊端: 1)在用户未添加任何应用时,此方法失去作用,不会有任何推荐结果。2)会产生较多的与 用户已添加应用功能重复的推荐结果。3)未考虑好友的应用使用情况,无法得到准确合理 的推荐结果。
[0005] 经检索,发现如下相关专利文献。
[0006] 相关检索结果1 :
[0007] 申请(专利)号:201210125050. 3,名称:一种在SNS网络中好友推荐的系统和方 法
[0008] 摘要:本发明属于计算机网络【技术领域】,具体涉及一种在SNS网络中好友推荐的 系统与方法。该系统包括客户端和服务器端。该方法由用户提前设定用户的好友分组,并 且自定好友分组的等级,服务器端根据某一好友分组的等级和某一好友分组内的相同好友 个数的百分比,获得所有用户的好友推荐值,并根据好友推荐值的大小,将推荐值最高的用 户作为临时好友推荐给用户。该方法是用客户端和服务器端的协作,以及用户的参与,使得 好友推荐系统的好友推荐能够降低好友门槛,方便用户添加好友,并且可以较准确的推荐 用户所需要或所认识的好友,提高好友推荐的准确度和有效性。
[0009] 技术要点比较:
[0010] 1.好友推荐考虑纬度:此方法本质上还是从共同好友数量一个纬度进行好友推 荐,这样做有几个弊端:1、太片面,看重共同好友数量,对于好友与用户的紧密程度不做区 分,与"和共同好友紧密度较高的用户之间比共同好友多的用户之间更容易成为好友"这一 事实不符。2、对于新注册,填写过个人资料但是未添加过好友的用户,该方法无法使用。而 本发明从多个纬度进行综合评分,考虑更加全面,更加符合事实情况,也能应对新注册用户 没有好友的情况。并且可以根据用户反馈动态调整,更加智能。
[0011] 2.黑名单和滚动显示机制:上述方法未使用黑名单机制,这就导致排名靠前但是 用户不想添加的推荐好友长期占据推荐板块,使推荐机制失去意义。而本发明引入黑名单 机制,用户可以手动将不想添加的好友加入黑名单,以后不会再次显示。而且,本方法还将 排名靠前的推荐好友分组滚动显示,在好友推荐显示模块大小相同的情况下,可以显示更 多的推荐好友,提高用户接受推荐的概率。
[0012] 3.是否需要用户主动介入:上述方法需要用户主动设置分组并设定分组等级,对 于不习惯为好友分组或者分组不准确的用户,此方法效果很差甚至不能使用。而本发明基 于数据挖掘和分析,不要求用户主观为好友推荐方法提供过多辅助,更加人性化。
[0013] 相关检索结果2:
[0014] 申请(专利)号:201310336664. 0,名称:一种基于用户签到相似度的好友推荐系 统
[0015] 摘要:本发明公开了一种基于用户签到相似度的好友推荐系统,该系统包括兴趣 推荐模块、相似度计算模块和主题提取模块。首先经主题提取模块从LBSN数据库中取得以 往用户的签到记录,并采用主题提取算法获得提取用户签到记录中潜在的主题;然后利用 主题提取模块提取的潜在主题,调用相似度计算模块的计算方法分别计算候选用户集中每 个用户在每个主题下与请求用户的相似度;然后每个用户将每个主题下的相似度求和得到 最终的相似度。最后由兴趣推荐模块根据请求用户的请求参数设置确定最终的推荐好友, 并返回给请求用户。
[0016] 技术要点比较:
[0017] 1.好友推荐考虑纬度:该专利文献使用单一纬度进行好友推荐,考虑方面过于单 一,且使用的是用户的签到信息,这就会有以下问题:(1)、方法适合情况有限:只有少数社 交网站提供签到功能。(2)、造成用户信息泄露:签到信息中通常包含用户位置信息,这样 用户推荐好友模块显示靠前的用户和此用户的签到位置信息相似度可能很高,造成信息泄 露。使用本发明,不仅适合大多数社交网站,而且从多个纬度进行综合考虑,返回综合结果, 不会对单一维度的信息造成泄露,安全性较高。
[0018] 2.黑名单机制:见相关检索结果2中的第2条。
[0019] 相关检索结果3:
[0020] 申请(专利)号:201310566824. 0,名称:应用推荐方法和系统
[0021] 摘要:本发明公开了一种应用推荐方法和系统,所述方法包括:针对当前应用的 每个标签,根据预先存储的标签之间的相似值,确定出与该标签之间的相似值大于第一阈 值的标签作为相似标签;针对确定出的每个相似标签,将计算出的该相似标签与当前应用 的各标签之间的相似值之和,作为该相似标签的相似值;并针对每个相似标签,查找出具有 该相似标签的其它应用作为待推荐应用;针对每个待推荐应用,计算该待推荐应用的各标 签中含有的相似标签的相似值之和作为该待推荐应用的相似值;选取相似值大于第二阈值 的待推荐应用进行推荐。本发明的技术方案中,改善了评分数据的稀疏性,有助于提高推荐 的精确度;建立待推荐应用与当前应用的联系,提高了推荐的精确度。
[0022] 技术要点比较:
[0023] 1.推荐纬度:此方法使用应用标签这个单一纬度进行推荐,考虑过于片面,且可 能造成推荐过多相似应用的情况。而本发明使用应用热度和好友使用情况两个纬度进行推 荐,且接受用户的反馈和黑名单机制,不会出现单个方面的应用推荐过多。
[0024] 2.适用场景:此方法的适用场景有限,当用户尚未添加任何应用的时候,此方法 就失去了作用。而本方法可以从热门应用和好友应用角度进行推荐,适用于大多数场景。
[0025] 3.黑名单机制:此方法还是会造成用户不想添加的排名靠前的应用始终占据应 用推荐显示模块,而排名靠后的用户更可能添加的应用无法显示,导致应用推荐失去意义。 而本发明引入黑名单机制,用户可以手动将不想添加的应用加入黑名单,以后不会再次显 示。而且,本方法还将排名靠前的推荐应用分组滚动显示,在好友推荐显示模块大小相同的 情况下,可以显示更多的推荐应用,提高用户接受推荐的概率。
[0026] 4.更符合社交特性:当下社交网络中的好多应用(尤其是游戏)可以在好友之间 产生互动,所以好友喜欢使用的应用更可能被用户接受。本发明正好符合这一社交特性,所 以更适合进行应用推荐。而此发明只是基于当个用户的信息进行推荐,不符合社交特性。


【发明内容】

[0027] 针对现有技术中的缺陷,本发明的目的是提供一种基于Hadoop的好友及应用个 性化推荐方法及系统。本发明要解决的技术问题体现在以下几点:
[0028] 1)引入评分机制,对于好友和应用推荐从多个纬度进行评分,最后得到一个综合 评分,根据综合评分由高到低进行排序对用户进行推荐,避免的单一纬度好友和应用推荐 方法对推荐效果的影响,也就是说,本发明建立并利用了传统推荐方法中没有用到的信息 以及信息之间的映射关联,从而使得信息筛选推荐效果更为精确。
[0029] 2)引入动态显示机制,对于推荐排名靠前的前几名用户动态循环显示,合理利用 显示界面的空间,提高了用户采纳的可能性。
[0030] 3)引入动态调整机制:对要评分的纬度定义权值,为每个用户维护一个权值序 列,起始权值都为1,根据用户对推荐的接受情况和对推荐的取消显示情况对权值进行动态 调整,然后根据新的权值重新进行计算综合评分,从而达到个性化推荐的效果,提高推荐准 确率。
[0031] 4)使用Hadoop中的MapReduce计算框架:为了提高推荐算法的准确性,提高推荐 系统的推荐效果,以上推荐方法对比传统的推荐算法复杂度高,而采用MapReduce程序来 进行分布式计算,可以提高计算效率,降低对单点的负载压力,在不影响服务器整体性能的 前提下,提高推荐准确性。
[0032] 5)应用推荐引入社交特性:用户的好友普通喜欢的应用此用户喜欢的可能性很 大。所以在进行应用推荐的时候,考虑用户好友的应用使用情况,给用户的好友们普通使用 的应用以更高的推荐分,更加符合社交网络的特性,也即是本发明充分利用了传统推荐方 法中没有用到的好友之间互动所建立的信息之间的关联信息。
[0033] 根据本发明提供的一种好友及应用个性化推荐方法,包括如下步骤:
[0034] 步骤A :计算推荐得分S ;
[0035] 步骤B :根据推荐得分显示推荐内容;
[0036] 步骤C :根据用户对推荐内容的反馈信息调整推荐权值向量(推荐权值向量包括 用户推荐权值向量、应用推荐权值向量);
[0037] 步骤D :根据调整后的用户推荐权值向量更新推荐内容。
[0038] 优选地,所述步骤A包括如下步骤:
[0039] 步骤A1 :计算潜在好友推荐得分;
[0040] 步骤A1包括如下步骤:
[0041] 步骤Al. 1 :为每个用户维护一个潜在好友组,并将有如下一个或多个特征的非好 友用户加入到该用户的潜在好友组中:
[0042] 特征1)--与该用户毕业学校相同或工作公司名称相同;
[0043] 特征2)-与该用户有共同好友;
[0044] 特征3)-与该用户有过互动;
[0045] 步骤A1. 2 :为每个用户维护一张评分表,该评分表中每一行包含对一个在其潜在 好友组中的非好友用户的评分信息,所述评分信息包括校友相关度评分、同事相关度评分、 共同好友评分、潜在好友互动评分;步骤A1. 3 :对用户潜在好友组中的所有非好友用户进 行步骤A1. 4到步骤A1. 8中的计算;
[0046] 步骤A1. 4 :计算校友相关度评分:对于某个用户A,若其潜在好友组中的某个非好 友用户B的评分表中包含用户A的校友相关度评分T1,则直接将校友相关度评分T1设为用 户A对用户B的校友相关度评分;若没有,则执行以下操作:
[0047] 步骤Al. 4. 1 :初始化评分值为0,设置校友关系基础分、同学关系基础分、年级差 基础分;
[0048] 步骤A1. 4. 2 :若用户A、用户B是校友,每构成一次校友关系则评分值加上一个校 友关系基础分;
[0049] 步骤A1. 4. 3:对于大学校友,若用户A、用户B同一个学院,则评分值加上同学关系 基础分;
[0050] 步骤A1. 4. 4 :对于非大学校友,若用户A、用户B同年同班,每成立一次,则评分值 加上一个同学关系基础分;
[0051] 步骤A1. 4. 5 :根据如下公式得到最终评分值:
[0052] 最终评分值=当前评分值-Σ |用户A、用户B在同一学校的入学年份差I*年级 差基础分;
[0053] 若最终评分值小于0,则将最终评分值设为0 ;
[0054] 步骤A1. 5 :计算同事相关度评分:设置同事关系基础分;对于用户A,若其潜在好 友中的某用户B的评分表中包含用户A的同事相关度评分T2,则直接将同事相关度评分T2 设为用户A对用户B的同事相关度评分;若没有,则进行判断:若用户A、用户B就职于同一 家公司且在统一城市,则同事相关度评分设为同事关系基础分,否则设为〇 ;
[0055] 步骤A1. 6 :计算好友紧密度评分:为用户A维护一张好友互动数表,好友互动数表 中包含用户A最近一段时间与其每个好友的互动数;对于用户A,若其好友列表中的某用户 B的好友互动表中包含与用户A的互动数T3,则直接将互动数T3设为用户A的好友互动数 表中与用户B的互动数,若没有,则统计互动数;
[0056] 其中,根据如下公式得到好友紧密度评分:
[0057] 用户B对于用户A的好友紧密度评分=用户B与用户A的互动数/用户A与好友 互动总数;
[0058] 步骤A1. 7 :计算共同好友评分:对于用户A潜在好友组中的用户B,按下式计算其 与用户A的共同好友评分共同好友评分(B|A):
[0059] 共同好友评分(Β|Α) =Σ用户B与用户A共同好友对于用户A的好友紧密度评分
[0060] 步骤A1. 8 :计算潜在好友互动评分:设置互动基础分和一段时间间隔;对于用户 A,若其潜在好友中的某用户B的评分表中包含用户A的潜在好友互动评分T4,则直接将潜 在好友互动评分T4设为用户A对用户B的潜在好友互动评分;若没有,则统计用户A、用户 B在所给时间间隔内的互动数;其中,根据如下公式计算潜在好友互动评分:
[0061] 潜在好友互动评分=潜在好友互动数*互动基础分;
[0062] 步骤A1. 9:计算潜在好友推荐总分:为每个用户维护一个用户推荐四维权值向 量,该四维权值向量的每个维度初始值都为1,具体为:将用户A潜在好友组中的某用户B 的校友相关度评分、同事相关度评分、共同好友评分和潜在好友互动评分组成一个四维向 量作为用户推荐四维权值向量,并将该四维向量与用户A的用户推荐权值向量做点积运 算,运算结果作为该用户B对于用户A的潜在好友推荐总分,将潜在好友推荐总分作为步骤 A中的所述推荐得分S。
[0063] 优选地,所述步骤A包括如下步骤:
[0064] 步骤A2 :计算应用推荐得分;
[0065] 其中,步骤A2包括以下步骤:
[0066] 步骤A2. 1 :为每个用户维护一个未添加应用组,将用户的未添加应用添加到未添 加应用组中;
[0067] 步骤A2. 2 :为每个用户维护一张应用推荐评分表,每一行包含一个未添加应用组 中的未添加应用的评分信息,所述评分信息,包含应用相对热度评分和应用好友相关评分; 并对未添加应用组中的所有未添加应用进行步骤A2. 3到步骤A2. 4中的计算;
[0068] 步骤A2. 3 :计算应用相对热度评分:对于某个用户A,服务器端统计每个应用使用 人数,然后根据使用人数计算每个用户未添加应用组中的每个应用的相对热度,添加到应 用推荐评分表中;对于用户A的未添加应用组中的某个应用B,其相对热度按下式计算:
[0069] 5相对热度=5应用的使用人数/ 用户未添加应用组中应用庇]使用人数
[0070] 步骤A2. 4 :计算应用好友相关评分:对于用户A的未添加应用组中的某个应用B, 查找用户A的好友中所有添加过应用B的好友,将添加过应用B的好友对用户A的好友紧 密度评分相加,作为应用好友相关评分添加到用户A的应用推荐评分表中;
[0071] 步骤A2. 5:计算应用推荐总分:为每个用户维护一个应用推荐二维权值向量,该 二维权值向量的每个维度初始值都为1,具体为:将用户A应用推荐评分表中的某应用的应 用相对热度评分和应用好友相关评分组成二维向量作为应用推荐二维权值向量,并将该二 维向量与用户A的应用推荐权值向量做点积运算,运算结果作为此应用对于用户A的应用 推荐总分,将应用推荐总分作为步骤A中的所述推荐得分S。
[0072] 优选地,所述步骤B包括如下任一个或任多个步骤:
[0073] 步骤B1 :好友推荐显示:根据潜在好友推荐总分对用户A潜在好友组的中的非好 友用户进行降序排序,然后根据排名由前到后对用户A进行好友推荐;推荐时,将前九位非 好友用户分为三组,每三位为一组,每次显示一组,每10秒换一组,滚动显示;
[0074] 步骤B2 :应用推荐显示:根据应用推荐总分对用户未添加应用组中的应用进行降 序排序,然后根据排名由前到后对用户A进行应用推荐;推荐时,将前九位应用分为三组, 每三个为一组,每次显示一组,每10秒换一组,滚动显示。
[0075] 优选地,所述步骤C包括如下任一个或任多个步骤:
[0076] 步骤C1 :调整用户推荐权值向量:设定用户推荐权值向量递增值和递减值,并创 建一个用户推荐黑名单;用户推荐权值向量初始值都为1,若用户A接受一个步骤B中推荐 的用户C,则将该用户C从用户A的潜在好友组和好友推荐评分表中删除,并检查用户A好 友推荐评分表中此用户C的各项评分(校友相关度评分、同事相关度评分、共同好友评分、 潜在好友互动评分),查找用户C评分中最高的一项评分,将用户推荐权值向量中与该项评 分相应的纬度加上一个递增值:若用户A取消了一个步骤B中推荐的用户D,则将该用户D 加入到用户推荐黑名单中,将用户推荐黑名单中的用户D从潜在好友组中删除,并检查用 户A好友推荐评分表中此用户D的评分(校友相关度评分、同事相关度评分、共同好友评 分、潜在好友互动评分),查找用户D的各项评分中最高的一项,将用户推荐权值向量中相 应的纬度减去一个递减值;
[0077] 步骤C2 :调整应用推荐权值向量:设定应用推荐权值向量递增值和递减值,并创 建一个应用推荐黑名单;应用推荐权值向量初始值都为1,若用户A接受一个步骤B中推荐 的应用C,则将该应用C从未添加应用组和应用推荐评分表中删除,并检查用户A应用推荐 评分表中此应用C的评分(应用相对热度评分、应用好友相关评分),查找应用C各项评分 中最高的一项评分,将应用推荐权值向量中与该项评分相应的纬度加上一个递增值:若用 户A取消了一个步骤B中推荐的应用D,则将该应用D加入到应用推荐黑名单中,将应用推 荐黑名单中的应用D从未添加应用组中删除,并检查用户A应用推荐评分表中此应用D的 评分(应用相对热度评分、应用好友相关评分),查找应用D评分中最高的一项评分,将应用 推荐权值向量中与该项评分相应的纬度减去一个递减值。
[0078] 优选地,所述步骤D包括如下步骤:
[0079] 步骤D1 :若用户A对毕业学校和工作公司信息进行了修改,则按步骤Dl. 1到D1. 3 进行更新潜在好友组;
[0080] 步骤Dl. 1 :删除信息:以用户A删除的信息建立索引,查找用户信息中包含用户A 删除前信息的用户E,将用户A从这些用户E的潜在好友组中删除,并从用户A的潜在好友 组中删除这些用户E ;
[0081] 步骤D1. 2 :添加信息:以用户A添加的信息建立索引,查找用户信息中包含用户A 添加信息的用户F,若用户A不是这些用户F的好友,将用户A添加到这些用户F的潜在好 友组中,并将这些用户F添加到A用户的潜在好友组中;
[0082] 步骤D1. 3 :更改信息:视为将信息先删除,后添加;分别执行步骤Dl. 1和D1. 2 ;
[0083] 步骤D2 :若用户A添加或删除了好友,则按步骤D2. 1到D2. 2更新潜在好友组。
[0084] 步骤D2. 1 :删除好友:若用户A删除了好友用户B,则将用户A的潜在好友组中,与 用户A只有用户B -个共同好友的用户删除,并将用户B的潜在好友组中,与用户B只有用 户A -个共同好友的用户删除;然后更新用户A和用户B所有好友的潜在好友组;
[0085] 步骤D2. 2 :添加好友:若用户A添加了好友用户B,则互相将对方的好友列表中不 是自己好友也不在自己潜在好友组中的用户添加到自己的潜在好友组中,并更新用户A和 用户B所有好友的潜在好友组;
[0086] 优选地,所述步骤D包括如下步骤:
[0087] 步骤D3 :若用户A添加了应用,则将此应用从用户A的未添加应用组中删除;若用 户删除了应用,则将此应用添加到用户的未添加应用组中;
[0088] 步骤D4 :更新推荐信息:按照步骤D4. 1到D4. 3对好友和应用推荐内容进行更新;
[0089] 步骤D4. 1 :设定一个负载阈值、一个或多个时间点,一个时间间隔和最大等待次 数;当执行所述好友及应用个性化推荐方法的系统的系统时间到达时间点时,检查所述系 统负载是否在设定的负载阈值以下,若否,则等待一个时间间隔后再次检查,直到负载到达 负载阈值以下时进行更新,或者等待次数大于最大等待次数,则取消本次更新;若是,则执 行步骤D4. 2 ;
[0090] 步骤D4. 2 :将更新过的记录所有用户的潜在好友组和未添加应用组的文件,从系 统数据库中导入到在系统服务器集群中搭建的Hadoop集群的文件系统HDFS中,然后执行 编写好的MapReduce程序来对步骤A进行分布式计算,并将计算结果导回到系统数据库中。
[0091] 根据本发明提供的一种好友及应用个性化推荐系统,所述好友及应用个性化推荐 系统用于执行上述的好友及应用个性化推荐方法。
[0092] 优选地,在更新推荐内容时,设定一个负载阈值、一个或多个时间点,一个时间间 隔和最大等待次数;当所述系统的系统时间到达时间点时,检查所述系统的系统负载是否 在设定的负载阈值以下:
[0093] 若否,则等待一个时间间隔后再次检查,直到负载到达负载阈值以下时进行更新, 或者等待次数大于最大等待次数,则取消本次更新;
[0094] 若是,则将更新过的记录所有用户的潜在好友组和未添加应用组的文件,从所述 系统的系统数据库中导入到在所述系统的系统服务器集群中搭建的Hadoop集群的文件系 统HDFS中,然后执行编写好的MapReduce程序来对步骤A进行分布式计算,并将计算结果 导回到系统数据库中。
[0095] 与现有技术相比,本发明具有如下的有益效果:
[0096] 由于采用了上述技术方案,本发明的有益效果是:
[0097] 1)适用场景更加广泛:在用户未添加过好友或未填写个人资料时,本发明仍可给 出较好的推荐结果。
[0098] 2)推荐结果更加准确:从多个纬度进行评分,尤其是加入好友互动信息纬度,可 计算出更加准确的推荐结果。并且引入动态调整机制,可以根据用户反馈信息进行个性化 推荐。
[0099] 3)计算速度更快:采用MapReduce计算框架,可在多台服务器上进行分布式计算, 充分利用服务器集群的计算能力,虽然算法复杂度有所增加,但是可以很快得到计算结果。 并且因为采用分布式计算,计算量分配到多台服务器进行,减轻了单台服务器进行计算的 计算压力。
[0100] 4)闲时计算:只在服务器集群负载低于设定阈值时进行计算,不会给服务器集群 造成负载压力,保证服务器集群的可用性。
[0101] 5)黑名单机制:对于用户不想添加的好友,不会重复进行计算和显示,节省了计 算开销,并提高了推荐效果。

【专利附图】

【附图说明】
[0102] 通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、 目的和优点将会变得更明显:
[0103] 图1为好友推荐方法流程图。
[0104] 图2为应用推荐方法流程图。
[0105] 图3为潜在好友组和未添加用户组更新流程图。
[0106] 图4为好友及应用推荐更新流程图。

【具体实施方式】
[0107] 下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术 人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术 人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明 的保护范围。
[0108] 本方法包括如下步骤:
[0109] 步骤1 :计算潜在好友推荐得分
[0110] 步骤2 :计算应用推荐得分
[0111] 步骤3 :显示推荐好友和应用
[0112] 步骤4 :根据用户反馈调整推荐。
[0113] 步骤5 :推荐信息更新。其中,步骤1包括如下步骤:
[0114] 步骤1. 1 :为每个用户维护一个潜在好友组,并将有如下一个或多个特征的非好 友用户加入到某用户的潜在好友组中:1)与该用户毕业学校相同或工作公司名称相同。2) 与该用户有共同好友。3)与该用户有过互动。
[0115] 步骤1.2 :为每个用户维护一张评分表,表中每一行包含对一个在其潜在好友组 中的非好友用户的评分信息,具体来说是1. 4到1. 8中各项评分的信息,包括校友相关度评 分、同事相关度评分、共同好友评分和潜在好友互动评分。
[0116] 步骤1. 3 :对用户潜在好友组中的所有非好友用户进行步骤1. 4到1. 8中的计算。
[0117] 步骤1. 4 :计算校友相关度评分:对于某个用户A,若其潜在好友组中的某非好友 用户B的评分表中包含用户A的校友相关度评分T1,则直接将校友相关度评分T1设为用户 A对用户B的校友相关度评分。若没有,则执行以下操作:
[0118] 步骤1.4. 1 :初始化评分值为0,根据网站实际情况设置校友关系基础分、同学关 系基础分、年级差基础分。
[0119] 步骤1.4. 2 :若用户A、用户B是校友,每构成一次校友关系则评分值加上一个校友 关系基础分;
[0120] 步骤1. 4. 3 :对于大学校友,若用户A、用户B同一个学院,则评分值加上同学关系 基础分;
[0121] 步骤1.4. 4:对于非大学校友,若用户A、用户B同年同班,每成立一次,则评分值加 同学关系基础分;
[0122] 步骤1.4. 5:最终评分值=当前评分值-Σ |用户A、用户B在同一学校的入学年 份差I*年级差基础分。若最终评分值小于〇,则将最终评分值设为〇。
[0123] 步骤1.5 :计算同事相关度评分:由管理员设置同事关系基础分。对于用户A,若其 潜在好友中的某用户B的评分表中包含用户A的同事相关度评分T2,则直接将同事相关度 评分T2设为用户A对用户B的同事相关度评分。若没有,则进行判断:若用户A、B就职于 同一家公司且在统一城市,则同事相关度评分设为同事关系基础分,否则设为0.
[0124] 步骤1. 6 :计算好友紧密度评分:为用户维护一张好友互动数表,表中包含用户A 最近一段时间(时间长度由管理员设定)与其每个好友的互动数。对于用户A,若其好友列 表中的某用户B的好友互动表中包含与用户A的互动数T3,则直接将互动数T3设为用户A 的好友互动数表中与用户B的互动数,若没有,则统计互动数。若时间跨度改变,则所有用 户重新统计互动数。用户B对于用户A的紧密度=用户B与用户A的互动数/用户A与好 友互动总数。
[0125] 步骤1. 7 :计算共同好友评分:对于用户A潜在好友组中的用户B,按下式计算其 与用户A的共同好友评分:
[0126] 共同好友评分(Β|Α) =Σ用户B与用户A共同好友对于用户A的好友紧密度评分
[0127] 步骤1. 8 :计算潜在好友互动评分:由管理员设置互动基础分和一段时间间隔。对 于用户A,若其潜在好友中的某用户B的评分表中包含用户A的潜在好友互动评分T4,则直 接将潜在好友互动评分T4设为用户A对用户B的潜在好友互动评分。若没有,则统计用户 A、用户B在所给时间间隔内的互动数。潜在好友互动评分=潜在好友互动数*互动基础分。
[0128] 步骤1. 9 :计算潜在好友推荐总分:为每个用户维护一个用户推荐四维权值向量, 每个维度初始值都为1,调整方式见步骤4。将用户A潜在好友组中的某用户B的校友相关 度评分、同事相关度评分、共同好友评分和潜在好友互动评分组成一个四维向量,并将其与 用户A的用户推荐权值向量做点积运算,运算结果作为该用户B对于用户A的潜在好友推 荐总分。
[0129] 步骤2包括以下步骤:
[0130] 步骤2. 1 :为每个用户维护一个未添加应用组,将用户的未添加应用(包含游戏) 添加到未添加应用组中。
[0131] 步骤2.2 :为每个用户维护一张应用推荐评分表,每一行包含一个未添加应用组 中的未添加应用的评分信息。具体来说,是步骤2. 3至2. 4中的评分,包含应用相对热度和 应用好友相关评分。
[0132] 步骤2. 3 :计算应用相对热度评分:服务器端统计每个应用使用人数,然后计算每 个用户未添加应用组中的每个应用的相对热度,添加到应用推荐评分表中。对于用户A的 未添加应用组中的某个应用B,其相对热度按下式计算:
[0133] 5相对热度=5应用的使用人数/ 用户未添加应用组中应用嵌I使用人数 i
[0134] 步骤2. 4 :计算应用好友相关评分:对于用户A的未添加应用组中的某个应用B, 查找A的好友中所有添加过应用B的好友,将添加过的好友对用户A的好友紧密度相加(好 友紧密度见步骤1. 6),作为应用好友相关评分添加到应用推荐评分表中。
[0135] 步骤2. 5 :计算应用推荐总分:为每个用户维护一个应用推荐二维权值向量,每个 维度初始值都为1,调整方式见步骤4。将用户A应用推荐评分表中的某应用的应用相对热 度评分和应用好友相关评分组成二维向量,并将其与用户A的应用推荐权值向量做点积运 算,运算结果作为此应用对于用户A的应用推荐总分。
[0136] 步骤3包括以下步骤:
[0137] 步骤3. 1 :好友推荐显示:根据潜在好友推荐总分对用户潜在好友组的中的用户 进行降序排序,然后根据排名由前到后对用户进行好友推荐。推荐时,将前九位分为三组, 每三个为一组,每次显示一组,每10秒换一组,滚动显示。
[0138] 步骤3. 2 :应用推荐显示:根据应用推荐总分对用户未添加应用组中的应用进行 降序排序,然后根据排名由前到后对用户进行应用推荐;推荐时,将前九位分为三组,每三 个为一组,每次显示一组,每10秒换一组,滚动显示。
[0139] 步骤4包括以下步骤:
[0140] 步骤4. 1 :调整用户推荐权值向量:由管理员设定用户推荐权值向量递增值和递 减值,并创建一个用户推荐黑名单。用户推荐权值向量初始值都为1,若用户A接受一个推 荐系统中推荐的用户,则将该用户从用户A的潜在好友组和好友推荐评分表中删除,并检 查用户A好友推荐表中此用户的评分,查找用户评分中最高的一项,将用户推荐权值向量 中相应的纬度加上一个递增值:若用户A取消了一个推荐系统中推荐的用户的显示,则将 该用户加入到用户推荐黑名单中,将黑名单中的用户从潜在好友组中删除,并检查用户A 好友推荐表中此用户的评分,查找用户评分中最高的一项,将用户推荐权值向量中相应的 纬度减去一个递减值。
[0141] 步骤4. 2 :调整应用推荐权值向量:由管理员设定应用推荐权值向量递增值和递 减值,并创建一个应用推荐黑名单。应用推荐权值向量初始值都为1,若用户A接受一个推 荐系统中推荐的应用,则将该应用从未添加应用组和应用推荐评分表中删除,并检查用户A 应用推荐表中此应用的评分,查找应用评分中最高的一项,将应用推荐权值向量中相应的 纬度加上一个递增值:若用户A取消了一个推荐系统中推荐的应用的显示,则将该应用加 入到应用推荐黑名单中,将黑名单中的应用从未添加应用组中删除,并检查用户A应用推 荐评分表中此应用的评分,查找应用评分中最高的一项,将应用推荐权值向量中相应的纬 度减去一个递减值。
[0142] 步骤5包括以下步骤:
[0143] 步骤5. 1 :若用户A对学校和工作单位信息进行了修改,则按步骤5. 1. 1到5. 1.3 进行更新潜在好友组。
[0144] 步骤5. 1. 1 :删除信息:以删除的信息建立索弓丨,查找用户信息中包含用户A删除 前信息的用户,将用户A从他们的潜在好友组中删除,并从用户A的潜在好友组中删除这些 用户。
[0145] 步骤5. 1. 2 :添加信息:以添加的信息建立索引,查找用户信息中包含用户A添加 信息的用户,若用户A不是他的好友,将用户A添加到他的潜在好友组中,并将这些用户添 加到A用户的潜在好友组中。
[0146] 步骤5. 1.3 :更改信息:视为将信息先删除,后添加。分别执行步骤5. 1. 1和 5. 1. 2〇
[0147] 步骤5. 2 :若用户A添加或删除了好友,则按步骤5. 2. 1到5. 2. 2更新潜在好友组。
[0148] 步骤5. 2. 1 :删除好友:若用户A删除了好友用户B,则将用户A的潜在好友组中, 与用户A只有用户B -个共同好友的用户删除,并将用户B的潜在好友组中,与用户B只有 用户A -个共同好友的用户删除。然后更新用户A和用户B所有好友的潜在好友组。
[0149] 步骤5. 2. 2 :添加好友:若用户A添加了好友用户B,则互相将对方的好友列表中 不是自己好友也不在自己潜在好友列表中的用户添加到自己的潜在好友列表中,并更新用 户A和用户B所有好友的潜在好友组。,
[0150] 步骤5. 3 :若用户A添加了应用,则将此应用从用户A的未添加应用组中删除。若 用户删除了应用,则将此应用添加到用户的未添加应用组中。
[0151] 步骤5. 4 :更新推荐信息:按照步骤5. 4. 1到5. 4. 3对好友和应用推荐内容进行更 新;
[0152] 步骤5.4. 1 :由管理员设定一个负载阈值、一个或多个时间点,一个时间间隔和最 大等待次数。当系统时间到达时间点时,检查系统负载是否在设定的阈值以下,若否,则等 待一个时间间隔后再次检查,直到负载到达阈值以下时进行计算,或者等待次数大于最大 等待次数,则取消本次更新;若是,则执行步骤5. 4. 2。本步骤可以保证,只在系统服务器相 对空闲的时候进行推荐更新的计算,而在服务器忙时进行等待,保证了系统对外服务的可 用性。
[0153] 步骤5. 4. 2 :将更新过的记录所有用户的潜在好友组和未添加应用组的文件及其 他相关数据文件,从系统数据库中导入到在系统服务器集群中搭建的Hadoop集群的文件 系统HDFS中,然后执行编写好的MapReduce程序安装步骤1和步骤2所述的方法进行分布 式计算,并将计算结果导回到系统数据库中。MapReduce为大数据领域的一种分布式计算框 架,特点是可以将一个大的计算任务拆分多个子任务,并分配到多台计算机中同时进行计 算,再将子任务的计算结果综合起来,得到原计算任务的结果。因为多台服务器同时进行子 任务的计算,所以可以缩短计算时间,并且因为计算量分布到多台服务器上,所以不会给单 台服务器造成很大的计算压力。
[0154] 步骤5. 4. 3 :按照步骤3所述方法对更新后的推荐内容进行显示。
[0155] 实施举例1 :图1为本发明的好友推荐方法流程图。当第一次运行好友推荐方法 时,需要为每个用户按步骤1. 1生成一个潜在好友组,以后运行时不需要再生成。对于用户 潜在好友组中的每个用户,分别按照步骤1. 4、1. 5、1. 7、1. 8计算其与此用户的校友相关度 评分、同事相关度评分、共同好友评分和潜在好友互动评分。将计算得到的评分写入到步骤 1. 2所描述的此用户的好友推荐评分表中。然后按照步骤1. 9计算好友推荐总分,按照推荐 总分对潜在好友组里的用户进行由高到低排序。取排名前几名的用户按照步骤1. 10进行 好友推荐显示。当用户添加一个推荐用户为好友或者取消一个推荐用户在好友推荐模块的 显示时,根据步骤4. 1调整好友推荐权值向量。
[0156] 实施举例2 :图2为应用推荐方法流程图。当第一次运行应用推荐方法时,需要为 每个用户按照步骤2. 1生成一个未添加应用组,以后运行时不需要再此生成。对于未添加 应用组中的中的每个应用,按照步骤2. 3和2. 4分别计算其相对热度评分和好友相关评分。 然后按照步骤2. 2的描述将计算后的得分写入到应用推荐评分表中。然后按照步骤2. 5计 算应用推荐总分,并按照推荐总分对未添加应用组中的应用进行用高到低排序。取排名前 几名的应用按照步骤2. 6进行应用推荐显示。当用户添加一个推荐应用或取消了一个推荐 应用在应用推荐模块的显示时,根据步骤4. 2调整应用推荐权值向量。
[0157] 实施举例3 :图3为潜在好友组和未添加用户组更新流程图,当用户修改了学校或 工作单位信息时,则按步骤5. 1更新相关用户的潜在好友组。当用户添加或删除好友的时 候,则按步骤5. 2更新相关用户的潜在好友组。若用户添加或删除了应用,则根据步骤5. 3 更新用户的未添加应用组。
[0158] 实施举例4:图4为好友及应用推荐更新流程图。更新前,由管理员设定一个负 载阈值、一个或多个更新时间点,一个时间间隔和最大等待次数。当到达更新时间点时,检 查系统负载是否在阈值以下,若不是,则判断等待次数是否超过设定的最大等待次数,若没 有,则等待设定的一段时间,再次检查系统负载;若超过最大等待次数,则程序退出。若负载 在设定阈值以下,则重新计算未添加应用组中的应用推荐总分,更新应用推荐显示。然后判 断潜在好友组是否有更新,若有,则重新计算潜在好友组中用户的好友推荐总分,并更新好 友推荐显示;若没有,程序直接结束。
[0159] 以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述 特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影 响本发明的实质内容。
【权利要求】
1. 一种好友及应用个性化推荐方法,其特征在于,包括如下步骤: 步骤A :计算推荐得分S; 步骤B :根据推荐得分显示推荐内容; 步骤C :根据用户对推荐内容的反馈信息调整推荐权值向量; 步骤D :根据调整后的用户推荐权值向量更新推荐内容。
2. 根据权利要求1所述的好友及应用个性化推荐方法,其特征在于,所述步骤A包括如 下步骤: 步骤A1 :计算潜在好友推荐得分; 步骤A1包括如下步骤: 步骤Al. 1 :为每个用户维护一个潜在好友组,并将有如下一个或多个特征的非好友用 户加入到该用户的潜在好友组中: 特征1)一与该用户毕业学校相同或工作公司名称相同; 特征2)-与该用户有共同好友; 特征3)-与该用户有过互动; 步骤A1. 2 :为每个用户维护一张评分表,该评分表中每一行包含对一个在其潜在好友 组中的非好友用户的评分信息,所述评分信息包括校友相关度评分、同事相关度评分、共同 好友评分、潜在好友互动评分; 步骤A1. 3 :对用户潜在好友组中的所有非好友用户进行步骤A1. 4到步骤A1. 8中的计 算; 步骤A1. 4 :计算校友相关度评分:对于某个用户A,若其潜在好友组中的某个非好友用 户B的评分表中包含用户A的校友相关度评分T1,则直接将校友相关度评分T1设为用户A 对用户B的校友相关度评分;若没有,则执行以下操作: 步骤Al. 4. 1 :初始化评分值为0,设置校友关系基础分、同学关系基础分、年级差基础 分; 步骤A1. 4. 2 :若用户A、用户B是校友,每构成一次校友关系则评分值加上一个校友关 系基础分; 步骤A1. 4. 3 :对于大学校友,若用户A、用户B同一个学院,则评分值加上同学关系基础 分; 步骤A1. 4. 4 :对于非大学校友,若用户A、用户B同年同班,每成立一次,则评分值加上 一个同学关系基础分; 步骤A1. 4. 5 :根据如下公式得到最终评分值: 最终评分值=当前评分值-Σ |用户A、用户B在同一学校的入学年份差I*年级差基 础分; 若最终评分值小于〇,则将最终评分值设为〇 ; 步骤A1. 5 :计算同事相关度评分:设置同事关系基础分;对于用户A,若其潜在好友中 的某用户B的评分表中包含用户A的同事相关度评分T2,则直接将同事相关度评分T2设为 用户A对用户B的同事相关度评分;若没有,则进行判断:若用户A、用户B就职于同一家公 司且在统一城市,则同事相关度评分设为同事关系基础分,否则设为0 ; 步骤A1. 6 :计算好友紧密度评分:为用户A维护一张好友互动数表,好友互动数表中包 含用户A最近一段时间与其每个好友的互动数;对于用户A,若其好友列表中的某用户B的 好友互动表中包含与用户A的互动数T3,则直接将互动数T3设为用户A的好友互动数表中 与用户B的互动数,若没有,则统计互动数; 其中,根据如下公式得到好友紧密度评分: 用户B对于用户A的好友紧密度评分=用户B与用户A的互动数/用户A与好友互动 总数; 步骤A1. 7 :计算共同好友评分:对于用户A潜在好友组中的用户B,按下式计算其与用 户A的共同好友评分共同好友评分(B|A): 共同好友评分(Β|Α) =Σ用户B与用户A共同好友对于用户A的好友紧密度评分 步骤A1. 8 :计算潜在好友互动评分:设置互动基础分和一段时间间隔;对于用户A,若 其潜在好友中的某用户B的评分表中包含用户A的潜在好友互动评分T4,则直接将潜在好 友互动评分T4设为用户A对用户B的潜在好友互动评分;若没有,则统计用户A、用户B在 所给时间间隔内的互动数;其中,根据如下公式计算潜在好友互动评分: 潜在好友互动评分=潜在好友互动数*互动基础分; 步骤A1. 9 :计算潜在好友推荐总分:为每个用户维护一个用户推荐四维权值向量,该 四维权值向量的每个维度初始值都为1,具体为:将用户A潜在好友组中的某用户B的校友 相关度评分、同事相关度评分、共同好友评分和潜在好友互动评分组成一个四维向量作为 用户推荐四维权值向量,并将该四维向量与用户A的用户推荐权值向量做点积运算,运算 结果作为该用户B对于用户A的潜在好友推荐总分,将潜在好友推荐总分作为步骤A中的 所述推荐得分S。
3.根据权利要求1所述的好友及应用个性化推荐方法,其特征在于,所述步骤A包括如 下步骤: 步骤A2:计算应用推荐得分; 其中,步骤A2包括以下步骤: 步骤A2. 1 :为每个用户维护一个未添加应用组,将用户的未添加应用添加到未添加应 用组中; 步骤A2. 2 :为每个用户维护一张应用推荐评分表,每一行包含一个未添加应用组中的 未添加应用的评分信息,所述评分信息,包含应用相对热度评分和应用好友相关评分;并对 未添加应用组中的所有未添加应用进行步骤A2. 3到步骤A2. 4中的计算; 步骤A2. 3 :计算应用相对热度评分:对于某个用户A,服务器端统计每个应用使用人 数,然后根据使用人数计算每个用户未添加应用组中的每个应用的相对热度,添加到应用 推荐评分表中;对于用户A的未添加应用组中的某个应用B,其相对热度按下式计算: 5相对热度=5应用的使用人数/ 用户未添加应用组中应用〖的使用人数 i 步骤A2. 4 :计算应用好友相关评分:对于用户A的未添加应用组中的某个应用B,查找 用户A的好友中所有添加过应用B的好友,将添加过应用B的好友对用户A的好友紧密度 评分相加,作为应用好友相关评分添加到用户A的应用推荐评分表中; 步骤A2. 5 :计算应用推荐总分:为每个用户维护一个应用推荐二维权值向量,该二维 权值向量的每个维度初始值都为1,具体为:将用户A应用推荐评分表中的某应用的应用相 对热度评分和应用好友相关评分组成二维向量作为应用推荐二维权值向量,并将该二维向 量与用户A的应用推荐权值向量做点积运算,运算结果作为此应用对于用户A的应用推荐 总分,将应用推荐总分作为步骤A中的所述推荐得分S。
4. 根据权利要求2或3所述的好友及应用个性化推荐方法,其特征在于,所述步骤B包 括如下任一个或任多个步骤: 步骤B1 :好友推荐显示:根据潜在好友推荐总分对用户A潜在好友组的中的非好友用 户进行降序排序,然后根据排名由前到后对用户A进行好友推荐;推荐时,将前九位非好友 用户分为三组,每三位为一组,每次显示一组,每10秒换一组,滚动显示; 步骤B2 :应用推荐显示:根据应用推荐总分对用户未添加应用组中的应用进行降序排 序,然后根据排名由前到后对用户A进行应用推荐;推荐时,将前九位应用分为三组,每三 个为一组,每次显示一组,每10秒换一组,滚动显示。
5. 根据权利要求2或3所述的好友及应用个性化推荐方法,其特征在于,所述步骤C包 括如下任一个或任多个步骤: 步骤C1 :调整用户推荐权值向量:设定用户推荐权值向量递增值和递减值,并创建一 个用户推荐黑名单;用户推荐权值向量初始值都为1,若用户A接受一个步骤B中推荐的用 户C,则将该用户C从用户A的潜在好友组和好友推荐评分表中删除,并检查用户A好友推 荐评分表中此用户C的各项评分,查找用户C评分中最高的一项评分,将用户推荐权值向量 中与该项评分相应的纬度加上一个递增值:若用户A取消了一个步骤B中推荐的用户D,则 将该用户D加入到用户推荐黑名单中,将用户推荐黑名单中的用户D从潜在好友组中删除, 并检查用户A好友推荐评分表中此用户D的评分,查找用户D的各项评分中最高的一项,将 用户推荐权值向量中相应的纬度减去一个递减值; 步骤C2 :调整应用推荐权值向量:设定应用推荐权值向量递增值和递减值,并创建一 个应用推荐黑名单;应用推荐权值向量初始值都为1,若用户A接受一个步骤B中推荐的应 用C,则将该应用C从未添加应用组和应用推荐评分表中删除,并检查用户A应用推荐评分 表中此应用C的评分,查找应用C各项评分中最高的一项评分,将应用推荐权值向量中与该 项评分相应的纬度加上一个递增值:若用户A取消了一个步骤B中推荐的应用D,则将该应 用D加入到应用推荐黑名单中,将应用推荐黑名单中的应用D从未添加应用组中删除,并检 查用户A应用推荐评分表中此应用D的评分,查找应用D评分中最高的一项评分,将应用推 荐权值向量中与该项评分相应的纬度减去一个递减值。
6. 根据权利要求2所述的好友及应用个性化推荐方法,其特征在于,所述步骤D包括如 下步骤: 步骤D1 :若用户A对毕业学校和工作公司信息进行了修改,则按步骤Dl. 1到D1. 3进 行更新潜在好友组; 步骤Dl. 1 :删除信息:以用户A删除的信息建立索引,查找用户信息中包含用户A删除 前信息的用户E,将用户A从这些用户E的潜在好友组中删除,并从用户A的潜在好友组中 删除这些用户E ; 步骤D1. 2 :添加信息:以用户A添加的信息建立索引,查找用户信息中包含用户A添加 信息的用户F,若用户A不是这些用户F的好友,将用户A添加到这些用户F的潜在好友组 中,并将这些用户F添加到A用户的潜在好友组中; 步骤Dl. 3 :更改信息:视为将信息先删除,后添加;分别执行步骤Dl. 1和Dl. 2 ; 步骤D2 :若用户A添加或删除了好友,则按步骤D2. 1到D2. 2更新潜在好友组; 步骤D2. 1 :删除好友:若用户A删除了好友用户B,则将用户A的潜在好友组中,与用户 A只有用户B -个共同好友的用户删除,并将用户B的潜在好友组中,与用户B只有用户A 一个共同好友的用户删除;然后更新用户A和用户B所有好友的潜在好友组; 步骤D2. 2 :添加好友:若用户A添加了好友用户B,则互相将对方的好友列表中不是自 己好友也不在自己潜在好友组中的用户添加到自己的潜在好友组中,并更新用户A和用户 B所有好友的潜在好友组。
7. 根据权利要求5所述的好友及应用个性化推荐方法,其特征在于,所述步骤D包括如 下步骤: 步骤D3 :若用户A添加了应用,则将此应用从用户A的未添加应用组中删除;若用户删 除了应用,则将此应用添加到用户的未添加应用组中; 步骤D4 :更新推荐信息:按照步骤D4. 1到D4. 3对好友和应用推荐内容进行更新; 步骤D4. 1 :设定一个负载阈值、一个或多个时间点,一个时间间隔和最大等待次数;当 执行所述好友及应用个性化推荐方法的系统的系统时间到达时间点时,检查所述系统负载 是否在设定的负载阈值以下,若否,则等待一个时间间隔后再次检查,直到负载到达负载阈 值以下时进行更新,或者等待次数大于最大等待次数,则取消本次更新;若是,则执行步骤 D4. 2 ; 步骤D4. 2 :将更新过的记录所有用户的潜在好友组和未添加应用组的文件,从系统数 据库中导入到在系统服务器集群中搭建的Hadoop集群的文件系统HDFS中,然后以执行 MapReduce程序来对步骤A进行分布式计算,并将计算结果导回到系统数据库中。
8. -种好友及应用个性化推荐系统,其特征在于,所述好友及应用个性化推荐系统用 于执行权利要求1至6中任一项所述的好友及应用个性化推荐方法。
9. 根据权利要求8所述的好友及应用个性化推荐系统,其特征在于, 在更新推荐内容时,设定一个负载阈值、一个或多个时间点,一个时间间隔和最大等待 次数;当所述系统的系统时间到达时间点时,检查所述系统的系统负载是否在设定的负载 阈值以下: 若否,则等待一个时间间隔后再次检查,直到负载到达负载阈值以下时进行更新,或者 等待次数大于最大等待次数,则取消本次更新; 若是,则将更新过的记录所有用户的潜在好友组和未添加应用组的文件,从所述系统 的系统数据库中导入到在所述系统的系统服务器集群中搭建的Hadoop集群的文件系统 HDFS中,然后以执行MapReduce程序的方式来对步骤A进行分布式计算,并将计算结果导回 到系统数据库中。
【文档编号】G06F17/30GK104156392SQ201410326035
【公开日】2014年11月19日 申请日期:2014年7月9日 优先权日:2014年7月9日
【发明者】黄洁琛, 谢朝阳, 童晓渝, 丁星, 武静 申请人:中电科华云信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1