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

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

Info

Publication number
CN105404700B
CN105404700B CN201511028409.5A CN201511028409A CN105404700B CN 105404700 B CN105404700 B CN 105404700B CN 201511028409 A CN201511028409 A CN 201511028409A CN 105404700 B CN105404700 B CN 105404700B
Authority
CN
China
Prior art keywords
user
column
similarity
scoring
click
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201511028409.5A
Other languages
English (en)
Other versions
CN105404700A (zh
Inventor
许宏吉
许征征
刘琚
元辉
李文强
党娟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong University
Original Assignee
Shandong University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shandong University filed Critical Shandong University
Priority to CN201511028409.5A priority Critical patent/CN105404700B/zh
Publication of CN105404700A publication Critical patent/CN105404700A/zh
Application granted granted Critical
Publication of CN105404700B publication Critical patent/CN105404700B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/73Querying
    • G06F16/735Filtering based on additional data, e.g. user or group profiles

Abstract

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

Description

一种基于协同过滤的视频栏目推荐系统及推荐方法
技术领域
本发明涉及一种基于协同过滤的视频栏目推荐系统及推荐方法,属于智能电视推荐系统的技术领域。
背景技术
随着互联网时代和大数据时代的到来,智能互联网电视的迅猛发展,人们观看的电视节目也不仅仅局限于直播电视节目,通过互联网,电视用户可以根据自己的兴趣更方便快捷的选择更多最新的节目或者热门影片。电影数量级的迅速增长带来的信息过载问题,给用户带来很多困扰,让用户无法准确高效地获得自己感兴趣的影片。互联网规模的迅速增长带来了信息超载的问题,过量信息同时呈现使得用户无法很便捷快速地获取对自己感兴趣的部分,使信息使用效率降低。现在的互联网应用中,越来越多智能的推荐系统被开发出来并获得广大用户的信赖和使用。
对于目前常见的情况,当用户打开电视,进入推荐展示界面时,会看到展示页面的栏目列表。具有相同属性的影片被归为同一个栏目(比如综艺节目、日韩影片、武侠电影、文艺电影、动作电影),展示页面为用户展示若干栏目。生成展示栏目的依据一般是根据影片的热门程度和以往人工设定的固定栏目经验,向每名用户展示相同栏目,而不是根据用户兴趣向用户进行个性化推荐。
目前的视频推荐技术都是以推荐单个视频为主,但这些技术不太适用于栏目推荐。首先,视频推荐一般都是依靠用户看过的视频来向其推荐没有看过的视频,但是在栏目推荐中不可能把看过的栏目不再推荐,相反,一般而言看的越多的栏目越着重推荐。其次,每个栏目都有很多视频组成,栏目间的关系相比于视频间的关系更为复杂,相似度计算更加难以把握。
发明内容
针对现有技术的不足,本发明公开了一种基于协同过滤的视频栏目推荐系统。
本发明还公开一种上述推荐系统的推荐方法。
本发明的技术方案为:
一种基于协同过滤的视频栏目推荐系统,包括:用户模型创建模块、用户相似度计算模块、最近邻居集生成模块、栏目评分生成模块和推荐模块,其中:
所述用户模型创建模块,用于获取栏目属性信息,所述属性信息包括用户标识、用户所操作的栏目标识以及用户对栏目的历史操作信息;
所述用户相似度计算模块,通过建立相似度矩阵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)如下:
式(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)如下:
对于已经为目标用户推荐过的栏目,根据计算公式(2)获取目标用户对于历史栏目的评分,其中,click(.,u)为用户u的全部点击量,click(l,u)为用户u对栏目l的点击量,l∈1,2,…,m,m为栏目个数,η为第一调节因子;
计算公式(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)如下:
式(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)如下:
对于已经为目标用户推荐过的栏目,根据计算公式(2)获取目标用户对于历史栏目的评分,其中,click(.,u)为用户u的全部点击量,click(l,u)为用户u对栏目l的点击量,l∈1,2,…,m,m为栏目个数,η为第一调节因子;
计算公式(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)如下:
式中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)如下:
对于已经为目标用户推荐过的栏目,根据计算公式(2)获取目标用户对于历史栏目的评分,其中,click(.,u)为用户u的全部点击量,click(l,u)为用户u对栏目l的点击量,l∈1,2,…,m,m为栏目个数,η为第一调节因子。
计算公式(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中栏目的点击率减小,可适当减小融合比例α的值,以使推荐结果达到最优。

Claims (1)

1.一种基于协同过滤的视频栏目推荐系统,其特征在于,该推荐系统包括:用户模型创建模块、用户相似度计算模块、最近邻居集生成模块、栏目评分生成模块和推荐模块,其中:
所述用户模型创建模块,用于获取栏目属性信息,所述属性信息包括用户标识、用户所操作的栏目标识以及用户对栏目的历史操作信息;
所述用户相似度计算模块,通过建立相似度矩阵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)如下:
公式(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
依次将矩阵Mi乘以奖励项:所述奖励项为:其中,k是根据经验设定的固定值为N/5,Ni表示对栏目i有过点击行为的用户集合,将各个乘以奖励项的矩阵相加得到最终的用户相似度矩阵M;
根据矩阵M过滤掉没有点击过相同栏目的用户对,减少计算量;
根据计算出的矩阵M,再除以用户观看影片并集,得到最终的用户兴趣相似度;
步骤S103:创建最近邻居集合
将目标用户与其他用户的兴趣相似度进行排名,取值最大的K个用户,得到目标用户的最近邻居集合N(u,K),K的取值据实际情况设定;
步骤S104:产生栏目评分
计算公式(2)如下:
对于已经为目标用户推荐过的栏目,根据计算公式(2)获取目标用户对于历史栏目的评分,其中,click(.,u)为用户u的全部点击量,click(l,u)为用户u对栏目l的点击量,l∈1,2,…,m,m为栏目个数,η为第一调节因子;
计算公式(3)如下:
对于目标用户没有被推荐过的栏目,根据计算公式(3)获取目标用户对未推荐栏目的评分,其中,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个栏目推荐给目标用户;
对于调节融合比例α的取值先根据以往经验进行人工设定,之后根据用户对相关推荐系统的反馈结果不断调整,以使推荐结果达到最优。
CN201511028409.5A 2015-12-30 2015-12-30 一种基于协同过滤的视频栏目推荐系统及推荐方法 Active CN105404700B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201511028409.5A CN105404700B (zh) 2015-12-30 2015-12-30 一种基于协同过滤的视频栏目推荐系统及推荐方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201511028409.5A CN105404700B (zh) 2015-12-30 2015-12-30 一种基于协同过滤的视频栏目推荐系统及推荐方法

Publications (2)

Publication Number Publication Date
CN105404700A CN105404700A (zh) 2016-03-16
CN105404700B true CN105404700B (zh) 2019-04-16

Family

ID=55470189

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201511028409.5A Active CN105404700B (zh) 2015-12-30 2015-12-30 一种基于协同过滤的视频栏目推荐系统及推荐方法

Country Status (1)

Country Link
CN (1) CN105404700B (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105843864A (zh) * 2016-03-17 2016-08-10 合网络技术(北京)有限公司 消息推送方法和装置
CN106021298B (zh) * 2016-05-03 2019-05-28 广东工业大学 一种基于非对称加权相似度的协同过滤推荐方法及系统
CN106096029B (zh) * 2016-06-27 2020-01-14 四川大学 一种基于用户双向关系的推荐方法
CN107016589B (zh) * 2016-08-10 2020-10-30 创新先进技术有限公司 推荐产品的确定方法及装置
CN106294800A (zh) * 2016-08-16 2017-01-04 武汉斗鱼网络科技有限公司 基于加权k近邻评分的直播间推荐方法及系统
CN106649733B (zh) * 2016-12-23 2020-04-10 中山大学 一种基于无线接入点情境分类与感知的在线视频推荐方法
CN107368584B (zh) * 2017-07-21 2020-07-03 山东大学 一种个性化视频推荐方法及系统
CN107277570B (zh) * 2017-08-18 2019-11-05 四川长虹电器股份有限公司 一种改善电视终端推荐系统推荐效果的方法
CN107798095A (zh) * 2017-10-25 2018-03-13 星潮闪耀移动网络科技(中国)有限公司 更新网页中栏目的输出顺序的方法、装置和系统
CN108243357A (zh) * 2018-01-25 2018-07-03 北京搜狐新媒体信息技术有限公司 一种视频推荐方法及装置
CN108366275B (zh) 2018-01-26 2021-04-27 北京一览科技有限公司 提供视频流的方法和装置
CN108664564B (zh) * 2018-04-13 2021-12-21 东华大学 一种基于物品内容特征的改进协同过滤推荐方法
CN109271592B (zh) * 2018-09-30 2021-02-23 东软集团股份有限公司 一种物品推荐方法、装置、存储介质及程序产品
CN109376301A (zh) * 2018-10-09 2019-02-22 新乡学院 一种融合社交信息的个性化推荐方法
CN109543111B (zh) * 2018-11-28 2021-09-21 广州虎牙信息科技有限公司 推荐信息筛选方法、装置、存储介质及服务器
CN109902116B (zh) * 2019-01-29 2023-05-09 合肥工业大学 一种生态设计知识主动推送系统和方法
CN110096614B (zh) * 2019-04-12 2022-09-20 腾讯科技(深圳)有限公司 信息推荐方法及装置、电子设备
CN110674344B (zh) * 2019-08-28 2022-03-08 北京爱奇艺智慧娱乐科技有限公司 生成模型及推荐影片的方法、装置、设备及存储介质
CN111026977B (zh) * 2019-12-17 2022-04-08 腾讯科技(深圳)有限公司 信息推荐方法、装置及存储介质
CN111191178A (zh) * 2019-12-30 2020-05-22 广州市百果园网络科技有限公司 一种信息推送方法、装置、服务器和存储介质
CN111486345B (zh) * 2020-03-10 2021-08-24 安徽科杰粮保仓储设备有限公司 一种粮库地下管网液体泄漏在线监测预警方法及装置
CN113312471B (zh) * 2021-07-30 2021-11-09 南京铉盈网络科技有限公司 一种基于协同过滤推荐算法用于案例推荐的方法与系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103209342A (zh) * 2013-04-01 2013-07-17 电子科技大学 一种引入视频流行度和用户兴趣变化的协作过滤推荐方法
CN104391925A (zh) * 2014-11-20 2015-03-04 四川长虹电器股份有限公司 一种基于tv用户协同预测的视频推荐方法及系统
CN105095442A (zh) * 2015-07-23 2015-11-25 海信集团有限公司 一种多媒体数据的推荐方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101685458B (zh) * 2008-09-27 2012-09-19 华为技术有限公司 一种基于协同过滤的推荐方法和系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103209342A (zh) * 2013-04-01 2013-07-17 电子科技大学 一种引入视频流行度和用户兴趣变化的协作过滤推荐方法
CN104391925A (zh) * 2014-11-20 2015-03-04 四川长虹电器股份有限公司 一种基于tv用户协同预测的视频推荐方法及系统
CN105095442A (zh) * 2015-07-23 2015-11-25 海信集团有限公司 一种多媒体数据的推荐方法及装置

Also Published As

Publication number Publication date
CN105404700A (zh) 2016-03-16

Similar Documents

Publication Publication Date Title
CN105404700B (zh) 一种基于协同过滤的视频栏目推荐系统及推荐方法
CN101828393B (zh) 基于媒体的推荐
US8555173B2 (en) Recommendation engine
US9264769B2 (en) User viewing data collection for generating media viewing achievements
US8893012B1 (en) Visual indicator based on relative rating of content item
CN102630052B (zh) 面向实时流的电视节目推荐系统
CN104991966B (zh) 媒体内容排序方法及系统
CN105659206A (zh) 基于用户动作来为内容分享平台生成播放列表
CN103136275A (zh) 个性化视频推荐系统及方法
CN105574198B (zh) 一种栏目推荐方法及装置
JP6170023B2 (ja) コンテンツ推薦装置、コンテンツ推薦方法及びコンテンツ推薦プログラム
CN106131703A (zh) 一种视频推荐的方法和终端
CN101764661A (zh) 基于数据融合的视频节目推荐系统
CN103136280A (zh) 热点视频自动挖掘系统及方法
CN105744370A (zh) 基于群体收视行为的广播电视系统及其个性节目推荐方法
CN106792172A (zh) 一种互联网电视个性化推荐视频的方法
CN105718510B (zh) 一种多媒体数据推荐方法及装置
JP2016024792A (ja) 情報処理装置、制御方法、およびプログラム
CN115168433A (zh) 生成上下文搜索呈现
CN104216883A (zh) 视频推荐理由生成系统及方法
CN106201246A (zh) 页面布局处理方法及装置
CN104699696A (zh) 文件推荐方法和装置
JP2014200007A (ja) 推薦プログラム、推薦情報受信プログラム、推薦方法、推薦情報受信方法及び推薦装置
CN103873945A (zh) 与视频节目中对象进行社交的系统、方法
CN104094539A (zh) 用于媒体广播同步交互式层的系统和方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
CB03 Change of inventor or designer information

Inventor after: Xu Hongji

Inventor after: Xu Zhengzheng

Inventor after: Liu Ju

Inventor after: Yuan Hui

Inventor after: Li Wenqiang

Inventor after: Dang Juan

Inventor before: Xu Hongji

Inventor before: Li Wenqiang

Inventor before: Ji Mingyang

Inventor before: Xu Zhengzheng

Inventor before: Li Shi

Inventor before: Cao Haibo

COR Change of bibliographic data
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant