首页> 中国专利> 召回模型生成、召回方法、装置、电子设备及存储介质

召回模型生成、召回方法、装置、电子设备及存储介质

摘要

本发明实施例提供了一种召回模型生成、召回方法、装置、电子设备及存储介质。召回模型生成方法包括:获取样本数据,样本数据包括样本用户的样本用户特征、样本对象的样本对象特征和样本标签;在预设初始模型中,基于所述样本用户特征和预先存储的所述样本用户的样本用户增强向量,生成所述样本用户的样本用户表示向量并输出,基于所述样本对象特征和预先存储的所述样本对象的样本对象增强向量,生成所述样本对象的样本对象表示向量并输出;基于所述初始模型的输出和所述样本标签判断是否训练完成;将训练完成的模型作为所述召回模型。本发明实施例能够提升召回模型的性能,提高召回结果的准确度。

著录项

  • 公开/公告号CN115239404A

    专利类型发明专利

  • 公开/公告日2022-10-25

    原文格式PDF

  • 申请/专利权人 北京三快在线科技有限公司;

    申请/专利号CN202110443178.3

  • 发明设计人 于延涛;冯周天;

    申请日2021-04-23

  • 分类号G06Q30/06(2012.01);G06K9/62(2022.01);G06N3/04(2006.01);

  • 代理机构北京润泽恒知识产权代理有限公司 11319;

  • 代理人莎日娜

  • 地址 100083 北京市海淀区北四环西路9号2106-030

  • 入库时间 2023-06-19 17:25:42

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-11-11

    实质审查的生效 IPC(主分类):G06Q30/06 专利申请号:2021104431783 申请日:20210423

    实质审查的生效

说明书

技术领域

本发明涉及互联网技术领域,特别是涉及一种召回模型生成、召回方法、装置、电子设备及存储介质。

背景技术

推荐系统被广泛地应用于电子商务场景中,它可以从大量候选对象中筛选出用户感兴趣的对象。这种大规模推荐中核心的挑战之一就是实时准确地对数千万甚至上亿个对象进行评分。

一种工业界常见的做法是将推荐系统视为两阶段体系结构,分别为召回阶段和排序阶段。其中,召回阶段首先从大型语料库中召回出一小部分相关候选对象,排序阶段则根据之前收集到的用户历史行为数据对召回的候选对象进行排序。显然,召回阶段召回的候选对象的质量会影响推荐系统的后续模块的效果,因此,提升召回阶段在大型语料库下的召回效果,对整个推荐系统的性能提升至关重要。

目前,在召回阶段通常利用召回模型进行召回。现有技术中的召回模型通常是分别对用户特征和对象特征进行独立分析,然后根据分析结果进行对象的召回。但是,该种召回模型的性能较差,召回结果的准确度较低。

发明内容

鉴于上述问题,本发明实施例提出了克服上述问题或者至少部分地解决上述问题的一种召回模型生成、召回方法、装置、电子设备及存储介质。

第一方面,本发明实施例公开了一种召回模型生成方法,包括:

获取样本数据;所述样本数据包括样本用户的样本用户特征、样本对象的样本对象特征和样本标签;

在预设初始模型中,基于所述样本用户特征和预先存储的所述样本用户的样本用户增强向量,生成所述样本用户的样本用户表示向量并输出,基于所述样本对象特征和预先存储的所述样本对象的样本对象增强向量,生成所述样本对象的样本对象表示向量并输出;

基于所述初始模型的输出和所述样本标签判断是否训练完成;

将训练完成的模型作为所述召回模型。

可选地,所述样本标签用于指示所述样本用户对所述样本对象的偏好程度;在未训练完成的情况下,所述方法还包括:针对每个样本用户,获取所述样本用户对应的样本标签指示为偏好的目标样本对象表示向量,将所述样本用户的样本用户增强向量拟合逼近所述目标样本对象表示向量;针对每个样本对象,获取所述样本对象对应的样本标签指示为偏好的目标样本用户表示向量,将所述样本对象的样本对象增强向量拟合逼近所述目标样本用户表示向量。

可选地,基于所述初始模型的输出和所述样本标签判断是否训练完成,包括:基于所述样本用户增强向量和所述样本对象表示向量,计算第一损失函数;基于所述样本对象增强向量和所述样本用户表示向量,计算第二损失函数;基于所述样本用户表示向量、所述样本对象表示向量和所述样本标签,计算第三损失函数;基于所述第一损失函数、所述第二损失函数和所述第三损失函数计算模型损失函数;基于所述模型损失函数判断是否训练完成。

