推荐方法、推荐装置、电子设备以及存储介质与流程

文档序号:25949583发布日期:2021-07-20 17:05阅读:115来源:国知局
推荐方法、推荐装置、电子设备以及存储介质与流程

本公开涉及人工智能领域或金融领域等,更具体地,涉及一种推荐方法、推荐装置、电子设备以及存储介质。



背景技术:

随着科学技术的快速发展,信息量以爆炸的速度增长。用户在海量信息中寻找有用的内容可能会耗费较长时间。如在社交、新闻、电商、音视频或广告推送等领域,通常采用推荐系统针对不同的用户群体进行内容推荐。目前业界通用的推荐模型主要通过使用大量用户的历史行为数据进行训练获得。例如在电商领域,基于大量用户的历史购买信息、浏览信息、交易行为等数据进行训练获得推荐模型,其中,推荐模型将大量用户划分为多个用户类型。推荐模型在后台确定每个用户所属的类型后,将该用户类型偏好的相关产品推送到前端界面进行展示。

在实现本公开构思的过程中,发明人发现相关技术中至少存在如下问题:

目前主要通过大规模采集多个用户的数据,训练获得对每个用户都适用的通用模型,然后利用该通用模型进行推荐,导致不能针对每个用户进行个性化推荐,精准度较低。



技术实现要素:

有鉴于此,本公开实施例提供了一种针对每个用户训练获得第一排序模型,从而能够基于第一排序模型实现个性化推荐,提高推荐精准度的推荐方法、推荐装置、电子设备以及存储介质。

本公开实施例的一个方面提供了一种应用于移动端的推荐方法。所述推荐方法包括:响应第一用户的操作,向服务端发送数据推荐请求。接收所述服务端基于所述数据推荐请求发送的n个推荐数据,其中,n为大于或等于2的整数。利用第一排序模型对所述n个推荐数据进行排序,其中,所述第一排序模型包括:在所述移动端中,基于所述第一用户的第一行为数据对通用排序模型进行训练获得的排序模型,所述通用排序模型为适用于多个不同用户的排序模型。以及基于排序后的所述n个推荐数据进行推荐。

根据本公开的实施例,所述在所述移动端中基于所述第一用户的第一行为数据对通用排序模型进行训练包括:接收所述第一用户输入的定制训练数据。基于所述第一行为数据和所述定制训练数据对所述通用排序模型进行训练获得所述第一排序模型。

根据本公开的实施例,在所述向服务端发送数据推荐请求之前包括:响应所述第一用户的操作,查询所述移动端中的模型状态标识,其中,所述模型状态标识用于表征所述移动端中排序模型的状态。基于所述模型状态标识确定所述数据推荐请求的内容。

根据本公开的实施例,所述通用排序模型包括第二排序模型,所述基于所述模型状态标识确定所述数据推荐请求的内容包括:当所述模型状态标识表征所述移动端中不包括所述第一排序模型时,确定所述数据推荐请求的内容包括获取所述第二排序模型,其中,所述第二排序模型通过在所述服务端中基于m个第二用户的第二行为数据对初始排序模型进行训练获得,m为大于或等于1的整数。

根据本公开的实施例,当所述模型状态标识表征所述移动端中包括所述第一排序模型时,在所述基于所述模型状态标识确定所述数据推荐请求的内容之前,包括:向所述服务端发送模型升级请求。接收所述服务端发送的模型升级信息。

根据本公开的实施例,所述通用排序模型包括升级排序模型,所述基于所述模型状态标识确定所述数据推荐请求的内容包括:当所述模型升级信息包括所述升级排序模型的信息时,确定所述数据推荐请求的内容包括获取所述升级排序模型。其中,所述升级排序模型通过在所述服务端中基于s个第三用户的第三行为数据对所述第二排序模型或初始排序模型进行训练获得,s为大于或等于1的整数。

根据本公开的实施例,在所述向服务端发送数据推荐请求之后,包括:接收所述服务端基于所述数据推荐请求发送的所述升级排序模型。其中,所述利用第一排序模型对所述n个推荐数据进行排序包括:基于所述第一行为数据对所述升级排序模型进行训练,以获得升级后的所述第一排序模型。基于升级后的所述第一排序模型对所述n个推荐数据进行排序。

本公开实施例的另一个方面提供了一种应用于服务端的推荐方法。所述推荐方法包括:接收移动端发送的数据推荐请求。基于所述数据推荐请求获取n个推荐数据,其中,n为大于或等于2的整数。将所述n个推荐数据发送给所述移动端,以使得所述移动端利用第一排序模型对所述n个推荐数据进行排序,其中,所述第一排序模型包括:在所述移动端中,基于所述第一用户的第一行为数据对通用排序模型进行训练获得的排序模型,所述通用排序模型为适用于多个不同用户的排序模型。

