发明内容
有鉴于此,本说明书实施例提供了一种对象推荐方法。本说明书一个或者多个实施例同时涉及一种对象推荐装置,一种计算设备,一种计算机可读存储介质以及一种计算机程序,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种对象推荐方法,包括:
获取指定对象与各待推荐对象的相似度,以及所述各待推荐对象的属性信息;
根据各所述相似度,获得相似度融合特征,根据各所述属性信息,获得属性融合特征;
对所述相似度融合特征和所述属性融合特征进行融合,并根据融合结果确定所述各待推荐对象的推荐权重;
根据所述各待推荐对象的推荐权重,确定所述待推荐对象中的目标对象,并向目标用户推荐所述目标对象。
可选地,所述根据各所述相似度,获得相似度融合特征,根据各所述属性信息,获得属性融合特征之前,还包括:
获取预训练的对象推荐模型,其中,所述对象推荐模型包括相似度融合子模型、属性融合子模型、特征融合层和推荐权重输出子模型;
相应地,所述根据各所述相似度,获得相似度融合特征,根据各所述属性信息,获得属性融合特征,包括:
将各所述相似度输入至所述相似度融合子模型进行相似度融合,获得相似度融合特征;
将各所述属性信息输入至所述属性融合子模型进行属性融合,获得属性融合特征;
相应地,所述对所述相似度融合特征和所述属性融合特征进行融合,并根据融合结果确定所述各待推荐对象的推荐权重,包括:
将所述相似度融合特征和所述属性融合特征输入至所述特征融合层进行融合,获得融合结果;
将所述融合结果输入所述推荐权重输出子模型,获得所述各待推荐对象的推荐权重。
可选地,所述获取预训练的对象推荐模型之前,还包括:
获取第一样本对象、第二样本对象集和预设的待训练模型,其中,所述待训练模型包括相似度融合子模型、属性融合子模型、特征融合层和推荐权重输出子模型;
从所述第二样本对象集中提取多个第二样本对象,并确定第一样本对象与各第二样本对象的样本相似度,以及所述各第二样本对象的样本属性信息;
将各所述样本相似度输入至所述相似度融合子模型进行融合,获得样本相似度融合特征,将各所述样本属性信息输入至所述属性融合子模型进行融合,获得样本属性融合特征;
将所述样本相似度融合特征和所述样本属性融合特征输入至所述特征融合层进行融合,获得样本融合结果;
将所述样本融合结果输入所述推荐权重输出子模型,获得所述各第二样本对象的预测结果;
根据各所述预测结果和各第二样本对象携带的权重标签确定损失值,并根据所述损失值,调整所述待训练模型中所述相似度融合子模型、所述属性融合子模型和所述推荐权重输出子模型的模型参数,继续执行所述从所述第二样本对象集中提取多个第二样本对象的步骤,在达到预设训练停止条件的情况下,将训练好的所述待训练模型确定为对象推荐模型。
可选地,所述根据各所述预测结果和各第二样本对象携带的权重标签确定损失值,包括:
根据各所述预测结果、各第二样本对象携带的权重标签和排序损失函数,确定第一子损失值;
根据各所述预测结果、各第二样本对象携带的权重标签和均方误差损失函数,确定第二子损失值;
根据所述第一子损失值和所述第二子损失值,确定所述损失值。
可选地,所述第二样本对象携带有排序标签;
相应地,所述根据各所述预测结果、各第二样本对象携带的权重标签和排序损失函数,确定第一子损失值,包括:
根据所述预测结果,确定各第二样本对象的预测排序;
根据各第二样本对象的所述预测排序和所述排序标签,确定各第二样本对象的排序差异值;
基于所述排序差异值,根据各所述预测结果、各第二样本对象携带的权重标签和排序损失函数,确定第一子损失值。
可选地,所述基于所述排序差异值,根据各所述预测结果、各第二样本对象携带的权重标签和排序损失函数,确定第一子损失值,包括:
判断所述排序差异值是否符合预设排序差异范围;
若是,将所述排序差异值对应的预测结果和所述排序差异值对应的第二样本对象携带的权重标签输入至所述,确定第一子损失值。
可选地,所述根据各所述相似度,获得相似度融合特征,包括:
分别对各所述相似度进行特征提取,得到各相似度对应的相似度特征;
将各所述相似度特征进行融合处理,获得相似度融合特征。
可选地,所述相似度包括多个子相似度,所述多个子相似度为利用各种预设相似度算法对指定对象与待推荐对象计算得到;
相应地,所述分别对各所述相似度进行特征提取,得到各相似度对应的相似度特征,包括:
针对任一相似度,分别对该相似度中的各子相似度进行特征提取,得到各子相似度对应的子相似度特征;
将各子相似度特征进行拼接,得到该相似度对应的相似度特征。
可选地,所述根据各所述属性信息,获得属性融合特征,包括:
分别对各所述属性信息进行特征提取,得到各属性信息对应的属性特征;
将各所述属性特征进行融合处理,获得属性融合特征。
可选地,所述属性信息包括多个行为属性信息;
相应地,所述分别对各所述属性信息进行特征提取,得到各属性信息对应的属性特征,包括:
针对任一属性信息,分别对该属性信息中的各行为属性信息进行特征提取,得到各行为属性信息对应的行为属性特征;
将各行为属性特征进行拼接,得到该属性信息对应的属性特征。
可选地,所述对所述相似度融合特征和所述属性融合特征进行融合之前,还包括:
分别对各所述相似度进行特征提取,得到各所述相似度对应的相似度特征,并分别对各所述属性信息进行特征提取,得到各所述属性信息对应的属性特征;
提取各所述相似度特征与各所述属性特征之间的相关性信息;
所述对所述相似度融合特征和所述属性融合特征进行融合,包括:
基于所述相关性信息,对所述相似度融合特征和所述属性融合特征进行融合,获得融合结果。
根据本说明书实施例的第二方面,提供了一种对象推荐装置,包括:
第一获取模块,被配置为获取指定对象与各待推荐对象的相似度,以及所述各待推荐对象的属性信息;
融合模块,被配置为根据各所述相似度,获得相似度融合特征,根据各所述属性信息,获得属性融合特征;
确定模块,被配置为对所述相似度融合特征和所述属性融合特征进行融合,并根据融合结果确定所述各待推荐对象的推荐权重;
推荐模块,被配置为根据所述各待推荐对象的推荐权重,确定所述待推荐对象中的目标对象,并向目标用户推荐所述目标对象。
根据本说明书实施例的第三方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现上述对象推荐方法的步骤。
根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现上述对象推荐方法的步骤。
根据本说明书实施例的第五方面,提供了一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述对象推荐方法的步骤。
本说明书提供了一种对象推荐方法,获取指定对象与各待推荐对象的相似度,以及所述各待推荐对象的属性信息;根据各所述相似度,获得相似度融合特征,根据各所述属性信息,获得属性融合特征;对所述相似度融合特征和所述属性融合特征进行融合,并根据融合结果确定所述各待推荐对象的推荐权重;根据所述各待推荐对象的推荐权重,确定所述待推荐对象中的目标对象,并向目标用户推荐所述目标对象。基于指定对象与各待推荐对象的相似度,和各待推荐对象的属性信息进行融合,确定各待推荐对象的推荐权重,最后基于推荐权重确定需要给目标用户推荐的目标对象,提高了对象推荐的效率,以及目标对象与目标用户的贴合度,进一步提高了用户黏度。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
i2i召回:全称为itemtoitem召回,是通过触发对象召回相似对象的算法统称。
bad case:比较差的结果。
ADAM(Adaptive Moment Estimation):一种融合动量更新和自适应调整学习率的优化算法。
然后,对本说明书提供的对象推荐方法进行简要说明。
随着计算机技术和互联网技术的不断发展,各种各样的网络平台层出不穷,其中以推荐平台和社交平台最为流行。而推荐平台和社交平台的进一步优化,离不开推荐系统。因此,改善推荐系统性能具有非常重要的意义。
现有技术中,推荐系统一般基于协同过滤算法或者秋千(swing)算法计算对象之间的相似度,然后基于相似度为用户推荐对应的对象。以商品为例,对协同过滤算法或者秋千(swing)算法计算对象之间的相似度进行说明。
传统的i2i召回方案是基于协同过滤的算法计算商品之间的相似度。协同过滤算法一般是通过统计商品被用户行为的相关信息,对商品进行向量化表示,然后通过向量之间的距离度量函数衡量商品之间的相似度,一般度量向量之间的相似度方法包括内积、杰卡德(jaccard)距离等。例如,使用所有用户对商品或者信息的偏好,发现商品和商品之间的相似度,然后根据用户的历史偏好信息,将类似的商品推荐给用户。协同过滤算法主要分为两个步骤:计算商品之间的相似度和根据商品的相似度和用户的历史行为给用户生成推荐列表。一般使用下面的式1定义商品的相似度:
其中,i表示商品i,j表示商品j,Xij表示商品i和商品j的相似度,N(i)表示行为过商品i的用户,N(j)表示行为过商品j的用户。在协同过滤中两个商品产生相似度是因为它们共同被很多用户喜欢,两个商品相似度越高,说明这两个商品共同被很多人喜欢。其缺点在于其抗噪音能力差,算出来结果中会有一些看起来不太准的badcase。
而秋千(swing)算法是近些年发展起来逐渐成为主流的i2i方案通过发掘行为数据图中的“秋千”结构,度量商品之间的相似度。相比于协同过滤的算法,其具有更强的稳定性。例如Swing基于图结构的匹配算法,其流程和协同过滤算法的流程大致类似,首先需要计算商品和商品之间的相似度,然后根据商品的相似度和用户的历史行为给用户生成推荐列表。其核心改进方案在于如何定义商品之间的相似度。Swing算法通过挖掘用户行为图中的“秋千”形状的swing角结构,这种角形结构仍然是一种二维的图结构信息,至少需要两条边结构才能构成角结构,从网络结构上要比通过协同过滤算法确定出来的一条边“稳固”的多;所以一般认为swing算法相比于协同过滤算法要更加鲁棒。其缺点在于完全依赖于用户的行为数据,很难融合触发商品和目标商品的属性特征等信息。
在实际的召回算法开发中,同一个触发商品,通过不同的距离度量函数或者swing算法计算出来的排名前几位的商品集合有一定的差异性,而且关注的相似点一般也不同。如何融合这些不同的相似分,使得最终的评分可以更好的服务用户,就成为实际应用中比较棘手的问题。也即上述方法,在进行推荐时,考虑推荐的影响因素单一,制约了推荐系统的准确性,影响推荐平台和社交平台的收益以及用户体验。
因此,本说明书提供了一种对象推荐方法,获取指定对象与各待推荐对象的相似度,以及所述各待推荐对象的属性信息;根据各所述相似度,获得相似度融合特征,根据各所述属性信息,获得属性融合特征;对所述相似度融合特征和所述属性融合特征进行融合,并根据融合结果确定所述各待推荐对象的推荐权重;根据所述各待推荐对象的推荐权重,确定所述待推荐对象中的目标对象,并向目标用户推荐所述目标对象。基于指定对象与各待推荐对象的相似度,和各待推荐对象的属性信息进行融合,确定各待推荐对象的推荐权重,最后基于推荐权重确定需要给目标用户推荐的目标对象,提高了对象推荐的效率,以及目标对象与目标用户的贴合度,进一步提高了用户黏度。
在本说明书中,提供了一种对象推荐方法,本说明书同时涉及一种对象推荐装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
参见图1,图1示出了根据本说明书一个实施例提供的一种对象推荐方法的流程图,具体包括以下步骤。
步骤102:获取指定对象与各待推荐对象的相似度,以及所述各待推荐对象的属性信息。
实现对象推荐方法的执行主体可以是具有对象推荐功能的计算设备,例如具有对象推荐功能的服务器、终端等。
具体地,对象可以是任意一种事物,如视频、小说、商品、店铺等;指定对象是指用户历史行为过的对象,如用户浏览过的店铺、购买过的商品、观看过的视频等;待推荐对象是指需要为用户推荐的对象,也可以是根据指定对象召回的对象,例如用户在购物平台点击了裙子1,那么购物平台会使用i2i算法根据点击的裙子1召回更多的裙子集合xs,其中裙子1就是触发商品,裙子xs就是目标商品集合;相似度是指是指基于某种相似度算法获得的指定对象与待推荐对象之间的相似程度;属性信息可以是与待推荐对象的属性相关的信息,如颜色、价值、重量、体积等。
实际应用中,获取指定对象与各待推荐对象的相似度以及各待推荐对象的属性信息的方式有多种,例如,可以是运营人员向执行主体发送对象推荐的指令,或者发送获取指定对象与各待推荐对象的相似度以及各待推荐对象的属性信息的指令,相应地,执行主体在接收到该指令后,开始对指定对象与各待推荐对象的相似度以及各待推荐对象的属性信息进行获取;也可以是服务器每隔预设时长,自动获取指定对象与各待推荐对象的相似度以及各待推荐对象的属性信息,例如,经过预设时长后,具有对象推荐功能的服务器自动获取指定对象与各待推荐对象的相似度以及各待推荐对象的属性信息;或者经过预设时长后,具有对象推荐功能的终端自动获取存储于本地的指定对象与各待推荐对象的相似度以及各待推荐对象的属性信息。本说明书对获取指定对象与各待推荐对象的相似度以及各待推荐对象的属性信息的方式不做任何限定。
在本说明书一个或多个可选的实施例中,获取指定对象与各待推荐对象的相似度以及各待推荐对象的属性信息时,可以先获取用户对应的指定对象,然后基于指定对象和i2i算法,获取指定对象相关的多个待推荐对象。进一步地,根据预设相似度算法,如协同过滤算法、余弦相似度算法等,计算指定对象与各待推荐对象的相似度。并获取从对象属性特征表中获取各待推荐对象的属性信息。
步骤104:根据各所述相似度,获得相似度融合特征,根据各所述属性信息,获得属性融合特征。
具体地,相似度融合特征是指将指定对象与各待推荐对象的相似度进行融合后得到的特征;属性融合特征是指将各待推荐对象的属性信息进行融合后得到的特征。
在本说明书一个或多个可选的实施例中,在获得获取指定对象与各待推荐对象的相似度以及各待推荐对象的属性信息之后,可以将各相似度进行拼接,得到融合相似度,进而再对融合相似度进行特征提取,得到相似度融合特征;将各属性信息进行拼接,得到融合属性信息,进而再对融合属性信息进行特征提取,得到属性融合特征。
在本说明书一个或多个可选的实施例中,为了提高相似度融合特征的准确性和鲁棒性,还可以先对各相似度进行特征提取,再拼接。也即所述根据各所述相似度,获得相似度融合特征,具体实现过程可以如下:
分别对各所述相似度进行特征提取,得到各相似度对应的相似度特征;
将各所述相似度特征进行融合处理,获得相似度融合特征。
具体地,相似度特征是指表征相似度某些特点的表示。
实际应用中,在获得获取指定对象与各待推荐对象的相似度以及各待推荐对象的属性信息之后,对每个相似度进行特征提取,得到每个相似度对应的相似度特征,如逐一对各个相似度进行特征提取,得到各相似度对应的相似度特征,又如同步对各个相似度进行特征提取,得到各相似度对应的相似度特征。然后将得到的各相似度特征进行融合处理,如按照预设融合顺序将各相似度特征进行拼接,进而得到相似度融合特征。如此先对相似度进行特征提取,可以使相似度特征能够更为准确,进而将各相似度特征进行融合,可以提高相似度融合特征的准确性。
需要说明的是,当通过一种预设相似度算法进行相似度计算时,针对任意一个待推荐对象,获得该待推荐对象与指定对象的相似度有且只有一个,此时,可以直接将对各所述相似度进行特征提取,得到各相似度对应的相似度特征。当通过多种预设相似度算法进行相似度计算时,针对任意一个待推荐对象,将获得该待推荐对象与指定对象的多个子相似度,也即相似度中包含多个子相似度,此时,需要先将该待推荐对象与指定对象的多个子相似度进行特征提取,得到多个子相似度特征,进一步得到相似度特征。也即在所述相似度包括多个子相似度,所述多个子相似度为利用各种预设相似度算法对指定对象与待推荐对象计算得到的情况下,所述分别对各所述相似度进行特征提取,得到各相似度对应的相似度特征,具体实现过程可以如下:
针对任一相似度,分别对该相似度中的各子相似度进行特征提取,得到各子相似度对应的子相似度特征;
将各子相似度特征进行拼接,得到该相似度对应的相似度特征。
具体地,子相似度是指通过多种预设相似度算法中的任意一种预设相似度算法,确定的指定对象与待推荐对象之间的相似度;子相似度特征是指表征子相似度某些特点的表示。
实际应用中,可以预先设置多种预设相似度算法,如协同过滤算法、基于图结构的匹配算法等用于计算指定对象与各待推荐对象之间的子相似度。也即每一个待推荐对象与指定对象之间有多个子相似度,针对任意一个待推荐对象与指定对象对应的多个子相似度,分别对这些子相似度进行特征提取,得到各子相似度对应的子相似度特征,进一步地,将得到的多个子相似度特征进行拼接,得到待推荐对象与指定对象的相似度对应的相似度特征。如此,通过多个子相似度,来确定相似度特征,能够一定程度上提高相似度特征的准确性,进一步提高对象推荐的效果。
例如,预设相似度算法有两种:协同过滤算法和余弦相似度算法;待推荐对象有两个:第一待推荐对象和第二待推荐对象。则基于协同过滤算法,得到了指定对象与第一待推荐对象的第一子相似度,以及指定对象与第二待推荐对象的第二子相似度;基于余弦相似度算法,得到了指定对象与第一待推荐对象的第三子相似度,以及指定对象与第二待推荐对象的第四子相似度,即指定对象与第一待推荐对象的第一相似度包括第一子相似度和第三子相似度,指定对象与第二待推荐对象的第二相似度包括第二子相似度和第四子相似度。针对第一相似度:分别对第一子相似度和第三子相似度进行特征提取,得到第一子相似度对应的第一子相似度特征和第三子相似度对应的第三子相似度特征,将第一子相似度特征和第三子相似度特征进行拼接,得到第一相似度对应的第一相似度特征;针对第二相似度:分别对第二子相似度和第四子相似度进行特征提取,得到第二子相似度对应的第二子相似度特征和第四子相似度对应的第四子相似度特征,将第二子相似度特征和第四子相似度特征进行拼接,得到第二相似度对应的第二相似度特征。
在本说明书一个或多个可选的实施例中,为了提高属性融合特征的准确性和鲁棒性,还可以先对各属性信息进行特征提取,再拼接。也即所述根据各所述属性信息,获得属性融合特征,具体实现过程可以如下:
分别对各所述属性信息进行特征提取,得到各属性信息对应的属性特征;
将各所述属性特征进行融合处理,获得属性融合特征。
具体地,属性特征是指表征属性信息某些特点的表示。
实际应用中,在获得获取指定对象与各待推荐对象的相似度以及各待推荐对象的属性信息之后,对每个属性信息进行特征提取,得到每个属性信息对应的属性特征,如逐一对各个属性信息进行特征提取,得到各属性信息对应的属性特征,又如同步对各个属性信息进行特征提取,得到各属性信息对应的属性特征。然后将得到的各属性特征进行融合处理,如按照预设融合顺序将各属性特征进行拼接,进而得到属性融合特征。如此先对属性信息进行特征提取,可以使属性特征能够更为准确,进而将各属性特征进行融合,可以提高属性融合特征的准确性。
需要说明的是,当从一个预设角度获取待推荐对象的属性信息时,针对任意一个待推荐对象,该待推荐对象的属性信息有且只有一个,此时,可以直接将对各所述属性信息进行特征提取,得到各属性信息对应的属性特征。当通过多个预设角度获取属性信息时,针对任意一个待推荐对象,将获得该待推荐对象的多个子属性信息,也即属性信息中包含多个子属性信息,此时,需要先将该待推荐对象的多个子属性信息进行特征提取,得到多个子属性特征,进一步得到属性特征。也即在所述属性信息包括多个行为属性信息的情况下,所述分别对各所述属性信息进行特征提取,得到各属性信息对应的属性特征,具体实现过程可以如下:
针对任一属性信息,分别对该属性信息中的各行为属性信息进行特征提取,得到各行为属性信息对应的行为属性特征;
将各行为属性特征进行拼接,得到该属性信息对应的属性特征。
具体地,子属性信息是指通过多个预设角度中的任意一种预设角度,获取的待推荐对象之间的属性信息;子属性特征是指表征子属性信息某些特点的表示。
实际应用中,可以预先设置多种预设角度或者多个获取属性信息获取方面,如颜色、价格、位置等方面,用于获取各待推荐对象之间的子属性信息。也即每一个待推荐对象有多个子属性信息,针对任意一个待推荐对象的多个子属性信息,分别对这些子属性信息进行特征提取,得到各子属性信息对应的子属性特征,进一步地,将得到的多个子属性特征进行拼接,得到待推荐对象的属性信息对应的属性特征。如此,通过多个子属性特征,来确定属性特征,能够一定程度上提高属性特征的准确性,进一步提高对象推荐的效果。
例如,对象为餐厅,预设角度有三种:与用户的距离、人均消费水平和菜系。针对任意一个待推荐餐厅,则基于与用户的距离的预设角度,得到了该待推荐餐厅的第一子属性信息;基于人均消费水平的预设角度,得到了该待推荐餐厅的第二子属性信息;基于菜系的预设角度,得到了该待推荐餐厅的第三子属性信息,即该待推荐餐厅的属性信息包括第一子属性信息、第二子属性信息和第三子属性信息。然后,分别对第一子属性信息、第二子属性信息和第三子属性信息进行特征提取,得到第一子属性信息对应的第一子属性特征、第二子属性信息对应的第二子属性特征和第三子属性信息对应的第三子属性特征,将第一子属性特征、第二子属性特征和第三子属性特征进行拼接,得到该待推荐餐厅的属性信息对应的属性特征。
步骤106:对所述相似度融合特征和所述属性融合特征进行融合,并根据融合结果确定所述各待推荐对象的推荐权重。
具体地,融合结果是指将相似度融合特征和属性融合特征融合后得到的结果;推荐权重表征待推荐对象可以被推荐的权重或者数值。
在本说明书一个或多个可选的实施例中,在获取到相似度融合特征和属性融合特征的基础上,可以直接将相似度融合特征和属性融合特征进行融合处理,得到融合结果。进一步地,基于预设的权重算法,根据融合结果确定各个待推荐对象的推荐权重。
在本说明书一个或多个可选的实施例中,还可以先获取各相似度和各属性信息对应的相关性信息,然后将相关性信息、相似度融合特征和属性融合特征进行融合,得到融合结果。
也即所述对所述相似度融合特征和所述属性融合特征进行融合之前,还包括:
分别对各所述相似度进行特征提取,得到各所述相似度对应的相似度特征,并分别对各所述属性信息进行特征提取,得到各所述属性信息对应的属性特征;
提取各所述相似度特征与各所述属性特征之间的相关性信息;
相应地,所述对所述相似度融合特征和所述属性融合特征进行融合,具体实现过程可以如下:
基于所述相关性信息,对所述相似度融合特征和所述属性融合特征进行融合,获得融合结果。
具体地,相似度特征是指表征相似度某些特点的表示;属性特征是指表征属性信息某些特点的表示;相关性信息是指属性特征与用户是否对待推荐对象有操作的信息。
实际应用中,对每个相似度进行特征提取,得到每个相似度对应的相似度特征;并对每个属性信息进行特征提取,得到每个属性信息对应的属性特征。之后,同于预设提取策略,提取各相似度特征与各属性特征之间的相关性信息,然后将相关信息、相似度融合特征以及属性融合特征进行融合,得到融合结果。进一步地,基于预设的权重算法,根据融合结果确定各个待推荐对象的推荐权重。如此,通过提取各相似度特征与各属性特征之间的相关性信息,将相关性信息融合至融合结果中,使融合结果的可靠性和置信度更高,有利于提高推荐效率。
步骤108:根据所述各待推荐对象的推荐权重,确定所述待推荐对象中的目标对象,并向目标用户推荐所述目标对象。
具体地,目标对象是指需要推荐给用户的待推荐对象。
实际应用中,在获得了各待推荐对象的推荐权重之后,基于预设的筛选条件和各待推荐对象的推荐权重,从多个待推荐对象中筛选出的目标对象,例如可以将各推荐权重从大到小排列,将排列前N个的推荐权重对应的待推荐视频确定为目标视频,其中,N为正整数;又如可以将各推荐权重从小到大排列,将排列最后的M个的推荐权重对应的待推荐视频确定为目标视频,其中,M为正整数;再如,设置阈值,将推荐权重大于阈值的待推荐对象确定为目标对象。在确定了目标对象之后,将目标对象推荐给目标用户。
在本说明书实施例的一种可能的实现方式中,在根据各相似度和各属性信息分别进行融合之前,还可以获取预先训练的对象推荐模型,然后将各相似度和各属性信息输入至对象推荐模型中,由对象推荐模型对各相似度和各属性信息进行融合等处理,得到获得各待推荐对象的推荐权重。也即所述根据各所述相似度,获得相似度融合特征,根据各所述属性信息,获得属性融合特征之前,还包括:
获取预训练的对象推荐模型,其中,所述对象推荐模型包括相似度融合子模型、属性融合子模型、特征融合层和推荐权重输出子模型;
相应地,所述根据各所述相似度,获得相似度融合特征,根据各所述属性信息,获得属性融合特征,包括:
将各所述相似度输入至所述相似度融合子模型进行相似度融合,获得相似度融合特征;
将各所述属性信息输入至所述属性融合子模型进行属性融合,获得属性融合特征;
相应地,所述对所述相似度融合特征和所述属性融合特征进行融合,并根据融合结果确定所述各待推荐对象的推荐权重,包括:
将所述相似度融合特征和所述属性融合特征输入至所述特征融合层进行融合,获得融合结果;
将所述融合结果输入所述推荐权重输出子模型,获得所述各待推荐对象的推荐权重。
具体的,对象推荐模型是指预先训练的神经网络模型;相似度融合子模型是指对象推荐模型中对各相似度进行处理得到相似度特征的部分;属性融合子模型是指对象推荐模型中对各属性信息进行处理得到属性特征的部分;特征融合层是指对象推荐模型中对属性特征和相似度特征进行处理得到融合结果的部分;推荐权重输出子模型是对融合结果进行处理得到推荐权重的部分。
实际应用中,在获取指定对象与各待推荐对象的相似度以及各待推荐对象的属性信息后,获取预先训练的包含有相似度融合子模型、属性融合子模型、特征融合层和推荐权重输出子模型的对象推荐模型。然后将指定对象与各待推荐对象的相似度输入至相似度融合子模型,由相似度融合子模型对指定对象与各待推荐对象的相似度进行相似度融合,输出相似度融合特征;将各待推荐对象的属性信息输入属性融合子模型,由属性融合子模型进行属性融合,输出属性融合特征。接着,将相似度融合特征和属性融合特征输入至特征融合层,由特征融合层进行融合,获得融合结果;最后将融合结果输入推荐权重输出子模型,由推荐权重输出子模型进行分析处理,输出各待推荐对象的推荐权重。通过预先训练的对象推荐模型对各相似度以及各属性信息进行处理,能够提高获取推荐权重的速率和准确率。
需要说明的是,将各相似度输入至相似度融合子模型后,相似度融合子模型中先对各相似度进行特征提取,得到各相似度的相似度特征,再将各相似度特征融合,得到并输出相似度融合特征;将各属性信息输入属性融合子模型,属性融合子模型先对各属性信息进行特征提取,得到各属性信息的属性特征,然后将各属性特征进行属性融合,得到并输出属性融合特征。
在获取预先训练的对象推荐模型之前,还需要对待训练模型进行训练,以便于得到具有推荐权重确定功能的对象推荐模型。也即所述获取预训练的对象推荐模型之前,还包括:
获取第一样本对象、第二样本对象集和预设的待训练模型,其中,所述待训练模型包括相似度融合子模型、属性融合子模型、特征融合层和推荐权重输出子模型;
从所述第二样本对象集中提取多个第二样本对象,并确定第一样本对象与各第二样本对象的样本相似度,以及所述各第二样本对象的样本属性信息;
将各所述样本相似度输入至所述相似度融合子模型进行融合,获得样本相似度融合特征,将各所述样本属性信息输入至所述属性融合子模型进行融合,获得样本属性融合特征;
将所述样本相似度融合特征和所述样本属性融合特征输入至所述特征融合层进行融合,获得样本融合结果;
将所述样本融合结果输入所述推荐权重输出子模型,获得所述各第二样本对象的预测结果;
根据各所述预测结果和各第二样本对象携带的权重标签确定损失值,并根据所述损失值,调整所述待训练模型中所述相似度融合子模型、所述属性融合子模型和所述推荐权重输出子模型的模型参数,继续执行所述从所述第二样本对象集中提取多个第二样本对象的步骤,在达到预设训练停止条件的情况下,将训练好的所述待训练模型确定为对象推荐模型。
具体地,待训练模型是指预先指定的神经网络模型;第一样本对象是指指定对象对应的训练样本;第二样本对象是指待推荐对象对应的训练样本;第二样本对象集是指多个第二样本对象的集合;样本相似度是指是指基于某种相似度算法获得的第一样本对象与第二样本对象之间的相似程度;样本属性信息是指与第二样本对象的属性相关的信息,还可以是用户对第二样本对象的行为属性信息;样本相似度融合特征是指将第一样本对象与各第二样本对象的样本相似度进行融合后得到的特征;样本属性融合特征是指将各第二样本对象的样本属性信息进行融合后得到的特征;样本融合结果是指将样本相似度融合特征和样本属性融合特征融合后得到的结果;预测结果是指推荐权重输出子模型的输出;权重标签是指第二样本对象对应的真实的推荐权重,也即预测结果对应的真值;训练停止条件可以是损失值小于或等于预设阈值,还可以是迭代训练次数达到预设迭代值。
实际应用中,获取第一样本对象、第二样本对象集和预设的待训练模型的方式有多种,例如,可以是运营人员向执行主体发送待训练模型的训练指令,或者发送第一样本对象、第二样本对象集和预设的待训练模型的获取指令,相应地,执行主体在接收到该指令后,开始对第一样本对象、第二样本对象集和预设的待训练模型进行获取;也可以是服务器每隔预设时长,自动获取第一样本对象、第二样本对象集和预设的待训练模型,例如,经过预设时长后,具有模型训练功能的服务器自动获取指定存取区域内的第一样本对象、第二样本对象集和预设的待训练模型;或者经过预设时长后,具有模型训练功能的终端自动获取存储于本地的第一样本对象、第二样本对象集和预设的待训练模型。本说明书对获取第一样本对象、第二样本对象集和预设的待训练模型的方式不做任何限定。
在获取第一样本对象、第二样本对象集和预设的待训练模型之后,从第二样本对象集中提取多个第二样本对象,然后根据预设相似度算法计算第一样本对象与各第二样本对象的相似度,例如获取用户对第一样本对象与各第二样本对象的行为数据,根据预设行为指标,对不同的行为定义不同的行为分,经过加权之后得到第一样本对象与各第二样本对象之间的样本相似度。并获取从对象属性特征表中获取各第二样本对象的样本属性信息。进一步地基于各样本相似度和各样本属性信息对待训练模型进行训练,得到对象推荐模型:可以将各样本相似度输入至相似度融合子模型进行融合,获得样本相似度融合特征,并将各样本属性信息输入至属性融合子模型进行融合,获得样本属性融合特征;然后将样本相似度融合特征和样本属性融合特征输入至特征融合层进行融合,获得样本融合结果;接着将样本融合结果输入推荐权重输出子模型进行处理,以获得各第二样本对象的预测结果。然后根据预测结果、各第二样本对象携带的权重标签和预设的损失函数,确定损失值,在未达到预设训练停止条件的情况下,根据损失值调整待训练模型的模型参数,也即相似度融合子模型、属性融合子模型和推荐权重输出子模型的模型参数,然后再次从第二样本对象集中提取多个第二样本对象,进行下一轮训练;在达到预设训练停止条件的情况下,将训练好的待训练模型确定为对象推荐模型。如此,通过第一样本对象和第二样本对象的样本相似度,以及第二样本对象的样本属性信息对待训练模型进行训练,能够提高对象推荐模型确定待推荐对象的推荐权重的准确性和速率,提高对象推荐模型的鲁棒性。
需要说明的是,权重标签是根据第一样本对象与第二样本对象的行为数据确定。例如获取某用户对第一样本对象与各第二样本对象的行为数据,根据预设行为指标,对不同的行为定义不同的行为分,经过加权之后得到第一样本对象与各第二样本对象之间的推荐权重,也即得到各第二样本对象携带的权重标签。
在本说明书实施例的一种可能的实现方式中,为了提高推荐模型的鲁棒性,在确定损失值时,可以确定排序损失值和均方误差损失值,进而基于排序损失值和均方误差损失值确定损失值。也即所述根据各所述预测结果和各第二样本对象携带的权重标签确定损失值,具体包括:
根据各所述预测结果、各第二样本对象携带的权重标签和排序损失函数,确定第一子损失值;
根据各所述预测结果、各第二样本对象携带的权重标签和均方误差损失函数,确定第二子损失值;
根据所述第一子损失值和所述第二子损失值,确定所述损失值。
具体地,排序损失函数是指预先设置的用于确定各第二样本对象排序的损失函数;第一子损失值即为排序损失值;均方误差损失函数是指预先设置的用于确定各第二样本对象的预测结果的损失函数;第二子损失值即为均方误差损失值。
实际应用中,可以将各第二样本对象中任意两个第二样本对象对应的样本相似度和预测结果输入至排序损失函数,得到第一子损失值,其中排序损失函数如式2所示;将各第二样本对象的样本相似度和预测结果输入至均方误差损失函数,得到第二子损失值,其中均方误差损失函数如式3所示。然后对第一子损失值和第二子损失值进行运算,如相减、相加、加权求和等得到损失值。
loss1(s,t)=max(tf.sign(w-w1)*(f(s,t1)-f(s,t)),0) (式2)
式2和式3中,loss1(s,t)表示第一子损失值,s表示第一样本对象,t表示当前第二样本对象,t1表示任意一个第二样本对象,f(s,t)表示当前第二样本对象对应的预测结果,f(s,t1)表示任意一个第二样本对象对应的预测结果,w表示当前第二样本对象携带的权重标签,w1表示任意一个第二样本对象携带的权重标签,loss2(s,t)表示第二子损失值;n表示预测结果的数量。
在本说明书实施例的一种可能的实现方式中,在确定第一子损失值时,可以先确定各第二样本对象的排序差异值,然后再根据排序差异值、预测结果、权重标签和排序损失函数,确定第一子损失值。也即在所述第二样本对象携带有排序标签的情况下,所述根据各所述预测结果、各第二样本对象携带的权重标签和排序损失函数,确定第一子损失值,具体实现过程可以如下:
根据所述预测结果,确定各第二样本对象的预测排序;
根据各第二样本对象的所述预测排序和所述排序标签,确定各第二样本对象的排序差异值;
基于所述排序差异值,根据各所述预测结果、各第二样本对象携带的权重标签和排序损失函数,确定第一子损失值。
具体地,排序标签是指各第二样本对象对应的真实的排序;预测排序是指根据预测结果确定的第二样本对象的排序;排序差异值是指排序标签和预测排序的差异值。
实际应用中,在从第二样本对象集中提取多个第二样本对象,会对这些第二样本对象进行打标,标注各第二样本对象的排序标签。在得到各第二样本对象的预测结果,基于预测结果对各第二样本对象进行排序,得到各第二样本对象的预测排序。然后分别对比各第二样本对象的预测排序与排序标签,得到各第二样本对象的排序差异值。进一步地,根据排序差异值、预测结果、权重标签和排序损失函数,确定第一子损失值。如此,根据排序差异值来确定第一子损失值,可以提高第一子损失值的确定效率,并提高模型训练效率。
在本说明书实施例的一种可能的实现方式中,由于简单样本对模型更新没有增益,困难样本会导致模型训练崩溃,仅使用在一定范围内的样本计算第一子损失,第一子损失只能用来学习样本之间的排序关系。也即所述根据各所述预测排序、各第二样本对象携带的权重标签和所述排序标签,确定各第二样本对象的排序差异值之后,还包括:
判断所述排序差异值是否符合预设排序差异范围;
若是,将所述排序差异值对应的预测结果和所述排序差异值对应的第二样本对象携带的权重标签输入至所述排序损失函数,确定第一子损失值。
实际应用中,在确定第一子损失值时,需要对预测结果进行筛选:将排序差异值与预设排序差异范围进行比较,如果排序差异值属于预设排序差异范围,则将该排序差异值对应的预测结果和样本相似度输入至排序损失函数,确定第一子损失值;如果排序差异值不属于预设排序差异范围,则将该排序差异值对应的预测结果的第一子损失值确定为0。如式4所示。
loss3(s,t)=max(min(tf.sign(w-w1)*(f(s,t1)-f(s,t)),m2)+m1,0) (式4)
式4中,loss3(s,t)表示第一子损失值,s表示第一样本对象,t表示当前第二样本对象,t1表示任意一个第二样本对象,f(s,t)表示当前第二样本对象对应的预测结果,f(s,t1)表示任意一个第二样本对象对应的预测结果,w表示当前第二样本对象携带的预测权重,w1表示任意一个第二样本对象携带的预测权重,tf.sign(w-w1)*(f(s,t1)-f(s,t))表示当前第二样本对象对应的当前排序差异值,m1表示预设排序差异范围的下限,m2表示预设排序差异范围的上限。
需要说明的是,根据第一子损失值和第二子损失值确定损失值时,可以将第一子损失值加上第二子损失值与学习率的乘积,得到损失值,如式5所示。
LOSS(s,t)=loss4(s,t)+αloss2(s,t) (式5)
式5中,LOSS(s,t)为损失值;loss4(s,t)为第一子损失值,可以通过式2或式4计算得到,也即loss1(s,t)或者loss3(s,t);loss2(s,t)为第二子损失值,可以通过式3计算得到;α为预设的学习率。
图2是本说明书一个实施例提供的一种对象推荐方法中,对象推荐模型训练的处理过程流程图:
步骤1,数据输入:分析用户对第一样本对象的点击行为,询盘行为,支付行为等行为数据,通过定义同一用户一定时间范围内的行为为相关行为,挖掘出一批相关的第二样本对象,也即第二样本对象集,并根据预设相似度算法,计算第一样本对象(s)与各第二样本对象(t1、t2、…、tx)的相似度;然后监测用户对各第二样本对象的后续行为数据;之后根据预设指标,对不同的行为定义不同的行为分,经过加权之后得到第一样本对象与各第二样本对象之间的权重标签作为图的边信息,也即确定各第二样本对象携带的权重标签(w1、w2、…、wx)。最后从对象属性特征表中检索到各第二样本对象的属性信息作为点信息,构建相似关系图,作为。确定第一样本对象与各第二样本对象的样本相似度,以及所述各第二样本对象的样本属性信息和权重标签和权重标签。
步骤2:模型构建:构建包括相似度融合子模型、属性融合子模型、特征融合层和推荐权重输出子模型的待训练模型,其中,待训练模型可以为底层双塔+顶层融合的深度排序模型,用于更好的融合众多相似度和属性信息。首先构建了相似度塔结构,学习融合众多通过各种预定义算法计算的相似度;然后构建了后续行为预测的双塔结构,挖掘第二样本对象的属性特征与后续用户是否行为的相关关系;最后构建了顶层的融合网络,通过融合网络将底层双塔的输出进行融合,旨在挖掘出一些与第一样本对象相似度高且后续用户行为概率高的第二样本对象。详细的模型架构图可见附图3,图3是本说明书一个实施例提供的一种对象推荐方法中,对象推荐模型的结构示意图:对象推荐模型与待训练模型的结构一样,以对象推荐模型对模型结构进行说明。对象推荐模型包含相似度融合子模型、属性融合子模型、特征融合层和推荐权重输出子模型,其中,相似度融合子模型以相似度为输入,包含嵌入层、融合层,还包含一个对应元素相加的处理区;属性融合子模型以属性信息为输入,包含嵌入层、融合层,特征融合层包含特征融合层1和特征融合层2;推荐权重输出子模型输出推荐权重。此外,对象推荐模型还包括相关性提取的处理区,用于提取各相似度特征与各属性特征之间的相关性信息。
步骤3:通过融合改进版的排序损失和均方误差损失指导模型参数的更新,即更新模型参数,通过梯度下降的算法优化对象推荐模型的模型参数。首先确定排序损失,该损失仅使用一般困难的样本计算损失。因为简单样本对模型更新没有增益,困难样本会导致模型训练崩溃,因此仅使用在边界范围内的样本计算损失,该损失只能用来学习样本之间的排序关系;然后融合均方误差损失,该损失限制网络的输出与目标值之间在数值上不要相差太远,该项损失防止了输出值溢出的问题,可以有效地增强训练稳定性;最后使用ADAM优化器,通过最小化损失函数来优化模型参数,输出最终的对象推荐模型。其中,简单样本是指待训练模型输出的排序关系正确,且差异很大,说明非常容易区分;困难样本是指待训练模型输出的排序关系错误,且差异很大,说明非常不容易区分。详细的定义可以见附图4,图4是本说明书一个实施例提供的一种对象推荐方法中,选择第二样本对象的结构示意图:s表示第一样本对象,t表示第二样本对象,通过预设排序差异范围,也即预设排序差异范围的上限m1以及预设排序差异范围的下限m,来判断第二样本对象是简单样本(Easysample)、中等难度样本(Semi-hard sample)和困难样本(Hard sample)中的哪一种。
步骤4:产出索引:在完成上述步骤1-3的训练过程之后,利用训练好的对象推荐模型来构建线上i2i索引。先构建测试集,也即获取指定对象与各待推荐对象的相似度,以及各待推荐对象的属性信息,然后将各相似度和各属性信息输入到对象推荐模型中,对象推荐模型型会输出最终各待推荐对象的推荐权重;最后将所有的推荐权重推到上线,构建i2i索引之后用于搭建线上召回服务。
如此基于深度排序的底层双塔和顶层融合的模型结构,高效的融合多种相似度和待推荐对象的属性信息,产出最终的i2i索引。其中相似度塔结构可以学习融合多种排序分,取长补短,即可以保证结果的多样性,也可以保证结果的鲁棒性;后续行为预测的塔结构可以帮助模型学习如何融合待推荐对象的属性信息,使得最终输出的i2i索引的目标对象可以更贴近项目目标,即使得更贴合项目目标的待推荐商品的推荐权重越高、排序靠前;对象推荐模型在推断过程中不在依赖于用户的行为数据,可以增加最终结果的多样性。此外,将众多的相似度和属性信息进行融合,解决了i2i召回在实际操作中考虑推荐的影响因素单一的问题,最终也取得了远优于基于相似度进行推荐的结果。
本说明书提供了一种对象推荐方法,获取指定对象与各待推荐对象的相似度,以及所述各待推荐对象的属性信息;根据各所述相似度,获得相似度融合特征,根据各所述属性信息,获得属性融合特征;对所述相似度融合特征和所述属性融合特征进行融合,并根据融合结果确定所述各待推荐对象的推荐权重;根据所述各待推荐对象的推荐权重,确定所述待推荐对象中的目标对象,并向目标用户推荐所述目标对象。基于指定对象与各待推荐对象的相似度,和各待推荐对象的属性信息进行融合,确定各待推荐对象的推荐权重,最后基于推荐权重确定需要给目标用户推荐的目标对象,提高了对象推荐的效率,以及目标对象与目标用户的贴合度,进一步提高了用户黏度。
下述结合附图5,以本说明书提供的对象推荐方法在商品推荐中的应用为例,对所述对象推荐方法进行进一步说明。其中,图5示出了本说明书一个实施例提供的一种对象推荐方法的处理过程流程图,具体包括以下步骤。
步骤502:获取第一样本商品、第二样本商品集和预设的待训练模型,其中,待训练模型包括相似度融合子模型、属性融合子模型、特征融合层和推荐权重输出子模型。
步骤504:从第二样本商品集中提取多个第二样本商品,并确定第一样本商品与各第二样本商品的样本相似度,以及各第二样本商品的样本属性信息。
步骤506:将各样本相似度输入至相似度融合子模型进行融合,获得样本相似度融合特征,将各样本属性信息输入至属性融合子模型进行融合,获得样本属性融合特征。
步骤508:将样本相似度融合特征和样本属性融合特征输入至特征融合层进行融合,获得样本融合结果。
步骤510:将样本融合结果输入推荐权重输出子模型,获得各第二样本商品的预测结果。
步骤512:根据各预测结果、各第二样本对象携带的权重标签和排序损失函数,确定第一子损失值,根据各预测结果、各第二样本对象携带的权重标签和均方误差损失函数,确定第二子损失值,根据第一子损失值和第二子损失值,确定损失值。
可选地,第二样本商品携带有排序标签;
相应地,根据各预测结果、各第二样本对象携带的权重标签和排序损失函数,确定第一子损失值,包括:
根据预测结果,确定各第二样本商品的预测排序;
根据各第二样本商品的预测排序和排序标签,确定各第二样本商品的排序差异值;
基于排序差异值,根据各预测结果、各第二样本对象携带的权重标签和排序损失函数,确定第一子损失值。
可选地,基于排序差异值,根据各预测结果、各第二样本对象携带的权重标签和排序损失函数,确定第一子损失值,包括:
判断排序差异值是否符合预设排序差异范围;
若是,将排序差异值对应的预测结果和排序差异值对应的第二样本对象携带的权重标签输入至排序损失函数,确定第一子损失值。
步骤514:根据损失值,调整待训练模型中相似度融合子模型、属性融合子模型和推荐权重输出子模型的模型参数,继续执行从第二样本商品集中提取多个第二样本商品的步骤,在达到预设训练停止条件的情况下,将训练好的待训练模型确定为商品推荐模型。
步骤516:获取指定商品与各待推荐商品的相似度,以及各待推荐商品的属性信息。
步骤518:将各相似度输入至相似度融合子模型,分别对各相似度进行特征提取,得到各相似度对应的相似度特征,将各相似度特征进行融合处理,获得相似度融合特征。
可选地,相似度包括多个子相似度,多个子相似度为利用各种预设相似度算法对指定商品与待推荐商品计算得到;
相应地,分别对各相似度进行特征提取,得到各相似度对应的相似度特征,包括:
针对任一相似度,分别对该相似度中的各子相似度进行特征提取,得到各子相似度对应的子相似度特征;
将各子相似度特征进行拼接,得到该相似度对应的相似度特征。
步骤520:将各属性信息输入至属性融合子模型进行属性融合,获得属性融合特征。
步骤522:将相似度融合特征和属性融合特征输入至特征融合层,分别对各属性信息进行特征提取,得到各属性信息对应的属性特征,将各属性特征进行融合处理,获得属性融合特征。
可选地,属性信息包括多个行为属性信息;
相应地,分别对各属性信息进行特征提取,得到各属性信息对应的属性特征,包括:
针对任一属性信息,分别对该属性信息中的各行为属性信息进行特征提取,得到各行为属性信息对应的行为属性特征;
将各行为属性特征进行拼接,得到该属性信息对应的属性特征。
步骤524:提取各相似度特征与各属性特征之间的相关性信息。
步骤526:基于相关性信息,对相似度融合特征和属性融合特征进行融合,获得融合结果。
本说明书提供了一种对象推荐方法,基于指定商品与各待推荐商品的相似度,和各待推荐商品的属性信息进行融合,确定各待推荐商品的推荐权重,最后基于推荐权重确定需要给目标用户推荐的目标商品,提高了商品推荐的效率,以及目标商品与目标用户的贴合度,进一步提高了用户黏度。
与上述方法实施例相对应,本说明书还提供了对象推荐装置实施例,图6示出了本说明书一个实施例提供的一种对象推荐装置的结构示意图。如图6所示,该装置包括:
第一获取模块602,被配置为获取指定对象与各待推荐对象的相似度,以及所述各待推荐对象的属性信息;
融合模块604,被配置为根据各所述相似度,获得相似度融合特征,根据各所述属性信息,获得属性融合特征;
确定模块606,被配置为对所述相似度融合特征和所述属性融合特征进行融合,并根据融合结果确定所述各待推荐对象的推荐权重;
推荐模块608,被配置为根据所述各待推荐对象的推荐权重,确定所述待推荐对象中的目标对象,并向目标用户推荐所述目标对象。
可选地,所述装置还包括第二获取模块,被配置为:
获取预训练的对象推荐模型,其中,所述对象推荐模型包括相似度融合子模型、属性融合子模型、特征融合层和推荐权重输出子模型;
相应地,所述融合模块604,还被配置为:
将各所述相似度输入至所述相似度融合子模型进行相似度融合,获得相似度融合特征;
将各所述属性信息输入至所述属性融合子模型进行属性融合,获得属性融合特征;
相应地,所述确定模块606,还被配置为:
将所述相似度融合特征和所述属性融合特征输入至所述特征融合层进行融合,获得融合结果;
将所述融合结果输入所述推荐权重输出子模型,获得所述各待推荐对象的推荐权重。
可选地,所述装置还包括训练模块,被配置为:
获取第一样本对象、第二样本对象集和预设的待训练模型,其中,所述待训练模型包括相似度融合子模型、属性融合子模型、特征融合层和推荐权重输出子模型;
从所述第二样本对象集中提取多个第二样本对象,并确定第一样本对象与各第二样本对象的样本相似度,以及所述各第二样本对象的样本属性信息;
将各所述样本相似度输入至所述相似度融合子模型进行融合,获得样本相似度融合特征,将各所述样本属性信息输入至所述属性融合子模型进行融合,获得样本属性融合特征;
将所述样本相似度融合特征和所述样本属性融合特征输入至所述特征融合层进行融合,获得样本融合结果;
将所述样本融合结果输入所述推荐权重输出子模型,获得所述各第二样本对象的预测结果;
根据各所述预测结果和各第二样本对象携带的权重标签确定损失值,并根据所述损失值,调整所述待训练模型中所述相似度融合子模型、所述属性融合子模型和所述推荐权重输出子模型的模型参数,继续执行所述从所述第二样本对象集中提取多个第二样本对象的步骤,在达到预设训练停止条件的情况下,将训练好的所述待训练模型确定为对象推荐模型。
可选地,所述训练模块,还被配置为:
根据各所述预测结果、各第二样本对象携带的权重标签和排序损失函数,确定第一子损失值;
根据各所述预测结果、各第二样本对象携带的权重标签和均方误差损失函数,确定第二子损失值;
根据所述第一子损失值和所述第二子损失值,确定所述损失值。
可选地,所述第二样本对象携带有排序标签;
相应地,所述训练模块,还被配置为:
根据所述预测结果,确定各第二样本对象的预测排序;
根据各第二样本对象的所述预测排序和所述排序标签,确定各第二样本对象的排序差异值;
基于所述排序差异值,根据各所述预测结果、各第二样本对象携带的权重标签和排序损失函数,确定第一子损失值。
可选地,所述训练模块,还被配置为:
判断所述排序差异值是否符合预设排序差异范围;
若是,将所述排序差异值对应的预测结果和所述排序差异值对应的第二样本对象携带的权重标签输入至所述排序损失函数,确定第一子损失值。
可选地,所述融合模块604,还被配置为:
分别对各所述相似度进行特征提取,得到各相似度对应的相似度特征;
将各所述相似度特征进行融合处理,获得相似度融合特征。
可选地,所述相似度包括多个子相似度,所述多个子相似度为利用各种预设相似度算法对指定对象与待推荐对象计算得到;
相应地,所述融合模块604,还被配置为:
针对任一相似度,分别对该相似度中的各子相似度进行特征提取,得到各子相似度对应的子相似度特征;
将各子相似度特征进行拼接,得到该相似度对应的相似度特征。
可选地,所述融合模块604,还被配置为:
分别对各所述属性信息进行特征提取,得到各属性信息对应的属性特征;
将各所述属性特征进行融合处理,获得属性融合特征。
可选地,所述属性信息包括多个行为属性信息;
相应地,所述融合模块604,还被配置为:
针对任一属性信息,分别对该属性信息中的各行为属性信息进行特征提取,得到各行为属性信息对应的行为属性特征;
将各行为属性特征进行拼接,得到该属性信息对应的属性特征。
可选地,所述装置还包括特征提取模块,被配置为:
分别对各所述相似度进行特征提取,得到各所述相似度对应的相似度特征,并分别对各所述属性信息进行特征提取,得到各所述属性信息对应的属性特征;
提取各所述相似度特征与各所述属性特征之间的相关性信息;
所述确定模块606,还被配置为:
基于所述相关性信息,对所述相似度融合特征和所述属性融合特征进行融合,获得融合结果。
本说明书提供了一种对象推荐装置,获取指定对象与各待推荐对象的相似度,以及所述各待推荐对象的属性信息;根据各所述相似度,获得相似度融合特征,根据各所述属性信息,获得属性融合特征;对所述相似度融合特征和所述属性融合特征进行融合,并根据融合结果确定所述各待推荐对象的推荐权重;根据所述各待推荐对象的推荐权重,确定所述待推荐对象中的目标对象,并向目标用户推荐所述目标对象。基于指定对象与各待推荐对象的相似度,和各待推荐对象的属性信息进行融合,确定各待推荐对象的推荐权重,最后基于推荐权重确定需要给目标用户推荐的目标对象,提高了对象推荐的效率,以及目标对象与目标用户的贴合度,进一步提高了用户黏度。
上述为本实施例的一种对象推荐装置的示意性方案。需要说明的是,该对象推荐装置的技术方案与上述的对象推荐方法的技术方案属于同一构思,对象推荐装置的技术方案未详细描述的细节内容,均可以参见上述对象推荐方法的技术方案的描述。
图7示出了根据本说明书一个实施例提供的一种计算设备700的结构框图。该计算设备700的部件包括但不限于存储器710和处理器720。处理器720与存储器710通过总线730相连接,数据库750用于保存数据。
计算设备700还包括接入设备740,接入设备740使得计算设备700能够经由一个或多个网络760通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备740可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备700的上述部件以及图7中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图7所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备700可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备700还可以是移动式或静止式的服务器。
其中,处理器720用于执行如下计算机可执行指令,该计算机可执行指令被处理器执行时实现上述对象推荐方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的对象推荐方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述对象推荐方法的技术方案的描述。
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述对象推荐方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的对象推荐方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述对象推荐方法的技术方案的描述。
本说明书一实施例还提供一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述对象推荐方法的步骤。
上述为本实施例的一种计算机程序的示意性方案。需要说明的是,该计算机程序的技术方案与上述的对象推荐方法的技术方案属于同一构思,计算机程序的技术方案未详细描述的细节内容,均可以参见上述对象推荐方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。