模型训练和选择推荐信息的方法和装置转让专利

申请号 : CN201910563240.5

文献号 : CN110276446A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈雅雪方晓敏王凡何径舟

申请人 : 北京百度网讯科技有限公司

摘要 :

本发明实施例提出一种模型训练和选择推荐信息的方法和装置,模型训练的方法包括:获取历史用户的场景特征和历史推荐列表,历史推荐列表包括按时序排列的多个历史推荐项以及各历史推荐项的真实反馈值;将场景特征、第一历史推荐项的真实反馈值以及第二历史推荐项关联构建训练样本;第二历史推荐项处于第一历史推荐项的下一时序;利用多个训练样本对初始模型进行训练,得到预测模型,预测模型用于获取推荐项的预测反馈值。本发明实施例由于利用上一时序历史推荐项的真实反馈值和下一时序历史推荐项作为训练样本训练模型,因此能够实现基于上一时序的反馈进行快速适应学习,在训练样本量较少的情况下仍能够得到准确获取推荐项预测反馈值的模型。

权利要求 :

1.一种模型训练的方法,其特征在于,包括:获取历史用户的场景特征和历史推荐列表,所述历史推荐列表包括按时序排列的多个历史推荐项,以及各所述历史推荐项的真实反馈值;

将所述场景特征、第一历史推荐项的真实反馈值以及第二历史推荐项关联,构建训练样本;所述第二历史推荐项处于所述第一历史推荐项的下一时序;

利用多个所述训练样本对初始模型进行训练,得到预测模型,所述预测模型用于获取推荐项的预测反馈值。

2.根据权利要求1所述的方法,其特征在于,利用多个所述训练样本对初始模型进行训练,得到预测模型,包括:利用初始模型获取每个所述历史推荐项的预测反馈值;

计算每个所述历史推荐项的预测反馈值和真实反馈值之间的误差;

根据计算结果,调整所述初始模型的参数,得到所述预测模型。

3.根据权利要求1所述的方法,其特征在于,所述初始模型包括循环神经网络或深度神经网络。

4.根据权利要求1所述的方法,其特征在于,所述场景特征包括用户画像、用户发送请求时的网络环境和用户偏好信息中的至少一个。

5.根据权利要求1所述的方法,其特征在于,所述历史推荐项包括推荐项特征,所述推荐项特征包含推荐类型特征、推荐内容特征和推荐格式特征中的至少一个。

6.一种选择推荐信息的方法,其特征在于,包括:将目标用户的场景特征、历史推荐列表、所述历史推荐列表中最后一个历史推荐项的真实反馈值以及候选推荐项集合输入预测模型中,以获取所述候选推荐项集合中每个候选推荐项的预测反馈值;所述预测模型采用如权利要求1-5任一项所述方法得到的预测模型;

根据每个所述候选推荐项的预测反馈值,选取至少一个所述候选推荐项作为所述目标用户的推荐信息。

7.根据权利要求6所述的方法,其特征在于,还包括:获取目标用户的请求;

根据所述目标用户的请求,获取所述目标用户的场景特征、历史推荐列表以及候选推荐项集合。

8.根据权利要求6所述的方法,其特征在于,根据每个所述候选推荐项的预测反馈值,选取至少一个所述候选推荐项作为所述目标用户的推荐信息,包括:对预测反馈值符合阈值要求的各候选推荐项进行打分;

根据打分结果,选取得分最高的候选推荐项作为所述目标用户的推荐信息。

9.根据权利要求8所述的方法,其特征在于,还包括:将作为所述目标用户的推荐信息的候选推荐项加入所述历史推荐列表中,作为最新历史推荐项。

10.一种模型训练的装置,其特征在于,包括:获取模块,用于获取历史用户的场景特征和历史推荐列表,所述历史推荐列表包括按时序排列的多个历史推荐项,以及各所述历史推荐项的真实反馈值;

