基于模糊机制用户评分邻域信息的协同过滤推荐方法

文档序号:8922613阅读:426来源:国知局
基于模糊机制用户评分邻域信息的协同过滤推荐方法
【技术领域】
[0001] 本发明属于协同过滤推荐技术领域,具体涉及一种基于模糊机制的用户评分邻域 信息来构建用户相似度的协同过滤推荐方法,可用于网络项目推荐。
【背景技术】
[0002] 互联网技术的迅速发展加重了信息过载的问题,面对海量的数据用户很难发现自 己感兴趣的内容。推荐系统在上世纪90年代首次被提出便得到了广泛的关注,该系统根据 用户的历史行为信息,建立用户与项目,例如:产品、电影、音乐等之间得关系,找到用户感 兴趣的项目并将其推荐给用户。近些年来推荐系统应用日益广泛,如电子商务,图书等多个 方面。一些网站通过收集和分析用户的购买历史,预测用户感兴趣的商品并将其推荐给用 户,从而提高了销售业务。
[0003]目前,已存在许多经典的推荐系统,协同过滤推荐算法是推荐系统中最早被提出 并得到广泛应用的一种推荐算法。协同过滤推荐技术主要分为两大类:基于模型的协同过 滤和基于内存的协同过滤。与传统的基于内容的推荐不同,协同过滤算法的核心思想是分 析用户的兴趣,在用户群中找到与目标用户相似的邻居用户。通过分析这些邻居用户对某 一物品的综合评价,最后形成该目标用户对此物品的喜好程度的预测,推荐形式有评分预 测及Top-N推荐。
[0004] 协同过滤推荐算法主要通过相似度来预测用户对项目的评分,相似度可进一步分 为基于用户的相似度和基于项目的相似度,相似度的度量准确性直接关系整个推荐系统的 推荐质量。与一般的推荐系统相比,协同过滤推荐系统具有两大优势:一是可以发现用户潜 在的但用户自身尚未觉察的兴趣偏好;二是对推荐的对象没有特殊的要求,即可以处理电 影、音乐等难以用文本结构化的表示对象。但是随着电子商务系统的规模的不断扩大,用户 数目和项目的数据急剧增加,加剧了用户项目的评分数据的稀疏特性。在用户评分数据极 端稀疏的情况下,难以找到用户间的共同评分项目,使得传统的相似性度量方法存在着一 定的偶然性,计算得到的目标用户及项目的最近邻不准确甚至无法计算相似性,从而导致 推荐系统的推荐质量下降。

【发明内容】