可选地,所述样本用户表示向量和所述样本对象表示向量均为L2归一化后的向量;基于所述样本用户表示向量、所述样本对象表示向量和所述样本标签,计算第三损失函数,包括:计算所述样本用户表示向量和所述样本对象表示向量的点积相似度;基于所述点积相似度和所述样本标签计算交叉熵损失函数,作为所述第三损失函数。

可选地,所述初始模型包括用户侧子模型和对象侧子模型;在预设初始模型中,基于所述样本用户特征和预先存储的所述样本用户的样本用户增强向量,生成所述样本用户的样本用户表示向量并输出,基于所述样本对象特征和预先存储的所述样本对象的样本对象增强向量,生成所述样本对象的样本对象表示向量并输出,包括:将所述样本用户特征输入所述用户侧子模型,在所述用户侧子模型中基于所述样本用户特征和预先存储的所述样本用户的样本用户增强向量,生成所述样本用户的样本用户表示向量并输出;将所述样本对象特征输入所述对象侧子模型,在所述对象侧子模型中基于所述样本对象特征和预先存储的所述样本对象的样本对象增强向量,生成所述样本对象的样本对象表示向量并输出。

可选地,基于所述样本用户特征和预先存储的所述样本用户的样本用户增强向量,生成所述样本用户的样本用户表示向量,包括:对所述样本用户特征进行第一处理得到样本用户嵌入向量,将所述样本用户嵌入向量与所述样本用户增强向量拼接得到样本用户增强嵌入向量,对所述样本用户增强嵌入向量进行第二处理,得到所述样本用户表示向量;基于所述样本对象特征和预先存储的所述样本对象的样本对象增强向量,生成所述样本对象的样本对象表示向量,包括:对所述样本对象特征进行第一处理得到样本对象嵌入向量,将所述样本对象嵌入向量与所述样本对象增强向量拼接得到样本对象增强嵌入向量,对所述样本对象增强嵌入向量进行第二处理,得到所述样本对象表示向量。

第二方面,本发明实施例公开了一种召回方法,包括:

获取待处理用户的用户特征;

将所述用户特征输入预先生成的召回模型中的用户侧子模型,得到所述用户侧子模型输出的所述待处理用户的用户表示向量;所述召回模型通过如上任一项所述的召回模型生成方法生成;

获取预先存储的各对象的对象表示向量;任意一个对象的对象表示向量通过如下方式得到:将所述对象的对象特征输入所述召回模型中的对象侧子模型,得到所述对象侧子模型输出的所述对象的对象表示向量;

基于所述用户表示向量和所述各对象表示向量,为所述待处理用户召回目标对象。

可选地,所述用户表示向量和所述对象表示向量均为L2归一化后的向量;所述基于所述用户表示向量和所述各对象表示向量,为所述待处理用户召回目标对象,包括:计算所述用户表示向量分别与各对象表示向量的点积相似度;选取点积相似度最大的多个对象,作为所述目标对象。

第三方面,本发明实施例公开了一种召回模型生成装置,包括:

第一获取模块,用于获取样本数据;所述样本数据包括样本用户的样本用户特征、样本对象的样本对象特征和样本标签;

生成模块,用于在预设初始模型中,基于所述样本用户特征和预先存储的所述样本用户的样本用户增强向量,生成所述样本用户的样本用户表示向量并输出,基于所述样本对象特征和预先存储的所述样本对象的样本对象增强向量,生成所述样本对象的样本对象表示向量并输出;

判断模块,用于基于所述初始模型的输出和所述样本标签判断是否训练完成;

确定模块,用于将训练完成的模型作为所述召回模型。

可选地,所述样本标签用于指示所述样本用户对所述样本对象的偏好程度;所述装置还包括:第一更新模块,用于在未训练完成的情况下,针对每个样本用户,获取所述样本用户对应的样本标签指示为偏好的目标样本对象表示向量,将所述样本用户的样本用户增强向量拟合逼近所述目标样本对象表示向量;第二更新模块,用于针对每个样本对象,获取所述样本对象对应的样本标签指示为偏好的目标样本用户表示向量,将所述样本对象的样本对象增强向量拟合逼近所述目标样本用户表示向量。

