买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种基于MCL-HCF算法的电视节目混合推荐方法_重庆第二师范学院_201910061207.2 

申请/专利权人:重庆第二师范学院

申请日:2019-01-23

公开(公告)日:2023-09-29

公开(公告)号:CN109862431B

主分类号:H04N21/466

分类号:H04N21/466;H04N21/45;G06F16/9536;G06F16/735

优先权:

专利状态码:有效-授权

法律状态:2023.09.29#授权;2019.07.02#实质审查的生效;2019.06.07#公开

摘要:本发明属于电视节目推荐技术领域,公开了一种基于MCL‑HCF算法的电视节目混合推荐方法,首先,采用马尔可夫聚类对各个时间段的电视用户进行聚类,产生不同的群组,追求每个群组里的成员和群主整体的偏好差异最小化,再以群组为单位进行电视节目推荐;然后,使用基于物品的协同过滤和基于用户的协同过滤算法分别产生推荐列表;最后,为推荐结果惊喜度和相关性的平衡,对两个推荐列表使用了加权方式进行混合,得到最终的混合推荐结果。本发明降低群组内用户和整个群组之间的偏好差异性;加权混合ItemCF‑IUF和UserCF‑IIF两种推荐算法的结果,解决推荐结果的惊喜度和相关性的矛盾问题;在保持推荐精确度的同时,使推荐节目的惊喜度和相关性达到平衡。

主权项:1.一种基于MCL-HCF算法的电视节目混合推荐方法,其特征在于,所述基于MCL-HCF算法的电视节目混合推荐方法首先,采用马尔可夫聚类对各个时间段的电视用户进行聚类,产生不同的群组,追求每个群组里的成员和群主整体的偏好差异最小化,再以群组为单位进行电视节目推荐;然后,使用基于物品的协同过滤和基于用户的协同过滤算法分别产生推荐列表;最后,为实现推荐结果惊喜度和相关性的平衡,对两个推荐列表使用加权方式进行混合,得到最终的混合推荐结果;建立相似用户的群组,单个家庭由多个家庭成员组成,在某一个时间段St时,某些成员对节目Pi感兴趣,成员将在这个时间段构成一个新的群组Ub;在其他的时间段集合,同样对应着其他的群组,并且从聚类的结果来看,一个家庭里的不同成员可以被划分到多个群组中;1建立同一时段的邻接矩阵,筛选出在同一时间段内观看节目的用户,当两个用户同时观看了同一个节目时,其邻接矩阵对应元素加上1,邻接矩阵: 2消除奇偶性依赖,在对图的状态转移矩阵进行处理之前,为每个顶点增加自循环,即矩阵对角线的值置为1,得到改进的邻接矩阵: 3利用改进的邻接矩阵,计算得到概率矩阵P; 其中,B'ij∈B'表示位于改进的邻接矩阵B'的第i行,第j列的元素,Np表示该时段观看节目的总用户数,得到概率矩阵如下所示: 4对概率矩阵进行扩展和膨胀交替操作,首先执行的是扩展操作,扩展操作是使概率矩阵自乘e次,让流对象扩展到图的不同区域,其指数e的大小决定游走区域的大小:P=Pe;然后,对概率矩阵P进行膨胀操作,参数r影响聚簇的粒度,具体计算公式如下: 其中,ΓrP表示膨胀操作,pij∈P表示位于P的第i行,第j列的元素;5聚类过程优化,设置一个阈值θ,概率矩阵经过扩展膨胀操作后,遍历所有pij,当pij≤θ时,令pij=0;混合推荐定义公式表示推荐节目的惊喜度: 其中,Ps表示推荐的惊喜度,NG表示群组总数,PLEAi表示第i个群组的推荐分类中排名最低的分类节目总数,GEN表示推荐总数;为用户推荐节目与用户观看过的节目间的相关程度,即两个节目是否属于同一类,定义如下公式表示推荐节目的相关性: 其中,Co表示推荐结果的相关性,NG表示群组总数,RECi表示第i个群组的推荐结果中每一个节目所属类别总数的集合,GEN表示推荐总数。

全文数据:一种基于MCL-HCF算法的电视节目混合推荐方法技术领域本发明属于电视节目推荐技术领域,尤其涉及一种基于MCL-HCF算法的电视节目混合推荐方法。背景技术目前,业内常用的现有技术是这样的:自从电视诞生以来,观看电视节目一直都是人类精神生活中的重要组成部分。如今,由于计算机技术和网络技术的飞速发展,人们越来越习惯于在互联网平台上观看视频节目,这也对传统广播电视运营商带来了冲击。对于广播电视运营商而言,客户的流失虽然为其带来了许多挑战,但也带来了新的机遇。现在,付费频道是广播电视的主要业务,也是收入的重要来源。现有技术存在的问题是:在推荐阶段,传统的基于物品的协同过滤和基于用户的协同过滤没有考虑到用户活跃度和物品受众程度对相似度计算的影响,影响最终的推荐效果。具体而言,对于基于物品的协同过滤,活跃的用户相比不活跃的用户,对节目之间相似度的贡献更小,如果不对相似度进行修正,则推荐结果将会趋向于活跃用户的偏好,而忽略不活跃用户的需求;对于基于用户的协同过滤,受众程度高的节目,相对于受众程度低的节目而言,其对用户相似度的贡献更小,如果不对相似度进行修正,则推荐的结果将偏向于热门节目推荐,不能完全反映出用户的真实偏好情况比如对某些冷门节目的偏好。ItemCF-IUF给用户推荐的是相似物品,所以其推荐的节目的惊喜度比较低。UserCF-IIF因为是根据用户相似度来推荐的,推荐结果的相关性比较弱。单独使用以上两种算法得到的推荐结果,只能在推荐结果的惊喜度或者相关性上追求单一的偏向,而如果一种算法能够在惊喜度和相关性之间找到合适的平衡点,这将提升推荐系统的用户体验—即推荐结果在遵循用户历史偏好的前提下,能够提升用户的观看兴趣,这也能够提升推荐结果的转化率。如果广播运营商可以准确的知道每个用户的收视偏好,为其推荐相似的电视节目,从而挖掘潜在的付费用户,那么广播电视的竞争力就能得到显著提高。另一方面,大量数据的产生、推荐算法和数据挖掘等技术的出现,为广播电视运营商实现精准推荐提供了技术支持。所以,研究个性化的电视节目推荐方法存在着重要意义。综上所述,现有技术存在的问题是:在推荐阶段,传统的基于物品的协同过滤和基于用户的协同过滤没有考虑到用户活跃度和物品受众程度对相似度计算的影响,影响最终的推荐效果;ItemCF-IUF给用户推荐的是相似物品,所以其推荐的节目的惊喜度比较低;UserCF-IIF因为是根据用户相似度来推荐的,推荐结果的相关性比较弱。解决上述技术问题的难度和意义:如果广播运营商可以准确的知道每个用户的收视偏好,为其推荐相似的电视节目,从而挖掘潜在的付费用户,那么广播电视的竞争力就能得到显著提高。另一方面,大量数据的产生、推荐算法和数据挖掘等技术的出现,为广播电视运营商实现精准推荐提供了技术支持。所以,研究个性化的电视节目推荐方法存在着重要意义。发明内容针对现有技术存在的问题,本发明提供了一种基于MCL-HCF算法的电视节目混合推荐方法。本发明是这样实现的,一种基于MCL-HCF算法的电视节目混合推荐方法,所述基于MCL-HCF算法的电视节目混合推荐方法首先,采用马尔可夫聚类对各个时间段的电视用户进行聚类,产生不同的群组,追求每个群组里的成员和群主整体的偏好差异最小化,再以群组为单位进行电视节目推荐;然后,使用基于物品的协同过滤和基于用户的协同过滤算法分别产生推荐列表;最后,为推荐结果惊喜度和相关性的平衡,对两个推荐列表使用了加权方式进行混合,得到最终的混合推荐结果。进一步,建立相似用户的群组,单个家庭由多个家庭成员组成,在某一个时间段St时,某些成员对节目Pi感兴趣,成员将在这个时间段构成一个新的群组Ub;在其他的时间段集合,同样对应着其他的群组,并且从聚类的结果来看,一个家庭里的不同成员可以被划分到多个群组中;1建立同一时段的邻接矩阵,筛选出在同一时间段内观看节目的用户,当两个用户同时观看了同一个节目时,其邻接矩阵对应元素加上1,邻接矩阵:2消除奇偶性依赖,在对图的状态转移矩阵进行处理之前,为每个顶点增加自循环,即矩阵对角线的值置为1,得到改进的邻接矩阵:3利用改进的邻接矩阵,计算得到概率矩阵P;其中,B'ij∈B'表示位于改进的邻接矩阵B'的第i行,第j列的元素,Np表示该时段观看节目的总用户数,得到概率矩阵如下所示:4对概率矩阵进行扩展和膨胀交替操作,首先执行的是扩展操作,扩展操作是使概率矩阵自乘e次,让流对象扩展到图的不同区域,其指数e的大小决定游走区域的大小:P=Pe;然后,对概率矩阵P进行膨胀操作,参数r影响聚簇的粒度,具体计算公式如下:其中,ΓrP表示膨胀操作,pij∈P表示位于P的第i行,第j列的元素;5聚类过程优化,设置一个阈值θ,概率矩阵经过扩展膨胀操作后,遍历所有pij,当pij≤θ时,令pij=0。进一步,基于物品的协同过滤方法包括:1数据预处理1将群组内所有用户的观看记录合并;2除噪,删去观看时间低于5分钟的记录;3分组,将每个时间段的用户分组;4评分计算,计算各个群组对每个节目的评分;利用各个群组观看每个节目的时长、次数、付费金额经过加权融合得到加权总频率,并以此作为群组对节目评分的量化,得到评分矩阵D,计算公式如下:其中,Dij表示第i个群组对第j个节目的评分,a1、a2、a3分别表示观看时长、次数、金额的权重,tij、fij、dij分别表示第i个群组观看第j个节目的时长、次数、金额;2计算节目相似度矩阵,加入了IUF参数修正相似度的计算,计算公式如下:其中,KIUF表示IUF参数,Nu表示用户u喜欢的节目总数,Nu越大表示该用户的活跃度越高,其对节目相似度的贡献越小;节目相似度矩阵的计算公式如下:其中,Wij表示节目i与节目j的相似度,Ni表示喜欢节目i的用户数,Nj表示喜欢节目j的用户数;3将ItemCF-IUF的相似度矩阵按最大值归一化,计算公式如下:4计算群组u对一个节目j的兴趣度:其中,Iuj表示群组u对节目j的兴趣度,表示群组u喜欢的节目集合,Si,k表示和节目i相似度最高的k个节目的集合,W′ji表示节目j和i的相似度,Dui表示群组u对节目i的评分;Iuj越大,表示此群组对这个节目的兴趣度越高。进一步,基于用户的协同过滤方法包括:1计算用户相似度矩阵,在相似度计算过程里引入IIF参数,用于对热门节目进行惩罚,IIF参数的计算公式如下:其中,KIIF表示IIF参数,Ni表示喜欢看i节目的群组个数,Ni越大表示这个节目的受众程度越高,其对用户相似度的贡献就越小;用户相似度矩阵计算公式:其中,Wuv表示用户u与用户v的相似度,Nu表示用户u喜欢的节目集合,Nv表示用户v喜欢的节目集合;2对用户相似度进行归一化,计算公式如下:3通过MCL聚类,将聚在一类的用户看作一个群组,对群组进行推荐;在UserCF-IIF算法中,通过如下公式计算群组u对节目i的兴趣度:其中,Iui表示群组u对节目i的兴趣度,表示看过节目i的群组集合,Su,K表示与用户u相似度最高的K个用户的集合,W′uv表示用户u与用户v的相似度,Dvi表示用户v对节目i的评分;Iui越大,表示此群组对这个节目的兴趣度越高。进一步,混合推荐定义公式表示推荐节目的惊喜度:其中,Ps表示推荐的惊喜度,NG表示群组总数,PLEAi表示第i个群组的推荐分类中排名最低的分类节目总数,GEN表示推荐总数;为用户推荐节目与用户观看过的节目间的相关程度,即两个节目是否属于同一类,定义如下公式表示推荐节目的相关性:其中,Co表示推荐结果的相关性,NG表示群组总数,RECi表示第i个群组的推荐结果中每一个节目所属类别总数的集合,GEN表示推荐总数。本发明的另一目的在于提供一种应用任意一项所述基于MCL-HCF算法的电视节目混合推荐方法的电视节目推荐平台。综上所述,本发明的优点及积极效果为:本发明为家庭用户在不同时间段进行电视节目的个性化推荐;使用马尔可夫聚类算法对各个时间段内的用户进行聚类,降低群组内用户和整个群组之间的偏好差异性;加权混合ItemCF-IUF和UserCF-IIF两种推荐算法的结果,解决推荐结果的惊喜度和相关性的矛盾问题;在保持推荐精确度的同时,使推荐节目的惊喜度和相关性达到平衡。对概率矩阵进行膨胀操作增强聚簇节点内部的关联,弱化非聚簇节点之间的关联,增大当前大概率,减小当前小概率;聚类过程中设置阈值,减小算法的迭代次数,过滤掉矩阵内部的噪声,加快MCL聚类过程;对用户相似度进行归一化,提高推荐精确度;混合ItemCF-IUF和UserCF-IIF两种推荐算法的结果有利于发挥不同推荐方法的优点,消除各自的缺点。附图说明图1是本发明实施例提供的基于MCL-HCF算法的电视节目混合推荐方法流程图。图2是本发明实施例提供的分时段用户群组示例图。图3是本发明实施例提供的不同M:N取值下的推荐结果惊喜度。图4是本发明实施例提供的不同M:N取值下的推荐相关性示意图。图5是本发明实施例提供的迭代次数随参数变化趋势图。图6是本发明实施例提供的MAEG指标随参数变化趋势图。图7是本发明实施例提供的精确度对比图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。针对现有技术没有考虑到用户活跃度和物品受众程度对相似度计算的影响,影响最终的推荐效果;推荐的节目的惊喜度比较低;推荐结果的相关性比较弱的问题。本发明为家庭用户在不同时间段进行电视节目的个性化推荐;使用马尔可夫聚类算法对各个时间段内的用户进行聚类,降低群组内用户和整个群组之间的偏好差异性。下面结合附图对本发明的应用原理作详细的描述。如图1所示,本发明实施例提供的基于MCL-HCF算法的电视节目混合推荐方法包括以下步骤:S101:使用MCL聚类算法对各个时间段内的用户进行聚类,建立多个相似用户的群组;S102:以不同群组为单位进行推荐;S103:使用IUF和IIF参数修正基于物品的协同过滤算法及基于用户的协同过滤算法的计算,得到修正后的协同过滤算法:ItemCF-IUF和UserCF-IIF;S104:加权混合ItemCF-IUF和UserCF-IIF两种推荐算法的结果。下面结合附图对本发明的应用原理作进一步的描述。1MCL-HCF:基于马尔可夫聚类与混合协同过滤的推荐算法MCL-HCF算法是结合了马尔可夫聚类与混合协同过滤的推荐算法。首先,MCL-HCF利用马尔可夫聚类算法找出在各个时间段内具有相似偏好的用户,然后将其看作一个群组,重新定义这个群组的观看信息,最后再通过混合协同过滤算法来获得最终的推荐结果,达到推荐惊喜度和相关性的平衡。1.1建立相似用户的群组一个家庭里多个成员的电视节目观看模式为:单个家庭由多个家庭成员组成,在某一个时间段St时,某些成员对节目Pi感兴趣,那么,这些成员将在这个时间段构成一个新的群组Ub。同理,在其他的时间段集合,同样对应着其他的群组,并且从聚类的结果来看,一个家庭里的不同成员可以被划分到多个群组中,如图2所示:例如,用户1、用户2、用户3都在时段1观看了节目1,所以将他们归为群组1;用户1、用户2在时段2观看了节目2,那么将他们归为群组2;用户3、用户4在时段3观看了节目3,那么将他们归为群组3。由此可以看出同一个用户,在不同时段,被归为了不同的群组。本发明使用MCL聚类算法来建立各个时间段内的群组。MCL是一种基于图的聚类算法,其通过多次扩展和膨胀操作,使得最后聚族达到稳定状态。1.1.1建立同一时段的邻接矩阵本发明筛选出在同一时间段内观看节目的用户,当两个用户同时观看了同一个节目时,其邻接矩阵对应元素加上1。由此可建立如下所示的邻接矩阵:1.1.2消除奇偶性依赖基于图的MCL算法的核心操作之一是扩展操作。扩展操作模拟流对象在图上的随机游走行为。流对象在具有某些特定结构的图上执行随机游走时,会产生“奇偶性依赖”效应。为了解决扩展操作所产生的这种效应,需要在对图的状态转移矩阵进行处理之前,为每个顶点增加自循环,即矩阵对角线的值置为1,得到如下所示改进的邻接矩阵:1.1.3标准化概率矩阵利用改进的邻接矩阵,本发明可以使用公式1来计算得到概率矩阵P。其中,B'ij∈B'表示位于改进的邻接矩阵B'的第i行,第j列的元素,Np表示该时段观看节目的总用户数。通过公式1得到概率矩阵如下所示:1.1.4对概率矩阵进行扩展和膨胀交替操作首先执行的是扩展操作。如公式2所示,扩展操作是使概率矩阵自乘e次,让流对象扩展到图的不同区域,其指数e的大小决定游走区域的大小:P=Pe2然后,对概率矩阵P进行膨胀操作,膨胀操作的作用是增强聚簇节点内部的关联,弱化非聚簇节点之间的关联,即增大当前大概率,减小当前小概率。膨胀操作在作用于概率矩阵时,其参数r将会决定这种作用的强度,进而影响聚簇的粒度。其具体计算公式如下:其中,ΓrP表示膨胀操作,pij∈P表示位于P的第i行,第j列的元素。1.1.5聚类过程优化为减小算法的迭代次数,加快MCL聚类过程,本发明为其设置了一个阈值θ。概率矩阵经过扩展膨胀操作后,遍历所有pij,当pij≤θ时,令pij=0。这样的操作可以有效地过滤掉矩阵内部的噪声并加快MCL聚类过程的收敛速度。对于θ和r的参数选择见实验结果分析。1.2基于混合协同过滤的电视节目推荐协同过滤推荐算法可以分为两大类:基于物品的协同过滤算法item-basedcollaborativefiltering,Item-CF、基于用户的协同过滤算法user-basedcollaborativefiltering,UserCF。在此基础上,本发明分别引入IUF参数和IIF参数来修正两种算法。1.2.1基于物品的协同过滤ItemCF-IUF算法的主要步骤如下:Step1:通过电视节目的历史播放信息,建立电视节目的相似度矩阵;Step2:根据用户的历史观看行为,为该用户推荐与其观看历史相似的节目。在进行推荐之前,本发明先对数据进行预处理。1数据预处理1数据合并。将群组内所有用户的观看记录合并在一起,以便计算群组的偏好。以下涉及的用户的各个指标全部是以群组为单位进行计算。2除噪。删去观看时间低于5分钟的记录。3分组。将每个时间段的用户分组。本发明共分为5个时间段,如表1所示:表1观看时间段4评分计算。计算各个群组对每个节目的评分。由于一般的广播电视很少会有评分系统,所以,本发明利用各个群组观看每个节目的时长、次数、付费金额经过加权融合得到加权总频率,并以此作为群组对节目评分的量化,得到评分矩阵D。其计算公式如下:其中,Dij表示第i个群组对第j个节目的评分,a1、a2、a3分别表示观看时长、次数、金额的权重,tij、fij、dij分别表示第i个群组观看第j个节目的时长、次数、金额。在本发明实验中,取a1=1、a2=1、a3=2。2计算节目相似度矩阵考虑到用户活跃度对节目相似度的影响,即活跃的用户相比不活跃的用户,对节目之间相似度的贡献更小。例如,一个喜欢多个节目的人,比一个只喜欢Ti节目的人,对Ti节目的相似度贡献较小,所以本发明加入了IUF参数来修正相似度的计算。其计算公式如下:其中,KIUF表示IUF参数,Nu表示用户u喜欢的节目总数,Nu越大表示该用户的活跃度越高,其对节目相似度的贡献越小。所以,节目相似度矩阵的计算公式如下:其中,Wij表示节目i与节目j的相似度,Ni表示喜欢节目i的用户数,Nj表示喜欢节目j的用户数。3节目相似度归一化为了提高推荐的准确度,本发明将ItemCF-IUF的相似度矩阵按最大值归一化。其计算公式如下:4基于兴趣度生成推荐列表在评分矩阵D中,找到各个群组观看历史记录里评分最高的节目,再按照与该节目兴趣度的差异大小来进行排序,生成其他节目的推荐列表,推荐给这一群组里的用户。在ItemCF-IUF算法中,通过如下公式计算群组u对一个节目j的兴趣度:其中,Iuj表示群组u对节目j的兴趣度,表示群组u喜欢的节目集合,Si,k表示和节目i相似度最高的k个节目的集合,W′ji表示节目j和i的相似度,Dui表示群组u对节目i的评分。Iuj越大,表示此群组对这个节目的兴趣度越高,因此可以将推荐列表里兴趣度较高的前几个节目推荐给群组里的用户。1.2.2基于用户的协同过滤UserCF-IIF算法的主要步骤如下:Step1:找到和目标用户兴趣相似的用户集合,即建立用户相似度矩阵。Step2:在这个集合中查找目标用户没有观看过的节目推荐给目标用户。1计算用户相似度矩阵节目受众程度对用户相似度的计算存在影响。受众程度高的节目,相对于受众程度低的节目而言,其对用户相似度的贡献更小。例如,一个受众程度高的节目Ti,两个用户都看过,但这并不能表明这两个用户兴趣相似,反之,如果这两个用户都看过受众程度很低的节目Tj,那就可以认为这两个用户兴趣比较相似。为了解决上述问题,本发明在相似度计算过程里引入IIF参数,用于对热门节目进行一定的惩罚。IIF参数的计算公式如下:其中,KIIF表示IIF参数,Ni表示喜欢看i节目的群组个数,Ni越大表示这个节目的受众程度越高,其对用户相似度的贡献就越小。结合公式9,本发明可以得到如下的用户相似度矩阵计算公式:其中,Wuv表示用户u与用户v的相似度,Nu表示用户u喜欢的节目集合,Nv表示用户v喜欢的节目集合。2用户相似度归一化为了提高推荐精确度,本发明依然对用户相似度进行归一化,其计算公式如下:3生成推荐列表通过MCL聚类,将聚在一类的用户看作一个群组,对群组进行推荐。在UserCF-IIF算法中,通过如下公式计算群组u对节目i的兴趣度:其中,Iui表示群组u对节目i的兴趣度,表示看过节目i的群组集合,Su,K表示与用户u相似度最高的K个用户的集合,W′uv表示用户u与用户v的相似度,Dvi表示用户v对节目i的评分。Iui越大,表示此群组对这个节目的兴趣度越高,则可以将兴趣度较高的前几个节目推荐给此群组里的用户。1.3混合推荐混合推荐方法是在考虑不同推荐方法的缺点的基础上建立的。混合推荐方法的准则是组合多种方法,发挥不同推荐方法的优点,消除各自的缺点。由于ItemCF-IUF给用户推荐的是相似物品,所以其推荐的节目的惊喜度比较低。UserCF-IIF因为是根据用户相似度来推荐的,所以其推荐惊喜度较高,但推荐结果的相关性比较弱。用户对某一类节目很少涉及,但是用户在接收到此类节目的推荐后愿意观看它。本发明定义如下公式来表示推荐节目的惊喜度:其中,Ps表示推荐的惊喜度,NG表示群组总数,PLEAi表示第i个群组的推荐分类中排名最低的分类节目总数,GEN表示推荐总数。节目推荐的相关性可以这样理解:为用户推荐节目与用户观看过的节目间的相关程度,即这两个节目是否属于同一类。本发明定义如下公式来表示推荐节目的相关性:其中,Co表示推荐结果的相关性,NG表示群组总数,RECi表示第i个群组的推荐结果中每一个节目所属类别总数的集合,GEN表示推荐总数。为了在推荐节目的惊喜度和相关性之间取得一个平衡,本发明选择了加权混合推荐方法,即把ItemCF-IUF算法和UserCF-IIF算法所获得的推荐结果,按M:N的比例进行加权组合,形成最终的推荐结果。本发明就两种算法的推荐比例M:N的最佳取值进行了探讨,具体实验结果分析。下面结合实验对本发明的应用效果作详细的描述。1实验结果与分析为了验证本发明提出的方法的有效性,本发明使用了泰迪杯数据挖掘挑战赛的公开数据集。使用的数据集包含250位志愿者在3个月内,对100个节目观看时产生的15375条数据。1.1确定混合推荐比例为了确定混合推荐比例M:N的最佳值,以达到推荐结果惊喜度和相关性的平衡,本发明对不同的比例组合进行了对比,分别计算在不同M:N取值下的推荐结果惊喜度和相关性。结果如图3和图4所示。在图3和图4中,time1~time5表示时间段,各个时间段对应的具体时刻见1.2.1,表1。由图3可以看出,各个时间段的惊喜度在M:N取1:3处达到最大。由图4可以看出,各个时间段在M:N取1:2处达到最高的推荐相关性,在1:3处达到次高的推荐相关性。通过对惊喜度和相关性的综合比较,当ItemCF-IUF和UserCF-IIF的推荐节目个数比例M:N达到1:3时,推荐节目的惊喜程度和节目间的相关程度均达到相对较高的值,所以本发明的混合推荐比例M:N确定为1:3。1.2群组划分结果分析本发明按照群组为单位进行电视节目推荐,群组划分时聚类结果是否良好对最终的推荐结果会产生不同影响。本发明关注的重点是各个群组内不同成员收视偏好的一致性,即追求在不同时间段内聚类得到的各个群组的组员与它所属的群组的偏好差异最小化。首先,本发明采用平方绝对误差meanabsoluteerror,MAE衡量一个群组内的组员和群组整体的偏好差异,其定义如下所示:其中,Dui表示用户u对i的评分,DGi表示群组G对节目i的评分,N表示推荐节目的个数。由于MAE仅仅是衡量单个群组与组内个体的偏好差异,而本发明是按照群组为单位在不同时间段进行电视节目推荐的,所以本发明定义一个新的衡量各个群组在不同时间段内的偏好差异的指标——群组平均绝对误差meanabsoluteerrorofgroup,MAEG,它计算的公式如下:其中,表示第i个时间段的群组总个数,MAEij表示第i个时间段第j个群组的MAE指标。利用上述公式,本发明讨论了MCL聚类参数θ和r的不同取值对于算法的收敛速度和群组划分效果的影响。其结果如图5、图6所示:由图5可知,MCL的聚类的收敛速度由θ和r的大小决定,θ与r越大,其收敛速度越快,且随着θ的变大逐渐趋于稳定。由图6可知,当θ较小时,MAEG变化缓慢,当θ增加到一定值时,MAEG开始降低。结合图5和图6的结果可以看出,当θ=0.009,r=5时,群组平方绝对误差MAEG=0.14,此时聚类得到的各个群组取得组内差异最小化,表明此时的群组划分达到最优,有利于提高最终的推荐精确度,且此时的MCL聚类算法也能达到较理想的收敛速度。1.3精确度分析为检验提出的推荐方法的精确度,本发明在数据集上进行了实验。结合如表2所示的混淆矩阵定义,本发明通过公式17来计算视频推荐的精确度。表2混淆矩阵公式如下:其中,precision表示推荐方法的精确度。通过使用250位实验者观看电视节目的行为数据进行实验,本发明对提出的MCL-HCF混合推荐算法进行了精确度分析。在实验中,本发明将电视节目划分为综艺、电视剧、电影、动画、纪录片、其他,共六大类。对于群组内单个用户是否喜欢某个推荐节目的判断依据是:在用户历史观看记录的评分矩阵D中找出其喜欢的几个节目类型,通过判断推荐节目是否属于用户的偏好节目类型,确定用户是否喜欢推荐的节目。推荐节目的精确度如表3和图7所示。表3推荐精确度注:precision2表示用户喜欢两个节目类型时的精确度,precision3表示用户喜欢三个节目类型时的精确度。表3里的time1~time5表示时间段,各个时间段对应的具体时刻见1.2.1,表1。通过表3可以看出,使用MCL-HCF混合推荐算法对这250位用户进行电视节目推荐的精确度总体比较高,precision2各个时间段的均值为0.93,precision3各个时间段的均值为0.96,这表明本发明提出的先聚类得到群组再进行混合推荐的策略在电视节目推荐问题上能取得良好的效果。同时,从表3和图7可以看到,各个时间段的precision3比precision2要大,这是因为当用户喜欢的节目类型增加时,相当于扩大用户的偏好范围,这会提升对此用户的推荐精确度。本发明主要关注为家庭用户进行电视节目的个性化推荐问题。为此,本发明提出了MCL-HCF混合推荐算法。首先,使用MCL聚类算法对各个时间段内的用户进行聚类,得到不同的用户群组。为了衡量聚类结果的有效性,本发明引入了组平均绝对误差MAEG,在追求MAEG最小的策略下,本发明得到了最优的群组划分结果。然后,本发明以群组为单位进行电视节目推荐,在使用ItemCF-IUF和UserCF-IIF两种算法得到各自的推荐列表后,本发明使用加权组合的方式进行了混合推荐,以此来解决传统推荐算法在推荐结果的惊喜度和相关性上的矛盾。在公开数据集上的实验结果表明本发明提出的MCL-HCF算法具有如下优点:1能够降低群组内用户和群组整体之间的偏好差异程度,提升对整个家庭的用户推荐节目时的精确度;2混合推荐的最终结果能够在保持推荐精确度的同时,使推荐节目的惊喜度和相关性达到平衡。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

