软件概要设计说明书
版本变更历史
版本 | 提交日期 | 主要编制人 | 审核人 | 版本说明 |
---|---|---|---|---|
v1.0 | 2024.04.24 | 李解放 | 刘佳乐 | 完成文档主体内容设计 |
v2.0 | 2024.04.25 | 李解放 | 张黄钰 | 完善和优化部分内容 |
v3.0 | 2024.05.08 | 李解放 | 袁笑 | 进一步补充了相关细节 |
1 引言
1.1 编写目的
本文档的目的是详细介绍分析本项目的需求,让相关开发人员准确了解开发方向,进行规范高效的后期编码以及安全可靠的维护;让用户准确了解软件的功能需求及服务思路,有助更加深入全面地了解软件使用软件,得到最佳的用户体验。该文档将通过书面文字、系统结构图、数据流图、数据字典、UML 图展示本项目的功能、性能、用户界面、运行环境、外部环境以及各种接口。
本文档面向全体开发人员与用户,部分内容需要一定的软件工程基础。
1.2 范围
1.2.1 系统目标
“知识图谱智能构建系统”旨在为用户提供一个高效、准确并且时刻更新的信息检索平台。通过构建和维护一个完善的知识图谱,系统将能够以更加智能的方式对信息进行组织、检索和更新,从而极大地改善当前信息检索系统的短板。与传统的基于关键词检索的系统相比,知识图谱系统能够更好地理解用户查询的意图,提供更加精准的搜索结果。
1.2.2 主要软件需求
1.2.2.1.功能需求
文献管理系统:
-
文献采集与导入:创建在线数据库,提供导入功能将文献信息整合到系统中。
-
文献分类与组织:提供对文献进行分类、标签化或者建立文件夹等组织方式,以便用户可以根据需求进行管理和查找。(个人文献库和公共文献库)
-
文献检索:具备强大的检索功能,使用户能够快速准确地找到需要的文献,支持关键词搜索。
-
文献查看:提供文献阅读功能,允许用户在系统内直接阅读文献。
账号管理系统:
-
用户注册、登录、退出与注销账号:允许用户进行注册账号,并提供登录功能,以便用户能够访问系统的各项功能。
-
普通管理员登录、退出与注销账号。
-
超级管理员登录与退出账号。
权限管理系统:
-
用户角色管理:超级管理员具有最高权限,可以创建、编辑和删除管理员账号,管理员具有管理普通用户的权限,普通用户则只能访问系统提供的基本功能。
-
用户信息管理:超级管理员和管理员可以查看和编辑用户的基本信息,如用户名、密码、邮箱等,以及用户的权限设置。
-
密码管理与安全性:提供密码管理功能,包括密码修改、找回密码等,保障用户账号的安全性.
-
用户权限管理:超级管理员和管理员可以设置不同用户的权限,包括访问权限、操作权限等,以确保用户能够按照其角色的要求合理地使用系统。
-
账号注销与冻结:超级管理员和管理员可以对用户账号进行注销或冻结操作,以应对违规行为或其他特殊情况。
问答管理系统:
-
问题提交与管理:允许用户提交问题,并提供管理界面用于管理问题,包括发布、编辑、删除等操作。
-
问题搜索与检索:提供强大的搜索功能,允许用户通过关键词、标签等方式快速定位到相关的问题。
-
答案生成与展示:根据用户提出的问题,系统能够自动或者手动生成相应的答案,并将答案展示给用户。
-
知识库管理: 管理系统中的知识库,包括添加、删除、编辑知识库内容等功能。
-
修改问答对的日志记录
知识图谱管理系统:
-
查询知识图谱:该功能允许用户通过输入关键词或提出问题来查询知识图谱中的相关信息。系统将根据用户的查询意图,从知识图谱中智能地检索相关节点和关联信息,并将结果以易于理解和浏览的方式呈现给用户,帮助他们快速获取所需知识。
-
手动更新知识图谱:该功能允许管理员或授权用户手动触发知识图谱的更新过程。用户可以选择指定更新的范围或特定的数据源,系统将根据用户的选择进行相应的更新操作。这样可以确保知识图谱中的信息始终保持最新和准确。
-
保存知识图谱为图片:该功能允许用户将当前查看的知识图谱保存为图片格式。用户可以随时通过该功能将知识图谱快速保存下来,方便后续的分享、打印或进一步分析使用。保存的图片将保留图谱的完整结构和节点信息。
查看图谱生成日志:
该功能允许用户查看知识图谱生成过程的详细日志记录。系统将记录每次图谱更新的操作步骤、时间和相关信息,用户可以通过查看日志了解图谱生成的历史记录,包括成功生成的图谱数量、失败的原因等,以便及时调整和改进系统的运行。
1.2.2.2 非功能需求
性能需求:对于用户文件上传,问答对以及知识图谱等都要在短时间内迅速更新,数据准确无误,保证高精度 。(优化检索速率:非正则表达)
安全需求:受到恶意攻击的情形下依然能够继续正确运行及确保在授权范围内合法使用。
界面需求:前端显示上传成功/失败;校园网连接成功提示
1.2.3 软件设计约束、限制
经济、技术、环境等各种约束。
1.经济可行性
● 预算限制:项目有一定的预算需求,需要调用学校服务器。
● 成本控制:对系统开发、测试、部署和维护过程中产生的成本进行控制,所有的软件 和部署平台都在成本控制内
2.技术可行性
● 技术栈选择:选择合适的技术栈和工具,包括 python 编程语言、mysql 数据库、知识图谱库。
● 技术团队能力:团队在所选择技术方面应有足够的经验和能力,以确保项目的顺利进行。
● 兼容性:需要确保系统与现有系统的兼容性,特别是与现有的数据存储、知识图谱等的兼容。
● 可扩展性:系统应具有良好的可扩展性,代码以模块化的方式编写,各司其职
1.3 术语和缩略词
列出本文件中用到的专门术语的定义和缩略词的全称。
(1)文献:分为两类,一类是由用户上传,另一类是由系统后台提供。由用户上传的是每一个句子的文件,文件中可以包含多个句子,每个句子调用模型提取出最终显示到知识图谱中的实体和关系。后台提供的是文献库,用作候选段,当模型在用户提供的文件中无法解析出答案时,将在候选段中查找。
(2)问答对:由模型根据用户提供的文字,以及后台备用的文献库中查找,提取出一组问题和答案,称之为问答对。部分字段可能无法得到问答对。
(3)三元组:由问答对提取三元组,即实体 1——关系——实体 2,得到三元组即为模型调用的结束。三元组还需要经过处理,变为点集和边集才能够用于知识图谱的显示。
(4)知识图谱及自动更新:在前端显示的知识图谱是连接到三元组保存的.json 实现的。自动更新实现的原理是设置每隔固定时长反复调用文件,来更新图谱。图谱的显示由二维的三维的区别,三维比二维的可视化效果更好,更易于用户直观感受实体之间联系。
(5)权限管理:该功能模块主要用于系统管理员管理用户对数据库的操作权限。例如:是否允许删除文献,是否允许修改问答对,是否拥有管理员角色(当前系统最高权限)等。
(6)导出:在知识图谱模块,用户可以查看图谱的同时,也可以将图谱导出为 png 或 jpg 文件,便于用户具体地查看实体以及之间的联系。
(7)手动更新:当用户需要及时地查看图谱的更新状况时,系统提供了强制更新接口,使得三元组文件的最新状态可以立刻反馈到图谱可视化结果中。
1.4 参考资料
列出相关的参考资料,如本项目的经核准的计划任务书或合同、上级机关的批文;
属于本项目的其他已发表的文件;
本文件中各处引用的文件、资料、包括所要用到的软件开发标准。
列 出这些文件资料的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。
1.窦万峰.软件工程方法与实践(第三版).北京:机械工业出版社,2016.
2.窦万峰,蒋锁良,杨俊 . 软件工程实验教程(第三版). 北京:机械工业出版社,2016.
3.保罗 C.乔根森 . 软件测试(第四版). 北京:机械工业出版社,2017.
4.陈定甲,淳鑫.基于 Vue 技术的通用知识图谱问答系统设计与实现[J].装备制造技术,2022,No.331(07):97-99.