根据本公开的实施例,所述方法还包括:获取m个第二用户的第二行为数据,其中,m为大于或等于1的整数。基于所述第二行为数据对初始排序模型进行训练来获得第二排序模型。其中,当所述数据查询请求的内容包括获取所述第二排序模型时,所述方法还包括:将所述第二排序模型发送给所述移动端。

根据本公开的实施例,在获得所述第二排序模型之后,还包括:获取s个第三用户的第三行为数据,其中,s为大于或等于1的整数。基于所述第三行为数据对所述第二排序模型或所述初始排序模型进行训练来获得升级排序模型。其中,当所述数据查询请求的内容包括获取所述升级排序模型时,所述方法还包括:将所述升级排序模型发送给所述移动端。

本公开实施例的另一个方面提供了一种应用于移动端的推荐装置。所述推荐装置包括请求发送模块、数据接收模块、数据排序模块、数据推荐模块。所述请求发送模块用于响应第一用户的操作,向服务端发送数据推荐请求。所述数据接收模块用于接收所述服务端基于所述数据推荐请求发送的n个推荐数据,其中,n为大于或等于2的整数。所述数据排序模块用于利用第一排序模型对所述n个推荐数据进行排序,其中,所述第一排序模型包括:在所述移动端中,基于所述第一用户的第一行为数据对通用排序模型进行训练获得的排序模型,所述通用排序模型为适用于多个不同用户的排序模型。所述数据推荐模块用于基于排序后的所述n个推荐数据进行推荐。

本公开实施例的另一个方面提供了一种应用于服务端的推荐装置。所述推荐装置包括请求接收模块、数据获取模块、数据发送模块。所述请求接收模块用于接收移动端发送的数据推荐请求。所述数据获取模块用于基于所述数据推荐请求获取n个推荐数据,其中,n为大于或等于2的整数。所述数据发送模块用于将所述n个推荐数据发送给所述移动端,以使得所述移动端利用第一排序模型对所述n个推荐数据进行排序,其中,所述第一排序模型包括:在所述移动端中,基于所述第一用户的第一行为数据对通用排序模型进行训练获得的排序模型,所述通用排序模型为适用于多个不同用户的排序模型。

本公开实施例的另一方面提供了一种电子设备。所述电子设备包括一个或多个存储器、以及一个或多个处理器。所述存储器存储有可执行指令。所述处理器执行所述可执行指令以实现如上所述的方法。

本公开实施例的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。

本公开实施例的又一方面提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现如上所述的方法。

上述一个或多个实施例具有如下优点或有益效果:可以至少部分地解决通用模型不能针对每个用户进行个性化推荐,精准度较低的问题,通过获得所述移动端中的第一行为数据,能够提取更加符合第一用户特点的特征,因此基于第一行为数据对通用排序模型进行训练获得的第一排序模型,可以将n个推荐数据中第一用户更加关注的数据排列在前,从而实现针对第一用户的个性化推荐,提高推荐精确度,并且第一行为数据无需上传到服务端,能够提升用户数据的安全性。

附图说明

通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:

图1示意性示出了根据本公开实施例的可以应用推荐方法的示例性系统架构;

图2示意性示出了根据本公开的实施例的应用于移动端的推荐方法的流程图;

图3示意性示出了根据本公开的实施例的获得第一排序模型的流程图;

图4示意性示出了根据本公开的另一实施例的应用于移动端的推荐方法的流程图;

图5示意性示出了根据本公开的又一实施例的应用于移动端的推荐方法的流程图;

图6示意性示出了根据本公开的又一实施例的应用于服务端的推荐方法的流程图;

图7示意性示出了根据本公开的实施例的应用于服务端的推荐方法的流程图;

图8示意性示出了根据本公开的实施例的获得第二排序模型的流程图;

图9示意性示出了根据本公开的实施例的获得升级排序模型的流程图;

图10示意性示出了根据本公开的实施例的应用于移动端的推荐装置的框图;

图11示意性示出了根据本公开的实施例的应用于服务端的推荐装置的框图;

图12示意性示出了根据本公开的实施例的推荐系统的架构图;以及

图13示意性示出了根据本公开实施例的适于推荐方法和装置的计算机系统的方框图。

具体实施方式

以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。

为了更清楚的描述本公开的实施例,对本公开中相关术语进行以下解释:

“第一用户”指使用移动端的用户;

“第二用户”指服务端存储有其历史行为数据的用户,其中,服务端可以在第二用户使用移动端与其进行数据交互的过程中,获取并存储其历史行为数据,也可以通过其他途径获取其历史行为数据并存储,第二用户可以包括第一用户;

“第三用户”指服务端存储有其历史行为数据的用户,其中,其中,服务端可以在第三用户使用移动端进行数据交互的过程中,获取并存储其历史行为数据,也可以通过其他途径获取其历史行为数据并存储,第三用户可以包括第一用户和第二用户;

