论文部分内容阅读
随着互联网与信息技术的迅猛发展,企业对于程序设计师的需求量不断增加,因此程序设计类课程越来越受到高校和学生的重视。但是在传统教育与远程教育教学过程中,程序设计类实验课程的问答环节效率较低,使得学生的程序问题无法得到实时、有效地解决,这对学生的学习效率和积极性产生较大影响。从学生角度分析,学生作为程序设计初学者,缺乏调试程序的理论基础和实践经验,对于编译器的错误提示无法准确把握,独立处理程序设计问题时难以下手;从教师角度来看,班级教学过程中课堂时间短、教师精力有限,教师无法指导每个学生解决程序问题。针对这一现实问题,本文致力于研究程序设计类实验课程自动问答系统,以期改善该类课程问答环节的现状。基于知识工程理论与规则引擎技术,本文展开对自动问答系统的研究。构建一个质量好、运行效率高的知识库是实现自动问答系统的首要环节,也是本文的研究重点。文中从知识表示、知识组织、知识推理机制三个方面对知识库进行设计,然后以《C语言程序设计》课程为例,在Drools上按照以下流程实现知识库的构建:知识获取、知识表示、知识校验、冲突检测。利用知识库实现知识推理是实现自动问答系统的第二环节,在知识库构建的基础上,本文基于Drools编码实现知识库的运行及三种类型的知识推理:问题解答、问题推理和智能导航。最后,利用Eclipse等开发工具,按照系统的整体架构分层实现C语言实验课程自动问答原型系统。在以上理论与技术研究的基础上,本文设计实验对案例知识库与自动问答系统分别进行评价,实验结果表明:在充分获取知识的基础上,案例知识库与自动问答系统的召回率、准确率较好,推理效率较高;学生对自动问答系统整体的满意度较好,其中系统召回率的满意度超过其实际水平。实验数据有力证明了知识库构建技术的有效性与自动问答系统的可行性。事实上,除《C语言程序设计》课程外,对于其他程序设计类实验课程及具有明显因果关系的知识领域,如:医学疾病诊断领域、网络故障诊断领域、农作物病虫害防治等领域,该知识库构建技术仍然适用。