向目标用户推荐影视的方法及装置与流程

文档序号:11627744阅读:270来源:国知局
向目标用户推荐影视的方法及装置与流程

本发明涉及大数据推荐技术,尤其涉及一种向目标用户推荐影视的方法及装置。



背景技术:

随着通信技术的不断发展,越来越多的用户开始使用终端设备播放影视。终端设备如何预测用户喜好的影视,进而,向用户推荐影视变得越来越重要。

目前,终端设备根据协同过滤算法进行向目标用户推荐影视。具体的过程如下所示:在基于物品的推荐方法中,对大量的商品进行计算,基于矩阵分解,将用户和视频转化到一个低维的欧式空间中,对给定用户,在欧式空间中进行近邻检索,找到相似的视频,推荐给用户。

但是,上述方式中,由于需要在欧式空间上计算相似性,算法复杂度较高,计算时间较长,另外,随着数据量的增大,计算时间会呈指数型增长。因此,目前的推荐方法推荐速度较慢。



技术实现要素:

为解决现有技术中存在的问题,本发明提供一种向目标用户推荐影视的方法及装置。

第一方面,本发明提供一种向目标用户推荐影视的方法,所述方法包括:

若目标用户属于用户组,则根据第一哈希码矩阵计算所述目标用户的哈希码向量,其中,所述第一哈希码矩阵用于表征所述用户组中的用户对影视组中的影视的评分信息;

若目标用户不属于用户组,则基于哈希函数,根据所述目标用户对影视组中影视的评分信息,确定所述目标用户的哈希码向量;

根据第二哈希码矩阵与所述哈希码向量,确定所述目标用户对所述影视组中影视的预测评分向量,其中,所述第二哈希码矩阵用于表征所述用户组中的用户对影视组中的影视的评分信息,所述第一哈希码矩阵和所述第二哈希码矩阵中的元素为第一预设参数或第二预设参数;

向所述目标用户推荐所述预测评分向量中满足预设条件的预测评分对应的影视。

如上所示的方法中,所述方法还包括:

根据用户组中每个用户对影视组中每个影视的评分信息,获取用户对影视的评分矩阵;

基于哈希学习方法,根据所述评分矩阵获取所述第一哈希码矩阵和所述第二哈希码矩阵。

如上所示的方法中,所述基于哈希学习方法,根据所述评分矩阵获取所述第一哈希码矩阵和所述第二哈希码矩阵,具体为:

根据公式:

采用交替迭代方式,确定所述第一哈希码矩阵h、所述第二哈希码矩阵g和预测尺度参数σ;其中,n表示所述用户组中用户的数量,m表示所述影视组中影视的数量,h矩阵为b×n维,g矩阵为b×m维,rh表示b×b维的正交矩阵,rg表示b×b维的正交矩阵,rhtrh=i,rgtrg=i,i表示对角线上的元素为1、其他位置的元素为0的矩阵,u表示n×m维的评分矩阵,uh表示采用主成分分析方法对所述评分矩阵u进行降维后的得到的b×n维的第一压缩矩阵,ug表示采用主成分分析方法对所述评分矩阵进行降维后的得到的b×m维的第二压缩矩阵,b表示所述第一哈希码矩阵和所述第二哈希码矩阵的行数,λ表示预设的参数,a表示n×m维的元素为0或1的矩阵,当评分矩阵u中的元素uij为非零值时,矩阵a中元素aij为1,当评分矩阵u中的元素uij为零时,矩阵a中元素aij为0,j表示n×m维的元素均为1的矩阵,m、n及b均为大于或等于2的数。

如上所示的方法中,所述根据第二哈希码矩阵与所述哈希码向量,确定所述目标用户对影视组中影视的预测评分向量,具体为:

根据公式确定所述目标用户i对每个影视的预测评分;其中,hi表示所述第一哈希码矩阵中第i列元素组成的向量,gj表示所述第二哈希码矩阵中第j列元素组成的向量;

根据所述预测评分确定所述目标用户对所述影视组中影视的预测评分向量。

如上所示的方法中,所述基于哈希函数,根据所述目标用户对影视组中影视的评分信息,确定所述目标用户的哈希码向量,具体为:

根据公式hi(q)=sgn(wt(q-μh)确定所述目标用户的哈希码向量;其中,i=1,...,b,q表示所述目标用户对所述影视组中每个影视的评分组成的向量,ph表示采用主成分分析方法对n×m维的评分矩阵u进行处理得到的m×b维的投影矩阵,rh表示b×b维的正交矩阵,rhtrh=i,i表示对角线上的元素为1、其他位置的元素为0的矩阵,n表示所述用户组中用户的数量,m表示所述影视组中影视的数量,μh为矩阵ut每行元素的均值组成的1×m维的向量,m、n及b均为大于或等于2的数。

如上所示的方法中,所述向所述目标用户推荐所述预测评分向量中满足预设条件的预测评分对应的影视,包括:

将所述预测评分向量中的元素进行排序;

向所述目标用户推荐前预设数量个预测评分对应的影视。

如上所示的方法中,所述方法还包括:

存储所述第一哈希码矩阵和所述第二哈希码矩阵。

第二方面,本发明提供一种向目标用户推荐影视的装置,所述装置包括:

计算模块,用于若目标用户属于用户组,则根据第一哈希码矩阵计算所述目标用户的哈希码向量,其中,所述第一哈希码矩阵用于表征所述用户组中的用户对影视组中的影视的评分信息;

第一确定模块,用于若目标用户不属于用户组,则基于哈希函数,根据所述目标用户对影视组中影视的评分信息,确定所述目标用户的哈希码向量;

第二确定模块,用于根据第二哈希码矩阵与所述哈希码向量,确定所述目标用户对所述影视组中影视的预测评分向量,其中,所述第二哈希码矩阵用于表征所述用户组中的用户对影视组中的影视的评分信息,所述第一哈希码矩阵和所述第二哈希码矩阵中的元素为第一预设参数或第二预设参数;

推荐模块,用于向所述目标用户推荐所述预测评分向量中满足预设条件的预测评分对应的影视。

如上所示的装置中,所述装置还包括:

第一获取模块,用于根据用户组中每个用户对影视组中每个影视的评分信息,获取用户对影视的评分矩阵;

第二获取模块,用于基于哈希学习方法,根据所述评分矩阵获取所述第一哈希码矩阵和所述第二哈希码矩阵。

如上所示的装置中,所述第二获取模块具体用于:

根据公式:

采用交替迭代方式,确定所述第一哈希码矩阵h、所述第二哈希码矩阵g和预测尺度参数σ;其中,n表示所述用户组中用户的数量,m表示所述影视组中影视的数量,h矩阵为b×n维,g矩阵为b×m维,rh表示b×b维的正交矩阵,rg表示b×b维的正交矩阵,rhtrh=i,rgtrg=i,i表示对角线上的元素为1、其他位置的元素为0的矩阵,u表示n×m维的评分矩阵,uh表示采用主成分分析方法对所述评分矩阵u进行降维后的得到的b×n维的第一压缩矩阵,ug表示采用主成分分析方法对所述评分矩阵进行降维后的得到的b×m维的第二压缩矩阵,b表示所述第一哈希码矩阵和所述第二哈希码矩阵的行数,λ表示预设的参数,a表示n×m维的元素为0或1的矩阵,当评分矩阵u中的元素uij为非零值时,矩阵a中元素aij为1,当评分矩阵u中的元素uij为零时,矩阵a中元素aij为0,j表示n×m维的元素均为1的矩阵,m、n及b均为大于或等于2的数。

如上所示的装置中,所述第二确定模块具体用于:

根据公式确定所述目标用户i对每个影视的预测评分;其中,hi表示所述第一哈希码矩阵中第i列元素组成的向量,gj表示所述第二哈希码矩阵中第j列元素组成的向量;

根据所述预测评分确定所述目标用户对所述影视组中影视的预测评分向量。

如上所示的装置中,所述第一确定模块具体用于:

根据公式hi(q)=sgn(wt(q-μh)确定所述目标用户的哈希码向量;其中,i=1,...,b,q表示所述目标用户对所述影视组中每个影视的评分组成的向量,ph表示采用主成分分析方法对n×m维的评分矩阵u进行处理得到的m×b维的投影矩阵,rh表示b×b维的正交矩阵,rhtrh=i,i表示对角线上的元素为1、其他位置的元素为0的矩阵,n表示所述用户组中用户的数量,m表示所述影视组中影视的数量,μh为矩阵ut每行元素的均值组成的1×m维的向量,m、n及b均为大于或等于2的数。

如上所示的装置中,所述推荐模块具体用于:

将所述预测评分向量中的元素进行排序;

向所述目标用户推荐前预设数量个预测评分对应的影视。

如上所示的装置中,所述装置还包括:

存储模块,用于存储所述第一哈希码矩阵和所述第二哈希码矩阵。

本发明实施例提供的向目标用户推荐影视的方法及装置,通过若目标用户属于用户组,则根据第一哈希码矩阵计算目标用户的哈希码向量,其中,第一哈希码矩阵用于表征用户组中的用户对影视组中的影视的评分信息,若目标用户不属于用户组,则基于哈希函数,根据目标用户对影视组中影视的评分信息,确定目标用户的哈希码向量,根据第二哈希码矩阵与哈希码向量,确定目标用户对影视组中影视的预测评分向量,其中,第二哈希码矩阵用于表征用户组中的用户对影视组中的影视的评分信息,第一哈希码矩阵和第二哈希码矩阵中的元素为第一预设参数或第二预设参数,向目标用户推荐预测评分向量中满足预设条件的预测评分对应的影视,实现了在目标用户属于或者不属于用户组时,均先确定出目标用户的哈希码向量,之后,根据第二哈希码矩阵与目标用户的哈希码向量,确定目标用户对影视组中影视的预测评分向量,将向目标用户推荐影视过程转化为海明空间中近邻检索问题,相较于目前的协同推荐算法,本发明提供的向目标用户推荐影视的过程中由于第一哈希码矩阵和第二哈希码矩阵均为二进制的矩阵,终端设备处理过程速度较快,从而,提高了向目标用户推荐影视的速度,提高了用户体验。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的向目标用户推荐影视的方法实施例的流程示意图;

图2为图1所示实施例中一种具体实现方式的示意图;

图3为图1所示实施例中一种示例性推荐过程的示意图;

图4为图1所示实施例中另一种示例性推荐过程的示意图;

图5为本发明实施例提供的向目标用户推荐影视的装置实施例的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供的向目标用户推荐影视的方法可以由终端设备执行。本发明实施例中的终端设备可以是手持设备、车载设备、可穿戴设备、计算设备,以及各种形式的用户设备(userequipment;简称:ue),移动台(mobilestation;简称:ms)及终端(terminal)等。示例性地,本发明实施例的终端设备可以是智能手机、平板电脑、智能电视以及智能电视服务器等。

本发明实施例提供的向目标用户推荐影视的方法,通过若目标用户属于用户组,则根据第一哈希码矩阵计算目标用户的哈希码向量,其中,第一哈希码矩阵用于表征用户组中的用户对影视组中的影视的评分信息,若目标用户不属于用户组,则基于哈希函数,根据目标用户对影视组中影视的评分信息,确定目标用户的哈希码向量,根据第二哈希码矩阵与哈希码向量,确定目标用户对影视组中影视的预测评分向量,其中,第二哈希码矩阵用于表征用户组中的用户对影视组中的影视的评分信息,第一哈希码矩阵和第二哈希码矩阵中的元素为第一预设参数或第二预设参数,向目标用户推荐预测评分向量中满足预设条件的预测评分对应的影视,实现了在目标用户属于或者不属于用户组时,均先确定出目标用户的哈希码向量,之后,根据第二哈希码矩阵与目标用户的哈希码向量,确定目标用户对影视组中影视的预测评分向量,将向目标用户推荐影视过程转化为海明空间中近邻检索问题,相较于目前的协同推荐算法,本发明提供的向目标用户推荐影视的过程中由于第一哈希码矩阵和第二哈希码矩阵均为二进制的矩阵,终端设备处理过程速度较快,从而,提高了向目标用户推荐影视的速度,提高了用户体验。

下面以具体的实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。

图1为本发明实施例提供的向目标用户推荐影视的方法实施例的流程示意图。如图1所示,本发明实施例提供的向目标用户推荐影视的方法包括如下步骤:

s101:若目标用户属于用户组,则根据第一哈希码矩阵计算目标用户的哈希码向量。

其中,第一哈希码矩阵用于表征用户组中的用户对影视组中的影视的评分信息。

具体地,本发明中的用户组可以是终端设备随机选取的用户组成的。影视组可以是终端设备随机选取的影视组成的。本申请中的目标用户为需要向其推荐影视的用户。本发明中涉及的影视可以是电视节目、电影、电视连续剧以及网络视频等。

第一哈希码矩阵包括了用户组中的所有用户的b位哈希码。这b位哈希码即表明用户组中的用户对影视组中的影视的评分信息。当该目标用户属于用户组时,可以从第一哈希码矩阵中查找出该目标用户对应的b位哈希码,这b位哈希码组成了该目标用户的哈希码向量。具体的,第一哈希矩阵中的不同的列向量表示不同的用户的哈希码向量。

s102:若目标用户不属于用户组,则基于哈希函数,根据目标用户对影视组中影视的评分信息,确定目标用户的哈希码向量。

具体地,当目标用户不属于用户组时,需要采用哈希函数根据目标用户对影视组中每个影视的评分信息,确定该目标用户的哈希码向量。与s101类似,目标用户的哈希码向量为b位哈希码。

s103:根据第二哈希码矩阵与哈希码向量,确定目标用户对影视组中影视的预测评分向量。

其中,第二哈希码矩阵用于表征用户组中的用户对影视组中的影视的评分信息,第一哈希码矩阵和第二哈希码矩阵中的元素为第一预设参数或第二预设参数。

具体地,第一哈希码矩阵与第二哈希码矩阵的区别在于:第一哈希码矩阵是从用户维度描述用户组中的用户对影视组中的影视的评分信息,第二哈希码矩阵是从影视维度描述用户组中的用户对影视组中的影视的评分信息。其均能表示用户组中的用户对影视组中的影视的评分信息,只是描述的角度不同。

第一哈希码矩阵和第二哈希码矩阵中的元素为第一预设参数或第二预设参数,意即,第一哈希码矩阵和第二哈希码矩阵中的元素只有两个取值。换句话说,第一哈希码矩阵和第二哈希码矩阵为元素为二进制的矩阵。可选的,第一预设参数为-1、第二预设参数为1,或者,第一预设参数为-1、第二预设参数为0,或者,第一预设参数为0、第二预设参数为1。

预测评分向量为目标用户对影视组中影视的预测评分组成的向量。可选的,目标用户对某个影视的预测评分越高,表示用户对该影视越感兴趣。

s104:向目标用户推荐预测评分向量中满足预设条件的预测评分对应的影视。

具体地,在确定了目标用户对影视组中影视的预测评分向量之后,可以向目标用户推荐该预测评分向量中满足预设条件的预测评分对应的影视。

在一种可能的实现方式中,可以将预测评分向量中的元素进行排序,向目标用户推荐前预设数量个预测评分对应的影视。这里的预设数量可以是1,即,向目标用户推荐该预测评分向量中数值最大的预测评分对应的影视。在预测评分向量p=[2,4,0,1,…,1,2]中,假设目标用户对第2个影视的预测评分4为最大的,则向该目标用户推荐4对应的影视,即第2个影视。

可选的,为了避免向目标用户推荐该目标用户机已经观看过的影视,在确定出预测评分向量之后,可以滤除掉目标用户对已经观看过的影视的预测评分。

以下对如何确定第一哈希码矩阵和第二哈希码矩阵作一详细说明:

在本发明中,可以根据用户组中每个用户对影视组中每个影视的评分信息,获取用户对影视的评分矩阵;基于哈希学习方法,根据评分矩阵获取第一哈希码矩阵和第二哈希码矩阵。

具体地,以影视为电影为例,当用户看完一部电影之后,其可以在电影网站或者智能电视上以给该电影打评价分值或者写评价文字的形式评价该电影。本发明中的终端设备可以从网络中或者智能电视中获取用户对影视的评分信息。本发明中的评分信息可以是用户对影视的评价分值,也可以是用户对影视的评价文字。本发明对此不做限制。

终端设备在根据评分信息获取用户对影视的评分矩阵时,有以下两种情况:当该评分信息为评价分值时,终端设备可以直接将这些评价分值表示为矩阵形式;当该评分信息为评价文字时,终端设备可以根据评价文字的具体内容,对评价文字作一量化,将其转换为评价分值形式,之后,将这些评价分值表示为矩阵形式。可选的,为了便于后续的计算,评分矩阵中的元素值可以是0-5之间的值。需要说明的是,当评分信息为评价分值时,如果这些评价分值不是0-5之间的值时,可以通过归一化的方式将这些评价分值转换为0-5之间的值。由于用户组中的用户不可能对影视组中的所有影视都有评分信息,当用户对某个影视没有评分信息时,评分矩阵中相应位置的元素为0,因此,评分矩阵是一个稀疏矩阵。

假设用户组中有n个用户,影视组中有m个影视,则本发明中的用户对影视的评分矩阵为n×m维矩阵。该评分矩阵中的每一行表示同一个用户对不同的影视的评分,该评分矩阵中的每一列表示不同用户对同一个影视的评分,该评分矩阵中的元素uij表示第i个用户对第j个影视的评分。

在获取到评分矩阵之后,可以基于哈希学习方法,对该评分矩阵降维。之后,得到用户组的第一哈希码矩阵和影视组的第二哈希码矩阵。第一哈希码矩阵表示用户维度的特征,第二哈希码矩阵表示影视维度的特征。

本发明中的第一哈希码矩阵h=[h1,...,hn]∈{-1,+1}b×n中,hi实际的物理意义为第i个用户的b位哈希码。第二哈希码矩阵g=[g1,...,gm]∈{-1,+1}b×m中,gj实际的物理意义为第j个影视的b位哈希码。

在一种具体的实现方式中,根据公式:

采用交替迭代方式,确定第一哈希码矩阵h、第二哈希码矩阵g和预测尺度参数σ。其中,n表示用户组中用户的数量,m表示影视组中影视的数量,h矩阵为b×n维,g矩阵为b×m维,rh表示b×b维的正交矩阵,rg表示b×b维的正交矩阵,rhtrh=i,rgtrg=i,i表示对角线上的元素为1、其他位置的元素为0的矩阵,u表示n×m维的评分矩阵,uh表示采用主成分分析方法对评分矩阵u进行降维后的得到的b×n维的第一压缩矩阵,ug表示采用主成分分析方法对评分矩阵进行降维后的得到的b×m维的第二压缩矩阵,b表示第一哈希码矩阵和第二哈希码矩阵的行数,λ表示预设的参数,a表示n×m维的元素为0或1的矩阵,当评分矩阵u中的元素uij为非零值时,矩阵a中元素aij为1,当评分矩阵u中的元素uij为零时,矩阵a中元素aij为0,j表示n×m维的元素均为1的矩阵,m、n及b均为大于或等于2的数。

可选的,b的大小可以是8的倍数。b最小可以是8。

以下对上述公式的具体推导过程作一详细说明:

在确定第一哈希码矩阵和第二哈希码矩阵的过程中,单独从用户维度或者单独从影视维度考虑,需要尽量保证相似用户或相似视频的近邻关系,同时考虑用户维度和影视维度,需要尽量保证用户和影视的相关关系。换句话说:在评分矩阵中相似的两个用户,在降维后的第一哈希码矩阵中,该两个用户的b位哈希码也需要相似;在评分矩阵中有相关关系的一个用户和一个影视,在降维后的第一哈希码矩阵和第二哈希码矩阵中,该用户的b位哈希码和该影视的b位哈希码也需要具有相关关系。

首先,将评分矩阵u的每一行和每一列作为特征,分别采用学习哈希学习方法,将这些特征转化为二进制哈希码。在这个过程中,需要保证在原始空间中相似的样本转化到海明空间后依然相似。通过最小化哈希函数的量化损失来保证数据矩阵u的用户维度或视频维度的相似结构。第一损失函数如下:

其次,需要保持用学习出的用户和视频哈希码计算的预测评分与原始评分的一致性,在海明空间中,用户i和视频j的相关预测关系可以表示为:因此,第二损失函数可表示为:

将第一损失函数和第二损失函数结合起来,得到最终的损失函数,将该最终的损失函数称为目标函数:

e=e1+λe2

加入元素值为1的矩阵j后,目标函数为:

其中,

在得到目标函数后,可以采用交替迭代优化参数的方式求解矩阵h、矩阵g、矩阵rh、矩阵rg以及σ。

一种具体的求解过程由参数初始化过程和参数求解过程组成,表示如下:

参数初始化过程:

矩阵uh和矩阵ug的初始化:采用主成分分析(principalcomponentanalysis,pca)方法对评分矩阵进行处理。假设ut和u的均值向量为μh和μg,求解协方差矩阵(ut-μh1t)t(ut-μh1t)和(u-μg1t)t(u-μg1t),取前b个最大特征值对应的特征向量得到投影矩阵ph和pg。基于投影矩阵,第一压缩矩阵第二压缩矩阵ug=pg(u-μg1t)。需要说明的是,本发明中的均值向量指的是矩阵中每行元素的均值组成的行向量。

矩阵rh、矩阵rg、第一哈希码矩阵h以及第二哈希码矩阵g的初始化:利用随机函数,采用随机初始化的方法生成正交矩阵rh和rg。第一哈希码矩阵h采用如下公式初始化:h=sgn(rhuh)。第二哈希码矩阵g采用如下公式初始化:g=sgn(rgug)。

参数求解过程:

同时求解目标函数的难度较大,可以采用交替迭代优化参数的方式求解。意即,假设其他参数固定,每次求解一个参数,所有参数求解完后进入下一次迭代,直至最终损失函数收敛。

首先,求解第一哈希码矩阵h以及第二哈希码矩阵g:先优化矩阵h,固定其他变量,则目标函数可以变为:

s.t.hht=ni,h∈{-1,+1}b×n

其中,

该过程的具体推导表示如下:

保留包含h的两项:

s.t.hht=ni,h∈{-1.+1}b×n

用迹函数展开:

s.t.hht=ni,h∈{-1.+1}b×n

去掉无关变量,然后合并:

s.t.hht=ni,h∈{-1.+1}b×n

通过将离散的h松弛到连续的[-1,+1]区间,上述优化问题可以通过奇异值分解来求得h。将dh进行奇异值分解(singularvaluedecomposition,svd):第一哈希码矩阵h的最优解可以表示为:

相类似地,在优化第二哈希码矩阵g时,固定其他变量,则目标函数可以变为:

s.t.ggt=mi,g∈{-1,+1}b×m

其中,

再求出dg的奇异值分解第二哈希码矩阵g的最优解可以表示为:

其次,求解正交矩阵rh和rg。对于正交矩阵rh,利用前面学习出来的第一哈希码矩阵,则目标函数可以变为:

通过对进行奇异值分解rh的最优解为

同样,对于正交矩阵rg,利用前面学习出的第二哈希码矩阵g,则目标函数可以变为:

通过对进行奇异值分解rg的最优解可以表示为:

最后,求解预测尺度参数σ。在评分矩阵中,用户对影视的评分为0-5、0-100或者其他形式的数值,但是,在做相关预测的c(∵)∈[0,1],因此,预测尺度参数σ应该尽量使预测值和真实值匹配。通过固定其他无关变量,目标函数可以变为:

其中,用向量vec(m)表示矩阵m,即,把矩阵m的所有列连接起来。则上述优化问题等价于一个最小平方问题:

其最优解可表示为:

综上所述,当目标函数达到收敛时,我们可以得到第一哈希码矩阵h、第二哈希码矩阵g、正交矩阵rh、正交矩阵rg以及预测尺度参数σ。

图2为图1所示实施例中一种具体实现方式的示意图。如图2所示,首先对评分矩阵u进行主成分分析,得到投影矩阵ph和pg。再基于投影矩阵,得到第一压缩矩阵uh和第二压缩矩阵ug。再根据第一压缩矩阵uh和正交矩阵rh得到第一哈希码矩阵h,根据第二压缩矩阵ug和正交矩阵rg得到第二哈希码矩阵g。

基于上述方法确定的第一哈希码矩阵和第二哈希码矩阵,在目标用户属于用户组时,在确定目标用户对影视组中影视的预测评分向量时,可以公式确定目标用户i对每个影视的预测评分。其中,hi表示第一哈希码矩阵h中第i列元素组成的向量,即,hi表示目标用户i的哈希码向量。gj表示第二哈希码矩阵g中第j列元素组成的向量。对于用户i,可以根据该公式分别求出该用户i对于影视组中每个影视的预测评分。根据预测评分确定目标用户对影视组中所有影视的预测评分向量。举例来说,假设该用户为用户组中的第i个用户,其对应的哈希码向量为:hi=[-1,-1,…,1,-1]t。假设第二哈希码矩阵可以为:

计算σc(hi,gj),可以得到m维的预测评分向量p=[2,4,0,1,…,1,2]。该向量中的每个元素表示目标用户对影视组中每个影视的预测评分。

图3为图1所示实施例中一种示例性推荐过程的示意图。如图3所示,如果目标用户属于用户组,则从第一哈希码矩阵中查找该目标用户对应的哈希码向量。再根据该目标用户对应的哈希码向量以及第二哈希码矩阵g经过σc(hi,gj)的运算,得到m维的预测评分向量。将预测评分向量中值最大的预测评分对应的影视推荐给该目标用户。

基于上述方法确定的第二哈希码矩阵,在目标用户不属于用户组时,一种可能的实现方式为:根据公式hi(q)=sgn(wt(q-μh)确定目标用户的哈希码向量。其中,i=1,...,b,q表示目标用户对影视组中每个影视的评分组成的向量,ph表示采用主成分分析方法对n×m维的评分矩阵u进行处理得到的m×b维的投影矩阵,rh表示b×b维的正交矩阵,rhtrh=i,i表示对角线上的元素为1、其他位置的元素为0的矩阵,n表示用户组中用户的数量,m表示影视组中影视的数量,μh为矩阵ut每行元素的均值组成的1×m维的向量,m、n及b均为大于或等于2的数。具体可以根据公式确定目标用户i对每个影视的预测评分。其中,hi表示目标用户的哈希码向量。gj表示所述第二哈希码矩阵中第j列元素组成的向量。这样就可以得到目标用户对影视组中影视的预测评分向量。举例来说,用户q对影视的评分向量为q=[4,0,0,…,0,5,2]t,将q带入hi(q)=sgn(wt(q-μh)中,可以得到用户q的哈希码向量h(q)=[1,-1,…,-1,]1t。之后,根据该哈希码向量和第二哈希码矩阵,假设此处的第二哈希码矩阵g为

则可以得到m维预测评分向量p=[2,3,0,3,…,4,2]。假设第m-1个电影的预测评分最高,则将第m-1个电影推荐给目标用户。

图4为图1所示实施例中另一种示例性推荐过程的示意图。如图4所示,如果目标用户不属于用户组,则根据哈希函数hi(q)=sgn(wt(q-μh)计算目标用户的哈希码向量。再根据该目标用户对应的哈希码向量以及第二哈希码矩阵g经过σc(hi,gj)的运算,得到m维的预测评分向量。将预测评分向量中值最大的预测评分对应的影视推荐给该目标用户。

本发明提供的向目标用户推荐影视的方法中,终端设备可以存储第一哈希码矩阵和第二哈希码矩阵,以便于后续需要时实时进行向目标用户推荐影视。相较于目前的存储用户和影视特征信息的协同过滤算法,本发明中存储第一哈希码矩阵和第二哈希码矩阵的方式,需要存储的数据量小,从而,提高了存储空间的利用率。

需要说明的是,本发明提供的向目标用户推荐影视方法还可以应用到音乐、文本及图片等其他多媒体推荐的场景中。

本发明实施例提供的向目标用户推荐影视的方法,通过若目标用户属于用户组,则根据第一哈希码矩阵计算目标用户的哈希码向量,其中,第一哈希码矩阵用于表征用户组中的用户对影视组中的影视的评分信息,若目标用户不属于用户组,则基于哈希函数,根据目标用户对影视组中影视的评分信息,确定目标用户的哈希码向量,根据第二哈希码矩阵与哈希码向量,确定目标用户对影视组中影视的预测评分向量,其中,第二哈希码矩阵用于表征用户组中的用户对影视组中的影视的评分信息,第一哈希码矩阵和第二哈希码矩阵中的元素为第一预设参数或第二预设参数,向目标用户推荐预测评分向量中满足预设条件的预测评分对应的影视,实现了在目标用户属于或者不属于用户组时,均先确定出目标用户的哈希码向量,之后,根据第二哈希码矩阵与目标用户的哈希码向量,确定目标用户对影视组中影视的预测评分向量,将向目标用户推荐影视过程转化为海明空间中近邻检索问题,相较于目前的协同推荐算法,本发明提供的向目标用户推荐影视的过程中由于第一哈希码矩阵和第二哈希码矩阵均为二进制的矩阵,终端设备处理过程速度较快,从而,提高了向目标用户推荐影视的速度,提高了用户体验。

图5为本发明实施例提供的向目标用户推荐影视的装置实施例的结构示意图。如图5所示,本发明实施例提供的向目标用户推荐影视的装置实施例包括如下模块:

计算模块51,用于若目标用户属于用户组,则根据第一哈希码矩阵计算目标用户的哈希码向量。

其中,第一哈希码矩阵用于表征用户组中的用户对影视组中的影视的评分信息。

第一确定模块52,用于若目标用户不属于用户组,则基于哈希函数,根据目标用户对影视组中影视的评分信息,确定目标用户的哈希码向量。

第二确定模块53,用于根据第二哈希码矩阵与哈希码向量,确定目标用户对影视组中影视的预测评分向量。

其中,第二哈希码矩阵用于表征用户组中的用户对影视组中的影视的评分信息,第一哈希码矩阵和第二哈希码矩阵中的元素为第一预设参数或第二预设参数。

推荐模块54,用于向目标用户推荐预测评分向量中满足预设条件的预测评分对应的影视。

可选的,该装置还包括:第一获取模块,用于根据用户组中每个用户对影视组中每个影视的评分信息,获取用户对影视的评分矩阵;第二获取模块,用于基于哈希学习方法,根据评分矩阵获取第一哈希码矩阵和第二哈希码矩阵。

具体地,第二获取模块具体用于:

根据公式:

采用交替迭代方式,确定第一哈希码矩阵h、第二哈希码矩阵g和预测尺度参数σ。其中,n表示用户组中用户的数量,m表示影视组中影视的数量,h矩阵为b×n维,g矩阵为b×m维,rh表示b×b维的正交矩阵,rg表示b×b维的正交矩阵,rhtrh=i,rgtrg=i,i表示对角线上的元素为1、其他位置的元素为0的矩阵,u表示n×m维的评分矩阵,uh表示采用主成分分析方法对评分矩阵u进行降维后的得到的b×n维的第一压缩矩阵,ug表示采用主成分分析方法对评分矩阵进行降维后的得到的b×m维的第二压缩矩阵,b表示第一哈希码矩阵和第二哈希码矩阵的行数,λ表示预设的参数,a表示n×m维的元素为0或1的矩阵,当评分矩阵u中的元素uij为非零值时,矩阵a中元素aij为1,当评分矩阵u中的元素uij为零时,矩阵a中元素aij为0,j表示n×m维的元素均为1的矩阵,m、n及b均为大于或等于2的数。对于该公式的具体确定过程,详见图1所示实施例的描述,此处不再赘述。

第一确定模块52具体用于:

根据公式hi(q)=sgn(wt(q-μh)确定目标用户的哈希码向量。其中,i=1,...,b,q表示目标用户对影视组中每个影视的评分组成的向量,ph表示采用主成分分析方法对n×m维的评分矩阵u进行处理得到的m×b维的投影矩阵,rh表示b×b维的正交矩阵,rhtrh=i,i表示对角线上的元素为1、其他位置的元素为0的矩阵,n表示用户组中用户的数量,m表示影视组中影视的数量,μh为矩阵ut每行元素的均值组成的1×m维的向量,m、n及b均为大于或等于2的数。

具体地,第二确定模块53具体用于:

根据公式确定目标用户i对每个影视的预测评分;根据预测评分确定目标用户对影视组中影视的预测评分向量。其中,hi表示第一哈希码矩阵中第i列元素组成的向量,gj表示第二哈希码矩阵中第j列元素组成的向量。

推荐模块54具体用于:将预测评分向量中的元素进行排序;向目标用户推荐前预设数量个预测评分对应的影视。

可选的,该装置还可以包括:存储模块,用于存储第一哈希码矩阵和第二哈希码矩阵。存储模块存储了第一哈希码矩阵和第二哈希码矩阵之后,可以便于后续需要推荐时实时进行向目标用户推荐影视。相较于目前的存储用户和影视特征信息的协同过滤算法,本发明中存储第一哈希码矩阵和第二哈希码矩阵的方式,需要存储的数据量小,从而,提高了存储空间的利用率。

本发明实施例提供的向目标用户推荐影视的装置,通过设置计算模块,用于若目标用户属于用户组,则根据第一哈希码矩阵计算目标用户的哈希码向量,其中,第一哈希码矩阵用于表征用户组中的用户对影视组中的影视的评分信息,第一确定模块,用于若目标用户不属于用户组,则基于哈希函数,根据目标用户对影视组中影视的评分信息,确定目标用户的哈希码向量,第二确定模块,用于根据第二哈希码矩阵与哈希码向量,确定目标用户对影视组中影视的预测评分向量,其中,第二哈希码矩阵用于表征用户组中的用户对影视组中的影视的评分信息,第一哈希码矩阵和第二哈希码矩阵中的元素为第一预设参数或第二预设参数,推荐模块,用于向目标用户推荐预测评分向量中满足预设条件的预测评分对应的影视,实现了在目标用户属于或者不属于用户组时,均先确定出目标用户的哈希码向量,之后,根据第二哈希码矩阵与目标用户的哈希码向量,确定目标用户对影视组中影视的预测评分向量,将向目标用户推荐影视过程转化为海明空间中近邻检索问题,相较于目前的协同推荐算法,本发明提供的向目标用户推荐影视的过程中由于第一哈希码矩阵和第二哈希码矩阵均为二进制的矩阵,终端设备处理过程速度较快,从而,提高了向目标用户推荐影视的速度,提高了用户体验。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1