蘇 湛,林祖夷,艾 均
(上海理工大學 光電信息與計算機工程學院,上海 200093) E-mail:aijun@outlook.com
隨著互聯網的提供越來越多的信息,人們已經進入到信息爆炸的時代[1,2].由于信息不斷快速增長,用戶偏好復雜多樣性,以及網站對于用戶需求缺乏精準的了解,使得用戶在篩選需要的信息時效率較低.在此情況下,推薦系統存在的效用就是使用戶能夠快速找到自己感興趣的信息,同時讓信息可以分門別類的出現在不同用戶的頁面,從而實現用戶和網站的互惠互利.推薦系統和算法可以在用戶和物品之間建立聯系,通過用戶在過去對物品的選擇與評分等信息來分析用戶的偏好,并對其尚未表態的物品或信息進行評分預測,然后將預測結果分值較高的物品或信息推薦給用戶,從而使用戶檢索更高效,提高網站的使用體驗感.
傳統的推薦算法主要包括基于內容的推薦算法[3]和基于協同過濾的推薦算法[4,5].基于內容的推薦算法是根據用戶描述或項目的特征來尋找相似屬性的用戶或項目進行推薦[6],常常需要利用機器學習提取有效特征,限制了該方法的性能.所以在推薦系統中應用最為廣泛和個性化的算法為協同過濾算法.該方法是通過用戶不斷地和網站互動,使推薦列表能夠不斷過濾和篩選用戶不感興趣的物品,從而越來越滿足用戶的需求.其中基于網絡模型的推薦算法由于其更高的計算效率和準確率逐漸成為推薦系統的研究熱點.它是將用戶和物品看成抽象的網絡節點,通過構造一個用戶-物品的網絡模型,利用統計學方法向用戶進行個性化推薦[7,8].
協同過濾算法存在多種類別,其中一種為以用戶為基礎的協同過濾算法[9],思想是當向用戶推薦某個興趣度未知的物品時,可以借鑒與該目標用戶有類似興趣愛好的其他用戶,然后把鄰居用戶評價高的物品推薦給該用戶.很多學者就此方向進行了研究,比如Ai和Liu等人建立了以用戶為節點的網絡模型[10],根據用戶之間的相似程度將用戶劃分為社團,在預測過程中融合社團劃分結果使得根據鄰居用戶推薦而來的信息更準確.除此之外,還有學者針對用戶之間的相似度計算進行探索,比如Zhang等人根據相似性公式背后的數學規律,介紹了一種新的數據結構,并設計了計算相似度的線性時間算法.這種復雜性的改進縮短了評估時間,最終有助于提高推薦系統的設計和開發效率[11].
另一種協同過濾算法是以物品為基礎[12],思想是給用戶推薦那些和他們之前喜歡的物品相似的物品.有很多學者也對此方面進行了研究,Garanayak等人基于物品的協同過濾技術和K-means算法,通過對物品的分類提出了一個新的方法來構造移動用戶推薦的模型來提高預測精度[13].對于物品之間的相似度,Mahamudul Hasan等人設計了兩種基于物品的相似度度量方法,以通過合并項目的類型數據來克服缺乏評級數據的問題[14].
除以上兩類方法外,基于觀點傳播的推薦系統預測方法將傳統的協同過濾算法與用戶意見傳播過程相結合,可以使推薦系統更準確的預測評分[15].在較早的觀點傳播研究中,Zhang等人基于用戶對物品的打分信息,提出了一個將用戶的評分嵌入到一個轉換矩陣中的基于擴散的推薦模型[16],此方法可用于用戶以整數刻度評估對象的任何數據,實現了基于熱傳導和物質擴散的推薦算法.He和Zhou等人提出了基于觀點傳播過程的用戶相似性算法[17],該方法基于原始的用戶-物品的評價矩陣,通過度量用戶向另一用戶傳遞的意見量來定義用戶相似度.該方法可以對每一對未評級的用戶項進行更精確的評級預測.此外,還引入了一個與傳播者和接受者的度都相關的可調參數來控制優先擴散.Ai和Li等人在He理論的基礎上改進了算法中相似性的計算方法[18],通過對推薦或預測過程進行研究,避免了部分用戶間在評分接近的情況下出現相似性為零的問題.
綜上所述,在現有的大多數推薦系統的研究工作中,算法設計主要集中于用戶之間或物品之間的相似度計算,相似鄰居用戶的選擇等網絡參數的優化計算,以及用戶類別的劃分等.這些方法算法在數據有限的情況下,多傾向于采用用戶的評分差異來度量用戶在興趣偏好上的差異,而很少對用戶在不同類型物品的評分活動進行度量.只考慮到用戶對項目物品的顯式評分信息并不能完全準確的判斷用戶的偏好,很多學者發現挖掘用戶對物品隱式屬性的傾向可以提高推薦的準確性,降低錯誤率.例如,竇羚源等人通過標簽信息來構造用戶和物品之間的特征關系,并將該種關系與協同過濾推薦算法相融合來預測用戶對物品項目的評分信息[19].Na G等人將預設的物品標簽信息引入到推薦算法的相似度計算過程中,彌補了評分矩陣稀疏性問題[20].但是,現有的基于觀點傳播的推薦算法也沒有考慮到推薦系統中用戶間的信息互動的效果是根據用戶偏好而存在差異的.
本文為了更符合真實的用戶偏好,通過以用戶對于物品標簽的選擇概率為基礎建立相似性計算方法,來度量用戶對不同物品類型的偏好;進而建立以用戶為節點,以用戶間相似性為邊的“用戶-用戶”復雜網絡模型,根據該在網絡結構中,選取以度中心性為用戶節點偏好影響力的評價指標,并以該評價指標為基礎,設計針對用戶品味影響力的平衡函數;進一步對算法進行加權,設計了融入平衡效果函數的類型相似性和用戶品味影響力的協同過濾評分預測算法.實驗結果證明了算法的有效性,該算法與基于觀點傳播推薦算法以及近年來幾種經典的協同過濾推薦算法比較,降低了推薦算法評分預測的誤差,并且算法的時間復雜度較低.
在本文的研究方法中假設共有m個用戶和n個物品,分別構成兩個集合,記用戶集合為U={u1,u1,…,um},物品集合為V={v1,v1,…,vn},將每個用戶對其評價過的物品評分組成的矩陣記為R={ria}∈Rm,n,其中ria表示用戶ui對物品va的評分值,評分的取值范圍為0.5-5之間步長為0.5的所有數值.此外,構建一個表示用戶對物品評分與否的矩陣,記為A={αia}∈Rm,n,若用戶ui對物品va評過分,則aia為1,否則為0.根據以上信息就可以構建一個用戶和物品的網絡,其中,ki和ka分別表示用戶節點ui和物品節點va的度值.
根據以上信息,本文以用戶為網絡模型中的節點,以兩個用戶節點之間的相似性作為邊的權值,構造推薦系統的“用戶-用戶”的復雜網絡模型.其中用戶作為網絡中的節點可以通過用戶相關信息直接設置,而用戶之間的相似性需要提取用戶的對物品的行為特征,并將這些特征量化后綜合處理,最后獲得兩個用戶針對物品的相似性度量值,進而在推薦預測中判斷用戶品味的相互影響.下面將對用戶見相似性的度量方法進行說明.
2.2.1 相關的用戶相似性研究
一般地,基于用戶的協同過濾算法推薦步驟就是根據用戶對物品的評分矩陣計算出該用戶與其他用戶的相似性,繼而從與該用戶最相似的用戶中選取若干個作為最近鄰用戶,再利用最近鄰用戶集合的評分信息來預測該用戶的未評分項目分數,最終選取評分靠前的top-N項目作為該用戶的推薦集推薦給用戶.其中最為關鍵的步驟是用戶相似性的計算.相似性代表了用戶之間的興趣喜好相似的程度,相似性計算方法的選擇往往對下一步進行的評分預測以及最終推薦系統的推薦效率和質量有著至關重要的影響.這里主要介紹幾種用戶相似性計算方法:
1)余弦相似性(Cosine Similarity)
余弦相似性是通過計算兩個向量的夾角余弦值來評估他們的相似度[21,22],余弦值越接近1,就表明夾角越接近0度,也就是兩個向量越相似.余弦相似性應用在推薦系統中,n維向量為用戶對若干物品的評分信息,若目標用戶未曾評價過某物品,那么該向量值應為0,余弦相似性值越大,說明這兩個用戶之間的興趣越接近,喜好越相似.設ria和rja分別表示用戶ui和用戶uj對物品va的評分值,則用戶ui和用戶uj之間的余弦相似性計算公式如下:

(1)
2)修正的余弦相似性(Modified Cosine Similarity)


(2)
3)皮爾遜相關相似性(Pearson Correlation Similarity)
相關相似性從統計學的角度討論數據之間的相關性,皮爾遜相似性算法只考慮用戶共同評分過的項目,一般適用于兩個變量之間存在定距的關系[23,24].若一個用戶的評分總是高于另一個用戶的評分,則兩個用戶之間的相關性較高.表達式含義與修正的余弦相似性相同,則用戶ui和用戶uj之間的皮爾遜相關相似性計算公式如下:

(3)
4)基于觀點傳播的用戶相似性(User-Opinion-Spreading Similarity)
在利用用戶對物品的評分信息時,需要考慮每個用戶對物品的評判標準是不同的.例如有些用戶比較苛刻,對物品的評分普遍偏低;有些用戶沒有那么苛刻,經常會給出較高的分值.所以受個人主觀的影響,實際評分值并不完全客觀,為了消除這種不利影響可通過公式將評分歸一化.設ri-min和ri-max分別表示用戶評分記錄的最低分和最高分,則用戶i的評分歸一化公式如下[17]:
(4)
通過歸一化公式,用戶的評分值范圍變為[-1,1],若最高分與最低分相等則可將歸一化值賦為0.
文獻[17]使用資源分配和評分結合方法計算用戶間的相似性,設eia和eja分別表示用戶ui和用戶uj對物品va評分歸一化的結果,則用戶ui和用戶uj之間的基于觀點傳播的相似性計算公式如下:
(5)
文獻[18]改進了文獻[17]中用戶間相似性出現0的情況,提出了改進的觀點傳播的用戶相似性公式如下:
(6)
2.2.2 基于用戶對電影類型標簽的選擇概率度量用戶品味相似性
在大多數基于用戶的傳統協同過濾推薦算法中,很多都忽略了可以影響用戶抉擇的用戶自身屬性,但利用一些特征提取方法可以在一定程度上挖掘用戶或產品之間的聯系.例如,女性用戶對于愛情、浪漫等類型的電影更為喜愛,男性用戶可能更愿意對科幻、動作類型電影打出高分.那么在基于用戶的推薦算法中,則可以根據目標用戶是否評價過的電影的類別標簽來向目標用戶推薦相關物品.例如,在推薦一部電影時,當用戶的評價歷史表現出對動作片的偏好時,哪怕該用戶總給動作類電影打出低分,但該用戶評分電影類型的90%都是動作類,則其對動作類電影的偏好仍然顯而易見,即便評分差異交大,他和哪些經常看動作類電影的其它用戶間的相似性很高,推薦算法就可以向該用戶推薦動作類電影.
推薦算法分類中的基于內容的推薦算法,在沒有在預測過程中考慮用戶具體的顯示評分信息情況下,仍可以通過提取用戶的歷史評價物品的屬性來推薦相似物品給用戶.一般來說,雖然用戶對物品的評分信息大范圍上能夠較為直觀的反映用戶對物品的興趣等級,但是評分行為中用戶對物品類型的標記行為,例如用戶物品文件夾對于興趣項目的分類收藏,也同樣蘊含了用戶對物品屬性的個性化解讀[25].但是通過對反映物品類型的標簽總數量的統計來求得用戶對物品類型的偏好[26],這種方法在計算用戶對物品類別的興趣偏好時會出現熱門標簽權重較大的問題,導致了一個問題,即使用戶偏好過小眾類別標簽,但是由于數量過少,該稀缺標簽很難給用戶在總體推薦中形成如同熱門標簽規模的影響,使得網站在進行推薦造成權重偏差,降低了推薦結果的準確性并且未能達到全面反映用戶的興趣偏好的預期效果.
針對以上問題,如果在物品集合中,物品的標簽代表著物品的類型,那么本文認為用戶評價結果所體現的對物品標簽的隱式選擇情況,對比于顯式評分信息,更能反映出用戶真實的對物品類型的偏好,即用戶的真實品味,從而更能反映出用戶網絡中真實的觀點傳播情況.不同用戶對同一標簽的選擇概率越接近,說明用戶的品味興趣越接近.由于考慮的是概率情況,避免了過分夸大熱門標簽流行性的問題,同時也不至于忽略冷門標簽的在用戶中的熱度.因此,為了更好地利用戶的這種隱式特征來計算用戶之間的相似度,本文以用戶對物品標簽這一屬性的選擇概率為基礎,引入到用戶間相似性的計算公式中,來度量用戶品味之間的相似性.具體步驟如下:
1)設數據集中所有物品標簽集合為T={t1,t2,…,tl},Tk表示帶有標簽k的物品vk包含的標簽集合.

(7)
3)設用戶ui對標簽tg的選擇概率為可表示為,用戶ui對標簽tg評價次數與用戶評價過的標簽總數之比,若用戶對某一標簽的評價次數為0,則用戶對該標簽的選擇概率為0;若用戶從未評論過任何電影,則用戶對所有標簽的選擇概率為0.公式如下,同時建立用戶對其評價過的物品標簽選擇概率的矩陣P={pig}∈Pm,l.其矩陣取值如表1所示.

表1 用戶-物品的標簽選擇概率矩陣Table 1 Matrix of user′s selection probability for the tag
(8)
4)MovieLens數據集是推薦系統中常用來做電影推薦系統研究的數據集,本文選取帶有電影標簽的MovieLens數據集,將用戶ui和用戶uj對物品標簽集合T的選擇概率進行假設整理如圖1所示.

圖1 用戶對物品標簽的選擇概率圖示Fig.1 Graphical representation of user′s selection probability for tags
5)在計算用戶間基于標簽選擇概率的相似性時,若只考慮共同評價過的標簽,則會在一定程度上忽略兩個用戶自身較為冷門的興趣標簽,而這類興趣標簽同樣會影響其他用戶對這一標簽的選擇偏好.所以將上述用戶對標簽的選擇概率與傳統的余弦相似性結合,得出基于用戶標簽選擇概率的節點相似性如下:
(9)
6)利用用戶基于標簽選擇概率的相似性,完成推薦系統的網絡模型如圖2所示.

圖2 用戶-用戶的網絡模型Fig.2 "User-User" network model
2.3.1 社交網絡中用戶間的觀點影響分析
在“微博”社交平臺中,用戶之間存在著的“關注”和“被關注”的社交關系構成了一個龐大的網絡,用戶會關注感興趣的賬號和話題,也可以吸引別的用戶成為自己的粉絲.其中用戶的關注信息和粉絲信息可以直觀的反映該用戶的興趣,兩個用戶擁有的共同粉絲或關注者越多,說明其具有更加緊密的社交聯系,這也能在某種程度上反映了兩個用戶間的相似性.但同時也存在一類用戶usepcial,大量關注熱門用戶或者熱門話題,其關注內容并沒有體現個人的興趣特征,該用戶的興趣指向僅能說明該用戶所持觀點的流行程度,而該用戶觀點本身對于其他用戶來說不具備較高參考價值.那么在計算該用戶與其他用戶的相似性時,由于用戶uspecial關注范圍的廣泛,大概率都會與目標用戶有著較大的相似性.則其相似性結果在一定程度上會被高估.
同樣假設在MovieLens數據集中,如果某用戶沒有自身獨特的電影品味,興趣廣泛,觀看過的電影種類眾多,評價過的電影標簽眾多,進而分配給每一種標簽的選擇概率都有一定大小.在這種情況下,計算得到的用戶間基于標簽選擇概率的相似性度量值過大,一定程度上夸大了該用戶對其他用戶的偏好的影響,此時用戶間相似性的值對實際用戶相似性的度量也會在一定程度上被高估.這個相似性上的“偏見”需要被消除.
在基于相似性大小建模的用戶-用戶復雜網絡模型中,用戶品味越大眾,其度值越高;用戶品味越小眾,度值越低.如果僅僅按照上述預測方法,對于目標用戶的評分預測結果,由于不符合實際用戶間的興趣投緣程度,使得預測結果并不客觀,在一定程度上夸大了這一類用戶對目標用戶的影響.
2.3.2 以度指標為基礎的用戶品味影響力平衡函數
在傳統推薦算法中,用戶對物品的評分預測為:
(10)

