摘要:随着经济的发展,城镇化的进程也必然加快,全球很多国家都在推进基础设施建设的新建与更新,而挖掘机这类大型的建筑工程设备是基础设施建设必不可少的,特别是一些大型的基础设施建设,例如公路、铁路、矿山工程、隧道等领域,挖掘机的使用非常普遍。然而,挖掘机作为专用的大型建筑工程设备,其价格本身较为昂贵,远程运输与安装具有很高的复杂性,并且需要专业的驾驶操作人员,所以在市场上很多用户是采用租赁的形式进行交易的。传统的租赁方式多是采用中介,或熟人介绍的方式,往往存在双方信息不对称、匹配度低,价格不透明,出租率低等问题,难以满足市场的多样化需求。因此,建设基于协同过滤的挖掘机租赁推荐平台的必要性也随之而来。

该系统采用Python编程语言实现,并通过Flask框架进行前端界面设计。后端则利用MySQL数据库来存储和管理挖掘机及其他相关数据。在推荐算法方面,系统采用了基于物品的协同过滤算法,通过承租方的历史评价信息,为每位用户精准推荐合适的挖掘机。管理员重点对用户、挖掘机类别以及挖掘机、热门挖掘机、评价数据进行维护,出租方通过平台发布挖掘机的出租信息,承租方通过平台搜索挖掘机,并可以进行电话预订以及评价等,并个性化推荐挖掘机。

关键词: 挖掘机推荐   协同过滤算法  Python  Flask  MySQL

研究背景和意义

由于现在中国属于高速发展阶段,对于很多地区的开发都需要一定的人力和物力,而挖掘机设备是其中大多数基建必不可少的设备。因为需要设备的数量大,成本高,培养挖掘机师傅的时间周期长成本也很高,导致挖掘机的使用方式大多是租赁,租赁的方式提供的是设备加挖掘机师傅,很好的解决了基建行业的这一问题。传统的租赁信息途径只能来自中介,或者熟人介绍。对于承租方,信息不对等,价格不透明,不但会导致中间商从中赚取差价,承租方想要获得合适自身工程的设备的型号也需要花费大量的人力物力,增加许多不必要的成本[1]。

随着互联网的技术的发展,为出租方和承租方提供了信息交流的平台,一般的运营方式,极大的便利了双方的利益最大化。给承租方提供了更加方便获取信息的方式,更直观的信息,还可以通过筛选获取更加符合自身需要的设备。出租方同时也可以把自己的设备型号,适用工程,出租价格展示给承租方[2]。明确了商品的精准定位,提高了双方交互的便利性,减少了承租方寻找资源所花费的不必要成本,也可以让出租方直接与承租方交互避免了中间商赚取差价的途径,最大化了双反的利益[3]。现在存在的平台存在一些不足,不能将信息分类,繁杂的信息对用户来说仍然还是需要大精力去自己筛选,只能逐个查询,也会降低用户的体验感,对于用户的信息展示也过于简陋,只有大段的文字和单一的图片,不够直观。

挖掘机作为大型建筑工程设备,其租赁过程复杂、价格波动大、且受多种因素影响(如季节变化、项目需求等)。解决这些行业痛点需要合理的调度和管理,机器学习可以提供帮助[4]。挖掘机租赁市场如果存在显著的需求,而市场服务又不够智能化或者存在效率问题,那么一个基于机器学习技术的推荐平台可能会有效地填补这一市场空缺。机器学习算法可以分析客户的需求(比如工程类型、地点、租赁时间、预算等)和提供商的库存(包括挖掘机的类型、规格、适用范围等),准确地将双方匹配,提高交易的效率和成功率。使用机器学习算法可以建立个性化的推荐系统,根据用户的历史行为、偏好、搜索历史等数据进行智能推荐,提高用户满意度和平台的使用体验。

论文的主要工作及结构

第一章是系统主要功能介绍,对基于协同过滤的挖掘机租赁推荐平台采用了三种不同的用户,第一是出租方可以通过平台 上传自己有用的各类挖掘机资源,第二是承租方可以通过承租方上传的资源得到个性化的推荐,从而获取自己需求的商品信息 ,第三是管理员可以对出租方上传的信息以及承租方的评论信息等有关信息进行管理。

第二章是关键技术介绍,该章节从两点来阐述挖掘机租赁推荐平台相关的技术要点,第一点则是描述Pyhon以及Flask两个实现本平台的语言框架,第二点就推荐算法的一些最为基本的内容进行说明。

第三章是系统分析,该章节也是从两方面对挖掘机租赁推荐平台所要完成的功能要求来讨论,从有关网站资料查询挖掘机租赁的有关知识,并通过联系从事该行业的人员来调研,通过整理从用户需求和用例分析这两点来具体描述系统要完成的具体功能。