可选地,所述判断模块包括:第一计算单元,用于基于所述样本用户增强向量和所述样本对象表示向量,计算第一损失函数;第二计算单元,用于基于所述样本对象增强向量和所述样本用户表示向量,计算第二损失函数;第三计算单元,用于基于所述样本用户表示向量、所述样本对象表示向量和所述样本标签,计算第三损失函数;第四计算单元,用于基于所述第一损失函数、所述第二损失函数和所述第三损失函数计算模型损失函数;函数判断单元,用于基于所述模型损失函数判断是否训练完成。

可选地,所述样本用户表示向量和所述样本对象表示向量均为L2归一化后的向量;所述第三计算单元,具体用于计算所述样本用户表示向量和所述样本对象表示向量的点积相似度;基于所述点积相似度和所述样本标签计算交叉熵损失函数,作为所述第三损失函数。

可选地,所述初始模型包括用户侧子模型和对象侧子模型;所述生成模块包括:第一生成单元,用于将所述样本用户特征输入所述用户侧子模型,在所述用户侧子模型中基于所述样本用户特征和预先存储的所述样本用户的样本用户增强向量,生成所述样本用户的样本用户表示向量并输出;第二生成单元,用于将所述样本对象特征输入所述对象侧子模型,在所述对象侧子模型中基于所述样本对象特征和预先存储的所述样本对象的样本对象增强向量,生成所述样本对象的样本对象表示向量并输出。

可选地,所述第一生成单元,具体用于对所述样本用户特征进行第一处理得到样本用户嵌入向量,将所述样本用户嵌入向量与所述样本用户增强向量拼接得到样本用户增强嵌入向量,对所述样本用户增强嵌入向量进行第二处理,得到所述样本用户表示向量;所述第二生成单元,具体用于对所述样本对象特征进行第一处理得到样本对象嵌入向量,将所述样本对象嵌入向量与所述样本对象增强向量拼接得到样本对象增强嵌入向量,对所述样本对象增强嵌入向量进行第二处理,得到所述样本对象表示向量。

第四方面,本发明实施例公开了一种召回装置,其特征在于,包括:

第二获取模块,用于获取待处理用户的用户特征;

预测模块,用于将所述用户特征输入预先生成的召回模型中的用户侧子模型,得到所述用户侧子模型输出的所述待处理用户的用户表示向量;所述召回模型通过如上任一项所述的召回模型生成方法生成;

第三获取模块,用于获取预先存储的各对象的对象表示向量;任意一个对象的对象表示向量通过如下方式得到:将所述对象的对象特征输入所述召回模型中的对象侧子模型,得到所述对象侧子模型输出的所述对象的对象表示向量;

召回模块,用于基于所述用户表示向量和所述各对象表示向量,为所述待处理用户召回目标对象。

可选地,所述用户表示向量和所述对象表示向量均为L2归一化后的向量;所述召回模块,具体用于计算所述用户表示向量分别与各对象表示向量的点积相似度;选取点积相似度最大的多个对象,作为所述目标对象。

第五方面,本发明实施例公开了一种电子设备,包括:一个或多个处理器;和其上存储有指令的一个或多个机器可读介质;当所述指令由所述一个或多个处理器执行时,使得所述处理器执行如上任一项所述的召回模型生成方法,或者执行如上任一项所述的召回方法。

第六方面,本发明实施例公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上任一项所述的召回模型生成方法,或者实现如上任一项所述的召回方法。

本发明实施例中,获取样本数据,所述样本数据包括样本用户的样本用户特征、样本对象的样本对象特征和样本标签;在预设初始模型中,基于所述样本用户特征和预先存储的所述样本用户的样本用户增强向量,生成所述样本用户的样本用户表示向量并输出,基于所述样本对象特征和预先存储的所述样本对象的样本对象增强向量,生成所述样本对象的样本对象表示向量并输出;基于所述初始模型的输出和所述样本标签判断是否训练完成;将训练完成的模型作为所述召回模型。由此可知,本发明实施例中的召回模型不再分别对用户特征和对象特征进行独立分析,而是对用户特征和用户增强向量进行联合分析,对对象特征和对象增强向量进行联合分析,其中,用户增强向量能够表征与该用户相关的对象信息,对象增强向量能够表征与该对象相关的用户信息,从而交互分析,能够提升召回模型的性能,提高召回结果的准确度。

附图说明

图1是现有技术的一种召回模型的结构示意图。

图2是本发明实施例的一种召回模型的结构示意图。

图3是本发明实施例的一种召回模型生成方法的步骤流程图。

图4是本发明实施例的一种召回方法的步骤流程图。

图5是本发明实施例的一种模型的离线效果示意图。

图6是本发明实施例的一种模型的线上效果示意图。

图7是本发明实施例的一种召回模型生成装置的结构框图。

图8是本发明实施例的一种召回装置的结构框图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

现有的工业级召回方法主要是使用双塔深度神经网络来构建召回模型。图1是现有技术的一种召回模型的结构示意图。如图1所示,其中左塔和右塔分别编码用户和商品,模型训练分成两座不同的“塔”同时进行,其实也就是两个不同的神经网络。其中用户侧的塔用于生成用户表示向量,输入是用户特征。商品侧的塔用于生成商品表示向量,输入是商品特征。每个塔将输入的特征会提供给各自塔的上层深度神经网络,用户特征和商品特征经过各自塔的深度神经网络后转化成了用户表示向量和商品表示向量。模型训练过程中根据余弦相似度来计算损失函数,查看网络是否收敛。但是,由于上述模型中商品塔与用户塔之间是相互独立的,所以该模型会缺少两个塔之间的信息交互(用户和商品之间的信息交叉),因此会阻碍模型的性能。

针对上述问题,本发明实施例提出了一种双向增强双塔模型作为召回模型。双向增强双塔模型是在双塔模型的基础上设计了两个增强向量分别来捕获另一塔中的用户与对象的交互信息,以此来建模两个塔之间的信息交互。图2是本发明实施例的一种召回模型的结构示意图。如图2所示,召回模型包括用户侧子模型(也可称为用户塔)和对象侧子模型(也可称为对象塔)。在用户侧子模型中不再单独对用户特征进行分析,而是对用户特征和用户增强向量进行联合分析,在对象侧子模型中不再单独对对象特征进行分析,而是对对象特征和对象增强向量进行联合分析。对于召回模型的具体分析,将在下文中结合图2进行说明。

需要说明的是,本发明实施例中的召回模型可以应用于对象召回过程中。对象召回可以应用于用户观看影片、用户浏览网页等多种场景下,召回的对象可以包括但不限于如下至少一种:商品、影视,等等。

参照图3,示出了本发明实施例的一种召回模型生成方法的步骤流程图。

如图3所示,召回模型生成方法可以包括以下步骤:

步骤301,获取样本数据,所述样本数据包括样本用户的样本用户特征、样本对象的样本对象特征和样本标签。

从互联网上获取大量历史数据,基于历史数据构建样本集。样本集中的每个样本数据可以包括一对样本用户和样本对象的相关信息。具体地,一个样本数据可以包括一个样本用户的样本用户特征、一个样本对象的样本对象特征和样本标签。

样本标签用于指示该样本数据中的样本用户对该样本数据中的样本对象的偏好程度。可选地,偏好程度可以为是否偏好,也可以为偏好分数。比如,如果该样本数据中的样本用户对该样本数据中的样本对象的偏好程度为是,则样本标签指示为偏好,比如可以设置样本标签为“1”;如果该样本数据中的样本用户对该样本数据中的样本对象的偏好程度为否,则样本标签指示为不偏好,比如可以设置样本标签为“0”,等等。

样本用户特征可以包括但不限于以下至少一种:用户描述特征、场景特征,等等。其中,用户描述特征可以包括但不限于以下至少一种:用户基本信息(比如用户标识(ID)、性别、年龄等)、用户历史行为记录(比如浏览时间等),等等。场景特征包括但不限于以下至少一种:地理位置、时间、天气等各种环境类特征,等等。

样本对象特征可以包括但不限于以下至少一种:对象描述特征、对象内容特征,等等。其中,对象描述特征可以包括但不限于以下至少一种:对象标识(ID)、品类、价格,等等。对象内容特征但不限于以下至少一种:对象评论、对象所属商家的描述,等等。

可选地,在构建样本集时,可以选取多个正向用户对象对(也即样本标签指示为偏好),对于每个正向用户对象对中的用户,可以从对象语料库中随机抽取S个对象,与此用户组成S对负向用户对象对(也即样本标签指示为不偏好),从而得到这S+1对用户对象对的数据,添加到样本集中。

在得到样本集后,利用样本集对初始模型进行训练。初始模型是指还未进行训练的模型,对初始模型训练完成后即得到召回模型。初始模型可以包括用户侧子模型、对象侧子模型等。