“通用排序模型”指可以适用于每个用户的排序模型,其中,通用排序模型可以为移动端在网络上获取的模型,也可以为服务端提供的第二排序模型或升级排序模型;

“第二排序模型”指服务端基于m个第二用户的第二行为数据对初始排序模型进行训练获得的排序模型;

“升级排序模型”指服务端基于s个第三用户的第三行为数据对第二排序模型或初始排序模型进行训练获得的排序模型,其中,升级排序模型的性能高于第二排序模型;

“数据推荐请求”指移动端向服务端获取相关数据的请求。数据推荐请求的内容例如可以包括获取推荐数据的信息,获取第二排序模型的信息或者获取第三排序模型的信息;

“第一行为数据”指第一用户在操作移动端的过程中,移动端响应上述操作而在本地产生并存储的数据,和/或响应上述操作与服务端进行交互在本地产生并存储的数据;

“定制训练数据”指第一用户主动参与输入的偏好数据;

“第一排序模型”指在移动端中利用第一用户的第一行为数据对通用排序模型进行训练获得的排序模型,其中,一个第一用户可以具有一个对应的第一排序模型。

相关技术中,推荐模型可以包括召回模型和排序模型。例如在电商领域中,首先可以使用多个用户的历史购买产品信息和交易行为等数据进行训练,获得通用的召回模型。然后基于用户、产品、历史交易等数据,训练通用的排序模型。

通常将上述召回模型和排序模型部署在服务端中,进行推荐时可以执行以下操作:在接收到移动端的数据推荐请求后,服务端可以利用召回模型,基于数据推荐请求获取用户感兴趣的多个召回预测数据。然后利用排序模型对多个召回预测数据进行排序,例如可以对多个召回预测数据进行打分,按照每个召回预测数据的分数值由高到低进行排序。最后,将排序后的数据发送到移动端,以展示给用户。

相关技术中,无论是召回模型还是排序模型都是基于大规模的用户历史数据,在服务端训练获得的通用模型。因此,通用模型在进行推荐时基于各个用户类型的共性进行推荐,例如男性优先推荐刮胡刀、汽车或游戏电脑等,女性优先推荐化妆品或衣服等。尽管通过分类的方式把不同用户进行分类,但其颗粒度并没有细化到个人的级别。

本公开的实施例提供了一种应用于移动端的推荐方法。推荐方法包括:响应第一用户的操作,向服务端发送数据推荐请求。接收服务端基于数据推荐请求发送的n个推荐数据,其中,n为大于或等于2的整数。利用第一排序模型对n个推荐数据进行排序,其中,第一排序模型包括:在移动端中,基于第一用户的第一行为数据对通用排序模型进行训练获得的排序模型,通用排序模型为适用于多个不同用户的排序模型。以及基于排序后的n个推荐数据进行推荐。

根据本公开的实施例,召回模型可以部署在服务端,第一排序模型部署在移动端,其中,推荐数据可以包括召回模型输出的召回预测数据。在本公开的一些实施例中,召回模型和第一排序模型可以同时部署在移动端,其中,召回模型可以包括在移动端中基于第一用户的第一行为数据对通用召回模型进行训练获得的排序模型,召回模型可以对推荐数据进一步处理获得召回预测数据。

利用本公开实施例的推荐方法,通过获得移动端中的第一行为数据,能够提取更加符合第一用户特点的特征,因此基于第一行为数据对通用排序模型进行训练获得的第一排序模型,可以将n个推荐数据中第一用户更加关注的数据排列在前,从而实现针对第一用户的个性化推荐,提高推荐精确度。

需要说明的是,本公开实施例提供的推荐方法、装置、电子设备和存储介质可用于人工智能领域或金融领域等在社交、新闻、电商、音视频或广告推送等平台进行数据推荐。本公开实施例提供推荐方法、装置、电子设备和存储介质的应用领域不做限定。

图1示意性示出了根据本公开实施例的可以应用推荐方法的示例性系统架构100。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。

如图1所示,根据该实施例的系统架构100可以包括终端设备(即移动端)101、102、103,网络104和服务器(即服务端)105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。

终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。

服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的数据推荐请求等进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或推荐数据等)反馈给终端设备。

需要说明的是,本公开实施例所提供的应用于移动端的推荐方法一般可以由终端设备101、102、103中的至少一个执行。相应地,本公开实施例所提供的应用于移动端的推荐装置一般可以设置于终端设备101、102、103的至少一个中。另外,本公开实施例所提供的应用于服务端的推荐方法一般可以由服务器105执行。相应地,本公开实施例所提供的应用于服务端的推荐装置一般可以设置于服务器105中。本公开实施例所提供的应用于服务端的推荐方法也可以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的应用于服务端的推荐装置也可以没置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。

应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

下面结合图2~图9,以召回模型部署在服务端,第一排序模型部署在移动端为例,说明本公开实施例的推荐方法的详细流程。

图2示意性示出了根据本公开的实施例的应用于移动端的推荐方法的流程图。

如图2所示,本公开实施例的推荐方法可以包括操作s210~操作s240。

在操作s210,响应第一用户的操作,向服务端发送数据推荐请求。

根据本公开的实施例,参照图1,例如第一用户使用终端设备101中的a应用,其中,a应用可以为金融类应用,能够提供理财产品的购买服务。第一用户点击a应用后,可以向第一用户展示“优选推荐”界面,可以在首次展示“优选推荐”界面时,或者接收到第一用户的“刷新”操作后,向服务器105发送数据推荐请求。

在操作s220,接收服务端基于数据推荐请求发送的n个推荐数据,其中,n为大于或等于2的整数。

根据本公开的实施例,例如第一用户之前查询过基金类理财,服务器105可以根据第一用户的历史查询信息,基于数据推荐请求发送包括多个基金产品的推荐数据。其中,推荐数据可以包括召回模型输出的多个召回预测数据,例如召回模型根据第一用户预先填写的理财评估信息,可以对数据库中的理财产品进行召回预测。具体地,召回模型可以首先确定第一用户能够接受高风险的理财产品,然后可以输出混合型基金、股票基金等产品。

在操作s230,利用第一排序模型对n个推荐数据进行排序,其中,第一排序模型包括:在移动端中,基于第一用户的第一行为数据对通用排序模型进行训练获得的排序模型。

根据本公开的实施例,通用排序模型可以是移动端通过网络资源获得的排序模型,例如该通用排序模型是通过网络上开源数据库的用户行为数据对初始排序模型进行了训练获得,具有基本的数据排序能力。

根据本公开的实施例,移动端在获取到通用排序模型后,首先获取第一用户在使用a应用过程中产生的第一行为数据,该第一行为数据存储在移动端中,例如第一行为数据可以包括第一用户浏览某个基金经理管理的基金的时间、次数,或者对某个基金产品进行过评论、点赞或指标分析等操作。然后,移动端对第一行为数据进行预处理,获得多个特征数据。最后,例如用户使用的终端设备101为手机,该手机内可以安装有高性能的芯片,移动端可以调用芯片进行高速的、大数据量的模型训练,能够基于多个特征数据对通用排序模型进行训练获得第一排序模型。

在操作s240,基于排序后的n个推荐数据进行推荐。

根据本公开的实施例,例如第一排列模型对n个股票基金进行排序,具体地,例如第一排列模型可以对股票基金的平均年收益率、同类基金排名、基金规模或基金经理等赋予不同的权重,并对各个股票基金进行赋分并进行排序。最后,将排序后的n个股票基金展示在“优选推荐”界面。

根据本公开的实施例,通过获得移动端中的第一行为数据,能够提取更加符合第一用户特点的特征,因此基于第一行为数据对通用排序模型进行训练获得的第一排序模型,可以将n个推荐数据中第一用户更加关注的数据排列在前,从而实现针对第一用户的个性化推荐,提高推荐精确度,并且第一行为数据无需上传到服务端,即保证数据的安全性,又降低了传输消耗。

图3示意性示出了根据本公开的实施例的操作s230中获得第一排序模型的流程图。

如图3所示,操作s230中,在移动端中基于第一用户的第一行为数据对通用排序模型进行训练可以包括操作s310~操作s320。

在操作s310,接收第一用户输入的定制训练数据。

在操作s320,基于第一行为数据和定制训练数据对通用排序模型进行训练获得第一排序模型。

根据本公开的实施例,例如第一用户使用a应用时,可以向第一用户展示“定制个性化推荐”界面,该界面可以提示第一用户较为感兴趣的内容,例如当前感兴趣的理财产品类型、收益率区间、产品交易周期、产品品牌、产品供应商等。第一用户通过该界面输入的数据作为定制训练数据,移动端可以基于第一行为数据和定制训练数据对通用排序模型进行训练,以获得第一排序模型。在用户主动参与输入偏好数据的情况下,基于服务端提供的通用模型,在移动端进行二次增强训练,能够形成用户个性化定制的一人一面的个性化推荐模型。

在本公开的一些实施例中,移动端可以向服务端请求获得第一用户的个人历史交易数据,基于第一行为数据、个人历史交易数据和定制训练数据对通用排序模型进行训练获得第一排序模型。然后,第一用户在使用移动端的过程中,会产生新的第一行为数据和个人历史交易数据,移动端可以定时对第一排序模型进行更新训练。其中,第一用户可以随时输入信息的定制训练数据,以使得移动端对第一排序模型进行实时训练。