如果兩個用戶越相似,那么這兩個用戶在作為彼此的鄰居用戶時,就比一般用戶更有可能影響對方的觀點.可見在對目標用戶評分預測的過程中用戶間的相似性扮演著重要的角色.但上述分析說明,假如某個用戶的品味廣泛,也就是品味的流行程度越高,則該用戶和每一個用戶的相似性也會越大.所以在預測目標用戶對某物品的評分時只單一加權用戶間相似性,該用戶作為鄰居用戶,他的興趣品味對于目標用戶的評分影響也會過大,也就是說該用戶的觀點的傳播效果也會過好,使推薦系統的預測結果不客觀從而產生誤差.本文根據每個用戶節點的信息,希望設計出針對每個用戶的不同程度的品味平衡函數,來分散用戶的品味流行性對于該用戶觀點傳播效果的影響.
度中心性是度量雜亂無章的網絡數據一種最簡單直觀的方式,上述分析中說明,現實社交網絡中用戶的品味大眾化的程度,與用戶的度值成正比.度中心性值越大的用戶節點,在社交網絡中的興趣越廣泛.
本文在設計品味影響力平衡函數時,選取度中心性為函數基礎.假設無向網絡G=(V,E)包含|V|=N個節點和|E|=M條邊,其網絡結構可用鄰接矩陣A=(aij)N×N表示.當節點i與節點j之間存在連接時,aij=1,否則aij=0.
度排序中ki表示節點i的節點數,可表示為:
(11)
式中Λi表示節點i一跳鄰域內的鄰居.度中心性這一指標反映了節點的直接影響力,信息從度越大的節點發起,網絡中第一時間接收到該信息的節點數越多.
在預測目標用戶時,度中心性較大的用戶的評分觀點,往往沒有興趣品味獨特小眾的用戶的評分觀點更具有參考性和說服力.所以這一類用戶品味影響力的平衡函數的結果應該越小,以此來分散品味的流行程度高的用戶在評分預測中過分夸大的觀點傳播效果,最后使得中和后的預測結果更加貼近其鄰居用戶的真實評分信息.具體可表示為:
(12)
其中Cbalance-i為用戶ui的觀點傳播的平衡函數,CD-i為用戶ui的度中心性.
2.3.3 目標用戶對物品的評分預測
在得到基于用戶的標簽選擇概率的相似性結果后,通過公式(10)可以得到目標用戶和目標物品之間的預測評分.
(13)

2.3.4 算法設計
傳統的基于用戶的協同過濾的推薦算法是根據用戶的歷史評分矩陣進行推薦,當為用戶ui進行物品推薦時,可以將與用戶ui有相似評分記錄的其他用戶作為鄰居用戶,再將這些鄰居用戶評過分而用戶ui未評分的物品推薦給用戶ui,或基于這些用戶對某物品va的評分來預測用戶ui對va的評分.這些方法并沒有考慮到推薦系統中用戶節點間信息傳播效果存在較小差異,傳統預測過程考慮到傳播效果的差異但并不客觀.基于此本文設計的基于用戶偏好和品味影響力平衡函數的推薦算法包含如下步驟如圖3所示.

