1.本公开涉及数据处理技术领域,尤其涉及智能搜索以及深度学习技术领域。具体涉及推荐方法、装置、电子设备、存储介质以及程序产品。
背景技术:
2.随着信息技术和网络技术的迅猛发展,信息流资源膨胀与冗余给人们的社会活动和娱乐活动带来了信息选择的困惑。从浩瀚的信息流资源中寻找需要的信息流资源具有极大的挑战。互联网的个性化推荐服务,可以针对不同的用户提供不同的个性化推荐服务策略。基于用户的不同特点以及要求进行自动化的信息流资源推荐。但是,在推荐过程中,其推荐结果以及推荐需求符合用户个性化需求的满意度有待提高。
技术实现要素:
3.本公开提供了一种推荐方法、装置、电子设备、存储介质以及程序产品。
4.根据本公开的一方面,提供了一种推荐方法,包括:响应于来自目标用户的请求,确定多个对象各自的推荐值,其中,所述多个对象各自的推荐值用于表征所述目标用户在当前时刻对所述多个对象各自的感兴趣程度;确定所述多个对象中的至少一个初始第一目标对象和至少一个第二目标对象;基于所述至少一个初始第一目标对象各自的推荐值和所述至少一个初始第一目标对象各自的推荐阈值,从所述至少一个初始第一目标对象中确定至少一个第一目标对象;以及基于所述至少一个第一目标对象各自的推荐值和所述至少一个第二目标对象各自的推荐值,从所述至少一个第一目标对象和所述至少一个第二目标对象中确定目标推荐对象,以便将所述目标推荐对象推荐至所述目标用户。
5.根据本公开的另一方面,提供了一种推荐装置,包括:响应模块,用于响应于来自目标用户的请求,确定多个对象各自的推荐值,其中,所述多个对象各自的推荐值用于表征所述目标用户在当前时刻对所述多个对象各自的感兴趣程度;分类模块,用于确定所述多个对象中的至少一个初始第一目标对象和至少一个第二目标对象;筛选模块,用于基于所述至少一个初始第一目标对象各自的推荐值和所述至少一个初始第一目标对象各自的推荐阈值,从所述至少一个初始第一目标对象中确定至少一个第一目标对象;以及对象确定模块,用于基于所述至少一个第一目标对象各自的推荐值和所述至少一个第二目标对象各自的推荐值,从所述至少一个第一目标对象和所述至少一个第二目标对象中确定目标推荐对象,以便将所述目标推荐对象推荐至所述目标用户。
6.根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如本公开的方法。
7.根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行如本公开的方法。
8.根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如本公开的方法。
9.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
10.附图用于更好地理解本方案,不构成对本公开的限定。其中:
11.图1示意性示出了根据本公开实施例的可以应用推荐方法及装置的示例性系统架构;
12.图2示意性示出了根据本公开实施例的推荐方法的流程图;
13.图3示意性示出了根据本公开实施例的确定推荐阈值的示意图;
14.图4示意性示出了根据本公开另一实施例的推荐方法的流程示意图;
15.图5示意性示出了根据本公开实施例的推荐装置的框图;以及
16.图6示意性示出了根据本公开实施例的适于实现推荐方法的电子设备的框图。
具体实施方式
17.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
18.本公开提供了一种推荐方法、装置、电子设备、存储介质以及程序产品。
19.根据本公开的实施例,提供了一种推荐方法,包括:响应于来自目标用户的请求,确定多个对象各自的推荐值,其中,多个对象各自的推荐值用于表征目标用户在当前时刻对多个对象各自的感兴趣程度;确定多个对象中的至少一个初始第一目标对象和至少一个第二目标对象;基于至少一个初始第一目标对象各自的推荐值和至少一个初始第一目标对象各自的推荐阈值,从至少一个初始第一目标对象中确定至少一个第一目标对象;以及基于至少一个第一目标对象各自的推荐值和至少一个第二目标对象各自的推荐值,从至少一个第一目标对象和至少一个第二目标对象中确定目标推荐对象,以便将目标推荐对象推荐至目标用户。
20.在本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供、公开和应用等处理,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。
21.在本公开的技术方案中,在获取或采集用户个人信息之前,均获取了用户的授权或同意。
22.图1示意性示出了根据本公开实施例的可以应用推荐方法及装置的示例性系统架构。
23.需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。例如,在另一实施例中,可以应用推荐方法及装置的示例性系统架构可
以包括终端设备,但终端设备可以无需与服务器进行交互,即可实现本公开实施例提供的推荐方法及装置。
24.如图1所示,根据该实施例的系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线和/或无线通信链路等等。
25.用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如知识阅读类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端和/或社交平台软件等(仅为示例)。
26.终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
27.服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的内容提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。
28.需要说明的是,本公开实施例所提供的推荐方法一般可以由终端设备101、102、或103执行。相应地,本公开实施例所提供的推荐装置也可以设置于终端设备101、102、或103中。
29.或者,本公开实施例所提供的推荐方法一般也可以由服务器105执行。相应地,本公开实施例所提供的推荐装置一般可以设置于服务器105中。本公开实施例所提供的推荐方法也可以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的推荐装置也可以设置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。
30.例如,在目标用户在线浏览某网页时,终端设备101、102、103可以将目标用户的请求发送给服务器105,由服务器105确定多个对象各自的推荐值;确定多个对象中的至少一个初始第一目标对象和至少一个第二目标对象;基于至少一个初始第一目标对象各自的推荐值和至少一个初始第一目标对象各自的推荐阈值,从至少一个初始第一目标对象中确定至少一个第一目标对象;基于至少一个第一目标对象各自的推荐值和至少一个第二目标对象各自的推荐值,从至少一个第一目标对象和至少一个第二目标对象中确定目标推荐对象,以便将目标推荐对象推荐至目标用户。或者由能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群对多个对象进行分析,并最终从多个对象中确定目标推荐对象,将目标推荐对象推荐至目标用户。
31.应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
32.应注意,以下方法中各个操作的序号仅作为该操作的表示以便描述,而不应被看作表示该各个操作的执行顺序。除非明确指出,否则该方法不需要完全按照所示顺序来执行。
33.图2示意性示出了根据本公开实施例的推荐方法的流程图。
34.如图2所示,该方法包括操作s210~s240。
35.在操作s210,响应于来自目标用户的请求,确定多个对象各自的推荐值,其中,多个对象各自的推荐值用于表征目标用户在当前时刻对多个对象各自的感兴趣程度。
36.在操作s220,确定多个对象中的至少一个初始第一目标对象和至少一个第二目标对象。
37.在操作s230,基于至少一个初始第一目标对象各自的推荐值和至少一个初始第一目标对象各自的推荐阈值,从至少一个初始第一目标对象中确定至少一个第一目标对象。
38.在操作s240,基于至少一个第一目标对象各自的推荐值和至少一个第二目标对象各自的推荐值,从至少一个第一目标对象和至少一个第二目标对象中确定目标推荐对象,以便将目标推荐对象推荐至目标用户。
39.根据本公开的实施例,目标用户的请求可以包括目标用户的用于浏览的请求。例如,可以将目标用户点击进入某一网页或者某一应用程序的操作来作为目标用户的请求。但是并不局限于此。目标用户的请求还可以包括用于检索的请求。例如,目标用户进入某一网页或者某一应用程序后,可以利用该网页或者该应用程序的输入界面输入用于检索的信息,以便进行进一步的浏览。可以将目标用户的用于检索的操作来作为目标用户的请求。
40.根据本公开的实施例,对象可以是指信息流资源。例如,网络平台上的短视频、直播视频、图片或者文本等。但是并不局限于此。还可以是其他视频或者音频内容,例如电影、电视剧、综艺节目、新闻或者音频等。也可以是其他平台的关于物品的推荐介绍、网页链接等。
41.根据本公开的实施例,可以响应于来自目标用户的请求,来从多个对象中确定目标推荐对象,以便将目标推荐对象推荐给目标用户。例如,从多个短视频中确定目标推荐短视频,并将该目标推荐短视频推荐给目标用户。
42.根据本公开的实施例,多个对象可以包括至少一个初始第一对象和至少一个第二对象。初始第一目标对象可以包括具有流量分发需求,即推荐需求的对象。具有流量分发需求的对象,可以是指在预定推荐时长内需要推荐预定推荐次数的对象。但是并不局限于此。初始第一目标对象还可以是具有其他推荐需求的对象。具有其他推荐需求的对象,可以是指满足目标用户个性化需求的对象。该个性化需求可以包括例如发布时间、热度等需求。至少一个第二目标对象为多个对象中除至少一个初始第一目标对象外的对象。
43.根据本公开的一实施例,多个对象各自的推荐值可以用于表征目标用户在当前时刻对多个对象各自的感兴趣程度。可以基于多个对象各自的推荐值来从多个对象中确定目标推荐对象。例如,按照由高到低的顺序对多个对象各自的推荐值进行排序,将推荐值排在前20位的对象作为目标推荐对象推荐给目标用户。
44.根据本公开的另一实施例,还可以按照例如流量分发需求,从多个对象中确定至少一个初始第一目标对象。为至少一个初始第一目标对象各自的推荐值配置与流量分发相关的权重作为新的推荐值。例如,将至少一个初始第一目标对象各自的推荐值分别乘以固定权重,作为至少一个初始第一目标对象各自的新的推荐值。按照由高到低的顺序对至少一个第二目标对象各自的推荐值以及至少一个初始第一目标对象各自的新的推荐值进行排序,将推荐值排在前20位的对象作为目标推荐对象推荐给目标用户。
45.根据本公开的另一实施例,还可以按照例如流量分发需求,从多个对象中确定至少一个初始第一目标对象。并为至少一个初始第一目标对象各自配置推荐阈值。基于至少
一个初始第一目标对象各自的推荐值和至少一个初始第一目标对象各自的推荐阈值,从至少一个初始第一目标对象中确定至少一个第一目标对象。基于至少一个第一目标对象各自的推荐值和至少一个第二目标对象各自的推荐值,从至少一个第一目标对象和至少一个第二目标对象中确定目标推荐对象。
46.例如,针对至少一个初始第一目标对象中的每个初始第一目标对象,将初始第一目标对象的推荐值与初始第一目标对象的推荐阈值进行比较。在初始第一目标对象的推荐值大于或者等于初始第一目标对象的推荐阈值的情况下,将初始第一目标对象作为第一目标对象。进而得到至少一个第一目标对象。在初始第一目标对象的推荐值小于初始第一目标对象的推荐阈值的情况下,将初始第一目标对象放弃后续操作。基于至少一个第一目标对象各自的推荐值和至少一个第二目标对象各自的推荐值,从至少一个第一目标对象和至少一个第二目标对象中确定目标推荐对象。
47.利用本公开实施例提供的推荐方法,基于至少一个第一目标对象各自的推荐值和至少一个第二目标对象各自的推荐值,从至少一个第一目标对象和至少一个第二目标对象中确定目标推荐对象。其中,推荐值可以体现目标用户对对象的感兴趣程度,基于推荐值来确定向目标用户推荐的目标推荐对象,可以较好地符合用户体验。此外,将多个对象进行分类处理,从多个对象中确定至少一个初始第一目标对象,并利用至少一个初始第一目标对象各自的推荐阈值和至少一个初始第一目标对象各自的推荐值来从至少一个初始第一目标对象确定至少一个第一目标对象,可以利用推荐阈值来对初始第一目标对象进行筛选,通过该筛选操作可以合理控制例如初始第一目标对象的推荐速度,避免因推荐频率过高而导致推荐效果差的问题。
48.图3示意性示出了根据本公开另一实施例的确定推荐阈值的示意图。
49.如图3所示,确定推荐阈值可以包括操作s310~s340。
50.在操作s310,针对至少一个初始第一目标对象中的每个初始第一目标对象,确定多个用户各自在预定时间段对初始第一目标对象的关注值。
51.根据本公开的实施例,多个用户各自在预定时间段内对初始第一目标对象的关注值可以是基于关注值日志来确定的。针对多个初始第一目标对象,可以有与多个初始第一目标对象一一对应的多个关注值日志,但是并不局限于此,还可以一个关注值日志记录多个初始第一目标对象的关注值数据。关注值日志中除记录多个用户针对初始第一目标对象的关注值数据外,关注值日志中还记录有预定时间段的时间,以及其他与初始第一目标对象、用户等相关的信息。在此不再赘述。
52.根据本公开的实施例,多个用户各自的关注值可以用于表征多个用户各自在预定时间段内对初始第一目标对象的感兴趣程度。预定时间段可以是指当前时间段、未来时间段、或者历史时间段。未来时间段可以指当前时间段的下一时间段,但是并不局限于此,还可以是当前时间段的任一未来时间段。历史时间段可以是当前时间段的前一历史时间段,但是并不局限于此,还可以是当前时间段的任一历史时间段。
53.根据本公开的实施例,多个用户各自的关注值可以是基于多个用户各自对初始第一目标对象的点展比来确定的。点展比可以指初始第一目标对象被点击次数与初始第一目标对象被推荐次数的比例。但是并不局限于此。多个用户各自的关注值还可以是与用户是否收藏对象、是否关注对象或者是否点赞对象等相关的数据。只要是关注值能够表征用户
对初始第一目标对象的感兴趣程度即可。
54.在操作s320,可以基于多个用户各自在预定时间段内对初始第一目标对象的关注值和初始第一目标对象在预定时间段内的待推荐次数,确定初始第一目标对象的第一初始推荐阈值。
55.根据本公开的实施例,初始第一目标对象在预定时间段内的待推荐次数m可以包括公式(1)。
56.m=剩余推荐次数/剩余推荐时长
×
预定时间段的时长; (1)
57.根据本公开的实施例,剩余推荐次数可以包括预定推荐次数与已推荐次数的差值。
58.在操作s330,基于多个用户各自在预定时间段内对初始第一目标对象的关注值和预定关注阈值,确定初始第一目标对象的第二初始推荐阈值。
59.在操作s340,基于第一初始推荐阈值和第二初始推荐阈值,确定推荐阈值。
60.需要说明的是,操作s320以及操作s330的序号仅作为该操作的表示以便描述,而不应被看作表示该各个操作的执行顺序。
61.根据本公开的实施例,第一初始推荐阈值是基于预定时间段内的待推荐次数来确定的,可以利用推荐阈值来实现对初始第一目标对象的推荐次数的把控,能够实现全局把控。
62.根据本公开的实施例,针对操作s320,基于多个用户各自在预定时间段内对初始第一目标对象的关注值和初始第一目标对象在预定时间段内的待推荐次数,确定初始第一目标对象的第一初始推荐阈值,可以包括如下操作。
63.例如,对多个用户各自在预定时间段内对初始第一目标对象的关注值进行排序,得到排序结果。基于初始第一目标对象在预定时间段内的待推荐次数,从排序结果中确定目标关注值。将目标关注值确定为初始第一目标对象的第一初始推荐阈值。
64.根据本公开的实施例,可以按照由高到低的顺序对关注值进行排序,得到排序结果,但是并不局限于此,还可以按照由低到高的顺序对关注值进行排序,得到排序结果。只要是能够基于排序结果和待推荐次数,确定第一初始推荐阈值即可。
65.例如,多个用户可以包括例如5个用户:用户a、用户b、用户c、用户d以及用户e。针对至少一个初始第一目标对象中的初始第一目标对象nid_1,可以确定5个用户关于初始第一目标对象nid_1在预定时间段的关注值。例如,用户a_nid_1_关注值、用户b_nid_1_关注值、用户c_nid_1_关注值、用户d_nid_1_关注值以及用户e_nid_1_关注值。对这5个关注值按照由高到低的顺序进行排序,得到排序结果,例如用户a_nid_1_关注值、用户e_nid_1_关注值、用户d_nid_1_关注值、用户b_nid_1_关注值以及用户c_nid_1_关注值。
66.例如,根据预定推荐次数、已推荐次数确定剩余推荐次数。根据剩余推荐次数、剩余推荐时长和预定时间段的时长,确定预定时间段内的待推荐次数,例如待推荐次数为2。可以基于排序结果和待推荐次数,将5个关注值中的第二大的关注值作为目标关注值,例如将用户e_nid_1_关注值作为目标关注值,即第一初始推荐阈值。但是并不局限于此。例如,待推荐次数为8,排序结果中包括关于5个用户针对初始第一目标对象的关注值。待推荐次数大于用户的个数。在这种情况下,可以基于排序结果,将5个关注值中最小的关注值作为目标关注值,例如将用户c_nid_1_关注值作为目标关注值,即第一初始推荐阈值。
67.根据本公开的一实施例,第一初始推荐阈值是基于待推荐次数和多个用户各自在预定时间段内对初始第一目标对象的关注值来确定的,将第一初始推荐阈值作为推荐阈值或者基于第一初始推荐阈值来确定推荐阈值,可以控制推荐初始第一目标对象的推荐频率,避免在短时间段内推荐次数过多,造成推荐失败的问题。
68.根据本公开的实施例,针对操作s330,基于多个用户各自在预定时间段内对初始第一目标对象的关注值和预定关注阈值,确定初始第一目标对象的第二初始推荐阈值,可以包括如下操作。
69.例如,将多个用户各自在预定时间段内对初始第一目标对象的关注值例如按照由高到低的顺序进行排序,得到排序结果。基于排序结果,在前k个用户的平均关注值大于或者等于预定关注阈值,前k 1个用户的平均关注值小于预定关注阈值的情况下,将第k个用户在预定时间段内对初始第一目标对象的关注值确定为初始第一目标对象的第二初始推荐阈值。但是并不局限于此。还可以将多个用户各自在预定时间段内对初始第一目标对象的关注值例如按照由低到高的顺序进行排序,得到排序结果。基于排序结果,在前j 1个用户的平均关注值大于或者等于预定关注阈值,前j个用户的平均关注值小于预定关注阈值的情况下,将第j个用户在预定时间段内对初始第一目标对象的关注值确定为初始第一目标对象的第二初始推荐阈值。
70.例如,对5个关注值按照由高到低的顺序进行排序,得到排序结果,例如用户a_nid_1_关注值、用户e_nid_1_关注值、用户d_nid_1_关注值、用户b_nid_1_关注值以及用户c_nid_1_关注值。经过计算,前3个关注值的平均值大于预定关注阈值,前4个关注值的平均值小于预定关注阈值,则可以将用户d_nid_1_关注值作为初始第一目标对象的第二初始推荐阈值。
71.根据本公开的实施例,预定关注阈值可以是固定值,也可以是动态调整的阈值。只要是能够满足最低关注标准的阈值即可。例如,预定关注阈值可以是基于多个用户各自针对初始第一目标对象和与初始第一目标对象相关的对象的推荐值来确定的阈值。例如,可以是将多个用户各自在历史时间段内针对初始第一目标对象和与初始第一目标对象相关的对象的推荐值的一半作为预定关注阈值。
72.根据本公开的一实施例,第二初始推荐阈值是基于预定关注阈值来确定的,将第二初始推荐阈值作为推荐阈值或者基于第二初始推荐阈值来确定推荐阈值,可以保证完成在预定推荐时长内向多个用户推荐预定推荐次数的初始第一目标对象的任务。
73.根据本公开的实施例,针对操作s340,基于第一初始推荐阈值和第二初始推荐阈值,确定推荐阈值可以包括:对第一初始推荐阈值和第二初始推荐阈值进行比较,将数值大的作为推荐阈值。但是推荐阈值的确定方式并不局限于此。推荐阈值还可以是第一初始推荐阈值和第二初始推荐阈值的平均值。只要是能够基于第一初始推荐阈值和第二初始推荐阈值确定的推荐阈值即可。
74.根据本公开的实施例,将第一初始推荐阈值和第二初始推荐阈值中的数值大的作为推荐阈值,实现动态决策,可以在满足推荐需求的同时,提高用户体验,使得推荐至目标用户的目标推荐对象更符合目标用户的感兴趣程度。避免仅考虑将第一初始推荐阈值作为推荐阈值而导致的无法完成在预定推荐时长内推荐预定推荐次数的初始第一目标对象的任务。
75.根据本公开的实施例,在确定至少一个初始第一目标对象各自的推荐阈值的情况下,可以基于至少一个初始第一目标对象各自的推荐阈值和至少一个初始第一目标对象各自的推荐值,来从至少一个初始第一目标对象中确定第一目标对象。并执行操作s240,基于至少一个第一目标对象各自的推荐值和至少一个第二目标对象各自的推荐值,从至少一个第一目标对象和至少一个第二目标对象中确定目标推荐对象。
76.根据本公开的实施例,可以使用动态推荐权重对至少一个第一目标对象各自的推荐值进行加权,得到至少一个第一目标对象各自的目标推荐值。但是并不局限于此。还可以使用固定权重对至少一个第一目标对象各自的推荐值进行加权,得到至少一个第一目标对象各自的目标推荐值。基于至少一个第一目标对象各自的目标推荐值和至少一个第二目标对象各自的推荐值,从至少一个第一目标对象和至少一个第二目标对象中确定目标推荐对象。
77.根据本公开的实施例,利用动态推荐权重对至少一个第一目标对象各自的推荐值进行加权,可以利用动态推荐权重来基于推荐需求进行优先考虑,使得全局寻优,进而使得第一目标对象在预定推荐时长内完成预定推荐次数的推荐。
78.图4示意性示出了根据本公开另一实施例的推荐方法的流程示意图。
79.如图4所示,多个对象可以包括nid_1、nid_2、nid_3、nid_4和nid_5,但是并不局限于5,还可以是大于5的任意整数。可以从5个对象中确定2个初始第一目标对象410以及3个第二目标对象420。初始第一目标对象410例如nid_1和nid_2,第二目标对象420例如nid_3、nid_4和nid_5。针对目标用户a,基于nid_1和nid_2各自的推荐值和推荐阈值对初始第一目标对象进行筛选,确定nid_1和nid_2各自是否为第一目标对象。在nid_1的推荐值大于推荐阈值的情况下,将nid_1确定为第一目标对象430。在nid_2的推荐值小于推荐阈值的情况下,将初始第一目标对象nid_2删除。使用动态推荐权重对nid_1的推荐值例如用户a_nid_1_推荐值进行加权,得到nid_1的目标推荐值,例如用户a_nid_1_目标推荐值。并确定3个第二目标对象nid_3、nid_4和nid_5各自的推荐值,例如用户a_nid_3_推荐值、用户a_nid_4_推荐值和用户a_nid_5_推荐值。可以基于第一目标对象nid_1的目标推荐值以及3个第二目标对象nid_3、nid_4和nid_5各自的推荐值,来确定目标推荐对象。
80.例如,可以基于第一目标对象nid_1的目标推荐值以及3个第二目标对象nid_3、nid_4和nid_5各自的推荐值,将4个对象进行排序,得到例如推荐值按照由高到低的顺序排序的排序结果,例如用户a_nid_3_推荐值、用户a_nid_1_目标推荐值、用户a_nid_4_推荐值和用户a_nid_5_推荐值。基于排序结果,可以将推荐值最高的对象例如对象nid_3作为目标推荐对象。也可以基于排序结果和预定的推荐对象阈值,按照推荐值由高到低的顺序,选取与推荐对象阈值相同数量的对象作为目标推荐对象。
81.根据本公开的实施例,多个对象中的每个对象的推荐值,可以是基于目标用户对对象的点展比来确定的。点展比可以指对象被目标用户点击次数与对象被推荐给目标用户的推荐次数的比例。但是并不局限于此。多个对象中的每个对象的推荐值还可以是与目标用户是否收藏对象、是否关注对象或者是否点赞对象等相关的数据。只要是推荐值能够表征目标用户对对象的感兴趣程度即可。
82.根据本公开的实施例,动态推荐权重可以通过如下操作来确定。
83.例如,针对至少一个第一目标对象中的每个第一目标对象,基于第一目标对象的
预定推荐次数和已推荐次数,确定剩余推荐次数。基于剩余推荐次数和可执行推荐次数,确定第一目标对象的动态推荐权重。可执行推荐次数用于表征满足预定条件的推荐的次数。
84.根据本公开的实施例,动态推荐权重p可以如公式(2)所示。
85.p=剩余推荐次数/可执行推荐次数; (2)
86.根据本公开的实施例,动态推荐权重也可以称为分配概率。可以基于动态推荐权重,将剩余推荐次数大的、或者可执行推荐次数小的第一对象优先进行推荐,以实现全局寻优,使得第一目标对象在预定推荐时长内完成预定推荐次数的推荐。
87.根据本公开的实施例,动态调整初始第一目标对象的推荐阈值和动态推荐权重。并利用推荐阈值对至少一个初始第一目标对象进行筛选,可以使得具有推荐需求的对象以一个较为平稳的速度被推荐,且在预定推荐时长内完成预定推荐次数的同时,还可以获得较好的用户体验。进一步地,利用动态推荐权重对第一目标对象的推荐值进行调整,还能进行全局寻优,优先考虑推荐需求更为紧张的第一目标对象的推荐,使得推荐效果得到提升。
88.根据本公开的实施例,针对操作s210,响应于来自目标用户的请求,确定多个对象各自的推荐值可以包括如下操作。
89.例如,响应于来自目标用户的请求,对多个初始对象进行筛选,确定多个对象。基于多个对象各自的对象属性信息以及目标用户的用户属性信息,确定多个对象各自的推荐值。
90.根据本公开的实施例,可以使用初筛深度学习模型预估多个初始对象各自的推荐值,将推荐值大于或者等于初筛阈值的多个初始对象确定为多个对象。
91.根据本公开的实施例,初筛阈值可以根据实际情况预先设定,在此不再赘述。
92.根据本公开的实施例,可以使用与初始深度学习模型相同的结构来预估多个对象各自的推荐值,但是并不局限于此,还可以使用结构更为复杂的精筛深度学习模型来预估多个对象各自的推荐值。只要是能够基于对象的对象属性信息以及目标用户的用户属性信息来确定目标用户针对对象的推荐值的深度学习模型即可,在此不再赘述。
93.根据本公开的实施例,目标用户的属性信息可以包括目标用户的年龄、性别、职业等的用户个人信息,但是并不局限于此,还可以包括目标用户针对对象的浏览信息、关注信息等与对象相关的属性信息。
94.根据本公开的实施例,对象的对象属性信息可以包括对象的类型、热度、发布时间等信息。
95.图5示意性示出了根据本公开实施例的推荐装置的框图。
96.如图5所示,推荐装置500可以包括响应模块510、分类模块520、筛选模块530以及对象确定模块540。
97.响应模块510,用于响应于来自目标用户的请求,确定多个对象各自的推荐值,其中,多个对象各自的推荐值用于表征目标用户在当前时刻对多个对象各自的感兴趣程度。
98.分类模块520,用于确定多个对象中的至少一个初始第一目标对象和至少一个第二目标对象。
99.筛选模块530,用于基于至少一个初始第一目标对象各自的推荐值和至少一个初始第一目标对象各自的推荐阈值,从至少一个初始第一目标对象中确定至少一个第一目标对象。
100.对象确定模块540,用于基于至少一个第一目标对象各自的推荐值和至少一个第二目标对象各自的推荐值,从至少一个第一目标对象和至少一个第二目标对象中确定目标推荐对象,以便将目标推荐对象推荐至目标用户。
101.根据本公开的实施例,对象确定模块可以包括加权单元以及对象确定单元。
102.加权单元,用于使用动态推荐权重对至少一个第一目标对象各自的推荐值进行加权,得到至少一个第一目标对象各自的目标推荐值。
103.对象确定单元,用于基于至少一个第一目标对象各自的目标推荐值和至少一个第二目标对象各自的推荐值,从至少一个第一目标对象和至少一个第二目标对象中确定目标推荐对象。
104.根据本公开的实施例,推荐装置还可以包括第一阈值确定模块、第二阈值确定模块以及阈值确定模块。
105.第一阈值确定模块,用于针对至少一个初始第一目标对象中的每个初始第一目标对象,基于多个用户各自在预定时间段内对初始第一目标对象的关注值和初始第一目标对象在预定时间段内的待推荐次数,确定初始第一目标对象的第一初始推荐阈值,其中,多个用户各自的关注值用于表征多个用户各自在预定时间段内对初始第一目标对象的感兴趣程度。
106.第二阈值确定模块,用于基于多个用户各自在预定时间段内对初始第一目标对象的关注值和预定关注阈值,确定初始第一目标对象的第二初始推荐阈值。
107.阈值确定模块,用于基于第一初始推荐阈值和第二初始推荐阈值,确定推荐阈值。
108.根据本公开的实施例,第一阈值确定模块可以包括第一排序单元、关注值确定单元以及第一阈值确定单元。
109.第一排序单元,用于对多个用户各自在预定时间段内对初始第一目标对象的关注值进行排序,得到排序结果。
110.关注值确定单元,用于基于初始第一目标对象在预定时间段内的待推荐次数,从排序结果中确定目标关注值。
111.第一阈值确定单元,用于将目标关注值确定为初始第一目标对象的第一初始推荐阈值。
112.根据本公开的实施例,第二阈值确定模块可以包括第二排序单元以及第二阈值确定单元。
113.第二排序单元,用于对多个用户各自在预定时间段内对初始第一目标对象的关注值进行排序,得到排序结果。
114.第二阈值确定单元,用于基于排序结果,在前k个用户的平均关注值大于或者等于预定关注阈值,前k 1个用户的平均关注值小于预定关注阈值的情况下,将第k个用户在预定时间段内对初始第一目标对象的关注值确定为初始第一目标对象的第二初始推荐阈值。
115.根据本公开的实施例,阈值确定模块可以包括阈值确定单元。
116.阈值确定单元,用于对第一初始推荐阈值和第二初始推荐阈值进行比较,将数值大的作为推荐阈值。
117.根据本公开的实施例,对象确定模块还可以包括次数确定单元以及权重确定单元。
118.次数确定单元,用于针对至少一个第一目标对象中的每个第一目标对象,基于第一目标对象的预定推荐次数和已推荐次数,确定剩余推荐次数。
119.权重确定单元,用于基于剩余推荐次数和可执行推荐次数,确定第一目标对象的动态推荐权重,其中,可执行推荐次数用于表征满足预定条件的推荐的次数。
120.根据本公开的实施例,响应模块可以包括初筛单元以及推荐值确定单元。
121.初筛单元,用于对多个初始对象进行筛选,确定多个对象。
122.推荐值确定单元,用于基于多个对象各自的对象属性信息以及目标用户的用户属性信息,确定多个对象各自的推荐值。
123.根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
124.根据本公开的实施例,一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如本公开实施例的方法。
125.根据本公开的实施例,一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行如本公开实施例的方法。
126.根据本公开的实施例,一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现如本公开实施例的方法。
127.图6示出了可以用来实施本公开的实施例的示例电子设备600的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
128.如图6所示,设备600包括计算单元601,其可以根据存储在只读存储器(rom)602中的计算机程序或者从存储单元608加载到随机访问存储器(ram)603中的计算机程序,来执行各种适当的动作和处理。在ram 603中,还可存储设备600操作所需的各种程序和数据。计算单元601、rom 602以及ram 603通过总线604彼此相连。输入/输出(i/o)接口605也连接至总线604。
129.设备600中的多个部件连接至i/o接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
130.计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,例如推荐方法。例如,在一些实施例中,推荐方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由rom 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序加载到
ram 603并由计算单元601执行时,可以执行上文描述的推荐方法的一个或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行推荐方法。
131.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、复杂可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
132.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
133.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
134.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
135.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
136.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计
算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以是分布式系统的服务器,或者是结合了区块链的服务器。
137.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
138.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
转载请注明原文地址:https://tc.8miu.com/read-2006.html