[0005] 本发明的目的在于针对已有协同过滤推荐算法中的不足,提出一种基于模糊机制 的用户评分上下文信息来构建用户的相似度,以有效的缓解用户数据稀疏带来的问题,提 高推荐系统的质量。
[0006] 本发明的技术方案是:运用模糊逻辑创建用户的评分隶属度函数,缓解尖锐的评 分边界问题。通过项目的上下文信息,充分挖掘项目对用户相似度的贡献率。通过惩罚评 分数目较小的用户的相似度,缓解评分数据的稀疏性带来的难以描述用户偏好问题。其实 现步骤包括如下:
[0007] (1)从原始的用户-物品-评分-时间这四维数据中获取用户U对项目I的评分 信息,创建用户对项目的评分矩阵R(nxp),其中n代表用户的数目,p代表项目的数目;
[0008] (2)根据用户的评分矩阵,确定任意两个用户a与用户b的相似度值sim(a, b):
[0009] (2a)运用软划分机制,分别构建用户u对项目i评分的喜欢隶属度Lui和用户u 对项目i评分的不喜欢隶属度Dui :
[0012] 其中ru i为用户u对项目i的评分,m为推荐系统用户评分的最小值,M为推荐系 统用户评分的最大值,对于评分范围在1到5之间的数值,则m为1,M为5 ;
[0013] (2b)运用项目评分的上下文信息,分别构建项目i评分的喜欢贡献率因子Cli和 项目i评分的不喜欢贡献率因子Cdi :
[0016] 其中叫表示整体用户对项目i的评分人数;
[0017] (2c)运用如下改进的Jaccard函数Jnum(a, b),对评分数目小于平均项目数的用 户进行相似度值的缩减:
[0019]其中
[0022] 其中#13表示用户a对整体项目的评分数目,#1 1表示用户b对整体项目的评分数 目,Iu表示整体用户的平均项目数,Q 3为用户评分数目的四分之三分位数;
[0023] (2d)构建任意两个用户a与b喜欢不喜欢的相似函数LD (a,b)如下:
[0025]其中
[0028] 其中6表示用户u对已经评价项目的评分平均值;
[0029]2e)结合改进的Jaccard函数Jnum(a, b)和喜欢不喜欢相似函数LD(a, b),构建任 意两个用户a与b最终的相似度函数sim(a, b):
[0030] sim(a, b) =LD(a, b) ?Jnun(a, b);
[0031] (3)根据步骤⑵所构建的任意两个用户a与b最终相似度函数sim (a,b),计算 所有用户两两之间的相似度,选择与目标用户相似程度最高的k个邻居用户,根据所选的k 个邻居的项目评分数据,对目标用户未评分项目进行评分预测;
[0032] (4)根据预测评分,对目标用户未评分项目进行分数值从大到小的排列,筛选出前 N个项目即产生对用户的推荐项目,2〈= N〈= 20。
[0033]本发明与现有的技术相比具有以下技术优势:
[0034] 1)本发明通过模糊逻辑构建用户的评分隶属度函数,缓解了传统评分硬划分存在 的尖锐边界问题。
[0035] 2)本发明通过项目的上下文信息,充分挖掘整体用户对项目的偏好程度进而构建 项目对相似度的贡献率,克服了项目的单一权值对相似度的构建带来的不准确性问题。
[0036] 3)本发明通过改进的Jaccard相似函数,使评分数目较小的用户的相似度处以惩 罚,提高了推荐的准确率。
【附图说明】
[0037] 图1是本发明的实现流程图;
[0038]图2是本发明和其它对比方法的平均绝对误差随k个邻居用户数量变化的仿真结 果图;
[0039]图3是本发明和其它对比方法的推荐覆盖率随k个邻居用户数量变化的仿真结果 图;
[0040] 图4是本发明和其它对比方法的推荐准确率随n个推荐项目数量变化的仿真结果 图;
[0041] 图5是本发明和其它对比方法的推荐召回率随n个推荐项目数量变化的仿真结果 图。
【具体实施方式】
[0042] 以下结合附图对本发明的具体实施作进一步的详细描述,本实例以用户对电影的 推荐为例但不是用来限制本发明的范围,例如本发明可用于网页、商品的推荐等。
[0043]参照图1,本发明的实现步骤如下:
[0044]步骤1:创建用户项目评分矩阵。
[0045]从原始的用户_物品-评分-时间这四维数据中获取用户U对项目I的评分信息, 创建用户评分矩阵R(nxp),其中n代表用户的数目,p代表项目的数目。
[0046] 步骤2 :计算任意两个用户的相似度。
[0047] 2a)运用模糊软划分机制,分别构建用户u对项目i评分的喜欢隶属度Lui和用户 u对项目i评分的不喜欢隶属度Dui :
[0050]其中ru i为用户u对项目i的评分,m为推荐系统用户评分的最小值,M为推荐系 统用户评分的最大值,对于评分范围在1到5之间的数值,则m为1,M为5 ;
[0051] 2b)运用项目评分的上下文信息,分别构建项目i评分的喜欢贡献率因子Cli和项 目i评分的不喜欢贡献率因子Cdi :
[0054] 其中表示整体用户对项目i的评分人数,项目i喜欢贡献率因子Cli取值范 围0〈= Cli〈= 1和不喜欢贡献率因子的Cdi取值范围0〈= Cdi〈= 1 ;
[0055] 2c)构建任意两个用户a与b喜欢不喜欢的相似函数LD (a,b):
[0057]其中
[0060] 5表示用户u对已经评价项目的评分平均值,q为两个用户a与b共同评分的项 目数目;
[0061] 2d)运用如下改进的Jaccard函数Jnum(a, b),对评分数目小于平均项目数的用户 进行相似度值的缩减,缓解用户评分数目小带来的相似度不稳定性问题:
[0063]其中
[0066]其中#13表示用户a对整体项目的评分数目,#1 1表示用户b对整体项目的评分数 目,表示整体用户的平均项目数,93为用户评分数目的四分之三分位数;
[0067]2e)结合改进的Jaccard函数Jnum(a, b)和喜欢不喜欢相似函数LD(a, b),构建任 意两个用户a与b最终的相似度函数sim(a, b):
[0068] sim(a, b) =LD(a, b) ?Jnun(a, b)〇
[0069]步骤3:选择邻居用户,对目标用户进行预测。
[0070] 3a)将目标用户与其他用户的相似度按照从大到小的顺序排列,取排列顺序中最 前面的k个用户作为目标用户的邻居用户,k> = 50 ;
[0071] 3b)获取k个邻居用户后,通过下式对目标用户未评分的项目
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1