基于Springboot的自动问答系统及在农业中的应用
2021-03-16薛鸿任徐芷莹符朝闯岳钊海蒋锐
薛鸿任 徐芷莹 符朝闯 岳钊海 蒋锐
摘 要:在科技高速发展的今天,农业的发展前行越来越依赖于信息技术的应用和牵引,但是个体农户大多数对先进技术掌握不够,靠自行网上搜索解决问题的办法效率低下。一个具备先进农业技术知识,能够快速对农业问题进行自动应答的系统,有利于缩短农户获取信息的时间。项目使用uni-app和Springboot框架,结合自动问答技术,能对农业活动中遇到的问题进行快速解答。具有一定实用价值。(由百色学院2020年大学生创新创业训练项目提供资金支持,项目编号:202010609131)
关键词:农业;Springboot;自动问答
中图分类号:TP319
引 言
在科技高速发展的今天,农业的发展前行越来越依赖于信息技术的应用和牵引,但是农业信息化较为低下,不少农业生产者依旧面临着种种问题。例如,猪肉是城乡人民的常用食品,人民对猪肉的需求量越来愈大,从而调动了农业生产者的积极性,但是猪养殖人员大多数文化水平偏低,不懂科学养殖,对母猪配种、疾病防治、饲料配方等饲养技术;或是饲养过程中关键的技术掌握不好、饲养管理方式落后、饲料配合不科学、圈舍建设改造滞后等问题。就个人农业生产者现有的知识水平很难解决这些问题,完全靠人与人之间口口相传的经验来进行养殖。同样的,种植方面也是如此。所以需要提供一个便捷的平台,让个体农户们获得可以随时随地查询农业知识。故此使用微信小程序进行开发,农户只需要扫码即可开始查询农业知识,并且实现开发的前后端分离,降低开发难度。使用SpringBoot减少配置文件的编写,提高开发效率。
一、系统相关设计
1.功能模块设计
种植、养殖业问答系统依据初始需求分为三个模块:用户问答模块、机器人问答模块、个人信息管理模块。
(1)用户问答模块
主要用于显示用户发布的问答列表,用户可以进行浏览问题、发布问题、回答问题等操作,并且可以通过搜索,查询相关的问题。
(2)机器人问答模块
与种植、养殖业问答机器人进行互动,询问农业相关问题,机器人将会对问题进行分析,做出相应的回答。也可与机器人咨询一些趣味问题。
(3)个人信息管理模块
用户使用微信账号登录之后,将会在个人信息页面显示其微信的头像以及相应的信息,同时用户可以重新设置自己的用户名称、用户类别、出生年月日、所属地区等个人信息。同时可以看到自己发布的问题与回答的问题。
2.数据库设计
数据库使用MySQL,由问题表、回答表、用户信息表、农业知识表、农业问题分词表五个表构成。用户表主要用来存储用户第一次微信登录时生成的用户ID、微信号、用户名。并且设置了生日、性别、邮箱、现居地址等字段,为之后扩展功能使用。问题表用于存储用户所发布的问题ID、发布用户ID、问题标题、发布时间。其中用户ID方便用户查询自己所发布的问题。回答表用于存储用户回答ID、问题ID、用户ID、回答内容、发布时间。回答ID使用UUID(通用唯一识别码)来存储,并且用数据库的唯一约束确保其唯一性。问题ID用于与问题表连接,并且可以用于统计用户回答总数。农业知识表用于存储机器人的农业知识库,包含了知识ID、问题、答案、分类、上传时间。通过分词表对用户所提问题进行相关性统计,得出相关性最高的知识ID,在通过农业知识表获取答案。农业知识分词表包含分詞ID、知识ID、分词、分类、上传时间。分词表是将农业知识里的问题字段进行中文分词处理后存储为新的表。主要用于查询问题相关性,得出最佳回答。
二、系统实现
系统采用微信小程序原生框架和SpringBoot架构,实现了前后端完全分离,后端只需要提供相应的API(应用程序接口),前端通过AJAX请求接口获取相应的数据,减少了系统开发的复杂性,增加了人员分工效率。uni-app框架主要负责请求并处理相应的数据,完成数据回显的功能;SpringBoot主要实现对相应数据的CRUD(增加、检索、更新、删除)操作,控制业务逻辑,以此实现用户相应的需求。
1.用户问答功能模块
用户问答功能模块,主要实现用户发布问题与回答问题的功能,是系统的主要功能。问题发布的流程图如图1所示:
2.机器人问答功能模块
机器人问答功能模块,用于将问题进行分析分词,随后将每一个分词拼接成条件进行高级动态查询。获得包含分词数量最高的一个知识ID,再根据知识ID到农业知识表中查询答案,再通过JSON格式返回给用户。
机器人问答功能流程图如图2所示:
3.个人信息管理模块
用户个人信息管理模块,主要用于管理个人信息,用户可以对自己的用户名、生日、性别、邮箱、现居地址,进行修改操作。
三、结语
种植、养殖业问答系统主要是使用了Springboot后端开发技术与uniapp跨平台前端开发技术进行设计与实现。基于这两种技术,在开发过程中,人员开发分工明确,且代码量大大减少,提高开发效率。
参考文献:
[1]张峰.应用SpringBoot改变web应用开发模式[J].科技创新与应用,2017(23):193-194.
[2]李哲,周灵.微信小程序的架构与开发浅析[J].福建电脑,2019,35(12):66-69.
[3]许溜溜.基于HBuilder快速开发移动端APP的设计与实现[J].电脑知识与技术,2020,16(10):74-75.
[4]王三蕊.云存储的发展及未来趋势探析[J].电子技术与软件工程,2015,(9):181.
[5]李景奇.中国农业的现状和前景展望[J].中国农业信息,2013(17):175-176.
3702501908241