王永貴,梅軒瑋
遼寧工程技術大學 軟件學院,遼寧 葫蘆島 125105
互聯網規模和覆蓋面的迅速增長帶來了信息超載的問題,過量信息同時呈現使得用戶無法從中獲取對自己有用的部分,導致信息的使用效率反而降低[1]。個性化推薦系統作為解決信息超載的一個有力工具[2],目前已經有了非常廣泛的應用,如拼多多、淘寶、快手等都擁有自己完善的推薦系統,其原理主要是通過信息篩選過濾無用信息,然后對有效的用戶數據和用戶行為進行分析處理,獲取用戶行為偏好,進而對不同用戶進行個性化推薦,更好地滿足了用戶需求,深受用戶喜愛[3]。隨著推薦系統研究的不斷深入,人們發現傳統的同質網絡建模方法抽取的信息通常只包含實際交互系統中的部分信息,這在一定程度上造成了數據損失。而異構信息網絡作為一種考慮多元對象關系的信息建模方法[4]有效地解決了這個問題,因此受到了推薦算法研究領域的廣泛關注。當前異構信息網絡模型在推薦系統領域應用的主要方向是基于元路徑的相似性度量。例如,Bu等人[5]通過整合元路徑選擇獲取用戶相似度,提出了改進PathSim 算法;Shi 等人[6]提出了可以計算任意元路徑間相似度的隨機游走策略算法;黃立威等人[7]通過對象間在各種元路徑上構成鏈接的機率來計算對象相似度并進行預測,提出了鏈路預測模型。
傳統基于元路徑進行相似度計算的算法對用戶關系的認定通常是對象之間滿足相似度對稱性,然而在實際問題的處理中這種方法有時會存在局限性。例如在評分預測系統中計算用戶相似度時,選取用戶m和用戶n,其對目標對象的評分分別為(2,3,1,1,4)和(2,/,/,/,4)(“/”表示該物品未被用戶評分),根據傳統使用的相似度度量方法計算的用戶相似度會得出兩用戶高度相似的結論并會依照用戶m的喜好對用戶n進行評分預測和推薦,這樣的結果可能是由于兩個用戶對物品一和物品五這種類型的物品喜好相同,但并不能完全說明在其他物品的興趣上也相同。這種情況在一定程度上造成了推薦精度的下降,因此在計算過程中就需要考慮用戶之間相似度的非對稱性[8]。此外,用戶對具有模糊性質物品的認識是有主觀性的,也就是說對模糊物品的界限定義是不完全相同的[9]。例如在電影評分上,因為對喜歡這個定義的模糊性,用戶們表達相同程度的喜歡時有些用戶會給3 分,而有些用戶會用4 分來表達。這種主觀認識上的差異造成相同程度的喜歡在精確評分上出現了差別,這就導致離散的評分有時不能獲取用戶行為所表達的真實信息,加大了準確度量用戶之間相似性的難度。
針對上文描述的問題,本文分析異構信息網絡和模糊理論在推薦系統應用領域的特點,提出了一種非對稱異構信息網絡的模糊推薦算法(FHIN)。其主要貢獻包括3個方面:
(1)通過模糊集理論[10]對評分進行隸屬函數[11]權重計算,得到用戶決策的模糊權重,以解決用戶主觀認識的模糊性問題。
(2)在相似度的計算上設置非對稱系數,考慮不同元路徑的權重影響,根據元路徑的非對稱特征及元路徑權重計算用戶間的相似度;最后使用矩陣分解[12]預測目標評分。
(3)在不同數據集上進行多次實驗比較,結果證明了本文算法的可靠性和有效性,充分提高了推薦精度,為解決推薦系統中數據稀疏性問題提供了有效思路。
互聯網絡開發者在開發過程中存在的定義模糊性,導致了用戶行為的模糊性,因此如何從模糊信息中更好地獲取用戶的真實偏好顯得極其重要。模糊集正是這樣一種用于解決信息模糊性的理論,該理論根據實際需求定義界限并形成多個集合,通過閾值判定將各個元素依次歸于不同集合,并計算各個集合權重,以降低定義模糊性帶來的影響。相關定義[13-14]如下:
定義1模糊集合C可由論域U到[0,1]區間的任意映射確定。映射規則記為C的隸屬函數,μC(u)記為u對模糊集C的隸屬度:

定義2存在多種隸屬函數表示法,對于評分領域的隸屬函數通常使用Zadeh表示法:

定義3在隸屬函數類型中,表達喜愛程度通常使用三角模糊數f,其表達式為:

f的計算公式為:

其中,a、b表示上下邊界,h表示間隔步長,ω表示模糊權重。
此外要確定隸屬函數還要求模糊集合必須是凸模糊集合。即設C為實線性空間Y上的模糊集,對于?λ∈[0,1],都有λC+(1-λ)C?C。
信息網絡通常用有向圖G=(V,E,W)表示,包含對象集V、鏈接集E和權重映射集W。G中每個對象v∈V都是一個特定的對象類型;每個連接邊e∈E都是一個特定的關系類型;每個權重值w∈W都是一個特定的權重類型。若對象類型數量或關系類型數量大于1 個,則稱該信息網絡為異構信息網絡,若同時權重類型數量大于等于1,則為加權異構信息網絡[15]。圖1為一個關于電影評分的加權異構信息網絡。該網絡包含四種類型的對象:用戶User、電影Movie、電影類型Type 和導演Director。在路徑User→Movie 上以用戶對電影的評分作為該路徑權重。

圖1 加權異構信息網絡
網絡模式是信息網絡的元描述[16],包含對象類型映射和關系類型映射。圖1 信息網絡的網絡模式如圖2所示。

圖2 網絡模式
異構信息網絡中最重要的概念是元路徑,其定義為任意兩節點之間不同類型連接邊連接構成的路徑,用于表示兩節點間的復合關系。可以形式化表示為,其中A1,A2,…,An代表節點類型,R1,R2,…,Rn表示關系類型。對于兩條不同的元路徑,若第一條元路徑的尾節點與第二條元路徑的首節點為相同節點,則兩條元路徑可以進行合并。例如圖1的實例中,元路徑User→Movie 和元路徑Movie→Director可以合并為元路徑User→Movie→Director。不同元路徑之間包含的對象語義關系是不同的[17]。元路徑不但刻畫了對象間的語義關聯,而且可以從元路徑中抽取對象間的特征信息。將異構信息網絡應用于推薦系統可以通過元路徑獲得豐富的語義和結構信息,很大程度地增加了用戶相似性度量時可使用的數據量,從而提高推薦精度。
目前,基于異構信息網絡進行的相似性度量通常使用PathSim 算法,該算法根據元路徑的語義及其對應的鄰接矩陣計算用戶相似度。
定義4給定元路徑H,對象x和y之間的相似度為:

式中Hx→y表示x和y之間的路徑實例,即路徑對應鄰接矩陣M中M(x,y)位置的取值。
利用三角模糊模型構造模糊化評分,計算模糊評分模型的隸屬函數,更加準確地獲取用戶偏好。在相似度度量中考慮對象對稱性,對用戶進行對稱性判定,加入非對稱系數。同時加入元路徑的權重影響因素,對不同元路徑分別帶權計算相似度,融合評分矩陣和物品屬性矩陣,構造用戶相似特征矩陣。最后根據物品和用戶的特征表示,預測未知評分。本文算法流程如圖3所示。

圖3 算法流程圖
選取常用數據集評分屬性進行模糊化處理,通過構建三角評分模型,將標準化的1到5范圍評分模糊為VD(非常不喜歡)、D(不喜歡)、N(無感)、L(喜歡)、VL(非常喜歡)五個等級,以此來表示用戶喜好程度。評分模糊數與喜好程度的對應關系如表1所示。

表1 喜好程度對應關系
模糊處理后,根據定義1 首先將[1,5]評分縮放到[0,1]區間,之后由定義2和定義3對該評分模型的隸屬函數進行計算,得到對應隸屬函數:

隸屬函數的確定的模糊集隸屬度可以得到用戶間第k個公共項的模糊權重ωk為:

其中,gm,k表示用戶m對物品k的評分,gn,k表示用戶n對物品k的評分;dis(gm,k,gn,k)表示評分信息的歐氏距離,i為評分向量維數,為向量gm,k中的第j個分量。
根據模糊權重,可以得到用戶m對n的模糊相似度:

其中,lmn表示用戶m和用戶n的共同評分項;表示用戶n對所有項目評分的均值,表示用戶m對所有項目評分的均值。
由于用戶評分行為的不對稱性,計算用戶間相似度時會出現因個別用戶評分較少且僅有的評分行為恰好與其他用戶相同而造成的偶然高相似現象,這種情況下的相似性并不能反映用戶真實喜好,一定程度降低了預測結果的準確度。本文算法在考慮這種非對稱性的基礎上,提出非對稱系數。首先在數據選擇上對用戶數據進行處理,通過閾值設定去除評分行為過少的用戶數據;然后對評分行為比值過大的兩用戶進行標記,在后期預測中降低標記項結果的影響權重;最后把用戶共同評分項在已評分總項中占據的比例作為非對稱系數加入相似度計算。用戶m對n的非對稱系數為:

其中,lm代表用戶m的評分項。
結合模糊相似度的計算公式和非對稱系數,得到用戶m對用戶n的非對稱模糊相似度:

通常在一個異構信息網絡中都會存在多條元路徑,不同的元路徑反映著不同角度的用戶聯系,而根據不同元路徑計算的用戶相似度也并不相同。為了充分利用不同元路徑中包含的豐富語義信息,有必要對各條元路徑進行賦權以提高信息的利用率,達到保證用戶相似度計算結果更為精確的目的,從而準確地預測用戶評分。本文算法的權重設置主要考慮路徑長度和路徑數量兩個因素。
路徑長度方面。元路徑長度是指一條元路徑中邊的數量。在異構信息網絡中元路徑包含著用戶間的語義信息,元路徑的每一條連接邊都體現著兩個節點的關聯,元路徑的總長度決定了路徑兩端對象的關聯程度。簡單來講,較短的元路徑兩端對象的關聯更加直接,所以短的元路徑應該具有更高的權重。路徑長度權重可以表示為目標路徑長度和路徑總長度的反比例關系,公式化為:

其中,len(P)表示元路徑P中的邊數,L表示所有元路徑的集合,表示遍歷所有元路徑求得路徑總長度。
路徑數量方面。這里的路徑數量指的是滿足核心元路徑要求的所有路徑的數量。滿足要求的路徑越多表示路徑數量越多,代表對象之間的關聯程度越高。因此路徑數量越多,元路徑的權重就應當越高。路徑數量的權重影響的具體公式為:

其中,cou(P)表示元路徑P的路徑數量。
在本文算法中認定路徑長度和路徑數量兩種影響因素對元路徑權重的影響比重分別為α和β,且滿足α+β=1,得到如下元路徑權重wp的計算公式:

根據元路徑權重和非對稱模糊相似度得到本文算法的用戶間相似度計算公式:

最后根據這種相似度計算方法預測用戶評分,得到用戶m對物品a的評分預測結果為:

其中U為用戶-用戶的相似信息矩陣,U(mn)表示用戶m和用戶n的共同評分項集合。
根據以上介紹,非對稱異構信息網絡的模糊推薦算法步驟描述如下:
輸入:用戶評分矩陣U,特征向量維度i,路徑P,路徑長度和路徑數量影響因子α和β。
輸出:評分預測值。
步驟1根據式(6)~(9)構造模糊評分模型,計算隸屬函數,得到模糊權重。
步驟2利用式(10)~(11)計算非對稱系數,求得非對稱相似度。
步驟3根據式(12)~(14)計算元路徑權重。
步驟4由式(15)計算用戶間非對稱模糊相似度。
步驟5利用式(16)預測評分。
本實驗采用的硬件環境為:Intel i5-9400 CPU 四核,主頻2.9 GHz,內存16 GB,硬盤1 TB;操作系統為:Windows10操作系統;編程環境為:MATLAB R2018b。
MovieLens 數據集是由美國明尼蘇達大學計算機科學與工程學院的GroupLens研究小組發布,其中包含用戶信息、電影信息和評分信息,有MovieLens100K,MovieLens1M 和MovieLens10M 三個不同規模的數據集,廣泛應用于推薦算法研究領域。DoubanMovie數據集是豆瓣網用戶對電影評分的數據集合,其中包含豆瓣用戶詳細信息、電影信息、評分信息以及用戶評論。DoubanMovie數據集的最大優點是用戶評分數據較新,更符合當下用戶的真實喜好,因此越來越多的推薦算法開始使用該數據集進行實驗。本文選擇在Movie-Lens100K、MovieLens1M 和 DoubanMovie 三個數據集上分別實驗,觀察算法效率。
MovieLens100K數據集中包含943名用戶對1 682部電影的100 000條評分數據;MovieLens1M包含6 040名用戶對3 900 部電影的1 000 209 條評分數據;Douban-Movie數據集由13 367名用戶對12 677部電影的1 068 178個評分數據組成。實驗數據集描述如表2 所示。

