教育部高等学校大学计算机课程教学指导委员会
中国大学生计算机设计大赛
软件开发类作品文档简要要求
作品编号:
0103
作品名称:基于 serveless 云服务和人工智能的校园多功能微信小程序
作
者:
黄润泽、陈杰、乐帅
版本编号:
1.0
填写日期:
2020.4.27
填写说明:
1、本文档适用于所有涉及软件开发的作品,包括:软件应用与开发、大数据、人工智
能、物联网应用;
2、正文一律用五号宋体,一级标题为二号黑体,其他级别标题如有需要,可根据需要
设置;
3、本文档为简要文档,不宜长篇大论简明扼要为上;
4、提交文档时,以 PDF 格式提交本文档;
5、本文档内容是正式参赛内容组成部分,务必真实填写。如不属实,将导致奖项等级
降低甚至终止本作品参加比赛。
目 录
第一章 需求分析..................................................................................................................................................3
1.1 开发背景.................................................................................................................................................3
1.2 市场分析.................................................................................................................................................3
1.2.1 目标用户 ...................................................................................................................................3
1.2.2 竞品分析 ...................................................................................................................................4
1.3 作品简介.................................................................................................................................................4
1.3.1 主要功能 ...................................................................................................................................4
1.3.2 优势和创新点 ......................................................................................................................... 4
第二章 概要设计..................................................................................................................................................5
2.1 总体设计................................................................................................................................................5
2.2 技术框架................................................................................................................................................5
2.2.1 前端 ...........................................................................................................................................5
2.2.2 后端 ...........................................................................................................................................6
2.3 模块设计................................................................................................................................................6
第三章 详细设计..................................................................................................................................................8
3.1 界面设计.................................................................................................................................................8
3.2 数据库设计............................................................................................................................................8
3.3 关键算法.................................................................................................................................................9
3.3.1 NLP 情感分析 ......................................................................................................................... 9
3.3.2 文本关键词提取....................................................................................................................9
3.3.3 图像识别人脸情绪 ............................................................................................................ 10
3.3.4 通用文本识别 ......................................................................................................................10
第四章 测试报告............................................................................................................................................... 11
4.1 文字识别情绪测试............................................................................................................................11
4.2 人脸识别情绪测试............................................................................................................................11
4.3 互助答疑测试.....................................................................................................................................12
4.4 文本识别测试.....................................................................................................................................13
第五章 安装及使用...........................................................................................................................................14
5.1 环境要求.............................................................................................................................................. 14
5.2 安装........................................................................................................................................................14
5.3 使用说明.............................................................................................................................................. 14
5.3.1 迎新模块 ............................................................................................................................... 14
5.3.2 互助答疑模块 ......................................................................................................................15
5.3.3 日记模块 ............................................................................................................................... 16
5.3.4 校园导览模块 ................................................................................................................................ 17
第六章 项目总结............................................................................................................................................... 19
6.1 任务分配.............................................................................................................................................. 19
6.2 面对困难.............................................................................................................................................. 19
6.3 开发感悟.............................................................................................................................................. 19
6.4 后续安排.............................................................................................................................................. 19
2/19
第一章 需求分析
1.1 开发背景
APP 人口红利尾声,用户增长迈入瓶颈期。潮退之时,互联网巨头最先做出应对,以自
身已经拥有的超级 APP 为基搭建小程序或轻应用的分发平台。目前,微信月活跃设备数高达
11.2 亿,因“水之积也厚”以大水为托,微信小程序受到众多开发者和用户的热情拥抱。
凭借逐渐完善的各个功能板块,微信小程序已经初步搭建形成一个闭环的生态结构,持
续释放对开发者引力的同时不断优化用户的使用体验,实现良性发展。在传统校园移动应用
端上,我们看到的是冗余的内存占用,高昂的服务器租赁费用,以及各端签发证书之繁琐,
以及传统开发模式耗时长成本大的诸多缺点。因此一款方便校园生活的、无需下载安装微信
小程序的出现成为了广大用户所期待的需求。
此外,我们了解到大学生心理健康问题已成为社会关注的焦点。调查发现,目前大学生
的总体心理健康素养处于较低水平,而对自己情绪的良好认知是心理健康的重要环节。用户
通过微信小程序写日记的方式,记录自己的心情状态和生活,结合自然语言处理中的文字情
感分析和人脸识别的情感分析,实时分析并反馈用户日记中的情感状态,帮助用户更好的了
解自己的情绪。在用户入学时,小程序中提供了迎新模块,帮助用户更好的适应和了解校园。
在用户毕业时,总结用户大学生活的情绪状态,小程序生成用户的专属报告。
表 1.1 大学生对心理疾病的识别情况 (n=1011) , n (%)
1.2 市场分析
1.2.1 目标用户
武汉理工大学全体学生(目前)
在校全体大学生(未来)
3/19
1.2.2 竞品分析
目前,有的日记类应用,仅仅是对日记进行记录,功能局限,数据的处理和可视化做的
比较一般,用户无法了解到自己情感状态。而本项目,利用 NLP、图像识别和深度学习算法,
实现对用户日记内容的内容识别记录,接入腾讯地图模块,实现校园日记地点的可视化记录,
实时显示该地点用户情绪。
名称
图文记录
数据可视化
情感分析
定位标注
图像识别
本小程序
吾记
Moo 日记
青橙日记
√
√
√
√
√
√
√
√
√
×
人工选择
×
√
×
×
×
√
×
×
×
表 1.2 多类日记类应用比对
1.3 作品简介
1.3.1 主要功能
(1) 日记图文记录功能
(2) NLP 情感分析文本
(3) 图像识别人脸情绪
(4) 地图标记日记发生地点
(5) 迎新引导助手
(6) 问答模块
(7) 可视化校园导览
1.3.2 优势和创新点
(1)利用 NLP 情感分析和图像识别人脸情绪分析技术分析用户情绪,将分析得出的情绪值
记录在用户日记中,帮助用户更好的认知自己的情绪。
(2)接入腾讯地图模块,实现校园日记地点的可视化记录,实时显示该地点用户情绪。
(3)迎新模块和毕业日记报告模块,帮助用户更好地融入校园。迎新模块,帮助用户适应
校园,毕业模块帮助用户回忆校园。
4/19
第二章 概要设计
2.1 总体设计
当前处于移动互联网时代,微信小程序具有着基于微信的跨平台能力和即用即走、
随手可得的特点。选择以微信小程序为平台,可以很好的解决 IOS 和安卓双版本开发的
问题,同时省去了用户安装的麻烦。后端采用基于 python 的 flask 轻量级框架和微信
小程序开发自带的云数据库,为微信小程序提供 api 接口和数据存储服务。
图 2.1 系统设计流程图
2.2 技术框架
2.2.1 前端
(1) UI 设计
使用了当下流行的有赞 vant 小程序 UI 组件库、colorUI 组件库、以及 github 开源
项目的一些 UI 打造舒适用户操作界面。
(2) 前端框架
采用原生微信小程序框架
5/19
图 2.2 微信小程序框架图
2.2.2 后端
(1) 小程序云开发
基于云开发的云函数。实现了列表搜索、详情获取、用户特征获取三个功能,并安
装了 tcb-router 模块,实现了一个云函数具备多个云函数的功能。
图 2.3 云开发框架示意图
(2) flask 框架
基于 python 的 flask 轻量级框架,提供后端接口 api,实现文字识别,文字情绪识
别,人脸情绪识别三个功能。
图 2.4.flask 框架(NLP 文本情感分析请求)示意图
2.3 模块设计
针对需求分析结果,将小程序分解成功能模块示意图如下:
6/19
图 2.5 功能模块架构
7/19
第三章 详细设计
3.1 界面设计
我们使用了 vant 小程序组件库以及 colorui 组件库进行联合开发设计精美的页面。在一
些关键部分,如详情展示,社区设计,我们采用了自制组件,使用 css+html 控制页面样式,
并且在按钮等交板块采用拟态设计,极大优化了用户的操作体验。
3.2 数据库设计
该小程序共有三个数据库表单, UserNotes 用于存储用户日记, UserMap 用于存储用户
所标识的地点,blog 用于存储用户交流评论信息。基于小程序提供的云数据库,需要存储
用于标定用户身份的_openid 用于确认身份。
表 3.1 UserNotes 的字段解释
Field
id
_openid
notes
creatTime
images
keywords
textMode
faceMode
title
text
Field
id
_openid
adress
emotion
images
geo
title
note
Field
id
Type
String
String
array
Number
array
array
Number
String
String
String
表 3.2 UserMap 的字段解释
Type
String
String
array
Number
array
array
String
String
Comment
数据集身份标识
用户身份标识
日记信息
日记创建时间
图片信息
关键词
文本情感
人脸情绪
日记标题
日记内容
Comment
数据集身份标识
用户身份标识
地图标识
地点平均情绪值
图片信息
地点经纬度
地点标题
地点备注
表 3.3 blog 的字段解释
Type
String
Comment
数据集身份标识
8/19