一种基于多用户的视频推荐方法及装置的制造方法_2

文档序号:9667497阅读:来源:国知局
行归一化处理,得到用户-视频矩阵。
[0038] 因为不同用户发生操作行为的频率不同,需要对生成的矩阵R进行归一化操作, 计算矩阵R中每一行(即每个用户)的最大值,将该行中每个元素分别除以该最大值,得到 归一化后的矩阵,即用户-视频矩阵,矩阵中每个元素的值在0-1之间。
[0039] 具体地,对归一化后得到的用户-视频矩阵使用随机梯度下降法进行UV分解,得 到一个n*l维矩阵和一个m*l维矩阵,其中,1为特征向量维度,η为用户个数,m为视频个 数。
[0040] n*l维矩阵和m*l维矩阵分别表示用户及视频在对应隐含维度的特征,将m*l矩阵 作为视频的特征向量矩阵,每一行代表一个视频的特征向量。
[0041] 其中,1初始值可以设为20,后续可通过结果反馈调节1的值。
[0042] 具体如何使用随机梯度下降法对用户-视频矩阵进行UV分解,本领域技术人员根 据公知常识即可做到,此处不再详细赘述。
[0043] 具体地,在获得每个视频的特征向量后,根据相似度计算公式计算任意两视频之 间的相似度。
[0044] 基于用户行为计算任意两视频的相似度是因为用户在观看视频的过程中,并不都 是观看类型相同的视频,比如在一个时间段都观看动作片,观看动作片的用户还可能会观 看战争片,虽然战争片和动作片不是同一类型。用基于用户行为的这种相似度计算方式,可 以把不是同一类型视频但是用户也喜欢观看的视频挖掘出来。在后续使用聚类方法进行聚 类时,可以被聚类为同一个聚类簇中,成为同一个兴趣点。
[0045] 下面以具体实施例进行详细介绍:
[0046] 首先根据多个用户点击行为集合,生成点击操作对应的矩阵S,如表1所示:
[0047] 需要说明的是,真实的矩阵S以及矩阵R、用户-视频矩阵具有百万级的维度,下述 的表1、表2、表3、表4、表5仅仅是对矩阵S、矩阵R以及用户-视频矩阵的含义进行说明, 仅仅是一种示例。
[00481
[0049]
[0050]表 1
[0051 ] 其中,矩阵中的数字表示每个用户点击每个视频的次数。
[0052] 根据多个用户点击行为集合,生成收藏操作对应的矩阵S,如表2所示:
[0053]
[0054] 表2
[0055] 矩阵中的数字表示每个用户点击收藏每个视频的次数。
[0056] 根据多个用户点击行为集合,生成购买操作对应的矩阵S,如表3所示:
[0057]
[0058] 表 3
[0059] 其中矩阵中的数字表示每个用户点击购买每个视频的次数。
[0060] 则,根据预设的三种操作行为的权重,矩阵R为1*点击对应矩阵S+2*收藏对应矩 阵S+3*购买对应矩阵S。
[0061] 即矩阵R如表4所示:
[0062]
[0063]表 4
[0064] 对表4进行归一化处理,每行中的每个元素除以每行中的最大值,得到用户-视频 矩阵,如表5所示:
[0065]
[0066]表 5
[0067] 对用户-视频矩阵进行UV分解,得到m*l维矩阵,1这里设置为20。如表6所示:
[0068] 需说明的是:矩阵中的数值只是示意性数值,用于举例。
[0069]
[0070]表6
[0071] 从m*l矩阵中,可以得到每个视频的特征向量,S卩每行对应一个视频的特征向量, 如表6中,vOOOl和V0002的特征向量为:
[0072]p(0001) = (0· 51,0· 1,0· 299, 0, 0· 0125,…,0· 04),
[0073] p(0002) = (0, 0· 3, 0· 5, 0· 104, 0· 233,…,0· 511),
[0074] 根据相似度计算公式可以得到两个视频之间的相似度。
[0075] 通过这种方式可以得到任意两视频之间的相似度。
[0076] 102、基于多用户的视频推荐装置根据所述任意两视频之间的相似度,对所述视频 进行聚类,得到多个兴趣点。
[0077] 具体地,可以用K-means聚类方法根据所述获取的任意两视频之间的相似度,对 所述视频进行聚类,获取多个兴趣点。
[0078] 需要说明的是:本发明并不局限于K-means聚类方法这一种聚类方法根据所述获 取的任意两视频之间的相似度,对所述视频进行聚类,还可以采用其他现有技术中涉及的 聚类方法。
[0079] 优选地,根据所述任意两视频之间的相似度,对所述视频进行聚类,得到多个兴趣 点可以为:根据所述任意两视频之间的相似度生成基于用户行为的相似度矩阵,根据所述 基于用户行为的相似度矩阵,对所述视频进行聚类,得到多个兴趣点。
[0080] 具体地,由K-means算法根据基于用户行为的相似度矩阵,对所述视频进行聚类, 得到多个兴趣点,此处的兴趣点对应聚类后得到的聚类簇。
[0081] 聚类后,相似度比较高的视频被划归为一个聚类簇,即一个兴趣点,这样形成多个 兴趣点。
[0082] 根据任意两视频之间的相似度,对所述视频进行聚类,这样就可以对数据库中的 视频进行处理,将范围从数据库中的所有视频限定到聚类后生成的兴趣点中的视频范围, 在后续进行兴趣点分布统计的时候,就大大减少了计算量,提高了推荐效率。
[0083] 需要说明的是:本发明实施例中对于任意两视频之间的相似度数据的排布采用基 于用户行为的相似度矩阵的方式进行后续聚类处理,但是本发明不限于使用矩阵的方式, 还可以采用哈希表的方式,或者其他已有便于后续聚类的数据排布方式,均在本发明的保 护范围之内。
[0084] 所述基于用户行为的相似度矩阵的行和列分别用视频ID表示,并且因为所获得 的数据使对称分布的,所以只需要构建上对角线或下对角线的数据即可,两个相同视频之 间的相似度值默认为1。
[0085] 这里以表7来说明对基于用户行为的相似度矩阵的含义,表7仅仅是对基于用户 行为的相似度矩阵的含义进行说明,仅仅是一种示例。
[0086]

[0087] 表 7
[0088] K-means算法,也被称为K-平均或K-均值,是一种得到最广泛使用的聚类算法。 它是将各个聚类子集内的所有数据样本的均值作为该聚类的代表点,算法的主要思想是通 过迭代过程把数据集划分为不同的类别,使得评价聚类性能的准则函数达到最优,从而使 生成的每个聚类内紧凑,类间独立。
[0089] 在计算数据样本之间的距离时,可以根据实际需要选择欧式距离、曼哈顿距离或 者明考斯距离中的一种来作为算法的相似性度量,其中最常用的是欧式距离。
[0090] 具体地,在本发明实施例中,用1减去两个视频之间的相似度的值来表示两个视 频之间的距离。
[0091] 下面举例说明:
[0092] 基于用户行为的相似度矩阵如表8所示,作为一个聚类分析的二维样本,要求的 簇的数量k= 2。
[0093] 需要说明的是:真实的基于用户行为的相似度矩阵具有百万级的维度,下述的表 8仅仅是对基于用户行为的相似度矩阵的含义进行说明,仅仅是一种示例。
[0094]
[0095]
[0096] 表 8
[0097] (1)、随机选择视频vOOOl及视频V0002作为聚类簇中心;
[0098] (2)、分别计算其余视频与视频vOOOl及视频V0002的距离,如果该视频与视频 V0001的距离近于与视频V0002的距离,则将该视频置入到视频V0001的簇中。具体地,通过 计算1与两个视频之间的相似度的差值作为两个视频之间的距离。参照表8,视频V0003与 视频vOOOl之间的距离为1-0. 75 = 0. 25,视频v0003与视频v0002之间的距离为1-0. 28 = 0. 72,因为0. 25〈0. 72,所以,视频v0003到视频vOOOl的距离近于视频v0003到视频v0002 的距离,则把视频v0003置入到视频vOOOl的簇中。同理,视频v0004到视频vOOOl的距离 为 1-0. 31 = 0· 69,视频v0004 到视频v0002 的距离为 1-0. 63 = 0· 37,因为 0· 37〈0· 69,所 以,视频v〇〇〇4到视频v0002的距离近于视频v0004到视频vOOOl的距离,则把视频v0004 置入到视频v0002的簇中。视频v0005到视频vOOOl的距离为1-0. 37 = 0. 63,视频v0005 到视频v0002的距离为1-0. 59 = 0. 41,因为0. 41〈0. 63,所以,视频v0005到视频v0002的 距离近于视频v0005到视频vOOOl的距离,则把视频v0005置入到视频v0002的簇中。自 此,更新后的聚类簇为Iv0001,v0003}和{v0002,v0004,v0005}。
[0099] (3)、计算新的聚类中心:视频v0001到视频v0003的距离为1-0. 75 = 0. 25, 随机选择视频vOOOl作为聚类簇中心;视频v〇〇〇2到视频v0004视频v0005的距离 为((1-0. 63) + (1-0. 59))/2 = 0· 39,视频v0004 到视频v0002 视频v0005 的距离为 ((1-0. 63) + (1-0. 77))/2
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1