楊 曄 張廷東 蔣雪君
(浙江警官職業(yè)學(xué)院,浙江 杭州 310018)
隨著互聯(lián)網(wǎng)和人工智能技術(shù)進入教學(xué)領(lǐng)域,課程教學(xué)和學(xué)習(xí)理論、教學(xué)模式等發(fā)生了巨大變化,以學(xué)生為中心、以教師為主體的建構(gòu)主義的教學(xué)模式開始興起,也為探討新的學(xué)習(xí)途徑提供了可能。聊天機器人(Chatbot)是一個利用人工智能技術(shù)開發(fā)的、旨在與人交流對話的計算機程序,它可以不受時間、空間等因素的限制,不知疲倦地與人聊天[1]。目前在全球范圍內(nèi),聊天機器人應(yīng)用于教學(xué)領(lǐng)域比較成功的Chatbot,有喬治亞理工學(xué)院推出的助教Jill Watson、英國的Whiz Education平臺、美國教育科技公司K12 Insight推出的Let’s Talk助理等,這些產(chǎn)品很好地扮演了老師的角色,解答學(xué)生的問題,成為助推學(xué)生自主學(xué)習(xí)的關(guān)鍵。
C語言程序設(shè)計是第一學(xué)期的編程入門課程,也是學(xué)習(xí)軟件開發(fā)和信息安全等專業(yè)課程的先修課,這門課程是否能學(xué)好,對于培養(yǎng)學(xué)生的專業(yè)技能十分重要,也對于學(xué)生建立專業(yè)學(xué)習(xí)的信心和興趣至關(guān)重要。
對于新生來說,僅憑一周4學(xué)時的課堂教學(xué),學(xué)好C語言并不容易。根據(jù)筆者多年的教學(xué)實踐經(jīng)驗,發(fā)現(xiàn)對于高職學(xué)生來說,有些學(xué)生覺得這門課很難,有些學(xué)生覺得這門課沒有用,有些學(xué)生缺少獨立學(xué)習(xí)能力,有些學(xué)生甚至因為這門課沒有學(xué)好而失去了從事專業(yè)方面工作的信心。為什么在老師看來簡單的入門課程,會對高職學(xué)生造成如此大的困惑,我們又該如何走出困境?
仔細分析原因,我們發(fā)現(xiàn)并不是所有的學(xué)生都聽不懂,而是學(xué)習(xí)能力差距比較大。我們嘗試過兩種解決方案,方案1是教師將授課進度放得非常慢,大家能夠跟上節(jié)奏。方案2是教師使用微信、釘釘、qq等即時通訊工具,在課外對沒有所有聽懂的學(xué)生進行大量個別解答和輔導(dǎo)。這兩種做法都可以使課程內(nèi)容的接受度是得到大幅提升。然而選擇方案1放慢節(jié)奏,明顯會影響到課程的整體教學(xué)效果,吸收能力好的學(xué)生感覺吃不飽,也不能達到C語言程序設(shè)計課程標(biāo)準(zhǔn)里的要求。選擇方案2,需要耗費老師極大的精力和時間,而其中學(xué)生的問題有大部分是類似的,比如對于某個概念的不理解,抑或是某道題不會做等,不同班級之間學(xué)生提問的內(nèi)容也會出現(xiàn)大部分重復(fù),教師容易陷入重復(fù)勞動的漩渦。
英國開放大學(xué)《創(chuàng)新教學(xué)報告》是全球教育創(chuàng)新的重要綱領(lǐng)性文件,以創(chuàng)新和未來展望為主題,根據(jù)各種教學(xué)方法在現(xiàn)階段的影響力進行排名。在2021年的報告中,“在學(xué)習(xí)中使用聊天機器人的教學(xué)方法”排在第四位,這為本項目的研究提供了理論依據(jù),增強了研究的信心[2]。
聊天機器人改變世界的方式,將比我們想象的更多。它以客戶為中心,可以完成一系列不同的任務(wù)。在學(xué)習(xí)中使用聊天機器人的教學(xué)方法,恰巧符合以學(xué)生為中心的教育理念,可以讓學(xué)生感受到學(xué)習(xí)上的助推力。它使用文本或語音與學(xué)生進行交流,既可以回答學(xué)生提出的問題,幫助其解決問題,也可以提出問題,引導(dǎo)學(xué)生進行更深層次的學(xué)習(xí)。特別是當(dāng)老師不在場或不能提供幫助時,學(xué)生仍然能夠自主學(xué)習(xí)。這種方法有利于構(gòu)建沉浸式學(xué)習(xí)環(huán)境,讓學(xué)生會更自由地借助聊天機器人輔助學(xué)習(xí)。聊天機器人在解決大規(guī)模學(xué)習(xí)和高質(zhì)量學(xué)習(xí)之間的矛盾時帶來了機遇,通過從聊天對話中收集數(shù)據(jù),分析學(xué)生行為,提供有針對性的幫助與引導(dǎo),這樣有助于減少教育者的工作量,從而更好地實現(xiàn)個性化學(xué)習(xí)。
本項目通過聊天機器人的應(yīng)用構(gòu)建了一種智能對話服務(wù),幫助教師簡化面向?qū)W生的服務(wù),改變學(xué)生獲取信息和見解的方式,重塑學(xué)生的學(xué)習(xí)方式,為學(xué)生進行自主學(xué)習(xí)提供保障。在聊天機器人的助力下,讓教師從重復(fù)機械的答疑等工作中解放出來,專注于更具創(chuàng)造力的工作,成為課程教學(xué)的領(lǐng)導(dǎo)者和指導(dǎo)者。同時使用機器學(xué)習(xí)理論對聊天獲得的數(shù)據(jù)進行分析,可以形成教學(xué)決策輔助,幫助教師從宏觀層面上準(zhǔn)確把握課程進度,提高教學(xué)質(zhì)量和效率。本項目選取了教學(xué)中比較常見的提問和回答場景,將OJ(Online Judger)平臺與Chatbot這兩個應(yīng)用相結(jié)合。
OJ平臺是一種在線評測系統(tǒng),用戶可以在線提交多種程序代碼,系統(tǒng)會自動對代碼進行編譯,并利用事先系統(tǒng)設(shè)計好的測試用例執(zhí)行程序,對程序進行自動評測,是各種計算機程序大賽的主要平臺,也常用于各類程序設(shè)計語言類課程的實踐教學(xué)平臺,賽教融合,提升教學(xué)效果[3]。
本項目的OJ平臺模塊,采用了Hcode Online Judge,實現(xiàn)基于springcloud+vue前后端分離,分布式架構(gòu)的在線測評系統(tǒng)。該平臺網(wǎng)站權(quán)限控制完善,判題使用cgroup隔離用戶程序,支持分布式判題,判題速度快,支持手機端響應(yīng)式布局。我們在OJ平臺上,發(fā)布每章必做和選做習(xí)題,并為學(xué)有余力的同學(xué)準(zhǔn)備了ACM程序設(shè)計競賽的題目。我們按照知識點分類設(shè)置了數(shù)據(jù)類型與表達式、分支控制、循環(huán)控制等7個類型的題目,通過設(shè)置標(biāo)簽說明題目的類別,顏色為綠色。同時為了將ACM程序設(shè)計比賽融合到教學(xué)中,以賽促學(xué),設(shè)置了二分查找、動態(tài)規(guī)劃、基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)等類型的題目,該類別顏色為藍色。題庫中按照類別設(shè)置,已經(jīng)存有14個類別、約100道題目,為課程實施打下了堅實的基礎(chǔ)。OJ平臺的題目首頁效果圖如圖1所示,答題界面如圖2所示。
圖1 本項目OJ平臺的題目首頁
圖2 本項目OJ平臺的答題頁面
OJ平臺可以自動批改程序,學(xué)生能夠立刻得到反饋,大大提高了學(xué)生的參與度,并且提供了充分的測試用例去校驗,學(xué)生能夠通過實踐掌握程序設(shè)計的通用性、時空性能的訓(xùn)練,系統(tǒng)地提高了學(xué)生C語言程序設(shè)計的能力。通過將提問的范圍固定在習(xí)題練習(xí)上,更好地保障了智能聊天機器人的答題質(zhì)量和個性化輔導(dǎo)的準(zhǔn)確率。
本項目的聊天機器人模塊,采用了開源聊天機器人框架Chatterbot。它是一個完全用Python編寫的基于一系列規(guī)則和機器學(xué)習(xí)算法的聊天機器人框架。它會從保存的對話語料中找出與輸入句子最匹配的句子,并把匹配到的句子的下一句作為回答返回。通過開發(fā)核心工作流程、訓(xùn)練器、邏輯適配器,實現(xiàn)了能夠針對學(xué)生提出的問題進行回答的功能。Chatterbot的處理流程圖如圖3所示。
圖3 Chatterbot處理流程圖
一個Chatterbot實例可以綁定多個邏輯適配器,用于根據(jù)輸入產(chǎn)生輸出。Chatterbot中沒有獨立的用于選擇對話邏輯的意圖識別模塊,它將意圖識別的功能放到了各個邏輯適配器中。接收到輸入之后,Chatterbot會將其傳遞給各個邏輯適配器,由它們自己判斷是否適合對輸入的文本進行回答。如果邏輯適配器認為不能對輸入進行回答,則會跳過,否則就輸出回答。用戶與聊天機器人對話的效果如圖4所示。
圖4 本項目Chatbot的交互界面
在前期的研究實踐中,我們發(fā)現(xiàn)如果聊天機器人回復(fù)的質(zhì)量太低,學(xué)生的學(xué)習(xí)興趣會顯著下降。如果不設(shè)范圍,讓學(xué)生隨便提問,往往聊天機器人的回復(fù)不是想要的答案。所以我們將Chatbot與OJ平臺結(jié)合起來,讓學(xué)生針對OJ平臺上的某一題目進行提問,同時還設(shè)置了機器人菜單,讓學(xué)生進行選擇功能,菜單不能匹配的,Chatbot程序會使用機器學(xué)習(xí)算法對語料庫進行學(xué)習(xí)訓(xùn)練,找到比較接近的答案。機器人菜單中的選項設(shè)計順序剛好符合學(xué)生產(chǎn)生問題的過程,分別是想打開OJ網(wǎng)站(詢問網(wǎng)址)->做不出要提示->出錯找問題->參考別人的代碼->做不出需要激勵->最后放棄看答案->選擇下一道題目。通過一系列的優(yōu)化,聊天機器人較好的滿足了學(xué)生的學(xué)習(xí)需求和提升了學(xué)生的學(xué)習(xí)興趣[4]。
本項目的目標(biāo)是通過智能聊天機器人,為教師增加一個增強教學(xué)、學(xué)習(xí)和評估的虛擬助手。它可以隨時隨地回答學(xué)生在學(xué)習(xí)過程中出現(xiàn)的疑問,幫助學(xué)生鞏固各階段的學(xué)習(xí),提升學(xué)生學(xué)習(xí)C語言的自信心和趣味性,提高學(xué)生學(xué)習(xí)編程的熱情,同時也大幅減輕教師的答疑工作量,提升了教學(xué)質(zhì)量。我們選取了三個場景測試系統(tǒng)進行測試,具體的應(yīng)用效果分析結(jié)果如下[5]:
(1)課堂上,老師使用OJ平臺布置課堂練習(xí)。學(xué)生有問題舉手問老師,如果舉手人數(shù)較多,部分學(xué)生會選擇聊天機器人進行詢問。但是一旦聊天機器人不能提供高質(zhì)量的回答,學(xué)生就會立刻放棄使用Chatbot,選擇問老師或同學(xué)。在課堂上,Chatbot應(yīng)用效果一般。
(2)在課外,老師使用OJ平臺布置課外作業(yè)。當(dāng)學(xué)生遇到不能解決的問題時,會選擇通過微信等方式問老師。如果老師無法及時回復(fù),多數(shù)學(xué)生會選擇詢問聊天機器人或查找資料。在課外作業(yè)中的應(yīng)用效果比課堂應(yīng)用效果要好。
(3)在ACM競賽輔導(dǎo)中,競賽小組的學(xué)生使用OJ平臺進行自主學(xué)習(xí)練習(xí)。老師根據(jù)學(xué)生的刷題排名,確定學(xué)生的學(xué)習(xí)質(zhì)量。此時學(xué)生在自主學(xué)習(xí)的過程中,一般會首先選擇靠自己解決問題,因此使用聊天機器人解決疑問的熱情比較高,應(yīng)用效果最好。
因此,我們可以看出聊天機器人的應(yīng)用效果與學(xué)生的自主學(xué)習(xí)熱情成正比。從已有的數(shù)據(jù)分析看,目前階段設(shè)計的聊天機器人比較適合競賽輔導(dǎo)訓(xùn)練場景。
人工智能給教育者和學(xué)習(xí)者都帶來了巨大的好處。聊天機器人代表了新一代認知技術(shù),我們可以直接使用自然語言與計算機交互,得到準(zhǔn)確精練的回答。相較于目前搜索得到的成千上萬個網(wǎng)頁,無疑Chatbot能夠讓用戶更快地獲取有用信息,更有效地減輕人工工作量。把聊天機器人引入到課程教學(xué)中,在學(xué)生學(xué)習(xí)專業(yè)技能時,指導(dǎo)學(xué)生逐步深入地學(xué)習(xí)并掌握該技能,將是一次非常有意義的嘗試。