第四章是系统总体设计,该章节同样从两方面对挖掘机租赁推荐平台总体设计进行描述,通过上面关于租赁挖掘机的流程要求,从出租方、承租方、管理员等内容出发设计其结构图。另外该章节对租赁挖掘机有关的数据如何存储的表等做了具体说明。

第五章是系统详细实现,以上面有关挖掘机租赁推荐平台前期设计等为基础,该章节则是从如何实现其功能进行介绍,比如如何利用非常流行的推荐算法,按照承租方的一些轨迹数据,完成高效的推荐挖掘机功能等实现做了叙述。

第六章是系统测试,在构建挖掘机租赁推荐平台的过程中,测试环节的重要性不言而喻。本章将围绕平台的核心功能,如是否能够将重要的挖掘机数据顺利的存入到该平台设置的数据库中,是否可以为承租方提供更高的推荐心仪挖掘机等方面的功能展开详细测试,并对过程进行展示。

需求分析

用户需求分析

一、承租方的功能主要包括:登录注册、个人信息的查看和修改、挖掘机的查询和评价。

(1)个人信息的查看和修改:用户个人信息,对个人信息可以查看和修改。

(2)挖掘机检索服务:承租方通过输入标题、名称、挖掘机类型等多元化搜索条件,能够迅速检索到符合需求的挖掘机信息,实现精准定位。

(3)个性化挖掘机推荐机制:针对承租方的需求,我们利用先进的基于物品的协同过滤技术,构建用户与挖掘机之间的反向索引结构,生成挖掘机之间的共同出现矩阵,进一步计算出挖掘机之间的相似度矩阵。最终,依据这些相似度数据,为每位承租方提供个性化的挖掘机推荐服务。若用户暂无评价数据,系统则依据挖掘机的评分排名来为用户推荐。

(4)挖掘机评价与管理功能:用户登录系统后,可对挖掘机进行星级评分和文字评价,分享个人使用感受。此外,用户还可以对自己的评价记录进行管理,包括查看历史评价以及删除不再需要的评价内容。。

二、出租方的功能主要包括:登录注册、个人信息的查看和修改、挖掘机的查询上传和维护。

(1)个人信息的查看和修改:用户个人信息,对个人信息可以查看和修改。

(2)挖掘机信息上传:可以通过平台上传相关的挖掘机信息展示给承租方

(3)挖掘机管理,针对出租方,可以上传挖掘机信息并维护。

三、管理员后端功能:

(1)用户数据维护功能:允许注册用户自由查看、更新或删除个人资料,以保障用户信息的真实性和一致性。

(2)挖掘机分类管理功能:全面管理前端挖掘机分类信息,包括新增分类、编辑现有分类内容、删除不再适用的分类以及浏览所有分类详情。分类信息包括挖掘机分类名称和备注,满足系统对挖掘机多样化分类的需求。

(3)挖掘机资料管理功能:提供完整的挖掘机信息管理,支持新增挖掘机资料、修改现有信息、移除不再需要的挖掘机记录以及浏览所有挖掘机详情。同时,支持设置热门挖掘机标识,通过突出展示热门挖掘机,帮助用户快速发现热门租赁选择。

(4)挖掘机评价管理功能:有效管理前端挖掘机评价信息,包括查看所有评价记录以及移除不必要的评价。评价信息包含评价编号、星级评分(1至5星)、评价时间以及评价内容,为用户提供一个发表意见和分享使用心得的便捷平台。

创建系统用例图

(1)管理员后台功能用例如图3-1,通常情况下,管理员作为挖掘机相关数据的主要管理责任人,具备对注册的出租方和承租方等信息的全面管理权限,同时也承担着对挖掘机类别以及其他相关人员的评价等内容的管理职责

(2)如图所示,出租方在前端的功能用例展现出了丰富的多样性和便捷性。从用户登录验证开始,保障了账号的安全性,让出租方能够放心使用平台。账号注册流程则简洁明了,方便出租方快速完成注册并开启使用之旅。商城首页的导航与浏览功能让出租方能够轻松浏览各类挖掘机产品,发现潜在商机。热门挖掘机的快速查看功能则让出租方能够迅速掌握当前市场的热门产品,把握市场脉搏。挖掘机的精准查询功能则让出租方能够根据自身需求,快速找到符合要求的挖掘机产品,提高业务效率。同时,挖掘机信息的全面管理功能让出租方能够随时查看和更新挖掘机信息,保持信息的准确性和实时性。

承租方前端功能用例如图,这些功能不仅涵盖了用户登录与账号注册的基础操作,还深入到了商城首页的个性化浏览、热门挖掘机的快速预览以及挖掘机的精准查询等核心环节。特别值得一提的是,平台还根据承租方的浏览和搜索习惯,为其提供了个性化的挖掘机推荐,使承租方能够更高效地找到心仪的挖掘机。此外,承租方还可以对挖掘机进行评价,分享使用心得,并对自己的评价进行维护,确保评价的准确性和完整性。最后,承租方还可以随时修改个人信息,保障个人信息的实时性和准确性。这些丰富的功能用例共同为承租方在平台上提供了一个全面、便捷且个性化的操作体验。

