TyCo:面向基于典型性的协同过滤推荐外文翻译资料
2023-04-13 10:43:25
英语原文共 8 页,剩余内容已隐藏,支付完成后下载完整资料
2010年第22届人工智能工具国际会议
TyCo:面向基于典型性的协同过滤推荐
蔡邑
计算机科学系
香港城巿大学
中国香港
电子邮件:yicai3@cityu.edu.hk
梁浩峰
计算机科学与工程系
香港中文大学
中国香港
电子邮件:lhf@cuhk.edu.hk
李晴
计算机科学系
香港城巿大学
中国香港
电子邮件:itqli@cityu.edu.hk
唐杰
计算机科学与技术系
清华大学
中国北京
电子邮件:jietang@tsinghua.edu.cn
李娟子
计算机科学与技术系
清华大学
中国北京
电子邮件:ljz@keg.cs.tsinghua.edu.cn
摘要——协同过滤(CF)是推荐系统中一项重要而普遍的技术。然而,目前的协同过滤方法存在一些问题,如稀疏性问题、推荐不准确和预测误差大等问题。本文借鉴认知心理学中对象典型性的思想,提出了一种新的基于典型性的协同过滤推荐方法TyCo。基于典型性的CF的一个显著特点是,它根据用户群体中的用户典型性程度(而不是传统CF中用户的共评项目或项目的共同用户)来寻找用户的lsquo;邻居rsquo;。据我们所知,还没有通过结合对象典型性来研究协同过滤推荐的工作。我们进行实验来验证TyCo,并将其与以前的方法进行比较。
一、导言
推荐系统的流行技术,工业界和学术界都做了大量的工作。这些方法分为基于用户的CF(例如[21]和[8]),基于项目的CF(例如[21]和[6])。他们试图找出与用户具有相似偏好模式的一组用户(即用户的“邻居”),并向用户推荐同一组中的其他用户喜欢的项目,或者基于具有高相关性的其他项目(即项目的“邻居”)向用户提供关于项目的推荐。在所有的协同过滤方法中,找到用户(项目)的邻居相似用户(项目)的集合是非常重要的一步。目前,几乎所有的协同过滤方法都是基于用户对项目的共同评分(或项目的共同用户)来衡量用户的相似性(或项目的相似性)。虽然这些推荐方法在电子商务中被广泛使用,但它们面临着一些挑战。
- 稀疏问题。稀疏性问题是具有有限评级的问题,因此很难找出用户或项目之间的相关性[11]。当可用数据不足以识别相似用户或项目时,就会出现这种情况,这是限制协同过滤推荐质量的一个主要问题[1]。
- 推荐准确度。人们要求推荐系统尽可能准确地预测用户的偏好或评分。然而,当前系统提供的一些预测可能与用户给出的实际偏好或评级非常不同。这些不准确的预测可能会降低用户对推荐系统的信任,尤其是大误差预测。
面对上述挑战,我们想知道基于用户共同评价项目来衡量用户的相似性以发现用户的“邻居”的机制是否足够好?我们能否找到一种更好的方法来选择用户的“邻居”进行协同过滤,从而更好地应对挑战?由于推荐系统的任务是预测用户对项目的偏好,并推荐用户喜爱的项目,因此我们认为在推荐过程中有必要考虑人们的想法和感受。
在认知心理学中,心理学家发现现实生活中物体在概念上有不同的典型性程度。例如,在“鸟”的概念中,麻雀比企鹅更典型。换句话说,人们可能认为不同的项目在不同的项目组中有不同的典型度。比如《泰坦尼克号》是一部非常典型的言情电影。此外,不同的用户在用户群(即喜欢特定项目组中项目的一组用户)中可能具有不同的典型性。例如,在“喜欢战争电影的用户”的概念中,Bob是一个非常典型的用户,而在“喜欢爱情电影的用户”的概念中,他是一个非典型用户。
实际上,人们喜欢将项目分成几组相似项目的集群。人们对项目组也有不同的喜好。他们属于不同的用户群体,具有不同的典型性。
因此,本文借鉴认知心理学中对象典型性的思想,提出了一种基于典型性的协同过滤推荐方法TyCo。基于典型性的协同过滤推荐机制如下:首先,我们将所有的项目分成几个项目组,比如我们可以把所有的电影聚类成“战争片”、“言情片”等等。其次,我们可以形成一个用户组(即喜欢某个特定项目组中项目的用户集合),对应于每个项目组,所有用户在每个用户组中都有不同的典型度。第三,我们建立一个用户典型矩阵,根据用户在所有用户组中的典型程度来度量用户的相似性,从而选择每个用户的一组“邻居”。然后,我们基于用户的“邻居”对某个项目的评级来预测该用户对该项目的未知评级。
基于典型性的CF推荐的一个显著特征是,它通过基于用户在用户组中的典型度度量用户的相似性来选择用户的“邻居”,这不同于以往的方法。据我们所知,还没有将典型性结合到协同过滤推荐中的研究。Tyco提供了一个新的视角来研究CF推荐。我们进行了实验来验证所提出的方法,并与先前的方法进行比较。实验表明,泰Tyco有几个优势。该方法可以获得更高的推荐质量,即使在稀疏训练数据集下也能更好地工作,并且比以前的方法产生更少的大误差预测。
本文的结构如下。第2节介绍了研究背景和相关工作。第3节详细介绍了基于典型性的协同过滤方法。在第4节中,我们使用MovieLens数据集1评估了所提出的基于典型性的CF方法,并将其与以前的方法进行了比较。我们在第5节总结了本文。
二、背景和相关工作
A.原型观与典型性
根据认知心理学,对象典型性是一个概念中对象作为范例的良好程度的度量[18]。对象典型性取决于概念的大多数对象所共有的属性,这些属性通常包括定义概念所不必要的属性[7]。在原型观[17]中,一个概念由一个最佳原型或一个属性列表来表示,该列表具有被归为该概念的对象的所有显著属性。如果一个对象与概念的原型更相似,则认为它在概念中更典型。在[3]中,Barsalou测量了一个影响概念中对象的典型性且名为集中趋势的因素。集中趋势是指一个对象的“家族相似性”的程度,一个对象与概念的其他成员越相似,它在概念中就越典型。
在计算机科学中有一些关于测量对象典型性的工作。Rifqi[19]提出了一种在大型数据库中计算对象典型性的方法,后来Lesot等人[13]对该方法进行了扩展。在他们的作品中,一个成员对其所属类别的对象典型性取决于它与该类别其他成员的相似性,以及它与其他类别成员的不相似性。蔡和梁[5][4]已经通过在本体中构建几个向量来形式化对象典型性。他们模型中某个概念中某个对象的典型性,就是该对象属性向量与该概念原型向量的相似匹配程度。所有这些工作都集中在开发计算概念中对象典型性的方法上。在协同过滤推荐中还没有集成典型性的工作。
B.协同过滤
协同过滤推荐方法基于其他相似用户或项目的偏好来预测活跃用户对项目的偏好。由于协同过滤方法不需要结构良好的项目描述,因此它们比基于内容的方法更容易实现[1],学术界和工业界开发了许多协同系统。比如GroupLens [12],PHOAKS [23]等等。协同过滤方法有两种,即基于用户的CF方法和基于项目的CF方法[1]。
基于用户的CF方法的基本思想是根据其他志同道合的用户对该项目的意见,为该用户提供项目推荐。基于用户的CF方法首先为每个用户找出一组最近的“邻居”(相似用户),这些邻居与其对应的用户共享相似的喜好或兴趣。它试图根据用户的“邻居”对某个未评级项目的评级,预测该活跃用户对该项目的喜爱程度或评级。例如,Aggarwal等人[2]提出了一种基于图的技术,其中节点是用户,节点之间的边表示用于协同过滤用户的相似性。Herlocker等人[8]提出了一个用于执行协同过滤的算法框架和新的算法元素,可以提高CF算法的准确性。
基于项目的CF方法的基本思想是基于其他具有高相关性的项目向用户提供关于一个项目的推荐。与基于用户的CF不同,基于项目的CF方法首先基于项目相似性比较为每个项目而不是每个用户找出一组最近的“邻居”(相似项目)。基于项目的CF推荐系统试图基于用户对目标项目的最近邻居给出的评级来预测用户对项目的评级。例如,Sarwar等人[21]讨论了测量项目相似性和获得基于项目的CF推荐的不同技术。
基于用户的CF和基于项目的CF的主要区别在于前者试图为活跃用户寻找相似用户,而后者试图为活跃项目寻找相似项目。有一些混合方法,无论是基于用户的CF还是基于项目的CF,用户或项目之间的相似性度量都是非常重要的一步。皮尔逊相关系数、余弦相似度、向量空间相似度等被广泛应用在协同过滤方法中的相似性度量中[1]。此外,Herlocker等人[9]讨论了评估协同过滤推荐系统的几个关键决策。黄等人[11]尝试应用关联检索技术来缓解稀疏性问题。薛等人[27]提出了基于聚类的皮尔逊相关系数法(SCBPCC)。王等[25]使用相似性融合将基于用户的CF和基于项目的CF结合起来,马等[16]提出了一种有效的缺失数据预测(EMDP)将基于项目的CF和基于用户的CF结合起来,最近,李等[14]提出了一种利用跨领域信息的基于迁移学习推荐方法。
三、基于典型性的协同过滤
在本节中。基于认知心理学的理论,我们提出了一种基于典型性的协作过滤方法,称为TyCo,其中用户的“邻居”是基于用户组中的用户典型性而不是用户的共同评价项目来发现的。
A.初步
对于当前的协同过滤推荐系统,有一组用户表示为和一组项目表示为。比如电影可以分为成动作片、战争片等等,每部电影在某种程度上都属于电影群体。之前的文章中有很多聚类方法,例如[26]、[15]等。聚类方法的选择取决于应用领域。例如,基于电影的关键字描述,我们可以使用基于主题模型的聚类[22][10]来获得电影组和电影属于电影组的程度。在本文中不再讨论聚类方法,因为这超出了本文的范围。
项目组的正式定义如下:
定义1:由表示的项目组为类似对象的模糊聚类,如下所示:
其中是项目的数量,是一个项目,并且是项目属于群集的程度。
对一个项目组有相似兴趣的用户可以组成一个社区,我们把这样一个有相似兴趣的社区称为用户群。用户在不同的用户群中有不同的典型性程度。换句话说,对于每一个项目组,我们都可以找到相应的用户群 (即用户喜欢的模糊集合),用户在某种程度上喜欢这样一类项目。例如,Bob和Raymond对战争片非常感兴趣,对爱情片不太感兴趣,而Amy和Alice非常喜欢爱情片,不喜欢战争片。因此,Bob和Raymond在用户喜欢战争片的用户群中(爱情片)是典型的用户(非典型用户),而Amy和Alice在用户喜欢爱情片的另一个用户群中(战争片)是典型用户(非典型用户)。
图一。用户、用户组和项目组之间的关系
我们将对应于项目组的用户组视为一个模糊的概念,即“喜欢其中的项目的用户rsquo;,用表示。用户在每个中有不同的典型性程度。以下是用户组的正式定义。
定义2:用户组是喜欢相应项目组的用户的模糊集合,如下所示:
其中是用户数量,是一个用户,是用户在用户组中的典型程度。
用户、用户组和项目组之间的关系如图1所示。用户在不同的用户组中拥有不同的典型度,图1中用户颜色的暗度表示用户在用户组中的典型度(越暗越典型)。在此图中,和在用户组中是典型的,而在中不是典型的,和在中是典型的,而在中不是典型的。
由于用户在不同的用户组中具有不同的典型性程度,我们用用户典型性向量来表示用户,如下所示:
定义3:用户对于用户组的用户典型向量是在[0,1]范围内的实数向量。
其中是用户群的数量,是用户在用户群中的典型性程度。
因此,对于所有用户,我们可以获得如下用户典型矩阵:
定义4:由表示的用户典型性矩阵是所有用户典型性向量的列表。
(a)TyCo中的用户典型矩阵 |
(b)传统CF中的评级矩阵 |
图二 TyCo中的用户典型矩阵与传统CF中的评级矩阵
其中是用户数量,是用户组数量,i是用户的用户典型向量。图2(a)是用户典型矩阵的一个例子。
B.Tyco机制
TyCo的推荐机制如下:给定一组项目和一组用户,我们形成一组项目组,表示为。对于每个项目组,我们可以形成一个相应的用户组,每个用户组中的用户具有不同的典型性程度。然后,我们为每个用户建立一个用户典型向量i,从而获得一个用户典型矩阵。在基于用户在用户组中的典型程度获得用户的相似性之后,我们通过设置阈值为用户选择一组“邻居”i。我们基于用户在项目上的“邻居”的评级来预测项目上的活跃用户的评级。
通过基于用户的典型度来测量用户的相似性来选择用户的“邻居”是我们方法的一个显著特征,这使得它不同于以前的CF方法。在基于典型性的协同过滤中,我们通过两个用户在中用户典型性向量比较来度量用户和的相似性。例如,根据图2(a),和是相似的用户。原因是)中具有相似的典型度。类似地,类似于。在先前的CF方法中,两个用户的相似性取决于他们共同评级项目的比较(即两个用户对共同评级项目的评级越相似,他们就越相似)。图2(b)显示了传统CF中用户项目评分矩阵的示例。
C.用户典型性测量
如上所述,概念中对象的典型性取决于对象对于概念原型的集中趋势。即如果一个对象与一个概念的原型更相似,它在该概念中具有更高的典型度。用户组的原型取决于描述用户的属性[18]。目前,大多数推荐系统的数据集几乎没有与用户兴趣相关的信息,用户对项目的评分是描述用户兴趣的主要相关信息。由于用户组是一个模糊的概念“喜欢相应项目组rsquo;中项目的用户
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[589551],资料为PDF文档或Word文档,PDF文档可免费转换为Word