基于聚类的商品推荐系统的设计与实现
摘 要
在当今信息爆炸的大时代,由于信息管理系统能够更有效便捷的完成信息的管理,越来越多的人及机构都已经引入和发展以信息管理系统为基础的信息化管理模式,随之信息管理技术也在不断的发展和成熟。鉴于此,为了适应社会的快速发展,无论什么行业的组织或管理部门都有必要积极改革内部管理方式,以配合引入信息化管理模式,来提高处理事务的效率,促进自身的管理优化和效率的提升。本课题商品推荐系统的设计与实现就是通过该信息管理网站来辅助本行业,完成信息化管理模式的引入,来提升服务行业信息管理的效率。因此系统的设计要着重考虑系统的安全性,可操作性,功能全面性。
本商品推荐系统开发的目的在于规范购买商品服务,提高效率。以便满足各类型用户的需求,增加的安全性,多样性更加适应现代社会的发展。
除此以外,本商品推荐系统是严格根据软件工程的开发方式进行开发。利用MySQL 数据库作为数据存储支撑,使用JAVA编程语言,基于springboot框架。主要功能是实现各项相关信息的编辑,查询以及用户的添加。功能模块包括:注册,登陆,主界面,商家、商品信息、论坛、公告信息等模块。其中的数据库能够实现增、删、改、查等功能。
关键词:商品推荐系统;springboot框架;MySQL 数据库;
Abstract
In today’s era of information explosion, due to the fact that information management systems can more effectively and conveniently manage information, more and more people and institutions have introduced and developed information management models based on information management systems. As a result, information management technology is constantly developing and maturing. In view of this, in order to adapt to the rapid development of society, it is necessary for organizations or management departments in any industry to actively reform their internal management methods, cooperate with the introduction of information management models, improve the efficiency of handling affairs, promote their own management optimization and efficiency improvement. The design and implementation of this project’s shopping mall system is to use this information management website to assist the industry, complete the introduction of information management mode, and improve the efficiency of information management in the service industry. Therefore, the design of the system should focus on considering its security, operability, and comprehensive functionality.
The purpose of developing this shopping mall system is to standardize the purchase of goods and services, and improve efficiency. In order to meet the needs of various types of users, increasing security and diversity to better adapt to the development of modern society.
In addition, the development of this mall system is strictly based on software engineering methods. Using MySQL database as data storage support, using Java programming language, based on the Springboot framework. The main function is to edit, query, and add users to various related information. The functional modules include: registration, login, main interface, merchant, product information, forum, announcement information, and other modules. The database can achieve functions such as adding, deleting, modifying, and querying.
Keywords: Mall system; Springboot framework; MySQL database;
目 录
摘 要 I
Abstract II
1 绪 论 1
1.1 研究背景 1
1.2课题意义 2
2 开发技术论述 2
2.1 Spring boot框架 3
2.2 Vue框架 3
2.3 Tomcat服务器 4
2.4 MySQL数据库 5
3 需求分析 6
3.1 系统的可行性分析 7
3.2 功能需求分析 7
3.3 项目设计目标 8
3.3.1 关于系统的基本要求 8
3.3.2开发目标 9
4 系统设计 10
4.1 系统功能模块设计 11
4.2 系统功能流程设计 12
4.3 数据库设计 13
4.4数据库中的表格设置情况如下 13
5系统的功能实现 14
5.1前台用户功能实现 15
5.2后台管理员功能实现 17
5.3后台商家功能实现 17
6 系统测试 18
6.1 测试目的 20
6.2 测试方式 21
6.3 主要用例测试 22
6.4 系统的测试结论 25
7 结 论 28
8 参考文献 31
9 致 谢 33
1 绪 论
1.1 研究背景
显而易见,在互联网时代,计算机给人们的生活方式带了前所未有的变革,如今各类电子设备,智能产品正在改变人们传统的生活、工作及娱乐方式[1]。相对于人们过去的脑计算,手动记录的方式,现如今花费同样时间能够处理的问题早已不再是一个数量级了。那在当今社会,人们需要慢慢从很多复杂劳累繁重重复的体力劳动中解放出来,人们对信息资源的需求就变的越来越大,对获取信息的准确度,安全性以及效率的要求也随之加大。因此,基于计算机应用的信息管理系统便随之出现[2]。有了信息管理系统,人们能够快速获取,收集和处理数据。管理信息系统(MIS)可以完美地集成计算机和网络技术,满足用户对信息的需求[3]。作为一种智能管理工具,MIS使数据信息的处理更加省时省力,准确并更切合用户的要求。此外,由于繁杂的数据处理由计算机应用系统完成,用户就可以在需要时,时时获得数据信息的分析统计的结果,以辅助做出管理决策来实现更高效有益的管理工作实现。
记得在过去,当时信息技术还没有得到引入和普及,人们对信息的处理主要是是基于纸质材料的记录和信息的存储。因为纸质档案的储存需要大量的人力物力,这就导致了管理成本的居高不下[4]。另外,关于信息的处理方面,由于数据的收集和分析技术不够成熟,导致数据和信息的重复使用率很低。也就直接导致了信息管理工作的效率非常地低下,那么对于现如今信息爆发的大数据时代,对于越来越大信息需求量的社会来说,在低效率的信息管理模式下,以往的管理模式已经毫无疑问地不能够符合现代社会对于信息索取的要求了。因此,设计和开发一款应用管理程序系统来满足对于现代管理部门或机构的高效管理是非常有必要的[5]。
1.2课题意义
激烈的市场竞争是这个时代的标志,适者生存,不适者淘汰,优胜劣汰是基本法则。循序渐进,任何事物随着时间的推移都朝着好的方面在发展,各行各业的管理部门要想在本行业领域中脱颖而出,就必须保持足够的优势,提高市场竞争力[6]。对于现代管理部门来说,信息资源是非常重要的,有效的利用及管理好这些资源信息可以帮助管理部门更好的发展。信息管理系统是新型的管理模式,相对于传统的以人工为主的管理模式而言,它更加的高效化,可以满足各类用户的使用需求,用户可以节省大量的时间而从去做更有意义的事情[7]。信息管理系统对于信息的收集和处理也是非常便捷的,管理者可以实时查询所需要的信息,从而更加准确及快速的做出决策,提高管理工作效率[8]。
对于本行业来说,传统的管理模式面临着许多问题,比如收集数据信息资料需要耗费大量的人力资源,无形增加管理部门的运营成本,而且对于数据信息分析方面,容易出现主观判断的错误,对于信息资源的存放安全性较差,而且对于信息的利用率较低,造成了大量的资源浪费,得不偿失[9]。而使用本信息管理系统,可以在很大程度上改善和避免这些问题,比如,系统可以大量保存及收集各类资源信息,对于信息的查找通过系统也是非常快速和便捷的,系统可以根据事先设定的规则程序对数据进行科学的分析,结果相对来说比较准确,出现错误的可能性极低,使用本商品推荐系统也可以节省不必要的人力资源,减少管理部门的运营成本,总的来说,设计及开发本商品推荐系统对于现代化的管理体系来说是有这一定意义的[10]。
社会在变,工作方式在变,习惯也在变,科学技术越来越成熟,人们对于技术产物的要求也越来越多,对于数据信息的需求量增加,对大量数据信息的管理也越来越重要,为了满足需求,就需要有针对性的结合实际设计及开发出适合的系统[11]。在开发本商品推荐系统前,对于使用者的需求做了详细的分析,本行业的市场情况及发展背景也做了了解,科学的介入使得人们的工作效率得到了很大的提高。在当今社会里,计算机应用已经渗透到人们的日常生活及工作中,人们使用信息管理系统可以更好的完成工作,这种更加高效,更加科学的工作方式越来越受到人们的青睐,和以往的工作相比,利用信息管理系统收集和处理信息的速度越来越快,人们可以节省大量的时间和精力去创造更多的价值[12]。也基于此,市场上也已涌现出形形色色的应用管理系统,但这些应用系统功能过于简单,并不能各行各业各种各样的需求,根据各行各业多样的信息需求,必须根据其实际需要设计相应的功能,以设计开发出最适合用户的信息管理系统,这也是本系统开发的目的所在。
1.2国内外研究现状
推荐系统起源于认知科学,信息检索、预测理论等学科。20世纪末,推荐系统被作为一个独立的学科提出来,并随着 Web2.0的发展,其在网络特别是电子商务系统中被广泛研究和应用。美国计算机协会(ACM)从2007年开始,每年举办一次专门的推荐系统的研究会议,专门用来研究目前推荐系统中存在的问题。一个完整的推荐系统由用户信息采集模块,用户喜好模型分析模块和推荐算法模块三部分组成。
(1)用户信息采集模块负责记录用户的上网行为,包括评分、购买、下载、浏览等行为。
(2)用户喜好分析模块,根据采集的用户行为记录分析用户的兴趣偏好,建立合适的描述用户喜好的模型。
(3)推荐算法模块利用根据用户喜好模型结果和商品用户的历史信息,为用户推荐感兴趣的商品。
目前推荐系统主要被分为基于内容的推荐11、协同过滤推荐[31[4和组合推荐[51三种类型,随着电子商务网站的兴起,这三种推荐系统都得到了广泛的研究和应用。但是与此同时,推荐系统并没有达到成熟的地步,在实际应用过程中,这三种推荐系统都面临着诸多的挑战和问题。研究人员针对推荐系统所面临的问题一直在不断地探索和研究。
基于内容的推荐算法直接对要推荐的物品进行特征描述,为物品建立特征向量或数学表示,然后分析用户的兴趣资料建立用户的兴趣偏好,计算用户偏好和物品之间的相似度,为用户推荐与其兴趣偏好相似度高的商品21。基于内容的推荐方法不需要用户的数据,没有冷启动问题(Cold Start)和稀疏性(Sparsity)问题,既能够为具有特殊兴趣爱好的用户进行推荐,也可以推荐系统中的不流行的项目基于内容的推荐算法的最大难点在于信息过滤和信息获取。针对文本信息的获取与过滤算法!71已经比较成熟,因此现在很多基于内容的推荐是通过分析产品的文本信息进行推荐。Salton G"提出了TF-IDF 文本表征方法,TF-IDF 首先计算若干个关键词在文档中的重要性,然后利用这些关键词对文档进行描述,Mooney等"提出了基于文本分类的图书推荐系统。但是除了文本特征提取外,对于图像、视频、声音等产品,由于其特征提取描述非常困难,因而基于内容的推荐受到了很大的限制。因此基于内容的推荐系统在大多数情况下并不适用。
鉴于基于内容的推荐算法的弊端和不足,人们提出了协同过滤的推荐算法协同过滤推荐算法不同于基于内容的推荐,它是依赖于用户对商品的打分信息,向用户进行推荐。因此,其最大的优点便是不受推荐物品属性的限制,可以推荐
任意类型的物品。协同过滤推荐算法又分为基于用户的协同过滤和基于项目的协同过滤,GroupLens 研究小组最早提出了基于评分的协同过滤算法。最初 Grouplens 提出的协问过滤算法是基于用户的协同过滤算法,是通过计算用户间相似度,对用户未购买的商品进行预测评分。Sarwar等人H提出了基于项目的协同过算法。该方法基于用户对商品打分,通过计算商品之间的相似度,预测目标用户对未购买商品的预测评分,为目标用户推荐评分较高的商品。Sarwar等人对比了基于项目和基于用户的两种协同过滤算法后发现,基于项目的协同过滤算法比基于用户的协同过滤算法具有更高的推荐准确性。Amazon!成功的将基于项目的协同过滤推荐系统应用到了其网站的推荐系统中,使得基于项目的协同过滤算法成为了当前推荐系统领域研究最热门的算法。
相比基于内容的推荐,基于项目协同过滤的最大优点是能够处理非结构化的复杂对象,如音乐、电影等。然而基于项目的协同过滤推荐算法面临着很多问题仍严重影响着推荐系统的推荐准确性。如何解决其所面临的问题仍然是推荐系统研究的热点。
协同过滤算法面临的最大的问题便是数据稀疏性问题。为了解决数据稀疏性问题,SARWAR BP等人提出了利用单值分解的方法对原始的稀疏数据进行数据处理,将矩阵分解到较低维的稠密矩阵,实验表明这种方法能够提高推荐效果,但是在分解过程中,造成了数据的遗失,使得单值分解算法并不理想,而且该算法计算复杂度高,可扩展性差。BP神经网络的填充方法!9被提出用于解决数据稀性问题,但是这种矩阵填充技术的最大缺点是可扩展性问题,其计算量会随着数据量增大而急剧增加,使得推荐速度变慢。尽管针对数据稀疏性问题,研究人员已经提出了很多的解决方法,但是没有任何一种方法能彻底解决数据稀疏性问题,对数据稀疏性问题的研究仍在不断进行中。数据稀疏性的研究,对于提高推荐系统推荐准确性,提高推荐系统推荐效果有着重要意义。
协同过滤的另外一个重要的问题便是可扩展性问题。针对可扩展性问题,研究人员提出了最大期望算法(EM 算法)、Gibbs Sampling 方法和聚类算法等不同的方法来研究推荐算法的计算复杂度!。这些方法的共同特点都是将大的商品空间或用户空间根据某种规则划分成小的空间,在每个空间内部进行推荐,因而能减少推荐的计算复杂度。
相似度计算是协同过滤算法中的关键环节,相似度的准确性很大程度上决定了推荐系统的推荐准确性。SARWARB3)对夹角余弦、修正的夹角余弦和相关系数三种相似性计算方法进行了比较,经过实验对比,采用修正的夹角余弦计算相似度,协同过滤的推荐准确性最高(MAE平均绝对误差最小)。
不同的推荐算法都有各自的优缺点,在实际应用中,通常将多种方法进行组合使用。研究实验表明,这些组合的方法比单独使用某种推荐算法具有更高的推荐准确性。研究和应用最多的是内容推荐和协同过滤推荐的组合[12)。最简单的组合方法就是利用基于内容的方法和协同过滤推荐方法各产生一个推荐的结果,再使用某种规则将其结果进行组合。
虽然理论上有很多种推荐组合方法,但具体的问题中要使用特定的组合方法才能实现更好的推荐效果。组合推荐的原则就是通过组合弥补或避免某种推荐算法的弱点而又尽量保留不同推荐算法的优点。目前的组合推荐技术有多种,例如加权组合、变换组合、混合组合、特征组合、层叠组合、特征扩充、元级别组合。除了以上三种使用最广泛的推荐算法之外,还有很多其他的算法被研究用以改进算法的推荐效果。基于关联规则的推荐是根据关联规则进行的 Top-N 推荐。该方法利用工个近邻产生相邻规则,而没有使用全部的用户集数据,导致了关联规则弱,且商品推荐不够充分1131。周涛等人(14I5提出了一种新的基于二部图理论的商品推荐算法,相比传统的协同过滤有更好的推荐准确性。
2 开发技术论述
2.1 Spring boot框架
Spring Boot的开发团队来自美国的Pivotal公司,是2013年研发的免费、轻量级、开源的系统框架。它集合、默认了许多框架的使用方法,是基于原有的框架的功能的又一次进化,所以从这个角度看,它就又是一个旧的框架。
Spring boot有以下几个特点:低嵌入式设计,代码污染性低;不是只局限于Spring,开发者可以随意的选择Spring框架的任意几个部分;使程序的测试变得更加简单与方便;没有独立的Web服务器需要,所以不再需要启动Tomcat,Glass Fish。
2.2 Vue框架
Vue.js是一套构建用户界面的渐进式框架,是一个基于MVVM模式的 JavaScript库。Vue.js采用了自底向上的增量式开发的设计。Vue.js 的显著特性有:轻量级的框架、双向数据绑定、指令、插件化。
2.3 B/S结构
B/S(浏览器/服务器)模型,也称为B/S架构,是在web源代码之后出现的一种网络结构。Web怀疑是主要的客户端应用程序。该模型将客户和服务器上的系统中央操作部分结合在一起,简化了系统的开发、维护和使用。客户端只需要安装一个疑点,服务器上需要安装SQL服务器、Oracle、MySql和另一个数据库;浏览器通过web服务器将数据库连接到ð数据交换。浏览器是指在未来进行少量合同理论,但在在中间进行主要合同理论的网络浏览器。B/S架构系统不需要特定的设置,只需要足够的组织怀疑。现在在未来只做了几件事,大部分规则都在后面应用。
B/S架构:
与只有两层的C/S架构不同,B/S架构有三层,即:
第一层表现层:主要介绍用户到端的交互和问题的输出功能。
第二层逻辑层:主要使用服务器来完成客户端的编程规则。
第三层数据层:主要负责在收到客户请求后独立执行多项操作
图2-1 B/S模式三层结构图
2.4 MYSQL数据库
MySQL是由MySQL AB在瑞典开发的链接数据库系统。MySQL是最流行的关系数据库系统之一,在Web应用程序方面,MySQL是最好的RDBMS(关系数据库管理系统)应用程序之一。MySQL是一个关系数据库系统,将数据存储在不同的表中,而不是将所有数据存储在一个大型数据库中,从而提高速度和灵活性。MySQL使用的SQL语言是访问数据库的最常用的标准语言。MySQL软件包含双重许可政策,分为社区版和经济版。由于其体积小,速度快,总拥有成本低,特别是开源功能,MySQL通常被选为开发小型和大型网站的网站数据库。MySQL是一个关系数据库管理系统(RDBMS),最初由MySQL公司在瑞典开发,现在由Oracle公司拥有。MySQL是目前最常用的连接数据库系统, 特别是在Web应用程序. MySQL是最流行的RDBMS应用程序之一. 作为一个连接的数据库系统,MySQL的想法是将数据分类为不同的表, 主和外部键放置在每个表中, 将所有表连接在一起.MySQL不能管理所有数据,这节省了大量的查询时间,并在操作过程中提高了查询效率。目前,MySQL所使用的SQL语言已成为访问数据库的最常用的标准语言。MySQL具有体积小,查询速度快,开放和自由的优点。由于MySQL是开放和免费的,因此MySQL已成为中小型网站的首选数据库。
MYSQL数据库具有以下特点:
1.使用C和C++进行测试,以确保源游戏集合的生产力和灵活性。
2.控制操作系统的数量,包括AIX、FreeBSD、HP-UX、Linux和Mac OS,以及Novell的Netware、OpenBSD、OS/2软件包、Solaris、Windows等。
3.为不同的应用程序提供API。C、C++、Python和Java、Perl、PHP[UNK]埃菲尔铁塔、Ruby和Tcl等应用程序。
4.以及那些习惯于支持多学科的雇主。
5.算法优化查询SQL,有效提高搜索速度。
6.客户和互联网服务器可用于独立于软件环境进行编程,,用于支持多种语言,可以插入数据表中,以访问可用程序,可用作名称。
7.TCP/IP、ODBC和JDBC数据库,并提供与其他数据库的链接。
8.一家管理公司,负责管理、管理和优化数据处理活动。
9.数以百万计的文件可以存储在一个大型数据库中。
2.5 推荐系统
在没有对即将选择的事项有深入了解的前提下,人们往往需要做出决策。在这个意义上讲,推荐就是一种决策过程。在我们的日常生活中,人们通常依赖于大众的口碑、推荐信、报纸上的影评或书评以及调查报告等多种方式来完成这个过程。推荐系统可以帮助用户根据自己的需要从众多信息资源中选出最适合于自已的信息,从而使他们得到最大程度的满足。推荐系统是一个计算机系统四,其主要功能是辅助或模拟这一自然过程。推荐技术作为一种有效的信息组织手段已经引起了许多领域学者们的关注,并得到了一定程度的发展。随着计算机科技的快速进步和应用范围的持续拓宽,推荐系统在各个领域的使用也变得越来越普遍。
在1997年以前,推荐系统(RecommenderSystems)通常被命名为协作式过滤(Collaborative Filtering,简称CF)。它主要用来处理用户与数据库之间的数据匹配问题。CF这一概念首次在1992年被引入,当时它的提出是为了应对电子邮件系统中信息过载的挑战。在1997年,人们探索到了一个新的应用推荐系统的领域,那就是电子商务。
随着新世纪的降临,互联网(Interet)已经深入到无数家庭中,为全人类社会开辟了一个创新的信息领域。在这样一个虚拟世界里,人们可以足不出户就能享受到丰富多彩的现代生活和服务。在这个特定的空间内,人们通过数字信号在互联网上进行邮件交流、问题讨论、办公活动、写作活动,甚至还包括游戏。网络不仅是一个虚拟世界,更是一个现实的商业战场。作为人类最基础和最普遍的交流手段,商业活动不可避免地会渗透进这个网络空间。因此,人们开始考虑使用数字信号来进行在线商务活动,这也催生了如今广为人知的电子商务(ElectronicCommerce,简称E-Commerce或EC)。电子商务是利用现代网络技术进行商务活动的一种新方式。目前,电子商务凭借其低成本、便捷高效以及不受时间和地点限制的多重优势,正在全球范围内逐步获得普及。由于它是通过计算机来进行各种商务交易活动的一种新型商业方式,因而对网络环境下的电子商务系统提出了更高的要求。随着电子商务的规模持续增长,其网站上的商品种类也在不断地更新和丰富,与此同时,浏览这些网站的用户数量也在迅速上升。电子商务网站已经不再是简单意义上的“电子”站点,它所承载的内容已远远超出传统商务模式的范围,包括企业内部管理、产品发布、销售服务以及各种活动安排等等。随着电子商务网站为用户带来更多的选择,其内部结构也逐渐变得更为复杂。电子商务网站上的商品不仅种类繁多,还包含有许多未知且不易被人们发现的潜在价值。一方面,面对众多的商品信息,用户往往感到无计可施,经常在海量的商品信息中迷失方向,难以找到他们所需的商品;另一方面,商家也失去了与消费者之间的联系。因此,在这种情况下,电子商务网站上的商品竞争十分激烈,网上购物已经成为许多中小企业进行营销推广的重要手段。因此,探讨如何在电子商务平台上提升商品的吸引度,增强用户对该网站的忠实度,进而为企业带来最大的益处?如何使用户从众多网站中快速而准确地定位出感兴趣的产品?面对电子商务网站所提供的众多商品,如何帮助用户更为精准地挑选出他们心仪的产品呢?如何让消费者通过网站了解到更多的商品和服务等?这些问题被称为信息超载(Information Overload),它已经上升为现代电子商务所要面对的核心难题之一。
2.6 聚类
在过去的几年中,数据挖掘逐渐成为研究的焦点,其中,聚类(clustering)作为数据挖掘的核心技术之一,也吸引了众多人的目光。聚类分析是对数据集进行划分和分类的一种技术。聚类的定义是,将多个对象集合划分为由相似对象构成的多个类别的操作。它包括对样本进行划分和归类两种操作,即把一些相似度较大的点聚成一类或把那些相近性较弱的点聚成另一类。简而言之,目标是确定一套聚类准则,并将数据划分为几个不同的类别;同时把同类中的各个对象进行分类比较。目标是确保同一类别中的对象具有最大的相似度,而在不同类别的对象中,相似度应尽可能地降低。聚类技术在人工智能领域应用广泛,它能够从大量信息中提取有用的知识和规律。通过聚类,人们对于客观事实的了解得到了加强。在数据挖掘领域,聚类分析是最基本和应用最为广泛的技术之一。与分类方法相对照,分类算法主要针对已知类别的数据集进行分析,而聚类算法则专注于未知类别的数据。在数据挖掘领域,聚类分析是一种重要的数据分析方法和工具。聚类所需的输入数据是一组未经分类的记录,并且我们之前并不清楚它们将被划分为哪几个类别;聚类分析的输出是一个类和一类内每一记录所代表的对象。经过对数据的深入分析,并依据特定的分类标准,我们可以合理地划分记录的集合,进而明确每一份记录所属的种类。聚类分析的结果通常用一个矩阵来表示,其中每一行称为特征向量,每列称为相似度。在各种聚类算法中,描述相似度的函数各不相同,有的使用欧氏距离或马氏距离,有的使用向量夹角的余弦,还有的选择其他的度量方式。
在无法预先确定类型数量,或者通过参数估计和非参数估计难以区分不同类型的类概率密度函数的情况下,有必要进行聚类分析。在本文中提出了一种新的基于参数化方法的自适应聚类分析算法。某些聚类方法能够自主确定类型的数量k,而不需要预先知道k的具体数值;也可以将k的值设定为算法的结束条件。如果k的值未被明确给出,那么在聚类的过程中如何自动确定k的具体数值,成为了聚类中的一个核心难题。
当使用不同的聚类技术时,同一个记录集可能会呈现出不一样的分类效果。这些聚类分析结果往往会影响到分类算法中对样本数据集分割和特征提取的选择。特征的选择与聚类结果之间存在着密切的联系。因此,在对人进行聚类分析时,要综合考虑多种因素来确定一个合适的聚类数目和特征组合,才能获得满意的效果。例如,在对人类进行分类时,我们可以基于身高、肤色或年龄来进行分类。聚类分析是一种分类技术。选择不一样的特性会导致聚类结果的差异。
如今,聚类技术已在众多领域得到了广泛应用。从商业角度看,聚类技术能够协助市场分析师从他们的消费者数据库中识别出各种不同的消费者群体,并总结出这些消费者的消费习惯或模式;在医学上,聚类分析能够为医生提供患者信息,从而指导其诊断和治疗。在生物学领域,这一工具不仅可以辅助对动植物进行分类研究,还能用于区分具有相似功能的基因,并有助于揭示人类群体中可能存在的结构特点等。聚类技术也能帮助我们从地理数据库中鉴别出与土地用途相似的区域;可以通过分析用户的历史消费数据来确定客户对产品的偏好以及购买行为等。在保险公司的数据库里,我们可以找到那些在汽车保险中索赔几率较高的人群;一个城市的房地产信息数据库也可以根据房屋类型、房屋价格和地理位置将其分类为不同的种类;通过对这些数据进行聚类分析,可以将用户感兴趣的领域划分为一些类别。此外,它还能用于在万维网上对各种类型的文档进行分类。此外,基于聚类的结果,聚类可以被用作其他算法的前期处理。
2.7 电子商务推荐系统的分类
随着计算机科学的不断进步和应用范围的逐渐扩大,各式各样的电子商务推荐系统不断涌现,同时,电子商务推荐系统的分类方式也呈现出多样性。由于电子商务本身具有开放性、复杂性等特点,所以不同类型的推荐系统有着各自独特的优点和缺点,这给我们选择合适的推荐系统提供了很大的空间。尽管电子商务推荐系统提供的推荐内容各不相同,但考虑到电子商务推荐系统在资源或商品推荐方面的广泛应用,本文将以电子商务资源推荐系统为例,详细介绍电子商务推荐系统的特点和功能。由于电子商务中存在大量的商品信息,因此电子商务资源推荐系统对其提出了新的要求。电子商务的资源推荐系统大体上可以被划分为两个主要类别:一是个性化推荐系统,二是非个性化推荐系统。个性化推荐系统是基于用户行为分析,根据特定需求向用户提供个性化信息服务,从而达到提高用户满意度、促进交易达成的目的。个性化的推荐系统为每一个用户提供的推荐内容都是独特的,也就是说,不同的用户会得到各自不同的建议。个性化推荐系统所采用的方法就是根据每个用户自身特点以及他们之间的相似度进行评分计算,得出一个相对合理的推荐结果。与个性化推荐系统不同,这种系统生成的推荐对所有用户都是一致的,也就是说,不同的用户将会收到一致的推荐。在这一基础上提出了一个基于协同过滤技术的电子商务资源推荐模型。在这篇文章里,我们设计并构建了一个电子商务资源推荐系统,该系统是非个性化的推荐机制。
电子商务资源推荐系统是以用户需求为核心,致力于为用户提供全面的服务。在电子商务中,由于商品数量众多、种类繁多以及交易时间不确定等特点,使得传统的基于物品或服务的个性化推荐方法不能很好地满足用户需求。电子商务资源推荐系统为用户呈现的推荐具有两个主要特点[3]:自动化水平(Degree of Automation)和持久性(Degree of Persistence)。
自动化程度描述的是用户是否需要明确输入信息以获得推荐系统的推荐。自动化程度越高,表示该推荐系统对用户提供的服务越准确。自动化的水平可以被划分为手动操作和自动化操作。手动方式即用户在使用推荐系统之前必须要经过一个简单而又容易理解的过程,即用户选择自己感兴趣的项目或物品后,系统会给出该项目或者物品的相关属性值给用户。手动操作意味着在用户获得推荐系统的推荐之前,他们需要执行一些显示功能,例如对产品的评估等。自动方式则表示用户在得到推荐时无需再经过其他显示步骤。采用自动方式,用户无需执行任何显示功能,而推荐系统便能产生相应的推荐。
推荐系统生成的推荐内容是基于用户当前的单一会话(Session)还是基于用户的多个会话,以及这些推荐是即时的还是长期的,这就是所谓的持久性。在实际应用中,通常采用即时推荐和永久推荐两种方式。瞬时推荐仅关注当前用户的对话内容,并不涉及该用户过去的任何资料。持久推荐则同时考虑了当前用户和过去用户之间的关系,将历史上下文中的相关信息加入到推荐中来,并在此基础上计算出每个用户的偏好度。持久推荐是通过识别现有用户,并依据他们的个人喜好或行为模式等因素来进行推荐的。
根据推荐所依赖的信息内容的多样性,电子商务资源推荐系统可以进一步细分为四个主要类别[3]:
1、非个性化推荐系统(Non-Personalized Recommender Systems)这种推荐系统主要是基于其他用户对产品的平均评价或电子商务系统的统计数据来进行推荐的。这些推荐通常由用户主动发起或通过社交网络等途径获得,但在实际应用中往往由于缺少有效的机制而失效。这类推荐系统是自动生成的,很少有用户参与其中,有些甚至完全不需要用户的参与,这是一种自动化的推荐方式。这些推荐系统通常使用机器学习和数据挖掘技术,将用户行为特征作为模型参数输入到预测算法中进行训练,然后通过计算获得最优结果。这种推荐系统生成的推荐是基于用户之间的单一会话,属于即时推荐类型。在这些推荐系统中,用户和物品之间存在着一定的关联关系,但是并不是完全对应的,因此用户的兴趣偏好与物品间的相关度很低。这一推荐系统与用户无关,所有用户接收到的推荐信息都是一致的,具有良好的实时性,并且实施过程也相对简洁,因此目前得到了广泛的应用。
2、基于商品属性的推荐系统(Attribute-Based RecommenderSystems):这种推荐系统会基于商品的独特属性为用户提供相应的建议。在传统的推荐系统中,用户是被动地接受商品属性信息,然后将这些信息存储到数据库中并进行检索和比较后作出选择。这个推荐系统与搜索引擎有相似之处,用户需要手动输入他们想要的商品的属性特性,因此它是手动推荐的。本文提出了一种自动生成商品信息并进行排序和个性化推送服务的方法——基于内容的个性化推荐。这样的推荐既可以基于用户的单一会话,也可以基于用户的多个会话。
3、基于商品相关性的推荐系统(Item-to-ltem CorrelationRecommender Systems):这种推荐系统会基于商品间的关联性,为用户推荐相应的商品。当用户在购物时需要了解商品间的相关性时,他们可能会使用一些辅助信息来提高推荐结果。商品间的关联性涵盖了商品自身的相关性(比如锤子和钉子之间存在某种程度的相关性)以及商品购买历史的相关性(比如,在购买啤酒的人群中,有一部分人也选择购买尿布)。在此推荐过程中,通过计算用户对商品评分与商品之间的关系来进行预测。这类推荐通常采用自动化的方式进行,并且是基于用户之间的单一对话进行的。
4、基于用户相关性的推荐系统(People-to-People CorrelationRecommender Systems):此类推荐系统首先根据用户之间的相关性来搜索当前用户的邻居,然后根据邻居的购买记录或评分信息向当前用户形成推荐。这种推荐一般不需要用户显式地输入信息,是自动方式推荐。这类推荐系统产生推荐一般是基于用户的多个会话。
电子商务的资源推荐系统种类繁多,而每一种推荐系统都有其独特的长处和短处。为了使电子商务推荐系统更好地为用户服务,必须根据不同的应用场景选择合适的推荐算法。对于一个具有庞大规模和丰富商品种类的电子商务网站推荐系统而言,最理想的做法是能够综合运用多种电子商务推荐系统的长处,同时也要解决它们各自的不足,以便更好地满足各种不同用户群体的需求。因此,如何在现有技术条件下设计出既适合于大规模网站又具有较好可扩展性的个性化电子商务推荐系统是一项值得深入研究的问题。这篇文章主要探讨了与群体行为相关的,基于商品关联性的电子商务资源推荐系统。
3 需求分析
3.1 系统的可行性分析
(1)经济可行性
作为我个人的毕业设计成果,这一商品推荐系统提供了所有开发工具的免费版本,并采用了个人笔记本电脑作为硬件设备。所有这些费用和所需资源都在我能够承受的范围内,除了时间和精力的投入外,几乎没有其他额外的费用支出,因此这是一种相对较低成本的开发方式。另外,本商品推荐系统对用户来说也比较容易操作,只要输入相应的用户名和密码就可以完成对该商品的购买。此外,这一商品推荐系统所具备的功能有助于提升工作流程的效率。如果该系统能够成功开发并投入实际应用,预计将会带来巨大的经济回报——系统的可重复使用性将有助于节省大量的人力、物力和财力资源。同时也将为企业提供更加完善的产品信息服务。因此,这个商品推荐系统在经济层面上确实是经济上可行的。