楊世瀚 章維亞
摘? 要:針對(duì)使用“雨課堂”進(jìn)行教學(xué)的課程,動(dòng)態(tài)構(gòu)建該課程的教學(xué)過(guò)程知識(shí)庫(kù)及其推理系統(tǒng)。在課程教學(xué)過(guò)程知識(shí)庫(kù)中,用邏輯推理語(yǔ)言Prolog進(jìn)行智能推理,智能回答課程教學(xué)過(guò)程中關(guān)于學(xué)生學(xué)習(xí)情況的一些問(wèn)題,并能對(duì)學(xué)生的學(xué)習(xí)效果進(jìn)行動(dòng)態(tài)評(píng)估,對(duì)學(xué)生課程成績(jī)進(jìn)行預(yù)測(cè)和排序。智能教學(xué)過(guò)程推理系統(tǒng)能輔助教師及時(shí)評(píng)估和反饋課程教學(xué)過(guò)程中的問(wèn)題,實(shí)時(shí)調(diào)整教學(xué)內(nèi)容和教學(xué)手段,是高等學(xué)校本科智能化教學(xué)過(guò)程的一種新嘗試。
關(guān)鍵詞:雨課堂;教學(xué)過(guò)程管理;智能推理;學(xué)習(xí)效果評(píng)估;成績(jī)排名預(yù)測(cè)
Abstract: For the courses that use "rain classroom" for teaching, dynamically build the course's teaching process knowledge base and its reasoning system. In the course teaching process knowledge base, the logical inference language Prolog is used for intelligent reasoning, intelligently answering some questions about student learning during the course teaching, and can dynamically assess the learning effect of students, predict and sort students' course performance. The intelligent teaching process inference system can assist teachers to evaluate and feedback problems in the course of teaching in a timely manner, and adjust teaching content and teaching methods in real time.
一、概述
“雨課堂”在大學(xué)課程的廣泛使用,科學(xué)地覆蓋了課前、課上、課后的每一個(gè)教學(xué)環(huán)節(jié),為師生提供完整立體的教學(xué)過(guò)程數(shù)據(jù)支持[1-2]。雖然說(shuō)“雨課堂”平臺(tái)比較詳實(shí)記錄了課程的教學(xué)過(guò)程,但是教學(xué)過(guò)程的數(shù)據(jù)沒(méi)有活起來(lái),對(duì)教學(xué)過(guò)程評(píng)價(jià)起到的支撐作用沒(méi)有很好體現(xiàn)出來(lái)。比如,要在某個(gè)特定情況下對(duì)有些學(xué)生提出學(xué)習(xí)上的警告,“雨課堂”并不能回答。問(wèn)題在于,雨課堂是通用的課程平臺(tái),并沒(méi)有很好地結(jié)合具體課程的不同高校的各種教務(wù)教學(xué)過(guò)程規(guī)則等;二是教學(xué)過(guò)程各個(gè)時(shí)段的數(shù)據(jù)沒(méi)有知識(shí)化的組織起來(lái),各個(gè)數(shù)據(jù)之間比較孤立,出勤數(shù)據(jù)就是出勤,作業(yè)數(shù)據(jù)就是作業(yè)完成情況數(shù)據(jù),并沒(méi)有把數(shù)據(jù)聯(lián)系起來(lái)考慮。但是這些數(shù)據(jù)之間是有聯(lián)系的,一般說(shuō)來(lái)沒(méi)有上課的人其作業(yè)完成情況也不樂(lè)觀。數(shù)據(jù)之間沒(méi)有產(chǎn)生關(guān)聯(lián),僅有的只是簡(jiǎn)單的統(tǒng)計(jì)圖和單項(xiàng)排序,沒(méi)有發(fā)揮“智能化”課堂的全部?jī)?yōu)勢(shì)。如果把學(xué)生的學(xué)習(xí)行為數(shù)據(jù)和學(xué)習(xí)效果數(shù)據(jù)聯(lián)系起來(lái)考慮,對(duì)學(xué)習(xí)過(guò)程評(píng)價(jià)和學(xué)習(xí)效果評(píng)估將起到積極的作用。
本文把雨課堂教學(xué)過(guò)程的數(shù)據(jù)組織成課程教學(xué)過(guò)程的知識(shí)庫(kù),并基于邏輯編程語(yǔ)言Prolog利用知識(shí)推理的方法和技術(shù),來(lái)智能回答課程教學(xué)過(guò)程中和學(xué)校教務(wù)規(guī)則的相關(guān)問(wèn)題,讓教師和教務(wù)機(jī)構(gòu)對(duì)課程的教學(xué)管理更加智能化。
二、“雨課堂”的數(shù)據(jù)收集和整理
數(shù)據(jù)的采集主要從具體課程“雨課堂”教學(xué)平臺(tái)上自動(dòng)導(dǎo)出成Excel文件,這些數(shù)據(jù)采集下來(lái)后按需要進(jìn)行整理和標(biāo)識(shí)。Excel文件是一個(gè)二維表,從雨課堂教學(xué)過(guò)程中整理出來(lái)的表主要有:學(xué)生情況表,教師情況表,教學(xué)資源情況表,教學(xué)過(guò)程表。
學(xué)生情況表,教師情況表,教學(xué)資源情況表這三個(gè)表數(shù)據(jù)主要記錄一些靜態(tài)事實(shí)數(shù)據(jù),如學(xué)生和教師的基本信息、出勤情況、教學(xué)資源的創(chuàng)建和使用情況等等。教學(xué)過(guò)程表的內(nèi)容按照時(shí)間順序記錄每一次教學(xué)活動(dòng)的情況,包括課前預(yù)習(xí)的情況,課堂進(jìn)行中課堂問(wèn)答的情況,課后閱讀資料情況,課后完成作業(yè)情況,課后討論交流情況等,是教學(xué)過(guò)程的主要數(shù)據(jù)。
這些數(shù)據(jù)是為建立教學(xué)過(guò)程知識(shí)庫(kù)準(zhǔn)備的。這個(gè)數(shù)據(jù)隨著教學(xué)過(guò)程的進(jìn)行不斷增加,直到課程結(jié)束,數(shù)據(jù)才停止更新。
三、教學(xué)過(guò)程知識(shí)庫(kù)
Prolog邏輯編程語(yǔ)言建立在邏輯學(xué)的理論基礎(chǔ)之上,廣泛應(yīng)用于人工智能的研究中[3-6]。Prolog的基本語(yǔ)句有:事實(shí)、規(guī)則、目標(biāo)這三種基本語(yǔ)句。它們以“謂詞”的形式表達(dá),一方面,謂詞清楚簡(jiǎn)單,語(yǔ)句類型少,因而文法簡(jiǎn)潔,程序邏輯性強(qiáng),清晰易懂;另一方面,Prolog是陳述性語(yǔ)言,它只依靠事實(shí)制定規(guī)則,并不需要在程序中列出詳細(xì)的求解步驟,就能使用內(nèi)部的演繹推理機(jī)制自動(dòng)求解程序給定的目標(biāo)。其推理過(guò)程是一種基于匹配的查詢機(jī)制,查詢的模板叫做目標(biāo),如果有某個(gè)查詢與目標(biāo)匹配,那么查詢就成功了。查詢就是提問(wèn)的機(jī)制,后文會(huì)看到我們的所有教學(xué)過(guò)程的抽象任務(wù)或者教務(wù)規(guī)則等都能表示成查詢,然后在知識(shí)庫(kù)中尋找答案。Prolog具有幾個(gè)顯著的特點(diǎn)不同于命令式和面向?qū)ο蟮木幊陶Z(yǔ)言,首先, Prolog語(yǔ)言程序沒(méi)有特定的運(yùn)行順序,是一種描述性的語(yǔ)言,只要用特定的方式來(lái)描述一個(gè)問(wèn)題,然后由計(jì)算機(jī)自動(dòng)找到這個(gè)問(wèn)題的答案。其次,Prolog程序?qū)嶋H上是一個(gè)智能數(shù)據(jù)庫(kù),它的程序和數(shù)據(jù)高度統(tǒng)一。知識(shí)庫(kù)由知識(shí)表示和推理規(guī)則組成,分別叫做事實(shí)庫(kù)和規(guī)則庫(kù),在其上基于查詢機(jī)制能進(jìn)行邏輯推理。
(一)知識(shí)表示
Prolog中的知識(shí)表示用謂詞表示,構(gòu)成事實(shí)庫(kù)。首先是簡(jiǎn)單事實(shí),如student(“Tom”)就是一條Prolog程序語(yǔ)言,表示Tom是一個(gè)學(xué)生,student是我們定義的一元謂詞表示“是學(xué)生”;又如定義二元謂詞preview(X,Y)表示X學(xué)生對(duì)課程Y進(jìn)行了預(yù)習(xí),則一個(gè)事實(shí)preview(“Tom”,class_One)表示Tom預(yù)習(xí)了課程class_One;又比如定義三元謂詞classAnswer(X,Y,Z)為X在課堂上回答了Y問(wèn)題,老師給出評(píng)價(jià)為Z,則事實(shí)語(yǔ)句classAnswer(“Tom”, class_One_3, good)可解釋成Tom在課堂上回答了問(wèn)題class_One_3,回答的結(jié)果是good。
在整理好的“雨課堂”課程教學(xué)過(guò)程數(shù)據(jù)基礎(chǔ)上,根據(jù)我們要建立的知識(shí)系統(tǒng),先仔細(xì)設(shè)計(jì)好用來(lái)表示各種需要的實(shí)施的謂詞的名稱,以及括號(hào)里的參數(shù),并記錄和精確描述好它們的意義和解釋,然后用其它的編程語(yǔ)言如C,java等,編寫程序把整理好的數(shù)據(jù)自動(dòng)轉(zhuǎn)換成Prolog語(yǔ)言,作為知識(shí)庫(kù)系統(tǒng)事實(shí)庫(kù)的一部分,事實(shí)庫(kù)是智能推理的基礎(chǔ)數(shù)據(jù)部分。
(二)規(guī)則
所有規(guī)則構(gòu)成規(guī)則庫(kù),是進(jìn)行智能推理的關(guān)鍵部分。教學(xué)過(guò)程知識(shí)庫(kù)的規(guī)則建立是系統(tǒng)設(shè)計(jì)的主要部分。Prolog規(guī)則由頭和體組成,頭和體都是謂詞:head:- bodyhead表示要查詢的目標(biāo),body表示查詢的條件,是多個(gè)由逗號(hào)分開(kāi)的謂詞序列,符號(hào)“:-”連接頭和體,表示如果。
根據(jù)教學(xué)過(guò)程評(píng)估的需要,我們建立六類規(guī)則,基本事實(shí)規(guī)則類,如查詢?nèi)藬?shù)、課程資源等;課前預(yù)習(xí)規(guī)則類,如班級(jí)預(yù)習(xí)率、個(gè)人預(yù)習(xí)率、預(yù)習(xí)評(píng)價(jià)規(guī)則等;課堂教學(xué)規(guī)則,如回答問(wèn)題得分規(guī)則、學(xué)生參與課堂規(guī)則、學(xué)生提問(wèn)規(guī)則等;課后復(fù)習(xí)規(guī)則類,如課后資源閱讀情況規(guī)則、課后習(xí)題完成規(guī)則、與老師同學(xué)交流規(guī)則等等;總體教學(xué)效果評(píng)估規(guī)則,如教學(xué)全過(guò)程學(xué)生參與度、教師反饋規(guī)則、學(xué)生成績(jī)計(jì)分規(guī)則,學(xué)生出勤規(guī)則等;學(xué)生成績(jī)?cè)u(píng)估和預(yù)測(cè)規(guī)類:如學(xué)生課程成績(jī)?cè)u(píng)價(jià)規(guī)則、學(xué)生重修預(yù)警、學(xué)生成績(jī)排名預(yù)測(cè)、學(xué)生學(xué)習(xí)提醒規(guī)則等等。
這些規(guī)則作為知識(shí)系統(tǒng)的規(guī)則庫(kù)存儲(chǔ)在系統(tǒng)中,是依據(jù)教學(xué)過(guò)程對(duì)學(xué)生學(xué)習(xí)成績(jī)進(jìn)行智能評(píng)價(jià)的主要設(shè)計(jì)部分,也是教務(wù)規(guī)則的主要表現(xiàn)部分,是推理的重要依據(jù)。這部分的主要特點(diǎn)是,規(guī)則可動(dòng)態(tài)增加,規(guī)則可根據(jù)需要靈活修改,便于教師的教學(xué)過(guò)程管理和教務(wù)的教學(xué)管理。另外,可以根據(jù)需要很方便地重新開(kāi)發(fā)或者更新已有的規(guī)則。
(三)推理
課程教學(xué)過(guò)程知識(shí)庫(kù)中的推理就是從雨課堂數(shù)據(jù)中轉(zhuǎn)換成的事實(shí)庫(kù)中,利用定義好的幾類規(guī)則,自動(dòng)地找出教學(xué)過(guò)程中需要的信息和知識(shí)。推理任務(wù)直接根據(jù)教學(xué)過(guò)程中的具體需求建立,然后把任務(wù)分解成知識(shí)庫(kù)的查詢目標(biāo)。例如,課程教學(xué)過(guò)程中有一個(gè)學(xué)生重修預(yù)警的教務(wù)要求,在學(xué)生缺勤率快達(dá)到1/3的時(shí)候,對(duì)學(xué)生進(jìn)行不能參加期末考試準(zhǔn)備重修的預(yù)警;同時(shí)根據(jù)教師的要求,學(xué)生的作業(yè)完成率達(dá)不到1/3的時(shí)候,也要給學(xué)生提醒不能參加期末考試。這時(shí)可以建立一個(gè)查詢目標(biāo),也是一個(gè)規(guī)則,
alertStudents(X) :- students(X),
attendanceRate(X, Ra), Ra > 1/3 - 0.1,
didHomeworksRate(X, Rh), Rh < 2/3 - 0.1,
write(X), nl,
write(Ra), write(Rb), nl.
這條規(guī)則很簡(jiǎn)潔地定義了一個(gè)推理任務(wù),第一行表明X是這個(gè)班的學(xué)生,第二行表示這個(gè)學(xué)生X的出勤率Ra快達(dá)到了1/3,地三行表示學(xué)生X的作業(yè)完成率快達(dá)到了2/3,第四行把學(xué)生的姓名打印出來(lái),第五行給出具體的出勤率和作業(yè)完成率。只需要把這個(gè)任務(wù)提交給知識(shí)系統(tǒng),系統(tǒng)會(huì)自動(dòng)推理給出所有的該預(yù)警的學(xué)生,并逐一給出理由。這個(gè)例子很好地說(shuō)明,在教學(xué)過(guò)程業(yè)務(wù)需求分析的基礎(chǔ)上,直接把要解決的問(wèn)題表示成知識(shí)系統(tǒng)的推理事務(wù)即可,不需要關(guān)注具體的業(yè)務(wù)實(shí)現(xiàn)過(guò)程,知識(shí)系統(tǒng)會(huì)自動(dòng)完成任務(wù)并給出解答。這樣實(shí)際上,程序開(kāi)發(fā)的任務(wù)都關(guān)注在業(yè)務(wù)上,完成的效率將大大提升,質(zhì)量也將提高,而且靈活性高,可擴(kuò)展性極大提高了。
四、學(xué)生成績(jī)智能評(píng)估
在知識(shí)系統(tǒng)的知識(shí)庫(kù)和規(guī)則庫(kù)建立好之后,學(xué)生成績(jī)?cè)u(píng)估問(wèn)題實(shí)際上是建立學(xué)生成績(jī)?cè)u(píng)估推理事務(wù)的過(guò)程,這個(gè)過(guò)程就是一個(gè)建立規(guī)則的過(guò)程,推理事務(wù)可以直接提交給系統(tǒng)自動(dòng)完成。
(一)單個(gè)學(xué)生學(xué)習(xí)效果總體評(píng)估
首先建立一個(gè)overall謂詞,用來(lái)了解每個(gè)學(xué)生的總體情況,根據(jù)具體的成績(jī)計(jì)算規(guī)則(例如:預(yù)習(xí)率占比10%,考勤率占比10%,課后練習(xí)作答率占比30%,回答問(wèn)題率占比30%,優(yōu)秀回答率占比20%),來(lái)建立這個(gè)謂詞的推理事務(wù)規(guī)則:
又比如,根據(jù)等級(jí)制對(duì)學(xué)生成績(jī)進(jìn)行評(píng)估的推理事務(wù)evaluate:
(二)教學(xué)過(guò)程中學(xué)生課程成績(jī)預(yù)警
在學(xué)生期末復(fù)習(xí)的階段,教師可能需要對(duì)班上學(xué)生的學(xué)習(xí)情況有個(gè)大致的把握,比如,對(duì)學(xué)生的學(xué)習(xí)成績(jī)有個(gè)預(yù)估,看哪些同學(xué)可能考試不及格,及時(shí)給予提醒和更多的指導(dǎo)。根據(jù)學(xué)生個(gè)體的評(píng)估和評(píng)價(jià),可以重新給出預(yù)警規(guī)則,這時(shí)可以重用上面的evaluate推理事務(wù)來(lái)建立alertStudents2,
根據(jù)規(guī)則和經(jīng)驗(yàn)認(rèn)為總體評(píng)估在2.0以下的學(xué)生就要預(yù)警。這里由兩個(gè)規(guī)則組成了推理事務(wù),分別是alertStudents2和alert,并且重用了student規(guī)則和evaluate規(guī)則。
(三)學(xué)生成績(jī)預(yù)測(cè)
如果要對(duì)學(xué)生的相對(duì)學(xué)習(xí)情況進(jìn)行比較,可能需要對(duì)考試成績(jī)進(jìn)行排名預(yù)測(cè)。根據(jù)學(xué)習(xí)情況對(duì)學(xué)生的學(xué)習(xí)結(jié)果進(jìn)行預(yù)測(cè)是一個(gè)有趣的推理事務(wù)。預(yù)測(cè)一般有兩種方法,一種是從歷史數(shù)據(jù)預(yù)測(cè),但是一門課程往往只針對(duì)一批學(xué)生講授一次,故只有這門課程的歷史數(shù)據(jù),沒(méi)有這批學(xué)生的歷史數(shù)據(jù)可以參考。還有就是用推理事務(wù)建立一種基于規(guī)則的預(yù)測(cè)模型來(lái)進(jìn)行預(yù)測(cè),這里采取這種方法。根據(jù)經(jīng)驗(yàn)建立成績(jī)排名預(yù)測(cè)的推理事務(wù),一般evaluate綜合評(píng)估高的學(xué)生其排名靠前,綜合評(píng)估的參數(shù)涉及到出勤率、作業(yè)完成率、課堂參與度、回答問(wèn)題的參與率、雨課堂資料的使用率、預(yù)習(xí)率、與老師交流情況、提問(wèn)頻率、提問(wèn)深度等9個(gè),并依據(jù)經(jīng)驗(yàn)給出了各參數(shù)的權(quán)重,進(jìn)行簡(jiǎn)單地線性計(jì)算求得綜合評(píng)估值,然后按數(shù)值排序,作為學(xué)生課程成績(jī)排名的預(yù)測(cè)值。
findall查詢所有的學(xué)生,forall這行對(duì)每個(gè)學(xué)生的綜合成績(jī)進(jìn)行預(yù)測(cè)preEvaluate,pair規(guī)則把學(xué)生和預(yù)估總成績(jī)對(duì)應(yīng)起來(lái),建立一個(gè)key-value對(duì)的列表放在Pairs中,keysort對(duì)Pairs列表按照預(yù)估值進(jìn)行排序。
五、應(yīng)用和效果
基于一門課程一學(xué)期的雨課堂數(shù)據(jù)(學(xué)生48人,36學(xué)時(shí),一個(gè)教師,16次課后作業(yè),每次課程3-5次提問(wèn),隨時(shí)增加的課程資源,雨課堂作業(yè)2次較大試卷每次30題,每次3-5個(gè)問(wèn)題的多次小問(wèn)答),建立好的課程教學(xué)過(guò)程知識(shí)庫(kù)由8000多個(gè)事實(shí),和90多條規(guī)則組成,事實(shí)和規(guī)則根據(jù)需要隨時(shí)增加和修改,數(shù)目常常變動(dòng)。
把學(xué)生成績(jī)預(yù)測(cè)和期末考試的真實(shí)成績(jī)進(jìn)行了比較,其大致的分布情況如圖1所示,總體看來(lái),預(yù)測(cè)的總體成績(jī)偏高了點(diǎn),實(shí)際考試成績(jī)與老師出題的難度有關(guān),預(yù)測(cè)中并沒(méi)有考慮教師出題的情況。
對(duì)學(xué)生成績(jī)排名的預(yù)測(cè)能更好地反映真實(shí)情況,表1是每個(gè)學(xué)生的排名情況比較。
圖2可以看出全班學(xué)生的預(yù)測(cè)名次和實(shí)際名次的差異,實(shí)際名次可以看成是預(yù)測(cè)名次一個(gè)近似線性擬合曲線,基本上準(zhǔn)確。預(yù)測(cè)名次和實(shí)際名次的均方根(RMSE)是4.96,考試成績(jī)和教學(xué)過(guò)程記錄的學(xué)習(xí)情況基本吻合。對(duì)實(shí)際名次的第34名預(yù)測(cè)偏差比較大,可能由于該同學(xué)積極參與教學(xué)過(guò)程,但是學(xué)習(xí)方法尚欠缺,對(duì)實(shí)際名次的第10名預(yù)測(cè)偏差也大,反映了該同學(xué)課下采取其他方式積極學(xué)習(xí),但是并不熱衷于在雨課堂平臺(tái)上的參與。去掉這兩名同學(xué)的情況,則預(yù)測(cè)名次和實(shí)際名次的均方根(RMSE)是2.11,說(shuō)明名次預(yù)測(cè)在2-3名之間的準(zhǔn)確率大約在95%。
六、結(jié)束語(yǔ)
教學(xué)過(guò)程知識(shí)庫(kù)系統(tǒng)的建立對(duì)“雨課堂”教學(xué)環(huán)境中教學(xué)過(guò)程的管理是一個(gè)很好的補(bǔ)充,它能用靈活問(wèn)答的形式回答教學(xué)過(guò)程中的一些較復(fù)雜問(wèn)題,并能夠?qū)W(xué)生的學(xué)習(xí)效果進(jìn)行簡(jiǎn)單評(píng)價(jià),對(duì)學(xué)生的課程成績(jī)排名進(jìn)行預(yù)測(cè),名次預(yù)測(cè)在2-3名之間的準(zhǔn)確率達(dá)到了95%。進(jìn)一步完善和豐富事實(shí)庫(kù)和規(guī)則庫(kù),建立更精細(xì)更準(zhǔn)確的教學(xué)過(guò)程推理事務(wù),更好地為課程教學(xué)過(guò)程管理、控制與評(píng)估服務(wù),是今后的主要工作。
參考文獻(xiàn):
[1]井媛.建構(gòu)主義視角下的大學(xué)英語(yǔ)智慧課堂構(gòu)建策略研究[J].湖北開(kāi)放職業(yè)學(xué)院學(xué)報(bào),2018,31(22):156-157+166.
[2]陳立暢,冷雪梅,唐秀英,等.基于“雨課堂”的《質(zhì)量管理學(xué)》教學(xué)改革與實(shí)踐[J].教育現(xiàn)代化,2019,6(11):72-74.
[3]李娜,王湘云.基于謂詞邏輯的Prolog程序設(shè)計(jì)[J].西南大學(xué)學(xué)報(bào)(社會(huì)科學(xué)版),2009,35(06):48-52.
[4]蔡自興,徐光.人工智能及其應(yīng)用[M].清華大學(xué)出版社,2002.
[5]Clocksin W F, Mellish C S. Programming in Prolog[M]. Springer-Verlag, 2003.
[6]J. Nichol, J. Dean, J. Briggs. Teachers encounter PROLOG[J]. Journal of Computer Assisted Learning, 2008,2(2):74-82.