葉 嫣,李培國
(1.廣州商學院 信息技術與工程學院,廣州 511363;2.暨南大學 信息科學技術學院,廣州 510632)
推薦系統(tǒng)作為提供個性化服務的技術手段之一,已經(jīng)在多個領域進行了廣泛應用。例如,電子商務領域中的亞馬遜、京東等都使用了推薦技術,為用戶推薦個性化的產(chǎn)品;社區(qū)類網(wǎng)站中的豆瓣大量的應用了推薦技術,為不同用戶提供個性化的內(nèi)容;電影、音樂、圖書類型的網(wǎng)站系統(tǒng)中,也應用了相應的個性化推薦技術。
推薦系統(tǒng)的廣泛引用,為用戶提供了個性化的服務,尤其在網(wǎng)絡數(shù)據(jù)環(huán)境中,通過精準的推薦服務,能夠大大提升個性化服務質(zhì)量,滿足不同用戶的個性化需求。
目前,主要的推薦算法有:基于規(guī)則的推薦算法、基于內(nèi)容的推薦算法、協(xié)同過濾算法及多種推薦方法共同使用的混合算法。隨著深度學習的應用越來越廣泛,也出現(xiàn)了使用基于深度學習的推薦算法[1]。
圖1 協(xié)同過濾算法原理
基于規(guī)則的推薦算法,主要是預定義一定數(shù)量的推薦規(guī)則。例如,如果滿足A,則推薦B。當需要進行推薦時,根據(jù)系統(tǒng)設定好的推薦規(guī)則,逐一進行判斷,最終形成推薦內(nèi)容。該類推薦算法,優(yōu)點是實現(xiàn)簡單,推薦結(jié)果明確;缺點是系統(tǒng)很難針對大量不同的用戶制定相應的推薦規(guī)則,并且,隨著系統(tǒng)的不斷變化,很難對推薦規(guī)則進行維護和完善。
基于內(nèi)容的推薦算法,是從待推薦項目的內(nèi)容角度來分析,與用戶曾經(jīng)瀏覽過的內(nèi)容進行對比,從而決定是否需要推薦該項目。這種算法需要對系統(tǒng)中所有項目的內(nèi)容進行分析和定義,這顯然無法適應數(shù)據(jù)量不斷變化的系統(tǒng)。
協(xié)同過濾算法,是目前應用的最成功的一種推薦算法。其基本原則是: 根據(jù)用戶對項目的評分數(shù)據(jù)(包括顯性或隱性評分),計算目標用戶(項目)與其他用戶(項目)的相似度,從而根據(jù)相鄰用戶(項目)為目標用戶完成推薦[2]。算法的基本原理是:人以類聚,物以群分。偏好相似的用戶,會對相同的內(nèi)容感興趣。如圖1所示。
協(xié)同過濾算法分為兩種方式:基于用戶的協(xié)同過濾和基于項目的協(xié)同過濾。該算法分為如下3個步驟:
第1步,根據(jù)用戶評分數(shù)據(jù),生成用戶項目評價矩陣,如表1所示。
表1 用戶項目評價矩陣
第2步,根據(jù)用戶項目評價矩陣,計算目標用戶與所有用戶的相似度,確定最鄰近用戶集。在計算用戶相似度時,經(jīng)常采用余弦相似度,計算公式為:
sim∪i,∪j=∪i·∪j‖∪i‖·‖∪j‖,
(1)
第3步,根據(jù)相似度計算結(jié)果,選定目標用戶的最鄰近用戶集,形成最終的推薦結(jié)果。
該算法在進行推薦時,過分依賴于用戶的評分數(shù)據(jù),因此存在冷啟動問題。
混合算法是將多種推薦算法集成到一起,針對不同的情況采用不同的推薦算法,發(fā)揮各種算法的優(yōu)勢,并彌補各自算法的缺點,實現(xiàn)更為精準和高效的混合推薦算法。
關聯(lián)規(guī)則是對一個事物和其他事物的相互依存和關聯(lián)關系的一種描述[3],是數(shù)據(jù)挖掘領域的一個重要分支。關聯(lián)規(guī)則挖掘的典型是電商系統(tǒng)中的購物籃分析,通過分析用戶放入購物籃的不同物品之間的聯(lián)系,從而發(fā)現(xiàn)用戶的購買習慣。
Apriori算法是關聯(lián)規(guī)則挖掘的經(jīng)典算法[4],該算法能夠有效地產(chǎn)生所有關聯(lián)規(guī)則。由于該算法存在一些效率上的問題,因此人們在此算法的基礎上,又提出了許多改進算法。
社會化標簽,也稱為協(xié)作標簽,是通過用戶來為資源添加相應的標簽,從而標注和分類相應的資源,提高資源的可檢索性。
在E-Learning系統(tǒng)中,通過使用標簽技術,可以在如下幾個方面為推薦模型提供支持:(1)用戶為資源添加標簽,可以作為用戶對資源的隱性評分行為,為協(xié)同過濾算法提供依據(jù);(2)通過大量用戶為資源添加的標簽,可以實現(xiàn)資源的聚類,為基于規(guī)則或者基于內(nèi)容的推薦算法提供支持;(3)通過用戶添加的標簽,可以了解用戶關注的知識領域,為推薦提供依據(jù)。因此,在E-Learning系統(tǒng)中的推薦算法模型,結(jié)合使用標簽技術,可以在一定程度上提升推薦算法的精確度。
面向企業(yè)的E-Learning系統(tǒng),與普通意義上的E-Learning系統(tǒng)在大的概念上是基本一致的,主要是通過網(wǎng)絡學習的方式,完成企業(yè)員工的培訓和學習任務。但是,在系統(tǒng)功能模塊的設計,以及用戶和培訓資源的組織等方面,都有著很大的差別。首先,大部分面向企業(yè)的E-Learning系統(tǒng),都是按照ISO10015[5]標準的培訓體系來設計相應的功能模塊,主要包括:培訓需求分析、培訓策劃、培訓實施、培訓結(jié)果評估4大部分。其次,系統(tǒng)內(nèi)部的用戶和培訓資源,大都會按照企業(yè)的組織架構進行管理和維護,大部分具有相應的層級關系。最后,對用戶的訪問權限有一定的限制,大部分會按照用戶的組織架構進行資源的訪問權限分配。
面向企業(yè)E-Learning推薦系統(tǒng)采用混合推薦算法,包括協(xié)同過濾和關聯(lián)規(guī)則挖掘算法,并使用標簽技術作為輔助。通過該推薦系統(tǒng),為E-Learning系統(tǒng)中的用戶提供以下個性化學習內(nèi)容:Top10列表:該列表為目標用戶最可能感興趣的前10條學習資源;猜你喜歡列表:根據(jù)目標用戶以往的學習內(nèi)容,推薦系統(tǒng)預測目標用戶最可能關注的內(nèi)容。
本文從以下幾個方面來闡述該推薦系統(tǒng)在設計過程中的主要問題:混合算法模型介紹;標簽技術應用;推薦系統(tǒng)的權限范圍約束;與面向企業(yè)的E-Learning系統(tǒng)接口問題。
本文采用協(xié)同過濾算法與關聯(lián)規(guī)則挖掘相結(jié)合的混合推薦算法,算法模型結(jié)構如圖2所示。
圖2 算法框架圖
2.2.1 算法流程
由于企業(yè)E-Learning系統(tǒng)中的用戶范圍相對固定,本文采用基于相鄰用戶的協(xié)同過濾算法,其流程圖如圖3所示。
圖3 協(xié)同過濾算法流程圖
基于相鄰用戶的協(xié)同過濾算法,分為3個步驟:
第1步,收集用戶評分數(shù)據(jù)。本文定義了表2中的顯性和隱性評分行為。
表2 評分行為表
根據(jù)表2定義的顯性和隱形評分行為,查詢E-Learning系統(tǒng)中相對應的數(shù)據(jù)庫表,收集得到系統(tǒng)所有用戶對所有學習資源的評分數(shù)據(jù)。在確定用戶對某個資源的評分時,根據(jù)以下規(guī)則:
(1)用戶對資源沒有任何顯性和隱性評分行為時,記為0;
(2)用戶對資源存在顯性評分時,則取相應的顯性評價分值;
(3)用戶對資源不存在顯性評分時,則取分值最高的隱性評分分值。
假設系統(tǒng)存在m個用戶,n個學習資源,則最終會得到m*n維的評價矩陣,其中每行代表對應用戶對n個資源的評分記錄。如表3所示。
表3 m*n評價矩陣
第2步,根據(jù)第一步得到的評價矩陣,使用余弦相似度計算公式(公式1),計算每個用戶與其他用戶的相似度;然后按照相似度從大到小,選取5個相似度最高的用戶,組成該用戶的最相似用戶集。
第3步,在最相似用戶集合中,選取每個最相似用戶評分最高的前兩條記錄,組成當前用戶的推薦列表。
2.2.2 冷啟動和稀疏問題
針對協(xié)同過濾算法普遍存在的冷啟動和稀疏問題,根據(jù)面向企業(yè)E-Learning系統(tǒng)的特點,本文采用基于規(guī)則的方式來解決。例如,新入職的員工沒有任何評分數(shù)據(jù),無法形成推薦列表。此時,基于規(guī)則的推薦算法生效,為新入職的員工推薦新員工入職培訓課程列表。
這樣的規(guī)則,可以根據(jù)企業(yè)的特點,進行相應的定制和調(diào)整,以提供更為精準有效的推薦。有效的基于規(guī)則的推薦,能夠較好地解決冷啟動問題。本文設計了一般推薦規(guī)則,如表4所示。
表4 推薦規(guī)則
2.3.1 標簽產(chǎn)生方式
為保證標簽的質(zhì)量,同時結(jié)合面向企業(yè)E-Learning系統(tǒng)的特點,本文采用固定標簽的設計。由系統(tǒng)的管理員,根據(jù)企業(yè)提供的培訓內(nèi)容,進行標簽的維護工作,用戶通過點擊相應的標簽,來進行資源的標注操作。
2.3.2 標簽推薦
本文的標簽推薦方式,基于以下假設:如果一個用戶,多次使用了標簽L,那么說明該用戶對標簽L下的最熱門學習資源感興趣。因此,可以通過計算用戶最常用的標簽集合,再根據(jù)這個集合,找到對應標簽下的最熱門資源,生成推薦列表。為避免只推薦系統(tǒng)最熱門標簽下的最熱門內(nèi)容,本文借鑒TF-IDF的方式來計算每個用戶最關注的標簽集。整個推薦過程分為如下2個步驟:
第1步,統(tǒng)計每個用戶對每個標簽的使用次數(shù),通過公式(2),計算得到每個用戶的個性化標簽;
(2)
第2步,得出每個用戶的個性化標簽集合,然后分別計算對應標簽的最熱門資源,形成推薦列表。
本文通過使用關聯(lián)規(guī)則挖掘算法,對用戶可能感興趣的知識內(nèi)容進行預測。預測算法過程,如圖4所示。
圖4 關聯(lián)規(guī)則挖掘預測算法流程
預測步驟如下:
(1)掃描系統(tǒng)所有用戶的標簽使用表,記錄每個用戶的標簽使用列表。
(2)針對所有使用的標簽,使用關聯(lián)規(guī)則挖掘算法,得出關聯(lián)標簽集合,本文采用經(jīng)典的Apriori算法作為關聯(lián)規(guī)則挖掘算法。
(3)根據(jù)關聯(lián)標簽集合,以及每個待預測用戶的標簽使用列表,得出用戶可能感興趣的標簽集合。
(4)根據(jù)預測得到的標簽集合,得到每個預測標簽下的熱門資源,生成預測列表。
通過以上的步驟,推薦模型就可以根據(jù)用戶已經(jīng)使用過的標簽,使用關聯(lián)規(guī)則挖掘算法預測用戶可能感興趣的標簽,從而形成推薦結(jié)果的預測列表。
本文借鑒推薦系統(tǒng)在電商領域的成功應用,結(jié)合面向企業(yè)E-Learning系統(tǒng)的特點,提出并設計一個基于協(xié)同過濾算法、標簽技術,以及關聯(lián)規(guī)則挖掘的混合推薦系統(tǒng)模型,為企業(yè)E-Learning系統(tǒng)的推薦模型提供理論基礎,為最終的推薦系統(tǒng)實現(xiàn)提供模型依據(jù)。