一种基于用户社区和评分联合社区的推荐方法技术

技术编号:21432299 阅读:21 留言:0更新日期:2019-06-22 11:57
本发明专利技术请求保护一种基于用户社区和评分联合社区的推荐方法。首先基于用户间的社交关系和评分数据获取用户间的信任关系和用户间的相似关系,从而得出用户间的混合相似度值;然后根据混合相似度的值对用户进行k‑means聚类操作,得到用户的社区;其次根据评分矩阵的评分模式利用概率的方法对评分矩阵中的用户和商品进行联合聚类;最后面向用户‑物品的联合社区结构利用矩阵分解技术,并融入用户社区结构进行推荐。本发明专利技术能够充分利用社区内部用户的高度相关性以及矩阵分解技术的高精度性,能够在保证不错的推荐准确率的同时提高推荐效率。

【技术实现步骤摘要】
一种基于用户社区和评分联合社区的推荐方法
本专利技术属于个性化推荐领域,具体的说是一种基于用户社区和评分联合社区的推荐方法。
技术介绍
随着信息技术的发展,带来了信息超载问题,面对如此庞大的网络数据,带给用户的不是大数据的优越感,而是一种在如此庞大的数据中的不知所措,这样反而让信息的使用效率降低了。很多时候用户都没有明确的需求,这样推荐系统便应运而生。推荐系统就是在用户需求不明确的情况下,根据用户的历史行为记录,比如用户的浏览记录,购买记录,播放视频记录等等,以这些历史记录为基础为用户推荐感兴趣的物品,帮助用户发现物品的价值。目前存在的推荐算法中,协同过滤算法是使用最为普遍的算法之一,其主要依靠用户的历史记录,给用户推荐相似的商品,尽管该算法能保持比较好的推荐精度,但也存在着时间复杂度高的问题。由于时间复杂度高的问题,一些基于社区的推荐技术也在不断被提出,其主要思想是基于用户的历史行为信息,利用社区挖掘技术将相似的用户或项目划分到同一个社区中,然后在每一个社区中应用传统的协同过滤推荐算法。但是当前的研究工作大多只考虑了单一的信息源的社区结构,比如用户社区,项目社区等,因此探究多种社区结构相结合是一个重点要研究的问题。
技术实现思路
本专利技术旨在解决以上现有技术的问题。提出了一种方法。本专利技术的技术方案如下:一种基于用户社区和评分联合社区的推荐方法,其包括以下步骤:1)、首先,基于用户间的社交关系数据得到用户间的信任度,基于用户间的评分数据得到用户间的相似度,从而得出用户间的混合相似度值;2)、然后根据混合相似度的值对用户采用改进的K-means聚类操作,改进k-means聚类操作改进主要在于对用户成为专家的可能性进行评估,寻找专家值最大的K个用户作为初始的聚类中心,最后得到用户聚类簇;3)、其次,根据评分矩阵的评分模式利用概率的方法对评分矩阵中的用户和商品进行联合聚类,得到评分矩阵联合聚类簇;4)、最后面向用户-物品的联合社区结构利用矩阵分解技术,并融合用户聚类簇和评分矩阵联合聚类簇进行用户社区结构进行推荐。进一步的,步骤1)中所述分别利用输入的用户社交关系数据和用户评分数据构建用户间的信任关系和相似关系,融合两者构建新的相似度计算方法,其计算公式如下:Sim(u,v)=β·Trust(u,v)+(1-β)·SimRat(u,v)(1)式中Trust(u,v)和SimRat(u,v)分别表示用户间的信任关系和评分相似性,Trust(u,v)表示信任矩阵T中用户u和用户v之间的信任关系,Rat(u,v)表示用户u和v之间的相似关系;定义一个权重β来表示二者所占的比重,为了权衡信任关系和相似关系,这里将β设置为0.5。进一步的,所述用户间的信任度、用户间的相似度分别为:定义用户间的信任关系值度量公式如下:式中,t(u,v)∈(0,1],d(u,v)是用户u和用户v之间的最短距离;定义用户间的相似关系,提出一种基于用户评分偏好的相似度计算方法,其计算公式如下:其中,和表示用户u和用户v的所有评分的平均值,σu和σv分别表示两个用户评分的标准差,其计算表达式是通过利用评分均值和标准差可以消除偏好的影响,ru,p表示用户u对物品p的评分,Iu表示用户u评分过的物品集合。进一步的,所述步骤2)利用改进K-means算法对用户进行聚类操作,具体包括以下步骤:(1)、从可信度Tu,权威性Au以及评分多样性Du三个指标出发,对用户成为专家的可能性进行评估,式(4),(5)和(6)分别表示用户的可信度,权威性以及评分多样,综合这三个指标的均值来作为评估用户成为专家的可能性;式中,du表示用户u的入度,dmax表示信任网络中入度的最大值。Nu表示用户u评过分的物品数量。vu表示用户u的评分方差。(2)、取专家值最大的k个用户作为初始的簇中心集合,用集合的形式表示为U={expert(u1),expert(u1),…expert(uk)},其中,expert(uk)表示用户uk的专家值;聚类中心集合记为Center={ce1,ce2,…cek},其中cek表示第k个聚类簇的聚类中心;并初始化k个聚类簇,记作C={C1,C2,…Ck},其中Ck表示第k个聚类簇。(3)、对用户集合中的每个用户,计算其与所有聚类中心的混合相似度,找到其中相似度最大的用户Max(Sim(u,cei)),将用户u加入聚类中心cei所在的聚类簇Ci;(4)、更新所有的聚类中心,计算每个聚类簇中用户混合相似度均值最大的用户作为新的聚类中心,利用混合相似度计算每个簇中的用户与聚类中心的误差平方和(5)、若聚类中心未发生改变,则整个过程结束,若聚类中心发生改变,则回到步骤(3)继续执行。进一步的,所述步骤3)根据评分矩阵的评分模式利用概率的方法对评分矩阵中的用户和商品进行联合聚类,得到评分矩阵联合聚类簇具体包括以下步骤:(1)、随机初始化每个评分属于某个类别的概率p(k|ui,vj,r),满足∑k′∈Kp(k′|ui,vj,r)=1,其中k′表示某个类别,r表示用户ui对物品vj的评分。设置迭代的阈值ωmax,初始化迭代次数ω=1;(2)、对评分矩阵中的每一个用户和项目,分别根据公式(7),(8)和(9)计、算该用户和项目属于某个类别的概率以及某个类别中存在某个评分的概率;其中,r表示用户ui对物品vj的评分。式(7)中V(ui)表示用户ui评分过的项目集合,k′表示某个聚类簇;式(8)中U(vj)表示对物品vj有过评分的用户集合,式(9)中r′表示不同的评分集合;(3)、利用公式(10)计算第ω次迭代时用户ui对项目vj的评分rij属于第k个类别的概率,式中对每个概率加上α,β,γ是为了防止分母为0而设置的超参数;令ω=ω+1,并判断ω≤ωmax是否成立,如果成立的话则返回步骤(3)继续执行,如果不满足则表示获得了评分属于某个类别的概率;重复步骤(2),(3)和(4),直到所有的用户和项目以及评分都被划分到概率最大的类别中去。进一步的,所述步骤4中面向评分矩阵的联合社区结构进行矩阵分解,其正则化公式为:式中,Mw表示存在于第w个评分联合社区内的用户个数,α为调整聚类正则化程度的系数,Iig为指示函数,g∈{1,2,3...K},K表示社区数量,Iig的取值情况是,如果用户ui在社区g内时其值为1,否则为0;Neg(i)表示与用户ui在同一社区中的邻居用户集合,Ui为用户ui的偏好,Uf表示邻居用户uf的偏好,其邻居用户的平均偏好记作根据上面的假设,用户ui的偏好应该与社区内邻居用户的平均偏好相似,因此应该使该公式最小化来求得目标向量;因此,融合矩阵分解的框架得到一种结合社区结构和用户-项目聚类的联合矩阵分解模型,其目标函数如下所示:式中,表示经过联合聚类过后的子矩阵,和表示用户和物品的隐特征向量,通过随机梯度下降法不断迭代更新,来求得用户的隐特征矩阵和项目的隐特征矩阵均偏好相似,因此应该使该公式最小化来求得目标向量。因此,融合矩阵分解的框架可以得到一种结合社区结构和用户-项目聚类的联合矩阵分解模型,其目标函数如下所示:式中,表示经过联合聚类过后的子矩阵,和表示用户和物品的隐特征向量,通过随机梯度下降法不断迭代更新,来求得用户的隐特征矩阵和项目的隐特征矩阵本文档来自技高网...

