協(xié)同過濾的國內(nèi)外案例

  • 國內(nèi)案例:京東、蝦米音樂

  • 京東

從眾多用戶那里搜集到信息,從中得到推薦信息?;谟脩舻耐扑]——當(dāng)系統(tǒng)發(fā)現(xiàn)你購買了一本《數(shù)據(jù)挖掘概念與技術(shù)》,而有其他用戶同時購買了《數(shù)據(jù)挖掘概念與技術(shù)》和《mongobd權(quán)威指南》,那么系統(tǒng)猜想你同時喜歡《mongobd權(quán)威指南》的可能性也很大,就會把《mongobd權(quán)威指南》推薦給你。這種推薦是依據(jù)用戶相似性,即兩個用戶有相同的愛好做出的推薦?;陧椖康耐扑]——將相同類型的東西推薦給用戶,如上面的京東推薦的最佳組合就是基于項目的推薦。

  • 協(xié)同過濾有助于我們更好的找到與我們興趣相同的東西,能排除掉我們不感興趣的東西,更快速、更便捷的找到所需要的東西。
  • 能快速的找到我們想找的東西,提高工作效率,個性化推薦,能形成自己的主流。
  • 通過相同屬性或相同興趣能快速找到自己的所想要找的,極大便攜我們的工作效率。
  • 基于近鄰用戶協(xié)同過濾算法的音樂推薦系統(tǒng):蝦米音樂

該音樂系統(tǒng)的整個系統(tǒng)框架構(gòu)成如圖1所示。該框架可以分成以下幾個部分:數(shù)據(jù)集獲取、數(shù)據(jù)預(yù)處理、數(shù)據(jù)分析及算法設(shè)計和最終推薦結(jié)果的輸出部分。

圖 1 音樂推薦系統(tǒng)框架構(gòu)成

1.數(shù)據(jù)集獲取

在互聯(lián)網(wǎng)上有一個叫MillionSongDataset[3]音樂數(shù)據(jù)集,它上面收集了目前100多萬流行歌曲的信息,以及部分用戶的行為信息。但所有數(shù)據(jù)都是進行脫敏后的數(shù)據(jù),只能做研究,要想進行真實的音樂推薦服務(wù),需要獲取真實的用戶行為數(shù)據(jù)。該音樂推薦系統(tǒng)最終目的是構(gòu)建一個真實可用的基于Android移動端的音樂推薦系統(tǒng),本文只涉及推薦系統(tǒng)構(gòu)建及算法設(shè)計部分,Android端的設(shè)計不在本文考慮范圍,所以所有信息必須是真實可靠未脫敏數(shù)據(jù)。

為獲取真實可靠未脫敏數(shù)據(jù),本文利用目前主流webmagic爬蟲進行真實數(shù)據(jù)的獲取。目前針對蝦米音樂社區(qū)進行了用戶行為信息爬取,最終獲取了大約50萬條真實未脫敏的用戶行為數(shù)據(jù)。數(shù)據(jù)schemas包括4部分,userID是蝦米音樂網(wǎng)站真實用戶昵稱,SongName是該用戶聽過的歌曲名,Singer是該歌曲的演唱者,Count是用戶聽過該歌曲的次數(shù)。原始數(shù)據(jù)集數(shù)據(jù)

如表1所示:
UserID SongName Singer Count
唐喜 卡農(nóng)D大調(diào) 群星 1
sora 往日時光 黛青塔娜 8
king 水城 萬曉利 3
表1 抓取蝦米音樂網(wǎng)站得到的原始數(shù)據(jù)集

2.數(shù)據(jù)預(yù)處理

由于爬取到的原始數(shù)據(jù)有的信息丟失,我們需要對原始數(shù)據(jù)集進行信息規(guī)整,刪除丟失信息的用戶數(shù)據(jù)數(shù)據(jù)。并且原始數(shù)據(jù)記錄的是每個用戶每天的行為,但實際情況一個用戶不可能只有一條記錄,比如某用戶昨天聽了某歌曲共3次,今天該用戶又聽了該歌曲5次,那么數(shù)據(jù)預(yù)處理部分我們要對這部分用戶的行為信息進行預(yù)處理,得到該用戶該歌曲共8次,最終我們要得到用戶在歷史行為上的行為總和。此處數(shù)據(jù)預(yù)處理是用阿里巴巴的ODPS(OpenDataProcessingServices)平臺進行處理。


3.數(shù)據(jù)分析及算法設(shè)計