构建模块,用于将所述场景特征、第一历史推荐项的真实反馈值以及第二历史推荐项关联,构建训练样本;所述第二历史推荐项处于所述第一历史推荐项的下一时序;

训练模块,用于利用多个所述训练样本对初始模型进行训练,得到预测模型,所述预测模型用于获取推荐项的预测反馈值。

11.根据权利要求10所述的装置,其特征在于,训练模块包括:获取子模块,用于利用初始模型获取每个所述历史推荐项的预测反馈值;

计算子模块,用于计算每个所述历史推荐项的预测反馈值和真实反馈值之间的误差;

调整子模块,用于根据计算结果,调整所述初始模型的参数,得到所述预测模型。

12.一种选择推荐信息的装置,其特征在于,包括:第一获取模块,用于将目标用户的场景特征、历史推荐列表、所述历史推荐列表中最后一个历史推荐项的真实反馈值以及候选推荐项集合输入预测模型中,以获取所述候选推荐项集合中每个候选推荐项的预测反馈值;所述预测模型采用如权利要求10-11任一项所述装置得到的预测模型;

选取模块,用于根据每个所述候选推荐项的预测反馈值,选取至少一个所述候选推荐项作为所述目标用户的推荐信息。

13.根据权利要求12所述的装置,其特征在于,还包括:第二获取模块,用于获取目标用户的请求;

第三获取模块,用于根据所述目标用户的请求,获取所述目标用户的场景特征、历史推荐列表以及候选推荐项集合。

14.根据权利要求12所述的装置,其特征在于,选取模块包括:打分子模块,用于对预测反馈值符合阈值要求的各候选推荐项进行打分;

选取子模块,用于根据打分结果,选取得分最高的候选推荐项作为所述目标用户的推荐信息。

15.根据权利要求14所述的装置,其特征在于,还包括:更新模块,用于将作为所述目标用户的推荐信息的候选推荐项加入所述历史推荐列表中,作为最新历史推荐项。

16.一种模型训练的终端,其特征在于,包括:一个或多个处理器;

存储装置,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至5中任一项所述方法。

17.一种选择推荐信息的终端,其特征在于,包括:一个或多个处理器;

存储装置,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求6至9中任一项所述方法。

18.一种计算机可读存储介质,其存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至5和/或权利要求6至9中任一项所述方法。

说明书 :

模型训练和选择推荐信息的方法和装置

技术领域

[0001] 本发明涉及互联网技术领域,尤其涉及一种模型训练和选择推荐信息的方法和装置。

背景技术

[0002] 在信息过载的互联网时代,个性化推荐受到学术界和工业界的重视。个性化推荐是指不需要用户提供明确的需求,通过分析用户的历史行为给用户的兴趣建模,从而主动给用户推荐能够满足他们兴趣和需求的信息,并从用户的实际行为中得到推荐反馈。然而,不同用户的兴趣千差万别,他们的行为模式非常多样,难以只用一个模型就能概括所有用户的个性。而且当用户的训练样本量很少时,模型很难快速准确地对不同用户进行建模。

发明内容

[0003] 本发明实施例提供一种模型训练和选择推荐信息的方法和装置,以解决现有技术中的一个或多个技术问题。
[0004] 第一方面,本发明实施例提供了一种模型训练的方法,包括:
[0005] 获取历史用户的场景特征和历史推荐列表,所述历史推荐列表包括按时序排列的多个历史推荐项,以及各所述历史推荐项的真实反馈值;
[0006] 将所述场景特征、第一历史推荐项的真实反馈值以及第二历史推荐项关联,构建训练样本;所述第二历史推荐项处于所述第一历史推荐项的下一时序;
[0007] 利用多个所述训练样本对初始模型进行训练,得到预测模型,所述预测模型用于获取推荐项的预测反馈值。
[0008] 在一种实施方式中,利用多个所述训练样本对初始模型进行训练,得到预测模型,包括:
[0009] 利用初始模型获取每个所述历史推荐项的预测反馈值;
[0010] 计算每个所述历史推荐项的预测反馈值和真实反馈值之间的误差;
[0011] 根据计算结果,调整所述初始模型的参数,得到所述预测模型。
[0012] 在一种实施方式中,所述初始模型包括循环神经网络或深度神经网络。
[0013] 在一种实施方式中,所述场景特征包括用户画像、用户发送请求时的网络环境和用户偏好信息中的至少一个。
[0014] 在一种实施方式中,所述历史推荐项包括推荐项特征,所述推荐项特征包含推荐类型特征、推荐内容特征和推荐格式特征中的至少一个。
[0015] 第二方面,本发明实施例提供了一种选择推荐信息的方法,包括:
[0016] 将目标用户的场景特征、历史推荐列表、所述历史推荐列表中最后一个历史推荐项的真实反馈值以及候选推荐项集合输入预测模型中,以获取所述候选推荐项集合中每个候选推荐项的预测反馈值;所述预测模型采用第一方面任意实施方案中所述方法得到的预测模型;
[0017] 根据每个所述候选推荐项的预测反馈值,选取至少一个所述候选推荐项作为所述目标用户的推荐信息。
[0018] 在一种实施方式中,还包括:
[0019] 获取目标用户的请求;
[0020] 根据所述目标用户的请求,获取所述目标用户的场景特征、历史推荐列表以及候选推荐项集合。
[0021] 在一种实施方式中,根据每个所述候选推荐项的预测反馈值,选取至少一个所述候选推荐项作为所述目标用户的推荐信息,包括:
[0022] 对预测反馈值符合阈值要求的各候选推荐项进行打分;
[0023] 根据打分结果,选取得分最高的候选推荐项作为所述目标用户的推荐信息。
[0024] 在一种实施方式中,还包括:
[0025] 将作为所述目标用户的推荐信息的候选推荐项加入所述历史推荐列表中,作为最新历史推荐项。
[0026] 第三方面,本发明实施例提供了一种模型训练的装置,包括:
[0027] 获取模块,用于获取历史用户的场景特征和历史推荐列表,所述历史推荐列表包括按时序排列的多个历史推荐项,以及各所述历史推荐项的真实反馈值;
[0028] 构建模块,用于将所述场景特征、第一历史推荐项的真实反馈值以及第二历史推荐项关联,构建训练样本;所述第二历史推荐项处于所述第一历史推荐项的下一时序;
[0029] 训练模块,用于利用多个所述训练样本对初始模型进行训练,得到预测模型,所述预测模型用于获取推荐项的预测反馈值。
[0030] 在一种实施方式中,训练模块包括:
[0031] 获取子模块,用于利用初始模型获取每个所述历史推荐项的预测反馈值;
[0032] 计算子模块,用于计算每个所述历史推荐项的预测反馈值和真实反馈值之间的误差;
[0033] 调整子模块,用于根据计算结果,调整所述初始模型的参数,得到所述预测模型。
[0034] 第四方面,本发明实施例提供了一种选择推荐信息的装置,包括:
[0035] 第一获取模块,用于将目标用户的场景特征、历史推荐列表、所述历史推荐列表中最后一个历史推荐项的真实反馈值以及候选推荐项集合输入预测模型中,以获取所述候选推荐项集合中每个候选推荐项的预测反馈值;所述预测模型采用第三方面任意实施方式中所述装置得到的预测模型;
[0036] 选取模块,用于根据每个所述候选推荐项的预测反馈值,选取至少一个所述候选推荐项作为所述目标用户的推荐信息。
[0037] 在一种实施方式中,还包括:
[0038] 第二获取模块,用于获取目标用户的请求;
[0039] 第三获取模块,用于根据所述目标用户的请求,获取所述目标用户的场景特征、历史推荐列表以及候选推荐项集合。
[0040] 在一种实施方式中,选取模块包括:
[0041] 打分子模块,用于对预测反馈值符合阈值要求的各候选推荐项进行打分;
[0042] 选取子模块,用于根据打分结果,选取得分最高的候选推荐项作为所述目标用户的推荐信息。
[0043] 在一种实施方式中,还包括:
[0044] 更新模块,用于将作为所述目标用户的推荐信息的候选推荐项加入所述历史推荐列表中,作为最新历史推荐项。
[0045] 第五方面,本发明实施例提供了一种模型训练的终端,所述模型训练的终端的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
[0046] 在一个可能的设计中,所述模型训练的终端的结构中包括处理器和存储器,所述存储器用于存储支持所述模型训练的终端执行上述模型训练的方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述模型训练的终端还可以包括通信接口,用于与其他设备或通信网络通信。
[0047] 第六方面,本发明实施例提供了一种选择推荐信息的终端,所述选择推荐信息的终端的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
[0048] 在一个可能的设计中,所述选择推荐信息的终端的结构中包括处理器和存储器,所述存储器用于存储支持所述选择推荐信息的终端执行上述选择推荐信息的方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述选择推荐信息的终端还可以包括通信接口,用于与其他设备或通信网络通信。
[0049] 第七方面,本发明实施例提供了一种计算机可读存储介质,用于存储模型训练和/或选择推荐信息的终端所用的计算机软件指令,其包括用于执行上述模型训练和/或选择推荐信息的方法所涉及的程序。
[0050] 上述技术方案中的一个技术方案具有如下优点或有益效果:本发明实施例由于利用上一时序历史推荐项的真实反馈值和下一时序历史推荐项作为训练样本训练模型,因此能够实现基于上一时序的反馈进行快速适应学习,在训练样本量较少的情况下仍能够得到准确获取推荐项预测反馈值的模型。
[0051] 上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本发明进一步的方面、实施方式和特征将会是容易明白的。

附图说明

[0052] 在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本发明公开的一些实施方式,而不应将其视为是对本发明范围的限制。
[0053] 图1示出根据本发明实施例的模型训练的方法的流程图。
[0054] 图2示出根据本发明实施例的模型训练的方法的步骤S300的具体流程图。
[0055] 图3示出根据本发明实施例的模型训练的方法的应用示例的流程图。
[0056] 图4示出根据本发明实施例的选择推荐信息的方法的流程图。
[0057] 图5示出根据本发明另一实施例的选择推荐信息的方法的流程图。
[0058] 图6示出根据本发明另一实施例的选择推荐信息的方法的流程图。
[0059] 图7示出根据本发明另一实施例的选择推荐信息的方法的流程图。
[0060] 图8示出根据本发明实施例的模型训练的装置的结构框图。
[0061] 图9示出根据本发明实施例的模型训练的装置的训练模块的结构框图。
[0062] 图10示出根据本发明实施例的选择推荐信息的装置的结构框图。
[0063] 图11示出根据本发明另一实施例的选择推荐信息的装置的结构框图。
[0064] 图12示出根据本发明实施例的选择推荐信息的装置的选取模块的结构框图。
[0065] 图13示出根据本发明另一实施例的选择推荐信息的装置的结构框图。
[0066] 图14示出根据本发明实施例的模型训练的终端的结构示意图。
[0067] 图15示出根据本发明实施例的选择推荐信息的终端的结构示意图。

具体实施方式