【技术保护点】
1.一种基于用户社区和评分联合社区的推荐方法,其特征在于,包括以下步骤:1)、首先,基于用户间的社交关系数据得到用户间的信任度,基于用户间的评分数据得到用户间的相似度,从而得出用户间的混合相似度值;2)、然后根据混合相似度的值对用户采用改进的K‑means聚类操作,改进k‑means聚类操作改进主要在于对用户成为专家的可能性进行评估,寻找专家值最大的K个用户作为初始的聚类中心,最后得到用户聚类簇;3)、其次,根据评分矩阵的评分模式利用概率的方法对评分矩阵中的用户和商品进行联合聚类,得到评分矩阵联合聚类簇;4)、最后面向用户‑物品的联合社区结构利用矩阵分解技术,并融合用户聚类簇和评分矩阵联合聚类簇进行用户社区结构进行推荐。

【技术特征摘要】
1.一种基于用户社区和评分联合社区的推荐方法,其特征在于,包括以下步骤:1)、首先,基于用户间的社交关系数据得到用户间的信任度,基于用户间的评分数据得到用户间的相似度,从而得出用户间的混合相似度值;2)、然后根据混合相似度的值对用户采用改进的K-means聚类操作,改进k-means聚类操作改进主要在于对用户成为专家的可能性进行评估,寻找专家值最大的K个用户作为初始的聚类中心,最后得到用户聚类簇;3)、其次,根据评分矩阵的评分模式利用概率的方法对评分矩阵中的用户和商品进行联合聚类,得到评分矩阵联合聚类簇;4)、最后面向用户-物品的联合社区结构利用矩阵分解技术,并融合用户聚类簇和评分矩阵联合聚类簇进行用户社区结构进行推荐。2.根据权利要求1所述的基于用户社区和评分联合社区的推荐方法,其特征在于,步骤1)中所述分别利用输入的用户社交关系数据和用户评分数据构建用户间的信任关系和相似关系,融合两者构建新的相似度计算方法,其计算公式如下:Sim(u,v)=β·Trust(u,v)+(1-β)·SimRat(u,v)(1)式中Trust(u,v)和SimRat(u,v)分别表示用户间的信任关系和评分相似性,Trust(u,v)表示信任矩阵T中用户u和用户v之间的信任关系,Rat(u,v)表示用户u和v之间的相似关系。定义一个权重β来表示二者所占的比重,为了权衡信任关系和相似关系,这里将β设置为0.5。3.根据权利要求2所述的基于用户社区和评分联合社区的推荐方法,其特征在于,所述用户间的信任度、用户间的相似度分别为:定义用户间的信任关系值度量公式如下:式中,t(u,v)∈(0,1],d(u,v)是用户u和用户v之间的最短距离;定义用户间的相似关系,提出一种基于用户评分偏好的相似度计算方法,其计算公式如下:其中,和表示用户u和用户v的所有评分的平均值,σu和σv分别表示两个用户评分的标准差,其计算表达式是其中ru,p表示用户u对物品p的评分,Iu表示用户u评分过的物品集合,通过利用评分均值和标准差可以消除偏好的影响。4.根据权利要求1所述的基于用户社区和评分联合社区的推荐方法,其特征在于,所述步骤2)利用改进K-means算法对用户进行聚类操作,具体包括以下步骤:(1)、从可信度Tu,权威性Au以及评分多样性Du三个指标出发,对用户成为专家的可能性进行评估,式(4),(5)和(6)分别表示用户的可信度,权威性以及评分多样,综合这三个指标的均值来作为评估用户成为专家的可能性;式中du表示用户u的入度,dmax表示信任网络中入度的最大值,Nu表示用户u评过分的物品数量,vu表示用户u的评分方差;(2)、取专家值最大的k个用户作为初始的簇中心集合,用集合的形式表示为U={expert(u1),expert(u1),…expert(uk)},expert(uk)表示用户uk的专家值;聚类中心集合记为Center={ce1,ce2,…cek},其中cek表示第k个聚类簇的聚类中心;并初始化k个聚类簇,记作C={C...

【专利技术属性】
技术研发人员:文凯朱传亮易冰
申请(专利权)人:重庆邮电大学重庆信科设计有限公司
类型:发明
国别省市:重庆,50

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1