基于用户和基于项目的协作过滤推荐算法设计外文翻译资料
2022-11-28 14:45:57
User-Based and Item-Based Collaborative Filtering Recommendation Algorithms Design
Guanwen Yao A53049615 guyao@eng.ucsd.edu
Lifeng Cai A53045464 l6cai@eng.ucsd.edu
ABSTRACT
Offering online personalized recommendation services helps to improve customersrsquo; satisfaction and needs. Conventionally, a recommendation system is considered as a success if customers purchase the recommended products. However, the act of purchasing itself does not guarantee satisfaction and a truly successful recommendation system should be one that maximizes the customerrsquo;s after-use gratification. In this paper, we build the recommendation system based on collaborative filtering. Two models are tested: item-based and user-based. The dataset we use is one of the Amazon datasets [1].
Keywords
User-based, Item-based, Collaborative filtering
- INTRODUCTION
Personalization of product information has become one of the most important factors that impact a customerrsquo;s product selection and satisfaction in todayrsquo;s competitive and challenging market. Personalized service requires firms to understand customers and offer goods or services that meet their needs. Successful firms are those provide the right products to the right customers at the right time and for the right price.
Recommendation systems are widely used by e-commerce practitioners and have become an important research topic in information sciences and decision support systems. Recommendation systems are decision aids that analyze customerrsquo;s prior online behavior and present information on products to match customerrsquo;s preferences. Through analyzing the customerrsquo;s purchase history or communicating with them, recommendation systems employ quantitative and qualitative methods to discover the products that best suit the customer. Most of the current recommendation systems recommend products that have a high probability of being purchased. They employ content-based filtering (CBF), collaborative filtering (CF), and other data mining techniques, for example, decision tree, association rule, and semantic approach. Some of them have been used by large companies, like Amazon and Dell. In this paper, we build our recommendation system based collaborative filtering (CF) and we use two models: item-based and user-based. The dataset we used is one of the Amazon datasets [1]. Lastly, we test our two models and compare the performance of two models.
- DATASET EXPLORATORY ANALYSIS
We use the Amazon dataset 0Gourmet F oods.txt.gz0 on the link [1]. This dataset includes 154635 Gourmet Food reviews on Amazon. Each review contains review/profileName, product/price, review/time, product/productId, review/summary, review/helpfulness, review/userId, product/title, review/score and review/text. However, 898 reviews show rsquo;unknownrsquo; for the field of rsquo;review/userIdrsquo;. We discard these reviews because we can get less useful information from them. So, there are actually 153737 reviews in our dataset.
We do exploratory analysis on the whole dataset because in our experiments of recommendation system, we will change the size of the training set and the test set. Also, doing exploratory analysis on the whole dataset can offer us entire impression on how the whole dataset looks like and help us to split data into training set and test set efficiently.
- In the 0Gourmet F oods.txt.gz0 dataset, there are actually 153737 valid reviews, discarding the reviews with rsquo;unknownrsquo; for the field of rsquo;review/userIdrsquo;.
- There are 23368 distinct items and 112543 distinct users in the dataset.
- The average rating for gourmet foods is 4.23886897754, which shows the degree of satisfaction is relatively high.
- The most popular item is Tuscan Whole Milk, 1 Gallon, 128 fl oz, and it has 1384 reviews in the dataset. 9282 items has only 1 review in the dataset, which indicates 39.7210% of the items have been bought for only 1 time.
- The user who has written the most reviews is Rebecca of Amazon ”The Rebecca Review”, and the number of the reviews she has written is 203. Also, 94733 users has written only 1 review in the dataset, which indicates 84.1749% of the users have bought only 1 item.
- PREDICTIVE TASK
We will split the whole dataset into the training set and the test set. We will build a recommendation system which filters information (the behaviors of his or her similar users) of a user based on a collection of user profiles in the training set, and predict and give recommendations on what items he or she will buy in the future. We will test our predictions by searching whether the items that we recommend to a user according to the training set, are in the item list the user have bought in the test set.
-
LITERATURE
- Related Work
The GroupLens [2] is one of the earliest implementation of collaborative filtering recommend system based on ratings. The GroupLens research system provides a pseudonymous collaborative solution for Usenet news and movies. Later on, the item-based and user-based collaborative filtering recommendation systems are proposed by [3] [4] [5], which are widely used now by large companies such as Amazon and Dell. We implement both the item-based and user-based collaborative filtering recommend systems in this assignment.
-
- Dataset
We use Amazon dataset 0Gourmet F oods.txt.gz0 on the link [1] to build a recommend system for customers. This dataset along with other datasets on the link [1] have been used in the research of rsquo;Hidden Factors and Hidden Topics: Understanding Rating Dimensions with Review Textrsquo; by Julian McAuley and Jure Leskovec. We use one of the categories: gourmet foo
剩余内容已隐藏,支付完成后下载完整资料
基于用户和基于项目的协作过滤推荐算法设计
Guanwen Yao A53049615 guyao@eng.ucsd.edu
Lifeng Cai A53045464 l6cai@eng.ucsd.edu
摘要
提供在线个性化推荐服务有助于提高客户的满意度和需求。传统上,如果顾客购买推荐产品,推荐系统被认为是成功的。 然而,采购行为本身并不能保证满意,而且真正成功的推荐系统应该是最大限度地满足客户的使用后满意度的系统。在本文中,我们构建了基于协同过滤的推荐系统。 测试两种型号:基于物品和基于用户。我们使用的数据集是亚马逊数据集之一[1]。
关键字
基于用户,基于项目,协同过滤
1.简介
产品信息的个性化已成为影响当今竞争激烈的市场中客户产品选择和满意度的最重要因素之一。个性化服务要求公司了解客户并提供满足其需求的商品或服务。 成功的企业是那些在正确的时间以正确的价格向合适的客户提供合适产品的企业。
推荐系统被电子商务从业者广泛使用,并已成为信息科学和决策支持系统的重要研究课题。推荐系统是决策辅助工具,可以分析客户之前的在线行为,并呈现产品信息以符合客户的偏好。通过分析客户的购买历史记录或与他们沟通,推荐系统采用定量和定性方法来发现最适合客户的产品。目前大多数推荐系统推荐购买可能性较高的产品。他们采用基于内容的过滤(CBF),协同过滤(CF)以及其他数据挖掘技术,例如决策树,关联规则和语义方法。其中一些已被亚马逊和戴尔等大公司使用。在本文中,我们构建了基于推荐系统的协同过滤(CF),我们使用两种模型:基于项目和基于用户的。我们使用的数据集是亚马逊数据集之一[1]。最后,我们测试两个模型并比较两个模型的性能。
2.数据分析探索分析
我们在链接[1]上使用Amazon数据集0Gourmet F oods.txt.gz0。 该数据集包括亚马逊154635美食评论。每个评论包含评论/简介名称,产品/价格,评论/时间,产品/产品ID,评论/总结,评论/有用性,评论/用户ID,产品/标题,评论/评分和评论/文本。 然而,898个评论在review / userId字段显示未知。 我们放弃这些评论,因为我们可以从他们那里获得更少的有用信息。所以,我们的数据集中实际上有153737条评论。
我们对整个数据集进行了探索性分析,因为在推荐系统的实验中,我们将改变训练集和测试集的大小。 此外,对整个数据集进行探索性分析可以为我们提供整个数据集的外观,并帮助我们将数据有效地分割为训练集和测试集。
1)在0Gourmet F oods.txt.gz0数据集中,实际上有153737条有效评论,放弃review / userId字段中unknown的评论。
2)数据集中有23368个不同的项目和112543个不同的用户。
3)美食的平均评分为4.23886897754,这表示满意度相对较高。
4)最受欢迎的产品是托斯卡纳全脂牛奶,1加仑,128盎司,在数据集中有1384条评论。 9282条仅在数据集中有1条评论,这表明39.7210%的商品只被购买了1次。
- 撰写最多评论的用户是亚马逊的丽贝卡“The Rebecca Review”,她撰写的评论数量是203.另外,94733名用户在数据集中只写了1条评论,表明其中的84.1749% 用户只购买了1件商品。
3.预防性任务
我们将把整个数据集分成训练集和测试集。 我们将建立一个推荐系统,根据训练集中用户配置文件的集合过滤用户的信息(他或她的类似用户的行为),并预测并提供他或她将来购买什么项目的建议。 我们将通过搜索我们根据训练集向用户推荐的项目是否在用户在测试集中购买的项目列表中来测试我们的预测。
4.正文
4.1相关工作
GroupLens [2]是基于评级的最早实施协作过滤推荐系统之一。 GroupLens研究系统为Usenet新闻和电影提供了一个假名合作解决方案。后来,[3] [4] [5]提出了基于物品和基于用户的协作过滤推荐系统,这些系统现在被亚马逊和戴尔等大公司广泛使用。我们在此作业中实施基于物品和基于用户的协作过滤推荐系统。
4.2 数据集
我们在链接[1]上使用Amazon数据集0美食F oods.txt.gz0为客户构建推荐系统。该数据集连同链接上的其他数据集[1]已被Julian McAuley和Jure Leskovec用于研究隐藏因素和隐藏主题:通过评论文本理解评级维度。我们使用其中一个类别:上述链接上的数据集中的美食,用于基于物品和基于用户的协作过滤推荐系统。还有25种以上的其他类别,例如书籍,健康,音乐,软件等,可以在将来使用和比较。
5.特点
数据集中的每个评论包含评论/评论名称,产品/价格,评论/时间,产品/产品ID,评论/总结,评论/有用性,评论/用户ID,产品/标题,评论/评分和评论/文本。我们可以在数据集中使用四个字段。他们是评论/评分,评论/乐于助人,产品/价格和评论/文字。然而,大多数评论显示产品/价格的“未知”。那么对于推荐系统,在数据集中有两个有用的东西。一个是顾客评分,另一个是顾客评论。而从评论中提取特征相当复杂,特征的准确性难以保证。另一方面,顾客的评分可以直接反映顾客对这个项目的看法。直接使用评分作为功能无疑会给出最佳结果。所以我们根据客户的评分选择我们的推荐系统,我们使用的功能是评论者评分:评论/评分。我们对该功能进行的预处理是通过使用review / userId,product / productId和review / score来创建一个双键哈希映射。对于基于用户的协同过滤推荐系统,第一键为review / userId,第二键为product / productId,值为review / score。双键哈希映射可以看作是一个2D矩阵,其中行是用户,列是项目。对于基于物品的协作过滤推荐系统,第一个关键字是product / productId,第二个关键是review / userId,值为review / score。同样,双键哈希映射也可以被看作是一个二维矩阵,其中行是项目,列是用户。为了证明选择用作推荐系统的特征,我们可以从结果和结论部分看到,这些结果和结论显示了我们的推荐系统的结果。
6.建议系统结构
第一步是收集用户的偏好。 我们的协作过滤(CF)实现将数据存储在两个二维矩阵中。 因此,对于连续的每个用户,我们都会为他或她评分的每个项目设置专栏。 矩阵非常稀少,因为很多用户只购买一件商品。 得到二维数据集矩阵后,我们实现了两种推荐系统模型:基于项目和基于用户的相关滤波。 对于这两种模型,我们需要计算相似度和预测分数。 在下面的部分中,我们将明确展示我们如何构建基于物品的和基于用户的推荐系统,并比较以下小节中的不同模型。 图1显示了协作过滤的过程。
6.1项目相似度计算
计算物品之间的相似度是我们推荐系统的基本步骤,因为我们希望根据他们之前购买的物品向客户推荐类似的物品。 两个项目i和j之间的相似性计算的基本思想是首先隔离评估这两个项目的用户,然后应用相似性计算技术来确定相似度si,j。 图2显示了共同评估项目和相似度计算的隔离。 我们提出三种计算相似度的方法。 在我们的推荐系统中,我们使用第二种方法。 原因如下。
6.1.1基于Cosine的相似性
在这种情况下,两个项目被认为是m维用户空间中的两个向量。 它们之间的相似性通过计算两个向量之间的余弦角度来测量。 由sim(i,j)表示的项目i和j之间的相似性由下式给出
6.1.2基于相关性的相似性
在这种情况下,通过计算相关性corri,j来测量两个项目之间的相似度。 表示将i和j评为U的用户集合,相关性相似度由下式给出
6.1.3调整后的余弦相似度
在基于情况的情况下使用基本余弦测量来计算相似性具有一个明显的缺点,并且是不同用户之间的评估尺度的差异。 我们可以减去这种偏差,所以使用这个方案的相似性由下式给出
我们之所以选择第二种方法来计算相似度,是因为我们数据集中的评分范围是1到5之间的离散数,而大量用户只购买一个条目。 在这种情况下,如果我们选择第三种方法,分母将为零,这将频繁发生。 基于这个考虑,我们选择第二种方法。
6.2预测计算
在获得两个不同项目之间的相似度之后,我们通过计算用户对类似于i的项目给出的评分之和来为用户u计算项目i的预测。 每个评级由相应的相似度si,j加权。 最后的加权和除以相似度之和得到归一化预测值。 Pu,i,是由
这种方法试图捕捉活跃用户对相似项目的评分。然后用相似性项的总和对加权总和进行缩放,以确保预测在特定范围内。
6.3基于用户的CF
图3显示了共同评分用户的隔离和相似性计算。 基于用户的CF非常类似于基于物品的CF. 我们不是计算两个项目之间的相似度,而是关注两个客户之间的相似度。 我们使用基于关联的方法计算两个客户之间的相似度u,v,这与基于项目的方法相同。 我们将这种相似性表示为su,v。 对用户u的项目的预测是通过计算项目i上不同用户评分的加权总和来计算的。Pu,i,是由
其中rv,i是用户v对项目i的评分。
图1:协作过滤过程
图2:合并项目的分离和相似性计算。
图3:共同评级用户的隔离和相似性计算。
表1:由购买了n项以上推荐结果的用户编写的评论分割数据集的影响
表2:选择最高m个推荐项目对推荐结果的影响
图4:由购买了n项以上推荐结果的用户编写的评论分割数据集的影响。
图5:成功建议的百分比(%)与培训/测试设定比率。
图6:选择最高m个推荐项目对推荐结果的影响
6.4不同的型号比较
基于用户的CF有一些限制。一个是测量用户之间相似性的困难,另一个是可扩展性问题。随着客户和产品数量的增加,算法的计算时间呈指数增长。
基于项目的CF被提议克服可扩展性问题,因为它在离线的基础上计算项目相似性。它假设用户将更有可能购买与他或她已经购买的物品相似或相关的物品。另一个是收视率,它是一些离散值,不能提供我们关于用户和项目之间关系的很多信息。
基于内容的过滤(CBF)方法将内容分析应用于目标项目。目标项目由其属性描述,如颜色,形状和材质。通过分析他/她对调查问卷的回答,他/她对产品的评价以及导航历史来构建用户的简档。推荐系统提出与用户简档高度相关的项目。但是,纯粹的CBF系统也有其不足之处。一个是用户只能得到类似于他们早期经验的建议。另一个是有些项目,比如音乐,照片和多媒体,很难分析。我们想要使用这个模型,但是对于这个分配数据集,很难从数据集中获取这些信息。我们决定不使用它。
7.结果与结论
从第2节的探索性分析中,我们发现84.1749%的用户只购买了1项。因此,我们决定将所有这些数据放入训练数据中,因为预测用户在训练集中使用较少或甚至没有相关信息购买哪些项目的意义不大。我们通过以相等的概率随机地分割在整个数据集中购买了n项以上的用户所写的评论来改变训练集和测试集的大小。因此,在整个数据集中购买n项以上的用户所写评论的一半将被放入训练集中,另一半将被放入测试集中。
在我们的实验中,我们选择n(超过n个由特定用户购买的物品)为3,4,6,8,10,15和20.注意,我们选择的一个特定的n对应于一个特定的训练/测试集合比率。所以n可以表示我们项目中的训练/测试集合比率,它们是相同的。我们将分析不同的n(不同的培训/测试集合比率)对推荐结果的影响。
然后,我们将修正n个(超过n个由特定用户购买的物品)等于5,并将我们的推荐项目限制为最多m个排名最高的项目。换句话说,我们会根据我们在训练集中获得的相关信息,向测试集中的用户推荐排名前m项。我们将分析选择前m个推荐项目对推荐结果的影响。
我们在实验中实施了基于用户和基于项目的协作过滤推荐系统,结果完全相同。对于基于项目的协同过滤推荐系统,我们将预先计算相关项目或推荐项目,这些项目或推荐项目存储在训练集中每个用户的一个大矩阵(数据库)中。对于测试数据中的特定用户,我们只需查看该矩阵(数据库)并提供建议。对于基于用户的协同过滤推荐系统,我们没有这个大矩阵(数据库),每次需要向用户推荐项目时,我们都会计算相关项目的相似度和评分。基于用户的协同过滤推荐系统在计算相关项目的相似度和评分时需要花费很多时间,并且在规模不大,数据更新频率相对较高的情况下效果较好。基于项目的协同过滤推荐系统需要空间,在规模较大,数据刷新较少的情况下运行良好。在向用户提供推荐时,与基于用户的协作过滤推荐系统相比,它消耗的时间少得多,因为它事先计算相关项目或推荐项目。像亚马逊这样的大公司有自己的大型数据库,因此它们的空间不是一个大问题,他们通常使用基于项目的协作过滤推荐系统
7.1成功建议的百分比(%)与
培训/测试集合比率表1显示了分割数据集的影响,它是由购买了n项以上推荐结果的用户编写的评论。从表
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[22071],资料为PDF文档或Word文档,PDF文档可免费转换为Word