一种基于协同过滤的视频栏目推荐系统及推荐方法.pdf

上传人:00****42 文档编号:6275015 上传时间:2019-05-27 格式:PDF 页数:16 大小:1,022.25KB
返回 下载 相关 举报
摘要
申请专利号:

CN201511028409.5

申请日:

2015.12.30

公开号:

CN105404700A

公开日:

2016.03.16

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 17/30申请日:20151230|||著录事项变更IPC(主分类):G06F 17/30变更事项:发明人变更前:许宏吉 李文强 季名扬 许征征 李石 曹海波变更后:许宏吉 许征征 刘琚 元辉 李文强 党娟|||公开

IPC分类号:

G06F17/30

主分类号:

G06F17/30

申请人:

山东大学

发明人:

许宏吉; 李文强; 季名扬; 许征征; 李石; 曹海波

地址:

250199山东省济南市历城区山大南路27号

优先权:

专利代理机构:

济南金迪知识产权代理有限公司37219

代理人:

吕利敏

PDF下载: PDF下载
内容摘要

一种基于协同过滤的视频栏目推荐系统,包括:用户模型创建模块、用户相似度计算模块、最近邻居集生成模块、栏目评分生成模块和推荐模块。本发明所述推荐方法设置奖励项,增加冷门栏目对用户相似度的作用。本发明所述推荐方法通过用户相似度矩阵M可以减少计算量。本发明所述推荐方法评分采用最近邻居相似度加权平均的方法,更加充分分析用户偏好,挖掘用户潜在兴趣点。

权利要求书

1.一种基于协同过滤的视频栏目推荐系统,其特征在于,该推荐系统包括:
用户模型创建模块、用户相似度计算模块、最近邻居集生成模块、栏目评
分生成模块和推荐模块,其中:
所述用户模型创建模块,用于获取栏目属性信息,所述属性信息包
括用户标识、用户所操作的栏目标识以及用户对栏目的历史操作信息;
所述用户相似度计算模块,通过建立相似度矩阵M,计算目标用户与
其他用户之间的相似度sim(u,v),其中,u∈1,2,…,n;v∈1,2,…,n;
所述最近邻居集生成模块,将目标用户与其他用户的兴趣相似度进行排
名,取值最大的K个用户,得到目标用户的最近邻居集合,K的取值根据实
际情况设定;
所述栏目评分生成模块,根据所述最近邻居集,获取目标用户对于
栏目的预测评分;
所述推荐模块,用于根据所述预测评分及预先获取的目标用户对于
历史栏目的评分,生成栏目推荐列表进行推荐。
2.根据权利要求1所述的推荐系统的推荐方法,包括如下步骤:
步骤S101:创建用户模型
将用户对栏目的点击次数作为评分表中的评分值:用户点击过栏目中的任
意一个影片即被视为完成一次栏目点击,从用户日志文件中获取较长时间段内
用户点击过的所有栏目名称以及每个栏目点击过的次数,整理生成用户观看历
史记录表;每条记录的数据格式为:{用户:栏目1[栏目1点击次数];栏目
2[栏目2点击次数];栏目5[栏目5点击次数];…;栏目i[栏目i点击
次数]};将上述记录的数据去重处理后存放在数据库A中;
步骤S102:计算用户相似度
协同过滤算法通过用户观看行为的相似程度来分析计算用户的兴趣相似
度,计算公式(1)如下:
S i m ( v , u ) = Σ i N a N b l o g ( 1 + k | N i | ) | N a | | N b | - - - ( 1 ) ]]>
式(1)中Na表示用户a曾经点击过的栏目集合,Nb表示用户b曾经点
击过的栏目集合,Ni表示对栏目i有过点击行为的用户集合,k是根据经验
设定的固定值,优选的,设置为N/5;
所述用户相似度计算方法具体包括:
根据用户观看影片的历史,建立栏目-用户的列表,每条记录的数据格式为:
{栏目1:用户a,用户b,用户d,用户f,…},{栏目2:用户b,用户c,用
户e,用户f,…},…{栏目i:用户a,用户b,用户d,用户f,…};将这些
信息整理存放在数据库B中;
对于栏目i建立一个N×N的用户相似度矩阵Mi,其中N表示总的用户个
数,其中,矩阵M的行和列分别表示用户标识,元素Mab为1表示用户a和
用户b均点击过一共同栏目标识,a∈1,2,…,n;b∈1,2,…,n,n为用户个数;对
于栏目1,将Mab、Mad、Maf置为1,用户两两组合作为矩阵Mi的行列坐标
设;对于栏目2,将Mbc、Mbe、Mbf、Mce、Mcf…设置为1,以此类推生成
各个栏目矩阵Mi;
依次将矩阵Mi乘以奖励项:所述奖励项为:其中,k是根据
经验设定的固定值,优选的为N/5,Ni表示栏目i中的用户数量,将各个乘以
奖励项的矩阵相加得到最终的用户相似度矩阵M;
根据矩阵M过滤掉没有点击过相同栏目的用户对,减少计算量;
根据计算出的矩阵M,再除以用户观看影片并集,得到最终的用户兴趣相
似度;
步骤S103:创建最近邻居集合
将目标用户与其他用户的兴趣相似度进行排名,取值最大的K个用户,得
到目标用户的最近邻居集合N(u,K),K的取值据实际情况设定;
步骤S104:产生栏目评分
计算公式(2)如下:
P ( l , u ) = c l i c k ( l , u ) c l i c k ( . , u ) + η - - - ( 2 ) ]]>
对于已经为目标用户推荐过的栏目,根据计算公式(2)获取目标用户对于
历史栏目的评分,其中,click(.,u)为用户u的全部点击量,click(l,u)为用户u对
栏目l的点击量,l∈1,2,…,m,m为栏目个数,η为第一调节因子;
计算公式(3)如下:
P ( l , u ) = Σ v N ( u , K ) s i m ( v , u ) × c l i c k ( l , v ) Σ v N ( u , K ) c l i c k ( . , v ) + μ - - - ( 3 ) ]]>
对于目标用户没有被推荐过的栏目,根据计算公式(2)获取目标用户对未
推荐栏目的评分,其中,N(u,K)为K个最近邻居集,click(.,v)为用户v的全部点
击量,click(l,v)为用户v对栏目l的点击量,l∈1,2,…,m,m为栏目个数,μ为
第二调节因子,sim(v,u)为用户u与用户v之间的相似度,用户v属于最近邻居
集中的用户,用户u为目标用户;
步骤S105:产生推荐栏目
根据上述步骤得出的目标用户对历史栏目的评分,进行评分排名后,得到
排名列表A;
根据上述步骤预测出目标用户对未推荐栏目的评分,进行评分排名后,得
到排名列表B;
设定融合比例α,按融合比例α与1-α分别选取表A与表B排名靠前
的栏目;生成初始推荐栏目列表C,进行新的过滤、排名,最后,选择评分最高
的TOP-N个栏目推荐给目标用户;
对于调节融合比例α的取值先根据以往经验进行人工设定,之后根据用
户对相关推荐系统的反馈结果不断调整,以使推荐结果达到最优。

说明书

一种基于协同过滤的视频栏目推荐系统及推荐方法

技术领域

本发明涉及一种基于协同过滤的视频栏目推荐系统及推荐方法,属于智能电视推荐系统
的技术领域。

背景技术

随着互联网时代和大数据时代的到来,智能互联网电视的迅猛发展,人们观看的电视节
目也不仅仅局限于直播电视节目,通过互联网,电视用户可以根据自己的兴趣更方便快捷的
选择更多最新的节目或者热门影片。电影数量级的迅速增长带来的信息过载问题,给用户带
来很多困扰,让用户无法准确高效地获得自己感兴趣的影片。互联网规模的迅速增长带来了
信息超载的问题,过量信息同时呈现使得用户无法很便捷快速地获取对自己感兴趣的部分,
使信息使用效率降低。现在的互联网应用中,越来越多智能的推荐系统被开发出来并获得广
大用户的信赖和使用。

对于目前常见的情况,当用户打开电视,进入推荐展示界面时,会看到展示页面的栏目
列表。具有相同属性的影片被归为同一个栏目(比如综艺节目、日韩影片、武侠电影、文艺
电影、动作电影),展示页面为用户展示若干栏目。生成展示栏目的依据一般是根据影片的
热门程度和以往人工设定的固定栏目经验,向每名用户展示相同栏目,而不是根据用户兴趣
向用户进行个性化推荐。

目前的视频推荐技术都是以推荐单个视频为主,但这些技术不太适用于栏目推荐。首先,
视频推荐一般都是依靠用户看过的视频来向其推荐没有看过的视频,但是在栏目推荐中不可
能把看过的栏目不再推荐,相反,一般而言看的越多的栏目越着重推荐。其次,每个栏目都
有很多视频组成,栏目间的关系相比于视频间的关系更为复杂,相似度计算更加难以把握。

发明内容

针对现有技术的不足,本发明公开了一种基于协同过滤的视频栏目推荐系统。

本发明还公开一种上述推荐系统的推荐方法。

本发明的技术方案为:

一种基于协同过滤的视频栏目推荐系统,包括:用户模型创建模块、用户相似度计算
模块、最近邻居集生成模块、栏目评分生成模块和推荐模块,其中:

所述用户模型创建模块,用于获取栏目属性信息,所述属性信息包括用户标识、
用户所操作的栏目标识以及用户对栏目的历史操作信息;

所述用户相似度计算模块,通过建立相似度矩阵M,计算目标用户与其他用户之
间的相似度sim(u,v),其中,u∈1,2,…,n;v∈1,2,…,n;

所述最近邻居集生成模块,将目标用户与其他用户的兴趣相似度进行排名,取值最
大的K个用户,得到目标用户的最近邻居集合,K的取值根据实际情况设定;

所述栏目评分生成模块,根据所述最近邻居集,获取目标用户对于栏目的预测
评分;

所述推荐模块,用于根据所述预测评分及预先获取的目标用户对于历史栏目的
评分,生成栏目推荐列表进行推荐。

一种上述推荐系统的推荐方法,包括如下步骤:

步骤S101:创建用户模型

将用户对栏目的点击次数作为评分表中的评分值:用户点击过栏目中的任意一个影片即
被视为完成一次栏目点击,从用户日志文件中获取较长时间段内用户点击过的所有栏目名称
以及每个栏目点击过的次数,整理生成用户观看历史记录表;每条记录的数据格式为:{用户:
栏目1[栏目1点击次数];栏目2[栏目2点击次数];栏目5[栏目5点击次数];…;
栏目i[栏目i点击次数]};将上述记录的数据去重处理后存放在数据库A中;

步骤S102:计算用户相似度

协同过滤算法通过用户观看行为的相似程度来分析计算用户的兴趣相似度,计算公式
(1)如下:

S i m ( v , u ) = Σ i N a N b l o g ( 1 + k | N i | ) | N a | | N b | - - - ( 1 ) ]]>

式(1)中Na表示用户a曾经点击过的栏目集合,Nb表示用户b曾经点击过的栏目
集合,Ni表示对栏目i有过点击行为的用户集合,k是根据经验设定的固定值,优选的,
设置为N/5;

所述用户相似度计算方法具体包括:

根据用户观看影片的历史,建立栏目-用户的列表,每条记录的数据格式为:{栏目1:
用户a,用户b,用户d,用户f,…},{栏目2:用户b,用户c,用户e,用户f,…},…
{栏目i:用户a,用户b,用户d,用户f,…}。将这些信息整理存放在数据库B中;

对于栏目i建立一个N×N的用户相似度矩阵Mi,其中N表示总的用户个数,其中,矩
阵M的行和列分别表示用户标识,元素Mab为1表示用户a和用户b均点击过一共同栏
目标识,a∈1,2,…,n;b∈1,2,…,n,n为用户个数;对于栏目1,将Mab、Mad、Maf置为
1,用户两两组合作为矩阵Mi的行列坐标设;对于栏目2,将Mbc、Mbe、Mbf、Mce、Mcf…
设置为1,以此类推生成各个栏目矩阵Mi;

依次将矩阵Mi乘以奖励项:所述奖励项为:其中,k是根据经验设定
的固定值,优选的为N/5,Ni表示栏目i中的用户数量,将各个乘以奖励项的矩阵相加得
到最终的用户相似度矩阵M;

