王嘉琦,顧曉梅
(南京師范大學 外國語學院,南京 210046)
信息化時代下數字圖書館和搜索引擎使得獲取電子資源變得容易,但爆炸式增長的數據遠超普通讀者的處理能力,如何篩選出有價值的內容變得困難,造成“信息過載而知識貧乏”[1].在大數據和人工智能技術的推動下,推薦系統應運而生,圖書電子資源的獲取迎來了個性化時代.它可以通過分析用戶行為數據自動學習其潛在的差異性需求,從而幫助用戶從海量數據中快速獲取對自己有價值的服務.近年來,推薦系統已經在電子商務和資源分享網站(如亞馬遜、豆瓣、Netflix等)得到廣泛應用.
以矩陣分解為代表的協同過濾[2]推薦是目前應用最為廣泛的個性化推薦技術之一,它擺脫了對用戶和物品本身信息的依賴,通過將用戶-物品評分矩陣分解成低維的用戶隱因子矩陣和物品隱因子矩陣,并根據二者相似性預測目標用戶可能感興趣的信息.但矩陣分解存在數據稀疏[3]問題,特別是當用戶評分數據較少時,現有方法很難準確挖掘近鄰用戶及物品間的相似性;其次,矩陣分解得到的物品隱因子只是對物品屬性的抽象,缺乏具體的含義,影響用戶對于推薦結果的接受度;此外,在矩陣分解中用戶和物品間相似性只計算一次,實際上在優化問題中,一旦環境變化,相似性也應隨著優化目標不斷更新.
近年來有研究者將計算機科學領域中的流形正則化理論引入推薦系統中,認為在原始高維空間中相似的數據所對應的低維投影也應較為相似.這為矩陣分解中的隱因子學習及相似性刻畫等難題提供了新的視角—在原始高維評分矩陣中相似的物品所對應的低維物品隱因子特征也較相似.基于這一發現,本文提出一個新的矩陣分解推薦模型IMMF (Item-wise similarity and Manifold regularization based Matrix Factorization),首先構建用戶-物品評分矩陣,基于同一用戶、相似用戶喜愛的物品會更加相似提出一個高維評分空間中的物品相似性度量方法;然后通過構建正則化約束項將物品相似性作用在矩陣分解的物品隱因子提取中,使得物品相似結構在降維過程中得以保留,既有效地刻畫了物品相似性,又賦予了物品隱因子幾何意義,增加推薦的可解釋性;最后根據用戶隱因子和物品隱因子計算推薦指數并進行推薦.本文試圖為網絡信息資源的推薦提供一個可供參考的解決方案.
推薦系統不需要用戶提供查詢關鍵詞,而是根據用戶行為歷史和資源的內容來構建推薦機制.目前主流的推薦技術是基于協同過濾的方法,協同過濾分為基于近鄰的推薦和基于模型的推薦,基于近鄰的推薦又可以分為面向用戶和面向物品兩種方法.面向用戶的推薦依據評分為每個用戶尋找一組相似的用戶,然后依據這些相似用戶對其他物品的評分來估算當前用戶可能喜歡的物品[4].面向物品的推薦是依據評分計算物品相似度,然后為用戶推薦與他的購買歷史相似的物品.
基于模型的推薦以矩陣分解[5]為代表,如圖1所示.主要包括如下幾個步驟:

圖1 矩陣分解示意圖Fig.1 Matrix factorization
1)對用戶評分信息進行預處理,構建用戶-物品評分矩陣R.當評分這一顯式反饋無法獲取時,推薦系統還可以通過用戶購買記錄、瀏覽行為和點贊歷史等隱式反饋進行計算.矩陣中很多數值缺失(用“?”表示),因此十分稀疏,推薦系統的目的是為用戶預測這些缺失值.
2)將高維評分矩陣R分解成低維的用戶隱因子矩陣P和物品隱因子矩陣Q,從而將用戶隱因子特征和物品隱因子特征映射至同一低維空間,其維度k遠小于用戶數m和物品數n,從而實現降維.最小化訓練集上所有樣本的預測誤差作為目標函數,使用隨機梯度下降法不斷迭代優化求解參數P和Q.一般還要添加與參數相關的正則化約束項以避免過擬合現象.通過設置總誤差閾值或者迭代次數來判斷是否終止迭代.
3)得到用戶隱因子矩陣和物品隱因子矩陣后,通過二者的乘積重構出評分矩陣,得到目標用戶對物品的預測評分并進行推薦.Mnih等人[6]又從概率生成的角度對矩陣分解進行了解釋,認為用戶和物品的隱因子特征向量均服從均值為0的高斯分布,然后通過對二者的后驗概率取對數得到目標函數,這與上述從優化角度得到的目標函數是等價的.
矩陣分解通過降維的方式大大降低了計算量,且只依賴評分數據,簡單高效易實現.但是當評分數據很少時,現有方法難以準確度量用戶和物品相似性;且物品隱因子含義模糊,推薦的可解釋性較差.
在推薦系統中,用戶和物品通過評分相互聯系并形成網絡,如多個物品被同一用戶評分、同一物品被多個用戶評分等.通過量化局部連接關系可以有效發現近鄰用戶和物品.協同過濾中常用的相似性度量方法有余弦相似性、皮爾森相關系數[7]等,但是在數據稀疏時效果有所降低.在此基礎上,吳應良[1]提出將間接信任關系和直接信任關系融合成綜合信任度,并引入協同過濾中.汪靜[8]通過主動生成3階段的物品詢問列表,盡可能獲取更多用戶反饋數據,并基于這些反饋計算物品間相似度.王運[9]利用物品標簽關聯度數據和物品流行度數據計算物品相似度,并融入概率矩陣分解模型中進行評分預測.但是這些方法對鄰接關系只計算一次,沒有考慮到相似關系是動態變化的.李昆侖[10]提出將項目屬性信息融入評分中以對相似性度量進行改進,并將項目和用戶隱式反饋以一定的權重相結合,從而提高矩陣分解的預測精度.陶昀翔[11]提出局部保持的正則化約束項并嵌入到矩陣分解中,但基于主題相似性等計算物品相似度,需要額外的數據信息,在部分場景中難以滿足.針對上述問題,本文利用評分矩陣,從同一用戶和相似用戶的評分共現兩個方面改進物品相似性度量方法,并令其在初值的鄰域內動態更新,從而更有效地學習物品相似性.
流形正則化[12]是計算機科學領域中一個重要的方法,認為在高維數據中嵌入著低維的流形結構,通過將數據映射至低維子空間中,可以使數據在新的投影空間中保持其在原特征空間中的局部幾何結構[13],從而更緊湊地描述特征.局部保持投影(Locality Preserving Projections,LPP)[14]是一種代表性的流形正則化方法,通過建立近鄰圖來刻畫局部結構.具體來說,給定一個n個點構成的數據集合X=[x1,x2,…,xn],其中xi∈Rm,m是原始高維數據的維度.映射后的低維數據集合Y=[y1,y2,…,yn],yi∈Rk.目的是尋找一個投影變換矩陣W∈Rm×k(k (1) 其中A∈Rn×n是相似度矩陣,當Aij較大時,表示數據點xi和xj有較大的相似度,從而投影得到的yi和yj距離也較近,這一假設通過最小化目標函數得到.通過流形正則化技術可以在矩陣分解過程中保持物品間的局部結構,更好地學習物品隱因子及其相似性. IMMF推薦模型融合了物品相似性改良和流形正則化約束,框架如圖2所示,核心部分由物品相似性改量、流形正則化約束和矩陣分解推薦3個模塊組成. 圖2 矩陣分解推薦模型IMMF框架圖Fig.2 Framework of IMMF 首先根據源數據構建用戶-物品評分矩陣.假設數據集中共有m個用戶和n個物品,每條評分記錄是由“用戶-物品-評分”構成的三元組.將所有紀錄表示成評分矩陣R∈Rm×n,元素Rij表示用戶i對物品j的評分.評分矩陣R的行向量表示該用戶在所有物品上的評分,列向量表示所有用戶對該物品的評分. 物品的相似性是推薦系統中常見的議題,用來表示待推薦資源之間的距離關系,一般需要解決鄰居的選取問題和個體間的相似性度量問題.構建好用戶-物品評分矩陣后,本文從同一用戶、相似用戶的評分共現信息兩個方面來度量物品相似性. 3.1.1 基于同一用戶的物品相似性 比起隨機選擇的物品,同一用戶喜歡的物品更有可能相似.本文所使用數據集的評分范圍是[1,5],首先將評分矩陣轉換成表征喜好的二元矩陣Rb.具體來說,若Rij>3,則認為用戶i喜愛物品j,令Rbij=1;若Rij≤3,認為用戶對該物品表達了負面情緒,令Rbij=0.對于Rij=0的情況,即用戶沒有對該物品進行評分,認為用戶對該物品不熟悉,令Rbij=0.由于我們是根據用戶的喜好來推測其行為,因此在訓練時要求模型盡量擬合Rbij≠0的積極情況,對于不喜歡和不熟悉的物品不再考慮.定義同一用戶喜愛的物品間相似度矩陣AS∈Rn×n如下: (2) Asij通過統計物品i和物品j被同一用戶喜愛的次數表征二者的相似度.為了方便后續數據的處理,對矩陣As進行歸一化,將值映射至(0,1)間,提高后續步驟中數據處理的效率. 3.1.2 基于相似用戶的物品相似性 在社會化模型中用戶近鄰關系與喜好有較強的相關性,比起隨機選擇的物品,如果兩個物品被共同的朋友喜歡,那么他們更有可能相似.首先計算用戶間的歐氏距離,每個用戶向量由他在所有物品上的評分表示,則用戶ui和uj的歐氏距離計算如下: dist(ui,uj)=euclidean(ui,uj)*r (3) 其中r為常數,為了簡化計算,我們設定約束參數r=10000.越近的用戶相互影響力越大,即用戶間局部結構應在相似性度量中有所體現.令F∈Rm×m表示用戶-用戶相似度矩陣,其中Fij表示用戶ui和uj間的相似度,為了與前面的同一用戶喜愛的物品相似度進行區分,令Fii=0,即這里不考慮用戶與自己的相似度.用戶ui和uj的局部相似性為: (4) 這種局部相似度可以根據距離給予不同近鄰不同的權重[15].如果ui和uj的距離十分近,那么他們的相似度Fij就會更大一些.通過這種方式,用戶的局部幾何結構得以刻畫,并進一步體現在了物品局部相似性上.計算出用戶間相似度后,物品間的相似度為: (5) 其中Afij∈[0,1]表示被相似用戶喜歡的物品i和j間的相似度. 3.1.3 綜合的物品相似性表征 得到同一用戶喜愛的物品間相似度As和相似用戶喜愛的物品間相似度Af后,對二者進行加權融合,從而構建出更全面的物品相似性度量方法: A=θAs+Af (6) 其中θ用來控制兩個矩陣的重要性權重. 在高維評分空間中計算得到初始的物品相似性后,利用流形正則化技術將其作用在矩陣分解中.令xi和xj表示原始評分矩陣中的高維物品向量,qi和qj是映射后的低維物品隱因子向量,從而將流形正則化理論和矩陣分解聯系起來——原始高維空間中相似物品對應的低維投影也應較為相似,在流形正則化中局部相似的物品在矩陣分解中也具有相似的物品隱因子特征.因此,我們首先構建局部保持的流形正則化項: (7) N(i)是物品i的近鄰集合,Aij是物品i和j間的相似度.如果Aij的值很大,表示在原始空間中物品xi和xj距離很近,那么在矩陣分解后他們的低維表示qi和qj也很相似.這一約束項通過最小化物品和其近鄰之間的差異,使得物品間的局部結構得以保留. 除此之外,傳統的矩陣分解方法只在初期計算一次物品相似性,后續的計算中不再考慮其動態變化.但是由于物品相似性A主要由評分信息計算得到,數據稀疏可能會影響準確性.參考文獻[11]的方法,本文提出在矩陣分解的同時對其進行修正,令物品相似性在其初值的鄰域內自動迭代優化.將物品相似性改良模塊中學到的初始相似性矩陣記為A0,對物品相似性矩陣構建正則化約束項并加入到迭代優化的過程中: (8) 使A在小范圍內不斷修正,得到更優的相似性矩陣,更優的相似性矩陣又反過來促進物品隱因子特征的學習,從而聯合學習到有效的物品隱因子特征和相似性.流形正則化的本質是認為在高維空間中嵌入著低維的流形結構,通過保留和研究這種流形結構,可以充分挖掘資源的內在聯系,更好地表達資源內涵. 將構建好的局部保持流形正則化項和物品相似性優化正則化項加入矩陣分解中進行聯合學習. 3.3.1 構建目標函數并求解 (9) 該優化問題的目標是要找到最優的用戶隱因子矩陣P、物品隱因子矩陣Q以及物品間相似性矩陣A.通過最小化訓練集的預測誤差,使用隨機梯度下降法來求解這一目標函數.在每個待求解參數上求偏導數,得到如下迭代公式: pu←pu+η(eui·qi-λ1·pu) Aij←Aij+η(-λ2·‖qi-qj‖2-λ3·(Aij-A0ij)) (10) 首先隨機初始化參數P和Q;在每次迭代中,隨機梯度下降法會隨機選擇一個觀測評分作為數據,并交替運用上述公式對這三個參數進行更新,根據誤差值是否降至閾值或迭代次數是否足夠多來判斷何時終止迭代. 綜合上述步驟,得到IMMF模型計算用戶隱因子矩陣、物品隱因子矩陣和相似性矩陣的核心流程,如圖3所示. 3.3.2 計算內積并推薦 得到用戶隱因子矩陣P和物品隱因子矩陣Q后,用戶u對物品i的評分可以通過公式(11)計算: (11) 算法IMMF主要分為兩個部分:首先是針對同一用戶的物品相似性矩陣As和相似用戶的物品相似性矩陣Af進行計算,二是針對矩陣分解目標函數的參數P,Q,A進行迭代更新.其中As的計算涉及到評分矩陣R∈Rm×n,復雜度為O(n*m*n),其中m表示用戶數,n表示物品數.Af的計算涉及到評分矩陣R∈Rm×n和用戶-用戶相似度矩陣F∈Rm×m,復雜度為O(n*m*n).在矩陣分解的隨機梯度下降更新中,假設迭代次數為S,評分記錄數為|R|,隱因子維度為k,則訓練該模型所需要的復雜度為O(S*|R|*k2).故整個算法的時間復雜度為O(n*m*n)+O(S*|R|*k2). 本文在公開數據集MovieLens100K[16]上進行實驗和評估.MovieLens是一個著名的電影推薦系統,可以根據用戶的興趣和行為向其推薦可能感興趣的電影.該系統提供了豐富的數據,包括用戶信息如性別和職業、電影屬性如主演和類型、交互信息如用戶評分和標簽等.本文使用的數據集MovieLens100K規模適中,由943個用戶、1682個電影和約10萬條范圍為1-5、間隔0.5分的評分數據組成.每條評分紀錄都是一個<用戶-電影-評分>三元組,評分越高表示用戶越喜歡該電影.用評分數據構建用戶-物品評分矩陣,沒有評分的位置用0表示,發現該評分矩陣有多達93.83%的數據缺失,呈現十分顯著的稀疏性. 首先對用戶的行為模式進行分析,發現數據集中所有用戶的評分個數均不小于20條,評分最多的一個用戶達到了737條記錄;人均評分個數為106條,中位數為65條,可見不同用戶的活躍度有較大差異.對用戶數量在評分數量上的分布情況進行統計,發現大部分用戶活躍度較低,只對非常少的電影進行了評分;而很少量的活躍用戶會對大量的電影進行評分.如表1所示,有多達375個用戶的評分數量小于50個, 表1 用戶數量在評分數量上的分布Table 1 Distribution of number of ratings on users 占比39.77%,屬于非活躍用戶;評分數量在[50,100)之間的用戶數為204個,在[100,200)之間的用戶數量為215個,活躍度適中;而評分數量在[300,500)的用戶為49個,大于500的活躍用戶只有5個,總占比僅5.73%.綜上所述,隨著評分數量的增加,相關的用戶數量呈顯著下降的趨勢,證明了大部分用戶只對少量的電影熟悉,因此根據群體智慧為用戶進行推薦十分必要,可以幫助用戶發現之前并不熟悉的電影. (12) MAE值越小,表示該方法的平均絕對誤差越小,推薦效果越好. 本文實驗采用五折交叉驗證法.將數據集隨機分成5等份,每次計算時取一份作為測試集,剩余作為訓練集.因此,對于每個比較方法需進行5次實驗,取均值作為最終結果. 4.3.1 參數效果比較 本文模型包含多個參數,λ1是防止過擬合的正則化約束項參數,λ2是局部保持的流形正則化約束項參數,λ3是物品相似性優化項的參數,θ決定了物品相似度矩陣中同一用戶矩陣和相似用戶矩陣的相對重要性,η是隨機梯度下降法的學習率.為了簡化實驗,我們根據經驗設定λ1=0.003,η=0.005,下面將重點討論模型在不同λ2、λ3和θ下的MAE值. 首先,為了深入理解局部保持正則化約束項對推薦的作用,暫不考慮物品相似性優化的影響,即令其保持初始值不變.設置隱空間的維度k為25,本文模型在不同θ和λ2下的MAE值如圖4所示.分別在{0.00001,0.0001,0.001,0.01,1}和{0.0001,0.001,0.01,0.1}上尋找最優θ和λ2.可以看出λ2=0.0001和0.001時模型的MAE值遠小于λ2=0.01和0.1時.可見λ2的值對于模型的推薦效果有較大影響.當λ2=0.001,θ=0.01時得到最優值.此外λ2=0.001,θ=0.0001時也有不錯的推薦結果. 圖4 模型在不同λ2和θ下的MAE值Fig.4 Influence of λ2 and θ on MAE 隨后我們將物品相似性優化這一因素也加入到模型中,λ3決定了其影響力大小.根據前面的實驗結果,令λ2=0.001.如圖5所示,當θ=0.0001,λ3=0.0001和θ=1,λ3=0.1時,模型取得了較好效果. 圖5 模型在不同λ3和θ下的MAE值Fig.5 Influence of λ3 and θ on MAE 4.3.2 算法效果比較 將本文提出的IMMF模型與現有的矩陣分解推薦模型BasicMF、BiasMF及LBRMF進行比較.BasicMF[5]是最基本的矩陣分解推薦模型,將用戶-物品評分矩陣分解成兩個低秩的用戶隱因子矩陣和物品隱因子矩陣,并依據其相關性進行推薦.BiasMF[2]是在BasicMF的基礎上,將每一個觀測評分分解成4個部分:全局均值μ、物品觀測偏差bi、用戶觀測偏差bu和重構評分.LBRMF[11]在BiasMF的基礎上,提出了一個基于位置的正則化項作為約束,并將其加入矩陣分解.我們比較上述模型在不同隱空間維度k下的表現. 同樣的,首先僅考慮流形局部保持正則化并且固定物品相似性矩陣A的值為初始值,令λ1=0.003,λ2=0.001.當θ=0.0001時為模型起名IMMF1,當θ=0.01時起名為IMMF2,結果如圖6所示.幾種方法的MAE值均隨著維度的增加而不斷降低.比較發現我們的方法在不同維度上均可以得到最小的MAE值.由此可見,在不考慮物品相似度矩陣自適應更新的情況下,僅改進物品相似性度量方法,并通過流形正則化將其加入矩陣分解中,可以有效提高推薦效果. 圖6 IMMF1和IMMF2的MAE值對比Fig.6 IMMF1 and IMMF2 with different k on MAE 接下來同時考慮局部保持正則化和物品相似性優化兩個因素.為確保實驗中其它條件保持不變,在這里我們同樣令λ1=0.003,λ2=0.001.當θ=0.0001,λ3=0.0001時為本文模型起名為IMMF3,當θ=1,λ3=0.1時起名為IMMF4.從圖7中可以看出,隨著隱空間維度的增加,各方法的MAE值均有所下降,說明隨著維度的升高,模型可以更好地對用戶和物品的內涵進行表征.與BasicMF和BiasMF相比,LBRMF模型在MAE上有所提高,可見局部保持正則化項和相似度矩陣更新確實有效.本模型的推薦效果在LBRMF的基礎上又有所提高,可見對物品相似性的改進確實可以提高推薦效率. 圖7 IMMF3和IMMF4的MAE值對比Fig.7 IMMF3 and IMMF4 with different k on MAE 在Web 2.0時代,無論是數字圖書館中的電子文獻,還是因特網中的豐富資源,都需要用戶在海量的資源中甄選出真正對自己有價值的資源.傳統矩陣分解方法存在一些不足,如數據稀疏導致相似性學習不夠充分、物品隱因子含義模糊導致模型可解釋性差、不對相似性進行動態優化導致推薦效果受影響等.針對這些問題,本文提出利用流形正則化技術促進矩陣分解中的物品隱因子和相似性學習.首先在高維評分空間中計算物品相似性,然后通過流形正則化約束將改進的物品相似性信息作用在物品隱因子特征提取中,既賦予了物品隱因子具體的幾何含義,又在分解過程中保留了物品間局部結構,從而充分學習物品隱因子特征并準確刻畫其間相似性.而自適應更新物品相似性又可以從助力全局優化目標的角度促進物品隱因子特征的學習.在MovieLens數據集上的實驗結果表明,該方法比傳統矩陣分解方法在推薦效果上有所提升,取得了更優的MAE值. 本文方法仍然聚焦于評分矩陣,在推薦系統中,有時還存在諸如用戶對于物品的文字評論、用戶對物品進行分類的標簽等輔助性信息.如何更好地將這些信息與矩陣分解結合起來,進而提高推薦效果,將是未來工作的方向.3 IMMF推薦模型描述

3.1 物品相似性改量
3.2 流形正則化約束
3.3 矩陣分解推薦


3.4 算法復雜度分析
4 實驗結果與分析
4.1 數據集分析

4.2 評價指標

4.3 實驗對比及分析




5 結 論