版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要网络销售成本比传统销售低,效率也比传统线下模式更高。因此,网络销售已经逐渐取代传统线下销售模式,成为普及率更高的商业经营理念。对于一个成熟的销售系统,不仅要页面简洁、基础功能全面;还要一定程度上帮助用户筛选信息以节省时间成本,帮助商家更好的营销。由于以上原因,本文设计了一款基于协同算法的具有推荐功能数码家电销售系统。本文设计的销售系统基础功能完善,并且运用协同过滤算法分析用户的购买记录,在“猜你喜欢”页面中,把分析出的结果商品推荐给用户,达到减少用户时间成本、减少商家时间成本、帮助商家提升销售量的效果。本文采用Java结合MySQL数据库,使用JSP技术,运用协同过滤算法实现了具有推荐功能的数码家电销售系统。本系统的基本网络购物功能功能完善,前台的用户界面功能直观、简洁;而后台管理者管理功能功能强大且操作简单;推荐系统则基于用户购买行为,推荐相关商品给用户。希望本文设计的具有推荐功能的数码家电销售系统能够帮助用户有更好的购物体验,帮助商家更高效的进行销售活动。测试结果表明,本系统的基本网上购物功能和管理功能基本实现且运行稳定。关键词:协同过滤算法;具有推荐功能的销售系统;MySQL数据库;JSP第一章概述1.1背景与意义随着互联网的飞速发展,网络销售中心作为电子商务的一种模式以其高效、低成本的优势逐步成为新的经营模式和理念。国内外均有多家企业诸如亚马逊、阿里巴巴、京东拥有网上经销的策略,而实现网络经销的策略则需要一套成熟的网络销售系统。网络销售初期,网络销售企业信誉难以认证、网络交易相关法律法规政策的不健全、物流不发达等一系列问题阻碍了网络交易的发展。随着时代的发展,相关问题被逐一解决,网络销售已经成为了相当重要、普及率极高的销售方式。这时,只是拥有基础销售功能的销售系统已经不能满足用户和企业的需求。用户需要一个更加简洁、方便且只能的销售系统来方便自己购物,而企业也需要一些措施来减少自己的运营成本,提高自己的运营效率。在网络购物的商品类别中,生活用品的种类是最丰富的。而其中又以家电类商品最为突出。随着时代发展而发展的家电类商品,种类繁多,且相当一部分是人们保证基础生活的刚需。而对于这些种类繁多的家电商品,用户要考虑价格、外观、实用性等因素,这就需要用户一个一个的去查看浏览商品,而且大部分商品并不是用户所接受的商品。数码家电市场不同于其余商品市场,构建一个线下的数码家电销售市场付出的场地费、人工费比其余零售业要高得多,货物积压风险带来的损失也更大;还需要顾客花费大量时间去比对不同产品之间的优势与劣势,大大降低了销售效率。而若在线上搭建了一个具有规模的数码家电市场,便可以大量节省商家的成本,是商家更多的让利给客户;对于客户来讲线上模式可以使自己更加了解某个产品,通过其他用户的对他的评分与评价来确定自己是否适合某样产品。本系统设计了一款简洁明了且功能全面的数码家电销售系统,使用户在浏览选购商品时获得更优质的体验。本系统计划利用协同过滤算法,在用户登录网站、浏览商品、购买商品、评价商品的历史记录基础上,收集并处理分析这些历史记录中所包含商品的各个属性各个部分的内部联系,以此来考察究竟是什么因素影响了用户挑选商品。为用户推荐感兴趣的商品,减少了用户的时间成本,提高了企业的运营效率。1.2主要研究内容本课题主要研究了怎样在保证基础购物网站功能完善的前提下,将推荐算法与购物网站进行结合,提高用户体验。基本功能方面:实现网络购物网站前台基本功能,包括但不限于登录注册、首页展示、商品分类展示、购物车功能、搜索功能、广告轮播等;后台则允许管理人员进行会员管理、广告管理、订单管理、商品及其类别管理等操作。研究推荐系统的原理、流程。深入了解了协同过滤算法的数学思维、代码实现。本系统实现了协同过滤算法的设计,将其加入到数码家电销售系统中,使系统能够通过用户的浏览记录、购买记录、评价记录等信息预测出用户喜欢的商品,以提高用户体验。1.3国内外研究现状数码家电销售的市场及其发展格局已经越来越趋向于国际化。美国和一些欧洲国家的数码家电销售量增加速度正在逐年降低,而对于发展中国家中国来说,数码家电销售依然保持着旺盛的生命力。我国的数码家电销售量正以一个及其可观的增加速度逐年上升,并且增加速度远超其他区域。现如今,以我国内陆为主要构成的亚太大陆地区的数码家电市场已经成为了全球市场中销售量增长最快、规模最大的新兴市场。根据《2017-2022年数码几点销售市场发展行情的可行性研究报告》,我国大陆地区的数码家电相关企业经历了因世界经济的迅速增长导致的数码家电相关产品的需求量急速上升,达到一个非常可观的数量;同时,国际金融危机也对我国这一方面的市场造成了极大的冲击。数码家电市场在近些年来增长稳定、迅速且具有持续性,其名气与地位在国际上不断提高。现如今,我国数码家电相关产品的生产量和产品质量已经在国际上出类拔萃,占据了相当一部分国际市场份额,国际市场竞争力占据了领域前列。为了进一步增加我国数码家电企业在国际上的竞争水准和帮助刺激国内数码家电市场,相关单位实行了很多措施。国内数码家电市场有了很多相关优惠政策。在政府的帮助下,我国国内的数码家电相关产品需求量不断提高,人们对数码家电的品质和功能要求也在不断增加。对于国内市场不断提高的数码家电产品的品质与先进性需求,也促使我国企业加大投资在产品的品控与先进程度上,以保证企业产品在国内市场保持竞争力,促进国内市场良性竞争;这些技术性投资不仅能保证其在国内的整体市场份额,也提高了我国数码家电整体水平的提高,对我国稳固国际市场份额有非常大的帮助。依据市场需求和现代商务模式,数码家电的网络销售成为了最具优势的销售模式。现代网络销售技术不断更新、成熟,也对数码家电在线销售系统的推出提供了必要的支持。通过网络销售数码家电,不仅让卖家节省了员工人工费、房租费用等相当可观的启动资金,降低了投资风险;也让买家节约了时间与精力,在相对较低的价格下买到质量、功能有保障的商品。在这种销售模式下,卖家与买家均获得了直接利益,也使数码家电在线销售行业有了更好的发展。随着我国技术水平的发展,如果一个网络销售系统只具有基本的功能,那么他将不具备足够的市场竞争力。企业需要一些技术来帮助自己增加竞争力;对于消费者来说,数码家电商品种类繁多,很难迅速找到自己所需求的商品。而面对人们对数码家电在线购买日益增长的市场需求,只拥有基础功能的销售系统已经不具备竞争力。用户在琳琅满目的系统商品中,很难迅速找到自己所需求的商品。于是企业希望自己的销售系统能够主动推荐一些用户可能喜欢的商品。基于这些问题与市场需求,各种运用于电子商务网站的推荐系统应用而生。一般电子商务的推荐系统由输入、推荐和输出三个模块组成。推荐系统最核心的部分是推荐算法,为了给企业提供精准快速的推荐系统,国内外研究者们研究出了各种推荐算法,这些推荐算法原理不同,效果也不同。由于其中的协同过滤推荐算法在国内外商业运用最成熟,国内相关技术也比较完备,所以本文推荐系统采用的算法也为协同过滤推荐算法。1.4相关技术介绍1.4.1Java语言简介Java语言是一种通过解释方式来执行的语言,Java的语言规则和C++很是相似,但是其编写又简洁、可靠了很多;Java语言编写出的程序可以在不同平台上使用,如Windows、Mac等。Java的发展速度远超其他任何语言,在国内Java已经占领了相当一部分的市场份额,技术文档也非常全面。目前,JDK已经更新到11版本,其新版的新特性也为开发人员带来了非常大的便利,帮助稳固了Java的地位。在学习与使用Java语言的时,要充分利用Java本身的特性以及相关的资源,比如常用功能的模块化资源。由于Java语言在国内商业领域的成功,开发者们共享了许多必备的功能件。合理使用这些资源能够帮助我们极大的提高开发设计效率。Java语言具有以下优点:Java在国内市场占有非常大的份额,中文的技术文档相较于其他技术更为全面,使初学者更加快速的上手。相较于C与C++,Java放弃了指针,使其更加简单。Java是面向对象的,相较于面向过程的语言,人们更容易理解面向对象的编程语言,因为他更加趋向于人们的思维方式,便于人们实现自己的需求。Java语言的开发与运行平台无关。Java程序在未经授权的情况下,不能对内存进行操作,防止了用户损害计算机的行为。Java具有动态性,它可以在分布环境中动态的维护程序及类库由于以上原因,本系统采用Java语言进行开发,并且利用了网络相关工具资源库来提高开发效率。1.4.2开发工具简介市场上有许多的Java开发工具,如IDEA、Eclipse等。这些开发工具针对不同的需求用户。本次数码家电销售系统采用的开发工具为MyEclipse。MyEclipse是一个企业级的集成开发环境,他是在eclipse基础上增加了更多实用的功能。在最新版本的MyEclipse中,配合CodeMix使用支持也十分广泛,尤其是对于各种开源产品和主流开发框架的支持相当到位。目前MyEclipse已支持PHP、Python、Vue、Angular、React、Java、JavaEE等语言和框架开发。作为现阶段普及率极高的开发工具,MyEclipse功能十分强大,且对开源产品十分友好。他的一个产品特色就是插件,本质上是一个基于插件概念构建的开发平台,且其本身也是用Java编写而出的编程工具。结合各类数据库和JavaEE(企业版Java),MyEclipse开发工具能够大量提高开发者的工作效率。1.4.3JSP简介JSP(JavaServerPages)技术是一种动态网页的技能标准。开发者将JSP技术应用于网络服务器上,客户端向服务发送请求时,JSP会接受请求并且读取请求内容,依照内容动态生成各种形式如HTML、XML的web网页返回到客户端。JSP相当于Java语言的一种表现层,当服务器收到客户端请求时,JSP能和服务器的其他Java类程序一起处理事务。在日常开发过程中,开发者可以把JSP理解为servlet的一种特殊形式,把每一个JSP界面当成一个servlet实例来看待。即:servlet把自己的一些业务功能分离开来,把这些功能交给了JSP,或者说这些业务功能直接形成了JSP技术。如今看来,JSP技术虽然显得有些“过时”,但它仍然是一门非常实用的技术。JSP特色鲜明,对于初学者来讲它依然比其他的技术更容易上手。同时,它有一套非常完备的学习路线、相关技术文档,这对于初学者来说非常友好。1.4.4数据库简介计算机系统长期中存在着大量数据,而当这些数据构成规律的数据集且能够共享时,就构成了我们常说的数据库。数据库技术可以分为数据库系统和数据库管理系统。计算机相关行业为了更好的管理数据库,对其中的数据进行管理和处理,研究出了各种各样的数据库管理系统。数据库管理系统则主要包括关系型数据库和非关系型数据库两类。以下为两类数据库管理系统的简单介绍。1.关系数据库关系数据库是在关系模型的基础创建的数据库,其借助于集合代数等数学概念和方法来储存处理数据库中的数据。关系型数据库将现实世界中的各类实体以及实体之间的各种关系用关系模型来进行表示。几乎所有的数据库管理系统都配备了一个开放式数据库连接(ODBC)驱动程序,令各个数据库之间得以互相联系与集成。典型代表有:MySQL、Oracle、MicrosoftSQLServer、Access及PostgreSQL等。2.非关系型数据库NoSQL非关系型数据库是对不同于传统的关系数据库的数据库管理系统的统一称呼。与关系数据库最大的不同点就是非关系型数据库不采用SQL作为它的查询语言。本系统采用的是关系型数据库MySQL。作为市场占有率名列前茅的数据库,MySQL数据库的安全性极为可靠、效率高且搭建成本低,并且能够在各类不同系统上运行,与主要编程语言均能很好的进行结合。这也是本系统采用这种数据库的原因。数据库系统无论是在传统计算机行业还是在大数据相关企业,都是项目设计中极其重要的一部分,对于某些系统来说更是常常作为整个系统的核心来设计实现。由于MySQL数据库体量小且管理能力相对优秀,不需要大量设备资源,所以市场占有率非常高。MySQL数据库在保持这些优点的情况下,还能拥有着很快的运行速度。对于各行业的中小型公司和学生学习来讲是第一选择。图1-1数据库管理系统和接口的原理图1.5本章小结本章主要介绍了具有推荐算法的数码家电销售系统的社会背景意义、国内外在数码家电销售行业和推荐算法研究领域的现状;以本系统所采用的相关技术知识和采用这些技术的理由。第二章系统设计2.1系统主要功能模块设计对于用户操作界面,用户能够登陆注册,查看不同分类下不同商品的详情,对商品进行购买、评分及其衍生操作;当用户在前台界面进行这些操作时,系统将会收集用户的行为信息如对某一件商品的评分值、浏览时长,在某一商品类别的停留时间等,通过算法进行计算,最终在“猜你喜欢”页面中给用户推荐计算的结果。对于管理员操作界面则较为简单,管理员可以通过后台页面对整个前台所展示的信息进行管理。主要的功能架构将在图2-1中详细说明。图2-1系统主要功能模块2.2数据库设计2.2.1数据库E-R图本次设计采用的数据库为关系型数据库MySQL。在设计数据库时,采用数据库建模工具可以帮助开发人员在数据库的二维表中添加映射。设计数据库时,应当注意数据库的可维护性。比如通过对照表来建立对照字段,各种对照字段尽量避免固定意义,每个字段的意义需要是开发者之外的人也能够理解。数据库的设计整体属性E-R图如下图所示:图2-2整体属性的E-R关系模型对此次设计进行具体需求分析,对本系统的E-R图进行细化从而得到实体—关系模型,下面给出一部分模型。图2-3商品信息实体模型图2-4订单信息实体模型2.2.2数据表字段设计本系统采用的是MySQL数据库。在设计数据表时,系统中使用到的主要数据表有About表、Address表、Category表、Cart表等。部分数据表展示如下所示。表2-1About表表2-2Address表表2-3category表表2-4cart表2.3推荐系统介绍2.3.1推荐系统简介推荐系统能够利用企业的在线销售平台,向用户推送商品的广告,介绍推荐商品的详细信息,引导用户的购买倾向。可以把推荐系统理解成一个虚拟的商场导购人员。个性化推荐系统能够分析用户的购买记录、相似用户中的种种属性得出用户可能喜爱的信息与商品。随着在线销售业务量不断提高,用户被淹没在了愈来愈多的商品和愈来愈繁杂的商品种类之中。用户会花费大量时间在不需要的商品上。这不仅会破坏用户的购物体验,还会给企业服务器增加压力。企业不仅会流失收入,还会增加服务器的投入资金。为了解决这些商业相关问题,推荐系统应运而生。2.3.2推荐系统原理与基本流程在构建推荐系统时,需要考虑以下方面:一是确认要推荐的数据,即推荐的对象;二是确认数据要输出到哪个位置,即目标用户;第三个也是最重要的一个方面,即推荐的方法,它确保了我们推荐系统的准确性和可用性。用户在系统中与推荐对象产生了哪些交集,这些交集所产生的数据可以作为推荐方法得出推荐结果的依据。这些数据被推荐系统的推荐算法接收后,将给出用户倾向性及用户可能感兴趣的信息和商品。用户的职业、性别、评价商品的分值;推荐对象所在的数据类别,时间标签;用户的行为和倾向均是推荐算法的输入数据。其中,用户的行为和倾向性分为显性隐性两种数据类型。图2-5推荐系统原理图表2-5用户行为/用户倾向性类型推荐系统获得上表的显性隐性记录以后,会按照不同的推荐方法进行分析,对不同用户采用不同的推荐规则,从而找到目标用户最合适推荐的信息/商品集合。从这里可以看出,对于一个成熟的个性化推荐系统,怎样去采集和记录每个用户的个人倾向信息,又如何去利用这些信息帮助企业构建用户模型,在两者之间用什么方法建立联系是一个推荐系统的核心问题,这些问题决定了一个推荐系统的可用性是否满足商业需求。2.3.3推荐系统常用算法介绍对于推荐系统来说,推荐方法是其核心。对于推荐算法的搭建和使用将会决定推荐系统性能的高低。目前在商业和学术领域比较著名的算法有以下几种:基于关联规则、基于效用、基于知识、协同过滤和组合推荐。推荐算法的本质其实就是一种信息的逻辑处理方式。当算法获取到用户行为的相关数据以后,按照一定的逻辑处理后得出一个推荐结果。例如,许多网站的热度排行榜系统就是一种最为简单的推荐算法,这些热度排行榜的逻辑就是将喜欢的人最多的对象推荐给所有人。但是由于这类推荐算法过于简单,精确度不够高,所以企业需要更为精准的技术来满足不同用户的不同推荐需求。其中,基于用户的协同过滤算法是个性化推荐系统中使用最为广泛的方法,本系统采用的就是这种算法来实现推荐系统。协同过滤推荐(CollaborativeFilteringRecommendation)技术为当今国内推荐技术领域中运用最多最成功的技术之一。协同过滤推荐算法能够在大量的用户之中找出和目标用户行为相似的用户集合,通过对这些相似用户的历史行为特征进行分析,得出这些相似用户的偏好,这些相似用户的偏好很可能就是目标用户的偏好,在以此为依据进行项目的推荐。行业内把这种技术称之为近邻技术。协同过滤算法之所以在商业领域普及率高,是因为它不仅可以对结构化对象进行推荐,还可以对非结构化的复杂对象进行推荐,比如音频、视频等。2.4推荐系统的协同过滤算法设计2.4.1基于用户的协同过滤算法详细介绍基于用户的协同过滤算法是个性化推荐中最成熟的推荐算法。该算法对系统所取得的信息数据进行统计分析,然后得出与要进行推荐的用户行为相似且具有相同偏好的用户,一般把这些相似用户称为目标用户的邻居用户。找到这些相似用户以后,在根据这些相似用户的行为属性确定目标用户接受的建议。协同过滤算法将相似用户所访问行为中的相似资源推荐给目标用户。通过特定的相似性函数和用户的历史记录访问系统,系统将这些数据计算出一个集合,这些集合为数个行为相似的用户。系统通过统计分析此集合的推荐候选,再凭借用户对这些推荐候选的热度进行排名,最终得出集合中用户接受度最高的推荐商品。2.4.2算法设计本次算法设计经过了如下三个步骤:1.构建出算法的用户模型。首先需要构建出一个M*N的矩阵,用来存放某用户对某项目的评分值。如下图所示:图2-6评分矩阵其中:M为用户数,N为项目数;矩阵中r11表示第一个用户对第一个项目的评分值。这里的评分值不仅可以是显性评分,也可以是隐性评分;显性隐性评分即用户的显性隐性倾向性,在上文中已经有所介绍。本次算法设计所采用的评分值为用户购买某一商品对该商品的直接评分值。2.寻找最近邻居(相似用户)寻找最近邻居主要完成的是对目标用户最近邻居的查找。算法首先计算出和目标用户有相似行为的用户集合,即“最近邻居集”。即:对目标用户i产生一个以相似度sim(i,j)递减排列的“邻居”集合。该过程共分两步完成:首先计算各个用户之问的相似度,其次是根据以下筛选方法选择目标用户的“最近邻居”:(1)选择相似度大于设定阈值的用户;(2)选择相似度排名最靠前的k个用户;(3)选择相似度大于预定阈值的k个用户。寻找目标用户的最近邻居的方法有以下三种:(1)余弦相似性(Cosine)每一个用户的评分都可以看作为维项目空间上的一个向量,若某个用户对某个项目没有进行评分,则将该用户对该项目的评分设为0。用户间的相似性通过两个向量间的余弦夹角度数来表示。设用户与用户在维项目空间上的评分分别表示为向量和向量,则用户和用户之间的相似性为: (2-1)其中,分子为用户i与用户j评分向量的内积,分母为用户i与用户j向量模的乘积。(2)相关相似性(Correlation)设用户和用户共同评分过的项目集合用表示,,则用户和用户之间的相似性通过Pearson相关系数来度量: (2-2)其中,表示用户对项目的评分,、分别表示用户和用户对所评分项目的平均评分值。(3)修正的余弦相似性(AdjustedCosine)在余弦相似性度量方法中,因为没有考虑到不同用户的评分尺度不同的问题,所以修正的余弦相似性度量方法采用通过减去用户对项目的平均评分改善这一缺陷。假设用户和用户共同评分过的项目集合用表示,,和分别表示用户和用户评分过的项目集合,则用户和用户之间的相似性为: (2-3)其中,表示用户对项目d的评分,、分别表示用户和用户对项目的平均评分。本系统选择相似度最高的十个用户作为目标用户的最近邻居。本文在原型系统中采用的是余弦相似性计算的用户相似性,选出十个最近邻居。3.产生推荐项目计算方法如下: (2-4)其中,表示用户与用户之间的用户相似性,表示最近邻居用户对项目的评分,和分别表示用户和用户的平均评分,公式(2-4)的本质是在用户的最近邻居集NESi中查找相关相似用户,并将目标用户与查找到的用户的相似度的值作为权值,然后将邻居用户对该项目的评分与此邻居用户的所有评分的差值进行加权平均得出数据。通过上述方法预测出目标用户对未评价商品的评分值,然后选择预测评分最高的TOP-N项商品推荐给目标用户,这些商品为用户最可能接受的商品。2.5本章小结本章阐述了基于推荐系统数码家电销售系统设计的思路,所需要的基本功能;数据库的表设计思路,给出关系图示;详细介绍了本系统需要的协同过滤算法的基本原理、评分计算过程、依据,以及总体的实现思路。第三章系统实现3.1系统实现总体流程在本次系统实现过程中,大致步骤分为以下几步:首先设计数据库表,按照三段式设计出数据字典,进行数据库表的创建。使用SSM框架搭建系统结构,进行数据库的链接创建model层、DAO层、实例层和控制层,并进行协同过滤算法主方法的编写利用JSP创建页面进行系统功能的验证与测试3.2前后台功能实现3.2.1登录功能设计实现下图是用户登入商城的界面。用户在输入相关信息之后验证无误后便能够进入商城主页面。图3-1系统登录界面登录模块要验证用户的真实性,对用户进行身份验证。进行验证之后,用户才能够使用该系统浏览、购买商品。登录流程设计如下图3-2所示。图3-2系统登录流程3.2.2前台主要功能设计前台主要功能如下:首页设计首页展示了数码家电销售系统的信息大致分类,并加入了一个广告轮播功能。首页实现界面如下图所示。图3-3首页模块界面注册模块设计若用户为一个新用户,那么他需要提供自己的账号、密码等信息来构建一个新账号。在注册时系统还可以建议用户提供姓名、生日等信息。这些信息可以帮助企业更好的运营。注册模块实现界面如下所示。图3-4注册模块实现界面(3)商品分类模块设计为了便于用户能更快速的找到自己所需要的商品,本系统设计了商品分类模块。商品分类模块将对不同类型商品分别整合。在商品分类模块中用户找到自己需要的商品后,可以把其加入到购物车、收藏;若用户曾经购买过这件商品,还能在此界面对商品进行评分、评价,给其他用户提供建议。实现效果如下图所示。ab图3-5商品分类模块实现界面(4)猜你喜欢模块设计此模块展示了推荐系统的计算相似性后所得出的推荐商品。实现效果如下图所示。图3-6猜你喜欢模块实现界面3.2.3后台主要功能设计后台主要设计效果如下:(1)资讯管理功能模块的设计管理人员可以对前台页面的资讯信息页面进行管理,可以修改和查询资讯页面所展示的信息。具体效果如下图所示。图3-7资讯管理模块实现界面(2)商品管理功能模块的设计管理人员可以通过此功能对数码家电销售系统的商品相关属性进行操作。如:更改商品的类别,修改商品价格;删除不需要的商品或添加新的商品。下面将给出新增商品页面的效果图和操作流程图。图3-8添加商品信息实现界面图3-9添加商品信息流程图(3)库存管理功能模块的设计库存管理功能模块的具体界面一目了然,可以清晰的了解到库存情况。后期还可以对库存量进行排名,给管理人员发送预警。ab图3-10库存管理实现界面(4)订单管理功能模块的设计管理员可以使用订单管理功能查看订单的相应状况,当显示状况与实际状况不符时,可以对订单状态进行修改。例如:当管理者确认商品抵达目的地后,对订单状况修改为“已经抵达”,前台的用户才可以进行签收订单操作。a图3-11订单管理模块实现界面3.3推荐算法实现3.3.1算法设计思路在数码家电销售系统中取得用户对商品的评分,用来构建评分矩阵。下表中纵向数据表示商品编号,横向数据则为用户编号。而单元格中的数值为某一列用户对某一行商品给出的评分值。若单元格为空值,则表明此用户没有购买对应商品且没有进行评分。表3-1用户/商品评分表上表中随给出的数据仅为测试用例,并非此次设计中的真实数据。在本次寻找最近邻居的实验中,采用上文中给出的余弦相似性方法。首先根据上表中的数值来构成用户的向量。取出第一行的数据(1,0,1,1,1,1,2,2,0)作为用户1的评分向量,第二行的数据(2,4,5,3,0,5,0,2,3)作为用户2的评分向量。将这两个向量带入到上文所提到的公式中计算两个用户之间的相似性。当寻找用户1的最近邻居时,需要把用户1的向量值和其余所有用户的向量值均代入至公式中,取最终的结果排名前K的用户。寻找其他用户相似邻居也同理。一般情况下,对任意两个用户进行计算所得出的最近邻居集是不同的,极端情况下除外。通常通过此方法所得出不同用户的推荐项目是不同的。基于用户的协同过滤算法的推荐结果是基于用户的历史行为记录推荐,不同用户的浏览、购买、评分记录不可能完全相同。因此,相较于热度排行类推荐,此推荐方法更具有针对性。3.3.2推荐算法实现流程无论是计算用户相似度还是计算商品相似度,都需要用户的行为数据来进行分析并给出得分。本小节将用流程图的形式来分别展现用户和商品相似的计算思路。图3-12商品相似度的计算流程图3-13用户相似度的计算流程3.3.3推荐算法实现效果当使用用户1购买“数码产品”下“摄影”下“佳能数码相机”商品后,确认订单并给与好评,系统在“猜你喜欢”页面下有如下效果:图3-14推荐系统效果图3.4本章小结本章详细介绍了基于推荐算法的数码家电销售系统的具体设计思路,前台与后台的最终实现效果;以及其中协同过滤推荐算法的设计实现过程,给出了部分实现思路及其流程图,推荐算法效果图。以详细阐述算法实现和系统实现的过程。第四章系统测试4.1测试目的系统测试是检验软件程序是否符合标准的最后一步。本次系统测试的主要目的为测试系统基本功能的完整性与稳定性,保证系统基本必须功能是否全部实现且运行稳定;以及推荐系统的可行性与稳定性。本次系统测试除推荐系统外,为集体测试。即从注册、登录到购买商品确认订单评价等功能为一次性测试完毕。4.2前后台基本功能测试以下是对具有推荐系统的数码家电销售系统的前后台部分功能的测试。测试用例将以表格的方式呈现。表4-1用户登录功能模块测试表表4-2用户注册功能模块测试表表4-3商品列表功能测试表4-4购物车功能测试表4-5订单管理功能测试表4-6类别管理功能测试4.3推荐功能测试表4-7推荐功能测试4.4测试结果分析经过本次系统测试,可以看出本系统的整个结构体系并不复杂。测试结果与开发者预测结果大致相同。系统的用户相关功能和管理者相关功能基本稳定,但是若要使本系统成为一个真正的商业项目,还需要进一步加入更多的功能;对于推荐系统,算法模型依然有优化的空间,提升其智能性与效率。4.5本章小结本章主要介绍了系统测试的必要性,对系统基本销售与管理功能、推荐功能均进行了测试。并对测试结果进行了分析说明。第五章总结与展望本文主要利用Java语言和MySQL数据库,开发了一个具有推荐功能的数码家电销售系统。在此次系统设计时,不仅要考虑到作为一个购物网站所有的基本功能,还要将推荐系统加入进去。系统总共分为了三大模块:前台、后台和推荐。其中推荐模块将会在前台以“猜你喜欢”的页面展示出来。经过一段时间的努力,我完成了销售系统的基本功能和推荐功能。在进行基本功能的实现时,我发现我的技术水准还停留在理论层面,完全不足以达到开发一个完整系统的要求。于是,我通过多种方式来提升自己的实践水平。在系统设计与系统实现的过程中,我遇到了很多问题如环境设置、接口,按照CSDN和博客园等技术论坛的相关经验进行解决,从中学习到了很多经验。比如我在启动tomact时启动失败,在论坛查询了很多的解决方法,最后意识到是以前做的项目把端口号8080占用了。虽然这只是一个小问题,但是我在查阅相关技术文档时,了解到了其他失败的情况和原因,诸如JDK和Tomact版本不匹配,eclipse相关配置有问题。在当我解决一个问题时,就学会了很多问题的解决方法。本次毕业设计让我更加实现了从理论到实践的跨越。从当初的查阅资料,确定自己的设计课题时,发现自己欠缺很多技术,了解的部分技术也仅限于理论阶段。于是我下定决心去学习、实践。通过相关文档、文献、视频教程了解更多的新知识,熟练掌握自己了解的知识,并且去运用它。本次设计从选题到实现,几乎全部是自己独立完成,用到了许多以后工作中会运用到的经典软件:WPS、IDE、eclipse、Navicat等,还接触到了许多在本科学习中用不到,却在以后工作中极可能运用的技术和理论:JSP、springMVC、Tomact等。在此次设计过程中,我在本科学习到的许多知识:Java、数据库原理、程序设计、算法实现等知识框架逐渐在我脑海里变得更加清晰起来,印象更加深刻。在本次设计中有非常多的知识都是现学现用,给系统实现过程增加了很多
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026广西现代职业技术学院招聘8人备考题库含答案详解(综合卷)
- 2026天津市安定医院招聘第四批派遣制人员11人备考题库及答案详解(基础+提升)
- 科学达人:挑战极限科学探究的小学主题班会课件
- 2026广东深圳龙岗区横岗街道振业城第一幼儿园招聘1人备考题库带答案详解(完整版)
- 2026广西南宁市良庆区劳动保障管理中心公益性岗位招聘1人备考题库及答案详解一套
- 2026北京市通州区新华医院(临河里街道社区卫生服务中心)招聘74人备考题库及1套完整答案详解
- 2026广西梧州市苍梧县招聘防贫监测信息员2人备考题库及1套参考答案详解
- 保险教育培训课程与师资手册
- 《半导体运营体系优化升级手册(修订版)》
- 2026恒丰银行杭州分行社会招聘26人备考题库附答案详解
- 2023年南山中学和南山中学实验学校自主招生考试数学试题
- 部编版六年级下册语文全册 教案
- 智慧树知到《中医与诊断-学做自己的医生(暨南大学)》2025章节测试附答案
- 实验室意外事故应急处置和应急预案课件
- 北京玉渊潭中学初一新生分班(摸底)数学模拟考试(含答案)【6套试卷】
- 《电力可靠性管理办法》参考试题库(含答案)
- 知识竞赛模板(含有计时器)
- 南方少数民族传统合唱精讲智慧树知到期末考试答案章节答案2024年四川音乐学院
- 食材配送投标方案技术标
- 清酒知识讲座
- 混凝土构件的配筋计算
评论
0/150
提交评论