相关技术中,通用排序模型的训练数据均采用已有的用户历史数据,并通过人工基于经验对特征数据进行筛选,但是没有用户的主动参与。根据本公开的实施例,在用户通过应用界面主动参与输入偏好数据的情况下,不仅包括用户的历史数据,还能融入用户主动反馈数据,对历史数据进行补充,更加符合个性化模型定制的要求,从当前的多人一模型,实现更精准的一人一模型,进一步提升了推荐精准度,增加了与用户的互动,并提升用户体验。

图4示意性示出了根据本公开的另一实施例的应用于移动端的推荐方法的流程图。

如图4所示,本公开实施例的推荐方法可以包括操作s210~操作s240,在操作210中向服务端发送数据推荐请求之前,本公开实施例的推荐方法还可以包括操作s410~操作s420。其中,可以参照图2中操作s210~操作s240的内容,在此不做赘述。

在操作s410,查询移动端中的模型状态标识,其中,模型状态标识用于表征移动端中排序模型的状态。

根据本公开的实施例,可以根据移动端中存储的推荐模型的状态设置对应的模型状态标识。例如移动端中没有第一排序模型时,将变量“modelstate”赋值为“0”,移动端中存在第一排序模型时,将变量“modelstate”赋值为“1”。

在操作s420,基于模型状态标识确定数据推荐请求的内容。

根据本公开的实施例,移动端可以定时查询模型状态标识,并基于查询到的模型状态标识提前确定好数据推荐请求的内容。在本公开的一些实施例中,移动端可以在a应用接收到第一用户的操作后,响应该操作去查询模型状态标识,对数据推荐请求的内容进行实时确定。其中,数据推荐请求的形式例如为【请求排序模型,请求推荐数据】,以“请求排序模型”为例,移动端可以基于模型状态标识确定“请求排序模型”对应的内容,例如为空值时表征不获取模型,例如还可以确定为请求第二排序模型或者升级排序模型。

图5示意性示出了根据本公开的又一实施例的应用于移动端的推荐方法的流程图。

如图5所示,本公开实施例的推荐方法可以包括操作s410、以及操作s210~操作s240,还可以包括操作s510~操作s550。其中,可以参照图2中操作s210~操作s240的内容,在此不做赘述。

在操作s410,查询移动端中的模型状态标识,其中,模型状态标识用于表征移动端中排序模型的状态。

在操作s510,基于模型状态标识判断移动端中是否包括第一排序模型,当模型状态标识表征移动端中不包括第一排序模型时,执行操作s520。当模型状态标识表征移动端中包括第一排序模型时,执行操作s530。

在操作s520,当模型状态标识表征移动端中不包括第一排序模型时,确定数据推荐请求的内容包括获取第二排序模型。其中,通用排序模型包括第二排序模型,第二排序模型通过在服务端中基于m个第二用户的第二行为数据对初始排序模型进行训练获得,m为大于或等于1的整数。然后,如图5所示,可以执行操作s210~操作s240。

根据本公开的实施例,参照图1,例如服务器105存储了使用a应用的多个第二用户的第二行为数据。第二行为数据可以包括理财产品的交易信息、产品信息、赎回周期或理财产品配置等数据。因此,服务端提供的第二排序模型能够更加契合各个类型用户的实际偏好,具有更高的精确度。

根据本公开的实施例,移动端可以在接收服务端发送的第二排序模型后,基于第一行为数据和/或定制训练数据进行增强型训练,最终获得契合第一用户偏好的第一排序模型。

在操作s530,向服务端发送模型升级请求。

在操作s540,接收服务端发送的模型升级信息。

在操作s550,当模型升级信息包括升级排序模型的信息时,确定数据推荐请求的内容包括获取升级排序模型,通用排序模型包括升级排序模型。其中,升级排序模型通过在服务端中基于s个第三用户的第三行为数据对第二排序模型或初始排序模型进行训练获得,s为大于或等于1的整数。然后,如图5所示,可以执行操作s210~操作s240。

根据本公开的实施例,升级排序模型可以是服务端在获得第二排序模型后,通过获取更大规模数据量的第三行为数据进一步训练获得模型。也可以是服务端对第三行为数据(此时第三行为数据可以与第二行为数据相同)采用更加优化的数据处理方式,获得更符合用户特点的多个特征数据后,对初始排序模型进行训练获得的排序模型。其中,初始排序模型可以包括逻辑回归算法模型、线性算法模型等现有的或未来将要开发的模型,本公开不对其进行限定。

图6示意性示出了根据本公开的又一实施例的应用于服务端的推荐方法的流程图。

如图6所示,当数据推荐请求的内容包括获取升级排序模型时,本公开实施例的推荐方法可以包括操作s210、操作s220和操作s240,以及操作s610~操作s630。

在操作s210,响应第一用户的操作,向服务端发送数据推荐请求。

在操作s220,接收服务端基于数据推荐请求发送的n个推荐数据,其中,n为大于或等于2的整数。

在操作s610,接收服务端基于数据推荐请求发送的升级排序模型。

