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

一种对象获取方法、装置、设备及存储介质

文献发布时间:2023-06-19 10:11:51


一种对象获取方法、装置、设备及存储介质

技术领域

本申请涉及数据处理领域,尤其涉及一种对象获取方法、装置、设备及存储介质。

背景技术

随着互联网的发展,人们的生活越来越需要网络,比如,通过网络进行购物、了解新闻、阅读小说等。因此需要根据不同用户的不同兴趣为每个用户获取感兴趣的对象,以对用户进行个性化推荐。

目前,一般通过确定相似用户,然后再根据相似用户获取相似对象,以实现为相似用户推荐相似对象。但是不同的用户对网络的依赖不同,有的用户使用网络频次高,有的用户使用网络频次低,因此很难判断出准确的相似用户,进而导致通过相似用户获取到的相似对象的准确率也很低;另外,在为相似用户寻找相似对象的时候,需要计算每两个对象之间的相似度,计算量大,导致获取速率慢。

发明内容

鉴于现有技术获取相似对象准确率低和速率慢的问题,本申请提出了一种对象获取方法、装置、设备及存储介质,能够提高相似对象获取准确率和速率。

第一方面,本申请实施例提供了一种对象获取方法,该方法包括:

确定第一推荐对象集合中的有效推荐对象子集,第一推荐对象集合包括至少一个第一推荐对象;

采用聚类算法对有效推荐对象子集进行聚类,得到至少一个聚类集合;

确定每个聚类集合的索引;

对于每个第一推荐对象,执行如下处理:

计算第一推荐对象的隐向量与每个索引之间的相似值;基于相似值从索引中选择第一推荐对象的目标索引;在目标索引对应的聚类集合内获取与第一推荐对象对应的各第一相似对象。

第二方面,本申请实施例提供了一种推荐方法,该方法包括:

确定第一推荐对象集合中的有效推荐对象子集,第一推荐对象集合包括至少一个第一推荐对象;

采用聚类算法对有效推荐对象子集进行聚类,得到至少一个聚类集合;

确定每个聚类集合的索引;

对于每个第一推荐对象,执行如下处理:计算第一推荐对象的隐向量与每个索引之间的相似值;基于相似值从索引中选择第一推荐对象的目标索引;在目标索引对应的聚类集合内获取与第一推荐对象对应的各第一相似对象;

将第一推荐对象集合中每个第一推荐对象的标识作为键;

将每个第一推荐对象对应的各第一相似对象的标识,及二者之间的相似值作为值,与键进行关联,以键值对的形式存储至缓存中;

获取待推荐用户已访问过的各第二推荐对象,各第二推荐对象为第一推荐对象集合的子集;

对于每个第二推荐对象,从缓存中选择与第二推荐对象的标识相同的键,并获取相同的键对应的值,以得到各第二推荐对象的各第二相似对象及相似值;

基于相似值从各第二相似对象中获取待推荐对象,并将待推荐对象推荐至待推荐用户。

第三方面,本申请实施例提供了一种对象获取装置,其特征在于,装置包括:

第一确定模块,用于确定第一推荐对象集合中的有效推荐对象子集,第一推荐对象集合包括至少一个第一推荐对象;

第一聚类模块,用于采用聚类算法对有效推荐对象子集进行聚类,得到至少一个聚类集合;

第二确定模块,用于确定每个聚类集合的索引;

该装置还包括第一获取模块,用于对于每个第一推荐对象执行如下处理:

计算第一推荐对象的隐向量与每个索引之间的相似值;基于相似值从索引中选择第一推荐对象的目标索引;在目标索引对应的聚类集合内获取与第一推荐对象对应的各第一相似对象。

第四方面,本申请实施例提供了一种推荐装置,装置包括:

第四确定模块,用于确定第一推荐对象集合中的有效推荐对象子集,第一推荐对象集合包括至少一个第一推荐对象;

第二聚类模块,用于采用聚类算法对有效推荐对象子集进行聚类,得到至少一个聚类集合;

第五确定模块,用于确定每个聚类集合的索引;

第二获取模块,用于对于每个第一推荐对象,执行如下处理:计算第一推荐对象的隐向量与每个索引之间的相似值;基于相似值从索引中选择第一推荐对象的目标索引;在目标索引对应的聚类集合内获取与第一推荐对象对应的各第一相似对象;

