首页> 中国专利> 基于模糊机制用户评分邻域信息的协同过滤推荐方法

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

摘要

本发明公开一种基于模糊机制用户评分邻域信息的协同过滤推荐方法。其技术方案是:1.获取用户对项目的评分信息,创建评分矩阵;2.根据评分矩阵计算用户评分隶属度,根据项目上下文信息计算项目对相似度的贡献率;3.根据评分隶属度和相似度的贡献率,构建用户喜欢不喜欢相似度;4.对评分数目小的用户进行相似度值的缩减,构建用户Jnum相似度;5.根据用户喜欢不喜欢相似度和用户Jnum相似度,构建用户最终相似度;6.根据最终相似度,选取相似度值最高的前K个作为参考邻居用户,完成对目标用户的预测。实验仿真结果表明,本发明比传统协同过滤算法能得到更好的推荐质量,可用于向用户推荐感兴趣的项目。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-06-26

    授权

    授权

  • 2015-10-07

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20150412

    实质审查的生效

  • 2015-09-09

    公开

    公开

说明书

技术领域

本发明属于协同过滤推荐技术领域,具体涉及一种基于模糊机制的用户评分邻域信息来 构建用户相似度的协同过滤推荐方法,可用于网络项目推荐。

背景技术

互联网技术的迅速发展加重了信息过载的问题,面对海量的数据用户很难发现自己感兴 趣的内容。推荐系统在上世纪90年代首次被提出便得到了广泛的关注,该系统根据用户的 历史行为信息,建立用户与项目,例如:产品、电影、音乐等之间得关系,找到用户感兴趣 的项目并将其推荐给用户。近些年来推荐系统应用日益广泛,如电子商务,图书等多个方面。 一些网站通过收集和分析用户的购买历史,预测用户感兴趣的商品并将其推荐给用户,从而 提高了销售业务。

目前,已存在许多经典的推荐系统,协同过滤推荐算法是推荐系统中最早被提出并得到 广泛应用的一种推荐算法。协同过滤推荐技术主要分为两大类:基于模型的协同过滤和基于 内存的协同过滤。与传统的基于内容的推荐不同,协同过滤算法的核心思想是分析用户的兴 趣,在用户群中找到与目标用户相似的邻居用户。通过分析这些邻居用户对某一物品的综合 评价,最后形成该目标用户对此物品的喜好程度的预测,推荐形式有评分预测及Top-N推 荐。

协同过滤推荐算法主要通过相似度来预测用户对项目的评分,相似度可进一步分为基于 用户的相似度和基于项目的相似度,相似度的度量准确性直接关系整个推荐系统的推荐质量。 与一般的推荐系统相比,协同过滤推荐系统具有两大优势:一是可以发现用户潜在的但用户 自身尚未觉察的兴趣偏好;二是对推荐的对象没有特殊的要求,即可以处理电影、音乐等难 以用文本结构化的表示对象。但是随着电子商务系统的规模的不断扩大,用户数目和项目的 数据急剧增加,加剧了用户项目的评分数据的稀疏特性。在用户评分数据极端稀疏的情况下, 难以找到用户间的共同评分项目,使得传统的相似性度量方法存在着一定的偶然性,计算得 到的目标用户及项目的最近邻不准确甚至无法计算相似性,从而导致推荐系统的推荐质量下 降。

发明内容

本发明的目的在于针对已有协同过滤推荐算法中的不足,提出一种基于模糊机制的用户 评分上下文信息来构建用户的相似度,以有效的缓解用户数据稀疏带来的问题,提高推荐系 统的质量。

本发明的技术方案是:运用模糊逻辑创建用户的评分隶属度函数,缓解尖锐的评分边界 问题。通过项目的上下文信息,充分挖掘项目对用户相似度的贡献率。通过惩罚评分数目较 小的用户的相似度,缓解评分数据的稀疏性带来的难以描述用户偏好问题。其实现步骤包括 如下:

(1)从原始的用户-物品-评分-时间这四维数据中获取用户U对项目I的评分信息,创 建用户对项目的评分矩阵R(nxp),其中n代表用户的数目,p代表项目的数目;

(2)根据用户的评分矩阵,确定任意两个用户a与用户b的相似度值sim(a,b):

(2a)运用软划分机制,分别构建用户u对项目i评分的喜欢隶属度Lui和用户u对项 目i评分的不喜欢隶属度Dui:

Lu,i=ru,i-mM-m,Lu,i[0,1]

Du,i=M-ru,iM-m,Du,i[0,1]

其中ru,i为用户u对项目i的评分,m为推荐系统用户评分的最小值,M为推荐系统用 户评分的最大值,对于评分范围在1到5之间的数值,则m为1,M为5;

(2b)运用项目评分的上下文信息,分别构建项目i评分的喜欢贡献率因子Cli和项目i 评分的不喜欢贡献率因子Cdi:

Cli=1-ΣuLu,i#Ui

Cdi=1-ΣuDu,i#Ui

其中#Ui表示整体用户对项目i的评分人数;

(2c)运用如下改进的Jaccard函数Jnum(a,b),对评分数目小于平均项目数的用户进 行相似度值的缩减:

Jnum(a,b)=Pun(a)·Pun(b)·#(IaIb)#(IaIb)

其中

Pun(a)=1if#IaIu#IaQ3if#Ia<Iu

Pun(b)=1if#IbIu#IbQ3if#Ib<Iu

其中#Ia表示用户a对整体项目的评分数目,#Ib表示用户b对整体项目的评分数目,Iu表示整体用户的平均项目数,Q3为用户评分数目的四分之三分位数;

(2d)构建任意两个用户a与b喜欢不喜欢的相似函数LD(a,b)如下:

LD(a,b)=Σi=1q(CLa,i+CDa,i)·(CLb,i+CDb,i)Σi=1q(CLa,i+CDa,i)2·Σi=1q(CLb,i+CDb,i)2

其中

CLu,i=Lu,i·(M-ru)·11+exp(-Cli)

CDu,i=Du,i·(m-ru)·11+exp(-Cdi)

其中表示用户u对已经评价项目的评分平均值;

2e)结合改进的Jaccard函数Jnum(a,b)和喜欢不喜欢相似函数LD(a,b),构建任意两个 用户a与b最终的相似度函数sim(a,b):

sim(a,b)=LD(a,b)·Jnun(a,b);

(3)根据步骤(2)所构建的任意两个用户a与b最终相似度函数sim(a,b),计算所有 用户两两之间的相似度,选择与目标用户相似程度最高的k个邻居用户,根据所选的k个邻 居的项目评分数据,对目标用户未评分项目进行评分预测;

(4)根据预测评分,对目标用户未评分项目进行分数值从大到小的排列,筛选出前N 个项目即产生对用户的推荐项目,2<=N<=20。

本发明与现有的技术相比具有以下技术优势:

1)本发明通过模糊逻辑构建用户的评分隶属度函数,缓解了传统评分硬划分存在的尖锐 边界问题。

2)本发明通过项目的上下文信息,充分挖掘整体用户对项目的偏好程度进而构建项目对 相似度的贡献率,克服了项目的单一权值对相似度的构建带来的不准确性问题。

3)本发明通过改进的Jaccard相似函数,使评分数目较小的用户的相似度处以惩罚,提 高了推荐的准确率。

附图说明

图1是本发明的实现流程图;

图2是本发明和其它对比方法的平均绝对误差随k个邻居用户数量变化的仿真结果图;

图3是本发明和其它对比方法的推荐覆盖率随k个邻居用户数量变化的仿真结果图;

图4是本发明和其它对比方法的推荐准确率随n个推荐项目数量变化的仿真结果图;

图5是本发明和其它对比方法的推荐召回率随n个推荐项目数量变化的仿真结果图。

具体实施方式

以下结合附图对本发明的具体实施作进一步的详细描述,本实例以用户对电影的推荐为 例但不是用来限制本发明的范围,例如本发明可用于网页、商品的推荐等。

