内容推荐方法及其装置、存储介质与流程

文档序号:22129984发布日期:2020-09-08 12:44阅读:103来源:国知局
本公开涉及人工智能领域,尤其涉及一种内容推荐方法及其装置、存储介质。
背景技术
::目前,随着机器学习技术的快速发展,根据不同用户的不同性质特征(例如,用户的历史行为、性别、年龄、所处地域等性质特征),向不同用户推荐与其性质特征相对应的内容的这一技术手段,已经开始被广泛应用于各种内容推荐的场景中。在相关技术中,通常采用先对所有需要推荐内容的用户,分别提取能够表征这些用户的性质特征的特征数据,即对每个用户生成一个便于机器学习模型的稠密特征。然后,利用目标用户的特征数据,确定与目标用户的特征数据相对应的内容。然后,将与目标用户的特征数据相对应的内容推荐给目标用户,以实现上述内容推荐的效果。可以看出,在上述相关技术中,为了实现内容推荐的效果,需要对所有用户分别生成对应的特征数据,并保存这些特征数据。随着用户数量的增加,需要保存的特征数据也会相应增加,这就导致用于内容推荐的模型系统的总数据量也随着增大,使得模型系统的体积常常达到tb量级。这就给模型系统的存储、传输带来了很多不便。因此,如何缩小模型系统的体积,这是目前本领域需要解决的问题。技术实现要素:本公开提供一种内容推荐方法及其装置、存储介质,以至少解决相关技术中,在构建用于内容推荐的模型系统时,模型系统体积过大的问题。本公开的技术方案如下:根据本公开实施例的第一方面,提供一种内容推荐方法,包括:获取包含目标用户的m个用户集合所对应的m组特征数据;其中,m为大于1的正整数,m个用户集合与m组特征数据一一对应;m组特征数据中各组特征数据,分别用于表征对应的用户集合中用户共同的性质特征;将m组特征数据进行组合,得到目标特征数据;根据目标特征数据,确定与目标特征数据相对应的目标内容;向目标用户推荐目标内容。可选的,获取包含目标用户的m个用户集合所对应的m组特征数据,包括:获取目标用户的身份标识码;身份标识码,包括用于将目标用户与其他用户相区别的特征参数;分别根据m种用户划分方式,确定包含目标用户的m个用户集合;其中,m种用户划分方式中各用户划分方式,分别用于将包含目标用户的多个用户划分为两个以上的用户集合;获取m个用户集合中各用户集合分别对应的特征数据,得到m组特征数据;其中,m个用户集合中各用户集合分别对应的特征数据,用于表征所对应用户集合中包含用户共同的性质特征。可选的,分别根据m种用户划分方式,确定包含目标用户的m个用户集合,包括:分别利用m种哈希函数,确定目标用户的身份标识码所映射至的m个哈希桶;m种哈希函数中,一个哈希函数,用于根据用户的身份标识码,将用户映射至哈希函数所对应的哈希表所包含的多个哈希桶中的一个哈希桶中;获取m个用户集合中各用户集合分别对应的特征数据,得到m组特征数据,包括:获取m个哈希桶分别对应的特征数据,得到m组特征数据;其中,m个哈希桶中,一个哈希桶对应的特征数据,用于表征映射至一个哈希桶的用户集合中包含的用户共同的性质特征。可选的,在获取m个用户集合所对应的m组特征数据之前,方法还包括:获取p个用户的身份标识码;p个用户中包括目标用户;分别利用m种用户划分方式,将p个用户划分为两个以上的用户集合,得到q个用户集合;提取q个用户集合中各用户集合对应的特征数据;其中,q个用户集合中各用户集合对应的特征数据,分别用于表征对应的用户集合中用户共同的性质特征。可选的,分别利用m种用户划分方式,将p个用户划分为两个以上的用户集合,得到q个用户集合,包括:分别利用m种哈希函数以及p个用户的身份标识码,将p个用户映射至多个哈希桶中,得到q个哈希桶;其中,q个哈希桶包括:m个哈希表中各哈希表对应的哈希桶;m个哈希表为与m种哈希函数一一对应的哈希表;提取q个用户集合中各用户集合对应的特征数据,包括:获取训练样本集合;训练样本集合中包括多个训练样本;多个训练样本中一个训练样本表示p个用户中一个用户的一次用户行为;利用训练样本集合,提取q个哈希桶分别对应的特征数据,以使得m个预设哈希桶对应的特征数据组合后得到的特征数据,与训练样本集合中预设用户的训练样本所反映的用户的性质特征相对应;其中,预设用户为p个用户任意一个用户;m个预设哈希桶,为q个哈希桶中包含预设用户的哈希桶。可选的,m个哈希表中各哈希表包含的哈希桶个数的乘积大于等于p。可选的,将m组特征数据进行组合,得到目标特征数据,包括:对m组特征数据,通过数据拼接、向量加法或向量内积中的任意一种方式进行组合,得到目标特征数据。可选的,与目标特征数据相对应的目标内容,包括:所表征的内容信息与目标特征数据所表征的用户的性质特征相匹配的内容;所表征的内容信息,包括:文字、图案或声音中至少一项。第二方面,本公开提供一种内容推荐装置,包括:获取单元,用于获取包含目标用户的m个用户集合所对应的m组特征数据;其中,m为大于1的正整数,m个用户集合与m组特征数据一一对应;m组特征数据中各组特征数据,分别用于表征对应的用户集合中用户共同的性质特征;特征组合单元,用于将m组特征数据进行组合,得到目标特征数据;内容确定单元,用于根据目标特征数据,确定与目标特征数据相对应的目标内容;推荐单元,用于向目标用户推荐目标内容。可选的,获取单元,具体用于:获取目标用户的身份标识码;身份标识码,包括用于将目标用户与其他用户相区别的特征参数;分别根据m种用户划分方式,确定包含目标用户的m个用户集合;其中,m种用户划分方式中各用户划分方式,分别用于将包含目标用户的多个用户划分为两个以上的用户集合;获取m个用户集合中各用户集合分别对应的特征数据,得到m组特征数据;其中,m个用户集合中各用户集合分别对应的特征数据,用于表征所对应用户集合中包含用户共同的性质特征。可选的,分别根据m种用户划分方式,确定包含目标用户的m个用户集合,包括:分别利用m种哈希函数,确定目标用户的身份标识码所映射至的m个哈希桶;m种哈希函数中,一个哈希函数,用于根据用户的身份标识码,将用户映射至哈希函数所对应的哈希表所包含的多个哈希桶中的一个哈希桶中;获取m个用户集合中各用户集合分别对应的特征数据,得到m组特征数据,包括:获取m个哈希桶分别对应的特征数据,得到m组特征数据;其中,m个哈希桶中,一个哈希桶对应的特征数据,用于表征映射至一个哈希桶的用户集合中包含的用户共同的性质特征。可选的,内容推荐装置还包括:特征提取单元;特征提取单元,用于:获取p个用户的身份标识码;p个用户中包括目标用户;分别利用m种用户划分方式,将p个用户划分为两个以上的用户集合,得到q个用户集合;提取q个用户集合中各用户集合对应的特征数据;其中,q个用户集合中各用户集合对应的特征数据,分别用于表征对应的用户集合中用户共同的性质特征。可选的,分别利用m种用户划分方式,将p个用户划分为两个以上的用户集合,得到q个用户集合,包括:分别利用m种哈希函数以及p个用户的身份标识码,将p个用户映射至多个哈希桶中,得到q个哈希桶;其中,q个哈希桶包括:m个哈希表中各哈希表对应的哈希桶;m个哈希表为与m种哈希函数一一对应的哈希表;提取q个用户集合中各用户集合对应的特征数据,包括:获取训练样本集合;训练样本集合中包括多个训练样本;多个训练样本中一个训练样本表示p个用户中一个用户的一次用户行为;利用训练样本集合,提取q个哈希桶分别对应的特征数据,以使得m个预设哈希桶对应的特征数据组合后得到的特征数据,与训练样本集合中预设用户的训练样本所反映的用户的性质特征相对应;其中,预设用户为p个用户任意一个用户;m个预设哈希桶,为q个哈希桶中包含预设用户的哈希桶。可选的,m个哈希表中各哈希表包含的哈希桶个数的乘积大于等于p。可选的,特征组合单元,具体用于对m组特征数据,通过数据拼接、向量加法或向量内积中的任意一种方式进行组合,得到目标特征数据。可选的,与目标特征数据相对应的目标内容,包括:所表征的内容信息与目标特征数据所表征的用户的性质特征相匹配的内容;所表征的内容信息,包括:文字、图案或声音中至少一项。第三方面,本公开提供一种内容推荐装置,包括:处理器、用于存储处理器可执行指令的存储器;其中,处理器被配置为执行指令,以实现如第一方面所提供的内容推荐方法。第四方面,本公开提供一种计算机可读存储介质,包括指令,当指令由处理器执行时,使得处理器执行如第一方面提供的内容推荐方法。第五方面,本公开提供一种计算机程序产品,包括指令,当指令由处理器执行时,使得处理器执行如第一方面提供的内容推荐方法。本公开所提供的方案中,考虑到可以按照m种划分方式,分别将用户群体划分成多个用户集合。例如,某应用的用户群体包括了9个用户,用户1、用户2、用户3、用户4、用户5、用户6、用户7、用户8、用户9。按照第一种划分方式,将用户群体划分为三个用户集合:集合1(用户1、用户2、用户3);集合2(用户4、用户5、用户6);集合3(用户7、用户8、用户9)。按照第二种划分方式,将9个用户划分为三个用户集合:集合4(用户1、用户4、用户7);集合5(用户2、用户5、用户8);集合6(用户3、用户6、用户9)。然后对于上述两种划分方式所得到的6个用户集合,分别提取各用户集合的特征数据,其中各用户集合的特征数据能够表征该用户集合中用户共同的性质特征。也就是给每个用户集合创建一个稠密特征。然后,便可以将包含该用户的用户集合所对应的特征数据进行组合,将组合后得到的特征数据作为该用户的特征数据。例如,上述示例中,集合1和集合4中都包含用户1,那么可以将集合1对应的特征数据和集合4对应的特征数据进行组合,并将组合后的特征数据作为用户1的特征数据。其他用户的特征数据可同理得到。然后可以发现,9个用户中每个用户对应的特征数据都是不同的,也就是说用这种方式得到的用户的特征数据,可以避免9个用户中出现特征数据重复的问题(即可以保证每个用户对应不同的组合结果,即不同的特征数据)。这样便可以很大程度的保留各用户的个性化特征。可以看出,通过上述发明构思,仅需要存储6种特征数据(即6个用户集合分别对应的特征数据),即可对9个用户的性质特征进行刻画(即能够生成分别用于表征这9个用户的性质特征的特征数据)。因此,本公开所提供技术方案中,在确定向目标用户推荐的内容时,采用获取包括目标用户的m个用户集合的特征数据。并将获取到的m组特征数据进行组合,得到能够表征目标用户的性质特征的目标特征数据。然后便可以得到与目标特征数据对应的目标内容,并向目标用户推荐该目标内容,从而能够在实现内容推荐的同时,能够大幅度的缩小模型系统的体积,降低模型系统的存储、传输成本。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。图1是根据一示例性实施例示出的一种网络结构示意图。图2是根据一示例性实施例示出的一种内容推荐方法的流程示意图之一。图3是根据一示例性实施例示出的一种内容推荐方法的流程示意图之二。图4是根据一示例性实施例示出的一种内容推荐方法的流程示意图之三。图5是根据一示例性实施例示出的一种内容推荐方法的流程示意图之四。图6是根据一示例性实施例示出的一种内容推荐方法的流程示意图之五。图7是根据一示例性实施例示出的一种内容推荐装置的结构示意图之一。图8是根据一示例性实施例示出的一种内容推荐装置的结构示意图之二。图9是根据一示例性实施例示出的一种内容推荐装置的结构示意图之三。具体实施方式为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。另外,在本公开实施例的描述中,除非另有说明,“/”表示或的意思,例如,a/b可以表示a或b;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,在本公开实施例的描述中,“多个”是指两个或多于两个。首先,对本公开所涉及的技术术语进行介绍:特征哈希,也称为哈希技巧(类比于核技巧),是一种快速且空间利用率高的特征向量化方法,即将任意特征转换为向量或矩阵中的索引。它通过对特征应用散列函数并直接使用特征的散列值作为索引来工作,而不是在关联数组中查找索引。特征哈希法的目标是把原始的高维特征向量压缩成较低维特征向量,且尽量不损失原始特征的表达能力。哈希表(hashtable,也叫散列表),是根据关键码值(keyvalue)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。记录的存储位置=f(关键字),这里的对应关系f称为散列函数,又称为哈希函数(hash函数),采用散列技术将记录存储在一块连续的存储空间中,这块连续存储空间称为散列表或哈希表(hashtable)。哈希桶,就是哈希表中盛放不同key链表的容器,可以把每个key的位置看作是一个桶,桶里放了一个链表。embedding技术:embedding即嵌入,embedding是一种将事物(具体可以是用户、图像、文字)映射至一个多维度隐空间中的向量的方法。例如,为了区分用户群体中的每个用户,通常为每个用户分配一个身份标识码(identitydocument,id),另外为了针对不同用户做不同的个性化推荐,对每个用户id我们使用一个长度固定的浮点数向量表示对该用户的刻画。上述用户id属于高维的稀疏特征,而该浮点数向量则是一个便于机器学习模型学习的低维的稠密特征,也称为该用户的embeddingvector(嵌入向量)。以下,对本公开所提供的技术方案的应用场景进行介绍:参考图1,其示出本公开实施例所可能涉及的一种实施环境示意图。如图1所示,该实施环境可以包括服务器101和多个终端设备(如终端设备102a、终端设备102b、终端设备102c和终端设备102d),多个终端设备具体可以通过有线网络或者无线网络与服务器101连接。示例性的,本公开实施例中的终端设备可以是手机、平板电脑、桌面型、膝上型、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobilepersonalcomputer,umpc)、上网本,以及蜂窝电话、个人数字助理(personaldigitalassistant,pda)、增强现实(augmentedreality,ar)\虚拟现实(virtualreality,vr)设备等可以安装即时通讯应用,并使用即时通讯应用通信的设备,本公开实施例对该电子设备的具体形态不作特殊限制。其中,服务器101可以是用于向用户推荐内容(如图像、视频、文字、业务等)的服务器。服务器101可以利用本公开所提供的技术方案,确定向各用户推荐的内容,然后通过有线或者无线的方式发送至多个终端设备中该用户所使用的终端设备。下面,对本公开的技术原理进行介绍:目前,很多场景下都需要向用户推荐个性化的内容。相关技术中,常利用深度学习技术来建立推荐模型。在相关技术中,为了实现向不同用户推荐不同内容的这一目的,通常在建立的推荐模型中需要存储每个用户的特征数据。具体的,例如假设有n个用户,其中每个用户对应一个k维向量(即嵌入向量,embeddingvector)。则推荐模型中,嵌入向量部分就需要占用n×k×sizeof(float)的存储空间。其中,sizeof(float)为嵌入向量中每一项的浮点数所占空间大小。这样一来,随着用户数量的增加,推荐模型中所需存储的嵌入向量的个数也随之增加。这导致推荐模型的体积一般非常大,常常达到tb量级,需要通过多机分布式才能有效存储和运算。这样巨大的模型体积,在实际业务中至少会出现以下问题:1、存储成本大。对每个用户都需要单独存储相应的特征数据,存储版本管理信息。对于在线学习的模型,还需要存储之前的历史模型,以便于随时回滚。如果模型本身体积很大,整套解决方案需要大量存储成本。2、多机运算overhead:模型体积超出单机处理能力时,不可避免地需要多机运算,带来系统上的复杂性和出错的可能性。3、具体业务硬性要求:海外业务的一个痛点:模型需要越洋传输至海外进行服务,而越洋带宽成本极高。推荐模型过大,传输时间也会很长,导致模型延迟过高、效果变差、传输过程的不稳定问题也会被放大。针对上述技术,在一种可能的设计中,可以将用户群体映射至有限个数的用户集合中。然后,对应每个用户集合,存储一个嵌入向量。例如,假设有一亿个用户。利用各用户的用户id,将这一亿个用户通过预设哈希函数,映射至有限个数的哈希桶中。例如,哈希桶有10万个,则平均每个哈希桶被1000个用户共享。在上述这种设计中,虽然能够使推荐模型的体积变小,但是由于大约1000个用户共用一个哈希桶,对应的是同一个嵌入向量。因此,会显著降低模型的个性化程度,影响推荐效果。进而,在本公开中考虑到,在特征哈希(featurehashing)中,一组特征数据可以映射为一个稀疏向量(sparsevector),其中不止一个元素为非零。同样地,也可以考虑将一个用户id,同时映射到多个嵌入向量上。其中,多个嵌入向量中各嵌入向量又分别被多个用户id所映射到。这种情况下,不同用户id只要映射后的多个嵌入向量中有一个不同,即可区分不同用户id。例如,若用户id的取值范围为0~2^n(即最多可以有2^n个用户)。可以创建一组包含2^(n/2)个嵌入向量的embedding,然后将用户id通过一种哈希函数(为了便于描述,下文中将这个哈希函数称为“第一哈希函数”)映射至上述2^(n/2)个嵌入向量。可以理解的是,这种情况下,平均两个用户id共同映射至同一个嵌入向量中。另外,再创建另一组包含2^(n/2)个嵌入向量的embedding,并将用户id通过另一种哈希函数(下文中将这个哈希函数称为“第二哈希函数”)映射至2^(n/2)个嵌入向量中。同样的,这种情况下,平均两个用户id共同映射至同一个嵌入向量中。然后,通过对两组中对应的两个嵌入向量进行组合(比如数据拼接、向量加法)得到的向量来表示一个用户id所对应的特征数据。可以看出,在将上述两组2^(n/2)个嵌入向量进行组合时,可以有2^n(即2^(n/2)×2^(n/2))种组合方式。因此,可以满足不同用户id对应嵌入向量不同的需求。另外,存储的嵌入向量的总个数则只有2^(n/2)+2^(n/2)个,远小于常规方式(即对应每个用户存储一个嵌入向量)中所存储的2^n个嵌入向量。基于上述实现方式,考虑到在多个用户id映射至同一个嵌入向量的这种情况下,此时该被共用的嵌入向量,其嵌入向量中所包含的参数,本质上是一种对多个用户的共同性质特征进行刻画的特征数据。因此,换句话讲,可以通过对m个用户集合所分别对应的特征数据(各用户集合所对应的特征数据,包括能够表征该用户集合中所包括用户的共同的性质特征)进行组合。组合后的目标特征数据,即可用于表征这m个用户集合中共同存在的目标用户的性质特征。然后,通过查找与该目标特征数据相对应的内容,并向目标用户推荐该目标内容,即可实现向目标用户推荐符合其性质特征的内容的这一效果。例如,某应用的用户群体包括了9个用户,用户1、用户2、用户3、用户4、用户5、用户6、用户7、用户8、用户9。按照第一种划分方式,将用户群体划分为三个用户集合:(用户1、用户2、用户3);(用户4、用户5、用户6);(用户7、用户8、用户9)。按照第二种划分方式,将9个用户划分为三个用户集合:(用户1、用户4、用户7);(用户2、用户5、用户8);(用户3、用户6、用户9)。然后对于上述两种划分方式所得到的6个用户集合,分别提取各用户集合的特征数据,其中各用户集合的特征数据能够表征该用户集合中用户共同的性质特征。也就是给每个用户集合创建一个稠密特征。然后,便可以将包含该用户的用户集合所对应的特征数据进行组合,将组合后得到的特征数据作为该用户的特征数据。可以看出,通过上述发明构思,仅需要存储6种特征数据(即6个用户集合分别对应的特征数据),即可对9个用户的性质特征进行刻画(即能够生成分别用于表征这9个用户的性质特征的特征数据)。并且,通过对两种划分方式所得到的6种特征数据进行排列组合,可以得到3×3,即9种不同的组合结果。也就是说可以避免9个用户中出现特征数据重复的问题(即可以保证每个用户对应不同的组合结果,即不同的特征数据)。这样便可以很大程度的保留各用户的个性化特征。基于上述技术原理,本公开提供一种内容推荐方法,该内容推荐方法具体可以通过一种内容推荐装置来执行。其中,内容推荐装置可以是各类电子设备。例如,内容推荐装置可以为图1中的服务器101。当该方法应用于一种内容推荐装置的情况下,如图2所示,该内容推荐方法可以包括以下步骤s201-s204:s201、内容推荐装置获取包含目标用户的m个用户集合所对应的m组特征数据。其中,m为大于1的正整数。另外,m个用户集合与m组特征数据一一对应。m组特征数据中各组特征数据,分别用于表征对应的用户集合中用户共同的性质特征。其中,本公开中所称“性质特征”具体指用户的某一类性质的特征。例如,性质特征,可以为用户的历史使用习惯的特征;再例如,性质特征,可以为用户使用应用的时长的特征,等等。具体在机器学习领域中,通常所采用的通过预设的机器学习模型,所提取用户对应的特征数据,即可以被认为是能够表征用户的性质特征的数据。在一些情况下,这些数据容易被人直接解读。例如,某用户的特征数据为向量:[30,2,4],其中,第一项是用户的年龄(30岁),第二项是用户使用应用的时长(2年),第三项可以是用户感兴趣的内容类型(假设4代表搞笑类,则说明用户对搞笑类内容感兴趣)。另一些情况下由于所使用模型对应的隐空间维度过高等原因,这些数据无法被人直接解读,但通过特定的数学模型,依然可以根据这些数据找到与该用户的性质特征相关的其他内容或用户。进一步的,本公开中所称“用户集合中用户共同的性质特征”则指该用户集合中用户共同的某一类性质的特征。例如,性质特征,可以为用户集合中所有用户共有的一些历史使用习惯的特征等等。具体的,其中,m个用户集合分别对应的m组特征数据中,各特征数据具体可以表示为,一个与用户集合中用户的共同性质特征相关的嵌入向量。s202、内容推荐装置将m组特征数据进行组合,得到目标特征数据。在一种实现方式中,对m组特征数据,可以通过数据拼接、向量加法或者向量内积中的任意一种方式进行组合,得到目标特征数据。例如,当m个用户集合分别对应的m组特征数据中各特征数据分别为一个嵌入向量时,可以通过对m个嵌入向量进行拼接、向量加法或者向量内积等方法,得到目标特征数据。s203、内容推荐装置根据目标特征数据,确定与目标特征数据相对应的目标内容。具体的,可以从多个待选内容中,选择与目标特征数据相对应的内容,作为目标内容。例如,可以通过将目标特征数据输入预设机器学习模型(如神经网络模型)中,得到与目标特征数据相对应的目标内容。其中,预设机器学习模型,包括根据用户的性质特征,确定与用户的性质特征相匹配的内容数据的机器学习模型。示例性的,可以通过对多个待选内容进行特征提取,得到每个待选内容对应的特征数据。然后,利用预设机器学习模型,从多个待选内容中,选择特征数据与目标特征数据相匹配的内容数据作为目标内容。s204、内容推荐装置向目标用户推荐目标内容。其中,内容推荐装置向目标用户推荐目标内容,具体可以包括:内容推荐装置将目标内容的标识发送至目标用户所使用的终端设备中,以使得终端设备确定目标内容,并显示与该目标内容相关的信息。其中,本公开中所称目标内容,可以是所表征的内容信息与目标特征数据所表征的用户的性质特征相匹配的内容。例如,所表征的内容信息,包括:文字、图案或声音中至少一项。例如,假设目标内容为短视频文件,则内容推荐装置可以将该短视频文件的标题发送至终端设备。以使得终端设备显示该短视频文件的标题。再例如,内容推荐装置还可以将该短视频文件的文件数据发送至终端设备。以使得终端设备播放该短视频文件。再例如,内容推荐装置向目标用户推荐目标内容,还可以包括:内容推荐装置将目标内容的标识和目标用户的标识,发送至内容发布平台。其中,内容发布平台具体可以是用于向用户发布内容的服务器或者服务器集群。然后,内容发布平台在接收到上述信息后,根据目标用户的标识确定目标用户所使用的终端设备,通过目标内容的标识确定目标内容,然后将该目标内容的文件数据发送至该终端设备中。在一种实现方式中,上述包含目标用户的m个用户集合,具体可以是按照m种用户划分方式,将多个用户进行划分。其中,m种用户划分方式中各划分方式,分别将这多个用户划分成两个以上的用户集合。例如,在上述示例中,将用户1-9,先按照第一种划分方式,划分为三个用户集合;在按照第二种划分方式,划分为三个用户集合。其中,在两种划分方式中,均有一个用户集合中包括目标用户(此时目标用户可以是用户1-9中任一个)。那么也就是说,得到了两个包含目标用户的用户集合。进而,如图3所示,上述s201内容推荐装置获取包含目标用户的m个用户集合所对应的m组特征数据,包括:s2011、内容推荐装置获取目标用户的身份标识码。其中,目标用户的身份标识码,也可以称为目标用户的稀疏特征。包括用于将目标用户与其他用户相区别的特征参数。目标用户的身份标识码,可以是任何能够唯一标识目标用户的编码串、符号串等。例如,各类应用软件通常给每个用户分配一个账号。用户通过输入该账号以及相应的密码即可实现登录应用软件。本公开中,目标用户的身份标识码具体可以是目标用户对应的账号。当然,目标用户的身份标识码也可以是其他能够唯一标识目标用户的编码串、符号串,对此本申请可以不做限制。s2012、内容推荐装置分别根据m种用户划分方式,确定包含目标用户的m个用户集合。其中,m种用户划分方式中各用户划分方式,分别用于将包含目标用户的多个用户划分为两个以上的用户集合。s2013、内容推荐装置获取m个用户集合中各用户集合分别对应的特征数据,得到m组特征数据。其中,m个用户集合中各用户集合分别对应的特征数据,用于表征所对应用户集合中包含用户共同的性质特征。在一种实现方式中,考虑到可以通过哈希函数,利用用户的身份标识码,将用户映射至哈希函数所对应的哈希表所包括的哈希桶中。其中,哈希表中包括有有限个数的多个哈希桶(并且哈希桶的个数小于用户个数)。这样一来,多个哈希桶中每个哈希桶中则会对应一个用户集合。也就是,通过这种方式可以将用户群体划分为多个用户集合。进一步的,可以通过m种哈希函数,将用户映射至m个哈希表中的m个哈希桶。也就是说,通过m种哈希函数(即m种划分规则),将用户群体划分成多个用户集合。那么,对于用户群体中的任一个用户,均存在对应的m个包括该用户的用户集合。然后,为每个哈希桶创建一个特征数据(相对于仅能区别用户的身份标识码而言,该特征数据可以称为稠密特征),该特征数据用于表征映射至该哈希桶的用户集合中包含的用户共同的性质特征。这样一来,便可以通过将目标用户的身份标识码输入m种哈希函数,以确定目标用户所对应的m个哈希桶的这一方式,查找到包含目标用户的m个用户集合(即m个哈希桶中各哈希桶所对应的用户集合),然后读取m个哈希桶分别对应的特征数据,即可获取到步骤s201中的m组特征数据。因此,如图4所示,上述步骤s2012,具体可以包括:内容推荐装置分别利用m种哈希函数,确定目标用户的身份标识码所映射至的m个哈希桶。其中,m种哈希函数中,一个哈希函数,用于根据用户的身份标识码,将用户映射至哈希函数所对应的哈希表所包含的多个哈希桶中的一个哈希桶中。上述步骤s2013,具体可以包括:内容推荐装置获取m个哈希桶分别对应的特征数据,得到m组特征数据。其中,m个哈希桶中,一个哈希桶对应的特征数据,用于表征映射至一个哈希桶的用户集合中包含的用户共同的性质特征。本公开上述实现方式,能够快速查找到包含目标用户的m个用户集合所对应的m组特征数据。另外,在一种实现方式中,在执行上述步骤s201之前,内容推荐装置还可以通过采集用户群体的历史用户行为,得到关于用户群体中各用户的训练样本。并利用这些训练样本,对用户集合的特征数据进行提取。进而,如图5所示,本公开上述方法在步骤s201之前还包括s205-s207:s205、内容推荐装置获取p个用户的身份标识码。其中,p个用户中包括目标用户。p个用户中各用户的身份标识码,可参照上述描述中目标用户的身份标识码的相应内容。s206、内容推荐装置分别利用m种用户划分方式,将p个用户划分为两个以上的用户集合,得到q个用户集合。s207、内容推荐装置提取q个用户集合中各用户集合对应的特征数据。其中,q个用户集合中各用户集合对应的特征数据,分别用于表征对应的用户集合中用户共同的性质特征。具体的,如图6所示,在利用哈希函数对p个用户进行分类时,上述步骤s206可以包括:分别利用m种哈希函数以及p个用户的身份标识码,将p个用户映射至多个哈希桶中,得到q个哈希桶。其中,q个哈希桶包括:m个哈希表中各哈希表对应的哈希桶;m个哈希表为与m种哈希函数一一对应的哈希表。具体的,本公开中,p个用户具体可以包括需要进行内容推荐的全部用户或者部分用户。例如,一种应用程序共有一亿个用户,则p个用户既可以包括这一亿个用户,也可以是这一亿个用户中的一部分。其中p个用户中各用户分别对应各自的身份标识码。在一种实现方式中,考虑到为了降低发生不同用户对应相同目标特征数据的这种情况的可能性,在本公开上述方法还可以包括:m个哈希表中各哈希表包含的哈希桶个数的乘积大于等于p。例如,若例如两种哈希函数将p个用户分别划分为5个哈希桶,即两个哈希表分别包含5个哈希桶。那么,(5×2)≥p。再例如,当p=100,m=2时,也就是说通过两种哈希函数,将100个用户分别映射至两个哈希表中的多个哈希桶中。此时,若两个哈希表包含的哈希桶的个数都为10(即两个哈希表包含的哈希桶个数的乘积等于p),则可以组合出100种(10×10种)目标特征数据。正好可以使100个用户分别对应不同的目标特征数据。若两个哈希表包含的哈希桶的个数分别为8、9,则可以组合出72种(8×9种)目标特征数据。则100个用户中至少存在18个用户的目标特征数据存在重复。因此,本公开中,通过使得m个哈希表中各哈希表包含的哈希桶个数的乘积大于等于p,从而能够实现降低发生不同用户对应相同目标特征数据的这种情况的可能性的效果。如图6所示,上述步骤s207可以包括:s2071、内容推荐装置获取训练样本集合。训练样本集合中包括多个训练样本。多个训练样本中一个训练样本表示p个用户中一个用户的一次用户行为。例如,训练样本集合中的一个训练样本,可以表征一个用户观看过的一个短视频文件等等。另外,训练样本集合中既可以包括正样本(用户做过的某次用户行为),以及负样本(用户没有做过的用户行为),以便通过有监督学习,提取用户的特征数据。s2072、内容推荐装置利用训练样本集合,提取q个哈希桶分别对应的特征数据,以使得m个预设哈希桶对应的特征数据组合后得到的特征数据,与训练样本集合中预设用户的训练样本所反映的用户的性质特征相对应。其中,预设用户为p个用户任意一个用户;m个预设哈希桶,为q个哈希桶中包含预设用户的哈希桶。需要说明的是,在具体实施时,上述步骤s205-s207获取q个用户集合分别对应的特征数据的内容,也可以由除内容推荐装置之后的其他设备完成。然后,内容推荐装置便不再需要执行上述步骤s205-s207的内容,只需要存储q个用户集合分别对应的特征数据,以便执行上述s201-s204的内容即可。通过上述方法,即可得到m个哈希表中各哈希表所包含的哈希桶中,各哈希桶对应的特征数据。并且,其中m个预设哈希桶对应的特征数据组合后得到的特征数据,能够反映预设用户的性质特征。另外,由于各哈希桶的特征数据是通过利用其所包含的用户集合中用户的训练样本训练得到的。因此,各哈希桶对应的特征数据,可以被认为是表征了映射至该哈希桶的用户集合中包含的用户共同的性质特征。本公开所提供的方案中,考虑到可以按照m种划分方式,分别将用户群体划分成多个用户集合。例如,某应用的用户群体包括了9个用户,用户1、用户2、用户3、用户4、用户5、用户6、用户7、用户8、用户9。按照第一种划分方式,将用户群体划分为三个用户集合:(用户1、用户2、用户3);(用户4、用户5、用户6);(用户7、用户8、用户9)。按照第二种划分方式,将9个用户划分为三个用户集合:(用户1、用户4、用户7);(用户2、用户5、用户8);(用户3、用户6、用户9)。然后对于上述两种划分方式所得到的6个用户集合,分别提取各用户集合的特征数据,其中各用户集合的特征数据能够表征该用户集合中用户共同的性质特征。也就是给每个用户集合创建一个稠密特征。然后,便可以将包含该用户的用户集合所对应的特征数据进行组合,将组合后得到的特征数据作为该用户的特征数据。可以看出,通过上述发明构思,仅需要存储6种特征数据(即6个用户集合分别对应的特征数据),即可对9个用户的性质特征进行刻画(即能够生成分别用于表征这9个用户的性质特征的特征数据)。并且,通过对两种划分方式所得到的6种特征数据进行排列组合,可以得到3×3,即9种不同的组合结果。也就是说可以避免9个用户中出现特征数据重复的问题(即可以保证每个用户对应不同的组合结果,即不同的特征数据)。这样便可以很大程度的保留各用户的个性化特征。因此,本公开所提供技术方案中,在确定向目标用户推荐的内容时,采用获取包括目标用户的m个用户集合的特征数据。并将获取到的m组特征数据进行组合,得到能够表征目标用户的性质特征的目标特征数据。然后便可以得到与目标特征数据对应的目标内容,并向目标用户推荐该目标内容,从而实现内容推荐的效果。本公开所提供的技术方案,能够大幅度的缩小模型系统的体积,降低模型系统的存储、传输成本。另外,本公开还提供一种内容推荐装置,参照图7所示,该内容推荐装置30,包括:获取单元301,用于获取包含目标用户的m个用户集合所对应的m组特征数据;其中,m为大于1的正整数,所述m个用户集合与所述m组特征数据一一对应;所述m组特征数据中各组特征数据,分别用于表征对应的用户集合中用户共同的性质特征。特征组合单元302,用于将所述m组特征数据进行组合,得到目标特征数据。内容确定单元303,用于根据所述目标特征数据,确定与所述目标特征数据相对应的目标内容。推荐单元304,用于向所述目标用户推荐所述目标内容。可选的,所述获取单元301,具体用于:获取所述目标用户的身份标识码;所述身份标识码,包括用于将所述目标用户与其他用户相区别的特征参数;分别根据m种用户划分方式,确定包含所述目标用户的所述m个用户集合;其中,所述m种用户划分方式中各用户划分方式,分别用于将包含所述目标用户的多个用户划分为两个以上的用户集合;获取所述m个用户集合中各用户集合分别对应的特征数据,得到所述m组特征数据;其中,所述m个用户集合中各用户集合分别对应的特征数据,用于表征所对应用户集合中包含用户共同的性质特征。可选的,所述分别根据m种用户划分方式,确定包含所述目标用户的所述m个用户集合,包括:分别利用m种哈希函数,确定所述目标用户的身份标识码所映射至的m个哈希桶;所述m种哈希函数中,一个哈希函数,用于根据用户的身份标识码,将用户映射至所述哈希函数所对应的哈希表所包含的多个哈希桶中的一个哈希桶中。所述获取所述m个用户集合中各用户集合分别对应的特征数据,得到所述m组特征数据,包括:获取所述m个哈希桶分别对应的特征数据,得到所述m组特征数据;其中,所述m个哈希桶中,一个哈希桶对应的特征数据,用于表征映射至所述一个哈希桶的用户集合中包含的用户共同的性质特征。可选的,如图8所示,所述内容推荐装置还包括:特征提取单元305;所述特征提取单元305,用于:获取p个用户的身份标识码;所述p个用户中包括所述目标用户;分别利用所述m种用户划分方式,将所述p个用户划分为两个以上的用户集合,得到q个用户集合;提取所述q个用户集合中各用户集合对应的特征数据;其中,所述q个用户集合中各用户集合对应的特征数据,分别用于表征对应的用户集合中用户共同的性质特征。可选的,所述分别利用所述m种用户划分方式,将所述p个用户划分为两个以上的用户集合,得到q个用户集合,包括:分别利用m种哈希函数以及所述p个用户的身份标识码,将所述p个用户映射至多个哈希桶中,得到q个哈希桶;其中,所述q个哈希桶包括:m个哈希表中各哈希表对应的哈希桶;所述m个哈希表为与所述m种哈希函数一一对应的哈希表;所述提取所述q个用户集合中各用户集合对应的特征数据,包括:获取训练样本集合;所述训练样本集合中包括多个训练样本;所述多个训练样本中一个训练样本表示所述p个用户中一个用户的一次用户行为;利用所述训练样本集合,提取所述q个哈希桶分别对应的特征数据,以使得m个预设哈希桶对应的特征数据组合后得到的特征数据,与训练样本集合中预设用户的训练样本所反映的用户的性质特征相对应;其中,所述预设用户为所述p个用户任意一个用户;所述m个预设哈希桶,为所述q个哈希桶中包含所述预设用户的哈希桶。可选的,所述m个哈希表中各哈希表包含的哈希桶个数的乘积大于等于p。可选的,特征组合单元302,具体用于对所述m组特征数据,通过数据拼接、向量加法或向量内积中的任意一种方式进行组合,得到所述目标特征数据。可选的,所述与所述目标特征数据相对应的目标内容,包括:所表征的内容信息与所述目标特征数据所表征的用户的性质特征相匹配的内容;所述所表征的内容信息,包括:文字、图案或声音中至少一项。关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。图9是本公开提供的另一种内容推荐装置的结构示意图。如图9,该内容推荐装置40可以包括至少一个处理器401以及用于存储处理器可执行指令的存储器403。其中,处理器401被配置为执行存储器403中的指令,以实现上述实施例中的内容推荐方法。示例性的,在图1所示的实施环境中,内容推荐装置40可以是图1所示的服务器101或者多个终端设备中的一个。另外,内容推荐装置40还可以包括通信总线402以及至少一个通信接口404。处理器401可以是一个处理器(centralprocessingunits,cpu),微处理单元,asic,或一个或多个用于控制本公开方案程序执行的集成电路。通信总线402可包括一通路,在上述组件之间传送信息。通信接口404,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(radioaccessnetwork,ran),无线局域网(wirelesslocalareanetworks,wlan)等。存储器403可以是只读存储器(read-onlymemory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(randomaccessmemory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasableprogrammableread-onlymemory,eeprom)、只读光盘(compactdiscread-onlymemory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理单元相连接。存储器也可以和处理单元集成在一起。其中,存储器403用于存储执行本公开方案的指令,并由处理器401来控制执行。处理器401用于执行存储器403中存储的指令,从而实现本公开方法中的功能。在具体实现中,作为一种实施例,处理器401可以包括一个或多个cpu,例如图9中的cpu0和cpu1。在具体实现中,作为一种实施例,内容推荐装置40可以包括多个处理器,例如图9中的处理器401和处理器407。这些处理器中的每一个可以是一个单核(single-cpu)处理器,也可以是一个多核(multi-cpu)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。在具体实现中,作为一种实施例,内容推荐装置40还可以包括输出设备405和输入设备406。输出设备405和处理器401通信,可以以多种方式来显示信息。例如,输出设备405可以是液晶显示器(liquidcrystaldisplay,lcd),发光二级管(lightemittingdiode,led)显示设备,阴极射线管(cathoderaytube,crt)显示设备,或投影仪(projector)等。输入设备406和处理器401通信,可以以多种方式接受用户的输入。例如,输入设备406可以是鼠标、键盘、触摸屏设备或传感设备等。本领域技术人员可以理解,图9中示出的结构并不构成对内容推荐装置40的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。另外,本公开还提供一种计算机可读存储介质,包括指令,当指令由处理器执行时,使得处理器执行如上述实施例所提供的内容推荐方法。另外,本公开还提供一种计算机程序产品,包括指令,当指令由处理器执行时,使得处理器执行如上述实施例所提供的内容推荐方法。本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本
技术领域
:中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1