推荐系统已经被越来频繁地应用到各种电子商务网站与一些社交网站,在提高用户的满意度的同时也带来了巨大的商业 利益。然而,当前的推荐算法由于原始数据的不完整性以及算法本身处理数据的特殊性,运行效果不理想。
孔欣欣 苏本昌 王宏志 高宏 李建中
(哈尔滨工业大学计算机科学与技术学院 哈尔滨 150001)
摘要:推荐系统已经被越来频繁地应用到各种电子商务网站与一些社交网站,在提高用户的满意度的同时也带来了巨大的商业 利益。然而,当前的推荐算法由于原始数据的不完整性以及算法本身处理数据的特殊性,运行效果不理想。例如,某些推荐 系统会产生冷启动、复杂兴趣推荐困难、解释性差等问题。为此,本文提出一种基于标签权重评分的推荐系统模型,旨在使 用一种较为简洁的方式——标签权重评分来获取用户最准确的评价和需求,并通过改进当前的一些推荐算法来处理标签权重 评分数据,从而生成对用户的推荐,最后以标签权重评分的形式向用户展示推荐结果并作出合理的解释。扩展实验中,本文 通过进行电影推荐实验,证明了本文技术的有效性和可行性。
数值计算与计算机应用
关键词:计算机科学论文,推荐系统,标签权重评分,数据挖掘
论文引用格式
孔欣欣,苏本昌,王宏志,高宏,李建中,基于标签权重评分的推荐模型及算法研究,2015,Vol.38:在线出版号 No.23 Kong XinXin, SU Ben-Chang, WANG Hong-Zhi, GAO Hong, LI Jian-Zhong,Research onthe Modeling and Related Algorithms of Label-Weight Rating Based Recommendation System,Chinese Journal of Computers,2015, Vol.38: Online Publishing No.23
Research onthe Modeling and Related Algorithms of Label-Weight Rating Based
Recommendation System
Kong XinXin, SU Ben-Chang, WANG Hong-Zhi, GAO Hong, LI Jian-Zhong
(School of Computer Science, Harbin Intstitute of Technology, Harbin 150001)
AbstractRecommendation System has been frequently applied into various e-commerce websites and social networking sites.With improving users’ satisfaction,recommendation system has also brought huge commercial interests.However,as the original data is incomplete and some recommendation algorithms have their own special way of processing data,current recommendation system sometimes cannot work very well.For example,some
recommendation systems are bothered with cold-start problem 、 difficult for complex interest
recommendationproblem、poor interpretability and so on.Consequently,in the paper,we propose a recommendation system modeling based on label-weight rating.In this system,first we will get the most accurate evaluation
anddemandinginformation of users in a more concise way—label-weight rating method.Then we will generate recommendations using improvedexisting recommendation algorithm.Finally,we will show the recommendations to the users in the form of label-weight rating and make reasonable explanation to users. In the extended experiments we design a series of movie recommendationsexperiments to prove the effectiveness and feasibility of the modeling.
Keywords recommendation system;label; label-weight rating;data mining
———————————————
本课题得到国家自然科学基金(61003046,61472099)、国家“九七三”重点基础研究发展规划项目基金(2012CB316200)、国家科技支撑计划
(2015BAH10F00)资助.苏本昌,男,1989 年生,硕士研究生,主要研究方向为数据质量,孔欣欣,女,1994 年生,硕士研究生,主要研究方向为数
据质量,王宏志 (通信作者),男,1978 年生,博士,副教授,博士生导师,主要研究方向为大数据管理、数据质量管理、XML 数据管理等,
wangzh@hit.edu.cn. 高宏,女,1966 年生,博士,教授,博士生导师,主要研究领域为无线传感器网络、物联网、海量数据管理和数据挖掘.李建中,
男,1950 年生,教授,博士生导师,主要研究领域为无线传感器网络、物联网、数据库和海量数据管理.
1 引言
推荐系统[1-3]的主要任务通过分析用户信息、 物品信息或其他辅助信息,获得用户对物品的偏好特征,并据此为用户进行物品推荐。
当前的推荐算法主要包括以下三种[4]:基于内 容的算法、基于协同过滤的算法和基于标签的方法。
基于内容的算法[5,6](Content-Based Algorithm, 以下简称 CB)通过为每个物品抽取内容特征来描述
该物品,通过用户过去所喜好的物品的特征描述用户偏好特征,通过计算用户与物品之间相关性进行 推荐。
基于协同过滤的算法[7,8] (Collaborative Filter Algorithm,简称 CF)有两种情况:一种是通过对不同用户对相同物品的行为分析找出相似用户,根据 相似用户的偏好对指定用户进行物品推荐,这种称 为 基 于 用 户 的 协 同 过 滤 推 荐 (User-based Recommendation);另外一种是通过对相同用户对不 同物品的行为分析找出相似物品,根据相似物品的
相似度为指定用户进行推荐,这种称为基于物品的协同过滤推荐(Item-based Recommendation)。
基于标签的方法[9,10](Tag-Based Algorithm,简 称 TB)引入了标签信息,形成用户-标签-物品三元 关系,其中标签来源于 Web2.0 环境下用户对物品的描述。TB 算法通过分析用户的标签偏好、物品
的标签特征,基于二者相似性为用户进行物品推荐。 以上三种方法在当前推荐系统中已得到广泛
应用,然而它们都有着以下缺陷:
(1)冷启动问题[11-13]。当推荐系统中加入了新 的用户,由于没有该用户历史偏好数据(如 CB 算法
和 CF 算法)或标签数据(如 TB 算法),以致无法为用户进行有效的推荐。
(2)复杂兴趣推荐困难。当用户的兴趣突然发生变化或者多个用户共用一个账户时,用户的兴趣就变得复杂。以上三种方法对用户历史兴趣依赖过重, 很难适应这种情况,推荐也就变得不准确。
(3)可解释性差问题。为提高用户满意度,推荐 系统在进行物品推荐的同时会提供解释来说明推荐原因。推荐解释的方式与所使用的推荐算法有着
直接关系。CB 算法会提供抽取的内容特征来作解释,但是物品的特征一般很难提取。比如电影推荐, 很有可能从两部不同电影描述信息中提取出相同 的演员导演的信息,这样的推荐解释缺乏区分度和
信服力。CF 算法会提供与所推荐物品相似的物品 作为说明或者提供同样偏好所推荐物品的用户作为解释。这样的推荐解释的不足之处在于它默认相似用户偏好同一物品是基于相同的理由,这显然是不准确的。比如用户 A 和用户 B 都喜欢“阿甘正传”,而用户 A 是因为喜欢“幽默”,用户 B 是因为喜欢 “汤姆汉克斯”。如果向 A 推荐一部电影,解释为 “B 也喜欢”,就不合适了。TB 算法会为推荐的物品提供标签解释,但是不同的物品可能具有相同的 标签,这时区分度就不大,会影响用户满意度。比 如电影“美国队长”具有标签“科幻”“剧情”两个标签,电影“黑暗骑士”也具有“科幻”“剧情” 两个标签,然而看过的人知道“美国队长”中科幻 元素更强些,“黑暗骑士”的剧情更胜一筹,所以仅仅有标签还是不够。
针对以上问题,本文提出了一种基于标签权重 评 分 的 推 荐 系 统 模 型 (Label-WeightRating based Recommendation ,简称 LWR) 。 标 签 权 重 评 分 (Label-Weight Rating,简称 LWR)是对传统标签的 一种扩展,我们通过为每个标签配以相应的评分,来描述该物品或用户在该标签上的权重。同时,该 方法较以往的方法还能最大化地降低客观因素对 用户评分的影响。例如[14]中的示例,某用户可能
生过不愉快的事情,则用户在对该餐馆打分时极可
能给出较低分数,这就使得评分出现了偏差。而当 前提出的方法可以较为公正客观地解决这一问题,例如可以采用标签权重评分方法,我们可以将对餐 馆的标签评分分为:饭菜质量,用餐环境,餐厅服 务。此时用户可以对每一项打分,因为这种细分能
够最大化地降低客观因素对用户打分的影响,使得评分更为准确、真实。
本文的组织结构如下:第 1 章提出标签权重评
分推荐模型;第 2 章设计标签权重评分推荐算法;
第 3 章进行相关实验及其结果分析;第 4 章总结全 文。
2 系统模型
这一章我们介绍了基于标签权重评分推荐系 统模型。首先我们给出标签权重评分数据表示,然 后给出推荐系统架构及其数据处理流程,最后说明了本文模型在解决冷启动问题、复杂兴趣推荐问题、 可解释性差问题上的优越性。
2.1 数据表示
定义 1(标签)
标签是用来描述物品特征的,我们把标签定义
定义 4(标签权重评分数据表示相关符号定义)
数据源模块 图
1 推荐系统基本架构
基于标签权重评分推荐系统的架构如图 1 所示,主要分为数据源模块、推荐引擎模块、推荐结果处理模块和用户反馈模块。具体解释如下:
数据源模块:数据源是推荐系统进行推荐的 依据来源,主要包括用户信息集合、物品信息集 合、用户对物品的偏好评分信息、用户对物品的 标签权重评分。数据源模块的主要任务是对数据 源的获取以及预处理。
推荐引擎是推荐系统的核心,其主要作用是 使用推荐算法处理分析来自数据源的信息,根据
一 定 的 推 荐 标 准 为 用 户 推 荐 最 需 要 的 物 品 集 合
()。
推荐结果处理模块:在推荐引擎计算出对用户
进行推荐的初始物品列表后,我们要对推荐物品进 行过滤、排名,以及加上相应的标签权重向用户解 释推荐这些物品的原因。
用户反馈模块:用户在看到推荐系统提供的推 荐的物品以及推荐解释后,可以进行相应的用户信 息反馈,用户反馈模块收集并处理反馈信息,并传
的在线概念,即强调用户在在线状态下,用户能够 在线实时输入信息,并进行实时地反馈。
在线计算推荐,指的是用户在登录推荐系统后, 以标签权重评分的形式表达出当前的兴趣需求,系 统获取当前用户偏好数据,并令用户选择是否考虑 历史兴趣,若是,则结合离线计算的结果,进行在线计算,若否,则只根据当前用户偏好数据进行在线计算,最后将推荐结果进行展示。
具体流程如图 3:不管是新用户还是老用户, 都可以通过标签权重评分表达当前的偏好需求。推
荐系统获得当前的偏好数据之后首先进行预处理, 然后根据用户的选择是否依赖历史偏好数据,来决 定是否获取离线计算的结果,然后调用在线推荐算 法,进行用户的物品推荐。另外,在线计算的结果 通过计算加入到用户的历史偏好数据中。
在线
送给推荐引擎模块完成新一轮的推荐。
2.3 数据处理流程
数据预处理
数据源 推荐引擎
在线计算
离线计算 中间结果
推荐结果处理
更新 离线数据源
针对当前推荐系统存在的冷启动、复杂兴趣推 荐困难、可解释性差三个缺陷,我们给出在上述系 统架构下的三种基本推荐方式及其数据处理流程 如下:
2.3.1 离线计算推荐离线计算推荐,指的是在获得大量用户的评分
数据后,通过离线计算为用户进行物品推荐,然后 在用户登陆系统时进行结果展示。这种推荐情况把 大量计算放在线下,避免了让用户长时间等待。
具体流程如图 2:在获得用户的基本信息和偏好数据后,数据源模块首先进行预处理,然后调用相应的推荐算法进行计算,生成对每个用户的物品
推荐并把结果存储起来。最后在用户使用推荐系统时将推荐的物品通过推荐结果处理模块展示,并且
图 3 在线计算推荐数据流程
2.3.3 反馈计算推荐
反馈计算推荐,指的是用户在看到推荐结果时 通过标签权重评分机制进行反馈,即重新对系统推荐的物品进行评分以及给相应的标签进行评分。系 统获得反馈后,获取并更新与该用户相关的离线数据,结合离线计算结果形成新一轮的推荐。
具体流程如图 4:反馈计算推荐的整个过程与在线计算推荐是相似的,不同的地方是,在获得用户的反馈数据后,为了进行更好地推荐需要把反馈 数据更新到与该用户相关的历史数据中去,然后根 据更新后的数据,结合离线计算的结果进行在线计
算推荐。
反馈 获取并更新
为物品推荐标签权重解释推荐原因。
数据源
相关
离线数据 推荐引擎
在线计算
离线计算
推荐结果处理
更新
离线
数据源
数据预处理
推荐引擎 离线计算
推荐结果处理
中间结果
离线数据源
图 2 离线计算推荐数据流程
2.3.2 在线计算推荐
本文提出的在线不同于传统意义上的在线算 法,传统意义上的在线算法是在解决一个问题时事先不知道问题的所有输入数据,是序列化地一个个
地处理输入,并在有限的已知条件下做出最优选择。而本文中的在线含义类似于 QQ、飞信等通讯工具
图 4 反馈计算推荐数据流程
2.4 模型优越性阐述
这一小节,我们介绍如何利用上述三种推荐方 式来解决冷启动、复杂兴趣推荐困难、可解释性差这三个缺陷。
由于没有新用户的历史数据,无法进行离线计算,不能作出有效的推荐,也就是会出现冷启动问 题。但基于本文模型,我们允许用户通过标签权重评分机制准确表达自己的兴趣偏好,同时,我们会
对标签权重说明:1.0 表示非常不喜欢,2.0 表示不 太喜欢,3.0 表示一般喜欢,4.0 表示很喜欢,5.0 表示非常喜欢。系统把新获取的数据作为用户的标 签权重特征,调用在线计算推荐算法进行物品推荐。
例如,用户可以选择如下标签并赋予相应的
权重来表达自己的标签权重特征:
() = {("科幻", 5.0), ("超级英雄", 4.0),
("人性", 4.0), ("情节", 3.0)}
对于用户兴趣突然发生变化或多人共用一个
账户的复杂兴趣推荐问题,据笔者所知,当前还没 有很有效的在线计算方法解决。但与解决冷启动问
题相似,在本文模型下,我们允许用户通过标签权重评分机制准确表达当前的兴趣偏好,系统把新获 取的标签权重评分数据作为用户的临时标签权重特征,调用在线计算推荐算法进行物品推荐。
可以看出,冷启动问题和复杂兴趣推荐问题, 都可以在本文模型下通过在线计算解决,当然在线 计算也需要使用离线计算的结果,至于具体的在线 计算和离线计算推荐算法我们将在下一章介绍。
另外,对于当前推荐系统可解释性差的问题,
在本文模型下,我们提供基于标签权重评分的推荐 解释。这样可以让用户更详细地了解所推荐物品的特征以及在这些特征上的权重,在提高用户满意度的同时,可以让用户作出准确地反馈。系统接收到 反馈,经过用户反馈模块进行数据预处理,然后调 用反馈计算推荐算法进行物品推荐。例如可以为用
户推荐物品并提供推荐解释为:
() = {("科幻", 5.0), ("超级英雄", 5.0),
("人性", 3.0), ("情节", 4.0)}
虽然该方法使得用户操作复杂度增加,但是很
多用户还是愿意对自己的倾向做细致区分并做出 选择,以提高检索或者推荐结果的精度。以淘宝网 (www.taobao.com)和豆瓣网(www.douban.com)为例, 淘宝网用户为了购买到最符合自身需求的物品,他 们很乐意使用标签的方式来明确表明自身需求,他 们为了追求更高的准确度而可以进一步进行复杂操作,同时他们也愿意进行反馈评价,故该方法适用于淘宝网这类电子商务网站。在豆瓣网中标签应用很广泛,豆瓣用户为了找志同道合的瓣友、看感兴趣的帖子而使用标签,他们为了找出符合自身品
味的作品而愿意进行较为复杂的标签操作。因此, 该方法具有一定的实用价值。
3 算法研究
本章我们将基于标签权重评分推荐模型进行 相关算法的研究与设计。
3.1 节我们介绍了数据源分解算法,目的是通 过数据预处理获得用户与物品的标签权重特征。 3.2 节给出基于矩阵填充的离线计算推荐算法。3.3 节给出基于聚类的在线计算推荐算法。3.4 节给出 基于标签权重评分的反馈计算推荐算法。3.5 节为 本章小结。
3.1 数据源分解算法
数据源分解算法用在数据源模块,通过分解获 得的用户标签权重特征将用于相似用户的计算以及其他用户标签权重特征的计算。物品标签权重特 征将用于相似物品的计算以及作为物品的推荐解释提供给用户。
3.1.1 用户标签权重特征求解算法
求解用户的标签权重特征,其基本思想是:如果用
户对物品的偏好评分比较高,那么我们有理由认为 用户对其给予该物品的具有较高评分的标签特征 更为看重。于是我们就在计算用户的标签权重特征 时把该标签的权重按照一定的规则提高。具体流程如算法 1 所示:
算法 1:用户标签权重特征求解算法
算法流程如下:首先对所有参与计算的用户的
降低该特征的权重(7 行)。迭代地判定每个元组,直
到所有元组判定完毕(3-7 行),最后规范化() (8
3.2.1 关于奇异值分解 奇异值分解[15]是线性代数中的一种重要的矩行),返回所有参与标签权重计算的用户的标签权重
集合() (9 行)。
0]是奇异值矩阵,对角元素
由于只需要遍历一遍数据源,该分解算法的时
3.1.2 物品标签权重特征求解算法
求解物品的标签权重特征,其基本思想是:物品被
描述次数较多的标签权重特征应该被赋予较大的 权重。这里简单地把被描述的特征次数作为权重加减,也可以把标签权重评分也考虑作为特征权重加入到物品的标签权重特征。
具体流程如算法 2 所示:
算法 2:物品标签权重特征求解算法
算法流程如下:首先对计算的物品标签权重特
前的特征权重累计添加到物品 i 的相应标签权重特
征()中(5 行)。迭代地判定每个元组,直到所有元 组判定完毕(3-5 行),最后规范化()(6 行),返回得
出所有参与标签权重计算的物品的标签权重特征
3.2 离线计算推荐算法
离线推荐算法应用在推荐引擎的离线计算模 块。本文的离线推荐算法利用了奇异值分解的性质,所以首先介绍下奇异值分解相关知识。
3.2.2 基于矩阵填充的物品推荐算法
离线计算推荐算法基本思想是:利用奇异值分 解提取偏好评分矩阵的主要特征;并根据这些特征 计算用户之间的相似度;根据用户相似度找到指定
用户的近邻;根据近邻的评分数据填充指定用
户的未评分数据,得到近似评分矩阵;根据近似评
分矩阵的评分数据进行物品推荐。 具体流程如算法 3 所示:
算法 3:基于矩阵填充的推荐算法
输入:用户对物品的偏好评分矩阵(, )
为每位用户选择个邻居
输出:为每位用户推荐的物品矩阵 ( )
算法流程如下:首先对推荐物品列表初始化为
空(1 行),接着利用奇异值分解提取偏好评分矩阵的
个主要特征(2-3 行),利用奇异值分解求得近似矩
阵(4 行)。对于每一个用户,循环计算与其他用户的
相似度,并据用户相似度找到该用户的 K 近邻,直
到每个用户均计算出了自己的近邻(5-7 行)。对于 每一个用户,根据该用户的近邻的相似度,依次 补充该用户的个偏好评分特征矩阵中的未评分数
据,得到完整的近似评分矩阵(8-11 行)。根据近似
评分矩阵为用户推荐前个排名的物品,并且将结
果 进 行 离 线 存 储 , 最 后 返 回 物 品 推 荐 列 表
用户相似度采用余弦相似度[16]进行计算,公
式如下:
先对用户进行两级聚类。通过两级聚类,为指定用 户进行推荐在线推荐时,只需要比较该用户与各类代表用户的相似度找到该用所属的类,然后在类内 部计算推荐。
3.3.1 两级聚类算法 两级聚类算法先利用用户的注册信息进行粗
粒度聚类,再利用用户的标签权重特征进行细粒度 聚类。两级聚类所采用的算法是一致的,只是所利用的数据不同。
聚类算法基本思想是:初始每个用户单独成一
个集合,利用用户注册信息特征向量进行粗粒度聚 类或者利用用户标签权重特征进行细粒度聚类,计 算任意两个用户集合的相似度,然后从中选出相似度最大的两个用户集合进行合并,并作为一个用户 集合参与下一轮的合并,直至用户集合只剩下我们所需要的个数。另外,在聚类过程中,我们还会求出每个类的类代表,以便以后计算用户与类的相似度。
具体流程如算法 4 所示:
算法 4:聚类算法
输入:待聚类的用户集合 = {1, 2, … , } 需要生成的用户相似类的个数 输出:完成聚类的属性集合′ = {1, 2, … , }
算法过程:
在计算出为用户推荐的物品后,推荐结果处理
模块把我们上一节计算出的物品标签权重特征作 为推荐原因,与物品推荐列表一起展示给用户。
对于 × 的矩阵 ,该算法时间复杂度 为
所以对系统的性能影响不大。下面我们给出在线计
算推荐算法。
3.3 在线计算推荐算法
在线计算推荐算法应用在推荐引擎的在线计 算推荐模块。为了减少在线推荐所用时间,本文首
16. returnU ¢
算法流程如下:首先将每个用户初始化为一个
集合,通过循环迭代,计算出每两个类之间的相似
度,并将相应的相似对和相似度存储到中
(3-6 行)。当类的个数大于时,循环迭代(8-15 行),
寻找相似度最大的两个初始类合并为一个新类(8
行),且从中去除这两个初始类组成的相似 类和相似对(9 行)。并迭代更新(10-13 行),
更新任何一个类与这个新类的相似度为该类与这
两个初始类的相似度的均值(10 行),且从中
去除所有与这两个初始类之一相关的相似类和相
似对,同时添加该类与新类组成的相似对和相似度 (11-13 行),直到扫描完所有的类(10-13 行)。同时 从相似类集合中去除进行合并的两个类,而将新类添加到集合中(14-15 行),故每次迭代会使得生成的
相似类集合个数减 1,直到最终用户相似类类别为
算法 5:基于聚类的物品推荐算法
输入:粗粒度聚类结果′ = {1, 2, … , }
细粒度聚类结果′′ = { | = {| = 1,2, … }}
为每位用户选择个邻居
输出:为用户推荐的物品推荐列表()
算法过程:
1. () = ∅//初始推荐物品列表为空
2. foreach ′do
4. find which has highest similarity
5. foreach do
6. � = 4(, )//与细粒度类代表相似度
7. find which has highest similarity
为止。最后返回个用户相似类集合′(16 行)。
8. for each
do
在粗粒度聚类中,利用注册信息进行计算用户
其中| ∩ |表示用户 和用户 的共有信息 个数,| ∪ |表示用户 和 的总的属性个数。
在细粒度聚类中,利用标签权重特征进行计算
用户相似度时,我们采用余弦距离相似度:
算法流程如下:首先初始化物品推荐列表为空 (1 行),依次计算出当前用户与每个粗粒度类代表的 相似度(2-3 行),比较得出与当前用户相似度最大的粗粒度类(4 行)。依次计算当前用户与这个粗粒度类内部的每个细粒度类代表的相似度(5-6 行),比较得
出与当前用户相似度最大的细粒度类(7 行)。循环迭
其中,⃑ 表示用户 的标签权重特征向量,在
3.1 节计算得出。
我们利用类内部各用户信息的平均值计算出
类代表用户⃑ 。粗粒度类代表的属性信息使用类内
部在该属性上出现最多的属性值。细粒度类代表使
用类内部用户标签权重特征的平均值作为代表用 户的标签权重特征。
3.3.2 基于聚类的物品推荐算法
代计算当前用户与该细粒度类内用户的相似度(8-9
行),并找出该用户的近邻用户,并根据近邻的
评分信息计算出该用户的用户评分信息(10 行)。并
为该用户推荐前个排名的物品,最后返回物品推 荐列表()(11-12 行)。
为指定新用户进行物品推荐,需要先找到所属
的粗粒度类与细粒度类,然后找到类内部的邻居,
· )。其中, 为粗粒度类个数, 为细粒度类
2 3 1 2
基于聚类的物品推荐算法基本思想是:在收到
标签权重评分后,将其作为用户的临时标签权重特征,首先根据用户注册信息,通过计算与各个粗粒 度类代表的相似度找到所属粗粒度类,再根据标签权重特征,通过计算与各个细粒度代表的相似度找到所属的细粒度类,然后在细粒度内部找邻居,通
过判定与类内用户的相似度,得出个最近邻用户, 并根据近邻用户对物品的评分信息计算该用户的
物品评分信息,最后根据该用户的评分数据进行物
品推荐。 具体流程如算法 5 所示:
个数,3为类内邻居数。
3.4 反馈计算推荐算法
反馈计算推荐算法应用在推荐引擎的反馈计 算模块。算法基本思想是:收到用户的反馈时,首 先计算该用户的真实评分与预估评分之间的差距, 以该用户与邻居的相似度作为权重对邻居未评分 数据进行调整。然后根据调整后的用户数据调用在线计算推荐算法进行推荐。
具体流程如算法 6 所示:
算法 6:基于标签权重评分的用户反馈算法
输入:用户反馈数据
′ = {(, , , 1), (, , , 2), . . , (, , , )}
用户的邻居()
输出:为用户推荐的物品推荐列表()
算法过程:
1. () = ∅//初始推荐物品列表为空
5. foreach () do//更新邻居评分
� �
荐难、可解释性差三个当前推荐系统所具有的缺陷。 下面我们通过实验验证本文模型及算法的有效性。
4 实验验证
基于标签权重评分模型我们实现了一个电影 推荐系统。开发工具为 MyEclipse10.6,运行环境为 ubuntu 12.04-32 位系统,机器为 3.10GHz Intel(R)
Core(TM) i5-2400 CPU,4G 内存。 实验中我们使用的数据集是 GroupLens 实验室
6. ̂
· Δ//更新偏好评分
提供的 MovieLens 的电影评分数据集。该数据集包
7. foreach(, , , ) ′do//更新标签权重评分
括 1000209 个偏好评分记录和 95580 个标签描述记
8.(̂ ) − ∑
9. ̂ = ̂ − ∆//更新用偏评�)
录,有 6040 个用户,3952 部电影和 1127 个标签。
通过 3.1 节数据预处理我们得到用户对物品的
10. foreach(, , , ) ′do//该用户标签权重评分
11. (̂ ) −� )
12. () =调用在线计算推荐算法(())
13. return ()
算法流程如下:首先初始化用户的推荐物品列
为(1),根用的估分,户真实分,计算出前户预评与实分间差∆ = ̂ − (2)对用的签重
依次循环迭代计算出当前用户的每个预估标签权
重评分与真实标签评分的差距∆ (3-4 行)。对于该
用户的每个邻居,迭代更新邻居的偏好评分和标签
重分58行。次代,据∆及当前户邻的似,更新该居偏评(6 )。 据 及当用户与度,循环更
当前邻居的每个标签权重评分值(7-8 行)。直到所有
邻居评分均更新为真实值为止。最后更新当前用户的偏好评分(9 行),并迭代更新当前用户的每个标签
权重评分为真实评分(10-11 行)。最后调用在线推荐
算法计算出推荐物品列表(),并返回推荐物品列 表()(12-13 行)。
当收到用户的反馈,我们计算该用户的反馈评
分与我们的预估评分之间的差距,然后只更新该用
邻的关分据算复度
该算法避免了大规模数据的重新计算,而只调
整与反馈用户相关的数据,花费时间少,适合在线推荐。
3.5 本章小结
这一章我们介绍了在基于标签权重评分模型 下的相关算法,分别应对离线计算推荐、在线计算
偏好评分以及用户和电影的标签权重评分。其中, 偏好评分从 1~5 分别表示很不喜欢、不喜欢,一般,很喜欢,非常喜欢。同样标签权重评分从 1~5 表示 电影或用户与标签的关联度为:没有关联、很少关 联、一般关联、很大关联、非常有关联。
4.1 离线计算推荐实验
在离线计算推荐电影的实验中,我们将用户对电影的偏好评分数据集均匀分成 M 份(本文 M=8), 将每个子集数据分别做一次验证集,其余 M-1 份子 集数据作为训练集,从而得到 M 个模型,用这 M 个模型最终的验证集的分类准确率的平均数作为 整体的性能评价指标。然后调用 3.2 节的基于矩阵 填充的物品推荐算法为用户生成电影推荐列表。在 生成推荐电影列表时,我们采用如下规则:只有在
用户对电影的预估评分≥3 分时才被推荐给用户。
我们采用的评测系统性能的指标是准确率、召
回率和覆盖率[18]。一个系统推荐覆盖率越高,系 统给用户推荐的商品种类就越多,推荐多样新颖的 可能性就越大。如果一个推荐算法总是推荐给用户流行的商品,那么它的覆盖率往往很低,通常也是 多样性和新颖性很低的推荐[18]。当覆盖率相对较 高时,多样性也会较高,新颖性也不会过低。故覆盖率能有效反映推荐的多样性和新颖性指标,故采 用覆盖率来间接双重反映系统的多样新颖性。令
()为我们为用户推荐的电影列表,()为测试 集中用户评分在 3 分以上的电影列表。
那么准确率和召回率的计算如下:
推荐、反馈计算推荐三种基本推荐情况。如 2.4 节
所述,这样就可以很好地解决冷启动、复杂兴趣推
率都优于参与对比的其他方法。其中,五种算法在 覆盖率上都比较接近。由于 PMF、QSA 还有本文
覆盖率是衡量推荐系统推荐的物品在总的物
品种类中所占比例的指标。在本文中覆盖率计算如 下:
算法由于加入了标签这一数据,所以在准确率和召
回率上要高于简单的基于用户或电影的协同过滤 推荐,而本文的基于标签权重评分的算法不仅加入 了标签数据,还加入了对标签的权重描述,所以在
||
性能上要优于 PMF 和 QSA。
其中,为进行推荐的用户集合。
如 3.2 节所述,我们用户邻居为用户填充未评
分数据,所以邻居数目 K 是一个很关键的参数。我们通过改变 K 进行了对比实验。实验结果如表 1 所
示:
K准确率(%)召回率(%)覆盖率(%)
516.998.2151.33
1020.599.9541.49
2022.9911.1133.17
4024.5011.8325.87
8025.2012.1720.29
16024.9012.0315.21
表 1 基于矩阵填充的推荐算法在不同 K 参数下的性能
从表 1 可以看到,选择 K=80 左右会获得比较高的准确率和召回率。另外可以看出,随着选择邻居数目的增加,覆盖率会不断降低,这是因为邻居 数目的增加会导致为用户推荐的电影越来越倾向 于热门电影,一些冷门电影就得不到推荐,覆盖率就会下降。
为了说明本文离线推荐算法(LWR-Offline)的 优越性,我们选择 K=80,L=10,并且与现有的推荐 算法 UPCC、IPCC、PMF、QSA 做了对比实验。这 四种推荐算法的简介如下:
UPCC[19]这个方法使用皮尔逊相关系数对用 户进行聚类,然后基于相似用户进行物品推荐。
IPCC[8]这个方法使用皮尔逊相关系数对物品 进行聚类,然后基于相似物品进行物品推荐。
PMF[7]这个方法是基于用户、物品与标签的三元关系的协同过滤算法。
QSA[4]这个方法基于用户-物品-标签-评分四 阶张量的语义分析进行物品推荐。
对比实验结果如表 2 所示:
表 2 离线推荐算法与当前算法性能对比
因此,从表 2 的对比实验可以看出,尽管该方 法用户操作设置较为复杂,但是它并没有降低离线 模型的准确度,该方法的准确率、召回率、覆盖率相比其它经典推荐算法均得到了提高。因为采用这 种基于标签权重评分的模型相比以往的方法,离线训练数据中增加了标签权重值,同时结合用户的海量评分信息,能够对用户的品味做出更细化的划分,因此离线模型的准确度会更高。
4.2 在线计算推荐实验
这部实验我们结合离线计算的结果,调用在线 计算推荐算法,为只有注册信息的新用户或者突然改变兴趣爱好的老用户进行推荐,即主要为了解决 冷启动问题与复杂兴趣推荐问题。
实验设计如下:随机抽取 N(本文 N=1000)个用 户,通过 3.1.1 数据预处理获得这些用户的标签权 重评分;从数据集中抽出这些用户的评分信息作为 测试集,清除这些用户在数据集中的评分信息但保 留注册信息,剩余数据作为训练集;把选中的 N 个 用户看作新用户,当这些新用户登录至推荐系统后, 把他们的标签权重评分输入系统以表达当前的兴 趣要求,调用在线推荐算法,首先根据用户注册信息找到所属粗粒度类,再根据用户标签权重评分在 细粒度内找邻居,根据邻居对物品的评分信息计算
出该用户的物品评分信息,最后进行物品推荐。数据集中 N 个用户的评分信息为测试集,且测试集中
用户评分在 3 分以上的电影列表为()。通过在 线推荐算法得到的物品推荐为()。准确率、召回
率、覆盖率计算公式同离线计算推荐实验。
计算 N 个用户的平均准确率和召回率。与离线 计算推荐、Radom 推荐、Popular 推荐进行对比实 验。其中,Radom 推荐是指为每次用户随机推荐 L(本文 L=10)部电影;Popular 推荐是指每次为用户 推荐整体评分最高的 L(本文 L=10)部电影。结果如
表 3 所示:
Algorithm准确率(%)召回率(%)覆盖率(%)
UPCC15.797.1818.33
IPCC15.867.9519.15
PMF19.899.8319.17
QSA21.4311.9620.02
LWR-Offline25.2012.1720.29
表 3 在线推荐算法性能
可以发现,本文模型在准确率、召回率和覆盖
Algorithm 准确率(%) 召回率(%) 覆盖率(%)
Random 0.765 0.455 100
Popular 10.73 5.95 3.10
LWR-Offline 25.20 12.17 20.29
LWR-Online 18.15 10.08 16.17
从表 3 可以发现,从多个角度分析,在线计算 推荐算法(LWR-Online)在性能上与离线计算推荐算 法是有一定差距,这是因为输入数据并没用到被推 荐用户的本身的偏好评分信息,而只用了用户的标签权重特征。但是该算法的准确率和召回率远远高 于 Random 推荐算法和 Popular 推荐算法,所以对 于解决冷启动和复杂兴趣推荐问题还是很有帮助 的。另外,对比研究前沿的算法[20]实验数据,针
对数据集 MovieLens 时,[20]算法 Recall[1%,5%],
从召回率的角度分析,LWR-Online 算法明显优于
[20]的算法。从[21]中的算法 NBI 的实验数据分析, Precision=16.2%,从精确度角度分析,LWR-Online 算法也优于 NBI 算法。故 LWR-Online 具有非常好 的性能。另外,为了提高在线推荐算法的性能我们加入了用户反馈机制,我们将通过用户反馈计算推 荐实验证明该机制的有效性。
4.3 反馈计算推荐实验
实验设计如下:随机抽取 N(本文 N=1000)个用 户,首先进行 3.2 节的在线计算推荐实验,不同的是每次为用户推荐 L(本文 L=10)部电影,同时提供 标签权重评分形式的推荐解释,即为每个电影配以 L(本文 L=10)个标签,并且每个标签都会有相应的 权重表明该电影在该标签上的重要性。然后用户可 以通过标签权重评分对推荐的电影进行反馈,系统接收反馈,调用反馈计算推荐算法进行下一轮的推荐。
每一轮实验我们将数据集的 N 个用户的评分信
息作为测试集,且测试集中用户评分在 3 分以上 的电影列表为(),每次调用在线反馈机制后得出的物品推荐为()。推荐准确率计算方式同离线计
算推荐实验。将每次调用我们都计算平均绝对误差
�、推荐准率作为量用户馈能标
计算如下
Algorithm MAE Precision(%)
Round5 0.95 23.44
从表中可以看出,从第 1 轮到第 5 轮,我们通
用户反调整推使得平绝对�有了
17%的提升,准确率有了 25%的提升,而且通过 5
轮反馈对新用户的在线计算推荐的准确率已经非 常接近对老用户的离线计算推荐,再次体现出本文 模型在解决冷启动与复杂兴趣推荐问题上的优越性。
另外,为了检验用户对于基于标签权重评分的
推荐解释的满意度,我们进行了一场用户问卷调查。 我们对 65 名用户进行问卷调查:每位用户被推荐一个自己比较喜欢的电影,并且会被提供四种推荐 解释;每位用户要求对这些推荐进行评分,来表达 他们对这些推荐解释的满意程度。我们通过计算用 户的平均评分来对比用户满意度。评分从 1 到 5 表 示非常不满意、不太满意、一般满意、很满意、非常满意。
调查结果如表 5 所示:
表 5 推荐解释的用户问卷调查
类型 平均分 排名
基于相似用户 3.6 4
基于相似物品 4.2 3
基于标签 4.4 2
基于标签权重评分 4.5 1
从表 5 中可以看出,用户对基于标签权重评分 的推荐解释更能让人满意,因为这样的解释不仅能 清楚地给出了推荐物品的特征,而且能描述物品在这些特征上的重要性。该调查表明了本文所提出的 模型在解决推荐原因可解释性差问题上的优越性。
通过本模型的离线推荐算法,在线推荐算法及
反馈推荐算法较相关推荐算法的实验对比,可以看 出本模型的准确率、召回率均较高,这体现了本方法的性能上的优越性。同时表 5 说明用户对基于标签权重评分推荐系统解释很满意,这表明本文提出 方法的合理性。
||
5 总结
对比实验结果如表 4 所示:
AlgorithmMAEPrecision(%)
Round11.1518.63
Round21.0320.22
Round30.9523.17
Round40.9323.45
表 4 反馈推荐算法在多轮反馈中的性能对比
为了当前推荐系统存在的冷启动、复杂兴趣推 荐困难、可解释性差三个问题,本文提出了基于标 签权重评分的推荐系统模型,介绍在该模型下的三 种推荐方式在解决这三个问题上的优越性。然后为 了实现这三种推荐方式,我们进行了相关算法的深 入研究。最后通过实验验证了本文技术的有效性。
未来拟对基于标签权重推荐系统的效率和有 效性进行进一步优化,使之适应大规模数据。另外 一项未来的研究工作是如何提高离线训练数据的收集质量,进一步提高模型的准确度。
参考文献
[1] Burke R. Knowledge-based recommender systems. Encyclopedia of Library and Information Science, 2000, 4:2000.
[2] Lü L, Medo M, Yeung C H, et al. Recommender systems. Physics Reports, 2012, 519(1):1-49.
[3] Liu Jian-Guo, Zhou Tao, Wang Bing-Hong. The research progress of personal recommender systems.Progress in Natural Science,2009,19(1):1-15.
刘建国, 周涛, 汪秉宏. 个性化推荐系统的研究进展. 自然科学进
展, 2009, 19(1):1-15.
[4] Wei C, Hsu W, Lee M L. A unified framework for recommendations based on quaternary semantic analysis//Proceedings of the 34th international ACM SIGIR conference on Research and development in Information Retrieval. Beijing, China,2011:1023-1032.
[5] Balabanovic M, Shoham Y. Fab: Content-based, collaborativerecom- mendation//Communications of the ACM.Zurich,Switzerland, 1997:66-72.
[6] Mooney R J, Roy L. Content-based book recommending using learning for text categorization//Proceedings of the fifth ACM conference on Digital libraries. San Antonio, USA, 2000:195-204.
[7] Salakhutdinov R. and AndriyMnih. 2007. Probabilistic matrix factorization. Advances in Neural Information Processing Systems, 2008:1257-1264.
[8] Sarwar B, Karypis G, Konstan J, et al. Item-based collaborative filtering recommendation algorithms//Proceedings of the 10th international conference on World Wide Web. Hong Kong, China, 2001:285-295.
[9] Tso-Sutter K H L, Marinho L B, Schmidt-Thieme L. Tag-aware recommender systems by fusion of collaborative filtering algorithms//Proceedings of the 2008 ACM symposium on Applied Computing.Fortaleza, Brazil,2008: 1995-1999.
[10] Zhang Z K, Zhou T, Zhang Y C. Tag-aware recommender systems: astate-of-the-art survey. Journal of Computer Science & Technology, 2011, 26(5):767-777.
[11] Zhang Z K, Liu C, Zhang Y C, et al. Solving the cold-start problem in recommender systems with social tags. EPL (Europhysics Letters), 2010, 92(2): 28002-28007(6).
[12] Schein A I, Popescul A, Ungar L H, et al. Methods and metrics for cold-start recommendations//Proceedings of the 25th annual
international ACM SIGIR conference on Research and development in information retrieval.Tampere, Finland, 2002:253-260.
[13] Lin J, Sugiyama K, Kan M Y, et al. Addressing cold-start in app recommendation: latent user models constructed from twitter followers//Proceedings of the 36th international ACM SIGIR conference on Research and development in information retrieval, Dublin,Ireland, 2013: 283-292.
[14] Qu Yi-Heng, He Jia-Peng, Liang Zhou-Yang. The application of multidimensional scoring criteria in recommender systems.Collective economy of China, 2008, (21):85-86.
曲懿恒, 何嘉鹏, 梁周扬. 多维评分标准在推荐系统中的应用. 中
国集体经济, 2008, (21):85-86.
[15] Herlocker J L, Konstan J A, Riedl J. Explaining collaborative filtering recommendations//Proceedings of the 2000 ACM conference on Computer supported cooperative work. Philadelphia, USA, 2000:241-250.
[16] Tintarev N. Explanations of recommendations//Proceedings of the 2007 ACM conference on Recommender systems.Minneapolis, USA, 2007: 203-206.
[17] Chen W, Hsu W, Lee M L. Tagcloud-based explanation with feedback for recommender systems//Proceedings of the 36th international ACM SIGIR conference on Research and development in information retrieval. Dublin,Ireland, 2013: 945-948.
[18] Zhu Yu-Xiao, Lü Lin-Yuan. Evaluation metrics for recommender systems.Journal of University of Electronic Science and Technology of China, 2012, 41(2):163-175.
朱郁筱, 吕琳媛. 推荐系统评价指标综述. 电子科技大学学报, 2012,
41(2):163-175.
[19] Resnick, Paul, Iacovou, Neophytos, Suchak, Mitesh, et al. GroupLens: an open architecture for collaborative filtering of netnews//In Proceedings of the 1994 ACM conference on Computer supported cooperative work. Chapel Hill, USA, 1994:175-186.
[20] Zhang Z K, Zhou T, Zhang Y C. Personalized recommendation via integrated diffusion on user–item–tag tripartite graphs. Physica A: Statistical Mechanics and its Applications, 2010, 389(1): 179-186.
[21] Zhou T, Ren J, Medo M, et al. Bipartite network projection and person- al recommendation. Physical Review E, 2007, 76(4): 70-80.
附录X.
Kong XinXin,born in 1994, M.S. candidate. Her research interests focus on data quality.
Ph.D.. His research interests include data quality,XML data management.
GAO Hong , born in 1966, Ph.D.,professor,Ph.D.
supervisor. Her research interests include wireless sensor networks,cyber-physical systems,massive data management and data mining.
LI Jian-Zhong , born in 1950, professor,Ph.D.
supervisor. His research interests include wireless sensor
SU Ben-Chang, born in 1989,M.S.candidate.His research interests focus on data quality.
WANG Hong-Zhi,born in 1978, associate professor,
Background
Recommendation System has been frequently applied into people’s real-life. With improving users’ acceptance, recommendation system has brought huge commercial interests. However, as the original data is incomplete and some recommendation algorithms have their own special ways of processing data, current recommendation system sometimes cannot work very well. For example, some recommendation systems are bothered with cold-start problem, difficult for complex interest recommendationproblem,poor interpretability and so on. There already have existed some methods on solving these problems. However, they all have their own restrictions. As far as I know, there haven’t had any effective methods tosolvecomplex-interest recommendations problem.
In the paper, we propose a label-weight rating based recommendation system model. In the model, we will get the
networks,cyper-physical system, database, massive data processing etc
precise information of users’ need by the simple way of using label-weight rating. Then we will generate recommendations using improved existing recommendation algorithm. At last, we will show the recommendations to the users in the form of label-weight rating. In addition, it is feasible for users to give their’ feedback to the system and get more accuracy recommendations.
This work is supported in part by the This paper was partially supported by NGFR 973 grant 2012CB316200, NSFC grant 61472099,61133002 and National Sci-Tech Support Plan 2015BAH10F00.
联系人:王宏志电话:130*****146
Email:wangzh@hit.edu.cn
推荐阅读:《数值计算与计算机应用》(季刊)创刊于1980年,是由中国科学院数学与系统科学研究院主办的学术性刊物。