李 婷,張景祥
LI Ting,ZHANG Jingxiang
濟南大學 信息科學與工程學院,濟南 250022
School of Information Science and Engineering,University of Jinan,Jinan 250022,China
眾所周知,作文評分對教師來說是一項極其繁重的任務[1],且人工閱卷存在差異性大等突出問題。自動作文評分系統結合了計算語言學、統計建模和自然語言處理技術,便成為人工評閱的一種很好的替代或替補。早期如Page等[2]采用淺層文本特征分析法評定作文質量和寫作風格(PEG系統)。后來的研究增加了內容質量上的分析,如Burstein等[3]開發的E-rater和Rudner等[4]開發的BETSY都采用了自然語言處理技術和統計建模相結合的技術路線。這雖然對考察作文的內容質量和語言表達形式方面有很多提高,但某些表達形式屬于上等的作文其內容上卻可能空泛無物。Deerwester團隊[5]利用自然語言處理的經典模型提出了基于潛在語義分析(Latent Semantic Analysis,LSA)方法,也被應用到作文評閱之中[6]。但目前的自動閱卷系統依然存在一些不足,如體裁多樣性和內容邏輯性比較局限;并且國外的評測系統大多是針對英語母語寫作來進行評分的。
至于國內的英語考試,考慮到考生和閱卷老師母語都不是英語,且對英語寫作能力的要求也不同于英語作為母語的要求。以上系統雖可借鑒,但也亟待完善和適應國內的教育需求。另外考試還具有導向作用,考試的組織者可以通過考試標準的制定來引導學生朝哪個方向努力。本文所設計的系統,允許教師(考試系統的出題人和評卷標準設定人)有傾向性地調整評閱參數和系數,引導學生注重某些語言知識與能力的提升。
本文基于國內英語教育提出了自動作文評分的指標體系與改進的Adaboost算法,將弱分類器提升為強分類器,實現了評分的客觀性、高效性、可靠性和導向性。
首先以國內英語六級作文評分細則(表1)為例。雖然閱卷老師熟悉該評分細則,但在具體評閱時人工評閱很難做到與細則能很好地吻合。

