推荐算法优化方法、装置及系统的制作方法

文档序号:6523987阅读:159来源:国知局
推荐算法优化方法、装置及系统的制作方法
【专利摘要】本发明公开了一种推荐算法优化方法、装置及系统,属于计算机【技术领域】。所述方法包括:获取统计的各个推荐算法的效果数据;根据每个推荐算法的所述效果数据在各个推荐算法中的比重获取每个推荐算法的流量分流概率;根据所述流量分流概率为每个推荐算法分配流量请求。本发明通过实时获取每个推荐算法的推荐成功率自动为每个推荐算法分配流量,解决了现有技术中在优化的过程中,需要人工为推荐算法分配流量,优化周期长的问题;达到了可以大大降低优化周期,提高优化效率及准确率的效果。
【专利说明】推荐算法优化方法、装置及系统

【技术领域】
[0001] 本发明涉及计算机【技术领域】,特别涉及一种推荐算法优化方法、装置及系统。

【背景技术】
[0002] 推荐系统的推荐引擎中通常会同时运行多个推荐算法,在离线时统计每个推荐算 法的效果数据;然后基于离线统计的结果,调整每个推荐算法的流量分配,从而进一步优化 整体的推荐效果。
[0003] 传统的推荐算法优化的流程如下:确定新推荐算法以及对应的少量流量;待推荐 引擎准备好后,管理人员在前端为该新推荐算法进行流量分配;观察该新推荐算法的推荐 效果,若推荐效果较优,则管理人员继续将流量分配给该新推荐算法;重复上面的流程直到 将流量都分配给推荐效果最好的推荐算法。
[0004] 在实现本发明的过程中,发明人发现上述技术至少存在以下问题:在优化的过程 中,需要人工根据推荐效果为推荐算法分配流量,优化周期长。


【发明内容】

[0005] 为了解决现有技术中在优化的过程中,需要人工为推荐算法分配流量,优化周期 长的问题,本发明实施例提供了一种推荐算法优化方法、装置及系统。所述技术方案如下:
[0006] 第一方面,提供了一种推荐算法优化方法,所述方法包括:
[0007] 获取统计的各个推荐算法的效果数据,所述效果数据用于反映每个推荐算法在相 同的统计时间窗口所对应的推荐成功率;
[0008] 根据每个推荐算法的所述效果数据在各个推荐算法中的比重获取每个推荐算法 的流量分流概率;
[0009] 根据所述流量分流概率为每个推荐算法分配流量请求。
[0010] 第二方面,提供了一种推荐算法优化装置,所述装置包括:
[0011] 获取模块,用于获取统计的各个推荐算法的效果数据,所述效果数据用于反映每 个在相同的统计时间窗口所对应的推荐成功率;
[0012] 计算模块,用于根据所述获取模块获取的每个推荐算法的所述效果数据在各个推 荐算法中的比重获取每个推荐算法的流量分流概率;
[0013] 分配模块,用于根据所述计算模块计算得到的所述流量分流概率为每个推荐算法 分配流量请求。
[0014] 第三方面,提供了一种推荐算法优化系统,所述系统包括服务器和至少一个终 端;
[0015] 所述服务器包括如第二方面所述的推荐算法优化装置。
[0016] 本发明实施例提供的技术方案带来的有益效果是:
[0017] 通过获取统计的各个推荐算法的效果数据;根据每个推荐算法的效果数据计算每 个推荐算法的流量分流概率;根据每个推荐算法的流量分流概率为每个推荐算法分配流量 请求;解决了现有技术中在优化的过程中,需要人工为推荐算法分配流量,优化周期长的问 题;这里推荐算法的效果数据反映了推荐算法的推荐成功率,由于可以根据统计的每个推 荐算法的推荐成功率自动为每个推荐算法分配流量,能更好的为推荐成功率较高的推荐算 法分配较多的流量,从而达到了可以大大降低优化周期,提高优化效率及准确率的效果。

【专利附图】

【附图说明】
[0018] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使 用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于 本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他 的附图。
[0019] 图1是本发明一个实施例中提供的推荐算法优化方法所涉及的实施环境的示意 图;
[0020] 图2是本发明一个实施例中提供的推荐算法优化方法的方法流程图;
[0021] 图3A是本发明另一个实施例中提供的推荐算法优化方法的方法流程图;
[0022] 图3B是本发明部分实施例中提供的对选取的各个时间段所对应的推荐成功率进 行统计的统计示意图;
[0023] 图4是部分实施例中所涉及的服务器的内部结构关系的示意图;
[0024] 图5是一个实施例中为流量请求分配推荐算法的过程的流程图;
[0025] 图6是本发明一个实施例中提供的推荐算法优化装置的结构示意图;
[0026] 图7是本发明另一个实施例中提供的推荐算法优化装置的结构示意图;
[0027] 图8是本发明部分实施例中提供的服务器的结构示意图;
[0028] 图9是本发明一个实施例中提供的推荐算法优化系统的示意图。

【具体实施方式】
[0029] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方 式作进一步地详细描述。文中所讲的"至少一个"是指一个、两个或两个以上。
[0030] 请参见图1所示,其示出了本发明一个实施例中提供的推荐算法优化方法所涉及 的实施环境的示意图。该实施环境可以包括服务器120和至少一个终端140,服务器120可 以通过有线网络方式或无线网络方式与终端140连接。
[0031] 服务器120具有向终端140推荐业务的功能,比如可以根据该终端用户在浏览器 中的浏览内容、搜索内容以及用户的操作等信息为该用户推荐相应的业务。该服务器120 可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。 该服务器140可以是推荐系统的后台服务器。
[0032] 终端140可以对服务器120发送的推荐业务进行响应,比如点击浏览该推荐业 务。终端140通常可以包括智能手机、平板电脑、智能电视、电子书阅读器、MP3播放器 (Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面 3)、 MP4 (Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面 4)播放器、膝上型便携计算机和台式计算机等等。
[0033] 请参见图2所示,其示出了本发明一个实施例中提供的推荐算法优化方法的方法 流程图。该推荐算法优化方法主要以应用于图1所示的实施环境中的服务器120中进行举 例说明。该推荐算法优化方法可以包括:
[0034] 201,获取统计的各个推荐算法的效果数据,效果数据用于反映每个推荐算法在相 同的统计时间窗口所对应的推荐成功率;
[0035] 202,根据每个推荐算法的效果数据在各个推荐算法中的比重获取每个推荐算法 的流量分流概率;
[0036] 203,根据流量分流概率为每个推荐算法分配流量请求。
[0037] 综上所述,本发明实施例提供的推荐算法优化方法,通过获取统计的各个推荐算 法的效果数据;根据每个推荐算法的效果数据计算每个推荐算法的流量分流概率;根据流 量分流概率为每个推荐算法分配流量请求;解决了现有技术中在优化的过程中,需要人工 为推荐算法分配流量,优化周期长的问题;这里推荐算法的效果数据反映了推荐算法的推 荐成功率,由于可以根据统计的每个推荐算法的推荐成功率自动为每个推荐算法分配流 量,能更好的为推荐成功率较高的推荐算法分配较多的流量,从而达到了可以大大降低优 化周期,提高优化效率及准确率的效果。
[0038] 请参见图3A所示,其示出了本发明一个实施例中提供的推荐算法优化方法的方 法流程图。该推荐算法优化方法主要以应用于图1所示的实施环境中的服务器120中进行 举例说明。该推荐算法优化方法可以包括:
[0039] 301,对于每一个推荐算法,获取推荐算法在属于统计时间窗口内的至少两个互相 重叠的时间段所对应的推荐成功率,互相重叠的每个时间段具有相同的统计结束时刻和不 同的统计开始时刻;
[0040] 这里所讲的推荐算法可用于为终端提供推荐业务的服务。在实际应用中,提供推 荐业务的服务器中通常可以包含有多个推荐算法,当终端向该服务器发送流量请求时,月艮 务器则可以为该流量请求选择一个推荐算法,根据该推荐算法为该流量请求确定出推荐结 果,并将推荐结果发送给终端,这样,终端则可以根据推荐结果进行响应,比如可以对推荐 结果进行点击浏览等(即对推荐结果进行成功响应),当然,终端也可以选择忽视该推荐结 果,即不对该推荐结果进行任何响应或不进行成功响应。
[0041] 服务器可以结合推荐算法的推荐成功率为推荐算法分配流量请求。很显然,在获 取推荐算法成功率时,需要根据已收集到的终端对推荐算法所推荐的推荐结果进行的响应 反馈来确定推荐算法的推荐成功率。
[0042] 在实际应用的过程中,由于推荐算法的推荐成功率会受到很多因素的影响,很多 时候在较短的时间段内并不稳定,比如一个推荐算法在1天前的每天内,推荐的成功率都 比较低,但在这1天的推荐成功率突然增加很多(比如节日当天促销,网上售价比较低,此 时推荐给终端的推荐成功率会比较高),这1天的推荐成功率是不能准确代表该推荐算法的 推荐成功率的,因此,在具体统计的过程中,通常会选取多个不同的时间段进行推荐算法的 优化,每个时间段具有相同的统计结束时刻和不同的统计开始时刻。这里所讲的相同的统 计结束时刻为统计时间窗口的结束时刻,该统计结束时刻可以与本次统计时的统计时刻相 同,也可以与本次统计时的统计时刻不同,即可以为在本次统计的统计时刻之前的某一个 时刻。
[0043] 举例来讲,在同一个统计时刻对推荐算法所对应的一些时间段进行统计时,可以 选择在该统计时刻之前的多个不同时间段进行统计,比如可以统计该推荐算法在统计时刻 前的5分钟内的推荐成功率,还可以统计该推荐算法在统计时刻前的1小时内的推荐成功 率,这里统计时间窗口的结束时刻与统计时刻相同。比如,统计时刻为2012年9月10日的 上午9点,选取的时间段可以为以2012年9月10日的上午9点为结束时刻的5分钟内,以 2012年9月10日的上午9点为结束时刻的1小时内,或以2012年9月10日的上午9点为 结束时刻的1天内、1周内或1个月内等,并统计每个推荐算法分别在这些时间段内进行推 荐的推荐成功率。
[0044] 请参见图3B所示,其示出了本发明部分实施例中提供的对选取的各个时间段所 对应的推荐成功率进行统计的统计示意图,图3B中示出了推荐算法1在选取的各个时间段 所对应的推荐成功率,以及推荐算法2在选取的各个时间段所对应的推荐成功率,其中,选 取的时间段分别为:统计时刻前的5分钟内(第一时间段)、统计时刻前的15分钟内(第二时 间段)、统计时刻前的35分钟内(第三时间段)和统计时刻前的60分钟内(第四时间段)。对 于推荐算法1来讲,在第一时间段内统计出的推荐成功率为37%,在第二时间段内统计出的 推荐成功率为70%,在第三时间段内统计出的推荐成功率为24%,在第四时间段内统计出的 推荐成功率为50% ;对于推荐算法2来讲,在第一时间段内统计出的推荐成功率为64%,在第 二时间段内统计出的推荐成功率为25%,在第三时间段内统计出的推荐成功率为50%,在第 四时间段内统计出的推荐成功率为37%。
[0045] 再举例来讲,在同一个统计时刻对推荐算法所对应的一些时间段进行统计时,可 以选择在某一个指定时刻之前的多个不同时间段进行统计,这里所讲的指定时刻为统计 时间窗口的结束时刻,该统计时间窗口的结束时刻为本次统计的统计时刻之前的某一个时 亥lj。如,统计时刻为2012年9月10日的上午9点,指定时刻可以为2012年9月9日的 上午7点,这样选取的时间段可以为以2012年9月9日的上午7点为结束时刻的5分钟内, 以2012年9月9日的上午7点为结束时刻的1小时内,或以2012年9月9日的上午7点 为结束时刻的1天内或1周内等,并统计每个推荐算法在这些时间段内进行推进的推荐成 功率。
[0046] 在一种可能的实现方式中,获取推荐算法在每个时间段内的推荐成功率的具体过 程如下:
[0047] 第一,获取推荐算法在每个时间段中对应的响应动作和推荐结果,响应动作是至 少一个终端在时间段内对根据推荐算法确定的推荐结果的成功响应,推荐结果是在时间段 内根据推荐算法确定的推荐结果;
[0048] 在具体应用时,终端会不断地向服务器发送流量请求,服务器在接收到流量请求 之后,会为流量请求分配推荐算法,且服务器在为一个流量请求分配推荐算法之后,通常还 对该流量请求进行标记,该标记用于表示该流量请求是标记的推荐算法进行推荐处理的, 对应的,推荐算法对该流量请求进行处理,为该流量请求确定一个推荐结果,并将推荐结果 反馈给发送该流量请求的终端,这样,终端则可以根据推荐结果进行积极的响应操作,比如 点击浏览等,很显然,如果终端的用户对推荐结果没有兴趣,通常会选择忽略该推荐结果, 比如不对该推荐结果进行响应或直接关闭该推荐结果。这里所讲的响应动作为终端根据推 荐结果进行积极地响应操作,或者说终端根据推荐结果进行的成功响应。
[0049] 由于将推荐结果发送给终端的时间以及终端反馈响应动作的时候均是可以确定 的,因此可以获取在确定的时间段中某个推荐算法对应的响应动作和推荐结果。
[0050] 第二,统计响应动作的数量与推荐结果的数量;
[0051] 对于一个时间段来讲,服务器可以统计该时间段内每一个推荐算法所对应的响应 动作的总数量和推荐结果的总数量。
[0052] 第三,将响应动作的数量除以推荐结果的数量得到的商值确定为推荐算法在时间 段内的推荐成功率。
[0053] 对于一个时间段来讲,将统计出的某个推荐算法的响应动作的数量除以推荐结果 的数量,得到一个商值,则可以将该商值作为该时间段内该推荐算法的推荐成功率。需要说 明的是,在实际应用中,由于终端并不完全对推荐结果进行响应,因此该商值通常小于1。
[0054] 值得注意的是,对于不同的推荐算法,选取的时间段均应当是相同的。举例来讲, 对于推荐算法1来讲,选取的时间段为统计时刻前1小时的时间段和统计时刻前7天的时 间段,相应的,对于推荐算法2来讲,选取的时间段也应当为统计时刻前1小时的时间段和 统计时刻前7天的时间段。
[0055] 302,将互相重叠的每个时间段所对应的推荐成功率和与时间段对应的权重相乘, 得到乘积,将每个乘积相加得到的和值确定为推荐算法统计时间窗口的效果数据;
[0056] 在通常情况下,由于不同的时间段对推荐成功率的影响可能是不同的,因此在确 定推荐算法的总的推荐成功率时,通常需要根据实际情况预先为不同的时间段设置权重。 举例来说,统计时刻前的7天内的第一时间段与统计时刻前的前5分钟内的第二时间段通 常对推荐成功率的影响不同;通常,第一时间段由于时间跨度较长,在此时间段内的推荐成 功率能更好的预估后续该推荐算法的推荐效果,即对推荐算法的影响可能比较大,而第二 时间段由于时间跨度比较短,由于会存在网络状况等突发情况,在时间跨度较短的第二时 间段确定出的推荐成功率的稳定性比较差;因此在考虑推荐效果时,通常会较少的考虑该 时间段的影响。
[0057] 对于一个推荐算法来讲,由于根据步骤301已经确定出了在多个时间段内该推荐 算法的推荐成功率,则可以根据每个时间段所对应的推荐成功率以及权重确定该推荐算法 的效果数据,即具体算法为:将该推荐算法的每个时间段内所对应的推荐成功率分别与对 应的权重相乘,得到与每个时间段对应的乘积,然后将每个乘积相加得到的和值,将该和值 确定为推荐算法的效果数据。举例来讲,若为推荐算法选取的时间段分别为统计时刻前的1 个小时、统计时刻前的3个小时、统计时刻前的5个小时、统计时刻前的1天、统计时刻前的 7天,统计出来的每个时间段对应的推荐成功率分别为w_lhour、w_3hour、w_5hour、w_lday 和 w_7day,每个时间段对应的权重分别为 Effect_lhour、Effect_3hour、Effect_5hour、 Effect_lday和Effect_7day,则最后得到的该推荐算法的效果数据则为:Effect_final=w -lhour*Effeet-lhour+w-3hour*Effeet-3hour+w-5hour*Effeet-5hour+w-lday*Effeet-1 day+w_7 day^Ef f ect_7 day 〇
[0058] 仍旧参见图3B,如果为第一时间段、第二时间段、第三时间段和第四时间段设置的 权重分别为〇· 1、〇· 2、0· 3和0· 4,则推荐算法1的效果数据为:44· 9%=0· 1*37%+0· 2*70%+0· 3*24%+0· 4*50% ;类似的,推荐算法 2 的效果数据为:41· 2%=0· 1*64%+0· 2*25%+0· 3*50%+0· 4 氺 37%。
[0059] 303,将每个推荐算法的效果数据相加,得到和值;
[0060] 304,对于每一个推荐算法,将推荐算法的效果数据除以和值,得到推荐算法的流 量分流概率;
[0061] 举例来讲,存在三个推荐算法,分别为推荐算法1、推荐算法2和推荐算法3,每个 推荐算法的效果数据分别为效果数据1、效果数据2和效果数据3,则推荐算法1的流量分 流概率为:效果数据1八效果数据1+效果数据2+效果数据3),对应的,推荐算法2的流量 分流概率为:效果数据2八效果数据1+效果数据2+效果数据3),推荐算法3的流量分流 概率为:效果数据3八效果数据1+效果数据2+效果数据3)。
[0062] 仍旧参见图3B所示,假如仅存在推荐算法1和推荐算法2,则推荐算法1的流 量分流概率为:44. 9〇V(44. 9%+41. 2%) =52. 15%,推荐算法2的流量分流概率为:41. 2%/ (44. 9%+41, 2%) =47. 85%〇
[0063] 305,在预定时间段内根据流量分流概率为每个推荐算法分配流量请求,预定时间 段为本次的统计结束时刻与下一次的统计结束时刻之间的时间段。
[0064] 在具体应用时,由于服务器可能会接收大量终端发送来的流量请求,因此需要不 断地统计出最新的流量分流概率才能更好的提高对流量请求的推荐效果。由于服务器很可 能在非常短的时间(比如1秒)中接收到大量的流量请求,如果每接收到一个流量请求,均去 统计出一套新的流量分流概率,则会使得推荐时间比较长,对服务器的处理要求比较高,且 由于在较短时间内对推荐算法分配接收到的流量请求时的差别也通常不会太大,因此在计 算出流量分流概率之后,可以在持续的预定时间段内使用该计算出的流量分流概率为推荐 算法分配流量请求,该预定时间段通常为本次的统计结束时刻与下一次的统计结束时刻之 间的时间段。该预定时间段的选取可以根据实际确定,比如可以确定为1分钟、5分钟或1 小时等。
[0065] 换句话说,在本次统计完成后,服务器可以根据统计出来的推荐算法的流量分流 概率为推荐算法分配流量请求,直到下一次统计完成得到新的推荐算法的流量分类概率, 此时则丢弃原有的推荐算法的流量分流概率,使用新的推荐算法的流量分类概率为推荐算 法分配流量请求。
[0066] 综上所述,本发明实施例提供的推荐算法优化方法,通过获取统计的各个推荐算 法的效果数据;根据每个推荐算法的效果数据计算每个推荐算法的流量分流概率;根据流 量分流概率为每个推荐算法分配流量请求;解决了现有技术中在优化的过程中,需要人工 为推荐算法分配流量,优化周期长的问题;这里推荐算法的效果数据反映了推荐算法的推 荐成功率,由于可以根据统计的每个推荐算法的推荐成功率自动为每个推荐算法分配流 量,能更好的为推荐成功率较高的推荐算法分配较多的流量,从而达到了可以大大降低优 化周期,提高优化效率及准确率的效果。
[0067] 在一种可能的实现方式中,请参见图4所示,其示出了部分实施例中所涉及的服 务器的内部结构关系的示意图,该服务器120可以包括但不限于:用户接口处理单元42、接 入层44、数据库46、统计单元48和存储单元410,其中,用户接口处理单元42可以用于获取 终端140发送的各种信息,比如流量请求或响应动作;接入层44可以调用推荐算法so_l, 推荐算法so_l和推荐算法so_3对流量请求进行处理,在实际应用中,可能还存在其他的推 荐算法,这里仅是进行示意性举例;数据库46用于存放从终端140获取的响应动作的信息; 统计单元48可以根据数据库中的响应动作对每个推荐算法的效果数据进行统计,一般的, 统计单元48可以实时对数据库46中的响应动作数据进行统计,比如实时统计每个推荐算 法分别在1小时滑动窗口、3小时滑动窗口、5小时滑动窗口、1个自然天的固定窗口或7个 自然天的固定窗口的效果数据;存储单元410用于存放统计单元48统计后的每个推荐算法 的效果数据。
[0068] 在具体实现时,用户接口处理单元42接收终端140发送的流量请求,并将该流量 请求发送给接入层44,接入层44在接收到流量请求之后,则可以向存储单元410请求查询 每个推荐算法的效果数据,存储单元410向接入层44返回每个推荐算法的效果数据,接入 层44根据从存储单元410获取的每个推荐算法的效果数据计算出每个推荐算法的流量分 流概率,接入层44根据计算得到的每个推荐算法流量分流概率为该流量请求分配推荐算 法。更优的,接入层44在计算出每个推荐算法的流量分流概率之后,可以在指定时间段内 持续使用该计算出的每个推荐算法的流量分流概率为流量请求分配推荐算法,比如可以将 该指定时间设置为1分钟,当1分钟结束后,对接入层44中已经存储的每个推荐算法的流 量分流概率进行删除,这样当接收到下一个流量请求时,继续执行向存储单元410请求查 询每个推荐算法的效果数据的步骤。
[0069] 一般来讲,该指定时间的设置是为了避免接入层在每接收到一个流量请求后,均 要到存储单元410获取每个推荐算法的效果数据,并根据获取的每个推荐算法的效果数据 计算出每个推荐算法的流量分流概率的情况,因为在短时间内从存储单元410中多次获取 的每个推荐算法的效果数据可能都是相同或相近,对优化推荐算法的分配并无明显的改 善,而这种频繁从存储单元410获取效果数据并计算流量分流概率会较多的消耗服务器的 计算性能。
[0070] 很显然,统计单元48可以直接根据统计出的每个推荐算法的效果数据计算出每 个推荐算法的流量分流概率,并将每个推荐算法的流量分流概率存储至存储单元410中, 此时,接入层44可以直接向存储单元410请求查询每个推荐算法的流量分流概率,存储单 元410向接入层44返回每个推荐算法的流量分流概率。更优的,统计单元48可以在每接 收到终端140发送的一个响应动作时或每隔预定时间间隔所指示的时刻时进行一次统计 操作,将每次统计出的每个推荐算法的流量分流概率存储至存储单元410中,对应的,存储 单元410可以将最后一次获取的每个推荐算法的流量分流概率替换原来存在的每个推荐 算法的流量分流概率,或者存储单元410可以将每次获取的每个推荐算法的流量分流概率 均按照统计时间进行保存,但这种情况下,当接入层44向存储单元410请求查询每个推荐 算法的流量分流概率时,存储单元410可以向接入层44返回最晚统计时间所对应的每个推 荐算法的效果数据。
[0071] 接入层44还可以通过手动触发的方式查询存储单元410中每个推荐算法的效果 数据或流量分流概率。
[0072] 值得注意的是,由于服务器120可以是一台独立的服务器,也可以是多个服务器 的组合,因此当服务器120为一台独立的服务器时,这里的接入层44、数据库46、统计单元 48和存储单元410则为该台服务器中的组成结构,当服务器120为多个服务器的组合时,这 里的接入层44、数据库46、统计单元48和存储单元410可以分别位于不同的服务器中。
[0073] 在另一种可能的实现方式中,请参见图5所示,其示出了一个实施例中为流量请 求分配推荐算法的过程的流程图,实现为流量请求分配推荐算法的过程的设备可以为图4 中所示服务器中的接入层44中,该流量请求分配推荐算法的过程可以包括:
[0074] 501、接收至少一个终端发送的流量请求;
[0075] 比如,首先可以通过用户接口处理单元42接收至少一个终端发送的流量请求,用 户接口处理单元42将接收到的流量请求发送给接入层44,这样接入层44也会同步接收到 至少一个终端发送的流量请求。
[0076] 502、遍历缓存中所有推荐算法的效果数据;
[0077] 接入层44可以遍历本地缓存中所有推荐算法的效果数据。
[0078] 503、若检测到缓存中没有推荐算法的效果数据或检测到缓存中推荐算法的效果 数据过期,则触发后端查询推荐算法的效果数据;
[0079] 若接入层44检测到本地缓存中没有推荐算法的效果数据或检测到本地缓存中推 荐算法的效果数据过期时,则可以出发后端的存储单元410查询推荐算法的效果数据。
[0080] 504、若检测到缓存中推荐算法的效果数据未过期,则在缓存中查询推荐算法的效 果数据;
[0081] 若接入层44检测到缓存中推荐算法的效果数据未过期,则可以直接在本地缓存 中查询推荐算法的效果数据。
[0082] 505、若某一个推荐算法的效果数据查询失败,则排除该推荐算法,得到剩余有效 的推荐算法;
[0083] 506、根据有效的推荐算法的效果数据,计算每个有效的推荐算法的流量分流概 率;
[0084] 507、根据计算出的每个有效的推荐算法的流量分流概率为该流量请求随机分配 推荐算法。
[0085] 由上可知,由于推荐算法的效果数据反映了推荐算法的推荐成功率,且这里由于 可以根据统计的每个推荐算法的推荐成功率自动为每个推荐算法分配流量,能更好的为推 荐成功率较高的推荐算法分配较多的流量,从而达到了可以大大降低优化周期,自动实现 分流优化,提高优化效率及准确率的效果;同时,由于接入层中的本地缓存中可以缓存有推 荐算法的效果数据或流量分流概率,因此该推荐算法优化方法也能自动容灭,避免某些推 荐算法在特定情况下,推荐效果急据下降,自动将流量分配给效果较好的算法。
[0086] 在其他可能的实现方式中,推荐算法在某个时间段内的效果数据还可以为该时间 段内响应动作的总数量,对于一个推荐算法,可以将每个时间段所对应的效果数据乘以为 该时间段设定的权重,得到乘积,将每个时间段所对应的乘积相加,得到的和值为推荐算法 的总效果数据。根据每个推荐算法的总效果数据确定每个推荐算法所占的权重或者每个推 荐算法的流量分流概率。
[0087] 举例来讲,存在的推荐算法分别为推荐算法1、推荐算法2和推荐算法3,确定统计 的时间段分别为时间段1、时间段2和时间段3,为每个时间段分配的权重分别为wl、《2和 w3 ;
[0088] 对于推荐算法1来讲,统计的时间段1内的与推荐算法1对应的响应动作的总数 量为N11,统计的时间段2内的与推荐算法1对应的响应动作的总数量为N12,统计的时间 段3内的与推荐算法1对应的响应动作的总数量为N13,据此得到的推荐算法1的总效果数 据为疋1=¥1_11+¥2_12+¥3_13;
[0089] 对于推荐算法2来讲,统计的时间段1内的与推荐算法2对应的响应动作的总数 量为N21,统计的时间段2内的与推荐算法2对应的响应动作的总数量为N22,统计的时间 段3内的与推荐算法2对应的响应动作的总数量为N23,据此得到的推荐算法2的总效果数 据为:F2=wl*N21+w2*N22+w3*N23 ;
[0090] 对于推荐算法3来讲,统计的时间段1内的与推荐算法3对应的响应动作的总数 量为N31,统计的时间段2内的与推荐算法3对应的响应动作的总数量为N32,统计的时间 段3内的与推荐算法3对应的响应动作的总数量为N33,据此得到的推荐算法3的总效果数 据为:F3=wl*N31+w2*N32+w3*N33 ;
[0091] 这样推荐算法1最后所占的权重或者说流量分流概率为:F1AF1+F2+F3),推荐算 法2最后所占的权重或者说流量分流概率为:F2AF1+F2+F3),推荐算法3最后所占的权重 或者说流量分流概率为:F3AF1+F2+F3)。
[0092] 以下为本发明的装置实施例,对于其中未详尽描述的细节,可以参考上述对应的 方法实施例。
[0093] 请参见图6所示,其示出了本发明一个实施例中提供的推荐算法优化装置的结构 示意图。该推荐算法优化装置主要以应用于图1所示的实施环境中的服务器120中进行举 例说明。该推荐算法优化装置可以包括:获取模块602、计算模块604和分配模块606。
[0094] 获取模块602,可以用于获取统计的各个推荐算法的效果数据,效果数据用于反映 每个推荐算法在相同的统计时间窗口所对应的推荐成功率;
[0095] 计算模块604,可以用于根据获取模块602获取的每个推荐算法的效果数据在各 个推荐算法中的比重获取每个推荐算法的流量分流概率;
[0096] 分配模块606,可以用于根据计算模块604计算得到的流量分流概率为每个推荐 算法分配流量请求。
[0097] 综上所述,本发明实施例提供的推荐算法优化装置,通过获取统计的各个推荐算 法的效果数据;根据每个推荐算法的效果数据计算每个推荐算法的流量分流概率;根据流 量分流概率为每个推荐算法分配流量请求;解决了现有技术中在优化的过程中,需要人工 为推荐算法分配流量,优化周期长的问题;这里推荐算法的效果数据反映了推荐算法的推 荐成功率,由于可以根据统计的每个推荐算法的推荐成功率自动为每个推荐算法分配流 量,能更好的为推荐成功率较高的推荐算法分配较多的流量,从而达到了可以大大降低优 化周期,提高优化效率及准确率的效果。
[0098] 请参见图7所示,其示出了本发明一个实施例中提供的推荐算法优化装置的结构 示意图。该推荐算法优化装置主要以应用于图1所示的实施环境中的服务器120中进行举 例说明。该推荐算法优化装置可以包括:获取模块702、计算模块704和分配模块706。 [0099] 获取模块702,可以用于获取统计的各个推荐算法的效果数据,效果数据用于反映 反映每个推荐算法在相同的统计时间窗口所对应的推荐成功率;
[0100] 计算模块704,可以用于根据获取模块702获取的每个推荐算法的效果数据在各 个推荐算法中的比重获取每个推荐算法的流量分流概率;
[0101] 分配模块706,可以用于根据计算模块704计算得到的流量分流概率为每个推荐 算法分配流量请求。
[0102] 在本实施例中的第一种可能的实现方式中,获取模块702可以包括:获取子模块 702a和确定子模块702b。
[0103] 获取子模块702a,可以用于对于每一个推荐算法,获取推荐算法在属于统计时间 窗口内的至少两个互相重叠的时间段所对应的推荐成功率,互相重叠的每个时间段具有相 同的统计结束时刻和不同的统计开始时刻;
[0104] 确定子模块702b,可以用于将互相重叠的每个时间段所对应的推荐成功率和与时 间段对应的权重相乘,得到乘积,将每个乘积相加得到的和值确定为推荐算法在统计时间 窗口的效果数据。
[0105] 在本实施例中的第二种可能的实现方式中,获取子模块702a可以包括:获取子单 元702al、统计子单元702a2和确定子单元702a3。
[0106] 获取子单元702al,可以用于获取推荐算法在每个时间段中对应的响应动作和推 荐结果,响应动作是至少一个终端在时间段内对根据推荐算法确定的推荐结果的成功响 应,推荐结果是在时间段内根据推荐算法确定的推荐结果;
[0107] 统计子单元702a2,可以用于统计响应动作的数量与推荐结果的数量;
[0108] 确定子单元702a3,可以用于将统计子单元702a2统计出的响应动作的数量除以 统计子单元702a2统计出的推荐结果的数量得到的商值确定为推荐算法在时间段内的推 荐成功率。
[0109] 在本实施例中的第三种可能的实现方式中,计算模块704可以包括:和值获取子 模块704a和概率获取子模块704b。
[0110] 和值获取子模块704a,可以用于将每个推荐算法的效果数据相加,得到和值;
[0111] 概率获取子模块704b,可以用于对于每一个推荐算法,将推荐算法的效果数据除 以和值,得到推荐算法的流量分流概率。
[0112] 在本实施例中的第四种可能的实现方式中,分配模块706还可以用于:
[0113] 在预定时间段内根据流量分流概率为每个推荐算法分配流量请求,预定时间段为 本次的统计结束时刻与下一次的统计结束时刻之间的时间段。
[0114] 综上所述,本发明实施例提供的推荐算法优化装置,通过获取统计的各个推荐算 法的效果数据;根据每个推荐算法的效果数据计算每个推荐算法的流量分流概率;根据流 量分流概率为每个推荐算法分配流量请求;解决了现有技术中在优化的过程中,需要人工 为推荐算法分配流量,优化周期长的问题;这里推荐算法的效果数据反映了推荐算法的推 荐成功率,由于可以根据统计的每个推荐算法的推荐成功率自动为每个推荐算法分配流 量,能更好的为推荐成功率较高的推荐算法分配较多的流量,从而达到了可以大大降低优 化周期,提高优化效率及准确率的效果。
[0115] 需要说明的是:上述实施例中提供的推荐算法优化装置在对推荐算法进行优化 时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分 配由不同的功能模块完成,即将服务器的内部结构划分成不同的功能模块,以完成以上描 述的全部或者部分功能。另外,上述实施例提供的推荐算法优化装置与推荐算法优化方法 实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0116] 请参见图8所示,其示出了本发明部分实施例中提供的服务器的结构方框图。该 服务器800用于实施上述实施例提供的推荐算法优化方法。该服务器800包括中央处理单 元(CPU) 801、包括随机存取存储器(RAM) 802和只读存储器(ROM) 803的系统存储器804, 以及连接系统存储器804和中央处理单元801的系统总线805。该服务器800还包括帮助 计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)806,和用于存储操作 系统813、应用程序814和其他程序模块815的大容量存储设备807。
[0117] 该基本输入/输出系统806包括有用于显不信息的显不器808和用于用户输入信 息的诸如鼠标、键盘之类的输入设备809。其中该显示器808和输入设备809都通过连接到 系统总线805的输入/输出控制器810连接到中央处理单元801。该基本输入/输出系统 806还可以包括输入输出控制器810以用于接收和处理来自键盘、鼠标、或电子触控笔等多 个其他设备的输入。类似地,输入输出控制器810还提供输出到显示屏、打印机或其他类型 的输出设备。
[0118] 该大容量存储设备807通过连接到系统总线805的大容量存储控制器(未示出)连 接到中央处理单元801。该大容量存储设备807及其相关联的计算机可读介质为服务器800 提供非易失性存储。也就是说,该大容量存储设备807可以包括诸如硬盘或者CD-ROM驱动 器之类的计算机可读介质(未示出)。
[0119] 不失一般性,该计算机可读介质可以包括计算机存储介质和通信介质。计算机 存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的 任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括 RAM、ROM、EPROM、EEPR0M、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带 盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知该计算机存储介质不 局限于上述几种。上述的系统存储器804和大容量存储设备807可以统称为存储器。
[0120] 根据本公开的各种实施例,该服务器800还可以通过诸如因特网等网络连接到网 络上的远程计算机运行。也即服务器800可以通过连接在该系统总线805上的网络接口单 元811连接到网络812,或者说,也可以使用网络接口单元811来连接到其他类型的网络或 远程计算机系统(未示出)。
[0121] 该存储器还包括一个或者一个以上的程序,该一个或者一个以上程序存储于存储 器中,且经配置以由一个或者一个以上中央处理单元801执行。上述一个或者多个中央处 理单元801具有如下功能 :
[0122] 获取统计的各个推荐算法的效果数据,效果数据用于反映每个推荐算法在相同的 统计时间窗口所对应的推荐成功率;
[0123] 根据每个推荐算法的效果数据在各个推荐算法中的比重获取每个推荐算法的流 量分流概率;
[0124] 根据流量分流概率为每个推荐算法分配流量请求。
[0125] 在本实施例中的第一种可能的实现方式中,获取统计的各个推荐算法的效果数 据,包括:
[0126] 对于每一个推荐算法,获取推荐算法在属于统计时间窗口内的至少两个互相重叠 的时间段所对应的推荐成功率,互相重叠的每个时间段具有相同的统计结束时刻和不同的 统计开始时刻;
[0127] 将互相重叠的每个时间段所对应的推荐成功率和与时间段对应的权重相乘,得到 乘积,将每个乘积相加得到的和值确定为推荐算法在统计时间窗口的效果数据。
[0128] 在本实施例中的第二种可能的实现方式中,获取推荐算法在属于统计时间窗口内 的至少两个互相重叠的时间段所对应的推荐成功率,包括:
[0129] 获取推荐算法在每个时间段中对应的响应动作和推荐结果,响应动作是至少一个 终端在时间段内对根据推荐算法确定的推荐结果的成功响应,推荐结果是在时间段内根据 推荐算法确定的推荐结果;
[0130] 统计响应动作的数量与推荐结果的数量;
[0131] 将响应动作的数量除以推荐结果的数量得到的商值确定为推荐算法在时间段内 的推荐成功率。
[0132] 在本实施例中的第三种可能的实现方式中,根据每个推荐算法的效果数据在各个 推荐算法中的比重获取每个推荐算法的流量分流概率,包括:
[0133] 将每个推荐算法的效果数据相加,得到和值;
[0134] 对于每一个推荐算法,将推荐算法的效果数据除以和值,得到推荐算法的流量分 流概率。
[0135] 在本实施例中的第四种可能的实现方式中,根据流量分流概率为每个推荐算法分 配流量请求,包括:
[0136] 在预定时间段内根据流量分流概率为每个推荐算法分配流量请求,预定时间段为 本次的统计结束时刻与下一次的统计结束时刻之间的时间段。
[0137] 请参见图9所示,其示出了本发明一个实施例中提供的推荐算法优化系统的示意 图,该推荐算法优化系统主要以应用于图1所示的实施环境中进行举例说明。该推荐算法 优化系统可以包括服务器902和至少一个终端904,服务器902通过有线网络方式或无线网 络方式与终端904连接,终端904可以向服务器902发送流量请求,服务器902可以为终端 904反馈推荐结果,对应的,终端904可以选择对该推荐结果进行响应。
[0138] 服务器902可以包括图6或图7中所描述的推荐算法优化装置,或服务器902可 以为图8中所描述的服务器。
[0139] 综上所述,本发明实施例提供的推荐算法优化系统,通过在服务器获取统计的各 个推荐算法的效果数据;根据每个推荐算法的效果数据计算每个推荐算法的流量分流概 率;根据流量分流概率为每个推荐算法分配流量请求;解决了现有技术中在优化的过程 中,需要人工为推荐算法分配流量,优化周期长的问题;这里推荐算法的效果数据反映了推 荐算法的推荐成功率,由于可以根据统计的每个推荐算法的推荐成功率自动为每个推荐算 法分配流量,能更好的为推荐成功率较高的推荐算法分配较多的流量,从而达到了可以大 大降低优化周期,提高优化效率及准确率的效果。
[0140] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0141] 本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件 来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读 存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0142] 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和 原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1. 一种推荐算法优化方法,其特征在于,所述方法包括: 获取统计的各个推荐算法的效果数据,所述效果数据用于反映每个推荐算法在相同的 统计时间窗口所对应的推荐成功率; 根据每个推荐算法的所述效果数据在各个推荐算法中的比重获取每个推荐算法的流 量分流概率; 根据所述流量分流概率为每个推荐算法分配流量请求。
2. 根据权利要求1所述的方法,其特征在于,所述获取统计的各个推荐算法的效果数 据,包括: 对于每一个推荐算法,获取所述推荐算法在属于所述统计时间窗口内的至少两个互相 重叠的时间段所对应的推荐成功率,互相重叠的每个时间段具有相同的统计结束时刻和不 同的统计开始时刻; 将互相重叠的每个时间段所对应的推荐成功率和与所述时间段对应的权重相乘,得到 乘积,将每个乘积相加得到的和值确定为所述推荐算法在所述统计时间窗口的效果数据。
3. 根据权利要求2所述的方法,其特征在于,所述获取所述推荐算法在属于所述统计 时间窗口内的至少两个互相重叠的时间段所对应的推荐成功率,包括: 获取所述推荐算法在每个时间段中对应的响应动作和推荐结果,所述响应动作是至少 一个终端在所述时间段内对根据所述推荐算法确定的推荐结果的成功响应,所述推荐结果 是在所述时间段内根据所述推荐算法确定的推荐结果; 统计所述响应动作的数量与所述推荐结果的数量; 将所述响应动作的数量除以所述推荐结果的数量得到的商值确定为所述推荐算法在 所述时间段内的推荐成功率。
4. 根据权利要求2或3所述的方法,其特征在于,所述根据每个推荐算法的所述效果数 据在各个推荐算法中的比重获取每个推荐算法的流量分流概率,包括: 将每个推荐算法的所述效果数据相加,得到和值; 对于每一个推荐算法,将所述推荐算法的效果数据除以所述和值,得到所述推荐算法 的流量分流概率。
5. 根据权利要求4所述的方法,其特征在于,所述根据所述流量分流概率为每个推荐 算法分配流量请求,包括: 在预定时间段内根据所述流量分流概率为每个推荐算法分配流量请求,所述预定时间 段为本次的所述统计结束时刻与下一次的统计结束时刻之间的时间段。
6. -种推荐算法优化装置,其特征在于,所述装置包括: 获取模块,用于获取统计的各个推荐算法的效果数据,所述效果数据用于反映每个在 相同的统计时间窗口所对应的推荐成功率; 计算模块,用于根据所述获取模块获取的每个推荐算法的所述效果数据在各个推荐算 法中的比重获取每个推荐算法的流量分流概率; 分配模块,用于根据所述计算模块计算得到的所述流量分流概率为每个推荐算法分配 流量请求。
7. 根据权利要求6所述的装置,其特征在于,所述获取模块,包括: 获取子模块,用于对于每一个推荐算法,获取所述推荐算法在属于所述统计时间窗口 内的至少两个互相重叠的时间段所对应的推荐成功率,互相重叠的每个时间段具有相同的 统计结束时刻和不同的统计开始时刻; 确定子模块,用于将互相重叠的每个时间段所对应的推荐成功率和与所述时间段对应 的权重相乘,得到乘积,将每个乘积相加得到的和值确定为所述推荐算法在所述统计时间 窗口的效果数据。
8. 根据权利要求7所述的装置,其特征在于,所述获取单元,包括: 获取子单元,用于获取所述推荐算法在每个时间段中对应的响应动作和推荐结果,所 述响应动作是至少一个终端在所述时间段内对根据所述推荐算法确定的推荐结果的成功 响应,所述推荐结果是在所述时间段内根据所述推荐算法确定的推荐结果; 统计子单元,用于统计所述响应动作的数量与所述推荐结果的数量; 确定子单元,用于将所述统计子单元统计出的所述响应动作的数量除以所述统计子单 元统计出的所述推荐结果的数量得到的商值确定为所述推荐算法在所述时间段内的推荐 成功率。
9. 根据权利要求7或8所述的装置,其特征在于,所述计算模块,包括: 和值获取单元,用于将每个推荐算法的所述效果数据相加,得到和值; 概率获取单元,对于每一个推荐算法,将所述推荐算法的效果数据除以所述和值,得到 所述推荐算法的流量分流概率。
10. 根据权利要求9所述的装置,其特征在于,所述分配模块,还用于: 在预定时间段内根据所述流量分流概率为每个推荐算法分配流量请求,所述预定时间 段为本次的所述统计结束时刻与下一次的统计结束时刻之间的时间段。
11. 一种推荐算法优化系统,其特征在于,所述系统包括服务器和至少一个终端; 所述服务器包括如权利要求6至10中任一所述的推荐算法优化装置。
【文档编号】G06F17/30GK104090893SQ201310689281
【公开日】2014年10月8日 申请日期:2013年12月13日 优先权日:2013年12月13日
【发明者】程章敏 申请人:深圳市腾讯计算机系统有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1