在操作s620,基于第一行为数据对升级排序模型进行训练,以获得升级后的第一排序模型。

在操作s630,基于升级后的第一排序模型对n个推荐数据进行排序。

在操作s240,基于排序后的n个推荐数据进行推荐。

根据本公开的实施例,移动端在接收到的升级排序模型后,利用第一行为数据和/或定制训练数据对升级排序模型进行训练,获得升级后的第一排序模型,能够动态提高推荐精确度,提高用户体验。

虽然上文以特定的顺序描述了方法的各个操作,然而本公开的实施例不限于此,上述操作可以根据需要以其他顺序执行。例如步骤s220可以在步骤s610之后执行,也可以同时执行。

图7示意性示出了根据本公开的实施例的应用于服务端的推荐方法的流程图。

如图7所示,本公开实施例的推荐方法可以包括操作s710~操作s730。

在操作s710,接收移动端发送的数据推荐请求。

在操作s720,基于数据推荐请求获取n个推荐数据,其中,n为大于或等于2的整数。

在操作s730,将n个推荐数据发送给移动端,以使得移动端利用第一排序模型对n个推荐数据进行排序,其中,第一排序模型包括:在移动端中,基于第一用户的第一行为数据对通用排序模型进行训练获得的排序模型。

根据本公开的实施例,参照图1,用户使用终端设备101上的a应用,服务器105可以为a应用提供服务。因此,在服务器105接收到a应用发送的数据推荐请求后,可以获取n个推荐数据并发送给终端设备101,并在a应用进行展示。其中,移动端利用第一排序模型对n个推荐数据进行排序可以参照操作s230,在此不做赘述。

根据本公开的实施例,由于第一排序模型存储在移动端,有助于减少占用服务端的存储空间,以及服务端的管理复杂度。

图8示意性示出了根据本公开的实施例的获得第二排序模型的流程图。

如图8所示,本公开实施例中获得第二排序模型可以包括操作s810~操作s820。其中,通用排序模型可以包括第二排序模型。

在操作s810,获取m个第二用户的第二行为数据,其中,m为大于或等于1的整数。

在操作s820,基于第二行为数据对初始排序模型进行训练来获得第二排序模型。

根据本公开的实施例,服务端可以在接收到数据推荐请求后进行分析,当数据查询请求的内容包括获取第二排序模型时,将第二排序模型发送给移动端。其中,服务端将第二排序模型发送给移动端后,直接在移动端即可完成模型定制,能够有效保护用户个人隐私,防止用户数据通过网络传输,并减少了网络流量消耗。

图9示意性示出了根据本公开的实施例的获得升级排序模型的流程图。

如图9所示,在获得第二排序模型之后,本公开实施例中获得升级排序模型可以包括操作s910~操作s920。其中,通用排序模型可以包括升级排序模型。

在操作s910,获取s个第三用户的第三行为数据,其中,s为大于或等于1的整数。

在操作s920,基于第三行为数据对第二排序模型或初始排序模型进行训练来获得升级排序模型。

根据本公开的实施例,升级排序模型可以是服务端在获得第二排序模型后,通过获取更大规模数据量的第三行为数据进一步训练获得模型。也可以是服务端对第三行为数据(此时第三行为数据可以与第二行为数据相同)采用更加优化的数据处理方式,获得更符合用户特点的多个特征数据后,对初始排序模型进行训练获得的排序模型。

根据本公开的实施例,当数据查询请求的内容包括获取升级排序模型时,将升级排序模型发送给移动端。在本公开的一些实施例中,在服务端获得升级排序模型之后,可以响应移动端发送的模型升级请求,向服务端发送模型升级信息。然后,移动端可以基于模型升级信息,确定数据查询请求的内容包括获取升级排序模型。在本公开的另一些实施例中,可以在获得升级排序模型后直接通知移动端,使得移动端在收到通知信息后,确定数据查询请求的内容包括获取升级排序模型。

根据本公开的实施例,服务端可以对通用推荐模型进行迭代升级,例如升级排序模型可以视为第二排序模型,服务端可以再次进行增强训练来获得进一步的升级排序模型并发送给移动端。从而能够不断提高推荐精确度,提升用户体验。

图10示意性示出了根据本公开的实施例的应用于移动端的推荐装置的框图。

如图10所示,推荐装置1000包括请求发送模块1010、数据接收模块1020、数据排序模块1030和数据推荐模块1040。

请求发送模块1010例如可以执行操作s210,用于响应第一用户的操作,向服务端发送数据推荐请求。

数据接收模块1020例如可以执行操作s220,用于接收服务端基于数据推荐请求发送的n个推荐数据,其中,n为大于或等于2的整数。

数据排序模块1030例如可以执行操作s230,用于利用第一排序模型对n个推荐数据进行排序,其中,第一排序模型包括:在移动端中,基于第一用户的第一行为数据对通用排序模型进行训练获得的排序模型,通用排序模型为适用于多个不同用户的排序模型。