参照图1,本发明的实现步骤如下:

步骤1:创建用户项目评分矩阵。

从原始的用户-物品-评分-时间这四维数据中获取用户U对项目I的评分信息,创建用户 评分矩阵R(nxp),其中n代表用户的数目,p代表项目的数目。

步骤2:计算任意两个用户的相似度。

2a)运用模糊软划分机制,分别构建用户u对项目i评分的喜欢隶属度Lui和用户u对 项目i评分的不喜欢隶属度Dui:

Lu,i=ru,i-mM-m,Lu,i[0,1]

Du,i=M-ru,iM-m,Du,i[0,1]

其中ru,i为用户u对项目i的评分,m为推荐系统用户评分的最小值,M为推荐系统用 户评分的最大值,对于评分范围在1到5之间的数值,则m为1,M为5;

2b)运用项目评分的上下文信息,分别构建项目i评分的喜欢贡献率因子Cli和项目i 评分的不喜欢贡献率因子Cdi:

Cli=1-ΣuLu,i#Ui

Cdi=1-ΣuDu,i#Ui

其中#Ui表示整体用户对项目i的评分人数,项目i喜欢贡献率因子Cli取值范围0<= Cli<=1和不喜欢贡献率因子的Cdi取值范围0<=Cdi<=1;

2c)构建任意两个用户a与b喜欢不喜欢的相似函数LD(a,b):

LD(a,b)=Σi=1q(CLa,i+CDa,i)·(CLb,i+CDb,i)Σi=1q(CLa,i+CDa,i)2·Σi=1q(CLb,i+CDb,i)2

其中

CLu,i=Lu,i·(M-ru)·11+exp(-Cli)

CDu,i=Du,i·(m-ru)·11+exp(-Cdi)

表示用户u对已经评价项目的评分平均值,q为两个用户a与b共同评分的项目数目;

2d)运用如下改进的Jaccard函数Jnum(a,b),对评分数目小于平均项目数的用户进行相 似度值的缩减,缓解用户评分数目小带来的相似度不稳定性问题:

Jnum(a,b)=Pun(a)·Pun(b)·#(IaIb)#(IaIb)

其中

Pun(a)=1if#IaIu#IaQ3if#Ia<Iu

Pun(b)=1if#IbIu#IbQ3if#Ib<Iu

其中#Ia表示用户a对整体项目的评分数目,#Ib表示用户b对整体项目的评分数目,表示整体用户的平均项目数,Q3为用户评分数目的四分之三分位数;

2e)结合改进的Jaccard函数Jnum(a,b)和喜欢不喜欢相似函数LD(a,b),构建任意两个 用户a与b最终的相似度函数sim(a,b):

sim(a,b)=LD(a,b)·Jnun(a,b)。

步骤3:选择邻居用户,对目标用户进行预测。

3a)将目标用户与其他用户的相似度按照从大到小的顺序排列,取排列顺序中最前面 的k个用户作为目标用户的邻居用户,k>=50;

3b)获取k个邻居用户后,通过下式对目标用户未评分的项目进行评分预测:

pu,i=ru+1ΣnHu,isim(u,n)ΣnHu,isim(u,n)*(rn,i-rn)

其中

Hu,i={nKu|rn,i·}

其中,p u,i为目标用户u对未评分项目i的预测评分值,sim(u,n)为目标用户u与邻居用 户n的相似度值,为用户n对已经评价项目的评分平均值,Ku为k个邻居用户集合,Hu,i为集合Ku中对项目i评分的邻居用户集合,n为Hu,i集合中的用户。

步骤4:根据预测评分,对目标用户未评分项目进行分数值从大到小的排列,筛选出前 N个项目即产生对用户的推荐项目,2<=N<=20。

本发明的效果可以通过以下实例仿真结果进一步说明:

1.实验条件和环境设置

实验运行环境:CPU为Intel(R)Core(TM)i52.50GHz,内存为4GB,编译环境为 MatlabR2014a。

2.实验数据与评价指标:

本发明选用Movielens推荐系统的一个电影数据集,数据包含943个用户对1682部电 影的1000000条评分,每个用户至少对20部电影进行评分,评分为1到5的整数值。在本 发明实验中将数据分为测试集和训练集两部分,给定数据集的80%用户评分数据作为训练 集,剩余的20%作为测试数据。为提高实验的准确性和可靠性,采用交叉验证法,即每一个 样本数据被用作训练数据,也被用作测试数据。

本发明选用常用的推荐效果评价指标,即平均绝对误差MAE、覆盖率COV、准确率 PRE和召回率REC。MAE评价指标反映预测评分和真实评分的误差平均值,定义如下:

MAE=Σi=1M|pi-qi|M,

其中M代表测试项目集的大小,pi和qi分别代表用户预测评分和实际用户评分。

COV评价指标定义为目标用户的k近邻中至少有一个用户对未评分项目做了相应的评 分。定义如下:

COV=100×#C#D

其中#C为系统的目标用户没评分但至少有一个邻居用户对该项目做了评分的数目, #D为系统用户未评分的项目数。

PRE评价指标描述前N个对应的项中用户喜欢的项目概率。定义如下:

PRE=NtrueN

其中N是对目标用户推荐项目的数量,Ntrue表示推荐的N个项目中正确推荐的个数。 该值越大表示推荐的质量越高。

REC评价指标描述系统推荐给用户的项目,准确推荐的项目数占用户整体喜欢的项目 数比例。

PRE=NNref

其中N是对目标用户推荐项目的数量,Nref表示与目标用户相关联的项目数。同样该 值越大所对应的推荐质量越高。

3.实验内容与结果:

实验1,选用平均绝对误差MAE作评价指标,用本发明SFC和现有基于Pearson相关 系数的协同过滤方法CPP、基于Cos相似度的协同过滤方法COS、基于结合Jaccard和MSD 的相似度度量方法JMSD、基于奇异值的相似度度量方法SM、基于改进的PIP相似度度量 方法NHSM进行电影推荐,其预测值与实际的评分的误差值如图2所示。

从图2的实验结果可以看出,本发明与其他的5种对比方法相比,其平均绝对误差得到 了不同程度的降低,在不同的邻居用户范围内,本发明的误差值是最小的。

实验2,选用覆盖率COV作评价指标,用本发明SFC和现有基于Pearson相关系数的 协同过滤方法CPP、基于Cos相似度的协同过滤方法COS、基于结合Jaccard和MSD的相 似度度量方法JMSD、基于奇异值的相似度度量方法SM、基于改进的PIP相似度度量方法 NHSM进行电影推荐,其预测评分与实际评分的覆盖率如图3所示。

从图3的实验结果可以看出,在不同的邻居用户范围内基于奇异值的相似度度量方法的 覆盖率值最高,但本发明的覆盖率值与其他四种对比相似度度量方法相比,本发明的覆盖率 值最高。

实验3,选用准确率PRE作评价指标,用本发明SFC和现有基于Pearson相关系数的协 同过滤方法CPP、基于Cos相似度的协同过滤方法COS、基于结合Jaccard和MSD的相似 度度量方法JMSD、基于奇异值的相似度度量方法SM、基于改进的PIP相似度度量方法 NHSM进行电影推荐,其预测评分与实际的评分的准确率如图4所示。

从图4的实验结果可以看出,本发明与其他的5种对比方法相比,在不同的推荐项目长 度范围内,本发明的准确率是最高的。

实验4,选用召回率REC作评价指标,用本发明SFC和现有基于Pearson相关系数的 协同过滤方法CPP、基于Cos相似度的协同过滤方法COS、基于结合Jaccard和MSD的相 似度度量方法JMSD、基于奇异值的相似度度量方法SM、基于改进的PIP相似度度量方法 NHSM进行电影推荐,其预测评分与实际的评分的召回率如图5所示。

从图5的实验结果可以看出,本发明与其他的5种对比方法相比,在不同的推荐项目长 度范围内,本发明的召回率是最高的。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号