王 丹,田廣強(qiáng)
(黃河交通學(xué)院 智能工程學(xué)院,河南 焦作 454950)
協(xié)同標(biāo)注作為Web 2.0的一部分,是對(duì)動(dòng)態(tài)內(nèi)容[1]進(jìn)行分類的重要工具。基于用戶對(duì)在線學(xué)習(xí)體驗(yàn)的要求逐步提高的趨勢(shì),我們研究了協(xié)同標(biāo)注技術(shù)在學(xué)習(xí)資源推薦系統(tǒng)中的應(yīng)用。協(xié)同標(biāo)注過程創(chuàng)建一組標(biāo)注,通常稱為大眾分類法,用于描述資源[2]。為了定義相關(guān)性,大眾分類法可以通過標(biāo)注過程向資源添加語義,其特點(diǎn)是不需要單獨(dú)的手動(dòng)索引器或自動(dòng)的關(guān)鍵字生成器[3]的支持。標(biāo)注過程允許用戶使用自己的重要詞匯或概念。在網(wǎng)絡(luò)學(xué)習(xí)環(huán)境中,標(biāo)注已被證明是一種成功的元認(rèn)知策略,它能使學(xué)生更有效地參與到學(xué)習(xí)過程中。標(biāo)注通過強(qiáng)調(diào)課文中最重要的部分,使學(xué)生可以更好地記住它。此外,標(biāo)注活動(dòng)可以激發(fā)學(xué)生更深入地參與到學(xué)習(xí)過程中,并幫助他們理解學(xué)習(xí)內(nèi)容[4]。
隨著越來越多的用戶開始使用標(biāo)注來提高學(xué)習(xí)的效果,基于標(biāo)注分析的方法也逐漸應(yīng)用于對(duì)推薦系統(tǒng)的改進(jìn)中[5]。本文以一個(gè)智能編程輔導(dǎo)系統(tǒng)(E-course)為基礎(chǔ),討論了如何將推薦系統(tǒng)和協(xié)同標(biāo)注相結(jié)合用于教學(xué)過程的問題。本文的研究重點(diǎn)是如何選擇合適的協(xié)同標(biāo)注技術(shù),以激發(fā)學(xué)生的學(xué)習(xí)動(dòng)機(jī)和增強(qiáng)對(duì)學(xué)習(xí)內(nèi)容的理解。我們將基于標(biāo)注的推薦方法應(yīng)用到E-course系統(tǒng)中,用來給學(xué)生提供最合適的學(xué)習(xí)資料。實(shí)驗(yàn)結(jié)果表明,本系統(tǒng)的個(gè)性化推薦結(jié)果與學(xué)生的興趣和先前獲得的知識(shí)相一致,同時(shí)還能簡(jiǎn)化學(xué)生之間的協(xié)作和交互。
在我們的這個(gè)推薦系統(tǒng)中,開發(fā)、使用并評(píng)估了最適合的基于張量因子分解技術(shù)的推薦模型,為學(xué)生推薦最合適的學(xué)習(xí)資源,實(shí)現(xiàn)了基于學(xué)習(xí)風(fēng)格模型的聚類技術(shù),減小了用于推薦的標(biāo)注空間。改進(jìn)的協(xié)同標(biāo)注技術(shù)縮短了推薦執(zhí)行時(shí)間,減少內(nèi)存需求,同時(shí)提高推薦質(zhì)量。
我們使用提出的方法進(jìn)行了幾個(gè)實(shí)驗(yàn),從而驗(yàn)證,可以通過系統(tǒng)生成的推薦意見,增強(qiáng)學(xué)生的學(xué)習(xí)動(dòng)機(jī)和效果;同時(shí),我們也從教師和學(xué)生的角度,對(duì)系統(tǒng)的性能進(jìn)行了評(píng)估;此外,我們還研究了協(xié)同標(biāo)注的過程,以及標(biāo)注的位置與其表達(dá)的相關(guān)性;最后,我們對(duì)標(biāo)注進(jìn)行了語義分析,以便更好地理解它們的不同用法。
根據(jù)傳統(tǒng),電子學(xué)習(xí)系統(tǒng)應(yīng)當(dāng)為學(xué)生提供具有個(gè)性化的學(xué)習(xí)指導(dǎo),幫助學(xué)生找到合適的學(xué)習(xí)材料,并適應(yīng)學(xué)生的需求、知識(shí)、才能和學(xué)習(xí)風(fēng)格。目前電子學(xué)習(xí)系統(tǒng)的主要局限性是[6]:需要根據(jù)各自的領(lǐng)域開發(fā)特定的和不同類型的應(yīng)用系統(tǒng),系統(tǒng)不可能把每個(gè)學(xué)生在每門課程學(xué)習(xí)中的具體需要都涵蓋其中。因此,研發(fā)為學(xué)習(xí)提供動(dòng)態(tài)支持的應(yīng)用系統(tǒng),通過為學(xué)生推薦合適的學(xué)習(xí)活動(dòng),以實(shí)現(xiàn)學(xué)生的學(xué)習(xí)目標(biāo),是十分必要和可取的。此外,該系統(tǒng)還具有在互聯(lián)網(wǎng)上發(fā)現(xiàn)適用的學(xué)習(xí)內(nèi)容的能力,并能夠?qū)⑦@些內(nèi)容針對(duì)學(xué)生的學(xué)習(xí)特點(diǎn)進(jìn)行調(diào)整、定制和個(gè)性化。
本文中我們將考查、整合基于標(biāo)注的電子學(xué)習(xí)系統(tǒng)新的框架。新的電子學(xué)習(xí)框架主要體現(xiàn)在能夠識(shí)別每個(gè)學(xué)生的學(xué)習(xí)特點(diǎn),以及根據(jù)最合適的標(biāo)注和學(xué)習(xí)項(xiàng)目為學(xué)生提供相應(yīng)的個(gè)性化學(xué)習(xí)指導(dǎo)[7]。標(biāo)注對(duì)學(xué)生的重要作用表現(xiàn)在以下幾方面[8-10]:
(1)標(biāo)注作為一種元認(rèn)知策略,能夠吸引學(xué)生參與到學(xué)習(xí)過程中來。
(2)對(duì)于教師來說,標(biāo)注傳遞的信息對(duì)于了解學(xué)生的學(xué)習(xí)活動(dòng)具有重要意義。
(3)標(biāo)注有助于學(xué)生總結(jié)學(xué)習(xí)活動(dòng),同時(shí)通過查看其他學(xué)生的標(biāo)注獲得有效的幫助。
(4)通過協(xié)同標(biāo)注,可以了解學(xué)生的學(xué)習(xí)進(jìn)度。在個(gè)人層面,有助于分析學(xué)生對(duì)學(xué)習(xí)材料的理解;在群體層面,有助于確定課程的整體進(jìn)度。
(5)電子學(xué)習(xí)系統(tǒng)目前缺乏對(duì)教材[8]進(jìn)行注釋的有效支持。然而,學(xué)生可以通過標(biāo)注參與許多注釋活動(dòng),如記筆記、突出顯示文本或標(biāo)注頁面。標(biāo)注允許學(xué)生添加評(píng)論、更正、鏈接或加入討論。
本文中,我們提出了基于張量因數(shù)分解(RTF)的排名方法,以提供基于標(biāo)注的推薦,并重點(diǎn)介紹了它們?cè)陔娮訉W(xué)習(xí)環(huán)境中的應(yīng)用。選擇這個(gè)模型是因?yàn)樗诒疚牡?節(jié)的比較研究中表現(xiàn)最好。本文中使用的其它方法的詳細(xì)信息見文獻(xiàn)[11-15]。
我們通過實(shí)驗(yàn)分析了RTF方法在電子學(xué)習(xí)環(huán)境中應(yīng)用標(biāo)注推薦的適用性,并比較了基于圖和張量的標(biāo)注推薦方法在電子學(xué)習(xí)環(huán)境中的適用性。正如將在第2節(jié)中介紹的那樣,所選技術(shù)的優(yōu)點(diǎn)是縮短了執(zhí)行時(shí)間并減少了內(nèi)存需求,同時(shí)保證了推薦質(zhì)量。
本項(xiàng)目開發(fā)了一個(gè)名為E-course的編程輔導(dǎo)系統(tǒng)。E-course允許學(xué)生在相應(yīng)的課程中學(xué)習(xí)個(gè)性化推薦的學(xué)習(xí)材料,并對(duì)學(xué)到的知識(shí)進(jìn)行測(cè)試。系統(tǒng)包含的典型課程之一是《Java編程入門》。選擇Java是因?yàn)樗敲嫦驅(qū)ο蟪绦蛟O(shè)計(jì)語言的一個(gè)典型,非常適合于面向?qū)ο蟾拍畹慕虒W(xué)。本課程是為沒有面向?qū)ο缶幊探?jīng)驗(yàn)的學(xué)生而設(shè)計(jì)的。E-course系統(tǒng)的架構(gòu)如圖1所示,包含了5個(gè)實(shí)用組件:學(xué)習(xí)模型、會(huì)話監(jiān)控、領(lǐng)域模塊、應(yīng)用模塊和適配模塊。
圖1 E-course系統(tǒng)架構(gòu)
學(xué)習(xí)模型用來收集學(xué)生有用的信息。學(xué)習(xí)模型的數(shù)據(jù)根據(jù)共享的質(zhì)量和特征[16]分為3類:
個(gè)人信息——學(xué)生在注冊(cè)時(shí)提供的信息。如個(gè)人信息、學(xué)習(xí)偏好、以前的知識(shí)等。學(xué)生可以在系統(tǒng)注冊(cè)時(shí)編輯這些信息。
活動(dòng)信息——系統(tǒng)對(duì)學(xué)生的學(xué)習(xí)活動(dòng)進(jìn)行監(jiān)控和記錄的信息。如學(xué)生的學(xué)習(xí)風(fēng)格、學(xué)習(xí)進(jìn)度和當(dāng)前知識(shí)水平、學(xué)生的疑惑和整體表現(xiàn)。
學(xué)習(xí)歷史信息——學(xué)生學(xué)習(xí)的課程和測(cè)試結(jié)果、學(xué)生與系統(tǒng)的互動(dòng)信息、對(duì)課程學(xué)習(xí)效果的評(píng)估信息等。這些信息可以自動(dòng)從E-course系統(tǒng)中導(dǎo)出。
為了跟蹤學(xué)生的學(xué)習(xí)活動(dòng)和進(jìn)度,會(huì)話監(jiān)控模塊在會(huì)話期間可以自動(dòng)對(duì)學(xué)習(xí)模型進(jìn)行更新。會(huì)話監(jiān)控模塊同時(shí)負(fù)責(zé)檢測(cè)和糾正學(xué)生的錯(cuò)誤,并對(duì)會(huì)話進(jìn)行相應(yīng)地重定向。
領(lǐng)域模塊包含所學(xué)課程的概念和對(duì)象、教材和測(cè)試的結(jié)果等,所含內(nèi)容的結(jié)構(gòu)由相應(yīng)的課程定義。E-course中的Java編程課程分為6個(gè)單元,每個(gè)單元包含幾個(gè)講座。每堂課(共18堂)包含幾個(gè)學(xué)習(xí)對(duì)象(LoS):教材、示例、理論部分和關(guān)鍵概念。為了檢查學(xué)習(xí)的效果,系統(tǒng)提供了測(cè)試單元。
應(yīng)用模塊是E-course系統(tǒng)的重要組成部分,其設(shè)計(jì)目的是使學(xué)習(xí)內(nèi)容適應(yīng)學(xué)生的個(gè)性。它支持不同的推薦技術(shù)和策略,旨在通過學(xué)習(xí)模型,推薦學(xué)習(xí)資源或提供特定的導(dǎo)航模式。
適配模塊基于推薦系統(tǒng)生成個(gè)性化的學(xué)習(xí)建議。它由3個(gè)組件組成,如圖2所示。
圖2 E-course系統(tǒng)的適配模塊(推薦組件)
(1)學(xué)生和系統(tǒng)的交互模塊。收集和準(zhǔn)備學(xué)習(xí)活動(dòng)的數(shù)據(jù),如訪問的頁面、獲得的分?jǐn)?shù)、測(cè)試的結(jié)果等。
(2)離線模塊。應(yīng)用學(xué)習(xí)模型和數(shù)據(jù)分析策略來識(shí)別學(xué)生的學(xué)生目標(biāo)和學(xué)習(xí)內(nèi)容。該模塊首先需要根據(jù)最初的問卷確定每個(gè)學(xué)生的學(xué)習(xí)風(fēng)格。學(xué)習(xí)內(nèi)容可以根據(jù)學(xué)習(xí)風(fēng)格、課程現(xiàn)狀和學(xué)生的所屬關(guān)系進(jìn)行篩選。
(3)推薦引擎。為學(xué)生群體創(chuàng)建一個(gè)推薦列表。即使對(duì)于學(xué)習(xí)興趣相似的學(xué)生,他們的學(xué)習(xí)能力也會(huì)因其知識(shí)水平的不同而不同,因此有必要首先對(duì)學(xué)生進(jìn)行聚類。我們提出了一種基于學(xué)生學(xué)習(xí)風(fēng)格的數(shù)據(jù)聚類方法,然后根據(jù)以下步驟創(chuàng)建推薦列表:
收集學(xué)生的學(xué)習(xí)標(biāo)注。
通過AprioriAll算法挖掘頻繁序列,識(shí)別學(xué)習(xí)模式。我們使用E-course系統(tǒng)提供的協(xié)同過濾方法,根據(jù)頻繁序列的評(píng)分生成學(xué)習(xí)資料的個(gè)性化推薦列表。
E-course系統(tǒng)的推薦組件可生成用于推薦的最佳標(biāo)注列表。我們通過實(shí)驗(yàn)將生成的標(biāo)注列表與系統(tǒng)以前版本的列表進(jìn)行比較。通過對(duì)基于標(biāo)注的推薦技術(shù)的比較,我們選用了下面的RTF(張量因數(shù)分解)技術(shù)來實(shí)現(xiàn)基于標(biāo)注的個(gè)性化推薦。推薦過程包括3個(gè)階段:初始張量的生成;張量分解的計(jì)算;生成推薦項(xiàng)目(學(xué)習(xí)內(nèi)容)的列表。
1.2.1 初始張量的生成
我們使用學(xué)生、項(xiàng)目(學(xué)習(xí)內(nèi)容)和標(biāo)注三維數(shù)據(jù)來生成初始張量。初始張量是一個(gè)三階張量A∈R|L|×|I|×|T|, 其中|L|、|I|、|T|分別是學(xué)生數(shù)據(jù)、項(xiàng)目數(shù)據(jù)和標(biāo)注數(shù)據(jù)的維數(shù)。例如,值 (A)litk=alit表示學(xué)生l用標(biāo)注t標(biāo)注一個(gè)項(xiàng)目i的次數(shù)。該階段包括下列步驟:
創(chuàng)建一個(gè)基于學(xué)習(xí)風(fēng)格的學(xué)生的集合。
確定學(xué)生使用的一組標(biāo)注。
解析由學(xué)生標(biāo)注的項(xiàng)目集。
遍歷學(xué)生、項(xiàng)目和標(biāo)注。確定當(dāng)前的項(xiàng)目是否被當(dāng)前的學(xué)生和當(dāng)前的標(biāo)注所標(biāo)注,并在張量中標(biāo)注可獲得的關(guān)聯(lián)。
如果學(xué)生沒有使用標(biāo)注標(biāo)注一個(gè)項(xiàng)目,則保持當(dāng)前學(xué)生與該項(xiàng)目的空關(guān)系。
我們的方法可以看作是一個(gè)基于學(xué)習(xí)風(fēng)格創(chuàng)建學(xué)習(xí)集的過程,而其它與之類似的方法在電子學(xué)習(xí)環(huán)境中還沒有應(yīng)用。也就是說,分類數(shù)據(jù)集的聚類的本質(zhì)是基于學(xué)生的學(xué)習(xí)風(fēng)格。很明顯,不同的學(xué)生有不同的學(xué)習(xí)偏好、學(xué)習(xí)需求和學(xué)習(xí)方法,因此,通過學(xué)生喜歡的學(xué)習(xí)環(huán)境使學(xué)生適應(yīng)系統(tǒng)并發(fā)現(xiàn)更高效的學(xué)習(xí)方法是非常重要的。學(xué)習(xí)風(fēng)格可以定義為學(xué)生專注、加工、吸收和記憶新的知識(shí)的獨(dú)特方式。它們是獨(dú)特的個(gè)人學(xué)習(xí)模式,因人而異。根據(jù)學(xué)習(xí)風(fēng)格類別形成聚類后,標(biāo)注推薦可用于發(fā)現(xiàn)對(duì)學(xué)生有用的知識(shí)。
我們選擇Felder-Silverman學(xué)習(xí)風(fēng)格模型[17]應(yīng)用于E-course。學(xué)習(xí)風(fēng)格可通過學(xué)習(xí)風(fēng)格指數(shù)(ILS)確定,ILS是一個(gè)研究學(xué)習(xí)風(fēng)格[18]的數(shù)據(jù)收集工具,其中包含了44個(gè)問題,通過對(duì)這些問題進(jìn)行多項(xiàng)的選擇并加以評(píng)分可獲取學(xué)習(xí)風(fēng)格。ILS評(píng)估了個(gè)人學(xué)習(xí)偏好在4個(gè)維度上的特征:信息感知、信息接收、信息處理和信息理解。ILS問卷所收集的結(jié)果被用來進(jìn)行適當(dāng)?shù)木垲?,以確定具有相似學(xué)習(xí)風(fēng)格偏好的學(xué)生群體。初始張量生成的算法如下所示。
算法1:產(chǎn)生初始張量
輸入:三元組列表 <學(xué)生(S),標(biāo)注(T),項(xiàng)目(I)>;
學(xué)生,標(biāo)注,項(xiàng)目的維度|S|,|T|,|I|;
輸出:初始張量A
算法過程:
確定一個(gè)學(xué)生的集合;
fors←0 to |S| do
獲得學(xué)生s, 把它加到學(xué)生集中
end;
獲得一個(gè)學(xué)生使用的標(biāo)注集;
獲得一個(gè)被學(xué)生標(biāo)注的項(xiàng)目集;
iniTensor = new double[|S|][|T|][|I|];
intsIndex=0;
fors∈SandsIndex<|S| do
fortIndex←0 to |T| do
foriIndex←0 to |I| do
if 學(xué)生標(biāo)注了一個(gè)當(dāng)前的項(xiàng)目
then iniTensor[tIndex][sIndex][iIndex]++;
end
end
end;
if 當(dāng)前學(xué)生=sthen
StoreEmptyRelations(iniTensor);
End
sIndex++;
End.
1.2.2 張量分解的計(jì)算
為了計(jì)算張量分解,首先定義初始張量,然后按照以下步驟:首先,初始張量被分成3個(gè)模式矩陣;其次,減少每個(gè)模式矩陣的維數(shù)以簡(jiǎn)化矩陣,然后根據(jù)簡(jiǎn)化的矩陣計(jì)算出一個(gè)核張量;最后,對(duì)矩陣進(jìn)行變換和乘法運(yùn)算,計(jì)算因式張量。
張量分解算法如下:
算法2:計(jì)算張量分解
輸入:初始張量A
學(xué)生,標(biāo)注和項(xiàng)目的維度:C1,C2,C3
輸出:定義映像張量A
把初始張量矩陣A分成A(1)模式,A(2)模式和A(3)模式,為每個(gè)模式計(jì)算SVD;
計(jì)算一個(gè)核心張量:減少維數(shù),執(zhí)行矩陣乘法;
為每個(gè)模式(1≤i≤3)產(chǎn)生更新矩陣Ci=A(i)A(i)T
通過使Ci(1≤i≤3) 對(duì)角線化計(jì)算U(i)
生成特征向量:U(1),U(2),U(3)
估計(jì)核心張量的近似值:S=A×(U(1))T×U(2)T×(U(3))T
計(jì)算映像張量:A=S×(U(1))×U(2)×(U(3))
1.2.3 生成推薦項(xiàng)目列表
標(biāo)注推薦的過程能夠預(yù)測(cè)學(xué)生喜歡用什么標(biāo)注來標(biāo)注一個(gè)項(xiàng)目,這意味著標(biāo)注推薦系統(tǒng)必須預(yù)測(cè)分解后的張量的數(shù)值,說明學(xué)生對(duì)某一特定標(biāo)注的偏愛程度。該系統(tǒng)為學(xué)生提供了一個(gè)個(gè)性化的列表,其中包含一個(gè)特定項(xiàng)目的最佳N個(gè)標(biāo)注。
教師利用E-course授權(quán)的工具,通過E-course系統(tǒng)的標(biāo)注界面,生成專門的學(xué)習(xí)資源。在顯示資源的同時(shí),E-course的用戶界面還提供了標(biāo)注創(chuàng)建和查看每個(gè)資源的選項(xiàng)。
E-course中的標(biāo)注菜單允許學(xué)生進(jìn)行標(biāo)注活動(dòng),如添加注釋、鏈接、更正或加入共享討論,如圖3所示。學(xué)生通過選擇學(xué)習(xí)對(duì)象并在適當(dāng)?shù)奈谋究蛑休斎腙P(guān)鍵字來創(chuàng)建標(biāo)注。E-course允許學(xué)生輸入任意多的標(biāo)注。標(biāo)注可以用逗號(hào)或空格分隔,且不局限于單個(gè)詞匯。
圖3 標(biāo)注菜單
與許多流行的標(biāo)注系統(tǒng)(只允許單個(gè)詞作為標(biāo)注)不同,E-course允許使用多詞標(biāo)注。每當(dāng)學(xué)生返回到特定的學(xué)習(xí)資源時(shí),之前制作的標(biāo)注列表就會(huì)重新出現(xiàn),如圖4所示。每點(diǎn)擊一個(gè)單獨(dú)的標(biāo)注,學(xué)生就有兩個(gè)選擇:編輯或刪除。
圖4 我的標(biāo)注列表
其它標(biāo)注列表表示其他學(xué)生最常用的標(biāo)注。學(xué)生可以從其它標(biāo)注列表中選擇標(biāo)注,并將其添加到我的標(biāo)注列表中。如圖5所示。
圖5 其它標(biāo)注列表
基于標(biāo)注的推薦算法的對(duì)比分析結(jié)果,系統(tǒng)可根據(jù)學(xué)生的需求,計(jì)算基于張量因子分解模型的排序,生成“推薦標(biāo)注”列表,如圖6所示。
圖6 標(biāo)注推薦列表
實(shí)驗(yàn)的目的是分析RTF技術(shù)在電子學(xué)習(xí)中應(yīng)用標(biāo)注推薦的適用性,以及比較基于圖和張量的標(biāo)注推薦方法在電子學(xué)習(xí)環(huán)境中的適用性。
此外,我們還進(jìn)行了一些實(shí)驗(yàn),從教師和學(xué)生的角度來評(píng)估系統(tǒng)的性能。實(shí)驗(yàn)?zāi)繕?biāo)是:研究協(xié)同標(biāo)注過程以及標(biāo)注的位置與其表達(dá)能力的相關(guān)性;對(duì)標(biāo)注進(jìn)行語義分析,以更好地理解標(biāo)注的不同用法;進(jìn)行專家效度研究,系統(tǒng)驗(yàn)證學(xué)生的知識(shí)理解與其標(biāo)注之間的關(guān)系。
實(shí)驗(yàn)是在一個(gè)包括200名大學(xué)生的教學(xué)數(shù)據(jù)集上進(jìn)行的。該實(shí)驗(yàn)獲得了河南省某普通大學(xué)信息技術(shù)專業(yè)的支持。實(shí)驗(yàn)在2019年11月進(jìn)行了一個(gè)月。參與的學(xué)生是編程初學(xué)者,他們均成功地通過了相關(guān)的計(jì)算機(jī)基礎(chǔ)知識(shí)課程。
實(shí)驗(yàn)前,學(xué)生首先填寫Felder-Soloman ILS(學(xué)習(xí)風(fēng)格指數(shù))問卷,以便根據(jù)問卷結(jié)果將學(xué)生分組。問卷包含44個(gè)問題,分為4類,分別是感知與直覺、主動(dòng)性與反思、視覺與語言、部分與整體,代表了不同的學(xué)習(xí)偏好和風(fēng)格。問卷確定了120名學(xué)生的學(xué)習(xí)風(fēng)格,并形成了8個(gè)分組,見表1。
表1 基于不同學(xué)習(xí)風(fēng)格的聚類結(jié)果
為了增加各分組中的學(xué)生數(shù)量并獲得更多相關(guān)的推薦信息,我們省略了一些不重要的類別。每個(gè)分組的數(shù)據(jù)特征見表2。表中給出了學(xué)生的數(shù)量、學(xué)習(xí)對(duì)象的數(shù)量及其標(biāo)注數(shù)、學(xué)生標(biāo)注的平均數(shù)量以及每個(gè)學(xué)習(xí)對(duì)象被標(biāo)注的平均數(shù)量。
表2 每個(gè)分組的數(shù)據(jù)特征
我們將數(shù)據(jù)集(即分組)中的一部分作為測(cè)試集,用于對(duì)構(gòu)建的模型進(jìn)行評(píng)估,將剩余的部分用于訓(xùn)練和構(gòu)建模型。測(cè)試集和訓(xùn)練集各占數(shù)據(jù)集的20%和80%。選用精度(precision)和召回率(recall)作為模型性能的評(píng)價(jià)指標(biāo),如下所示
(1)
(2)
上式中T(u,i) 為用戶u隨機(jī)抽取的項(xiàng)目i的推薦標(biāo)注集。
precision:表示推薦的相關(guān)標(biāo)注數(shù)與N的關(guān)系,或前面的列表項(xiàng)數(shù)目與N的關(guān)系,N為實(shí)際的標(biāo)注數(shù),precision值越高,表明推薦越準(zhǔn)確。
Recall:表示學(xué)生在數(shù)據(jù)集的估計(jì)部分中所設(shè)置的項(xiàng)目數(shù)或標(biāo)注總數(shù)中的前N個(gè)列表項(xiàng)中推薦的相關(guān)標(biāo)注與標(biāo)注數(shù)N之間的關(guān)系,Recall值越高,表明正確的推薦被找的越全。
在實(shí)驗(yàn)中,首先對(duì)待評(píng)估的算法進(jìn)行設(shè)置,之后,我們將展示和分析所進(jìn)行的實(shí)驗(yàn)和評(píng)估的結(jié)果。為了對(duì)所選算法(自適應(yīng)頁面排名Page-Rank[11]、Folk-Rank[12]、基于標(biāo)注的協(xié)同過濾(CF)算法、高階奇異值分解(HOSVD)算法、RTF排序)進(jìn)行實(shí)驗(yàn)評(píng)估,首先確定每個(gè)算法的重要參數(shù)的靈敏度,然后確定并使用了這些參數(shù)的最優(yōu)值。實(shí)驗(yàn)分析包括了8個(gè)分組中的前4個(gè)分組。
Page-Rank算法:參數(shù)設(shè)置如下:當(dāng)兩個(gè)連續(xù)的權(quán)向量之間的距離小于10-6時(shí),計(jì)算停止。參數(shù)d為0.7。在p參數(shù)中,我們給用戶和被選擇頁面中的項(xiàng)目賦予了更高的權(quán)重。每個(gè)用戶標(biāo)注和項(xiàng)目的偏好權(quán)值設(shè)為1,而來自該特定頁面的用戶和項(xiàng)目的偏好權(quán)值分別為1+|U|和1+|I|。
Folk-Rank算法:和自適應(yīng)頁面排名算法一樣,我們選擇相同的參數(shù)和偏好權(quán)值。
CF算法:其鄰域基于user-tag矩陣進(jìn)行計(jì)算。最佳鄰居的數(shù)量k是需要在基于CF的算法[13]中進(jìn)行調(diào)優(yōu)的參數(shù)。根據(jù)鄰域尺度k,我們研究了其對(duì)召回率的影響,鄰域尺度k與標(biāo)注偏好的生成密切相關(guān)。從10到90的鄰域尺度變化對(duì)召回率的影響如圖7所示。當(dāng)鄰域尺度從10增加到30時(shí),推薦器的質(zhì)量得以相應(yīng)改善。然而,在尺度為30的鄰域之后,k值的增加并沒有在統(tǒng)計(jì)學(xué)上起到應(yīng)有的質(zhì)量增強(qiáng)作用,且最近鄰居k(NNk)值達(dá)到一定程度后,每個(gè)用戶的推薦質(zhì)量就不會(huì)因?yàn)閗的進(jìn)一步增加而改變。根據(jù)這一特點(diǎn),我們選擇了30作為最優(yōu)的鄰域規(guī)模。
圖7 基于標(biāo)注的協(xié)同過濾算法隨鄰域尺度的召回率
HOSVD算法:由于沒有直接的方法來找到C1、C2和C3最佳值,我們采用了文獻(xiàn)[14]提出的方法:即原X(1)、X(2)和X(3) 矩陣的對(duì)角線的70%可以給出很好的近似。因此,C1、C2和C3被設(shè)置為奇異值的個(gè)數(shù),每次運(yùn)行時(shí)分別保留X(1)、X(2)和X(3) 原始對(duì)角線的70%。
RTF算法:根據(jù)文獻(xiàn)[15],我們?cè)?(ku,ki,kt)∈{(8,8,8)} 參數(shù)下運(yùn)行RTF。其它超參數(shù)設(shè)置為:學(xué)習(xí)率=0.5,正則化γ=γc=10-5, 迭代次數(shù)=500。模型的參數(shù)θ由服從正態(tài)分布N(0,0.1) 的隨機(jī)值進(jìn)行初始化。
本節(jié)中,我們將分析基于標(biāo)注的協(xié)同過濾(CF)、基于圖的方法(自適應(yīng)Page-Rank和Folk-Rank算法)以及基于張量的方法(HOSVD和RTF)的預(yù)測(cè)性能。
Folk-Rank算法是在Page-Rank算法的基礎(chǔ)上發(fā)展起來的,能給出比CF更重要的標(biāo)注推薦,主要原因是Folk-Rank算法能夠通過底層超圖的集成結(jié)構(gòu),將適合于特定用戶的信息與其他用戶的輸入結(jié)合起來。在CF的預(yù)測(cè)性能方面,采用Page-Rank和Folk-Rank兩種方法,如圖8所示,可以看出Folk-Rank的預(yù)測(cè)質(zhì)量最優(yōu)。除了一般相關(guān)標(biāo)注,與CF相反,F(xiàn)olk-Rank算法能夠預(yù)測(cè)用戶的最合適的標(biāo)注,這是由于Folk-Rank算法通過超圖結(jié)構(gòu)考慮了特定用戶的詞匯,這是CF從定義上無法做到的。而且,F(xiàn)olk-Rank方法允許在不對(duì)算法進(jìn)行任何修改的情況下改變模式。此外,F(xiàn)olk-Rank以及基于CF的算法,對(duì)于在線更新是魯棒的,因?yàn)樗槐卦谙到y(tǒng)中出現(xiàn)新的用戶、標(biāo)注或項(xiàng)目時(shí)進(jìn)行訓(xùn)練。另一方面,F(xiàn)olk-Rank算法更適合于不需要實(shí)時(shí)推薦的系統(tǒng),因?yàn)樗挠?jì)算開銷比較大,而且可伸縮性也不是很好。張量因式分解法適用于大眾經(jīng)濟(jì)學(xué)的三元關(guān)系,盡管張量重構(gòu)的階段代價(jià)高昂,但它可以離線實(shí)現(xiàn)。當(dāng)計(jì)算較低維張量時(shí),可以更快地生成推薦,這使得該算法適用于實(shí)時(shí)推薦。
圖8 各種方法的預(yù)測(cè)性能比較
在實(shí)踐中,RTF模型比HOSVD模型的預(yù)測(cè)速度要快得多,這主要是由于RTF模型比HOSVD模型需要更少的維數(shù),而HOSVD對(duì)維度數(shù)量和用戶、標(biāo)注和項(xiàng)目維度之間的關(guān)系十分敏感,且選擇相同數(shù)量的維度會(huì)帶來糟糕的結(jié)果,而對(duì)于RTF方法,是可以為用戶、標(biāo)注和項(xiàng)目選擇相同數(shù)量的維度的。
除了理論分析外,由圖8可見,RTF的預(yù)測(cè)質(zhì)量明顯優(yōu)于HOSVD。同樣,從圖8中可以看出,即使只有少量的8維,RTF也可以達(dá)到與HOSVD類似的效果。實(shí)驗(yàn)進(jìn)一步驗(yàn)證,當(dāng)RTF的維數(shù)增加到32時(shí),它在預(yù)測(cè)質(zhì)量上已經(jīng)優(yōu)于HOSVD。此外,每當(dāng)RTF的維度增加時(shí),就會(huì)得到更好的結(jié)果。關(guān)于Folk-Rank和RTF算法的預(yù)測(cè)性能,實(shí)驗(yàn)可以驗(yàn)證,16維的RTF可以獲得比較好的結(jié)果,而32維的RTF在預(yù)測(cè)質(zhì)量上優(yōu)于Folk-Rank。
2.5.1 標(biāo)注的語義分析
對(duì)標(biāo)注進(jìn)行語義分析,可以更好地理解標(biāo)注的不同用法。根據(jù)文獻(xiàn)[19],可以對(duì)標(biāo)注進(jìn)行如下分類,即:
事實(shí)標(biāo)注。標(biāo)注可以用來識(shí)別一個(gè)對(duì)象的主題,通常使用名詞和專有名詞(如操作符,循環(huán),數(shù)組)或可分類對(duì)象的類型(如教程);
主觀標(biāo)注。標(biāo)注可以用來表示對(duì)象的性質(zhì)和特征(例如有用、有趣、困難、容易、可理解、模糊);
個(gè)性化標(biāo)注。個(gè)人經(jīng)常使用的標(biāo)注子集,用來組織個(gè)人的學(xué)習(xí)過程。就像自引用標(biāo)注一樣,這些標(biāo)注被個(gè)人用于學(xué)習(xí)任務(wù)組織(例如閱讀、練習(xí)、打印)。
當(dāng)我們分析這些標(biāo)注在學(xué)生中是如何使用和重復(fù)使用的時(shí)候,我們發(fā)現(xiàn)絕大多數(shù)標(biāo)注是個(gè)性化的(48%的標(biāo)注)和主觀類型的(38%的標(biāo)注)。剩下的標(biāo)注(14%)是事實(shí)標(biāo)注。
2.5.2 專家效度分析
為了系統(tǒng)地驗(yàn)證知識(shí)理解與學(xué)習(xí)過程中的標(biāo)注的關(guān)系,幫助教師評(píng)估學(xué)生對(duì)所學(xué)知識(shí)的掌握情況,我們用專家標(biāo)注集設(shè)計(jì)了測(cè)試實(shí)驗(yàn),并在實(shí)驗(yàn)中比較了從學(xué)生那里搜集的標(biāo)注和本領(lǐng)域的4個(gè)專家給出的標(biāo)注(專家標(biāo)注集),專家標(biāo)注集由171個(gè)標(biāo)注組成。在專家標(biāo)注集中,我們?cè)敿?xì)研究了兩個(gè)問題:
(1)使用完整的專家標(biāo)注集進(jìn)行模擬查詢,可以找到哪些學(xué)習(xí)對(duì)象?它有哪些相關(guān)性(匹配標(biāo)注的數(shù)量)?我們發(fā)現(xiàn)匹配的比例是平均44%的專家標(biāo)注可由學(xué)生分配給一個(gè)學(xué)習(xí)對(duì)象。
(2)有多少專家指定的標(biāo)注被應(yīng)用到學(xué)習(xí)對(duì)象中?結(jié)果表明,與學(xué)生相比,專家更傾向于抽象和概念上的標(biāo)注,而學(xué)生使用的標(biāo)注大多都不在專家標(biāo)注集中。研究結(jié)果表明,只有44%的專家標(biāo)注出現(xiàn)在學(xué)生的標(biāo)注中。
鑒于大多數(shù)的專家標(biāo)注(大約占56%)都不在學(xué)生使用的標(biāo)注中,向?qū)W生提供這些標(biāo)注的作用是值得考慮的。如果專家標(biāo)注為學(xué)生提供的價(jià)值有限,那么使用自動(dòng)標(biāo)注功能以最小代價(jià)創(chuàng)建標(biāo)注數(shù)據(jù)集并減少學(xué)生的負(fù)擔(dān)可能更合適。我們注意到,正如文獻(xiàn)[20]所建議的那樣,協(xié)同標(biāo)注具有潛在的教學(xué)益處:標(biāo)注本身代表了專家的專業(yè)知識(shí),這表明,在一個(gè)協(xié)作的層次上,當(dāng)課程由專家給出時(shí),可以由專家提供一個(gè)協(xié)同標(biāo)注集,以改進(jìn)學(xué)生從在線材料中學(xué)習(xí)知識(shí)的能力。
據(jù)觀察,電子學(xué)習(xí)系統(tǒng)由于失去對(duì)課堂的控制,教師普遍對(duì)這種新的教學(xué)方式的教學(xué)效果信心不足。通過讓教師積極參與標(biāo)注的創(chuàng)建過程,可以減少他們對(duì)電子學(xué)習(xí)方式的質(zhì)疑。與開放的Web網(wǎng)絡(luò)不同,教師在電子教學(xué)上不僅僅是一個(gè)同伴,他們的標(biāo)注可能與考核更相關(guān),這可能對(duì)學(xué)生更有用。因此,從這一點(diǎn)來說,標(biāo)注在電子學(xué)習(xí)環(huán)境中的使用也是十分重要的。
2.5.3 討論
實(shí)驗(yàn)結(jié)果表明,協(xié)同標(biāo)注對(duì)于學(xué)生具有很大的幫助,學(xué)生可以觀察專家提供的課程的標(biāo)注集,以提高從在線材料中篩選主題和概念的能力。教師們對(duì)此普遍的看法是積極的,尤其喜歡使用學(xué)生的標(biāo)注數(shù)據(jù)來改進(jìn)電子學(xué)習(xí)系統(tǒng)。利用協(xié)同標(biāo)注能夠直接在系統(tǒng)中對(duì)課程進(jìn)行修改,并且可以與其他教師一起工作和共享信息。
我們研究了系統(tǒng)中每個(gè)學(xué)生平均標(biāo)注了多少個(gè)學(xué)習(xí)對(duì)象,發(fā)現(xiàn)70%以上的學(xué)生表現(xiàn)出了很高的積極性,標(biāo)注的學(xué)習(xí)對(duì)象在60~80個(gè)之間。為了了解學(xué)生的標(biāo)注行為,我們對(duì)學(xué)生的標(biāo)注特征進(jìn)行了研究。研究結(jié)果表明:如果學(xué)生的數(shù)量足夠多,并且學(xué)習(xí)對(duì)象接收到的標(biāo)注也足夠多,那么某一標(biāo)注被選擇的頻率就趨于穩(wěn)定。這種穩(wěn)定性可以在共享知識(shí)以及當(dāng)學(xué)生使用其他學(xué)生的標(biāo)注選擇時(shí)發(fā)揮作用。
我們分析了基于圖的方法(自適應(yīng)Page-Rank和Folk-Rank)和基于張量的方法(HOSVD和RTF)在我們的電子教育環(huán)境中的預(yù)測(cè)性能。Folk-Rank算法是在Page-Rank的基礎(chǔ)上構(gòu)建的,它被驗(yàn)證是比CF更好的標(biāo)注推薦技術(shù),因?yàn)镕olk-Rank可以利用適合于特定學(xué)生的信息來分析其他學(xué)生通過底層超圖輸入的信息。Folk-Rank算法也允許在不對(duì)算法進(jìn)行任何改進(jìn)的情況下進(jìn)行模式轉(zhuǎn)換。Folk-Rank在在線更新方面是魯棒的,因?yàn)樗恍枰看蜗蛳到y(tǒng)引入新的學(xué)生、項(xiàng)目或標(biāo)注時(shí)都重新應(yīng)用。然而,F(xiàn)olk-Rank在計(jì)算上代價(jià)較高,并且不具有可伸縮性,這使得它更適合那些不需要實(shí)時(shí)推薦的系統(tǒng)。與Folk-Rank相似,張量分解的方法也直接作用于大眾分類法的三元關(guān)系。盡管張量重構(gòu)階段可能代價(jià)較高,但它可以離線執(zhí)行。在計(jì)算了較低維張量之后,推薦可以快速完成,使得該算法適合于實(shí)時(shí)推薦。
我們檢驗(yàn)了張量分解方法的潛在缺點(diǎn),即模態(tài)變化的性質(zhì)只能通過最小化相同的誤差函數(shù)來完成。例如,HOSVD算法利用重構(gòu)的張量進(jìn)行多模態(tài)推薦,模式改變簡(jiǎn)單。然而,盡管問題可能得到了錯(cuò)誤的解決:HOSVD減少了最小二乘誤差函數(shù),而社會(huì)標(biāo)注與排名的關(guān)系更大。我們只選擇了所考慮的技術(shù)的最佳代表,并得出結(jié)論:最好的結(jié)果是RTF,其次是Folk-Rank,然后是HOSVD。
近年來,推薦技術(shù)取得了顯著的進(jìn)步。許多方法,如協(xié)同過濾、混合和基于內(nèi)容的方法,以及一些“工業(yè)級(jí)”的系統(tǒng)得到了應(yīng)用。盡管有這些進(jìn)步,現(xiàn)代的推薦系統(tǒng)仍然需要不斷地改進(jìn),以便在更大范圍內(nèi)推廣應(yīng)用。本文提出的協(xié)同標(biāo)注系統(tǒng),有助于電子學(xué)習(xí)中的推薦系統(tǒng)的完善和應(yīng)用。標(biāo)注有助于學(xué)生組織自己的私有集合。此外,標(biāo)注可以被看作是學(xué)生的個(gè)人意見,同時(shí)隱含了對(duì)學(xué)習(xí)對(duì)象的隱式評(píng)價(jià)或評(píng)級(jí)。因此,標(biāo)注信息是有助于推薦意見的生成的。
協(xié)同標(biāo)注是對(duì)動(dòng)態(tài)學(xué)習(xí)內(nèi)容進(jìn)行分類、共享和搜索的重要手段。本文研究了協(xié)同標(biāo)注系統(tǒng)的發(fā)展前景,詳細(xì)分析了具有個(gè)性化和主觀性的學(xué)習(xí)偏好,對(duì)學(xué)習(xí)內(nèi)容進(jìn)行了分類,并將協(xié)同標(biāo)注技術(shù)應(yīng)用到Java教學(xué)系統(tǒng)中。學(xué)生采用協(xié)同標(biāo)注技術(shù),不僅可以更好地理解學(xué)習(xí)的內(nèi)容,還有助于提高學(xué)習(xí)的興趣。我們下一步的研究,將側(cè)重于提取學(xué)生使用互聯(lián)網(wǎng)的經(jīng)驗(yàn),以及學(xué)生個(gè)人的興趣對(duì)標(biāo)注創(chuàng)建的影響。此外,我們也需要研究是否還有其它因素影響標(biāo)注的選擇,如學(xué)生的情緒或壓力的因素。