首页> 中国专利> 一种引入视频流行度和用户兴趣变化的协作过滤推荐方法

一种引入视频流行度和用户兴趣变化的协作过滤推荐方法

摘要

本发明公开了一种引入视频流行度和用户兴趣变化的协作过滤推荐方法,通过采集用户行为数据进行处理得到用户-视频二进制关联矩阵,基于该矩阵得到视频流行度权重和用户兴趣度权重,并引入到用户相似度计算过程中;然后找到与目标用户相似度最大的前K个邻居,通过与邻居用户的相似度大小预测目标用户对未产生有效行为视频的兴趣值;最后选取兴趣值最大的N个视频形成推荐列表为用户做出个性化推荐。本发明充分考虑了系统中视频的流行程度各异和用户兴趣随时间变化的特性,更加符合客观事实,使得用户相似度计算更精确,提高了协作过滤推荐的质量,为视频用户提供适应用户兴趣的个性化视频推荐。

著录项

  • 公开/公告号CN103209342A

    专利类型发明专利

  • 公开/公告日2013-07-17

    原文格式PDF

  • 申请/专利权人 电子科技大学;

    申请/专利号CN201310111179.3

  • 申请日2013-04-01

  • 分类号H04N21/258(20110101);H04N21/458(20110101);H04N21/466(20110101);

  • 代理机构成都行之专利代理事务所(普通合伙);

  • 代理人温利平

  • 地址 611731 四川省成都市高新区(西区)西源大道2006号

  • 入库时间 2024-02-19 19:11:24

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-06-01

    授权

    授权

  • 2013-08-14

    实质审查的生效 IPC(主分类):H04N21/258 申请日:20130401

    实质审查的生效

  • 2013-07-17

    公开

    公开

说明书

技术领域

本发明属于富媒体个性化推荐技术领域,更为具体地讲,涉及一种引入视 频流行度和用户兴趣变化的协作过滤推荐方法。

背景技术

随着网络及其应用的发展,网络迎来了“信息爆炸”的时代,以谷歌和百 度为代表的搜索技术已满足不了用户的需求,一是用户通过搜索引擎可能找不 到想要的信息,二是用户可能无法主动地把自己的需求表达成合适的文字来让 搜索引擎运作。由此,推荐系统应运而生,它能采集用户的历史行为和反馈信 息,根据这些信息找到符合用户兴趣的资源,然后为用户做出个性化推荐。

推荐技术已经应用到视频业务、电子商务、个性化阅读等多个领域。尤其 是在网络电视(IPTV)领域,不管用户是通过数字电视业务还是视频网站观看 视频节目,在为现如今丰富多彩的视频节目感到欣喜的同时,又为难以从浩瀚 的节目资源中挑出自己真正喜欢的节目而感到无奈。据CNNIC(中国互联网信 息中心)最新发布的《中国互联网发展状况统计报告》显示,截止2012年12 月底,中国网民规模达到5.64亿,网络视频用户达到3.72亿,较上年增加了4653 万人。面对如此巨大和快速增长的视频业务用户群,为其提供个性化的视频推 荐服务是意义重大的,并蕴藏着可观的商业价值。

协作过滤是当今应用最广泛的个性化推荐技术,一些知名的推荐系统如 Amazon、GroupLens和Douban都采用了协作过滤的方法。这种方法是基于一种 常识化的假设:如果用户对一些资源的行为相似,则他们对另一些资源的行为 也比较相似。协作过滤的基本思想是根据用户的历史行为计算不同用户之间的 相似度,找到目标用户的K个最近邻居,然后根据这K个用户的观看行为对目 标用户生成推荐列表。在视频系统中,用户对视频节目的行为是多样的,包括 对节目的显示评分、观看时长、点击次数等。系统提取这些行为并把它们转换 为用户-视频的二进制关联,比如评分、观看时长和点击次数大于设定阈值时, 用户-视频关联为“1”,没达到阈值时为“0”。系统根据这些二进制关联计算用 户之间的相似度,使用比较多的相似度计算方法包括空间余弦相似度、皮尔森 相关系数、杰卡德相似系数等。协作过滤最重要的环节是搜索K个最近邻居, 而邻居搜索根据的是用户相似度,但是,目前的相似度计算中存在一些问题, 一是系统把所有视频都同等地位看待,忽略了节目的热门程度,即流行度。因 为用户对不同流行度的节目产生行为的意义是不一样的,比如两个用户都通过 网络电视观看了流行度相当高的某热门电影,这就好比如两个学生都购买了新 华词典,几乎不能说明他们兴趣相似,反而对冷门节目的共同行为更能体现相 似性,所以把所有节目同等看待是不合理的。二是忽略了用户兴趣随时间的变 化。因为不同用户在较小时间范围内观看视频节目的行为比时间跨度较大的行 为更能体现用户的相似程度,所以传统相似度计算方法没有考虑用户兴趣变化 是不够符合客观事实的。

