基于课程教学网站的智能答疑系统的设计与实现毕业论文
2020-02-23 18:22:53
摘 要
在传统教学中,当老师或者助教对学生进行教学时,有很多学生均会提出相似问题,而老师或者助教却要对同一类问题进行不断的解答,这种传统的教学方式很大程度上的浪费了老师和助教们的时间,而随着网络时代的发展以及教师教学的需求,实现一个能够帮助老师和助教回答此类重复问题或相似问题的系统是非常有必要的,也是当今教学阶段中所必要的。
本文通过研究基于SSM框架并利用中文分词技术和关键字匹配算法,设计并实现了基于课程知识库的教学答疑系统,可以智能化帮助教师或助教回答学生提出的相似问题,从而减轻老师和助教的工作量。论文中阐述了实现智能问答系统所需要的原理、算法和技术,对实现“互联网 ”的教育平台具有参考意义。
关键词:智能答疑;中文分词;关键字匹配度;问答库;教学网站
Abstract
In traditional teaching, when teachers or teaching assistants teach students, many students will ask similar questions, but teachers or teaching assistants must constantly answer the same questions. This traditional teaching method is largely It is a waste of time for teachers and teaching assistants, and with the development of the Internet age and the needs of teacher education, it is very necessary to implement a system that can help teachers and teaching assistants answer such repeated questions or similar problems. There should be some part of the current teaching stage.
Based on the SSM framework and using the Chinese word segmentation technology and keyword matching algorithm, this thesis designs and implements a teaching question answering system based on the curriculum knowledge base, which can intelligently help teachers or teaching assistants answer similar questions raised by students, thus alleviating the teachers and teaching assistants. Workload. The thesis describes the principles, algorithms, and technologies needed to implement an intelligent question answering system, and has reference value for the realization of the "Internet Plus" education platform.
Key Words:intelligence answer; Chinese word segmentation; keyword matching degree; question and answer library; teaching website
目 录
第1章 绪论 1
1.1 研究背景 1
1.2 国内外研究现状 1
1.3 研究目的及意义 2
1.4 本文组织结构 3
第2章 系统技术选型 4
2.1 HanLP概述 4
2.2 TextRank算法概述 5
2.3 SSM框架概述 6
2.4 技术可行性综述 6
第3章 系统设计 7
3.1 概要设计 7
3.2 数据库设计 8
3.3 模块设计 10
3.3.1 登录注册模块 10
3.3.2 查看问答模块 10
3.3.3 搜索问题模块 11
3.3.4 提问模块 12
3.3.5 查看提问模块 13
3.3.6 查看待解决问题模块 14
3.3.7 提交审核模块 15
3.3.8 管理员进行审核模块 15
第4章 系统功能实现与展示 16
4.1 登录模块 16
4.2 查看问答模块 16
4.3 搜索问题模块 17
4.4 提问模块 18
4.5 查看问题模块 19
4.6 查看待解决模块 19
4.7 提交审核模块 20
4.8 管理员查看待审核模块 21
第5章 结论 22
5.1 总结 22
5.2 展望 22
绪论
1.1 研究背景
随着互联网技术的高速发展,利用“互联网 教育”进行教学活动已成为现实[1]。初期的网络教学过程中,主要是通过和邮件的方式老师进行提问,而学习者只能等待老师的答疑后,才能继续后续的学习,现在的网络教学中,师生还可以交互,但是要获得及时答疑的前提是双方在线,但这存在答疑讨论在时间和空间上的局限性[2]。
老师或者助教对学生进行教学时,学生们提出的问题中有很多相似问题,而老师或者助教却要对同一类问题进行不断的解答,这种传统的教学方式很大程度上的浪费了老师和助教们的时间,而正因为此,实现一个能够帮助老师和助教回答此类重复问题或相似问题的系统是非常有必要的,也是当今教学阶段中所必要的。
而本文主要研究的是设计并实现出一个基于课程知识库的教学答疑系统,可以帮助教师或者助教们回答大部分学生提出的相似问题以及重复问题,从而减轻老师和助教们的工作量,并且该系统还可以通过管理员或者学生不断增加知识库的储备来实现对相关课程中更多问题的解答。
1.2 国内外研究现状
在互联网初期国内的相关教学系统基本上是没有可以用来答疑的系统,而是通过论坛,通过邮件等方式去问询相关老师或导师,获取相应答案,但这种方式费时费力,极不方便,现随着互联网的发展,国内的答疑系统也慢慢的在完善,现在国内答疑系统功能的实现主要是通过人工答疑和基于数据库的自动答疑两种方式。从系统的智能化方面来看,目前国内的智能答疑都是以功能模块的形式嵌入在其他系统中使用[3],在智能化方面都不是很完善,不能根据学生所提问题准确的给出相应答案。
而相比于国内来说,国外的答疑系统已经起步了,并且比我国更加成熟,比如早期的美国麻省理工大学的start答疑系统,ASK Jeeves公司的Ask Jeeves for kids[4],美国Michigan大学的Answer Bus[5]以及美国芝加哥大学的AI 实验室开发的FAQFinder[6] ,国外的智能答疑系统相对于国内的来说独立性较强,基本上都可以用来满足不同类型答疑材料的检索,但是由于国外用的语言为英文,故基本上不支持中文,对中文的智能匹配答案还欠缺一些东西,很多不能处理中文答疑。所以对于国内来讲,想实现一个真正的智能答疑系统还任重而道远。
1.3 研究目的及意义
本文研究的主要目的:为了设计用于帮助老师和助教进行授业解惑的系统的结构以及数据库结构,以便能够快速定位到问题数据以及实现出一款适合老师教学的自助答疑系统,提供问答式服务,不仅仅可以自助答疑,也可以人工答疑,其中包含了传统答疑的部分优势以及为老师或助教们节省了大量答疑时间,增加了他们的教学效率。其次为了研究如何实现智能答疑系统的各个功能点,根据系统的需求,利用开发系统的核心技术,如Java,MySQL等相关软件开发技术来开发出一套能够满足学生准确获取其想要的问题答案的智能答疑系统,以及为了研究分词算法及其应用。因为对于国内来讲,中文智能答疑系统的精髓在于正确理解用户提出的问题。而在理解用户提出的问题时现阶段主要使用的手段是对用户以自然语言形式提出的问题进行分割,然后再进行关键字比对,最后在进行匹配度计算,得到最优解,以及研究统计问题概率事件,对高频率问题设计标记,若后续再出现相应问题则可快速返回结果给提问者等等。
系统设计意义:在学校老师教学时,无可避免的需要对学生提出的问题进行解答,在如今的社会背景发展下,使用网络教学将成为答疑的一种趋势。而利用网络来进行答疑的优势是传统教学中比不了的,因为传统教学答疑一般为学生独立去寻找老师,询问老师自己的相关疑问,而由于有着大量的学生,所以学生们提出的问题将会有很多重复问题或者说类似问题,而老师们回答这些同样的问题将会浪费大量的时间。而本文中的系统则可以完美的解决这个难点,利用网络资源,以及可根据需求增长的知识库,来对学生有针对性的答疑,而不用老师对一对一重复解答,本文系统不仅支持了老师答疑工作的顺利完成,还提高了效率,使得学生与老师的花费时间均大大减少,故此,建立一个帮助老师教学的智能答疑系统势在必行。
同时本文中的智能答疑系统从本质上来说是突破了原有的传统教学方式的,因为其需要的技术也是有很多难点的,比如分词技术,自然语言处理,关键字解析等。正因为在系统中使用这些技术实现了系统,从而使得它的效率,准确性,以及后来的发展性都大大的提高了。正因为此,智能答疑系统才拥有了真正实现的可能,在因为在这个时代的背景下,实现该系统将会为老师以及同学提供更大的便利性,对双方的学习以及交流相对与传统教学的某些方面来讲都将更加有益。
1.4 本文组织结构
本文共分为五章:
第一章为绪论,介绍基于课程知识库的智能问答系统的设计背景,国内外研究现状以及课题研究目的与意义。
第二章为系统技术选型,介绍实现问答系统需要的技术,首先是用于中文分词的HanLP框架,用来初步处理用户输入信息,其次是TextRank算法,被用于HanLP处理后的结果集提取关键字的过程中,最后是搭建系统所用的SSM框架。
第三章为系统设计,系统设计分为概要设计,数据库设计以及模块设计等三部分,其中概要设计为设计系统大体结构,描述系统主要任务;数据库设计为系统保存用户信息以及问答库用到的相关设计;模块设计为设计系统具体功能。
第四章为系统功能模块实现与展示,对设计的模块进行实现,并对各模块以最终界面描述。
第五章为结论,其中包含本文的总结以及对系统下一步发展进行了规划。
第2章 系统技术选型
本章对系统用到的技术进行相关阐述,如用于中文分词的HanLP开源框架,用于提取关键字的TextRank算法,以及系统搭建使用的SSM框架。
2.1 HanLP概述
HanLP是能够用来处理中文分词的优秀开源框架。所谓中文分词,就是将一段以自然语言形式的语句分割成独立的词或字。根据分词的方法以及字典的使用等方面可以简略地将算法分为四类。
首先是基于规则的分词方法,这种方法是比较依赖规则以及字典的,它的分词策略是根据你自己定义的方式来进行分词。
其次是基于统计的分词方法,这种方法主要根据用户所提出问题中的上下文来决定,它会检查相邻词或字出现的频率,出现的频率越大,超过了某一个阈值,则该词越有可能独立成为一个词,通过这样不断的计算,利用语句来进行训练从而使得该算法得效率变高。
再其次是基于语义的分词方法,这种方法利用了编译原理的相关技术,如语义分析,从而对自然语言这一块拥有着处理得优势。如综合匹配方法以及后缀分词得方法等。
最后是基于理解的分词方法,这种方法是让计算机模拟去人的一些思想以及看法不断的训练得到正确结果,因为人对语句拥有着特定得分析,而这种方法就是让计算机来模拟人得看法,通过对语句得句法分析,语义分析,分割等来处理相关信息。
HanLP很好地利用上述四类技术,它是一个优秀的Java开源工具包,它具有语句理解,语义分析等功能,能够很完美的完成中文分词,并且它拥有性能高效,简易使用,可自定义等特点。
HanLP底层实现采用了高效的数据结构,通过这些数据结构它能够很快速的对语句进行分词,最高可达到两万字每秒,并且对内存的占用也非常低,只需要一百二十兆。当用户使用它时,可以很方便的根据自己的需求进行二次开发。
2.2 TextRank算法概述
TextRank算法是用于提取关键字的一种优秀算法,它借鉴了PageRank算法,PageRank是Google的创始人通过对网页分类排序的研究产生的,通过预先给定相应的PR(PageRank)值[8],再通过矩阵不断迭代收敛得出最终结果,而本文中的TextRank主要作用是关键字提取,它利用相应的分词技术后得到一组词,通过这些词来进行选举,让每一个词对规定范围内得词进行选择,最后得到每个词得相应比重,最终根据比重从大到小依次选择相应得关键字,得出结果。
其中PageRank的计算公式:
(2.1)
TextRank的计算公式:
(2.2)
可以看出两者公式得不同仅仅是TextRank公式拥有了W(权值,代表了句子间得相似度),若把词当作句子,则相似度为0,即W为0,此时通过约分,PageRank计算公式与TextRank计算公式相同。而实现TextRank算法流程如下:
- 先拥有测试数据:
当实现某一个管理数据的系统时,数据库显然是最重要的一环,数据库用户保存系统相关数据,不仅是用户的数据,还有网络上的数据,以及课堂教学的数据等。 |
- 利用上述案例作为测试用例,从用例来看这段定义的关键字应当包含“数据”,首先对这句话分词,可以利用各种分词工具或者项目来进行分词从而可以得出分词结果,然后去掉语句里面的一些对理解没有帮助的词,如标点符号,修饰词等等,最后得出实际有用的词语:
[实现,管理,数据,系统,数据库,最重要,一环,数据库,用户,保存,系统,数据,用户,数据,网络,数据,课堂,教学,数据] |
- 当得到相应的之后则建立一定大小的窗口,让分割得到的词将对其周围规定距离大小以内以内得单词进行评定。
- 最后通过进行迭代投票得出关键字结果。
[数据, 系统, 用户, 数据库, 时, 保存, 显然, 一环, 最重要, 相关] |
2.3 SSM框架概述
SSM框架是一个Java Web开发框架,它是全世界主流开发框架之一。
SSM框架由三个部分组成,Spring[9],SpringMVC[10]和MyBatis[11]。
Spring:它的成立主要是为了解决企业级架构。在以前EJB是开发网站的主流,但到后期由于其过于繁琐,从而Spring便开源了出来,它仅仅使用基本的JavaBean就能完成那些需要用到EJB才能实现的功能。简单来说,只要是Java[12]应用,使用到Spring均将会收益,它还拥有着关键概念,即IOC(控制反转)、AOP(面向切面编程)等,在项目中使用到这些关键点将会使得项目的辑性,简便性,易操作性大大增强。
SpringMVC:SpringMVC主要在Web项目中是用来分离模块的,它相当与MVC层中的controller层,接收请求,处理用户的调用请求以及转发请求等等。
MyBatis:MyBatis是由 iBatis[13] 这个项目迁移到了google code 上成立的,并且迁移后便改名为MyBatis 。Mybatis主要是用来操作数据库的,它通过XML[14]配置或者JavaConfig配置相应操作,从而使得Web项目操作数据库非常得方便,它将Java得简单对象(POJO)通过映射对应到数据库中得每张确切表,从而使得用户在取得数据库的数据后进行操作时非常的方便。
2.4 技术可行性综述
HanLp开源框架为系统提供了中文分词技术,让系统能够根据课程的字典模型进行训练,能够快速开发,快速使用,为实现系统的自动回答功能提供了不可或缺的助力。
TextRank算法为系统处理分词后的语句集合提取关键字起到了关键作用,有了它,可以让系统的实现少走许多弯路,能够减少许多设计提取关键字算法时间成本。
而SSM框架能够让我们快速开发出系统,并且能够保证开发出的系统结构完整,拥有良好的逻辑性与扩展性,可以减少我们许多的开发成本。而它的搭建虽然相对于其他语言框架配置来讲要多一点,但是对Java其他框架来说,却是非常优秀的。
所以HanLP、TextRank与SSM框架结合起来将是用Java语言开发智能答疑系统的优秀选择。
第3章 系统设计
3.1 概要设计
该系统主要是用于帮助老师或者助教回答常见类似问题,从而能够节省双方的时间。故此,我们拥有着用于存储常见问题的知识库,并且可以随时根据需求而进行删减或增加,系统模块有登录注册模块、查看问答库模块、搜索问题模块,我的提问模块,被提问模块等,系统主要分为三大类角色:管理员、老师或助教、学生,管理员通过成功登录系统后可以管理所有用户,并且能够增加,删除,更改,查询所有用户的信息,并且可以增加问答库信息等,老师或助教通过正确的账号密码成功登录后可以进行提问,也可以查看被提问列表中的相关问题,学生成功登录系统后可以搜索相关问题,以及对其他同学或老师以及助教进行提问,当提问后,被提问人登录系统后查看被提问列表,并且可以进行回答,回答结果会反馈给提问人。概要功能图如图3.1所示。
图3.1 系统概要设计图
3.2 数据库设计
系统是一套基于某课程的问答库的实现的答疑系统,要进行运作,最基础的就是系统中含有的知识库,这将直接影响到系统进行答疑的结果,而问答库模块主要就是对问题库进行管理。管理员能够随时对知识库进行维护,以此来满足用户的基本需求。管理员可以增加新的与课程相关的一些知识,包含基本问题和对应的答案,来适应课程知识的扩展。
而本文利用数据库来管理这些数据,本文选择的是MySQL[15]作为管理知识库的数据库。本文系统的数据库E-R图如图3.2所示,其中涉及的表如表3.1至表3.6所示。
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示: