掌桥专利:专业的专利平台
掌桥专利
首页

用于推荐召回的方法、系统、装置和介质

文献发布时间:2024-04-18 20:01:55


用于推荐召回的方法、系统、装置和介质

技术领域

本公开涉及人工智能领域,更具体地,涉及用于推荐召回的方法、系统、装置和介质。

背景技术

随着信息技术和互联网的发展,信息过载使得从大量信息中找到用户感兴趣的信息变得愈发困难,由此催生了推荐系统,推荐系统一般是根据用户的历史行为、兴趣点、所处上下文环境等信息来判断用户当前需要或感兴趣的物品或服务并且推荐给用户。

推荐系统一般包括召回阶段和排序阶段,召回阶段被设计为从所有可获取物品中检索出用户可能最感兴趣(预估兴趣评分最高)的N个候选物品,而排序阶段旨在对上述N个候选物品进行更准确的排序。目前的推荐系统一般是将用户的历史行为(例如,用户点击或查看了哪些物品)作为输入并且学习用户和物品的潜在嵌入(或表征)以用于后续召回。

然而,这些常规的方法通常存在以下两个问题:首先,用户具有多个表征来反映不同的兴趣,此类表征的数量是固定的,然而对于具有不同活跃度水平的用户而言,此类固定数目的兴趣表征是次优的,不相关的表征浪费资源且影响线上的效果,例如,对于活跃度较高的用户,其与活跃度较低的用户相比可能需要更多的兴趣表征。其次,在无监督表征学习中,负样本的选择可能导致相似的物品具有不同的标签,这种问题被称为类别冲突问题。

因此,为了改进当前的召回方法,解决上述类别冲突问题,并且使得召回的结果更为准确且效率更高,期望能够提供一种改进的推荐召回方案。

发明内容

提供本公开内容以便以简化形式介绍将在以下具体实施方式中进一步的描述一些概念。本公开内容并非旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。

针对以上问题,根据本公开的第一方面,提供了一种用于推荐召回的方法,所述方法包括:将用户的用户特征和多个物品的物品特征分别在嵌入空间中映射为用户向量和物品向量;将所述用户向量送入用户编码器以得到多个用户表征,其中所述多个用户表征的数量基于所述用户的用户活跃度;将所述物品向量送入物品编码器以得到所述多个物品的物品表征;确定所述多个物品的物品表征中与所述多个用户表征距离最近的多个候选物品表征;以及召回与所述多个候选物品表征相对应的多个候选物品。

本公开实施例的技术方案中,通过利用用户活跃度来自适应学习个性化的用户兴趣数量,解决了用户表征数量固定的问题,并且通过设计原型对比学习模块来解决负采样导致的类别冲突的问题,从而进一步改进了召回结果的准确率和效率。

根据本公开的一个实施例,所述用户编码器和所述物品编码器基于端到端训练,其中所述物品编码器是基于原型对比学习来训练得到的,其中每个物品的物品表征通过聚类被指派给对应的原型,所述原型指示相似物品的高级别表征。

根据本公开的进一步实施例,所述用户编码器和所述物品编码器通过以下方式来训练得到:将作为训练样本的用户的用户特征和多个物品的物品特征分别在嵌入空间中映射为用户向量和物品向量;将所述用户向量送入用户编码器以得到多个用户表征;对所述物品向量应用数据增强变换以得到经数据增强的物品向量;将所述物品向量和所述经数据增强的物品向量分别送入所述物品编码器和与所述物品编码器结构相同的另一物品编码器以得到第一物品表征和第二物品表征,其中通过对比学习使第一物品表征与同一物品的第二物品表征靠近并且与不同物品的第二物品表征远离;对每个物品的第二物品表征进行聚类以指派给对应的原型,使得最大化聚类间距离并且最小化聚类内距离;以及将所述用户表征与所述多个物品的第一物品表征和第二物品表征以及对应的原型一起进行端到端训练,通过最小化预定义的损失函数来更新所述用户编码器和所述物品编码器的参数,直至模型收敛。

根据本公开的进一步实施例,所述另一物品编码器是利用所述物品编码器来动量更新的。

根据本公开的进一步实施例,将所述用户向量送入用户编码器以得到多个用户表征进一步包括:将所述用户向量送入多兴趣提取层以得到多个用户兴趣向量;将所述多个用户兴趣向量送入自适应兴趣选择层以得到所述多个用户表征,其中所述自适应兴趣选择层基于所述用户的用户活跃度来确定所述多个用户表征的数量。

根据本公开的进一步实施例,所述自适应兴趣选择层基于每个用户的用户群体特征和活跃度特征来得到针对每个用户的独热掩码向量,所述独热掩码向量用于兴趣选择。

根据本公开的进一步实施例,所述独热掩码向量被放宽到连续空间并且利用停止梯度来进行训练。

根据本公开的第二方面,提供了一种用于推荐召回的系统,所述系统包括:特征映射模块,用于将用户的用户特征和多个物品的物品特征分别在嵌入空间中映射为用户向量和物品向量;用户表征模块,用于将所述用户向量送入用户编码器以得到多个用户表征,其中所述多个用户表征的数量基于所述用户的用户活跃度;物品表征模块,用于将所述物品向量送入物品编码器以得到所述多个物品的物品表征;推荐召回模块,用于确定所述多个物品的物品表征中与所述多个用户表征距离最近的多个候选物品表征;以及用于召回与所述多个候选物品表征相对应的多个候选物品。

根据本公开的一个实施例,所述用户编码器和所述物品编码器基于端到端训练,其中所述物品编码器是基于原型对比学习来训练得到的,其中每个物品的物品表征通过聚类被指派给对应的原型,所述原型指示相似物品的高级别表征。

根据本公开的进一步实施例,所述用户编码器和所述物品编码器通过以下方式来训练得到:将作为训练样本的用户的用户特征和多个物品的物品特征分别在嵌入空间中映射为用户向量和物品向量;将所述用户向量送入用户编码器以得到多个用户表征;对所述物品向量应用数据增强变换以得到经数据增强的物品向量;将所述物品向量和所述经数据增强的物品向量分别送入所述物品编码器和与所述物品编码器结构相同的另一物品编码器以得到第一物品表征和第二物品表征,其中通过对比学习使第一物品表征与同一物品的第二物品表征靠近并且与不同物品的第二物品表征远离;对每个物品的第二物品表征进行聚类以指派给对应的原型,使得最大化聚类间距离并且最小化聚类内距离;以及将所述用户表征与所述多个物品的第一物品表征和第二物品表征以及对应的原型一起进行端到端训练,通过最小化预定义的损失函数来更新所述用户编码器和所述物品编码器的参数,直至模型收敛。

根据本公开的进一步实施例,所述另一物品编码器是利用所述物品编码器来动量更新的。

根据本公开的进一步实施例,用户表征模块进一步用于:将所述用户向量送入多兴趣提取层以得到多个用户兴趣向量;将所述多个用户兴趣向量送入自适应兴趣选择层以得到所述多个用户表征,其中所述自适应兴趣选择层基于所述用户的用户活跃度来确定所述多个用户表征的数量。

根据本公开的进一步实施例,所述自适应兴趣选择层基于每个用户的用户群体特征和活跃度特征来得到针对每个用户的独热掩码向量,所述独热掩码向量用于兴趣选择。

根据本公开的第三方面,提供了一种用于推荐召回的装置,所述装置包括:存储器,所述存储器包括计算机可执行指令;以及一个或多个处理器,所述一个或多个处理器被配置成执行所述计算机可执行指令并使所述装置执行如前述方面中的任一者所述的方法。

根据本公开的第四方面,提供了一种存储有指令的计算机可读存储介质,当这些指令被执行时使得机器执行前述方面中的任一者所述的方法。

通过阅读下面的详细描述并参考相关联的附图,这些及其他特点和优点将变得显而易见。应该理解,前面的概括说明和下面的详细描述只是说明性的,不会对所要求保护的各方面形成限制。

附图说明

