許秀云 姚冬 丁凰
摘 要:為了打破傳統(tǒng)的師生問答式英語口語考試模式,設(shè)計了一種SSM架構(gòu)的計算機英語口語測評平臺。該平臺應(yīng)用JAVAWEB語言進行開發(fā),服務(wù)器采用MySQL數(shù)據(jù)庫創(chuàng)建,并結(jié)合了多媒體軟件實現(xiàn)平臺的功能??谡Z考試平臺通過英語短文朗誦、回答問題、英語論述三個環(huán)節(jié)來評估考生的英語口語水平。平臺功能主要依靠用戶登錄管理、學(xué)生管理、班級管理、題庫管理、在線考試、閱卷管理、成績預(yù)測、成績查詢等模塊實現(xiàn)。所設(shè)計的英語口語考試平臺功能完善,考試結(jié)果符合實際,對于釋放教學(xué)資源、提高教學(xué)水平具有非常重要的意義。
關(guān)鍵詞:在線考試;SSM框架;成績預(yù)測;成績管理
中圖分類號:G 643
文獻標志碼:A
文章編號:1007-757X(2020)11-0147-03
Abstract:In order to break the traditional mode of teacher-student question and answer oral English test, this paper designs and proposes a computer oral English test platform based on SSM. The platform is based on Java Web language for application development. MySQL database is used to create the server, and multimedia software is used to realize the functions of the platform. The oral English test platform assesses the oral English level of the candidates through three links:reading English passages, answering questions and discussing. The functions of the platform mainly depend on the modules of user login management, student management, class management, question bank management, online examination, marking management, score prediction, score query, etc. The oral English test platform designed in this paper has perfect functions and practical test results, and is of great significance to release teaching resources and improve teaching level.
Key words:online examination;SSM framework;performance prediction;performance management
0?引言
目前學(xué)校英語教學(xué)的口語教學(xué)、訓(xùn)練、考試等項目都是通過教師與學(xué)生面對面的形式進行的,尤其是英語口語考試,師生一對一問答交流,學(xué)生成績由教師主觀判定,這種模式不僅極度消耗教師資源,也難以在成績上保證評分標準的一致性。為了解決這些問題,本文以實現(xiàn)智能化口語考試為目標設(shè)計并提出了一種基于SSM(Spring+SpringMVC+MyBatis開源框架集)架構(gòu)的計算機英語口語考試平臺,并通過整體設(shè)計、關(guān)鍵功能模塊設(shè)計過程完成了平臺的設(shè)計, SSM框架作為標準MVC設(shè)計模式集成了多個開源框架,實現(xiàn)簡單、功能全面,能夠在全面實現(xiàn)設(shè)計目標的前提下極大地提升平臺開發(fā)效率。平臺包含學(xué)生管理、班級管理、題庫管理、在線考試、閱卷管理、成績預(yù)測、成績查詢等模塊,能夠在英語教學(xué)過程中大大降低口語教學(xué)資源的消耗,實現(xiàn)口語考試的智能化,保證口語考試的公平性。該系統(tǒng)開發(fā)周期為四個月,開發(fā)成本大致為5萬元左右,其中本人負責系統(tǒng)總體設(shè)計和代碼編寫,課題組其他成員負責界面設(shè)計。開發(fā)完成后在網(wǎng)絡(luò)教育學(xué)院進行為期三個月的運行測試,以驗證系統(tǒng)應(yīng)用效果。
1?平臺總體設(shè)計
從功能需求的角度出發(fā),英語考試平臺通過應(yīng)用層、邏輯層、數(shù)據(jù)層三個層級完成平臺整體架構(gòu)的搭建,其總體結(jié)構(gòu)和內(nèi)部工作流程,如圖1所示。
應(yīng)用層是平臺與用戶進行信息交互的窗口,在該層中教師、學(xué)生和管理員用戶基于系統(tǒng)提供的功能進行相關(guān)操作,完成各自的任務(wù)。
應(yīng)用層通過JSP、CSS以及超文本標記語言等技術(shù)呈現(xiàn)多視圖客戶端界面,基于JavaScript協(xié)議進行網(wǎng)絡(luò)通信。
邏輯層用以接收用戶的操作請求,并按照已有的業(yè)務(wù)規(guī)則對請求進行邏輯處理,將得到的結(jié)果發(fā)送給平臺數(shù)據(jù)庫,數(shù)據(jù)庫按照要求返回的數(shù)據(jù)也要經(jīng)邏輯層的轉(zhuǎn)換才能在應(yīng)用層得以顯示。
數(shù)據(jù)層的主要功能是處理文件訪問、內(nèi)存數(shù)據(jù)訪問、其它LDAP訪問和數(shù)據(jù)庫訪問,通過創(chuàng)建SQL語句執(zhí)行用戶的操作請求。
用戶進入平臺后,操作請求VO被封裝進一個HTTP協(xié)議數(shù)據(jù)包內(nèi),struts控制器接收到該請求后將其發(fā)送給業(yè)務(wù)控制器,業(yè)務(wù)控制器根據(jù)請求內(nèi)容搜索對應(yīng)的處理規(guī)則,對其進行定位并發(fā)送給數(shù)據(jù)庫,數(shù)據(jù)庫按照請求內(nèi)容及控制器指定的規(guī)則選取數(shù)據(jù),返回給邏輯層由其進行數(shù)據(jù)轉(zhuǎn)換后經(jīng)應(yīng)用層向用戶顯示。
2?平臺功能設(shè)計
2.1?功能模塊設(shè)計
高中英語口語考試平臺用戶主要包括教師和學(xué)生兩個部分,同時平臺的維護和管理需要通過管理員用戶進行,依據(jù)平臺用戶的各項功能需求,本平臺可具體劃分成用戶登錄管理、學(xué)生管理、班級管理、題庫管理、在線考試、閱卷管理、成績預(yù)測、成績查詢以及系統(tǒng)管理等功能模塊。平臺功能模塊構(gòu)成及歸屬關(guān)系,如圖2所示。
2.2?平臺關(guān)鍵功能設(shè)計
對于英語口語考試平臺,在其多個功能模塊中,學(xué)生管理、在線考試及成績預(yù)測模塊是整個平臺設(shè)計的關(guān)鍵模塊,這三個模塊的功能完整性決定了平臺的設(shè)計質(zhì)量。
(1)學(xué)生管理模塊設(shè)計
教師通過該模塊將其所任教班級的所有學(xué)生信息錄入到平臺中,以便進行統(tǒng)一的管理。
學(xué)生信息的錄入包括以下兩種方式。
批量錄入學(xué)生信息。教師在其客戶端界面選擇“批量錄入學(xué)生信息”,界面會出現(xiàn)“學(xué)生列表模板”選項,點擊下載該模板,在本地計算機中打開模板并按照表頭內(nèi)容逐項填寫學(xué)生信息,完成后在客戶端界面選擇“導(dǎo)入學(xué)生列表”,將表格上傳至平臺服務(wù)器中存儲。平臺具備學(xué)生信息列表校驗功能,如果教師導(dǎo)入的列表中填寫內(nèi)容有誤,平臺會通過界面進行提示并附加校驗報告,教師按照報告中的標注做出修改即可。
逐人錄入學(xué)生信息。教師可通過平臺界面將每個學(xué)生的信息逐個錄入平臺數(shù)據(jù)庫,錄入信息包括學(xué)生的姓名、性別、學(xué)號等。
學(xué)生管理模塊的工作流程,如圖3所示。
(2)在線考試模塊設(shè)計
學(xué)生通過其客戶端界面在多個模擬考試選項中選擇其一,點擊對應(yīng)的“考試”按鈕進行模擬測驗??荚囌介_始前平臺會通過界面提示學(xué)生進行試音,以保證硬件設(shè)備及軟件程序都處于正常運行狀態(tài)。戴上耳機,在客戶端界面點擊“測試耳機”選項,通過播放的音頻質(zhì)量判斷耳機是否正常;點擊“測試話筒”并讀出平臺所示短文,根據(jù)平臺辨識的結(jié)果判斷話筒是否正常。
試音結(jié)束即可進入模擬測驗。學(xué)生用戶可根據(jù)測驗進行的具體情況選擇“繼續(xù)練習”以重新測驗,或點擊“返回”選擇其它試卷。測驗完成后,用戶可通過平臺界面查看成績、得分項與失分項、參考答案等。
(3)成績預(yù)測模塊設(shè)計
平臺的成績預(yù)測功能是基于其所創(chuàng)建的DNN(Deep Neural Networks,深度神經(jīng)網(wǎng)絡(luò))學(xué)習模型實現(xiàn)的,DNN模型中包含了三層神經(jīng)網(wǎng)絡(luò),即輸入層、隱藏層和輸出層,層與層之間為全連接模式,通過前向傳播算法基于上一層的輸出結(jié)果來計算下一層的輸出結(jié)果,如式(1)。
平臺會將學(xué)生以往的多次測驗和考試成績保存并匯總成一個歷史成績數(shù)據(jù)集存儲于數(shù)據(jù)庫中,進行成績預(yù)測時,平臺調(diào)取出這個數(shù)據(jù)集并按照所設(shè)定的考試內(nèi)容與特征將其轉(zhuǎn)化為一個訓(xùn)練數(shù)據(jù)集,之后通過該數(shù)據(jù)集對DNN深度學(xué)習模型進行訓(xùn)練,即可得出針對用戶所設(shè)定考試的成績預(yù)測結(jié)果。
3?平臺功能實現(xiàn)
3.1?學(xué)生管理功能的實現(xiàn)
如前文所述,學(xué)生信息錄入可分為批量錄入和逐個錄入兩種方式進行。若選擇批量添加模式,需要首先下載學(xué)生列表模板,所有學(xué)生信息填寫完成后再上傳模板;若選擇單個添加模式,則在錄入界面直接填寫信息,完成后點擊“添加”即可完成信息錄入。
教學(xué)過程中可能隨時需要對學(xué)生的信息進行更改,包括學(xué)生姓名、性別、學(xué)號的變更或整條信息的刪除等。可以通過學(xué)生列表選擇目標學(xué)生,點擊“編輯”修改已錄入的學(xué)生信息。點擊移除則可整條刪除學(xué)生信息。
3.2?在線考試功能實現(xiàn)
試音完成后,學(xué)生點擊“開始考試”即出現(xiàn)考試界面,界面左側(cè)是要求學(xué)生朗讀的英語短文,學(xué)生點擊“錄制”后開始朗讀,根據(jù)實際情況選擇是否中止錄制,朗讀完成后點擊“停止”,繼續(xù)點擊“上傳”即可將錄音保存至平臺服務(wù)器中,同時平臺界面右側(cè)會出現(xiàn)根據(jù)學(xué)生發(fā)音智能辨識的短文內(nèi)容。
3.3?成績預(yù)測功能實現(xiàn)
成績預(yù)測功能通過創(chuàng)建DNN模型、建立歷史成績數(shù)據(jù)集、創(chuàng)建訓(xùn)練數(shù)據(jù)集、訓(xùn)練DNN模型、驗證模型功能、加載模型、預(yù)測成績七個環(huán)節(jié)完成。各環(huán)節(jié)執(zhí)行代碼如下。
1)創(chuàng)建DNN模型
inputs=Input(shape=(size,),dtype='float32')
dropout=Dropout(0)(inputs)
ouput=Dense(512,activation='relu')(dropout)
dropout=Dropout(0.15)(ouput)
ouput=Dense(256,activation='relu')(dropout)
ouputs=Dense(1)(ouput)
model=Model(input=inputs,output=ouputs)
2)建立歷史成績數(shù)據(jù)集
optimizer=Adam(1r=0.002,beta_1=0.9,beta_2=0.999,epsilon=1e-08)
model.compile(loss='mae',metrics=['mape','mae','acc'],optimizer=optimizer)
3)將歷史成績數(shù)據(jù)集轉(zhuǎn)換為訓(xùn)練數(shù)據(jù)集
'g_dir='./logs',histogram_freq=0,write_graph=True,write_images=False,embeddings_freq=0,
s_layer_name=None,embeddings_metadata=None)
abels,batch_size=2000,epochs=1000,validation_data=(np.array)(eval_features),eval_labels),callback
4)通過訓(xùn)練數(shù)據(jù)集訓(xùn)練DNN模型
tensorboard-logdir=/logs
5)驗證DNN模型功能
cost=model.evaluate(np.array(eval_features),eval_labels,batch_size=100)