步骤302,在预设初始模型中,基于所述样本用户特征和预先存储的所述样本用户的样本用户增强向量,生成所述样本用户的样本用户表示向量并输出,基于所述样本对象特征和预先存储的所述样本对象的样本对象增强向量,生成所述样本对象的样本对象表示向量并输出。

在模型训练过程中,将所述样本用户特征输入用户侧子模型,在用户侧子模型中,基于输入的样本用户的样本用户特征和预先存储的该样本用户的样本用户增强向量,生成该样本用户的样本用户表示向量,用户侧子模型输出该样本用户表示向量。

可选地,基于所述样本用户特征和预先存储的所述样本用户的样本用户增强向量,生成所述样本用户的样本用户表示向量的过程,可以包括:对所述样本用户特征进行第一处理得到样本用户嵌入向量,将所述样本用户嵌入向量与所述样本用户增强向量拼接得到样本用户增强嵌入向量,对所述样本用户增强嵌入向量进行第二处理,得到所述样本用户表示向量。

如图2所示,在用户侧子模型中,可以包括映射嵌入层和双层增强层(图中未具体标明)。其中,双层增强层可以包括多个全连接层(图2中为一个全连接层,但实际上全连接层的个数并不限制为一个)、L2正则化层(也可称为L2归一化层)等。

用户侧子模型中的映射嵌入层用于对输入的用户特征(为了区分,在模型训练过程中称为样本用户特征,在模型使用过程中称为用户特征)进行映射嵌入操作(对应上述第一处理),得到用户嵌入向量(为了区分,在模型训练过程中称为样本用户嵌入向量,在模型使用过程中称为用户嵌入向量)。在实现中,用户特征可以包括稠密特征和稀疏特征,其中,稠密特征会进行one-hot编码操作,稀疏特征通过映射嵌入层进行嵌入降维映射成一个低维稠密向量,将得到的特征拼接为固定长度的向量。映射嵌入层主要是定义了一个嵌入矩阵E∈R

用户侧子模型中的双层增强层用于对用户嵌入向量进行处理,得到用户表示向量。

对于每个特定的用户,可以通过其ID创造一个独有的用户增强向量a

首先,将映射嵌入层输出的用户嵌入向量与预先存储的该用户对应的用户增强向量a

例如,如果用户特征“uid=253,city=SH,gender=male,…”,则可以得到用户增强嵌入向量z

z

其中,||表示向量拼接操作。这样用户增强嵌入向量z

然后,把用户增强嵌入向量z

h

h

p

其中,W

在模型训练过程中,将所述样本对象特征输入所述对象侧子模型,在对象侧子模型中,基于输入的样本对象的样本对象特征和预先存储的该样本对象的样本对象增强向量,生成该样本对象的样本对象表示向量,对象侧子模型输出该样本对象表示向量。

可选地,基于所述样本对象特征和预先存储的所述样本对象的样本对象增强向量,生成所述样本对象的样本对象表示向量的过程,可以包括:对所述样本对象特征进行第一处理得到样本对象嵌入向量,将所述样本对象嵌入向量与所述样本对象增强向量拼接得到样本对象增强嵌入向量,对所述样本对象增强嵌入向量进行第二处理,得到所述样本对象表示向量。

如图2所示,在对象侧子模型中,可以包括映射嵌入层和双层增强层(图中未具体标明)。其中,双层增强层可以包括多个全连接层(图2中为一个全连接层,但实际上全连接层的个数并不限制为一个)、L2正则化层(也可称为L2归一化层)等。

对象侧子模型中的映射嵌入层用于对输入的对象特征(为了区分,在模型训练过程中称为样本对象特征,在模型使用过程中称为对象特征)进行映射嵌入操作(对应上述第一处理),得到对象嵌入向量(为了区分,在模型训练过程中称为样本对象嵌入向量,在模型使用过程中称为对象嵌入向量)。在实现中,对象特征可以包括稠密特征和稀疏特征,其中,稠密特征会进行one-hot编码操作,稀疏特征通过映射嵌入层进行嵌入降维映射成一个低维稠密向量,将得到的特征拼接为固定长度的向量。映射嵌入层主要是定义了一个嵌入矩阵E∈R

对象侧子模型中的双层增强层用于对对象嵌入向量进行处理,得到对象表示向量。

对于每个特定的对象,可以通过其ID创造一个独有的对象增强向量a

首先,将映射嵌入层输出的对象嵌入向量与预先存储的该对象对应的对象增强向量a