表1 英語六級作文評分細則
本文將這些細則轉化為三大指標體系。
2.1.1 單詞
單詞是組成作文的一個最基本的單位。單詞細分為以下幾個小的指標,包括總詞數、單詞等級、錯誤單詞數、詞匯多樣性、動詞相關特性等方面。
在作文的題干中,一般會有字數的要求,這也是作文不容忽視的硬性要求。字數不達標,作文分數一般來說不會很高。
單詞能否正確使用也是度量作文得分的一個因素,作文中常見的錯誤單詞有非單詞錯誤和單詞變形錯誤。有研究表明,寫作水平越高,寫作中出現錯誤數越少[7]。
本文統計了各個詞性(名詞、實義動詞、形容詞、代詞、介詞短語等)的使用比率,并著重統計了動詞密度、動詞語義、動詞詞形,包括:動詞使用率、助動詞使用率、分詞和動詞原形使用率。有文獻表明[8],寫作水平低的考生,動詞原形和現在時使用多;寫作水平高的考生,過去分詞使用多。
單詞進行分級后,以詞匯的等級高低和數量作為判分的一個依據。作文中使用一些單詞等級比較高的詞匯,會相應地提高整篇文章的質量。
此外,本文計算了詞匯多樣性,它是指一種類型的單詞在文章中總詞數的出現比例(從0到1),越接近于1,詞匯多樣性越高,當文章中全部單詞都不一樣時或者單詞的個數等于詞庫的單詞數時詞匯多樣性達到最大值。
2.1.2 句子
在某種程度上,句子的長度意味著應試者靈活運用語法知識能力的強弱,而平均句長作為一種評測語言發展的非標準化工具,在第二語言習得研究中有重要作用,有研究表明,中國中學生的作文平均句長低于美國中學生的作文平均句長,主要原因在于句子中的復雜結構較少、功能詞的使用能力較差以及缺乏語體意識[9]。
在英文寫作中,單詞所發揮的作用固然重要,然而能夠在考場上迅速寫出復雜結構的句式顯得尤為重要,復雜句式的有無與多寡,直接反映了作文的質量。在英語作文教學過程中,需要更多的幫助學生獲得使用更為復雜句式結構的語言能力、在一個句子中包含更多結構的能力。
2.1.3 整體結構
文章主題相關性是判定一篇文章是否跑題的重要依據。本文通過參考所給話題和評分標準,找到最能凸顯文章主題的相關單詞,并計算主題相關性系數,值越大,代表與題目越吻合。
連貫性在連詞成句、連句成篇方面上發揮著重要的紐帶作用。英語作文質量與語篇的連貫性有著千絲萬縷的聯系,“好”作文中的銜接手段遠比“差”作文中運用的多,這種差異主要源于詞匯銜接的不同運用[10]。起到銜接作用的有連接詞、詞匯重疊、時體性和所有句子LSA。
連接詞增強了作文的邏輯性,在文本銜接中起到了不容小覷的作用,使得表達更加豐富、過渡更加自然。本文計算了每篇作文出現的連詞比率,并分別統計五類連接詞出現的次數。這五類連接詞包括:并列連接詞、轉折連接詞、因果連接詞、時間連接詞、邏輯連接詞。
詞匯重疊是語篇連貫的一種重要銜接手段[11]。詞匯重疊主要考慮四種形式的語義重疊:名詞重疊、論點重疊、詞干重疊和實義動詞的重疊。詞匯重疊的計算是以上四種形式在句子中重疊的百分比。
時體性是指在一個段落里,時態和體態的一致性。它的計算公式是時態與體態重復出現次數的加權平均和。
潛在語義分析(LSA)是用于測量語篇中句子和段落之間的語義同指,是評價語義水平上的一種更深層次的統計學方法。LSA在大量的文本上構建一個矩陣,矩陣的一行表示一個單詞,一列表示一個文檔,矩陣里的元素代表該單詞在文檔中出現的次數,使用奇異值分解實現在保留列的情況下減少矩陣的行數,則兩個單詞的相似性計算公式是其行向量的余弦值,余弦值越接近于1,相似性越大,反之亦然。
算法Adaboost是Freud和Schapire提出的一種迭代算法[12-15]。它是由Adaptive和Boosting兩個單詞組合起來的,按照字面意思就是自適應地增強算法。說它是自適應,源于它選用的學習算法的準確率只要稍高于隨機猜測的準確率就可以被當做弱分類器;它又是增強的表現在可以通過訓練若干弱分類器從而得到一個強分類器。算法Adaboost的核心思想也已經很明確了,即選用準確率稍高于隨機猜測的若干弱分類器,將它們集合起來,構造一個最終的強分類器,當弱分類器的數量足夠多時,最終的強分類器的錯誤率將趨于零。它的優點表現在算法所提供的是框架,可以使用各種方法構建弱分類器;算法應用起來比較簡單,不用做特征篩選,也不用擔心過擬合問題;最重要的一點,它是有很高精度的分類器。
Adaboost算法的應用越來越廣泛[16-17],已成功應用于人臉識別、目標檢測和多分類問題等領域。當Adaboost算法應用于作文評分時,在弱分類器重復分錯的情況下,算法Adaboost失去了它原有的優勢。如何既能發揮Adaboost算法的優勢,又可以避免弱分類器的重復分錯,于是本文提出了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算法不出現過度擬合的優點,同時集中整體樣本趨勢,排除不良數據,解決了弱分類器疊加錯誤陷阱。
在分層分類之前要進行預處理,對比較極端的作文(如篇幅非常小的作文)直接按字數線性評定為1~4分,不再參與下述分類。
為了選出最有“影響力”的指標,本文首先參考了作文的評分標準,提取考試的一般規律,指標的選擇從硬到軟,從大到小。比如作文的字數要求、是否跑題、是否有錯誤的單詞等一些硬性要求;文章的連貫性、選用單詞的級別、修辭等一些軟要求。
通過使用Adaboost/CT算法分層分類,得到了兩種準確性,精確準確性和鄰接準確性。精確準確性是指算法評閱的分數和人工評閱分數相一致的準確性。鄰接準確性是指算法評閱的分數與人工評閱分數鄰近或者相一致的分數。因此,在人工評閱的成績為7分的前提下,如果算法評閱的分數為7分,則精確準確性和鄰接準確性都為1;如果算法評閱的分數為6分(或8分),則精確準確性為0而鄰接準確性為1;如果算法評閱的成績為5分(或9分),則精確準確性和鄰接準確性都為0。
本文通過對作文進行粗分做到大致分類、中分進一步分類和細分具體分類,分層進行,逐步求精,使用的指標越來越細致,并使用不同的指標體系對粗分后的作文進行分類。首先,作文被分為高于硬性指標體系要求的高質量類作文(H組)和低于硬性指標體系要求的低質量類作文(L組),如圖1所示。在中分和細分階段使用不同的指標體系標準進行進一步的分類,直到被分為一個具體的分數為止。

圖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 匹配矩陣
在經過前面高低質量粗分分類后,再分別使用兩套不同的指標體系進行進一步的分類。也就是說,中分是在粗分的基礎上進一步分類,分為低中分(低質量類中進一步分類)和高中分(高質量類中進一步分類)。
被評閱為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分的作文中。
在此之前是由大致的分類到更進一步的分類,到了細分階段,就是分類到具體的分數。假設細分中的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 各算法在性能上的分析比較
綜上所述,從整體上來看,經過改進后的Adaboost/CT算法,300篇作文樣本中有239篇在算法預測和人工評閱上達到了一致,預測的精確準確性為79.66%,鄰接準確性為94%。
本文使用的方法是一種類似于“基于閾值的迭代法”,基層學習器選用了最簡單的決策樹,作為基學習器,簡單分類器的效果更好,并且計算復雜度不高,對中間值的缺失不敏感,可用于不連續的數據集中。每一層(粗分、中分和細分)所選用的指標都是經過多輪的篩選,找出最合適的閾值,通過線性擬合率的高低逐次選取。
在粗分階段,作文被分為兩類:低質量類和高質量類,對于低質量類,準確率較高,這給出的啟示是:高質量類的文章更加注重內容,而不僅僅是語言。中分階段通過第一層的硬性指標分為兩小部分,在此階段,并沒有選用同一套指標體系,而是選用了適合高低質量類的兩套指標。從結果來看,改進后的Adaboost/CT算法還是令人滿意的。在細分階段,已經分到具體的分數,準確率比粗分和中分的要低一些,一般來說,主觀題沒有固定的正確答案,多一分或者少一分也不是嚴格意義上的錯誤。
本文所采用的分層指標體系,公開后可能會導致某種應對機器閱卷的作弊手法。比如,在單詞方面,為了所謂的“高等級詞匯比率”而刻意使用冷僻詞匯等。這超出了本文的范疇,另文討論。
本文所采用的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.