由于栏目展示页面的限制,展示在前面的栏目相对后排的栏目更流行,同时方便用户点
击,因此点击率往往较高。但是如果排列顺序靠后的栏目,用户对这些有一定的点击次数,
更能反应用户的兴趣点,对分析用户兴趣行为有更大的价值参考。如果两个不同用户对排列
靠后的栏目均有点击且点击过的栏目有较大的重合度,这样就认为他们兴趣相似,可以相互
的推荐栏目。两个用户多次点击过相同的冷门栏目更能说明他们兴趣的相似度,这两个用户
就可以被确定为邻居,有较好的相似性。因为排列在前的栏目相比于排列后面的栏目有天然
的优势,因此在本发明中加入奖励项|Ni|值越小,说明点击过栏目i的用户
较少,栏目i被认为是冷门节目,这样k与|Ni|的比值较大,这样对冷门栏目分配更大的
权重,通过奖励项性的设定,可以增加冷门栏目对用户相似度的作用,减少热门栏目对用户
相似度的干扰,更准确直接的反应不同用户间的相似程度。

根据矩阵M过滤掉没有点击过相同栏目的用户对,减少计算量;

根据计算出的矩阵M,再除以用户观看影片并集,得到最终的用户兴趣相似度;

步骤S103:创建最近邻居集合

将目标用户与其他用户的兴趣相似度进行排名,取值最大的K个用户,得到目标用户的
最近邻居集合N(u,K),K的取值据实际情况设定;

步骤S104:产生栏目评分

计算公式(2)如下:

P ( l , u ) = c l i c k ( l , u ) c l i c k ( . , u ) + η - - - ( 2 ) ]]>

对于已经为目标用户推荐过的栏目,根据计算公式(2)获取目标用户对于历史栏目的评
分,其中,click(.,u)为用户u的全部点击量,click(l,u)为用户u对栏目l的点击量,
l∈1,2,…,m,m为栏目个数,η为第一调节因子;

计算公式(3)如下:

P ( l , u ) = Σ v N ( u , K ) s i m ( v , u ) × c l i c k ( l , v ) Σ v N ( u , K ) c l i c k ( . , v ) + μ - - - ( 3 ) ]]>

对于目标用户没有被推荐过的栏目,根据计算公式(2)获取目标用户对未推荐栏目的评
分,其中,N(u,K)为K个最近邻居集,click(.,v)为用户v的全部点击量,click(l,v)为用户
v对栏目l的点击量,l∈1,2,…,m,m为栏目个数,μ为第二调节因子,sim(v,u)为用户u
与用户v之间的相似度,用户v属于最近邻居集中的用户,用户u为目标用户;

计算评分采用最近邻居相似度加权平均的方法,不但能满足多样性和个性化,而且能更
充分分析用户偏好,挖掘用户潜在兴趣点。

同时,采用了μ调节因子,μ调节因子为根据经验设定的固定值。当用户点击总量过小
时出现对单一栏目点击比重过大的情况,此时可适当增加μ调节因子的值,使得评分更加准
确反应用户偏好;

步骤S105:产生推荐栏目

根据上述步骤得出的目标用户对历史栏目的评分,进行评分排名后,得到排名列表A;

根据上述步骤预测出目标用户对未推荐栏目的评分,进行评分排名后,得到排名列表B;

设定融合比例α,按融合比例α与1-α分别选取表A与表B排名靠前的栏目;生成
初始推荐栏目列表C,进行新的过滤、排名,最后,选择评分最高的TOP-N个栏目推荐给目
标用户,其中所述TOP-N为评分排名靠前的个数,其值一般根据经验设定;

对于调节融合比例α的取值先根据以往经验进行人工设定,之后根据用户对相关推荐
系统的反馈结果不断调整,以使推荐结果达到最优。例如,若用户对列表A中栏目的点击率
减小,可适当减小融合比例α的值,以使推荐结果达到最优。

本发明的有益效果如下:

1.本发明所述推荐方法设置奖励项,增加冷门栏目对用户相似度的作用。

2.本发明所述推荐方法通过用户相似度矩阵M可以减少计算量。

3.本发明所述推荐方法评分采用最近邻居相似度加权平均的方法,更加充分分析用户偏好,
挖掘用户潜在兴趣点。

4.本发明所述推荐方法能够在大量的视频栏目中快速地得到相关推荐,挖掘用户潜在兴趣
点,而且使得推荐展示更加多样性,为每个用户制定个性化推荐方案。同时,此栏目推荐方
法更易将海量视频中默默无闻的作品展现给用户,弱化长尾现象。

附图说明

图1是本发明中创建用户模型的处理流程图。

图2是本发明中建立栏目-用户倒排表的处理流程图。

图3是本发明中计算用户相似度的处理流程图。图1是本发明中创建用户模型的处理流
程图。

图4是本发明中创建最近邻居集合的处理流程图。

图5是本发明中产生推荐栏目的处理流程图。

图6是本发明实施例提供的一种栏目推荐方法的方法流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发
明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用
于限定本发明。

实施例1、

一种基于协同过滤的视频栏目推荐系统,包括:用户模型创建模块、用户相似度计算
模块、最近邻居集生成模块、栏目评分生成模块和推荐模块,其中:

所述用户模型创建模块,用于获取栏目属性信息,所述属性信息包括用户标识、
用户所操作的栏目标识以及用户对栏目的历史操作信息;

所述用户相似度计算模块,通过建立相似度矩阵M,计算目标用户与其他用户之
间的相似度sim(u,v),其中,u∈1,2,…,n;v∈1,2,…,n;

所述最近邻居集生成模块,将目标用户与其他用户的兴趣相似度进行排名,取值最
大的K个用户,得到目标用户的最近邻居集合,K的取值根据实际情况设定;

所述栏目评分生成模块,根据所述最近邻居集,获取目标用户对于栏目的预测
评分;

所述推荐模块,用于根据所述预测评分及预先获取的目标用户对于历史栏目的
评分,生成栏目推荐列表进行推荐。

实施例2、

一种如实施例1所述推荐系统的推荐方法,包括如下步骤:

步骤S101:创建用户模型

将用户对栏目的点击次数作为评分表中的评分值:用户点击过栏目中的任意一个影片即
被视为完成一次栏目点击,从用户日志文件中获取较长时间段内用户点击过的所有栏目名称
以及每个栏目点击过的次数,整理生成用户观看历史记录表;每条记录的数据格式为:{用户:
栏目1[栏目1点击次数];栏目2[栏目2点击次数];栏目5[栏目5点击次数];…;
栏目i[栏目i点击次数]};将上述记录的数据去重处理后存放在数据库A中;

步骤S102:计算用户相似度

协同过滤算法通过用户观看行为的相似程度来分析计算用户的兴趣相似度,计算公式
(1)如下:

S i m ( v , u ) = Σ i N a N b l o g ( 1 + k | N i | ) | N a | | N b | - - - ( 1 ) ]]>

式(1)中Na表示用户a曾经点击过的栏目集合,Nb表示用户b曾经点击过的栏目
集合,Ni表示对栏目i有过点击行为的用户集合,k是根据经验设定的固定值,优选的,
设置为N/5;

所述用户相似度计算方法具体包括:

根据用户观看影片的历史,建立栏目-用户的列表,每条记录的数据格式为:{栏目1:
用户a,用户b,用户d,用户f,…},{栏目2:用户b,用户c,用户e,用户f,…},…
{栏目i:用户a,用户b,用户d,用户f,…}。将这些信息整理存放在数据库B中;

对于栏目i建立一个N×N的用户相似度矩阵Mi,其中N表示总的用户个数,其中,矩
阵M的行和列分别表示用户标识,元素Mab为1表示用户a和用户b均点击过一共同栏
目标识,a∈1,2,…,n;b∈1,2,…,n,n为用户个数;对于栏目1,将Mab、Mad、Maf置为
1,用户两两组合作为矩阵Mi的行列坐标设;对于栏目2,将Mbc、Mbe、Mbf、Mce、Mcf…
设置为1,以此类推生成各个栏目矩阵Mi;

依次将矩阵Mi乘以奖励项:所述奖励项为:其中,k是根据经验设定
的固定值,优选的为N/5,Ni表示栏目i中的用户数量,将各个乘以奖励项的矩阵相加得
到最终的用户相似度矩阵M;

由于栏目展示页面的限制,展示在前面的栏目相对后排的栏目更流行,同时方便用户点
击,因此点击率往往较高。但是如果排列顺序靠后的栏目,用户对这些有一定的点击次数,
更能反应用户的兴趣点,对分析用户兴趣行为有更大的价值参考。如果两个不同用户对排列
靠后的栏目均有点击且点击过的栏目有较大的重合度,这样就认为他们兴趣相似,可以相互
的推荐栏目。两个用户多次点击过相同的冷门栏目更能说明他们兴趣的相似度,这两个用户
就可以被确定为邻居,有较好的相似性。因为排列在前的栏目相比于排列后面的栏目有天然
的优势,因此在本发明中加入奖励项|Ni|值越小,说明点击过栏目i的用户
较少,栏目i被认为是冷门节目,这样k与|Ni|的比值较大,这样对冷门栏目分配更大的
权重,通过奖励项性的设定,可以增加冷门栏目对用户相似度的作用,减少热门栏目对用户
相似度的干扰,更准确直接的反应不同用户间的相似程度。

根据矩阵M过滤掉没有点击过相同栏目的用户对,减少计算量;

根据计算出的矩阵M,再除以用户观看影片并集,得到最终的用户兴趣相似度;

步骤S103:创建最近邻居集合

将目标用户与其他用户的兴趣相似度进行排名,取值最大的K个用户,得到目标用户的
最近邻居集合N(u,K),K的取值据实际情况设定;

步骤S104:产生栏目评分

计算公式(2)如下:

P ( l , u ) = c l i c k ( l , u ) c l i c k ( . , u ) + η - - - ( 2 ) ]]>

对于已经为目标用户推荐过的栏目,根据计算公式(2)获取目标用户对于历史栏目的评
分,其中,click(.,u)为用户u的全部点击量,click(l,u)为用户u对栏目l的点击量,
l∈1,2,…,m,m为栏目个数,η为第一调节因子;

计算公式(3)如下:

P ( l , u ) = Σ v N ( u , K ) s i m ( v , u ) × c l i c k ( l , v ) Σ v N ( u , K ) c l i c k ( . , v ) + μ - - - ( 3 ) ]]>

对于目标用户没有被推荐过的栏目,根据计算公式(2)获取目标用户对未推荐栏目的评
分,其中,N(u,K)为K个最近邻居集,click(.,v)为用户v的全部点击量,click(l,v)为用户
v对栏目l的点击量,l∈1,2,…,m,m为栏目个数,μ为第二调节因子,sim(v,u)为用户u
与用户v之间的相似度,用户v属于最近邻居集中的用户,用户u为目标用户;

计算评分采用最近邻居相似度加权平均的方法,不但能满足多样性和个性化,而且能更
充分分析用户偏好,挖掘用户潜在兴趣点。

同时,采用了μ调节因子,μ调节因子为根据经验设定的固定值。当用户点击总量过小
时出现对单一栏目点击比重过大的情况,此时可适当增加μ调节因子的值,使得评分更加准
确反应用户偏好;

步骤S105:产生推荐栏目

根据上述步骤得出的目标用户对历史栏目的评分,进行评分排名后,得到排名列表A;

根据上述步骤预测出目标用户对未推荐栏目的评分,进行评分排名后,得到排名列表B;

设定融合比例α,按融合比例α与1-α分别选取表A与表B排名靠前的栏目;生成
初始推荐栏目列表C,进行新的过滤、排名,最后,选择评分最高的TOP-N个栏目推荐给目
标用户,其中所述TOP-N为评分排名靠前的个数,其值一般根据经验设定;

对于调节融合比例α的取值先根据以往经验进行人工设定,之后根据用户对相关推荐
系统的反馈结果不断调整,以使推荐结果达到最优。例如,若用户对列表A中栏目的点击率
减小,可适当减小融合比例α的值,以使推荐结果达到最优。

结合本发明的实施例的具体应用例:

步骤S101:创建用户模型

本方法将用户对栏目的点击次数作为评分表中的评分值。用户点击过栏目中的任意一
个影片即被视为完成一次栏目点击。从用户日志文件中获取较长时间段内用户点击过的所
有栏目名称以及每个栏目点击过的次数,整理生成用户观看历史记录表。具体地,如用户
1点击过栏目1,栏目2,栏目4,栏目5,次数分别是5,8,3,15,那么用户1的行为记录
表就可以是{用户1:栏目1[5];栏目2[8];栏目4[3];栏目5[15];}。这样根据多个用户的
对于栏目的操作信息可以生成多个用户行为记录表。栏目推荐系统将这些用户行为记录
表存储到数据库A中。

步骤S102:计算用户相似度