第六确定模块,用于将第一推荐对象集合中每个第一推荐对象的标识作为键;

第二存储模块,用于将每个第一推荐对象对应的各第一相似对象的标识,及二者之间的相似值作为值,与键进行关联,以键值对的形式存储至缓存中;

第三获取模块,用于获取待推荐用户已访问过的各第二推荐对象,各第二推荐对象为第一推荐对象集合的子集;

第四获取模块,用于对于每个第二推荐对象,从缓存中选择与第二推荐对象的标识相同的键,并获取相同的键对应的值,以得到各第二推荐对象的各第二相似对象及相似值;

推荐模块,用于基于相似值从各第二相似对象中获取待推荐对象,并将待推荐对象推荐至待推荐用户。

第五方面,本申请实施例提供了一种计算机设备,包括:

一个或者多个处理器;

存储器,用于存储一条或者多条指令;

当一条或者多条指令被一个或者多个处理器执行时,使得一个或者多个处理器执行实现上述第一方面、第二方面的方法。

第六方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机指令,计算机指令用于实现上述第一方面、第二方面的方法。

本申请实施例提供的对象获取方法,根据用户已访问的对象为用户获取相似对象,相较于现有技术根据相似用户为用户获取相似对象,能够获取到更准确的相似对象,提高获取相似对象的准确性;另外,该对象获取方法,还对有效对象进行聚类,使得在计算相似值时,只需要与聚类中的有效推荐对象计算相似值,不需要计算所有对象间的相似值,提高了相似对象获取效率。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,附图仅用于示出优选实施方法的目的,而并不认为是对本发明的限制。另外还需要说明的是,为了便于描述,附图中仅示出了本发明相关的部分而非全部。

图1是根据本申请实施例示出的一种对象获取方法或推荐方法实施环境架构图;

图2是根据本申请实施例示出的一种对象获取方法流程图;

图3是根据本申请实施例示出的一种对象获取方法另一流程图;

图4是根据本申请实施例示出的一种隐向量生成方法流程图;

图5是根据本申请实施例示出的一种推荐方法流程图;

图6是根据本申请实施例示出的一种将待推荐对象推荐至待推荐用户的方法流程图;

图7是根据本申请实施例示出的一种对象获取装置框图;

图8是根据本申请实施例示出的另一种对象获取装置框图;

图9是根据本申请实施例示出的又一种对象获取装置框图;

图10是根据本申请实施例示出的一种生成隐向量的装置框图;

图11是根据本申请实施例示出的一种构建推荐对象与标签权重矩阵装置框图;

图12是根据本申请实施例示出的一种推荐装置框图;

图13是根据本申请实施例示出的一种将推荐对象推荐至待推荐用户的装置框图;

图14是根据本申请实施例示出的一种计算机系统的结构示意图。

具体实施方式

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

图1是根据本申请实施例示出的一种对象获取方法或推荐方法的实施环境架构图。如图1所示,该实施环境架构包括:终端101和服务器102。

其中,终端101可安装应用程序,比如有关新闻资讯的应用程序,当应用程序启动后,终端101可显示有应用界面,用户可通过应用界面与终端101进行交互。比如,在本申请中,终端101可以显示推荐对象,以使得用户可以通过终端101浏览推荐对象。

终端101的类型包括但不限于智能手机、平板电脑、电视机、笔记本电脑、台式电脑等,本申请实施例对此不进行具体限定。

其中,服务器102具有数据处理功能,并将数据处理结果发送给终端101,以使终端101通过应用程序的应用界面显示相关数据。比如,在本申请中,服务器102可以用于存储推荐对象、推荐对象的标识、还可用于确定推荐对象的显示位置或将推荐对象发送给终端101等。

服务器102可以是一台服务器,也可以是由多台服务器组成的服务器集群,或者是一个云计算服务中心。

终端101与服务器102通过有线或无线网络建立通信连接。

图2和图3是根据本申请实施例示出的一种对象获取方法流程图。图2和图3所示的方法可以由图1中的服务器102执行,如图2和图3所示,该方法包括以下步骤:

步骤201,确定第一推荐对象集合中的有效推荐对象子集,第一推荐对象集合包括至少一个第一推荐对象。

