葉 嫣,李培國
(1.廣州商學(xué)院 信息技術(shù)與工程學(xué)院,廣州 511363;2.暨南大學(xué) 信息科學(xué)技術(shù)學(xué)院,廣州 510632)
推薦系統(tǒng)作為提供個(gè)性化服務(wù)的技術(shù)手段之一,已經(jīng)在多個(gè)領(lǐng)域進(jìn)行了廣泛應(yīng)用。例如,電子商務(wù)領(lǐng)域中的亞馬遜、京東等都使用了推薦技術(shù),為用戶推薦個(gè)性化的產(chǎn)品;社區(qū)類網(wǎng)站中的豆瓣大量的應(yīng)用了推薦技術(shù),為不同用戶提供個(gè)性化的內(nèi)容;電影、音樂、圖書類型的網(wǎng)站系統(tǒng)中,也應(yīng)用了相應(yīng)的個(gè)性化推薦技術(shù)。
推薦系統(tǒng)的廣泛引用,為用戶提供了個(gè)性化的服務(wù),尤其在網(wǎng)絡(luò)數(shù)據(jù)環(huán)境中,通過精準(zhǔn)的推薦服務(wù),能夠大大提升個(gè)性化服務(wù)質(zhì)量,滿足不同用戶的個(gè)性化需求。
目前,主要的推薦算法有:基于規(guī)則的推薦算法、基于內(nèi)容的推薦算法、協(xié)同過濾算法及多種推薦方法共同使用的混合算法。隨著深度學(xué)習(xí)的應(yīng)用越來越廣泛,也出現(xiàn)了使用基于深度學(xué)習(xí)的推薦算法[1]。

圖1 協(xié)同過濾算法原理
基于規(guī)則的推薦算法,主要是預(yù)定義一定數(shù)量的推薦規(guī)則。例如,如果滿足A,則推薦B。當(dāng)需要進(jìn)行推薦時(shí),根據(jù)系統(tǒng)設(shè)定好的推薦規(guī)則,逐一進(jìn)行判斷,最終形成推薦內(nèi)容。該類推薦算法,優(yōu)點(diǎn)是實(shí)現(xiàn)簡單,推薦結(jié)果明確;缺點(diǎn)是系統(tǒng)很難針對大量不同的用戶制定相應(yīng)的推薦規(guī)則,并且,隨著系統(tǒng)的不斷變化,很難對推薦規(guī)則進(jìn)行維護(hù)和完善。
基于內(nèi)容的推薦算法,是從待推薦項(xiàng)目的內(nèi)容角度來分析,與用戶曾經(jīng)瀏覽過的內(nèi)容進(jìn)行對比,從而決定是否需要推薦該項(xiàng)目。這種算法需要對系統(tǒng)中所有項(xiàng)目的內(nèi)容進(jìn)行分析和定義,這顯然無法適應(yīng)數(shù)據(jù)量不斷變化的系統(tǒng)。
協(xié)同過濾算法,是目前應(yīng)用的最成功的一種推薦算法。其基本原則是: 根據(jù)用戶對項(xiàng)目的評分?jǐn)?shù)據(jù)(包括顯性或隱性評分),計(jì)算目標(biāo)用戶(項(xiàng)目)與其他用戶(項(xiàng)目)的相似度,從而根據(jù)相鄰用戶(項(xiàng)目)為目標(biāo)用戶完成推薦[2]。算法的基本原理是:人以類聚,物以群分。偏好相似的用戶,會對相同的內(nèi)容感興趣。如圖1所示。
協(xié)同過濾算法分為兩種方式:基于用戶的協(xié)同過濾和基于項(xiàng)目的協(xié)同過濾。該算法分為如下3個(gè)步驟:
第1步,根據(jù)用戶評分?jǐn)?shù)據(jù),生成用戶項(xiàng)目評價(jià)矩陣,如表1所示。

