王庭月,张腊梅,朱 灵,杨 玉,王鑫满
(常熟理工学院,江苏 常熟 215500)
随着各类商业应用程序的开发,农商平台层出不穷,但依然很难满足人们对个性饮食和购买菜品的需求[1]。如何在众多农户群体中快速查找并直接购买到最适合的农产品,同时提高农户收入,实现帮农助农? 这些都是迫切需要解决的问题[2]。本文主要从用户需求出发,根据用户收货地址、饮食习惯等数据,利用协同过滤算法[3]设计了农产品推荐电商系统,实现了同类用户推荐个性化推荐农产品等功能,简化了管理工作程序,降低了成本,提高了效率,提升了用户体验。随着现代农业的快速发展,农业生产的组织、规模和标准化的不断提高,农产品的质量就会得到更好的提升,这样可以促使农业电子商务平台有更广阔的发展空间,维持更长久的收入。
此推荐系统前端页面设计运用 JavaScript、jQuery 插件等技术,后端开发采用SpringMVC、MyBatis(SSM) 等技术来完成了控制器类、数据库执行类、实体类等的开发。
系统体系结构设计是基于需求的分析结果,设计系统的整体体系结构包括模块划分、模块之间的关系、数据处理等。为了降低整个系统的复杂程度,使其更易于修改,提高代码的可读性,本文将系统模块化,模块之间保持相对独立,每个模块只有一个子功能,并通过简单的接口,即高内聚低耦合原理,与其他模块进行链接,使整个系统具备高性能结构,这是系统架构设计的最重要宗旨。本农产品推荐系统结构在前期需求分析的基础上进行开发,如图2所示。
图2 系统架构
数据库是存储数据信息的重要载体,在编写数据库之前先完成整体 E-R 图的设计如图3所示。本文数据库采用MySQL,该数据库是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就提了速度和灵活性。
图3 E-R图
本系统致力于对用户进行个性化推荐,其中主要采用了协同过滤算法。协同过滤算法的实现效果主要取决于数据的质量与数量,当数据质量高、数据量大,算法的推荐效果就会更好[5]。协同过滤算法主要分为两种:基于用户的协同过滤和基于物品的协同过滤。相比而言,基于用户的协同过滤算法的实现效果更好,更符合本系统的设计初衷。此系统通过计算用户对农产品的浏览频率与购买次数作为相似度权重,构建用户相似度矩阵,再将相似度靠前的用户定义为相似用户,最后将农产品推荐给相似的用户。
此外,基于协同过滤推荐算法通过挖掘、分析及处理个性化农产品模型和个性化农产品推荐对象模型数据,产生推荐列表,并向相似用户推荐相应的个性化农产品内容,如图4所示。
图4 个性化推荐概念
本文在国内农商应用程序的基础上,通过问卷调查的方式,深入研究了用户的购买属性(如零售或批发、发货距离的远近等)、用户个性化需求等影响因素,从而为农商、运营商以及相关政府政策提供理论依据和决策参考,进一步推动农商平台的使用,把更多普通用户吸引到农商平台上来,并通过合理数据分析实现人们的便捷及个性化生活。
3.1.1 技术可行性
系统开发采用 Java[6],同时基于 B/S 结构以及 MySQL 数据库进行数据存储[7],系统开发功能完整,建立的数据库稳定并且安全,开发人员对此项系统开发技术较为掌握,因此,基于用户的农产品协同过滤系统在技术方面具有开发的可行性。
实程度增加。根据地质时代、岩性组合及有关土体力学性质,将工作区淮河以北20~30 m以深、150 m以浅的土体划分为4个工程地质层组和8个压缩层,详见表1。
3.1.2 操作可行性性
基于用户的农产品协同过滤推荐系统页面设计清晰,通俗易懂,用户可以对相关功能直观地选择。如果操作失误会有报错提示。本系统具有易于管理,互动性好,方便用户的可操作性和实用性等特点。
3.1.3 经济可行性
系统开发环境是 IDEA,用的数据库是 MySQL,开发成本低,开发规模小,开发周期较短,在经济方面具有较高的可行性。相比之下,在研制过程中,系统的效益比研制成本还大。
考虑到现实生活中对农产品推荐和管理的需要,以及对系统的认真分析,系统权限分为管理员和使用者两类。
3.2.1 管理员功能需求
系统管理员可以进行农产品的增添删改,也可以对农户的信息进行增添删改,从而帮助管控整个系统的正常运行,核实所有农产品和农户信息的准确性和有效性。
3.2.2 用户功能需求
用户登录后,用户可以到系统进行注册、登录、查询农产品、选择购买和查询个人信息等功能。
在对系统进行具体模块的详细设计之前先做好需求分析以及功能模块的整体设计。完成详细设计之后要对相应模块进行测试以及完善。本文先利用 UML 建立了基本的框架,系统构建如图5所示。
图5 系统构建
用户注册进入首页,选择农产品的界面进入后台管理系统必须以管理员的身份登录。作为用户可以对农产品,农产品分类等进行浏览,对想要购买的农产品进行信息确认。用户选择农产品的协作如图6所示。
图6 用户选择农产品协作
用户要想实现前台的全部功能,就要先凭注册的账号进行登录。所输入信息与数据信息比对,确认无误后可以进行各项前台功能操作,如图7所示。
图7 操作流程
基于用户的农产品协同过滤推荐系统是一个涉及数据收集、预处理、相似度计算、推荐算法和结果展示等多个环节的复杂系统。在项目开发过程中,遇到了以下几个问题和挑战。
数据收集和预处理:由于农产品的属性和特征比较复杂,数据收集和预处理工作比较烦琐,需要对数据进行清洗、去重、归一化等处理,以便后续的分析和建模。
相似度计算:用户相似度和农产品相似度的计算是推荐系统的核心,需要选择合适的相似度计算方法,并对数据进行合理的处理,以提高推荐的准确性和效率。
推荐算法:过滤算法是推荐系统中的一种常用算法。但在实际应用中,有必要根据具体情况进行调整和优化,从而提升用户满意度。
结果展示:推荐结果的展示方式和内容也是影响用户体验的重要因素,需要根据用户需求和反馈进行不断优化和改进。
总的来说,基于用户的农产品协同过滤推荐系统是一个具有挑战性的项目,需要综合运用多种技术和方法,才能建成一个高效、准确、用户满意的推荐系统。