其中,第一推荐对象集合为应用程序在预设时间段内发布的所有推荐对象。进一步地,每个推荐对象对应有一个标识,该标识用于唯一标识一个推荐对象。

进一步地,按照推荐对象是否过期,可以将第一推荐对象集合划分为无效推荐对象和有效推荐对象。其中,无效推荐对象为距当前时间已经过期,没有在应用程序中显示的推荐对象,不能用于推荐给用户,有效推荐对象指当前还可以显示在应用程序的推荐对象,可以用于推荐给用户。

另外,需要说明的是,虽然无效推荐对象为距当前时间已经过期,没有在应用程序中显示的推荐对象,但是服务器102已经事先存储了该无效推荐对象。

进一步地,可以为每个第一推荐对象设置是否有效标记,比如,设置00为有效,设置01为无效。

另外,由于一个推荐对象可能被用户X访问,但没有被用户Y访问。因此,可选地,对于某个用户而言,还可以按照该用户是否访问过推荐对象可以将第一推荐对象集合划分为用户已访问推荐对象和未访问推荐对象。进一步地,也可以为每个第一推荐对象设置该用户是否访问标记,比如,设置02为该用户已访问,设置03为该用户未访问。

其中,应用程序可以为任何包括有推荐对象的应用程序,比如,新闻资讯类应用程序,购物类应用程序,阅读类应用程序等。

其中,预设时间段可以为根据需要设置的任意长度的时间段,比如,可以为10天、20天或30天。

可选地,本步骤可以为:依次获取第一推荐对象集合中每个第一推荐对象的是否有效标记;选取是否效标记为有效的第一推荐对象,以确定第一推荐对象集合中的有效推荐对象子集。

示例性地,应用程序为新闻资讯类应用程序,预设时间段为30天,第一推荐对象集合包括8篇有关新闻资讯的文章,其标识和是否有效标记分别为A1 01、A2 00、A3 01、A400、A5 00、A6 00、A7 00和A8 00,则确定的有效推荐对象子集为{A2 A4 A5 A6 A7 A8}。

步骤202,采用聚类算法对有效推荐对象子集进行聚类,得到至少一个聚类集合。

可选地,聚类算法是基于有效推荐对象的隐向量进行的。这里首先介绍隐向量的生成,隐向量是定时或周期性生成的,参见图4,隐向量生成方法包括以下步骤:

步骤2021,基于第一推荐对象集合定时或周期性生成推荐对象与标签权重矩阵。

可选地,步骤2021可以包括如下步骤:

步骤一、定时或周期性获取第一推荐对象集合。

由于应用程序会不断的更新推荐对象,因此为了保证第一推荐对象的实时性,也需要定时或周期性地更新第一推荐对象。进一步地,定时或周期性获取第一推荐对象集合时,舍弃超过预设时间段的推荐对象,增加应用程序新发布的推荐对象。

另外,定时或周期性的时间可以是根据需要设置的任意时间,比如,在每个整点获取一次,或者是每隔两个小时获取一次。

步骤二、提取第一推荐对象集合的标签集合。

提取第一推荐对象集合的标签集合可以为:从每个第一推荐对象集合中提取其标签,将提取的所有标签进行去重处理,得到最终的标签集合。另外,从每个第一推荐对象提取的各个标签对该第一推荐对象具有代表性,比如,第一推荐对象为一篇论述喝水重要性的文章则提取的标签可能为“健康”、“喝水”和“重要性”。

示例性地,仍以上述A1、A2、A3、A4、A5、A6、A7和A8第一推荐对象为例,假设提取到标签集包括有4个,分别为T1、T2、T3和T4。

可选地,标签的提取可以使用关键词提取技术,比如词频-逆文本频率(英文全称:term frequency–inverse document frequency,英文简称:TF-IDF)技术,在此不做详述。

另外,需要说明的是,每个第一推荐对象大约可以提取3-8个标签。这里8个第一推荐对象提取到4个标签仅仅是为了方便描述。

步骤三、基于第一推荐对象集合和标签集合构建推荐对象与标签权重矩阵,权重矩阵中各元素的取值大于等于0小于等于1。

