人工神经网络课程设计-神经网络在CET主观题阅卷中空白题识别

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1神经网络在CET主观题阅卷中空白题识别方一、课题背景随着计算机技术的发展,一些大规模考试(如CET)的阅卷方式已由传统的纸笔阅卷过渡到计算机甚至网上阅卷。其中,主观题的阅卷一般是将原始试卷扫描成灰度图像,再将图像输出到显示器上供阅卷员评阅。以CET为例,先是将主观题答题卡扫描成灰度图像,再按题目将图像分割成一个个小块,每道题目为一个图像文件,最后把一个个图像文件依次输出到显示器。我们自身的CET阅卷经历以及对部分CET阅卷员的访谈表明,每次CET主观题阅卷都会有一定数量的空白题。如果这些空白题不必由阅卷员评分,而是由计算机自动识别并赋分,无疑能减轻阅卷员的工作量,提高阅卷效率,降低阅卷成本,节约人力、物力和财力。从扫描后的图像来看,空白题和非空白题的主要区别在于像素灰度值,作答部分的灰度值接近0,空白部分接近255。但由于作答笔迹有轻有重,扫描清晰度不高,很难直接用像素灰度值加以区分(贾志先2009),需采用一定的技术进行识别。实现空白题自动识别的技术路线较多,如神经网络、支持向量机等。其中神经网络较为简单实用。本研究将尝试利用神经网络进行空白题识别技术的开发,并讨论该技术在CET主观题阅卷中的应用。利用神经网络进行空白题识别,最关键的是要保证识别的准确性与稳定性,即保证未作答的空白题一定赋0分,而考生作答了的一定不赋0分,留待人工评阅。如何确保空白题识别技术具有较高的准确性与稳定性是本研究需解决的主要问题。二、理论基础神经网络是一种能够模拟人脑结构及功能的信息处理系统。其基本单位是神经元,这一点与人脑相似。神经网络并不依赖事先编好的程序去运行,而是通过训练去调整自身权值,具有自组织、自学习、非线性逼近的能力(Shietal.2004)。由于神经网络具有这些能力,它能够反映人脑功能的许多基本特征,近年来在人工智能、自动控制、信息处理等方面取得了广泛应用(董长虹2005;韩力群2006)。在教育考试领域,神经网络被应用于试卷等值、空白题识别等方面,如贾志先(2009)曾使用神经网络识别HSK(汉语水平考试)的空白题,取得了较好的识别效果。通过学习空白题和非空白题的特征,不断调整自身权值,神经网络可以像人脑一样把空白题准确识别出来。然而,HSK用2汉语答题,CET用英语答题,书写文字的不同可能导致不同的识别效果。此外,若特征参数、实验模型、训练函数、学习函数、传递函数和隐藏层神经元数目等设置不同,识别效果可能也不同,需通过实证加以探究。我们的思路如下:首先提取可靠的特征参数,其次选取合适的网络模型、函数及神经元数目,最后通过对网络的训练调试达到最佳识别效果。三、实现方法3.1空白题特征参数的提取对空白题进行识别,首先要提取出能区分空白题和非空白题的特征参数。我们发现,空白题由于没有任何作答记号,扫描后图像各像素的灰度值均接近255,其标准差较小。非空白题由于有作答记号,扫描后这些作答部分的像素灰度值接近0,而其它部分的像素灰度值接近255,从而导致其标准差很大。因此,我们拟使用标准差作为区分空白题和非空白题的特征参数。假设一幅图像大小为m×n像素,则其像素灰度值矩阵为:图像像素灰度值矩阵A的行向量的标准差为:其中u1,u2,…,um为图像灰度值矩阵A的各行向量的平均值。A的列向量的标准差为3其中v1,v2,…,vn为图像灰度值矩阵A的各行向量的平均值。然而,直接以这些向量作为神经网络的输入,数据量太大,且由于m和n的取值不确定,神经网络输入层的神经元数目也无法确定。因此,我们对行向量和列向量的标准差继续求标准差,得到一个二维数组[x1,x2],其中x1为行向量标准差的标准差,x2为列向量标准差的标准差。这样,我们就可以用x1和x2两个参数作为区分空白题和非空白题的特征参数。实现这些步骤的Matlab代码为:f=imread(‘...’);∥载入图像灰度值矩阵f,其中…为载入图像的文件名∥x1=std(std(double(f’)));∥求行向量标准差的标准差,f’为图像灰度值矩阵的转置矩阵∥x2=std(std(double(f)))。∥__________求列向量标准差的标准差∥3.2神经网络模型的构建使用神经网络需根据研究自身特点选取合适的网络模型。本研究选取Elman神经网络模型。Elman网络由Elman于1990年提出,并由Pham和Liu于1992年加以改进,是一种动态的反馈网络。该模型在前馈网络的隐藏层中增加一个反馈层作为延时算子,以达到记忆的目的,从而使系统具有适应时变特性的能力,能直接反映动态过程系统的特性(Elman1990;Pham&Liu1992;Shietal.2004)。其优点是对目标函数的逼近度高、自学习能力强;不足之处是需要的神经元数目可能较多,可能导致网络结构庞大、学习时间较长。Elman网络由输入层、隐藏层、反馈层和输出层组成。输入层用于输入信号,隐藏层对来自输入层的信号进行一定处理,反馈层用于记忆隐藏层前一时刻的输出值并返回给输入,即一步延时。输出层的作用为对隐藏层传来的信号进行加权输出。这种特殊的网络结构可以任意精度逼近任意函数(董长虹2005),具有较强的自学习能力,4因此能够较容易地学会对空白题的识别。结构图可由图1表示。该网络的数学表达式如下:设网络信号输入为x(k),隐藏层输出为x’(k),反馈层输出为xc(k),信号输出为y(k);W1、W2、W3分别为输入层至隐藏层、反馈层至隐藏层、隐藏层至输出层的连接权值;f(*)、g(*)分别为隐藏层和输出层的传递函数;α(0≤α<1)为反馈层的自反馈增益因子,则该网络的数学表达式为:选定网络模型后,还需选取网络的训练函数、学习函数、以及隐藏层和输出层的传递函数。我们选取traindx函数作为训练函数。该函数基于Levenberg-Marquardts优化算法,结合了梯度下降法和高斯—牛顿法的优点,其训练速度较快且准确度高(王建梅、覃文忠2005;曹红杏等2008)。以梯度下降动量函数learngdm为学习函数。该函数利用神经元的输入和误差、权值或阈值的学习速率和动量常数来计算权值或阈值的变化率(董春娇等2010)。分别以tansig函数、logsig函数作为隐藏层和输出层的传递函数。tansig函数为S型正切函数,logsig函数为S型对数函数。在本研究中,输入接近0(空白题)时需输出0,输入不接近0(非空白题)时需输出1,输入与输出之间并非线性关系,故采用tangis和logsig两类非线性函数比purelin等线性函数更满足本研究的需要。5选定函数后,还需根据实际需要设定神经网络各层的神经元数目。本研究中,输入层神经元设为2个,分别接收行向量标准差的标准差x1以及列向量标准差的标准差x2。隐藏层的神经元数目过多会导致学习时间、可推广性差,过少则难以保证学习精度和输出的正确率(Suzuki&Mitsukura2010)。一般情况下,隐藏层的神经元数目根据公式t来确定,其中n’为隐藏层神经元数目,n为输入层神经元数目,m为输出神经元数目,t∈{x|1<x<10,x∈N}(周开利和康耀红2007;党小超和郝占军2010)。反馈层神经元数目与隐藏层相同。输出层神经元设为1个,输出对空白题的识别结果y,y接近0即为空白题,y接近1即为非空白题。可见,为构建一个具有良好性能的神经网络,需选择合适的网络模型、训练函数、学习函数、传递函数,并设定合适的隐藏层神经元数目。网络模型和各函数的选取依据各函数自身的特点及本研究的需要,隐藏层神经元数目的设定依据上述经验公式。由上述经验公式可知,本研究隐藏层的神经元数目取值范围为3~11。我们使用训练样本对这些具有不同隐藏层神经元数目的神经网络进行测试,评价其预测效果,从中选出最优模型。四、设计仿真和验证4.1Elman神经网络的训练为加快网络的收敛速度,我们对图像的灰度值进行了归一化,即将[0,255]区间的灰度值转换到[0,1]区间内。我们在Matlab中使用下列训练样本进行训练:输入训练样本为:目标输出为:对网络的设定为:net=newelm(minmax(I),[n’,1],{tansig’,6‘logsig’},‘trainlm’);∥新建Elman网络,设定函数和神经元数目,其中n’为隐藏层神经元数目,此处取值范围为3~11∥net.trainParam.epochs=100;∥设定训练次数为100次∥net.trainParam.goal=1e-5;∥设定目标误差为10-5∥LP.lr=0.01;net=train(net,I,T)。∥使用训练样本I和目标输出T对Elman网络进行训练∥由训练结果可知,当神经元数目设定为7时,训练后误差最小,但训练次数最多,为21次。神经元数目设定为10时训练次数最少,但其训练后误差相对较大。经综合考虑,我们选取神经元数目为8的方案,此时训练后误差为2.50880e-006,相对较小,且经过11次训练就达到了设定的目标误差,所需训练次数也相对较少。这一数目与贾志先(2009)所做研究设定的7个神经元较为接近。012345610-610-510-410-310-210-11006EpochsTraining-BlueGoal-BlackPerformanceis5.58038e-006,Goalis1e-005图2神经元数目为7时的Elman网络训练效果图由图3可见,虽然训练样本较小(N=10),但经过6次训练后,误差达到了设7定的最小值(10-5),表明该模型训练成功,可以投入使用。4.2Elman神经网络的测试本Elman神经网络的测试用模拟的7幅模拟CET主观题答题图像如以下图所示:图3Elman网络测试模拟图像七幅模拟的CET主观题图像都通过处理变成灰度图。其中第三幅图像是空白的,模拟主观题中的空白题。其中第二,第五幅图本别有一个和两个黑点,模拟主观题中答案短或字写得小的题。主要的设计思路是首先通过uigetfile函数读取这7幅模拟图像的路径,然后用imread读取其灰度值矩阵并算出行向量标准差的标准差和列向量标准差的标准差,以此得到Elman网络的测试样本。其次通过以上介绍的方法对Elman网络进行训练。最后利用训练完的网络对测试样本进行测试。测试代码见附录。测试结果如下:通过测试结果可以看出,其中,前6个数据近似于1,表明输入图像为非空白题;后1个数据近似于0,表明输入图像为空白题。经过人工核对,识别结果完全正确。此Elman网络符合预期的要求,可以能够很正确的判断试题的空与否。8五、结论本研究使用神经网络进行空白题识别技术的开发,提取出图像像素灰度值矩阵行向量、列向量标准差的标准差作为识别空白题的特征参数,选取Elman网络模型为实验网络模型,以traindx函数为训练函数,以learngdm函数为学习函数,分别以tansig和logsig函数为隐藏层和输出层的传递函数,通过对神经网络隐藏层神经元数目的调整来优化网络,使得网络能够以较少的运算消耗获得较好的识别效果。初步实验结果表明,该技术可以较好地识别出空白题。本研究成功的关键是提取出区别空白题与非空白题的特征参数。因为非空白题有作答记号,导致其行向量、列向量标准差的标准差均较大,而空白题行向量、列向量标准差的标准差均接近0,所以我们提取图像像素灰度值矩阵行向量、列向量标准差的标准差作为特征参数。为了更好地识别,可在提取特征参数之前对图像进行增强对比度的预处理,以避免对特征参数不明显的试卷的“误判”。此外,还可通过应用支持向量机的方法(如贾志先2011)进一步避免可能出现的识别错误。本研究只是利用神经网络进行空白题识别技术开发的一个初步尝试,尚存一些不足。首先,训练样本较小,识别的准确性和稳定性有待大样本的验证。其次,将彩色图像转换为灰度图像的操作尚需人工处理,尚未实现“转换-识别”的自动化。在后续开发中,如果实现了图像转换处理的自动化,且空白题识别的输入结果能够作为评分系统的输入,自动给空白题赋分,那么这一基于神经网络的空白题识别技术应当有广泛的应用前景。附录:程序代码clear

1 / 9
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功