李晨亮,吳鴻濤
(1. 武漢大學空天信息安全與可信計算教育部重點實驗室 武漢 430072;2. 武漢大學國家網絡安全學院 武漢 430072)
自動作文評分(automated essay scoring, AES)是自然語言處理領域的一項重要任務,目標是采用自動化的方法來評估作文的寫作質量并給作文評分。自動作文評分系統(tǒng)在教育領域有著廣闊的應用前景,如托??荚嚨膶懽黝}判卷就使用了機器判卷系統(tǒng)E-rater[1]。最早的AES 系統(tǒng)可以追溯到1966年開發(fā)的Project Essay Grader 系統(tǒng)[2],并在此后一直備受關注。早期的AES 系統(tǒng)主要依賴手工提取的特征,包括長度特征、詞匯特征、句法特征及語義特征等類別。然而,手工提取特征費時費力,還可能需要專家的參與。
隨著深度學習技術的興起,目前主流的AES系統(tǒng)大多是基于深度神經網絡,或者神經網絡與特征工程相結合的方式來實現(xiàn)。文獻[3]最早嘗試使用神經網絡來構建AES 系統(tǒng),通過卷積神經網絡(convolutional neural network, CNN)和循環(huán)神經網絡(recurrent neural network, RNN)來學習作文的向量表征,再使用全連接層來預測作文分數(shù)。文獻[4]對作文的層次結構進行建模,分別使用一個單詞級的CNN+池化層來學習句子表示,以及一個句子級的CNN+池化層用于根據(jù)句子表示來學習全文的表示。文獻[5]在文獻[4]的基礎上引入了注意力機制,來區(qū)分不同詞和不同句子的重要性,并且通過實驗證明CNN 更適合對句子建模,RNN 更適合對全文建模。文獻[6]從詞向量入手,首先在C&W詞向量模型[7]的基礎上增加作文評分任務來學習任務增強的詞向量,然后將訓練好的詞向量輸入兩層雙向LSTM 網絡[8]學習預測作文分數(shù)。文獻[9]使用神經張量網絡對LSTM 不同時間步的隱狀態(tài)向量之間的關系進行建模,以提升對作文連貫性的表達能力。以上工作都是將作文評分任務視為一個回歸任務,損失函數(shù)為模型預測分數(shù)和人工標注分數(shù)之間的均方誤差(mean-square error, MSE)。文獻[10]將自動作文評分看作一項分類任務,使用強化學習來解決,將模型與人工專家評分之間的kappa 一致性系數(shù)作為agent 的獎勵值。最新的工作開始在作文評分任務中應用大規(guī)模預訓練語言模型(如BERT[11])。文獻[12]將特征工程與BERT 相結合用于作文評分,使用長度特征、句法特征、詞語特征和可讀性特征4 類特征,將特征向量與神經網絡模型輸出的作文向量拼接后輸入全連接層預測分數(shù)。文獻[13]提出了一個基于BERT 的AES 方法,將作文評分同時視為回歸任務和排序任務,使用一個隨訓練過程動態(tài)調整的權重來平衡回歸損失和排序損失。大規(guī)模預訓練語言模型的應用已經將評分準確性提升到更高的水平。
基于神經網絡的模型擺脫了對手工設計特征的依賴。然而,深層神經網絡需要大量數(shù)據(jù)來訓練才能發(fā)揮其強大的學習能力。但是,自動作文評分任務面臨較嚴重的數(shù)據(jù)不足的問題,因為現(xiàn)有的AES數(shù)據(jù)集由多個主題(即題目)組成,每個主題下只有較少量的樣本。目前的AES 方法大多是單獨考慮一個主題的,即分別用每個主題的訓練數(shù)據(jù)訓練一個模型,該模型只用于對該主題的作文進行評分。這些方法只使用目標主題的少量訓練樣本,而不利用剩余其他主題的樣本。本文通過實驗證明,引入外部主題的樣本來增加訓練數(shù)據(jù)量能進一步提升模型的表現(xiàn)??紤]到不同主題之間存在差異,直接加入其他主題的訓練樣本,訓練模型會引入訓練噪聲,為此本文提出了一種基于梯度相似性的自動加權方法。該方法的訓練包含預訓練和微調兩個階段。在預訓練階段,同時使用多個主題的作文數(shù)據(jù)來訓練模型。對于其他主題的訓練樣本,計算該樣本的梯度向量與目標主題的梯度向量之間的相似度作為該樣本的損失權重。在微調階段,使用目標主題的訓練數(shù)據(jù)來微調模型。最后,將訓練好的模型用于對目標主題的測試樣本進行評分。相比于傳統(tǒng)的單主題AES 方法,本文方法引入了其他主題的訓練樣本,有效緩解了數(shù)據(jù)不足的問題,并且基于梯度相似性進行加權,降低了直接使用其他領域的樣本帶來的訓練噪聲。此外,本文還將神經網絡與特征工程相結合,手工設計了3 類特征,進一步提升了模型的評分表現(xiàn)。在公開數(shù)據(jù)集上進行的對比實驗表明,與傳統(tǒng)的基于單主題樣本的方法相比,本文提出的多主題聯(lián)合預訓練方法能有效提升AES 模型的評分準確性,結合特征工程后能實現(xiàn)進一步的提升。
本文模型基于預訓練BERT 實現(xiàn),模型結構如圖1 所示。BERT 是由谷歌提出的大規(guī)模預訓練語言模型,基于Transformer 網絡實現(xiàn)[14],由多個Transformer 編碼器層堆疊組成。每個Transformer層包含一個多頭自注意力模塊和前饋神經網絡,并且使用殘差連接[15]將輸入和輸出結合。Transformer的這種結構能有效抽取文本的特征表示,因此在自然語言處理領域得到廣泛應用。原始的BERT 分為BERT-base 和BERT-large 兩個版本,base 版本包含12 個Transformer 編碼器層,每層的注意力頭數(shù)為12 個,總的參數(shù)量約1.1 億。本文采用BERT-base來構建作文評分模型。
圖1 作文評分模型結構
給定一篇作文s,首先通過BERT 的分詞器將其轉化為子詞(sub-token)序列,并在序列開頭和結尾分別插入“[CLS]”和“[SEP]”兩個特殊詞:
然后通過詞向量層轉換為詞向量序列:
再將x輸入到Transformer 編碼器層。每個編碼器層由一個多頭自注意力模塊和一個前饋神經網絡組成,如圖2 所示。
圖2 Transformer 編碼器結構
多頭自注意力模塊將輸入的向量序列組成的矩陣X∈RL×d(L是 序列長度,d是向量維度)映射到多個不同的語義空間進行自注意力操作,抽取不同方面的語義特征。對于每個自注意力頭,首先將X分別經過3 個不同的線性變換得到Q、K、V這3 個矩陣,然后計算自注意力頭的輸出:
式中,h=12是 注意力頭的數(shù)量;QKT∈RL×L計算每個詞對序列中所有詞的注意力分數(shù);使用softmax(·)函數(shù)將注意力分數(shù)歸一化為權重,再將注意力權重乘上V得到自注意力模塊的輸出。
然后,將12 個自注意力頭的輸出拼接后再經過一層線性變換得到多頭自注意力層的最終輸出:
式中,Wl和bl是參數(shù)矩陣和偏置向量。
然后通過殘差連接將Z與X相加,再進行層歸一化操作。將結果輸入到后面的全連接前饋神經網絡F FN中。FFN 具有相同的殘差連接和層歸一化機制,F(xiàn)FN 的最終輸出將傳遞給下一個編碼器模塊。
經過M=12個編碼器模塊后,BERT 輸出一個隱狀態(tài)向量序列:
最后,r=h[CLS]被 用作作文的表示向量。將r與通過特征工程抽取的人工特征向量f(將在下一節(jié)介紹)拼接后輸入預測層(兩層的全連接網絡),然后輸出最終的預測分數(shù):
式中, σ是sigmoid 激活函數(shù);y? ∈(0,1)。在模型的推理階段,將y?縮放到作文的分數(shù)區(qū)間即得到預測的作文分數(shù)。
式中,m是一批樣本的樣本數(shù)。
為了進一步增強作文評分的準確性和可解釋性,本文將神經網絡與手工設計的特征相結合,設計了3 類特征,如表1 所示。其中,F(xiàn)lesch-Kincaid(FK)可讀性分數(shù)是衡量文章是否易于理解的指標,包括FK 可讀性分數(shù)(Flesch-Kincaid reading ease formula)和FK 可讀性年級水平(Flesch-Kincaid grade level formula)兩個指標。FK 可讀性分數(shù)(s)和FK 年級水平(g)的計算公式分別為:
表1 手工設計的特征
式中,a和b分別指該文章中句子的平均詞數(shù)以及單詞的平均音節(jié)數(shù);FK 可讀性分數(shù)在0~100 之間,分數(shù)越高表示文章越容易理解。一般來說,分數(shù)在60 分以上即可視為可讀性較好。FK 年級水平反映的是要能理解這篇文章至少需要達到的美國學校年級。FK 年級水平越高,說明文章更難理解。
將抽取的特征值按照最小?最大歸一化方法縮放為介于[0,1]的值,然后將所有特征拼接為一個特征向量f,與神經網絡抽取的表示向量r拼接后輸入到預測層預測分數(shù)。
公開的作文評分數(shù)據(jù)集由多個主題構成,每個主題下平均只有大約一千篇作文,這樣的數(shù)據(jù)量用來訓練深層神經網絡模型容易造成過擬合,限制了模型的泛化能力。為此,本文提出一種基于梯度相似性來自動加權的多主題聯(lián)合預訓練的方法。模型的訓練分為兩個階段:預訓練和微調階段。在預訓練階段,使用所有主題的全部訓練樣本來訓練模型;在微調階段,只使用目標主題的樣本來對模型進行精調訓練。
假設作文評分數(shù)據(jù)集D一共有n個主題,現(xiàn)在需要訓練一個模型用于對其中一個主題的作文進行評分,稱該主題為目標主題。將目標主題的訓練集記為Dt, 其他主題組成的混合訓練集記為Do。
考慮到不同主題之間存在差異,直接使用其他主題的訓練樣本未必能獲得較大收益。本文提出根據(jù)梯度相似性來對其他主題的樣本進行加權。首先根據(jù)式(8)計算目標主題的樣本的平均損失Lt,然后計算Lt對 模型參數(shù) θ 的梯度向量gt=?θLt,將其稱為標準梯度。然后對一個來自其他主題的訓練樣本bi計 算其損失Li, 并求梯度向量gi=?θLi。由于梯度向量反映了模型優(yōu)化的方向,本文假設,如果一個樣本產生的梯度方向與標準梯度方向越接近,則該樣本與目標主題越“接近”,或者說產生的優(yōu)化效果與目標主題的樣本產生的效果越相似。于是,計算gi和gt之間的余弦相似度:
如果 sim(gt,gi)>0,則認為該樣本對模型優(yōu)化有一定的正面效果,將s im(gt,gi)作為該樣本的損失權重。于是,第i個其他主題的樣本的權重為:完整的訓練過程如下:
1) 從Dt、Do中 分別采樣一批樣本記為Bt、Bo;
2) 根據(jù)式(8)計算Bt的平均損失L(Bt),并求得其梯度向量gt;
3) 對Bo中 的每個樣本bi, 計算對應損失L(bi),并求梯度向量gi, 根據(jù)式(12)求得權重wi;
4) 按下式計算總的損失,并更新模型參數(shù)
5) 重復前4 步直至訓練收斂。
預訓練完成后,再用目標主題的樣本對模型微調訓練,然后在目標主題測試集上評估模型表現(xiàn)。
本文在ASAP 作文評分數(shù)據(jù)集(https://www.kaggle.com/c/asap-aes/data)上進行實驗。ASAP 數(shù)據(jù)集是目前公開的最大、最常用的作文評分數(shù)據(jù)集,被廣泛用于評測AES 模型的評分準確性。ASAP 數(shù)據(jù)集由8 個主題的子集構成,包含3 種作文體裁:記敘文、議論文和回復類作文。數(shù)據(jù)集的統(tǒng)計結果如表2 所示。
表2 ASAP 數(shù)據(jù)集的統(tǒng)計結果
本文比較了以下主流的基線方法:1) EASE;2) LSTM、 BiLSTM; 3) CNN-LSTM[3]; 4) NNLSTM-Att[5];5) RL1[10];6) SKIPFLOW[9];7) HISK+BOSWE[17];8) R2BERT[13];9) BERT。
其中,1)和7)是傳統(tǒng)統(tǒng)計學習方法,其余是神經網絡模型。EASE 是一個開源的作文評分系統(tǒng)(https://github.com/edx/ease),使用手工設計的特征(如長度特征、詞袋特征等)來訓練機器學習算法,如SVM,進行評分預測。HISK+BOSWE 分別使用直方圖相交字符串核(histogram intersection string kernel, HISK)和BOSWE 詞向量來構造核矩陣,并將兩個核矩陣結合后訓練一個ν-SVR 模型;LSTM、BiLSTM 表示分別訓練一個兩層的LSTM和雙向的LSTM,并且將所有隱向量進行平均池化作為作文表示;CNN-LSTM 使用CNN 來抽取句內的詞組特征,用LSTM 建模句子間的語義關聯(lián)特征;CNN-LSTM-Att 在CNN-LSTM 的基礎上引入了注意力機制;SKIPFLOW 在學習作文表示的同時顯式地加入了對連貫性的建模;RL1 是基于強化學習的AES 模型,使用Dilated LSTM[18]網絡來抽取作文的表示并執(zhí)行決策,使用策略梯度直接優(yōu)化QWK 指標;BERT 是本文方法的基礎版本,與本文模型的區(qū)別在于:沒有使用特征工程,沒有使用其他主題的作文數(shù)據(jù);R2BERT 是文獻[13]提出的基于BERT 的AES 模型,同時優(yōu)化回歸損失(MSE 損失)和排序損失(list-wise 排序損失),是目前最強的AES 神經網絡模型。
與其他相關工作一樣,本文使用Quadratic Weighted Kappa (QWK)系數(shù)作為模型評分準確性的衡量指標。QWK 系數(shù)用于衡量兩組評分(機器評分和人工評分)之間的一致性,取值通常介于0~1 之間,分數(shù)越高表示一致性越高。如果小于0,說明一致性甚至不如隨機評分。QWK 的計算可以參考文獻[10,13]。
本文的模型使用Python 語言和Pytorch 框架實現(xiàn),預訓練BERT 采用HuggingFace 發(fā)布的“bertbase-uncased”模型。在預訓練階段,初始學習率設為4×10?5,使用Adam 優(yōu)化器,訓練50 輪,取驗證集上結果最好的模型用于微調。在微調階段,初始學習率設為3×10?6,仍使用Adam 優(yōu)化器,訓練30 輪。對于超出BERT 長度限制的作文,將超出長度限制的部分裁減掉。由于每個主題的樣本數(shù)較少,因此本文采用5-折交叉驗證方法,每折按照3:1:1 的比例劃分訓練集、驗證集、測試集。將5 個測試集的結果求平均作為最終結果。
表3 列出了不同模型在ASAP 數(shù)據(jù)集的8 個主題上的QWK 分數(shù),粗體字表示最優(yōu)結果。
表3 不同方法在ASAP 數(shù)據(jù)集的8 個主題上的結果
從結果來看,BiLSTM 優(yōu)于LSTM,這是符合直覺的,因為BiLSTM 能夠捕捉更全面的上下文信息。EASE 的表現(xiàn)優(yōu)于LSTM 和BiLSTM 這兩個神經網絡模型,說明簡單的神經網絡結構未必比使用精心設計的手工特征來訓練傳統(tǒng)機器學習算法的效果更好。CNN-LSTM 的表現(xiàn)相比單純使用LSTM的方法有較大提升,這主要是由于LSTM、BiLSTM這兩個基線模型直接將整篇作文作為一個長序列,而忽視了句子級的結構信息,且LSTM 不適合捕捉長距離依賴信息,在長文本的表現(xiàn)較差。而CNN-LSTM 是先用CNN 來學習句子的向量表示,再用LSTM 來學習全文的表示,這種建模方式考慮了文章的層次結構,保留了句子級的結構信息,且CNN 天然適合學習相鄰詞之間的關聯(lián)特征,更適合對句子語義建模[5]。CNN-LSTM-Att 在CNNLSTM 的基礎上引入了注意力機制,使評分準確性獲得進一步提升。注意力機制能區(qū)分不同詞和不同句子的重要性,能夠關注到更重要的局部特征,是目前的神經網絡模型的基礎結構。RL1 使用強化學習的方法來直接優(yōu)化QWK 指標,但結果并不是特別優(yōu)異,這跟它也是使用簡單的LSTM 網絡來學習文章表示有關。SKIPFlOW 通過增加前后句子間連貫性進行建模,獲得了進一步的表現(xiàn)提升,這說明對于AES 任務來說,評估文章的連貫性也很重要。基于核方法的HISK+BOSWE 超越了所有神經網絡基線模型,尤其是在議論文體裁的主題1 和主題2 上仍保持目前最優(yōu)秀的性能,這也說明傳統(tǒng)的機器學習方法的潛力不應被低估。而BERT、R2BERT這兩個基于預訓練BERT 的模型并未取得最好的基線模型結果,這可能是由于數(shù)據(jù)量太小,容易導致過擬合,限制了大模型的學習能力。本文方法在6 個主題上都取得了最優(yōu)結果,說明了本文提出的特征工程和多主題聯(lián)合預訓練的方法的有效性。All-prompt 是本文方法的基線版本,與本文方法的區(qū)別在于,沒有使用基于梯度相似性的加權方法,而是直接將其他主題的數(shù)據(jù)加到訓練集中。由結果可知,使用本文的損失加權方案可以在引入外部主題數(shù)據(jù)的同時,降低跟目標主題差異較大的樣本的權重,進一步提升模型表現(xiàn)。
為了驗證本文設計的3 類特征的效果,本文通過實驗比較了不使用人工特征(none)、只使用統(tǒng)計特征(st)、使用統(tǒng)計特征+語法特征(st+gm)和使用所有特征的結果(all)。結果如表4 所示,粗體字表示最優(yōu)結果。
表4 比較使用不同特征的結果
從結果可知,統(tǒng)計類特征和語法類特征均對提升評分準確性有幫助,尤其是在議論文體裁的主題1 和主題2 上提升更加顯著。這說明在當今深度神經網絡成為主流機器學習方法的時期,考慮融合傳統(tǒng)人工設計的特征對提升模型表現(xiàn)仍可能是有幫助的。加入可讀性特征盡管未獲得明顯提升,但也不能說明不需要考慮作文的可讀性,這也可能是使用的可讀性特征不能很好反映文章是否易于理解,未來可以嘗試設計更有效的可讀性特征。
針對自動作文評分領域當前面臨的訓練數(shù)據(jù)不足的問題,本文提出了一種多主題聯(lián)合預訓練方法,通過引入外部主題的作文數(shù)據(jù),增加了訓練樣本的數(shù)量。為了降低直接引入差異較大的外部主題的樣本帶來的訓練噪聲,本文提出了一種基于梯度相似性的損失重加權方案。此外,為了進一步提升深度學習模型的性能,本文還將深度學習與傳統(tǒng)特征工程相結合,并設計了3 類作文特征。在公開數(shù)據(jù)集上的實驗結果表明,本文方法顯著優(yōu)于傳統(tǒng)的單主題內訓練方法。
進一步的工作可以考慮以下3 個方向:1) 多維度質量評分。現(xiàn)有的AES 方法絕大多數(shù)都是對作文質量進行整體評分,而很少關注作文質量的不同維度。文獻[19]列舉了作文質量的不同方面,包括語法、遣詞、標點、組織結構、連貫性、說服力等11 個方面。研究從不同維度對作文質量進行評分能夠給用戶提供更詳細的信息,使用戶知曉作文的不足之處。2) 評分反饋?,F(xiàn)有的AES 方法都只能對作文評分,而無法提供類似教師評語的反饋,如果能生成對應的反饋意見將有助于幫助學生提高寫作水平。3) 少樣本學習。由于AES 領域缺少大規(guī)模數(shù)據(jù)集,因此可以研究少樣本學習的方法,減輕對監(jiān)督數(shù)據(jù)的依賴。