在获取到第一推荐集合和标签集合后,建立如下表1,表1中第一列为第一推荐对象标识,第一行为标签集合,表1中间的元素为对应标签隶属于对应的第一推荐对象的程度,记为权重,并用数值表示。

表1

进一步地,将上表中各个第一推荐对象作为矩阵的列,各个标签作为矩阵的行,权重为矩阵的元素,以构建如下推荐对象与标签权重矩阵:

可选地,可以通过自然语言处理的方式确定标签隶属于第一推荐对象的程度。当标签隶属于第一推荐对象的程度越大,权重越大。当权重取到最大值时,表示一个标签完全属于一个第一推荐对象。

步骤2022,基于推荐对象与标签权重矩阵构建推荐对象与标签距离矩阵。

可选地,用1减去推荐对象与标签权重矩阵中每个元素,以得到如下推荐对象与标签距离矩阵:

另外,需要说明的是,由于在权重矩阵中各元素的取值大于等于0小于等于1,而距离矩阵中的各元素是用1减去权重矩阵中每个元素得到,则距离矩阵中各元素的取值大于等于0小于等于1。

步骤2023,对推荐对象与标签距离矩阵进行矩阵分解,生成第一推荐对象集合中每个第一推荐对象的隐向量。

可选地,可以选用交替最小二乘法(英文全程:Alternating Least Square,英文简称:ALS)进行矩阵分解,在此不做详述。

进一步地,分解后得到两个低维矩阵,分别记为第一推荐对象矩阵和标签矩阵。在第一推荐对象矩阵中每一个行向量为一个第一推荐对象的隐向量,用于代表一个第一推荐对象,在标签矩阵中每一个列向量代表一个标签。具体如下:

另外,需要说明的时是,由于在矩阵分解后,得到的是两个低维矩阵,因此,在上述矩阵中r小于n。

可选地,聚类算法可以是k-means算法、k-medoids算法、clarans算法等,在此不做限制。

示例性地,仍以上述例子为例,采用聚类算法对有效推荐对象子集进行聚类后,得到两个聚类集合,第一聚类集合的元素包括A2、A4和A5,第二聚类集合的元素包括A6、A7和A8。

步骤203,确定每个聚类集合的索引。

可选地,步骤203可以为:计算每个聚类集合中所有有效推荐对象的隐向量的均值向量,将均值向量确定为索引。进一步地,对于每个聚类集合,获取该聚类集合中每个有效推荐对象的隐向量;计算各隐向量的均值向量,将均值向量确定为该聚类集合的索引。

此处需要说明的是,由于索引是各隐向量的均值向量,所以将索引设置为与隐向量维数相同的列向量。

示例性地,仍以上述例子为例,第一个聚类集合的元素为A2、A4和A5,其隐向量分别为a

另外,需要说明的是,通过步骤201-203确定了有效推荐对象,并对有效推荐对象进行聚类,并确定每个聚类的索引;接着,对于每个第一推荐对象,执行步骤204-206,以对每个第一推荐对象获取相似对象。

步骤204,计算第一推荐对象的隐向量与每个索引之间的相似值。

可选地,每个第一推荐对象的隐向量与每个索引之间的相似值,可以通过计算第一推荐对象的隐向量与每个索引之间内积进行确定。则本步骤可以为,分别计算第一推荐对象集合中每个第一推荐对象的隐向量与每个索引之间的内积,将计算得到的内积作为隐向量与每个索引之间的相似值。

示例性地,两个索引分别用M和N表示,其中M表示第一聚类集合{A2,A4,A5}的索引,N表示第二聚类集合{A6,A7,A8}的索引,与M对应的均值向量用m表示,和与N对应的均值向量用n表示。第一推荐对象包括A1、A2、A3、A4、A5、A6、A7和A8,各第一推荐对象的隐向量分别为a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

另外,需要说明的是,在各示例中,使用了一致的第一推荐对象标识,索引标识等,但是为了描述方便,涉及到的具体的数值以各自所在的示例为准。

步骤205,基于相似值从索引中选择第一推荐对象的目标索引。

由于两个向量的各元素的取值大于等于0小于等于1,因此两个向量之间的内积越大,相似值越大,相似度越高。

可选地,本步骤可以为:对于每个第一推荐对象,确定内积值中的最大值对应的索引为每个第一推荐对象的目标索引。

