基于朴素贝叶斯分类的Java课程网络答疑反馈系统

2016-11-02 23:40姜利群
电脑知识与技术 2016年23期
关键词:文本分类

姜利群

摘要:网络答疑系统是现代教育技术扩展课堂教学的一个重要举措。采用朴素贝叶斯分类算法,开发了Java课程网络答疑反馈系统,它辅助教师进行答疑解惑,并能对学生的问题进行分类并反馈给教师,由此帮助教师改进课堂教学。

关键词: 朴素贝叶斯;中文分词;文本分类;网络答疑反馈系统

中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2016)23-0206-03

Abstract: Using network answering system as an extension of classroom teaching is a major development of modern educational technology. A network answering and feedback system for Java curriculum is developed based on the naive Bayesian classification algorithm. It will assist the teacher with online question-and-answer and also classify the questions and provide feedback on how to improve the classroom instruction.

Key words: Naive Bayes; Chinese words segmentation; text classification; network answering system

随着网络技术的发展和完善,大学教学中的答疑环节常常利用网络答疑系统实现,这给面对学生数量大的课程提供了很大方便,是重要的大学教学辅助手段。但是,很多课程的网络答疑系统也仅用于辅助答疑解惑,还没有考虑如何从学生的问题帖子中进一步挖掘出学生的学习信息。

我们利用多年的Java语言程序设计课程教学经验和积累的学生问题帖子、技术论坛中收集的知识点的各类帖子,开发了基于朴素贝叶斯分类算法的Java课程网络答疑反馈系统,该系统不仅实现了辅助答疑功能,同时具有“反馈”功能,它通过文本分类将学生的问题帖子所属的Java课程的知识点进行归类、统计,并反馈给教师,辅助教师调整后续课程的教学导向、教学内容、教学方式和方法等,以帮助教师更进一步提高教学效果。

本文主要介绍网络答疑反馈系统的反馈功能部分的实现方法与技术。

1 反馈系统需求及架构

1.1 系统需求

如何在教学过程中及时地把握学生学习过程中遇到的问题,获取足够的信息用以改进教学,对提高教学质量十分重要。因此,教育信息的挖掘处理是当前教学过程中需要迫切解决的问题,有必要使用技术上的手段来解决知识的智能分类,提高对知识整理的效率,减少搜索成本。

基于上述需求,Java课程网络答疑系统需要加入反馈功能,就是对问题进行文本分类,根据问题的类型将其划分到相应的语义类别中,最终反馈给教师。

1.2 知识点分类设计

本文采用基于Lucene全文检索并基于词典的中文分词技术设计答疑系统的搜索引擎[1] [2]。在分类算法中,利用比较经典的朴素贝叶斯分类算法,对问题进行文本分类。

系统是以Java课程在线答疑系统学生提问帖子文本分类为实际应用背景进行设计的。Java课程的知识点被分成21个大类,如表1所示。

1.3 文本分类设计

文本分类过程是建立从待分类帖子文本到知识点类别空间的映射。分类系统分为训练阶段和分类阶段。训练阶段构造特征集合和训练分类器数据。分类阶段是根据特征集合与分类器对未分类的帖子文本进行分类,并将分类的结果存入数据库。

整个文本分类的执行过程如下:

(1)收集Java课程按照知识点分的原始语料库;

(2)对语料库文本进行分词、停用词过滤等预处理;

(3)对已预处理的数据进行特征降维,构造训练集的特征矩阵;

(4)训练分类器,将训练的结果保存到集合中;

(5)根据训练好的分类器对学生所发的帖子文本进行朴素贝叶斯分类,并将分类结果更新回帖子数据表的类别字段中。

文本分类整体框架如图1所示。

2 朴素贝叶斯文本分类模型

2.1 朴素贝叶斯分类器

以贝叶斯定理为基础的朴素贝叶斯分类器模型是基于概率统计的分类模型,由于该方法在速度和效率上很有优势,被广泛地应用[3]。

分类过程如下[4][5][6]:

2.2 朴素贝叶斯分类实现方法

3 系统实现及结果分析

3.1 数据准备

本系统为Java知识点每个类别收集了60篇文档,每个文档都是该知识点的描述、定义、疑问解答等内容,能够提供足够的信息用于分类。