总体结构设计

整个基于协同过滤的挖掘机租赁推荐平台结构图如图所示,清晰地展示了用户前端和管理员后端的功能模块以及它们之间的数据流动和交互关系。这一结构图不仅有助于用户和管理员更好地理解平台的运作机制,也为平台的优化和升级提供了有力的支持。

商城首页功能

商城首页内容丰富,主要是由导航、评价最高的挖掘机、最新的挖掘机、热门的挖掘机五个主要部分组成,为用户提供了便捷的浏览和购物体验。

导航部分是商城首页的重要组成部分,根据用户的登录状态显示不同的内容。当用户未登录时,导航栏会显示首页、挖掘机查询、热门挖掘机和用户注册等选项,方便用户进行基本操作和了解平台信息。而当用户登录后,导航栏的内容会相应变化,显示首页、挖掘机查询、热门挖掘机、我的挖掘机评价、个人信息修改等选项。对于出租方用户,还会额外显示挖掘机信息添加和挖掘机信息维护等选项,便于他们管理自己的挖掘机信息。对于承租方用户,则会显示用户个性化推荐,根据用户的偏好和行为,为他们推荐合适的挖掘机产品。

评价最高的挖掘机部分展示了商城中评价最高的挖掘机产品,这些产品经过用户的真实评价筛选出来,具有较高的信誉和可靠性。用户可以通过这部分快速了解商城中优质的挖掘机产品,并进行进一步的了解和购买。

最新挖掘机部分按照日期排序,展示了最近上传的6个最新挖掘机信息。每个挖掘机都通过精美的图片和品牌进行展示,让用户能够直观地了解产品的外观和特点。这部分内容不断更新,为用户提供了最新的挖掘机产品信息和市场动态。

热门挖掘机部分同样按照日期排序,展示了最近上传的6个最热门的挖掘机信息。除了挖掘机图片和品牌外,还展示了挖掘机的价格、发布时间和详细的挖掘机介绍。这些信息为用户提供了全面的产品了解,帮助他们做出更明智的购买决策。。商城首页页面如下图

挖掘机评价功能

挖掘机评价功能的实现过程:当用户选择某一台挖掘机后,点击评价按钮,系统会引导用户进入挖掘机评价页面。在这个页面上,用户需要填写关于挖掘机的评价信息,这些信息可能包括挖掘机的性能、操作体验、售后服务等方面。在用户填写完评价信息后,系统会首先进行信息项的验证。这一步是为了确保用户填写的信息完整且符合规范。系统会检查每一个信息项是否都已经填写,对于必填项是否存在空值,以及填写的内容是否符合预设的格式要求等。一旦验证通过,系统会发起请求到数据库,尝试保存用户填写的挖掘机评价相关信息。在这个过程中,系统会使用适当的数据库操作语句,将用户的评价信息插入到相应的数据表中。保存操作完成后,系统会再次进行验证,以确保评价信息已经成功存入数据库。这一步可以通过查询数据库,检查刚刚插入的数据是否存在,或者通过捕获数据库操作的返回值来判断是否保存成功。只有当所有的操作都顺利完成,并且验证结果都表明挖掘机评价信息已经成功存入数据库时,系统才会判定挖掘机评价成功。挖掘机的评价业务流程图如下

用户个性化推荐功能

当用户访问个性化推荐页面时,系统会启动基于物品的协同过滤算法,根据该用户的评价情况,为用户推荐合适的挖掘机产品。首先系统会收集用户过去的评价数据,包括用户评价过的挖掘机、评价内容、评价星级等。接着系统会使用协同过滤算法中的相似度计算方法,计算出挖掘机与挖掘机之间的相似矩阵。这个过程会考虑多个因素,如挖掘机的品牌、价格、类别、用户评价等,通过一定的算法计算出挖掘机之间的相似度。有了相似矩阵后,系统就可以根据用户的评价情况,为用户推荐与其评价过的挖掘机相似的其他挖掘机产品。推荐算法会综合考虑用户的评价历史、挖掘机的相似度以及其他因素,为用户生成一个个性化的推荐列表。最后系统会将推荐结果展示在用户个性化推荐页面上。用户可以通过这些信息了解每个推荐挖掘机的特点和优势,从而做出更明智的购买决策。其界面如图

用户个性化推荐的实现过程是通过ddTui类中的loadData()方法构建用户和挖掘机的倒排数据,similarity()方法计算挖掘机的相似矩阵,以及recommandList()方法完成用户个性化推荐。关键代码如下。

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