经过此步骤后,可以为第一推荐对象集合中每个第一推荐对象确定一个目标索引。

示例性地,仍以上述例子为例,对于第一推荐对象A1的隐向量a

步骤206,在目标索引对应的聚类集合内获取与第一推荐对象对应的各第一相似对象。

可选地,步骤206可以包括如下过程:计算每一个第一推荐对象与其对应的聚类集合内的各有效推荐对象的相似值;选取相似值大于预设值的有效推荐对象为第一相似对象,或者对相似值进行从大到小排序,选取排序靠前的预设个有效推荐对象为第一相似对象。

示例性地,对于归属于第一聚类集合的A2、A3、A4和A5,将其分别与第一聚类集合内的各有效推荐对象A2、A4和A5做内积,以计算相似值,结果如下:

a

a

a

a

a

a

a

a

a

对于归属于第二聚类集合的A1、A6、A7和A8,将其分别与第二聚类集合内的各有效推荐对象A6、A7和A8做内积,以计算相似值,结果如下:

a

a

a

a

a

a

a

a

a

进一步地,对相似值进行从大到小排序,选取排序靠前的两个有效推荐对象为第一相似对象。

可选地,在为第一推荐对象获取到第一相似对象后,还可以将第一推荐对象集合中每个第一推荐对象的标识作为键;将每个第一推荐对象对应的各第一相似对象的标识,及二者之间的相似值作为值,与键进行关联,以键值对的形式存储在数据库中。

进一步地,存储格式可以为:第一推荐对象相似对象1:相似值相似对象2:相似值。

示例性的,仍以上述例子为例,存储如下:

A1 A6:0.80 A7:0.90

A2 A4:0.40 A5:0.70

A3 A2:0.60 A5:0.50

A4 A2:0.40 A5:0.50

A5 A2:0.70 A4:0.50

A6 A7:0.60 A8:0.10

A7 A6:0.60 A8:0.70

A8 A6:0.10 A7:0.70

通过步骤201-206就可以为每个第一推荐对象获取到第一相似对象及其相似对象之间的相似值。

可选地,还可以将键值对存储至缓存中,以使得当需要使用这些数据时,可以直接从缓存中获取,以提高相似对象获取速度。

综上所述,本申请实施例提供的对象获取方法,根据用户已访问的对象为用户获取相似对象,相较于现有技术根据相似用户为用户获取相似对象,能够获取到更准确的相似对象,提高获取相似对象的准确性;另外,该对象获取方法,还对有效对象进行聚类,使得在计算相似值时,只需要与聚类中的有效推荐对象计算相似值,不需要计算所有对象间的相似值,提高了相似对象获取效率。

图5和图3是根据本申请实施例示出的一种推荐方法流程图,图5所示的方法可以由图1中的服务器102执行,如图5和图3所示,该方法包括:

步骤301,确定第一推荐对象集合中的有效推荐对象子集,第一推荐对象集合包括至少一个第一推荐对象。

步骤302,采用聚类算法对有效推荐对象子集进行聚类,得到至少一个聚类集合。

步骤303,确定每个聚类集合的索引。

步骤304,对于每个第一推荐对象,执行如下处理:计算第一推荐对象的隐向量与每个索引之间的相似值;基于相似值从索引中选择第一推荐对象的目标索引;在目标索引对应的聚类集合内获取与第一推荐对象对应的各第一相似对象。

步骤305,将第一推荐对象集合中每个第一推荐对象的标识作为键。

步骤306,将每个第一推荐对象对应的各第一相似对象的标识,及二者之间的相似值作为值,与键进行关联,以键值对的形式存储至缓存中。

其中,步骤301-步骤306与上述实施例中描述的键值对的存储方法相同或相似,或参考图3中所示的方法。

步骤307,获取待推荐用户已访问过的各第二推荐对象,各第二推荐对象为第一推荐对象集合的子集。

示例性地,A1、A2和A3为待推荐用户已经访问过的第二推荐对象,A4、A5、A6、A7和A8为待推荐用户未访问过的推荐对象,A1和A3无效推荐对象。

步骤308,对于每个第二推荐对象,从缓存中选择与第二推荐对象的标识相同的键,并获取相同的键对应的值,以得到各第二推荐对象的各第二相似对象及相似值。