权利要求:1.一种基于MCL-HCF算法的电视节目混合推荐方法,其特征在于,所述基于MCL-HCF算法的电视节目混合推荐方法首先,采用马尔可夫聚类对各个时间段的电视用户进行聚类,产生不同的群组,追求每个群组里的成员和群主整体的偏好差异最小化,再以群组为单位进行电视节目推荐;然后,使用基于物品的协同过滤和基于用户的协同过滤算法分别产生推荐列表;最后,为推荐结果惊喜度和相关性的平衡,对两个推荐列表使用了加权方式进行混合,得到最终的混合推荐结果。2.如权利要求1所述的基于MCL-HCF算法的电视节目混合推荐方法,其特征在于,建立相似用户的群组,单个家庭由多个家庭成员组成,在某一个时间段St时,某些成员对节目Pi感兴趣,成员将在这个时间段构成一个新的群组Ub;在其他的时间段集合,同样对应着其他的群组,并且从聚类的结果来看,一个家庭里的不同成员可以被划分到多个群组中;1建立同一时段的邻接矩阵,筛选出在同一时间段内观看节目的用户,当两个用户同时观看了同一个节目时,其邻接矩阵对应元素加上1,邻接矩阵:2消除奇偶性依赖,在对图的状态转移矩阵进行处理之前,为每个顶点增加自循环,即矩阵对角线的值置为1,得到改进的邻接矩阵:3利用改进的邻接矩阵,计算得到概率矩阵P;其中,B'ij∈B'表示位于改进的邻接矩阵B'的第i行,第j列的元素,Np表示该时段观看节目的总用户数,得到概率矩阵如下所示:4对概率矩阵进行扩展和膨胀交替操作,首先执行的是扩展操作,扩展操作是使概率矩阵自乘e次,让流对象扩展到图的不同区域,其指数e的大小决定游走区域的大小:P=Pe;然后,对概率矩阵P进行膨胀操作,参数r影响聚簇的粒度,具体计算公式如下:其中,ΓrP表示膨胀操作,pij∈P表示位于P的第i行,第j列的元素;5聚类过程优化,设置一个阈值θ,概率矩阵经过扩展膨胀操作后,遍历所有pij,当pij≤θ时,令pij=0。3.如权利要求1所述的基于MCL-HCF算法的电视节目混合推荐方法,其特征在于,基于物品的协同过滤方法包括:1数据预处理1将群组内所有用户的观看记录合并;2除噪,删去观看时间低于5分钟的记录;3分组,将每个时间段的用户分组;4评分计算,计算各个群组对每个节目的评分;利用各个群组观看每个节目的时长、次数、付费金额经过加权融合得到加权总频率,并以此作为群组对节目评分的量化,得到评分矩阵D,计算公式如下:其中,Dij表示第i个群组对第j个节目的评分,a1、a2、a3分别表示观看时长、次数、金额的权重,tij、fij、dij分别表示第i个群组观看第j个节目的时长、次数、金额;2计算节目相似度矩阵,加入了IUF参数修正相似度的计算,计算公式如下:其中,KIUF表示IUF参数,Nu表示用户u喜欢的节目总数,Nu越大表示该用户的活跃度越高,其对节目相似度的贡献越小;节目相似度矩阵的计算公式如下:其中,Wij表示节目i与节目j的相似度,Ni表示喜欢节目i的用户数,Nj表示喜欢节目j的用户数;3将ItemCF-IUF的相似度矩阵按最大值归一化,计算公式如下:4计算群组u对一个节目j的兴趣度:其中,Iuj表示群组u对节目j的兴趣度,表示群组u喜欢的节目集合,Si,k表示和节目i相似度最高的k个节目的集合,W'ji表示节目j和i的相似度,Dui表示群组u对节目i的评分;Iuj越大,表示此群组对这个节目的兴趣度越高。4.如权利要求1所述的基于MCL-HCF算法的电视节目混合推荐方法,其特征在于,基于用户的协同过滤方法包括:1计算用户相似度矩阵,在相似度计算过程里引入IIF参数,用于对热门节目进行惩罚,IIF参数的计算公式如下:其中,KIIF表示IIF参数,Ni表示喜欢看i节目的群组个数,Ni越大表示这个节目的受众程度越高,其对用户相似度的贡献就越小;用户相似度矩阵计算公式:其中,Wuv表示用户u与用户v的相似度,Nu表示用户u喜欢的节目集合,Nv表示用户v喜欢的节目集合;2对用户相似度进行归一化,计算公式如下:3通过MCL聚类,将聚在一类的用户看作一个群组,对群组进行推荐;在UserCF-IIF算法中,通过如下公式计算群组u对节目i的兴趣度:其中,Iui表示群组u对节目i的兴趣度,表示看过节目i的群组集合,Su,K表示与用户u相似度最高的K个用户的集合,W'uv表示用户u与用户v的相似度,Dvi表示用户v对节目i的评分;Iui越大,表示此群组对这个节目的兴趣度越高。5.如权利要求1所述的基于MCL-HCF算法的电视节目混合推荐方法,其特征在于,混合推荐定义公式表示推荐节目的惊喜度:其中,Ps表示推荐的惊喜度,NG表示群组总数,PLEAi表示第i个群组的推荐分类中排名最低的分类节目总数,GEN表示推荐总数;为用户推荐节目与用户观看过的节目间的相关程度,即两个节目是否属于同一类,定义如下公式表示推荐节目的相关性:其中,Co表示推荐结果的相关性,NG表示群组总数,RECi表示第i个群组的推荐结果中每一个节目所属类别总数的集合,GEN表示推荐总数。6.一种应用权利要求1~5任意一项所述基于MCL-HCF算法的电视节目混合推荐方法的电视节目推荐平台。

百度查询: 重庆第二师范学院 一种基于MCL-HCF算法的电视节目混合推荐方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。