APP下载

基于UML 的知识分享系统设计与实现

2022-04-02顾涵文

科学技术创新 2022年7期
关键词:页面笔记对象

顾涵文

(北京语言大学信息科学学院,北京 100083)

1 概述

随着电子设备的普及,越来越多的人开始使用在电子设备上打字的方式替代传统的手写记笔记方式,使用打字方式记录下来的知识具有易于修改,便于整理的特点,同时在电子设备上进行知识的记录也便于知识的分享传播。近年来NLP 领域迅速发展,自然语言处理技术趋于成熟,将文本检错和文本分类等技术应用于记知识分享系统中,可以极大提高使用者的知识记录效率。本文构建一个基于NLP 技术的知识分享系统,让用户能快速对记录的内容进行分类,提取关键词等操作,提高知识整理的效率。

2 关键技术简介

2.1 Springboot 技术

Springboot 基于Spring4.0 技术开发,继承了Spring 技术AOP(面向切面编程)、DI(依赖注入)、IOC(控制反转)等优秀特性,同时使用特定方式来配置,简化了Spring 应用的开发过程,同时,Springboot 也整合大量的框架,有效避免了依赖包的版本冲突,让开发者能更关注于业务逻辑。

2.2 Mybatis 和Mybatis-plus 技术

MyBatis 是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的XML 或注解来配置和映射原生信息,将接口和Java 的POJOs (Plain Ordinary Java Object, 普通的Java 对象)映射成数据库中的记录。Mybatis-Plus 是一个Mybatis 的增强工具,它在Mybatis 的基础拓展了需多功能,提高了开发效率。

2.3 Vue 技术

Vue 是轻量级的前端渐进式框架,采用自底向上增量开发的设计,使开发者将注意力集中在视图层,也易于与第三方库或已有项目整合。

2.4 ElementUI

ElementUI 是一套为开发者、设计师和产品经理准备的基于Vue 2.0 的桌面端组件库,由饿了么团队维护,是最流行的vue 框架之一。

3 需求分析

本系统主要目标用户为学生、教师等知识工作者。以学生为例,学生在学习的过程中需要通过回顾笔记的方式来巩固自己的学习成果,在查看笔记的过程中往往需要归纳重点,并按照知识内容对文章进行分类,通过NLP 技术对文本生成标签,可以快速帮助学生对笔记进行整理和复习,同时,学生在记录笔记的过程中也会偶尔出现一些小错误,如错别字等,利用NLP 技术可以迅速发现这些错误,纠正学生错误的用词习惯。本系统使用NLP 技术,可以在用户记录笔记后根据笔记内容对笔记进行自动分类与自动纠错。在笔记记录之后,学生之间还存在分享的需求,本系统支持将笔记通过系统直接分享或者以pdf 或png 格式导出,通过系统分享之后其他用户可以在对应笔记的讨论区下进行讨论,也可以下载笔记,对笔记进行评分。同时,学生还有可能迫切需要某一领域的笔记,针对这种情况,同学可以进入任务管理页面,发布任务并设置相应的回报,在系统发布任务后系统会自动将任务信息发送给在相关标签下有过良好创作内容的用户,当用户完成学生提出的任务,即可获得相应奖励。有时候学生会讨论同一课题或者上同一门课程,这个时候可以在系统上新建学习小组。在学习小组中的笔记资料将由小组成员共享。由需求分析产生的用例图如图1 所示。

图1 用例图

在业务背景下进行调研后,抽取出领域模型如图2 所示。

图2 领域模型图

4 系统设计

4.1 笔记纠错流程图

对比其他笔记分享系统,本系统的特色就是采用了NLP技术对用户记录的笔记进行了文本纠错,便于用户及时发现文本中的错误并进行修改,文本纠错功能使用了自然语言处理领域常用BERT (Bidirectional Encoder Representations from Transformers)。先训练BERT 模型,再将需要纠错的语句传入已经训练好的BERT 模型中,获取句子中每个位置上词语的候选置信度,同时计算每个位置上候选词与原词的相似度,然后获得纠错概率并将词语按概率重新排序,判断排名第一位的词语纠错概率是否超过阈值,然后再决定是否提示用户进行笔记修改。笔记纠错流程图如图3 所示。

图3 自动纠错流程图

4.2 用例的实现

4.2.1 记录笔记顺序图

用户在记笔记页面输入笔记并点击提交,应用控制在收到笔记内容后将会检查笔记信息并将笔记内容传递给核对控制对象,核对控制对象向笔记目录对象获取笔记目录信息,再由笔记目录对象获取笔记信息,同时核对控制调用NLP 服务API 获取纠错信息及分类信息,最后,当笔记信息,笔记目录信息与纠错信息及分类信息返回,应用控制对象会将成功提交的消息返回至知识记录页面,顺序图如图4 所示。

图4 记录笔记顺序图

4.2.2 知识分享顺序图

用户在知识分享页面点击分享笔记,应用控制在确认消息内容后将会将请求传递给核对控制对象,核对控制对象向分享目录对象获取笔记分享目录信息,再由分享目录对象向分享内容对象获取分享目录信息,分享内容对象再向笔记对象获取笔记信息,最后,当笔记信息,分享内容信息与分享目录信息返回,应用控制对象会将分享成功的消息返回至知识分享页面,顺序图如图5 所示。

图5 知识分享顺序图

4.2.3 任务功能

4.2.3.1 发布任务顺序图。用户在任务发布页面点击任务发布,任务发布页面向应用控制对象确认任务发布请求,应用控制对象再调用核对控制对象检查信息,核对控制对象向任务目录对象获取任务目录信息,最后任务目录对象再调用任务信息对象创建任务,顺序图如图6 所示。

图6 发布任务顺序图

4.2.3.2 完成任务顺序图。用户在任务完成页面点击完成任务,页面向应用控制对象提交完成,应用控制向核对控制对象发送检查信息,核对控制对象向任务目录对象获取任务目录信息,任务目录对象向任务信息对象获取任务信息,任务信息对象再向任务发布用户请求返回任务是否达到完成标准信息,顺序图如图7 所示。

图7 完成任务顺序图

4.3 系统架构

本系统采用经典的三层架构模式,由控制层(Controller)进行数据转发,服务层(Service)参负责业务逻辑的实现,数据访问层(Dao)层进行数据的增删改查。在具体的业务中体现为用户输入笔记后由Controller 层将笔记转发至Service 层,Service 层负责调用API 返回笔记的纠错建议及文章标签与分类建议,并调用Dao 层进行笔记数据的存储,系统架构图如图8 所示。

图8 系统架构图

5 系统实现

系统主要实现了记录笔记与分享管理等功能。系统主页面如图9 所示,包括我的笔记,分享管理,学习小组,任务管理以及账户信息板块。

图9 系统主页面图

6 结论

本文使用面向对象的设计思想,通过需求分析,确定了知识分享系统的用例模型与领域模型,进而绘制了顺序图,确定了系统架构,最后使用Springboot 等技术对系统进行了实现。使用此系统对笔记进行记录,对比一般的纠错系统,本系统可以实现自动纠错,知识分享,小组协作等功能,提高了工作效率,丰富了用户体验。

猜你喜欢

页面笔记对象
晒晒全国优秀县委书记拟推荐对象
答案
让Word同时拥有横向页和纵向页
攻略对象的心思好难猜
图说车事
学写阅读笔记
学写阅读笔记
我的自然笔记(一)
个性签名
驱动器页面文件大小的总数为何总是07