圖3 推薦統評分預測流程圖Fig.3 Flow chart of prediction of recommendation system
1)從訓練集中提取用戶對物品的評分歷史,計算用戶對于標簽的選擇概率,并以用戶對標簽選擇概率的數據為基礎,計算用戶之間相似性;
2)基于用戶間的相似性構建推薦系統的網絡模型—“用戶-用戶”的網絡拓撲結構,將用戶作為網絡中的節點,上述用戶節點間的相似性作為邊的權重;
3)計算網絡拓撲結構中用戶節點的度中心性,以節點的度中心性結果為基礎,設計用戶品味影響力的平衡函數;
4)將用戶品味影響力的平衡函數與用戶間相似性加權來綜合體現用戶間觀點相互影響的效果;
5)根據目標用戶與其他用戶的相似程度來選擇有參考價值的鄰居用戶,基于這些鄰居用戶的評分信息來預測目標用戶對某物品的評分.
上述算法的步驟2)-步驟4)是本文推薦算法的核心.與以往傳統的推薦算法運用顯式評分信息的相似性計算方法不同,本文利用用戶對物品標簽偏好的隱式屬性計算用戶間相似性,并在預測過程平衡用戶的品味影響力,使用戶觀點傳播更客觀,評分預測結果也更準確.
3.1.1 數據集的選取
本文使用MovieLens數據集來進行實驗,該數據集是由700個用戶對9000部電影進行的100000條影評記錄,用戶對電影的評分范圍為0.5分-5.0分,分值增長幅度為0.5.為了驗證本文算法的合理性以及可行性,本文采用了折十交叉驗證法,即將用戶對電影的評分隨機平均分成10組,選取其中的9組作為訓練集,1組作為測試集,依次將每組數據作為測試集,取10次結果的平均值作為最終的結果[27].對每一次數據進行預測時,選取的相似鄰居的數量為1,3,5,10,20,…,150.
3.1.2 準確性評價指標
隨著各推薦系統的廣泛應用,如何評測推薦系統的好壞已經成為研究熱點.選擇準確的和合適的推薦系統指標,對于提升推薦系統的推薦結果有重要意義.為了評估評分預測的準確率,常用的評測指標有平均絕對誤差(Mean Absolute Error,MAE)和均方根誤差(Root Mean Squared Error,RMSE)作為評估方法[28].
MAE反映的是預測值與實際值誤差的實際情況,計算簡單;而RMSE是預測值與真實值偏差的平方,與測試集比值的平方根.由于RMSE方法是對預測誤差進行平方處理,這樣放大了誤差的取值范圍,對系統的要求更加嚴苛.MAE值與RMSE值越小則表明預測的誤差越小,推薦系統的準確率越高.MAE和RMSE公式如下:
(14)
(15)

本文設計的以用戶對物品的標簽選擇概率為相似性的推薦算法,簡記該方法為Tag;平衡用戶的觀點傳播效果的推薦算法,簡記該方法為Tag-BP.除了本文的這兩種方法外,文中同時還選擇了2017年發表的基于觀點傳播的改進相似性計算評分的預測方法[18]來對比文中考慮真實觀點傳播的作用,簡記為UOS.
為了驗證本文提出的相似性估算方法的有效性以及算法預測精度,除此之外本文又選取了另外幾種采取其他相似性估算方法的推薦算法進行對比,比如經典的皮爾遜相似性協同過濾算法[28],簡記為Pearson-CF;多級協同過濾推薦算法,簡記為MLCF[29](Multi-Level Collaborative Filtering);以及基于用戶模塊化分類的標簽相似性推薦算法[10],簡記為MGPC.以上所采用的對比實驗方法均以用戶節點為基礎.
3.2.1 實驗結果
1)平均絕對誤差(MAE)結果
從圖4中可以看出,本文提出的Tag推薦算法和基于其他類型的用戶間相似性的推薦算法相比時,效果是明顯的,說明標簽選擇概率這一隱式用戶屬性在一定程度上比顯式評分更可準確預測用戶偏好.在Tag算法中,當選取鄰居數為40時,MAE值為0.68485,此時預測評分的誤差最小.當鄰居數量達到40以后,隨著鄰居節點數量增加,MAE值構成的曲線趨于水平增長.隨后在鄰居數量為150時,達到預測誤差相對最大值,為0.68814.Tag算法的最小誤差與最大誤差相比于UOS方法分別降低了2.45%和3.31%;相比于Pearson-CF方法分別降低了2.03%和2.77%;相比于MLCF方法最小誤差也同時有所下降.

