錢升華
1(北京師范大學(xué) 人工智能學(xué)院,北京 100875)
2(天津財(cái)經(jīng)大學(xué)珠江學(xué)院 數(shù)據(jù)工程學(xué)院,天津 301811)
主觀題自動(dòng)評(píng)分處于發(fā)展階段,是自然語言理解、模式識(shí)別、人工智能和教育技術(shù)等相融合的研究問題.主觀題短答案自動(dòng)評(píng)分(automatic short answer grading,ASAG)[1]是智能教育系統(tǒng)的重要組成部分,教學(xué)評(píng)價(jià)中的關(guān)鍵環(huán)節(jié).主觀題開放程度更高,更好考查學(xué)生對(duì)知識(shí)掌握情況與學(xué)生學(xué)習(xí)能力.但是一般老師教的學(xué)生比較多,頻繁考試以隨時(shí)掌握學(xué)生學(xué)習(xí)情況,假如采用人工閱卷方式,老師工作量大大增加.自動(dòng)評(píng)分不僅可以幫助老師提高工作效率,還可以避免閱卷過程中主觀因素的影響.
主觀題的短答案自動(dòng)評(píng)分方法總結(jié)有3 類:一是規(guī)則匹配的方法,根據(jù)參考答案建立評(píng)分規(guī)則[2],按照規(guī)則進(jìn)行自動(dòng)評(píng)分.二是傳統(tǒng)機(jī)器學(xué)習(xí)的方法,一般通過人工構(gòu)建特征和監(jiān)督機(jī)器學(xué)習(xí)算法完成自動(dòng)評(píng)分.Saha 等人[3]提出了基于字符特征和句子級(jí)特征相結(jié)合的自動(dòng)評(píng)分模型.Sultan 等人[4]提出根據(jù)文本相似度、詞項(xiàng)權(quán)重等特征構(gòu)建了高精度的評(píng)分分類器.三是深度神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)方法,從數(shù)據(jù)中自動(dòng)學(xué)習(xí)特征,以端到端的方式實(shí)現(xiàn)自動(dòng)評(píng)分.Riordan 等人[5]使用卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)與長短期記憶網(wǎng)絡(luò)(long short-term memory,LSTM)的神經(jīng)網(wǎng)絡(luò)完成自動(dòng)評(píng)分.Huang 等人[6]提出了使用連續(xù)詞袋模型(continuous bag-of-words model,CBOW)與LSTM神經(jīng)網(wǎng)絡(luò)方法,在中文自動(dòng)評(píng)分任務(wù)得到了很好的結(jié)果.
上述文獻(xiàn)為下步研究奠定了良好的基礎(chǔ),提供了必要且充分的理論與實(shí)踐支撐.不過,目前的主觀題的短答案自動(dòng)評(píng)分系統(tǒng)都是基于一種語言實(shí)現(xiàn)的(比如英文、中文等),但是在實(shí)際的評(píng)分系統(tǒng)中,可能讓學(xué)生答題的語言不止有一種,可能是多種語言答題,所以對(duì)自動(dòng)評(píng)分系統(tǒng)提出了更高的要求.隨著深度學(xué)習(xí)技術(shù)的發(fā)展,自然語言處理(natural language processing,NLP)也取得了巨大的突破,特別是預(yù)訓(xùn)練技術(shù)的出現(xiàn)讓多種語言使用同一個(gè)模型進(jìn)行訓(xùn)練成為可能.2018年基于引入了注意力的Transformer 架構(gòu)的(bidirectional encoder representations from Transformers,BERT)[7]預(yù)訓(xùn)練出現(xiàn),刷新眾多NLP 任務(wù),使得預(yù)訓(xùn)練技術(shù)的發(fā)展迎來了一個(gè)高潮.孿生網(wǎng)絡(luò)(siamese network)[8]是進(jìn)行相似度量的神經(jīng)網(wǎng)絡(luò),最初應(yīng)用于圖像處理中.由于結(jié)構(gòu)具有鮮明的對(duì)稱性,就像兩個(gè)孿生兄弟,這種神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)被研究人員稱作孿生網(wǎng)絡(luò).在NLP 中孿生網(wǎng)絡(luò)基本是用來計(jì)算句子間的語義相似度的.Kenter 等人[9]提出了Siamese CBOW,基于孿生網(wǎng)絡(luò)和CBOW的方式來無監(jiān)督式的訓(xùn)練句子的向量表示.Mueller 等人[10]提出了一種MaLSTM的網(wǎng)絡(luò)結(jié)構(gòu),通過兩個(gè)LSTM 孿生網(wǎng)絡(luò)來處理句子對(duì),取LSTM 最后時(shí)刻的輸出作為句子的向量,用曼哈頓距離來計(jì)算兩個(gè)句子向量的相似度.Neculoiu 等人[11]提出用LSTM來處理句子對(duì),將句子對(duì)的關(guān)系看作是一個(gè)二分類的問題.后來出現(xiàn)預(yù)訓(xùn)練模型BERT 后,Reimers 等人[12]提出Sentence-BERT 模型,把BERT 預(yù)訓(xùn)練模型應(yīng)用到孿生網(wǎng)絡(luò)結(jié)構(gòu)中.
由于現(xiàn)在許多主觀題的發(fā)散性很強(qiáng),根據(jù)問題提供所有的標(biāo)準(zhǔn)答案比較困難,不能單純通過學(xué)生答案與標(biāo)準(zhǔn)答案進(jìn)行自動(dòng)評(píng)分[13],而是提出了問題與學(xué)生答案相匹配的自動(dòng)評(píng)分.基于孿生網(wǎng)絡(luò)和BERT 模型的主觀題自動(dòng)評(píng)分系統(tǒng),可以把多種語言(主要是中文和英文)的問題文本和學(xué)生的答案文本轉(zhuǎn)化自然語言處理的文本匹配問題,使用預(yù)訓(xùn)練語言模型BERT,它已經(jīng)在大型語料庫學(xué)習(xí)了通用語義表示,學(xué)習(xí)到的先驗(yàn)知識(shí),直接應(yīng)用到具體任務(wù)中,提高目標(biāo)任務(wù)的效果.利用BERT 模型的優(yōu)勢,使用孿生網(wǎng)絡(luò)結(jié)構(gòu),完成問題文本和學(xué)生的答案文本的相似度計(jì)算,設(shè)計(jì)主觀題自動(dòng)評(píng)分系統(tǒng).
自動(dòng)評(píng)分模型結(jié)構(gòu)如圖1所示,整個(gè)模型沿用了孿生網(wǎng)絡(luò)的結(jié)構(gòu),主要由2 層神經(jīng)網(wǎng)絡(luò)構(gòu)成,分別為編碼層和輸出層.編碼層通過同一個(gè)預(yù)訓(xùn)練模型BERT來處理,直接用BERT的原始權(quán)重初始化,在具體數(shù)據(jù)集上微調(diào),這種訓(xùn)練方式能更好地捕捉句子之間的關(guān)系,生成更優(yōu)質(zhì)的句向量.在預(yù)訓(xùn)練BERT 模型中,生成動(dòng)態(tài)的兩個(gè)文本對(duì)的向量,然后接一層池化層,得到包含整個(gè)文本含義的向量.在輸出層,對(duì)得到的句向量,使用計(jì)算文本對(duì)相似度進(jìn)行相似度計(jì)算,最后接邏輯回歸分類器,得到學(xué)生的分?jǐn)?shù).
圖1 自動(dòng)評(píng)分模型結(jié)構(gòu)圖
該模型的整體運(yùn)作流程是:首先輸入問題文本和答案文本數(shù)據(jù)對(duì),文本編碼部分用同一個(gè)預(yù)訓(xùn)練模型BERT,通過BERT 得到動(dòng)態(tài)的字/詞向量,對(duì)向量進(jìn)一步特征提取、壓縮;然后進(jìn)行池化,獲得文本句子的整個(gè)語義的embedding 向量V1、V2;計(jì)算這兩個(gè)文本句向量的相似度,最后連接到一個(gè)分類器得到學(xué)生的分?jǐn)?shù).
自然語言預(yù)訓(xùn)練模型,是先在足夠大的數(shù)據(jù)集上采用無監(jiān)督方法對(duì)復(fù)雜神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練而產(chǎn)生的模型,訓(xùn)練好的模型可以直接運(yùn)用到目標(biāo)任務(wù)中,這樣避免每次針對(duì)不同任務(wù)從頭開始訓(xùn)練,并且減少了對(duì)標(biāo)注數(shù)據(jù)的依賴.預(yù)訓(xùn)練的語言模型解決了針對(duì)小數(shù)據(jù)集,提供好的模型初始化,訓(xùn)練速度大大提升,也避免對(duì)小數(shù)據(jù)的過度擬合.
BERT 模型也是經(jīng)過大規(guī)模無標(biāo)注語料訓(xùn)練后的模型,得到文本的表示向量包含了豐富的語義表示,直接把這些文本表示和模型參數(shù)運(yùn)用到下游目標(biāo)任務(wù)中.本文利用訓(xùn)練好的模型作為文本向量嵌入到其他任務(wù)模型中.BERT 模型的結(jié)構(gòu)圖如圖2,E1,E2,…,EN是文本輸入向量,中間層是多個(gè)Transformer 模塊(Trm),T1,T2,…,TN是輸出向量,代表文本的向量化表示.
圖2 BERT 結(jié)構(gòu)圖
BERT 模型的輸出如圖3所示,有兩種形式輸出:一是每個(gè)token 對(duì)應(yīng)的向量表示,token 可以是字母、字、詞等;二是每個(gè)句子對(duì)應(yīng)的向量表示,模型最左邊的輸出符號(hào)[CLS],表示輸出向量,這個(gè)向量表示整個(gè)句子.
圖3 BERT 模型輸出
參考圖1整個(gè)模型圖,BERT 輸出后接一層池化層,在這里池化層使用了3 種策略:一種[CLS] token,用這個(gè)向量表示整個(gè)文本;另外兩種是池化策略,一種對(duì)文本中的所有的字/詞向量進(jìn)行平均,叫做平均池化(mean-pooling),來表示整個(gè)文本;另外一種對(duì)所有的字/詞向量取最大值平均,叫做最大值池化(max-pooling),來表示整個(gè)文本.在BERT-sentence[12]對(duì)相應(yīng)文本匹配的實(shí)驗(yàn)和本研究對(duì)數(shù)據(jù)集進(jìn)行自動(dòng)評(píng)分實(shí)驗(yàn),使用mean-pooling 效果最好.
文本相似度計(jì)算是對(duì)輸入的問題文本和答案文本的文本對(duì)的句向量進(jìn)行計(jì)算,輸出文本對(duì)的相似程度,通常用[0,1]區(qū)間內(nèi)的小數(shù)來表示.主要用于文本相似度的計(jì)算方法有余弦相似度、歐幾里得距離(Euclidean distance)相似度.
余弦相似度(cosine similarity),通過計(jì)算兩個(gè)向量的夾角余弦值來評(píng)估他們的相似度.此余弦值就可以用來表征這兩個(gè)向量的方向性,夾角越小,余弦值越接近于1,它們的方向越吻合,則越相似.在文本相似度計(jì)算中,可以用文本對(duì)的句向量的夾角余弦值來表示它們的差異.這個(gè)余弦值通常被稱為余弦距離.假設(shè)空間中有兩個(gè)向量,它們的余弦相似度計(jì)算公式如式(1).
歐幾里得距離相似度,通過兩個(gè)向量的歐幾里德距離表示相似度,一般采用式(2)進(jìn)行轉(zhuǎn)換規(guī)約到(0,1]之間,距離越小,相似度越大.假設(shè)空間中有兩個(gè)向量,它們的歐幾里得距離相似度計(jì)算公式如式(2).
損失函數(shù)采用均方誤差,均方誤差(MSE)是實(shí)際值和預(yù)測值之間距離平方之和,如式(3),用來作為損失函數(shù).
其中,n為樣本數(shù),yi為目標(biāo)值,yip為預(yù)測值.
2.1.1 評(píng)價(jià)指標(biāo)
實(shí)驗(yàn)結(jié)果的評(píng)價(jià)指標(biāo)使用平方加權(quán)Kappa (quadratic weighted Kappa,QWK)進(jìn)行評(píng)估,Kappa 用于評(píng)價(jià)不同測量者對(duì)同一事物的判斷是否準(zhǔn)確.平方加權(quán)是將線性加權(quán)的權(quán)值平方,放大級(jí)別距離大的判定不一致程度,權(quán)值計(jì)算如式(4).
其中,i和j分別是參考評(píng)分和預(yù)測評(píng)分,N為可能評(píng)分的數(shù)量.
QWK計(jì)算公式如式(5).
其中,矩陣Oi,j表示參考評(píng)分為i分和預(yù)測評(píng)分為j分的答案文本數(shù)量;期望矩陣Ei,j表示隨機(jī)生成的參考評(píng)分和預(yù)測評(píng)分兩個(gè)向量的直方圖外積.QWK是評(píng)估不同評(píng)分之間一致性的重要標(biāo)準(zhǔn),QWK的計(jì)算是基于混淆矩陣,取值為-1 到1 之間,通常大于0.當(dāng)QWK=1時(shí),代表不同評(píng)分之間的完全一致性;當(dāng)QWK=0 時(shí),表示不同評(píng)分之間的一致性完全隨機(jī).
2.1.2 數(shù)據(jù)集
本文使用的英文數(shù)據(jù)集是Hewlett 基金會(huì)支持的學(xué)生文本答案自動(dòng)評(píng)分大賽(automated student assessment prize,ASAP)提供,該數(shù)據(jù)集涵蓋不同主題,包括4 個(gè)學(xué)科,由10 個(gè)子集組成,每個(gè)子集約2 000 個(gè)學(xué)生答案,每個(gè)學(xué)生成績由2 個(gè)評(píng)分員給出,所以有判斷評(píng)分一致性的QWK,具體情況如表1.
表1 ASAP 數(shù)據(jù)集概況
中文數(shù)據(jù)集由于沒有找到免費(fèi)公開的評(píng)分的中文數(shù)據(jù)集,使用了ASAP 翻譯的中文數(shù)據(jù)集.ASAP 數(shù)據(jù)集中子集1、子集2和子集10是科學(xué)學(xué)科的任務(wù),它們沒有很深的文化背景,因此被認(rèn)為適合轉(zhuǎn)移到其他語言.ASAP-ZH 中文數(shù)據(jù)集是由數(shù)據(jù)集提供商BasicFinder幫助一個(gè)研究項(xiàng)目[14]收集的中文數(shù)據(jù)集.根據(jù)ASAP數(shù)據(jù)集中的子集1、子集2和子集10的問題,針對(duì)每個(gè)子集收集了314 個(gè)答案,總共收集了942 個(gè)答案.它們是從9-12年級(jí)的高中學(xué)生那里收集的,與ASAP 數(shù)據(jù)集中的英語答案集相當(dāng).答案以手寫形式收集后,把手動(dòng)轉(zhuǎn)錄為數(shù)字文本形式.再根據(jù)原始ASAP的一系列答案,達(dá)成可接受的協(xié)議后,兩位中文的評(píng)分老師以0 到3 分(子集1和子集2)或0 到2 分(子集10)的分?jǐn)?shù)對(duì)ASAP-ZH 數(shù)據(jù)評(píng)分,平均QWK為0.7.表2是該數(shù)據(jù)集的關(guān)鍵統(tǒng)計(jì)信息,學(xué)科是科學(xué)學(xué)科.
ASAP-ZHMP中文數(shù)據(jù)集,和ASAP-ZH 中文數(shù)據(jù)集來自于同一個(gè)項(xiàng)目[14],為了進(jìn)行比較,由Google Translate API 將原始ASAP 數(shù)據(jù)集中的子集1、子集2和子集10的英文答案翻譯為中文.由兩位中文的評(píng)分老師修正了部分錯(cuò)誤,重新給出了原始ASAP 數(shù)據(jù)集相同評(píng)分指標(biāo)的評(píng)分,表3是該數(shù)據(jù)集的關(guān)鍵統(tǒng)計(jì)信息,學(xué)科也是科學(xué)學(xué)科.對(duì)照表2和表3所示,表3翻譯后答案的平均長度大于表2重新收集的在同一子集的原始中文答案的長度.
表2 ASAP-ZH 數(shù)據(jù)集概況
表3 ASAP-ZHMT 數(shù)據(jù)集概況
HR1-HR2 代表由 2 個(gè)人工評(píng)分員進(jìn)行評(píng)分,本研究還給出了5 種自動(dòng)評(píng)分模型作為基準(zhǔn)模型,對(duì)比研究基于孿生網(wǎng)絡(luò)和BERT 模型的自動(dòng)評(píng)分系統(tǒng)(Siamese-BERT) 性能.其中,Siamese-CNN[8]和Siamese-LSTM[11]兩個(gè)模型使用GloVe 方法[15]生成文本的詞向量(英文直接使用單詞作為輸入,中文先使用jieba分詞工具進(jìn)行分詞,然后使用詞作為輸入),然后使用孿生網(wǎng)絡(luò)結(jié)構(gòu),對(duì)兩個(gè)文本進(jìn)行匹配,這兩個(gè)模型分別在孿生網(wǎng)絡(luò)的編碼層使用CNN 結(jié)構(gòu)和LSTM 結(jié)構(gòu).BERT、BERT-CNN、BERT-LSTM 三個(gè)模型直接使用文本對(duì)作為輸入,然后通過預(yù)訓(xùn)練BERT 模型后連接線性分類器、CNN 網(wǎng)絡(luò)、LSTM 網(wǎng)絡(luò)按評(píng)分進(jìn)行分類.
Siamese-BERT 模型使用Adam 隨機(jī)優(yōu)化器及均方根誤差損失函數(shù).其中BERT 模型使用Google 提供的BERT-base 預(yù)訓(xùn)練模型,英文、中文都是使用的是BERT-base-multilingual.這個(gè)模型包括12 層網(wǎng)絡(luò),網(wǎng)絡(luò)內(nèi)部維度有768 維,multi-head self-attention(heads=12),共有110 M 個(gè)參數(shù).Siamese-BERT 模型的超參數(shù)設(shè)置見表4.
表4 超參數(shù)設(shè)置
表5是英文數(shù)據(jù)集ASAP的實(shí)驗(yàn)結(jié)果,在所有模型上都使用對(duì)實(shí)驗(yàn)結(jié)果行進(jìn)評(píng)估,表中加粗字體表示最好的實(shí)驗(yàn)結(jié)果.本文研究的Siamese-BERT 模型,對(duì)比其他深度神經(jīng)網(wǎng)絡(luò)模型,在各個(gè)數(shù)據(jù)子集上結(jié)果都是最好.Siamese-CNN、Siamese-LSTM 這2 個(gè)模型適合進(jìn)行文本相似度計(jì)算,但是由于數(shù)據(jù)集規(guī)模很小,在對(duì)小數(shù)據(jù)集結(jié)果都不是很理想.BERT、BERT-CNN、BERT-LSTM 這3 個(gè)模型使用了預(yù)訓(xùn)練模型的優(yōu)勢,把問題和答案直接根據(jù)分值作為文本分類問題,整體效果也不是很理想;BERT-CNN、BERT-LSTM 在經(jīng)過BERT與訓(xùn)練后的向量接復(fù)雜網(wǎng)絡(luò)模型,有時(shí)結(jié)果還不如BERT 模型,可能在小數(shù)據(jù)集上有過擬合的情況.Siamese-BERT和人工評(píng)分比較,在數(shù)據(jù)集的子集3 結(jié)果很差,以及在子集5、子集10 結(jié)果略差外,其余結(jié)果和平均值都超過了人工評(píng)分HR1-HR2.
表5 基于ASAP 數(shù)據(jù)集的不同模型的實(shí)驗(yàn)結(jié)果
表6是中文數(shù)據(jù)集ASAP-ZH和ASAP-ZHMT的實(shí)驗(yàn)結(jié)果,在所有模型上都使用QWK對(duì)實(shí)驗(yàn)結(jié)果行進(jìn)評(píng)估,表中加粗字體表示最好的實(shí)驗(yàn)結(jié)果.實(shí)驗(yàn)結(jié)果與英文數(shù)據(jù)集的結(jié)果類似,Siamese-BERT 實(shí)驗(yàn)結(jié)果最好.但是在ASAP-ZHMT是數(shù)據(jù)集上Siamese-BERT的結(jié)果比人工評(píng)分HR1-HR2 結(jié)果有差距,可能這個(gè)數(shù)據(jù)集后續(xù)有經(jīng)過人工修正的原因.
表6 基于中文數(shù)據(jù)集ASAP-ZH、ASAP-ZHMT的不同模型的實(shí)驗(yàn)結(jié)果
基于孿生網(wǎng)絡(luò)和BERT 模型的主觀題自動(dòng)評(píng)分Siamese-BERT 模型通過使用孿生網(wǎng)絡(luò)和自然語言處理的預(yù)訓(xùn)練模型BERT,比單純地使用孿生網(wǎng)絡(luò)和BERT 模型性能提升很多.實(shí)驗(yàn)結(jié)果也表明 對(duì)比其他基準(zhǔn)模型,Siamese-BERT 模型在中、英文數(shù)據(jù)集上取得了最好的評(píng)分效果.接下來的研究將著重對(duì)于學(xué)生答案的自動(dòng)糾錯(cuò),完成整個(gè)智能教育系統(tǒng)的開發(fā).