集中趋势自适应增强的英语作文评分算法
2018-05-08张景祥
李 婷,张景祥
LI Ting,ZHANG Jingxiang
济南大学 信息科学与工程学院,济南 250022
School of Information Science and Engineering,University of Jinan,Jinan 250022,China
1 引言
众所周知,作文评分对教师来说是一项极其繁重的任务[1],且人工阅卷存在差异性大等突出问题。自动作文评分系统结合了计算语言学、统计建模和自然语言处理技术,便成为人工评阅的一种很好的替代或替补。早期如Page等[2]采用浅层文本特征分析法评定作文质量和写作风格(PEG系统)。后来的研究增加了内容质量上的分析,如Burstein等[3]开发的E-rater和Rudner等[4]开发的BETSY都采用了自然语言处理技术和统计建模相结合的技术路线。这虽然对考察作文的内容质量和语言表达形式方面有很多提高,但某些表达形式属于上等的作文其内容上却可能空泛无物。Deerwester团队[5]利用自然语言处理的经典模型提出了基于潜在语义分析(Latent Semantic Analysis,LSA)方法,也被应用到作文评阅之中[6]。但目前的自动阅卷系统依然存在一些不足,如体裁多样性和内容逻辑性比较局限;并且国外的评测系统大多是针对英语母语写作来进行评分的。
至于国内的英语考试,考虑到考生和阅卷老师母语都不是英语,且对英语写作能力的要求也不同于英语作为母语的要求。以上系统虽可借鉴,但也亟待完善和适应国内的教育需求。另外考试还具有导向作用,考试的组织者可以通过考试标准的制定来引导学生朝哪个方向努力。本文所设计的系统,允许教师(考试系统的出题人和评卷标准设定人)有倾向性地调整评阅参数和系数,引导学生注重某些语言知识与能力的提升。
本文基于国内英语教育提出了自动作文评分的指标体系与改进的Adaboost算法,将弱分类器提升为强分类器,实现了评分的客观性、高效性、可靠性和导向性。
2 指标体系
2.1 研究工具和指标体系
首先以国内英语六级作文评分细则(表1)为例。虽然阅卷老师熟悉该评分细则,但在具体评阅时人工评阅很难做到与细则能很好地吻合。
表1 英语六级作文评分细则
本文将这些细则转化为三大指标体系。
2.1.1 单词
单词是组成作文的一个最基本的单位。单词细分为以下几个小的指标,包括总词数、单词等级、错误单词数、词汇多样性、动词相关特性等方面。
在作文的题干中,一般会有字数的要求,这也是作文不容忽视的硬性要求。字数不达标,作文分数一般来说不会很高。
单词能否正确使用也是度量作文得分的一个因素,作文中常见的错误单词有非单词错误和单词变形错误。有研究表明,写作水平越高,写作中出现错误数越少[7]。
本文统计了各个词性(名词、实义动词、形容词、代词、介词短语等)的使用比率,并着重统计了动词密度、动词语义、动词词形,包括:动词使用率、助动词使用率、分词和动词原形使用率。有文献表明[8],写作水平低的考生,动词原形和现在时使用多;写作水平高的考生,过去分词使用多。
单词进行分级后,以词汇的等级高低和数量作为判分的一个依据。作文中使用一些单词等级比较高的词汇,会相应地提高整篇文章的质量。
此外,本文计算了词汇多样性,它是指一种类型的单词在文章中总词数的出现比例(从0到1),越接近于1,词汇多样性越高,当文章中全部单词都不一样时或者单词的个数等于词库的单词数时词汇多样性达到最大值。
2.1.2 句子
在某种程度上,句子的长度意味着应试者灵活运用语法知识能力的强弱,而平均句长作为一种评测语言发展的非标准化工具,在第二语言习得研究中有重要作用,有研究表明,中国中学生的作文平均句长低于美国中学生的作文平均句长,主要原因在于句子中的复杂结构较少、功能词的使用能力较差以及缺乏语体意识[9]。
在英文写作中,单词所发挥的作用固然重要,然而能够在考场上迅速写出复杂结构的句式显得尤为重要,复杂句式的有无与多寡,直接反映了作文的质量。在英语作文教学过程中,需要更多的帮助学生获得使用更为复杂句式结构的语言能力、在一个句子中包含更多结构的能力。
2.1.3 整体结构
文章主题相关性是判定一篇文章是否跑题的重要依据。本文通过参考所给话题和评分标准,找到最能凸显文章主题的相关单词,并计算主题相关性系数,值越大,代表与题目越吻合。
连贯性在连词成句、连句成篇方面上发挥着重要的纽带作用。英语作文质量与语篇的连贯性有着千丝万缕的联系,“好”作文中的衔接手段远比“差”作文中运用的多,这种差异主要源于词汇衔接的不同运用[10]。起到衔接作用的有连接词、词汇重叠、时体性和所有句子LSA。
连接词增强了作文的逻辑性,在文本衔接中起到了不容小觑的作用,使得表达更加丰富、过渡更加自然。本文计算了每篇作文出现的连词比率,并分别统计五类连接词出现的次数。这五类连接词包括:并列连接词、转折连接词、因果连接词、时间连接词、逻辑连接词。
词汇重叠是语篇连贯的一种重要衔接手段[11]。词汇重叠主要考虑四种形式的语义重叠:名词重叠、论点重叠、词干重叠和实义动词的重叠。词汇重叠的计算是以上四种形式在句子中重叠的百分比。
时体性是指在一个段落里,时态和体态的一致性。它的计算公式是时态与体态重复出现次数的加权平均和。
潜在语义分析(LSA)是用于测量语篇中句子和段落之间的语义同指,是评价语义水平上的一种更深层次的统计学方法。LSA在大量的文本上构建一个矩阵,矩阵的一行表示一个单词,一列表示一个文档,矩阵里的元素代表该单词在文档中出现的次数,使用奇异值分解实现在保留列的情况下减少矩阵的行数,则两个单词的相似性计算公式是其行向量的余弦值,余弦值越接近于1,相似性越大,反之亦然。
3 算法描述与改进
3.1 Adaboost算法
算法Adaboost是Freud和Schapire提出的一种迭代算法[12-15]。它是由Adaptive和Boosting两个单词组合起来的,按照字面意思就是自适应地增强算法。说它是自适应,源于它选用的学习算法的准确率只要稍高于随机猜测的准确率就可以被当做弱分类器;它又是增强的表现在可以通过训练若干弱分类器从而得到一个强分类器。算法Adaboost的核心思想也已经很明确了,即选用准确率稍高于随机猜测的若干弱分类器,将它们集合起来,构造一个最终的强分类器,当弱分类器的数量足够多时,最终的强分类器的错误率将趋于零。它的优点表现在算法所提供的是框架,可以使用各种方法构建弱分类器;算法应用起来比较简单,不用做特征筛选,也不用担心过拟合问题;最重要的一点,它是有很高精度的分类器。
Adaboost算法的应用越来越广泛[16-17],已成功应用于人脸识别、目标检测和多分类问题等领域。当Adaboost算法应用于作文评分时,在弱分类器重复分错的情况下,算法Adaboost失去了它原有的优势。如何既能发挥Adaboost算法的优势,又可以避免弱分类器的重复分错,于是本文提出了Adaboost/CT算法。
3.2 Adaboost/CT算法
在歌唱比赛、舞蹈比赛或者其他比赛的过程中,通过去掉最高分和最低分确保最后的得分是公平公正的,也就是排除一些极端数据。集中趋势自适应增强算法Adaboost/CT借鉴了专家团体智能的不稳定性,将偏离集中趋势的数据排除。
反映集中趋势的两个主要因素是平均数和中位数[18],虽然平均数字面上的意思代表平均,当有极端数据出现时,它不再代表平均水平,比如在一个小型考试中,有两位同学因缺考试卷成绩得分为0,在算平均成绩时,由于平均数是每一个数集中起来作用的结果,很显然,得分为0的成绩是极端数据,已不能说明平均水平,而中位数是取按分数大小排序后的最中间的那个数,去掉最高分和最低分正好综合了这两者的优势,既能去除不良数据,又能发挥大部分数据的作用。
改进后的Adaboost/CT算法中,数据集为指标体系集合;样本集为指标值X与分类Y,yi∈Y={-1,+1}分别对应于分类失败与成功。Stump()为树桩弱分类器算法。当出现叠加错误,即错误数大于2时,对数据集进行集中趋势映射,D′t为Dt排除重叠错误的映射,该算法流程如下:
输入:
(1)数据集 S={D1,D2,…,DK};样本集 Dt={(x1,y1),(x2,y2),…,(xm,ym)};
(2)循环次数t={1,2,…,K};
(3)弱分类器ht的基学习器L。
过程:
(1)D1(i)=1/M;//样本权重初始化
(2)fort=1toK :
(a)用分布Dt训练弱分类器ht
(a1)yi=Stump(xi);
(a2)ht=L(S,Dt);
(a3)if(yi!=ht)errFlag++;
(a4)if(errFlag>2)Dt→ D′t;
(b)误差 εt=Prx~Dt,yI[ht≠y]
(d)更新权重
采用改进的Adaboost/CT算法,基本上保持了经典AdaBoost算法不出现过度拟合的优点,同时集中整体样本趋势,排除不良数据,解决了弱分类器叠加错误陷阱。
4 统计分析
在分层分类之前要进行预处理,对比较极端的作文(如篇幅非常小的作文)直接按字数线性评定为1~4分,不再参与下述分类。
为了选出最有“影响力”的指标,本文首先参考了作文的评分标准,提取考试的一般规律,指标的选择从硬到软,从大到小。比如作文的字数要求、是否跑题、是否有错误的单词等一些硬性要求;文章的连贯性、选用单词的级别、修辞等一些软要求。
通过使用Adaboost/CT算法分层分类,得到了两种准确性,精确准确性和邻接准确性。精确准确性是指算法评阅的分数和人工评阅分数相一致的准确性。邻接准确性是指算法评阅的分数与人工评阅分数邻近或者相一致的分数。因此,在人工评阅的成绩为7分的前提下,如果算法评阅的分数为7分,则精确准确性和邻接准确性都为1;如果算法评阅的分数为6分(或8分),则精确准确性为0而邻接准确性为1;如果算法评阅的成绩为5分(或9分),则精确准确性和邻接准确性都为0。
本文通过对作文进行粗分做到大致分类、中分进一步分类和细分具体分类,分层进行,逐步求精,使用的指标越来越细致,并使用不同的指标体系对粗分后的作文进行分类。首先,作文被分为高于硬性指标体系要求的高质量类作文(H组)和低于硬性指标体系要求的低质量类作文(L组),如图1所示。在中分和细分阶段使用不同的指标体系标准进行进一步的分类,直到被分为一个具体的分数为止。
图1 分层指标体系用例
4.1 粗分
所谓粗分,就是先定性地划分大类,标定一篇作文属于高分段作文还是低分段作文。
该过程采用硬性指标、大指标进行分。所谓硬性指标是指非含糊性指标,各方均能接受的指标。本文选用作文总词数、错误单词个数和话题相关性这些硬性指标作为粗分的指标,指标体系如表2所示。假设作文总词数满足题目要求并超过一定的字数(118),错误单词个数少(1~2个错误),话题相关性高(r>0.68)为高质量类作文(8、9、10),否则为低质量类作文(5、6、7)。
表2 粗分指标体系
本文以我校大一和大二的学生的300篇英语作文作为分析样本。其中,有132(44%)篇样本被分为低质量类,168(56%)篇样本被分为高质量类。其中,被正确分类高低质量作文的精确准确性为87.66%,邻接准确性为95.33%。匹配矩阵见表3所示。匹配矩阵表明有22篇作文(占14.01%)智能评阅为高质量类的作文被划分为低质量类,15篇作文(占12%)智能评阅为低质量类的作文被划分为高质量类。
表3 匹配矩阵
4.2 中分
在经过前面高低质量粗分分类后,再分别使用两套不同的指标体系进行进一步的分类。也就是说,中分是在粗分的基础上进一步分类,分为低中分(低质量类中进一步分类)和高中分(高质量类中进一步分类)。
被评阅为5、6、7分的为低中分,使用的指标:整句数、3~4级单词数、语法错误数。低中分的指标体系见表4所示。被评阅为8、9、10分的为高中分,使用不同于低中分的指标:所有句子LSA、5~6级单词数、语法衔接。高中分的指标体系见表5所示。
表4 低中分指标体系
表5 高中分指标体系
在低中分中,结果证明,107篇作文被Adaboost/CT算法正确分类,精确准确性达到81.06%,邻接准确性为97.72%,其中,3篇人工评阅为5分的作文被算法划分到7分的作文中,14篇人工评阅为6分的作文被算法划分到7分的作文中,8篇人工评阅为7分的作文被算法划分到5分的作文中。
在高中分中,结果证明,132篇作文被Adaboost/CT算法正确分类,精确准确性达到78.57%,邻接准确性为91.07%,其中,14篇被人工评阅为8分的作文被算法划分到9分的作文中,2篇被人工评阅为8分的作文被算法划分到10分的作文中,7篇被人工评阅为9分的作文被算法划分到8分的作文中,13篇被人工评阅为10分的作文被算法划分到8分的作文中。
4.3 细分
在此之前是由大致的分类到更进一步的分类,到了细分阶段,就是分类到具体的分数。假设细分中的5、6分为A组,9、10分的为B组。在A组中,通过筛选指标,本文选用了指标体系:句子离散度、标点频率和各个词性(名词、实义动词、形容词、介词短语)的比率,结果证明,40篇作文被Adaboost/CT算法正确分类,准确率达80%。A组指标体检见表6所示。在B组中,通过筛选指标,本文选用了指标体系:词汇衔接、复杂句式和动词相关特性,结果证明,40篇作文被Adaboost/CT算法正确分类,准确率达61.54%。B组指标体系见表7所示。
表6 A组指标体系
表7 B组指标体系
从算法的性能上看,改进后的Adaboost/CT与Adaboost和DFA(判别函数分析)相比,不但可以解决奇异值带来的干扰,并且通过实验证明了Adaboost/CT算法在精确率上优于Adaboost和DFA,结果见表8和表9所示,并且有文献[19]证明DFA的性能要优于机器学习方法(如:支持向量机、朴素贝叶斯分类器、分类与回归树分类器),见表10所示。
表8 算法精确性比较%
表9 不同参数下的分类结果比较
表10 各算法在性能上的分析比较
4.4 讨论
综上所述,从整体上来看,经过改进后的Adaboost/CT算法,300篇作文样本中有239篇在算法预测和人工评阅上达到了一致,预测的精确准确性为79.66%,邻接准确性为94%。
本文使用的方法是一种类似于“基于阈值的迭代法”,基层学习器选用了最简单的决策树,作为基学习器,简单分类器的效果更好,并且计算复杂度不高,对中间值的缺失不敏感,可用于不连续的数据集中。每一层(粗分、中分和细分)所选用的指标都是经过多轮的筛选,找出最合适的阈值,通过线性拟合率的高低逐次选取。
在粗分阶段,作文被分为两类:低质量类和高质量类,对于低质量类,准确率较高,这给出的启示是:高质量类的文章更加注重内容,而不仅仅是语言。中分阶段通过第一层的硬性指标分为两小部分,在此阶段,并没有选用同一套指标体系,而是选用了适合高低质量类的两套指标。从结果来看,改进后的Adaboost/CT算法还是令人满意的。在细分阶段,已经分到具体的分数,准确率比粗分和中分的要低一些,一般来说,主观题没有固定的正确答案,多一分或者少一分也不是严格意义上的错误。
本文所采用的分层指标体系,公开后可能会导致某种应对机器阅卷的作弊手法。比如,在单词方面,为了所谓的“高等级词汇比率”而刻意使用冷僻词汇等。这超出了本文的范畴,另文讨论。
5 结论
本文所采用的Adaboost/CT进行分层预测,其预测准确性与其他同时考虑各个因素的算法是相当的。虽然改进后的算法依然存在一些不足,但其显著优点是:系统自动逐层地对作文进行评分,最大限度地降低了指标标准对于不同层次水平得分的干扰。本算法虽然以话题论文为例进行研究,但也可以用于简答题、论文评审等的自然语言分析中。
参考文献:
[1]刘博超,张小莲.每一张试卷也都有正面和背面[J].课堂内外,2016(3):18.
[2]McNamara D S,Crossley S A,Roscoe R D,et al.A hierarchical classification approach to automated essay scoring[J].Assessing Writing,2015,23:35-59.
[3]Burstein J,Tetreault J,Madnani N.The e-rater automated essay scoring system[M]//Shermis M D,Burstein J.Handbook of automated essay scoring:Current applications and future directions.New York:Routledge,2013,55-67.
[4]Rudner L M,Garcia V,Welch C.An evaluation of the IntelliMetric essay scoring system[J].Journal of Technology,Learning,and Assessment,2006,3(4):3-21.
[5]Landauer T K,Foltz P W,Laham D.Introduction to latent semantic analysis[J].Discourse Processes,1998,25(2/3):259-284.
[6]Olmos R,Jorge-Botana G,Luzón J M,et al.Transforming LSA space dimensions into a rubric for an automatic assessment and feedback system[J].Information Processing&Management,2016,52(3):359-373.
[7]汪顺玉.大学英语四级写作样卷的词汇复杂度分析[J].重庆邮电大学学报,2011,23(6):104-110.
[8]李梦骁,刘永兵.基于语料库的中学英语学习者写作句法复杂性变化研究[J].东北师大学报,2016(1):140-145.
[9]李建平,张晓菡.中美中学生英语写作句子长度对比分析—一项基于高考英语作文的研究[J].教育测量与评价,2015(7):50-53.
[10]Tejada M Á Z,Gallardo C N,Ferradá M C M,et al.2L English texts and cohesion in upper CEFR levels:A corpus-based approach[J].Procedia-Social and Behavioral Sciences,2015,212:192-197.
[11]McNamara D S,Crossley S A,Roscoe R D.Natural language processing in an intelligent writing strategy tutoring system[J].Behavior Research Methods,2013,45:499-515.
[12]Freud Y,Schapire R E.A decision-theoretic generalization of on-line learning and an application to boosting[J].Journal of Computer and System Sciences,1997,55(1):119-139.
[13]吴信东,库玛尔.数据挖掘十大算法[M].李文波,吴素研,译.北京:清华大学出版社,2013.
[14]Sun J,Fujita H,Chen P,et al.Dynamic financial distress prediction with concept drift based on time weighting combined withAdaboostsupportvectormachine ensemble[J].Knowledge-Based Systems,2017,120:4-14.
[15]Harrington P.机器学习实战[M].李锐,李鹏,曲亚东,等译.北京:人民邮电出版社,2013.
[16]刘王胜,冯瑞.一种基于AdaBoost的人脸检测算法[J].计算机工程与应用,2016,52(11):209-214.
[17]杨新武,马壮,袁顺.基于弱分类器调整的多分类Adaboost算法[J].电子与信息学报,2016,38(2):373-380.
[18]张晓宇,徐付霞.基于Copula理论的学生成绩平均值和中位数的分布特征研究[J].大学数学,2016,32(1):56-60.
[19]Jurafsky D,Martin J H.自然语言处理综论[M].冯志伟,孙乐,译.北京:电子工业出版社,2005.