吳建帆,曾昭平,鄭亮,李琥,管孜恒,徐寅
(上海立信會計金融學院信息管理學院,上海 201209)
隨著5G 時代的到來,海量設備將接入互聯網,勢將帶來比現階段還要海量的數據。在海量數據帶給用戶極大便利的同時,也將信息過載問題推到不得不解決的位置上。基于此背景之下各種各樣的推薦技術逐漸地被各大科技公司所重視。推薦技術[1]目前廣泛的被各大互聯網巨頭應用在自家的平臺上,如“Amazon”、“京東”、“阿里巴巴”等電商巨頭都在自己平臺上大力發展推薦技術以提高用戶體驗和用戶粘性,從而增強自身的盈利能力和競爭力。
在眾多推薦算法中,在推薦算法的歷史大河中協同過濾算法[2]是經過時間檢驗,發展較為完善的推薦算法。協同過濾算法根據其算法核心思想與實現方式可以細分為基于用戶和基于物品。基于用戶的協同過濾算法(UserCF)[3]的問世人類正式打開了推薦系統的大門,協同過濾算法是眾多推薦算法中流傳度最廣、使用率最高的算法。在過去的將近三十年的時間里,許許多多根據協同過濾推薦算法為藍本并加以優化改進的推薦算法相繼問世。本文將以經典的基于用戶的協同過濾算法作為例子對協同過濾推薦算法進行分析與探討。
基于用戶的協同過濾算法主要思想是相似個體在面對同樣問題時所采取的行為也必然相似,推薦算法就是根據相似行為對個體產生推薦。該算法思想的核心是“物以類聚,人以群分”,即當用戶A 有推薦的需求時,他會找與自己相關的且信任的其他用戶,讓其他用戶給用戶A 推薦用戶A 沒有使用的物品。這便是基于用戶的協同過濾算法的核心思想。其思想如圖1 所示。

圖1 協同過濾原理圖
算法核心思想主要包括兩個步驟:
尋找與用戶A 喜好類似的用戶集合S。
追蹤用戶集合S 中多數用戶喜好的物品,用戶A可能喜好但未使用過的物品進行推薦。
算法步驟的關鍵就是尋找與用戶A 喜好相似的用戶集合S,即用戶相似度。下面將介紹相似度算法[4]的計算。
用戶之間相似度的計算是產生推薦的關鍵步驟,推薦精度很大程度上依賴于用戶相似度是否采用合適的計算方法。用戶相似度的計算可分為以下幾個步驟,首先根據用戶的物品歷史使用記錄產生用戶-物品之間關系矩陣,關系矩陣中的單元格可表示為用戶對該物品的評分或購買等具體指標。其次根據用戶-物品關系矩陣得出用戶-用戶之間的關系矩陣并通過余弦相似度或Pearson 系數等方法計算用戶之間的相似度,最后根據Top-N 推薦產生推薦列表。

表1 用戶閱讀矩陣表
下面使用一個具體的例子來具體說明算法的具體過程。
假設有 3 個用戶分別為:A、B、C;統共有 4 本書籍:a、b、c、d。且用戶與書籍之間的關系如表 1 所。“1”表示用戶閱讀并評價過的書籍;“0”用戶沒有閱讀并評價過的書籍。
然后構建用戶矩陣,對于每一本書如果用戶與用戶兩兩之間都喜歡這本書,則在矩陣對應單元格中加1,如A 和C 都喜歡書籍a,所以在對應的格中加1。用戶矩陣如表2 所示。

表2 用戶矩陣表
最后根據用戶之間關系矩陣可以使用修正的余弦相似度計算公式計算得出用戶相似度。得到用戶之間的相似度后,接下來的步驟便是給用戶推薦物品。首先要在矩陣中找到與目標用戶u 閱讀偏好最相似的K位用戶,令用戶集合表示為:S(u,K),并將S 集合中用戶喜好的書籍都排列出來,去除用戶u 已經喜歡書籍。對于每一本書籍i,用如下公式計算用戶對每本書籍的可能喜好程度。其中rvi表示用戶v 對i 喜歡程度,具體含義表示為用戶v 對書籍i 的評分,wuv表示目標用戶u 與用戶v 的相似度。

根據計算出來的結果進行降序排序,得到的就是用戶u 對S 集合中用戶喜歡且目標用戶沒接觸過的書籍喜好排名,系統將排名在前N 位的書籍推薦給用戶,即為Top-N 推薦。
在眾多計算相似的方法中比較具有代表性的是修正余弦相似度、Pearson 系數方法。下面分別對這兩種方法進行介紹。
余弦相似度通過計算兩個向量間的夾角的余弦值來度量用戶之間的相似度,兩個向量之間的夾角越接近0°表明它們越相似。余弦值取值范圍為[-1,1]。余弦相似度的計算公式中只考慮到向量之間的方向相似性,并未考慮到向量模長之間的相似性。因此修正的余弦相似度通過增加了余弦相似度計算公式中對數值的敏感度,從而提高相似度計算的準確性。修正的余弦相似度計算公式如下:

Ru,i、Rv,j分別為用戶 u,v 對物品 i 的評分;Rˉu、Rˉv為用戶 u,v 對物品評分的平均分;Iu,v表示用戶 u,v的均已評價過的物品集合;Iu表示用戶u 評價過的物品集合。
修正的余弦相似度解決了不同用戶在體驗過相同物品卻給出相反評價的問題,例如用戶A,B 均觀看電影 a,b 并分別作出(1,2)、(5,4)的分數評價顯而易見A 是不喜歡電影 a,b 的,B 是喜歡電影 a,b 但在余弦相似度中將會把A,B 劃為相似用戶,從而極大地降低了推薦精度。
Pearson 系數是協同過濾算法的相似度計算方法中使用得最廣泛的相似度計算方法。通過計算用戶之間的線性相關程度來判斷用戶之間的相似度。Pearson系數的取值范圍為[-1,1]。Pearson 系數的具體計算公式如下:

Ru,i、Rv,j分別 為 用 戶 u,v 對 物 品 i 的 評 分 ;為用戶 u,v 對物品評分的平均分;Iu,v表示用戶u,v 的均已評價過的物品集合。
Top-N 推薦[5]是推薦算法在提供智能推薦時會為用戶生成一個具有N 個物品的推薦列表,這種推薦方式被稱為Top-N 推薦。與“近朱者赤,近墨者黑”的K近鄰算法思想類似的是,Top-N 算法的思想是在推薦時選取通過推薦算法計算之后用戶最可能接受推薦的N 個物品。
評測指標[6]是用于評測協同過濾推薦算法好壞的關鍵性指標。評測指標需要根據算法計算得到的用戶對某物品的偏好程度,根據某些指標來判斷算法所產生的推薦結果是否符合用戶的需求。通常情況下,其中推薦的精確度由算法的準確率和算法的召回率來進行評估。下面給出準確率和召回率的計算公式。
準確率:

召回率:

上述兩個公式中R(u)為算法根據用戶的訓練集給出的推薦列表,T(u)是用戶測試集列表。通過以上評測指標,可以不斷地比較和改進算法。
本文通過實例介紹和分析了基于用戶的協同過濾算法,研究了算法中關鍵參數相似度的計算,并給出了算法的評價指標。通過這些推薦算法,可以有效提高數據的分析管理能力,將廣泛應用在電子商務、購物網站、社交媒體和信息管理等各個領域。