协同过滤算法主要通过用户观看行为的相似程度来分析计算用户的兴趣相似度。计算公
式(1)如下:

S i m ( v , u ) = Σ i N a N b l o g ( 1 + k | N i | ) | N a | | N b | - - - ( 1 ) ]]>

式中Na表示用户a曾经点击过的栏目集合,Nb表示用户b曾经点击过的栏目集合,
Ni表示对栏目i有过点击行为的用户集合,K是根据经验设定的固定值,一般可设置为
N/5。

进一步地,所述用户相似度计算方法具体包括:

根据用户观看影片的历史,建立栏目-用户的列表,具体地,栏目-用户倒排表表示
的是各栏目中对应的点击过该栏目的用户的集合。栏目-用户倒排表的数据格式为:
{栏目1:用户a,用户b,用户d,用户f,…},{栏目2:用户b,用户c,用户e,用户
f,…},…{栏目i:用户a,用户b,用户d,用户f,…}。如用户1,用户2,用户4,
用户5,点击过栏目1,那么栏目1的栏目-用户倒排表就是{栏目1:用户1,用户2,
用户4,用户5}。栏目推荐系统将各个栏目的栏目-用户倒排表存储在数据库B中。

对于栏目i建立一个N×N的用户相似度矩阵Mi。N表示总的用户个数。其中,矩阵M
的行和列分别表示用户标识,元素Mab为1表示用户a和用户b均点击过一共同栏目标识,
a∈1,2,…,n;b∈1,2,…,n,n为用户个数。具体地,栏目推荐装置根据各个栏目的栏目-
用户倒排表生成对应的用户相似度矩阵Mi,每个矩阵Mi对应一个栏目。如假定有n
个用户,栏目1的栏目-用户倒排表为{栏目1:用户1,用户2,用户4,用户5},
则栏目1对应的矩阵M1如表1所示。

下述的表1仅仅是对矩阵M以及矩阵M1的含义进行说明,仅仅是一种示例。U1、
U2、U3、……UN代表用户1、用户2、用户3……用户N。


表1

因为用户1,用户2,用户4和用户5分别点击过栏目1,因此,用户1,用户
2,用户4,用户5两两用户结合的元素赋值为1,得到上表。对于其他栏目对应的矩
阵M1也可按此方式生成。这样,就会生成多个栏目对应的矩阵M1。

以此类推生成各个栏目矩阵M1。

依次将矩阵Mi乘以奖励项。奖励项为:其中,k是根据经验设定的固
定值,一般可设置为N/5。Ni表示栏目i中的用户数量。将各个乘以奖励项的矩阵相加可
以得到最终的用户相似度矩阵M。如上面所说的栏目1对应的矩阵M1,因为栏目1点
击过的用户的个数为4,此时设定k为20,所以惩罚因子为log6。

由于栏目展示页面的限制,展示在前面的栏目相对后排的栏目更流行,同时方便用户点
击,因此点击率往往较高。但是如果排列顺序靠后的栏目,用户对这些有一定的点击次数,
更能反应用户的兴趣点,对分析用户兴趣行为有更大的价值参考。如果两个不同用户对排列
靠后的栏目均有点击且点击过的栏目有较大的重合度,这样就认为他们兴趣相似,可以相互
的推荐栏目。两个用户多次点击过相同的冷门栏目更能说明他们兴趣的相似度,这两个用户
就可以被确定为邻居,有较好的相似性。因为排列在前的栏目相比于排列后面的栏目有天然
的优势,因此在本发明中加入奖励项Ni值越小,说明点击过栏目i的用户
较少,栏目i被认为是冷门节目,这样k与Ni的比值较大,这样对冷门栏目分配更大的权重,
通过奖励项性的设定,可以增加冷门栏目对用户相似度的作用,减少热门栏目对用户相似度
的干扰,更准确直接的反应不同用户间的相似程度。

根据矩阵M可以过滤掉没有点击过相同栏目的用户对,减少计算量。

根据计算出的矩阵M,再除以用户观看影片并集,得到最终的用户兴趣相似度。具体
地,从用户相似度矩阵M中获取目标用户与其他用户两两结合对应的元素值,用所
述元素值除以目标用户点击栏目集合与其他用户点击栏目集合的并集的栏目个数的
平方根。

