首页 / 专利库 / 人工智能 / 数据库知识发现 / 基于Hadoop的商品推荐系统

基于Hadoop的商品推荐系统

阅读:1013发布:2020-06-29

专利汇可以提供基于Hadoop的商品推荐系统专利检索,专利查询,专利分析的服务。并且本 发明 提出基于Hadoop的商品推荐系统,其特征在于,该系统包括有五层:数据 访问 层、数据模型层、推荐 算法 层、推荐引擎层和推荐应用层;各层内部采用模 块 化设计,各层之间通过 接口 交互,从而实现系统架构的高内聚、低耦合,而且拥有良好的拓展性,该系统的 数据库 采用Hive,为用户提供便捷的商品浏览、购买支付、物流配送、售后服务等网上购物功能,高效、可靠而且拓展方便的分布式系统的 基础 架构,非常适合应用于大规模数据的存储和计算处理,设计新颖,是一项很好的设计方案,很有市场推广前景。,下面是基于Hadoop的商品推荐系统专利的具体信息内容。

1.基于Hadoop的商品推荐系统,其特征在于,该系统包括有五层:数据访问层、数据模型层、推荐算法层、推荐引擎层和推荐应用层;各层内部采用模化设计,各层之间通过接口交互,从而实现系统架构的高内聚、低耦合,而且拥有良好的拓展性,该系统的数据库采用Hive;
数据访问层:主要包含数据加载、数据解析以及数据导出,推荐系统的数据一般来自多个异构、多类型的源系统业务数据,比如用户的偏好数据来自电子商务平台的交易数据或者行为日志等,用户的存款、贷款等资产负债类数据可以来自数据仓库,原始的业务数据文件和Hadoop集群分析好的数据文件,都将被加载到Hadoop,通过数据解析最终产生针对各个用户的商品推荐清单,可以导出为文本文件推送给电子商务系统为用户提供个性化的推荐服务;
数据模型层:主要包含用户模型、产品模型以及偏好模型,用户模型主要存放用户的基本信息和个人征信等;产品模型主要存放产品的基本信息及拓展属性,拓展属性包含是否为新品,是否有促销活动等等,偏好模型包含用户的行为日志,比如用户对商品的浏览、购买和评分等记录,以及推荐算法预测的用户对未评分商品的评分数据;
推荐算法层:介于数据访问层和推荐引擎层之间独立存在,有利于数据分析算法的拓展,包含常见的数据挖掘算法和机器学习算法,比如商品相似度的计算、用户对未评分商品的评分预测以及推荐准确率的评估等;
推荐引擎层:设计为独立的引擎层,有利于整合其他的推荐引擎,满足功能上的拓展,包含两个推荐引擎,分别为协同过滤引擎和静态推荐引擎,协同过滤引擎采用基于物品的协同过滤技术,通过改进的余弦相似度和加权平均值的方法对用户评分进行预测,可以覆盖到长尾商品,高分值的商品将被推荐给用户,从而实现个性化的推荐,静态推荐引擎不需要复杂的计算,而是采用的静态的逻辑规则来实现,静态规则来自于多个方面:其中可以是基于商业应用的需求,推荐一些新上架商品和促销商品,也可以是来自于专家经验或者领域的知识,为新用户推荐一些流行的商品,为用户提供非个性化的推荐,将两个引擎的推荐清单进行混合,可有效解决单一引擎的不足,使得流行商品和冷商品有较好的平衡,具有很好的互补价值,推荐擎层包含有相似度计算模块、评分预测模块、推荐过滤模块、推荐排序模块和推荐评估模块;
推荐应用层:这一层是用户与系统交互的接口,包含对用户及权限的管理,推荐引擎及的参数,以及推荐商品清单展示的位置和方式的配置。
2.根据权利要求1所述的基于Hadoop的商品推荐系统,其特征在于,推荐系统的工作流程为首先将多源异构的数据加载到Hadoop进行清洗和统一化,建立用户信息、商品信息和用户偏好等模型,然后通过推荐引擎对模型数据进行分析和处理,产生初始的商品推荐清单,初始的推荐清单往往过于粗糙和宽泛,所以还需要根据用户和商品的具体情况进行过滤,比如用户已经购买或浏览过的,或者是用户拒绝推荐的商品,以及质量差的,或者不当季的商品,如果不过滤就推荐给用户不仅意义不大,而且影响用户的体验度,过滤后的商品,其中可能存在流行的商品,因为商品与其他物品的相似度都比较高,这是著名的哈利波特问题,为了惩罚流行的商品,系统将以商品的流行度升序排列后取Top-N,从而降低流行商品的权重,保证推荐商品的新颖性。
3.根据权利要求1所述的基于Hadoop的商品推荐系统,其特征在于,所述的相似度计算模块:准确计算物品之间的相似度是基于物品的协同过滤推荐方法的关键,此模块以用户的历史行为数据作为分析依据,通过改进的余弦相似度方法深度挖掘商品之间的相似程度,为用户评分预测提供可靠的数据基础
相似度是度量用户之间或者物品之间相似程度的量化指标,相似度最高的为最近邻居,推荐质量的好坏,很大程度上取决于最近邻居找的是否准确,因此,精确定位用户或物品的最近邻居,是协同过滤推荐成功的关键,计算相似度的方法有很多,常用的有基于余弦(Cosine-based)的相似度计算和基于关联(Correlation-based)的相似度计算,本文采用改进的余弦相似度计算方法来衡量商品之间的相似性;
余弦相似度,又称为余弦相似性,通过计算夹的余弦值来衡量两个向量的相似度,余弦值取值范围是[-1,1],夹角越小,余弦值越接近于1,两个向量的方向趋向一致,相似度也越高,其计算方法如公式所示;
sim(i,j)=cos(i,j)=u∈URu,i×Ru,ju∈UR2u,iu∈UR2u,j
其中Ru,t表示用户u对物品i的评分,Ru,j表示用户u对物品j的评分,在实际应用中,由于不同用户的评分习惯可能存在差异,有的用户喜欢评高分,有的用户喜欢评低分,用改进的余弦相似度计算方法可以解决这个问题,该方法将用户对物品的评分减去用户所有评分的平均值,从而消除不同用户的打分习惯的差异,其计算方法如公式所示:
sim(i,j)=u∈URu,i-RuRu,j-Ruu∈URu,i-Ru2u∈URu,j-Ru2
其中Ru为用户打分的平均值,
候选对象一般都有时间信息,例如书籍的出版时间,商品的上架时间等,都属于物品的出现时间,因为物品的时效性,同类物品出现的时间越接近,物品间的相似度也就越高,如果将用户评分的时间信息引入到商品相似度的计算中,商品间的相似关系将更加客观和准确,具体方法如公式所示:
sim(i,j)=simi,j*e-k*|ti-tj|
其中ti和tj分别为商品出现的时间,二者时间相差越大,相似度越小,k为调节因子,其大小决定出现时间对于相似度计算的影响大小,通过对k值得的调整,可以找到较为理想的值,使得推荐系统的准确度得到较大的提升。
4.根据权利要求1所述的基于Hadoop的商品推荐系统,其特征在于,所述的评分预测模块:此模块基于商品相似度的信息,对用户未评分的商品进行预测评分,产品初始的推荐候选清单;
对用户未评分的物品进行预测评分,采用两种方法:
1.加权平均值
首先找到用户未评分物品的相似物品且为已评分的物品集合K,以物品间的相似度Sij为权值,计算集合中物品分数Ruj的加权平均值,预测用户u对未评分物品i的评分方法如公式所示:
Pui=j∈KRuj*Sijj∈KSij
2、回归法
和加权平均值方法类似,只是K集合物品的评分Ruf需要重算,由于前文介绍过的用户打分习惯的不同,可能导致相似度较高的两个物品,对应的打分向量距离却比较远,因此需要通过线性回归的方法重新计算用户的已评分值 计算方法如公式所示
P’ui=j∈KRuj′*Sijj∈KSij
其中 的计算方法如公式所示
R’uj=α+βRi+ε
物品j和物品i相似,对物品i和j的评分向量进行线性回归计算得到α和β,回归模型误差为ε;
通过对用户评分数据的均值差异化预处理,已经消除用户评分习惯上的差异,适合采用加权平均值方法对用户未评分物品进行预测评分。
5.根据权利要求1所述的基于Hadoop的商品推荐系统,其特征在于,所述的推荐评估模块:此模块主要对推荐效果和性能进行评估,为系统的优化改进提供数据支持;
推荐系统的应用领域越来越广泛,每个行业都有各自的应用场景,通过对推荐系统的评估,可以发现不同推荐技术的成功因素以及不同推荐技术的优劣性,推荐系统的评估通常以离线实验的方式进行,将已有的用户行为数据例如浏览,购买,评分或者点击等行为数据,划分为训练集和测试集两部分数据,系统利用训练集对隐藏的测试数据进行预测,通过测试集的真实结果验证推荐系统的预测效果;
推荐系统的评价方法如下:
1、预测准确度:包括MAE、RMSE验证方式等;
2、分类准确度:包括准确率、召回率等;
3、排序准确度:包括MAP、NDPM和half-life utility等;
采用均方根误差RMSE这个常用的评测指标,对推荐系统进行准确度评测,计算方法如公式所示:
RMSE=1ni=1nPi-Ri2。
6.根据权利要求1所述的基于Hadoop的商品推荐系统,其特征在于,所述的推荐过滤模块:此模块对商品的推荐候选进行选择性的过滤,对不适合用户或者本身有问题的商品进行过滤,从而提高候选商品的推荐质量;
推荐排序模块:此模块基于某些规则,例如降低流行商品权重,对过滤之后的推荐清单进行排序,使更多处于长尾的商品得到发掘和展现,保证推荐的平衡性以及覆盖率。
7.根据权利要求1所述的基于Hadoop的商品推荐系统,其特征在于,该系统商品流行度计算从一定程度上体现了商品受欢迎的程度,但是对于活跃度不同的用户,流行商品的吸引不尽相同,新注册的或者访问电商平台很少的老用户,因为不熟悉购物平台以及没有留下足够的行为记录,通常会倾向于浏览首页的流行物品,所以对于新用户的推荐应该选取流行度较高的商品,而老用户对于流行物品的兴趣度在逐步降低,慢慢的偏向于浏览冷门的物品,所以对于老用户的推荐应该降低流行商品的权重,增加冷门商品的展示机会,由此可见,商品流行度的计算对于提高推荐的质量有重要的意义;
商品的流行度通常以商品销售数量与该类商品最大销售数量的比值来衡量,计算方法如公式所示:
Pi=QiQmax
其中,Qi为商品的销售数量,Qmax为同类商品的最大销售数量。