示例性地,获取到的第二相似对象及相似值分别为:

A1 A6:0.80 A7:0.90

A2 A4:0.40 A5:0.70

A3 A2:0.60 A5:0.50

步骤309,基于相似值从各第二相似对象中获取待推荐对象,将待推荐对象推荐至待推荐用户。

可选地,将待推荐对象推荐至待推荐用户,包括:对各第二相似对象进行去重处理;将去重处理后的结果按照相似值从高到低排序;将排序在前的预设个第二相似对象推荐至待推荐用户。

其中,去重处理可以为:计算重复出现的第二相似对象的平均值,将平均值确定为该第二推荐对象的相似值。比如,对于上述获取到的第二相似对象中的A5进行去重处理,得到的相似值为A5:0.60。

示例性地,去重处理后的相似对象及排序为:

A7:0.90

A6:0.80

A5:0.60

A2:0.60

A4:0.40

将排序在前的4个第二相似对象推荐至待推荐用户,则将A7、A6、A5和A2推荐至待推荐用户。

可选地,参见图6,将待推荐对象推荐至待推荐用户,还可以为如下步骤:

步骤3091,对各第二相似对象进行去重处理。

步骤3092,将去重处理后的结果按照待推荐用户的画像数据、环境数据以及推荐对象的分类信息进行综合评分。

其中,画像数据可以包括用户的长期信息、短期信息、基础信息和过去的累积兴趣点。进一步地,长期信息可以是身高、爱好、职业等,短期信息可以体重等。基础信息可以是姓名、性别、年龄等。

环境数据包括用户是否使用WiFi(无线保真),用户当前所处的地理位置等。

推荐对象的分类信息包括军事、娱乐、航天、家具等。

进一步地,按照待推荐用户的画像数据、环境数据以及推荐对象的分类信息进行综合评分为:确定去重后的第二相似对象与各数据信息的一致性,一致性越高,评分越高。

示例性地,对于一个购物应用程序,去重处理后的结果包括一个价位高的椅子和一个价位低的椅子。每个数据的总分值为10,则对于价位高的椅子和用户X进行如下评分:

获取到的用户X的画像数据为该用户X的职业为老师,则画像数据的评分为7,表示老师购买这个价位的椅子的可能性为7;

获取到的环境数据是未使用WiFi,则如果椅子的应用程序中关于椅子的介绍主要是通过视频时,环境数据的评分为3,表示用户X浏览椅子的概率较小;

获取到的推荐对象的分类信息为家具时,而用户最近对家具比较感兴趣时,推荐对象的分类信息评分为8,表示用户X浏览椅子的概率较大。

最终将每个数据对应的分值作和,作为总评分。另外,对于其它应用程序也是使用类似方法评分。

步骤3093,按照去重处理后的结果中每个推荐对象的展示类型、分类信息和综合评分确定每个推荐对象的显示位置。

其中,展示类型为推荐对象在应用程序中的展示类型,比如展示类型包括以视频的类型展示,以图片的类型展示或者以文字的类型展示等。

其中,分类信息包括推荐对象的内容所属的分类,比如,属于军事类,娱乐类等。

示例性的,比如,应用程序为了界面的美观,先显示10个军事类推荐对象,再展示5个娱乐类推荐对象。

步骤3094,将处理后的结果按照显示位置推送至待推荐用户。

综上所述,本申请实施例提供的推荐方法,根据用户已访问的对象为用户获取相似对象,相较于现有技术根据相似用户为用户获取相似对象,能够获取到更准确的相似对象,提高获取相似对象的准确性;另外,该对象获取方法,还对有效对象进行聚类,使得在计算相似值时,只需要与聚类中的有效推荐对象计算相似值,不需要计算所有对象间的相似值,提高了相似对象获取效率。

本说明书中的实施例均采用递进的方式描述,各个实施例子之间的相似部分相互参见。每个步骤下的实施例侧重于该步骤下的具体方法。以上的所描述的实施方案仅仅是示意性的,具体实施例仅是对本发明做举例说明,本发明所属技术领域的技术人员在不脱离本发明实施例所述原理的前提,还可以做出若干改进和润色,这些改进也应视为本发明的保护范围。

