具体实施方式
在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请实施例提出一种资源展示方法,该方法可以应用于包括客户端和服务器的系统,如图1所示,为该系统的结构示意图。客户端可以是终端设备(如PC(PersonalComputer,个人计算机)、笔记本电脑、移动终端等)上的APP(应用),也可以是终端设备上的浏览器,对此客户端的类型不做限制,所有能够访问服务器的客户端均在本申请实施例的保护范围之内。服务器是提供资源展示功能的设备,如搜索平台、数据平台、电商平台等,对此服务器的类型不做限制,所有提供资源展示功能的设备均在本申请实施例的保护范围之内。
在一个例子中,上述资源展示方法可以应用于搜索场景,也可以应用于信息推荐场景,还可以应用于其它场景,只要在这些场景下,服务器向客户端展示资源即可,为了方便描述,后续过程以搜索场景的处理为例进行说明。
例如,当客户端需要搜索某个搜索词(如连衣裙等)时,会发送携带该搜索词的访问请求,服务器在接收到该访问请求后,可以获取与该搜索词对应的资源,并向客户端发送搜索结果,该搜索结果携带与该搜索词对应的资源。
对于服务器向客户端发送的搜索结果,可以包括与搜索词对应的自然结果和广告结果,自然结果是不含有广告的资源,且自然结果主要服务于用户体验和平台健康发展,广告结果是含有广告的资源,且广告结果主要服务于平台收益。显然,当搜索结果中包括大量的自然结果时,就只能包括少量广告结果,这样不利于平台收益。此外,当搜索结果中包括大量广告结果时,就只能包括少量自然结果,这样不利于用户体验和平台健康发展。因此,如何在搜索结果中展现自然结果和广告结果,是服务器需要迫切解决的问题。
为了在搜索结果中展现自然结果和广告结果,服务器可以采用如下方式:
方式一、服务器选取n个广告结果,并将n个广告结果插入到自然结果的第i到第(i+n-1)个位置上。例如,搜索结果可以包括10个资源,n的取值为5,i的取值为2,则搜索结果可以包括:第1个位置是自然结果,第2个位置至第6个位置是广告结果,第7个位置至第10个位置是自然结果。
方式二、服务器将b个广告结果插入到a个自然结果的后面。例如,搜索结果可以包括10个资源,a的取值为3,b的取值为2,则搜索结果可以包括:第1个位置至第3个位置是自然结果,第4个位置至第5个位置是广告结果,第6个位置至第8个位置是自然结果,第9个位置至第10个位置是广告结果。
方式三、服务器根据资源对应的第一目标值和第二目标值,对多个资源(广告结果和自然结果)进行排序,并根据排序结果,从多个资源中选择待展示资源和展示顺序,且服务器发送的搜索结果中包括待展示资源和展示顺序。
在上述方式一和方式二中,广告结果的数量、广告结果的位置、自然结果的数量、自然结果的位置,均由业务人员根据经验制定,缺乏全局效果考量,未考虑整个页面的效果,无法在用户体验和平台收益之间达到很好的平衡。
在方式三中,可以根据所有资源(如自然结果和广告结果)对应的第一目标值和第二目标值,对所有资源进行统计排序,并对自然结果和广告结果进行动态的分配,从而可以在平台收益与用户体验之间寻找到平衡点,并达到平台收益与页面整体效果最优的目的,提升页面的用户体验以及平台收益。
在一个例子中,搜索结果包括自然结果和广告结果,自然结果的目标是页面效果指标,因此上述第一目标值可以是页面效果指标,通过这个页面效果指标,可以衡量用户体验和平台健康发展。广告结果的目标是平台收益,因此上述第二目标值可以是页面收益,通过这个页面收益,可以衡量平台收益。
因此,为了在平台收益与用户体验之间寻找平衡点,可定义如下问题:在页面效果指标满足约束条件的情况下,使平台收益最大化。也就是说,在服务器根据资源对应的页面效果指标和页面收益,对多个资源进行排序时,对于每个资源来说,在该资源对应的页面效果指标满足约束条件的情况下,若该资源对应的页面收益越大,则该资源的排序结果也越靠前,从而使平台收益最大化。
在一个例子中,可以设置一个页面效果指标阈值,上述资源对应的页面效果指标满足约束条件是指:资源对应的页面效果指标满足该页面效果指标阈值的约束条件,例如,资源对应的页面效果指标大于等于该页面效果指标阈值。
为了实现上述方式三,可以在服务器构建自然结果和广告结果的统一排序框架,参见图2所示,服务器可以通过上述统一排序框架对自然结果和广告结果进行统一排序,从而可以在平台收益与用户体验之间寻找平衡点,并达到平台收益与页面整体效果最优的目的,提升页面的用户体验以及平台收益。
具体的,前端应用在接收到客户端发送的访问请求后,将访问请求发送给排序模块。排序模块在接收到访问请求后,从访问请求中解析出搜索词,并向广告结果引擎查询与该搜索词对应的广告结果,广告结果引擎将与该搜索词对应的广告结果(如广告结果1、广告结果2和广告结果3)提供给排序模块。排序模块向自然结果引擎查询与该搜索词对应的自然结果,自然结果引擎将该搜索词对应的自然结果(如自然结果1、自然结果2和自然结果3)提供给排序模块。
排序模块在接收到该广告结果(如广告结果1、广告结果2和广告结果3等)和自然结果(如自然结果1、自然结果2和自然结果3等)后,可以根据这些资源对应的页面效果指标和页面收益,对这些资源进行排序,如排序结果是广告结果1、自然结果1、广告结果2、广告结果3、自然结果2、自然结果3。然后,排序模块可以根据排序结果,从这些资源中选择待展示资源和展示顺序,将搜索结果发送给前端应用,前端应用将该搜索结果发送给客户端。
其中,该搜索结果可以包括待展示资源和展示顺序,例如,当排序模块需要选择5个待展示资源时,则排序模块选择的待展示资源为广告结果1、自然结果1、广告结果2、广告结果3、自然结果2,而且,展示顺序依次是广告结果1、自然结果1、广告结果2、广告结果3、自然结果2。
在上述过程中,已经介绍了服务器通过统一排序框架对自然结果和广告结果进行统一排序的过程,以下结合图3所示的资源展示方法的流程图,对服务器的统一排序流程进行详细说明。其中,该资源展示方法可以应用于服务器。
步骤301,在接收到访问请求后,获取与该访问请求对应的多个资源。
其中,与该访问请求对应的多个资源可以包括第一类资源和第二类资源;该第一类资源包括自然结果;该第二类资源包括广告结果。
例如,在搜索场景下,客户端可以向服务器发送搜索请求,而服务器在接收到携带搜索词的搜索请求后,可以获取与该搜索词对应的多个资源。
步骤302,根据资源对应的第一目标值和第二目标值,对多个资源进行排序。
其中,该第一目标值可以包括:该资源对应的页面效果指标,且该页面效果指标可以包括但不限于以下之一或者任意组合:点击概率(即ctr:click through rate)、询盘转化率、订单转化率、交易总额(即gmv:gross merchandise volume)。
其中,该第二目标值可以包括:该资源对应的页面收益,且该页面收益可以包括但不限于:rpm(revenue per impression,千次浏览收益)。
在一个例子中,针对“根据资源对应的第一目标值和第二目标值,对多个资源进行排序”的过程,可以包括但不限于:方式一、根据页面效果指标阈值、资源对应的第一目标值和第二目标值,对多个资源进行排序;其中,当资源对应的第一目标值满足页面效果指标阈值的约束条件时,若资源对应的第二目标值越大,则该资源的排序结果越靠前。方式二、根据页面效果指标阈值、关联参数(表示第一目标值的损失对第二目标值的影响)、资源对应的第一目标值和第二目标值,确定该资源的贡献得分值;根据资源的贡献得分值,对多个资源进行排序;其中,当资源的贡献得分值越大时,则该资源的排序结果越靠前。
针对方式一/方式二,第一目标值为页面效果指标,第二目标值为页面收益。
针对方式一,考虑到页面效果指标可以衡量用户体验和平台健康发展,而页面收益可以衡量平台收益,因此,为了在平台收益与用户体验之间寻找平衡点,可以定义如下的问题:在页面效果指标满足约束条件的情况下,使平台收益最大化。也就是说,在服务器根据页面效果指标阈值、资源对应的页面效果指标和页面收益,对多个资源进行排序时,对于每个资源来说,可以在该资源对应的页面效果指标满足约束条件的情况下,若该资源对应的页面收益越大,则该资源的排序结果也越靠前,从而可以使得平台收益达到最大化。
其中,可以设置一个页面效果指标阈值,上述资源对应的页面效果指标满足约束条件是指:资源对应的页面效果指标满足该页面效果指标阈值的约束条件,例如,该资源对应的页面效果指标大于等于该页面效果指标阈值。
假设资源1对应的页面效果指标1大于页面效果指标阈值,资源1对应页面收益1,资源2对应的页面效果指标2大于页面效果指标阈值,资源2对应页面收益2,资源3对应的页面效果指标3大于页面效果指标阈值,资源3对应页面收益3,而且,页面收益3大于页面收益2,页面收益2大于页面收益1,则资源1、资源2、资源3的排序结果可以为:资源3、资源2、资源1。
其中,若页面效果指标1、页面效果指标2、页面效果指标3大于页面效果指标阈值,则可以对资源1、资源2、资源3进行排序,在排序过程中,不再比较页面效果指标1、页面效果指标2、页面效果指标3的大小,也就是说,如何排序与页面效果指标1、页面效果指标2、页面效果指标3的大小无关。
其中,若页面效果指标1、页面效果指标2大于页面效果指标阈值,而页面效果指标3小于页面效果指标阈值,则可以对资源1、资源2进行排序,但是,不需要对资源3进行排序,即使页面收益3最大,也不会对资源3进行排序,这样,在排序结果中不包括资源3,最后的搜索结果也不会包括资源3。
针对方式二、考虑到页面效果指标可以衡量用户体验和平台健康发展,页面收益可以衡量平台收益,因此,为了在平台收益与用户体验之间寻找平衡点,可以定义如下问题:在页面效果指标满足约束条件的情况下,使平台收益最大化。也就是说,在服务器对多个资源进行排序时,对于每个资源来说,可以根据页面效果指标阈值、关联参数、该资源对应的页面效果指标和页面收益,确定该资源的贡献得分值。这样,就可以根据每个资源的贡献得分值,对多个资源进行排序,当资源的贡献得分值越大时,则可以表示该资源对应的页面收益越大,该资源的排序结果也越靠前,从而可以使得平台收益达到最大化。而且,这一情况可以表示:给资源对平台收益和页面指标的综合贡献度最大。
为了方便描述,以页面效果指标是ctr,页面收益是rpm为例,对上述方式二进行说明。当页面效果指标是其它参数,页面收益是其它参数时,其处理流程与页面效果指标ctr、页面收益rpm的处理流程类似,后续不再赘述。
在一个例子中,针对问题“在页面效果指标满足约束条件的情况下,使平台收益最大化”,可以定义如下4个公式。第一个公式是求解目标,通过这个公式,可以使得平台收益最大化。第二个公式是约束条件,表示所有页面的点击概率ctr需要大于等于约束值(页面效果指标阈值)。第三个公式是约束条件,表示一个位置最多只能展现一个资源,针对所有i中的每个i,都需要满足第三个公式。第四个公式是约束条件,针对每个i和k的组合,需要满足第四个公式。
xik∈{0,1}
i表示流量,可以理解为每个周期的第几次访问,以周期是“天”为例,i表示每天中的第几次访问,当然,周期可以是“小时”、“周”等。如当第一次接收到访问请求时,i为1,当第二次接收到访问请求时,i为2,以此类推。
k表示资源,可以是自然结果或者广告结果,表示第几个资源。
ctr为点击概率,ctrik表示针对资源k的第i个流量的点击概率,例如,ctr11可以表示针对资源1的第1个流量的点击概率,可以这样理解,当第一次接收到访问请求时,在向用户显示资源1后,则资源1被用户点击的概率。ctr12表示针对资源2的第1个流量的点击概率,则ctr21表示针对资源1的第2个流量的点击概率,以此类推,每个i与k的不同组合,就对应一个点击概率ctr。
rpm为页面收益,rpmik表示针对资源k的第i个流量的页面收益,例如,rpm11表示针对资源1的第1个流量的页面收益,可以这样理解,当第一次收到访问请求时,则在向用户显示资源1之后,该资源1产生的页面收益。rpm12表示针对资源2的第1个流量的的页面收益,则rpm21表示针对资源1的第2个流量的的页面收益,以此类推,每个i与k的不同组合就可以对应一个页面收益。
m表示i的最大取值,p表示k的最大取值,T表示页面效果指标阈值,当页面效果指标为点击概率ctr时,则页面效果指标阈值T为点击概率阈值。
xik表示针对第i个流量是否展现资源k,也就是说,当第i次接收到访问请求时,是否向用户显示资源k。参见第四个公式,xik的取值为0或1,当xik的取值为0时,表示不向用户展现资源k,当xik的取值为1时,表示向用户展现资源k。如x11的取值为0时,表示第一次接收到访问请求时,不向用户显示资源1,当x11的取值为1时,表示第一次接收到访问请求时,向用户显示资源1。
在一个例子中,上述四个公式可以为线性规划问题,由于每个线性规划问题(称为原始问题)均有对应的一个对偶线性规划问题(称为对偶问题),因此,可以将上述原始问题转换为如下对偶问题:yik=rpmik-α×(T-ctrik)。
其中,这个公式就是“根据页面效果指标阈值、关联参数、资源对应的页面效果指标和页面收益,确定资源的贡献得分值”的过程,也就是说,资源对应的贡献得分值为:该资源对应的页面收益-关联参数*(页面效果指标阈值-该资源对应的页面效果指标)。而且,在上述公式中,yik表示针对第i个流量和第k个资源的贡献得分值,rpmik表示针对资源k的第i个流量的页面收益,α为关联参数,T为点击概率阈值,ctrik表示针对资源k的第i个流量的点击概率。
综上所述,服务器第1次接收到访问请求时,针对资源1,获得资源1对应的rpm11和ctr11,在将rpm11和ctr11代入上述公式后,可以得到资源1对应的y11,也就是资源1对应的贡献得分值。针对资源2,获得资源2对应的rpm12和ctr12,在将rpm12和ctr12代入上述公式后,就可以得到资源2对应的y12,也就是资源2对应的贡献得分值。针对资源3,可以获得资源3对应的rpm13和ctr13,在将rpm13和ctr13代入上述公式后,就可以得到资源3对应的y13,也就是资源3对应的贡献得分值。以此类推,在得到各资源对应的贡献得分值后,可以按照各资源对应的贡献得分值,对各资源进行排序,假设资源3对应的贡献得分值大于资源2对应的贡献得分值,资源2对应的贡献得分值大于资源1对应的贡献得分值,则资源1、资源2、资源3的排序结果可以为:资源3、资源2、资源1。也就是说,服务器第1次接收到访问请求时,排序结果为:资源3、资源2、资源1。
又例如,服务器第2次接收到访问请求时,针对资源1,获得资源1对应的rpm21和ctr21,在将rpm21和ctr21代入上述公式后,得到资源1对应的y21,也就是资源1对应的贡献得分值。针对资源2,获得资源2对应的rpm22和ctr22,在将rpm22和ctr22代入上述公式后,可以得到资源2对应的y22,也就是资源2对应的贡献得分值。针对资源3,获得资源3对应的rpm23和ctr23,在将rpm23和ctr23代入上述公式后,可以得到资源3对应的y23,也就是资源3对应的贡献得分值。以此类推,在得到各资源对应的贡献得分值后,可以按照各资源对应的贡献得分值,对各资源进行排序,假设资源1对应的贡献得分值大于资源2对应的贡献得分值,资源2对应的贡献得分值大于资源3对应的贡献得分值,则资源1、资源2、资源3的排序结果可以为:资源1、资源2、资源3。也就是说,服务器在第2次接收到访问请求时,排序结果可以为:资源1、资源2、资源3。
步骤303,根据排序结果,从多个资源中选择待展示资源和展示顺序。其中,待展示资源可以包括第一类资源和/或第二类资源,如待展示资源可以包括第一类资源和第二类资源,第一类资源是自然结果,第二类资源是广告结果。
例如,当排序结果是广告结果1、自然结果1、广告结果2、广告结果3、自然结果2、自然结果3时,假设选择5个待展示资源,则选择的待展示资源为广告结果1、自然结果1、广告结果2、广告结果3、自然结果2,展示顺序是广告结果1、自然结果1、广告结果2、广告结果3、自然结果2。
步骤304,发送访问响应,该访问响应包括待展示资源和展示顺序。
其中,访问响应是针对上述访问请求的响应,该访问响应可以携带搜索结果。例如,服务器向客户端发送的访问响应包括的待展示资源为广告结果1、自然结果1、广告结果2、广告结果3、自然结果2,且这些待展示资源的顺序依次是广告结果1、自然结果1、广告结果2、广告结果3、自然结果2,因此,客户端在接收到该访问响应后,可以向用户展示广告结果1、自然结果1、广告结果2、广告结果3、自然结果2,在展示页面中,从上到下可以依次是广告结果1、自然结果1、广告结果2、广告结果3、自然结果2。
在一个例子中,上述执行顺序只是为了方便描述所给出的一个示例,还可以改变各步骤之间的执行顺序,对此执行顺序不做限制。而且,在其它实施例中,并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其它实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其它实施例也可能被合并为单个步骤进行描述。
在一个例子中,针对上述公式yik=rpmik-α×(T-ctrik),为了计算出每个资源的贡献得分值yik,则需要先获得每个资源对应的rpmik、ctrik、α和T。
其中,T为点击概率阈值,可以根据需要设置,如0.05等,对此不做限制。
其中,ctrik表示针对资源k的第i个流量的点击概率,可以根据实际经验预测出点击概率,而点击概率预测是广告技术的核心算法之一,点击概率预测是对每个资源的点击情况做出预测,可以判定为点击或不点击,也可以给出点击的概率,如点击概率为0.03、0.05等,对此点击概率的预测方式不做限制。
其中,rpmik表示针对资源k的第i个流量的页面收益,该页面收益与点击概率和每次浏览收益有关。例如,当点击概率为0.03,每次浏览收益为10时,则rpm(表示千次浏览收益)为1000*0.03*10,即300;当点击概率为0.05,每次浏览收益为20时,则rpm为1000*0.05*20,即1000;以此类推。
显然,服务器每次接收到访问请求时,上述T、ctrik、rpmik均可以获取到,这样,只要能够获取到关联参数α,就可以计算出每个资源的贡献得分值yik。其中,关联参数α的获取方式可以包括但不限于:获取预先配置的关联参数,即根据实际经验配置关联参数α,只要关联参数α大于等于0即可。或者,采用离线方式学习到关联参数。或者,采用在线方式动态调整关联参数。
情况一、采用离线方式学习关联参数α,即根据历史访问数据学习关联参数α。例如,通过梯度下降算法求解关联参数α,该关联参数α可以大于等于0。
针对“采用离线方式学习到关联参数”的过程,可以包括:根据历史访问数据、当前的关联参数确定关联参数调整值;通过所述关联参数调整值对当前的关联参数进行调整,得到调整后的关联参数;若调整后的关联参数与当前的关联参数之间的差值不大于预设阈值,则可以将所述调整后的关联参数确定为采用离线方式学习到的关联参数;若调整后的关联参数与当前的关联参数之间的差值大于预设阈值,则可以将调整后的关联参数确定为当前的关联参数,返回执行“根据历史访问数据、当前的关联参数确定关联参数调整值”的步骤。
针对“根据历史访问数据、当前的关联参数确定关联参数调整值”的过程,可以包括但不限于如下方式:针对历史访问数据的每个流量,确定该流量对应的贡献得分值;其中,确定与该流量对应的每个资源的贡献得分值,并从每个资源的贡献得分值中选取最大的贡献得分值,将最大的贡献得分值确定为该流量对应的贡献得分值;对每个流量对应的贡献得分值进行求和处理,得到总贡献得分值;利用所述总贡献得分值和当前的关联参数确定关联参数调整值。
以下结合如下处理流程,对上述情况一的关联参数α学习过程进行说明。
步骤1,设置关联参数α的初始值为α0,step为s0。α0大于0,且s0大于0。
步骤2,在当前的关联参数的基础上,针对历史访问数据的每个流量,确定该流量对应的贡献得分值。在确定该流量对应的贡献得分值的过程中,可以先确定与该流量对应的每个资源的贡献得分值,并从每个资源的贡献得分值中选取最大的贡献得分值,将最大的贡献得分值确定为该流量对应的贡献得分值。
例如,针对流量1,先确定资源1的贡献得分值,如rpm11-α×(T-ctr11),然后,可以确定资源2的贡献得分值,如rpm12-α×(T-ctr12),然后,可以确定资源3的贡献得分值,如rpm13-α×(T-ctr13),以此类推,服务器可以确定出每个资源的贡献得分值。然后,服务器可以从所有资源的贡献得分值中选取最大的贡献得分值,如资源1的贡献得分值rpm11-α×(T-ctr11),并将最大的贡献得分值rpm11-α×(T-ctr11)确定为流量1对应的贡献得分值。
针对流量2,先确定资源1的贡献得分值,如rpm21-α×(T-ctr21),然后,确定资源2的贡献得分值,以此类推,可以确定出每个资源的贡献得分值,从所有资源的贡献得分值中选取最大的贡献得分值,该贡献得分值也就是流量2对应的贡献得分值。以此类推,可以得到每个流量对应的贡献得分值。
步骤3,对每个流量对应的贡献得分值进行求和处理,得到总贡献得分值M;例如,总贡献得分值M=流量1对应的贡献得分值+流量2对应的贡献得分值+流量3对应的贡献得分值+…+流量m对应的贡献得分值,m的数值与历史访问数据有关,即历史访问数据表示共有100个流量时,则m的数值为100。
步骤4、利用总贡献得分值M和当前的关联参数确定关联参数调整值,并通过关联参数调整值对当前的关联参数进行调整。其中,关联参数调整值可以为M(α)表示基于当前的关联参数α得到的总贡献得分值M,/>表示对M(α)进行求导,此外,/>表示对当前的关联参数α进行调整。在通过关联参数调整值对当前的关联参数进行调整的过程中,可以采用如下公式对当前的关联参数进行调整:/>为了区分方便,将当前的关联参数标记为α0,并将调整后的关联参数标记为α1,关联参数调整值中的α表示将当前的关联参数。
步骤5、判断调整后的关联参数与当前的关联参数之间的差值是否不大于预设阈值(根据经验配置)。如果是,则将调整后的关联参数确定为采用离线方式学习到的关联参数,结束流程。如果否,则将调整后的关联参数确定为当前的关联参数,并返回步骤2,即基于调整后的关联参数重新执行步骤2。
情况二、采用在线方式动态调整关联参数α,例如,通过贪心算法动态调整关联参数α,该关联参数α可以大于等于0。针对采用在线方式动态调整关联参数的过程,可以包括:在每次根据资源对应的第一目标值和第二目标值,对多个资源进行排序后,对当前的关联参数进行调整,并将调整后的关联参数确定为当前的关联参数,并使用当前的关联参数执行确定资源的贡献得分值的过程。
以下结合如下处理流程,对上述情况二的关联参数α调整过程进行说明。
步骤1,设置关联参数α的初始值为α0,α0大于等于0,如α0等于0。
步骤2,服务器在第1次接收到访问请求时,基于当前的关联参数α0,以及公式yik=rpmik-α×(T-ctrik),确定出每个资源的贡献得分值,并根据每个资源的贡献得分值对每个资源进行排序,具体排序方式参见步骤302,不再赘述。
步骤3,对当前的关联参数α0进行调整,得到调整后的α1。如可以采用如下公式对当前的关联参数α0进行调整:α1=α0+f(T,ctrik)。其中,f(T,ctrik)表示与T、ctrik有关的函数,对此函数不做限制,最终目的是,当T与ctrik之间的差值越大时,f(T,ctrik)越大,当T与ctrik之间的差值越小时,f(T,ctrik)越小。
步骤4,服务器在第2次接收到访问请求时,基于当前的关联参数α1,以及公式yik=rpmik-α×(T-ctrik),确定出每个资源的贡献得分值,并根据每个资源的贡献得分值对每个资源进行排序,具体排序方式参见步骤302,不再赘述。
步骤5,对当前的关联参数α1进行调整,得到调整后的α2。具体调整方式参见步骤3,在此不再赘述。服务器每次接收到访问请求时,就利用最新的关联参数进行排序,以此类推,后续不再赘述,这样,不断对关联参数进行动态调整。
基于上述技术方案,本申请实施例中,可以对所有资源(如自然结果和广告结果)进行统计排序,对自然结果和广告结果进行动态分配,从而在搜索平台的收益与用户体验之间寻找到平衡点,并达到广告收益与页面整体效果最优的目的,提升页面的用户体验以及广告收益。由于将原始问题转化为对偶问题进行求解,因此,计算复杂度低,对性能影响小。
基于与上述方法同样的构思,本申请实施例中还提出一种资源展示方法,参见图4所示,为该资源展示方法的流程图,资源展示方法可以应用于服务器。
步骤401,在接收到访问请求后,获取与所述访问请求对应的多个资源;其中,获取到的资源包括:自然结果和广告结果。
步骤402,根据资源对应的页面效果指标和页面收益,对多个资源进行排序。
步骤403,根据排序结果,从多个资源中选择待展示资源和展示顺序。
步骤404,发送访问响应,所述访问响应包括所述待展示资源和展示顺序。
在一个例子中,针对步骤402,针对“根据资源对应的页面效果指标和页面收益,对多个资源进行排序”的过程,可以包括但不限于如下方式:方式一、根据页面效果指标阈值、资源对应的页面效果指标和页面收益,对所述多个资源进行排序;其中,当资源对应的页面效果指标满足页面效果指标阈值的约束条件时,若该资源对应的页面收益越大,则该资源的排序结果越靠前;或者,方式二、根据页面效果指标阈值、关联参数、资源对应的页面效果指标和页面收益,确定每个资源的贡献得分值;根据每个资源的贡献得分值对所述多个资源进行排序;其中,当资源的贡献得分值越大时,则该资源的排序结果越靠前。
在一个例子中,在方式二中,针对“根据页面效果指标阈值、关联参数、资源对应的页面效果指标和页面收益,确定资源的贡献得分值”的过程,可以包括但不限于如下方式:确定该资源对应的贡献得分值可以为:该资源对应的页面收益-关联参数*(页面效果指标阈值-该资源对应的页面效果指标)。
基于上述技术方案,本申请实施例中,可以对所有资源(如自然结果和广告结果)进行统计排序,对自然结果和广告结果进行动态分配,从而在搜索平台的收益与用户体验之间寻找到平衡点,并达到广告收益与页面整体效果最优的目的,提升页面的用户体验以及广告收益。
基于与上述方法同样的申请构思,本申请实施例还提供一种资源展示装置,该资源展示装置可以应用在服务器。如图5所示,为资源展示装置的结构图。
获取模块501,用于在接收到访问请求后,获取与访问请求对应的多个资源;其中,所述多个资源包括第一类资源和第二类资源,所述第一类资源包括自然结果,所述第二类资源包括广告结果;排序模块502,用于根据资源对应的第一目标值和第二目标值,对所述多个资源进行排序,并根据排序结果,从所述多个资源中选择待展示资源和展示顺序;发送模块503,用于发送访问响应,所述访问响应包括待展示资源和展示顺序。
在一个例子中,所述排序模块502,具体用于在根据资源对应的第一目标值和第二目标值,对所述多个资源进行排序的过程中,根据页面效果指标阈值、资源对应的第一目标值和第二目标值,对所述多个资源进行排序;其中,当资源对应的第一目标值满足所述页面效果指标阈值的约束条件时,若资源对应的第二目标值越大,则所述资源的排序结果越靠前;
或者,根据页面效果指标阈值、关联参数、资源对应的第一目标值和第二目标值,确定所述资源的贡献得分值;根据资源的贡献得分值,对所述多个资源进行排序;其中,当资源的贡献得分值越大时,所述资源的排序结果越靠前。
在一个例子中,所述排序模块502,具体用于在根据页面效果指标阈值、关联参数、资源对应的第一目标值和第二目标值,确定所述资源的贡献得分值的过程中,则确定所述资源对应的贡献得分值具体为:所述资源对应的第二目标值-所述关联参数*(所述页面效果指标阈值-所述资源对应的第一目标值)。
在一个例子中,所述排序模块502,还用于获取预先配置的关联参数;或者,采用离线方式学习到关联参数;或者,采用在线方式动态调整关联参数。
所述排序模块502,具体用于在采用离线方式学习到关联参数的过程中,根据历史访问数据、当前的关联参数确定关联参数调整值;通过关联参数调整值对当前的关联参数进行调整,得到调整后的关联参数;若调整后的关联参数与当前的关联参数之间的差值不大于预设阈值,则将所述调整后的关联参数确定为采用离线方式学习到的关联参数;若调整后的关联参数与当前的关联参数之间的差值大于预设阈值,则将调整后的关联参数确定为当前的关联参数;
所述排序模块502,具体用于在根据历史访问数据、当前的关联参数确定关联参数调整值的过程中,针对历史访问数据的每个流量,确定该流量对应的贡献得分值;其中,确定与该流量对应的每个资源的贡献得分值,并从每个资源的贡献得分值中选取最大的贡献得分值,将最大的贡献得分值确定为该流量对应的贡献得分值;对每个流量对应的贡献得分值进行求和处理,得到总贡献得分值;利用所述总贡献得分值和当前的关联参数确定关联参数调整值;
所述排序模块502,具体用于在采用在线方式动态调整关联参数的过程中,在每次根据资源对应的第一目标值和第二目标值,对所述多个资源进行排序之后,对当前的关联参数进行调整,并将调整后的关联参数确定为当前的关联参数,并使用当前的关联参数执行确定资源的贡献得分值的过程。
在上述实施例中,所述第一目标值包括:所述资源对应的页面效果指标;所述页面效果指标包括以下之一或任意组合:点击概率、询盘转化率、订单转化率、交易总额;所述第二目标值包括:所述资源对应的页面收益。
所述待展示资源包括:第一类资源和/或第二类资源;所述第一类资源是不含有广告的自然结果;所述第二类资源是含有广告的广告结果。
参见图6所示,为本申请实施例中提出的另一种资源展示装置的结构图。
获取模块601,用于在接收到访问请求后,获取与所述访问请求对应的多个资源;其中,获取到的资源包括:自然结果和广告结果;排序模块602,用于根据资源对应的页面效果指标和页面收益,对所述多个资源进行排序,并根据排序结果,从所述多个资源中选择待展示资源和展示顺序;发送模块603,用于发送访问响应,所述访问响应包括待展示资源和展示顺序。
在一个例子中,所述排序模块602,具体用于在根据资源对应的页面效果指标和页面收益,对所述多个资源进行排序的过程中,根据页面效果指标阈值、资源对应的页面效果指标和页面收益,对所述多个资源进行排序;其中,当资源对应的页面效果指标满足所述页面效果指标阈值的约束条件时,若资源对应的页面收益越大,则所述资源的排序结果越靠前;
或者,根据页面效果指标阈值、关联参数、资源对应的页面效果指标和页面收益,确定所述资源的贡献得分值;根据资源的贡献得分值对所述多个资源进行排序;其中,当资源的贡献得分值越大时,则所述资源的排序结果越靠前。
在一个例子中,所述排序模块602,具体用于在根据页面效果指标阈值、关联参数、资源对应的页面效果指标和页面收益,确定所述资源的贡献得分值的过程中,则确定所述资源对应的贡献得分值具体为:所述资源对应的页面收益-所述关联参数*(所述页面效果指标阈值-所述资源对应的页面效果指标)。
基于与上述方法同样的申请构思,本申请实施例还提供了一种服务器,所述服务器可以包括:接收器,用于接收访问请求;处理器,用于在接收到访问请求后,获取与访问请求对应的多个资源,并根据资源对应的第一目标值和第二目标值,对所述多个资源进行排序;根据排序结果,从所述多个资源中选择待展示资源和展示顺序;其中,所述多个资源包括第一类资源和第二类资源,所述第一类资源包括自然结果,所述第二类资源包括广告结果;发射器,用于发送访问响应,所述访问响应包括待展示资源和展示顺序。
基于与上述方法同样的申请构思,本申请实施例还提供一种机器可读存储介质,该机器可读存储介质可以应用于服务器,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被执行时进行如下处理:接收访问请求;获取与访问请求对应的多个资源,并根据资源对应的第一目标值和第二目标值,对所述多个资源进行排序;根据排序结果,从所述多个资源中选择待展示资源和展示顺序;发送访问响应,所述访问响应包括待展示资源和展示顺序。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。