表1 用戶項(xiàng)目評價(jià)矩陣
第2步,根據(jù)用戶項(xiàng)目評價(jià)矩陣,計(jì)算目標(biāo)用戶與所有用戶的相似度,確定最鄰近用戶集。在計(jì)算用戶相似度時(shí),經(jīng)常采用余弦相似度,計(jì)算公式為:
sim∪i,∪j=∪i·∪j‖∪i‖·‖∪j‖,
(1)
第3步,根據(jù)相似度計(jì)算結(jié)果,選定目標(biāo)用戶的最鄰近用戶集,形成最終的推薦結(jié)果。
該算法在進(jìn)行推薦時(shí),過分依賴于用戶的評分?jǐn)?shù)據(jù),因此存在冷啟動問題。
混合算法是將多種推薦算法集成到一起,針對不同的情況采用不同的推薦算法,發(fā)揮各種算法的優(yōu)勢,并彌補(bǔ)各自算法的缺點(diǎn),實(shí)現(xiàn)更為精準(zhǔn)和高效的混合推薦算法。
關(guān)聯(lián)規(guī)則是對一個(gè)事物和其他事物的相互依存和關(guān)聯(lián)關(guān)系的一種描述[3],是數(shù)據(jù)挖掘領(lǐng)域的一個(gè)重要分支。關(guān)聯(lián)規(guī)則挖掘的典型是電商系統(tǒng)中的購物籃分析,通過分析用戶放入購物籃的不同物品之間的聯(lián)系,從而發(fā)現(xiàn)用戶的購買習(xí)慣。
Apriori算法是關(guān)聯(lián)規(guī)則挖掘的經(jīng)典算法[4],該算法能夠有效地產(chǎn)生所有關(guān)聯(lián)規(guī)則。由于該算法存在一些效率上的問題,因此人們在此算法的基礎(chǔ)上,又提出了許多改進(jìn)算法。
社會化標(biāo)簽,也稱為協(xié)作標(biāo)簽,是通過用戶來為資源添加相應(yīng)的標(biāo)簽,從而標(biāo)注和分類相應(yīng)的資源,提高資源的可檢索性。
在E-Learning系統(tǒng)中,通過使用標(biāo)簽技術(shù),可以在如下幾個(gè)方面為推薦模型提供支持:(1)用戶為資源添加標(biāo)簽,可以作為用戶對資源的隱性評分行為,為協(xié)同過濾算法提供依據(jù);(2)通過大量用戶為資源添加的標(biāo)簽,可以實(shí)現(xiàn)資源的聚類,為基于規(guī)則或者基于內(nèi)容的推薦算法提供支持;(3)通過用戶添加的標(biāo)簽,可以了解用戶關(guān)注的知識領(lǐng)域,為推薦提供依據(jù)。因此,在E-Learning系統(tǒng)中的推薦算法模型,結(jié)合使用標(biāo)簽技術(shù),可以在一定程度上提升推薦算法的精確度。
面向企業(yè)的E-Learning系統(tǒng),與普通意義上的E-Learning系統(tǒng)在大的概念上是基本一致的,主要是通過網(wǎng)絡(luò)學(xué)習(xí)的方式,完成企業(yè)員工的培訓(xùn)和學(xué)習(xí)任務(wù)。但是,在系統(tǒng)功能模塊的設(shè)計(jì),以及用戶和培訓(xùn)資源的組織等方面,都有著很大的差別。首先,大部分面向企業(yè)的E-Learning系統(tǒng),都是按照ISO10015[5]標(biāo)準(zhǔn)的培訓(xùn)體系來設(shè)計(jì)相應(yīng)的功能模塊,主要包括:培訓(xùn)需求分析、培訓(xùn)策劃、培訓(xùn)實(shí)施、培訓(xùn)結(jié)果評估4大部分。其次,系統(tǒng)內(nèi)部的用戶和培訓(xùn)資源,大都會按照企業(yè)的組織架構(gòu)進(jìn)行管理和維護(hù),大部分具有相應(yīng)的層級關(guān)系。最后,對用戶的訪問權(quán)限有一定的限制,大部分會按照用戶的組織架構(gòu)進(jìn)行資源的訪問權(quán)限分配。
面向企業(yè)E-Learning推薦系統(tǒng)采用混合推薦算法,包括協(xié)同過濾和關(guān)聯(lián)規(guī)則挖掘算法,并使用標(biāo)簽技術(shù)作為輔助。通過該推薦系統(tǒng),為E-Learning系統(tǒng)中的用戶提供以下個(gè)性化學(xué)習(xí)內(nèi)容:Top10列表:該列表為目標(biāo)用戶最可能感興趣的前10條學(xué)習(xí)資源;猜你喜歡列表:根據(jù)目標(biāo)用戶以往的學(xué)習(xí)內(nèi)容,推薦系統(tǒng)預(yù)測目標(biāo)用戶最可能關(guān)注的內(nèi)容。
本文從以下幾個(gè)方面來闡述該推薦系統(tǒng)在設(shè)計(jì)過程中的主要問題:混合算法模型介紹;標(biāo)簽技術(shù)應(yīng)用;推薦系統(tǒng)的權(quán)限范圍約束;與面向企業(yè)的E-Learning系統(tǒng)接口問題。
本文采用協(xié)同過濾算法與關(guān)聯(lián)規(guī)則挖掘相結(jié)合的混合推薦算法,算法模型結(jié)構(gòu)如圖2所示。