图7是根据本申请实施例示出的一种对象获取装置框图。如图7所示,该装置包括:

第一确定模块701,用于确定第一推荐对象集合中的有效推荐对象子集,第一推荐对象集合包括至少一个第一推荐对象;

第一聚类模块702,用于采用聚类算法对有效推荐对象子集进行聚类,得到至少一个聚类集合;

第二确定模块703,用于确定每个聚类集合的索引;

该装置还包括第一获取模块704,用于对于每个第一推荐对象执行如下处理:

计算第一推荐对象的隐向量与每个索引之间的相似值;基于相似值从索引中选择第一推荐对象的目标索引;在目标索引对应的聚类集合内获取与第一推荐对象对应的各第一相似对象。

可选地,参见图8,该装置还包括:

第三确定模块705,用于将第一推荐对象集合中每个第一推荐对象的标识确定为键;

第一存储模块706,用于将每个第一推荐对象对应的各第一相似对象的标识,及二者之间的相似值确定为值,与键进行关联,以键值对的形式存储至缓存中。

可选地,第二确定模块703,还用于:计算每个聚类集合中所有有效推荐对象的隐向量的均值向量,将均值向量确定为索引。

可选地,参见图9,该装置还包括生成模块707,用于定时或周期性生成隐向量,进一步地,参见图10,生成模块707包括:

第一生成单元7071,用于基于第一推荐对象集合定时或周期性生成推荐对象与标签权重矩阵;

构建单元7072,用于基于推荐对象与标签权重矩阵构建推荐对象与标签距离矩阵;

第二生成单元7073,用于对推荐对象与标签距离矩阵进行矩阵分解,生成第一推荐对象集合中每个第一推荐对象的隐向量。

可选地,参见图11,第一生成单元7071包括:

获取子单元7071a,用于定时或周期性获取第一推荐对象集合;

提取子单元7071b,用于提取第一推荐对象集合的标签集合;

构建子单元7071c,用于基于第一推荐对象集合和标签集合构建推荐对象与标签权重矩阵,权重矩阵中各元素的取值大于等于0小于等于1。

可选地,构建单元7072还用于:用1减去推荐对象与标签权重矩阵中每个元素,以得到推荐对象与标签距离矩阵。

综上所述,本申请实施例提供的对象获取装置,根据用户已访问的对象为用户获取相似对象,相较于现有技术根据相似用户为用户获取相似对象,能够获取到更准确的相似对象,提高获取相似对象的准确性;另外,该对象获取方法,还对有效对象进行聚类,使得在计算相似值时,只需要与聚类中的有效推荐对象计算相似值,不需要计算所有对象间的相似值,提高了相似对象获取效率。

图12是根据本申请实施例示出的一种推荐装置框图。如图12所示,该装置包括:

第四确定模块801,用于确定第一推荐对象集合中的有效推荐对象子集,第一推荐对象集合包括至少一个第一推荐对象;

第二聚类模块802,用于采用聚类算法对有效推荐对象子集进行聚类,得到至少一个聚类集合;

第五确定模块803,用于确定每个聚类集合的索引;

第二获取模块804,用于对于每个第一推荐对象,执行如下处理:计算第一推荐对象的隐向量与每个索引之间的相似值;基于相似值从索引中选择第一推荐对象的目标索引;在目标索引对应的聚类集合内获取与第一推荐对象对应的各第一相似对象;

第六确定模块805,用于将第一推荐对象集合中每个第一推荐对象的标识确定为键;

第二存储模块806,用于将每个第一推荐对象对应的各第一相似对象的标识,及二者之间的相似值作为值,与键进行关联,以键值对的形式存储至缓存中;

第三获取模块807,用于获取待推荐用户已访问过的各第二推荐对象,各第二推荐对象为第一推荐对象集合的子集;

第四获取模块808,用于对于每个第二推荐对象,从缓存中选择与第二推荐对象的标识相同的键,并获取相同的键对应的值,以得到各第二推荐对象的各第二相似对象及相似值;

推荐模块809,用于基于相似值从各第二相似对象中获取待推荐对象,并将待推荐对象推荐至待推荐用户。

可选地,参见图13,推荐模块809包括:

去重单元8091,用于对各第二相似对象进行去重处理;