表2 實驗數據描述
為了能夠更準確地衡量本文算法的性能,選擇均方根誤差(RMSE)和平均絕對誤差(MAE)兩個推薦系統常用評價指標作為評定指標。當預測評分越接近實際評分時,RMSE和MAE的值越小,算法性能越好。
RMSE的定義為:

其中,|T|為測試集中評分數量。
MAE的定義為:

為了能夠更加直觀地驗證算法效果,本文選擇了以下三個算法與FHIN 算法在不同數據集上進行實驗,通過觀察RMSE 和MAE 兩個評價指標結果判斷算法效率。
UCF 算法:基于傳統協同過濾方法進行推薦,使用余弦法計算用戶相似度確定相似用戶,根據相似用戶的評分信息預測評分。
FCF 算法:在個性化推薦中加入模糊模型,構造隸屬函數并引入模糊相似度度量方法,通過協同過濾預測評分。
PathSim算法:將異構信息網絡運用于推薦算法,提出根據異構信息網絡中對稱元路徑計算用戶相似度的方法并以此進行推薦。
為保證實驗結果準確性,算法采用五折交叉方法將實驗數據集等分為五份,選取一份作為測試集,其余四份為訓練集,每做完一次實驗記錄結果并重新五等分再進行實驗,共進行五次將結果平均值作為最終實驗結果。
在實驗中,用戶評分的向量維數i設為4,相似度結果對預測結果的影響因素設為1,路徑長度權重影響因素α為0.6,路徑數量權重影響因素β為0.4。在數據集MovieLens100K、MovieLens1M 和 DoubanMovie 上的實驗結果分別如表3~表5所示。

表3 MovieLens100K實驗結果

表4 MovieLens1M實驗結果

表5 DoubanMovie實驗結果
觀察表中數據可以發現本文算法在不同的數據集上的效果均優于其他算法。同時可以看出FCF 算法、PathSim算法和本文算法的效果均優于UCF算法,說明在傳統推薦算法中加入有利于信息數據處理的理論或者方法可以提高推薦精度。另外對比同樣基于元路徑的PathSim 算法,在計算用戶相似度時應用了用戶非對稱關系的FHIN 算法在RMSE 和MAE 指標上結果均小于PathSim算法。而觀察同一算法在不同數據集上的表現可以發現隨著數據集稀疏程度的增加,各個算法的效果皆有所減弱,其中FHIN算法效果減弱趨勢較為緩慢,說明本文算法在處理數據稀疏性問題方面效果顯著。
為驗證參數變化對實驗結果的影響,本文將鄰居個數λ設置為10 增到50,增長間隔為5,觀察本文算法在各個數據集下受參數影響情況。結果如圖4 和圖5所示。

圖4 λ 取值對RMSE的影響

圖5 λ 取值對MAE的影響
從兩圖中可以觀察到隨著近鄰個數的增加指標MAE 和RMSE 均先減小,并在鄰居個數為20 時達到最小值,隨后逐漸增大,說明適當地引入參數對提高推薦算法效率有一定作用。但是兩指標的增長變化趨勢并不相同,其中MAE指標的增大幅度較大且趨勢較急;而RMSE指標則幅度較小且趨勢較緩。說明MAE指標相較于RMSE 指標受鄰居個數影響更大。由于MAE 和RMSE指標均在λ取值為20時最小,因此本文算法選取20作為鄰居個數的取值。
本文提出了一種非對稱異構信息網絡的模糊推薦算法,該算法通過構造模糊模型對用戶評分進行模糊處理,綜合異構信息網絡中對象的非對稱性和元路經權重,提出了一種新的相似性計算方法,一定程度上緩解了數據稀疏性帶來的問題。在未來的工作中,側重研究圖像和文本等非結構化數據的異構信息網絡構建,以提高信息抽取的能力,從數據來源方面解決推薦系統中的數據稀疏性問題。