例如,如果对象特征“iid=149,price=10,class=cata,…”,则可以得到对象增强嵌入向量z

z

其中,||表示向量拼接操作。这样对象增强嵌入向量z

然后,把对象增强嵌入向量z

h

h

p

其中,W

需要说明的是,用户侧子模型和对象侧子模型的网络结构类似,但是具体的网络参数(比如W

步骤303,基于所述初始模型的输出和所述样本标签判断是否训练完成。

基于所述初始模型的输出和所述样本标签判断是否训练完成的过程可以包括:基于所述样本用户增强向量、所述样本对象增强向量、所述样本用户表示向量、所述样本对象表示向量和所述样本标签计算模型损失函数;基于所述模型损失函数判断是否训练完成。

可选地,基于所述样本用户增强向量、所述样本对象增强向量、所述样本用户表示向量、所述样本对象表示向量和所述样本标签计算模型损失函数的过程,可以包括以下步骤A1~A4:

A1,基于所述样本用户增强向量和所述样本对象表示向量,计算第一损失函数。

A2,基于所述样本对象增强向量和所述样本用户表示向量,计算第二损失函数。

为了更新学习每个用户和对象的增强向量a

其中,T是训练数据集中用户-对象对的数量(也即样本数据的数量),y∈{0,1}是真实标签。可以由上式看出,如果真实标签的值等于1,则用户增强向量a

本发明实施例中,将上述loss

A3,基于所述样本用户表示向量、所述样本对象表示向量和所述样本标签,计算第三损失函数。

基于所述样本用户表示向量、所述样本对象表示向量和所述样本标签,计算第三损失函数的过程,可以包括以下步骤B1~B2:

B1,计算所述样本用户表示向量和所述样本对象表示向量的点积相似度。

由于样本用户表示向量和样本对象表示向量均为L2归一化后的向量,L2归一化用于将表示向量的范数归一化为1,从而向量的余弦相似度可以简化为点积相似度,从而减少了在线服务的计算时间成本。

因此,得到样本用户表示向量p

s

其中,s

B2,基于所述点积相似度和所述样本标签计算交叉熵损失函数,作为所述第三损失函数。

利用交叉熵损失函数来对样本集计算第三损失函数loss

T=D×(S+1)

其中,D是正向用户-对象对的数量,T是训练数据集中用户-对象对的总数量(也即样本数据的数量),S是指上述步骤301中提到的S,σ()表示sigmoid激活函数。

A4,基于所述第一损失函数、所述第二损失函数和所述第三损失函数计算模型损失函数。

模型损失函数loss主要由第三损失函数loss

loss=loss

其中,λ

在计算得到模型损失函数后,可以判断模型损失函数是否满足预设条件,以便判断是否训练完成。如果模型损失函数满足预设条件,则可以确定已训练完成;如果模型损失函数不满足预设条件,则可以确定未训练完成。对于预设条件,可以根据实际情况进行设置,比如预设条件可以为模型损失函数小于某个阈值,等等。

为了使得用户增强向量和对象增强向量更加准确,可以在模型训练过程中对用户增强向量和对象增强向量进行更新。

可选地,针对一个样本集进行一轮训练完成后,在未训练完成的情况下,还可以包括:针对每个样本用户,获取所述样本用户对应的样本标签指示为偏好的目标样本对象表示向量,将所述样本用户的样本用户增强向量拟合逼近所述目标样本对象表示向量。针对每个样本对象,获取所述样本对象对应的样本标签指示为偏好的目标样本用户表示向量,将所述样本对象的样本对象增强向量拟合逼近所述目标样本用户表示向量。

针对任意一个样本用户,样本标签指示为偏好(也即样本标签等于1)表明该样本用户对样本对象偏好,因此获取该样本用户对应的样本标签指示为偏好的样本对象表示向量,作为目标样本对象表示向量,将该样本用户的样本用户增强向量设置为与目标样本对象表示向量接近,从而该样本用户的样本用户增强向量能够表明该样本用户对偏好的样本对象的相关信息。

针对任意一个样本对象,样本标签指示为偏好(也即样本标签等于1)表明样本用户对该样本对象偏好,因此获取该样本对象对应的样本标签指示为偏好的样本用户表示向量,作为目标样本用户表示向量,将该样本对象的样本对象增强向量设置为与目标样本用户表示向量接近,从而该样本对象的样本对象增强向量能够表明对该样本对象偏好的样本用户的相关信息。

将最终更新得到的各用户的用户增强向量和各对象的对象增强向量进行存储。

步骤304,将训练完成的模型作为所述召回模型。

在模型训练完成后,还可以对训练完成的模型进行评估,以便得到评估通过的召回模型。比如,可以使用Hit Rate(命中率)等评估指标进行评估,对于具体的过程不再详细论述。

得到召回模型后,可以利用召回模型中的对象侧子模型对对象语料库中的所有对象计算出对象表示向量。将得到的各对象的对象表示向量存储到在线服务机器的内存数据库中。将召回模型部署至线上机器,以便后续进行对象召回时线上使用。

其中,任意一个对象的对象表示向量通过如下方式得到:获取所述对象的对象特征,将所述对象的对象特征输入所述召回模型中的对象侧子模型,得到所述对象侧子模型输出的所述对象的对象表示向量。与上述步骤301的描述类似,对象特征可以包括但不限于以下至少一种:对象描述特征、对象内容特征,等等。将对象特征输入上述生成的召回模型中的对象侧子模型,在对象侧子模型中,对对象特征执行相关处理,具体处理过程参照上述步骤302的相关描述。

参照图4,示出了本发明实施例的一种召回方法的步骤流程图。

如图4所示,召回方法可以包括以下步骤:

步骤401,获取待处理用户的用户特征。

与上述步骤301的描述类似,用户特征可以包括但不限于以下至少一种:用户描述特征、场景特征,等等。

步骤402,将所述用户特征输入预先生成的召回模型中的用户侧子模型,得到所述用户侧子模型输出的所述待处理用户的用户表示向量。

将用户特征输入上述生成的召回模型中的用户侧子模型,在用户侧子模型中对用户特征执行相关处理,具体处理过程参照上述步骤302的相关描述。

步骤403,获取预先存储的各对象的对象表示向量。

从内存数据库中读取各对象的对象表示向量。比如,可以按照图2所示的对象表示向量内存索引,读取各对象的对象表示向量。

步骤404,基于所述用户表示向量和所述各对象表示向量,为所述待处理用户召回目标对象。

可选地,由于用户表示向量和对象表示向量均为L2归一化后的向量,因此,基于所述用户表示向量和所述各对象表示向量,为所述待处理用户召回目标对象的过程,可以包括以下步骤C1~C2:

C1,计算所述用户表示向量分别与各对象表示向量的点积相似度。

记用户u的用户表示向量为p

C2,选取点积相似度最大的多个对象,作为所述目标对象。

如图2所示,选择距离最近的N个对象TOP N进行召回,作为为该用户推荐的候选对象,N为自然数。

本发明实施例中,通过对双塔之间的信息交互进行建模来改进召回过程使用的召回模型,设计了一种自适应模仿机制为每个用户和对象定制增强向量作为其特征,来提取另一个塔中对应的正向交互。这样,作为一个塔的输入特征的增强向量会承载有另一个塔的信息,以此对两个塔之间的信息交互进行隐式建模,从而提升召回效果。

图5是本发明实施例的一种模型的离线效果示意图。如图5所示,双向增强双塔模型对比工业界常用的几个召回模型,使用两个工业界数据集在Hit Rate(命中率)和MRR(Mean Reciprocal Rank,平均倒数排名)这两个评价指标上,都有明显的提升。

图6是本发明实施例的一种模型的线上效果示意图。如图6所示,应用首页猜你喜欢分bu点击漏斗数据(5天线上效果平均),召回效果明显提升。

参照图7,示出了本发明实施例的一种召回模型生成装置的结构框图。

如图7所示,召回模型生成装置可以包括以下模块:

第一获取模块701,用于获取样本数据;所述样本数据包括样本用户的样本用户特征、样本对象的样本对象特征和样本标签;

生成模块702,用于在预设初始模型中,基于所述样本用户特征和预先存储的所述样本用户的样本用户增强向量,生成所述样本用户的样本用户表示向量并输出,基于所述样本对象特征和预先存储的所述样本对象的样本对象增强向量,生成所述样本对象的样本对象表示向量并输出;

判断模块703,用于基于所述初始模型的输出和所述样本标签判断是否训练完成;

确定模块704,用于将训练完成的模型作为所述召回模型。

可选地,所述样本标签用于指示所述样本用户对所述样本对象的偏好程度;所述装置还包括:第一更新模块,用于在未训练完成的情况下,针对每个样本用户,获取所述样本用户对应的样本标签指示为偏好的目标样本对象表示向量,将所述样本用户的样本用户增强向量拟合逼近所述目标样本对象表示向量;第二更新模块,用于针对每个样本对象,获取所述样本对象对应的样本标签指示为偏好的目标样本用户表示向量,将所述样本对象的样本对象增强向量拟合逼近所述目标样本用户表示向量。

可选地,所述判断模块703包括:第一计算单元,用于基于所述样本用户增强向量和所述样本对象表示向量,计算第一损失函数;第二计算单元,用于基于所述样本对象增强向量和所述样本用户表示向量,计算第二损失函数;第三计算单元,用于基于所述样本用户表示向量、所述样本对象表示向量和所述样本标签,计算第三损失函数;第四计算单元,用于基于所述第一损失函数、所述第二损失函数和所述第三损失函数计算模型损失函数;函数判断单元,用于基于所述模型损失函数判断是否训练完成。

可选地,所述样本用户表示向量和所述样本对象表示向量均为L2归一化后的向量;所述第三计算单元,具体用于计算所述样本用户表示向量和所述样本对象表示向量的点积相似度;基于所述点积相似度和所述样本标签计算交叉熵损失函数,作为所述第三损失函数。

可选地,所述初始模型包括用户侧子模型和对象侧子模型;所述生成模块702包括:第一生成单元,用于将所述样本用户特征输入所述用户侧子模型,在所述用户侧子模型中基于所述样本用户特征和预先存储的所述样本用户的样本用户增强向量,生成所述样本用户的样本用户表示向量并输出;第二生成单元,用于将所述样本对象特征输入所述对象侧子模型,在所述对象侧子模型中基于所述样本对象特征和预先存储的所述样本对象的样本对象增强向量,生成所述样本对象的样本对象表示向量并输出。

可选地,所述第一生成单元,具体用于对所述样本用户特征进行第一处理得到样本用户嵌入向量,将所述样本用户嵌入向量与所述样本用户增强向量拼接得到样本用户增强嵌入向量,对所述样本用户增强嵌入向量进行第二处理,得到所述样本用户表示向量;所述第二生成单元,具体用于对所述样本对象特征进行第一处理得到样本对象嵌入向量,将所述样本对象嵌入向量与所述样本对象增强向量拼接得到样本对象增强嵌入向量,对所述样本对象增强嵌入向量进行第二处理,得到所述样本对象表示向量。

参照图8,示出了本发明实施例的一种召回装置的结构框图。

如图8所示,召回装置可以包括以下模块:

第二获取模块801,用于获取待处理用户的用户特征;

预测模块802,用于将所述用户特征输入预先生成的召回模型中的用户侧子模型,得到所述用户侧子模型输出的所述待处理用户的用户表示向量;所述召回模型通过如上任一实施例所述的召回模型生成方法生成;

第三获取模块803,用于获取预先存储的各对象的对象表示向量;任意一个对象的对象表示向量通过如下方式得到:将所述对象的对象特征输入所述召回模型中的对象侧子模型,得到所述对象侧子模型输出的所述对象的对象表示向量;

召回模块804,用于基于所述用户表示向量和所述各对象表示向量,为所述待处理用户召回目标对象。

可选地,所述用户表示向量和所述对象表示向量均为L2归一化后的向量;所述召回模块804,具体用于计算所述用户表示向量分别与各对象表示向量的点积相似度;选取点积相似度最大的多个对象,作为所述目标对象。

本发明实施例中的召回模型不再分别对用户特征和对象特征进行独立分析,而是对用户特征和用户增强向量进行联合分析,对对象特征和对象增强向量进行联合分析,其中,用户增强向量能够表征在对象侧子模型中得到的与该用户相关的对象信息,对象增强向量能够表征在用户侧子模型中得到的与该对象相关的用户信息,从而用户侧子模型和对象侧子模型交互分析,能够提升召回模型的性能,提高召回结果的准确度。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

在本发明的实施例中,还提供了一种电子设备。该电子设备可以包括一个或多个处理器,以及其上存储有指令的一个或多个机器可读介质,指令例如应用程序。当所述指令由所述一个或多个处理器执行时,使得所述处理器执行如上任一项所述的召回模型生成方法,或者执行如上任一项所述的召回方法。

在本发明的实施例中,还提供了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序可由电子设备的处理器执行,以实现如上任一项所述的召回模型生成方法,或者实现如上任一项所述的召回方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本发明所提供的一种召回模型生成、召回方法、装置、电子设备及存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号