原始数据格式比较随意,数据中带有较多的无用标识符,需要进一步对语料库原始数据进行预处理,过程包括分词、停用词处理等, 预处理过程如图2所示。

原始数据经过预处理模块后,文本最后会被表示成独立词语的集合,其中虚词和无意义词均通过停用词方式去除,这样就可以方便计算机进行识别与计算。

3.2 特征提取

3.3 朴素贝叶斯分类器实现

朴素贝叶斯分类器模块涉及样本的训练和分类两个部分。在文本样本训练阶段,由经过预处理与特征提取后的特征词集合计算每个特征词的先验概率和条件概率,构成分类器的参数。进行文本分类时利用朴素贝叶斯公式计算相应文本的后验概率,选取最大后验概率的类别作为该文本的类别。

利用样本数据进行特征词提取后的训练和分类过程的模块结构如图4所示。

从图5看到,答疑反馈系统与一般的答疑系统相比只是多了一个问答文本的分类处理。系统对于每一条存到数据库的问题帖子文本都有一个分类,对于检索不到的答案,学生需要发表新问题,教师对新问题进行回答后对问和答文本进行分类,分类结果能够确定该问题属于哪个知识点,然后在数据表中标识该知识点即可。标识完毕后,学生就可以再通过关键字检索的方式检索到该答案。通过批量的方式对问题帖子文本进行分类,确定问题的类别,从而缩小问题的搜索范围,提高系统的性能。

3.4 答疑反馈信息柱形图

系统将学生各类问题帖子的百分比用答疑反馈信息柱形图给出,如图5所示。教师通过答疑反馈信息柱形图可以直观地看出学生在哪些知识点学得比较好,哪些知识点上学习问题比较多,辅助教师调整教学计划。

3.5 实验结果与分析

限于篇幅,这里仅进行准确率分析。准确率定义如下:

本文所用的训练语料库是21个一级知识点文本类,每类有文档60个,一共有文档1260个。帖子问答文本来源于在线答疑反馈系统的学生提问的问答帖子文本,每类个数在25至36之间。

系统评估了特征提取前后系统的分类准确率,如图6所示。

从图6可以看出增加了特征提取之后朴素贝叶斯分类的准确率有比较明显的提高。采用朴素贝叶斯算法的平均分类准确率约为87%,增加文本特征提取方法后的平均正确率达到89%左右。由于本系统中采集的训练样本数据较少,对分类的准确度会有一定影响,随着训练样本集的增加,系统的置信度也会提高,使得训练样本更能突出类别信息,分类的准确率也会提高。

4 结论

网络答疑反馈系统采用朴素贝叶斯文本分类算法能够比较准确的实现文本的分类,加入特征提取模块后分类的准确率有一定的提高,分类的速度较好,完全可以应用于各种文本分类场合。Java课程网络答疑反馈系统在实际教学中使用后对教师了解学生学习信息、提高教学效果有很大的帮助。

参考文献:

[1] 高琰,谷士文,谭立球,费耀平. 基于Lucene的搜索引擎设计与实现[J]. 微机发展,2004,14(10):42-44.

[2] 王志嘉,薛质.一种基于Lucene 的中文分词的设计与测试[J].信息技术,2010(12).

[3] 王国才.朴素贝叶斯分类器的研究与应用[D].重庆:重庆交通大学,2010.

[4] 刘彧.基于贝叶斯理论的文本分类技术的研究与实现[D].长春:吉林大学,2009.

[5] 章舜仲,王树梅,黄河燕.词间相关性在贝叶斯文本分类中的应用研究[J].计算机工程与应用,2009,45(16): 159-161.

[6] 史瑞芳.贝叶斯文本分类器的研究与改进[J].计算机工程与应用,2009,45(12):147-148.

[7] 周茜,赵明生,等.中文文本分类中的特征选择研究[J].中文信息学报,清华大学,2004-3.

猜你喜欢
文本分类
基于稀疏编码器与集成学习的文本分类
基于组合分类算法的源代码注释质量评估方法
不同情境下中文文本分类模型的表现及选择
基于内容的英语录音教材标注研究与应用