[0068] 在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本发明的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
[0069] 图1示出根据本发明实施例的模型训练的流程图。如图1所示,该模型训练的方法包括:
[0070] S100:获取历史用户的场景特征和历史推荐列表,历史推荐列表包括按时序排列的多个历史推荐项,以及各历史推荐项的真实反馈值。
[0071] 历史用户可以包括已经对其进行过推荐项推送,并且记录了其有关推荐项的操作的用户。历史用户的场景特征可以包括在对其推送推荐项前和/或推送推荐项后一定时间内历史用户所对应的场景特征。历史用户的历史推荐列表可以包括由已经向用户推送过的各历史推荐项所组成的列表,且各历史推荐项与历史用户的场景特征相关联。同一个历史推荐列表的中各历史推荐项可以包括同一类型的多个推荐项,也可以包括不同类型的多个推荐项。按时序排列的多个历史推荐项可以包括按各推荐项的推送时间依次排列的多个历史推荐项。也可以包括按预设时序规则依次排列的多个历史推荐项。历史推荐项的真实反馈值可以用于表示用户当时是否点击或查看了该历史推荐项。
[0072] 在一个示例中,历史用户的场景特征和历史推荐列表可以从用户历史日志中进行获取,也可以从数据库中进行获取。
[0073] 在一个示例中,场景特征可以包括用户画像、用户发送请求时的网络环境和用户偏好信息中的至少一个。需要说明的是,具体的场景特征可根据需要进行适应性选择和调整,并不限于本实施例中所举例说明的内容。用户画像中包括携带有用户信息的若干个标签。用户发送请求时的网络环境可以包括用户发送请求时的操作环境、所处应用界面等。用户偏好信息可以包括用户画像中各标签的具体信息,也可以包括用户画像之外的用户偏好信息。例如,历史用户的用户画像包括新闻标签,则用户偏好信息中可以包括用户具体偏好哪些类型的新闻。
[0074] 在一个示例中,历史推荐项可以包括推荐项特征,推荐项特征包括推荐类型特征、推荐内容特征和推荐格式特征中的至少一个。例如,当历史推荐项为有关于新闻的推荐项时,推荐项特征可以包括新闻类型特征、新闻内容特征以及新闻排版特征等。新闻排版特征可以包括新闻推送时新闻图片、新闻标题以及新闻摘要等排布位置。
[0075] S200:将场景特征、第一历史推荐项的真实反馈值以及第二历史推荐项关联,构建训练样本。第二历史推荐项处于第一历史推荐项的下一时序。需要说明的是,第一历史推荐项和第二历史推荐项均为历史推荐列表中的历史推荐项。
[0076] 在一个示例中,历史推荐列表中包括按推送时间顺序依次排列的历史推荐项A、历史推荐项B、历史推荐项C和历史推荐项D。当将历史推荐项B作为“第二历史推荐项”时,则需要将历史推荐项A的真实反馈值作为“第一历史推荐项的真实反馈值”。当将历史推荐项A作为“第二历史推荐项”时,由于历史推荐项A的上一时序不存在历史推荐项,因此将“第一历史推荐项的真实反馈值”记做0。
[0077] S300:利用多个训练样本对初始模型进行训练,得到预测模型,预测模型用于获取推荐项的预测反馈值。预测反馈值可以理解为模型预测出的用户是否会点击或查看推荐项的概率。
[0078] 在一个示例中,初始模型可以包括循环神经网络(RNN,Recurrent Neural Network)或深度神经网络(DNN,Deep Neural Network)。需要说明的是,初始模型的结构可以采用现有技术中任一种神经网络,只要保证最终训练得到的预测模型能够实现获取推荐项的预测反馈值的功能即可。
[0079] 在一种实施方式中,如图2所示,利用多个训练样本对初始模型进行训练,得到预测模型,包括:
[0080] S310:利用初始模型获取每个历史推荐项的预测反馈值。
[0081] S320:计算每个历史推荐项的预测反馈值和真实反馈值之间的误差。每个历史推荐项的预测反馈值和真实反馈值之间的误差可利用损失函数计算。具体采用的损失函数可以根据需要进行选择。利用损失函数计算出的损失值即可用于表示预测反馈值和真实反馈值之间的误差。
[0082] S330:根据计算结果,调整初始模型的参数,得到预测模型。
[0083] 在一个示例中,根据计算结果,调整初始模型的参数,得到预测模型,包括:
[0084] S331:根据误差值,通过反向传播和梯度下降的方式,调整初始模型的各个参数。
[0085] S332:利用参数调整后的初始模型,再次获取每个历史推荐项的预测反馈值。
[0086] S333:重新计算每个历史推荐项的预测反馈值和真实反馈值之间的误差。
[0087] S334:若误差满足阈值要求时,则认为模型训练完成,得到预测模型。若误差不满足阈值要求,则重复步骤S331-S333。
[0088] 本发明的上述各实施例由于利用上一时序历史推荐项的真实反馈值和下一时序历史推荐项作为训练样本训练模型,因此能够实现基于上一时序的反馈进行快速适应学习,在训练样本量较少的情况下仍能够得到准确获取推荐项预测反馈值的模型。
[0089] 在一个示例中,在原有监督学习模型的基础上,通过增加额外的信息输入单元,构建元学习(Meta Learning)模型。并将元学习模型作为初始模型进行预测模型的训练。具体过程如下:
[0090] 1、构建训练样本集。训练样本集中的每个训练样本的结构为{用户场景特征(如用户画像,用户发送请求时的网络环境、用户最喜欢点击哪5种类型新闻等),用户历史推荐列表}。用户历史推荐列表里的每一项包括{推荐项特征,推荐项真实反馈}。推荐项特征包括新闻类型、新闻排版等。推荐项真实反馈为用户当时是否点击了推荐项。
[0091] 2、网络前馈过程。网络一次输入的格式为{用户场景特征,用户历史推荐列表},输出的格式为预测历史推荐列表,预测历史推荐列表中包括每个推荐项的预测反馈。其中,每个推荐项的预测反馈利用了上一个时刻的推荐项的真实反馈。
[0092] 3、网络反馈过程。利用预测历史推荐列表中各推荐项的预测反馈和用户历史推荐列表中各推荐项的真实反馈计算误差。根据误差进行反馈计算网络参数的梯度,从而利用梯度更新网络模型里的每一个参数。
[0093] 4、不断重复步骤2和3,直到网络模型的误差减小至满足阈值要求,从而得到训练好的预测模型。
[0094] 在一个可变化的实施例中,训练样本集中的每个训练样本的结构还可以为{用户场景特征,推荐项特征和推荐项真实反馈}。其中,推荐项特征来自用户历史推荐列表。
[0095] 在一个示例中,图3所示了模型训练的流程框图。历史推荐列表中包括按时序排列的多个历史推荐项以及每个历史推荐项的真实反馈。如图3所示,模型训练过程为:
[0096] 将用户场景特征和第一历史推荐项的第一推荐项特征输入到初始模型中进行处理,通过初始模型得到第一历史推荐项的推荐项反馈。推荐项反馈为用户是否点击了该第一推荐项的预测值。
[0097] 将用户场景特征、第二历史推荐项的第二推荐项特征、第一历史推荐项的真实反馈输入到初始模型中进行处理,通过初始模型得到第二历史推荐项的推荐项反馈。推荐项反馈为用户是否点击了该第二推荐项的预测值。
[0098] 依次将历史推荐列表中的各历史推荐项的推荐项特征、上一历史推荐项的真实反馈以及用户场景特征输入初始模型进行处理,得到各个历史推荐项的推荐项反馈。
[0099] 根据各历史推荐项的推荐项反馈和真实反馈调整模型参数,得到预测模型。
[0100] 图4示出根据本发明实施例的选择推荐信息的流程图。如图4所示,该选择推荐信息的方法包括:
[0101] S10:将目标用户的场景特征、历史推荐列表、历史推荐列表中最后一个历史推荐项的真实反馈值以及候选推荐项集合输入预测模型中,以获取候选推荐项集合中每个候选推荐项的预测反馈值。预测模型采用上述任一模型训练的方法实施例得到的预测模型。
[0102] 目标用户的历史推荐列表中包括已经向目标用户推送过的多个历史推荐项。每个历史推荐项均具有推荐项特征。候选推荐项集合中包括有多个待推荐各目标用户的候选推荐项。候选推荐项集合为根据目标用户以往的操作而得到的。每个候选推荐项的预测反馈值可以用于预测该候选推荐项被目标用户点击或查看的概率。
[0103] S20:根据每个候选推荐项的预测反馈值,选取至少一个候选推荐项作为目标用户的推荐信息。推荐信息可以理解为推送或展示给目标用户的包含推荐项相关内容的信息。
[0104] 需要说明的是,选取候选推荐项的规则可根据需要进行自定义。例如,选取预测反馈值靠前的一个或多个候选推荐项作为目标用户的推荐信息。
[0105] 在一种实施方式中,如图5所示,选择推荐信息的方法还包括:
[0106] S30:获取目标用户的请求。目标用户的请求可以包括目标用户点击操作所发送的请求。例如,目标用户点开应用程序的操作、查看网页链接的操作等。
[0107] S40:根据目标用户的请求,获取目标用户的场景特征、历史推荐列表以及候选推荐项集合。目标用户的场景特征和历史推荐列表可以从目标用户的历史日志中进行获取,也可以从数据库中进行获取。
[0108] 在一种实施方式中,如图6所示,根据每个候选推荐项的预测反馈值,选取至少一个候选推荐项作为目标用户的推荐信息,包括:
[0109] S21:对预测反馈值符合阈值要求的各候选推荐项进行打分。
[0110] S22:根据打分结果,选取得分最高的候选推荐项作为目标用户的推荐信息。
[0111] 在一种实施方式中,如图7所示,选择推荐信息的方法还包括:
[0112] S50:将作为目标用户的推荐信息的候选推荐项加入历史推荐列表中,作为最新历史推荐项。
[0113] 需要说明的是,推荐信息由于会推送给用户,因此当该推荐信息推送给目标用户之后,该推荐信息对应的候选推荐项则成为了历史推荐列表中的最后一个历史推荐项。而目标用户是否点击或查看了该推荐信息的结果则成为了该推荐信息对应的候选推荐项的真实反馈值。当再次接收到用户请求需要从候选推荐项集合中选择推荐信息时,上一个已经推送给用户的推荐信息的真实反馈值则作为历史推荐列表中的最后一个历史推荐项的真实反馈值。
[0114] 图8示出根据本发明实施例的模型训练的装置的结构框图。如图7所示,该模型训练的装置包括:
[0115] 获取模块10,用于获取历史用户的场景特征和历史推荐列表,历史推荐列表包括按时序排列的多个历史推荐项,以及各历史推荐项的真实反馈值。
[0116] 构建模块20,用于将场景特征、第一历史推荐项的真实反馈值以及第二历史推荐项关联,构建训练样本。第二历史推荐项处于第一历史推荐项的下一时序。
[0117] 训练模块30,用于利用多个训练样本对初始模型进行训练,得到预测模型,预测模型用于获取推荐项的预测反馈值。
[0118] 在一种实施方式中,如图9所示,训练模块30包括:
[0119] 获取子模块31,用于利用初始模型获取每个历史推荐项的预测反馈值。
[0120] 计算子模块32,用于计算每个历史推荐项的预测反馈值和真实反馈值之间的误差。
[0121] 调整子模块33,用于根据计算结果,调整初始模型的参数,得到预测模型。
[0122] 图10示出根据本发明实施例的选择推荐信息的装置的结构框图。如图9所示,该选择推荐信息的装置包括:
[0123] 第一获取模块100,用于将目标用户的场景特征、历史推荐列表、历史推荐列表中最后一个历史推荐项的真实反馈值以及候选推荐项集合输入预测模型中,以获取候选推荐项集合中每个候选推荐项的预测反馈值。预测模型采用第三方面任意实施方式中装置得到的预测模型。
[0124] 选取模块200,用于根据每个候选推荐项的预测反馈值,选取至少一个候选推荐项作为目标用户的推荐信息。
[0125] 在一种实施方式中,如图11所示,该选择推荐信息的装置还包括:
[0126] 第二获取模块300,用于获取目标用户的请求。
[0127] 第三获取模块400,用于根据目标用户的请求,获取目标用户的场景特征、历史推荐列表以及候选推荐项集合。
[0128] 在一种实施方式中,如图12所示,选取模块200包括:
[0129] 打分子模块210,用于对预测反馈值符合阈值要求的各候选推荐项进行打分。
[0130] 选取子模块220,用于根据打分结果,选取得分最高的候选推荐项作为目标用户的推荐信息。
[0131] 在一种实施方式中,如图13所示,该选择推荐信息的装置还包括:
[0132] 更新模块500,用于将作为目标用户的推荐信息的候选推荐项加入历史推荐列表中,作为最新历史推荐项。
[0133] 本发明实施例各装置中的各模块的功能可以参见上述方法中的对应描述,在此不再赘述。
[0134] 图14示出根据本发明实施例的模型训练的终端的结构框图。如图14所示,该终端包括:存储器910和处理器920,存储器910内存储有可在处理器920上运行的计算机程序。所述处理器920执行所述计算机程序时实现上述实施例中的模型训练的方法。所述存储器910和处理器920的数量可以为一个或多个。
[0135] 该终端还包括:
[0136] 通信接口930,用于与外界设备进行通信,进行模型训练的数据传输。
[0137] 存储器910可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
[0138] 如果存储器910、处理器920和通信接口930独立实现,则存储器910、处理器920和通信接口930可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(ISA,Industry Standard Architecture)总线、外部设备互连(PCI,Peripheral Component Interconnect)总线或扩展工业标准体系结构(EISA,Extended Industry Standard Architecture)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图14中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0139] 可选的,在具体实现上,如果存储器910、处理器920及通信接口930集成在一块芯片上,则存储器910、处理器920及通信接口930可以通过内部接口完成相互间的通信。
[0140] 图15示出根据本发明实施例的选择推荐信息的终端的结构框图。如图15所示,该终端包括:存储器810和处理器820,存储器810内存储有可在处理器820上运行的计算机程序。所述处理器820执行所述计算机程序时实现上述实施例中的选择推荐信息的方法。所述存储器810和处理器820的数量可以为一个或多个。
[0141] 该终端还包括:
[0142] 通信接口830,用于与外界设备进行通信,进行选择推荐信息的数据传输。
[0143] 存储器810可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
[0144] 如果存储器810、处理器820和通信接口830独立实现,则存储器810、处理器820和通信接口830可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(ISA,Industry Standard Architecture)总线、外部设备互连(PCI,Peripheral Component Interconnect)总线或扩展工业标准体系结构(EISA,Extended Industry Standard Architecture)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图15中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0145] 可选的,在具体实现上,如果存储器810、处理器820及通信接口830集成在一块芯片上,则存储器810、处理器820及通信接口830可以通过内部接口完成相互间的通信。
[0146] 本发明实施例提供了一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现上述实施例中任一所述方法。
[0147] 本发明上述各实施例的方法和装置能够更快更准确地捕捉用户兴趣与场景信息,提升针对于不同用户的推荐列表的质量。本发明上述各实施例的模型训练的方法和装置可利用少量已有用户样本中快速学习。本发明上述各实施例的选择推荐信息的方法和装置通过上一时刻的推荐项真实反馈进行快速适应,不需要迭代计算参数梯度更新梯度,所以学习速度很快。并且通过从上一时刻的反馈进行快速学习,并不会更新网络参数,因此不会出现灾难性干扰。将上述各实施例的模型训练的方法和装置得到的预测模型部署到线上十分简单,只需要给每一个时间步增加一个上一个时刻的反馈输入单元,并不需要进行反馈过程,因此不会影响预测速度及线上性能。
[0148] 在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0149] 此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
[0150] 流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
[0151] 在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式只读存储器(CDROM)。
另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
[0152] 应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
[0153] 本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0154] 此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。所述存储介质可以是只读存储器,磁盘或光盘等。
[0155] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。