圖4 不同算法在不同鄰居數目下的MAE結果Fig.4 MAE results of different algorithms
在Tag-BP算法中,當選取鄰居數為40時,MAE值為0.68244,Tag-BP方法在此時預測評分的誤差最小.當選取的鄰居數目達到40后,隨著鄰居節點數量增加,MAE值構成的曲線趨于水平增長.相比之下,Pearson-CF方法需要50個鄰居才可以達到預測的相對最小誤差,UOS方法則需要80個鄰居,由此說明平衡觀點傳播效果的推薦算法由于其客觀的預測過程使得該算法在選取鄰居數目相對較少時仍有效.
將本文提出的Tag-BP推薦算法與已有算法進行比較時,對比出的預測效果也是相對明顯的,如圖4所示.在與基于觀點傳播的改進相似性計算評分的預測方法UOS和基于用戶皮爾遜相似性的預測方法Pearson-CF的MAE值相比時,Tag-BP算法分別平均降低了2.94%和2.55%;同時與基于用戶模塊劃分并且同樣采取標簽選擇概率相似性的MGPC方法相比,MAE值平均降低了1.35%;于考慮較為全面的多級協同過濾的MLCF方法相比,在達到最小誤差時仍然降低了0.45%.Tag-BP方法與Tag方法相比,在達到最小誤差時降低了0.35%,證明在同類相似性計算條件下,平衡觀點傳播效果的舉措對于降低推薦算法的誤差是有效的.
在選取鄰居數量為1時這種參考數據匱乏的情況下,平衡觀點傳播效果的Tag-BP方法的MAE預測誤差為0.8131,與其他方法在相同情況下相比,最高降低的百分比為10.26%,如圖5所示.與考慮用戶從屬社團的MGPC方法相比,MGPC方法由于更為精準劃分用戶類別,使得選取鄰居數目為1時,MAE值為0.80185,與其他算法同等情況下相比優勢明顯.而本文設計的Tag-BP此時MAE值與其接近,并與MLCF方法此時的MAE值超出3.3%,此時UOS方法超出16%.可見對于單獨的用戶,平衡客觀化后的預測評分值與融入社團劃分的預測效果是可以抗衡的.

圖5 不同算法在較少鄰居數目下的MAE結果Fig.5 MAE results of different algorithms with less neighbors
2)均方根誤差(RMSE)結果
圖6中的RSME值的曲線變化趨勢類似于圖4中的MAE值變化趨勢.由MAE和RMSE的計算公式知RMSE對系統的要求更加嚴苛,所以RMSE更能反映預測評分與真實評分之間的誤差.本文提出的Tag推薦算法得到的RMSE值的效果同樣要明顯優于基于其他相似性的推薦算法.當選取鄰居節點數量為40時,Tag方法得到的RMSE值為0.9215,此時的預測評分與真實評分之間的誤差值最小.而UOS需要140個鄰居達到RMSE的相對最小值,Pearson-CF則需要130個鄰居.由此證明在更為苛刻的誤差計算條件下,用戶間觀點影響效果的客觀性更為重要,最佳預測效果不需要大量參考鄰居用戶的觀點,減少了算法的時間.