数据推荐模块1040例如可以执行操作s240,用于基于排序后的n个推荐数据进行推荐。

根据本公开的实施例,推荐装置1000还可以包括定制数据输入模块和模型训练模块。定制数据输入模块例如可以执行操作s310,用于接收第一用户输入的定制训练数据,模型训练模块例如可以执行操作s320,用于基于第一行为数据和定制训练数据对通用排序模型进行训练获得第一排序模型。

根据本公开的实施例,推荐装置1000还可以包括模型管理模块。模型管理模块例如可以执行操作s410~操作s420,用于在向服务端发送数据推荐请求之前,查询移动端中的模型状态标识,其中,模型状态标识用于表征移动端中排序模型的状态。基于模型状态标识确定数据推荐请求的内容。

根据本公开的实施例,模型管理模块例如可以执行操作s520,用于当模型状态标识表征移动端中不包括第一排序模型时,确定数据推荐请求的内容包括获取第二排序模型。其中,第二排序模型通过在服务端中基于m个第二用户的第二行为数据对初始排序模型进行训练获得,m为大于或等于1的整数。

根据本公开的实施例,模型管理模块例如还可以执行操作s530~操作s540,用于当模型状态标识表征移动端中包括第一排序模型时,在基于模型状态标识确定数据推荐请求的内容之前,包括:向服务端发送模型升级请求。接收服务端发送的模型升级信息。

根据本公开的实施例,模型管理模块例如还可以执行操作s550,用于当模型升级信息包括升级排序模型的信息时,确定数据推荐请求的内容包括获取升级排序模型。其中,升级排序模型通过在服务端中基于s个第三用户的第三行为数据对第二排序模型或初始排序模型进行训练获得,s为大于或等于1的整数。

根据本公开的实施例,推荐装置1000还可以包括模型升级模块。模型升级模块例如可以执行操作610~操作630,用于接收服务端基于数据推荐请求发送的升级排序模型。其中,利用第一排序模型对n个推荐数据进行排序包括:基于第一行为数据对升级排序模型进行训练,以获得升级后的第一排序模型。基于升级后的第一排序模型对n个推荐数据进行排序。

图11示意性示出了根据本公开的实施例的应用于服务端的推荐装置的框图。

如图11所示,推荐装置1100包括请求接收模块1110、数据获取模块1120和数据发送模块1130。

请求接收模块1110例如可以执行操作s710,用于接收移动端发送的数据推荐请求。

数据获取模块1120例如可以执行操作s720,用于基于数据推荐请求获取n个推荐数据,其中,n为大于或等于2的整数。

数据发送模块1110例如可以执行操作s730,用于将n个推荐数据发送给移动端,以使得移动端利用第一排序模型对n个推荐数据进行排序,其中,第一排序模型包括:在移动端中,基于第一用户的第一行为数据对通用排序模型进行训练获得的排序模型,通用排序模型为适用于多个不同用户的排序模型。

根据本公开的实施例,数据发送模块1110例如可以执行操作s810~操作s820,用于获取m个第二用户的第二行为数据,其中,m为大于或等于1的整数。基于第二行为数据对初始排序模型进行训练来获得第二排序模型。其中,当数据查询请求的内容包括获取第二排序模型时,将第二排序模型发送给移动端。

根据本公开的实施例,数据发送模块1110例如还可以执行操作s910~操作s920,用于在获得第二排序模型之后,获取s个第三用户的第三行为数据,其中,s为大于或等于1的整数。基于第三行为数据对第二排序模型或初始排序模型进行训练来获得升级排序模型。其中,当数据查询请求的内容包括获取升级排序模型时,将升级排序模型发送给移动端。

图12示意性示出了根据本公开的实施例的推荐系统1200的架构图。其中,推荐装置1210是推荐装置1000的其中一个实施例,推荐装置1220是推荐装置1100的其中一个实施例。

如图12所示,推荐系统1200包括可以应用于移动端的推荐装置1210,以及可以应用于服务端的推荐装置1220。

推荐装置1210可以包括数据预处理模块、定制数据输入模块、模型训练模块、模型升级模块、模型存储模块、模型管理模块、请求发送模块、数据接收模块、数据排序模块和数据推荐模块。具体如下。

定制数据输入模块可以用于提示并接收第一用户输入的定制训练数据。例如当用户希望定制个人推荐模型时,在移动端应用中选择“定制个性化推荐”功能,可以获取用户主动输入的一条或多条训练数据的槽位信息,并传入数据预处理模块。

数据预处理模块可以用于对定制训练数据、个人历史交易数据、第一行为数据进行预处理,获得训练模型所需要的特征数据。

模型训练模块可以用于基于定制训练数据、个人历史交易数据、第一行为数据中的至少一种对第二排序模型进行训练获得第一排序模型,并传入模型存储模块。其中,可以利用移动端的ai芯片执行训练操作。