为了能详细地理解本公开的上述特征所用的方式,可以参照各实施例来对以上简要概述的内容进行更具体的描述,其中一些方面在附图中示出。然而应该注意,附图仅示出了本公开的某些典型方面,故不应被认为限定其范围,因为该描述可以允许有其它等同有效的方面。

图1是根据本公开的一个实施例的推荐召回系统的示意架构图。

图2是根据本公开的一个实施例的基于自适应兴趣选择层和原型对比学习模块的召回模型的示意架构图。

图3是根据本公开的一个实施例的多兴趣框架的示意架构图。

图4是根据本公开的一个实施例的自适应兴趣选择层的示意架构图。

图5是根据本公开的一个实施例的推荐召回方法的示意流程图。

图6是根据本公开的一个实施例的用于训练包括用户编码器和物品编码器的召回模型的方法的示意流程图。

图7是根据本公开的一个实施例的推荐召回系统的示意架构图。

具体实施方式

以下具体实施方式的内容足以使任何本领域技术人员了解本说明书的一个或多个实施例的技术内容并据以实施,且根据本说明书所揭露的说明书、权利要求及附图,本领域技术人员可轻易地理解本说明书的一个或多个实施例相关的目的及优点。

如上文所述,现有的召回系统通常基于用户的历史行为作为输入并且学习用户和物品的潜在表征以用于后续召回。然而,现有系统忽略了用户活跃度的不同并且其用户兴趣表征的数量是固定的,另外,在现有系统中,通常仅编码物品的低级别信息而不考虑高级别的语义特征,由此负样本的引入可能导致相似的物品具有不同的标签,这进而导致嵌入空间中的不期望的推开,其也被称为类别冲突问题。

为解决此问题,本方案创新性地结合了用户自适应兴趣选择层以及原型对比学习模块来自适应学习个性化的用户兴趣数量并且解决负采样导致的类别冲突的问题,从而进一步改进了现有的召回模型,提高了召回的准确率和效率。

例如,参见图1,其示出根据本公开的一个实施例的推荐召回系统100的示意架构图。系统100可至少包括特征映射模块102、用户表征模块104、物品表征模块106以及推荐召回模块108,其中特征映射模块102可包括用户特征映射单元和物品特征映射单元。

特征映射模块102中的用户特征映射单元可将用户的用户特征在嵌入空间中映射为用户向量。特征映射模块102中的物品特征映射单元可将多个物品的物品特征在嵌入空间中映射为物品向量。

在一个实施方式中,用户特征可包括例如用户基本信息(例如,用户ID)、群体统计数据、历史行为数据(例如,与物品的历史交互行为)等。物品特征可包括物品基本信息(例如,物品ID)、属性信息(例如,物品类别)等。

可以理解,在将特征通过嵌入层映射为向量之前需要进行适当的特征处理,例如,归一化、分桶等。

用户表征模块104可将用户向量送入用户编码器以得到多个用户表征,其中该多个用户表征的数量基于用户的用户活跃度。

在进一步的实施方式中,用户表征模块104可将用户向量送入多兴趣提取层以得到多个用户兴趣向量,如参考图3进一步详细描述的,并且可将该多个用户兴趣向量送入自适应兴趣选择层以得到多个用户表征,其中该自适应兴趣选择层基于用户的用户活跃度来确定该多个用户表征的数量,如参考图4进一步详细描述的。

在进一步的实施方式中,上述自适应兴趣选择层基于每个用户的用户群体特征和活跃度特征来得到针对每个用户的独热掩码向量,该独热掩码向量用于兴趣选择。

在进一步的实施方式中,上述独热掩码向量被放宽到连续空间并且利用停止梯度来进行训练。

物品表征模块106可将物品向量送入物品编码器以得到多个物品的物品表征。

在一个实施方式中,上述用户编码器和物品编码器可基于端到端训练,其中该物品编码器是基于原型对比学习来训练得到的,其中每个物品的物品表征通过聚类被指派给对应的原型,该原型指示相似物品的高级别语义表征。包括用户编码器和物品编码器的召回模型的训练过程如以下进一步参考图2和图6来进行描述。

