姚淑佳 譚紅葉 李 茹 盧 宇 段慶龍
1(山西大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院 山西 太原 030006)
2(北京師范大學(xué)未來教育高精尖創(chuàng)新中心 北京 100875)
3(北京師范大學(xué)教育技術(shù)學(xué)院 北京 100875)
自動(dòng)批閱(Automatic Marking)是指根據(jù)參考答案、題目考察點(diǎn)等對(duì)學(xué)生答案進(jìn)行自動(dòng)評(píng)分和自動(dòng)反饋[1],其中自動(dòng)評(píng)分(Automatic Grading)[2]是指根據(jù)專家提供的參考答案預(yù)測(cè)學(xué)生答案的分?jǐn)?shù),目前已經(jīng)有了較為成熟的研究成果并投入使用。但是在應(yīng)用中發(fā)現(xiàn),同一個(gè)得分錯(cuò)誤類型可能不同。例如:同樣都是0分,可能是與題目完全無關(guān)的答案,也可能是看出了考察點(diǎn)但并沒有回答正確。對(duì)于這種情況,需要給出更為具體的信息來輔助學(xué)習(xí),因此需要提供反饋。
反饋本身是一件很耗費(fèi)時(shí)間的工作,教師在進(jìn)行反饋的時(shí)候需要先判斷學(xué)生的錯(cuò)誤屬于什么類型,再根據(jù)不同的類型給出不同的意見和建議。對(duì)于老師而言,通常需要對(duì)幾百甚至上千份學(xué)生答案進(jìn)行反饋,耗時(shí)耗力,而且存在學(xué)生答案錯(cuò)誤類別相似,但仍然需要重復(fù)給出相似反饋的情況。對(duì)于學(xué)生而言,由于老師反饋所需要的時(shí)間較長(zhǎng),因此學(xué)生并不能收到即時(shí)反饋[3]。自動(dòng)反饋[4](Automatic Feedback)為了有效減少老師的工作量,提供即時(shí)反饋,提高學(xué)生的學(xué)習(xí)效率。但是不同科目、不同題型的反饋重點(diǎn)不同,例如:英文一般關(guān)注時(shí)態(tài),短語搭配等;語文一般更注重語義一致,語句通順等問題。
本文主要研究數(shù)學(xué)簡(jiǎn)答題自動(dòng)反饋,數(shù)學(xué)簡(jiǎn)答題是指有閱讀材料描述,答案為數(shù)學(xué)概念的題目,圖1所示為一個(gè)題目和答案舉例。
圖1 數(shù)學(xué)簡(jiǎn)答題題目及答案舉例
本文構(gòu)建的數(shù)據(jù)集具有以下特點(diǎn):(1) 數(shù)據(jù)量較小。本文所使用的數(shù)據(jù)來源于真實(shí)考試中的學(xué)生答案,因此數(shù)據(jù)量有限,每道題大概有4 000條左右的數(shù)據(jù)并且有一定的重復(fù)率。(2) 答案的類型有限。通過對(duì)學(xué)生答案的分析將其分為完全正確、概念描述錯(cuò)誤、概念不適合這道題目和答案完全錯(cuò)誤四類。(3) 答案類型易混淆。例如“同旁內(nèi)角互余,兩直線平行”和“同旁內(nèi)角互補(bǔ),兩直線平行”只差一個(gè)字,但分別屬于上述最后兩類答案,傳統(tǒng)的分類模型很難正確地將其進(jìn)行分類。此外,在進(jìn)行自動(dòng)反饋之前,本文還為每個(gè)類型的學(xué)生答案定義了一個(gè)反饋模板,但是為了使模板具有針對(duì)性,模板中的一部分內(nèi)容是需要通過相似度計(jì)算進(jìn)行填充的,具體如表1所示。
表1 答案類型及反饋模板
本文提出一種分兩步進(jìn)行的數(shù)學(xué)簡(jiǎn)答題自動(dòng)反饋方法,第一步確定學(xué)生答案類型,第二步通過相似度計(jì)算填充對(duì)應(yīng)的反饋模板。本文使用基于靜態(tài)路由的膠囊網(wǎng)絡(luò)用于確定答案類型。Capsule network是2017年Hunter提出的一種方法,用神經(jīng)元向量代替?zhèn)鹘y(tǒng)神經(jīng)網(wǎng)絡(luò)的單個(gè)神經(jīng)元節(jié)點(diǎn),以動(dòng)態(tài)路由的方式去訓(xùn)練這種全新的神經(jīng)網(wǎng)絡(luò)。與傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)相比,其具有以下特點(diǎn):(1) 傳統(tǒng)分類模型輸出類別,但是Capsule network輸出的是向量;(2) CNN要得到比較好的結(jié)果需要大量的訓(xùn)練數(shù)據(jù),而Capsule network因?yàn)樵谀z囊內(nèi)部進(jìn)行特征學(xué)習(xí),因此較少的數(shù)據(jù)就能得到更好的結(jié)果;(3) CNN池化會(huì)丟失一些信息,而每個(gè)capsule的都會(huì)攜帶大量的信息;(4) capsule間的傳遞和運(yùn)算更符合人腦的思考形式。本文將膠囊層間的連接方式改為靜態(tài)路由,與動(dòng)態(tài)路由相比,降低了計(jì)算的復(fù)雜度,提高結(jié)果精度,更適合文本分類。
確定答案類型之后,每個(gè)類型對(duì)應(yīng)一個(gè)反饋模板,但是反饋模板中的一部分內(nèi)容是需要填充的。因此通過相似度計(jì)算對(duì)模板進(jìn)行填充。通過上述方法在已構(gòu)建數(shù)據(jù)集上可以達(dá)到83.3%以上的正確率。
Page[5]早在1966年就已經(jīng)開始進(jìn)行自動(dòng)批閱相關(guān)研究,但早期的自動(dòng)批閱主要是使用規(guī)則的方法為學(xué)生提供一個(gè)合理的分?jǐn)?shù)。如Bachman等[6]提出WebLAS方法,根據(jù)答案自動(dòng)生成正則表達(dá)式,每個(gè)正則表達(dá)式與一個(gè)分?jǐn)?shù)相關(guān)聯(lián),因此當(dāng)學(xué)生答案與表達(dá)式相匹配就會(huì)給出該答案的分?jǐn)?shù)。但是基于規(guī)則的方法由于規(guī)則表達(dá)的有限性,泛化能力較差,隨著機(jī)器學(xué)習(xí)的發(fā)展,人們開始用文本分類或回歸模型來預(yù)測(cè)分?jǐn)?shù)。Sultan等[7]使用文本相似度、詞項(xiàng)權(quán)重等特征構(gòu)建了隨機(jī)森林分類器,在SemEval-2013評(píng)測(cè)數(shù)據(jù)集SCIENTSBANK上進(jìn)行測(cè)試,F(xiàn)1值達(dá)到55%。近年來,由于深度學(xué)習(xí)方法在許多任務(wù)上已經(jīng)達(dá)到了最先進(jìn)的水平,研究人員開始使用詞向量和深度神經(jīng)網(wǎng)絡(luò)進(jìn)行評(píng)分研究。如Riordan等[8]使用CNN-LSTM構(gòu)成的神經(jīng)網(wǎng)絡(luò)進(jìn)行自動(dòng)評(píng)分,獲得的效果比非神經(jīng)網(wǎng)絡(luò)方法好。隨著評(píng)分技術(shù)的日漸成熟,人們發(fā)現(xiàn)如果只是給出分?jǐn)?shù)并不能讓學(xué)生很清楚地認(rèn)識(shí)到自己的不足之處,無法達(dá)到智能批閱的真正目的,因此人們開始嘗試研究自動(dòng)反饋。
在自動(dòng)反饋研究初期,Marvaniya等[9]提出了一種針對(duì)于英語填空的自動(dòng)反饋方法。對(duì)于每個(gè)空,由老師提前預(yù)測(cè)每個(gè)空的所有可能錯(cuò)誤答案,例如動(dòng)詞時(shí)態(tài)變化、名詞單復(fù)數(shù)形式的變化、短語的固定搭配等。對(duì)于預(yù)測(cè)的每一個(gè)答案教師都給出了一個(gè)反饋,通過計(jì)算學(xué)生答案和所有預(yù)測(cè)答案的相似度,找出和學(xué)生答案相似度最高的預(yù)測(cè)答案,將相對(duì)應(yīng)的反饋提供給學(xué)生。通過該方法有效地減少了老師對(duì)相似答案重復(fù)提供類似反饋的工作量。但是并不是所有題目都可以預(yù)測(cè)到所有錯(cuò)誤類型,而且這項(xiàng)工作需要老師有豐富的教學(xué)經(jīng)驗(yàn)。因此,Brooks等[10]對(duì)于從慕課網(wǎng)上收集的學(xué)生答案進(jìn)行度量聚類,老師對(duì)于每一類聚類結(jié)果給出反饋,使得老師的工作量由幾百甚至幾千降到幾十。但是聚類方法的準(zhǔn)確性不高。Zhang等[11]提出了一種基于深度學(xué)習(xí)+聚類+學(xué)生建模的方法,追蹤學(xué)生的學(xué)習(xí)軌跡為學(xué)生提供反饋。這個(gè)方法需要大量的學(xué)生學(xué)習(xí)數(shù)據(jù),并不是很容易實(shí)現(xiàn)。同時(shí),Dzikovska等[12]提出將答案按照錯(cuò)誤類型分類而不是分?jǐn)?shù),將答案分為正確、部分正確、非領(lǐng)域、不相關(guān)、矛盾五類,為本文的反饋提供了思路。
文獻(xiàn)[13]發(fā)表后,關(guān)于膠囊網(wǎng)絡(luò)的研究受到了許多關(guān)注。Afshar等[14]將膠囊網(wǎng)絡(luò)用于腫瘤圖片的分類,通過改變capsule的特征層數(shù)來提高精度。Du等[15]提出一種新的基于膠囊的混合神經(jīng)網(wǎng)絡(luò)用于情感分類。阿里研究發(fā)現(xiàn)膠囊網(wǎng)絡(luò)應(yīng)用到投訴文本模型上的整體表現(xiàn)優(yōu)于原先TextCNN[16]。Zhao等[17]將基于動(dòng)態(tài)路由的膠囊網(wǎng)絡(luò)用于文本分類任務(wù),在六個(gè)經(jīng)典文本分類數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),其中四個(gè)都取得了當(dāng)前最好的結(jié)果。
本文提出一種分兩步進(jìn)行的數(shù)學(xué)簡(jiǎn)答題自動(dòng)反饋方法。第一步是對(duì)學(xué)生答案類型進(jìn)行建模,給定學(xué)生答案,通過基于靜態(tài)路由的膠囊網(wǎng)絡(luò)判斷學(xué)生答案類型。該模型的最大的特點(diǎn)是以膠囊的形式進(jìn)行特征傳遞,能更好地保留文本內(nèi)部信息,在小數(shù)據(jù)集上得到精度更高的分類結(jié)果。第二步是通過計(jì)算學(xué)生答案和正確概念的相似度確定概念屬性,將概念屬性填充到反饋模版中。這一步的優(yōu)點(diǎn)是可以較為準(zhǔn)確地預(yù)測(cè)答案類型,同時(shí)提供的反饋與學(xué)生答案緊密相關(guān)。
本文采用一種基于靜態(tài)路由的膠囊網(wǎng)絡(luò)確定答案類型,模型架構(gòu)示意圖如圖2所示,由輸入層、N-gram卷積層、初級(jí)膠囊層、卷積膠囊層、全連接膠囊層、輸出層六層構(gòu)成。膠囊能夠表示局部實(shí)體的屬性,并用向量而不是標(biāo)量來表達(dá)語義。
圖2 膠囊網(wǎng)絡(luò)模型架構(gòu)示意圖
模型的輸入層是學(xué)生答案S∈RL×V,L代表句子長(zhǎng)度,V代表詞向量維度。
第二層是N-gram卷積層。在這一層用B個(gè)大小相同、權(quán)重不同的濾波器Wa∈RK×V抽取低級(jí)特征,每個(gè)濾波器都會(huì)生成一個(gè)神經(jīng)元ma∈RL-K+1,這個(gè)神經(jīng)元中的每一個(gè)元素按式(1)進(jìn)行計(jì)算。
(1)
式中:Xi:i+K-1代表第i到i+K-1個(gè)詞的詞向量;Wa為寬度K、長(zhǎng)度為V的濾波器,目的是在不同位置抽取特征;*代表單元乘法;f為激活函數(shù)(本文采用sigmod函數(shù));b代表偏置。對(duì)于a=1,2,…,B,一共有B個(gè)擁有相同的N-gram尺寸的濾波器,可以生成B個(gè)特征映射,如下所示:
M=[m1,m2,…,mB]∈R(L-K+1)×B
(2)
下一層是初級(jí)膠囊層,pi∈Rd代表一個(gè)膠囊,d代表膠囊的大小。由mi∈RB作為輸入,Wb∈RB×d是不同窗口共享的濾波器。窗口的滑動(dòng)步幅為1,則會(huì)產(chǎn)生C個(gè)(L-K+1)×d的膠囊,每一個(gè)膠囊pi的計(jì)算為:
pi=g(WbMi+b1)
(3)
式中:g是Squashing激活函數(shù);b1是膠囊偏置項(xiàng)。對(duì)于所有的C個(gè)濾波器,生成的膠囊特征映射可以重新排列:
P=[p1,p2,…,pB]
(4)
激活函數(shù)具體如下:
(5)
激活函數(shù)g既保留了向量的大小,也將向量的模長(zhǎng)控制在[0,1)之間。
第四層卷積膠囊層,這一層會(huì)自動(dòng)學(xué)習(xí)“部分-整體”關(guān)系,也就是由低級(jí)特征(子膠囊)ui預(yù)測(cè)高級(jí)特征uj|i(父膠囊),如式(6)所示。
(6)
下一層是全連接膠囊層,卷積膠囊層的膠囊被放入了一個(gè)膠囊列表中,并輸入到全連接的膠囊層中,膠囊與膠囊乘以變換矩陣Wd∈RE×d×d,通過路由協(xié)議產(chǎn)生最終的膠囊vj∈Rd及其概率aj∈R。
接下來通過比較膠囊層間的不同的連接方式選出適合文本分類的連接方式。
2.1.1動(dòng)態(tài)路由
Sabour等[13]指出,膠囊網(wǎng)絡(luò)通過動(dòng)態(tài)路由過程更新耦合系數(shù)cij的權(quán)重,并確定低級(jí)特征和高級(jí)特征之間的匹配程度。耦合系數(shù)由正確高級(jí)特征和預(yù)測(cè)的高級(jí)特征的的相似度決定,計(jì)算式如下:
(7)
式中:i∈[1,a];j∈[1,k];k代表總的類別數(shù);bij是由子膠囊和父膠囊的相似程度決定的;cij在每次迭代過程都會(huì)根據(jù)bj|i進(jìn)行更新。具體如算法1所示。
算法1動(dòng)態(tài)路由算法
procedureROUTING(uj|i,aj|i,r,l)
初始化耦合系數(shù)的logits
bj|i=0
forriterationsdo
for all capsuleiin layerland capsulejin
layerl+1
cj|i=aj|i·leaky-softmax(bj|i)
for all capsulejin layerl+1:
for all capsuleiin layer l and capsulejin
layerl+1:bj|i=bj|i+uj|i·vj
returnvj,aj
2.1.2靜態(tài)路由
與基于動(dòng)態(tài)路由的膠囊網(wǎng)絡(luò)相比,靜態(tài)路由主要有以下兩個(gè)優(yōu)勢(shì):(1) 降低了計(jì)算復(fù)雜度;(2) 提高計(jì)算精度。Zhao等[17]首次將膠囊網(wǎng)絡(luò)用于文本分類時(shí)采用的是動(dòng)態(tài)路由的連接方式。這是直接借鑒Hunter在圖像上的兩個(gè)膠囊層之間的連接方式通過靜態(tài)路由決定,在圖像上考慮到實(shí)體間的空間結(jié)構(gòu)是合理的,但是在語言中,文字的表達(dá)方式有很大不同,因此,本文提出靜態(tài)路由的方式將子膠囊和父膠囊進(jìn)行連接:
(8)
確定答案類型后不同的類型有不同的模板,本文通過相似度計(jì)算的方法進(jìn)行反饋模板填充。在進(jìn)行反饋模板填充之前,本文人工構(gòu)建了初中數(shù)學(xué)概念庫,包含了初中階段所有用到的數(shù)學(xué)概念184條。概念庫中的概念以表2所示的形式存在。概念庫構(gòu)建完成之后,進(jìn)行模板填充。本文的答案類型包括完全無關(guān)、概念錯(cuò)誤、概念不適合這道題目、回答正確四類。通過字重疊確定相似度最高的概念,將對(duì)應(yīng)的概念屬性填充進(jìn)模板,完成自動(dòng)反饋。
表2 概念庫舉例
本文所使用的數(shù)據(jù)集來源于某中學(xué)八年級(jí)數(shù)學(xué)試卷的三道數(shù)學(xué)簡(jiǎn)答題,每個(gè)題目有兩個(gè)空,每個(gè)空的答案數(shù)量分別為3 632、3 632、4 290、4 290、4 913、4 913。由于學(xué)生答案有一定的重復(fù)和空白,因此對(duì)數(shù)據(jù)進(jìn)行去重之后進(jìn)行統(tǒng)計(jì),數(shù)據(jù)集的具體信息如表3所示,其中Math2重復(fù)率最高,Math1次之,Math3最低。
表3 數(shù)據(jù)集統(tǒng)計(jì)
本文采用準(zhǔn)確率P作為實(shí)驗(yàn)評(píng)價(jià)指標(biāo)。假定a表示被正確分到某類的文檔數(shù),b表示錯(cuò)誤分到該類的文檔數(shù)。則準(zhǔn)確率計(jì)算如下:
(9)
在參數(shù)設(shè)置上,本文使用Skip-gram訓(xùn)練維度為60維的字向量和詞向量,通過對(duì)詞級(jí)別和字級(jí)別的句子長(zhǎng)度進(jìn)行統(tǒng)計(jì)發(fā)現(xiàn)(包括學(xué)生答案+參考案),詞級(jí)別的最大長(zhǎng)度為15,字級(jí)別為40。因此本文輸入為15×60和40×60的矩陣,在N-gram層,采用64個(gè)3-gram的卷積層抽取低級(jí)特征。膠囊的維度d=6,答案類別設(shè)為四類,共享濾波器的窗口維度為2。
3.3.1實(shí)驗(yàn)結(jié)果
為了說明本文方法的有效性,本文分別采用傳統(tǒng)機(jī)器學(xué)習(xí)模型SVM和深度學(xué)習(xí)模型CNN作為基線模型,同時(shí)和最近在各個(gè)任務(wù)上都表現(xiàn)優(yōu)異的Bert進(jìn)行了對(duì)比實(shí)驗(yàn)。
SVM[15]是一個(gè)進(jìn)行文本分類的經(jīng)典模型,使用N-gram來提取輸入特征,使用SVM作為分類器,得到答案類型的分類結(jié)果。
CNN[16]是目前應(yīng)用范圍最廣的神經(jīng)網(wǎng)絡(luò)模型之一,許多學(xué)者利用其解決多種NLP任務(wù)并獲得很好效果。本文分別使用字級(jí)別和詞級(jí)別的特征作為輸入,得到答案類型的分類結(jié)果。
Bert[17]是2018年Google提出的通用預(yù)訓(xùn)練語模型,目前在許多文本分類任務(wù)上都取得了比傳統(tǒng)方法更好的結(jié)果。
表4列出了基于動(dòng)態(tài)路由的Capsule network(CPN_d)和基于靜態(tài)路由的Capsule network(CPN_s)和上述模型的對(duì)比結(jié)果。
表4 各模型準(zhǔn)確率對(duì)比(%)
可以看出,CPN_s在三道題上表現(xiàn)均為最優(yōu),Bert和CPN_d的實(shí)驗(yàn)結(jié)果在三道題上的結(jié)果都明顯高于SVM和CNN,但稍低于CPN_s。在Math1上兩種膠囊網(wǎng)絡(luò)的結(jié)果均優(yōu)于Bert,準(zhǔn)確率達(dá)到了91.4%和91.8%。在Math2上膠囊網(wǎng)絡(luò)的準(zhǔn)確率為96.5%和95.2%,是三道題里最高的??赡苁怯捎陬}目難度較低,學(xué)生答案重復(fù)率較高。在Math3上Bert的表現(xiàn)稍優(yōu)于CPN_d。實(shí)驗(yàn)結(jié)果表明在文本分類任務(wù)上膠囊形式優(yōu)于單個(gè)的神經(jīng)元,且靜態(tài)路由優(yōu)于動(dòng)態(tài)路由。
3.3.2數(shù)據(jù)去重
由表3對(duì)數(shù)據(jù)的統(tǒng)計(jì)發(fā)現(xiàn)數(shù)據(jù)的重復(fù)率較高,通過對(duì)題目的分析發(fā)現(xiàn)和題目難度呈正相關(guān)。本文為了證明模型的有效性在去重?cái)?shù)據(jù)上重新進(jìn)行了實(shí)驗(yàn),實(shí)驗(yàn)參數(shù)與之前一致。實(shí)驗(yàn)結(jié)果如表5所示。
表5 數(shù)據(jù)去重后各模型準(zhǔn)確率(%)
通過對(duì)去重后的實(shí)驗(yàn)結(jié)果進(jìn)行分析發(fā)現(xiàn),去重之后三道題的準(zhǔn)確率均有大幅下降,在Math2上的準(zhǔn)確率下降幅度最大,Math1次之,Math3最小,準(zhǔn)確率與數(shù)據(jù)重復(fù)率成正相關(guān)。
3.3.3不同級(jí)別特征
為了檢驗(yàn)不同級(jí)別的特征對(duì)實(shí)驗(yàn)結(jié)果的影響,本文使用字向量在CNN和基于靜態(tài)路由的Capsule network上進(jìn)行對(duì)比實(shí)驗(yàn),具體如圖3所示,其中:t(token)代表字級(jí)別的特征,w代表詞級(jí)別的特征。
圖3 不同級(jí)別特征在CNN和CPN_s上的結(jié)果
通過對(duì)圖3觀察發(fā)現(xiàn),不論是CNN還是CPN_s,字級(jí)別的實(shí)驗(yàn)結(jié)果都優(yōu)于詞級(jí)別的實(shí)驗(yàn)結(jié)果。
本文首先構(gòu)建了數(shù)學(xué)簡(jiǎn)答題數(shù)據(jù)庫,然后提出將數(shù)學(xué)簡(jiǎn)答題的自動(dòng)反饋分為兩步進(jìn)行,通過基于靜態(tài)路由的Capsule network確定答案類別。為了證明該方法的有效性,與SVM、CNN、Bert進(jìn)行了對(duì)比實(shí)驗(yàn)。確定答案類型后,不同的類型有不同的模板,本文通過相似度計(jì)算的方法進(jìn)行反饋模板填充。但是該方法的反饋模板需要手動(dòng)定義,答案類別也并沒有細(xì)分,因此只能給出較為概括性的反饋。下一步計(jì)劃通過構(gòu)建數(shù)學(xué)概念知識(shí)圖譜為學(xué)生提供更細(xì)致的反饋。