3.1 用戶評價矩陣

推薦的第一步我們需要得到每個用戶對每首歌的一個評價矩陣。這里我們用表1的數(shù)據(jù)為例,得到表2的用戶評價矩陣R。矩陣的第一行表示不同的歌曲,矩陣的第一列表示不同的用戶,矩陣中對應(yīng)的坐標(biāo)是某用戶聽過某首歌的次數(shù),為空表示該用戶沒有聽過該首歌。

... 卡農(nóng)D大調(diào) 往日時光 水城
唐喜 1 1
sora 2 8 3
king 1

3.2 用戶相似度求解

衡量用戶相似度的方法有很多,如余弦相似度、皮爾遜相似度、Jaccard相似度、LSH等等,本文利用最經(jīng)典的余弦相似度。
3.3 推薦評分
通過3.2得到用戶相似度之后,需要求解目標(biāo)用戶的最近鄰用戶,這里用快速排序算法來獲取TopK個最近鄰用戶,即與目標(biāo)用戶相似度最高的前K個用戶。接下來是用最近鄰用戶的評分來給目標(biāo)用戶進行推薦。

最后

通過2.3.2得到用戶相似度之后,需要求解目標(biāo)用戶的最近鄰用戶,這里用快速排序算法來獲取TopK個最近鄰用戶,即與目標(biāo)用戶相似度最高的前K個用戶。接下來是用最近鄰用戶的評分來給目標(biāo)用戶進行推薦。

算法結(jié)果輸出
通過上面的推薦算法之后得到最終的目標(biāo)用戶的推薦結(jié)果,推薦結(jié)果表如表3所示。其中SongName是推薦的歌名,Singer是其演唱者,Socre是評分值,就是最終推薦的依據(jù)。


·國外案例:亞馬遜網(wǎng)站

Amazon.com的推薦:從商品到商品的協(xié)同過濾推薦算法以其在電子商務(wù)網(wǎng)站的用途而著稱1,它們利用有關(guān)一個顧客的興趣作為輸入,來產(chǎn)生一個推薦商品的列表。很多應(yīng)用僅僅使用顧客購買并明確表示代表其興趣的商品,但它們也可以利用其他屬性,包括已瀏覽的商品、人口統(tǒng)計特征數(shù)據(jù)、主題興趣,以及偏愛的藝術(shù)家。
在Amazon.com,我們利用推薦算法,對每位顧客提供在線商店個性化。在顧客興趣的基礎(chǔ)上,商店有了徹底的改觀,向一個軟件工程師展示編程類標(biāo)題,向一位新媽媽展示嬰兒玩具。點擊率和轉(zhuǎn)化率——基于網(wǎng)絡(luò)和郵件廣告的兩個重要評估指標(biāo)——極大地超越了那些未定向內(nèi)容,比如banner廣告和熱賣列表。
電子商務(wù)推薦算法經(jīng)常要運行在一個充滿挑戰(zhàn)的環(huán)境里。例如:

  • 大型零售商有海量的數(shù)據(jù),以千萬計的顧客,以及數(shù)以百萬計的登記在冊的不同商品。
  • 許多應(yīng)用要求結(jié)果實時返回,在半秒之內(nèi),還要產(chǎn)生高質(zhì)量的推薦。
  • 新顧客很典型,他們的信息很有限,只能以少量購買或產(chǎn)品評級為基礎(chǔ)。
  • 較老的顧客信息豐沛,以大量的購買和評級為基礎(chǔ)。
  • 顧客數(shù)據(jù)不穩(wěn)定:每一次交互都可提供有價值的顧客數(shù)據(jù),算法必須立即對新的信息作出響應(yīng)。

解決推薦問題有三個通常的途徑:

1. 傳統(tǒng)的協(xié)同過濾
2. 聚類模型
3. 基于搜索的方法。

在此,我們就這些方法與我們的算法——我們稱之為商品到商品的協(xié)同過濾——進行對比。與傳統(tǒng)協(xié)同過濾不同,我們算法的在線計算規(guī)模,與顧客數(shù)量和產(chǎn)品目錄中的商品數(shù)量無關(guān)。我們的算法實時產(chǎn)生推薦,計算適應(yīng)海量數(shù)據(jù)集,并生成高質(zhì)量的推薦。


最終結(jié)論

協(xié)同過濾對于我們生活的個性化定制起著至關(guān)重要的作用,在我們美好生活中扮演著不可或缺的角色。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容