推荐召回模块108可确定该多个物品的物品表征中与该多个用户表征距离最近的多个候选物品表征,并且召回与该多个候选物品表征相对应的多个候选物品。

换言之,推荐召回模块108可召回与用户的多个用户表征相似性得分最高的N个物品表征所对应的候选物品。

综上可知,上述用户侧和物品侧的双塔模型(包括用户编码器和物品编码器)可以离线训练并且在线应用,从而减小训练的成本并且使得对海量数据的查询效率更高。另外,可以理解,用户编码器和物品编码器可以基于深度学习模型(例如,DNN模型)或本领域人员已知的任何其他模型。

本领域技术人员能够理解,本公开的系统及其各模块既可以以硬件形式实现,也可以以软件形式实现,并且各模块可以任意合适的方式合并或组合。

参见图2,其示出根据本公开的一个实施例的基于自适应兴趣选择层和原型对比学习模块的召回模型200的示意架构图。

召回模型200可包括上述用户编码器和物品编码器。如图2所示,可以假设存在一组用户u∈U和一组物品i∈I,其中用户u具有历史行为序列(以与其交互的物品i的形式(例如,可按交互时间排序))。用户特征和物品特征可经由嵌入层映射为对应的用户向量和物品向量,随后将用户向量和物品向量送入用户编码器ue=F(x

其中,

在此,用户编码器可包括多兴趣提取层和自适应兴趣选择层,其中该自适应兴趣选择层基于用户的用户活跃度来确定该多个用户表征的数量,如以下进一步参考图3和4所描述的。

例如,参见图3,图3示出了根据本公开的一个实施例的包括多兴趣提取层的多兴趣框架300的示意架构图。如图3所示,多兴趣框架300在用户侧使用多兴趣提取层来提取多个用户兴趣表征,其中可利用例如交叉熵损失来对包括用户侧和物品侧的双塔结构进行训练,以更新多兴趣提取层的参数。随后可以将所提取的多个用户兴趣表征送入如图4所示的自适应兴趣选择层400以自适应地确定用户表征的数量。

例如,参见图4,图4示出根据本公开的一个实施例的自适应兴趣选择层(AISL)400的示意架构图。AISL习得的用户表征的实际数目与用户的活跃度强相关。例如,可以将针对每个用户的用户群体特征f

具体而言,可以首先应用L层的多层感知器(例如,基于DNN)来学习用户的活跃度,如下式3所示:

其中h

随后可以对

其中

由于上式中的argmax运算是不可微的,因此可将s

其中k∈[1,K]且

另外,为了解决在线与离线之间的不一致问题,可以引入停止梯度(stop_gradient)操作通过下式7来重写s

由此,通过自适应兴趣选择层可以确定用户表征的数量,从而可以避免不相关的表征导致的资源浪费以及改进线上的效果。

返回图2,在用户侧获取用户表征的同时可以在物品侧利用原型对比学习来训练物品编码器。在原型对比学习中,可以利用数据增强来获取物品向量的经数据增强的版本。具体而言,可以在标准嵌入层的输出e

由此,可以利用对比学习算法来训练物品编码器,其中可以首先针对物品向量e

其中超参数α接近于1,其用于控制更新速度。随后,对于每个由用户交互的物品,随机选择J个大小的物品来形成对比任务的负样本对,由此可以得到一对正样本(即,交互的物品及其对应的数据增强版本)以及J对负样本(即,交互的物品和J个随机选择的物品的数据增强结果)。由此,对比学习任务的目的在于使得query

其中T是温度超参数。

随后可以基于原型对比学习来训练物品编码器。原型c

另外,对于指派了N

随后可以在端到端架构中联合用户表征和物品表征以及对应的原型进行训练以优化模型参数,总体的损失函数如下式15所示:

综上,可以训练得到召回模型以用于推荐召回,其中该召回模型可以利用用户活跃度来自动化学习个性化的用户兴趣数量,并且可以通过设计原型对比学习模块来解决例如类别冲突等问题。

参见图5,其示出根据本公开的一个实施例的推荐召回方法500的示意流程图。方法500开始于步骤502,特征映射模块102可将用户的用户特征和多个物品的物品特征分别在嵌入空间中映射为用户向量和物品向量。

在一个实施方式中,用户特征可包括例如用户基本信息、群体统计数据、与物品交互的历史行为数据等,物品特征可包括物品基本信息、属性信息等。

在步骤504,用户表征模块104可将用户向量送入用户编码器以得到多个用户表征,其中该多个用户表征的数量基于该用户的用户活跃度。

在进一步的实施方式中,用户表征模块104可将用户向量送入多兴趣提取层以得到多个用户兴趣向量,并且将该多个用户兴趣向量送入自适应兴趣选择层以得到多个用户表征,其中该自适应兴趣选择层基于该用户的用户活跃度来确定该多个用户表征的数量。

在进一步的实施方式中,自适应兴趣选择层可基于每个用户的用户群体特征和活跃度特征来得到针对每个用户的独热掩码向量,该独热掩码向量用于兴趣选择,如以上参考图3和4详细描述的。另外,该独热掩码向量可被放宽到连续空间并且利用停止梯度来进行训练。

在步骤506,物品表征模块106可将物品向量送入物品编码器以得到该多个物品的物品表征。

在一个实施方式中,上述用户编码器和物品编码器基于端到端训练,其中该物品编码器是基于原型对比学习来训练得到的,其中每个物品的物品表征通过聚类被指派给对应的原型,其中原型指示相似物品的高级别表征。具体的训练方法可如以上参考图2及以下参考图6进一步所述。

在步骤508,推荐召回模块108可确定该多个物品的物品表征中与该多个用户表征距离最近的多个候选物品表征。

在一个实施方式中,推荐召回模块108可利用余弦相似性或内积等相似性算法来确定该多个物品的物品表征中与该多个用户表征距离最近的多个候选物品表征。

在步骤510,推荐召回模块108可召回与该多个候选物品表征相对应的多个候选物品。

由此,可通过利用用户活跃度来自适应学习个性化的用户兴趣数量,解决用户向量数量固定的问题,并且通过设计原型对比学习模块来解决负采样导致的类别冲突的问题。

参见图6,其示出根据本公开的一个实施例的用于训练包括用户编码器和物品编码器的召回模型的方法600的示意流程图。

方法600开始于步骤602,将作为训练样本的用户的用户特征和多个物品的物品特征分别在嵌入空间中映射为用户向量和物品向量。

在步骤604,将用户向量送入用户编码器以得到多个用户表征。

在步骤606,对物品向量应用数据增强变换以得到经数据增强的物品向量。

在步骤608,将物品向量和经数据增强的物品向量分别送入物品编码器和与该物品编码器结构相同的另一物品编码器以得到第一物品表征和第二物品表征,其中通过对比学习使第一物品表征与同一物品的第二物品表征靠近并且与不同物品的第二物品表征远离。

在一个实施方式中,另一物品编码器利用该物品编码器来动量更新。

在步骤610,对每个物品的第二物品表征进行聚类以指派给对应的原型,使得最大化聚类间距离并且最小化聚类内距离。

在步骤612,将用户表征与该多个物品的第一物品表征和第二物品表征以及对应的原型一起进行端到端训练,通过最小化预定义的损失函数来更新用户编码器和物品编码器的参数,直至模型收敛。

上述训练方法的详细过程如以上参考图2所描述。

图7是根据本公开的一个实施例的推荐召回系统700的示意架构图。系统700可被配置成执行本文所描述的各种方法(包括例如关于图5所描述的方法)的各方面。

如图7所示,系统700可包括一个或多个处理器702。该一个或多个处理器702可包括CPU,CPU在一些示例中可以是多核CPU。在CPU处执行的指令可例如从与CPU相关联的程序存储器加载或可从存储器704加载。该一个或多个处理器702还可包括为特定功能定制的附加处理组件,诸如图形处理单元(GPU)、数字信号处理器(DSP)、神经处理单元(NPU)、多媒体处理单元。NPU一般是被配置成用于实现用于执行机器学习算法(诸如用于处理人工神经网络(ANN)、深度神经网络(DNN)、随机森林(RF)等的算法)的控制和算术逻辑的专用电路。NPU有时可被替换地称为神经信号处理器(NSP)、张量处理单元(TPU)、神经网络处理器(NNP)、智能处理单元(IPU)、或视觉处理单元(VPU)。NPU可被配置成加速常见机器学习任务(诸如图像分类、声音分类、认证以及各种其他预测任务)的执行。在一些示例中,多个NPU可被实例化在单个芯片(诸如片上系统(SoC))上,而在其他示例中,多个NPU可以是专用神经网络加速器的一部分。NPU可被优化以用于训练或推断,或者在一些情形中可被配置成平衡训练与推断之间的性能。对于能够执行训练和推断两者的NPU,这两个任务可能通常仍然是独立执行的。被设计成加速训练的NPU一般被配置成加速对新模型的优化,这是涉及输入现有数据集(常常是被标记的或含标签的)、在数据集上进行迭代、以及接着调节模型参数(诸如权重和偏置)以便改进模型性能的高度计算密集的操作。一般而言,基于错误预测进行优化涉及往回传递通过模型的各层并确定梯度以减少预测误差。被设计成加速推断的NPU一般被配置成在经训练模型上操作。此类NPU因而可被配置成输入新的数据片段以及通过已经训练好的模型来快速处理该数据片段以生成模型输出(例如,推断)。在一些示例中,该一个或多个处理器可基于ARM或RISC-V指令集。

系统700还包括存储器704。存储器704可包括RAM、ROM、或其组合。存储器704可存储计算机可执行指令,这些指令在由至少一个处理器702执行时使该至少一个处理器执行本文中所描述的各种功能,包括:将用户的用户特征和多个物品的物品特征分别在嵌入空间中映射为用户向量和物品向量;将用户向量送入用户编码器以得到多个用户表征,其中该多个用户表征的数量基于该用户的用户活跃度;将物品向量送入物品编码器以得到该多个物品的物品表征;确定该多个物品的物品表征中与该多个用户表征距离最近的多个候选物品表征;以及召回与该多个候选物品表征相对应的多个候选物品。在一些情形中,存储器704可尤其包含BIOS,该BIOS可控制基本硬件或软件操作,诸如与外围组件或设备的交互。

可以理解,图7仅仅是系统的一个示例,并且包括更少的、附加的或替换方面的其他系统也可与本公开一致。

结合本文中的公开描述的各种解说性框以及模块可以用设计成执行本文中描述的功能的通用处理器、DSP、ASIC、FPGA或其他可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,处理器可以是任何常规的处理器、控制器、微控制器、或状态机。处理器还可被实现为计算设备的组合(例如,DSP与微处理器的组合、多个微处理器、与DSP核心协同的一个或多个微处理器,或者任何其他此类配置)。

本文中所描述的功能可以在硬件、由处理器执行的软件、固件、或其任何组合中实现。如果在由处理器执行的软件中实现,则各功能可以作为一条或多条指令或代码存储在计算机可读介质上或藉其进行传送。其他示例和实现落在本公开及所附权利要求的范围内。例如,由于软件的本质,本文描述的功能可使用由处理器执行的软件、硬件、固件、硬连线或其任何组合来实现。实现功能的特征也可物理地位于各种位置,包括被分布以使得功能的各部分在不同的物理位置处实现。

以上所已经描述的内容包括所要求保护主题的各方面的示例。当然,出于描绘所要求保护主题的目的而描述每一个可以想到的组件或方法的组合是不可能的,但本领域内的普通技术人员应该认识到,所要求保护主题的许多进一步的组合和排列都是可能的。从而,所公开的主题旨在涵盖落入所附权利要求书的精神和范围内的所有这样的变更、修改和变化。

相关技术
  • 深度神经网络加速器故障的处理方法及装置
  • 深度神经网络的架构搜索方法及硬件加速器
  • 神经架构和硬件加速器搜索
技术分类

06120116574286