说明书全文

基于Hadoop的商品推荐系统

技术领域

[0001] 本发明涉及分布式系统基础架构系统,尤其涉及基于Hadoop的商品推荐系统。

背景技术

[0002] 随着互联网的迅速发展,网络技术日趋成熟,成本逐步降低,除了传统的宽带业务,各大通讯公司还提供了高速稳定也相对便宜的移动网络,有利于网络广泛应用到各行各业,既提高了社会生产,也方便了人们的生活。在软件产业的推动下,企业信息化程度也越来越高,提供的各种网络产品和服务覆盖到人们的衣食住行及消费娱乐,极大的方便了人们的生活,如电子商务行业的各大厂商纷纷推出各具特色的移动应用程序,为用户提供便捷的商品浏览、购买支付、物流配送、售后服务等网上购物功能。但是随着电子商务规模的不断扩大,商品的数量和种类迅速增长,大量的信息变成了长尾淹没在数据的海洋中。要从海量的商品中快速找到自己想买的商品,并不是一件简单的事情,用户面临着“信息过载”的问题。
[0003] 分类目录和搜索引擎是缓解信息过载问题的传统解决方案。根据商品的属性和特征进行分别类,方便了用户的查找。然而随着商品种类和数量的快速增加,商品分类只能覆盖到少量流行的商品。搜索引擎是获取指定条件信息的传统技术。用户可以在购物平台上搜索商品的关键字,比如商品的名称、品牌、材质等。通过关键字的检索,用户可以查询到自己想要的各个品牌指定材质的商品信息,通过比对筛选出物美价廉同时也符合自己需求的商品。但是这需要有明确的关键字体现用户的需求,搜索的结果也是限制在用户已知的信息范围之内,无法检索到用户可能感兴趣的未知商品信息。因此需要有一个系统能了解用户的兴趣偏好和消费习惯,主动推荐用户感兴趣的或者可能需要的商品。推荐系统应运而生,不需要用户提供关键字,通过分析用户的历史行为数据找到用户的个性化需求,主动推荐适合用户的商品,包括处于长尾的商品,有效解决了信息过载的问题。
[0004] 推荐系统采用合理有效的挖掘算法,通过分析用户浏览、购买、评分等各种行为的海量数据,挖掘用户的消费倾向,推荐用户有潜在购买需求的商品,实现精准营销。对于推荐系统的研究,无论是对科技的发展还是社会的进步都有积极的意义。
[0005] 个性化推荐系统的概念被提出以来逐步成为了一门独立的学科,其研究的热度越来越高,推荐算法的效率和准确度不断被优化和提高,系统存在的冷启动、稀疏性、准确性等问题也成了国内外研究的焦点。对推荐系统的研究,不仅拥有较高的科学价值,更有非常实际的应用价值。推荐系统的应用已经非常广泛,现在大部分电子商务网站,基本上都有自己的推荐系统。用户要在大量的商品中寻找合适的商品非常困难,传统的做法是将商品按时间、类别、人气和价格等方式进行结构分类,提供的是用户已知的目标信息和属性,无法发现未知却同样感兴趣的商品及其信息。随着信息量的迅速增长,通过用户主动搜索或者分类浏览获取高质量的信息困难度在增加,成本也在增加。推荐系统通过用户历史行为数据可以学习和理解用户的偏好,主动为用户提供适合用户的信息,帮助用户快速的发现感兴趣的商品,降低了用户浏览重复的商品信息或者不喜欢的商品的概率,较好的提升了用户的使用体验,进而保证了用户的忠诚度,避免了用户流失的严重情况。
[0006] 推荐系统是解决信息超载问题比较有效的方法,它根据用户行为的历史数据分析用户的兴趣爱好等,将用户感兴趣的商品等推荐给用户。Resnick和Varian在1997年是如此定义推荐系统:“它是利用电子商务网站向客户提供商品信息和建议,帮助用户决定应该购买什么产品,模拟销售人员帮助客户完成购买过程”。电子商务的推荐系统主要包含候选商品,推荐方法和目标用户。利用推荐算法从海量的候选商品中筛选出合适的商品推荐给目标用户。
[0007] Adomavicius等人在2005年为推荐系统总结出了形式化定义所有目标用户的集合为U,候选推荐对象的集合为I,函数f用来衡量I中某个候选对象针对于U中的某个目标用户的推荐度表示为f:U x I->R,其中R是一个全序的集合。因此,推荐系统需要研究的问题是,如何为集合U中的每个用户u|U,在集合I中找到推荐度R最大或者接近于最大的那些候选对象i|I,如公式所示:
[0008] 随着推荐系统相关理论和技术的发展与完善,越来越多的行业领域引入了推荐系统,电子商务是其中最为成功的领域之一。国外的Amazon和eBay,以及国内的淘宝、京东都有相对成熟的推荐系统引导用户的购买行为,从而有效的减轻用户面对信息过载的压力,让更多潜在的用户成为真正的用户。推荐系统不仅帮助企业提高了产品的销售数量,同时也给用户提供了更加人性化的购物体验,有效的提高了用户的忠诚度,使企业和用户双方受益。
[0009] 除了电子商务,推荐系统还被广泛应用于电影推荐、音乐推荐、美食推荐、交友推荐等等。随着定位技术的进步,如今可以通过互联网和GPS获取精确的经纬度实现精准定位,推荐系统也可以为手持移动终端用户提供附近的衣食住行服务信息,如百度地图、大众点评和AppBrai等。
[0010] 综上所述,针对现有技术存在的缺陷,特别需要基于Hadoop的商品推荐系统,以解决现有技术的不足。