模型升级模块可以用于基于定制训练数据、个人历史交易数据、第一行为数据中的至少一种对升级排序模型进行训练获得升级后第一排序模型,并传入模型存储模块。其中,可以利用移动端的ai芯片执行训练操作。

模型存储模块可以用于存储第二排序模型、第一排序模型和升级排序模型等模型。

模型管理模块可以用于基于模型存储模块生成模型状态标识,并将根据模型状态标识确定数据推荐请求的内容,然后传入请求发送模块。

如用户首次使用推荐系统,则向服务端请求该用户个人历史数据、通用排序模型及推荐数据。

如移动端没有第一排序模型,且非首次使用推荐系统,则向服务端请求通用排序模型及推荐数据。

如移动端没有第一排序模型,且已存储过通用排序模型,可以提示用户是否进行增强训练,若用户拒绝对通用排序模型进行增强训练,则仅向服务端请求推荐数据,使用通用排序模型进行排序。

如移动端有第一排序模型,且服务端有升级排序模型,则向服务端请求升级排序模型、历史交易数据及推荐数据。

如移动端有第一排序模型,且服务端无升级排序模型,则向服务端请求推荐数据。

需要说明的是,上述基于模型状态标识进行请求仅为示例,实际应用中,可以根据上述示例的变种,或者其他需求基于推荐系统1200进行灵活请求,本公开不对其进行限定。

请求发送模块可以用于向服务端发送数据推荐请求。

数据接收模块可以用于接收服务端发送的用户的个人历史数据、推荐数据、通用排序模型等。

数据排序模块可以用于调用模型存储模块中的第一排序模型,对推荐数据进行排序,并传入数据推荐模块。

数据推荐模块可以用于将排序后的多个推荐数据展示给第一用户。

推荐装置1220可以包括数据获取模块、请求接收模块、数据发送模块和通用模型处理模块。具体如下。

请求接收模块可以用于接收移动端发送的数据推荐请求并进行解析。

数据获取模块可以用于获取第一用户的历史交易数据、第二用户的第二行为数据或者第三用户的第三行为数据,以及推荐数据(例如产品清单数据)等。其中,数据获取模块可以将第二行为数据或者第三行为数据进行召回训练数据预处理或者排序训练数据预处理后传入通用模型处理模块。可以将第一用户的历史交易数据或推荐数据直接传入数据发送模块。

通用模型处理模块可以包括通用召回模型训练模块和通用排序模型训练模块,分别用于获得通用召回模型和通用排序模型,以及对已有的通用召回模型和通用排序模型进行升级。

数据发送模块可以用于将第一用户的历史交易数据或推荐数据发送到服务端。还可以用于将通用排序模型(例如第二排序模型或者升级排序模型)发送到服务端。

根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。

例如,推荐装置1000、推荐装置1100、推荐装置1210和推荐装置1200中的中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,推荐装置1000、推荐装置1100、推荐装置1210和推荐装置1200中的中的至少一个模块可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,推荐装置1000、推荐装置1100、推荐装置1210和推荐装置1200中的中的至少一个模块可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。

图13示意性示出了根据本公开实施例的适于推荐方法和装置的计算机系统的方框图。图13示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图13所示,根据本公开实施例的计算机系统1300包括处理器1301,其可以根据存储在只读存储器(rom)1302中的程序或者从存储部分1308加载到随机访问存储器(ram)1303中的程序而执行各种适当的动作和处理。处理器1301例如可以包括通用微处理器(例如cpu)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(asic)),等等。处理器1301还可以包括用于缓存用途的板载存储器。处理器1301可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。

在ram1303中,存储有系统1300操作所需的各种程序和数据。处理器1301、rom1302以及ram1303通过总线1304彼此相连。处理器1301通过执行rom1302和/或ram1303中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除rom1302和ram1303以外的一个或多个存储器中。处理器1301也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。

根据本公开的实施例,系统1300还可以包括输入/输出(i/o)接口1305,输入/输出(i/o)接口1305也连接至总线1304。系统1300还可以包括连接至i/o接口1305的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1306;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分1307;包括硬盘等的存储部分1308;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分1309。通信部分1309经由诸如因特网的网络执行通信处理。驱动器1310也根据需要连接至i/o接口1305。可拆卸介质1311,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1310上,以便于从其上读出的计算机程序根据需要被安装入存储部分1308。

根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1309从网络上被下载和安装,和/或从可拆卸介质1311被安装。在该计算机程序被处理器1301执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。

本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行本公开实施例所提供的方法的程序代码,当计算机程序产品在电子设备上运行时,该程序代码用于使电子设备实现本公开实施例所提供的推荐方法。

在该计算机程序被处理器1301执行时,执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。

在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分1309被下载和安装,和/或从可拆卸介质1311被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。

根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如java,c++,python,“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1