发明内容

本发明的目的在于克服现有技术的不足,设计一种引入视频流行度和用户 兴趣变化的协作过滤视频推荐方法,根据视频流行度权重和用户兴趣衰减权重 来计算用户之间的相似度,得到更符合实际情况并更为准确的用户相似度,为 目标用户做出更准确的推荐。

为实现上述发明目的,本发明引入视频流行度和用户兴趣变化的协作过滤 推荐方法,其特征在于包括以下步骤:

(1)、收集m个用户对n个视频的行为数据,包括用户评分、用户观看时长、 用户观看/点击次数和行为发生时间,根据实际情况设定对应的用户评分阈值、 用户观看时长阈值和用户观看/点击次数阈值,当三个数据中至少有一个大于或 等于对应的设定阈值时,即为用户有效行为,设定用户-视频关联为“1”;否则 设定用户-视频关联为“0”;得到“用户-视频”二进制关联矩阵B(m,n),其中 包含了m个用户和n个视频之间的关联信息,用户-视频关联bui表示用户u对视 频i的兴趣值;

(2)、对矩阵B(m,n)分别进行列扫描和行扫描,列扫描得到视频i,1≤i≤n 的有效行为用户集合Ui,行扫描得到用户u,1≤u≤m的有效行为视频集合Iu, 记populari=|Ui|为视频i的流行度,表示对视频i产生有效行为的用户个数; activeu=|Iu|为用户u的活跃度,表示用户u产生有效行为的视频个数;其中|Ui| 和|Iu|分别表示Ui和Iu的模;

(3)、设定计算周期,离线计算视频流行度权重和用户兴趣衰减权重,视 频流行度权重计算公式为:

ωh(i)=1log(1+populari)=1log(1+|Ui|)

用户兴趣衰减权重计算公式:

ωt(u,v,s)=1log(1+α|tus-tvs+1|),sIuIv

其中,s表示用户u和用户v,1≤v≤m,v≠u均产生有效行为的视频,tus和tvs分别表示用户u和用户v对视频s产生最近一次有效行为的时间,α,0≤α≤1为 兴趣衰减影响系数,根据实际情况设置;

(4)、使用空间余弦相似度计算目标用户u与除用户u外的其他用户间的相 似度:

simuv=Σsωh(s)ωt(u,v,s)|Iu||Iv|,sIuIv

其中,|Iu|和|Iv|为用户u和用户v的活跃度,分别表示用户u和用户v产生 有效行为的视频个数;

(5)、对得到的相似度从大到小进行排序,选取前K个用户作为目标用户u 的最近邻居集合,记为S(u,K),其中K根据实际情况设定;

(6)、根据目标用户u的最近邻居集合的观看行为预测目标用户u对未观看 视频j的兴趣值,并按兴趣值从大到小排序,将前N个视频作为视频推荐列表 RecVedio(N)推荐给目标用户,其中N根据实际情况设定。

其中,步骤(1)中的用户有效行为的判定方法包括以下步骤:

1.1)、判断用户评分是否大于等于用户评分阈值,如果是,则该行为是用户 有效行为,判定结束;否则进入步骤1.2);

1.2)、判断用户观看时长是否大于等于用户观看时长阈值,如果是,则该行 为是用户有效行为,判定结束;否则进入步骤1.3);

1.3)、判断用户观看/点击次数是否大于等于用户观看/点击次数阈值,如果 是,则该行为是用户有效行为,判定结束;否则该行为不是用户有效行为,判 定结束。

其中,步骤(3)中的计算周期为一小时。

其中,步骤(3)中的兴趣衰减影响系数α=0.5。

其中,步骤(6)中的预测目标用户u对未观看视频j的兴趣值的计算公式 为:

p(u,j)=Σwsimuw,wS(u,K)Uj

其中,用户w是在用户u的最近邻居集合中对视频j产生过有效行为的用 户。

本发明的发明目的是这样实现的:

本发明引入视频流行度和用户兴趣变化的协作过滤推荐方法,通过采集用 户行为数据进行处理得到用户-视频二进制关联矩阵,基于该矩阵得到视频流行 度权重和用户兴趣度权重,并引入到用户相似度计算过程中;然后找到与目标 用户相似度最大的前K个邻居,通过与邻居用户的相似度大小预测目标用户对 未产生有效行为视频的兴趣值;最后选取兴趣值最大的N个视频形成推荐列表 为用户做出个性化推荐。

本发明引入视频流行度和用户兴趣变化的协作过滤推荐方法,利用代表着 用户个人兴趣的行为数据,结合视频流行度和用户兴趣变化,实现了在IPTV或 者视频网站系统领域为用户提供个性化视频推荐的目的,一方面符合网络个性 化发展,为客户提供更好的服务,另一方面也能帮助服务提供商吸引并且留住 更多客户,提高经济效益。

附图说明

图1是本发明引入视频流行度和用户兴趣变化的协作过滤推荐方法的一种 具体实施方式流程图;

图2是图1中根据用户行为数据形成用户-视频二进制关联矩阵的流程示意 图。

具体实施方式

下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员 更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和 设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。

实施例

图1是本发明引入视频流行度和用户兴趣变化的协作过滤推荐方法的一种 具体实施方式流程图。如图1所示,本发明引入视频流行度和用户兴趣变化的 协作过滤推荐方法包括以下步骤:

步骤S101:视频系统收集m个用户对n个视频的行为数据,包括用户评分、 用户观看时长、用户观看/点击次数和行为发生时间。然后将这些数据存储在云 端的数据库中。本实施例中记用户u对视频i评分为scoreui,用户u对视频i观看 时长为lengthui,用户u对视频i观看或者点击视频i的次数记为frequi

步骤S102:根据实际情况设定对应的用户评分阈值、用户观看时长阈值和 用户观看/点击次数阈值,当三个数据中至少有一个大于或等于对应的设定阈值 时,即为用户有效行为,设定用户-视频关联为“1”;否则设定用户-视频关联为 “0”;得到用户-视频二进制关联矩阵B(m,n),其中包含了m个用户和n个视频 之间的关联信息,用户-视频关联bui表示用户u对视频i的兴趣值。

图2是图1中根据用户行为数据形成用户-视频二进制关联矩阵的流程示意 图。如图2所示,视频系统在云端数据库对原始用户行为数据进行处理的流程 如下:

步骤S201:对用户评分进行判断。本实施例中,视频系统的评分系统采用 五分制,用户可以为所观看视频做出1~5分的评分,设定用户评分阈值为3。当 scoreui≥3时,则用户u对视频i的行为有效,进入步骤S204;如果用户没有主 动为视频评分或scoreui<3,则进入步骤S202。

步骤S202:对用户观看时长进行判断。本实施例中,设定用户观看时长阈 值为0.25h。当lengthui≥0.25h时,则用户u对视频i的行为有效,进入步骤S204; 否则进入步骤S203。

步骤S203:对用户观看/点击次数进行判断。本实施例中,设定用户观看/ 点击次数阈值为3。当frequi≥3时,则用户u对视频i的行为有效,进入步骤 S204;否则进入步骤S205。

步骤S204:设定用户-视频关联bui=1,进入步骤S206。

步骤S205:设定用户-视频关联bui=0,进入步骤S206。

步骤S206:根据所有用户对所有视频的用户-视频关联值,得到用户-视频 二进制关联矩阵B(m,n),其中包含了m个用户和n个视频之间的关联信息,用 户-视频关联bui表示用户u对视频i的兴趣值。

本实施例中,使用4个用户与6个影片视频的用户-视频关联信息。表1为 二进制关联矩阵B(4,F)。

  影片A 影片B 影片C 影片D 影片E 影片F 用户1 1 1 0 1 0 1 用户2 0 1 0 1 1 0 用户3 0 0 1 1 1 1 用户4 1 1 0 1 1 0

表1

步骤S103:对矩阵B(m,n)分别进行列扫描和行扫描,列扫描得视频 i,1≤i≤n的有效行为用户集合Ui,行扫描得到用户u,1≤u≤m的有效行为视频 集合Iu,记populari=|Ui|为视频i的流行度,表示对视频i产生有效行为的用户 个数;activeu=|Iu|为用户u的活跃度,表示用户u产生有效行为的视频个数; 其中|Ui|和|Iu|分别表示Ui和Iu的模。

本实施例中,对矩阵进行列扫描,遇到“1”后把对应的用户加入到该列视 频i,A≤i≤F的有效行为用户集合Ui中,分别为:

UA={用户1,用户4};

UB={用户1,用户2,用户4};

UC={用户3};

UD={用户1,用户2,用户3,用户4};

UE={用户2,用户3,用户4};

UF={用户1,用户3}。

列扫描完成后,对用户集合Ui求模得到|Ui|,|Ui|表示影片视频i的流行度, 分别为:

|UA|=2;|UB|=3;|UC|=1;|UD|=4;|UE|=3;|UF|=2。

对矩阵进行行扫描,遇到“1”后把对应的影片视频加入到该行用户 u,1≤u≤4的有效行为视频集合Iu中,分别为:

I1={影片A,影片B,影片D,影片F};

I2={影片B,影片D,影片E};

I3={影片C,影片D,影片E,影片F};

I4={影片A,影片B,影片D,影片E}。

行扫描完成后,对有效行为视频集合Iu求模得到|Iu|,|Iu|表示用户u的活跃 度,分别为:

|I1|=4;|I2|=3;|I3|=4;|I4|=4。

步骤S104:设定计算周期,离线计算视频流行度权重和用户兴趣衰减权重, 视频流行度权重计算公式为:

ωh(i)=1log(1+populari)=1log(1+|Ui|)

用户兴趣衰减权重计算公式:

ωt(u,v,s)=1log(1+α|tus-tvs+1|),sIuIv

其中,s表示用户u和用户v,1≤v≤m,v≠u均产生有效行为的视频,tus和tvs分别表示用户u和用户v对视频s产生有效行为的时间,α,0≤α≤1为兴趣衰减 影响系数,根据实际情况设置。

本实施例中,设定的计算周期为一个小时,即每隔一小时更新一次,(当用 户使用高峰期时,可以适当缩短周期),系统根据用户-视频关联矩阵B(4,F)离 线计算视频流行度权重和用户兴趣衰减权重。设置兴趣衰减影响系数α=0.5。

A.视频的流行度表示对视频i产生有效行为的用户个数,在矩阵B(m,n)中 为第i列中非零项之和,越多的用户对视频i产生有效行为,则视频i越流行。所 以基于二进制关联矩阵B(m,n)计算可以得到每个视频的流行度权重值,该值消 弱了用户相似度计算时流行度偏高的视频所起的作用。

本实施例中,根据视频流行度权重计算公式,6部影片的视频流行度权重值 分别为(本实施例中所有计算结果均保留2位小数):

ωh(A)=1log(1+|UA|)=1log(1+2)2.10;

ωh(B)=1log(1+|UB|)=1log(1+3)1.66;

ωh(C)=1log(1+|UC|)=1log(1+1)3.32;

ωh(D)=1log(1+|UD|)=1log(1+4)1.43;

ωh(E)=1log(1+|UE|)=1log(1+3)1.66;

ωh(F)=1log(1+|UF|)=1log(1+2)2.10.

B.用户兴趣衰减权重,需要利用系统采集到的用户对视频产生有效行为的 时间信息,如果是由观看次数得到的有效行为,或者对某一视频有多次有效行 为,都取最近一次产生有效行为的时间,本实施例中,该时间以距离当前时间 的天数为单位。因为用户兴趣会随时间发生变化,以计算用户间观看同一视频 的时间跨度的方法来衡量兴趣变化对相似度的影响。

表2为各用户对各影片视频最近一次有效行为与当前时间相隔的天数。其 中“/”表示未产生有效行为。

  影片A 影片B 影片C 影片D 影片E 影片F 用户1 317 3650 / 270 / 1026 用户2 / 730 / 150 30 / 用户3 / / 538 169 883 945 用户4 908 603 / 3200 9102 /

表2

本实施例中,将用户2作为目标用户,以用户1为例,用户2与用户1均 产生有效行为的视频为影片B和影片D,根据用户兴趣衰减权重计算公式,得 到于用户2对于用户1的用户兴趣衰减权重值为:

ωt(2,1,B)=1log(1+α|t2B-t1B+1|)=1log(1+0.5|730-3650+1|)0.32;

ωt(2,1,D)=1log(1+α|t2D-t1D+1|)=1log(1+0.5|150-270+1|)0.56.

同理可得用户2对于其他用户的用户兴趣衰减权重值:

ωt(2,3,D)=1log(1+α|t2D-t3D+1|)=1log(1+0.5|150-169+1|)1.00;

ωt(2,3,E)=1log(1+α|t2E-t3E+1|)=1log(1+0.5|30-883+1|)0.38;