示例性的,如矩阵M中用户1和用户2结合对应的元素值为3,用户1为目标用
户,目标用户1点击栏目集合为{栏目1,栏目2,栏目5,栏目6},用户2点击栏
目集合为{栏目2,栏目3,栏目4,栏目7},那么目标用户1和用户2点击栏目集
合的并集为{栏目1,栏目2,栏目3,栏目4,栏目5,栏目6,栏目7},该并集的
栏目个数为7,那么用户1和用户2的相似度为采用这种方式,可以将目标用
户与每个其他用户之间的相似度计算出来。

步骤S103:创建最近邻居集合

将目标用户与其他用户的兴趣相似度进行排名,取值最大的K个用户,得到目标用户的
最近邻居集合N(u,K)。K的取值可根据实际情况设定。

步骤S104:产生栏目评分

计算公式(2)如下:

P ( l , u ) = c l i c k ( l , u ) c l i c k ( . , u ) + η - - - ( 2 ) ]]>

对于已经为目标用户推荐过的栏目,根据计算公式(2)获取目标用户对于历史栏目的评
分,其中,click(.,u)为用户u的全部点击量,click(l,u)为用户u对栏目l的点击量,
l∈1,2,…,m,m为栏目个数,η为第一调节因子。

计算公式(3)如下:

P ( l , u ) = Σ v N ( u , K ) s i m ( v , u ) × c l i c k ( l , v ) Σ v N ( u , K ) c l i c k ( . , v ) + μ - - - ( 3 ) ]]>

对于目标用户没有被推荐过的栏目,根据计算公式(2)获取目标用户对未推荐栏目的评
分,其中,N(u,K)为K个最近邻居集,click(.,v)为用户v的全部点击量,click(l,v)为用户
v对栏目l的点击量,l∈1,2,…,m,m为栏目个数,μ为第二调节因子,sim(v,u)为用户u
与用户v之间的相似度,用户v属于最近邻居集中的用户,用户u为目标用户。

计算评分采用最近邻居相似度加权平均的方法,不但能满足多样性和个性化,而且能更
充分分析用户偏好,挖掘用户潜在兴趣点。

同时,采用了μ调节因子,μ调节因子为根据经验设定的固定值。当用户点击总量过小
时出现对单一栏目点击比重过大的情况,此时可适当增加μ调节因子的值,使得评分更加准
确反应用户偏好。

步骤S105:产生推荐栏目

根据上述方法得出的目标用户对历史栏目的评分,进行评分排名后,得到排名列表A。

根据上述方法预测出目标用户对未推荐栏目的评分,进行评分排名后,得到排名列表B。

设定融合比例α,按融合比例α与1-α分别选取表A与表B排名靠前的栏目。生成
初始推荐栏目列表C,进行新的过滤、排名。最后,选择评分最高的TOP-N(TOP-N为评分排
名靠前的个数,其值一般根据经验设定,例如此处可取值为12)个栏目推荐给目标用户。

对于调节因子α的取值可以先根据以往经验进行人工设定。之后根据用户对相关推荐
系统的反馈结果不断调整。例如,若用户对列表A中栏目的点击率减小,可适当减小融合比
例α的值,以使推荐结果达到最优。

一种基于协同过滤的视频栏目推荐系统及推荐方法.pdf_第1页
第1页 / 共16页
一种基于协同过滤的视频栏目推荐系统及推荐方法.pdf_第2页
第2页 / 共16页
一种基于协同过滤的视频栏目推荐系统及推荐方法.pdf_第3页
第3页 / 共16页
点击查看更多>>
资源描述

《一种基于协同过滤的视频栏目推荐系统及推荐方法.pdf》由会员分享,可在线阅读,更多相关《一种基于协同过滤的视频栏目推荐系统及推荐方法.pdf(16页珍藏版)》请在专利查询网上搜索。

一种基于协同过滤的视频栏目推荐系统,包括:用户模型创建模块、用户相似度计算模块、最近邻居集生成模块、栏目评分生成模块和推荐模块。本发明所述推荐方法设置奖励项,增加冷门栏目对用户相似度的作用。本发明所述推荐方法通过用户相似度矩阵M可以减少计算量。本发明所述推荐方法评分采用最近邻居相似度加权平均的方法,更加充分分析用户偏好,挖掘用户潜在兴趣点。。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1