圖6 不同算法在不同鄰居數目下的RMSE結果Fig.6 RMSE results of different algorithms
Tag方法的RMSE的最小誤差與最大誤差相比于UOS方法分別降低了3.45%和4.23%;相比于Pearson-CF方法分別降低了2.22%和2.82%;相比于MLCF方法最小誤差降低了0.34%.再次證明基于用戶標簽選擇概率的相似性計算方法對用戶偏好判斷的有效性.
當選取鄰居節點數量為40時,Tag-BP方法得到的RMSE值為0.9143,此時的預測評分與真實評分之間的誤差值最小.與Tag方法相比,表較苛刻的RMSE值降低了0.8%,證明在利用同一種用戶相似性計算方法的條件下,平衡觀點傳播效果的舉措會提高用戶間觀點相互影響的客觀度.
如圖6所示,本文提出的Tag-BP推薦算法單獨在與已有方法比較RMSE值時,所占的優勢較為明顯.與觀點傳播的改進相似性計算評分的預測方法UOS和用戶皮爾遜相似性的預測方法Pearson-CF的RMSE值相比時,本文提出的Tag-BP推薦算法分別平均降低了4.36%和3.1%;與多級協同過濾的MLCF方法比較最低誤差降低了0.77%,同時與基于用戶社團劃分并且同樣采取標簽選擇概率相似性的MGPC方法相比,RMSE值仍具有可比性,降低了1.54%.
3.2.2 實驗分析
通過上述實驗結果,本文提出的基于標簽選擇概率相似性的推薦算法(Tag),和基于協同過濾的平衡用戶觀點傳播效果的推薦算法(Tag-BP),兩種方法都是切實有效的,Tag方法得到的效果要優于UOS,Pearson-CF,MLCF這3種計算用戶相似性的方法,預測結果最大降低了3.45%的誤差.預測加入觀點平衡函數的Tag-BP方法需要較少的鄰居作為參考就可以得到誤差較低的預測結果.在達到最低誤差的預測結果時,Tag-BP方法與UOS,Pearson-CF方法相比,鄰居的選取數量在MAE和RMSE結果中分別降低50%左右和71.4%左右,預測結果最大降低了4.36%的誤差.
在推薦算法的預測過程中,考慮用戶觀點傳播的情況,并且對于和目標用戶相似性較高的鄰居用戶,在一定程度上對他們對目標用戶的信息傳播效果進行折中調整,抵消了用戶觀點的流行程度在網絡中過分的影響效果,從而使預測結果更加客觀和準確.通過上述結果可知,這種處理使得預測誤差相比于只在預測過程中加權相似性的方法,降低了0.4%-0.8%.說明每個鄰居用戶的觀點經過處理后,對于目標用戶的可參考的價值變大.所以在目標用戶的選取的相似鄰居較少的情況下,預測同樣可以達到誤差相對較低的效果.
本文選擇更能體現用戶偏好的物品標簽選擇概率為基礎進而計算用戶間相似性,建立以用戶為節點,以用戶間相似性為邊的復雜網絡模型.隨后根據實際社交網絡中用戶觀點的相互影響情況和其原因分析,提出了一種基于用戶協同偏好的平衡用戶品味影響力的推薦系統評分預測方法,該方法利用用戶的度值中心性,在一定程度上削弱了品味觀點較為普遍,大眾化程度高的用戶對于目標用戶的觀點影響效果,平衡了網絡中某些用戶過分夸大的品味影響力,從而調整用戶協同偏好的預測結果.實驗表明,即使在所需鄰居數減少50%以上的情況下,推薦系統仍可以依靠本文設計的方法能夠達到較低的評分預測誤差,揭示了較為真實的用戶偏好,客觀的用戶品味影響力這兩個因素對于推薦系統的重要性.本文方法比文中的其他實驗方法的預測誤差降低了2%-5%,由此證明了本文所提算法的有效性,證明本文算法要優于一些經典的評分預測算法.