羅婕溪,劉帥,張玉志,李正丹,孫羽菲,張圣林
南開大學(xué),軟件學(xué)院,天津 300350
當(dāng)今的時(shí)代是信息化飛速發(fā)展的時(shí)代,與日俱增的海量數(shù)據(jù)令當(dāng)代生活陷入了“亂花漸欲迷人眼”的局面。誠然,互聯(lián)網(wǎng)上以指數(shù)級(jí)增長(zhǎng)的教學(xué)資源為追求自我提升的學(xué)習(xí)者帶來了許多便利。然而,信息過載、數(shù)據(jù)爆炸也為學(xué)習(xí)者查找可用信息、瀏覽所需資源帶來了挑戰(zhàn)。推薦系統(tǒng)作為該問題的核心解決方案之一,能夠向?qū)W習(xí)者快速高效地提供可用信息。推薦算法主要包括基于內(nèi)容的推薦、基于協(xié)同過濾的推薦、基于關(guān)聯(lián)規(guī)則的推薦等類型。然而,僅使用以上方法可能會(huì)出現(xiàn)冷啟動(dòng)、數(shù)據(jù)稀疏等問題[1]。
這些傳統(tǒng)的推薦算法也存在問題和缺點(diǎn)。例如,基于內(nèi)容的推薦算法主要根據(jù)用戶的喜好進(jìn)行推薦,因此很難為用戶帶來新鮮有趣的推薦結(jié)果,在一定程度上導(dǎo)致了“信息繭房”的形成。而基于協(xié)同過濾的推薦算法普遍存在冷啟動(dòng)和數(shù)據(jù)稀疏的問題。此外,傳統(tǒng)推薦算法偏重于推薦前20%信息豐富的物品,系統(tǒng)中剩余80%的物品很難展示給用戶,導(dǎo)致“長(zhǎng)尾效應(yīng)”,使資源利用率降低。而基于關(guān)聯(lián)規(guī)則的推薦算法對(duì)于模型參數(shù)的設(shè)置要求較高,對(duì)于大規(guī)模的潛在關(guān)系挖掘不甚擅長(zhǎng),性能不佳。如何有效避免出現(xiàn)信息繭房現(xiàn)象,為學(xué)習(xí)者提供更多交叉學(xué)科的教學(xué)資源推薦,幫助學(xué)習(xí)者建立知識(shí)體系化概念,是教學(xué)資源推薦中的關(guān)鍵問題。
在推薦系統(tǒng)中引入知識(shí)圖譜(knowledge graph)為解決上述關(guān)鍵問題提供了可能。[2]知識(shí)圖譜是一種特殊的圖結(jié)構(gòu),包含了豐富的語義知識(shí),可大幅提高推薦的準(zhǔn)確性和可解釋性[3]。在知識(shí)圖譜中,知識(shí)及其關(guān)聯(lián)構(gòu)成三元組。多個(gè)三元組通過節(jié)點(diǎn)關(guān)系相互連結(jié),構(gòu)成網(wǎng)狀結(jié)構(gòu),清晰記錄了各項(xiàng)目間的關(guān)聯(lián)關(guān)系,包含著豐富的語義關(guān)聯(lián)信息[4]。利用知識(shí)圖譜可以實(shí)現(xiàn)對(duì)教學(xué)資源中多源異構(gòu)數(shù)據(jù)的有效整合,形成包含豐富語義聯(lián)系的知識(shí)網(wǎng)絡(luò)圖。
然而,構(gòu)建出全學(xué)科內(nèi)包含豐富語義聯(lián)系的知識(shí)網(wǎng)絡(luò)圖是一項(xiàng)具有挑戰(zhàn)性的工作,其難點(diǎn)在于交叉學(xué)科知識(shí)點(diǎn)及體系化知識(shí)點(diǎn)間的語義關(guān)聯(lián)構(gòu)建。原因是:(1)若全部由教師人工構(gòu)建,則需要全學(xué)科領(lǐng)域內(nèi)眾多專業(yè)教師的配合。這不僅會(huì)耗費(fèi)大量的時(shí)間和精力,同時(shí)也可能因教師的不同理解而出現(xiàn)差異,導(dǎo)致可信度降低;(2)若全部由系統(tǒng)自動(dòng)抽取,則需要系統(tǒng)具有極高的文本、圖像、視頻等多源異構(gòu)數(shù)據(jù)的處理能力,然而現(xiàn)階段的技術(shù)能力暫時(shí)難以支持該目標(biāo)的實(shí)現(xiàn)。因此本文采用基于教師人工構(gòu)建和系統(tǒng)自動(dòng)抽取相結(jié)合的方法,在知識(shí)圖譜結(jié)構(gòu)中增加了“標(biāo)簽”的實(shí)體用于連接全學(xué)科內(nèi)知識(shí)點(diǎn),實(shí)現(xiàn)交叉學(xué)科知識(shí)點(diǎn)的語義關(guān)聯(lián)構(gòu)建。同時(shí)增加了“系列”的實(shí)體,用于連接語義上相互補(bǔ)充的知識(shí)點(diǎn)集群,實(shí)現(xiàn)體系化知識(shí)點(diǎn)語義構(gòu)建。
全學(xué)科內(nèi)知識(shí)網(wǎng)絡(luò)圖構(gòu)建完成后,由于其涵蓋范圍廣、節(jié)點(diǎn)及語義關(guān)系復(fù)雜、學(xué)習(xí)者專業(yè)背景差異大,如何給用戶推薦出合適的學(xué)習(xí)路徑,為其建立完整的認(rèn)知地圖,從而最大化地覆蓋全學(xué)科的知識(shí)網(wǎng)絡(luò)圖,成為本文推薦策略最大的挑戰(zhàn)。本文提出了基于圖嵌入和規(guī)則抽取融合的方法,并通過實(shí)驗(yàn)結(jié)果分析,驗(yàn)證了該方法能夠有效緩解傳統(tǒng)推薦系統(tǒng)的“長(zhǎng)尾效應(yīng)”。此外,本文還使用多種呈現(xiàn)方式實(shí)現(xiàn)了推薦結(jié)果的可視化,為用戶創(chuàng)造良好的使用體驗(yàn)。
本文的主要工作為:
(1)基于教師人工構(gòu)建和系統(tǒng)自動(dòng)抽取相結(jié)合的方法,依靠知識(shí)圖譜結(jié)構(gòu)中“標(biāo)簽”和“系列”實(shí)體,解決了其中交叉學(xué)科知識(shí)點(diǎn)和體系化知識(shí)點(diǎn)間的語義關(guān)聯(lián)構(gòu)建問題。
(2)本文提出三種推薦策略,分別對(duì)教學(xué)資源做學(xué)習(xí)路徑推薦、相似知識(shí)點(diǎn)推薦和前后置知識(shí)點(diǎn)推薦。它們相互補(bǔ)充,針對(duì)性地解決教學(xué)資源推薦中出現(xiàn)的“信息繭房”、交叉學(xué)科推薦和體系化推薦問題。
(3)本文實(shí)現(xiàn)了融合三種策略的推薦系統(tǒng),通過實(shí)驗(yàn)驗(yàn)證了其在緩解“長(zhǎng)尾效應(yīng)”方面的有效性。并通過可視化案例說明其實(shí)用性。
本文整體結(jié)構(gòu)如下:第一章節(jié)介紹了知識(shí)圖譜數(shù)據(jù)庫、知識(shí)圖譜推薦系統(tǒng)、圖嵌入模型的相關(guān)工作。第二章節(jié)概述了推薦系統(tǒng)的整體架構(gòu)。第三章節(jié)介紹了線上教學(xué)資源知識(shí)圖譜數(shù)據(jù)庫的構(gòu)建思路。第四章節(jié)論述了推薦系統(tǒng)中包含的三種推薦策略。第五章節(jié)展示了推薦系統(tǒng)的實(shí)現(xiàn)過程及實(shí)驗(yàn)效果。第六章節(jié)對(duì)本文進(jìn)行了總結(jié),并展望了下一步工作。
本章介紹了知識(shí)圖譜推薦系統(tǒng)中應(yīng)用的相關(guān)技術(shù)。
知識(shí)圖譜是一種特殊的圖結(jié)構(gòu)。具體來說,它是一種帶標(biāo)記的有向?qū)傩詧D,圖中各節(jié)點(diǎn)具有若干個(gè)屬性,實(shí)體之間的邊描述節(jié)點(diǎn)間的關(guān)系,邊的指向標(biāo)識(shí)關(guān)系的方向,而邊上的標(biāo)記表示了關(guān)系的類型[5]。采用了人類易于識(shí)別的字符串來標(biāo)識(shí)各元素;同時(shí),圖數(shù)據(jù)結(jié)構(gòu)作為通用的數(shù)據(jù)表示方法,也易于被計(jì)算機(jī)識(shí)別和處理。它的節(jié)點(diǎn)對(duì)應(yīng)現(xiàn)實(shí)中的實(shí)體或者概念,邊或?qū)傩詫?duì)應(yīng)現(xiàn)實(shí)中的一條知識(shí)[6]。在此之上,可以根據(jù)人類定義的規(guī)則,推導(dǎo)出知識(shí)圖譜數(shù)據(jù)中沒有明確給出的知識(shí)[7]。知識(shí)圖譜分為通用知識(shí)圖譜和領(lǐng)域知識(shí)圖譜。通用知識(shí)圖譜覆蓋面廣,其內(nèi)部通常包含眾多實(shí)體與關(guān)系,更強(qiáng)調(diào)廣度、大眾化,常應(yīng)用在科普類、搜索類、常識(shí)類場(chǎng)景內(nèi)[8]。領(lǐng)域知識(shí)圖譜是特定領(lǐng)域內(nèi)的知識(shí)圖譜,是對(duì)某領(lǐng)域分析后制定的圖譜,因此領(lǐng)域知識(shí)圖譜的質(zhì)量較高[9]。本文所構(gòu)建的知識(shí)圖譜屬于教學(xué)領(lǐng)域內(nèi)知識(shí)圖譜。
知識(shí)圖譜的存儲(chǔ)方式分為:基于表結(jié)構(gòu)的存儲(chǔ)和基于圖結(jié)構(gòu)的存儲(chǔ)?;诒斫Y(jié)構(gòu)的存儲(chǔ)主要以三元組形式存儲(chǔ)數(shù)據(jù),其特點(diǎn)是易于發(fā)布,多用于學(xué)術(shù)場(chǎng)景。基于圖結(jié)構(gòu)的存儲(chǔ)方式以圖來表達(dá)現(xiàn)實(shí)世界的關(guān)系,直接、自然,易于建模,能夠高效插入大量數(shù)據(jù)或查詢關(guān)聯(lián)數(shù)據(jù),對(duì)于圖的遍歷效率極高,多用于工業(yè)場(chǎng)景[10]。本文應(yīng)用場(chǎng)景要求頻繁更新圖結(jié)構(gòu),且需要較高的圖遍歷效率,因此選用基于圖結(jié)構(gòu)存儲(chǔ)方式的數(shù)據(jù)庫Neo4j。在各類圖數(shù)據(jù)庫的知名度及使用率上,Neo4j 均排名第一[11],具有優(yōu)秀的大規(guī)模數(shù)據(jù)查詢性能,靈活的非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)方式,且支持可視化界面。當(dāng)前主流圖數(shù)據(jù)庫特點(diǎn)對(duì)比見圖1[12]。
圖1 多種圖數(shù)據(jù)庫性綜合評(píng)分對(duì)比Fig.1 Comprehensive score comparison of various graph databases
基于知識(shí)圖譜的推薦方法可以分為如下類別:基于嵌入的推薦(recommendation based on embedding)、基于連接的推薦(recommendation based on connection)和基于混合的推薦(recommendation based on hybrid)[13]。各類方法及其詳細(xì)信息如表1所示。
表1 知識(shí)圖譜推薦系統(tǒng)方法對(duì)比Table 1 Comparison of knowledge graph recommendation system methods
其中,基于連接的方法需要專家意見及人工設(shè)計(jì)[14],由于本文場(chǎng)景暫不具備此類條件,因此這一方法不適用?;诨旌系耐扑]雖然在一定程度上解決了基于連接的方法與基于嵌入的方法的缺陷,但需要大量用戶基礎(chǔ)數(shù)據(jù)[15],而本文場(chǎng)景缺乏海量用戶基礎(chǔ)數(shù)據(jù),因此這一方法也不適用于本文場(chǎng)景。考慮到推薦系統(tǒng)的可擴(kuò)展與計(jì)算方法的多樣化,本文選擇了基于嵌入的推薦方式。
圖嵌入是指以知識(shí)圖譜三元組數(shù)據(jù)為源數(shù)據(jù),通過機(jī)器學(xué)習(xí)將知識(shí)圖譜中實(shí)體和關(guān)系表示為稠密的低維實(shí)值向量,從而實(shí)現(xiàn)了知識(shí)圖譜的特征學(xué)習(xí),使抽象的知識(shí)圖譜實(shí)體與關(guān)系對(duì)象變得易于分析計(jì)算,緩解了知識(shí)圖譜數(shù)據(jù)稀疏的問題,為鏈路預(yù)測(cè)、節(jié)點(diǎn)聚類、相似度計(jì)算等下游任務(wù)提供了有力的素材[16]。
近年來,學(xué)術(shù)界提出了多種圖嵌入的建模方法,包括以RESCAL 為典型代表的矩陣分解模型,以LFM 為主要貢獻(xiàn)的雙線性模型,以TransE 為基礎(chǔ)擴(kuò)展出的多種翻譯模型等。其中,以TransE 為基礎(chǔ)的圖嵌入模型在知識(shí)圖譜計(jì)算的各類下游任務(wù)中取得了優(yōu)秀的成果[17]。然而,隨著模型研究的進(jìn)一步深入,TransE 模型顯示出了其固有缺陷:模型定義過于簡(jiǎn)單,難以表示復(fù)雜關(guān)系。隨后,又相繼出現(xiàn)了TransH[18]、TransR[19]、TransA[20]、TransG[21]等模型,這些模型在處理知識(shí)圖譜復(fù)雜關(guān)系時(shí)均做出了相應(yīng)改進(jìn)[22]。2019年,RotatE 模型作為一種更優(yōu)的改進(jìn)方法出現(xiàn)[23]。它沿用了前文所述的圖嵌入思想,以歐拉恒等式為靈感來源,將每個(gè)關(guān)系定義為復(fù)矢量空間內(nèi)從源實(shí)體到目標(biāo)實(shí)體的旋轉(zhuǎn),從而實(shí)現(xiàn)了對(duì)復(fù)雜關(guān)系(對(duì)稱、非對(duì)稱、可逆、復(fù)合關(guān)系)的建模。
本文以知識(shí)點(diǎn)為核心,設(shè)計(jì)了一套完整的領(lǐng)域知識(shí)圖譜,包含知識(shí)點(diǎn)、資源、系列、教師、標(biāo)簽在內(nèi)的5 種實(shí)體。開發(fā)了在線教學(xué)資源制作平臺(tái),用于教師制作和維護(hù)線上教學(xué)資源,實(shí)現(xiàn)了知識(shí)圖譜數(shù)據(jù)庫的自動(dòng)構(gòu)建。
在此基礎(chǔ)之上,本文設(shè)計(jì)并實(shí)現(xiàn)了線上教學(xué)資源推薦系統(tǒng)。包含三種推薦策略:基于教師和標(biāo)簽的關(guān)系實(shí)現(xiàn)了學(xué)習(xí)路徑推薦策略;基于圖嵌入模型RotatE 實(shí)現(xiàn)了知識(shí)點(diǎn)間的相似推薦策略;基于系列中知識(shí)點(diǎn)關(guān)系鏈的組合實(shí)現(xiàn)了前后置知識(shí)點(diǎn)推薦策略。系統(tǒng)整體架構(gòu)圖如圖2所示。
圖2 線上教學(xué)資源推薦系統(tǒng)整體架構(gòu)圖Fig.2 The overall architecture of online education resource recommendation system
本文構(gòu)建知識(shí)圖譜的基本元素是知識(shí)點(diǎn),其作為最核心元素串接其它各類實(shí)體。資源連接在知識(shí)點(diǎn)上,包括視頻、教材、課件、習(xí)題等,資源與其掛接的知識(shí)點(diǎn)間的關(guān)系定義為“include”。知識(shí)點(diǎn)由教師創(chuàng)建,教師與其所創(chuàng)建知識(shí)點(diǎn)之間由“own”和“created_by”的雙向關(guān)系連接。教師創(chuàng)建知識(shí)點(diǎn)時(shí),可為該知識(shí)點(diǎn)定義若干標(biāo)簽,其與知識(shí)點(diǎn)之間的關(guān)系定義為“tagged”。值得一提的是,每個(gè)標(biāo)簽實(shí)體的名稱是唯一的,這為后續(xù)實(shí)現(xiàn)學(xué)習(xí)路徑推薦策略提供了幫助。此外,本文提出了“系列”的概念,系列由教師創(chuàng)建,教師與其所創(chuàng)建系列之間由 “own”和“created_by”的雙向關(guān)系連接,其特殊性在于教師可組合多個(gè)知識(shí)點(diǎn)形成一套系列,系列及其下知識(shí)點(diǎn)將會(huì)建立“include”關(guān)系。為構(gòu)建并豐富上述知識(shí)圖譜數(shù)據(jù)庫,本文開發(fā)了面向教師的制作平臺(tái)。制作平臺(tái)主要包含:(1)私有資源庫:用于存儲(chǔ)某教師上傳的知識(shí)點(diǎn)及資源,僅限本人查看;(2)公有資源庫:教師可將私有資源庫中內(nèi)容選擇性合并進(jìn)入公有資源庫,供平臺(tái)內(nèi)所有教師交流學(xué)習(xí)。教師可維護(hù)其私有資源庫,包括添加、刪除、修改、查看其創(chuàng)建的知識(shí)點(diǎn)及系列操作。其操作將同步至知識(shí)圖譜數(shù)據(jù)庫,實(shí)現(xiàn)教師對(duì)知識(shí)圖譜結(jié)構(gòu)的構(gòu)建。
基于此,本系統(tǒng)構(gòu)建出一套完善且包含豐富關(guān)系的在線教學(xué)資源知識(shí)圖譜數(shù)據(jù)庫,數(shù)據(jù)庫中實(shí)體信息和實(shí)體關(guān)系信息分別如表2和表3所示。
表2 實(shí)體信息Table 2 Entity information
表3 實(shí)體關(guān)系信息Table 3 Entity relationship information
在線教學(xué)資源知識(shí)圖譜結(jié)構(gòu)示意圖見圖3。
圖3 知識(shí)圖譜結(jié)構(gòu)示意圖Fig.3 Schematic diagram of knowledge graph
4.1.1 標(biāo)簽及教師實(shí)體含義及特殊性
本文知識(shí)圖譜結(jié)構(gòu)中,標(biāo)簽實(shí)體的名稱唯一。其原因有如下兩點(diǎn):(1)標(biāo)簽可任意設(shè)置的特殊性可能導(dǎo)致實(shí)體冗余與結(jié)構(gòu)復(fù)雜,標(biāo)簽實(shí)體的去重及復(fù)用在一定程度上消解了此類缺陷,同時(shí)也減少了對(duì)圖嵌入模型計(jì)算的干擾;(2)全學(xué)科領(lǐng)域內(nèi)的標(biāo)簽復(fù)用,為挖掘跨領(lǐng)域知識(shí)關(guān)聯(lián)提供了可能,標(biāo)簽不僅銜接了相似領(lǐng)域內(nèi)的知識(shí),也連通了跨學(xué)科領(lǐng)域的知識(shí),從而實(shí)現(xiàn)數(shù)據(jù)庫內(nèi)眾多知識(shí)點(diǎn)間關(guān)系的自動(dòng)挖掘。
教師實(shí)體的存在同樣具有特殊性。教師往往是某一領(lǐng)域中的主要角色,在一定程度上與其關(guān)聯(lián)的實(shí)體可以劃定局部學(xué)科領(lǐng)域范圍,該范圍可用作學(xué)科領(lǐng)域內(nèi)推薦的依據(jù)。理由如下:與某個(gè)教師所關(guān)聯(lián)的所有實(shí)體均根據(jù)其多年理論知識(shí)學(xué)習(xí)及教學(xué)經(jīng)驗(yàn)構(gòu)建,可代表學(xué)科領(lǐng)域內(nèi)的劃分標(biāo)準(zhǔn)。即使某個(gè)教師可能涉獵多個(gè)學(xué)科領(lǐng)域,但學(xué)科領(lǐng)域的范圍大多有限向上擴(kuò)展,基本不會(huì)出現(xiàn)嚴(yán)重跨學(xué)科的情況。
基于以上兩點(diǎn),本文設(shè)計(jì)了如下基于標(biāo)簽和教師的三種學(xué)習(xí)路徑推薦方法:
· 相似學(xué)科強(qiáng)相互關(guān)系學(xué)習(xí)路徑推薦;
· 相似學(xué)科和跨學(xué)科弱相互關(guān)系混合學(xué)習(xí)路徑推薦;
· 相似學(xué)科體系化學(xué)習(xí)路徑推薦。
4.1.2 學(xué)習(xí)路徑推薦方法
(1)相似學(xué)科強(qiáng)相互關(guān)系學(xué)習(xí)路徑推薦
由于標(biāo)簽實(shí)體的唯一性,在知識(shí)圖譜數(shù)據(jù)庫中添加知識(shí)點(diǎn)實(shí)體時(shí)擁有相同標(biāo)簽的知識(shí)點(diǎn)將被關(guān)聯(lián)并形成知識(shí)點(diǎn)對(duì)。若該知識(shí)點(diǎn)對(duì)由相同教師創(chuàng)建,則判斷該知識(shí)點(diǎn)對(duì)之間存在強(qiáng)相互關(guān)系。本方案描述的結(jié)構(gòu)示意圖如圖4所示。
圖4 強(qiáng)相互關(guān)系結(jié)構(gòu)圖Fig.4 The structure diagram of strong correlation
(2)相似學(xué)科和跨學(xué)科弱相互關(guān)系混合學(xué)習(xí)路徑推薦
擁有相同標(biāo)簽的知識(shí)點(diǎn)對(duì)具有相似性,若該知識(shí)對(duì)由不同教師創(chuàng)建,則判斷其存在弱相互關(guān)系。若不同教師所屬學(xué)科相似,則判斷該知識(shí)點(diǎn)對(duì)之間存在相似學(xué)科弱相互關(guān)系。若不同教師所屬學(xué)科迥異,則判斷該知識(shí)點(diǎn)對(duì)之間存在跨學(xué)科弱相互關(guān)系。本方案描述的結(jié)構(gòu)示意圖如圖5所示。
圖5 弱相互關(guān)系結(jié)構(gòu)圖Fig.5 The structure diagram of weak correlation
(3)相似學(xué)科體系化學(xué)習(xí)路徑推薦
根據(jù)教師創(chuàng)建的知識(shí)點(diǎn)找到該學(xué)科領(lǐng)域范圍對(duì)應(yīng)的知識(shí)點(diǎn)集群,從中篩選出擁有不同標(biāo)簽的知識(shí)點(diǎn)子集群。在同一教師的知識(shí)體系中,不同標(biāo)簽的知識(shí)點(diǎn)相互補(bǔ)充延伸,即可構(gòu)成相似學(xué)科領(lǐng)域內(nèi)的體系化學(xué)習(xí)路徑推薦方案。本方案描述的結(jié)構(gòu)示意圖如圖6所示。
圖6 體系化查詢結(jié)構(gòu)圖Fig.6 The structure diagram of systematic query
4.2.1 圖嵌入模型介紹
本文選擇使用當(dāng)前綜合表現(xiàn)較優(yōu)的RotatE 模型對(duì)教學(xué)資源數(shù)據(jù)庫中節(jié)點(diǎn)及關(guān)系進(jìn)行建模。RotatE模型的基本思想介紹如下。
RotatE 模型建立在歐拉恒等式的基礎(chǔ)上,將一個(gè)酉復(fù)數(shù)視作復(fù)平面上的一個(gè)旋轉(zhuǎn)。公式如下:
其中 為Hadamard 積。對(duì)于復(fù)數(shù)空間內(nèi)的每一個(gè)維度i,滿足以下關(guān)系:
此約束為多種復(fù)雜關(guān)系的識(shí)別與建模提供了依據(jù):
值得一提的是,由于TransE 模型將關(guān)系建模在實(shí)數(shù)軸上,因此對(duì)稱關(guān)系將會(huì)被表示為0。與之相比,RotatE 模型將關(guān)系建模為復(fù)平面內(nèi)的旋轉(zhuǎn),當(dāng)關(guān)系向量滿足時(shí),即可表示對(duì)稱關(guān)系。RotatE 模型建模思想示意圖如圖7。
圖7 RotatE 模型建模思想示意圖Fig.7 The schematic diagram of RotatE Model modeling
因此,在RotatE 模型中,具有對(duì)稱關(guān)系的實(shí)體可以被區(qū)分,不同的對(duì)稱關(guān)系也可以被表示為不同的嵌入向量,從而解決了兩個(gè)相關(guān)實(shí)體在TransE 建模的向量空間內(nèi)會(huì)錯(cuò)誤迫近的問題[24]。
同時(shí),RotatE 模型還引入了一種新的負(fù)采樣技術(shù)——自體負(fù)采樣,體現(xiàn)在其損失函數(shù)的定義中:
對(duì)此步驟可理解為:一個(gè)樣本在當(dāng)前模型下錯(cuò)誤的概率越大,該樣本有更多的理由被視為負(fù)樣本。
4.2.2 節(jié)點(diǎn)相似計(jì)算方案研究
在得到每個(gè)知識(shí)點(diǎn)對(duì)應(yīng)的嵌入向量后,需選擇合適的相似度計(jì)算方法進(jìn)行計(jì)算。目前主流的相似度計(jì)算方法見表4[25]:
表4 相似度計(jì)算方法對(duì)比Table 4 Comparison of similarity calculation methods
對(duì)比發(fā)現(xiàn),雖然歐氏距離與余弦距離都廣泛應(yīng)用于距離度量與相似度計(jì)算,但修正的余弦距離能夠同時(shí)補(bǔ)足二者對(duì)于變化趨勢(shì)和數(shù)值大小的不敏感性。因此本文選擇修正的余弦距離計(jì)算知識(shí)點(diǎn)對(duì)應(yīng)向量間的相似度。
4.3.1 系列實(shí)體含義及特殊性
系列代表教師定義的某個(gè)學(xué)科領(lǐng)域內(nèi)知識(shí)點(diǎn)集群。系列的特殊性在于其下的知識(shí)點(diǎn)可能由不同教師創(chuàng)建,即教師可將知識(shí)圖譜數(shù)據(jù)庫中的任意知識(shí)點(diǎn)組成一個(gè)系列。教師在構(gòu)建系列的過程中需要對(duì)某些現(xiàn)存知識(shí)點(diǎn)進(jìn)行補(bǔ)充和完善,從而天然形成了前后置知識(shí)點(diǎn)。這種形式的系列組合不僅促進(jìn)了教師間的學(xué)科交流,也極大豐富了知識(shí)點(diǎn)之間的前后置關(guān)系,為前后置推薦提供了可能。
4.3.2 前后置知識(shí)點(diǎn)推薦方法
為了真正實(shí)現(xiàn)上文提到的前后置推薦,本文還在系列實(shí)體到知識(shí)點(diǎn)實(shí)體的include 關(guān)系上設(shè)置了一個(gè)特殊的數(shù)值屬性:order,其大小代表了此知識(shí)點(diǎn)在系列中的順序。因此每個(gè)系列中的所有知識(shí)點(diǎn)通過order 屬性天然形成一條前后置關(guān)系鏈。同時(shí),每個(gè)知識(shí)點(diǎn)可能存在于多個(gè)系列對(duì)應(yīng)的前后置關(guān)系鏈中,其前置知識(shí)點(diǎn)和后置知識(shí)點(diǎn)推薦組合因此不斷豐富。據(jù)此,只需要在知識(shí)圖譜數(shù)據(jù)庫中發(fā)掘每個(gè)知識(shí)點(diǎn)所屬的所有系列并根據(jù)order 找到的其他知識(shí)點(diǎn)就可以實(shí)現(xiàn)前后置知識(shí)點(diǎn)的推薦,本方案描述的結(jié)構(gòu)示意圖如圖8所示。
圖8 前后置知識(shí)點(diǎn)查詢結(jié)構(gòu)圖Fig.8 The structure diagram of pre-position and post-position knowledge point query
本文基于知識(shí)圖譜數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)出了以上三種線上教學(xué)資源推薦策略:學(xué)習(xí)路徑推薦策略可充分利用知識(shí)圖譜關(guān)聯(lián)關(guān)系,基于數(shù)據(jù)庫查詢實(shí)現(xiàn),操作簡(jiǎn)單,易于擴(kuò)展與遷移;圖嵌入模型推薦策略利用機(jī)器學(xué)習(xí)方法對(duì)圖數(shù)據(jù)進(jìn)行建模,提高了推薦模塊的可信度與精準(zhǔn)度;而前后置知識(shí)點(diǎn)推薦策略為人工構(gòu)建知識(shí)圖譜提供了途徑,增加了方法靈活性。綜合上述三種方法,即可獲得最終的推薦結(jié)果。
基于上一章提出的三種推薦策略,本章介紹了每種策略的具體實(shí)現(xiàn)方案及最終實(shí)現(xiàn)效果。
前文所述三種學(xué)習(xí)路徑推薦方法的具體實(shí)現(xiàn)流程如下。首先在Neo4j 數(shù)據(jù)庫中查詢?nèi)N滿足學(xué)習(xí)路徑推薦方法的結(jié)構(gòu),從所有滿足條件的結(jié)構(gòu)中提取出學(xué)科內(nèi)強(qiáng)相關(guān)、全學(xué)科弱相關(guān)、學(xué)科體系內(nèi)相關(guān)的知識(shí)點(diǎn)對(duì),之后根據(jù)所有的知識(shí)點(diǎn)對(duì)構(gòu)建出包含所有知識(shí)點(diǎn)的關(guān)系圖。當(dāng)知識(shí)圖譜結(jié)構(gòu)豐富程度較低時(shí),整體關(guān)系圖是一個(gè)非連通圖。關(guān)系圖構(gòu)建的完成標(biāo)志著學(xué)習(xí)路徑推薦的完成。當(dāng)需要對(duì)一個(gè)知識(shí)點(diǎn)做學(xué)習(xí)路徑推薦時(shí),只需查詢關(guān)系圖上包含此知識(shí)點(diǎn)的最大連通圖,找到需要推薦的K 階知識(shí)點(diǎn)。最后查詢MySQL 數(shù)據(jù)庫得到推薦知識(shí)點(diǎn)的詳細(xì)信息,利用HTML、CSS、JavaScript 技術(shù),基于Vue 前端框架,引入Vis.js 可視化框架實(shí)現(xiàn)可視化工程項(xiàng)目展示。流程圖如圖9所示。
圖9 學(xué)習(xí)路徑推薦流程圖Fig.9 The flowchart of learning path recommendation
由于知識(shí)點(diǎn)的相關(guān)信息分散保存在Neo4j 和MySQL 數(shù)據(jù)庫中,后端使用語言為Java,而圖嵌入模型的建立與節(jié)點(diǎn)相似度計(jì)算全過程均位于Python腳本內(nèi),因此選擇了文件流的方式讀取源數(shù)據(jù)。隨后將三元組數(shù)據(jù)輸入RotatE 模型,對(duì)知識(shí)圖譜數(shù)據(jù)庫內(nèi)的節(jié)點(diǎn)與關(guān)系進(jìn)行建模,得出各知識(shí)點(diǎn)所對(duì)應(yīng)的嵌入向量,模型參數(shù)選擇如下:嵌入向量維度之后使用修正的余弦相似度計(jì)算出相似度得分Top5 知識(shí)點(diǎn),并加入其推薦知識(shí)點(diǎn)結(jié)果內(nèi)。流程圖見圖10。
圖10 圖嵌入模型推薦流程圖Fig.10 The flowchart of graph embedding model recommendation
前后置知識(shí)點(diǎn)推薦策略的具體實(shí)現(xiàn)流程如下。首先在Neo4j 數(shù)據(jù)庫中為每一個(gè)知識(shí)點(diǎn)查詢其關(guān)聯(lián)的系列結(jié)構(gòu)。當(dāng)查詢到滿足條件的結(jié)構(gòu)時(shí),可通過所有的include 關(guān)系及order 屬性值構(gòu)建出多條前后置知識(shí)點(diǎn)關(guān)系鏈,其中order 屬性較小的推入前置知識(shí)點(diǎn)隊(duì)列,order 屬性較大的知識(shí)點(diǎn)推入后置知識(shí)點(diǎn)隊(duì)列,從而基本完成了知識(shí)點(diǎn)的前后置推薦。最后查詢MySQL 數(shù)據(jù)庫得到推薦知識(shí)點(diǎn)的詳細(xì)信息,利用HTML、CSS、JavaScript、Vis.js 可視化框架、Vue 框架等技術(shù)實(shí)現(xiàn)可視化工程項(xiàng)目展示。流程圖如圖11所示。
圖11 前后置知識(shí)點(diǎn)推薦流程圖Fig.11 The flowchart of pre-position and post-position knowledge point recommendation
為了驗(yàn)證本文的推薦系統(tǒng)能夠緩解推薦系統(tǒng)中的長(zhǎng)尾效應(yīng),為用戶推薦更加多樣化的內(nèi)容,實(shí)現(xiàn)跨學(xué)科的推薦,本文選用覆蓋率(coverage)和學(xué)科覆蓋率指標(biāo)來評(píng)價(jià)推薦系統(tǒng)的效果。
覆蓋率是用來評(píng)估推薦系統(tǒng)推薦能力的重要指標(biāo)之一,表示算法所預(yù)測(cè)的項(xiàng)目占所有項(xiàng)目的比例,公式定義如下:
而學(xué)科覆蓋率源于我國教育部定義的13 個(gè)學(xué)科門類:哲學(xué)、經(jīng)濟(jì)學(xué)、法學(xué)、教育學(xué)、文學(xué)、歷史學(xué)、理學(xué)、工學(xué)、農(nóng)學(xué)、醫(yī)學(xué)、軍事學(xué)、管理學(xué)、藝術(shù)學(xué),指算法所預(yù)測(cè)的項(xiàng)目涉及的學(xué)科門類占所有項(xiàng)目涉及的學(xué)科門類的比例。公式定義如下:
將本文提出的基于圖嵌入的推薦方法(下文記為ER,Embedding Recommend)同時(shí)與基 于熱度排序的推薦(下文記為MPR,Most Popular Recommend)、基于點(diǎn)擊率排序的推薦(下文記為MCR,Most Clicked Recommend)做對(duì)比。其中,基于熱度的推薦算法根據(jù)用戶點(diǎn)擊量與用戶收藏?cái)?shù)量的綜合加權(quán)計(jì)算得出,某個(gè)知識(shí)點(diǎn)的點(diǎn)擊量及收藏?cái)?shù)量越多,則代表該知識(shí)點(diǎn)越熱門。而基于點(diǎn)擊量的推薦方法由用戶點(diǎn)擊量排序得出。
本文分別取長(zhǎng)度為100、200、300 的推薦列表,對(duì)比了上文所述三種推薦算法的覆蓋率和學(xué)科覆蓋率。結(jié)果如圖12和圖13。由圖12與圖13可知,在控制其他條件不變的情況下,本文提出的推薦模型的覆蓋率與學(xué)科覆蓋率相較于其他方法更高,在對(duì)抗長(zhǎng)尾效應(yīng)上起到了顯著的效果。
圖12 覆蓋率對(duì)比圖Fig.12 The comparison chart of coverage
圖13 學(xué)科覆蓋率對(duì)比圖Fig.13 The comparison chart of class category coverage
綜上可見,本文提出的推薦算法覆蓋率及學(xué)科覆蓋率高于其他方法,提高了推薦內(nèi)容的多樣性,有效緩解了“長(zhǎng)尾效應(yīng)”。
圖14、圖15為部分知識(shí)點(diǎn)的實(shí)現(xiàn)效果圖。
圖14 世界地理-希臘Fig.14 World Geography - Greece
圖15 命題邏輯推理應(yīng)用Fig.15 Application of propositional logic reasoning
圖14為本系統(tǒng)“世界地理-希臘”知識(shí)點(diǎn)的實(shí)現(xiàn)效果圖,圖15為“命題邏輯推理應(yīng)用”知識(shí)點(diǎn)的實(shí)現(xiàn)效果圖,均展示了各知識(shí)點(diǎn)的學(xué)習(xí)路徑推薦結(jié)果、圖嵌入相似計(jì)算推薦結(jié)果、前后置知識(shí)點(diǎn)推薦結(jié)果,詳細(xì)介紹如下。
5.5.1 學(xué)習(xí)路徑推薦結(jié)果
由圖16可見,對(duì)于“世界地理-希臘”知識(shí)點(diǎn),可通過“世界地理-希臘”的“世界地理”標(biāo)簽和教師找到知識(shí)點(diǎn)“世界地理-埃及”和“世界地理-西班牙”,滿足領(lǐng)域內(nèi)強(qiáng)相關(guān)的推薦目標(biāo)。也可通過“世界地理”標(biāo)簽找到領(lǐng)域內(nèi)弱相關(guān)的知識(shí)點(diǎn),即“世界地理-亞歷山大”。此外,通過“希臘”標(biāo)簽可找到“地中海統(tǒng)一”知識(shí)點(diǎn),該知識(shí)點(diǎn)屬于領(lǐng)域外的弱相關(guān)知識(shí)點(diǎn)。
圖16 “世界地理-希臘”可視化Fig.16 Visualization of “World Geography - Greece”
由圖17可知,對(duì)于“命題邏輯推理應(yīng)用”知識(shí)點(diǎn),通過“命題邏輯推理應(yīng)用”的“命題邏輯”標(biāo)簽和教師可找到知識(shí)點(diǎn)“復(fù)合命題推理”,滿足領(lǐng)域內(nèi)強(qiáng)相關(guān)的推薦目標(biāo)。通過“命題邏輯”標(biāo)簽找到“命題公式的定義”和“命題公式的類型”知識(shí)點(diǎn),均屬于領(lǐng)域內(nèi)弱相關(guān)的知識(shí)點(diǎn)。通過“邏輯學(xué)”標(biāo)簽可找到“邏輯學(xué)導(dǎo)學(xué)”和“邏輯學(xué)緒論”知識(shí)點(diǎn),這是領(lǐng)域外的弱相關(guān)知識(shí)點(diǎn)。最后,可以通過教師找到“批判性思維”和“論證的規(guī)則”的體系內(nèi)知識(shí)點(diǎn)。
圖17 “命題邏輯推理應(yīng)用”可視化Fig.17 Visualization of “Application of propositional logic reasoning”
5.5.2 圖嵌入模型計(jì)算結(jié)果
圖14、圖15中知識(shí)點(diǎn)圖嵌入模型的推薦結(jié)果如表5所示。
表5 部分知識(shí)點(diǎn)圖嵌入推薦結(jié)果Table 5 Some recommendation results of knowledge graph embedded
對(duì)比上文所述的學(xué)習(xí)路徑推薦結(jié)果,可以看出圖嵌入方式的推薦結(jié)果與學(xué)習(xí)路徑的推薦結(jié)果具有部分一致性。但是,它能夠?qū)ο嗨贫冗M(jìn)行排序,從而解決了知識(shí)點(diǎn)數(shù)量眾多帶來的隨機(jī)性問題。此外,本方法所得的推薦結(jié)果包含由知識(shí)圖譜多跳關(guān)系推斷得出的隱關(guān)系,豐富了輸出的推薦結(jié)果,為用戶提供了多樣化的選擇。
5.5.3 前后置知識(shí)點(diǎn)推薦結(jié)果
對(duì)于“世界地理-希臘”知識(shí)點(diǎn),圖18是圖14“前置知識(shí)”的展開結(jié)果,展示了“希臘文明的歷史背景”和“早期希臘哲學(xué)”知識(shí)點(diǎn),圖19是圖14“后置知識(shí)”的展開結(jié)果,展示了“哲學(xué)的誕生”和“西方哲學(xué)史”知識(shí)點(diǎn)。這些知識(shí)點(diǎn)共同存在于教師所構(gòu)建的“西方哲學(xué)發(fā)展起源”系列中,由希臘文明的歷史發(fā)展起源引述西方哲學(xué)史,而“世界地理-希臘”知識(shí)點(diǎn)正處于這段引述的中間,位置合理,其前后置推薦結(jié)果基本滿足本文的前后置推薦目標(biāo)。
圖18 “世界地理-希臘”前置知識(shí)Fig.18 The pre-position knowledge point of “World Geography- Greece”
圖19 “世界地理-希臘”后置知識(shí)Fig.19 The post-position knowledge point of “World Geography- Greece”
對(duì)于“命題邏輯推理應(yīng)用”知識(shí)點(diǎn),圖20是圖15“前置知識(shí)”的展開結(jié)果,展示了“命題的構(gòu)成及特點(diǎn)”和“真值表方法應(yīng)用”知識(shí)點(diǎn),圖21是圖15“后置知識(shí)”的展開結(jié)果,展示了“枚舉歸納推理”、“類比推理”、“因果推理”、“概率推理”知識(shí)點(diǎn),這些知識(shí)點(diǎn)共同存在于教師所構(gòu)建的“邏輯學(xué)”系列中。雖然其前后置推薦結(jié)果在前后依賴關(guān)系上較弱,但在“邏輯學(xué)”系列上的前后置推薦也為“命題邏輯推理應(yīng)用”的拓展學(xué)習(xí)提供了合理補(bǔ)充。
圖20 “命題邏輯推理應(yīng)用”前置知識(shí)Fig.20 The pre-position knowledge point of “Application of propositional logic reasoning”
圖21 “命題邏輯推理應(yīng)用”后置知識(shí)Fig.21 The post-position knowledge point of “Application of propositional logic reasoning”
分析以上知識(shí)點(diǎn)示例可知,本文提出的推薦系統(tǒng)能夠挖掘知識(shí)點(diǎn)間潛在關(guān)聯(lián)關(guān)系,實(shí)現(xiàn)良好的推薦效果。
本文以當(dāng)下流行的圖數(shù)據(jù)庫為基礎(chǔ),搭建了構(gòu)建教學(xué)資源領(lǐng)域知識(shí)圖譜的制作平臺(tái),應(yīng)用了圖嵌入模型中性能較好的RotatE 模型對(duì)數(shù)據(jù)庫中的樣本進(jìn)行建模計(jì)算,提出了一套適用于教學(xué)資源領(lǐng)域的推薦策略。學(xué)習(xí)路徑推薦策略能夠通過簡(jiǎn)單的數(shù)據(jù)庫查詢方法高效獲取數(shù)據(jù)庫中的顯性關(guān)聯(lián)關(guān)系。圖嵌入推薦策略彌補(bǔ)了上述策略的隨機(jī)性缺陷,能夠?qū)ν扑]結(jié)果做出準(zhǔn)確排序,增加了穩(wěn)定性。此外,前后置知識(shí)點(diǎn)推薦策略充分挖掘了知識(shí)點(diǎn)關(guān)系鏈,為人工構(gòu)建推薦結(jié)果提供了可能。
然而,本文提出的推薦策略仍存在待提升與改進(jìn)的方面。例如,目前Neo4j 數(shù)據(jù)庫中數(shù)據(jù)較少且關(guān)系不夠豐富,導(dǎo)致數(shù)據(jù)穩(wěn)定性不高,也無法定量評(píng)判策略的優(yōu)越性。此外,本系統(tǒng)暫未上線,缺少真實(shí)用戶交互數(shù)據(jù),因此暫未將用戶個(gè)性化推薦模塊投入使用。不過,隨著平臺(tái)的開放與使用,系統(tǒng)中數(shù)據(jù)的規(guī)模將越來越大,本文提出的推薦策略將會(huì)發(fā)揮更加顯著的作用。
利益沖突聲明
所有作者聲明不存在利益沖突關(guān)系。