圖2 算法框架圖
2.2.1 算法流程
由于企業(yè)E-Learning系統(tǒng)中的用戶范圍相對固定,本文采用基于相鄰用戶的協(xié)同過濾算法,其流程圖如圖3所示。

圖3 協(xié)同過濾算法流程圖
基于相鄰用戶的協(xié)同過濾算法,分為3個(gè)步驟:
第1步,收集用戶評分?jǐn)?shù)據(jù)。本文定義了表2中的顯性和隱性評分行為。

表2 評分行為表
根據(jù)表2定義的顯性和隱形評分行為,查詢E-Learning系統(tǒng)中相對應(yīng)的數(shù)據(jù)庫表,收集得到系統(tǒng)所有用戶對所有學(xué)習(xí)資源的評分?jǐn)?shù)據(jù)。在確定用戶對某個(gè)資源的評分時(shí),根據(jù)以下規(guī)則:
(1)用戶對資源沒有任何顯性和隱性評分行為時(shí),記為0;
(2)用戶對資源存在顯性評分時(shí),則取相應(yīng)的顯性評價(jià)分值;
(3)用戶對資源不存在顯性評分時(shí),則取分值最高的隱性評分分值。
假設(shè)系統(tǒng)存在m個(gè)用戶,n個(gè)學(xué)習(xí)資源,則最終會得到m*n維的評價(jià)矩陣,其中每行代表對應(yīng)用戶對n個(gè)資源的評分記錄。如表3所示。

表3 m*n評價(jià)矩陣
第2步,根據(jù)第一步得到的評價(jià)矩陣,使用余弦相似度計(jì)算公式(公式1),計(jì)算每個(gè)用戶與其他用戶的相似度;然后按照相似度從大到小,選取5個(gè)相似度最高的用戶,組成該用戶的最相似用戶集。
第3步,在最相似用戶集合中,選取每個(gè)最相似用戶評分最高的前兩條記錄,組成當(dāng)前用戶的推薦列表。
2.2.2 冷啟動和稀疏問題
針對協(xié)同過濾算法普遍存在的冷啟動和稀疏問題,根據(jù)面向企業(yè)E-Learning系統(tǒng)的特點(diǎn),本文采用基于規(guī)則的方式來解決。例如,新入職的員工沒有任何評分?jǐn)?shù)據(jù),無法形成推薦列表。此時(shí),基于規(guī)則的推薦算法生效,為新入職的員工推薦新員工入職培訓(xùn)課程列表。
這樣的規(guī)則,可以根據(jù)企業(yè)的特點(diǎn),進(jìn)行相應(yīng)的定制和調(diào)整,以提供更為精準(zhǔn)有效的推薦。有效的基于規(guī)則的推薦,能夠較好地解決冷啟動問題。本文設(shè)計(jì)了一般推薦規(guī)則,如表4所示。

