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

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

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

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

圖3 協同過濾算法流程圖
基于相鄰用戶的協同過濾算法,分為3個步驟:
第1步,收集用戶評分數據。本文定義了表2中的顯性和隱性評分行為。

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

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

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

第2步,得出每個用戶的個性化標簽集合,然后分別計算對應標簽的最熱門資源,形成推薦列表。
本文通過使用關聯規則挖掘算法,對用戶可能感興趣的知識內容進行預測。預測算法過程,如圖4所示。

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