您好, 访客   登录/注册

基于用户评分和项目属性的稀疏矩阵预测研究

来源:用户上传      作者:王辉 姜丹 徐海鸥

  摘要:协同过滤是根据兴趣相投、拥有相似体验邻居用户的喜好来向目标用户预测和推荐感兴趣的信息。然而,由于评分矩阵的稀疏性以及冷启动问题,现有的协同过滤技术在推荐效果上差强人意。该文提出了一种将用户评分和项目属性相结合来进行评分矩阵填充的新方法。首先利用项目属性来构造布尔矩阵,其次,通过比较两个项目之间的欧几里德距离,来预测空白无评价元素。实验结果表明,该文采用的方法有助于预测稀疏矩阵的未评价空白数据,填充准确度合理。
  关键词:协同过滤;稀疏矩阵;特征值矩阵
  中图分类号:TP391      文献标识码:A      文章编号:1009-3044(2019)02-0273-03
  Sparse Matrix Prediction Filling in Collaborative Filtering
  WANG Hui,JIANG Dan,XU Hai-Ou
  (Dept.of Basic Science,Dalian Naval Academy,Dalian 116018, China)
  Abstract: Collaborative filtering is one of the most successful techniques that attempts to recommend items (such as music, movies, web sites) that are likely of interest to the people. However, Existing CF technique may work poorly due to the sparse attribute inherent to the rating data. In this paper, a new mechanism that combines the user-based rating and item attribute-based is presented. First, we use the inherent item attributes to construct Boolean matrix. Second, we propose a  novel blank unrated element prediction approach to compute the similarity of items by comparing the Euclidean distance between two items. Case studies show that our approach contributes to predict the unrated blank data for sparse matrix. The filling-in accuracy is also acceptable and reasonable.
  Key words: collaborative filtering; sparse matrix; eigenvalue matrix
  随着互联网、网络技术及其相关电子商务的快速发展,推荐系统成为电子商务领域研究的一项重要内容。协同过滤技术(CF)是推荐系统中关键技术之一[1-3],它利用人们的从众心里,基于这样的假设“我会喜欢和我兴趣爱好相似的人推荐的商品”。根据具有类似观点的用户的行为来对目标用户进行推荐或者预测。如今,协同过滤技术已经逐渐在各种应用系统中得到应用。然而,CF技术也存在缺陷,稀疏性问题是协同过滤技术中重要问题之一[4-5]。Sawrar等人[6]将奇异值分解方法用于用户的项目评分矩阵中。Oyanagi等人[7-10]采用了一种新的数据挖掘方法一矩阵聚类,从一个稀疏的矩阵中抽取出若干个较稠密的子矩阵,这种矩阵聚类方法类似于关联规则挖掘,有相应的信任度与支持度。本文重点研究了CF中的数据稀疏问题,提出了将基于用户评分和项目属性引入到CF中。利用项目属性构造布尔矩阵,并提出了一种新的项目相似度计算机制来预测稀疏用户项目矩阵中的空白元素。
  1 构造项目属性特征值矩阵
  随着电子商务的快速发展,交易商品数量呈海量模式增长。可是对于普通用户来说,购买商品之后只对一小部分有评价,那么,即使两个用户兴趣爱好相似,但是却没有对同一商品评分,推荐系统也没有办法计算两个用户的相似度。按照传统的方法,可以提前设置一个固定的值,例如平均分或者中位数,用它来代替没有评分商品的评分,可这样也存在问题,不同商品的评分不一定完全相同,所以这种方法的推荐准确性不是很高。实际上,不同商品都有各自的属性特征,不同属性值组成了商品本身,通过属性值可以区别不同的商品实体。[利用属性之间的相似度可以计算出商品之间的相似度。例如:一共有三个商品,商品A颜色是红色,材质是橡胶,产地是大连,则属性为(颜色,材质,产地)属性值为(红色,橡胶,大连),同理商品B,属性为(颜色,材质,产地),属性值为(红色,塑料,北京)商品C,属性为(颜色,材质,产地),属性值为(蓝色、塑料、北京)。可以看出,商品B和商品C属性值(塑料,北京)最为相似,因此从相似性的角度来说,商品B和商品C的相似度比商品A与商品B的相似度要高,也高于商品A商品C的相似度。
  可见,每个项目都有独立于其他项目的特征值,因此可以利用项目的特征值来计算项目之间的相似性,进而解决用户评分矩阵的稀疏性问题。
  2 未评分矩阵元素的评分预测
  首先构造項目的特征值矩阵。方法是:将每个项目分为多个维度。每个维度都是项目的属性。同时,每个属性都具有其初始特征值。为了简化问题,本文使用布尔变量(0或1)构造特征值矩阵,用1表示电影是有某种属性,0表示不具有该属性。并采用两个项目之间的欧氏距离[16-20]来确定项目之间的相似度。   [d(itemi,itemj)=m=1npitemi-pitemj]                    (1)
  其中[d(itemi,itemj)]为项目i与项目j的欧几里德距离,[pitemi]为项目i的第m个索引值,[pitemj]为项目j的第m个索引值。则项目i与项目j的相似度定义为:
  [sims(itemi,itemj)=11+d(itemi,itemj)]                   (2)
  对于所有矩阵空白元素,可以根据下面的公式来生成:
  [Ri=j=1nRj*sims(itemi,itemj)j=1nsims(itemi,itemj)]                 (3)
  其中[Ri]是用户对项目i的预测评级,[Rj]是用户对项目j的评级,[sims(itemi,itemj)]是项目i和项目j的相似度。
  由此可见,可以采用两个项目之间的相似度计算公式(3)来预测所有未评分的项目,以此来填充稀疏的用户项目矩阵。
  3 案例分析与结果分析
  3.1 案例分析
  本文采用爱奇艺电影推荐系统作为协同过滤的一个具体例子。首先假设有M个用户和N个项目(电影),这样就可以得到用户-项目评分矩阵(如表1所示)。每部电影都可以看作是一个项目,每个项目通常都有基本概念级别的详细信息。如果存在这样的评分,则矩阵元素表示用户对项目的评分,相反,如果元素为空,则表示没有这样的评分。在本文中,每一个电影项目包含四个偏好:体裁,语言,发布年份和国家。每个偏好都有几个原始值。例如,体裁包含动作,冒险,神秘,戏剧,纪录片,浪漫,喜剧。语言包括中文、广东话、英语、日语、韩语。发布年份包括2年以下,五年以下,五年以上。国家包括中国、欧美地区、日本、韩国。
  在该矩阵中,用户是行,项目(电影)是列。每个空格包含用户对该项目的评价,用户的评分可分为五种偏好(1至5),通过评分,系统的每个用户都能表达自己对那喜欢和不喜欢的电影的看法。例如,1颗星表示用户感觉糟糕,5颗星表示用户感觉良好。从表格中可以看到用户1对电影项目1的评价是5颗星,而用户2对同一部电影的评价是3颗星。以下表2到表4分别是项目1到项目4,在体裁,语言,发布年份和国家的四个偏好上的评分,1表示有评分,0表示无评分。无评分则看作空白评价。
  可见,用户项目矩阵中的大多数元素是未评价的空白数据。为了提高填充的准确度,本文首先根据项目属性构造布尔矩阵。假设项目1是“卧虎藏龙”,项目2是“古墓丽影”,项目3是“指环王”,项目4是“史密斯夫妇”。这样,可以得到项目的特征值矩阵(如表2—表5所示)。
  计算用户1对项目2的预测等级,根据公式(1),本文首先分别计算项目2和项目1、项目3、项目4之间的欧几里德距离,结果为:
  [d(item2,item1)=7],[d(item2,item3)=1],[d(item2,item4)=2]。根据计算可知,项目2和项目3之间的距离最近。将其结果带入公式(2),分别计算项目2和项目1、项目3、项目4之间的相似度,结果为:[sim(item2,item1)=0.27],[sim(item2,item3)=0.5],[sim(item2,item4)=0.33],因此,在公式(3)中,用户1对项目2的预测等级为:[]
  [5*0.27+4*0.5+5*0.330.27+0.5+0.33=4.54≈5]
  通过同样的方法,可以对稀疏的用户项目矩阵进行填充,在填充空白元素之后,新的用户项目矩阵(m*n)如表6所示。
  3.2 结果分析
  根据用户项目矩阵中的原始评分数据,对比采用本文方法预测的空白项目准确度,预测数据与原始数据的比较结果如图1,图2(预测结果整数化后)所示:
  利用movielens数据集测试本文提出的结合项目属性特征的混合推荐算法和传统的基于用户的协同过滤算法的平均绝对偏差MAE。结果表明,本文提出的改进方法预测结果接近初始评分数据,舍入结果也符预期。
  4 结束语
  基于最近邻协同过滤推荐算法要求在全体用户空间范围内来搜索目标用户的最近邻,如今,数据量越来越大,系统规模也在不断地扩充,这种方式导致系统的实时性能降低,评分数据的缺失成为协同过滤推荐系统存在的重要问题,严重影响推荐的准确度。针对这个问题,本文提出了一种提出了结合用户的评分和项目属性特征值矩阵的混合算法來计算项目相似度,以此进行未评分数据的预测填充。降低了由于用户评分数据缺失所造成的评分矩阵稀疏程度,提高推荐准确度。在MovieLens数据集上的试验结果表明,该算法能够明显地提高推荐准确度。
  参考文献:
  [1] 许海玲,吴潇,李晓东,等.互联网推荐系统比较研究[J].软件学报,2009(2).
  [2] Greg Linden, Brent Smith, Jeremy York.Amazon.com recommendations: Item-to-item collaborative[C]//IEEE INTERNET COMPUTING,IEEE COMPUTER SOCIETY, 2003,7:76-80.
  [3] Hao Ma, Irwin King, Michael R Lyu.Effective  missing data prediction for collaborative filtering[C]. Proceedings of the 30th annual international ACM SIGIR conference on Research and development in information retrieval,2007:39-46.   [4] Sawar B M, Karypis G, Konstan J A,et al. Application of Dimensionality Reduction in Recommender Systems-A Case Study[C]. ACM. WebKDD 2000 Web Mining for E-Commerce Workshop, 2000.
  [5] Oyanagi S,Kubota K, Nakase A.Application of Martix Clustering to Web Log Analysis and Access Prediction[C]. San Francisco,CA:Proceedings of the WebKDD workshop(WebKDD 2001),2005:13-21.
  [6] Prem Melville,Raymond J.Mooneyand Ramadass Nagarajan.Content-Boosted Collaborative Filtering for Improved Recommendations[C].Proceedings of the Eighteenth National Conference on Artificial Intelligence(AAAI-2002), Edmonton, Canada, 2002:187-192.
  [7] 李大学,谢名亮,赵学斌.结合项目类别信息的协同过滤推荐算法[J].重庆邮电大学学报:自然科学版,2010(6).
  [8] 辛勤芳.基于项目聚类的协同过滤算法研究[J].赤峰学院学报:自然科学版,2011(9).
  [9] 刘晓波.基于关联规则的电子商务商品推荐系统研究[J].企业管理学术论丛,2008(52):78-79.
  [10] 郭艳红,邓贵仕.协同过滤的一种个性化推荐算法研究[J].计算机应用研究,2008(1).
  [11] 王义,马尚才.基于用户行为的个性化推荐系统的设计与应用[J].计算机系统应用,2010(8).
  [12] 高灵渲,张巍,霍颖翔,等.改进的聚类模式过滤推荐算法[J].江西师范大学学报:自然科学版,2012(1).
  [13] 李大学,谢名亮,赵学斌.结合项目类别信息的协同过滤推荐算法[J].重庆邮电大学学报:自然科学版,2010(6).
  [14] 许建潮,王红梅.改进的协同过滤算法[J].吉林大学学报:信息科学版,2008(1).
  [15] 赵晓煜,黄小原,曹忠鹏.基于顾客交易数据的协同过滤推荐方法[J].東北大学学报:自然科学版,2009(12).
  [16] 邓爱林,朱扬勇,施伯乐.基于项目评分预测的协同过滤推荐算法[J].软件学报,2003(9):1-8.
  [17] 徐德智,李小慧.基于云模型的项目评分预测推荐算法[J].计算机工程,2010(17).
  [18] 魏衍君,楚志凯.电子商务智能推荐技术研究[J].商丘职业技术学院学报,2011(2).
  [19] 刘继,邓贵仕.基于最近邻评价矩阵的混合协同过滤推荐算法[J].情报学报,2007(6).
  [20] 吴颜,沈洁,顾天竺, 等.协同过滤推荐系统中数据稀疏问题的解决[J].计算机应用研究,2007(6).
转载注明来源:https://www.xzbu.com/8/view-15270149.htm