产品规格说明书:
版本号: V2.0
版本说明:
Version 1.0 | 简单得需求分析以及构思,初稿形成 |
Version 2.0 | 细化beta阶段设计,增加典型用户尝尽以及功能罗列 |
1. 引言
1.1. 编写目的
此规格说明书编写的目的是明确本项目的详细需求,供用户确认项目的功能和性能,和用户形成一致的理解和确认,帮助实际用户以及潜在用户更好的理解本产品,同时也帮助我们在开发过程拥有更加明确的目的。
1.2. 项目背景
项目名称:Xueba网上教学问答系统后台数据获取和处理系统
项目面向用户:Xueba网上教学系统前端团队
项目开发者:北京航空航天大学软件工程 龙威零式 小组
2. 总体描述
2.1. 项目背景
在网上有许多关于某门学科 (例如计算机科学) 的许多知识和问答,这些问答散落在网上课件,维基百科,论坛,校园BBS,技术文档,教学视频… 中。许多网上大学也有很多相关内容。一个新手 (例如大学生) 往往要花许多时间搜索这些问题的答案。事实上,无数的师兄师姐们已经问过,答过这样的问题了。 为了方便刚接触新的技术领域的人可以尽快的进入某一领域,最大程度的解决相关的技术问题,那么一个可以将相关信息整合起来的系统就变得很有必要,整个系统的目的是要把高质量的内容都聚合起来 (在遵守相关知识产权规定的前提下),让用户能系统地浏览、搜索、编辑、评论; 同时也支持用户继续通过提问/回答完善这些内容。数据的来源是整个项目的基础,本数据处理系统的作用就是从网上最大程度的收集整合信息,同时将数据处理过后以供网页展示出来。
2.2. 项目目标
依据一定的搜索种子,从网上搜索相关的网站,从网站上爬取有用的信息:包含html、word、pdf、MP4等,其中还有问答对形式的网页。系统将这些信息保存下来,并且进行分类整合。针对html、word、pdf文件,系统会提取里卖弄的文本文档,并且从中提取关键信息以供检索,同时还会提取作者、编辑时间等相关信息。最终将所有的信息上传到solr里面。同时,项目还提供一个后台管理网页,可以控制爬虫程序以及处理程序的开始以及暂停,线程数量,数据库链接,solr管理,同时可以从网页上看到当前的处理进度。
2.3. 典型用户场景:
本产品基本上只有一个用户,那就是xueba网站前端开发管理人员姬大神:
名字 | 姬某 |
---|---|
性别 | 男 |
职业 | 某校某学院某学生 |
专业能力 | geek |
动机 | 需要为广大的学生群体造福,完成一个专业辅助性质的网站,同时完成某课程的课程要求 |
目的 | 需要人来完成后台数据的获取以及处理,并且最好可以依据一定的格式,按照我的需求来获得相关信息,供我的前台网页获取以及展示 |
困难 | 精力主要放在前端程序交互的搭建,所以没有足够的精力去专注在数据的获取以及处理 |
用户偏好 | 与前端接合完美,数据覆盖面广,数量充足 |
用户比例 | 约占本产品用户的100% |
典型场景 | 登陆本系统的后台管理网页,启动数据获取以及处理程序,等这些处理好了就立马可以在前台展示出来,惬意且轻松 |
典型描述 | 有人帮我搞后台,真实不能更好了! |
2.4. 典型用户需求说明
- 希望可以最主要的解决基本类型形式的数据获取功能,同时可以将关键词等信息提取出来
- 数据可以按照希望的形式排列,储存到solr里面方便读取
- 关键词需要准确
- 最好可以获取视频教学文件
- 问答对形式的内容可以专门提取出来
- 提供手动修改关键词等接口
- 可以直观的看到当前的处理进度
2.5. 运行环境要求
程序后台运行在服务器上,管理网页将基本支持主流浏览器,因为只是后台管理网页,所以功能完善的前提下,对于网页排版没有特别要求。
2.6. 产品前景
在满足当前用户的前提之下,可以对用户限制进行缩小,可以使得一般的网络用户也可以通过这个系统获取网页上的相关信息,作为一般小型系统的数据来源。并且可以进行管理,在接口做一些细小的变动之后,便可以拓展本系统的用户群体。
3. 功能描述
3.1. 数据来源个性化
系统提供选项可以让用户输入爬取数据起始网址,这样就允许用户自定义数据来源,例如百度、知乎、知网甚至国外的相关学术网站等数据来源。同时还可以通过输入的关键词进行筛选,只有包含关键词的信息才会被保存下来,所有的爬取的数据会放在服务器上的数据库里面。
3.2. 获取标签数据
对于初始保存下来的数据:包括html、doc、pdf文件等可以进行数据处理,提取出来里面的文本内容,并且可以根据里面的内容进行关键词、作者、生成时间等相关信息提取并保存。在关键词提取的时候,应该尽可能的避免冠词等没有实际意义的词汇。
3.3. 可视化当前处理进度
可以通过后台管理网页进行系统的开始停止设定,并且查看当前处理进度:有多少待处理以及已处理等。
3.4. 处理目标配置
对于处理结果的输出位置可以进行设置,例如是否需要输出到固定的solr服务器里面,同时可以在后台管理网页上面手动将数据从服务器数据库上上传到solr里面。同时可以允许用户选择是否即时将新处理的数据上传到solr里面。
3.5. 信息修改
对于关键词提取不准确的情况,应该可以通过接口对于已经存入的关键词信息进行矫正,新增,删除。
4. 界面原型设计
描述:
这个作为主页面,直观的看到我们的系统的处理的进度,包含所有的数据信息
同时还有两个子页面用于更详细的设置。
“来源配置”:弹出爬虫控制页面
“输出配置”:弹出输出控制页面
“开始处理”:启动数据处理程序,可以看到进度条开始走动
描述:
爬虫配置网页,可以分类别看到爬取的进度,如果没有启动则数据为缺省,可以手动添加seed,关键词,目标数量信息。
“开始”:从后台启动一个爬虫线程并且即时的更新数据在页面上
“暂停”:将后台的爬虫线程停止。
描述:
输出配置页面,可以手动设置目标存放信息的内容。
“确认”:确认当前的设置,返回上一层
5. 系统功能描述 验收标准 Check List
测试功能 | 测试项 | 效果描述 | 完成情况 |
管理页面 | 处理程序启动 | 点击“开始”按钮可以让处理程序开始处理 | |
打开爬虫管理页面 | 点击“来源配置”弹出爬虫管理页面 | ||
打开输出目标配置页面 | 点击“输出配置”弹出输出配置页面 | ||
爬虫功能 | 爬虫爬取信息seed增加 | 可以在爬虫管理页面手动增加爬取信息来源网站 | |
爬虫关键词筛选 | 可以增加关键字在爬取信息的时候筛选内容 | ||
爬虫多线程启动 | 可以自定义启动几个爬取线程,并且可以看到各个线程的运行情况 | ||
爬虫信息展示 | 可以看到此处运行爬虫的信息,运行时间、爬取到的文件数 | ||
爬虫爬取网站数量限制 | 可以自定义爬虫爬取网站数,如果缺省则一致爬下去 | ||
爬虫文件信息保存 | 从网上爬下的信息可以按照格式保存在数据库里面,可以从数据库看到数据更新 | ||
数据处理功能 | 数据处理启动控制 | 可以在网站上管理当前数据处理线程的启动与暂停 | |
doc数据文本信息获取 | 从doc文件中提取文本信息出来 | ||
doc关键信息提取 | 从doc文件中提取关键信息并且保存 | ||
html数据文本获取 | 从html提取去噪后的文本 | ||
html关键信息提取 | 从html文件提取关键信息 | ||
pdf数据文本获取 | 从pdf文件提取文本信息 | ||
pdf关键信息提取 | 从pdf文件中提取关键词 | ||
问答对网站信息提取 | 从问答网站提取问题以及优质答案 | ||
拓展功能 | 配置链接的solr账户 | 可以手动配置需要链接的solr数据库 | |
自定义上传 | 允许用户进行solr索引删除以及重建选项 | ||
提供修改关键词接口 | 提供修改关键词接口以及访问方法 | ||
登陆账户 | 提供登陆界面,使用固定账号才可以登陆到管理界面里面 | |