吳建帆,曾昭平,鄭亮,李琥,管孜恒,徐寅
(上海立信會(huì)計(jì)金融學(xué)院信息管理學(xué)院,上海 201209)
隨著5G 時(shí)代的到來(lái),海量設(shè)備將接入互聯(lián)網(wǎng),勢(shì)將帶來(lái)比現(xiàn)階段還要海量的數(shù)據(jù)。在海量數(shù)據(jù)帶給用戶極大便利的同時(shí),也將信息過(guò)載問(wèn)題推到不得不解決的位置上?;诖吮尘爸赂鞣N各樣的推薦技術(shù)逐漸地被各大科技公司所重視。推薦技術(shù)[1]目前廣泛的被各大互聯(lián)網(wǎng)巨頭應(yīng)用在自家的平臺(tái)上,如“Amazon”、“京東”、“阿里巴巴”等電商巨頭都在自己平臺(tái)上大力發(fā)展推薦技術(shù)以提高用戶體驗(yàn)和用戶粘性,從而增強(qiáng)自身的盈利能力和競(jìng)爭(zhēng)力。
在眾多推薦算法中,在推薦算法的歷史大河中協(xié)同過(guò)濾算法[2]是經(jīng)過(guò)時(shí)間檢驗(yàn),發(fā)展較為完善的推薦算法。協(xié)同過(guò)濾算法根據(jù)其算法核心思想與實(shí)現(xiàn)方式可以細(xì)分為基于用戶和基于物品?;谟脩舻膮f(xié)同過(guò)濾算法(UserCF)[3]的問(wèn)世人類正式打開(kāi)了推薦系統(tǒng)的大門,協(xié)同過(guò)濾算法是眾多推薦算法中流傳度最廣、使用率最高的算法。在過(guò)去的將近三十年的時(shí)間里,許許多多根據(jù)協(xié)同過(guò)濾推薦算法為藍(lán)本并加以優(yōu)化改進(jìn)的推薦算法相繼問(wèn)世。本文將以經(jīng)典的基于用戶的協(xié)同過(guò)濾算法作為例子對(duì)協(xié)同過(guò)濾推薦算法進(jìn)行分析與探討。
基于用戶的協(xié)同過(guò)濾算法主要思想是相似個(gè)體在面對(duì)同樣問(wèn)題時(shí)所采取的行為也必然相似,推薦算法就是根據(jù)相似行為對(duì)個(gè)體產(chǎn)生推薦。該算法思想的核心是“物以類聚,人以群分”,即當(dāng)用戶A 有推薦的需求時(shí),他會(huì)找與自己相關(guān)的且信任的其他用戶,讓其他用戶給用戶A 推薦用戶A 沒(méi)有使用的物品。這便是基于用戶的協(xié)同過(guò)濾算法的核心思想。其思想如圖1 所示。
圖1 協(xié)同過(guò)濾原理圖
算法核心思想主要包括兩個(gè)步驟:
尋找與用戶A 喜好類似的用戶集合S。
追蹤用戶集合S 中多數(shù)用戶喜好的物品,用戶A可能喜好但未使用過(guò)的物品進(jìn)行推薦。
算法步驟的關(guān)鍵就是尋找與用戶A 喜好相似的用戶集合S,即用戶相似度。下面將介紹相似度算法[4]的計(jì)算。
用戶之間相似度的計(jì)算是產(chǎn)生推薦的關(guān)鍵步驟,推薦精度很大程度上依賴于用戶相似度是否采用合適的計(jì)算方法。用戶相似度的計(jì)算可分為以下幾個(gè)步驟,首先根據(jù)用戶的物品歷史使用記錄產(chǎn)生用戶-物品之間關(guān)系矩陣,關(guān)系矩陣中的單元格可表示為用戶對(duì)該物品的評(píng)分或購(gòu)買等具體指標(biāo)。其次根據(jù)用戶-物品關(guān)系矩陣得出用戶-用戶之間的關(guān)系矩陣并通過(guò)余弦相似度或Pearson 系數(shù)等方法計(jì)算用戶之間的相似度,最后根據(jù)Top-N 推薦產(chǎn)生推薦列表。
表1 用戶閱讀矩陣表
下面使用一個(gè)具體的例子來(lái)具體說(shuō)明算法的具體過(guò)程。
假設(shè)有 3 個(gè)用戶分別為:A、B、C;統(tǒng)共有 4 本書籍:a、b、c、d。且用戶與書籍之間的關(guān)系如表 1 所?!?”表示用戶閱讀并評(píng)價(jià)過(guò)的書籍;“0”用戶沒(méi)有閱讀并評(píng)價(jià)過(guò)的書籍。
然后構(gòu)建用戶矩陣,對(duì)于每一本書如果用戶與用戶兩兩之間都喜歡這本書,則在矩陣對(duì)應(yīng)單元格中加1,如A 和C 都喜歡書籍a(chǎn),所以在對(duì)應(yīng)的格中加1。用戶矩陣如表2 所示。
表2 用戶矩陣表
最后根據(jù)用戶之間關(guān)系矩陣可以使用修正的余弦相似度計(jì)算公式計(jì)算得出用戶相似度。得到用戶之間的相似度后,接下來(lái)的步驟便是給用戶推薦物品。首先要在矩陣中找到與目標(biāo)用戶u 閱讀偏好最相似的K位用戶,令用戶集合表示為:S(u,K),并將S 集合中用戶喜好的書籍都排列出來(lái),去除用戶u 已經(jīng)喜歡書籍。對(duì)于每一本書籍i,用如下公式計(jì)算用戶對(duì)每本書籍的可能喜好程度。其中rvi表示用戶v 對(duì)i 喜歡程度,具體含義表示為用戶v 對(duì)書籍i 的評(píng)分,wuv表示目標(biāo)用戶u 與用戶v 的相似度。
根據(jù)計(jì)算出來(lái)的結(jié)果進(jìn)行降序排序,得到的就是用戶u 對(duì)S 集合中用戶喜歡且目標(biāo)用戶沒(méi)接觸過(guò)的書籍喜好排名,系統(tǒng)將排名在前N 位的書籍推薦給用戶,即為Top-N 推薦。
在眾多計(jì)算相似的方法中比較具有代表性的是修正余弦相似度、Pearson 系數(shù)方法。下面分別對(duì)這兩種方法進(jìn)行介紹。
余弦相似度通過(guò)計(jì)算兩個(gè)向量間的夾角的余弦值來(lái)度量用戶之間的相似度,兩個(gè)向量之間的夾角越接近0°表明它們?cè)较嗨?。余弦值取值范圍為[-1,1]。余弦相似度的計(jì)算公式中只考慮到向量之間的方向相似性,并未考慮到向量模長(zhǎng)之間的相似性。因此修正的余弦相似度通過(guò)增加了余弦相似度計(jì)算公式中對(duì)數(shù)值的敏感度,從而提高相似度計(jì)算的準(zhǔn)確性。修正的余弦相似度計(jì)算公式如下:
Ru,i、Rv,j分別為用戶 u,v 對(duì)物品 i 的評(píng)分;Rˉu、Rˉv為用戶 u,v 對(duì)物品評(píng)分的平均分;Iu,v表示用戶 u,v的均已評(píng)價(jià)過(guò)的物品集合;Iu表示用戶u 評(píng)價(jià)過(guò)的物品集合。
修正的余弦相似度解決了不同用戶在體驗(yàn)過(guò)相同物品卻給出相反評(píng)價(jià)的問(wèn)題,例如用戶A,B 均觀看電影 a,b 并分別作出(1,2)、(5,4)的分?jǐn)?shù)評(píng)價(jià)顯而易見(jiàn)A 是不喜歡電影 a,b 的,B 是喜歡電影 a,b 但在余弦相似度中將會(huì)把A,B 劃為相似用戶,從而極大地降低了推薦精度。
Pearson 系數(shù)是協(xié)同過(guò)濾算法的相似度計(jì)算方法中使用得最廣泛的相似度計(jì)算方法。通過(guò)計(jì)算用戶之間的線性相關(guān)程度來(lái)判斷用戶之間的相似度。Pearson系數(shù)的取值范圍為[-1,1]。Pearson 系數(shù)的具體計(jì)算公式如下:
Ru,i、Rv,j分別 為 用 戶 u,v 對(duì) 物 品 i 的 評(píng) 分 ;為用戶 u,v 對(duì)物品評(píng)分的平均分;Iu,v表示用戶u,v 的均已評(píng)價(jià)過(guò)的物品集合。
Top-N 推薦[5]是推薦算法在提供智能推薦時(shí)會(huì)為用戶生成一個(gè)具有N 個(gè)物品的推薦列表,這種推薦方式被稱為Top-N 推薦。與“近朱者赤,近墨者黑”的K近鄰算法思想類似的是,Top-N 算法的思想是在推薦時(shí)選取通過(guò)推薦算法計(jì)算之后用戶最可能接受推薦的N 個(gè)物品。
評(píng)測(cè)指標(biāo)[6]是用于評(píng)測(cè)協(xié)同過(guò)濾推薦算法好壞的關(guān)鍵性指標(biāo)。評(píng)測(cè)指標(biāo)需要根據(jù)算法計(jì)算得到的用戶對(duì)某物品的偏好程度,根據(jù)某些指標(biāo)來(lái)判斷算法所產(chǎn)生的推薦結(jié)果是否符合用戶的需求。通常情況下,其中推薦的精確度由算法的準(zhǔn)確率和算法的召回率來(lái)進(jìn)行評(píng)估。下面給出準(zhǔn)確率和召回率的計(jì)算公式。
準(zhǔn)確率:
召回率:
上述兩個(gè)公式中R(u)為算法根據(jù)用戶的訓(xùn)練集給出的推薦列表,T(u)是用戶測(cè)試集列表。通過(guò)以上評(píng)測(cè)指標(biāo),可以不斷地比較和改進(jìn)算法。
本文通過(guò)實(shí)例介紹和分析了基于用戶的協(xié)同過(guò)濾算法,研究了算法中關(guān)鍵參數(shù)相似度的計(jì)算,并給出了算法的評(píng)價(jià)指標(biāo)。通過(guò)這些推薦算法,可以有效提高數(shù)據(jù)的分析管理能力,將廣泛應(yīng)用在電子商務(wù)、購(gòu)物網(wǎng)站、社交媒體和信息管理等各個(gè)領(lǐng)域。