发明内容

[0011] 本发明的目的是提供基于Hadoop的商品推荐系统,不仅帮助企业提高了产品的销售数量,同时为用户提供了更加人性化的购物体验。
[0012] 本发明为解决其技术问题所采用的技术方案是,
[0013] 基于Hadoop的商品推荐系统,该系统包括有五层:数据访问层、数据模型层、推荐算法层、推荐引擎层和推荐应用层;各层内部采用模化设计,各层之间通过接口交互,从而实现系统架构的高内聚、低耦合,而且拥有良好的拓展性,该系统的数据库采用Hive;
[0014] 数据访问层:主要包含数据加载、数据解析以及数据导出,推荐系统的数据一般来自多个异构、多类型的源系统业务数据,比如用户的偏好数据来自电子商务平台的交易数据或者行为日志等,用户的存款、贷款等资产负债类数据可以来自数据仓库,原始的业务数据文件和Hadoop集群分析好的数据文件,都将被加载到Hadoop,通过数据解析最终产生针对各个用户的商品推荐清单,可以导出为文本文件推送给电子商务系统为用户提供个性化的推荐服务;
[0015] 数据模型层:主要包含用户模型、产品模型以及偏好模型,用户模型主 要存放用户的基本信息和个人征信等;产品模型主要存放产品的基本信息及拓展属性,拓展属性包含是否为新品,是否有促销活动等等,偏好模型包含用户的行为日志,比如用户对商品的浏览、购买和评分等记录,以及推荐算法预测的用户对未评分商品的评分数据;
[0016] 推荐算法层:介于数据访问层和推荐引擎层之间独立存在,有利于数据分析算法的拓展,包含常见的数据挖掘算法和机器学习算法,比如商品相似度的计算、用户对未评分商品的评分预测以及推荐准确率的评估等;
[0017] 推荐引擎层:设计为独立的引擎层,有利于整合其他的推荐引擎,满足功能上的拓展,包含两个推荐引擎,分别为协同过滤引擎和静态推荐引擎,协同过滤引擎采用基于物品的协同过滤技术,通过改进的余弦相似度和加权平均值的方法对用户评分进行预测,可以覆盖到长尾商品,高分值的商品将被推荐给用户,从而实现个性化的推荐,静态推荐引擎不需要复杂的计算,而是采用的静态的逻辑规则来实现,静态规则来自于多个方面:其中可以是基于商业应用的需求,推荐一些新上架商品和促销商品,也可以是来自于专家经验或者领域的知识,为新用户推荐一些流行的商品,为用户提供非个性化的推荐,将两个引擎的推荐清单进行混合,可有效解决单一引擎的不足,使得流行商品和冷门商品有较好的平衡,具有很好的互补价值,推荐擎层包含有相似度计算模块、评分预测模块、推荐过滤模块、推荐排序模块和推荐评估模块;
[0018] 推荐应用层:这一层是用户与系统交互的接口,包含对用户及权限的管理,推荐引擎及的参数,以及推荐商品清单展示的位置和方式的配置。
[0019] 进一步,推荐系统的工作流程为首先将多源异构的数据加载到Hadoop进行清洗和统一化,建立用户信息、商品信息和用户偏好等模型,然后通过推荐引擎对模型数据进行分析和处理,产生初始的商品推荐清单,初始的推荐清单往往过于粗糙和宽泛,所以还需要根据用户和商品的具体情况进行过滤,比如用户已经购买或浏览过的,或者是用户拒绝推荐的商品,以及质量差的,或者不当季的商品,如果不过滤就推荐给用户不仅意义不大,而且影响用户的体验度,过滤后的商品,其中可能存在流行的商品,因为商品与其他物品的相似度都比较高,这是著名的哈利波特问题,为了惩罚流行的商品, 系统将以商品的流行度升序排列后取Top-N,从而降低流行商品的权重,保证推荐商品的新颖性。
[0020] 进一步,所述的相似度计算模块:准确计算物品之间的相似度是基于物品的协同过滤推荐方法的关键,此模块以用户的历史行为数据作为分析依据,通过改进的余弦相似度方法深度挖掘商品之间的相似程度,为用户评分预测提供可靠的数据基础;
[0021] 相似度是度量用户之间或者物品之间相似程度的量化指标,相似度最高的为最近邻居,推荐质量的好坏,很大程度上取决于最近邻居找的是否准确,因此,精确定位用户或物品的最近邻居,是协同过滤推荐成功的关键,计算相似度的方法有很多,常用的有基于余弦(Cosine-based)的相似度计算和基于关联(Correlation-based)的相似度计算,本文采用改进的余弦相似度计算方法来衡量商品之间的相似性;
[0022] 余弦相似度,又称为余弦相似性,通过计算夹的余弦值来衡量两个向量的相似度,余弦值取值范围是[-1,1],夹角越小,余弦值越接近于1,两个向量的方向趋向一致,相似度也越高,其计算方法如公式所示;
[0023] sim(i,j)=cos(i,j)=u∈URu,i×Ru,ju∈UR2u,iu∈UR2u,j
[0024] 其中Ru,i表示用户u对物品i的评分,Ru,j表示用户u对物品j的评分,在实际应用中,由于不同用户的评分习惯可能存在差异,有的用户喜欢评高分,有的用户喜欢评低分,用改进的余弦相似度计算方法可以解决这个问题,该方法将用户对物品的评分减去用户所有评分的平均值,从而消除不同用户的打分习惯的差异,其计算方法如公式所示:
[0025] sim(i,j)=u∈URu,i-RuRu,j-Ruu∈URu,i-Ru2u∈URu,j-Ru2
[0026] 其中Ru为用户打分的平均值,
[0027] 候选对象一般都有时间信息,例如书籍的出版时间,商品的上架时间等,都属于物品的出现时间,因为物品的时效性,同类物品出现的时间越接近,物品间的相似度也就越高,如果将用户评分的时间信息引入到商品相似度的计算中,商品间的相似关系将更加客观和准确,具体方法如公式所示:
[0028] sim(i,j)=sim i,j*e-k*|ti-tj|
[0029] 其中ti和tj分别为商品出现的时间,二者时间相差越大,相似度越小,k为调节因子,其大小决定出现时间对于相似度计算的影响大小,通过对k值得的调整,可以找到较为理想的值,使得推荐系统的准确度得到较大的提升。
[0030] 进一步,所述的评分预测模块:此模块基于商品相似度的信息,对用户未评分的商品进行预测评分,产品初始的推荐候选清单;
[0031] 对用户未评分的物品进行预测评分,采用两种方法:
[0032] 1.加权平均值
[0033] 首先找到用户未评分物品的相似物品且为已评分的物品集合K,以物品间的相似度Sij为权值,计算集合中物品分数Ruj的加权平均值,预测用户u对未评分物品i的评分方法如公式所示:
[0034] Pui=j∈KRuj*Sijj∈KSij
[0035] 2、回归法
[0036] 和加权平均值方法类似,只是K集合物品的评分Ruj需要重算,由于前文介绍过的用户打分习惯的不同,可能导致相似度较高的两个物品,对应的打分向量距离却比较远,因此需要通过线性回归的方法重新计算用户的已评分值R’uj,计算方法如公式所示[0037] P’ui=j∈KRuj′*Sijj∈KSij
[0038] 其中R’uj的计算方法如公式所示
[0039] R’uj=α+βRi+ε
[0040] 物品j和物品i相似,对物品i和j的评分向量进行线性回归计算得到α和β,回归模型误差为ε;
[0041] 通过对用户评分数据的均值差异化预处理,已经消除用户评分习惯上的差异,适合采用加权平均值方法对用户未评分物品进行预测评分。
[0042] 进一步,所述的推荐评估模块:此模块主要对推荐效果和性能进行评估, 为系统的优化改进提供数据支持;
[0043] 推荐系统的应用领域越来越广泛,每个行业都有各自的应用场景,通过对推荐系统的评估,可以发现不同推荐技术的成功因素以及不同推荐技术的优劣性,推荐系统的评估通常以离线实验的方式进行,将已有的用户行为数据例如浏览,购买,评分或者点击等行为数据,划分为训练集和测试集两部分数据,系统利用训练集对隐藏的测试数据进行预测,通过测试集的真实结果验证推荐系统的预测效果;
[0044] 推荐系统的评价方法如下:
[0045] 1、预测准确度:包括MAE、RMSE验证方式等;
[0046] 2、分类准确度:包括准确率、召回率等;
[0047] 3、排序准确度:包括MAP、NDPM和half-life utility等;
[0048] 采用均方根误差RMSE这个常用的评测指标,对推荐系统进行准确度评测,计算方法如公式所示:
[0049] RMSE=1ni=1nPi-Ri2。
[0050] 进一步,所述的推荐过滤模块:此模块对商品的推荐候选进行选择性的过滤,对不适合用户或者本身有问题的商品进行过滤,从而提高候选商品的推荐质量;
[0051] 推荐排序模块:此模块基于某些规则,例如降低流行商品权重,对过滤之后的推荐清单进行排序,使更多处于长尾的商品得到发掘和展现,保证推荐的平衡性以及覆盖率。
[0052] 进一步,该系统商品流行度计算从一定程度上体现了商品受欢迎的程度,但是对于活跃度不同的用户,流行商品的吸引力不尽相同,新注册的或者访问电商平台很少的老用户,因为不熟悉购物平台以及没有留下足够的行为记录,通常会倾向于浏览首页的流行物品,所以对于新用户的推荐应该选取流行度较高的商品,而老用户对于流行物品的兴趣度在逐步降低,慢慢的偏向于浏览冷门的物品,所以对于老用户的推荐应该降低流行商品的权重,增加冷门商品的展示机会,由此可见,商品流行度的计算对于提高推荐的质量有重要的意义;
[0053] 商品的流行度通常以商品销售数量与该类商品最大销售数量的比值来衡量,计算方法如公式所示:
[0054] Pi=QiQmax
[0055] 其中,Qi为商品的销售数量,Qmax为同类商品的最大销售数量。
[0056] 本发明的优点在于,该系统Hadoop是一个高效、可靠而且拓展方便的分布式系统的基础架构,非常适合应用于大规模数据的存储和计算处理,其核心模块主要包含分布式文件系统HDFS和分布式编程模型MapReduce。可以在成本可控的情况下存储用户海量的历史行为数据;后者为程序开发人员提供了简单易用的分布式应用开发接口,通过任务分解,分而治之的策略完成大数据的并行计算处理。因此,基于Hadoop的商品推荐系统是解决信息过载,为用户提供个性化消费导向的理想方案,设计新颖,是一项很好的设计方案,很有市场推广前景。附图说明
[0057] 下面结合附图和具体实施方式来详细说明本发明:
[0058] 图1是本发明提出架构示意图;
[0059] 图2是本发明基于物品的协同过滤推荐原理图;
[0060] 图3是本发明推荐系统业务流程图
[0061] 图4是本发明推荐系统功能结构图;
[0062] 图5是本发明推荐系统的工作流程图;
[0063] 图6是本发明推荐系统的外部架构图;
[0064] 图7是本发明实体关系图;

具体实施方式

[0065] 为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合图示与具体实施例,进一步阐述本发明。
[0066] 如图1所示,基于Hadoop的商品推荐系统,该系统包括有五层:数据访问层、数据模型层、推荐算法层、推荐引擎层和推荐应用层;各层内部采用模块化设计,各层之间通过接口交互,从而实现系统架构的高内聚、低耦合, 而且拥有良好的拓展性,该系统的数据库采用Hive;推荐算法和推荐引擎可以灵活的添加或者删除,系统可以控制不同引擎对推荐结果的影响。推荐引擎也可以进行组合,满足用户各种多样的推荐需求。不同的推荐引擎推荐的格各异,每个用户的推荐喜好也不同。为了提高推荐的个性化程度,系统可以根据用户的反馈,针对不同的用户配置不同的推荐引擎组合权重。
[0067] 数据访问层:主要包含数据加载、数据解析以及数据导出,推荐系统的数据一般来自多个异构、多类型的源系统业务数据,比如用户的偏好数据来自电子商务平台的交易数据或者行为日志等,用户的存款、贷款等资产负债类数据可以来自数据仓库,原始的业务数据文件和Hadoop集群分析好的数据文件,都将被加载到Hadoop,通过数据解析最终产生针对各个用户的商品推荐清单,可以导出为文本文件推送给电子商务系统为用户提供个性化的推荐服务;
[0068] 数据模型层:主要包含用户模型、产品模型以及偏好模型,用户模型主要存放用户的基本信息和个人征信等;产品模型主要存放产品的基本信息及拓展属性,拓展属性包含是否为新品,是否有促销活动等等,偏好模型包含用户的行为日志,比如用户对商品的浏览、购买和评分等记录,以及推荐算法预测的用户对未评分商品的评分数据;
[0069] 推荐算法层:介于数据访问层和推荐引擎层之间独立存在,有利于数据分析算法的拓展,包含常见的数据挖掘算法和机器学习算法,比如商品相似度的计算、用户对未评分商品的评分预测以及推荐准确率的评估等;
[0070] 推荐引擎层:设计为独立的引擎层,有利于整合其他的推荐引擎,满足功能上的拓展,包含两个推荐引擎,分别为协同过滤引擎和静态推荐引擎,协同过滤引擎采用基于物品的协同过滤技术,通过改进的余弦相似度和加权平均值的方法对用户评分进行预测,可以覆盖到长尾商品,高分值的商品将被推荐给用户,从而实现个性化的推荐,静态推荐引擎不需要复杂的计算,而是采用的静态的逻辑规则来实现,静态规则来自于多个方面:其中可以是基于商业应用的需求,推荐一些新上架商品和促销商品,也可以是来自于专家经验或者领域的知识,为新用户推荐一些流行的商品,为用户提供非个性化的推荐,将两个引擎的推荐清单进行混合,可有效解决单一引擎的不足, 使得流行商品和冷门商品有较好的平衡,具有很好的互补价值,如图4所示,推荐擎层包含有相似度计算模块、评分预测模块、推荐过滤模块、推荐排序模块和推荐评估模块;
[0071] 推荐应用层:这一层是用户与系统交互的接口,包含对用户及权限的管理,推荐引擎及的参数,以及推荐商品清单展示的位置和方式的配置。
[0072] 如图5所示,推荐系统的工作流程为首先将多源异构的数据加载到Hadoop进行清洗和统一化,建立用户信息、商品信息和用户偏好等模型,然后通过推荐引擎对模型数据进行分析和处理,产生初始的商品推荐清单,初始的推荐清单往往过于粗糙和宽泛,所以还需要根据用户和商品的具体情况进行过滤,比如用户已经购买或浏览过的,或者是用户拒绝推荐的商品,以及质量差的,或者不当季的商品,如果不过滤就推荐给用户不仅意义不大,而且影响用户的体验度,过滤后的商品,其中可能存在流行的商品,因为商品与其他物品的相似度都比较高,这是著名的哈利波特问题,为了惩罚流行的商品,系统将以商品的流行度升序排列后取Top-N,从而降低流行商品的权重,保证推荐商品的新颖性。
[0073] 进一步,所述的相似度计算模块:准确计算物品之间的相似度是基于物品的协同过滤推荐方法的关键,此模块以用户的历史行为数据作为分析依据,通过改进的余弦相似度方法深度挖掘商品之间的相似程度,为用户评分预测提供可靠的数据基础;
[0074] 相似度是度量用户之间或者物品之间相似程度的量化指标,相似度最高的为最近邻居,推荐质量的好坏,很大程度上取决于最近邻居找的是否准确,因此,精确定位用户或物品的最近邻居,是协同过滤推荐成功的关键,计算相似度的方法有很多,常用的有基于余弦(Cosine-based)的相似度计算和基于关联(Correlation-based)的相似度计算,本文采用改进的余弦相似度计算方法来衡量商品之间的相似性;
[0075] 余弦相似度,又称为余弦相似性,通过计算夹角的余弦值来衡量两个向量的相似度,余弦值取值范围是[-1,1],夹角越小,余弦值越接近于1,两个向量的方向趋向一致,相似度也越高,其计算方法如公式所示;
[0076] sim(i,j)=cos(i,j)=u∈URu,i×Ru,ju∈UR2u,iu∈UR2u,j
[0077] 其中Ru,i表示用户u对物品i的评分,Ru,j表示用户u对物品j的评分,在实际应用中,由于不同用户的评分习惯可能存在差异,有的用户喜欢评高分,有的用户喜欢评低分,用改进的余弦相似度计算方法可以解决这个问题,该方法将用户对物品的评分减去用户所有评分的平均值,从而消除不同用户的打分习惯的差异,其计算方法如公式所示:
[0078] sim(i,j)=u∈URu,i-RuRu,j-Ruu∈URu,i-Ru2u∈URu,j-Ru2
[0079] 其中Ru为用户打分的平均值,
[0080] 候选对象一般都有时间信息,例如书籍的出版时间,商品的上架时间等,都属于物品的出现时间,因为物品的时效性,同类物品出现的时间越接近,物品间的相似度也就越高,如果将用户评分的时间信息引入到商品相似度的计算中,商品间的相似关系将更加客观和准确,具体方法如公式所示:
[0081] sim(i,j)=sim i,j*e-k*|ti-tj|
[0082] 其中ti和tj分别为商品出现的时间,二者时间相差越大,相似度越小,k为调节因子,其大小决定出现时间对于相似度计算的影响大小,通过对k值得的调整,可以找到较为理想的值,使得推荐系统的准确度得到较大的提升。
[0083] 在基于物品的协同过滤推荐方法中,余弦相似度的推荐精准,已成为标准的度量方法。基本的余弦相似度计算方法没有考虑用户评分习惯上的差异,改进的余弦相似度计算方法可以很好的解决这个问题。本文通过对用户评分数据进行变通处理,用评分值相对于用户平均评分值的偏差取代用户的原始评分值。习惯评高分的用户,平均值更大,扣减的分值也就更大,反之扣减的分值更小,新的分值更加客观准确的反映了用户对商品的喜好程度,消除了用户评分喜好差异的影响。
[0084] Hive的存储是直接建立在Hadoop的HDFS之上的,其自身并没有专门的数据存储格式,用户可以自由的组织数据表,但是需要定义数据中的行分隔符和列分隔符。为了更加方便的对数据进行处理,java中的分隔符与hive保持一致。
[0085] 在Hadoop中,每个MapReduce任务都被初始化为一个作业,每个作 业分两个阶段:map阶段和reduce阶段。这两个阶段分别用两个函数表示,即map函数和reduce函数。本文通过PreMRJob、RecMRJob两个MapReduce任务实现商品相似度的计算。作业初始化的内容,包括定义主类、Mapper和Reducer处理类,以及作业的输入输出目录,输入文件的格式,输出键值对的类型等。前文介绍过为了分解复杂的MapReduce任务,MapReduce作业的输出可以直接传递给另外一个MapReduce作为输入,因此PreMRJob作业的输出目录,可以直接传递给RecMRJob的作为输入目录。
[0086] PreMRJob的主要任务是完成用户评分矩阵的转换,将每个用户评分过的所有商品汇集到用户的list中。用户评分表的原始数据用键值对表示为:<(user_id,merch_id),rating>,经过PreMRJob作业处理之后,输出的键值对为,head为前缀,P表示原始评分数据,R表示为冗余的另一份相同的评分数据,有利于后续作业RecMRJob完成商品两两对应的相似度分析。PreMRJob的map函数将初始键值对改写为新的键值对,并传递给PreMRJob的reduce函数进行汇集,将用户对商品的所有评分冗余为两份存放在用户对应的list中,形成新的键值对
[0087] 商品相似度为两个不同商品之间的相似程度,PreMRJob作业reduce输出的键值对不能满足计算的要求,因此RecMRJob的map函数对PreMRJob的reduce函数输出的数据进行了再次转换,将不同商品进行两两关联,以商品和关联商品为主键,用户和商品的评分及关联商品的评分为值,产生新的键值对<(merch_id,merch_id),(user_id,rating,rating)>。
[0088] RecMRJob的reduce函数接收到map函数传入的键值对,利用余弦相似度算法,分析得到了等同于改进的余弦相似度算法效果的商品相似度。
[0089] 商品相似度的信息是以文件的形式直接存放于Hadoop的HDFS上,而计算用户对未评分商品的预测评分是通过hive执行HQL实现,因此需要将商品相似度的数据导入到hive的数据库表中。
[0090] 进一步,所述的评分预测模块:此模块基于商品相似度的信息,对用户未评分的商品进行预测评分,产品初始的推荐候选清单;
[0091] 对用户未评分的物品进行预测评分,采用两种方法:
[0092] 1、加权平均值
[0093] 首先找到用户未评分物品的相似物品且为已评分的物品集合K,以物品间的相似度Sij为权值,计算集合中物品分数Ruj的加权平均值,预测用户u对未评分物品i的评分方法如公式所示:
[0094] Pui=j∈KRuj*Sijj∈KSij
[0095] 2、回归法
[0096] 和加权平均值方法类似,只是K集合物品的评分Ruj需要重算,由于前文介绍过的用户打分习惯的不同,可能导致相似度较高的两个物品,对应的打分向量距离却比较远,因此需要通过线性回归的方法重新计算用户的已评分值R’uj,计算方法如公式所示[0097] P’ui=j∈KRuj′*Sijj∈KSij
[0098] 其中R’uj的计算方法如公式所示
[0099] R’uj=α+βRi+ε
[0100] 物品j和物品i相似,对物品i和j的评分向量进行线性回归计算得到α和β,回归模型误差为ε;
[0101] 通过对用户评分数据的均值差异化预处理,已经消除用户评分习惯上的差异,适合采用加权平均值方法对用户未评分物品进行预测评分。
[0102] 用户评分预测是推荐系统研究的核心问题,本系统采用加权平均值的方法计算用户对未评分商品的预测评分,其分布式计算方法通过HQL语言实现。
[0103] 评分预测针对的是用户未曾有过评分的商品,因此首先需要找到所有用户未评分的商品集合,通过对用户模型、商品模型以及用户的偏好模型的分析,建立用户及其未评分商品的对应关系,存放于物理表user_merch_list。加权平均值预测评分的思想是从已评分的商品中找出与未评分商品相似的商品,根据相似商品的评分以及相似的程度,通过加权求均值的方法预测用户对未评分商品的喜好程度。根据这个思路,需要在商品相似度模型merch_merch_sim中为每一个未评分的商品寻找相似的商品,而且相似商品 必须是用户有过评分的商品。改进的余弦相似度算法得到的相似度范围是[-1,1]。如果正数表示喜欢的话,负数表示的应该是不喜欢,相似度为负值的相似商品关系,其参考价值不大而且会增加预测误差,在商品相似度模型中应该剔除这部分相似关系。用户评分预测通过HQL关联用户和商品模型以及商品相似度模型,用相似商品评分集合的加权平均值作为用户对未评分商品的预测评分。
[0104] user_merch_rating_p为用户评分预测模型表,用户未评分商品通过mapjoin的方式与商品相似度模型表以及用户评分模型表进行关联。因为测试数据比较小,在25M的范围之内,通过mapjoin将两张模型表的数据复制到内存中进行关联可以极大的提高运行效率。
[0105] 进一步,所述的推荐评估模块:此模块主要对推荐效果和性能进行评估,为系统的优化改进提供数据支持;
[0106] 推荐系统的应用领域越来越广泛,每个行业都有各自的应用场景,通过对推荐系统的评估,可以发现不同推荐技术的成功因素以及不同推荐技术的优劣性,推荐系统的评估通常以离线实验的方式进行,将已有的用户行为数据例如浏览,购买,评分或者点击等行为数据,划分为训练集和测试集两部分数据,系统利用训练集对隐藏的测试数据进行预测,通过测试集的真实结果验证推荐系统的预测效果;
[0107] 推荐系统的评价方法如下:
[0108] 1、预测准确度:包括MAE、RMSE验证方式等;
[0109] 2、分类准确度:包括准确率、召回率等;
[0110] 3、排序准确度:包括MAP、NDPM和half-life utility等;
[0111] 采用均方根误差RMSE这个常用的评测指标,对推荐系统进行准确度评测,计算方法如公式所示:
[0112] RMSE=1ni=1nPi-Ri2。
[0113] 协同过滤的基本是思想是,对相同物品有过相同行为的用户应该拥有相同的偏好,而且在未来的偏好也是相似的。例如两个用户购买的商品有着较高的重叠部分,此时可以将一个用户购买而另一个用户没有购买的商品推荐给这个未购买的用户。但是这样的商品可能数量很多,不可能全部进行推荐, 需要通过一些过滤和排序的方法,筛选出最有希望的商品进行推荐,因此这种利用群体智慧的推荐技术被称为“协同过滤”。
[0114] 协同过滤是目前应用较为普遍和成熟的推荐算法,主要分为两个过程,分别为预测过程和推荐过程。推荐系统根据用户的历史行为数据,比如用户的浏览、购买记录,关注、收藏、评论和打分等偏好行为数据,在数据归一化之后都可以作为推荐算法的数据来源,用来计算用户之间或者商品之间的相似度,进而对用户没有打分的商品进行预测打分,根据预测打分的结果,为用户推荐一个或者多个商品,从而完成用户的个性化推荐。
[0115] 预测策略是通过用户对物品的评分信息,计算得到物品间的关联度,进而预测用户对未评分物品的打分,预测准确度的方法适合对此策略进行评估,比如RMSE;推荐策略只需要推荐与用户偏好物品关联度最高的物品,此策略适合用分类准确度和排序准确度的方法进行评估。
[0116] Breese等人将协同过滤算法分为基于内存的算法和基于模型的算法两大类。其中基于内存的算法包含基于用户的协同过滤算法和基于物品的协同过滤算法,基于模型的协同过滤算法包含分类聚类模型、极大熵[20]模型和潜在因子模型等等。考虑到应用场景和技术成熟度的诸多因素,本文将采用基于物品的协同过滤算法,为用户实现个性化的推荐。
[0117] 如图2所示,基于物品的协同过滤是通过分析用户对物品的偏好信息,挖掘物品之间的相似度然后根据用户的历史偏好,将相似度高的物品推荐给用户。假设用户1喜欢物品1、物品2和物品3,用户2喜欢物品1和物品3,用户3喜欢物品1,从中可以发现物品1和物品3相似度比较高,因为喜欢物品1的用户都喜欢物品3,由此推断用户3很可能喜欢物品3,推荐系统可以将物品3推荐给用户3。
[0118] 推荐过滤模块:此模块对商品的推荐候选进行选择性的过滤,对不适合用户或者本身有问题的商品进行过滤,从而提高候选商品的推荐质量;
[0119] 推荐的商品清单中,一般需要对以下商品进行过滤:
[0120] 1、用户产生了行为的商品
[0121] 推荐系统的主要目的是推荐用户未购买或不了解的产品,帮忙用户发现潜在的商品,对于用户已经浏览,购买过的商品需要过滤掉,从而保证推荐结果的新颖性。
[0122] 2、质量较差的商品
[0123] 为了提高用户的体验度,推荐系统提供给客户的推荐商品清单应该是质量良好的物品,对于用户普遍评价不好的商品,比如用户历史评分均值低于2分的商品,一般不适合推荐。
[0124] 3、用户拒绝接受推荐的商品
[0125] 推荐系统可以为用户提供个性化的购物导向,但是如果反复推荐用户并不喜欢的商品,将对用户的购物体验造成极大的负面影响,因此推荐系统需要过滤用户明确要求不再推荐的商品。
[0126] 针对以上商品,系统建立对应的黑名单模型,包括后续需要增加的过滤商品,随时可以纳入到此模型中。推荐清单与此模型关联,将交集部分的商品进行过滤,只保留推荐质量较高的商品。
[0127] 推荐排序模块:此模块基于某些规则,例如降低流行商品权重,对过滤之后的推荐清单进行排序,使更多处于长尾的商品得到发掘和展现,保证推荐的平衡性以及覆盖率。
[0128] 推荐系统对过滤之后的推荐清单进行排序,可以提升推荐的效果,使用户获得更好的推荐体验。排序模块主要包含新颖性排序、多样性排序和用户反馈排序等子模块。
[0129] 1.新颖性排序模块
[0130] 新颖性排序模块通过优先推荐用户未知的长尾商品,使得推荐的效果更加新颖。在过滤模块中剔除了用户有过历史行为的已知商品,并未排除用户通过其他渠道了解到的商品。准确判断用户是否了解某个商品比较困难,但是流行度较高的商品被用户了解的概率相对较高,因此降低流行商品的权重,在一定程度上可以提高推荐的新颖性。根据商品以及同类商品的销售记录,可以计算出每个商品在同类商品中的销售占比,以此度量商品的流行度,简单却很实用。经过推荐过滤的商品清单,关联商品的流行度模型merch_popular_info获取商品流行度,对用户进行分组,组内按照商品流行度的值进行升序排列,以rank()函数的值作为商品在用户组内的排名。推荐引擎选择用户前N项的商品进行推荐,降低了流行商品的权重,使得更多的冷门或不是特别流行的商品有机会展现给用户,提高了推荐效果的新颖性。
[0131] 2.多样性排序模块
[0132] 在电子购物的应用场景中,用户的兴趣一般都不是单一的,提高推荐商品的多样性可以覆盖用户尽可能多的兴趣。本文在商品类别模型merch_class_info中根据商品的属性差异将商品分为不同的类别,比如图书类、电子类、家居类、服装类和珠宝类等各种类别。选取每个类别中排名最前的商品组合为推荐清单提供给用户,可以更好的覆盖用户的偏好,提高推荐的多样性。
[0133] 3.用户反馈排序模块
[0134] 用户反馈排序模块主要通过分析用户与推荐结果的历史交互行为,预测用户对推荐商品感兴趣的程度,一般体现在用户是否点击推荐的商品进行浏览。本文通过收集用户的年龄、性别、是否曾经点击以及商品的流行度、评分均值、商品属性等特征信息,建立用户对商品的点击概率模型。推荐引擎选取用户点击概率高的商品组合为推荐清单为用户进行推荐,可以更好的迎合用户的喜好,为推荐商品争取到了更多被点击和了解的机会。
[0135] 进一步,该系统商品流行度计算从一定程度上体现了商品受欢迎的程度,但是对于活跃度不同的用户,流行商品的吸引力不尽相同,新注册的或者访问电商平台很少的老用户,因为不熟悉购物平台以及没有留下足够的行为记录,通常会倾向于浏览首页的流行物品,所以对于新用户的推荐应该选取流行度较高的商品,而老用户对于流行物品的兴趣度在逐步降低,慢慢的偏向于浏览冷门的物品,所以对于老用户的推荐应该降低流行商品的权重,增加冷门商品的展示机会,由此可见,商品流行度的计算对于提高推荐的质量有重要的意义;
[0136] 商品的流行度通常以商品销售数量与该类商品最大销售数量的比值来衡量,计算方法如公式所示:
[0137] Pi=QiQmax
[0138] 其中,Qi为商品的销售数量,Qmax为同类商品的最大销售数量。
[0139] 另外,该系统的数据库采用Hive;Hive是Hadoop的一个重要子项目,提供了一个基于Hadoop文件系统的数据仓库架构,定义了类SQL的语言HQL。用户提交的HQL语句自动转换为MapReduce任务在Hadoop集群上执行。通过 HQL,用户可以将结构化的数据映射到数据库表,实际上是存储到Hadoop的分布式文件系统HDFS中,可以很好的完成数据的提取、转换、加载和导出等任务。
[0140] Hive的表有两种,一种是直接存储与HDFS的内部表,定义和操作数据非常简单方便。另外一种是外部表,例如Hive存储于HBASE中的数据表。Hive的内部表与传统数据库的表类似,每一张表在Hadoop中都有一个对应的文件存储目录。Hive的根目录通过配置文件hive-site.xml的变量${hive.metastore.warehouse.dir}进行设置,在根目录中可以看到Hive所有的据库,Hive的内部表分别存储在对应的数据库中。
[0141] Hive提供了DML语句支持数据定义操作,CREATE DATABASE|TABLE…可以创建相应的数据库和数据表,增加LIKE修饰可以不带数据的复制已经存在的数据表结构。对于已经存在的数据表,可以通过DROP TABLE进行删除,也可以利用ALTER TABLE进行修改。Hive也提供了丰富的DML语句满足数据操作的要求:LOAD DATA支持将本地或者HDFS上的文件加载到Hive表或者表中的某个分区,INSERT OVERWRITE|INTO TABLE可以实现查询结果以覆盖或者追加的方式插入到表,如果将关键字TABLE替换为DIRECTORY,查询结果将写入到指定目录的文件中,实现了数据的导出功能。可见,Hive的DML使用简单方便,同时也能很好的实现ETL的基本功能。
[0142] 总之,选择Hive有诸多的优势:首先Hive的数据是直接存储到HDFS,而且可以直接访问HDFS的数据,可以减少数据访问中间过程的开销。其次,Hive提供的HQL非常接近标准的SQL语句,而且内置了大量的用户自定义函数UDF,用户通过编写传统的SQL语句,就可以轻松的完成海量数据的挖掘分析工作,大大的减少了学习的成本。
[0143] 本系统主要包含用户、商品等实体,以及用户对商品的评分关系,商品之间的相似度关系,用户对未评分商品的评分预测关系,如图7所示。
[0144] 基于用户对商品已有的评分数据,利用改进的余弦相似度算法,可以计算出商品之间的相似度,在此基础上,通过加权平均值算法,可以预测用户对未评分商品的评分值。
[0145] 对本系统的主要实体和实体之间的关系分析之后,接下来将对数据库表 进行具体设计。
[0146] 本系统的数据库表主要包含用户评分表(user_merch_rating)、商品相似度表(merch_merch_sim)、用户预测评分表(user_merch_rating_p)、用户商品推荐清单(user_merch_rec_list)、商品流行度表(merch_popular_info)等。
[0147] 用户在网上购物过程中,面对的是琳琅满目的商品,来自不同的供应商和不同的品牌,产品的材质和做工也是良莠不齐,如何选择需要花大量的时间进行浏览和比较,消耗较多的精力去分析商品的历史评价记录等等。
[0148] 个性化的推荐系统,能够较为准确的衡量用户和用户以及商品和商品之间的相似性。在用户有明确的购买需求,检索到目标商品时,推荐系统可以推荐与用户的目标商品最为相似的商品,同时也是历史评价最高,质量更有保障的商品。用户不仅节省了宝贵的时间,购买到心仪的商品,也获得了良好的购物体验。当用户没有明确的消费需求时,推荐系统根据用户的历史行为记录,发掘用户有潜在消费倾向或需求的商品,主动进行推荐,不仅给用户提供了较好的购物导向,也为处在长尾的更多商品提供了展示机会,如图3所示。
[0149] 当用户在前台浏览商品时,电商平台同步判断是否需要对此用户进行商品推荐。如果有商品推荐的需求,则向商品推荐系统发送推荐请求。如果没有推荐的需求,则只返回用户请求浏览的商品信息。商品推荐系统接收到电商平台的推荐请求时,针对用户的访问信息返回个性化的商品推荐清单给电商平台。电商平台将用户浏览的商品结合推荐系统返回的商品清单共同展示给用户。至此,整个推荐服务流程结束。
[0150] 推荐系统并非孤立存在的一个系统,与电商的购物平台的其它系统,例如用户行为存储系统,日志采集系统,前台展示系统有着密切的关系。用户在页面系统上发生的行为,将被日志系统捕捉并传递给用户行为存储系统。推荐系统根据用户行为存储系统中的用户行为挖掘用户的消费偏好,产生的商品推荐清单将通过页面展示系统呈现给用户。如图6所示,前台展现系统和用户行为存储系统,是推荐系统发挥强大作用的两个基础条件。
[0151] 推荐系统为满足用户业务需求而必须具有的非功能性需求主要有以下几 个指标要求:
[0152] 1.系统的可靠性
[0153] 可靠性是指在规定的时间和条件下,系统维持正常运行的一组属性,包括成熟性、容错性和易恢复性。成熟性是由故障引发软件失效的有关属性,例如程序终止或运行结果错误,或执行时间超长影响时效性,或程序越界报错。容错性是故障发生后系统维持正常运行的能力,例如核心的业务逻辑有备用方案。易恢复性是指故障发生导致程序运行错误后,可以恢复程序运行的初始场景重新执行的有关软件属性,与系统的运行环境以及代码的质量相关。
[0154] 2.系统的易用性
[0155] 易用性是指用户使用软件需要做的努力以及使用的评价相关的一组属性,包括易理解性、易学习性和易操作性等。易理解性是指用户理解系统逻辑及应用范围的难易程度,易学习性是指用户学习软件应用控制所需的时间成本,二者通常与系统界面导航、联机帮助有关。易操作性是指用户操作和运行程序的困难程度,通常和程序的界面元素设计相关,例如程序可以提供首字母筛选功能的下拉列表,从而提高程序的易操作性。
[0156] 3.系统的维护性
[0157] 维护性是指对系统进行指定逻辑或数据修改所需的努力有关的一组属性,包括易分析性、易改变性、稳定性和易测试性。易分析性是指诊断缺陷或者失效原因并判定修改所需努力相关的软件属性,例如日志记录系统等。易改变性是指修改排除错误或为适应环境变化进行的调整所需努力的软件属性。稳定性是指修改引发系统无法预料结果风险的软件属性。易测试性是指对确认修改的内容进行测试验证所需努力的有关软件属性。在开发测试过程针对提高系统维护性投入一定的时间和成本不难,后期带来的效益却非常明显。
[0158] 4.系统的集成性
[0159] 推荐系统与电商平台的日志系统,前台展示系统等外围系统有着紧密的关系。推荐系统需要从日志系统获取用户和商品的基本信息以及用户的行为数据,通过推荐引擎的加工产生商品的推荐清单,前台展示系统根据需要对 推荐商品进行展示。因此推荐系统应该具有良好的集成性,可以提供接口和外围系统进行数据交换以及系统对接。
[0160] 候选推荐清单针对每个用户一般都有很多的商品,前台的展示系统无法显示候选清单上所有的商品,因此需要挑选最合适的商品进行推荐。Top-N是较为常用的方法,其基本思想是根据业务需求定义排序规则,在满足规则的候选商品中选取前n位的商品推荐给用户。由于系统对新老用户的兴趣爱好了解的程度并不一样,因此需要用不同Top-N推荐策略为用户进行推荐。
[0161] 新用户对于电商平台可能比较陌生,而且没有太多行为记录,比如浏览的商品并不多,暂时还未购买过商品,也没有对商品进行过评分。对于新用户的偏好,推荐系统能挖掘到的信息很少,因此提供个性化的推荐服务比较困难。但是根据其他广大用户的行为,可以发现流行的商品购买的人比较多,量也比较大,而新对流行的商品也会有一定的兴趣,因此推荐系统可以在商品的流行度模型中以流行度大小进行降序排列,排名前N项的流行商品也能较好的满足新用户的需求。
[0162] 对于电商平台的老用户,推荐系统将提供个性化的推荐系统。推荐的方式可以分为两种:一种是通过用户评分的预测模型与商品的流行度模型关联,以用户为分组条件,将预测评分降序,商品流行度升序进行排列,结果中前N项的商品在用户的未评分商品中较为冷门但是用户相对更为偏好的商品,这些商品推荐给用户可以取得较好的推荐效果。另外一种是基于用户已有行为的商品进行推荐,例如将用户已购买的商品与商品相似度模型和商品流行度模型关联,将商品相似度降序,商品流行度升序排列,结果中前N项的商品与用户购买过的商品最为相似,而且较为冷门,这些商品推荐给用户的成功率相对较高。事实证明,第二种推荐策略的效果比第一种推荐策略更好,用户满意度更高。
[0163] 以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等同物界定。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