评分单元8092,用于将去重处理后的结果按照待推荐用户的画像数据、环境数据以及推荐对象的分类信息进行综合评分;

确定单元8093,用于按照去重处理后的结果中每个推荐对象的展示类型、分类信息和综合评分确定每个推荐对象的显示位置;

推荐单元8094,用于将处理后的结果按照显示位置推荐至待推荐用户。

另外,需要说明的是,装置实施例中的相关内容,请参照方法实施例,在此不做赘述。

综上所述,本申请实施例提供的推荐装置,根据用户已访问的对象为用户推荐相似对象,相较于现有技术根据相似用户为用户推荐相似对象,能够推荐到更准确的相似对象,提高推荐相似对象的准确性;另外,该相似对象推荐方法,还对有效对象进行聚类,使得在计算相似值时,不需要计算所有对象间的相似值,提高了相似对象推荐效率。

图14是根据本申请实施例示出的一种计算机系统的结构示意图,计算机系统包括中央处理单元(CPU)901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。在RAM903中,还存储有系统操作所需的各种程序和数据。CPU 901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。

以下部件连接至I/O接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。

特别地,根据本发明的实施例,上文各流程图的描述的过程可以被实现为计算机软件程序。例如,本发明图2所示的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理单元(CPU)901执行时,执行本申请的系统中限定的上述功能。

需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。

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

描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。所描述的单元或模块也可以设置在处理器中,例如,可以描述为:一种处理器包括第一确定模块,第一聚类模块,第二确定模块和第一获取模块。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。

作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如上述实施例中所述的对象获取方法或推荐方法。

例如,所述电子设备可以实现如图2和图3中所示的:步骤201,确定第一推荐对象集合中的有效推荐对象子集,第一推荐对象集合包括至少一个第一推荐对象;步骤202,采用聚类算法对有效推荐对象子集进行聚类,得到至少一个聚类集合;步骤203,确定每个聚类集合的索引;对于每个第一推荐对象,执行步骤204-206,步骤204,计算第一推荐对象的隐向量与每个索引之间的相似值;步骤205,基于相似值从索引中选择第一推荐对象的目标索引;步骤206,在目标索引对应的聚类集合内获取与第一推荐对象对应的各第一相似对象。又如,所述电子设备可以实现如图5中所示的各个步骤:步骤301,确定第一推荐对象集合中的有效推荐对象子集,第一推荐对象集合包括至少一个第一推荐对象;步骤302,采用聚类算法对有效推荐对象子集进行聚类,得到至少一个聚类集合;步骤303,确定每个聚类集合的索引;步骤304,对于每个第一推荐对象,执行如下处理:计算第一推荐对象的隐向量与每个索引之间的相似值;基于相似值从索引中选择第一推荐对象的目标索引;在目标索引对应的聚类集合内获取与第一推荐对象对应的各第一相似对象;步骤305,将第一推荐对象集合中每个第一推荐对象的标识作为键;步骤306,将每个第一推荐对象对应的各第一相似对象的标识,及二者之间的相似值作为值,与键进行关联,以键值对的形式存储至缓存中;步骤307,获取待推荐用户已访问过的各第二推荐对象,各第二推荐对象为第一推荐对象集合的子集;步骤308,对于每个第二推荐对象,从缓存中选择与第二推荐对象的标识相同的键,并获取相同的键对应的值,以得到各第二推荐对象的各第二相似对象及相似值;步骤309,基于相似值从各第二相似对象中获取待推荐对象,将待推荐对象推荐至待推荐用户。

应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。

此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。

通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。

综上所述,本申请实施例提供的对象获取计算机系统或计算机可读介质,根据用户已访问的对象为用户获取相似对象,相较于现有技术根据相似用户为用户获取相似对象,能够获取到更准确的相似对象,提高获取相似对象的准确性;另外,该对象获取方法,还对有效对象进行聚类,使得在计算相似值时,只需要与聚类中的有效推荐对象计算相似值,不需要计算所有对象间的相似值,提高了相似对象获取效率。

上述仅为本申请较佳实施例及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

相关技术
  • 一种应用程序对象的内容数据获取方法、装置、电子设备及存储介质
  • 一种对象获取方法、装置、设备及存储介质
技术分类

06120112456973