袁 梁,范彥彬
(1.無錫城市職業(yè)技術(shù)學(xué)院 師范學(xué)院,江蘇 無錫 214000;2.江南大學(xué) 教師卓越中心,江蘇 無錫 214000)
結(jié)構(gòu)化查詢語言(Structured Query Language)簡(jiǎn)稱SQL,是一種完整的數(shù)據(jù)庫語言。它是基于關(guān)系代數(shù)和元組關(guān)系演算構(gòu)建的[1],旨在存取、查詢、更新管理關(guān)系數(shù)據(jù)庫管理系統(tǒng)中的數(shù)據(jù)。SQL是使用最廣泛的數(shù)據(jù)庫語言,在計(jì)算機(jī)學(xué)科的課程教學(xué)中占據(jù)重要地位,計(jì)算機(jī)專業(yè)的學(xué)生都應(yīng)該掌握它。盡管SQL的語法看似簡(jiǎn)單,但它并不易于掌握。它與過程或面向?qū)ο蟮恼Z言不同,因?yàn)镾QL本質(zhì)上是一種聲明性語言,聲明的變量可靈活獲取,SQL編程須處理變量賦值的集合,集合中的一組變量賦值沒有任何特定的順序。開發(fā)人員在使用變量時(shí)必須理解變量當(dāng)前賦值的含義才能達(dá)到預(yù)期目的。
客觀地講許多學(xué)習(xí)者在學(xué)習(xí)SQL方面有困難,并且這個(gè)問題在整個(gè)課程學(xué)習(xí)過程中持續(xù)存在。這首先是由于SQL的內(nèi)容眾多,SQL課程包含許多主題,例如SQL語法、SQL運(yùn)算符、SQL函數(shù)、SQL存儲(chǔ)過程、Select、Union、Join、distinct、Order、Group、Having等等,這些主題必須在有限的時(shí)間內(nèi)教授;其次是與教學(xué)資源相關(guān),一堂課中學(xué)習(xí)者的數(shù)量較多,講師在課堂上可能無法響應(yīng)全部的問題;再次是與學(xué)習(xí)者自身有關(guān),缺乏先驗(yàn)知識(shí)、學(xué)習(xí)能力以及學(xué)習(xí)時(shí)間分配等問題。因此如何解決上述問題對(duì)于SQL的教學(xué)顯得至關(guān)重要,國內(nèi)外學(xué)者在這方面做了很多有意義的研究, Renaud[2]等人提出了兩種不同的教學(xué)方法來教授SQL,他們從心理模型和認(rèn)知方面比較了兩種方法的差異,Piyayodilokchai[3]、Folland[4]等學(xué)者討論了理論知識(shí)和實(shí)踐操作在數(shù)據(jù)庫和SQL學(xué)習(xí)中的重要性。
然而學(xué)習(xí)本質(zhì)是建構(gòu)主義,學(xué)習(xí)者必須確定需要構(gòu)建的SQL基礎(chǔ)知識(shí)。對(duì)基礎(chǔ)知識(shí)的缺乏或理解不充分將不可避免地導(dǎo)致無法全面理解SQL.本文提出的SQL個(gè)性化智能教學(xué)輔導(dǎo)系統(tǒng)(簡(jiǎn)稱SQL-PITS)框架,為不同類型的學(xué)習(xí)者提供自適應(yīng)的學(xué)習(xí)教程、學(xué)習(xí)材料和評(píng)估方法,隨時(shí)為學(xué)習(xí)者提供課外教學(xué)輔導(dǎo),從而使學(xué)習(xí)者獲得更好的理解并補(bǔ)充缺少的知識(shí)。
本體是一種用于知識(shí)表示、共享、重用和互操作的形式化表達(dá)和構(gòu)建工具,隨著人工智能技術(shù)在教育領(lǐng)域的不斷應(yīng)用,它在智能教學(xué)輔導(dǎo)系統(tǒng)的設(shè)計(jì)與開發(fā)中扮演著越來越重要的角色。
本文基于學(xué)習(xí)對(duì)象構(gòu)建了SQL個(gè)性化智能教學(xué)輔導(dǎo)系統(tǒng)的三個(gè)本體模型。學(xué)習(xí)對(duì)象是SQL-PITS的原子教學(xué)組件,每個(gè)學(xué)習(xí)對(duì)象都具有獨(dú)立的內(nèi)容,并可以與其他學(xué)習(xí)對(duì)象針對(duì)不同的學(xué)習(xí)者和學(xué)習(xí)環(huán)境一起使用或重用,它們也可以重新組合在一起形成新的更大尺寸的學(xué)習(xí)對(duì)象。學(xué)習(xí)對(duì)象適合根據(jù)不同學(xué)習(xí)者的特征,利用本體來組織教學(xué)內(nèi)容[5]。本體利用語義Web在部署和重用學(xué)習(xí)對(duì)象方面起著關(guān)鍵作用,本體有助于更靈活地描述與學(xué)習(xí)對(duì)象相關(guān)的元數(shù)據(jù)和其他信息,有助于學(xué)習(xí)對(duì)象更便捷地搜索和交換信息。本體可用于確定領(lǐng)域內(nèi)概念以及用于在學(xué)習(xí)對(duì)象中標(biāo)記術(shù)語,允許不同的系統(tǒng)組件對(duì)學(xué)習(xí)對(duì)象的語義達(dá)成共識(shí)。這是SQL-PITS知識(shí)庫模型構(gòu)建的主要基礎(chǔ)。
此外,SQL-PITS基于各種教學(xué)策略本體和教學(xué)設(shè)計(jì)理論,還具有根據(jù)學(xué)習(xí)者模型,智能搜索、選擇、分配適當(dāng)?shù)膶W(xué)習(xí)對(duì)象構(gòu)建學(xué)習(xí)課程的能力[6]。本體在SQL-PITS中的關(guān)鍵作用是設(shè)計(jì)獨(dú)立的課程內(nèi)容,并為不同學(xué)習(xí)者提供個(gè)性化的學(xué)習(xí)教程。
SQL-PITS的系統(tǒng)結(jié)構(gòu)包含四個(gè)模塊:知識(shí)庫模塊、學(xué)習(xí)者模塊、教學(xué)模塊和接口模塊。知識(shí)庫模塊、學(xué)習(xí)者模塊、教學(xué)模塊由本體進(jìn)行描述,可以有效明確各模塊組件之間的界限和通信關(guān)系,并根據(jù)學(xué)習(xí)者的知識(shí)水平、偏好和背景知識(shí)提供個(gè)性化的學(xué)習(xí)課程。圖1顯示了基于本體的SQL-PITS系統(tǒng)結(jié)構(gòu)。
圖1 基于本體的SQL-PITS系統(tǒng)結(jié)構(gòu)圖
接口模塊用于識(shí)別學(xué)習(xí)者的意圖,并負(fù)責(zé)組成要呈現(xiàn)給學(xué)習(xí)者的信息,它與教學(xué)模塊交互有關(guān)學(xué)習(xí)者的信息,例如個(gè)人資料、所選主題、學(xué)習(xí)主題和背景知識(shí)。接口模塊還為教師生成圖形用戶界面,以便更新學(xué)習(xí)資料。知識(shí)庫模塊包含了SQL內(nèi)容知識(shí)庫,是SQL-PITS的基礎(chǔ)。學(xué)習(xí)者模塊包含有關(guān)學(xué)習(xí)者的信息, 此信息會(huì)不斷更新,并由教學(xué)模塊調(diào)用。教學(xué)模塊用于確定系統(tǒng)的本體策略,每個(gè)策略都是一條規(guī)則。教學(xué)模塊明確了課程的教學(xué)目標(biāo)以及在學(xué)習(xí)過程的每個(gè)階段中應(yīng)用的教學(xué)策略。教學(xué)模塊是系統(tǒng)的核心,它互連系統(tǒng)中的每個(gè)組件,更新并查詢其他模塊組件。
SQL知識(shí)本體是SQL-PITS的SQL內(nèi)容知識(shí)庫。SQL知識(shí)域基于ACM / IEEE計(jì)算機(jī)協(xié)會(huì)的計(jì)算機(jī)科學(xué)課程框架。設(shè)計(jì)SQL知識(shí)本體的主要概念來源于三部分:計(jì)算機(jī)科學(xué)課程框架要求的學(xué)習(xí)目標(biāo)、學(xué)院SQL課程要求的教學(xué)目標(biāo)、以及SQL知識(shí)域內(nèi)學(xué)習(xí)對(duì)象元數(shù)據(jù)(LOM)。SQL-PITS將要學(xué)習(xí)的知識(shí)單元,稱為“主題”,它們是與SQL內(nèi)容和教學(xué)策略分離的模塊化單元,主題包括內(nèi)容項(xiàng),示例項(xiàng),練習(xí)項(xiàng)和評(píng)估項(xiàng)。SQL知識(shí)庫、SQL概念圖(包括SQL教學(xué)策略)和SQL教學(xué)目標(biāo)等材料從講師、書籍和網(wǎng)站中收集,材料的有效性通過Delphi技術(shù)[7]進(jìn)行檢查。
SQL知識(shí)本體依據(jù)SQL概念圖建立主題之間的關(guān)系。特定域可以具有各種相互關(guān)聯(lián)的主題。主題之間可以存在多種關(guān)系,學(xué)習(xí)者能夠通過它們之間的關(guān)系將學(xué)習(xí)從一個(gè)主題導(dǎo)航到另一個(gè)主題。SQL知識(shí)本體的結(jié)構(gòu)如圖2所示。
圖2 SQL知識(shí)本體結(jié)構(gòu)圖
如果學(xué)習(xí)者第一次學(xué)習(xí)課程,系統(tǒng)將在課程開始之前給學(xué)習(xí)者進(jìn)行一次預(yù)先測(cè)試。通過這次測(cè)試,學(xué)習(xí)者模型可以評(píng)估學(xué)習(xí)者的知識(shí)水平并確定初始成績(jī)。在對(duì)學(xué)習(xí)者進(jìn)行初步評(píng)估之后,SQL-PITS會(huì)推薦SQL知識(shí)領(lǐng)域內(nèi)的相關(guān)基礎(chǔ)知識(shí),動(dòng)態(tài)生成課程主題,學(xué)習(xí)者可以自行選擇補(bǔ)習(xí)相應(yīng)主題。在所選主題補(bǔ)習(xí)完成后,SQL- PITS會(huì)對(duì)學(xué)習(xí)者進(jìn)行再次測(cè)試并評(píng)估其知識(shí)水平。如果學(xué)習(xí)者通過了測(cè)試,則他將繼續(xù)學(xué)習(xí)推薦課程,而無需更改課程。但是如果學(xué)習(xí)者的表現(xiàn)不符合預(yù)期,未能通過測(cè)試,系統(tǒng)將修改學(xué)習(xí)者的評(píng)估成績(jī),重新動(dòng)態(tài)生成課程。通過動(dòng)態(tài)再生,每個(gè)學(xué)習(xí)者都可以根據(jù)自己的需求獲得個(gè)性化的課程。
學(xué)習(xí)者模塊包含學(xué)習(xí)者信息以及相關(guān)主題的知識(shí)水平度量。學(xué)習(xí)者需要回答一份VARK問卷調(diào)查表[8],該問卷由16個(gè)問題組成,用于測(cè)試學(xué)習(xí)者偏愛四種學(xué)習(xí)方式中的哪一種。測(cè)試結(jié)果將存儲(chǔ)在學(xué)習(xí)者模型中,由教學(xué)模塊和接口模塊調(diào)用,依據(jù)測(cè)試結(jié)果為學(xué)習(xí)者選擇適合的學(xué)習(xí)材料。
學(xué)習(xí)者本體提供了所有有關(guān)學(xué)習(xí)者信息的映射關(guān)系。在本文,考慮了學(xué)習(xí)者的四種特征:1)學(xué)習(xí)者的個(gè)人信息,如姓名、ID、電子郵件等;2)學(xué)習(xí)者能力數(shù)據(jù),如學(xué)習(xí)者的知識(shí)水平、學(xué)習(xí)者的弱點(diǎn)等;3)學(xué)習(xí)者偏好數(shù)據(jù),使用VARK調(diào)查表確定的個(gè)人首選學(xué)習(xí)方式;4)學(xué)習(xí)者背景知識(shí),依據(jù)系統(tǒng)中的學(xué)習(xí)記錄評(píng)估的當(dāng)前水平。學(xué)習(xí)者本體的結(jié)構(gòu)如圖3所示。
圖3 學(xué)習(xí)者本體結(jié)構(gòu)圖
SQL常見課堂教學(xué)策略是教授SQL基礎(chǔ)概念、易于理解的SQL語法和語義,并輔以適合學(xué)習(xí)者知識(shí)水平的示例和練習(xí)。而教育人工智能系統(tǒng)(AIED)主要基于以下幾種方法來提高系統(tǒng)的教學(xué)專業(yè)水平:1)觀摩教師課堂的授課過程,然后對(duì)這些教師的優(yōu)質(zhì)專業(yè)教學(xué)示例進(jìn)行編碼;2)采用已經(jīng)被廣泛使用且有效的學(xué)習(xí)理論,3)觀察學(xué)生聽課過程,或者建立一個(gè)學(xué)生聽課的模擬模型[9]。
本文使用建構(gòu)主義學(xué)習(xí)理論來設(shè)計(jì)教學(xué)策略,策略數(shù)據(jù)來源主要包括觀察SQL教師的教學(xué)方法、觀察學(xué)習(xí)者在教室中的行為以及對(duì)三年以上講授SQL學(xué)科的教師的采訪。SQL-PITS教學(xué)策略由兩部分組成:主題選擇策略和主題內(nèi)容呈現(xiàn)策略(包括示例,練習(xí)和輔導(dǎo)材料)。教學(xué)策略本體依據(jù)一組條件和決策相關(guān)聯(lián)的規(guī)則來確定合適的策略,條件由來自各個(gè)組件的數(shù)據(jù)組成。系統(tǒng)首先根據(jù)學(xué)習(xí)者模型選擇合適的條件,然后依據(jù)學(xué)習(xí)者未掌握的主題檢查概念圖,設(shè)置必修內(nèi)容的主題順序。確定策略的條件是:1)每個(gè)主題學(xué)習(xí)者預(yù)先測(cè)試的評(píng)估結(jié)果,分為三個(gè)等級(jí):差、中等和優(yōu)良; 2)每個(gè)主題學(xué)習(xí)者再次測(cè)試的評(píng)估結(jié)果,分為四個(gè)等級(jí)來評(píng)估學(xué)習(xí)者對(duì)該SQL主題的學(xué)習(xí)效果:差、中等、優(yōu)良和無結(jié)果; 3)學(xué)習(xí)或未學(xué)習(xí)的主題選擇狀態(tài)。SQL教學(xué)策略本體的結(jié)構(gòu)如圖4所示。
圖4 SQL教學(xué)策略本體結(jié)構(gòu)圖
本文采用SWRL(語義Web規(guī)則語言)規(guī)則進(jìn)行SQL教學(xué)策略編碼,SWRL是以O(shè)WL Web本體語言的子語言O(shè)WL DL、 OWL Lite和RuleML為基礎(chǔ)的規(guī)則描述語言,其目的是為了驅(qū)使規(guī)則與OWL知識(shí)庫產(chǎn)生結(jié)合,提供更強(qiáng)的邏輯表達(dá)能力,SWRL規(guī)則可以從現(xiàn)有OWL知識(shí)庫中推斷出新知識(shí)[10]。從表1可以看出教學(xué)策略被實(shí)現(xiàn)為查找某個(gè)條件字段的SWRL規(guī)則。將這些策略建模為SWRL規(guī)則的優(yōu)點(diǎn)是:每個(gè)策略的計(jì)算都在本體中明確表示,并且可以查看和編輯,以及由其他模塊組件進(jìn)行推理。
表1 使用SWRL規(guī)則定義SQL教學(xué)策略的例子
本文采用GQM(Goal-Questions-Metrics)方法對(duì)本體進(jìn)行評(píng)估[11]。 GQM方法從目標(biāo)和提出的問題出發(fā),這使得度量可以聚焦于SQL本體的需求而不是數(shù)據(jù)本身。該評(píng)估過程包括3個(gè)步驟:
步驟1:確定SQL本體的目標(biāo)。擬采用的SQL本體將綜合考慮學(xué)習(xí)者的SQL先驗(yàn)知識(shí)、偏好、學(xué)習(xí)能力等多方面特征,這些特征與與本體論要素(完整性,一致性,簡(jiǎn)明性,精確性和清晰度)的要求是相符合的[12]。
步驟2:根據(jù)所需特征的定義和描述提出問題。 在確定了本體特征之后,將根據(jù)特征的定義和描述提出問題。每個(gè)期望目標(biāo)的實(shí)現(xiàn)都由幾個(gè)問題進(jìn)行度量,其中每個(gè)問題都有一個(gè)評(píng)估值。來自一組問題的評(píng)估值用于計(jì)算一個(gè)所需特性的度量。
步驟3:基于人工評(píng)估的度量定義。本文邀請(qǐng)了5位校內(nèi)外SQL和本體專家對(duì)SQL本體結(jié)構(gòu)進(jìn)行評(píng)估,他們通過捕獲本體的語義并在SQL領(lǐng)域知識(shí)的背景下評(píng)估本體的質(zhì)量。SQL本體特征的度量采用李克特五級(jí)量表法(five-point likert scale):將基于一組問題的特征評(píng)估值計(jì)算為平均值(Mean)、標(biāo)準(zhǔn)差(S.D.)和滿足度(Expressiveness Level),做為該組評(píng)估結(jié)果。
表2是依據(jù)5位專家提供的評(píng)估值計(jì)算的李克特五級(jí)量表,結(jié)果表明,SQL本體結(jié)構(gòu)具有良好的分類,結(jié)構(gòu)完整,內(nèi)部關(guān)系清晰。本體可用于根據(jù)每個(gè)學(xué)習(xí)者特征來組織包括學(xué)習(xí)對(duì)象在內(nèi)的課程主題選擇。
表2 SQL本體質(zhì)量專家評(píng)估表
本文提出了一種使用本體構(gòu)建的SQL-PITS自適應(yīng)和個(gè)性化教學(xué)系統(tǒng)框架。文中提出的三種本體模型分別對(duì)應(yīng)于SQL-PITS教學(xué)系統(tǒng)的三個(gè)模塊。系統(tǒng)模塊組件以本體形式顯式概念化有助于知識(shí)共享,知識(shí)重用,互操作以及系統(tǒng)的構(gòu)建。本體和學(xué)習(xí)對(duì)象被用于構(gòu)建SQL-PITS,他們可以相互操作并集成。
SQL-PITS包含SQL知識(shí)域內(nèi)的所有相關(guān)基礎(chǔ)知識(shí),可以提供由內(nèi)容、示例、練習(xí)和輔導(dǎo)材料組成的課程主題。課程主題與概念圖相關(guān)聯(lián),它根據(jù)學(xué)習(xí)者的個(gè)人能力、個(gè)人資料、偏好和背景知識(shí),提供解決學(xué)習(xí)者知識(shí)弱點(diǎn)的內(nèi)容來支持其課堂以外的個(gè)性化學(xué)習(xí)。它還側(cè)重于向?qū)W習(xí)者提供連續(xù)性和相互關(guān)聯(lián)的學(xué)習(xí)課程。
SQL-PITS從SQL講師、書籍和網(wǎng)站中收集SQL知識(shí)庫、SQL概念圖、SQL輔導(dǎo)策略和SQL輔導(dǎo)目標(biāo)等材料,用于SQL本體的設(shè)計(jì)和開發(fā),并使用Delphi技術(shù)檢查了材料的有效性。領(lǐng)域?qū)<也捎肎QM方法對(duì)SQL本體進(jìn)行了評(píng)估,評(píng)估結(jié)果表明SQL本體結(jié)構(gòu)在準(zhǔn)確度、完整性、清晰性和簡(jiǎn)潔性這4個(gè)本體特征上處于高水平,一致性特征處于較高水平。