1绪论
1.1项目背景和意义
《计算机网络》是大连理工大学软件学院软件工程专业和网络工程专业的一门基础必修课,是计算机网络系列课程的入门课,对于网络工程专业(包括物联网和网络安全两个专业方向)的学生来说更有着举足轻重的作用,学好这门课程对更加深入的学习和研究网络工程学科其他课程有很大的帮助。近年来,本课程形成了一支以大连理工大学软件学院网络工程系青年教师为主的稳定的教学团队,并积极推行教学改革和实施精品课程建设,在教学内容、教学方法、考核方法、双语教学、实验课建设、网站建设等方面做了一些工作,也取得了一些成效。经过教学团队多年来的共同努力,本课程已于2010年被评为“大连理工大学优秀课程”。但是,本课程的教学工作正面临一些现实的挑战。一是学生人数多,教学工作量大。软件学院《计算机网络》课程每年面向约800名本科生授课,教学对象覆盖软件工程和网络工程两个专业。本课程教学团队共有4名专业教师,平均每位教师需要负责200名本科生的教学工作,因此很难实现个性化辅导和因材施教,同时限制了师生之间的互动。二是课程内容丰富,但课时有限。本课程以Internet为主要载体系统地、分层次地讲述计算机网络的基本概念、基本原理和基本方法,内容涵盖应用层、传输层、网络层、数据链路层和物理层的功能、接口和众多协议等,涉及的概念和知识点较多、知识面较广,且部分内容较为抽象。在48学时的授课时间里,有些学生很难全面快速地掌握授课内容,从而在一定程度上影响了教学效果。因此,非常有必要找到一个能够同时为教师的“教学”和学生的“学习”提供支持、增强“教”与“学”的互动性、加强“教”与“学”的主动性与便捷性的解决方案。鉴于以上现实需求,我们提出建设面向《计算机网络》课程的教学辅助平台,为教师教学和学生学习提供支持,以进一步提升教学质量。智能题库作为《计算机网络》教学辅助系统的子系统,同样是为教学服务必不可少的重要组成部分。通过智能题库子系统,教师一来可以在平时完成试题的收集工作,并上传到题库中进行统一管理,二来可以在考试来临之际仅需简单的设置就可以轻松生成试卷,帮助教师摆脱沉重的组卷负担,把更多的时间和精力用到科研和教学上面来。另外智能题库系统的自动组卷功能可以有效防止考前漏题等不良行为的发生,实现教学的教考分离,同时也激励学生平时好好学习。
1.2国内外研究现状
1.2.1国外的研究状况
在国外,大型跨国公司的认证考试和一些标准化考试都已经开发出了比较成熟的考试系统如微软的MCSE、MCDBA、MCS等,SUN公司的Java认证,思科公司的CCNA、CCNP、CQE认证,IBM公司的AIX 190、DB2数据库、XML认证,还有英语托福、雅思、GRE等考试系统也已经建立并运行了几十年,一直都能比较科学地测试出学生的真实水平。这充分地说明试卷的自动生成是可能的也是有效的。但是这些成熟系统所涉及到的具体设计与实现几乎都是保密的,因此我们需要依靠自己的努力研制出一套符合中国教育实际情况的试卷自动生成系统。目前考试系统的研究正朝着如何开发出自适应、高智能、高安全而且网络负载均衡的方向发展。试卷的自动生成模块作为系统的关键环节已经显得越来越重要。因此,开发出一套通用的Web试卷自动生成系统是一项很有意义的工作,同时也是现实的迫切需求。国外在文本相似度算法方面,Lambros[3]等提出基于文本长度信息计算文本相似度的方法,系统采用两重动态规划技术。Carroll[4]等人提出了基于两个测试点的文本相似度计算方法,这个测试点分别是句子的长度信息和句子的内容。Niladri[5]提出了使用多重回归技术确定相关系数的基于线性模型的文本相似度算法,他将文本之所以不相同的原因归结为一系列文本徐相似成分导致的。Goldsdeint6]等使用最大边缘相关的方法计算文本相似度。Nkenburg[7]等提出了基于切块、匹配和重组的方法计算文本相似度。ChrisH.Q[8]等采用隐含语义索引的方法计算文本相似度。目前比较成熟的文本相似度算法有SimHash算法、K-Shingling算法和I-Match算法。SimHash算法通过降维技术把文本转化成特征码集合,并为特征码赋予权值以此作为文本的指纹信息,最后通过计算文本指纹间的相似度作为文本之间的相似度。K-Shingling算法通过将文本拆分成K个连续字组成的序列,然后比较两个句子的序列组合之间的相似度得出文本相似度。还有对于短文本相似度计算准确率非常高的I-Match算法,它使用统计的方法计算文本相似度。
2系统需求分析
该《计算机网络》智能题库系统根据以下计算机网络课程实际情况对系统进行了全面细致的需求分析。课程实施双语教学;课程以Internet为主要载体系统地、分层次地讲述计算机网络的基本概念、基本原理和基本方法,内容涵盖应用层、传输层、网络层、数据链路层和物理层的功能、接口和众多协议等;每年大连理工大学软件学院面向800名本科生进行授课等实际情况。另外综合考虑系统的通用性和可扩展性,我们提出了以下功能性、非功能性需求分析以及性能分析。
2.1系统目标
《计算机网络》智能题库系统的主要目标是设计并实现一个可扩展的《计算机网络》智能题库系统。通过该系续,.计算机网络专业课教师可以轻松实现试题的管理和共享,并且在考试来临之际他们只需进行简单的试卷需求设置即可自动生成满足考试要求的试卷,不必再跟以前一样花费大量的时间在组卷上,为计算机网络专业课教师节省大量的宝贵时间从事科研和教学工作。通过本软件的课题研究,我们知道本系统作为《计算机网络》教学辅助系统的子系统暂时只支持计算机网络课程,但是将来我们希望它能支持更多的课程和语言,所以在系统设计的时候我们希望让系统具有可扩展性。另外系统是供大连理工大学软件学院的计算机网络课程的授课教师使用的,我们希望系统具有一定的容错能力,也就是说当教师输入错误信息或者进行错误操作的时候,系统可以给出提示而不是系统直接崩淸,即系统应该具有很好的异常处理能力。
3智能题库系统设计..........13
3.1系统总体设计.........13
3.1.1系统总体架构设计.........13
3.1.2系统软件结构设计.........13
3.2系统详细设计.........14
3.3系统关键算法设计.........20
33.1 文本相似度算法分类.........20
3.3.2文本相似度算法设计.........23
3.3.3 算法评估.........27
3.3.4智能组卷算法设计.........28
3.4数据库设计.........31
3.4.1实体描述.........31
3.4.2数据库表结构设计.........33
3.4.3数据库表关系.........39
3.5 本章小结.........39
4智能题库系统实现.........40
4.1题库管理模块实现.........41
4.2组卷管理模块实现.........47
4.3试卷管理模块实现.........50
4.4 系统配置文件.........50
4.5系统的实现环境.........51
4.5.1硬件环境.........52
4.5.2软件环境.........52
4.6系统幵发技术特点.........52
5系统测试.........54
5.1单元测试.........54
5.2集成测试.........54
5.3 系统测试.........54
5.4验收测试.........55
5.5主要功能测试用例.........55
结论
本文设计实现了智能题库管理系统,其主要功能包括系统管理、题库管理、组卷管理和试卷管理四个主要模块。系统最主要的用户教师可以通过该系统进行章节管理、知识点管理、试题管理和自动组卷、手动组卷、上传和下载试卷等功能,这些功能可以帮助教师提高教学效率,将更多的时间和精力用到科研上面来。另外助教用户的设置,不但可以帮助教师减轻负担还能保证系统的安全性,因为助教只能使用试题上传功能并对自己上传的那部分试题进行管理。在研究大量文献的基础上,我们对系统中涉及的两个关键算法做了创新性研究。一个是在试题上传的时候对试题进行查重的文本相似度算法;另一个就是实现自动组卷功能的智能组卷算法。其中文本相似度创新算法主要考虑到算法的效率和准确性两方面。在算法准确性方面我们充分考虑专业关键词、常用关键词和关键词词性对试题相似度的影响,在计算文本相似度时对不同的关键词采用加权的方式;在算法效率方面我们使用倒排索引后对文本进行聚类的方式缩小计算相似文本集,还采用矩阵维过滤的方式降低计算的复杂度来进一步提高算法的效率。自动组卷算法方面,我们在认真分析完随机抽取法、回溯试探法和遗传算法这几种常用的自动组卷算法后,它们无法满足我们对系统的实时性、高效性和简单通用的要求。在CPU调度算法LT-backfilling的启发下,我们设计并实现了基于LT-backfilling算法的智能组卷算法。受时间和本人技术水平限制,Talent智能题库系统也存在一些不足之处有待改进:(1)实现试题的批量上传。本系统在试题上传的时候只能一道试题接一道试题的上传,如果需要上传的试题很多的话也会需要花费很长的时间来上传试题。(2)实现学生在线考试和系统自动批阅试卷并统计成绩功能。目前受学校教学政策限制,学生只能参加现场的纸质试卷考试。未来如果网络和学校教学资源以及教学政策允许的话,可以考虑实现这些功能。(3)对系统界面美化。由于本人没有美术功底,对前端美化工作做得还是有所欠缺,如果有必要的话,希望将来可以进行简单的视觉设计。
参考文献
[1]方党生.基于.NET的学校考试管理系统的研究与实现[D]:(硕士学位论文).成都:电子科技大学,2009.
[2]陈文青.C语言试题库组卷系统的研究与实现[D]:(硕士学位论文).成都:电子科技大学,2010.
[3]Surender Reddy Yerva, Zoltan Miklos, Karl Aberer. Quality-awarehttp://sblunwen.com/jsjgllw/ similarityassessment for entity matching matching in Web data [J]. Information Systems,2012,37(4):336-351.
[4]Zhang Hua-ping, Yu Hong~kui, Xiong De~yi, et al. HHMM-based Chinese lexical analyzerICTCLAS [C]. 41st Annual Meeting of the Association for Computational Linguistics,Sapporo:[sn], 2003:184-187.
[5]Li Yuhua, McLean David A., Bandar Zuhair A.,et al.Sentence similarity based onsemantic nets and corpus statistics [J]. IEEE Transactions on Knowledge and DataEngineering, 2006, 18(8):1138-1150.
[6]Chris H. Q. A similarity-based probability model for Latent Semantic Indexing[C].Proceedings of 22nd ACM SIGIR conference on Research and Development in InformationRetrival,2009:59-65.
[7]Carbonell J GoldsdeinJ. The use of MMR persity-based reranking for recordingdocuments and producing summaries[C]. In proceedings of ACM-SIGR' 98, MelbournAustralia, 1998:135-141.
[8]Nirenburg S,Domashnev C, Grannes D J. Two approaches to matching in Example-basedmachine translation[C]. Proceedings of TMI-93, Kyoto,1993:47-57.
[9]秦兵,刘挺,王洋,等.基于常问问题集的中文问答系统研究[J].哈尔滨工业大学学报,2003,35(10): 1179-1182.
[10]李素建.基于语义计算的语句相关度研究[J].计算机工程与应用,2002(7):75-77.