一种组合协同过滤iptv节目推荐方法

文档序号:9528072阅读:496来源:国知局
一种组合协同过滤iptv节目推荐方法
【技术领域】
[0001] 本发明涉及通信领域,具体涉及一种组合协同过滤IPTV节目推荐方法。
【背景技术】
[0002] IPTV作为一种新兴的交互式服务技术,在电视节目推荐领域被广泛研究;IPTV不 同于传统电视,有以下特点:
[0003] 可交互:传统电视的信息传播是单向的,而IPTV在此基础上还允许用户与系统交 互,特别是允许系统显式或隐式收集用户偏好。
[0004] 个性化:IPTV通过用户IP地址来传递多媒体内容,那么IPTV服务商提供的服务 即可以精确到个人。
[0005] 多媒体:IPTV服务包括直播和点播电视节目、电影服务。
[0006] 基于以上IPTV的特点,在大量电视节目、电影(下文统称为电视节目)的背景下, 为了让用户快速轻松地找到用户真正喜欢的节目。推荐系统作为一种信息过滤技术,通过 收集一段时间内用户的历史数据,并从数据中分析用户的兴趣偏好,建立用户兴趣模型,从 而主动给用户推荐能够满足他们兴趣和需求的信息。那么若把推荐系统集成在IPTV基础 设施中,利用收集到的显式或隐式数据计算出推荐结果,通过IP宽带网把推荐结果精准地 传送给用户。这将给用户挑选电视节目提供一个更快,更有趣的方式。
[0007] 目前主要有两类协同过滤推荐算法:基于用户的协同过滤推荐算法和基于物品的 协同过滤算法。协同过滤的优点是能够处理多种类型的内容,包括结构化或者非结构化的, 比如文本,电影,图像等;不需要用户的配置文件或者物品内容数据;可以推荐与用户过去 喜欢的物品不相似的,但用户很有可能喜欢的物品。相应地,协同过滤算法也存在不少问 题,冷启动问题和稀疏性问题。单纯的SVD算法在计算稀疏性特别大矩阵时,其推荐质量并 不理想;Sarwar等人的实验结果表明奇异值分解(SVD)方法应用于协同过滤时对于稀疏的 评分矩阵效果比较好,但是如果评分矩阵过于稀疏,奇异值分解(SVD)方法的推荐结果并 不如基于物品的协同过滤,并且当评分矩阵较稠密时,奇异值分解(SVD)的效果也不如基 于物品的协同过滤。

【发明内容】

[0008] 为了解决现有技术中的问题,本发明提供了一种组合协同过滤IPTV节目推荐方 法。
[0009] 本发明的一种组合协同过滤IPTV节目推荐方法,包括以下步骤:
[0010] 步骤①:从用户评分数据库读取用户评分数据;
[0011] 步骤②:用所述步骤①中的用户评分数据定义一个mXn的原始评分矩阵R,表示 m个用户在η个节目上的评分;利用协同过滤方法,计算节目之间的相似度sim(i,j),并求 出目标用户u对节目j的预测评分值Prey,最后用预测评分值Prey填充原始评分矩阵R 得到矩阵Rpra;
[0012] 步骤③:若所述步骤②中的矩阵1?_没有完全填充,首先计算出Rpra中的每列平均 值,之后用每列平均值?ζ填充该列的空缺项;然后用每列的所有评分项减去目标节目所 在行的行平均值fi得到规范化的矩阵Rn_;
[0013] 步骤④:用奇异值分解方法分解所述步骤③中的矩阵Rn_得到矩阵U,S,V;它们 的大小分别为mXm,mXn,nXn;它们之间的关系是Rnmi=UXSXVT;
[0014] 步骤⑤:通过保留所述步骤④中矩阵S的k个对角元素来获得一个kXk的矩阵 sk,所述步骤④中矩阵U和矩阵V也相应简化为队和Vk,它们的大小分别为mXk和ηXk;
[0015] 步骤⑥:利用所述步骤⑤中简化的矩阵Sk,Uk,Vk,将m个用户在k维特征空 间中表示为UkXλ/^,η个节目在k维特征空间中表示为XVkT;然后运用公式
i计算目标用户u在节目i上的预测评分值Pre^, 其中%表示目标用户u的所有已评分项目上评分的平均值,代表矩阵的 第i列,代表矩阵%^1的第u行;使用本次预测评分值PreUil填充所述步骤 ②中的原始评分矩阵R,从而得到一个无缺失值的评分矩阵RflllW
[0016] 步骤⑦:基于所述步骤⑥中的评分矩阵Rfllled,利用协同过滤方法,计算节目i与 节目j的相似度sim(i,j),进而求出目标用户u对节目j的预测评分值Preu,当得到了预 测评分值之后,把预测评分值最高的N个节目,作为此次协同过滤的推荐结果。
[0017] 所述步骤②和步骤⑦中计算相似度sim(i, j)的方法为修正的余弦相似性度量方 法,公式为以下所列公式:
[0018]
[0019] 其中,其中I表示目标用户u的所有已打项目评分的平均值,RUil表示用户u对 节目i的评分值,U表示用户集合。
[0020] 所述步骤②和步骤⑦中计算预测评分值Prey的公式为以下所列公式:
[0021]
[0022] 其中,ratedltem(u)代表用户u已评分项的集合,RUii代表原始矩阵R中用户u在 节目i上的评分,sim(i,j)代表节目i与节目j的相似度。
[0023] 所述步骤⑤的参数k会通过实践不断优化。
[0024] 所述步骤②和步骤⑦中的协同过滤方法为基于物品的协同过滤方法。
[0025] 本发明相对于现有技术具有以下优点:
[0026] 1、本发明巧妙结合了基于物品的协同过滤方法和奇异值分解(SVD)方法的优点, 以特征值递增的方式预测评分,更好的解决了评分矩阵的稀疏性问题;
[0027]2、本发明的协同过滤方法采用了基于物品的协同过滤方法,这在IPTV推荐领域 中比基于用户的协同过滤方法精确度更高。
【附图说明】
[0028] 图1为本发明的流程示意图。
【具体实施方式】
[0029] 以下结合附图,对本发明的一种组合协同过滤IPTV节目推荐方法做进一步的详 细说明。
[0030] 如图1所示,本发明的一种组合协同过滤IPTV节目推荐方法,包括以下步骤:
[0031] 步骤①:从用户评分数据库读取用户评分数据;
[0032] 步骤②:用所述步骤①中的用户评分数据定义一个mXn的原始评分矩阵R,表示 m个用户在η个节目上的评分;利用协同过滤方法,计算节目之间的相似度sim(i,j),并求 出目标用户u对节目j的预测评分值Prey,最后用预测评分值Prey填充原始评分矩阵R 得到矩阵Rpra;
[0033] 步骤③:若所述步骤②中的矩阵1?_没有完全填充,首先计算出Rpra中的每列平均 值&,之后用每列平均值$填充该列的空缺项;然后用每列的所有评分项减去目标节目所 在行的行平均值:?得到规范化的矩阵Rn_;
[0034] 步骤④:用奇异值分解方法分解所述步骤③中的矩阵Rn_得到矩阵U,S,V;它们 的大小分别为mXm,mXn,nXn;它们之间的关系是Rnmi=UXSXVT;
[0035] 步骤⑤:通过保留所述步骤④中矩阵S的k个对角元素来获得一个kXk的矩阵 Sk,所述步骤④中矩阵U和矩阵V也相应简化为队和Vk,它们的大小分别为mXk和ηXk;
[0036] 步骤⑥:利用所述步骤⑤中简化的矩阵Sk,Uk,Vk,将m个用户
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1