ωt(2,4,B)=1log(1+α|t2B-t4B+1|)=1log(1+0.5|730-603+1|)0.55;

ωt(2,4,D)=1log(1+α|t2D-t4D+1|)=1log(1+0.5|150-3200+1|)0.31;

ωt(2,4,E)=1log(1+α|t2E-t4E+1|)=1log(1+0.5|30-9102+1|)0.27.

这样,不同用户间时间跨度小的有效行为对相似度产生的影响较大,使得 在越小的时间范围内对同一视频产生有效行为的用户越相似,更符合客观事实。

步骤S105:使用空间余弦相似度计算目标用户u与除用户u外的其他用户v 间的相似度:

simuv=Σsωh(s)ωt(u,v,s)|Iu||Iv|,sIuIv

其中,|Iu|和|Iv|为用户u和用户v的活跃度,表示用户u和用户v分别产生 有效行为的视频个数。

本实施例中,通过以上步骤处理,系统数据库中已经存储了每个视频对应 的流行度权重值和若干项用户兴趣衰减权重值。当需要给目标用户做推荐时, 根据数据库中最近一次更新的用户活跃度、视频流行度、视频流行度权重和用 户兴趣衰减权重计算目标用户(用户2)与其他用户的相似度值,根据空间余弦 相似度公式得到:

sim21=ωh(B)ωt(2,1,B)+ωh(D)ωt(2,1,D)|I2||I1|=1.66×0.32+1.43×0.563×40.385;

sim23=ωh(D)ωt(2,3,D)+ωh(E)ωt(2,3,E)|I2||I3|=1.43×1.00+1.66×0.383×40.595;

sim24=ωh(B)ωt(2,4,B)+ωh(D)ωt(2,4,D)+ωh(E)ωt(2,4,E)|I2||I4|.

=1.66×0.55+1.43×0.31+1.66×0.273×40.521

采用引入视频流行度和用户兴趣变化的相似度计算,针对冷门视频和小时 间跨度内同一用户产生的有效行为对相似度的贡献较大,更符合客观事实。例 如,如果不考虑视频流行度和用户兴趣度权重的影响,由关联矩阵可以看出, 用户2和用户4的空间余弦相似度值会大于用户2和用户3的空间余弦相似度 值。但以上计算结果表明,sim23大于sim24,这主要是因为用户3和用户2对影 片D和影片E产生有效行为的时间很接近,用户兴趣衰减权重对他们的相似度 产生了有效提升,得到了更理想的用户相似结果。

步骤S106:对得到的相似度从大到小进行排序,选取前K个用户作为目标 用户u的最近邻居集合,记为S(u,K);其中K根据实际情况设定。

对得到的用户2与其他用户间的相似度大小进行排序可得 sim23>sim24>sim21,本实施例中设定K=3,因此选取这3个用户作为用户2 的最近邻居集合:S(用户2,3)={用户3,用户4,用户1}。

步骤S107:根据目标用户u的最近邻居集合的观看行为预测目标用户u对未 观看视频j的兴趣值,并按兴趣值从大到小排序,将前N个视频作为视频推荐 列表RecVedio(N)推荐给目标用户,其中N根据实际情况设定。

具体进行兴趣预测的计算公式为:

p(u,j)=Σwsimuwbwj,wS(u,K)Uj

其中,用户w是在用户u的最近邻居集合中对视频j产生过有效行为的用 户,bwj表示用户w对视频j的兴趣值,所以本计算公式中的所有bwj=1。因此 兴趣预测的最终计算公式为:

p(u,j)=Σwsimuw,wS(u,K)Uj

本实施例中,根据用户2与其最近邻居集的相似度大小预测用户2对其未 产生有效行为影片的感兴趣程度。扫描矩阵B(4,F),得到用户2未产生有效行 为的视频集合为:Hu={影片A,影片C,影片F}。

然后对每个影片j∈Hu,预测用户u对视频j的兴趣值大小,分别为:

p(用户2,影片A)=sim24+sim21=0.521+0.385=0.906;

p(用户2,影片C)=sim23=0.595;

p(用户2,影片F)=sim23+sim21=0.595+0.385=0.980。

计算出的兴趣值按降序排列,得到影片F>影片A>影片C。本实施例中, 设置N=2,形成推荐列表:RecVedio(N)={影片F,影片A}。把该列表推送 给目标用户,从而形成推荐。

尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域 的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对 本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定 的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发 明创造均在保护之列。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号