表4 推薦規(guī)則
2.3.1 標(biāo)簽產(chǎn)生方式
為保證標(biāo)簽的質(zhì)量,同時(shí)結(jié)合面向企業(yè)E-Learning系統(tǒng)的特點(diǎn),本文采用固定標(biāo)簽的設(shè)計(jì)。由系統(tǒng)的管理員,根據(jù)企業(yè)提供的培訓(xùn)內(nèi)容,進(jìn)行標(biāo)簽的維護(hù)工作,用戶通過點(diǎn)擊相應(yīng)的標(biāo)簽,來進(jìn)行資源的標(biāo)注操作。
2.3.2 標(biāo)簽推薦
本文的標(biāo)簽推薦方式,基于以下假設(shè):如果一個(gè)用戶,多次使用了標(biāo)簽L,那么說明該用戶對標(biāo)簽L下的最熱門學(xué)習(xí)資源感興趣。因此,可以通過計(jì)算用戶最常用的標(biāo)簽集合,再根據(jù)這個(gè)集合,找到對應(yīng)標(biāo)簽下的最熱門資源,生成推薦列表。為避免只推薦系統(tǒng)最熱門標(biāo)簽下的最熱門內(nèi)容,本文借鑒TF-IDF的方式來計(jì)算每個(gè)用戶最關(guān)注的標(biāo)簽集。整個(gè)推薦過程分為如下2個(gè)步驟:
第1步,統(tǒng)計(jì)每個(gè)用戶對每個(gè)標(biāo)簽的使用次數(shù),通過公式(2),計(jì)算得到每個(gè)用戶的個(gè)性化標(biāo)簽;
(2)

第2步,得出每個(gè)用戶的個(gè)性化標(biāo)簽集合,然后分別計(jì)算對應(yīng)標(biāo)簽的最熱門資源,形成推薦列表。
本文通過使用關(guān)聯(lián)規(guī)則挖掘算法,對用戶可能感興趣的知識內(nèi)容進(jìn)行預(yù)測。預(yù)測算法過程,如圖4所示。

圖4 關(guān)聯(lián)規(guī)則挖掘預(yù)測算法流程
預(yù)測步驟如下:
(1)掃描系統(tǒng)所有用戶的標(biāo)簽使用表,記錄每個(gè)用戶的標(biāo)簽使用列表。
(2)針對所有使用的標(biāo)簽,使用關(guān)聯(lián)規(guī)則挖掘算法,得出關(guān)聯(lián)標(biāo)簽集合,本文采用經(jīng)典的Apriori算法作為關(guān)聯(lián)規(guī)則挖掘算法。
(3)根據(jù)關(guān)聯(lián)標(biāo)簽集合,以及每個(gè)待預(yù)測用戶的標(biāo)簽使用列表,得出用戶可能感興趣的標(biāo)簽集合。
(4)根據(jù)預(yù)測得到的標(biāo)簽集合,得到每個(gè)預(yù)測標(biāo)簽下的熱門資源,生成預(yù)測列表。
通過以上的步驟,推薦模型就可以根據(jù)用戶已經(jīng)使用過的標(biāo)簽,使用關(guān)聯(lián)規(guī)則挖掘算法預(yù)測用戶可能感興趣的標(biāo)簽,從而形成推薦結(jié)果的預(yù)測列表。
本文借鑒推薦系統(tǒng)在電商領(lǐng)域的成功應(yīng)用,結(jié)合面向企業(yè)E-Learning系統(tǒng)的特點(diǎn),提出并設(shè)計(jì)一個(gè)基于協(xié)同過濾算法、標(biāo)簽技術(shù),以及關(guān)聯(lián)規(guī)則挖掘的混合推薦系統(tǒng)模型,為企業(yè)E-Learning系統(tǒng)的推薦模型提供理論基礎(chǔ),為最終的推薦系統(tǒng)實(shí)現(xiàn)提供模型依據(jù)。