一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

个性化推荐方法、装置、设备及存储介质与流程

2022-07-30 14:34:47 来源:中国专利 TAG:


1.本发明涉及大数据处理技术领域,尤其涉及一种个性化推荐方法、装置、设备及存储介质。


背景技术:

2.短视频feed流(也称瀑布流)是一种常见的个性化推荐产品形态,通常包括沉浸式全屏feed、单排feed、双排feed等。利用推荐系统为用户推荐可能感兴趣的内容是短视频产品的核心功能。当前的瀑布流产品形态中,用户通过刷新页面的方式获取新内容。
3.为了保证给用户推荐内容的多样性,避免用户的“审美疲劳”和推荐系统的“信息茧房”,现有的个性化推荐方法是基于候选内容标签进行多样性排序的,该方式存在的问题是,虽然可以实现内容展示多样性,但随着用户不停的刷新页面,看到的同质内容依然很多,存在用户偏好内容曝光过多的问题,容易降低用户的体验感。


技术实现要素:

4.本发明的主要目的在于:提供一种个性化推荐方法、装置、设备及存储介质,旨在解决现有技术中个性化推荐方法存在用户偏好内容曝光过多的技术问题。
5.为实现上述目的,本发明采用如下技术方案:
6.第一方面,本发明提供了一种个性化推荐方法,应用于服务器,所述方法包括:
7.获取待推荐内容和所述待推荐内容的类型以及学习率参数;
8.根据所述待推荐内容的类型和所述学习率参数,得到各个类型的点击率加权值;
9.根据所述各个类型的点击率加权值,对各个类型的预估点击率进行加权处理,得到各个类型的加权点击率;
10.根据所述各个类型的加权点击率,对所述待推荐内容进行排序,得到所述待推荐内容的推荐顺序。
11.可选地,上述个性化推荐方法中,所述获取待推荐内容和所述待推荐内容的类型的步骤包括:
12.获取瀑布流产品形态;
13.确定所述瀑布流产品形态对应的展示内容数量;
14.根据所述展示内容数量,确定预加载内容数量;
15.根据所述预加载内容数量,对候选内容中的已曝光内容进行过滤,得到待推荐内容及所述待推荐内容的类型。
16.可选地,上述个性化推荐方法中,所述根据所述展示内容数量,确定预加载内容数量的步骤包括:
17.根据所述展示内容数量,利用第一计算式,确定预加载内容数量;其中,第一计算式为:
[0018][0019]
其中,req_num表示预加载内容数量,v_num表示展示内容数量。
[0020]
可选地,上述个性化推荐方法中,所述获取学习率参数的步骤包括:
[0021]
根据所述预加载内容数量,利用第二计算式,确定学习率参数;其中,所述第二计算式为:
[0022]
α=1-λ
×
req_num,
[0023]
其中,α表示学习率参数,λ表示经验值常数,req_num表示预加载内容数量。
[0024]
可选地,上述个性化推荐方法中,所述根据所述待推荐内容的类型和所述学习率参数,得到各个类型的点击率加权值的步骤之前,所述方法还包括:
[0025]
获取用户的当前访问步数t;
[0026]
所述根据所述待推荐内容的类型和所述学习率参数,得到各个类型的点击率加权值的步骤包括:
[0027]
当所述t=1时,初始化各个类型的点击率加权值b(tag)为1;
[0028]
当所述t>1时,利用第三计算式,更新各个类型的点击率加权值b(tag);其中,所述第三计算式为:
[0029]
b(tag)=(1-α)
·
b(tag) α(t-a(tag)),
[0030]
其中,b(tag)表示类型tag的点击率加权值,α表示学习率参数,a(tag)表示类型tag上一次被曝光给所述用户时所对应的访问步数。
[0031]
可选地,上述个性化推荐方法中,所述根据所述各个类型的点击率加权值,对各个类型的预估点击率进行加权处理,得到各个类型的加权点击率的步骤包括:
[0032]
利用第四计算式,对所述各个类型的点击率加权值进行归一化处理,得到各个类型的归一化点击率加权值;其中,所述第四计算式为:
[0033][0034]
其中,be(tag)表示类型tag的归一化点击率加权值,b(tag)表示类型tag的点击率加权值,{bn(tag)}表示所有类型的点击率加权值,max({bn(tag)})表示所有类型的点击率加权值中的最大点击率加权值,n表示类型数量;
[0035]
根据所述各个类型的归一化点击率加权值,对各个类型的预估点击率进行加权处理,得到各个类型的加权点击率。
[0036]
可选地,上述个性化推荐方法中,所述根据所述各个类型的点击率加权值,对各个类型的预估点击率进行加权处理,得到各个类型的加权点击率的步骤之前,所述方法还包括:
[0037]
将所述待推荐内容输入训练获得的点击率预测模型,得到各个类型的预估点击率。
[0038]
第二方面,本发明提供了一种个性化推荐装置,所述装置包括:
[0039]
数据获取模块,用于获取待推荐内容和所述待推荐内容的类型以及学习率参数;
[0040]
点击率权值获取模块,用于根据所述待推荐内容的类型和所述学习率参数,得到
各个类型的点击率加权值;
[0041]
点击率加权处理模块,用于根据所述各个类型的点击率加权值,对各个类型的预估点击率进行加权处理,得到各个类型的加权点击率;
[0042]
排序模块,用于根据所述各个类型的加权点击率,对所述待推荐内容进行排序,得到所述待推荐内容的推荐顺序。
[0043]
第三方面,本发明提供了一种个性化推荐设备,所述设备包括:
[0044]
处理器和存储器,所述存储器上存储有个性化推荐程序,所述个性化推荐程序被所述处理器执行时,实现如上述的个性化推荐方法。
[0045]
第四方面,本发明提供了一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被一个或多个处理器执行时,实现如上述的个性化推荐方法。
[0046]
本发明提供的上述一个或多个技术方案,可以具有如下优点或至少实现了如下技术效果:
[0047]
本发明提出的一种个性化推荐方法、装置、设备及存储介质,通过获取待推荐内容和待推荐内容的类型以及学习率参数,然后根据待推荐内容的类型和学习率参数计算各个类型的点击率加权值;再根据各个类型的点击率加权值,对各个类型的预估点击率进行加权处理,得到各个类型的加权点击率;最后根据各个类型的加权点击率,对待推荐内容进行排序,得到待推荐内容的推荐顺序,实现了内容展示多样化的目的。本发明通过动态调整点击率来对个性化推荐方法中的待推荐内容进行排序,避免过多推荐用户偏好的同质内容,提升了个性化推荐的内容多样性,提高了用户体验感。本发明可以用于各种瀑布流的个性化推荐产品形态,还可以在现有基于待推荐内容的点击率预测技术的基础上进行改进。
附图说明
[0048]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的这些附图获得其他的附图。
[0049]
图1为现有技术中短视频feed流示例;
[0050]
图2为现有技术中个性化推荐方法进行排序的前后对比示例;
[0051]
图3为本发明个性化推荐方法第一实施例的流程示意图;
[0052]
图4为本发明涉及的个性化推荐设备的硬件结构示意图;
[0053]
图5为本发明个性化推荐装置第一实施例的功能模块示意图。
[0054]
本发明目的的实现、功能特点及优点将结合实施例和附图做进一步说明。
具体实施方式
[0055]
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例只是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0056]
需要说明,在本发明中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他
性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。另外,在本发明中,若有涉及“第一”、“第二”等的描述,则该“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。
[0057]
在本发明中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。另外,各个实施例的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时,应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
[0058]
短视频feed流(也称瀑布流)是一种常见的个性化推荐产品形态,通常包括沉浸式全屏feed、单排feed、双排feed等,如图1所示为短视频feed流示例,图1(a)为沉浸式全屏feed,图1(b)为单排feed,图1(c)为双排feed。
[0059]
对现有技术的分析发现,利用推荐系统为用户推荐可能感兴趣的内容是短视频产品的核心功能。当前的瀑布流产品形态中,用户通过刷新页面(下拉或上拉,左滑或右滑)的方式获取新内容。现有的个性化推荐方法是,用户通过客户端发起推荐请求,推荐服务器解析用户请求,召回候选内容,获取用户和候选内容的特征,并输入点击率预测模型进行预测,根据预测得到的点击率对候选内容从高到低进行排序,再根据候选内容标签对内容进行多样性重排序,基于页面展示需求,给客户端返回预设的前几个内容。可以看出,排序是个性化推荐方法的关键环节,为了保证给用户推荐内容的多样性,避免用户的“审美疲劳”和推荐系统的“信息茧房”,现有常用的方法是基于候选内容标签进行多样性重排序。如图2所示为现有技术进行重排序的前后对比示例,如图2中左侧所示为经过推荐系统中点击率预测模型的排序环节后得到的序列,可以看出,用户感兴趣的候选内容会集中在靠前的位置。为了保证给用户展示的内容“不扎堆”,会使用候选内容标签进行重排序,假设重排间隔为1,对图2中左侧的候选内容进行重排序,得到的重排序结果如图2中右侧所示。虽然经过上述的重排方案可以实现内容展示多样性,但随着用户不停的刷新页面,看到的同质内容依然很多。比如图2中,用户喜欢军事内容,通过召回排序都会获得较多的军事内容。经过基于内容标签的打散重排序,虽然可以一定程度上保证内容的多样性,但是每次刷新页面,军事的内容仍存在而且还很多。这样会给用户一种我喜欢军事,就给我一直推荐军事内容的体验。显然仅仅通过基于内容标签进行重排序的方式,并不能解决用户偏好内容曝光过多的问题,容易降低用户的体验感。因此,在内容标签重排序的时候,还应当考虑到用户已经曝光内容的情况。
[0060]
鉴于现有技术中个性化推荐方法存在用户偏好内容曝光过多的技术问题,本发明提供了一种个性化推荐方法,总体思路如下:
[0061]
获取待推荐内容和待推荐内容的类型以及学习率参数;根据待推荐内容的类型和学习率参数,得到各个类型的点击率加权值;根据各个类型的点击率加权值,对各个类型的
预估点击率进行加权处理,得到各个类型的加权点击率;根据各个类型的加权点击率,对待推荐内容进行排序,得到待推荐内容的推荐顺序。
[0062]
通过上述技术方案,实现了内容展示多样化的目的。本发明通过动态调整点击率来对个性化推荐方法中的待推荐内容进行排序,避免过多推荐用户偏好的同质内容,提升了个性化推荐的内容多样性,提高了用户体验感。本发明可以用于各种瀑布流的个性化推荐产品形态,还可以在现有基于待推荐内容的点击率预测技术的基础上进行改进。
[0063]
下面结合附图,通过具体的实施例和实施方式对本发明提供的个性化推荐方法、装置、设备及存储介质进行详细说明。
[0064]
实施例一
[0065]
参照图3的流程示意图,提出本发明个性化推荐方法的第一实施例,该个性化推荐方法可应用于个性化推荐系统,其中,个性化推荐系统可以承载于单端执行的终端设备上,该终端设备即为个性化推荐设备,也可以承载于两端或多端执行的包含至少一个客户端和至少一个服务器的系统上,其中,客户端与服务器连接,该系统即为个性化推荐设备。
[0066]
本实施例中,以应用于两端执行的个性化推荐设备为例进行说明,具体应用于个性化推荐设备的服务器。该服务器可通过网络与客户端通讯连接。所述服务器是指能够实现网络连接的网络设备,可以是服务器、云平台等网络设备,所述客户端是指能够实现网络连接的终端设备,可以是手机、电脑、平板电脑、便携计算机等终端设备。
[0067]
如图4所示,为个性化推荐设备的硬件结构示意图。当该个性化推荐设备为单端执行的终端设备时,图4可以为该终端设备的硬件结构示意图;当该个性化推荐设备为两端执行的系统时,图4可以为该系统中服务器的硬件结构示意图,所述服务器可以包括:处理器1001,例如cpu(central processing unit,中央处理器),通信总线1002,用户接口1003,网络接口1004,存储器1005。
[0068]
本领域技术人员可以理解,图4中示出的硬件结构并不构成对本发明个性化推荐设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0069]
具体的,通信总线1002用于实现这些组件之间的连接通信;用户接口1003用于连接用户设备,与用户设备进行数据通信,用户接口1003可以包括输出单元,如显示屏、输入单元,如键盘;网络接口1004用于连接后台服务器,与后台服务器进行数据通信,网络接口1004可以包括输入/输出接口,比如标准的有线接口、无线接口,如wi-fi接口;
[0070]
存储器1005用于存储各种类型的数据,这些数据例如可以包括该服务器中任何应用程序或方法的指令,以及应用程序相关的数据,存储器1005可以是高速ram存储器,也可以是稳定的存储器,例如磁盘存储器,可选的,存储器1005还可以是独立于所述处理器1001的存储装置;
[0071]
具体的,继续参照图2,存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及个性化推荐程序,其中,网络通信模块主要用于连接客户端,与客户端进行数据通信;
[0072]
处理器1001用于调用存储器1005中存储的个性化推荐程序,并执行以下操作:
[0073]
获取待推荐内容和所述待推荐内容的类型以及学习率参数;
[0074]
根据所述待推荐内容的类型和所述学习率参数,得到各个类型的点击率加权值;
[0075]
根据所述各个类型的点击率加权值,对各个类型的预估点击率进行加权处理,得到各个类型的加权点击率;
[0076]
根据所述各个类型的加权点击率,对所述待推荐内容进行排序,得到所述待推荐内容的推荐顺序。
[0077]
基于上述的服务器,下面结合图3所示的流程示意图,对本实施例的个性化推荐方法进行详细描述。所述方法可以包括以下步骤:
[0078]
步骤s100:获取待推荐内容和所述待推荐内容的类型以及学习率参数。
[0079]
具体的,服务器获取待推荐内容,并获取该待推荐内容对应的类型,可以具体获取每个待推荐内容的类型,也可以根据每个待推荐内容的类型,得到所有类型,以便后续使用,同时,可以直接获取预设的学习率参数,也可以根据服务器以及与服务器连接的客户端的特性,得到具体可加载的内容数量,从而计算得到学习率参数。
[0080]
具体的,步骤s100可以包括:
[0081]
步骤s110:获取瀑布流产品形态。
[0082]
瀑布流产品形态可以有沉浸式瀑布流、单排瀑布流和双排瀑布流等等,具体的瀑布流产品形态可以根据实际需要设定。
[0083]
步骤s120:确定所述瀑布流产品形态对应的展示内容数量。
[0084]
获取到瀑布流产品形态后,对应确定该瀑布流产品形态下个性化推荐设备能展示的推荐内容数量v_num。比如,基于图1所示的示例,沉浸式瀑布流对应的展示内容数量v_num=1,单排瀑布流对应的展示内容数量v_num=3,双排瀑布流对应的展示内容数量v_num=8。
[0085]
具体的,服务器可以接收客户端发送的用户访问请求;所述用户访问请求包括所述客户端的瀑布流产品形态和对应的展示内容数量。本实施例中,具体为,客户端根据用户操作,生成相应的用户访问请求,该用户访问请求可以是针对每一次或每几次滑动生成,也可以间隔预设时间生成,还可以根据客户端已显示推荐内容生成。客户端将该用户访问请求发送至服务器,服务器对应接收用户访问请求。其中,用户访问请求包括客户端的瀑布流产品形态,客户端在该瀑布流产品形态下的展示内容数量。服务器接收用户访问请求后,对其进行解析,即可得到客户端的瀑布流产品形态;还可得到瀑布流产品形态下对应的展示内容数量v_num,具体为客户端在一屏下能展示的推荐内容数量。
[0086]
步骤s130:根据所述展示内容数量,确定预加载内容数量。
[0087]
具体的,根据所述展示内容数量,利用第一计算式,确定预加载内容数量;其中,第一计算式为:
[0088][0089]
其中,req_num表示预加载内容数量,v_num表示展示内容数量,log以10为底。
[0090]
预加载内容数量需要根据客户端的展示内容数量确定一个合理的值,因为,如果预加载内容数量太小,会导致客户端为了满足展示要求而频繁向服务器发送用户访问请求,频繁请求获取推荐内容,这样会导致服务器的压力增大,同时,用户体验也会不够流畅;但如果预加载内容数量太大,又会导致过多的预加载内容无法展示给用户,形成“浪费”。
[0091]
因此,本实施例利用第一计算式来对应计算预加载内容数量req_num。通过以上计算式,可以获得客户端一次请求需要预加载的视频数量。比如,沉浸式瀑布流的展示内容数量v_num=1,对应可计算得到预加载内容数量req_num=4;单排瀑布流的展示内容数量v_num=3,对应可计算得到预加载内容数量req_num=6;双排瀑布流的展示内容数量v_num=8,对应可计算得到预加载内容数量req_num=16。
[0092]
步骤s140:根据所述预加载内容数量,对候选内容中的已曝光内容进行过滤,得到待推荐内容及所述待推荐内容的类型。
[0093]
具体的,服务器根据数据库召回候选内容,然后对候选内容进行筛选,过滤掉其中已曝光的内容,防止推荐重复内容,影响用户体现。然后将过滤后的候选内容中,根据计算得到的预加载内容数量,确定对应数量的候选内容,作为待推荐内容。比如,本实施例中,沉浸式瀑布流对应的待推荐内容数量可以为4个,单排瀑布流对应的待推荐内容数量可以为6个,双排瀑布流对应的待推荐内容数量可以为16个,在实际设置中,还可以根据实际需要另外设定待推荐内容的数量与预加载内容数量的关系。
[0094]
定义待推荐内容的类型唯一标识为tag,可以得到待推荐内容中的所有类型{tagn},其中,n表示待推荐内容中的类型数量,比如,类型的枚举可以是“军事”,“娱乐”,“财经”,“动漫”等。
[0095]
步骤s140:根据所述预加载内容数量,确定学习率参数。
[0096]
具体的,根据所述预加载内容数量,利用第二计算式,确定学习率参数;其中,所述第二计算式为:
[0097]
α=1-λ
×
req_num,
[0098]
其中,α表示学习率参数,λ表示经验值常数,req_num表示预加载内容数量。
[0099]
具体的,学习率可以直接预设,也可以根据上述计算式进行计算,其取值范围为0到1之间的浮点数。学习率α的大小直接决定后续点击率加权值b(tag)的变化速率,同时影响客户端后续发送的用户访问请求中是否可以持续看到相同类型的内容。比如,给用户推荐军事内容,对应类型的点击率加权值b(tag)衰减越快,后续的预加载中,越不容易再次出现军事内容。不同学习率下,点击率加权值b(tag)的变化速率如表1所示,
[0100]
表1
[0101]
[0102][0103]
根据表1可以看出,学习率为0.2时,点击率加权值b(tag)的衰减较慢,学习率为0.8时,点击率加权值b(tag)的衰减较快,因此,学习率的变化直接影响点击率加权值b(tag)的衰减速率,不同的衰减速率在不同的内容预加载条件下用户体验的表现差异很大。
[0104]
当预加载内容较多时,服务器被访问频次减少,b(tag)更新频次减少。如果学习率设置过高,会导致b(tag)衰减过快,用户在第二次预加载内容的情况下,无该类型内容可推,此时用户在较长的预加载内容中都看不到该类型内容。因此,这种情况下,比较适合较小的学习率。
[0105]
当预加载内容较少时,服务器被访问频次增大,b(tag)更新频次增大。如果学习率设置过低,会导致b(tag)衰减过慢,后续预加载内容中,依然会有大量的同类内容被推荐出来,这样解决不了兴趣内容曝光过多的问题。因此这种情况下,比较适合较大的学习率。
[0106]
本实施例中,根据上述举例,可以看出,预加载内容数量req_num与学习率α是成反比的关系。根据实际经验调参可对应设置经验值常数λ,比如,本实施例中,设置λ=0.04,对应的,基于预加载内容数量req_num与学习率α之间的关系成反比,可以获得具体的计算式为:
[0107]
α=1-0.04
×
req_num,
[0108]
再结合上述计算得到的预加载内容数量req_num,便可确定学习率参数。
[0109]
步骤s200:根据所述待推荐内容的类型和所述学习率参数,得到各个类型的点击率加权值。
[0110]
具体的,步骤s200之前,方法还可以包括:
[0111]
步骤s150:获取用户的当前访问步数t。
[0112]
可以将用户的每一次滑动或每几次滑动记为一次访问,也可以将间隔预设时间自
动记为一次访问,还可以针对已显示推荐内容的数量和显示时间对应标记访问,比如,显示预设条数的待推荐内容且其中一个或多个待推荐内容的显示时间达到某个阈值,对应记为一次访问。
[0113]
本实施例中,当前访问步数t为用户对个性化推荐设备的当前访问步数,具体为客户端对服务器的当前访问步数,用户访问请求基于用户在客户端的操作对应生成,在服务器接收客户端发送的用户访问请求时,可以对应获取该用户访问请求所对应的访问步数,即为用户的当前访问步数t。
[0114]
步骤s200可以包括:
[0115]
步骤s210:当所述当前访问步数t=1时,初始化各个类型的点击率加权值b(tag)为1。
[0116]
客户端第一次发起用户访问请求时,对每个类型的点击率加权值b(tag)进行初始化,初始化值为1。
[0117]
步骤s220:当所述当前访问步数t>1时,利用第三计算式,更新各个类型的点击率加权值b(tag);其中,所述第三计算式为:
[0118]
b(tag)=(1-α)
·
b(tag) α(t-a(tag)),
[0119]
其中,b(tag)表示类型tag的点击率加权值,α表示学习率参数,a(tag)表示类型tag上一次被曝光给所述用户时所对应的访问步数。
[0120]
在客户端的后续发起用户访问请求时,也就是非第一次的情况下,当仅类型tag曝光给用户时,对应的b(tag)才会被更新,并以第三计算式进行更新。需要说明,只有上一次被真实曝光的内容类型才进行a(tag)、b(tag)的更新,否则只进行b(tag)的计算和比较。这样做的原因是,未被曝光的内容类型会积累步数差(t-a(tag)),从而在一次b(tag)计算中获得更大的更新量。
[0121]
从第三计算式中可以看出,如果tag多步数未被曝光,那么t-a(tag)的差会增大,b(tag)会随之增大,此时利用b(tag)对预估点击率进行加权,可使tag对应的内容排序靠前而推荐给用户,反之如果tag频繁被曝光,那么b(tag)在每一步更新中都会衰减,tag对应的内容会因为加权后的预估点击率排序靠后而不推荐给用户。
[0122]
服务器计算得到各个类型的点击率加权值b(tag),可以得到所有类型的点击率加权值{b(tag)n},以备后续计算使用。
[0123]
步骤s300:根据所述各个类型的点击率加权值,对各个类型的预估点击率进行加权处理,得到各个类型的加权点击率。
[0124]
具体的,步骤s300可以包括:
[0125]
步骤s310:对所述各个类型的点击率加权值进行归一化处理,得到各个类型的归一化点击率加权值。
[0126]
具体的,利用第四计算式,对所述各个类型的点击率加权值进行归一化处理,得到各个类型的归一化点击率加权值;其中,所述第四计算式为:
[0127][0128]
其中,be(tag)表示类型tag的归一化点击率加权值,b(tag)表示类型tag的点击率加权值,{bn(tag)}表示所有类型的点击率加权值,max({bn(tag)})表示所有类型的点击率
加权值中的最大点击率加权值,n表示类型数量。
[0129]
为保证每次预估点击率加权的权重在0到1之间,在得到各个类型的点击率加权值b(tag)后,可以根据第四计算式对点击率加权值b(tag)进行归一化操作,得到各个类型的归一化点击率加权值be(tag)。
[0130]
步骤s320:根据所述各个类型的归一化点击率加权值,对各个类型的预估点击率进行加权处理,得到各个类型的加权点击率。
[0131]
其中,加权处理的计算式为:
[0132]
pbctr=be(tag)
×
pctr,
[0133]
其中,pbctr表示类型tag的加权点击率,pctr表示类型tag的预估点击率。
[0134]
在步骤s320之前,方法还可以包括:
[0135]
步骤s330:将所述待推荐内容输入训练获得的点击率预测模型,得到各个类型的预估点击率。
[0136]
在服务器获取到待推荐内容后,将这些待推荐内容输入训练获得的点击率预测模型中,输出待推荐内容中各个类型的预估点击率。需要说明,根据训练数据训练得到点击率预测模型的步骤属于现有技术,此处不再赘述,此处直接调用已经训练好的点击率预测模型即可得到待推荐内容中各个类型的预估点击率。
[0137]
然后,根据步骤s310得到的各个类型的归一化点击率加权值,对各个类型的预估点击率进行加权处理,具体将各个类型的预估点击率与各自的归一化点击率加权值相乘,得到对应各个类型的加权点击率。
[0138]
步骤s400:根据所述各个类型的加权点击率,对所述待推荐内容进行排序,得到所述待推荐内容的推荐顺序。
[0139]
在得到各个类型的加权点击率后,可以对待推荐内容进行排序或重排序,将加权点击率高的内容曝光展示给用户。需要说明,排序是针对待推荐内容中所有内容均为相同等级,无先后顺序的情况,此处则可以根据各个类型的加权点击率,对这些待推荐内容进行排序。重排序是针对待推荐内容中的所有内容已经进行过一次排序,如步骤s140获取待推荐内容时设置待推荐内容的排序或本身已按照其他程序具有先后顺序的情况,如获取候选内容时直接获取具有顺序排列的候选内容,再按步骤s140进行过滤来得到待推荐内容,此处则可以根据各个类型的加权点击率,对这些待推荐内容进行重排序。对应地,即得到待推荐内容的推荐顺序。因此,推荐顺序可以是对待推荐内容进行排序后得到的一种顺序,也可以是对待推荐内容进行重排序后得到的另一顺序。
[0140]
步骤s500:根据所述推荐顺序,对所述待推荐内容进行展示。
[0141]
具体的,在得到待推荐内容的推荐顺序后,可以直接对待推荐内容进行排序处理,依次进行展示或基于用户操作进行展示,也可以由服务器根据推荐顺序,对待推荐内容进行排序处理,然后将排序后的待推荐内容发送至所述客户端,以通过所述客户端进行展示。
[0142]
在服务器得到按推荐顺序进行排序后的待推荐内容后,可以将排序后的待推荐内容发送给客户端,客户端对应接收推荐内容,以预加载完成的形式,根据用户的操作依次展示给用户。服务器发送待推荐内容给客户端时,可以将待推荐内容全部发送给客户端,此时,待推荐内容的数量与客户端的瀑布流产品形态对应的预加载内容数量一致,比如,沉浸式瀑布流对应的待推荐内容的数量为4,单排瀑布流对应的待推荐内容的数量为6,双排瀑
布流对应的待推荐内容的数量为16;还可以根据用户访问请求中携带的瀑布流产品形态和对应的展示内容数量,筛选topn个内容发送给客户端,比如,沉浸式瀑布流对应的展示内容数量为1,待推荐内容的数量为4,可以仅对应发送top1个内容给客户端,单排瀑布流对应的展示内容数量为3,待推荐内容的数量为6,可以仅对应发送top3个内容给客户端,双排瀑布流对应的展示内容数量为8,待推荐内容的数量为16,可以仅对应发送top8个内容给客户端。
[0143]
由于实际使用中,用户在客户端发起的用户访问请求不止一个,因此,该方法在实际执行时,需要循环执行。针对本实施例的情况,假设用户在短时间内多次访问,即客户端多次发送用户访问请求,按照上述步骤s100~s500实现动态调整点击率加权值以及加权点击率的过程具体为:当某个类型的内容曝光次数较多时,步骤s200得到的该类型的点击率加权值be(tag)会对应衰减,步骤s300得到的该类型的加权点击率pbctr就会对应变小,该类型的排序会靠后,对应地,该类型的内容曝光次数变少,在后续循环时,可以是服务器接收的客户端发送的下一个或下几个访问请求时,步骤s200再次得到的该类型的点击率加权值be(tag)会提升,步骤s300得到的该类型的加权点击率pbctr变大,该类型的排序变为靠前,此时可继续对该类型的内容进行曝光,直到内容曝光次数较多时,又变小。按照该过程,即某类型的内容循环地被“降权”和“加权”,该类型的内容不会一直呈曝光状态,而是按照曝光次数变多——变少——变多地循环展示给用户,可以让用户在体验到个性化推荐内容的同时,不会过于频繁地接收相同类型的内容,保证内容多样性,体验更好。
[0144]
为了更明确地体现本发明个性化推荐方法的技术效果,针对本实施例的情况,下面进行两个对比试验:
[0145]
假设某短视频平台只有军事和娱乐两种类型的短视频,也就是说待推荐内容的类型仅包括军事和娱乐,对应地,再假设用户偏好军事内容,客户端向服务器请求8次,并将学习率参数设定为0.8,以上述设定分别进行两组对比试验:
[0146]
试验一、直接以各个类型的预估点击率对待推荐内容进行排序。也就是将步骤s100的待推荐内容直接输入训练获得的点击率预测模型得到预估点击率pctr后,直接以该预估点击率pctr对待推荐内容进行排序,得到如表2所示的各个类型的预估点击率pctr和每次访问步数对应的推荐内容:
[0147]
表2
[0148][0149]
试验二、根据本实施例的方法对待推荐内容进行排序。
[0150]
首先,在步骤s100获得待推荐内容和学习率参数为0.8后,根据步骤s200计算点击率加权值b(tag),得到如表3所示的点击率加权值b(tag):
[0151]
表3
[0152][0153]
然后针对表3的点击率加权值b(tag),根据步骤s310计算对应的归一化点击率加权值be(tag),得到如表4所示的归一化点击率加权值be(tag):
[0154]
表4
[0155][0156]
最后根据表4的归一化点击率加权值be(tag)计算加权点击率pbctr,其中,计算加权点击率pbctr时所用的预估点击率pctr直接以表2中对应数据代入进行计算,得到如表5所示的各个类型的加权点击率pbctr和每次访问步数对应的推荐内容:
[0157]
表5
[0158][0159]
从表2~5可知,如果单纯使用预估点击率pctr进行排序,那么用户偏好的军事内容会被一直曝光展示。而使用本实施例的方法,通过动态调整be(tag)来对应动态调整加权点击率pbctr,再根据加权点击率pbctr对待推荐内容进行排序,那么每4次请求中,用户都可以看到一条娱乐内容,这样就有效避免了用户重复看到同质内容的情况。
[0160]
本实施例提供的个性化推荐方法,通过获取待推荐内容和待推荐内容的类型以及学习率参数后,根据待推荐内容的类型和学习率参数计算各个类型的点击率加权值;再根据各个类型的点击率加权值,对各个类型的预估点击率进行加权处理,得到各个类型的加权点击率;最后根据各个类型的加权点击率,对待推荐内容进行排序,得到待推荐内容的推荐顺序,实现了内容展示多样化的目的。本发明通过动态调整点击率来对个性化推荐方法中的待推荐内容进行排序,避免过多推荐用户偏好的同质内容,提升了个性化推荐的内容多样性,提高了用户体验感。本发明可以用于各种瀑布流的个性化推荐产品形态,还可以在
现有基于待推荐内容的点击率预测技术的基础上进行改进。
[0161]
实施例二
[0162]
基于同一发明构思,参照图5,提出本发明个性化推荐装置的第一实施例,该个性化推荐装置可以为虚拟装置,应用于单端执行的个性化推荐设备上,或者应用于两端或多端执行的个性化推荐设备的服务器中。
[0163]
下面结合图5所示的功能模块示意图,对本实施例提供的个性化推荐装置进行详细描述,所述装置可以包括:
[0164]
数据获取模块,用于获取待推荐内容和所述待推荐内容的类型以及学习率参数;
[0165]
点击率权值获取模块,用于根据所述待推荐内容的类型和所述学习率参数,得到各个类型的点击率加权值;
[0166]
点击率加权处理模块,用于根据所述各个类型的点击率加权值,对各个类型的预估点击率进行加权处理,得到各个类型的加权点击率;
[0167]
排序模块,用于根据所述各个类型的加权点击率,对所述待推荐内容进行排序,得到所述待推荐内容的推荐顺序。
[0168]
进一步地,数据获取模块可以包括:
[0169]
瀑布流获取单元,用于获取瀑布流产品形态;
[0170]
内容数量确定单元,用于确定所述瀑布流产品形态对应的展示内容数量;
[0171]
预加载数量获取单元,用于根据所述展示内容数量,确定预加载内容数量;
[0172]
待推荐内容获取单元,用于根据所述预加载内容数量,对候选内容中的已曝光内容进行过滤,得到待推荐内容及所述待推荐内容的类型。
[0173]
更进一步地,预加载数量获取单元具体用于:
[0174]
根据所述展示内容数量,利用第一计算式,确定预加载内容数量;其中,第一计算式为:
[0175][0176]
其中,req_num表示预加载内容数量,v_num表示展示内容数量。
[0177]
更进一步地,数据获取模块还可以包括:
[0178]
学习率获取单元,用于根据所述预加载内容数量,利用第二计算式,确定学习率参数;其中,所述第二计算式为:
[0179]
α=1-λ
×
req_num,
[0180]
其中,α表示学习率参数,λ表示经验值常数,req_num表示预加载内容数量。
[0181]
更进一步地,数据获取模块还可以包括:
[0182]
访问步数获取单元,用于获取用户的当前访问步数t;
[0183]
点击率权值获取模块可以包括:
[0184]
初始化单元,用于当所述当前访问步数t=1时,初始化各个类型的点击率加权值b(tag)为1;
[0185]
更新单元,用于当所述当前访问步数t>1时,利用第三计算式,更新各个类型的点击率加权值b(tag);其中,所述第三计算式为:
[0186]
b(tag)=(1-α)
·
b(tag) α(t-a(tag)),
[0187]
其中,b(tag)表示类型tag的点击率加权值,α表示学习率参数,a(tag)表示类型tag上一次被曝光给所述用户时所对应的访问步数。
[0188]
进一步地,点击率加权处理模块可以包括:
[0189]
归一化处理单元,用于利用第四计算式,对所述各个类型的点击率加权值进行归一化处理,得到各个类型的归一化点击率加权值;其中,所述第四计算式为:
[0190][0191]
其中,be(tag)表示类型tag的归一化点击率加权值,b(tag)表示类型tag的点击率加权值,{bn(tag)}表示所有类型的点击率加权值,max({bn(tag)})表示所有类型的点击率加权值中的最大点击率加权值,n表示类型数量。
[0192]
进一步地,装置还可以包括:
[0193]
预估点击率获取模块,用于将所述待推荐内容输入训练获得的点击率预测模型,得到各个类型的预估点击率。
[0194]
需要说明,本实施例提供的个性化推荐装置中各个模块可实现的功能和对应达到的技术效果可以参照本发明个性化推荐方法各个实施例中具体实施方式的描述,为了说明书的简洁,此处不再赘述。
[0195]
实施例三
[0196]
基于同一发明构思,本实施例提供了一种个性化推荐设备,所述设备可以为单端执行的终端设备,也可以为双端或多端执行的包括客户端和服务器的系统。本实施例中,以单端执行的终端设备为例进行说明。
[0197]
具体的,所述终端设备是指能够实现网络连接的终端设备或网络设备,可以是手机、电脑、平板电脑、便携计算机等终端设备,也可以是服务器、云平台等网络设备。
[0198]
参照图4,为本发明个性化推荐设备的硬件结构示意图。该设备可以包括处理器和存储器,所述存储器中存储有个性化推荐程序,所述个性化推荐程序被所述处理器执行时,实现本发明个性化推荐方法各个实施例的全部或部分步骤。
[0199]
可以理解,所述个性化推荐设备还可以包括通信总线,用户接口和网络接口。其中,通信总线用于实现这些组件之间的连接通信。用户接口用于连接用户设备,与用户设备进行数据通信,用户接口可以包括输出单元,如显示屏、输入单元,如键盘。网络接口用于连接客户端,与客户端进行数据通信,网络接口可以包括输入/输出接口,比如标准的有线接口、无线接口,如wi-fi接口。
[0200]
存储器用于存储各种类型的数据,这些数据例如可以包括该服务器中任何应用程序或方法的指令,以及应用程序相关的数据。存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(static random access memory,简称sram),随机存取存储器(random access memory,简称ram),电可擦除可编程只读存储器(electrically erasable programmable read-only memory,简称eeprom),可擦除可编程只读存储器(erasable programmable read-only memory,简称eprom),可编程只读存储器(programmable read-only memory,简称prom),只读存储器(read-only memory,简称rom),磁存储器,快闪存储器,磁盘或光盘,可选的,存储器还可以是独立于所
述处理器的存储装置。
[0201]
处理器用于调用存储器中存储的个性化推荐程序,并执行如上述的个性化推荐方法,处理器可以是专用集成电路(application specific integrated circuit,简称asic)、数字信号处理器(digital signal processor,简称dsp)、数字信号处理设备(digital signal processing device,简称dspd)、可编程逻辑器件(programmable logic device,简称pld)、现场可编程门阵列(field programmable gate array,简称fpga)、控制器、微控制器、微处理器或其他电子元件,用于执行如上述个性化推荐方法各个实施例的全部或部分步骤。
[0202]
实施例四
[0203]
基于同一发明构思,本实施例提供了一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、可编程只读存储器(prom)、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)、磁性存储器、磁盘、光盘、服务器等等,所述存储介质上存储有计算机程序,所述计算机程序可被一个或多个处理器执行,所述计算机程序被处理器执行时可以实现本发明个性化推荐方法各个实施例的全部或部分步骤。
[0204]
需要说明,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0205]
以上所述仅为本发明的可选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均包括在本发明的专利保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献